From 5f3b384286684331ab71482e289a6cb021dca8e1 Mon Sep 17 00:00:00 2001 From: John White <750350+johnhwhite@users.noreply.github.com> Date: Tue, 6 Feb 2024 10:11:42 -0500 Subject: [PATCH] chore: update skyux-dev-infra and nx (#1977) * chore: update skyux-dev-infra and nx * Fix intl-tel-input css import with esbuild * Prettier * Update test * Satisfy cypress chaining lint rule. * Fix e2e test * Simplify change * Fix e2e test --- apps/code-examples/project.json | 4 +- .../ag-grid/data-entry-grid/basic/data.ts | 2 +- .../data-manager-added/data.ts | 2 +- .../data-entry-grid/inline-help/data.ts | 2 +- .../data-grid/basic-multiselect/data.ts | 2 +- .../ag-grid/data-grid/basic/data.ts | 2 +- .../data-manager-multiselect/data.ts | 2 +- .../ag-grid/data-grid/data-manager/data.ts | 2 +- .../ag-grid/data-grid/inline-help/data.ts | 2 +- .../ag-grid/data-grid/paging/data.ts | 2 +- .../ag-grid/data-grid/top-scroll/data.ts | 2 +- .../forms/radio/icon/demo.component.ts | 4 +- .../forms/radio/inline-help/demo.component.ts | 4 +- .../forms/radio/standard/demo.component.ts | 4 +- .../toggle-switch/basic/demo.component.ts | 4 +- .../inline-help/demo.component.ts | 4 +- .../tokens/custom/demo.component.ts | 4 +- .../inline-form/repeaters/demo.component.ts | 4 +- .../lists/filter/inline/demo.component.ts | 8 +- .../filter/modal/filter-modal.component.ts | 10 +- .../repeater/inline-form/demo.component.ts | 4 +- .../lists/sort/basic/demo.component.ts | 8 +- .../list-page-contacts-grid.component.ts | 4 +- .../popovers/dropdown/basic/demo.component.ts | 4 +- apps/e2e/a11y-storybook-e2e/project.json | 3 +- .../src/e2e/skip-link.component.cy.ts | 10 +- apps/e2e/a11y-storybook/project.json | 5 +- .../action-bars-storybook-e2e/project.json | 3 +- .../e2e/summary-action-bar.component.cy.ts | 13 +- apps/e2e/action-bars-storybook/project.json | 6 +- apps/e2e/ag-grid-storybook-e2e/project.json | 3 +- .../src/e2e/data-entry-grid.component.cy.ts | 161 +- .../src/e2e/data-manager.component.cy.ts | 41 +- apps/e2e/ag-grid-storybook/project.json | 5 +- .../app/ag-grid/ag-grid-stories.component.ts | 7 +- .../data-entry-grid.component.ts | 7 +- .../data-manager/data-manager.component.ts | 4 +- .../project.json | 5 +- .../angular-tree-component.component.cy.ts | 25 +- .../project.json | 6 +- apps/e2e/avatar-storybook-e2e/project.json | 3 +- .../src/e2e/avatar.component.cy.ts | 12 +- apps/e2e/avatar-storybook/project.json | 6 +- .../colorpicker-storybook-e2e/project.json | 3 +- .../src/e2e/colorpicker.component.cy.ts | 49 +- apps/e2e/colorpicker-storybook/project.json | 6 +- apps/e2e/core-storybook-e2e/project.json | 3 +- .../src/e2e/affix.component.cy.ts | 21 +- .../src/e2e/dock.component.cy.ts | 3 +- apps/e2e/core-storybook/project.json | 5 +- .../data-manager-storybook-e2e/project.json | 3 +- .../src/e2e/data-manager.component.cy.ts | 19 +- apps/e2e/data-manager-storybook/project.json | 6 +- apps/e2e/datetime-storybook-e2e/project.json | 3 +- .../src/e2e/date-range-picker.component.cy.ts | 76 +- .../src/e2e/datepicker.component.cy.ts | 154 +- .../src/e2e/timepicker.component.cy.ts | 16 +- apps/e2e/datetime-storybook/project.json | 6 +- apps/e2e/errors-storybook-e2e/project.json | 3 +- .../src/e2e/error.component.cy.ts | 9 +- apps/e2e/errors-storybook/project.json | 6 +- apps/e2e/flyout-storybook-e2e/project.json | 3 +- .../src/e2e/flyout.component.cy.ts | 12 +- apps/e2e/flyout-storybook/project.json | 6 +- apps/e2e/forms-storybook-e2e/project.json | 3 +- .../src/e2e/character-counter.component.cy.ts | 21 +- .../src/e2e/checkbox.component.cy.ts | 25 +- .../src/e2e/file-attachment.component.cy.ts | 24 +- .../src/e2e/input-box.component.cy.ts | 216 ++- .../src/e2e/radio-button.component.cy.ts | 12 +- .../src/e2e/selection-box.component.cy.ts | 35 +- .../single-file-attachment.component.cy.ts | 12 +- .../src/e2e/toggle-switch.component.cy.ts | 12 +- apps/e2e/forms-storybook/project.json | 6 +- .../e2e/indicators-storybook-e2e/project.json | 3 +- .../src/e2e/alert.component.cy.ts | 6 +- .../src/e2e/chevron.component.cy.ts | 9 +- .../e2e/expansion-indicator.component.cy.ts | 12 +- .../src/e2e/help-inline.component.cy.ts | 14 +- .../src/e2e/icon.component.cy.ts | 8 +- .../src/e2e/key-info.component.cy.ts | 6 +- .../src/e2e/label.component.cy.ts | 6 +- .../src/e2e/status-indicator.component.cy.ts | 12 +- .../src/e2e/text-highlight.component.cy.ts | 12 +- .../src/e2e/tokens.component.cy.ts | 14 +- .../src/e2e/wait.component.cy.ts | 18 +- apps/e2e/indicators-storybook/project.json | 5 +- .../inline-form-storybook-e2e/project.json | 3 +- .../src/e2e/inline-form.component.cy.ts | 34 +- apps/e2e/inline-form-storybook/project.json | 6 +- apps/e2e/layout-storybook-e2e/project.json | 3 +- .../src/e2e/action-button.component.cy.ts | 28 +- .../src/e2e/back-to-top.component.cy.ts | 9 +- .../src/e2e/box.component.cy.ts | 8 +- .../src/e2e/description-list.component.cy.ts | 12 +- .../src/e2e/fluid-grid.component.cy.ts | 12 +- .../src/e2e/inline-delete.component.cy.ts | 8 +- .../src/e2e/page.component.cy.ts | 9 +- .../e2e/text-expand-repeater.component.cy.ts | 20 +- .../src/e2e/text-expand.component.cy.ts | 26 +- .../src/e2e/toolbar.component.cy.ts | 9 +- apps/e2e/layout-storybook/project.json | 5 +- apps/e2e/lists-storybook-e2e/project.json | 3 +- .../src/e2e/filter.component.cy.ts | 9 +- .../src/e2e/infinite-scroll.component.cy.ts | 12 +- .../src/e2e/paging.component.cy.ts | 9 +- .../src/e2e/repeater.component.cy.ts | 9 +- .../src/e2e/sort.component.cy.ts | 24 +- apps/e2e/lists-storybook/project.json | 5 +- apps/e2e/lookup-storybook-e2e/project.json | 3 +- .../src/e2e/autocomplete.component.cy.ts | 80 +- .../src/e2e/country-field.component.cy.ts | 132 +- .../src/e2e/lookup.component.cy.ts | 156 +- .../src/e2e/search.component.cy.ts | 40 +- apps/e2e/lookup-storybook/project.json | 6 +- apps/e2e/modals-storybook-e2e/project.json | 3 +- .../src/e2e/confirm.component.cy.ts | 20 +- .../src/e2e/modal.component.cy.ts | 80 +- apps/e2e/modals-storybook/project.json | 5 +- apps/e2e/navbar-storybook-e2e/project.json | 3 +- .../src/e2e/navbar.component.cy.ts | 10 +- apps/e2e/navbar-storybook/project.json | 6 +- apps/e2e/pages-storybook-e2e/project.json | 3 +- .../src/e2e/action-hub.component.cy.ts | 6 +- .../e2e/page-layout-blocks.component.cy.ts | 13 +- .../src/e2e/page-layout-fit.component.cy.ts | 4 +- .../src/e2e/page-layout-list.component.cy.ts | 4 +- .../src/e2e/page-layout-tabs.component.cy.ts | 4 +- apps/e2e/pages-storybook/project.json | 5 +- .../action-hub/settings-modal.component.ts | 2 +- .../phone-field-storybook-e2e/project.json | 3 +- .../src/e2e/phone-field.component.cy.ts | 6 +- apps/e2e/phone-field-storybook/project.json | 6 +- .../src/app/app.module.ts | 2 + apps/e2e/popovers-storybook-e2e/project.json | 3 +- .../src/e2e/dropdown.component.cy.ts | 30 +- apps/e2e/popovers-storybook/project.json | 5 +- .../project.json | 5 +- .../e2e/progress-indicator.component.cy.ts | 12 +- .../progress-indicator-storybook/project.json | 6 +- .../e2e/split-view-storybook-e2e/project.json | 3 +- .../src/e2e/split-view.component.cy.ts | 12 +- apps/e2e/split-view-storybook/project.json | 5 +- apps/e2e/tabs-storybook-e2e/project.json | 3 +- .../src/e2e/sectioned-form.component.cy.ts | 53 +- .../src/e2e/tabs.component.cy.ts | 10 +- .../src/e2e/vertical-tabs.component.cy.ts | 56 +- .../src/e2e/wizard.component.cy.ts | 26 +- apps/e2e/tabs-storybook/project.json | 5 +- .../src/app/tabs/tabs.component.ts | 4 +- .../text-editor-storybook-e2e/project.json | 3 +- .../src/e2e/text-editor.component.cy.ts | 76 +- apps/e2e/text-editor-storybook/project.json | 6 +- apps/e2e/theme-storybook-e2e/project.json | 3 +- .../src/e2e/borders.component.cy.ts | 9 +- .../src/e2e/buttons.component.cy.ts | 9 +- .../src/e2e/responsive.component.cy.ts | 14 +- .../src/e2e/switch-controls.component.cy.ts | 12 +- .../src/e2e/theming.component.cy.ts | 9 +- .../src/e2e/validation.component.cy.ts | 34 +- apps/e2e/theme-storybook/project.json | 5 +- apps/e2e/tiles-storybook-e2e/project.json | 3 +- .../src/e2e/tile-dashboard.component.cy.ts | 20 +- apps/e2e/tiles-storybook/project.json | 5 +- .../tile-dashboard/tile-parameters.type.ts | 4 +- apps/e2e/toast-storybook-e2e/project.json | 3 +- .../src/e2e/toast.component.cy.ts | 28 +- apps/e2e/toast-storybook/project.json | 6 +- apps/integration-e2e/project.json | 3 +- .../src/e2e/lookup-in-modal.cy.ts | 9 +- .../src/e2e/modal-colorpicker.cy.ts | 71 +- .../src/e2e/modal-footer-dropdown.cy.ts | 12 +- apps/integration/project.json | 4 +- .../field-heights/field-heights.component.ts | 5 +- apps/playground/project.json | 4 +- .../edit-in-modal-grid/ag-grid-demo-data.ts | 2 +- .../repeater/nested-repeater.component.ts | 4 +- .../shared/data-manager/data-manager-data.ts | 2 +- .../theme-selector.component.ts | 4 +- libs/components/a11y/package.json | 4 +- libs/components/a11y/project.json | 4 +- .../shared/sky-a11y-resources.module.ts | 2 +- libs/components/action-bars/package.json | 8 +- libs/components/action-bars/project.json | 4 +- .../sky-action-bars-resources.module.ts | 2 +- libs/components/ag-grid/package.json | 6 +- libs/components/ag-grid/project.json | 4 +- .../ag-grid/ag-grid-row-delete.directive.ts | 8 +- .../cell-renderer-template-context.type.ts | 5 +- ...d-cell-validator-tooltip.component.spec.ts | 2 +- .../header/header-group.component.spec.ts | 6 +- .../ag-grid/header/header.component.spec.ts | 4 +- .../src/lib/modules/ag-grid/icons/icon-map.ts | 9 +- .../shared/sky-ag-grid-resources.module.ts | 2 +- .../angular-tree-component/package.json | 4 +- .../angular-tree-component/project.json | 4 +- .../angular-tree-root.component.spec.ts | 4 +- ...angular-tree-component-resources.module.ts | 2 +- libs/components/animations/package.json | 6 +- libs/components/animations/project.json | 4 +- libs/components/assets/package.json | 4 +- libs/components/assets/project.json | 4 +- .../assets/src/lib/assets.service.ts | 2 +- libs/components/autonumeric/package.json | 6 +- libs/components/autonumeric/project.json | 4 +- .../autonumeric/autonumeric.directive.spec.ts | 10 +- libs/components/avatar/package.json | 6 +- libs/components/avatar/project.json | 4 +- .../lib/modules/avatar/avatar.component.ts | 2 +- .../shared/sky-avatar-resources.module.ts | 2 +- libs/components/colorpicker/package.json | 8 +- libs/components/colorpicker/project.json | 4 +- .../colorpicker-input.directive.ts | 8 +- .../colorpicker/colorpicker.component.ts | 2 +- .../colorpicker/colorpicker.service.ts | 6 +- .../sky-colorpicker-resources.module.ts | 2 +- libs/components/config/package.json | 4 +- libs/components/config/project.json | 4 +- .../config/src/lib/config-params.ts | 20 +- libs/components/config/src/lib/config.ts | 17 +- .../src/lib/types/get-link-url-options.ts | 4 +- libs/components/core/package.json | 10 +- libs/components/core/project.json | 4 +- .../adapter-service/adapter.service.spec.ts | 17 +- .../adapter-service/adapter.service.ts | 35 +- .../core/src/lib/modules/affix/affix-utils.ts | 2 +- .../content-info-descriptor.ts | 4 +- .../content-info-provider.ts | 2 +- .../content-info-provider/content-info.ts | 4 +- .../live-announcer/live-announcer.service.ts | 9 +- .../scrollable-host.service.spec.ts | 4 +- .../shared/sky-core-resources.module.ts | 2 +- libs/components/data-manager/package.json | 6 +- libs/components/data-manager/project.json | 4 +- .../sky-data-manager-resources.module.ts | 2 +- libs/components/datetime/package.json | 8 +- libs/components/datetime/project.json | 4 +- .../src/lib/modules/date-pipe/date.service.ts | 2 +- .../date-range-picker/date-range.service.ts | 2 +- .../datepicker-calendar-inner.component.ts | 6 +- .../datepicker/datepicker-custom-date.ts | 2 +- .../lib/modules/datepicker/datepicker-date.ts | 2 +- .../modules/datepicker/daypicker.component.ts | 12 +- .../modules/datepicker/fuzzy-date.service.ts | 4 +- .../datepicker/monthpicker.component.ts | 4 +- .../datepicker/yearpicker.component.ts | 6 +- .../shared/sky-datetime-resources.module.ts | 2 +- .../timepicker/timepicker.component.ts | 4 +- libs/components/errors/package.json | 6 +- libs/components/errors/project.json | 4 +- .../shared/sky-errors-resources.module.ts | 2 +- libs/components/flyout/package.json | 10 +- libs/components/flyout/project.json | 4 +- .../modules/flyout/flyout-adapter.service.ts | 6 +- .../shared/sky-flyout-resources.module.ts | 2 +- libs/components/forms/package.json | 10 +- libs/components/forms/project.json | 4 +- .../file-attachment.component.spec.ts | 2 +- .../file-attachment.component.ts | 6 +- .../file-attachment.service.ts | 3 +- .../file-attachment/file-drop.component.ts | 22 +- .../file-attachment/types/file-drop-change.ts | 4 +- .../selection-box-grid.component.spec.ts | 6 +- .../shared/sky-forms-resources.module.ts | 2 +- libs/components/grids/package.json | 6 +- libs/components/grids/project.json | 4 +- .../fixtures/grid-async.component.fixture.ts | 2 +- .../grid-dynamic.component.fixture.ts | 4 +- .../fixtures/grid-empty.component.fixture.ts | 2 +- .../grid-interactive.component.fixture.ts | 2 +- .../grid-no-header.component.fixture.ts | 2 +- .../grid/fixtures/grid.component.fixture.ts | 6 +- .../lib/modules/grid/grid-adapter.service.ts | 11 +- .../lib/modules/grid/grid.component.spec.ts | 20 +- .../src/lib/modules/grid/grid.component.ts | 47 +- .../shared/sky-grids-resources.module.ts | 2 +- libs/components/http/package.json | 4 +- libs/components/http/project.json | 4 +- libs/components/i18n/package.json | 6 +- libs/components/i18n/project.json | 4 +- ...e@dasherize__-resources.module.ts.template | 20 +- .../lib-resources-module.schematic.spec.ts | 44 +- .../lib-resources-module.schematic.ts | 3 +- .../i18n/currency/currency-format.service.ts | 4 +- .../i18n/get-lib-string-for-locale.spec.ts | 4 +- .../modules/i18n/get-lib-string-for-locale.ts | 4 +- .../lib/modules/i18n/get-string-for-locale.ts | 11 +- .../modules/i18n/intl-date-formatter-utils.ts | 8 +- .../lib/modules/i18n/lib-resources.pipe.ts | 2 +- .../lib/modules/i18n/lib-resources.service.ts | 8 +- .../src/lib/modules/i18n/lib-resources.ts | 9 +- .../src/lib/modules/i18n/resources.pipe.ts | 2 +- .../src/lib/modules/i18n/resources.service.ts | 6 +- .../i18n/src/lib/modules/i18n/resources.ts | 9 +- libs/components/indicators/package.json | 10 +- libs/components/indicators/project.json | 4 +- .../shared/sky-indicators-resources.module.ts | 2 +- .../text-highlight.directive.ts | 7 +- .../lib/modules/wait/wait-adapter.service.ts | 9 +- libs/components/inline-form/package.json | 6 +- libs/components/inline-form/project.json | 4 +- .../inline-form-adapter.service.ts | 4 +- .../sky-inline-form-resources.module.ts | 2 +- libs/components/layout/package.json | 14 +- libs/components/layout/project.json | 4 +- .../action-button.component.spec.ts | 12 +- .../fixtures/back-to-top.component.fixture.ts | 2 +- .../shared/sky-layout-resources.module.ts | 2 +- .../text-expand-repeater.component.ts | 2 +- .../list-builder-common/package.json | 4 +- .../list-builder-common/project.json | 4 +- .../list-builder-common/src/lib/helpers.ts | 3 +- .../src/lib/rxstate/async-list.ts | 2 +- .../src/lib/rxstate/state-node.ts | 4 +- .../src/lib/rxstate/state-orchestrator.ts | 10 +- .../list-builder-view-checklist/package.json | 8 +- .../list-builder-view-checklist/project.json | 4 +- ...-checklist-pagination.component.fixture.ts | 2 +- .../list-view-checklist.component.ts | 2 +- .../state/items/load.action.ts | 6 +- .../list-builder-view-grids/package.json | 6 +- .../list-builder-view-grids/project.json | 4 +- .../column-selector-context.ts | 4 +- .../column-selector-modal.component.ts | 2 +- ...tor-action-deprecated.component.fixture.ts | 2 +- ...olumn-selector-action.component.fixture.ts | 2 +- .../list-column-selector-action.component.ts | 6 +- ...ist-view-grid-display.component.fixture.ts | 2 +- ...ist-view-grid-dynamic.component.fixture.ts | 4 +- .../list-view-grid.component.ts | 24 +- .../state/columns/load.action.ts | 5 +- .../state/displayed-columns/load.action.ts | 5 +- ...ist-builder-view-grids-resources.module.ts | 2 +- libs/components/list-builder/package.json | 4 +- libs/components/list-builder/project.json | 4 +- .../list-data-in-memory.provider.spec.ts | 2 +- .../list-data-in-memory.provider.ts | 17 +- .../list-filter-inline.component.ts | 6 +- .../list-filter-summary.component.spec.ts | 2 +- .../list-filter-summary.component.ts | 2 +- .../list-toolbar/list-toolbar.component.ts | 10 +- .../set-sort-selector-enabled.action.ts | 2 +- .../fixtures/list-empty.component.fixture.ts | 2 +- .../list-filtered.component.fixture.ts | 6 +- .../list-selected.component.fixture.ts | 5 +- .../list/fixtures/list.component.fixture.ts | 2 +- .../lib/modules/list/list-paging.component.ts | 2 +- .../lib/modules/list/list.component.spec.ts | 18 +- .../src/lib/modules/list/list.component.ts | 24 +- .../list/state/items/items.orchestrator.ts | 6 +- .../modules/list/state/items/load.action.ts | 6 +- .../state/items/set-items-selected.action.ts | 4 +- .../list/state/items/set-loading.action.ts | 2 +- .../modules/list/state/list-state.rxstate.ts | 2 +- .../modules/list/state/search/search.model.ts | 4 +- .../search/set-field-selectors.action.ts | 2 +- .../list/state/search/set-functions.action.ts | 2 +- .../list/state/selected/load.action.ts | 2 +- .../selected/set-items-selected.action.ts | 4 +- .../list/state/selected/set-loading.action.ts | 2 +- .../lib/modules/list/state/sort/sort.model.ts | 6 +- .../modules/list/state/toolbar/load.action.ts | 5 +- .../sky-list-builder-resources.module.ts | 2 +- libs/components/lists/package.json | 8 +- libs/components/lists/project.json | 4 +- .../modules/filter/filter-button.component.ts | 2 +- .../lib/modules/paging/paging.component.ts | 6 +- .../repeater/repeater-item-roles.type.ts | 4 +- .../shared/sky-lists-resources.module.ts | 2 +- .../lib/modules/sort/sort-item.component.ts | 2 +- .../src/lib/modules/sort/sort.service.ts | 2 +- libs/components/lookup/package.json | 12 +- libs/components/lookup/project.json | 4 +- .../types/autocomplete-search-args.ts | 4 +- .../country-field.component.scss | 2 +- .../lookup-show-more-modal.component.ts | 2 +- .../lib/modules/lookup/lookup.component.ts | 3 +- .../selection-modal.component.ts | 4 +- .../shared/sky-lookup-resources.module.ts | 2 +- libs/components/modals/package.json | 8 +- libs/components/modals/project.json | 4 +- .../modules/modal/modal-adapter.service.ts | 3 +- .../modal/modal-component-adapter.service.ts | 11 +- .../shared/sky-modals-resources.module.ts | 2 +- libs/components/navbar/package.json | 4 +- libs/components/navbar/project.json | 4 +- libs/components/omnibar-interop/package.json | 4 +- libs/components/omnibar-interop/project.json | 4 +- libs/components/packages/package.json | 4 +- libs/components/packages/project.json | 3 +- .../add-compat-stylesheet.schematic.ts | 4 +- .../rules/ensure-peers-installed.ts | 8 +- libs/components/pages/package.json | 8 +- libs/components/pages/project.json | 4 +- .../action-hub-related-links-sort.pipe.ts | 2 +- ...ction-hub-needs-attention-click-handler.ts | 4 +- .../src/lib/modules/link-list/types/link.ts | 4 +- .../shared/sky-pages-resources.module.ts | 2 +- libs/components/phone-field/package.json | 12 +- libs/components/phone-field/project.json | 4 +- .../phone-field/phone-field.component.scss | 18 +- .../phone-field/phone-field.component.ts | 11 +- .../sky-phone-field-resources.module.ts | 2 +- libs/components/popovers/package.json | 10 +- libs/components/popovers/project.json | 4 +- .../shared/sky-popovers-resources.module.ts | 2 +- .../progress-indicator/package.json | 4 +- .../progress-indicator/project.json | 4 +- ...sky-progress-indicator-resources.module.ts | 2 +- libs/components/router/package.json | 8 +- libs/components/router/project.json | 4 +- .../src/lib/modules/href/href.directive.ts | 5 +- .../src/lib/modules/href/types/href-change.ts | 4 +- .../modules/href/types/href-resolver.args.ts | 4 +- .../src/lib/modules/link/link-query-params.ts | 2 +- .../recently-accessed-add-link.ts | 2 +- libs/components/select-field/package.json | 6 +- libs/components/select-field/project.json | 4 +- .../select-field-picker.component.ts | 6 +- .../sky-select-field-resources.module.ts | 2 +- libs/components/split-view/package.json | 8 +- libs/components/split-view/project.json | 4 +- .../shared/sky-split-view-resources.module.ts | 2 +- libs/components/storybook/package.json | 10 +- libs/components/storybook/project.json | 5 +- libs/components/tabs/package.json | 10 +- libs/components/tabs/project.json | 4 +- .../sectioned-form.component.ts | 2 +- .../shared/sky-tabs-resources.module.ts | 2 +- .../lib/modules/tabs/tab-button-view-model.ts | 4 +- .../modules/tabs/tabset-permalink.service.ts | 4 +- .../src/lib/modules/tabs/tabset.service.ts | 4 +- .../vertical-tabset.service.ts | 10 +- libs/components/text-editor/package.json | 8 +- libs/components/text-editor/project.json | 4 +- .../sky-text-editor-resources.module.ts | 2 +- .../toolbar/text-editor-toolbar.component.ts | 6 +- libs/components/theme/package.json | 4 +- libs/components/theme/project.json | 4 +- .../src/lib/theming/theme-class.directive.ts | 2 +- libs/components/tiles/package.json | 4 +- libs/components/tiles/project.json | 4 +- .../shared/sky-tiles-resources.module.ts | 2 +- libs/components/toast/package.json | 8 +- libs/components/toast/project.json | 4 +- .../shared/sky-toast-resources.module.ts | 2 +- libs/components/validation/package.json | 6 +- libs/components/validation/project.json | 4 +- .../url-validation.directive.ts | 1 - libs/sdk/e2e-schematics/package.json | 14 +- libs/sdk/e2e-schematics/project.json | 9 +- .../generators/component-e2e/index.spec.ts | 2 +- .../stories/__snapshots__/index.spec.ts.snap | 2 + .../story/__snapshots__/index.spec.ts.snap | 1 + .../sdk/e2e-schematics/src/utils/ast-utils.ts | 20 +- .../src/workflow/percy-api/percy-api.ts | 12 +- .../src/workflow/verify-e2e/verify-e2e.ts | 14 +- libs/sdk/eslint-config/package.json | 2 +- libs/sdk/eslint-config/project.json | 3 +- libs/sdk/prettier-schematics/package.json | 2 +- libs/sdk/prettier-schematics/project.json | 3 +- .../ng-add/rules/add-format-npm-script.ts | 4 +- libs/sdk/testing/package.json | 6 +- libs/sdk/testing/project.json | 4 +- .../src/lib/a11y/a11y-analyzer-config.ts | 9 +- libs/sdk/testing/src/lib/matchers/matchers.ts | 4 +- libs/sdk/tools/package.json | 2 +- libs/sdk/tools/project.json | 7 +- nx.json | 8 +- package-lock.json | 1654 +++++++++-------- package.json | 101 +- 471 files changed, 3101 insertions(+), 3067 deletions(-) diff --git a/apps/code-examples/project.json b/apps/code-examples/project.json index d7c1db30ee..3a2becf56e 100644 --- a/apps/code-examples/project.json +++ b/apps/code-examples/project.json @@ -82,8 +82,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "apps/code-examples/src/**/*.ts", - "apps/code-examples/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } }, diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/basic/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/basic/data.ts index ff655bd1be..69167d2b8c 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/basic/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/basic/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/data-manager-added/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/data-manager-added/data.ts index ddcee076e5..9fad992bc1 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/data-manager-added/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/data-manager-added/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/inline-help/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/inline-help/data.ts index ff655bd1be..69167d2b8c 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/inline-help/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-entry-grid/inline-help/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic-multiselect/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic-multiselect/data.ts index 0d9964f709..bacae1b9e0 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic-multiselect/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic-multiselect/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic/data.ts index e51111300c..6652bfbb50 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/basic/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager-multiselect/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager-multiselect/data.ts index 43543a4b7d..6dd8a948dd 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager-multiselect/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager-multiselect/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager/data.ts index 65bdecba4e..5d709550a5 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/data-manager/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/inline-help/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/inline-help/data.ts index e51111300c..6652bfbb50 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/inline-help/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/inline-help/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/paging/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/paging/data.ts index e51111300c..6652bfbb50 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/paging/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/paging/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/top-scroll/data.ts b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/top-scroll/data.ts index ff655bd1be..69167d2b8c 100644 --- a/apps/code-examples/src/app/code-examples/ag-grid/data-grid/top-scroll/data.ts +++ b/apps/code-examples/src/app/code-examples/ag-grid/data-grid/top-scroll/data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/code-examples/src/app/code-examples/forms/radio/icon/demo.component.ts b/apps/code-examples/src/app/code-examples/forms/radio/icon/demo.component.ts index 6eeb3ce55b..20c146ffb9 100644 --- a/apps/code-examples/src/app/code-examples/forms/radio/icon/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/forms/radio/icon/demo.component.ts @@ -8,11 +8,11 @@ import { } from '@angular/forms'; import { SkyRadioModule } from '@skyux/forms'; -type Item = { +interface Item { icon: string; label: string; name: string; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/forms/radio/inline-help/demo.component.ts b/apps/code-examples/src/app/code-examples/forms/radio/inline-help/demo.component.ts index 2bff17f121..b534ffa04c 100644 --- a/apps/code-examples/src/app/code-examples/forms/radio/inline-help/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/forms/radio/inline-help/demo.component.ts @@ -9,11 +9,11 @@ import { import { SkyRadioModule } from '@skyux/forms'; import { SkyHelpInlineModule } from '@skyux/indicators'; -type Item = { +interface Item { disabled: boolean; name: string; value: string; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/forms/radio/standard/demo.component.ts b/apps/code-examples/src/app/code-examples/forms/radio/standard/demo.component.ts index b623ae0552..9ac715035f 100644 --- a/apps/code-examples/src/app/code-examples/forms/radio/standard/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/forms/radio/standard/demo.component.ts @@ -8,11 +8,11 @@ import { } from '@angular/forms'; import { SkyRadioModule } from '@skyux/forms'; -type Item = { +interface Item { name: string; value: string; disabled: boolean; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/forms/toggle-switch/basic/demo.component.ts b/apps/code-examples/src/app/code-examples/forms/toggle-switch/basic/demo.component.ts index b74e281643..833c990921 100644 --- a/apps/code-examples/src/app/code-examples/forms/toggle-switch/basic/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/forms/toggle-switch/basic/demo.component.ts @@ -8,10 +8,10 @@ import { } from '@angular/forms'; import { SkyToggleSwitchModule } from '@skyux/forms'; -type ToggleSwitchFormType = { +interface ToggleSwitchFormType { controlToggle: FormControl; dynamicToggle: FormControl; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/forms/toggle-switch/inline-help/demo.component.ts b/apps/code-examples/src/app/code-examples/forms/toggle-switch/inline-help/demo.component.ts index fa2febbd9d..b3c811d2eb 100644 --- a/apps/code-examples/src/app/code-examples/forms/toggle-switch/inline-help/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/forms/toggle-switch/inline-help/demo.component.ts @@ -11,10 +11,10 @@ import { SkyHelpInlineModule } from '@skyux/indicators'; import { Subject, takeUntil } from 'rxjs'; -type ToggleSwitchFormType = { +interface ToggleSwitchFormType { controlToggle: FormControl; dynamicToggle: FormControl; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/indicators/tokens/custom/demo.component.ts b/apps/code-examples/src/app/code-examples/indicators/tokens/custom/demo.component.ts index 4a350523c0..5d479ea989 100644 --- a/apps/code-examples/src/app/code-examples/indicators/tokens/custom/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/indicators/tokens/custom/demo.component.ts @@ -9,9 +9,9 @@ import { import { Subject } from 'rxjs'; -type TokenItem = { +interface TokenItem { label: string; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/inline-form/inline-form/repeaters/demo.component.ts b/apps/code-examples/src/app/code-examples/inline-form/inline-form/repeaters/demo.component.ts index 0dd302c2f7..1053b0ca58 100644 --- a/apps/code-examples/src/app/code-examples/inline-form/inline-form/repeaters/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/inline-form/inline-form/repeaters/demo.component.ts @@ -16,11 +16,11 @@ import { } from '@skyux/inline-form'; import { SkyRepeaterModule } from '@skyux/lists'; -type Item = { +interface Item { id: string; title: string | undefined; note: string | undefined; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/lists/filter/inline/demo.component.ts b/apps/code-examples/src/app/code-examples/lists/filter/inline/demo.component.ts index cd49d90031..576d25eb0b 100644 --- a/apps/code-examples/src/app/code-examples/lists/filter/inline/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/lists/filter/inline/demo.component.ts @@ -6,16 +6,16 @@ import { SkyCheckboxModule, SkyInputBoxModule } from '@skyux/forms'; import { SkyToolbarModule } from '@skyux/layout'; import { SkyFilterModule, SkyRepeaterModule } from '@skyux/lists'; -type Filter = { +interface Filter { name: string; value: string | boolean; -}; +} -type Fruit = { +interface Fruit { name: string; type: string; color: string; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/lists/filter/modal/filter-modal.component.ts b/apps/code-examples/src/app/code-examples/lists/filter/modal/filter-modal.component.ts index 7f4d33d5f5..3b8d3530f2 100644 --- a/apps/code-examples/src/app/code-examples/lists/filter/modal/filter-modal.component.ts +++ b/apps/code-examples/src/app/code-examples/lists/filter/modal/filter-modal.component.ts @@ -64,13 +64,13 @@ export class FilterModalComponent { } #setFormFilters(appliedFilters: Filter[]): void { - for (let i = 0; i < appliedFilters.length; i++) { - if (appliedFilters[i].name === 'fruitType') { - this.fruitType = `${appliedFilters[i].value}`; + for (const appliedFilter of appliedFilters) { + if (appliedFilter.name === 'fruitType') { + this.fruitType = `${appliedFilter.value}`; } - if (appliedFilters[i].name === 'hideOrange') { - this.hideOrange = !!appliedFilters[i].value; + if (appliedFilter.name === 'hideOrange') { + this.hideOrange = !!appliedFilter.value; } } } diff --git a/apps/code-examples/src/app/code-examples/lists/repeater/inline-form/demo.component.ts b/apps/code-examples/src/app/code-examples/lists/repeater/inline-form/demo.component.ts index 0dd302c2f7..1053b0ca58 100644 --- a/apps/code-examples/src/app/code-examples/lists/repeater/inline-form/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/lists/repeater/inline-form/demo.component.ts @@ -16,11 +16,11 @@ import { } from '@skyux/inline-form'; import { SkyRepeaterModule } from '@skyux/lists'; -type Item = { +interface Item { id: string; title: string | undefined; note: string | undefined; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/lists/sort/basic/demo.component.ts b/apps/code-examples/src/app/code-examples/lists/sort/basic/demo.component.ts index 7e8befd225..c7d9eda81d 100644 --- a/apps/code-examples/src/app/code-examples/lists/sort/basic/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/lists/sort/basic/demo.component.ts @@ -3,18 +3,18 @@ import { Component, OnInit } from '@angular/core'; import { SkyToolbarModule } from '@skyux/layout'; import { SkyRepeaterModule, SkySortModule } from '@skyux/lists'; -type Item = { +interface Item { title: string; note: string; assignee: string; date: Date; -}; -type SortOption = { +} +interface SortOption { id: number; label: string; name: keyof Item; descending: boolean; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/pages/page/list-page-tabs-layout-demo/list-page-contacts-grid.component.ts b/apps/code-examples/src/app/code-examples/pages/page/list-page-tabs-layout-demo/list-page-contacts-grid.component.ts index 27119d822f..c9d504c332 100644 --- a/apps/code-examples/src/app/code-examples/pages/page/list-page-tabs-layout-demo/list-page-contacts-grid.component.ts +++ b/apps/code-examples/src/app/code-examples/pages/page/list-page-tabs-layout-demo/list-page-contacts-grid.component.ts @@ -13,11 +13,11 @@ import { ColDef, GridOptions, ICellRendererParams } from 'ag-grid-community'; import { ContactContextMenuComponent } from './contact-context-menu.component'; -type Contact = { +interface Contact { name: string; organization: string; emailAddress: string; -}; +} @Component({ standalone: true, diff --git a/apps/code-examples/src/app/code-examples/popovers/dropdown/basic/demo.component.ts b/apps/code-examples/src/app/code-examples/popovers/dropdown/basic/demo.component.ts index 9b8de8eb88..aeac15816e 100644 --- a/apps/code-examples/src/app/code-examples/popovers/dropdown/basic/demo.component.ts +++ b/apps/code-examples/src/app/code-examples/popovers/dropdown/basic/demo.component.ts @@ -2,10 +2,10 @@ import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; import { SkyDropdownModule } from '@skyux/popovers'; -type DropdownItem = { +interface DropdownItem { name: string; disabled: boolean; -}; +} @Component({ standalone: true, diff --git a/apps/e2e/a11y-storybook-e2e/project.json b/apps/e2e/a11y-storybook-e2e/project.json index 9ce139e700..c4a9cb430b 100644 --- a/apps/e2e/a11y-storybook-e2e/project.json +++ b/apps/e2e/a11y-storybook-e2e/project.json @@ -23,9 +23,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/a11y-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/a11y-storybook-e2e/src/e2e/skip-link.component.cy.ts b/apps/e2e/a11y-storybook-e2e/src/e2e/skip-link.component.cy.ts index c677fc2416..73f17674f5 100644 --- a/apps/e2e/a11y-storybook-e2e/src/e2e/skip-link.component.cy.ts +++ b/apps/e2e/a11y-storybook-e2e/src/e2e/skip-link.component.cy.ts @@ -11,13 +11,9 @@ describe('a11y-storybook', () => { ), ); it('should render the component', () => { - cy.get('#ready') - .should('exist') - .end() - .get('.sky-skip-link') - .should('exist') - .focus() - .should('be.visible'); + cy.get('#ready').should('exist'); + cy.get('.sky-skip-link').should('exist').focus(); + cy.get('.sky-skip-link').should('be.visible'); cy.skyVisualTest(`skiplinkcomponent-skiplink--skip-link-${theme}`, { capture: 'fullPage', overwrite: true, diff --git a/apps/e2e/a11y-storybook/project.json b/apps/e2e/a11y-storybook/project.json index 0e9217e697..98a2b78c49 100644 --- a/apps/e2e/a11y-storybook/project.json +++ b/apps/e2e/a11y-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/a11y-storybook/**/*.ts", - "apps/e2e/a11y-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/action-bars-storybook-e2e/project.json b/apps/e2e/action-bars-storybook-e2e/project.json index a754ede818..1f2128929b 100644 --- a/apps/e2e/action-bars-storybook-e2e/project.json +++ b/apps/e2e/action-bars-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/action-bars-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/action-bars-storybook-e2e/src/e2e/summary-action-bar.component.cy.ts b/apps/e2e/action-bars-storybook-e2e/src/e2e/summary-action-bar.component.cy.ts index d993730fe8..0704aaa555 100644 --- a/apps/e2e/action-bars-storybook-e2e/src/e2e/summary-action-bar.component.cy.ts +++ b/apps/e2e/action-bars-storybook-e2e/src/e2e/summary-action-bar.component.cy.ts @@ -39,8 +39,7 @@ describe('action-bars-storybook - summary action bar', () => { cy.get('sky-modal-content') .should('exist') .should('be.visible') - .click() - .end(); + .click(); } cy.window().skyVisualTest( @@ -121,11 +120,11 @@ describe('action-bars-storybook - summary action bar', () => { .get('sky-summary-action-bar-secondary-actions button') .should('exist') .should('be.visible') - .click() - .end() - .get( - 'sky-dropdown-menu sky-summary-action-bar-secondary-action', - ) + .click(); + + cy.get( + 'sky-dropdown-menu sky-summary-action-bar-secondary-action', + ) .should('exist') .should('be.visible') .end() diff --git a/apps/e2e/action-bars-storybook/project.json b/apps/e2e/action-bars-storybook/project.json index 904fe43410..33691ef1d6 100644 --- a/apps/e2e/action-bars-storybook/project.json +++ b/apps/e2e/action-bars-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/action-bars-storybook/**/*.ts", - "apps/e2e/action-bars-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/ag-grid-storybook-e2e/project.json b/apps/e2e/ag-grid-storybook-e2e/project.json index 9e80eb0595..af822d66f0 100644 --- a/apps/e2e/ag-grid-storybook-e2e/project.json +++ b/apps/e2e/ag-grid-storybook-e2e/project.json @@ -23,9 +23,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/ag-grid-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-entry-grid.component.cy.ts b/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-entry-grid.component.cy.ts index 01c7ef0cb1..f6ccb585ae 100644 --- a/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-entry-grid.component.cy.ts +++ b/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-entry-grid.component.cy.ts @@ -15,33 +15,30 @@ describe('ag-grid-storybook', () => { /* spell-checker:disable-next-line */ .get('#editLookup div[row-id="alexape01"] > div[col-id="name"]') .should('be.visible') - .click() - .end() + .click(); - // Activate a date field without the calendar. - /* spell-checker:disable-next-line */ - .get('#editDate div[row-id="bankser01"] > div[col-id="birthday"]') + // Activate a date field without the calendar. + /* spell-checker:disable-next-line */ + cy.get('#editDate div[row-id="bankser01"] > div[col-id="birthday"]') .should('be.visible') - .click() - .end() + .click(); - // Activate a date field. - .get( - /* spell-checker:disable-next-line */ - '#editDateWithCalendar div[row-id="blylebe01"] > div[col-id="birthday"]', - ) + // Activate a date field. + cy.get( + /* spell-checker:disable-next-line */ + '#editDateWithCalendar div[row-id="blylebe01"] > div[col-id="birthday"]', + ) .should('be.visible') - .click() - .end() + .click(); - // Open the calendar and verify 04/06/1951 is selected. - .get( - '#editDateWithCalendar .ag-popup-editor button[aria-label="Select date"]', - ) + // Open the calendar and verify 04/06/1951 is selected. + cy.get( + '#editDateWithCalendar .ag-popup-editor button[aria-label="Select date"]', + ) .should('be.visible') - .click() - .end() - .get('.ag-custom-component-popup .sky-datepicker-btn-selected') + .click(); + + cy.get('.ag-custom-component-popup .sky-datepicker-btn-selected') .should('be.visible') .should('contain.text', '06') .end() @@ -85,20 +82,17 @@ describe('ag-grid-storybook', () => { ); // Briefly wait between arrowing down. // eslint-disable-next-line cypress/no-unnecessary-waiting - cy.get('#ready') - .should('exist') - .end() + cy.get('#ready').should('exist'); - // Activate a text field. - /* spell-checker:disable-next-line */ - .get('#editText div[row-id="benchjo01"] > div[col-id="name"]') + // Activate a text field. + /* spell-checker:disable-next-line */ + cy.get('#editText div[row-id="benchjo01"] > div[col-id="name"]') .should('be.visible') - .click() - .end() + .click(); - // Focus on a cell in the middle of the grid. - /* spell-checker:disable-next-line */ - .get('#sideScroll .ag-cell-value[col-id="triplecrown"]') + // Focus on a cell in the middle of the grid. + /* spell-checker:disable-next-line */ + cy.get('#sideScroll .ag-cell-value[col-id="triplecrown"]') .should('be.visible') .should('not.be.empty') .end() @@ -113,70 +107,75 @@ describe('ag-grid-storybook', () => { /* spell-checker:disable-next-line */ .get('#sideScroll .sky-ag-grid-row-speaktr01 [col-id="mvp"]') .should('be.visible') - .click() - .end() + .click(); - // Activate a lookup multi-select field and add a second value. - .get( - /* spell-checker:disable-next-line */ - '#editLookupMultiple div[row-id="seaveto01"] > div[col-id="name"]', - ) + // Activate a lookup multi-select field and add a second value. + cy.get( + /* spell-checker:disable-next-line */ + '#editLookupMultiple div[row-id="seaveto01"] > div[col-id="name"]', + ) .should('be.visible') - .click() - .end() - .get('.ag-popup-editor textarea') + .click(); + + cy.get('.ag-popup-editor textarea') .should('be.visible') /* spell-checker:disable-next-line */ - .type('gossage') - .trigger('keydown', { key: 'Enter' }) - .end() + .type('gossage'); + cy.get('.ag-popup-editor textarea').trigger('keydown', { + key: 'Enter', + }); - // Leave the lookup field to show it render multiple values. - .get( - /* spell-checker:disable-next-line */ - '#editLookupMultiple div[row-id="seaveto01"] > div[col-id="birthday"]', - ) + // Leave the lookup field to show it render multiple values. + cy.get( + /* spell-checker:disable-next-line */ + '#editLookupMultiple div[row-id="seaveto01"] > div[col-id="birthday"]', + ) .should('be.visible') - .click() - .end() + .click(); - // Activate another lookup multi-select field and enter values, leaving it active. - .get( - /* spell-checker:disable-next-line */ - '#editLookupMultiple div[row-id="simmoal01"] > div[col-id="name"]', - ) - .should('be.visible') - .click() - .end() - .get('.ag-popup-editor textarea') + // Activate another lookup multi-select field and enter values, leaving it active. + cy.get( + /* spell-checker:disable-next-line */ + '#editLookupMultiple div[row-id="simmoal01"] > div[col-id="name"]', + ) .should('be.visible') - .type('mat') - .trigger('keydown', { key: 'Enter' }) - .type('Rabbit') - .trigger('keydown', { key: 'Enter' }) - .end() + .click(); - // Activate a lookup single-select field. - /* spell-checker:disable-next-line */ - .get('#editLookup div[row-id="berrayo01"] > div[col-id="name"]') + cy.get('.ag-popup-editor textarea').should('be.visible').type('mat'); + cy.get('.ag-popup-editor textarea').trigger('keydown', { + key: 'Enter', + }); + cy.get('.ag-popup-editor textarea').type('Rabbit'); + cy.get('.ag-popup-editor textarea').trigger('keydown', { + key: 'Enter', + }); + + // Activate a lookup single-select field. + /* spell-checker:disable-next-line */ + cy.get('#editLookup div[row-id="berrayo01"] > div[col-id="name"]') .should('be.visible') - .click() - .end() + .click(); - // Search the lookup field. - .get('#editLookup .ag-popup-editor textarea') + // Search the lookup field. + cy.get('#editLookup .ag-popup-editor textarea') .should('be.visible') - .clear() - .type('mar', { delay: 100 }) + .clear(); + cy.get('#editLookup .ag-popup-editor textarea').type('mar', { + delay: 100, + }); + // eslint-disable-next-line cypress/no-unnecessary-waiting + cy.get('#editLookup .ag-popup-editor textarea') .wait(100) - .trigger('keydown', { key: 'ArrowDown' }) + .trigger('keydown', { key: 'ArrowDown' }); + // eslint-disable-next-line cypress/no-unnecessary-waiting + cy.get('#editLookup .ag-popup-editor textarea') .wait(100) - .trigger('keydown', { key: 'ArrowDown' }) - .wait(300) - .end() + .trigger('keydown', { key: 'ArrowDown' }); + // eslint-disable-next-line cypress/no-unnecessary-waiting + cy.wait(300); - // Verify the lookup field results. - .get('.ag-custom-component-popup mark.sky-highlight-mark') + // Verify the lookup field results. + cy.get('.ag-custom-component-popup mark.sky-highlight-mark') .should('be.visible') .should('have.length.gt', 2) .end() diff --git a/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-manager.component.cy.ts b/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-manager.component.cy.ts index 89ef66e296..dc028500b3 100644 --- a/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-manager.component.cy.ts +++ b/apps/e2e/ag-grid-storybook-e2e/src/e2e/data-manager.component.cy.ts @@ -62,32 +62,23 @@ describe(`ag-grid-storybook data manager`, () => { `/iframe.html?globals=theme:${theme}&id=datamanagercomponent-datamanager--data-manager-normal`, ) .get('#ready') - .should('exist') - .end() + .should('exist'); - .get('#storybook-root') - .should('exist') - .should('be.visible') - .end() - // Necessary to wait for the grid to render. - .wait(1000) - .get('.sky-col-picker-btn') - .click() - .end() - .get('sky-modal-header') - .should('exist') - .should('be.visible') - .click() - .end() - .window() - .skyVisualTest( - `datamanagercomponent-datamanager--data-manager-column-picker-${theme}`, - { - clip: { x: 0, y: 0, width: 1280, height: 900 }, - overwrite: true, - disableTimersAndAnimations: true, - }, - ); + cy.get('#storybook-root').should('exist').should('be.visible'); + // Necessary to wait for the grid to render. + // eslint-disable-next-line cypress/no-unnecessary-waiting + cy.wait(1000).get('.sky-col-picker-btn').click(); + + cy.get('sky-modal-header').should('exist').should('be.visible').click(); + + cy.window().skyVisualTest( + `datamanagercomponent-datamanager--data-manager-column-picker-${theme}`, + { + clip: { x: 0, y: 0, width: 1280, height: 900 }, + overwrite: true, + disableTimersAndAnimations: true, + }, + ); }); }); }); diff --git a/apps/e2e/ag-grid-storybook/project.json b/apps/e2e/ag-grid-storybook/project.json index 7eb4696521..10823199cb 100644 --- a/apps/e2e/ag-grid-storybook/project.json +++ b/apps/e2e/ag-grid-storybook/project.json @@ -77,10 +77,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/ag-grid-storybook/**/*.ts", - "apps/e2e/ag-grid-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/ag-grid-storybook/src/app/ag-grid/ag-grid-stories.component.ts b/apps/e2e/ag-grid-storybook/src/app/ag-grid/ag-grid-stories.component.ts index 64016a1a18..33ad664e4b 100644 --- a/apps/e2e/ag-grid-storybook/src/app/ag-grid/ag-grid-stories.component.ts +++ b/apps/e2e/ag-grid-storybook/src/app/ag-grid/ag-grid-stories.component.ts @@ -30,7 +30,10 @@ import { columnDefinitions, data } from '../shared/baseball-players-data'; import { ContextMenuComponent } from './context-menu.component'; -type DataSet = { id: string; data: any[] }; +interface DataSet { + id: string; + data: any[]; +} @Component({ selector: 'app-ag-grid-stories', @@ -55,7 +58,7 @@ export class AgGridStoriesComponent data: data.slice(60, 63), }, ]; - public gridOptions: { [_: string]: GridOptions } = {}; + public gridOptions: Record = {}; public isActive$ = new BehaviorSubject(true); public addPreviewWrapper$ = new BehaviorSubject(false); public ready = new BehaviorSubject(false); diff --git a/apps/e2e/ag-grid-storybook/src/app/data-entry-grid/data-entry-grid.component.ts b/apps/e2e/ag-grid-storybook/src/app/data-entry-grid/data-entry-grid.component.ts index 4f04f55a67..2079dcb685 100644 --- a/apps/e2e/ag-grid-storybook/src/app/data-entry-grid/data-entry-grid.component.ts +++ b/apps/e2e/ag-grid-storybook/src/app/data-entry-grid/data-entry-grid.component.ts @@ -23,7 +23,10 @@ import { delay, filter, map } from 'rxjs/operators'; import { columnDefinitions, data } from '../shared/baseball-players-data'; import { InlineHelpComponent } from '../shared/inline-help/inline-help.component'; -type DataSet = { id: string; data: any[] }; +interface DataSet { + id: string; + data: any[]; +} @Component({ selector: 'app-data-entry-grid', @@ -65,7 +68,7 @@ export class DataEntryGridComponent } public dataSets: DataSet[] | undefined; - public gridOptions: { [_: string]: GridOptions } = {}; + public gridOptions: Record = {}; public isActive$ = new BehaviorSubject(true); public addPreviewWrapper$ = new BehaviorSubject(false); public ready = new BehaviorSubject(false); diff --git a/apps/e2e/ag-grid-storybook/src/app/data-manager/data-manager.component.ts b/apps/e2e/ag-grid-storybook/src/app/data-manager/data-manager.component.ts index 07f214bbff..d75eec60db 100644 --- a/apps/e2e/ag-grid-storybook/src/app/data-manager/data-manager.component.ts +++ b/apps/e2e/ag-grid-storybook/src/app/data-manager/data-manager.component.ts @@ -20,10 +20,10 @@ import { filter, first, map } from 'rxjs/operators'; import { columnDefinitions, data } from '../shared/baseball-players-data'; -type GridSettingsType = { +interface GridSettingsType { enableTopScroll: FormControl; domLayout: FormControl<'normal' | 'autoHeight' | 'print'>; -}; +} @Component({ selector: 'app-data-manager', diff --git a/apps/e2e/angular-tree-component-storybook-e2e/project.json b/apps/e2e/angular-tree-component-storybook-e2e/project.json index 22207ba325..c929b66a62 100644 --- a/apps/e2e/angular-tree-component-storybook-e2e/project.json +++ b/apps/e2e/angular-tree-component-storybook-e2e/project.json @@ -25,11 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/angular-tree-component-storybook-e2e/**/*.{js,ts}" - ] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/angular-tree-component-storybook-e2e/src/e2e/angular-tree-component.component.cy.ts b/apps/e2e/angular-tree-component-storybook-e2e/src/e2e/angular-tree-component.component.cy.ts index 2d6e1bdfcd..e2c2f78565 100644 --- a/apps/e2e/angular-tree-component-storybook-e2e/src/e2e/angular-tree-component.component.cy.ts +++ b/apps/e2e/angular-tree-component-storybook-e2e/src/e2e/angular-tree-component.component.cy.ts @@ -26,26 +26,23 @@ describe('angular-tree-component-storybook', () => { .first() .should('exist') .should('be.visible') - .click() - .end(); + .click(); cy.get('tree-node-content') .should('exist') .eq(1) .should('exist') .should('be.visible') - .click() - .end(); + .click(); - cy.get('app-angular-tree-component') - .screenshot( - `angulartreecomponentcomponent-angulartreecomponent--${mode}-angular-tree-component-${theme}`, - ) - .percySnapshot( - `angulartreecomponentcomponent-angulartreecomponent--${mode}-angular-tree-component-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-angular-tree-component').screenshot( + `angulartreecomponentcomponent-angulartreecomponent--${mode}-angular-tree-component-${theme}`, + ); + cy.get('app-angular-tree-component').percySnapshot( + `angulartreecomponentcomponent-angulartreecomponent--${mode}-angular-tree-component-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/angular-tree-component-storybook/project.json b/apps/e2e/angular-tree-component-storybook/project.json index 34f8ea8250..123f23131c 100644 --- a/apps/e2e/angular-tree-component-storybook/project.json +++ b/apps/e2e/angular-tree-component-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/angular-tree-component-storybook/**/*.ts", - "apps/e2e/angular-tree-component-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/avatar-storybook-e2e/project.json b/apps/e2e/avatar-storybook-e2e/project.json index a5ad24c38b..5c02a62dc0 100644 --- a/apps/e2e/avatar-storybook-e2e/project.json +++ b/apps/e2e/avatar-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/avatar-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/avatar-storybook-e2e/src/e2e/avatar.component.cy.ts b/apps/e2e/avatar-storybook-e2e/src/e2e/avatar.component.cy.ts index 6b12c48eea..e62faaecb2 100644 --- a/apps/e2e/avatar-storybook-e2e/src/e2e/avatar.component.cy.ts +++ b/apps/e2e/avatar-storybook-e2e/src/e2e/avatar.component.cy.ts @@ -16,12 +16,16 @@ describe('avatar-storybook', () => { // eslint-disable-next-line cypress/no-unnecessary-waiting cy.wait(3000); - cy.get('#screenshot-wrapper') - .screenshot(`avatarcomponent-avatar--avatar-${theme}`) - .percySnapshot(`avatarcomponent-avatar--avatar-${theme}`, { + cy.get('#screenshot-wrapper').screenshot( + `avatarcomponent-avatar--avatar-${theme}`, + ); + cy.get('#screenshot-wrapper').percySnapshot( + `avatarcomponent-avatar--avatar-${theme}`, + { scope: '#screenshot-wrapper', widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/avatar-storybook/project.json b/apps/e2e/avatar-storybook/project.json index b5975f30b9..20d6a300f9 100644 --- a/apps/e2e/avatar-storybook/project.json +++ b/apps/e2e/avatar-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/avatar-storybook/**/*.ts", - "apps/e2e/avatar-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/colorpicker-storybook-e2e/project.json b/apps/e2e/colorpicker-storybook-e2e/project.json index 158dbe9b01..a08235b7bb 100644 --- a/apps/e2e/colorpicker-storybook-e2e/project.json +++ b/apps/e2e/colorpicker-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/colorpicker-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/colorpicker-storybook-e2e/src/e2e/colorpicker.component.cy.ts b/apps/e2e/colorpicker-storybook-e2e/src/e2e/colorpicker.component.cy.ts index 1bfe233fa8..5327b09d9b 100644 --- a/apps/e2e/colorpicker-storybook-e2e/src/e2e/colorpicker.component.cy.ts +++ b/apps/e2e/colorpicker-storybook-e2e/src/e2e/colorpicker.component.cy.ts @@ -31,13 +31,13 @@ describe('colorpicker-storybook', () => { cy.get('app-colorpicker') .should('exist') .should('be.visible') - .screenshot(`colorpickercomponent-colorpicker--colorpicker-${theme}`) - .percySnapshot( - `colorpickercomponent-colorpicker--colorpicker-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .screenshot(`colorpickercomponent-colorpicker--colorpicker-${theme}`); + cy.get('app-colorpicker').percySnapshot( + `colorpickercomponent-colorpicker--colorpicker-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); colorpickerVariations.forEach((colorpicker) => { @@ -47,9 +47,9 @@ describe('colorpicker-storybook', () => { cy.get(`#${colorpicker.id} .sky-colorpicker-button`) .should('exist') .should('be.visible') - .click() - .end() - .get('.sky-colorpicker-container') + .click(); + + cy.get('.sky-colorpicker-container') .should('exist') .should('be.visible') .then(($el) => { @@ -57,21 +57,20 @@ describe('colorpicker-storybook', () => { .should('be.gte', 0) .should('be.lessThan', 1000); cy.wrap($el.position().left).should('be.gte', 15); - }) - .end() - .window() - .screenshot( - `colorpickercomponent-colorpicker--${colorpicker.id}-menu-${theme}`, - { - disableTimersAndAnimations: true, - }, - ) - .percySnapshot( - `colorpickercomponent-colorpicker--${colorpicker.id}-menu-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + }); + + cy.window().screenshot( + `colorpickercomponent-colorpicker--${colorpicker.id}-menu-${theme}`, + { + disableTimersAndAnimations: true, + }, + ); + cy.window().percySnapshot( + `colorpickercomponent-colorpicker--${colorpicker.id}-menu-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/colorpicker-storybook/project.json b/apps/e2e/colorpicker-storybook/project.json index 5eba5839f1..e62c3d6b48 100644 --- a/apps/e2e/colorpicker-storybook/project.json +++ b/apps/e2e/colorpicker-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/colorpicker-storybook/**/*.ts", - "apps/e2e/colorpicker-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/core-storybook-e2e/project.json b/apps/e2e/core-storybook-e2e/project.json index e49dc48d71..43eafddc54 100644 --- a/apps/e2e/core-storybook-e2e/project.json +++ b/apps/e2e/core-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/core-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/core-storybook-e2e/src/e2e/affix.component.cy.ts b/apps/e2e/core-storybook-e2e/src/e2e/affix.component.cy.ts index a395f22f5d..10bfe3b19d 100644 --- a/apps/e2e/core-storybook-e2e/src/e2e/affix.component.cy.ts +++ b/apps/e2e/core-storybook-e2e/src/e2e/affix.component.cy.ts @@ -11,18 +11,15 @@ describe('affix', () => { ), ); it('should render the component', () => { - cy.get('#ready') - .should('exist') - .end() - .window() - .skyVisualTest(`affix-${theme}--initial`, { - capture: 'viewport', - }) - .window() - .scrollTo(0, 175) - .skyVisualTest(`affix-${theme}--scrolled`, { - capture: 'viewport', - }); + cy.get('#ready').should('exist'); + + cy.window().skyVisualTest(`affix-${theme}--initial`, { + capture: 'viewport', + }); + cy.window().scrollTo(0, 175); + cy.skyVisualTest(`affix-${theme}--scrolled`, { + capture: 'viewport', + }); }); }); }); diff --git a/apps/e2e/core-storybook-e2e/src/e2e/dock.component.cy.ts b/apps/e2e/core-storybook-e2e/src/e2e/dock.component.cy.ts index 196063bb1c..10a230a11f 100644 --- a/apps/e2e/core-storybook-e2e/src/e2e/dock.component.cy.ts +++ b/apps/e2e/core-storybook-e2e/src/e2e/dock.component.cy.ts @@ -12,7 +12,8 @@ describe('core-storybook', () => { cy.get('sky-dock').should('exist').should('be.visible'); cy.screenshot(`dockcomponent-dock--dock-${theme}`, { capture: 'fullPage', - }).percySnapshot(`dockcomponent-dock--dock-${theme}`, { + }); + cy.percySnapshot(`dockcomponent-dock--dock-${theme}`, { widths: E2eVariations.DISPLAY_WIDTHS, }); }); diff --git a/apps/e2e/core-storybook/project.json b/apps/e2e/core-storybook/project.json index 2e7e5d1b14..a9d328670a 100644 --- a/apps/e2e/core-storybook/project.json +++ b/apps/e2e/core-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/core-storybook/**/*.ts", - "apps/e2e/core-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/data-manager-storybook-e2e/project.json b/apps/e2e/data-manager-storybook-e2e/project.json index f408156851..ea907124f2 100644 --- a/apps/e2e/data-manager-storybook-e2e/project.json +++ b/apps/e2e/data-manager-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/data-manager-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/data-manager-storybook-e2e/src/e2e/data-manager.component.cy.ts b/apps/e2e/data-manager-storybook-e2e/src/e2e/data-manager.component.cy.ts index b3262e68b7..1a3ac2f277 100644 --- a/apps/e2e/data-manager-storybook-e2e/src/e2e/data-manager.component.cy.ts +++ b/apps/e2e/data-manager-storybook-e2e/src/e2e/data-manager.component.cy.ts @@ -12,21 +12,20 @@ describe('data-manager-storybook', () => { ); it(`should render the component`, () => { // eslint-disable-next-line cypress/no-unnecessary-waiting - cy.get('#ready') - .should('exist') - .end() - .get('app-data-manager') + cy.get('#ready').should('exist'); + + cy.get('app-data-manager') .should('exist') .should('be.visible') .screenshot( `datamanagercomponent-datamanager--data-manager-${view}-${theme}`, - ) - .percySnapshot( - `datamanagercomponent-datamanager--data-manager-${view}-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-data-manager').percySnapshot( + `datamanagercomponent-datamanager--data-manager-${view}-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/data-manager-storybook/project.json b/apps/e2e/data-manager-storybook/project.json index 50ef7439b0..a7ecd67575 100644 --- a/apps/e2e/data-manager-storybook/project.json +++ b/apps/e2e/data-manager-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/data-manager-storybook/**/*.ts", - "apps/e2e/data-manager-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/datetime-storybook-e2e/project.json b/apps/e2e/datetime-storybook-e2e/project.json index dbdb2ba6dd..d9e1fc7348 100644 --- a/apps/e2e/datetime-storybook-e2e/project.json +++ b/apps/e2e/datetime-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/datetime-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/datetime-storybook-e2e/src/e2e/date-range-picker.component.cy.ts b/apps/e2e/datetime-storybook-e2e/src/e2e/date-range-picker.component.cy.ts index e61f7ff4bf..f4d3eb2f36 100644 --- a/apps/e2e/datetime-storybook-e2e/src/e2e/date-range-picker.component.cy.ts +++ b/apps/e2e/datetime-storybook-e2e/src/e2e/date-range-picker.component.cy.ts @@ -15,53 +15,53 @@ describe('Date range picker', () => { .end(); }); it('should render the component', () => { - cy.get('#form-group-rangeInvalid input') - .first() - .click() - .clear() - .type('invalid') - .end() - .get('#form-group-rangeInvalid input') - .eq(1) - .click() - .clear() - .type('invalid') - .end() - .get('#screenshot-date-range-picker > div:nth-child(8) > button') + cy.get('#form-group-rangeInvalid input').first().click(); + cy.get('#form-group-rangeInvalid input').first().clear(); + cy.get('#form-group-rangeInvalid input').first().type('invalid'); + + cy.get('#form-group-rangeInvalid input').eq(1).click(); + cy.get('#form-group-rangeInvalid input').eq(1).clear(); + cy.get('#form-group-rangeInvalid input').eq(1).type('invalid'); + + cy.get('#screenshot-date-range-picker > div:nth-child(8) > button') .should('contain.text', 'Submit') - .click() - .blur() - .end() - .get('app-date-range-picker') - .skyVisualTest(`date-range-picker-${theme}`, { + .click(); + cy.get( + '#screenshot-date-range-picker > div:nth-child(8) > button', + ).blur(); + + cy.get('app-date-range-picker').skyVisualTest( + `date-range-picker-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should render the component on mobile', () => { cy.viewport('iphone-x', 'portrait'); - cy.get('#form-group-rangeInvalid input') - .first() - .click() - .clear() - .type('invalid') - .end() - .get('#form-group-rangeInvalid input') - .eq(1) - .click() - .clear() - .type('invalid') - .end() - .get('#screenshot-date-range-picker > div:nth-child(8) > button') + cy.get('#form-group-rangeInvalid input').first().click(); + cy.get('#form-group-rangeInvalid input').first().clear(); + cy.get('#form-group-rangeInvalid input').first().type('invalid'); + + cy.get('#form-group-rangeInvalid input').eq(1).click(); + cy.get('#form-group-rangeInvalid input').eq(1).clear(); + cy.get('#form-group-rangeInvalid input').eq(1).type('invalid'); + + cy.get('#screenshot-date-range-picker > div:nth-child(8) > button') .should('contain.text', 'Submit') - .click() - .blur() - .end() - .get('app-date-range-picker') - .skyVisualTest(`date-range-picker-${theme}-mobile`, { + .click(); + cy.get( + '#screenshot-date-range-picker > div:nth-child(8) > button', + ).blur(); + + cy.get('app-date-range-picker').skyVisualTest( + `date-range-picker-${theme}-mobile`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); }); }); diff --git a/apps/e2e/datetime-storybook-e2e/src/e2e/datepicker.component.cy.ts b/apps/e2e/datetime-storybook-e2e/src/e2e/datepicker.component.cy.ts index a73c9128e6..3ec7b361fb 100644 --- a/apps/e2e/datetime-storybook-e2e/src/e2e/datepicker.component.cy.ts +++ b/apps/e2e/datetime-storybook-e2e/src/e2e/datepicker.component.cy.ts @@ -27,40 +27,47 @@ describe('Date picker', () => { }); it('should show month picker', () => { + cy.get( + '#screenshot-datepicker-calendar .sky-datepicker-calendar-title', + ).click(); + cy.get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') - .click() - .end() - .get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') .invoke('text') - .should('match', /^\d{4}$/) - .end() - .get('#screenshot-datepicker') - .skyVisualTest(`datepicker-month-picker-${theme}`, { + .should('match', /^\d{4}$/); + + cy.get('#screenshot-datepicker').skyVisualTest( + `datepicker-month-picker-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show year picker', () => { + cy.get( + '#screenshot-datepicker-calendar .sky-datepicker-calendar-title', + ).click(); + cy.get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') - .click() - .end() - .get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') .invoke('text') - .should('match', /^\d{4}$/) - .end() - .get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') - .click() - .end() - .get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') + .should('match', /^\d{4}$/); + + cy.get( + '#screenshot-datepicker-calendar .sky-datepicker-calendar-title', + ).click(); + + cy.get('#screenshot-datepicker-calendar .sky-datepicker-calendar-title') .invoke('text') - .should('match', /^\d{4} - \d{4}$/) - .end() - .get('#screenshot-datepicker') - .skyVisualTest(`datepicker-year-picker-${theme}`, { + .should('match', /^\d{4} - \d{4}$/); + + cy.get('#screenshot-datepicker').skyVisualTest( + `datepicker-year-picker-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show datepicker input when open', () => { @@ -69,15 +76,13 @@ describe('Date picker', () => { .should('be.visible') .then(($datepicker) => { cy.window().scrollTo(0, $datepicker.position().top); - }) - .end() - .get('#set-value-button') - .click() - .end() - .get('#screenshot-datepicker .sky-datepicker button') - .click() - .end() - .get('body') + }); + + cy.get('#set-value-button').click(); + + cy.get('#screenshot-datepicker .sky-datepicker button').click(); + + cy.get('body') .should('exist') .should('be.visible') .then(($body) => { @@ -94,68 +99,71 @@ describe('Date picker', () => { ); cy.wrap(buttonBottom).should('equal', dialogTop); return cy.wrap($body.get(0)); - }) - .end() - .get('#screenshot-datepicker') - .skyVisualTest(`datepicker-input-open-${theme}`, { + }); + + cy.get('#screenshot-datepicker').skyVisualTest( + `datepicker-input-open-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show datepicker input when invalid', () => { - cy.get('#button-set-invalid-value') - .scrollIntoView() - .click() - .end() - .get('#screenshot-datepicker') - .scrollIntoView() - .skyVisualTest(`datepicker-input-invalid-${theme}`, { + cy.get('#button-set-invalid-value').scrollIntoView(); + cy.get('#button-set-invalid-value').click(); + + cy.get('#screenshot-datepicker').scrollIntoView(); + cy.get('#screenshot-datepicker').skyVisualTest( + `datepicker-input-invalid-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show datepicker input', () => { - cy.get('#toggle-disabled-btn') - .scrollIntoView() - .end() - .get('#screenshot-datepicker-input-box') - .skyVisualTest(`datepicker-input-box-${theme}`, { + cy.get('#toggle-disabled-btn').scrollIntoView(); + + cy.get('#screenshot-datepicker-input-box').skyVisualTest( + `datepicker-input-box-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show datepicker input when disabled', () => { - cy.get('#toggle-disabled-btn') - .scrollIntoView() - .click() - .end() - .get('#screenshot-datepicker-input-box input.sky-form-control') - .should('be.disabled') - .end() - .get('#screenshot-datepicker-input-box') - .skyVisualTest(`datepicker-input-box-disabled-${theme}`, { + cy.get('#toggle-disabled-btn').scrollIntoView(); + cy.get('#toggle-disabled-btn').click(); + + cy.get( + '#screenshot-datepicker-input-box input.sky-form-control', + ).should('be.disabled'); + + cy.get('#screenshot-datepicker-input-box').skyVisualTest( + `datepicker-input-box-disabled-${theme}`, + { overwrite: true, disableTimersAndAnimations: true, - }); + }, + ); }); it('should show datepicker input with custom dates', () => { - cy.get('#button-set-custom-dates') - .scrollIntoView() - .click() - .end() - .get('#set-value-button') - .click() - .end() - .get('#sky-datepicker-button-2') - .click() - .end() - .get('body > sky-overlay sky-wait[ng-reflect-is-waiting="false"]', { - timeout: 10000, - }) + cy.get('#button-set-custom-dates').scrollIntoView(); + cy.get('#button-set-custom-dates').click(); + + cy.get('#set-value-button').click(); + + cy.get('#sky-datepicker-button-2').click(); + + cy.get('body > sky-overlay sky-wait[ng-reflect-is-waiting="false"]', { + timeout: 10000, + }) .should('exist') .should('not.be.visible') .end() diff --git a/apps/e2e/datetime-storybook-e2e/src/e2e/timepicker.component.cy.ts b/apps/e2e/datetime-storybook-e2e/src/e2e/timepicker.component.cy.ts index cd5fe5b887..733f77ba0b 100644 --- a/apps/e2e/datetime-storybook-e2e/src/e2e/timepicker.component.cy.ts +++ b/apps/e2e/datetime-storybook-e2e/src/e2e/timepicker.component.cy.ts @@ -15,17 +15,17 @@ describe('datetime-storybook', () => { .last() .should('exist') .should('be.visible') - .click() - .end() - .get( - 'sky-overlay .sky-timepicker-container .sky-timepicker-footer', - ) + .click(); + + cy.get( + 'sky-overlay .sky-timepicker-container .sky-timepicker-footer', + ) .should('exist') .should('be.visible') // Move focus so the focus ring is not in the screenshot. - .click() - .end() - .get('body') + .click(); + + cy.get('body') .should('exist') .should('be.visible') .then(($body) => { diff --git a/apps/e2e/datetime-storybook/project.json b/apps/e2e/datetime-storybook/project.json index 2b702c98f3..7898e52f06 100644 --- a/apps/e2e/datetime-storybook/project.json +++ b/apps/e2e/datetime-storybook/project.json @@ -74,12 +74,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/datetime-storybook/**/*.ts", - "apps/e2e/datetime-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/errors-storybook-e2e/project.json b/apps/e2e/errors-storybook-e2e/project.json index e8867e867b..2140ddad19 100644 --- a/apps/e2e/errors-storybook-e2e/project.json +++ b/apps/e2e/errors-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/errors-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/errors-storybook-e2e/src/e2e/error.component.cy.ts b/apps/e2e/errors-storybook-e2e/src/e2e/error.component.cy.ts index 82b5fb2644..9214c50418 100644 --- a/apps/e2e/errors-storybook-e2e/src/e2e/error.component.cy.ts +++ b/apps/e2e/errors-storybook-e2e/src/e2e/error.component.cy.ts @@ -25,10 +25,13 @@ describe('errors-storybook - error', () => { .get('app-error') .should('exist') .should('be.visible') - .screenshot(`errorcomponent-error--error--${style}-${theme}`) - .percySnapshot(`errorcomponent-error--error--${style}-${theme}`, { + .screenshot(`errorcomponent-error--error--${style}-${theme}`); + cy.get('app-error').percySnapshot( + `errorcomponent-error--error--${style}-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/errors-storybook/project.json b/apps/e2e/errors-storybook/project.json index ed99173b58..6412260cd0 100644 --- a/apps/e2e/errors-storybook/project.json +++ b/apps/e2e/errors-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/errors-storybook/**/*.ts", - "apps/e2e/errors-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/flyout-storybook-e2e/project.json b/apps/e2e/flyout-storybook-e2e/project.json index 01818f0b4e..e36ff5449c 100644 --- a/apps/e2e/flyout-storybook-e2e/project.json +++ b/apps/e2e/flyout-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/flyout-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/flyout-storybook-e2e/src/e2e/flyout.component.cy.ts b/apps/e2e/flyout-storybook-e2e/src/e2e/flyout.component.cy.ts index ebe87ba68d..c38cb0aae1 100644 --- a/apps/e2e/flyout-storybook-e2e/src/e2e/flyout.component.cy.ts +++ b/apps/e2e/flyout-storybook-e2e/src/e2e/flyout.component.cy.ts @@ -24,8 +24,7 @@ describe('flyout-storybook', () => { cy.get('.sky-flyout .sky-flyout-content') .should('exist') .should('be.visible') - .click() - .end(); + .click(); if (style.includes('responsive')) { cy.get( @@ -40,11 +39,14 @@ describe('flyout-storybook', () => { .should('be.visible') .screenshot(`flyoutcomponent-flyout--flyout-${style}-${theme}`, { capture: 'fullPage', - }) - .percySnapshot(`flyoutcomponent-flyout--flyout-${style}-${theme}`, { + }); + cy.get('app-flyout').percySnapshot( + `flyoutcomponent-flyout--flyout-${style}-${theme}`, + { enableJavaScript: true, widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/flyout-storybook/project.json b/apps/e2e/flyout-storybook/project.json index f373aafff8..f54b402c2a 100644 --- a/apps/e2e/flyout-storybook/project.json +++ b/apps/e2e/flyout-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/flyout-storybook/**/*.ts", - "apps/e2e/flyout-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/forms-storybook-e2e/project.json b/apps/e2e/forms-storybook-e2e/project.json index e6df436603..0b1c2f192b 100644 --- a/apps/e2e/forms-storybook-e2e/project.json +++ b/apps/e2e/forms-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/forms-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/character-counter.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/character-counter.component.cy.ts index 264b2f0fcc..2f0c319c2c 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/character-counter.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/character-counter.component.cy.ts @@ -19,17 +19,16 @@ describe('character-counter', () => { .should('exist') .end() .get('#screenshot-character-count-input-box-invalid input') - .focus() - .blur() - .end() - .get('body') - .screenshot(`character-counter-${theme}`, { - disableTimersAndAnimations: true, - overwrite: true, - }) - .percySnapshot(`character-counter-${theme}`, { - widths: E2eVariations.MOBILE_WIDTHS, - }); + .focus(); + cy.get('#screenshot-character-count-input-box-invalid input').blur(); + + cy.get('body').screenshot(`character-counter-${theme}`, { + disableTimersAndAnimations: true, + overwrite: true, + }); + cy.get('body').percySnapshot(`character-counter-${theme}`, { + widths: E2eVariations.MOBILE_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/checkbox.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/checkbox.component.cy.ts index dc9709ca2b..c707fe1108 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/checkbox.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/checkbox.component.cy.ts @@ -16,14 +16,14 @@ describe('forms-storybook - checkbox', () => { .get('#standard-checkboxes') .should('exist') .should('be.visible') - .screenshot(`checkboxcomponent-checkbox--checkbox-${theme}-standard`) - .percySnapshot( - `checkboxcomponent-checkbox--checkbox-${theme}-standard`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#standard-checkboxes', - }, - ); + .screenshot(`checkboxcomponent-checkbox--checkbox-${theme}-standard`); + cy.get('#standard-checkboxes').percySnapshot( + `checkboxcomponent-checkbox--checkbox-${theme}-standard`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#standard-checkboxes', + }, + ); }); it('should render the icon components', () => { @@ -33,11 +33,14 @@ describe('forms-storybook - checkbox', () => { .get('#icon-checkboxes') .should('exist') .should('be.visible') - .screenshot(`checkboxcomponent-checkbox--checkbox-${theme}-icon`) - .percySnapshot(`checkboxcomponent-checkbox--checkbox-${theme}-icon`, { + .screenshot(`checkboxcomponent-checkbox--checkbox-${theme}-icon`); + cy.get('#icon-checkboxes').percySnapshot( + `checkboxcomponent-checkbox--checkbox-${theme}-icon`, + { widths: E2eVariations.DISPLAY_WIDTHS, scope: '#icon-checkboxes', - }); + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/file-attachment.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/file-attachment.component.cy.ts index 2b510be784..e1cb8d66c0 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/file-attachment.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/file-attachment.component.cy.ts @@ -16,13 +16,13 @@ describe('forms-storybook', () => { .should('be.visible') .screenshot( `fileattachmentcomponent-fileattachment--file-attachment-${mode}-${theme}`, - ) - .percySnapshot( - `fileattachmentcomponent-fileattachment--file-attachment-${mode}-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-file-attachment').percySnapshot( + `fileattachmentcomponent-fileattachment--file-attachment-${mode}-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); @@ -41,13 +41,13 @@ describe('forms-storybook', () => { .should('be.visible') .screenshot( `fileattachmentcomponent-fileattachment--file-attachment-drag-and-drop-${theme}`, - ) - .percySnapshot( - `fileattachmentcomponent-fileattachment--file-attachment-drag-and-drop-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('.sky-file-drop-col').percySnapshot( + `fileattachmentcomponent-fileattachment--file-attachment-drag-and-drop-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/input-box.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/input-box.component.cy.ts index a60f6e6c56..e6b4446ef9 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/input-box.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/input-box.component.cy.ts @@ -12,10 +12,13 @@ describe('forms-storybook - input box', () => { cy.get('app-input-box') .should('exist') .should('be.visible') - .screenshot(`inputboxcomponent-inputbox--input-box-${theme}`) - .percySnapshot(`inputboxcomponent-inputbox--input-box-${theme}`, { + .screenshot(`inputboxcomponent-inputbox--input-box-${theme}`); + cy.get('app-input-box').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); it('should properly focus a standard input box', () => { @@ -23,18 +26,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-basic input') - .click() - .get('#input-box-basic') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-standard-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-standard-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-basic', - }, - ); + .click(); + cy.get('#input-box-basic').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-standard-focus`, + ); + cy.get('#input-box-basic').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-standard-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-basic', + }, + ); }); it('should properly focus a textarea input box', () => { @@ -42,18 +44,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-textarea textarea') - .click() - .get('#input-box-textarea') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-textarea-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-textarea-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-textarea', - }, - ); + .click(); + cy.get('#input-box-textarea').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-textarea-focus`, + ); + cy.get('#input-box-textarea').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-textarea-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-textarea', + }, + ); }); it('should properly focus a select input box', () => { @@ -61,18 +62,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-select select') - .select(1) - .get('#input-box-select') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-select-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-select-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-select', - }, - ); + .select(1); + cy.get('#input-box-select').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-select-focus`, + ); + cy.get('#input-box-select').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-select-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-select', + }, + ); }); it('should properly focus a input box with buttons', () => { @@ -80,18 +80,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-button-multiple input') - .click() - .get('#input-box-button-multiple') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-multiple-buttons-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-multiple-buttons-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-button-multiple', - }, - ); + .click(); + cy.get('#input-box-button-multiple').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-multiple-buttons-focus`, + ); + cy.get('#input-box-button-multiple').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-multiple-buttons-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-button-multiple', + }, + ); }); it('should properly focus a input box with an error', () => { @@ -99,18 +98,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-form-control-error input') - .click() - .get('#input-box-form-control-error') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-error-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-error-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-form-control-error', - }, - ); + .click(); + cy.get('#input-box-form-control-error').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-error-focus`, + ); + cy.get('#input-box-form-control-error').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-error-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-form-control-error', + }, + ); }); it('should properly focus a input box with a left button', () => { @@ -118,18 +116,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-button-single-left input') - .click() - .get('#input-box-button-single-left') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-left-button-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-left-button-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-button-single-left', - }, - ); + .click(); + cy.get('#input-box-button-single-left').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-left-button-focus`, + ); + cy.get('#input-box-button-single-left').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-left-button-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-button-single-left', + }, + ); }); it('should properly focus a input box with an inset button', () => { @@ -137,18 +134,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-button-inset input') - .click() - .get('#input-box-button-inset') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-button-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-button-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-button-inset', - }, - ); + .click(); + cy.get('#input-box-button-inset').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-button-focus`, + ); + cy.percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-button-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-button-inset', + }, + ); }); it('should properly focus a input box with an inset icon', () => { @@ -156,18 +152,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-icon-inset input') - .click() - .get('#input-box-icon-inset') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-icon-inset', - }, - ); + .click(); + cy.get('#input-box-icon-inset').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-focus`, + ); + cy.get('#input-box-icon-inset').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-icon-inset', + }, + ); }); it('should properly focus a input box with an inset icon on left', () => { @@ -175,18 +170,17 @@ describe('forms-storybook - input box', () => { .should('exist') .should('be.visible') .get('#input-box-icon-inset-left input') - .click() - .get('#input-box-icon-inset-left') - .screenshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-left-focus`, - ) - .percySnapshot( - `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-left-focus`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - scope: '#input-box-icon-inset-left', - }, - ); + .click(); + cy.get('#input-box-icon-inset-left').screenshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-left-focus`, + ); + cy.get('#input-box-icon-inset-left').percySnapshot( + `inputboxcomponent-inputbox--input-box-${theme}-inset-icon-left-focus`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + scope: '#input-box-icon-inset-left', + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/radio-button.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/radio-button.component.cy.ts index 6247107710..c65dc9700d 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/radio-button.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/radio-button.component.cy.ts @@ -13,13 +13,15 @@ describe('forms-storybook - radio button', () => { cy.get('app-radio-button') .should('exist') .should('be.visible') - .screenshot(`radiobuttoncomponent-radiobutton--radio-button-${theme}`) - .percySnapshot( + .screenshot( `radiobuttoncomponent-radiobutton--radio-button-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-radio-button').percySnapshot( + `radiobuttoncomponent-radiobutton--radio-button-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/selection-box.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/selection-box.component.cy.ts index a9e019523f..6a520231af 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/selection-box.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/selection-box.component.cy.ts @@ -21,9 +21,9 @@ describe('forms-storybook', () => { el.get(0).ownerDocument.defaultView?.dispatchEvent( new Event('resize'), ); - }) - .end() - .get('app-selection-box label.sky-selection-box') + }); + + cy.get('app-selection-box label.sky-selection-box') .should('exist') .should('be.visible') .should('have.length', 6) @@ -31,25 +31,24 @@ describe('forms-storybook', () => { el.each((_, box) => { cy.wrap(Cypress.$(box).outerHeight()).should('be.gte', 83); }); - }) - .end() - .get('app-selection-box sky-selection-box-header') + }); + + cy.get('app-selection-box sky-selection-box-header') .should('contain.text', 'Icon') .should('contain.text', 'No icon') .should('contain.text', 'Icon no description') .should('contain.text', 'No icon no description') - .should('contain.text', 'Disabled') - .end() - .window() - .screenshot( - `selectionboxcomponent-selectionbox--selection-box-${theme}`, - ) - .percySnapshot( - `selectionboxcomponent-selectionbox--selection-box-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .should('contain.text', 'Disabled'); + + cy.window().screenshot( + `selectionboxcomponent-selectionbox--selection-box-${theme}`, + ); + cy.window().percySnapshot( + `selectionboxcomponent-selectionbox--selection-box-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/single-file-attachment.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/single-file-attachment.component.cy.ts index ca0947f56d..ac2a8131f3 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/single-file-attachment.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/single-file-attachment.component.cy.ts @@ -14,13 +14,13 @@ describe('forms-storybook - single file attachment', () => { .should('be.visible') .screenshot( `singlefileattachmentcomponent-singlefileattachment--single-file-attachment-${theme}`, - ) - .percySnapshot( - `singlefileattachmentcomponent-singlefileattachment--single-file-attachment-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-single-file-attachment').percySnapshot( + `singlefileattachmentcomponent-singlefileattachment--single-file-attachment-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook-e2e/src/e2e/toggle-switch.component.cy.ts b/apps/e2e/forms-storybook-e2e/src/e2e/toggle-switch.component.cy.ts index bfb1e4987f..5e1f7078bb 100644 --- a/apps/e2e/forms-storybook-e2e/src/e2e/toggle-switch.component.cy.ts +++ b/apps/e2e/forms-storybook-e2e/src/e2e/toggle-switch.component.cy.ts @@ -14,13 +14,13 @@ describe('forms-storybook - toggle switch', () => { .should('be.visible') .screenshot( `toggleswitchcomponent-toggleswitch--toggle-switch-${theme}`, - ) - .percySnapshot( - `toggleswitchcomponent-toggleswitch--toggle-switch-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-toggle-switch').percySnapshot( + `toggleswitchcomponent-toggleswitch--toggle-switch-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/forms-storybook/project.json b/apps/e2e/forms-storybook/project.json index 70e7b4dd94..ac7813b52a 100644 --- a/apps/e2e/forms-storybook/project.json +++ b/apps/e2e/forms-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/forms-storybook/**/*.ts", - "apps/e2e/forms-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/indicators-storybook-e2e/project.json b/apps/e2e/indicators-storybook-e2e/project.json index ac315f9a2c..0b5bfe34f0 100644 --- a/apps/e2e/indicators-storybook-e2e/project.json +++ b/apps/e2e/indicators-storybook-e2e/project.json @@ -21,9 +21,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/indicators-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/alert.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/alert.component.cy.ts index 553cd1ae17..9a1f37523e 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/alert.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/alert.component.cy.ts @@ -12,8 +12,10 @@ describe(`indicators-storybook`, () => { cy.get('app-alert') .should('exist') .should('be.visible') - .screenshot(`alertcomponent-alert--alert-${theme}`) - .percySnapshot(`alertcomponent-alert--alert-${theme}`); + .screenshot(`alertcomponent-alert--alert-${theme}`); + cy.get('app-alert').percySnapshot( + `alertcomponent-alert--alert-${theme}`, + ); for (const x of ['info', 'success', 'warning', 'danger']) { cy.get( `[ng-reflect-alert-type="${x}"][ng-reflect-closeable="true"] > .sky-alert > .sky-alert-close`, diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/chevron.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/chevron.component.cy.ts index b2c29018de..c53ac52613 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/chevron.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/chevron.component.cy.ts @@ -12,10 +12,13 @@ describe('indicators-storybook - chevron', () => { cy.get('app-chevron') .should('exist') .should('be.visible') - .screenshot(`chevroncomponent-chevron--chevron-${theme}`) - .percySnapshot(`chevroncomponent-chevron--chevron-${theme}`, { + .screenshot(`chevroncomponent-chevron--chevron-${theme}`); + cy.get('app-chevron').percySnapshot( + `chevroncomponent-chevron--chevron-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/expansion-indicator.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/expansion-indicator.component.cy.ts index 2156052c8d..ac21034a1b 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/expansion-indicator.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/expansion-indicator.component.cy.ts @@ -14,13 +14,13 @@ describe('indicators-storybook - expansion indicator', () => { .should('be.visible') .screenshot( `expansionindicatorcomponent-expansionindicator--expansion-indicator-${theme}`, - ) - .percySnapshot( - `expansionindicatorcomponent-expansionindicator--expansion-indicator-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-expansion-indicator').percySnapshot( + `expansionindicatorcomponent-expansionindicator--expansion-indicator-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/help-inline.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/help-inline.component.cy.ts index b9194e4414..1b573a5eb8 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/help-inline.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/help-inline.component.cy.ts @@ -12,13 +12,13 @@ describe('indicators-storybook', () => { cy.get('app-help-inline') .should('exist') .should('be.visible') - .screenshot(`helpinlinecomponent-helpinline--help-inline-${theme}`) - .percySnapshot( - `helpinlinecomponent-helpinline--help-inline-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .screenshot(`helpinlinecomponent-helpinline--help-inline-${theme}`); + cy.get('app-help-inline').percySnapshot( + `helpinlinecomponent-helpinline--help-inline-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/icon.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/icon.component.cy.ts index 661ca14320..aab1755122 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/icon.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/icon.component.cy.ts @@ -15,10 +15,10 @@ describe('indicators-storybook', () => { .get('app-icon') .should('exist') .should('be.visible') - .screenshot(`iconcomponent-icon--icon-${theme}`) - .percySnapshot(`iconcomponent-icon--icon-${theme}`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(`iconcomponent-icon--icon-${theme}`); + cy.get('app-icon').percySnapshot(`iconcomponent-icon--icon-${theme}`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/key-info.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/key-info.component.cy.ts index a6ddcf8ce9..89f6ec75d8 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/key-info.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/key-info.component.cy.ts @@ -12,8 +12,10 @@ describe('indicators-storybook', () => { cy.get('app-key-info') .should('exist') .should('be.visible') - .screenshot(`keyinfocomponent-keyinfo--key-info-${theme}`) - .percySnapshot(`keyinfocomponent-keyinfo--key-info-${theme}`); + .screenshot(`keyinfocomponent-keyinfo--key-info-${theme}`); + cy.get('app-key-info').percySnapshot( + `keyinfocomponent-keyinfo--key-info-${theme}`, + ); for (const x of ['vertical', 'horizontal']) { cy.get(`.${x}-key-info`).should('exist').should('be.visible'); } diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/label.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/label.component.cy.ts index 20b763201c..5796f9cf6e 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/label.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/label.component.cy.ts @@ -12,8 +12,10 @@ describe(`indicators-storybook`, () => { cy.get('app-label') .should('exist') .should('be.visible') - .screenshot(`labelcomponent-label--label-${theme}`) - .percySnapshot(`labelcomponent-label--label-${theme}`); + .screenshot(`labelcomponent-label--label-${theme}`); + cy.get('app-label').percySnapshot( + `labelcomponent-label--label-${theme}`, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/status-indicator.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/status-indicator.component.cy.ts index 0dc84cb2df..aebbc96c0e 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/status-indicator.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/status-indicator.component.cy.ts @@ -14,13 +14,13 @@ describe('indicators-storybook', () => { .should('be.visible') .screenshot( `statusindicatorcomponent-statusindicator--status-indicator-${theme}`, - ) - .percySnapshot( - `statusindicatorcomponent-statusindicator--status-indicator-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-status-indicator').percySnapshot( + `statusindicatorcomponent-statusindicator--status-indicator-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/text-highlight.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/text-highlight.component.cy.ts index 25d3305eb1..65a704e75f 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/text-highlight.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/text-highlight.component.cy.ts @@ -14,13 +14,13 @@ describe('indicators-storybook - text-highlight', () => { .should('be.visible') .screenshot( `texthighlightcomponent-texthighlight--text-highlight-${theme}`, - ) - .percySnapshot( - `texthighlightcomponent-texthighlight--text-highlight-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-text-highlight').percySnapshot( + `texthighlightcomponent-texthighlight--text-highlight-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/tokens.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/tokens.component.cy.ts index 7d6afcbf16..28741195b4 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/tokens.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/tokens.component.cy.ts @@ -16,12 +16,16 @@ describe('indicators-storybook', () => { .get( 'sky-tokens:first-child sky-token:first-child .sky-token-btn-action', ) - .click() - .get('app-tokens') - .screenshot(`tokenscomponent-tokens--tokens-${theme}`) - .percySnapshot(`tokenscomponent-tokens--tokens-${theme}`, { + .click(); + cy.get('app-tokens').screenshot( + `tokenscomponent-tokens--tokens-${theme}`, + ); + cy.get('app-tokens').percySnapshot( + `tokenscomponent-tokens--tokens-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook-e2e/src/e2e/wait.component.cy.ts b/apps/e2e/indicators-storybook-e2e/src/e2e/wait.component.cy.ts index b0e1de4eaf..c65a8898eb 100644 --- a/apps/e2e/indicators-storybook-e2e/src/e2e/wait.component.cy.ts +++ b/apps/e2e/indicators-storybook-e2e/src/e2e/wait.component.cy.ts @@ -13,10 +13,13 @@ describe('indicators-storybook', () => { cy.get('app-wait') .should('exist') .should('be.visible') - .screenshot(`waitcomponent-wait--wait-${theme}`) - .percySnapshot(`waitcomponent-wait--wait-${theme}`, { + .screenshot(`waitcomponent-wait--wait-${theme}`); + cy.get('app-wait').percySnapshot( + `waitcomponent-wait--wait-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); @@ -30,10 +33,13 @@ describe('indicators-storybook', () => { cy.get('app-wait') .should('exist') .should('be.visible') - .screenshot(`waitcomponent-wait--wait-page-blocking-${theme}`) - .percySnapshot(`waitcomponent-wait--wait-page-blocking-${theme}`, { + .screenshot(`waitcomponent-wait--wait-page-blocking-${theme}`); + cy.get('app-wait').percySnapshot( + `waitcomponent-wait--wait-page-blocking-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/indicators-storybook/project.json b/apps/e2e/indicators-storybook/project.json index d3186f93e2..b1474df4d4 100644 --- a/apps/e2e/indicators-storybook/project.json +++ b/apps/e2e/indicators-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/indicators-storybook/**/*.ts", - "apps/e2e/indicators-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/inline-form-storybook-e2e/project.json b/apps/e2e/inline-form-storybook-e2e/project.json index f7855428f6..743105be1b 100644 --- a/apps/e2e/inline-form-storybook-e2e/project.json +++ b/apps/e2e/inline-form-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/inline-form-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/inline-form-storybook-e2e/src/e2e/inline-form.component.cy.ts b/apps/e2e/inline-form-storybook-e2e/src/e2e/inline-form.component.cy.ts index 26c7390eff..7537a55f40 100644 --- a/apps/e2e/inline-form-storybook-e2e/src/e2e/inline-form.component.cy.ts +++ b/apps/e2e/inline-form-storybook-e2e/src/e2e/inline-form.component.cy.ts @@ -13,13 +13,13 @@ describe('inline-form-storybook', () => { .should('be.visible') .screenshot( `inlineformcomponent-inlineform--inline-form-closed-${theme}`, - ) - .percySnapshot( - `inlineformcomponent-inlineform--inline-form-closed-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-inline-form').percySnapshot( + `inlineformcomponent-inlineform--inline-form-closed-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); [ 'custom', @@ -41,19 +41,17 @@ describe('inline-form-storybook', () => { .last() .should('exist') .should('be.visible') - .click() - .end(); + .click(); - cy.get('app-inline-form') - .screenshot( - `inlineformcomponent-inlineform--inline-form-${buttonCombo}-buttons-${theme}`, - ) - .percySnapshot( - `inlineformcomponent-inlineform--inline-form-${buttonCombo}-buttons-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-inline-form').screenshot( + `inlineformcomponent-inlineform--inline-form-${buttonCombo}-buttons-${theme}`, + ); + cy.get('app-inline-form').percySnapshot( + `inlineformcomponent-inlineform--inline-form-${buttonCombo}-buttons-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/inline-form-storybook/project.json b/apps/e2e/inline-form-storybook/project.json index 3c15e57de2..ccf2f40a5a 100644 --- a/apps/e2e/inline-form-storybook/project.json +++ b/apps/e2e/inline-form-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/inline-form-storybook/**/*.ts", - "apps/e2e/inline-form-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/layout-storybook-e2e/project.json b/apps/e2e/layout-storybook-e2e/project.json index f9fedac5cb..817d87913d 100644 --- a/apps/e2e/layout-storybook-e2e/project.json +++ b/apps/e2e/layout-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/layout-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/action-button.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/action-button.component.cy.ts index c3d9912d44..d85d070058 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/action-button.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/action-button.component.cy.ts @@ -14,10 +14,10 @@ describe('layout-storybook - action button', () => { cy.get('app-action-button') .should('exist') .should('be.visible') - .screenshot(screenshotPrefix) - .percySnapshot(screenshotPrefix, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(screenshotPrefix); + cy.get('app-action-button').percySnapshot(screenshotPrefix, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); it('should render in a medium modal', () => { @@ -29,18 +29,18 @@ describe('layout-storybook - action button', () => { .get('.action-button-open-modal') .should('exist') .should('be.visible') - .click() - .end() - .get('.sky-modal') + .click(); + + cy.get('.sky-modal') .should('exist') .should('be.visible') .screenshot(screenshotName, { disableTimersAndAnimations: true, scale: false, - }) - .percySnapshot(screenshotName, { - widths: E2eVariations.DISPLAY_WIDTHS, }); + cy.get('.sky-modal').percySnapshot(screenshotName, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); it('should render the component on mobile', () => { @@ -50,10 +50,10 @@ describe('layout-storybook - action button', () => { cy.get('app-action-button') .should('exist') .should('be.visible') - .screenshot(screenshotName) - .percySnapshot(screenshotName, { - widths: E2eVariations.MOBILE_WIDTHS, - }); + .screenshot(screenshotName); + cy.get('app-action-button').percySnapshot(screenshotName, { + widths: E2eVariations.MOBILE_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/back-to-top.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/back-to-top.component.cy.ts index 9aa86f1d1f..99006bdcec 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/back-to-top.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/back-to-top.component.cy.ts @@ -20,10 +20,13 @@ describe('layout-storybook', () => { .get('app-back-to-top') .should('exist') .should('be.visible') - .screenshot(`backtotopcomponent-backtotop--back-to-top-${theme}`) - .percySnapshot(`backtotopcomponent-backtotop--back-to-top-${theme}`, { + .screenshot(`backtotopcomponent-backtotop--back-to-top-${theme}`); + cy.get('app-back-to-top').percySnapshot( + `backtotopcomponent-backtotop--back-to-top-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/box.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/box.component.cy.ts index a637854b03..01005c90b9 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/box.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/box.component.cy.ts @@ -15,10 +15,10 @@ describe('layout-storybook', () => { .get('app-box') .should('exist') .should('be.visible') - .screenshot(`boxcomponent-box--box-${theme}`) - .percySnapshot(`boxcomponent-box--box-${theme}`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(`boxcomponent-box--box-${theme}`); + cy.get('app-box').percySnapshot(`boxcomponent-box--box-${theme}`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/description-list.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/description-list.component.cy.ts index 7a6bd37f40..0082cfc789 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/description-list.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/description-list.component.cy.ts @@ -20,13 +20,13 @@ describe('layout-storybook - description-list', () => { .should('be.visible') .screenshot( `descriptionlistcomponent-descriptionlist--description-list-${width}-${theme}`, - ) - .percySnapshot( - `descriptionlistcomponent-descriptionlist--description-list-${width}-${theme}`, - { - widths: [width], - }, ); + cy.percySnapshot( + `descriptionlistcomponent-descriptionlist--description-list-${width}-${theme}`, + { + widths: [width], + }, + ); }); }); }, diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/fluid-grid.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/fluid-grid.component.cy.ts index 8b69e467cb..6495975798 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/fluid-grid.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/fluid-grid.component.cy.ts @@ -18,13 +18,13 @@ describe('layout-storybook - fluid-grid', () => { .should('be.visible') .screenshot( `fluidgridcomponent-fluidgrid--fluid-grid-${theme}-${width}`, - ) - .percySnapshot( - `fluidgridcomponent-fluidgrid--fluid-grid-${theme}-${width}`, - { - widths: [width], - }, ); + cy.percySnapshot( + `fluidgridcomponent-fluidgrid--fluid-grid-${theme}-${width}`, + { + widths: [width], + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/inline-delete.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/inline-delete.component.cy.ts index f32056713f..dd40472883 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/inline-delete.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/inline-delete.component.cy.ts @@ -17,10 +17,10 @@ describe('inline delete', () => { .should('exist') .end() .get('body') - .screenshot(`inline-delete-${theme}`) - .percySnapshot(`inline-delete-${theme}`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(`inline-delete-${theme}`); + cy.get('body').percySnapshot(`inline-delete-${theme}`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/page.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/page.component.cy.ts index cd0cb4f90f..cd0fc4e0e1 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/page.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/page.component.cy.ts @@ -13,10 +13,13 @@ describe('layout-storybook', () => { cy.get('.screenshot-area') .should('exist') .should('be.visible') - .screenshot(`pagecomponent-page--page-layout-fit-${theme}`) - .percySnapshot(`pagecomponent-page--page-layout-fit-${theme}`, { + .screenshot(`pagecomponent-page--page-layout-fit-${theme}`); + cy.get('.screenshot-area').percySnapshot( + `pagecomponent-page--page-layout-fit-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/text-expand-repeater.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/text-expand-repeater.component.cy.ts index da85d98c49..137ec985a3 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/text-expand-repeater.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/text-expand-repeater.component.cy.ts @@ -9,22 +9,20 @@ describe('layout-storybook - text expand repeater', () => { ), ); it('should render the component', () => { - cy.get('.sky-text-expand-repeater-see-more') - .last() - .click() - .end() - .get('app-text-expand-repeater') + cy.get('.sky-text-expand-repeater-see-more').last().click(); + + cy.get('app-text-expand-repeater') .should('exist') .should('be.visible') .screenshot( `textexpandrepeatercomponent-textexpandrepeater--text-expand-repeater-${theme}`, - ) - .percySnapshot( - `textexpandrepeatercomponent-textexpandrepeater--text-expand-repeater-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.percySnapshot( + `textexpandrepeatercomponent-textexpandrepeater--text-expand-repeater-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/text-expand.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/text-expand.component.cy.ts index f44070bfc7..5fcfb21a21 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/text-expand.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/text-expand.component.cy.ts @@ -11,23 +11,19 @@ describe('layout-storybook', () => { ), ); it('should render the component', () => { - cy.get('.sky-text-expand-see-more') - .first() - .click() - .end() - .get('.sky-text-expand-see-more') - .last() - .click() - .get('app-text-expand') + cy.get('.sky-text-expand-see-more').first().click(); + + cy.get('.sky-text-expand-see-more').last().click(); + cy.get('app-text-expand') .should('exist') .should('be.visible') - .screenshot(`textexpandcomponent-textexpand--text-expand-${theme}`) - .percySnapshot( - `textexpandcomponent-textexpand--text-expand-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .screenshot(`textexpandcomponent-textexpand--text-expand-${theme}`); + cy.percySnapshot( + `textexpandcomponent-textexpand--text-expand-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook-e2e/src/e2e/toolbar.component.cy.ts b/apps/e2e/layout-storybook-e2e/src/e2e/toolbar.component.cy.ts index 73a653ea5e..5a9bf4ff5b 100644 --- a/apps/e2e/layout-storybook-e2e/src/e2e/toolbar.component.cy.ts +++ b/apps/e2e/layout-storybook-e2e/src/e2e/toolbar.component.cy.ts @@ -12,10 +12,13 @@ describe('layout-storybook', () => { cy.get('app-toolbar') .should('exist') .should('be.visible') - .screenshot(`toolbarcomponent-toolbar--toolbar-${theme}`) - .percySnapshot(`toolbarcomponent-toolbar--toolbar-${theme}`, { + .screenshot(`toolbarcomponent-toolbar--toolbar-${theme}`); + cy.get('app-toolbar').percySnapshot( + `toolbarcomponent-toolbar--toolbar-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/layout-storybook/project.json b/apps/e2e/layout-storybook/project.json index 53f72c6f21..47ae895860 100644 --- a/apps/e2e/layout-storybook/project.json +++ b/apps/e2e/layout-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/layout-storybook/**/*.ts", - "apps/e2e/layout-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/lists-storybook-e2e/project.json b/apps/e2e/lists-storybook-e2e/project.json index 659b74ff6d..b49a99e5e3 100644 --- a/apps/e2e/lists-storybook-e2e/project.json +++ b/apps/e2e/lists-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/lists-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/lists-storybook-e2e/src/e2e/filter.component.cy.ts b/apps/e2e/lists-storybook-e2e/src/e2e/filter.component.cy.ts index d2fa37375b..9626da0a86 100644 --- a/apps/e2e/lists-storybook-e2e/src/e2e/filter.component.cy.ts +++ b/apps/e2e/lists-storybook-e2e/src/e2e/filter.component.cy.ts @@ -17,10 +17,13 @@ describe('lists-storybook', () => { .should('exist') .end() .get('body') - .screenshot(`filtercomponent-filter--filter-${theme}`) - .percySnapshot(`filtercomponent-filter--filter-${theme}`, { + .screenshot(`filtercomponent-filter--filter-${theme}`); + cy.get('body').percySnapshot( + `filtercomponent-filter--filter-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/lists-storybook-e2e/src/e2e/infinite-scroll.component.cy.ts b/apps/e2e/lists-storybook-e2e/src/e2e/infinite-scroll.component.cy.ts index 14fe94c0a0..3085bf88a0 100644 --- a/apps/e2e/lists-storybook-e2e/src/e2e/infinite-scroll.component.cy.ts +++ b/apps/e2e/lists-storybook-e2e/src/e2e/infinite-scroll.component.cy.ts @@ -20,13 +20,13 @@ describe('lists-storybook - infinite-scroll', () => { .should('be.visible') .screenshot( `infinitescrollcomponent-infinitescroll--infinite-scroll-${style}-${theme}`, - ) - .percySnapshot( - `infinitescrollcomponent-infinitescroll--infinite-scroll-${style}-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-infinite-scroll').percySnapshot( + `infinitescrollcomponent-infinitescroll--infinite-scroll-${style}-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lists-storybook-e2e/src/e2e/paging.component.cy.ts b/apps/e2e/lists-storybook-e2e/src/e2e/paging.component.cy.ts index 32015faa00..bbd810f913 100644 --- a/apps/e2e/lists-storybook-e2e/src/e2e/paging.component.cy.ts +++ b/apps/e2e/lists-storybook-e2e/src/e2e/paging.component.cy.ts @@ -12,10 +12,13 @@ describe('lists-storybook - paging', () => { cy.get('app-paging') .should('exist') .should('be.visible') - .screenshot(`pagingcomponent-paging--paging-${theme}`) - .percySnapshot(`pagingcomponent-paging--paging-${theme}`, { + .screenshot(`pagingcomponent-paging--paging-${theme}`); + cy.get('app-paging').percySnapshot( + `pagingcomponent-paging--paging-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/lists-storybook-e2e/src/e2e/repeater.component.cy.ts b/apps/e2e/lists-storybook-e2e/src/e2e/repeater.component.cy.ts index 24c6b0f793..1888dcff53 100644 --- a/apps/e2e/lists-storybook-e2e/src/e2e/repeater.component.cy.ts +++ b/apps/e2e/lists-storybook-e2e/src/e2e/repeater.component.cy.ts @@ -12,10 +12,13 @@ describe('lists-storybook', () => { cy.get('app-repeater') .should('exist') .should('be.visible') - .screenshot(`repeatercomponent-repeater--repeater-${theme}`) - .percySnapshot(`repeatercomponent-repeater--repeater-${theme}`, { + .screenshot(`repeatercomponent-repeater--repeater-${theme}`); + cy.get('app-repeater').percySnapshot( + `repeatercomponent-repeater--repeater-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/lists-storybook-e2e/src/e2e/sort.component.cy.ts b/apps/e2e/lists-storybook-e2e/src/e2e/sort.component.cy.ts index 919b9b7322..32300088ff 100644 --- a/apps/e2e/lists-storybook-e2e/src/e2e/sort.component.cy.ts +++ b/apps/e2e/lists-storybook-e2e/src/e2e/sort.component.cy.ts @@ -22,10 +22,10 @@ describe('lists-storybook - sort', () => { cy.get('app-sort') .should('exist') .should('be.visible') - .screenshot(`sortcomponent-sort--sort-${theme}`) - .percySnapshot(`sortcomponent-sort--sort-${theme}`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(`sortcomponent-sort--sort-${theme}`); + cy.get('app-sort').percySnapshot(`sortcomponent-sort--sort-${theme}`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); sortVariations.forEach((sort) => { @@ -37,19 +37,19 @@ describe('lists-storybook - sort', () => { .get(`#${sort.id} .sky-dropdown-button`) .should('exist') .should('be.visible') - .click() - .get('.sky-dropdown-menu') + .click(); + cy.get('.sky-dropdown-menu') .should('exist') .should('be.visible') .screenshot( `sortcomponent-sort--open-sort-${textDescriptor}-text-${theme}`, - ) - .percySnapshot( - `sortcomponent-sort--open-sort-${textDescriptor}-text-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('.sky-dropdown-menu').percySnapshot( + `sortcomponent-sort--open-sort-${textDescriptor}-text-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lists-storybook/project.json b/apps/e2e/lists-storybook/project.json index b9ce654e87..0c8ec5417b 100644 --- a/apps/e2e/lists-storybook/project.json +++ b/apps/e2e/lists-storybook/project.json @@ -77,10 +77,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/lists-storybook/**/*.ts", - "apps/e2e/lists-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/lookup-storybook-e2e/project.json b/apps/e2e/lookup-storybook-e2e/project.json index 9f91163ec5..1676091a3b 100644 --- a/apps/e2e/lookup-storybook-e2e/project.json +++ b/apps/e2e/lookup-storybook-e2e/project.json @@ -24,9 +24,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/lookup-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/lookup-storybook-e2e/src/e2e/autocomplete.component.cy.ts b/apps/e2e/lookup-storybook-e2e/src/e2e/autocomplete.component.cy.ts index 4105f545c4..80acacca2d 100644 --- a/apps/e2e/lookup-storybook-e2e/src/e2e/autocomplete.component.cy.ts +++ b/apps/e2e/lookup-storybook-e2e/src/e2e/autocomplete.component.cy.ts @@ -9,19 +9,20 @@ describe('lookup-storybook', () => { ); cy.viewport(1300, 900).get('#ready').should('exist').end(); }); + it('should render the component', () => { cy.get('app-autocomplete') .should('exist') .should('be.visible') .screenshot( `autocompletecomponent-autocomplete--autocomplete-${theme}`, - ) - .percySnapshot( - `autocompletecomponent-autocomplete--autocomplete-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-autocomplete').percySnapshot( + `autocompletecomponent-autocomplete--autocomplete-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render the component with the dropdown', () => { @@ -31,20 +32,20 @@ describe('lookup-storybook', () => { .get('.sky-form-control') .should('exist') .should('be.visible') - .type('a') - .get('app-autocomplete') + .type('a'); + cy.get('app-autocomplete') .should('exist') .should('be.visible') .screenshot( `autocompletecomponent-autocomplete--autocomplete-dropdown-${theme}`, - ) - .percySnapshot( - `autocompletecomponent-autocomplete--autocomplete-dropdown-${theme}`, - { - minHeight: 900, - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-autocomplete').percySnapshot( + `autocompletecomponent-autocomplete--autocomplete-dropdown-${theme}`, + { + minHeight: 900, + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render the component with a selected result', () => { @@ -54,24 +55,19 @@ describe('lookup-storybook', () => { .get('.sky-form-control') .should('exist') .should('be.visible') - .type('a') - .get('.sky-autocomplete-result') - .first() - .click() - .get('app-autocomplete') - .should('exist') - .should('be.visible') - .click() - .screenshot( - `autocompletecomponent-autocomplete--autocomplete-selected-${theme}`, - ) - .percySnapshot( - `autocompletecomponent-autocomplete--autocomplete-seleted-${theme}`, - { - minHeight: 900, - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .type('a'); + cy.get('.sky-autocomplete-result').first().click(); + cy.get('app-autocomplete').should('exist').should('be.visible').click(); + cy.get('app-autocomplete').screenshot( + `autocompletecomponent-autocomplete--autocomplete-selected-${theme}`, + ); + cy.get('app-autocomplete').percySnapshot( + `autocompletecomponent-autocomplete--autocomplete-seleted-${theme}`, + { + minHeight: 900, + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render the component with no results', () => { @@ -81,20 +77,20 @@ describe('lookup-storybook', () => { .get('.sky-form-control') .should('exist') .should('be.visible') - .type('z') - .get('app-autocomplete') + .type('z'); + cy.get('app-autocomplete') .should('exist') .should('be.visible') .screenshot( `autocompletecomponent-autocomplete--autocomplete-no-results-${theme}`, - ) - .percySnapshot( - `autocompletecomponent-autocomplete--autocomplete-no-results-${theme}`, - { - minHeight: 900, - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-autocomplete').percySnapshot( + `autocompletecomponent-autocomplete--autocomplete-no-results-${theme}`, + { + minHeight: 900, + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lookup-storybook-e2e/src/e2e/country-field.component.cy.ts b/apps/e2e/lookup-storybook-e2e/src/e2e/country-field.component.cy.ts index 816a933ff2..a644979cab 100644 --- a/apps/e2e/lookup-storybook-e2e/src/e2e/country-field.component.cy.ts +++ b/apps/e2e/lookup-storybook-e2e/src/e2e/country-field.component.cy.ts @@ -12,22 +12,17 @@ describe('lookup-storybook', () => { .should('exist') .end(); cy.get('app-country-field').should('exist').should('be.visible'); - cy.get('textarea') - .should('exist') - .should('be.visible') - .type('ba') - .end(); + cy.get('textarea').should('exist').should('be.visible').type('ba'); - cy.get('app-country-field') - .screenshot( - `countryfieldcomponent-countryfield--country-field-dropdown-with-phone-info-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--country-field-dropdown-with-phone-info-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-country-field').screenshot( + `countryfieldcomponent-countryfield--country-field-dropdown-with-phone-info-${theme}`, + ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--country-field-dropdown-with-phone-info-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); [ @@ -54,13 +49,13 @@ describe('lookup-storybook', () => { .should('be.visible') .screenshot( `countryfieldcomponent-countryfield--${mode}-country-field-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--${mode}-country-field-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--${mode}-country-field-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); @@ -75,72 +70,61 @@ describe('lookup-storybook', () => { ); it('should render input box with focus', () => { cy.get('app-country-field').should('exist').should('be.visible'); - cy.get('textarea').should('exist').should('be.visible').click().end(); + cy.get('textarea').should('exist').should('be.visible').click(); - cy.get('app-country-field') - .screenshot( - `countryfieldcomponent-countryfield--country-field-input-box-focus-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--country-field-input-box-focus-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-country-field').screenshot( + `countryfieldcomponent-countryfield--country-field-input-box-focus-${theme}`, + ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--country-field-input-box-focus-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render input dropdown', () => { cy.get('app-country-field').should('exist').should('be.visible'); - cy.get('textarea') - .should('exist') - .should('be.visible') - .type('ba') - .end(); + cy.get('textarea').should('exist').should('be.visible').type('ba'); - cy.get('app-country-field') - .screenshot( - `countryfieldcomponent-countryfield--country-field-dropdown-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--country-field-dropdown-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-country-field').screenshot( + `countryfieldcomponent-countryfield--country-field-dropdown-${theme}`, + ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--country-field-dropdown-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render input dropdown when no results', () => { cy.get('app-country-field').should('exist').should('be.visible'); - cy.get('textarea') - .should('exist') - .should('be.visible') - .type('foo') - .end(); + cy.get('textarea').should('exist').should('be.visible').type('foo'); - cy.get('app-country-field') - .screenshot( - `countryfieldcomponent-countryfield--country-field-dropdown-empty-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--country-field-dropdown-empty-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-country-field').screenshot( + `countryfieldcomponent-countryfield--country-field-dropdown-empty-${theme}`, + ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--country-field-dropdown-empty-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render input box with error', () => { cy.get('app-country-field').should('exist').should('be.visible'); - cy.get('textarea').should('exist').should('be.visible').click().end(); - cy.get('textarea').focus().blur().end(); + cy.get('textarea').should('exist').should('be.visible').click(); + cy.get('textarea').focus(); + cy.get('textarea').blur(); - cy.get('app-country-field') - .screenshot( - `countryfieldcomponent-countryfield--country-field-input-box-error-${theme}`, - ) - .percySnapshot( - `countryfieldcomponent-countryfield--country-field-input-box-error-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-country-field').screenshot( + `countryfieldcomponent-countryfield--country-field-input-box-error-${theme}`, + ); + cy.get('app-country-field').percySnapshot( + `countryfieldcomponent-countryfield--country-field-input-box-error-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lookup-storybook-e2e/src/e2e/lookup.component.cy.ts b/apps/e2e/lookup-storybook-e2e/src/e2e/lookup.component.cy.ts index d7431fc0c7..ddd45c2086 100644 --- a/apps/e2e/lookup-storybook-e2e/src/e2e/lookup.component.cy.ts +++ b/apps/e2e/lookup-storybook-e2e/src/e2e/lookup.component.cy.ts @@ -24,13 +24,13 @@ describe('lookup-storybook', () => { cy.get('app-lookup') .should('exist') .should('be.visible') - .screenshot(`lookupcomponent-lookup--lookup-${mode}-${theme}`) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .screenshot(`lookupcomponent-lookup--lookup-${mode}-${theme}`); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); @@ -51,23 +51,21 @@ describe('lookup-storybook', () => { .first() .should('exist') .should('be.visible') - .type('b') - .end(); + .type('b'); cy.get('.sky-autocomplete-results-container') .should('exist') .should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-with-filtering-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-with-filtering-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-with-filtering-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-with-filtering-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render show more dropdown without filtering', () => { cy.get('app-lookup').should('exist').should('be.visible'); @@ -76,23 +74,21 @@ describe('lookup-storybook', () => { .eq(4) .should('exist') .should('be.visible') - .click() - .end(); + .click(); cy.get('.sky-autocomplete-results-container') .should('exist') .should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-filtering-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-filtering-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-filtering-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-filtering-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render show more dropdown with no results', () => { cy.get('app-lookup').should('exist').should('be.visible'); @@ -101,23 +97,21 @@ describe('lookup-storybook', () => { .first() .should('exist') .should('be.visible') - .type('foo') - .end(); + .type('foo'); cy.get('.sky-autocomplete-results-container') .should('exist') .should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-results-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-results-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-results-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-no-results-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render show more dropdown add button', () => { cy.get('app-lookup').should('exist').should('be.visible'); @@ -132,16 +126,15 @@ describe('lookup-storybook', () => { .should('exist') .should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-add-more-button-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-add-more-button-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-add-more-button-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-dropdown-add-more-button-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); describe('in show more modal', () => { it('should open and render modal', () => { @@ -160,16 +153,15 @@ describe('lookup-storybook', () => { cy.get('.sky-modal').should('exist').should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should open and render modal with add more', () => { cy.get('app-lookup').should('exist').should('be.visible'); @@ -187,16 +179,15 @@ describe('lookup-storybook', () => { cy.get('.sky-modal').should('exist').should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-add-more-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-add-more-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-add-more-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-add-more-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should open and render modal with preselected values', () => { cy.get('app-lookup').should('exist').should('be.visible'); @@ -214,16 +205,15 @@ describe('lookup-storybook', () => { cy.get('.sky-modal').should('exist').should('be.visible'); - cy.get('app-lookup') - .screenshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-preselected-values-${theme}`, - ) - .percySnapshot( - `lookupcomponent-lookup--lookup-${mode}-show-more-modal-preselected-values-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + cy.get('app-lookup').screenshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-preselected-values-${theme}`, + ); + cy.get('app-lookup').percySnapshot( + `lookupcomponent-lookup--lookup-${mode}-show-more-modal-preselected-values-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lookup-storybook-e2e/src/e2e/search.component.cy.ts b/apps/e2e/lookup-storybook-e2e/src/e2e/search.component.cy.ts index fd4ffc10b5..f9533eac01 100644 --- a/apps/e2e/lookup-storybook-e2e/src/e2e/search.component.cy.ts +++ b/apps/e2e/lookup-storybook-e2e/src/e2e/search.component.cy.ts @@ -16,10 +16,13 @@ describe('lookup-storybook', () => { cy.get('app-search') .should('exist') .should('be.visible') - .screenshot(`searchcomponent-search--search-${theme}`) - .percySnapshot(`searchcomponent-search--search-${theme}`, { + .screenshot(`searchcomponent-search--search-${theme}`); + cy.get('app-search').percySnapshot( + `searchcomponent-search--search-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); it('should render the component collapsed on mobile', () => { @@ -27,10 +30,13 @@ describe('lookup-storybook', () => { cy.get('app-search') .should('exist') .should('be.visible') - .screenshot(`searchcomponent-search--search-${theme}-mobile`) - .percySnapshot(`searchcomponent-search--search-${theme}-mobile`, { + .screenshot(`searchcomponent-search--search-${theme}-mobile`); + cy.get('app-search').percySnapshot( + `searchcomponent-search--search-${theme}-mobile`, + { widths: E2eVariations.MOBILE_WIDTHS, - }); + }, + ); }); it('should render the component collapsed on mobile', () => { @@ -39,17 +45,17 @@ describe('lookup-storybook', () => { .should('exist') .should('be.visible') .get('#filled-search .sky-search-btn-open') - .click() - .get('#empty-search .sky-search-btn-open') - .click() - .get('app-search') - .screenshot(`searchcomponent-search--search-${theme}-mobile-open`) - .percySnapshot( - `searchcomponent-search--search-${theme}-mobile-open`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, - ); + .click(); + cy.get('#empty-search .sky-search-btn-open').click(); + cy.get('app-search').screenshot( + `searchcomponent-search--search-${theme}-mobile-open`, + ); + cy.get('app-search').percySnapshot( + `searchcomponent-search--search-${theme}-mobile-open`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/lookup-storybook/project.json b/apps/e2e/lookup-storybook/project.json index 6bcb83af87..8ded0f250c 100644 --- a/apps/e2e/lookup-storybook/project.json +++ b/apps/e2e/lookup-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/lookup-storybook/**/*.ts", - "apps/e2e/lookup-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/modals-storybook-e2e/project.json b/apps/e2e/modals-storybook-e2e/project.json index 85f0cf5d57..9ac47a99de 100644 --- a/apps/e2e/modals-storybook-e2e/project.json +++ b/apps/e2e/modals-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/modals-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/modals-storybook-e2e/src/e2e/confirm.component.cy.ts b/apps/e2e/modals-storybook-e2e/src/e2e/confirm.component.cy.ts index 6b921a13fd..122b3b1756 100644 --- a/apps/e2e/modals-storybook-e2e/src/e2e/confirm.component.cy.ts +++ b/apps/e2e/modals-storybook-e2e/src/e2e/confirm.component.cy.ts @@ -15,12 +15,14 @@ describe(`modals-storybook`, () => { .get('.open-ok-confirm-btn') .should('exist') .should('be.visible') - .click() - .get('.sky-modal') + .click(); + cy.get('.sky-modal') .should('exist') .should('be.visible') - .screenshot(`confirmcomponent-confirm--confirm-ok-${theme}`) - .percySnapshot(`confirmcomponent-confirm--confirm-ok-${theme}`); + .screenshot(`confirmcomponent-confirm--confirm-ok-${theme}`); + cy.get('.sky-modal').percySnapshot( + `confirmcomponent-confirm--confirm-ok-${theme}`, + ); }); it('should render the Custom component', () => { @@ -30,12 +32,14 @@ describe(`modals-storybook`, () => { .get('.open-custom-confirm-btn') .should('exist') .should('be.visible') - .click() - .get('.sky-modal') + .click(); + cy.get('.sky-modal') .should('exist') .should('be.visible') - .screenshot(`confirmcomponent-confirm--confirm-custom-${theme}`) - .percySnapshot(`confirmcomponent-confirm--confirm-custom-${theme}`); + .screenshot(`confirmcomponent-confirm--confirm-custom-${theme}`); + cy.get('.sky-modal').percySnapshot( + `confirmcomponent-confirm--confirm-custom-${theme}`, + ); }); }); }); diff --git a/apps/e2e/modals-storybook-e2e/src/e2e/modal.component.cy.ts b/apps/e2e/modals-storybook-e2e/src/e2e/modal.component.cy.ts index 5905cfac65..655838ba41 100644 --- a/apps/e2e/modals-storybook-e2e/src/e2e/modal.component.cy.ts +++ b/apps/e2e/modals-storybook-e2e/src/e2e/modal.component.cy.ts @@ -22,43 +22,41 @@ describe('modals-storybook', () => { cy.get(`.open-${modalType}-modal-btn`) .should('exist') .should('be.visible') - .click() - .end() - .get('.sky-modal') - .should('exist') - .should('be.visible'); + .click(); + + cy.get('.sky-modal').should('exist').should('be.visible'); if (modalType === 'full-page') { // Full page modals fit the viewport, which conflicts with how Cypress determines element screenshot bounds. - cy.window() - .screenshot(`modalcomponent-modal--${modalType}-modal-${theme}`, { + cy.window().screenshot( + `modalcomponent-modal--${modalType}-modal-${theme}`, + { disableTimersAndAnimations: true, scale: false, capture: 'viewport', - }) - .percySnapshot( - `modalcomponent-modal--${modalType}-modal-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + }, + ); + cy.window().percySnapshot( + `modalcomponent-modal--${modalType}-modal-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); } else { - cy.get('.sky-modal') - .screenshot(`modalcomponent-modal--${modalType}-modal-${theme}`, { + cy.get('.sky-modal').screenshot( + `modalcomponent-modal--${modalType}-modal-${theme}`, + { disableTimersAndAnimations: true, scale: false, - }) - .percySnapshot( - `modalcomponent-modal--${modalType}-modal-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + }, + ); + cy.get('.sky-modal').percySnapshot( + `modalcomponent-modal--${modalType}-modal-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); } - cy.get('.sky-btn-close') - .should('exist') - .should('be.visible') - .click() - .end(); + cy.get('.sky-btn-close').should('exist').should('be.visible').click(); }); it(`should render the ${modalType} modal on mobile`, () => { @@ -67,9 +65,9 @@ describe('modals-storybook', () => { cy.get(`.open-${modalType}-modal-btn`) .should('exist') .should('be.visible') - .click() - .end() - .get('.sky-modal') + .click(); + + cy.get('.sky-modal') .should('exist') .should('be.visible') .window() @@ -79,18 +77,14 @@ describe('modals-storybook', () => { disableTimersAndAnimations: true, scale: false, }, - ) - .percySnapshot( - `modalcomponent-modal--${modalType}-modal-${theme}-mobile`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, - ) - .get('.sky-btn-close') - .should('exist') - .should('be.visible') - .click() - .end(); + ); + cy.window().percySnapshot( + `modalcomponent-modal--${modalType}-modal-${theme}-mobile`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); + cy.get('.sky-btn-close').should('exist').should('be.visible').click(); }); } }); diff --git a/apps/e2e/modals-storybook/project.json b/apps/e2e/modals-storybook/project.json index fd7eca3703..117cc95503 100644 --- a/apps/e2e/modals-storybook/project.json +++ b/apps/e2e/modals-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/modals-storybook/**/*.ts", - "apps/e2e/modals-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/navbar-storybook-e2e/project.json b/apps/e2e/navbar-storybook-e2e/project.json index 5eec7475cc..3eaefc9c59 100644 --- a/apps/e2e/navbar-storybook-e2e/project.json +++ b/apps/e2e/navbar-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/navbar-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/navbar-storybook-e2e/src/e2e/navbar.component.cy.ts b/apps/e2e/navbar-storybook-e2e/src/e2e/navbar.component.cy.ts index f3146dbe9e..65532ffa6a 100644 --- a/apps/e2e/navbar-storybook-e2e/src/e2e/navbar.component.cy.ts +++ b/apps/e2e/navbar-storybook-e2e/src/e2e/navbar.component.cy.ts @@ -21,11 +21,13 @@ describe('navbar-storybook', () => { .first() .click(); - cy.get('body') - .screenshot(`navbarcomponent-navbar--navbar-${theme}`) - .percySnapshot(`navbarcomponent-navbar--navbar-${theme}`, { + cy.get('body').screenshot(`navbarcomponent-navbar--navbar-${theme}`); + cy.get('body').percySnapshot( + `navbarcomponent-navbar--navbar-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/navbar-storybook/project.json b/apps/e2e/navbar-storybook/project.json index 5c3ffb648d..2ad7f006a0 100644 --- a/apps/e2e/navbar-storybook/project.json +++ b/apps/e2e/navbar-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/navbar-storybook/**/*.ts", - "apps/e2e/navbar-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/pages-storybook-e2e/project.json b/apps/e2e/pages-storybook-e2e/project.json index 04dbe25882..08797d5aae 100644 --- a/apps/e2e/pages-storybook-e2e/project.json +++ b/apps/e2e/pages-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/pages-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/pages-storybook-e2e/src/e2e/action-hub.component.cy.ts b/apps/e2e/pages-storybook-e2e/src/e2e/action-hub.component.cy.ts index 7ba1f82bb2..6ffe56509f 100644 --- a/apps/e2e/pages-storybook-e2e/src/e2e/action-hub.component.cy.ts +++ b/apps/e2e/pages-storybook-e2e/src/e2e/action-hub.component.cy.ts @@ -12,8 +12,10 @@ describe(`pages-storybook`, () => { cy.get('app-action-hub') .should('exist') .should('be.visible') - .screenshot(`actionhubcomponent-actionhub--action-hub-${theme}`) - .percySnapshot(`actionhubcomponent-actionhub--action-hub-${theme}`); + .screenshot(`actionhubcomponent-actionhub--action-hub-${theme}`); + cy.get('app-action-hub').percySnapshot( + `actionhubcomponent-actionhub--action-hub-${theme}`, + ); }); }); }); diff --git a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-blocks.component.cy.ts b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-blocks.component.cy.ts index 382db32365..b46a116547 100644 --- a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-blocks.component.cy.ts +++ b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-blocks.component.cy.ts @@ -21,8 +21,8 @@ describe(`pages-storybook`, () => { cy.get('app-blocks-page sky-page') .should('exist') .should('be.visible') - .screenshot(`${ID}-${theme}`) - .percySnapshot(`${ID}-${theme}`); + .screenshot(`${ID}-${theme}`); + cy.get('app-blocks-page sky-page').percySnapshot(`${ID}-${theme}`); }); it('should render the component on mobile', () => { @@ -31,10 +31,13 @@ describe(`pages-storybook`, () => { cy.get('app-blocks-page sky-page') .should('exist') .should('be.visible') - .screenshot(`${ID}-${theme}-mobile`) - .percySnapshot(`${ID}-${theme}-mobile`, { + .screenshot(`${ID}-${theme}-mobile`); + cy.get('app-blocks-page sky-page').percySnapshot( + `${ID}-${theme}-mobile`, + { widths: E2eVariations.MOBILE_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-fit.component.cy.ts b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-fit.component.cy.ts index c18570b2e5..90beecde6c 100644 --- a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-fit.component.cy.ts +++ b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-fit.component.cy.ts @@ -12,8 +12,8 @@ describe(`pages-storybook`, () => { cy.get('app-fit-page sky-page') .should('exist') .should('be.visible') - .screenshot(`${ID}-${theme}`) - .percySnapshot(`${ID}-${theme}`); + .screenshot(`${ID}-${theme}`); + cy.get('app-fit-page sky-page').percySnapshot(`${ID}-${theme}`); }); }); }); diff --git a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-list.component.cy.ts b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-list.component.cy.ts index c615afbfd6..7344863db4 100644 --- a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-list.component.cy.ts +++ b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-list.component.cy.ts @@ -12,8 +12,8 @@ describe(`pages-storybook`, () => { cy.get('app-list-page sky-page') .should('exist') .should('be.visible') - .screenshot(`${ID}-${theme}`) - .percySnapshot(`${ID}-${theme}`); + .screenshot(`${ID}-${theme}`); + cy.get('app-list-page sky-page').percySnapshot(`${ID}-${theme}`); }); }); }); diff --git a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-tabs.component.cy.ts b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-tabs.component.cy.ts index f7d7f2b32e..f4846cac2e 100644 --- a/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-tabs.component.cy.ts +++ b/apps/e2e/pages-storybook-e2e/src/e2e/page-layout-tabs.component.cy.ts @@ -12,8 +12,8 @@ describe(`pages-storybook`, () => { cy.get('app-tabs-page sky-page') .should('exist') .should('be.visible') - .screenshot(`${ID}-${theme}`) - .percySnapshot(`${ID}-${theme}`); + .screenshot(`${ID}-${theme}`); + cy.get('app-tabs-page sky-page').percySnapshot(`${ID}-${theme}`); }); }); }); diff --git a/apps/e2e/pages-storybook/project.json b/apps/e2e/pages-storybook/project.json index 0ede8f8125..eba4a003f8 100644 --- a/apps/e2e/pages-storybook/project.json +++ b/apps/e2e/pages-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/pages-storybook/**/*.ts", - "apps/e2e/pages-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/pages-storybook/src/app/action-hub/settings-modal.component.ts b/apps/e2e/pages-storybook/src/app/action-hub/settings-modal.component.ts index 08638a23ce..3d583d6dbd 100644 --- a/apps/e2e/pages-storybook/src/app/action-hub/settings-modal.component.ts +++ b/apps/e2e/pages-storybook/src/app/action-hub/settings-modal.component.ts @@ -15,7 +15,7 @@ export class SettingsModalComponent { public modal: SkyModalInstance, @Inject('modalTitle') public title: string, ) { - const controls: { [key: string]: unknown } = {}; + const controls: Record = {}; for (let i = 1; i <= 5; i++) { const field = `${this.title} ${i}`; this.fields.push(field); diff --git a/apps/e2e/phone-field-storybook-e2e/project.json b/apps/e2e/phone-field-storybook-e2e/project.json index 5d8b33ac04..1cd0fa84b5 100644 --- a/apps/e2e/phone-field-storybook-e2e/project.json +++ b/apps/e2e/phone-field-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/phone-field-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/phone-field-storybook-e2e/src/e2e/phone-field.component.cy.ts b/apps/e2e/phone-field-storybook-e2e/src/e2e/phone-field.component.cy.ts index 8a9f1fd9f9..cbf481c2cf 100644 --- a/apps/e2e/phone-field-storybook-e2e/src/e2e/phone-field.component.cy.ts +++ b/apps/e2e/phone-field-storybook-e2e/src/e2e/phone-field.component.cy.ts @@ -31,15 +31,13 @@ describe('phone-field-storybook', () => { .eq(4) .should('exist') .should('be.visible') - .click() - .end(); + .click(); cy.get('.sky-phone-field-country-btn') .eq(5) .should('exist') .should('be.visible') - .type('Ar') - .end(); + .type('Ar'); cy.get('app-phone-field') .should('exist') diff --git a/apps/e2e/phone-field-storybook/project.json b/apps/e2e/phone-field-storybook/project.json index c2f2992214..0205b2c0aa 100644 --- a/apps/e2e/phone-field-storybook/project.json +++ b/apps/e2e/phone-field-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/phone-field-storybook/**/*.ts", - "apps/e2e/phone-field-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/phone-field-storybook/src/app/app.module.ts b/apps/e2e/phone-field-storybook/src/app/app.module.ts index da0b277c7d..342c6e5c40 100644 --- a/apps/e2e/phone-field-storybook/src/app/app.module.ts +++ b/apps/e2e/phone-field-storybook/src/app/app.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; +import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { Route, RouterModule } from '@angular/router'; import { AppComponent } from './app.component'; @@ -19,6 +20,7 @@ if (routes.length > 0 && routes.findIndex((r) => r.path === '') === -1) { @NgModule({ declarations: [AppComponent], + providers: [provideAnimationsAsync()], imports: [ BrowserModule, RouterModule.forRoot(routes, { initialNavigation: 'enabledBlocking' }), diff --git a/apps/e2e/popovers-storybook-e2e/project.json b/apps/e2e/popovers-storybook-e2e/project.json index 7ad6838f89..f6ac58aa1d 100644 --- a/apps/e2e/popovers-storybook-e2e/project.json +++ b/apps/e2e/popovers-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/popovers-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/popovers-storybook-e2e/src/e2e/dropdown.component.cy.ts b/apps/e2e/popovers-storybook-e2e/src/e2e/dropdown.component.cy.ts index 93d2041132..019b8f49bd 100644 --- a/apps/e2e/popovers-storybook-e2e/src/e2e/dropdown.component.cy.ts +++ b/apps/e2e/popovers-storybook-e2e/src/e2e/dropdown.component.cy.ts @@ -13,13 +13,13 @@ describe('popovers-storybook', () => { .should('be.visible') .screenshot( `dropdowncomponent-dropdown--dropdown-${buttonStyle}-button-${theme}`, - ) - .percySnapshot( - `dropdowncomponent-dropdown--dropdown-${buttonStyle}-button-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-dropdown').percySnapshot( + `dropdowncomponent-dropdown--dropdown-${buttonStyle}-button-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); @@ -38,20 +38,20 @@ describe('popovers-storybook', () => { .last() .should('exist') .should('be.visible') - .click() - .end() - .get('.sky-dropdown-menu') + .click(); + + cy.get('.sky-dropdown-menu') .should('exist') .should('be.visible') .screenshot( `dropdowncomponent-dropdown--dropdown-${buttonType}-button-${horizontalAlignment}-algnment-${theme}`, - ) - .percySnapshot( - `dropdowncomponent-dropdown--dropdown-${buttonType}-button-${horizontalAlignment}-algnment-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('.sky-dropdown-menu').percySnapshot( + `dropdowncomponent-dropdown--dropdown-${buttonType}-button-${horizontalAlignment}-algnment-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/popovers-storybook/project.json b/apps/e2e/popovers-storybook/project.json index 53ae8ffa37..4402d5af40 100644 --- a/apps/e2e/popovers-storybook/project.json +++ b/apps/e2e/popovers-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/popovers-storybook/**/*.ts", - "apps/e2e/popovers-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/progress-indicator-storybook-e2e/project.json b/apps/e2e/progress-indicator-storybook-e2e/project.json index 647a56d1f0..746eb30faf 100644 --- a/apps/e2e/progress-indicator-storybook-e2e/project.json +++ b/apps/e2e/progress-indicator-storybook-e2e/project.json @@ -25,11 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/progress-indicator-storybook-e2e/**/*.{js,ts}" - ] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/progress-indicator-storybook-e2e/src/e2e/progress-indicator.component.cy.ts b/apps/e2e/progress-indicator-storybook-e2e/src/e2e/progress-indicator.component.cy.ts index d2bdb88d27..0602836a97 100644 --- a/apps/e2e/progress-indicator-storybook-e2e/src/e2e/progress-indicator.component.cy.ts +++ b/apps/e2e/progress-indicator-storybook-e2e/src/e2e/progress-indicator.component.cy.ts @@ -14,13 +14,13 @@ describe('progress-indicator-storybook', () => { .should('be.visible') .screenshot( `progressindicatorcomponent-progressindicator--progress-indicator-${theme}`, - ) - .percySnapshot( - `progressindicatorcomponent-progressindicator--progress-indicator-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-progress-indicator').percySnapshot( + `progressindicatorcomponent-progressindicator--progress-indicator-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/progress-indicator-storybook/project.json b/apps/e2e/progress-indicator-storybook/project.json index 721aea66b0..937fc1444e 100644 --- a/apps/e2e/progress-indicator-storybook/project.json +++ b/apps/e2e/progress-indicator-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/progress-indicator-storybook/**/*.ts", - "apps/e2e/progress-indicator-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/split-view-storybook-e2e/project.json b/apps/e2e/split-view-storybook-e2e/project.json index 9634639c87..5879634595 100644 --- a/apps/e2e/split-view-storybook-e2e/project.json +++ b/apps/e2e/split-view-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/split-view-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/split-view-storybook-e2e/src/e2e/split-view.component.cy.ts b/apps/e2e/split-view-storybook-e2e/src/e2e/split-view.component.cy.ts index e81f4242ca..fe837514e1 100644 --- a/apps/e2e/split-view-storybook-e2e/src/e2e/split-view.component.cy.ts +++ b/apps/e2e/split-view-storybook-e2e/src/e2e/split-view.component.cy.ts @@ -22,13 +22,13 @@ describe('split-view-storybook', () => { .should('be.visible') .screenshot( `splitviewcomponent-splitview--split-view-dock-fill-${theme}-${width}`, - ) - .percySnapshot( - `splitviewcomponent-splitview--split-view-dock-fill-${theme}-${width}`, - { - widths: [width], - }, ); + cy.get('.screenshot-area').percySnapshot( + `splitviewcomponent-splitview--split-view-dock-fill-${theme}-${width}`, + { + widths: [width], + }, + ); }); }); }, diff --git a/apps/e2e/split-view-storybook/project.json b/apps/e2e/split-view-storybook/project.json index 9b67a404f0..2708891105 100644 --- a/apps/e2e/split-view-storybook/project.json +++ b/apps/e2e/split-view-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/split-view-storybook/**/*.ts", - "apps/e2e/split-view-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/tabs-storybook-e2e/project.json b/apps/e2e/tabs-storybook-e2e/project.json index 3ec362035f..e7389b4735 100644 --- a/apps/e2e/tabs-storybook-e2e/project.json +++ b/apps/e2e/tabs-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/tabs-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/tabs-storybook-e2e/src/e2e/sectioned-form.component.cy.ts b/apps/e2e/tabs-storybook-e2e/src/e2e/sectioned-form.component.cy.ts index 02a521c274..277dc05779 100644 --- a/apps/e2e/tabs-storybook-e2e/src/e2e/sectioned-form.component.cy.ts +++ b/apps/e2e/tabs-storybook-e2e/src/e2e/sectioned-form.component.cy.ts @@ -16,25 +16,23 @@ describe('sectioned form', () => { .should('be.visible') .end() .get(`#open-${size}-modal-button`) - .click() - .end() - .get(`#show-tabs-button`) + .click(); + + cy.get(`#show-tabs-button`) .should('exist') .should('be.visible') .end() .window() - .screenshot(`sectioned-form-${size}-${theme}-section`) - .percySnapshot(`sectioned-form-${size}-${theme}-section`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }) - .get(`#show-tabs-button`) - .click() - .end() - .window() - .screenshot(`sectioned-form-${size}-${theme}-tab`) - .percySnapshot(`sectioned-form-${size}-${theme}-tab`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .screenshot(`sectioned-form-${size}-${theme}-section`); + cy.window().percySnapshot(`sectioned-form-${size}-${theme}-section`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); + cy.get(`#show-tabs-button`).click(); + + cy.window().screenshot(`sectioned-form-${size}-${theme}-tab`); + cy.window().percySnapshot(`sectioned-form-${size}-${theme}-tab`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); }); @@ -45,22 +43,19 @@ describe('sectioned form', () => { .should('be.visible') .end() .get(`#open-${size}-modal-button`) - .click() - .end() - .get(`sky-sectioned-form-section[heading="Basic information"] a`) - .should('exist') - .should('be.visible') - .click() - .end() - .get('#inputName') + .click(); + + cy.get(`sky-sectioned-form-section[heading="Basic information"] a`) .should('exist') .should('be.visible') - .end() - .window() - .screenshot(`sectioned-form-${size}-${theme}`) - .percySnapshot(`sectioned-form-${size}-${theme}`, { - widths: E2eVariations.DISPLAY_WIDTHS, - }); + .click(); + + cy.get('#inputName').should('exist').should('be.visible'); + + cy.window().screenshot(`sectioned-form-${size}-${theme}`); + cy.window().percySnapshot(`sectioned-form-${size}-${theme}`, { + widths: E2eVariations.DISPLAY_WIDTHS, + }); }); }); }); diff --git a/apps/e2e/tabs-storybook-e2e/src/e2e/tabs.component.cy.ts b/apps/e2e/tabs-storybook-e2e/src/e2e/tabs.component.cy.ts index dfd1227d30..4d31622a2c 100644 --- a/apps/e2e/tabs-storybook-e2e/src/e2e/tabs.component.cy.ts +++ b/apps/e2e/tabs-storybook-e2e/src/e2e/tabs.component.cy.ts @@ -13,8 +13,8 @@ describe(`tabs-storybook`, () => { cy.get('app-tabs') .should('exist') .should('be.visible') - .screenshot(`tabscomponent-tabs--tabs-${theme}`) - .percySnapshot(`tabscomponent-tabs--tabs-${theme}`); + .screenshot(`tabscomponent-tabs--tabs-${theme}`); + cy.get('app-tabs').percySnapshot(`tabscomponent-tabs--tabs-${theme}`); }); }); @@ -31,8 +31,10 @@ describe(`tabs-storybook`, () => { .get('sky-dropdown') .should('exist') .should('be.visible') - .screenshot(`tabscomponent-tabs--tabs-dropdown-${theme}`) - .percySnapshot(`tabscomponent-tabs--tabs-dropdown-${theme}`); + .screenshot(`tabscomponent-tabs--tabs-dropdown-${theme}`); + cy.get('sky-dropdown').percySnapshot( + `tabscomponent-tabs--tabs-dropdown-${theme}`, + ); }); }); }); diff --git a/apps/e2e/tabs-storybook-e2e/src/e2e/vertical-tabs.component.cy.ts b/apps/e2e/tabs-storybook-e2e/src/e2e/vertical-tabs.component.cy.ts index bff3a6ae73..c8de5b0950 100644 --- a/apps/e2e/tabs-storybook-e2e/src/e2e/vertical-tabs.component.cy.ts +++ b/apps/e2e/tabs-storybook-e2e/src/e2e/vertical-tabs.component.cy.ts @@ -14,13 +14,13 @@ describe('tabs-storybook - vertical tabs', () => { .should('be.visible') .screenshot( `verticaltabscomponent-verticaltabs--vertical-tabs-${theme}`, - ) - .percySnapshot( - `verticaltabscomponent-verticaltabs--vertical-tabs-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-vertical-tabs').percySnapshot( + `verticaltabscomponent-verticaltabs--vertical-tabs-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render the vertical tabs content section on a mobile screen', () => { @@ -38,13 +38,15 @@ describe('tabs-storybook - vertical tabs', () => { .should('be.visible') .screenshot( `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-content-section-${theme}`, - ) - .percySnapshot( - `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-content-section-${theme}`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, ); + cy.get( + '#vertical-tabs-with-groups .sky-vertical-tabset-show-tabs-btn', + ).percySnapshot( + `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-content-section-${theme}`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); it('should render the vertical tabs tablist section on a mobile screen', () => { @@ -55,16 +57,16 @@ describe('tabs-storybook - vertical tabs', () => { .get('#vertical-tabs-with-groups .sky-vertical-tabset-show-tabs-btn') .should('exist') .should('be.visible') - .click() - .get( - '#vertical-tabs-without-groups .sky-vertical-tabset-show-tabs-btn', - ) + .click(); + cy.get( + '#vertical-tabs-without-groups .sky-vertical-tabset-show-tabs-btn', + ) .should('exist') .should('be.visible') - .click() - .get( - '#vertical-tabs-with-groups .sky-vertical-tabset-group-container', - ) + .click(); + cy.get( + '#vertical-tabs-with-groups .sky-vertical-tabset-group-container', + ) .should('exist') .should('be.visible') .get( @@ -74,13 +76,15 @@ describe('tabs-storybook - vertical tabs', () => { .should('be.visible') .screenshot( `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-tablist-section-${theme}`, - ) - .percySnapshot( - `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-tablist-section-${theme}`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, ); + cy.get( + '#vertical-tabs-without-groups .sky-vertical-tabset-group-container', + ).percySnapshot( + `verticaltabscomponent-verticaltabs--vertical-tabs-mobile-tablist-section-${theme}`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/tabs-storybook-e2e/src/e2e/wizard.component.cy.ts b/apps/e2e/tabs-storybook-e2e/src/e2e/wizard.component.cy.ts index ffe67cc863..c8b3ddb5f5 100644 --- a/apps/e2e/tabs-storybook-e2e/src/e2e/wizard.component.cy.ts +++ b/apps/e2e/tabs-storybook-e2e/src/e2e/wizard.component.cy.ts @@ -15,14 +15,17 @@ describe(`tabs-storybook`, () => { .get('.open-wizard-btn') .should('exist') .should('be.visible') - .click() - .get('.sky-modal') + .click(); + cy.get('.sky-modal') .should('exist') .should('be.visible') - .screenshot(`wizardcomponent-wizard--wizard-lg-${theme}`) - .percySnapshot(`wizardcomponent-wizard--wizard-lg-${theme}`, { + .screenshot(`wizardcomponent-wizard--wizard-lg-${theme}`); + cy.get('.sky-modal').percySnapshot( + `wizardcomponent-wizard--wizard-lg-${theme}`, + { widths: [1280], - }); + }, + ); }); it('should render the component on a small screen', () => { @@ -33,17 +36,20 @@ describe(`tabs-storybook`, () => { .get('.open-wizard-btn') .should('exist') .should('be.visible') - .click() - .get('.sky-modal') + .click(); + cy.get('.sky-modal') .should('exist') .should('be.visible') .get('sky-dropdown') .should('exist') .should('be.visible') - .screenshot(`wizardcomponent-wizard--wizard-sm-${theme}`) - .percySnapshot(`wizardcomponent-wizard--wizard-sm-${theme}`, { + .screenshot(`wizardcomponent-wizard--wizard-sm-${theme}`); + cy.get('.sky-modal sky-dropdown').percySnapshot( + `wizardcomponent-wizard--wizard-sm-${theme}`, + { widths: [375], - }); + }, + ); }); }); }); diff --git a/apps/e2e/tabs-storybook/project.json b/apps/e2e/tabs-storybook/project.json index e39f2f9bae..38487f1fdf 100644 --- a/apps/e2e/tabs-storybook/project.json +++ b/apps/e2e/tabs-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/tabs-storybook/**/*.ts", - "apps/e2e/tabs-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/tabs-storybook/src/app/tabs/tabs.component.ts b/apps/e2e/tabs-storybook/src/app/tabs/tabs.component.ts index b19dbdb6f4..b3cf7c50ff 100644 --- a/apps/e2e/tabs-storybook/src/app/tabs/tabs.component.ts +++ b/apps/e2e/tabs-storybook/src/app/tabs/tabs.component.ts @@ -1,12 +1,12 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -type Tab = { +interface Tab { tabHeading: string; tabContent: string; disabled?: boolean; isPermanent?: boolean; tabHeaderCount?: number; -}; +} @Component({ selector: 'app-tabs', templateUrl: './tabs.component.html', diff --git a/apps/e2e/text-editor-storybook-e2e/project.json b/apps/e2e/text-editor-storybook-e2e/project.json index c6e924ba48..f78ee4ea44 100644 --- a/apps/e2e/text-editor-storybook-e2e/project.json +++ b/apps/e2e/text-editor-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/text-editor-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/text-editor-storybook-e2e/src/e2e/text-editor.component.cy.ts b/apps/e2e/text-editor-storybook-e2e/src/e2e/text-editor.component.cy.ts index 96de6858c7..8d39af1799 100644 --- a/apps/e2e/text-editor-storybook-e2e/src/e2e/text-editor.component.cy.ts +++ b/apps/e2e/text-editor-storybook-e2e/src/e2e/text-editor.component.cy.ts @@ -10,22 +10,24 @@ describe('text-editor-storybook', () => { `/iframe.html?globals=theme:${theme}&id=texteditorcomponent-texteditor--text-editor-${mode}`, ), ); + it('should render', () => { cy.get('app-text-editor') .should('exist') .should('be.visible') .screenshot( `texteditorcomponent-texteditor--text-editor-${mode}-${theme}`, - ) - .percySnapshot( - `texteditorcomponent-texteditor--text-editor-${mode}-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-text-editor').percySnapshot( + `texteditorcomponent-texteditor--text-editor-${mode}-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); }); }); + describe('text editor component', () => { beforeEach(() => cy.visit( @@ -39,20 +41,20 @@ describe('text-editor-storybook', () => { .get('iframe') .then(($iframe) => { const $bodyWrapper = $iframe.contents().find('body'); - cy.wrap($bodyWrapper) - .click() - .type('This is what the text looks like'); + cy.wrap($bodyWrapper).click(); + cy.wrap($bodyWrapper).type('This is what the text looks like'); }) .screenshot( `texteditorcomponent-texteditor--text-editor-with-text-${theme}`, - ) - .percySnapshot( - `texteditorcomponent-texteditor--text-editor-with-text-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('app-text-editor').percySnapshot( + `texteditorcomponent-texteditor--text-editor-with-text-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); + it('should open all the menus', () => { ['Edit menu', 'Format menu', 'Insert merge field'].forEach( (button) => { @@ -60,47 +62,51 @@ describe('text-editor-storybook', () => { .should('exist') .should('be.visible') .get(`[aria-label="${button}"]`) - .click() - .screenshot( - `texteditorcomponent-texteditor--text-editor-${button}-open-${theme}`, - ) - .percySnapshot( - `texteditorcomponent-texteditor--text-editor-${button}-open-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, - ); + .click(); + cy.get('app-text-editor').screenshot( + `texteditorcomponent-texteditor--text-editor-${button}-open-${theme}`, + ); + cy.get('app-text-editor').percySnapshot( + `texteditorcomponent-texteditor--text-editor-${button}-open-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }, ); }); + it('should open create link dialog', () => { cy.get('app-text-editor') .should('exist') .should('be.visible') .get('[title="Link"]') - .click() - .end(); + .click(); cy.get('.sky-modal') .should('exist') .should('be.visible') .screenshot( `texteditorcomponent-texteditor--text-editor-create-link-modal-web-page-tab-${theme}`, - ) - .percySnapshot( - `texteditorcomponent-texteditor--text-editor-create-link-modal-web-page-tab-${theme}`, - { - widths: E2eVariations.DISPLAY_WIDTHS, - }, ); + cy.get('.sky-modal').percySnapshot( + `texteditorcomponent-texteditor--text-editor-create-link-modal-web-page-tab-${theme}`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); cy.get('.sky-modal') .should('exist') .should('be.visible') .get('sky-tab-button') .eq(1) - .click() + .click(); + cy.get('.sky-modal sky-tab-button') + .first() .screenshot( `texteditorcomponent-texteditor--text-editor-create-link-modal-email-address-tab-${theme}`, - ) + ); + cy.get('.sky-modal sky-tab-button') + .first() .percySnapshot( `texteditorcomponent-texteditor--text-editor-create-link-modal-email-address-tab-${theme}`, { diff --git a/apps/e2e/text-editor-storybook/project.json b/apps/e2e/text-editor-storybook/project.json index fdd60ad1d8..87e9c193c5 100644 --- a/apps/e2e/text-editor-storybook/project.json +++ b/apps/e2e/text-editor-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/text-editor-storybook/**/*.ts", - "apps/e2e/text-editor-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/e2e/theme-storybook-e2e/project.json b/apps/e2e/theme-storybook-e2e/project.json index f10e0ad319..071283cb2d 100644 --- a/apps/e2e/theme-storybook-e2e/project.json +++ b/apps/e2e/theme-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/theme-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/borders.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/borders.component.cy.ts index 31bb412e71..82c9c03c1a 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/borders.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/borders.component.cy.ts @@ -15,10 +15,13 @@ describe('theme-storybook', () => { .should('be.visible') .end() .document() - .screenshot(`borderscomponent-borders--borders-${theme}`) - .percySnapshot(`borderscomponent-borders--borders-${theme}`, { + .screenshot(`borderscomponent-borders--borders-${theme}`); + cy.document().percySnapshot( + `borderscomponent-borders--borders-${theme}`, + { widths: E2eVariations.MOBILE_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/buttons.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/buttons.component.cy.ts index da6cb2c04a..f97e122ea9 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/buttons.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/buttons.component.cy.ts @@ -15,10 +15,13 @@ describe('theme-storybook', () => { .should('be.visible') .end() .document() - .screenshot(`buttonscomponent-buttons--buttons-${theme}`) - .percySnapshot(`buttonscomponent-buttons--buttons-${theme}`, { + .screenshot(`buttonscomponent-buttons--buttons-${theme}`); + cy.document().percySnapshot( + `buttonscomponent-buttons--buttons-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/responsive.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/responsive.component.cy.ts index 6104a7ea17..d6b8796953 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/responsive.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/responsive.component.cy.ts @@ -23,14 +23,14 @@ describe('theme-storybook', () => { .document() .screenshot( `responsivecomponent-responsive--responsive-${theme}-${width}px`, - ) - .percySnapshot( - `responsivecomponent-responsive--responsive-${theme}-${width}px`, - { - widths: [width], - minHeight: 960, - }, ); + cy.document().percySnapshot( + `responsivecomponent-responsive--responsive-${theme}-${width}px`, + { + widths: [width], + minHeight: 960, + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/switch-controls.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/switch-controls.component.cy.ts index bdffbdbf0f..e33a36b6fc 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/switch-controls.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/switch-controls.component.cy.ts @@ -17,13 +17,13 @@ describe('theme-storybook', () => { .document() .screenshot( `switchcontrolscomponent-switchcontrols--switch-controls-${theme}`, - ) - .percySnapshot( - `switchcontrolscomponent-switchcontrols--switch-controls-${theme}`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, ); + cy.document().percySnapshot( + `switchcontrolscomponent-switchcontrols--switch-controls-${theme}`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/theming.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/theming.component.cy.ts index d784d40569..fcdce81a1b 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/theming.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/theming.component.cy.ts @@ -28,10 +28,13 @@ describe('theme-storybook', () => { .should('be.visible') .end() .document() - .screenshot(`themingcomponent-theming--theming-${theme}`) - .percySnapshot(`themingcomponent-theming--theming-${theme}`, { + .screenshot(`themingcomponent-theming--theming-${theme}`); + cy.document().percySnapshot( + `themingcomponent-theming--theming-${theme}`, + { widths: E2eVariations.MOBILE_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook-e2e/src/e2e/validation.component.cy.ts b/apps/e2e/theme-storybook-e2e/src/e2e/validation.component.cy.ts index 25f18ca7f0..995412e220 100644 --- a/apps/e2e/theme-storybook-e2e/src/e2e/validation.component.cy.ts +++ b/apps/e2e/theme-storybook-e2e/src/e2e/validation.component.cy.ts @@ -17,26 +17,24 @@ describe('theme-storybook', () => { .get('#textInputTouched') .should('exist') .should('be.visible') - .click() - .end() - .get('#selectInputTouched') - .should('exist') - .should('be.visible') - .focus() - .end() - .get('#free-space') + .click(); + + cy.get('#selectInputTouched') .should('exist') .should('be.visible') - .click() - .end() - .document() - .screenshot(`validationcomponent-validation--validation-${theme}`) - .percySnapshot( - `validationcomponent-validation--validation-${theme}`, - { - widths: E2eVariations.MOBILE_WIDTHS, - }, - ); + .focus(); + + cy.get('#free-space').should('exist').should('be.visible').click(); + + cy.document().screenshot( + `validationcomponent-validation--validation-${theme}`, + ); + cy.document().percySnapshot( + `validationcomponent-validation--validation-${theme}`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/theme-storybook/project.json b/apps/e2e/theme-storybook/project.json index 4fe332245f..463d258cdb 100644 --- a/apps/e2e/theme-storybook/project.json +++ b/apps/e2e/theme-storybook/project.json @@ -76,10 +76,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/theme-storybook/**/*.ts", - "apps/e2e/theme-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/tiles-storybook-e2e/project.json b/apps/e2e/tiles-storybook-e2e/project.json index 46cbcea56f..3306d552cd 100644 --- a/apps/e2e/tiles-storybook-e2e/project.json +++ b/apps/e2e/tiles-storybook-e2e/project.json @@ -22,9 +22,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/tiles-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/tiles-storybook-e2e/src/e2e/tile-dashboard.component.cy.ts b/apps/e2e/tiles-storybook-e2e/src/e2e/tile-dashboard.component.cy.ts index 46ebcd10c3..d58e540aba 100644 --- a/apps/e2e/tiles-storybook-e2e/src/e2e/tile-dashboard.component.cy.ts +++ b/apps/e2e/tiles-storybook-e2e/src/e2e/tile-dashboard.component.cy.ts @@ -18,11 +18,13 @@ describe('tiles-storybook', () => { .should('be.visible') .screenshot(`tile-dashboard-${theme}-desktop`, { overwrite: true, - }) - .get('app-tile-dashboard') - .percySnapshot(`tile dashboard ${theme} desktop`, { - widths: E2eVariations.DISPLAY_WIDTHS, }); + cy.get('app-tile-dashboard').percySnapshot( + `tile dashboard ${theme} desktop`, + { + widths: E2eVariations.DISPLAY_WIDTHS, + }, + ); }); it('should render the component in mobile', () => { @@ -35,11 +37,13 @@ describe('tiles-storybook', () => { .should('be.visible') .screenshot(`tile-dashboard-${theme}-mobile`, { overwrite: true, - }) - .get('app-tile-dashboard') - .percySnapshot(`tile dashboard ${theme} mobile`, { - widths: E2eVariations.MOBILE_WIDTHS, }); + cy.get('app-tile-dashboard').percySnapshot( + `tile dashboard ${theme} mobile`, + { + widths: E2eVariations.MOBILE_WIDTHS, + }, + ); }); }); }); diff --git a/apps/e2e/tiles-storybook/project.json b/apps/e2e/tiles-storybook/project.json index 303b897c74..152fe83e5f 100644 --- a/apps/e2e/tiles-storybook/project.json +++ b/apps/e2e/tiles-storybook/project.json @@ -77,10 +77,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "apps/e2e/tiles-storybook/**/*.ts", - "apps/e2e/tiles-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/apps/e2e/tiles-storybook/src/app/tile-dashboard/tile-parameters.type.ts b/apps/e2e/tiles-storybook/src/app/tile-dashboard/tile-parameters.type.ts index 5634866177..3f68dbabbc 100644 --- a/apps/e2e/tiles-storybook/src/app/tile-dashboard/tile-parameters.type.ts +++ b/apps/e2e/tiles-storybook/src/app/tile-dashboard/tile-parameters.type.ts @@ -1,4 +1,4 @@ -export type TileParametersType = { +export interface TileParametersType { tileName: string; showInlineHelp: boolean; -}; +} diff --git a/apps/e2e/toast-storybook-e2e/project.json b/apps/e2e/toast-storybook-e2e/project.json index 7ea0d120ee..d79710e6df 100644 --- a/apps/e2e/toast-storybook-e2e/project.json +++ b/apps/e2e/toast-storybook-e2e/project.json @@ -25,9 +25,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/e2e/toast-storybook-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/e2e/toast-storybook-e2e/src/e2e/toast.component.cy.ts b/apps/e2e/toast-storybook-e2e/src/e2e/toast.component.cy.ts index 47134f5e0d..47672fde59 100644 --- a/apps/e2e/toast-storybook-e2e/src/e2e/toast.component.cy.ts +++ b/apps/e2e/toast-storybook-e2e/src/e2e/toast.component.cy.ts @@ -14,12 +14,16 @@ describe('toast-storybook', () => { .should('exist') .should('be.visible') .get('#default-trigger') - .click() - .get('.sky-toaster') - .screenshot(`toastcomponent-toast--toast-${theme}`) - .percySnapshot(`toastcomponent-toast--toast-${theme}`, { + .click(); + cy.get('.sky-toaster').screenshot( + `toastcomponent-toast--toast-${theme}`, + ); + cy.get('.sky-toaster').percySnapshot( + `toastcomponent-toast--toast-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); it('should render the components when a custom component is used', () => { @@ -27,12 +31,16 @@ describe('toast-storybook', () => { .should('exist') .should('be.visible') .get('#custom-trigger') - .click() - .get('.sky-toaster') - .screenshot(`toastcomponent-toast--toast-custom-${theme}`) - .percySnapshot(`toastcomponent-toast--toast-custom-${theme}`, { + .click(); + cy.get('.sky-toaster').screenshot( + `toastcomponent-toast--toast-custom-${theme}`, + ); + cy.get('.sky-toaster').percySnapshot( + `toastcomponent-toast--toast-custom-${theme}`, + { widths: E2eVariations.DISPLAY_WIDTHS, - }); + }, + ); }); }); }); diff --git a/apps/e2e/toast-storybook/project.json b/apps/e2e/toast-storybook/project.json index 642d89de6c..a1e5435356 100644 --- a/apps/e2e/toast-storybook/project.json +++ b/apps/e2e/toast-storybook/project.json @@ -69,12 +69,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": [ - "apps/e2e/toast-storybook/**/*.ts", - "apps/e2e/toast-storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "serve-static": { diff --git a/apps/integration-e2e/project.json b/apps/integration-e2e/project.json index bc5ee8aa82..de84da6bfd 100644 --- a/apps/integration-e2e/project.json +++ b/apps/integration-e2e/project.json @@ -20,9 +20,8 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["apps/integration-e2e/**/*.{js,ts}"] + "lintFilePatterns": ["{projectRoot}/**/*.{js,ts}"] } } }, diff --git a/apps/integration-e2e/src/e2e/lookup-in-modal.cy.ts b/apps/integration-e2e/src/e2e/lookup-in-modal.cy.ts index 3be4c327d6..9904c3d80b 100644 --- a/apps/integration-e2e/src/e2e/lookup-in-modal.cy.ts +++ b/apps/integration-e2e/src/e2e/lookup-in-modal.cy.ts @@ -19,11 +19,10 @@ describe('lookup in modal', () => { .get('textarea[placeholder="Type a person\'s name..."]') .should('exist') .should('be.visible') - .click() - .end() - .get( - '.sky-autocomplete-results-container .sky-autocomplete-action-more', - ) + .click(); + cy.get( + '.sky-autocomplete-results-container .sky-autocomplete-action-more', + ) .should('exist') .should('be.visible') .should('contain.text', 'Show all 21') diff --git a/apps/integration-e2e/src/e2e/modal-colorpicker.cy.ts b/apps/integration-e2e/src/e2e/modal-colorpicker.cy.ts index ed8bbd9cbf..109895928c 100644 --- a/apps/integration-e2e/src/e2e/modal-colorpicker.cy.ts +++ b/apps/integration-e2e/src/e2e/modal-colorpicker.cy.ts @@ -18,12 +18,13 @@ describe('Modal Colorpicker', () => { cy.get('sky-modal button[aria-haspopup="dialog"]:not([disabled])') .should('exist') .should('have.length', 3); + cy.get( + '#colorpicker-6-presets-sky-icon button[aria-haspopup="dialog"]', + ).scrollIntoView(); cy.get('#colorpicker-6-presets-sky-icon button[aria-haspopup="dialog"]') - .scrollIntoView() .should('be.visible') - .click({ waitForAnimations: true }) - .end() - .get('.sky-colorpicker-container[role="dialog"]') + .click({ waitForAnimations: true }); + cy.get('.sky-colorpicker-container[role="dialog"]') .should('exist') .should('be.visible') .end() @@ -31,25 +32,31 @@ describe('Modal Colorpicker', () => { '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', + ) .should('be.visible') .end() .get( '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', + ) .should('be.visible') - .click({ waitForAnimations: true }) - .end() - .get( - '#colorpicker-default-presets-no-clear-btn button[aria-haspopup="dialog"]', - ) - .scrollIntoView() + .click({ waitForAnimations: true }); + cy.get( + '#colorpicker-default-presets-no-clear-btn button[aria-haspopup="dialog"]', + ).scrollIntoView(); + cy.get( + '#colorpicker-default-presets-no-clear-btn button[aria-haspopup="dialog"]', + ) .should('be.visible') - .click({ waitForAnimations: true }) - .end() - .get('.sky-colorpicker-container[role="dialog"]') + .click({ waitForAnimations: true }); + cy.get('.sky-colorpicker-container[role="dialog"]') .should('exist') .should('be.visible') .end() @@ -57,23 +64,29 @@ describe('Modal Colorpicker', () => { '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', + ) .should('be.visible') .end() .get( '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', + ) .should('be.visible') - .click({ waitForAnimations: true }) - .end() - .get('#colorpicker-12-presets-fa-icon button[aria-haspopup="dialog"]') - .scrollIntoView() + .click({ waitForAnimations: true }); + cy.get( + '#colorpicker-12-presets-fa-icon button[aria-haspopup="dialog"]', + ).scrollIntoView(); + cy.get('#colorpicker-12-presets-fa-icon button[aria-haspopup="dialog"]') .should('be.visible') - .click({ waitForAnimations: true }) - .end() - .get('.sky-colorpicker-container[role="dialog"]') + .click({ waitForAnimations: true }); + cy.get('.sky-colorpicker-container[role="dialog"]') .should('exist') .should('be.visible') .end() @@ -81,14 +94,20 @@ describe('Modal Colorpicker', () => { '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-apply', + ) .should('be.visible') .end() .get( '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', ) .should('exist') - .scrollIntoView() + .scrollIntoView(); + cy.get( + '.sky-colorpicker-container[role="dialog"] button.sky-btn-colorpicker-close', + ) .should('be.visible') .click({ waitForAnimations: true }); }); diff --git a/apps/integration-e2e/src/e2e/modal-footer-dropdown.cy.ts b/apps/integration-e2e/src/e2e/modal-footer-dropdown.cy.ts index d25339edcf..2bf432abe4 100644 --- a/apps/integration-e2e/src/e2e/modal-footer-dropdown.cy.ts +++ b/apps/integration-e2e/src/e2e/modal-footer-dropdown.cy.ts @@ -18,9 +18,11 @@ describe('modal footer dropdown', () => { cy.get('app-modal-footer-dropdown .space + div button') .should('exist') .first() - .scrollIntoView() + .scrollIntoView(); + cy.get('app-modal-footer-dropdown .space + div button') .should('be.visible') .should('contain.text', 'Open medium modal') + .first() .click({ waitForAnimations: true }); cy.get('sky-modal h2') .should('exist') @@ -58,10 +60,14 @@ describe('modal footer dropdown', () => { cy.get('app-modal-footer-dropdown .space + div button') .should('exist') .last() - .scrollIntoView() + .scrollIntoView(); + cy.get('app-modal-footer-dropdown .space + div button') .should('be.visible') .should('contain.text', 'Open full page modal') - .click({ waitForAnimations: true }); + .last() + .click({ + waitForAnimations: true, + }); cy.get('sky-modal h2') .should('exist') .should('be.visible') diff --git a/apps/integration/project.json b/apps/integration/project.json index df0249ed81..355294c0a6 100644 --- a/apps/integration/project.json +++ b/apps/integration/project.json @@ -82,8 +82,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "apps/integration/src/**/*.ts", - "apps/integration/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } }, diff --git a/apps/integration/src/app/integrations/field-heights/field-heights.component.ts b/apps/integration/src/app/integrations/field-heights/field-heights.component.ts index a88814dc32..2633e67aa8 100644 --- a/apps/integration/src/app/integrations/field-heights/field-heights.component.ts +++ b/apps/integration/src/app/integrations/field-heights/field-heights.component.ts @@ -12,7 +12,10 @@ import { SkyThemeService } from '@skyux/theme'; import { BehaviorSubject, Observable, Subscription } from 'rxjs'; import { delay, map, startWith } from 'rxjs/operators'; -type Person = { name: string; id: string }; +interface Person { + name: string; + id: string; +} @Component({ selector: 'app-field-heights', diff --git a/apps/playground/project.json b/apps/playground/project.json index c6b79654fa..368702314d 100644 --- a/apps/playground/project.json +++ b/apps/playground/project.json @@ -94,8 +94,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "apps/playground/src/**/*.ts", - "apps/playground/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/apps/playground/src/app/components/ag-grid/edit-in-modal-grid/ag-grid-demo-data.ts b/apps/playground/src/app/components/ag-grid/edit-in-modal-grid/ag-grid-demo-data.ts index 7082822e51..5423c38876 100644 --- a/apps/playground/src/app/components/ag-grid/edit-in-modal-grid/ag-grid-demo-data.ts +++ b/apps/playground/src/app/components/ag-grid/edit-in-modal-grid/ag-grid-demo-data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/playground/src/app/components/lists/repeater/nested-repeater.component.ts b/apps/playground/src/app/components/lists/repeater/nested-repeater.component.ts index 30c22450bf..a6032363d1 100644 --- a/apps/playground/src/app/components/lists/repeater/nested-repeater.component.ts +++ b/apps/playground/src/app/components/lists/repeater/nested-repeater.component.ts @@ -7,12 +7,12 @@ import { } from '@angular/core'; import { SkyRepeaterModule } from '@skyux/lists'; -type ListItem = { +interface ListItem { label: string; reorderable?: boolean; selectable?: boolean; children?: ListItem[]; -}; +} @Component({ selector: 'app-nested-repeater', diff --git a/apps/playground/src/app/shared/data-manager/data-manager-data.ts b/apps/playground/src/app/shared/data-manager/data-manager-data.ts index c61c089ab1..b8933bf61b 100644 --- a/apps/playground/src/app/shared/data-manager/data-manager-data.ts +++ b/apps/playground/src/app/shared/data-manager/data-manager-data.ts @@ -22,7 +22,7 @@ export const DEPARTMENTS = [ }, ]; -export const JOB_TITLES: { [name: string]: AutocompleteOption[] } = { +export const JOB_TITLES: Record = { Marketing: [ { id: '1', diff --git a/apps/playground/src/app/shared/theme-selector/theme-selector.component.ts b/apps/playground/src/app/shared/theme-selector/theme-selector.component.ts index e1b980ca41..d2a33c1900 100644 --- a/apps/playground/src/app/shared/theme-selector/theme-selector.component.ts +++ b/apps/playground/src/app/shared/theme-selector/theme-selector.component.ts @@ -14,10 +14,10 @@ import { import { ThemeSelectorSpacingValue } from './theme-selector-spacing-value'; import { ThemeSelectorValue } from './theme-selector-value'; -type LocalStorageSettings = { +interface LocalStorageSettings { themeName: ThemeSelectorValue; themeSpacing: ThemeSelectorSpacingValue; -}; +} const PREVIOUS_SETTINGS_KEY = 'skyux-playground-theme-selector-settings'; diff --git a/libs/components/a11y/package.json b/libs/components/a11y/package.json index 11ef41d73c..30aeccf7a0 100644 --- a/libs/components/a11y/package.json +++ b/libs/components/a11y/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER" }, diff --git a/libs/components/a11y/project.json b/libs/components/a11y/project.json index 985b8e6670..dc2fd0280f 100644 --- a/libs/components/a11y/project.json +++ b/libs/components/a11y/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/a11y/src/**/*.ts", - "libs/components/a11y/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/a11y/src/lib/modules/shared/sky-a11y-resources.module.ts b/libs/components/a11y/src/lib/modules/shared/sky-a11y-resources.module.ts index cac816be43..f2f24faa1b 100644 --- a/libs/components/a11y/src/lib/modules/shared/sky-a11y-resources.module.ts +++ b/libs/components/a11y/src/lib/modules/shared/sky-a11y-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_list_skip_to_link: { message: 'Skip to {0}' } }, }; diff --git a/libs/components/action-bars/package.json b/libs/components/action-bars/package.json index 63d176003b..bb5bc2a3ff 100644 --- a/libs/components/action-bars/package.json +++ b/libs/components/action-bars/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/animations": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", diff --git a/libs/components/action-bars/project.json b/libs/components/action-bars/project.json index 78a1bd420e..0fb86e9cc5 100644 --- a/libs/components/action-bars/project.json +++ b/libs/components/action-bars/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/action-bars/src/**/*.ts", - "libs/components/action-bars/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/action-bars/src/lib/modules/shared/sky-action-bars-resources.module.ts b/libs/components/action-bars/src/lib/modules/shared/sky-action-bars-resources.module.ts index d08965ff8b..031f241c35 100644 --- a/libs/components/action-bars/src/lib/modules/shared/sky-action-bars-resources.module.ts +++ b/libs/components/action-bars/src/lib/modules/shared/sky-action-bars-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_summary_action_bar_open_secondary: { message: 'Show secondary actions', diff --git a/libs/components/ag-grid/package.json b/libs/components/ag-grid/package.json index 89d44c1c03..d639df8c2f 100644 --- a/libs/components/ag-grid/package.json +++ b/libs/components/ag-grid/package.json @@ -21,9 +21,9 @@ } }, "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", "@skyux/autonumeric": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/data-manager": "0.0.0-PLACEHOLDER", diff --git a/libs/components/ag-grid/project.json b/libs/components/ag-grid/project.json index 1ac4e8d6b6..0d65cbee24 100644 --- a/libs/components/ag-grid/project.json +++ b/libs/components/ag-grid/project.json @@ -57,8 +57,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/ag-grid/src/**/*.ts", - "libs/components/ag-grid/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } }, diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts index 6e11bb2561..47ad769d7e 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/ag-grid-row-delete.directive.ts @@ -166,7 +166,7 @@ export class SkyAgGridRowDeleteDirective #ngUnsubscribe = new Subject(); #rowDeleteComponent: SkyAgGridRowDeleteComponent | undefined; - #rowDeleteContents: { [id: string]: SkyAgGridRowDeleteContents } = {}; + #rowDeleteContents: Record = {}; #rowDeleteIdsInternal: string[] | undefined; #clipPath = new BehaviorSubject(undefined); @@ -287,9 +287,9 @@ export class SkyAgGridRowDeleteDirective '[row-id="' + id + '"] > div', ); - for (let i = 0; i < columns.length; i++) { - if (columns[i].querySelector('[aria-colindex="1"]')) { - rowElement = columns[i]; + for (const column of Array.from(columns)) { + if (column.querySelector('[aria-colindex="1"]')) { + rowElement = column; break; } } diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.ts index 0e88d36027..c0f6b922f4 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template-context.type.ts @@ -1 +1,4 @@ -export type CellRendererTemplateContext = { value: unknown; row: object }; +export interface CellRendererTemplateContext { + value: unknown; + row: object; +} diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.spec.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.spec.ts index aca5ca7bd3..9e723313b7 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.spec.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.spec.ts @@ -83,7 +83,7 @@ describe('SkyAgGridCellValidatorTooltipComponent', () => { const fixture = TestBed.createComponent( SkyAgGridCellValidatorTooltipComponent, ); - const eventHandlers: { [eventName: string]: (event: Event) => void } = {}; + const eventHandlers: Record void> = {}; fixture.componentInstance.params = { addRenderedRowListener: NOOP, column: { diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/header/header-group.component.spec.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/header/header-group.component.spec.ts index 0e403a2bbc..fcf696270e 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/header/header-group.component.spec.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/header/header-group.component.spec.ts @@ -21,12 +21,14 @@ import { SkyAgGridHeaderGroupComponent } from './header-group.component'; }) class TestHelpComponent {} -type mockEventParam = { columnGroup: ProvidedColumnGroup }; +interface mockEventParam { + columnGroup: ProvidedColumnGroup; +} describe('SkyAgGridHeaderGroupComponent', () => { let component: SkyAgGridHeaderGroupComponent; let fixture: ComponentFixture; - let events: { [key: string]: ((value: mockEventParam) => void)[] }; + let events: Record void)[]>; let expanded: boolean; let providedColumnGroup: ProvidedColumnGroup; const baseProvidedColumnGroup = { diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/header/header.component.spec.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/header/header.component.spec.ts index 811fa2a8dd..2ddf39b2ff 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/header/header.component.spec.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/header/header.component.spec.ts @@ -25,8 +25,8 @@ class OtherTestHelpComponent {} describe('HeaderComponent', () => { let component: SkyAgGridHeaderComponent; let fixture: ComponentFixture; - let apiEvents: { [key: string]: (() => void)[] }; - let columnEvents: { [key: string]: (() => void)[] }; + let apiEvents: Record void)[]>; + let columnEvents: Record void)[]>; let params: SkyAgGridHeaderParams; beforeEach(() => { diff --git a/libs/components/ag-grid/src/lib/modules/ag-grid/icons/icon-map.ts b/libs/components/ag-grid/src/lib/modules/ag-grid/icons/icon-map.ts index ee9763a7f2..f424b809c8 100644 --- a/libs/components/ag-grid/src/lib/modules/ag-grid/icons/icon-map.ts +++ b/libs/components/ag-grid/src/lib/modules/ag-grid/icons/icon-map.ts @@ -1,9 +1,10 @@ -export const iconMap: { - [key: string]: { +export const iconMap: Record< + string, + { faIcon: string; skyIcon?: string; - }; -} = { + } +> = { sortDescending: { faIcon: 'caret-down', skyIcon: 'chevron-down', diff --git a/libs/components/ag-grid/src/lib/modules/shared/sky-ag-grid-resources.module.ts b/libs/components/ag-grid/src/lib/modules/shared/sky-ag-grid-resources.module.ts index e2216f13c8..6e9b091641 100644 --- a/libs/components/ag-grid/src/lib/modules/shared/sky-ag-grid-resources.module.ts +++ b/libs/components/ag-grid/src/lib/modules/shared/sky-ag-grid-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { sky_ag_grid_row_selector_aria_label: { message: 'Row selector for row {0}', diff --git a/libs/components/angular-tree-component/package.json b/libs/components/angular-tree-component/package.json index 8c7ec87f9d..162a609b1c 100644 --- a/libs/components/angular-tree-component/package.json +++ b/libs/components/angular-tree-component/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@blackbaud/angular-tree-component": "^1.0.0", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/angular-tree-component/project.json b/libs/components/angular-tree-component/project.json index 3957d96b1e..9c82acd34a 100644 --- a/libs/components/angular-tree-component/project.json +++ b/libs/components/angular-tree-component/project.json @@ -58,8 +58,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/angular-tree-component/src/**/*.ts", - "libs/components/angular-tree-component/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/angular-tree-component/src/lib/modules/angular-tree/angular-tree-root.component.spec.ts b/libs/components/angular-tree-component/src/lib/modules/angular-tree/angular-tree-root.component.spec.ts index e8065888f8..5d687e7983 100644 --- a/libs/components/angular-tree-component/src/lib/modules/angular-tree/angular-tree-root.component.spec.ts +++ b/libs/components/angular-tree-component/src/lib/modules/angular-tree/angular-tree-root.component.spec.ts @@ -1208,7 +1208,7 @@ describe('tree view', () => { fixture.detectChanges(); const nodes = document.querySelectorAll('.node-wrapper'); - const nodeList: Array = Array.prototype.slice.call(nodes); + const nodeList: Element[] = Array.prototype.slice.call(nodes); nodeList.forEach((node) => { expect(node.getAttribute('role')).toEqual('treeitem'); }); @@ -1218,7 +1218,7 @@ describe('tree view', () => { fixture.detectChanges(); const childrenWrappers = document.querySelectorAll('tree-node-children'); - const wrappersList: Array = + const wrappersList: Element[] = Array.prototype.slice.call(childrenWrappers); wrappersList.forEach((wrapper) => { expect(wrapper.getAttribute('role')).toEqual('group'); diff --git a/libs/components/angular-tree-component/src/lib/modules/shared/sky-angular-tree-component-resources.module.ts b/libs/components/angular-tree-component/src/lib/modules/shared/sky-angular-tree-component-resources.module.ts index d3dc9b1e78..13eae66e93 100644 --- a/libs/components/angular-tree-component/src/lib/modules/shared/sky-angular-tree-component-resources.module.ts +++ b/libs/components/angular-tree-component/src/lib/modules/shared/sky-angular-tree-component-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_angular_tree_clear_all: { message: 'Clear all' }, skyux_angular_tree_click_to_expand: { message: 'Click to expand' }, diff --git a/libs/components/animations/package.json b/libs/components/animations/package.json index 91672a8c96..d847ae97ae 100644 --- a/libs/components/animations/package.json +++ b/libs/components/animations/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/animations/project.json b/libs/components/animations/project.json index 449814939e..9c1b2a4d6d 100644 --- a/libs/components/animations/project.json +++ b/libs/components/animations/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/animations/src/**/*.ts", - "libs/components/animations/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/assets/package.json b/libs/components/assets/package.json index 03c98f6ec6..9f061d3084 100644 --- a/libs/components/assets/package.json +++ b/libs/components/assets/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/assets/project.json b/libs/components/assets/project.json index 2015c78a57..c7d2909c87 100644 --- a/libs/components/assets/project.json +++ b/libs/components/assets/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/assets/src/**/*.ts", - "libs/components/assets/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/assets/src/lib/assets.service.ts b/libs/components/assets/src/lib/assets.service.ts index 526d66a91d..2d8f3ad14f 100644 --- a/libs/components/assets/src/lib/assets.service.ts +++ b/libs/components/assets/src/lib/assets.service.ts @@ -5,5 +5,5 @@ */ export abstract class SkyAppAssetsService { public abstract getUrl(path: string): string; - public abstract getAllUrls(): { [key: string]: any }; + public abstract getAllUrls(): Record; } diff --git a/libs/components/autonumeric/package.json b/libs/components/autonumeric/package.json index 650e4cfdce..1aa4cc2d49 100644 --- a/libs/components/autonumeric/package.json +++ b/libs/components/autonumeric/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", "autonumeric": "^4.10.4" }, "dependencies": { diff --git a/libs/components/autonumeric/project.json b/libs/components/autonumeric/project.json index 16cc49bf2e..e18e07a126 100644 --- a/libs/components/autonumeric/project.json +++ b/libs/components/autonumeric/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/autonumeric/src/**/*.ts", - "libs/components/autonumeric/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.spec.ts b/libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.spec.ts index 6a45833453..718ca0ee71 100644 --- a/libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.spec.ts +++ b/libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.spec.ts @@ -101,7 +101,7 @@ describe('Autonumeric directive', () => { * Checks both the reactive and template-driven controls against various statuses. * @param statuses A set of Angular NgModel statuses to check against (e.g., pristine, touched, valid). */ - function verifyFormControlStatuses(statuses: { [_: string]: boolean }): void { + function verifyFormControlStatuses(statuses: Record): void { const control = fixture.componentInstance.formControl; const ngModel = fixture.componentInstance.templateNgModel; @@ -363,10 +363,10 @@ describe('Autonumeric directive', () => { }); const inputs = fixture.nativeElement.querySelectorAll('input'); - for (let i = 0; i < inputs.length; i++) { - inputs[i].value = ''; - SkyAppTestUtility.fireDomEvent(inputs[i], 'input'); - SkyAppTestUtility.fireDomEvent(inputs[i], 'keyup'); + for (const input of inputs) { + input.value = ''; + SkyAppTestUtility.fireDomEvent(input, 'input'); + SkyAppTestUtility.fireDomEvent(input, 'keyup'); } detectChangesTick(); diff --git a/libs/components/avatar/package.json b/libs/components/avatar/package.json index 4436462bcf..6fb12f9da5 100644 --- a/libs/components/avatar/package.json +++ b/libs/components/avatar/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/errors": "0.0.0-PLACEHOLDER", diff --git a/libs/components/avatar/project.json b/libs/components/avatar/project.json index b9f3dd3c29..dbfff14bee 100644 --- a/libs/components/avatar/project.json +++ b/libs/components/avatar/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/avatar/src/**/*.ts", - "libs/components/avatar/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts b/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts index 8cd616ca14..20402c0fda 100644 --- a/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts +++ b/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts @@ -131,7 +131,7 @@ export class SkyAvatarComponent { } } - #handleError(rejectedFiles: Array): void { + #handleError(rejectedFiles: SkyFileItem[]): void { const rejectedFile = rejectedFiles[0]; if (rejectedFile.errorType === 'maxFileSize') { diff --git a/libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts b/libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts index 7f2f30921d..cbf38a671c 100644 --- a/libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts +++ b/libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_avatar_error_not_image_description: { message: 'Please choose a file that is a valid image.', diff --git a/libs/components/colorpicker/package.json b/libs/components/colorpicker/package.json index 8493029b37..d2a5e4f798 100644 --- a/libs/components/colorpicker/package.json +++ b/libs/components/colorpicker/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/colorpicker/project.json b/libs/components/colorpicker/project.json index 6e06868a6a..c97730a3f0 100644 --- a/libs/components/colorpicker/project.json +++ b/libs/components/colorpicker/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/colorpicker/src/**/*.ts", - "libs/components/colorpicker/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts index f7eb9008d7..a9ba564bbe 100644 --- a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts +++ b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts @@ -136,14 +136,10 @@ export class SkyColorpickerInputDirective public allowTransparency = true; @HostBinding('readonly') - protected get readonly(): boolean { - return true; - } + protected readonly readonly = true; @HostBinding('class.sky-colorpicker-input') - protected get colorInputClass(): boolean { - return true; - } + protected readonly colorInputClass = true; #modelValue: SkyColorpickerOutput | undefined; #elementRef: ElementRef; diff --git a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts index 428737771a..03c7d742cf 100644 --- a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts +++ b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts @@ -363,7 +363,7 @@ export class SkyColorpickerComponent implements OnInit, OnDestroy { public setDialog( color: string | undefined, outputFormat: string, - presetColors: Array, + presetColors: string[], alphaChannel: string, allowTransparency: boolean, ): void { diff --git a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts index 4b0230a0b1..a174e9c582 100644 --- a/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts +++ b/libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts @@ -22,7 +22,7 @@ export class SkyColorpickerService { const d = max - min; const saturation = max === 0 ? 0 : d / max; let hue = 0; - let maxValue: { [key: number]: number }; + let maxValue: Record; if (max !== min) { maxValue = { [red]: (green - blue) / d + (green < blue ? 6 : 0), @@ -54,7 +54,7 @@ export class SkyColorpickerService { const p = value * (1 - saturation); const q = value * (1 - f * saturation); const t = value * (1 - (1 - f) * saturation); - const color: { [key: number]: () => void } = { + const color: Record void> = { 0: (): void => { red = value; green = t; @@ -326,7 +326,7 @@ export class SkyColorpickerService { if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) { outputFormat = 'rgba'; } - const color: { [key: string]: () => string } = { + const color: Record string> = { hsla: () => { const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva)); return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`; diff --git a/libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts b/libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts index 66bb7decc9..fece728bb5 100644 --- a/libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts +++ b/libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_colorpicker_alpha: { message: 'A:' }, skyux_colorpicker_apply: { message: 'Apply' }, diff --git a/libs/components/config/package.json b/libs/components/config/package.json index 3176016e89..593a733722 100644 --- a/libs/components/config/package.json +++ b/libs/components/config/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/config/project.json b/libs/components/config/project.json index 06f6f44f8f..032c74fc57 100644 --- a/libs/components/config/project.json +++ b/libs/components/config/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/config/src/**/*.ts", - "libs/components/config/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/config/src/lib/config-params.ts b/libs/components/config/src/lib/config-params.ts index 096186ec0e..5eda39e35e 100644 --- a/libs/components/config/src/lib/config-params.ts +++ b/libs/components/config/src/lib/config-params.ts @@ -1,13 +1,13 @@ /** * The list of parameters that are allowed at runtime. */ -export type SkyuxConfigParams = { - [key: string]: - | boolean - | { - value?: any; - required?: boolean; - excludeFromLinks?: boolean; - excludeFromRequests?: boolean; - }; -}; +export type SkyuxConfigParams = Record< + string, + | boolean + | { + value?: any; + required?: boolean; + excludeFromLinks?: boolean; + excludeFromRequests?: boolean; + } +>; diff --git a/libs/components/config/src/lib/config.ts b/libs/components/config/src/lib/config.ts index 407144472a..8a8e843476 100644 --- a/libs/components/config/src/lib/config.ts +++ b/libs/components/config/src/lib/config.ts @@ -20,13 +20,14 @@ export interface SkyuxRuntimeConfigLocalDev { } export class SkyuxPactConfig { - public providers?: { - [provider: string]: { + public providers?: Record< + string, + { host?: string; port?: string; fullUrl?: string; - }; - }; + } + >; public pactProxyServer?: string; } @@ -109,9 +110,7 @@ export interface SkyuxConfigHostFrameOptionsOthers { urls?: string[]; } -export interface SkyuxConfigHostCspDirectives { - [directiveName: string]: string[]; -} +export type SkyuxConfigHostCspDirectives = Record; export interface SkyuxConfigHostCsp { enabled: boolean; @@ -156,13 +155,13 @@ export interface SkyuxConfig { importPath?: string; librarySettings?: SkyuxConfigLibrarySettings; mode?: string; - moduleAliases?: { [key: string]: string }; + moduleAliases?: Record; name?: string; pacts?: any[]; params?: SkyuxConfigParams; // List of allowed params pipelineSettings?: any; plugins?: string[]; - redirects?: { [from: string]: string }; + redirects?: Record; remoteModules?: SkyuxConfigRemoteModules; routes?: { public?: { diff --git a/libs/components/config/src/lib/types/get-link-url-options.ts b/libs/components/config/src/lib/types/get-link-url-options.ts index 24a5eed43d..2a6cd2b8ba 100644 --- a/libs/components/config/src/lib/types/get-link-url-options.ts +++ b/libs/components/config/src/lib/types/get-link-url-options.ts @@ -3,6 +3,6 @@ import { SkyConfigQueryParams } from './query-params'; /** * Options used to create link URLs. */ -export type SkyConfigGetLinkUrlOptions = { +export interface SkyConfigGetLinkUrlOptions { queryParams: SkyConfigQueryParams; -}; +} diff --git a/libs/components/core/package.json b/libs/components/core/package.json index b029ecaead..dda17f4d82 100644 --- a/libs/components/core/package.json +++ b/libs/components/core/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux/i18n": "0.0.0-PLACEHOLDER" }, "dependencies": { diff --git a/libs/components/core/project.json b/libs/components/core/project.json index 33e0f808f2..6be509d515 100644 --- a/libs/components/core/project.json +++ b/libs/components/core/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/core/src/**/*.ts", - "libs/components/core/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/core/src/lib/modules/adapter-service/adapter.service.spec.ts b/libs/components/core/src/lib/modules/adapter-service/adapter.service.spec.ts index a3c9b778d8..395646cebf 100644 --- a/libs/components/core/src/lib/modules/adapter-service/adapter.service.spec.ts +++ b/libs/components/core/src/lib/modules/adapter-service/adapter.service.spec.ts @@ -231,14 +231,12 @@ describe('Core adapter service', () => { }); describe('height functions', () => { - let childrenArray: Array; + let childrenArray: HTMLElement[]; beforeEach(() => { fixture.detectChanges(); const children = document.querySelectorAll('#height-sync-container div'); - childrenArray = Array.prototype.slice.call( - children, - ) as Array; + childrenArray = Array.prototype.slice.call(children) as HTMLElement[]; }); //#region helpers @@ -259,9 +257,8 @@ describe('Core adapter service', () => { // Expect all heights to now match, and height attributes to be set. expect(heightsSynced(childrenArray)).toEqual(true); - for (let index = 0; index < childrenArray.length; index++) { - const element = childrenArray[index]; - expect(element.getAttribute('style')).toContain('height'); + for (const htmlElement of childrenArray) { + expect(htmlElement.getAttribute('style')).toContain('height'); } }); @@ -271,10 +268,8 @@ describe('Core adapter service', () => { // Expect all heights to no longer be equal, and all inline height attributes to be removed. expect(heightsSynced(childrenArray)).toEqual(false); - for (let index = 0; index < childrenArray.length; index++) { - const element = childrenArray[index]; - const styleAttribute = element.getAttribute('style'); - expect(styleAttribute).toBe(''); + for (const htmlElement of childrenArray) { + expect(htmlElement.getAttribute('style')).toBe(''); } }); }); diff --git a/libs/components/core/src/lib/modules/adapter-service/adapter.service.ts b/libs/components/core/src/lib/modules/adapter-service/adapter.service.ts index 30f2606a80..3df04ecf6e 100644 --- a/libs/components/core/src/lib/modules/adapter-service/adapter.service.ts +++ b/libs/components/core/src/lib/modules/adapter-service/adapter.service.ts @@ -82,10 +82,11 @@ export class SkyCoreAdapterService { * @param enable - Set to `true` to enable pointer events. Set to `false` to disable. */ public toggleIframePointerEvents(enable: boolean): void { - const iframes = document.querySelectorAll('iframe'); - for (let i = 0; i < iframes.length; i++) { - // Setting to empty string will allow iframe to fall back to its prior CSS assignment. - iframes[i].style.pointerEvents = enable ? '' : 'none'; + const iframes = Array.from( + document.querySelectorAll('iframe'), + ); + for (const iframe of iframes) { + this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none'); } } @@ -227,13 +228,11 @@ export class SkyCoreAdapterService { * @param selector - The CSS selector to use when finding elements for removing height. */ public resetHeight(elementRef: ElementRef, selector: string): void { - const children = elementRef.nativeElement.querySelectorAll(selector); - /* istanbul ignore else */ - if (children.length > 0) { - for (let i = 0; i < children.length; i++) { - // Setting style attributes with Web API requires null instead of undefined. - children[i].style.height = null; - } + const children = Array.from( + elementRef.nativeElement.querySelectorAll(selector), + ); + for (const child of children) { + this.#renderer.removeStyle(child, 'height'); } } @@ -243,20 +242,22 @@ export class SkyCoreAdapterService { * @param selector - The CSS selector to use when finding elements for syncing height. */ public syncMaxHeight(elementRef: ElementRef, selector: string): void { - const children = elementRef.nativeElement.querySelectorAll(selector); + const children = Array.from( + elementRef.nativeElement.querySelectorAll(selector), + ); /* istanbul ignore else */ if (children.length > 0) { let maxHeight = 0; - for (let i = 0; i < children.length; i++) { - maxHeight = Math.max(maxHeight, children[i].offsetHeight); + for (const child of children) { + maxHeight = Math.max(maxHeight, child.offsetHeight); } - for (let i = 0; i < children.length; i++) { - children[i].style.height = maxHeight + 'px'; + for (const child of children) { + this.#renderer.setStyle(child, 'height', `${maxHeight}px`); } } } - #focusFirstElement(list: Array): boolean { + #focusFirstElement(list: HTMLElement[]): boolean { if (list.length > 0) { list[0].focus(); return true; diff --git a/libs/components/core/src/lib/modules/affix/affix-utils.ts b/libs/components/core/src/lib/modules/affix/affix-utils.ts index e1aecb5c4b..6d44866fa8 100644 --- a/libs/components/core/src/lib/modules/affix/affix-utils.ts +++ b/libs/components/core/src/lib/modules/affix/affix-utils.ts @@ -16,7 +16,7 @@ export function getNextPlacement( export function getInversePlacement( placement: SkyAffixPlacement, ): SkyAffixPlacement { - const pairings: { [_: string]: SkyAffixPlacement } = { + const pairings: Record = { above: 'below', below: 'above', right: 'left', diff --git a/libs/components/core/src/lib/modules/content-info-provider/content-info-descriptor.ts b/libs/components/core/src/lib/modules/content-info-provider/content-info-descriptor.ts index 90eabacf88..a01c42b4fc 100644 --- a/libs/components/core/src/lib/modules/content-info-provider/content-info-descriptor.ts +++ b/libs/components/core/src/lib/modules/content-info-provider/content-info-descriptor.ts @@ -3,7 +3,7 @@ * * @internal */ -export type SkyContentInfoDescriptor = { +export interface SkyContentInfoDescriptor { /** * A descriptor of type `text` is an already localized string that describes a parent's content, i.e. constituent. * A descriptor of type `elementId` is an HTML Element ID of an element that describes a parent's content, i.e. the ID to a box header. @@ -13,4 +13,4 @@ export type SkyContentInfoDescriptor = { * A value of the given type. */ value: string; -}; +} diff --git a/libs/components/core/src/lib/modules/content-info-provider/content-info-provider.ts b/libs/components/core/src/lib/modules/content-info-provider/content-info-provider.ts index 8c7eb12d7a..c2f2706374 100644 --- a/libs/components/core/src/lib/modules/content-info-provider/content-info-provider.ts +++ b/libs/components/core/src/lib/modules/content-info-provider/content-info-provider.ts @@ -10,7 +10,7 @@ import { SkyContentInfo } from './content-info'; * name to its context menus. */ export class SkyContentInfoProvider { - #contentInfo: ReplaySubject = new ReplaySubject(1); + #contentInfo = new ReplaySubject(1); #currentValue: SkyContentInfo = {}; public patchInfo(value: SkyContentInfo): void { diff --git a/libs/components/core/src/lib/modules/content-info-provider/content-info.ts b/libs/components/core/src/lib/modules/content-info-provider/content-info.ts index 418e2895eb..c22a2a2a4a 100644 --- a/libs/components/core/src/lib/modules/content-info-provider/content-info.ts +++ b/libs/components/core/src/lib/modules/content-info-provider/content-info.ts @@ -5,10 +5,10 @@ import { SkyContentInfoDescriptor } from './content-info-descriptor'; * * @internal */ -export type SkyContentInfo = { +export interface SkyContentInfo { /** * Information that describes the content within a parent component a consumer has rendered, i.e. "constituents". * Provided as localized text or an element ID pointing to text that is the descriptor. */ descriptor?: SkyContentInfoDescriptor; -}; +} diff --git a/libs/components/core/src/lib/modules/live-announcer/live-announcer.service.ts b/libs/components/core/src/lib/modules/live-announcer/live-announcer.service.ts index 45151b85a8..dda68e0d04 100644 --- a/libs/components/core/src/lib/modules/live-announcer/live-announcer.service.ts +++ b/libs/components/core/src/lib/modules/live-announcer/live-announcer.service.ts @@ -72,13 +72,14 @@ export class SkyLiveAnnouncerService implements OnDestroy { #createLiveElement(): HTMLElement { const elementClass = 'sky-live-announcer-element'; - const previousElements = - this.#document.getElementsByClassName(elementClass); + const previousElements = Array.from( + this.#document.getElementsByClassName(elementClass), + ); const liveEl = this.#document.createElement('div'); // Remove any old containers. This can happen when coming in from a server-side-rendered page. - for (let i = 0; i < previousElements.length; i++) { - previousElements[i].remove(); + for (const previousElement of previousElements) { + previousElement.remove(); } liveEl.classList.add(elementClass); diff --git a/libs/components/core/src/lib/modules/scrollable-host/scrollable-host.service.spec.ts b/libs/components/core/src/lib/modules/scrollable-host/scrollable-host.service.spec.ts index 8fed9299bf..183009dda2 100644 --- a/libs/components/core/src/lib/modules/scrollable-host/scrollable-host.service.spec.ts +++ b/libs/components/core/src/lib/modules/scrollable-host/scrollable-host.service.spec.ts @@ -178,7 +178,7 @@ describe('Scrollable host service', () => { it('should only setup the mutation observer once for multiple observations of the scrollable host', (done) => { let observable1Count = 0; let observable2Count = 0; - const testUnsubscribe: Subject = new Subject(); + const testUnsubscribe = new Subject(); const scrollableHostObservable = cmp.watchScrollableHost(); @@ -437,7 +437,7 @@ describe('Scrollable host service', () => { it('should only setup the scrollable host observer once for multiple observations of the scroll events', (done) => { let observable1Count = 0; let observable2Count = 0; - const testUnsubscribe: Subject = new Subject(); + const testUnsubscribe = new Subject(); const scrollObservable = cmp.watchScrollableHostScrollEvents(); diff --git a/libs/components/core/src/lib/modules/shared/sky-core-resources.module.ts b/libs/components/core/src/lib/modules/shared/sky-core-resources.module.ts index 78c799d88b..35c42de1fe 100644 --- a/libs/components/core/src/lib/modules/shared/sky-core-resources.module.ts +++ b/libs/components/core/src/lib/modules/shared/sky-core-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_numeric_billions_symbol: { message: 'B' }, skyux_numeric_millions_symbol: { message: 'M' }, diff --git a/libs/components/data-manager/package.json b/libs/components/data-manager/package.json index ffe6c1176b..ea4e43c051 100644 --- a/libs/components/data-manager/package.json +++ b/libs/components/data-manager/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/data-manager/project.json b/libs/components/data-manager/project.json index ddc642aaf4..4a5639dafd 100644 --- a/libs/components/data-manager/project.json +++ b/libs/components/data-manager/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/data-manager/src/**/*.ts", - "libs/components/data-manager/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/data-manager/src/lib/modules/shared/sky-data-manager-resources.module.ts b/libs/components/data-manager/src/lib/modules/shared/sky-data-manager-resources.module.ts index 93e58a6bbb..1f27f1bca3 100644 --- a/libs/components/data-manager/src/lib/modules/shared/sky-data-manager-resources.module.ts +++ b/libs/components/data-manager/src/lib/modules/shared/sky-data-manager-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_data_manager_column_picker_title: { message: 'Choose columns to show in the list', diff --git a/libs/components/datetime/package.json b/libs/components/datetime/package.json index 1f2eaae259..9ea3b92a12 100644 --- a/libs/components/datetime/package.json +++ b/libs/components/datetime/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/datetime/project.json b/libs/components/datetime/project.json index 0cbc026a95..feced6a3a5 100644 --- a/libs/components/datetime/project.json +++ b/libs/components/datetime/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/datetime/src/**/*.ts", - "libs/components/datetime/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/datetime/src/lib/modules/date-pipe/date.service.ts b/libs/components/datetime/src/lib/modules/date-pipe/date.service.ts index 1dc8827181..4fe20a80c1 100644 --- a/libs/components/datetime/src/lib/modules/date-pipe/date.service.ts +++ b/libs/components/datetime/src/lib/modules/date-pipe/date.service.ts @@ -21,7 +21,7 @@ import { takeUntil } from 'rxjs/operators'; }) export class SkyDateService implements OnDestroy { /* spell-checker:disable */ - #ALIASES: { [key: string]: string } = { + #ALIASES: Record = { medium: 'yMMMdjms', short: 'yMdjm', fullDate: 'yMMMMEEEEd', diff --git a/libs/components/datetime/src/lib/modules/date-range-picker/date-range.service.ts b/libs/components/datetime/src/lib/modules/date-range-picker/date-range.service.ts index 58d4abb363..61e8eb476d 100644 --- a/libs/components/datetime/src/lib/modules/date-range-picker/date-range.service.ts +++ b/libs/components/datetime/src/lib/modules/date-range-picker/date-range.service.ts @@ -20,7 +20,7 @@ export class SkyDateRangeService { #calculatorReadyStream = new BehaviorSubject(false); - #calculatorConfigs: { [id: number]: SkyDateRangeCalculatorConfig } = {}; + #calculatorConfigs: Record = {}; #calculators: SkyDateRangeCalculator[] = []; diff --git a/libs/components/datetime/src/lib/modules/datepicker/datepicker-calendar-inner.component.ts b/libs/components/datetime/src/lib/modules/datepicker/datepicker-calendar-inner.component.ts index 756e7f8ba1..8b822d5fe3 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/datepicker-calendar-inner.component.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/datepicker-calendar-inner.component.ts @@ -304,10 +304,10 @@ export class SkyDatepickerCalendarInnerComponent } public createCalendarRows( - dates: Array, + dates: SkyDatepickerDate[], size: number, - ): Array> { - const rows: Array> = []; + ): SkyDatepickerDate[][] { + const rows: SkyDatepickerDate[][] = []; while (dates.length > 0) { rows.push(dates.splice(0, size)); } diff --git a/libs/components/datetime/src/lib/modules/datepicker/datepicker-custom-date.ts b/libs/components/datetime/src/lib/modules/datepicker/datepicker-custom-date.ts index 6c856e61ca..aea07ebe4d 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/datepicker-custom-date.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/datepicker-custom-date.ts @@ -20,5 +20,5 @@ export interface SkyDatepickerCustomDate { /** * Displays a popup of the provided text when hovering over the key date in the calendar. */ - keyDateText?: Array; + keyDateText?: string[]; } diff --git a/libs/components/datetime/src/lib/modules/datepicker/datepicker-date.ts b/libs/components/datetime/src/lib/modules/datepicker/datepicker-date.ts index d6252c1de1..3142867b76 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/datepicker-date.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/datepicker-date.ts @@ -10,5 +10,5 @@ export interface SkyDatepickerDate { secondary: boolean; uid: string; keyDate?: boolean; - keyDateText?: Array; + keyDateText?: string[]; } diff --git a/libs/components/datetime/src/lib/modules/datepicker/daypicker.component.ts b/libs/components/datetime/src/lib/modules/datepicker/daypicker.component.ts index 02dcebfeeb..302f400be2 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/daypicker.component.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/daypicker.component.ts @@ -52,14 +52,12 @@ export class SkyDayPickerComponent implements OnDestroy, OnInit { public activeDateHasChanged = false; public labels: any[] = []; public title = ''; - public rows: Array> = []; + public rows: SkyDatepickerDate[][] = []; public weekNumbers: number[] = []; public datepicker: SkyDatepickerCalendarInnerComponent; public CURRENT_THEME_TEMPLATE: any; - #daysInMonth: Array = [ - 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, - ]; + #daysInMonth: number[] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; #initialDate: number | undefined; #ngUnsubscribe = new Subject(); @@ -134,7 +132,7 @@ export class SkyDayPickerComponent implements OnDestroy, OnInit { // 42 is the number of days on a six-week calendar const days: Date[] = this.getDates(firstDate, 42); - const pickerDates: Array = []; + const pickerDates: SkyDatepickerDate[] = []; for (let i = 0; i < 42; i++) { const _dateObject = this.datepicker.createDateObject( days[i], @@ -282,9 +280,7 @@ export class SkyDayPickerComponent implements OnDestroy, OnInit { } } - #getDateRange( - rows: Array>, - ): SkyDateRange | undefined { + #getDateRange(rows: SkyDatepickerDate[][]): SkyDateRange | undefined { /* istanbul ignore else */ if (rows && rows.length > 0) { return { diff --git a/libs/components/datetime/src/lib/modules/datepicker/fuzzy-date.service.ts b/libs/components/datetime/src/lib/modules/datepicker/fuzzy-date.service.ts index 3a8bd427c8..1d4e230a33 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/fuzzy-date.service.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/fuzzy-date.service.ts @@ -94,9 +94,7 @@ export class SkyFuzzyDateService implements OnDestroy { const fuzzyDateMoment = this.getMomentFromFuzzyDate(fuzzyDate).locale(locale); - for (let index = 0; index < formatTokens.length; index++) { - const token = formatTokens[index]; - + for (const token of formatTokens) { /* istanbul ignore else */ if (token) { switch (token.substr(0, 1).toLowerCase()) { diff --git a/libs/components/datetime/src/lib/modules/datepicker/monthpicker.component.ts b/libs/components/datetime/src/lib/modules/datepicker/monthpicker.component.ts index 62ff34ddad..6d81d4234e 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/monthpicker.component.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/monthpicker.component.ts @@ -14,7 +14,7 @@ import { SkyDatepickerDate } from './datepicker-date'; export class SkyMonthPickerComponent implements OnInit { public datepicker: SkyDatepickerCalendarInnerComponent; - public rows: Array> = []; + public rows: SkyDatepickerDate[][] = []; public title = ''; @@ -47,7 +47,7 @@ export class SkyMonthPickerComponent implements OnInit { } #refreshMonthView(): void { - const months: Array = new Array(12); + const months = new Array(12); const year: number = this.datepicker.activeDate.getFullYear(); let date: Date; diff --git a/libs/components/datetime/src/lib/modules/datepicker/yearpicker.component.ts b/libs/components/datetime/src/lib/modules/datepicker/yearpicker.component.ts index cab1f1c8cf..474ddddac8 100644 --- a/libs/components/datetime/src/lib/modules/datepicker/yearpicker.component.ts +++ b/libs/components/datetime/src/lib/modules/datepicker/yearpicker.component.ts @@ -14,7 +14,7 @@ import { SkyDatepickerDate } from './datepicker-date'; export class SkyYearPickerComponent implements OnInit { public datepicker: SkyDatepickerCalendarInnerComponent; - public rows: Array> = []; + public rows: SkyDatepickerDate[][] = []; public title = ''; @@ -51,9 +51,7 @@ export class SkyYearPickerComponent implements OnInit { } #refreshYearView() { - const years: Array = new Array( - this.datepicker.yearRange, - ); + const years = new Array(this.datepicker.yearRange); let date: Date; const start = this.getStartingYear( this.datepicker.activeDate.getFullYear(), diff --git a/libs/components/datetime/src/lib/modules/shared/sky-datetime-resources.module.ts b/libs/components/datetime/src/lib/modules/shared/sky-datetime-resources.module.ts index 1a7970f17d..118872df04 100644 --- a/libs/components/datetime/src/lib/modules/shared/sky-datetime-resources.module.ts +++ b/libs/components/datetime/src/lib/modules/shared/sky-datetime-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-AU': { skyux_date_range_picker_format_label_last_fiscal_year: { message: 'Last financial year', diff --git a/libs/components/datetime/src/lib/modules/timepicker/timepicker.component.ts b/libs/components/datetime/src/lib/modules/timepicker/timepicker.component.ts index 425016c2af..a4613758ef 100644 --- a/libs/components/datetime/src/lib/modules/timepicker/timepicker.component.ts +++ b/libs/components/datetime/src/lib/modules/timepicker/timepicker.component.ts @@ -155,7 +155,7 @@ export class SkyTimepickerComponent implements OnInit, OnDestroy { public activeTime: Date = new Date(); - public hours: Array = []; + public hours: number[] = []; public is8601 = false; @@ -165,7 +165,7 @@ export class SkyTimepickerComponent implements OnInit, OnDestroy { public localeFormat = 'h:mm A'; - public minutes: Array = []; + public minutes: number[] = []; public minuteMultiplier: number | undefined; diff --git a/libs/components/errors/package.json b/libs/components/errors/package.json index e7ae270edd..faaeefd10c 100644 --- a/libs/components/errors/package.json +++ b/libs/components/errors/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/errors/project.json b/libs/components/errors/project.json index 6007b44b90..ca99727089 100644 --- a/libs/components/errors/project.json +++ b/libs/components/errors/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/errors/src/**/*.ts", - "libs/components/errors/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/errors/src/lib/modules/shared/sky-errors-resources.module.ts b/libs/components/errors/src/lib/modules/shared/sky-errors-resources.module.ts index 5ec351f07a..1bc5b61a7e 100644 --- a/libs/components/errors/src/lib/modules/shared/sky-errors-resources.module.ts +++ b/libs/components/errors/src/lib/modules/shared/sky-errors-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_errors_broken_description: { message: 'Something went wrong.\nTry again or come back later.', diff --git a/libs/components/flyout/package.json b/libs/components/flyout/package.json index 0087eb7d5d..2a2b8e743d 100644 --- a/libs/components/flyout/package.json +++ b/libs/components/flyout/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", "@skyux/indicators": "0.0.0-PLACEHOLDER", diff --git a/libs/components/flyout/project.json b/libs/components/flyout/project.json index 8b1852a7ff..c445cfc5cb 100644 --- a/libs/components/flyout/project.json +++ b/libs/components/flyout/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/flyout/src/**/*.ts", - "libs/components/flyout/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts b/libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts index 9ad38a4464..c67a3c860d 100644 --- a/libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts +++ b/libs/components/flyout/src/lib/modules/flyout/flyout-adapter.service.ts @@ -73,9 +73,9 @@ export class SkyFlyoutAdapterService { // temporarily disable pointer events in iframes when dragging starts. // When re-enabling we set to the empty string as it will remove the element styling // and fall back to any css originally given to iframe - const iframes = document.querySelectorAll('iframe'); - for (let i = 0; i < iframes.length; i++) { - iframes[i].style.pointerEvents = enable ? '' : 'none'; + const iframes = Array.from(document.querySelectorAll('iframe')); + for (const iframe of iframes) { + this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none'); } } } diff --git a/libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts b/libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts index 5ae160b7a2..24a10c7df7 100644 --- a/libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts +++ b/libs/components/flyout/src/lib/modules/shared/sky-flyout-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_flyout_close: { message: 'Close flyout' }, skyux_flyout_iterator_previous_button: { message: 'Previous' }, diff --git a/libs/components/forms/package.json b/libs/components/forms/package.json index f625e7d83c..46b2c8158b 100644 --- a/libs/components/forms/package.json +++ b/libs/components/forms/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/forms/project.json b/libs/components/forms/project.json index d154e56689..6a039bfa31 100644 --- a/libs/components/forms/project.json +++ b/libs/components/forms/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/forms/src/**/*.ts", - "libs/components/forms/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.spec.ts b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.spec.ts index b535c23777..142291abb5 100644 --- a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.spec.ts +++ b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.spec.ts @@ -214,7 +214,7 @@ describe('File attachment', () => { } function setupStandardFileChangeEvent( - files?: Array, + files?: any[], existingSpy?: jasmine.Spy, ): jasmine.Spy { const fileReaderSpyData = getFileReaderSpyData(existingSpy); diff --git a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.ts b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.ts index ed74089f39..8fa432018e 100644 --- a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.ts +++ b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.component.ts @@ -309,11 +309,9 @@ export class SkyFileAttachmentComponent if (transfer) { if (transfer.items) { - const files = transfer.items; - - for (let index = 0; index < files.length; index++) { - const file: any = files[index]; + const files = Array.from(transfer.items); + for (const file of files) { if ( file.type && this.#fileAttachmentService.fileTypeRejected( diff --git a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.service.ts b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.service.ts index 3d46bc3a7c..cfe2d98b70 100644 --- a/libs/components/forms/src/lib/modules/file-attachment/file-attachment.service.ts +++ b/libs/components/forms/src/lib/modules/file-attachment/file-attachment.service.ts @@ -87,8 +87,7 @@ export class SkyFileAttachmentService { return true; } - for (let index = 0; index < typeArray.length; index++) { - const type = typeArray[index]; + for (const type of typeArray) { const validSubtype = this.#getMimeSubtype(type); if (validSubtype === '*') { diff --git a/libs/components/forms/src/lib/modules/file-attachment/file-drop.component.ts b/libs/components/forms/src/lib/modules/file-attachment/file-drop.component.ts index e1c47d1db9..90168b3be8 100644 --- a/libs/components/forms/src/lib/modules/file-attachment/file-drop.component.ts +++ b/libs/components/forms/src/lib/modules/file-attachment/file-drop.component.ts @@ -184,11 +184,9 @@ export class SkyFileDropComponent implements OnDestroy { if (transfer) { if (transfer.items) { - const files = transfer.items; - - for (let index = 0; index < files.length; index++) { - const file: any = files[index]; + const files = Array.from(transfer.items); + for (const file of files) { if ( file.type && this.#fileAttachmentService.fileTypeRejected( @@ -277,8 +275,8 @@ export class SkyFileDropComponent implements OnDestroy { #emitFileChangeEvent( totalFiles: number, - rejectedFileArray: Array, - validFileArray: Array, + rejectedFileArray: SkyFileItem[], + validFileArray: SkyFileItem[], ): void { if (totalFiles === rejectedFileArray.length + validFileArray.length) { this.filesChanged.emit({ @@ -294,8 +292,8 @@ export class SkyFileDropComponent implements OnDestroy { #filesRejected( file: SkyFileItem, - validFileArray: Array, - rejectedFileArray: Array, + validFileArray: SkyFileItem[], + rejectedFileArray: SkyFileItem[], totalFiles: number, ): void { rejectedFileArray.push(file); @@ -305,8 +303,8 @@ export class SkyFileDropComponent implements OnDestroy { #loadFile( fileDrop: SkyFileDropComponent, file: SkyFileItem, - validFileArray: Array, - rejectedFileArray: Array, + validFileArray: SkyFileItem[], + rejectedFileArray: SkyFileItem[], totalFiles: number, ): void { const reader = new FileReader(); @@ -348,8 +346,8 @@ export class SkyFileDropComponent implements OnDestroy { #handleFiles(files?: FileList | null): void { if (files) { - const validFileArray: Array = []; - const rejectedFileArray: Array = []; + const validFileArray: SkyFileItem[] = []; + const rejectedFileArray: SkyFileItem[] = []; const totalFiles = files.length; const processedFiles = this.#fileAttachmentService.checkFiles( diff --git a/libs/components/forms/src/lib/modules/file-attachment/types/file-drop-change.ts b/libs/components/forms/src/lib/modules/file-attachment/types/file-drop-change.ts index fb76f1c192..14b8a08b2a 100644 --- a/libs/components/forms/src/lib/modules/file-attachment/types/file-drop-change.ts +++ b/libs/components/forms/src/lib/modules/file-attachment/types/file-drop-change.ts @@ -4,9 +4,9 @@ export interface SkyFileDropChange { /** * The array of files that were added or removed. */ - files: Array; + files: SkyFileItem[]; /** * The array of files that were rejected. */ - rejectedFiles: Array; + rejectedFiles: SkyFileItem[]; } diff --git a/libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.spec.ts b/libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.spec.ts index a0b8242d0f..0552f4e661 100644 --- a/libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.spec.ts +++ b/libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.spec.ts @@ -114,10 +114,8 @@ describe('Selection box grid component', () => { // Fixture has a single hard-coded selection box of 500px, // so the other selection boxes should be at least 500px tall. expect(newHeight).toBeGreaterThanOrEqual(500); - for (let i = 0; i < selectionBoxes.length; i++) { - expect(selectionBoxes[i].getBoundingClientRect().height).toEqual( - newHeight, - ); + for (const selectionBox of Array.from(selectionBoxes)) { + expect(selectionBox.getBoundingClientRect().height).toEqual(newHeight); } }); diff --git a/libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts b/libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts index 176f00ca26..5f3c8be846 100644 --- a/libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts +++ b/libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_character_count_message: { message: 'characters out of' }, skyux_character_count_over_limit: { diff --git a/libs/components/grids/package.json b/libs/components/grids/package.json index bb22059e99..e10f6598d4 100644 --- a/libs/components/grids/package.json +++ b/libs/components/grids/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/grids/project.json b/libs/components/grids/project.json index c186bf7197..6073c160cf 100644 --- a/libs/components/grids/project.json +++ b/libs/components/grids/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/grids/src/**/*.ts", - "libs/components/grids/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid-async.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid-async.component.fixture.ts index ea1f140f15..3b9b6f0c5b 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid-async.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid-async.component.fixture.ts @@ -15,7 +15,7 @@ export class GridAsyncTestComponent implements OnInit { public asyncPopover: any; - public items: Array = [ + public items: any[] = [ { id: 1, name: 'Windstorm', email: 'windstorm@gmail.com' }, { id: 2, name: 'Bombastic', email: 'Bombastic@gmail.com' }, { id: 3, name: 'Magenta', email: 'magenta@gmail.com' }, diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid-dynamic.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid-dynamic.component.fixture.ts index fd107fa434..66f821fe04 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid-dynamic.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid-dynamic.component.fixture.ts @@ -5,8 +5,8 @@ import { Component } from '@angular/core'; templateUrl: './grid-dynamic.component.fixture.html', }) export class GridDynamicTestComponent { - public data: Array; - public gridColumns: Array; + public data: any[]; + public gridColumns: any[]; constructor() { this.data = [ { id: 1, name: 'Windstorm', email: 'windstorm@gmail.com' }, diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid-empty.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid-empty.component.fixture.ts index cd29032813..468c5a6561 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid-empty.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid-empty.component.fixture.ts @@ -17,7 +17,7 @@ export class GridEmptyTestComponent { @ViewChild(TemplateRef) public template: TemplateRef; - public columns: Array; + public columns: SkyGridColumnModel[]; public selectedColumnIds: string[]; public settingsKey: string; diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid-interactive.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid-interactive.component.fixture.ts index ba49ed29c4..6b2b48edd5 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid-interactive.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid-interactive.component.fixture.ts @@ -31,7 +31,7 @@ export class GridInteractiveTestComponent { public searchText: string; public activeSortSelector: ListSortFieldSelectorModel; public sortField: ListSortFieldSelectorModel; - public columnWidthsChange: Array; + public columnWidthsChange: SkyGridColumnWidthModelChange[]; public fitType = 'scroll'; public enableMultiselect = true; public multiselectRowId: string; diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid-no-header.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid-no-header.component.fixture.ts index 211bf5df4d..453eabee19 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid-no-header.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid-no-header.component.fixture.ts @@ -8,7 +8,7 @@ import { SkyGridComponent } from '../grid.component'; templateUrl: './grid-no-header.component.fixture.html', }) export class GridNoHeaderTestComponent { - public columns: Array; + public columns: SkyGridColumnModel[]; public data: any[] = [ { diff --git a/libs/components/grids/src/lib/modules/grid/fixtures/grid.component.fixture.ts b/libs/components/grids/src/lib/modules/grid/fixtures/grid.component.fixture.ts index 7e92ad7012..55f861ad73 100644 --- a/libs/components/grids/src/lib/modules/grid/fixtures/grid.component.fixture.ts +++ b/libs/components/grids/src/lib/modules/grid/fixtures/grid.component.fixture.ts @@ -28,7 +28,7 @@ export class GridTestComponent { public allColumnWidth: number; - public columnWidthsChange: Array; + public columnWidthsChange: SkyGridColumnWidthModelChange[]; public data: any[] = [ { @@ -113,7 +113,7 @@ export class GridTestComponent { public selectedRowsChange: SkyGridSelectedRowsModelChange; - public selectedRowIds: Array; + public selectedRowIds: string[]; public settingsKey: string; @@ -191,7 +191,7 @@ export class GridTestComponent { .slice(); } - public onResize(columnWidths: Array): void { + public onResize(columnWidths: SkyGridColumnWidthModelChange[]): void { this.columnWidthsChange = columnWidths; } diff --git a/libs/components/grids/src/lib/modules/grid/grid-adapter.service.ts b/libs/components/grids/src/lib/modules/grid/grid-adapter.service.ts index 669167200c..935ff89fde 100644 --- a/libs/components/grids/src/lib/modules/grid/grid-adapter.service.ts +++ b/libs/components/grids/src/lib/modules/grid/grid-adapter.service.ts @@ -27,7 +27,7 @@ export class SkyGridAdapterService { public initializeDragAndDrop( dragulaGroupName: string, dragulaService: DragulaService, - dropCallback: (newColumnIds: Array) => void, + dropCallback: (newColumnIds: string[]) => void, ) { dragulaService .drag(dragulaGroupName) @@ -41,11 +41,12 @@ export class SkyGridAdapterService { dragulaService.drop(dragulaGroupName).subscribe((args) => { const columnIds: string[] = []; - const nodes = args.target.querySelectorAll( - `th:not(${GRID_MULTISELECT_SELECTOR}):not(${GRID_ROW_DELETE_SELECTOR})`, + const nodes = Array.from( + args.target.querySelectorAll( + `th:not(${GRID_MULTISELECT_SELECTOR}):not(${GRID_ROW_DELETE_SELECTOR})`, + ), ); - for (let i = 0; i < nodes.length; i++) { - const el = nodes[i]; + for (const el of nodes) { const id = el.getAttribute('sky-cmp-id'); columnIds.push(id); } diff --git a/libs/components/grids/src/lib/modules/grid/grid.component.spec.ts b/libs/components/grids/src/lib/modules/grid/grid.component.spec.ts index 0329324b80..a7e65524db 100644 --- a/libs/components/grids/src/lib/modules/grid/grid.component.spec.ts +++ b/libs/components/grids/src/lib/modules/grid/grid.component.spec.ts @@ -372,9 +372,7 @@ describe('Grid Component', () => { useAllHeaders = false, hiddenCol = false, ) { - for (let i = 0; i < component.data.length; i++) { - const row = component.data[i]; - + for (const row of component.data) { expect( getCell(row.id, 'column1', element).nativeElement.textContent.trim(), ).toBe(row.column1); @@ -563,8 +561,8 @@ describe('Grid Component', () => { ); expect(searchFunctions.length).toBe(5); - for (let i = 0; i < searchFunctions.length; i++) { - const result = searchFunctions[i]('Something', 'something'); + for (const searchFunction of searchFunctions) { + const result = searchFunction('Something', 'something'); expect(result).toBe(true); } @@ -574,8 +572,8 @@ describe('Grid Component', () => { component.searchText = ''; component.searchedData = ''; - for (let i = 0; i < searchFunctions.length; i++) { - const result = searchFunctions[i]('blah', 'something'); + for (const searchFunction of searchFunctions) { + const result = searchFunction('blah', 'something'); if (component.searchText !== '') { expect(result).toBe(true); } else { @@ -585,8 +583,8 @@ describe('Grid Component', () => { component.searchedData = ''; } - for (let i = 0; i < searchFunctions.length; i++) { - const result = searchFunctions[i](undefined, 'something'); + for (const searchFunction of searchFunctions) { + const result = searchFunction(undefined, 'something'); if (component.searchText !== '') { expect(result).toBe(true); } else { @@ -2740,9 +2738,7 @@ describe('Grid Component', () => { } function verifyData(hideColumn = false, thirdColumn = false): void { - for (let i = 0; i < component.data.length; i++) { - const row = component.data[i]; - + for (const row of component.data) { expect( getCell(row.id, 'column1', element).nativeElement.textContent.trim(), ).toBe(row.column1); diff --git a/libs/components/grids/src/lib/modules/grid/grid.component.ts b/libs/components/grids/src/lib/modules/grid/grid.component.ts index 8f734376e6..9356e7bcc9 100644 --- a/libs/components/grids/src/lib/modules/grid/grid.component.ts +++ b/libs/components/grids/src/lib/modules/grid/grid.component.ts @@ -88,7 +88,7 @@ export class SkyGridComponent * Columns and column properties for the grid. */ @Input() - public set columns(newColumns: Array) { + public set columns(newColumns: SkyGridColumnModel[]) { const oldColumns = this.columns; this._columns = newColumns; if (oldColumns) { @@ -99,7 +99,7 @@ export class SkyGridComponent this.changeDetector.markForCheck(); } - public get columns(): Array { + public get columns(): SkyGridColumnModel[] { return this._columns; } @@ -108,7 +108,7 @@ export class SkyGridComponent * to the `field` or `id` property of each column in the grid. */ @Input() - public data: Array; + public data: any[]; /** * Whether to enable the multiselect feature to display a column of @@ -175,7 +175,7 @@ export class SkyGridComponent * of the columns. If no columns are specified, then the grid displays all columns. */ @Input() - public set selectedColumnIds(value: Array) { + public set selectedColumnIds(value: string[]) { const currentIds = this._selectedColumnIds; this._selectedColumnIds = value; @@ -203,7 +203,7 @@ export class SkyGridComponent this.selectedColumnIdsSet = true; } - public get selectedColumnIds(): Array { + public get selectedColumnIds(): string[] { return this._selectedColumnIds; } @@ -213,7 +213,7 @@ export class SkyGridComponent * Rows with IDs that are not included are de-selected in the grid. */ @Input() - public set selectedRowIds(value: Array) { + public set selectedRowIds(value: string[]) { if (value) { this._selectedRowIds = value; this.applySelectedRows(); @@ -221,7 +221,7 @@ export class SkyGridComponent } } - public get selectedRowIds(): Array { + public get selectedRowIds(): string[] { return this._selectedRowIds; } @@ -256,7 +256,7 @@ export class SkyGridComponent */ @Output() public columnWidthChange = new EventEmitter< - Array + SkyGridColumnWidthModelChange[] >(); /** @@ -285,7 +285,7 @@ export class SkyGridComponent * The event emits an array of IDs for the displayed columns that reflects the column order. */ @Output() - public selectedColumnIdsChange = new EventEmitter>(); + public selectedColumnIdsChange = new EventEmitter(); /** * Fires when the active sort field changes. @@ -295,11 +295,11 @@ export class SkyGridComponent public columnResizeStep = 10; public currentSortField: BehaviorSubject; - public displayedColumns: Array; + public displayedColumns: SkyGridColumnModel[]; public dragulaGroupName: string; public gridId: number = ++nextId; public rowDeleteConfigs: SkyGridRowDeleteConfig[] = []; - public items: Array; + public items: any[]; public maxColWidth = 9999; // This is an arbitrary number, as the input range picker won't work without a value. public minColWidth = 50; public showResizeBar = false; @@ -333,16 +333,16 @@ export class SkyGridComponent private isDraggingResizeHandle = false; private isResized = false; private ngUnsubscribe = new Subject(); - private rowDeleteContents: { [id: string]: SkyGridRowDeleteContents } = {}; + private rowDeleteContents: Record = {}; private startColumnWidth: number; private subscriptions: Subscription[] = []; private scrollTriggered = false; private selectedColumnIdsSet = false; private xPosStart: number; - private _columns: Array; - private _selectedColumnIds: Array; - private _selectedRowIds: Array; + private _columns: SkyGridColumnModel[]; + private _selectedColumnIds: string[]; + private _selectedRowIds: string[]; readonly #environmentInjector = inject(EnvironmentInjector); @@ -392,7 +392,7 @@ export class SkyGridComponent this.gridAdapter.initializeDragAndDrop( this.dragulaGroupName, this.dragulaService, - (selectedColumnIds: Array) => { + (selectedColumnIds: string[]) => { this.onHeaderDrop(selectedColumnIds); }, ); @@ -867,16 +867,16 @@ export class SkyGridComponent } private multiselectSelectAll() { - for (let i = 0; i < this.items.length; i++) { - this.items[i].isSelected = true; + for (const item of this.items) { + item.isSelected = true; } this.changeDetector.markForCheck(); this.emitSelectedRows(SkyGridSelectedRowsSource.SelectAll); } private multiselectClearAll() { - for (let i = 0; i < this.items.length; i++) { - this.items[i].isSelected = false; + for (const item of this.items) { + item.isSelected = false; } this.changeDetector.markForCheck(); this.emitSelectedRows(SkyGridSelectedRowsSource.ClearAll); @@ -976,7 +976,7 @@ export class SkyGridComponent this.changeDetector.markForCheck(); } - private onHeaderDrop(newColumnIds: Array) { + private onHeaderDrop(newColumnIds: string[]) { // update selected columnIds this.selectedColumnIdsSet = true; this.selectedColumnIds = newColumnIds; @@ -1041,9 +1041,8 @@ export class SkyGridComponent private applySelectedRows(): void { if (this.items && this.items.length > 0 && this.selectedRowIds) { - for (let i = 0; i < this.items.length; i++) { - this.items[i].isSelected = - this.selectedRowIds.indexOf(this.items[i].id) > -1; + for (const item of this.items) { + item.isSelected = this.selectedRowIds.indexOf(item.id) > -1; } this.changeDetector.markForCheck(); } diff --git a/libs/components/grids/src/lib/modules/shared/sky-grids-resources.module.ts b/libs/components/grids/src/lib/modules/shared/sky-grids-resources.module.ts index d0d9a621b6..d89ea4e4f3 100644 --- a/libs/components/grids/src/lib/modules/shared/sky-grids-resources.module.ts +++ b/libs/components/grids/src/lib/modules/shared/sky-grids-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_grid_multiselect_select_row: { message: 'Select row' } }, }; diff --git a/libs/components/http/package.json b/libs/components/http/package.json index b82975b8be..f730bcfaab 100644 --- a/libs/components/http/package.json +++ b/libs/components/http/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@blackbaud/auth-client": "^2.71.0", "@skyux/config": "0.0.0-PLACEHOLDER" }, diff --git a/libs/components/http/project.json b/libs/components/http/project.json index 5db90d301a..9593a0500e 100644 --- a/libs/components/http/project.json +++ b/libs/components/http/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/http/src/**/*.ts", - "libs/components/http/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/i18n/package.json b/libs/components/i18n/package.json index f264ad2aa9..fb50d04de4 100644 --- a/libs/components/i18n/package.json +++ b/libs/components/i18n/package.json @@ -20,9 +20,9 @@ "save": "dependencies" }, "peerDependencies": { - "@angular/cli": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/cli": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/assets": "0.0.0-PLACEHOLDER" }, "dependencies": { diff --git a/libs/components/i18n/project.json b/libs/components/i18n/project.json index 1c47cbaa4b..a30d8876c5 100644 --- a/libs/components/i18n/project.json +++ b/libs/components/i18n/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/i18n/src/**/*.ts", - "libs/components/i18n/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } }, diff --git a/libs/components/i18n/schematics/ng-generate/lib-resources-module/files/__name@dasherize__-resources.module.ts.template b/libs/components/i18n/schematics/ng-generate/lib-resources-module/files/__name@dasherize__-resources.module.ts.template index 768e96947b..7b4fd34d5b 100644 --- a/libs/components/i18n/schematics/ng-generate/lib-resources-module/files/__name@dasherize__-resources.module.ts.template +++ b/libs/components/i18n/schematics/ng-generate/lib-resources-module/files/__name@dasherize__-resources.module.ts.template @@ -6,7 +6,6 @@ * the 'ng generate @skyux/i18n:lib-resources-module<%= modulePath %>' schematic. * To update this file, simply rerun the command. */ - import { NgModule } from '@angular/core'; import { SKY_LIB_RESOURCES_PROVIDERS, @@ -23,7 +22,10 @@ import { SkyLibResourcesService.addResources(RESOURCES); export class <%= classify(name) %>ResourcesProvider implements SkyLibResourcesProvider { - public getString(localeInfo: SkyAppLocaleInfo, name: string): string | undefined { + public getString( + localeInfo: SkyAppLocaleInfo, + name: string, + ): string | undefined { return getLibStringForLocale(RESOURCES, localeInfo.locale, name); } } @@ -33,10 +35,12 @@ export class <%= classify(name) %>ResourcesProvider implements SkyLibResourcesPr */ @NgModule({ exports: [SkyI18nModule], - providers: [{ - provide: SKY_LIB_RESOURCES_PROVIDERS, - useClass: <%= classify(name) %>ResourcesProvider, - multi: true - }] + providers: [ + { + provide: SKY_LIB_RESOURCES_PROVIDERS, + useClass: <%= classify(name) %>ResourcesProvider, + multi: true + } + ] }) -export class <%= classify(name) %>ResourcesModule { } +export class <%= classify(name) %>ResourcesModule {} diff --git a/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.spec.ts b/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.spec.ts index 0a44fff021..ef2aa1d652 100644 --- a/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.spec.ts +++ b/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.spec.ts @@ -64,7 +64,6 @@ describe('lib-resources-module.schematic', () => { * the 'ng generate @skyux/i18n:lib-resources-module' schematic. * To update this file, simply rerun the command. */ - import { NgModule } from '@angular/core'; import { SKY_LIB_RESOURCES_PROVIDERS, @@ -76,7 +75,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': {"foobar":{"message":"Hello, world!"}}, 'FR-CA': {}, }; @@ -84,7 +83,10 @@ const RESOURCES: { [locale: string]: SkyLibResources } = { SkyLibResourcesService.addResources(RESOURCES); export class MyLibResourcesProvider implements SkyLibResourcesProvider { - public getString(localeInfo: SkyAppLocaleInfo, name: string): string | undefined { + public getString( + localeInfo: SkyAppLocaleInfo, + name: string, + ): string | undefined { return getLibStringForLocale(RESOURCES, localeInfo.locale, name); } } @@ -94,13 +96,15 @@ export class MyLibResourcesProvider implements SkyLibResourcesProvider { */ @NgModule({ exports: [SkyI18nModule], - providers: [{ - provide: SKY_LIB_RESOURCES_PROVIDERS, - useClass: MyLibResourcesProvider, - multi: true - }] + providers: [ + { + provide: SKY_LIB_RESOURCES_PROVIDERS, + useClass: MyLibResourcesProvider, + multi: true + } + ] }) -export class MyLibResourcesModule { } +export class MyLibResourcesModule {} `); }); @@ -159,7 +163,6 @@ export class MyLibResourcesModule { } * the 'ng generate @skyux/i18n:lib-resources-module shared/foobar' schematic. * To update this file, simply rerun the command. */ - import { NgModule } from '@angular/core'; import { SKY_LIB_RESOURCES_PROVIDERS, @@ -171,14 +174,17 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': {"foobar":{"message":"Hello, world!"}}, }; SkyLibResourcesService.addResources(RESOURCES); export class FoobarResourcesProvider implements SkyLibResourcesProvider { - public getString(localeInfo: SkyAppLocaleInfo, name: string): string | undefined { + public getString( + localeInfo: SkyAppLocaleInfo, + name: string, + ): string | undefined { return getLibStringForLocale(RESOURCES, localeInfo.locale, name); } } @@ -188,13 +194,15 @@ export class FoobarResourcesProvider implements SkyLibResourcesProvider { */ @NgModule({ exports: [SkyI18nModule], - providers: [{ - provide: SKY_LIB_RESOURCES_PROVIDERS, - useClass: FoobarResourcesProvider, - multi: true - }] + providers: [ + { + provide: SKY_LIB_RESOURCES_PROVIDERS, + useClass: FoobarResourcesProvider, + multi: true + } + ] }) -export class FoobarResourcesModule { } +export class FoobarResourcesModule {} `); }); diff --git a/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.ts b/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.ts index 0baccc0b2b..c6ffea6573 100644 --- a/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.ts +++ b/libs/components/i18n/schematics/ng-generate/lib-resources-module/lib-resources-module.schematic.ts @@ -35,8 +35,7 @@ function parseLocaleIdFromFileName(fileName: string): string { } function getResources(tree: Tree, project: ProjectDefinition): string { - let resourcesVar = - 'const RESOURCES: { [locale: string]: SkyLibResources } = {'; + let resourcesVar = 'const RESOURCES: Record = {'; const localesPath = normalize(`${project.sourceRoot}/assets/locales`); const localesDir = tree.getDir(localesPath); diff --git a/libs/components/i18n/src/lib/modules/i18n/currency/currency-format.service.ts b/libs/components/i18n/src/lib/modules/i18n/currency/currency-format.service.ts index 2af8d3d882..11b83fb0f0 100644 --- a/libs/components/i18n/src/lib/modules/i18n/currency/currency-format.service.ts +++ b/libs/components/i18n/src/lib/modules/i18n/currency/currency-format.service.ts @@ -8,12 +8,12 @@ const DEFAULT_CURRENCY_CODE = 'USD'; const DEFAULT_GROUP_CHARACTER = ','; const DEFAULT_DECIMAL_CHARACTER = '.'; -type CurrencyFormatParts = { +interface CurrencyFormatParts { symbol: string; symbolLocation: SkyI18nCurrencySymbolLocation; decimalCharacter: string; groupCharacter: string; -}; +} /** * Used to format a currency within a given locale. diff --git a/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.spec.ts b/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.spec.ts index 8eea1e258d..9d953ea8d1 100644 --- a/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.spec.ts +++ b/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.spec.ts @@ -2,9 +2,7 @@ import { getLibStringForLocale } from './get-lib-string-for-locale'; import { SkyLibResources } from './lib-resources'; describe('Get library string', () => { - let resources: { - [locale: string]: SkyLibResources; - }; + let resources: Record; beforeEach(() => { resources = { diff --git a/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.ts b/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.ts index 2da76f798e..da1238b6c8 100644 --- a/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.ts +++ b/libs/components/i18n/src/lib/modules/i18n/get-lib-string-for-locale.ts @@ -4,9 +4,7 @@ import { SkyLibResources } from './lib-resources'; * @internal */ export function getLibStringForLocale( - resources: { - [locale: string]: SkyLibResources; - }, + resources: Record, preferredLocale: string, name: string, ): string | undefined { diff --git a/libs/components/i18n/src/lib/modules/i18n/get-string-for-locale.ts b/libs/components/i18n/src/lib/modules/i18n/get-string-for-locale.ts index f9ee4fc992..ce4d27fa51 100644 --- a/libs/components/i18n/src/lib/modules/i18n/get-string-for-locale.ts +++ b/libs/components/i18n/src/lib/modules/i18n/get-string-for-locale.ts @@ -3,23 +3,18 @@ * @deprecated Use `getLibStringForLocale` instead. */ export function getStringForLocale( - resources: { - [locale: string]: { - [name: string]: string; - }; - }, + resources: Record>, preferredLocale: string, name: string, ): string | undefined { const defaultLocale = 'en-US'; - function getResourcesForLocale(locale: string): { [name: string]: string } { + function getResourcesForLocale(locale: string): Record { const parsedLocale = locale.toUpperCase().replace('_', '-'); return resources[parsedLocale]; } - let values: { [name: string]: string } = - getResourcesForLocale(preferredLocale); + let values: Record = getResourcesForLocale(preferredLocale); if (values && values[name]) { return values[name]; diff --git a/libs/components/i18n/src/lib/modules/i18n/intl-date-formatter-utils.ts b/libs/components/i18n/src/lib/modules/i18n/intl-date-formatter-utils.ts index 61bed9934b..78cc796fe9 100644 --- a/libs/components/i18n/src/lib/modules/i18n/intl-date-formatter-utils.ts +++ b/libs/components/i18n/src/lib/modules/i18n/intl-date-formatter-utils.ts @@ -9,7 +9,7 @@ type DateFormatterFn = (date: Date, locale: string) => string; const DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/; -const PATTERN_ALIASES: { [format: string]: DateFormatterFn } = { +const PATTERN_ALIASES: Record = { // Keys are quoted so they do not get renamed during closure compilation. yMMMdjms: datePartGetterFactory( combine([ @@ -72,7 +72,7 @@ const PATTERN_ALIASES: { [format: string]: DateFormatterFn } = { }; /* spell-checker:enable */ -const DATE_FORMATS: { [format: string]: DateFormatterFn } = { +const DATE_FORMATS: Record = { // Keys are quoted so they do not get renamed. yyyy: datePartGetterFactory(digitCondition('year', 4)), yy: datePartGetterFactory(digitCondition('year', 2)), @@ -189,7 +189,7 @@ function hour12Modify( } function digitCondition(prop: string, len: number): Intl.DateTimeFormatOptions { - const result: { [k: string]: string } = {}; + const result: Record = {}; result[prop] = len === 2 ? '2-digit' : 'numeric'; @@ -197,7 +197,7 @@ function digitCondition(prop: string, len: number): Intl.DateTimeFormatOptions { } function nameCondition(prop: string, len: number): Intl.DateTimeFormatOptions { - const result: { [k: string]: string } = {}; + const result: Record = {}; if (len < 4) { result[prop] = len > 1 ? 'short' : 'narrow'; } else { diff --git a/libs/components/i18n/src/lib/modules/i18n/lib-resources.pipe.ts b/libs/components/i18n/src/lib/modules/i18n/lib-resources.pipe.ts index e7ffaf3794..7ed2426bcf 100644 --- a/libs/components/i18n/src/lib/modules/i18n/lib-resources.pipe.ts +++ b/libs/components/i18n/src/lib/modules/i18n/lib-resources.pipe.ts @@ -20,7 +20,7 @@ import { SkyLibResourcesService } from './lib-resources.service'; export class SkyLibResourcesPipe implements PipeTransform, OnDestroy { #ngUnsubscribe = new Subject(); - #resourceCache: { [key: string]: any } = {}; + #resourceCache: Record = {}; #changeDetector: ChangeDetectorRef; #resourcesService: SkyLibResourcesService; diff --git a/libs/components/i18n/src/lib/modules/i18n/lib-resources.service.ts b/libs/components/i18n/src/lib/modules/i18n/lib-resources.service.ts index 05c252f7fd..29e0c410e3 100644 --- a/libs/components/i18n/src/lib/modules/i18n/lib-resources.service.ts +++ b/libs/components/i18n/src/lib/modules/i18n/lib-resources.service.ts @@ -24,7 +24,7 @@ type ResourceDictionary = Record; providedIn: 'root', }) export class SkyLibResourcesService { - private static resources: { [locale: string]: SkyLibResources } = {}; + private static resources: Record = {}; #localeProvider: SkyAppLocaleProvider; #providers: SkyLibResourcesProvider[] | undefined; @@ -45,9 +45,9 @@ export class SkyLibResourcesService { /** * Adds locale resources to be used by library components. */ - public static addResources(localeResources: { - [locale: string]: SkyLibResources; - }): void { + public static addResources( + localeResources: Record, + ): void { for (const [locale, resources] of Object.entries(localeResources)) { SkyLibResourcesService.resources[locale] ||= {}; SkyLibResourcesService.resources[locale] = { diff --git a/libs/components/i18n/src/lib/modules/i18n/lib-resources.ts b/libs/components/i18n/src/lib/modules/i18n/lib-resources.ts index 09d7d5a00a..ccb9059925 100644 --- a/libs/components/i18n/src/lib/modules/i18n/lib-resources.ts +++ b/libs/components/i18n/src/lib/modules/i18n/lib-resources.ts @@ -1,5 +1,6 @@ -export interface SkyLibResources { - [name: string]: { +export type SkyLibResources = Record< + string, + { message: string; - }; -} + } +>; diff --git a/libs/components/i18n/src/lib/modules/i18n/resources.pipe.ts b/libs/components/i18n/src/lib/modules/i18n/resources.pipe.ts index 4cde290781..09ff4a474b 100644 --- a/libs/components/i18n/src/lib/modules/i18n/resources.pipe.ts +++ b/libs/components/i18n/src/lib/modules/i18n/resources.pipe.ts @@ -20,7 +20,7 @@ import { SkyAppResourcesService } from './resources.service'; export class SkyAppResourcesPipe implements PipeTransform, OnDestroy { #ngUnsubscribe = new Subject(); - #resourceCache: { [key: string]: any } = {}; + #resourceCache: Record = {}; #changeDetector: ChangeDetectorRef; #resourcesSvc: SkyAppResourcesService; diff --git a/libs/components/i18n/src/lib/modules/i18n/resources.service.ts b/libs/components/i18n/src/lib/modules/i18n/resources.service.ts index 1b8469cd14..62114c8e97 100644 --- a/libs/components/i18n/src/lib/modules/i18n/resources.service.ts +++ b/libs/components/i18n/src/lib/modules/i18n/resources.service.ts @@ -17,7 +17,7 @@ import { SkyAppLocaleInfo } from './locale-info'; import { SkyAppLocaleProvider } from './locale-provider'; import { SkyAppResourceNameProvider } from './resource-name-provider'; -declare type SkyResourceType = { [key: string]: { message: string } }; +type SkyResourceType = Record; type ResourceKey = string; type TemplatedResource = [ResourceKey, ...any[]]; type ResourceDictionary = Record; @@ -35,8 +35,8 @@ function getDefaultObs(): Observable { providedIn: 'root', }) export class SkyAppResourcesService { - #resourcesObsCache: { [key: string]: Observable } = {}; - #httpObsCache: { [key: string]: Observable } = {}; + #resourcesObsCache: Record> = {}; + #httpObsCache: Record> = {}; #http: HttpClient; #assets: SkyAppAssetsService | undefined; diff --git a/libs/components/i18n/src/lib/modules/i18n/resources.ts b/libs/components/i18n/src/lib/modules/i18n/resources.ts index ac17f42890..32be60cf46 100644 --- a/libs/components/i18n/src/lib/modules/i18n/resources.ts +++ b/libs/components/i18n/src/lib/modules/i18n/resources.ts @@ -1,5 +1,6 @@ -export interface SkyAppResources { - [key: string]: { +export type SkyAppResources = Record< + string, + { message: string; - }; -} + } +>; diff --git a/libs/components/indicators/package.json b/libs/components/indicators/package.json index 709f5ad89c..ea086f413b 100644 --- a/libs/components/indicators/package.json +++ b/libs/components/indicators/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/indicators/project.json b/libs/components/indicators/project.json index ca4b9b2867..8a3049e8c2 100644 --- a/libs/components/indicators/project.json +++ b/libs/components/indicators/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/indicators/src/**/*.ts", - "libs/components/indicators/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts b/libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts index 606fa5a959..ec8c18ed6f 100644 --- a/libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts +++ b/libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_alert_close: { message: 'Close the alert' }, skyux_alert_sr_attention: { message: 'Attention:' }, diff --git a/libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts b/libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts index 92d870c381..2223cc16f2 100644 --- a/libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts +++ b/libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts @@ -61,13 +61,12 @@ function markTextNodes(node: Node, searchRegex: RegExp): number { } function removeHighlight(el: ElementRef): void { - const matchedElements = (el.nativeElement as Element).querySelectorAll( - `mark.${CLASS_NAME}`, + const matchedElements = Array.from( + (el.nativeElement as Element).querySelectorAll(`mark.${CLASS_NAME}`), ); if (matchedElements) { - for (let i = 0; i < matchedElements.length; i++) { - const node = matchedElements[i]; + for (const node of matchedElements) { const parentNode = node.parentNode; if (parentNode && node.firstChild) { diff --git a/libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts b/libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts index db68692b2d..3d5cb150fa 100644 --- a/libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts +++ b/libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts @@ -6,14 +6,15 @@ import { RendererFactory2, } from '@angular/core'; -const busyElements: { - [key: string]: { +const busyElements: Record< + string, + { busyEl: HTMLElement | undefined; listener: () => void; restoreFocusElement?: HTMLElement | undefined; restoreFocusCheckElement?: HTMLElement | undefined; - }; -} = {}; + } +> = {}; // Need to add the following to classes which contain static methods. // See: https://github.com/ng-packagr/ng-packagr/issues/641 diff --git a/libs/components/inline-form/package.json b/libs/components/inline-form/package.json index 0aa2084b2d..ad452d8d82 100644 --- a/libs/components/inline-form/package.json +++ b/libs/components/inline-form/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER" }, diff --git a/libs/components/inline-form/project.json b/libs/components/inline-form/project.json index 82efe77376..b3996c5a7e 100644 --- a/libs/components/inline-form/project.json +++ b/libs/components/inline-form/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/inline-form/src/**/*.ts", - "libs/components/inline-form/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts b/libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts index 17419cd728..2b4113a357 100644 --- a/libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts +++ b/libs/components/inline-form/src/lib/modules/inline-form/inline-form-adapter.service.ts @@ -37,7 +37,7 @@ export class SkyInlineFormAdapterService { } #loadFocusableChildren(elem: HTMLElement): HTMLElement[] { - const elements: Array = Array.prototype.slice.call( + const elements: HTMLElement[] = Array.prototype.slice.call( elem.querySelectorAll(SKY_TABBABLE_SELECTOR), ); @@ -62,7 +62,7 @@ export class SkyInlineFormAdapterService { return hasBounds; } - #focusFirstElement(list: Array): void { + #focusFirstElement(list: HTMLElement[]): void { if (list.length > 0) { list[0].focus(); } diff --git a/libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts b/libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts index ec793c9c9a..2abbf8e4e0 100644 --- a/libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts +++ b/libs/components/inline-form/src/lib/modules/shared/sky-inline-form-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_inline_form_button_cancel: { message: 'Cancel' }, skyux_inline_form_button_delete: { message: 'Delete' }, diff --git a/libs/components/layout/package.json b/libs/components/layout/package.json index f23f61a14a..60576677df 100644 --- a/libs/components/layout/package.json +++ b/libs/components/layout/package.json @@ -16,13 +16,13 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/layout/project.json b/libs/components/layout/project.json index 521f1b0b38..18dd1e1e53 100644 --- a/libs/components/layout/project.json +++ b/libs/components/layout/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/layout/src/**/*.ts", - "libs/components/layout/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/layout/src/lib/modules/action-button/action-button.component.spec.ts b/libs/components/layout/src/lib/modules/action-button/action-button.component.spec.ts index c3ca923584..70b5085c10 100644 --- a/libs/components/layout/src/lib/modules/action-button/action-button.component.spec.ts +++ b/libs/components/layout/src/lib/modules/action-button/action-button.component.spec.ts @@ -298,8 +298,8 @@ describe('Action button component modern theme', () => { fixture.detectChanges(); tick(); const buttons = getActionButtons(fixture); - for (let i = 0; i < buttons.length; i++) { - expect(buttons[i].style.height).toEqual('500px'); + for (const button of Array.from(buttons)) { + expect(button.style.height).toEqual('500px'); } })); @@ -326,8 +326,8 @@ describe('Action button component modern theme', () => { tick(); const buttons = getActionButtons(linksFixture); expect(buttons.length).toBeGreaterThan(0); - for (let i = 0; i < buttons.length; i++) { - expect(buttons[i].style.height).toEqual('500px'); + for (const button of Array.from(buttons)) { + expect(button.style.height).toEqual('500px'); } })); @@ -345,8 +345,8 @@ describe('Action button component modern theme', () => { tick(); buttons = getActionButtons(linksFixture); expect(buttons.length).toBeGreaterThan(0); - for (let i = 0; i < buttons.length; i++) { - expect(buttons[i].style.height).toEqual('500px'); + for (const button of Array.from(buttons)) { + expect(button.style.height).toEqual('500px'); } })); diff --git a/libs/components/layout/src/lib/modules/back-to-top/fixtures/back-to-top.component.fixture.ts b/libs/components/layout/src/lib/modules/back-to-top/fixtures/back-to-top.component.fixture.ts index f15b1fe640..ca07d14070 100644 --- a/libs/components/layout/src/lib/modules/back-to-top/fixtures/back-to-top.component.fixture.ts +++ b/libs/components/layout/src/lib/modules/back-to-top/fixtures/back-to-top.component.fixture.ts @@ -18,7 +18,7 @@ export class SkyBackToTopFixtureComponent { public scrollableParent = false; - public backToTopController: Subject = new Subject(); + public backToTopController = new Subject(); public backToTopOptions: SkyBackToTopOptions | undefined = { buttonHidden: false, diff --git a/libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts b/libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts index f0f858c2c0..868a3699ae 100644 --- a/libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts +++ b/libs/components/layout/src/lib/modules/shared/sky-layout-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_back_to_top: { message: 'Back to top' }, skyux_card_checkbox_label: { message: 'Select card' }, diff --git a/libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts b/libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts index a9fd18c3ed..f0ca6e83f3 100644 --- a/libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts +++ b/libs/components/layout/src/lib/modules/text-expand-repeater/text-expand-repeater.component.ts @@ -208,7 +208,7 @@ export class SkyTextExpandRepeaterComponent implements AfterViewInit { } } - #setup(value: Array | undefined): void { + #setup(value: unknown[] | undefined): void { if (value) { const length = value.length; if (this.maxItems && length > this.maxItems) { diff --git a/libs/components/list-builder-common/package.json b/libs/components/list-builder-common/package.json index d05f074a7d..167eb8c725 100644 --- a/libs/components/list-builder-common/package.json +++ b/libs/components/list-builder-common/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/list-builder-common/project.json b/libs/components/list-builder-common/project.json index 80f300006f..640985d761 100644 --- a/libs/components/list-builder-common/project.json +++ b/libs/components/list-builder-common/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/list-builder-common/src/**/*.ts", - "libs/components/list-builder-common/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/list-builder-common/src/lib/helpers.ts b/libs/components/list-builder-common/src/lib/helpers.ts index 33a32cb79f..36eb89e5c2 100644 --- a/libs/components/list-builder-common/src/lib/helpers.ts +++ b/libs/components/list-builder-common/src/lib/helpers.ts @@ -18,8 +18,7 @@ export function getData(item: any, selector: string): any { /* istanbul ignore else */ if (resultFieldParts.length > 0) { - for (let index = 0; index < resultFieldParts.length; index++) { - const part = resultFieldParts[index]; + for (const part of resultFieldParts) { /* istanbul ignore else */ if (result[part] === null || result[part] === undefined) { result = null; diff --git a/libs/components/list-builder-common/src/lib/rxstate/async-list.ts b/libs/components/list-builder-common/src/lib/rxstate/async-list.ts index 9ea87398dc..c79429cbc4 100644 --- a/libs/components/list-builder-common/src/lib/rxstate/async-list.ts +++ b/libs/components/list-builder-common/src/lib/rxstate/async-list.ts @@ -6,7 +6,7 @@ export class AsyncList { constructor( public items: T[] = [], public lastUpdate: any = null, - public loading: boolean = false, + public loading = false, public count: number = items.length, ) {} } diff --git a/libs/components/list-builder-common/src/lib/rxstate/state-node.ts b/libs/components/list-builder-common/src/lib/rxstate/state-node.ts index 176f5e49f3..dd3c8ded2c 100644 --- a/libs/components/list-builder-common/src/lib/rxstate/state-node.ts +++ b/libs/components/list-builder-common/src/lib/rxstate/state-node.ts @@ -8,7 +8,7 @@ import { StateDispatcher } from './state-dispatcher'; * @deprecated */ export class StateNode extends BehaviorSubject { - private stateMap: { [stateKey: string]: any } = {}; + private stateMap: Record = {}; constructor( private initialState: T, @@ -28,7 +28,7 @@ export class StateNode extends BehaviorSubject { public begin() { const stateKeys: string[] = Object.keys(this.stateMap); - const init: { [stateKey: string]: any } = this.initialState; + const init: Record = this.initialState; const orchestrators = stateKeys.map((key) => new this.stateMap[key]().scan(init[key], this.dispatcher), diff --git a/libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts b/libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts index ca5b7627de..84ecf3a1d3 100644 --- a/libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts +++ b/libs/components/list-builder-common/src/lib/rxstate/state-orchestrator.ts @@ -6,11 +6,13 @@ import { scan } from 'rxjs/operators'; * @deprecated */ export class StateOrchestrator { - private registeredActions: Array = []; + private registeredActions: any[] = []; - private registeredCallbacks: Array< - (state: TStateNode, action: TAction, initialState?: any) => any - > = []; + private registeredCallbacks: (( + state: TStateNode, + action: TAction, + initialState?: any, + ) => any)[] = []; public register( action: any, diff --git a/libs/components/list-builder-view-checklist/package.json b/libs/components/list-builder-view-checklist/package.json index 1820d174da..f5be99a989 100644 --- a/libs/components/list-builder-view-checklist/package.json +++ b/libs/components/list-builder-view-checklist/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/list-builder-view-checklist/project.json b/libs/components/list-builder-view-checklist/project.json index d9a3d4ce0e..478a95a8cb 100644 --- a/libs/components/list-builder-view-checklist/project.json +++ b/libs/components/list-builder-view-checklist/project.json @@ -58,8 +58,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/list-builder-view-checklist/src/**/*.ts", - "libs/components/list-builder-view-checklist/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/fixtures/list-view-checklist-pagination.component.fixture.ts b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/fixtures/list-view-checklist-pagination.component.fixture.ts index cf5c30a186..a0eee22acb 100644 --- a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/fixtures/list-view-checklist-pagination.component.fixture.ts +++ b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/fixtures/list-view-checklist-pagination.component.fixture.ts @@ -11,7 +11,7 @@ export class ListViewChecklistPaginationTestComponent { public selectMode = 'multiple'; public showOnlySelected = false; - public items: Observable> = observableOf([ + public items: Observable = observableOf([ { id: '1', column1: 101, column2: 'Apple', column3: 'Anne eats apples' }, { id: '2', column1: 202, column2: 'Banana', column3: 'Ben eats bananas' }, { id: '3', column1: 303, column2: 'Pear', column3: 'Patty eats pears' }, diff --git a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts index f3583ff05c..9ff2fa17a1 100644 --- a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts +++ b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts @@ -301,7 +301,7 @@ export class SkyListViewChecklistComponent this.dispatcher.searchSetFunctions([this.search]); } - const fieldSelectors: Array = []; + const fieldSelectors: string[] = []; if (this.labelFieldSelector) { fieldSelectors.push(this.labelFieldSelector); } diff --git a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts index 5df36b26f3..c20a4cda66 100644 --- a/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts +++ b/libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts @@ -5,9 +5,9 @@ import { ListViewChecklistItemModel } from './item.model'; */ export class ListViewChecklistItemsLoadAction { constructor( - public items: Array = [], - public refresh: boolean = false, - public dataChanged: boolean = true, + public items: ListViewChecklistItemModel[] = [], + public refresh = false, + public dataChanged = true, public itemCount: number = items.length, ) {} } diff --git a/libs/components/list-builder-view-grids/package.json b/libs/components/list-builder-view-grids/package.json index a561f5871f..b13dc45e7b 100644 --- a/libs/components/list-builder-view-grids/package.json +++ b/libs/components/list-builder-view-grids/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/grids": "0.0.0-PLACEHOLDER", diff --git a/libs/components/list-builder-view-grids/project.json b/libs/components/list-builder-view-grids/project.json index 4880421f79..418d9f176d 100644 --- a/libs/components/list-builder-view-grids/project.json +++ b/libs/components/list-builder-view-grids/project.json @@ -58,8 +58,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/list-builder-view-grids/src/**/*.ts", - "libs/components/list-builder-view-grids/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-context.ts b/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-context.ts index 1bf6dcbc31..cd06ae3fc0 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-context.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-context.ts @@ -4,8 +4,8 @@ * @deprecated */ export class SkyColumnSelectorContext { - public columns: Array; - public selectedColumnIds: Array; + public columns: SkyColumnSelectorModel[]; + public selectedColumnIds: string[]; } /* istanbul ignore next */ diff --git a/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-modal.component.ts b/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-modal.component.ts index afae4caa54..99c3e45436 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-modal.component.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/column-selector/column-selector-modal.component.ts @@ -8,7 +8,7 @@ import { SkyColumnSelectorContext } from './column-selector-context'; templateUrl: './column-selector-modal.component.html', }) export class SkyColumnSelectorComponent { - public newSelectedColumnIds: Array = []; + public newSelectedColumnIds: string[] = []; constructor( public context: SkyColumnSelectorContext, diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action-deprecated.component.fixture.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action-deprecated.component.fixture.ts index 13d466aec4..e661a4a283 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action-deprecated.component.fixture.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action-deprecated.component.fixture.ts @@ -10,7 +10,7 @@ import { SkyListViewGridComponent } from '../../list-view-grid/list-view-grid.co './list-column-selector-action-deprecated.component.fixture.html', }) export class ListColumnSelectorActionDeprecatedTestComponent { - public items: Observable> = observableOf([ + public items: Observable = observableOf([ { id: '1', column1: 101, column2: 'Apple', column3: 'Anne eats apples' }, { id: '2', column1: 202, column2: 'Banana', column3: 'Ben eats bananas' }, { id: '3', column1: 303, column2: 'Pear', column3: 'Patty eats pears' }, diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action.component.fixture.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action.component.fixture.ts index c3b1556cdd..bfecc8d1ec 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action.component.fixture.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/fixtures/list-column-selector-action.component.fixture.ts @@ -10,7 +10,7 @@ import { SkyListViewGridComponent } from '../../list-view-grid/list-view-grid.co templateUrl: './list-column-selector-action.component.fixture.html', }) export class ListColumnSelectorActionTestComponent { - public items: Observable> = observableOf([ + public items: Observable = observableOf([ { id: '1', column1: 101, column2: 'Apple', column3: 'Anne eats apples' }, { id: '2', column1: 202, column2: 'Banana', column3: 'Ben eats bananas' }, { id: '3', column1: 303, column2: 'Pear', column3: 'Patty eats pears' }, diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/list-column-selector-action.component.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/list-column-selector-action.component.ts index 27e39a374c..e661f1e990 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/list-column-selector-action.component.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-column-selector-action/list-column-selector-action.component.ts @@ -119,8 +119,8 @@ export class SkyListColumnSelectorActionComponent implements AfterContentInit { /* istanbul ignore else */ /* sanity check */ if (this.gridView) { - let columns: Array = []; - let selectedColumnIds: Array = []; + let columns: SkyColumnSelectorModel[] = []; + let selectedColumnIds: string[] = []; this.gridView.gridState .pipe(take(1)) .subscribe((state: GridStateModel) => { @@ -165,7 +165,7 @@ export class SkyListColumnSelectorActionComponent implements AfterContentInit { modalInstance.closed.subscribe((result: SkyModalCloseArgs) => { if (result.reason === 'save' && result.data) { const newSelectedIds = result.data; - let newDisplayedColumns: Array = []; + let newDisplayedColumns: SkyGridColumnModel[] = []; this.gridView.gridState .pipe(take(1)) .subscribe((state: GridStateModel) => { diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-display.component.fixture.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-display.component.fixture.ts index 4124b76716..5251cd293c 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-display.component.fixture.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-display.component.fixture.ts @@ -8,7 +8,7 @@ import { SkyListViewGridComponent } from '../list-view-grid.component'; templateUrl: './list-view-grid-display.component.fixture.html', }) export class ListViewGridDisplayTestComponent { - public displayedColumns: Array = ['column3', 'column4']; + public displayedColumns: string[] = ['column3', 'column4']; @ViewChild(SkyListViewGridComponent) public grid: SkyListViewGridComponent; diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-dynamic.component.fixture.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-dynamic.component.fixture.ts index ca54766b7b..92995d5478 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-dynamic.component.fixture.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/fixtures/list-view-grid-dynamic.component.fixture.ts @@ -9,8 +9,8 @@ import { SkyListViewGridComponent } from '../list-view-grid.component'; export class ListViewGridDynamicTestComponent { @ViewChild(SkyListViewGridComponent) public grid: SkyListViewGridComponent; - public data: Array; - public gridColumns: Array; + public data: any[]; + public gridColumns: any[]; constructor() { this.data = [ { diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/list-view-grid.component.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/list-view-grid.component.ts index 2bfe209108..91def636fc 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/list-view-grid.component.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/list-view-grid.component.ts @@ -97,13 +97,13 @@ export class SkyListViewGridComponent * The columns to display by default based on the ID or field of the item. */ @Input() - public displayedColumns: Array | Observable>; + public displayedColumns: string[] | Observable; /** * The columns to hide by default based on the ID or field of the item. */ @Input() - public hiddenColumns: Array | Observable>; + public hiddenColumns: string[] | Observable; /** * How the grid fits to its parent. `"width"` fits the grid to the parent's full @@ -201,7 +201,7 @@ export class SkyListViewGridComponent * reflects the column order. */ @Output() - public selectedColumnIdsChange = new EventEmitter>(); + public selectedColumnIdsChange = new EventEmitter(); @ViewChild(SkyGridComponent) public gridComponent: SkyGridComponent; @@ -220,9 +220,9 @@ export class SkyListViewGridComponent : this.width; } - public columns: Observable>; + public columns: Observable; - public selectedColumnIds: Observable>; + public selectedColumnIds: Observable; public items: Observable; @@ -452,7 +452,7 @@ export class SkyListViewGridComponent } } - public columnIdsChanged(selectedColumnIds: Array) { + public columnIdsChanged(selectedColumnIds: string[]) { this.selectedColumnIds.pipe(take(1)).subscribe((currentIds) => { if (!this.arraysEqual(selectedColumnIds, currentIds)) { this.gridState @@ -588,7 +588,7 @@ export class SkyListViewGridComponent }); } - private getGridItems(): Observable> { + private getGridItems(): Observable { /* Same problem as above. We should move from having a state object observable with a bunch of static properties to a static state object with observable properties that you can subscribe @@ -617,7 +617,7 @@ export class SkyListViewGridComponent ); } - private getSelectedIds(): Observable> { + private getSelectedIds(): Observable { /* Same problem as above. We should move from having a state object observable with a bunch of static properties to a static state object with observable properties that you can subscribe @@ -679,9 +679,7 @@ export class SkyListViewGridComponent keys.push(key); }); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - + for (const key of keys) { const value = next.selectedIdMap.get(key); if (value !== prev.selectedIdMap.get(key)) { return false; @@ -691,11 +689,11 @@ export class SkyListViewGridComponent return true; } - private arrayDiff(arrA: Array, arrB: Array): Array { + private arrayDiff(arrA: any[], arrB: any[]): any[] { return arrA.filter((i) => arrB.indexOf(i) < 0); } - private arrayIntersection(arrA: Array, arrB: Array): Array { + private arrayIntersection(arrA: any[], arrB: any[]): any[] { return arrA.filter((value) => -1 !== arrB.indexOf(value)); } diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/columns/load.action.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/columns/load.action.ts index e82eb238a2..baa0a9a4a5 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/columns/load.action.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/columns/load.action.ts @@ -5,8 +5,5 @@ import { SkyGridColumnModel } from '@skyux/grids'; * @deprecated */ export class ListViewGridColumnsLoadAction { - constructor( - public columns: Array, - public refresh: boolean = false, - ) {} + constructor(public columns: SkyGridColumnModel[], public refresh = false) {} } diff --git a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/displayed-columns/load.action.ts b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/displayed-columns/load.action.ts index 462eb16c50..82c0b4885c 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/displayed-columns/load.action.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/list-view-grid/state/displayed-columns/load.action.ts @@ -5,8 +5,5 @@ import { SkyGridColumnModel } from '@skyux/grids'; * @deprecated */ export class ListViewDisplayedGridColumnsLoadAction { - constructor( - public columns: Array, - public refresh: boolean = false, - ) {} + constructor(public columns: SkyGridColumnModel[], public refresh = false) {} } diff --git a/libs/components/list-builder-view-grids/src/lib/modules/shared/sky-list-builder-view-grids-resources.module.ts b/libs/components/list-builder-view-grids/src/lib/modules/shared/sky-list-builder-view-grids-resources.module.ts index ff93ffeb9c..a27e509bb7 100644 --- a/libs/components/list-builder-view-grids/src/lib/modules/shared/sky-list-builder-view-grids-resources.module.ts +++ b/libs/components/list-builder-view-grids/src/lib/modules/shared/sky-list-builder-view-grids-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_grid_column_picker_cancel: { message: 'Cancel' }, skyux_grid_column_picker_header: { diff --git a/libs/components/list-builder/package.json b/libs/components/list-builder/package.json index fdbf5e9776..e6f9ef5b92 100644 --- a/libs/components/list-builder/package.json +++ b/libs/components/list-builder/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/list-builder/project.json b/libs/components/list-builder/project.json index 17a33814ee..b7d214052f 100644 --- a/libs/components/list-builder/project.json +++ b/libs/components/list-builder/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/list-builder/src/**/*.ts", - "libs/components/list-builder/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.spec.ts b/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.spec.ts index 1bab9030d3..64ee1bbc29 100644 --- a/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.spec.ts +++ b/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.spec.ts @@ -10,7 +10,7 @@ import { ListDataRequestModel } from '../list/list-data-request.model'; import { SkyListInMemoryDataProvider } from './list-data-in-memory.provider'; describe('in memory data provider', () => { - let items: Observable>; + let items: Observable; function searchFunction(data: any, searchText: string) { return data.column2.indexOf(searchText) > -1; diff --git a/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts b/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts index 254408dbfc..07b26e46ce 100644 --- a/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts +++ b/libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts @@ -15,8 +15,8 @@ let idIndex = 0; * @deprecated */ export class SkyListInMemoryDataProvider extends ListDataProvider { - public items: BehaviorSubject> = new BehaviorSubject< - Array + public items: BehaviorSubject = new BehaviorSubject< + ListItemModel[] >([]); private lastItems: ListItemModel[]; @@ -28,7 +28,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider { private lastFilterResults: ListItemModel[]; constructor( - data?: Observable>, + data?: Observable, searchFunction?: (data: any, searchText: string) => boolean, ) { super(data); @@ -79,7 +79,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider { private filteredItems( request: ListDataRequestModel, - ): Observable> { + ): Observable { const showSelectedId = ['show-selected']; return this.items.pipe( @@ -127,8 +127,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider { result = this.lastFilterResults; } else if (filters && filters.length > 0) { result = result.filter((item) => { - for (let i = 0; i < filters.length; i++) { - const filter = filters[i]; + for (const filter of filters) { if ( filter.value === undefined || filter.value === '' || @@ -175,8 +174,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider { result = result.filter((item) => { let isMatch = false; - for (let i = 0; i < searchFunctions.length; i++) { - const searchFunction = searchFunctions[i]; + for (const searchFunction of searchFunctions) { const searchResult = searchFunction(item.data, searchText); if ( @@ -203,8 +201,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider { .slice() .sort((item1: ListItemModel, item2: ListItemModel) => { let compareResult = 0; - for (let i = 0; i < sort.fieldSelectors.length; i++) { - const selector = sort.fieldSelectors[i]; + for (const selector of sort.fieldSelectors) { const value1 = getData(item1.data, selector.fieldSelector); const value2 = getData(item2.data, selector.fieldSelector); diff --git a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts index c7009e2ed4..c7afa78fea 100644 --- a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts +++ b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts @@ -25,7 +25,7 @@ import { SkyListFilterInlineModel } from './list-filter-inline.model'; templateUrl: './list-filter-inline.component.html', }) export class SkyListFilterInlineComponent implements AfterContentInit { - public inlineFilters: Array = []; + public inlineFilters: SkyListFilterInlineModel[] = []; @ContentChildren(SkyListFilterInlineItemComponent) private filters: QueryList; @@ -72,9 +72,7 @@ export class SkyListFilterInlineComponent implements AfterContentInit { }); } - private getFilterModelFromInline( - inlineFilters: Array, - ) { + private getFilterModelFromInline(inlineFilters: SkyListFilterInlineModel[]) { return inlineFilters.map((filter) => { return new ListFilterModel({ name: filter.name, diff --git a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.spec.ts b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.spec.ts index 58ee9069dd..ebc84ab356 100644 --- a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.spec.ts +++ b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.spec.ts @@ -18,7 +18,7 @@ describe('List filter summary', () => { fixture: ComponentFixture, nativeElement: HTMLElement, component: ListFilterSummaryTestComponent, - filters: Array = [ + filters: ListFilterModel[] = [ new ListFilterModel({ name: 'color', value: 'blue', diff --git a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts index bdc7ecf638..dd43d73e8c 100644 --- a/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts +++ b/libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts @@ -32,7 +32,7 @@ export class SkyListFilterSummaryComponent implements AfterContentInit { @Output() public summaryItemClick = new EventEmitter(); - public appliedFilters: Observable>; + public appliedFilters: Observable; constructor( private state: ListState, diff --git a/libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts b/libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts index 60bb76c63c..31d36b4c05 100644 --- a/libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts +++ b/libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts @@ -144,7 +144,7 @@ export class SkyListToolbarComponent return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined; } - public sortSelectors: Observable>; + public sortSelectors: Observable; public searchTextInput: Observable; public view: Observable; public leftTemplates: ListToolbarItemModel[]; @@ -155,7 +155,7 @@ export class SkyListToolbarComponent public isToolbarDisabled = false; public isMultiselectEnabled: Observable; public isSortSelectorEnabled: Observable; - public appliedFilters: Observable>; + public appliedFilters: Observable; public hasAppliedFilters: Observable; public showFilterSummary: boolean; public hasInlineFilters: boolean; @@ -488,9 +488,9 @@ export class SkyListToolbarComponent distinctUntilChanged(), ), ( - available: Array, - global: Array, - fieldSelectors: Array, + available: ListSortLabelModel[], + global: ListSortLabelModel[], + fieldSelectors: ListSortFieldSelectorModel[], ) => { // Get sorts that are in the global that are not in the available const sorts = global.filter( diff --git a/libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts b/libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts index b34c6cc08a..ee6e13e859 100644 --- a/libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts +++ b/libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts @@ -3,5 +3,5 @@ */ export class ListToolbarConfigSetSortSelectorEnabledAction { /* istanbul ignore next */ - constructor(public enabled: boolean = true) {} + constructor(public enabled = true) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/fixtures/list-empty.component.fixture.ts b/libs/components/list-builder/src/lib/modules/list/fixtures/list-empty.component.fixture.ts index 97d98cfa6b..c8cdeeb8a4 100644 --- a/libs/components/list-builder/src/lib/modules/list/fixtures/list-empty.component.fixture.ts +++ b/libs/components/list-builder/src/lib/modules/list/fixtures/list-empty.component.fixture.ts @@ -24,7 +24,7 @@ export class ListEmptyTestComponent { ) {} public get options() { - const bs = new BehaviorSubject>(['banana', 'apple']); + const bs = new BehaviorSubject(['banana', 'apple']); return bs.asObservable(); } } diff --git a/libs/components/list-builder/src/lib/modules/list/fixtures/list-filtered.component.fixture.ts b/libs/components/list-builder/src/lib/modules/list/fixtures/list-filtered.component.fixture.ts index c877162c1a..960c80f78e 100644 --- a/libs/components/list-builder/src/lib/modules/list/fixtures/list-filtered.component.fixture.ts +++ b/libs/components/list-builder/src/lib/modules/list/fixtures/list-filtered.component.fixture.ts @@ -14,13 +14,13 @@ export class ListFilteredTestComponent { }) public list: SkyListComponent; - public listFilters: Array = []; + public listFilters: ListFilterModel[] = []; - public appliedFilters: Array = []; + public appliedFilters: ListFilterModel[] = []; constructor(@Inject('items') public items: any) {} - public filtersChangeFunction(newFilters: Array) { + public filtersChangeFunction(newFilters: ListFilterModel[]) { this.appliedFilters = newFilters; } } diff --git a/libs/components/list-builder/src/lib/modules/list/fixtures/list-selected.component.fixture.ts b/libs/components/list-builder/src/lib/modules/list/fixtures/list-selected.component.fixture.ts index 70d0a3edb8..a73a945433 100644 --- a/libs/components/list-builder/src/lib/modules/list/fixtures/list-selected.component.fixture.ts +++ b/libs/components/list-builder/src/lib/modules/list/fixtures/list-selected.component.fixture.ts @@ -17,10 +17,7 @@ export class ListSelectedTestComponent { public selectedItems: Map; - public selectedIds: Array | BehaviorSubject> = [ - '1', - '2', - ]; + public selectedIds: string[] | BehaviorSubject = ['1', '2']; constructor(@Inject('items') public items: any) {} diff --git a/libs/components/list-builder/src/lib/modules/list/fixtures/list.component.fixture.ts b/libs/components/list-builder/src/lib/modules/list/fixtures/list.component.fixture.ts index 5493ad1267..94cb5c1f6b 100644 --- a/libs/components/list-builder/src/lib/modules/list/fixtures/list.component.fixture.ts +++ b/libs/components/list-builder/src/lib/modules/list/fixtures/list.component.fixture.ts @@ -29,7 +29,7 @@ export class ListTestComponent { constructor(@Inject('items') public items: any) {} public get options() { - const bs = new BehaviorSubject>(['banana', 'apple']); + const bs = new BehaviorSubject(['banana', 'apple']); return bs.asObservable(); } } diff --git a/libs/components/list-builder/src/lib/modules/list/list-paging.component.ts b/libs/components/list-builder/src/lib/modules/list/list-paging.component.ts index ec938d41e7..795b23aded 100644 --- a/libs/components/list-builder/src/lib/modules/list/list-paging.component.ts +++ b/libs/components/list-builder/src/lib/modules/list/list-paging.component.ts @@ -9,7 +9,7 @@ import { ListState } from './state/list-state.state-node'; * @deprecated */ export abstract class ListPagingComponent { - protected initialized: BehaviorSubject = new BehaviorSubject(false); + protected initialized = new BehaviorSubject(false); protected state: ListState; protected dispatcher: ListStateDispatcher; diff --git a/libs/components/list-builder/src/lib/modules/list/list.component.spec.ts b/libs/components/list-builder/src/lib/modules/list/list.component.spec.ts index 4ac7fdd05e..87b3771b41 100644 --- a/libs/components/list-builder/src/lib/modules/list/list.component.spec.ts +++ b/libs/components/list-builder/src/lib/modules/list/list.component.spec.ts @@ -97,7 +97,7 @@ describe('List Component', () => { { id: '7', column1: '22', column2: 'Grape', column3: 21, column4: 7 }, ]; - bs = new BehaviorSubject>(itemsArray); + bs = new BehaviorSubject(itemsArray); items = bs.asObservable(); TestBed.configureTestingModule({ @@ -407,7 +407,7 @@ describe('List Component', () => { { id: '7', column1: '22', column2: 'Grape', column3: 21, column4: 7 }, ]; - bs = new BehaviorSubject>(itemsArray); + bs = new BehaviorSubject(itemsArray); items = bs.asObservable(); TestBed.configureTestingModule({ @@ -536,7 +536,7 @@ describe('List Component', () => { })); it('should allow users to initialize selectedIds with an observable', fakeAsync(() => { - component.selectedIds = new BehaviorSubject>(['1', '3']); + component.selectedIds = new BehaviorSubject(['1', '3']); tick(); fixture.detectChanges(); @@ -588,7 +588,7 @@ describe('List Component', () => { })); it('should allow users to change selectedIds when using observables', fakeAsync(() => { - component.selectedIds = new BehaviorSubject>(['3', '4']); + component.selectedIds = new BehaviorSubject(['3', '4']); tick(); fixture.detectChanges(); @@ -604,7 +604,7 @@ describe('List Component', () => { expect(selectedIdMap.get('7')).toBeUndefined(); }); - component.selectedIds = new BehaviorSubject>([]); + component.selectedIds = new BehaviorSubject([]); tick(); fixture.detectChanges(); state.pipe(take(1)).subscribe((current) => { @@ -701,7 +701,7 @@ describe('List Component', () => { tick(); fixture.detectChanges(); - const selectedIds: Array = Array.from( + const selectedIds: string[] = Array.from( component.selectedItems.entries(), ) .filter((item) => item[1]) @@ -832,7 +832,7 @@ describe('List Component', () => { { id: '7', column1: '22', column2: 'Grape', column3: 21, column4: 7 }, ]; - bs = new BehaviorSubject>(itemsArray); + bs = new BehaviorSubject(itemsArray); items = bs.asObservable(); TestBed.configureTestingModule({ @@ -1077,7 +1077,7 @@ describe('List Component', () => { { id: '2', column1: '01', column2: 'Banana', column3: 1, column4: 6 }, ]; - bs = new BehaviorSubject>(itemsArray); + bs = new BehaviorSubject(itemsArray); items = bs.asObservable(); dataProvider = new SkyListInMemoryDataProvider(items); @@ -1327,7 +1327,7 @@ describe('List Component', () => { { id: '7', column1: '22', column2: 'Grape', column3: 21, column4: 7 }, ]; - bs = new BehaviorSubject>(itemsArray); + bs = new BehaviorSubject(itemsArray); items = bs.asObservable(); TestBed.configureTestingModule({ diff --git a/libs/components/list-builder/src/lib/modules/list/list.component.ts b/libs/components/list-builder/src/lib/modules/list/list.component.ts index cf99c52d9c..dbbe67ac33 100644 --- a/libs/components/list-builder/src/lib/modules/list/list.component.ts +++ b/libs/components/list-builder/src/lib/modules/list/list.component.ts @@ -81,7 +81,7 @@ export class SkyListComponent * an observable instead of a static array. */ @Input() - public data?: Array | Observable> = []; + public data?: any[] | Observable = []; /** * The data provider that obtains the data to display. The list component requires @@ -112,7 +112,7 @@ export class SkyListComponent * included are de-selected in the checklist or multiselect grid. */ @Input() - public selectedIds?: Array | Observable>; + public selectedIds?: string[] | Observable; /** * The set of fields to sort by. If array of fields then sorted by order of array. @@ -122,8 +122,8 @@ export class SkyListComponent @Input() public sortFields?: | ListSortFieldSelectorModel - | Array - | Observable> + | ListSortFieldSelectorModel[] + | Observable | Observable; /** @@ -133,7 +133,7 @@ export class SkyListComponent * component. */ @Input() - public appliedFilters: Array = []; + public appliedFilters: ListFilterModel[] = []; /** * For list views that support item selection, emits the selected entries. @@ -145,7 +145,7 @@ export class SkyListComponent * Emits the filters applied to the list. */ @Output() - public appliedFiltersChange = new EventEmitter>(); + public appliedFiltersChange = new EventEmitter(); /** * The function to apply as a global sort on the list. @@ -382,12 +382,12 @@ export class SkyListComponent ( filters: ListFilterModel[], search: ListSearchModel, - sortFieldSelectors: Array, + sortFieldSelectors: ListSortFieldSelectorModel[], itemsPerPage: number, pageNumber: number, isToolbarDisabled: boolean, - selected: Array, - itemsData: Array, + selected: string[], + itemsData: any[], ) => { cancelLastRequest.next(); cancelLastRequest.complete(); @@ -450,7 +450,7 @@ export class SkyListComponent ); } - public get selectedItems(): Observable> { + public get selectedItems(): Observable { return observableCombineLatest( this.state.pipe( observableMap((current) => current.items.items), @@ -460,7 +460,7 @@ export class SkyListComponent observableMap((current) => current.selected), distinctUntilChanged(), ), - (items: Array, selected: AsyncItem) => { + (items: ListItemModel[], selected: AsyncItem) => { return items.filter((i) => selected.item.selectedIdMap.get(i.id)); }, ).pipe(takeUntil(this.ngUnsubscribe)); @@ -475,7 +475,7 @@ export class SkyListComponent ); } - public get views(): Array { + public get views(): ListViewComponent[] { return this.listViews.toArray(); } diff --git a/libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts b/libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts index b28899afc0..2cc640ce4d 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts @@ -83,10 +83,8 @@ export class ListItemsOrchestrator extends ListStateOrchestrator< ); } - private cloneListItemModelArray( - source: Array, - ): ListItemModel[] { - const newListItems: Array = []; + private cloneListItemModelArray(source: ListItemModel[]): ListItemModel[] { + const newListItems: ListItemModel[] = []; source.forEach((item) => { newListItems.push( new ListItemModel( diff --git a/libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts b/libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts index 7da06ac015..3935079ea7 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts @@ -6,9 +6,9 @@ import { ListItemModel } from '@skyux/list-builder-common'; */ export class ListItemsLoadAction { constructor( - public items: Array, - public refresh: boolean = false, - public dataChanged: boolean = true, + public items: ListItemModel[], + public refresh = false, + public dataChanged = true, public count?: number, ) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts b/libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts index f28a50f699..931dadac85 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts @@ -6,7 +6,7 @@ export class ListItemsSetSelectedAction { constructor( public items: string[], /* istanbul ignore next */ - public selected: boolean = false, - public refresh: boolean = true, + public selected = false, + public refresh = true, ) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts b/libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts index 818ac4382d..b50bdccceb 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts @@ -3,5 +3,5 @@ * @deprecated */ export class ListItemsSetLoadingAction { - constructor(public loading: boolean = true) {} + constructor(public loading = true) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts b/libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts index fd14a58efb..021e57927f 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts @@ -73,7 +73,7 @@ export class ListStateDispatcher extends StateDispatcher { } /* istanbul ignore next */ - public searchSetFieldSelectors(fieldSelectors: Array): void { + public searchSetFieldSelectors(fieldSelectors: string[]): void { this.next(new ListSearchSetFieldSelectorsAction(fieldSelectors)); } diff --git a/libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts b/libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts index be3b3df36e..a885ed9922 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts @@ -16,12 +16,12 @@ export class ListSearchModel { * the search is successful. This property accepts a function of type * `(data: any, searchText: string) => boolean>.` */ - public functions: Array<(data: any, searchText: string) => boolean> = []; + public functions: ((data: any, searchText: string) => boolean)[] = []; /** * The columns to search. The columns correspond to `field` values that * you specify with the list component's `data` property. */ - public fieldSelectors: Array = []; + public fieldSelectors: string[] = []; constructor(data?: any) { if (data) { diff --git a/libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts b/libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts index 482ae065dd..55bff2deec 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts @@ -3,5 +3,5 @@ * @deprecated */ export class ListSearchSetFieldSelectorsAction { - constructor(public fieldSelectors: Array = []) {} + constructor(public fieldSelectors: string[] = []) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts b/libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts index 5fab9b19e9..8e8a4c05b8 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts @@ -4,6 +4,6 @@ */ export class ListSearchSetFunctionsAction { constructor( - public functions: Array<(data: any, searchText: string) => boolean> = [], + public functions: ((data: any, searchText: string) => boolean)[] = [], ) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts b/libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts index ed174595fa..232dee920f 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts @@ -3,5 +3,5 @@ * @deprecated */ export class ListSelectedLoadAction { - constructor(public items: Array) {} + constructor(public items: string[]) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts b/libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts index e001fc2bcb..15c75f8edb 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts @@ -7,7 +7,7 @@ import { Observable } from 'rxjs'; export class ListSelectedSetItemsSelectedAction { constructor( public items: string[] | Observable, - public selected: boolean = false, - public refresh: boolean = true, + public selected = false, + public refresh = true, ) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts b/libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts index c711a6390c..237ee18105 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts @@ -3,5 +3,5 @@ * @deprecated */ export class ListSelectedSetLoadingAction { - constructor(public loading: boolean = true) {} + constructor(public loading = true) {} } diff --git a/libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts b/libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts index 3fef726332..907cf2992a 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts @@ -10,17 +10,17 @@ export class ListSortModel { /** * The list of available views to sort. */ - public available: Array = []; + public available: ListSortLabelModel[] = []; /** * The list views that the sort applies to. */ - public global: Array = []; + public global: ListSortLabelModel[] = []; /** * The fields to sort. * For information about `ListSortFieldSelectorModel`, see the * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common). */ - public fieldSelectors: Array = []; + public fieldSelectors: ListSortFieldSelectorModel[] = []; constructor(data?: any) { if (data) { diff --git a/libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts b/libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts index 972e912932..30458e2bf0 100644 --- a/libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts +++ b/libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts @@ -5,8 +5,5 @@ import { ListToolbarItemModel } from './toolbar-item.model'; * @deprecated */ export class ListToolbarItemsLoadAction { - constructor( - public items: ListToolbarItemModel[], - public index: number = -1, - ) {} + constructor(public items: ListToolbarItemModel[], public index = -1) {} } diff --git a/libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts b/libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts index 87fd4117b4..88e60d02f4 100644 --- a/libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts +++ b/libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_list_show_secondary_actions_button: { message: 'More' }, skyux_list_multiselect_clear_all: { message: 'Clear all' }, diff --git a/libs/components/lists/package.json b/libs/components/lists/package.json index c9bf8214d6..9f1bd4d8ad 100644 --- a/libs/components/lists/package.json +++ b/libs/components/lists/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/animations": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", diff --git a/libs/components/lists/project.json b/libs/components/lists/project.json index 9fccf5d597..eb9ef1db1a 100644 --- a/libs/components/lists/project.json +++ b/libs/components/lists/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/lists/src/**/*.ts", - "libs/components/lists/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/lists/src/lib/modules/filter/filter-button.component.ts b/libs/components/lists/src/lib/modules/filter/filter-button.component.ts index d5c33f7269..319cbb2f3e 100644 --- a/libs/components/lists/src/lib/modules/filter/filter-button.component.ts +++ b/libs/components/lists/src/lib/modules/filter/filter-button.component.ts @@ -84,7 +84,7 @@ export class SkyFilterButtonComponent { * Fires when the filter button is selected. */ @Output() - public filterButtonClick: EventEmitter = new EventEmitter(); + public filterButtonClick = new EventEmitter(); protected contentInfoObs: Observable | undefined; diff --git a/libs/components/lists/src/lib/modules/paging/paging.component.ts b/libs/components/lists/src/lib/modules/paging/paging.component.ts index fbae5a7955..e8b1f47861 100644 --- a/libs/components/lists/src/lib/modules/paging/paging.component.ts +++ b/libs/components/lists/src/lib/modules/paging/paging.component.ts @@ -74,7 +74,7 @@ export class SkyPagingComponent implements OnChanges { @ViewChild('contentWrapper', { read: ElementRef }) public contentWrapper: ElementRef | undefined; - public displayedPages: Array = []; + public displayedPages: number[] = []; public pageCount = 0; @@ -137,7 +137,7 @@ export class SkyPagingComponent implements OnChanges { pageCount: number, maxDisplayedPages: number, pageNumber: number, - ): Array { + ): number[] { const pageIndex = pageNumber - 1; const pageBounds = Math.floor(maxDisplayedPages / 2); @@ -164,7 +164,7 @@ export class SkyPagingComponent implements OnChanges { upperBound = pageCount; } - const displayedPageNumbers: Array = []; + const displayedPageNumbers: number[] = []; for (let i = lowerBound; i < upperBound; i++) { displayedPageNumbers.push(i + 1); } diff --git a/libs/components/lists/src/lib/modules/repeater/repeater-item-roles.type.ts b/libs/components/lists/src/lib/modules/repeater/repeater-item-roles.type.ts index 47041dbaa1..9c1eb980ef 100644 --- a/libs/components/lists/src/lib/modules/repeater/repeater-item-roles.type.ts +++ b/libs/components/lists/src/lib/modules/repeater/repeater-item-roles.type.ts @@ -1,5 +1,5 @@ -export type SkyRepeaterItemRolesType = { +export interface SkyRepeaterItemRolesType { item: 'listitem' | 'option' | 'row' | undefined; title: 'rowheader' | undefined; content: 'gridcell' | undefined; -}; +} diff --git a/libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts b/libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts index acfdaf414d..15b56cd6a2 100644 --- a/libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts +++ b/libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_filter_aria_label_descriptor: { message: 'Filter {0}' }, skyux_filter_button_title: { message: 'Filter' }, diff --git a/libs/components/lists/src/lib/modules/sort/sort-item.component.ts b/libs/components/lists/src/lib/modules/sort/sort-item.component.ts index 8315e1b28b..e08feba4c7 100644 --- a/libs/components/lists/src/lib/modules/sort/sort-item.component.ts +++ b/libs/components/lists/src/lib/modules/sort/sort-item.component.ts @@ -36,7 +36,7 @@ export class SkySortItemComponent implements OnInit, OnChanges, OnDestroy { * Fires when a sort item is selected. */ @Output() - public itemSelect: EventEmitter = new EventEmitter(); // TODO: Change to `EventEmitter` in a breaking change. + public itemSelect = new EventEmitter(); // TODO: Change to `EventEmitter` in a breaking change. public isSelected: BehaviorSubject = new BehaviorSubject( false, diff --git a/libs/components/lists/src/lib/modules/sort/sort.service.ts b/libs/components/lists/src/lib/modules/sort/sort.service.ts index 5da7a80a06..8e2199e953 100644 --- a/libs/components/lists/src/lib/modules/sort/sort.service.ts +++ b/libs/components/lists/src/lib/modules/sort/sort.service.ts @@ -7,7 +7,7 @@ import { BehaviorSubject } from 'rxjs'; */ @Injectable() export class SkySortService { - public selectedItem: BehaviorSubject = new BehaviorSubject(''); + public selectedItem = new BehaviorSubject(''); public selectItem(sortItem: string): void { this.selectedItem.next(sortItem); diff --git a/libs/components/lookup/package.json b/libs/components/lookup/package.json index 04c4d7c42a..f56de8e832 100644 --- a/libs/components/lookup/package.json +++ b/libs/components/lookup/package.json @@ -16,12 +16,12 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/lookup/project.json b/libs/components/lookup/project.json index e4b5a40599..0443b4e37a 100644 --- a/libs/components/lookup/project.json +++ b/libs/components/lookup/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/lookup/src/**/*.ts", - "libs/components/lookup/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/lookup/src/lib/modules/autocomplete/types/autocomplete-search-args.ts b/libs/components/lookup/src/lib/modules/autocomplete/types/autocomplete-search-args.ts index 057f91778a..a89c882a40 100644 --- a/libs/components/lookup/src/lib/modules/autocomplete/types/autocomplete-search-args.ts +++ b/libs/components/lookup/src/lib/modules/autocomplete/types/autocomplete-search-args.ts @@ -1,5 +1,5 @@ import { SkyAutocompleteSearchContext } from './autocomplete-search-context'; -export type SkyAutocompleteSearchArgs = { +export interface SkyAutocompleteSearchArgs { context?: SkyAutocompleteSearchContext; -}; +} diff --git a/libs/components/lookup/src/lib/modules/country-field/country-field.component.scss b/libs/components/lookup/src/lib/modules/country-field/country-field.component.scss index 4a0787c2a1..abe4d8b47f 100644 --- a/libs/components/lookup/src/lib/modules/country-field/country-field.component.scss +++ b/libs/components/lookup/src/lib/modules/country-field/country-field.component.scss @@ -1,6 +1,6 @@ @use 'libs/components/theme/src/lib/styles/mixins' as mixins; @use 'libs/components/theme/src/lib/styles/variables' as *; -@use 'node_modules/intl-tel-input/build/css/intlTelInput'; +@import 'node_modules/intl-tel-input/build/css/intlTelInput.css'; @mixin sky-country-field-textarea { overflow: hidden; diff --git a/libs/components/lookup/src/lib/modules/lookup/lookup-show-more-modal.component.ts b/libs/components/lookup/src/lib/modules/lookup/lookup-show-more-modal.component.ts index 36e4533316..7c8b55e291 100644 --- a/libs/components/lookup/src/lib/modules/lookup/lookup-show-more-modal.component.ts +++ b/libs/components/lookup/src/lib/modules/lookup/lookup-show-more-modal.component.ts @@ -59,7 +59,7 @@ export class SkyLookupShowMoreModalComponent * @internal * Fires when users select the button to add new options to the list. */ - public addClick: Subject = new Subject(); + public addClick = new Subject(); /** * Used to associate this modal with its owning lookup component. diff --git a/libs/components/lookup/src/lib/modules/lookup/lookup.component.ts b/libs/components/lookup/src/lib/modules/lookup/lookup.component.ts index 619bd643e4..91e8d7c792 100644 --- a/libs/components/lookup/src/lib/modules/lookup/lookup.component.ts +++ b/libs/components/lookup/src/lib/modules/lookup/lookup.component.ts @@ -204,8 +204,7 @@ export class SkyLookupComponent * Fires when users select the button to add options to the list. */ @Output() - public addClick: EventEmitter = - new EventEmitter(); + public addClick = new EventEmitter(); /** * @internal diff --git a/libs/components/lookup/src/lib/modules/selection-modal/selection-modal.component.ts b/libs/components/lookup/src/lib/modules/selection-modal/selection-modal.component.ts index 7b95d1ccbf..4bd4ac442d 100644 --- a/libs/components/lookup/src/lib/modules/selection-modal/selection-modal.component.ts +++ b/libs/components/lookup/src/lib/modules/selection-modal/selection-modal.component.ts @@ -61,7 +61,7 @@ export class SkySelectionModalComponent implements OnInit, OnDestroy { * @internal * Fires when users select the button to add new options to the list. */ - public addClick: Subject = new Subject(); + public addClick = new Subject(); // eslint-disable-next-line @typescript-eslint/no-explicit-any public displayedItems: any[] = []; @@ -86,7 +86,7 @@ export class SkySelectionModalComponent implements OnInit, OnDestroy { public searchText: string | undefined; - public selectedIdMap: Map = new Map(); + public selectedIdMap = new Map(); #continuationData: unknown; diff --git a/libs/components/lookup/src/lib/modules/shared/sky-lookup-resources.module.ts b/libs/components/lookup/src/lib/modules/shared/sky-lookup-resources.module.ts index ff306722ba..a97eb3a942 100644 --- a/libs/components/lookup/src/lib/modules/shared/sky-lookup-resources.module.ts +++ b/libs/components/lookup/src/lib/modules/shared/sky-lookup-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_autocomplete_add: { message: 'New' }, skyux_autocomplete_multiple_results: { message: '{0} results available.' }, diff --git a/libs/components/modals/package.json b/libs/components/modals/package.json index 18cb347051..7895ce595e 100644 --- a/libs/components/modals/package.json +++ b/libs/components/modals/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", "@skyux/indicators": "0.0.0-PLACEHOLDER", diff --git a/libs/components/modals/project.json b/libs/components/modals/project.json index 38d3da98ff..8f07a71cfc 100644 --- a/libs/components/modals/project.json +++ b/libs/components/modals/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/modals/src/**/*.ts", - "libs/components/modals/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/modals/src/lib/modules/modal/modal-adapter.service.ts b/libs/components/modals/src/lib/modules/modal/modal-adapter.service.ts index 308f415e80..316e82bf4d 100644 --- a/libs/components/modals/src/lib/modules/modal/modal-adapter.service.ts +++ b/libs/components/modals/src/lib/modules/modal/modal-adapter.service.ts @@ -61,8 +61,7 @@ export class SkyModalAdapterService { const hostElement = hostElRef.nativeElement; const hostSiblings = hostElement.parentElement.children; - for (let i = 0; i < hostSiblings.length; i++) { - const element = hostSiblings[i]; + for (const element of hostSiblings) { if ( element !== hostElement && !element.hasAttribute('aria-live') && diff --git a/libs/components/modals/src/lib/modules/modal/modal-component-adapter.service.ts b/libs/components/modals/src/lib/modules/modal/modal-component-adapter.service.ts index 31f23da7a7..d5a885cfa5 100644 --- a/libs/components/modals/src/lib/modules/modal/modal-component-adapter.service.ts +++ b/libs/components/modals/src/lib/modules/modal/modal-component-adapter.service.ts @@ -39,7 +39,7 @@ export class SkyModalComponentAdapterService { public isFocusInFirstItem( event: KeyboardEvent, - list: Array, + list: HTMLElement[], ): boolean { /* istanbul ignore next */ /* sanity check */ @@ -47,10 +47,7 @@ export class SkyModalComponentAdapterService { return list.length > 0 && eventTarget === list[0]; } - public isFocusInLastItem( - event: KeyboardEvent, - list: Array, - ): boolean { + public isFocusInLastItem(event: KeyboardEvent, list: HTMLElement[]): boolean { /* istanbul ignore next */ /* sanity check */ const eventTarget = event.target || event.srcElement; @@ -67,7 +64,7 @@ export class SkyModalComponentAdapterService { ); } - public focusLastElement(list: Array): boolean { + public focusLastElement(list: HTMLElement[]): boolean { if (list.length > 0) { list[list.length - 1].focus(); return true; @@ -75,7 +72,7 @@ export class SkyModalComponentAdapterService { return false; } - public focusFirstElement(list: Array): boolean { + public focusFirstElement(list: HTMLElement[]): boolean { if (list.length > 0) { list[0].focus(); return true; diff --git a/libs/components/modals/src/lib/modules/shared/sky-modals-resources.module.ts b/libs/components/modals/src/lib/modules/shared/sky-modals-resources.module.ts index 503fc8ee9c..a6de631a0d 100644 --- a/libs/components/modals/src/lib/modules/shared/sky-modals-resources.module.ts +++ b/libs/components/modals/src/lib/modules/shared/sky-modals-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_confirm_dialog_default_ok_text: { message: 'OK' }, skyux_confirm_dialog_default_yes_text: { message: 'Yes' }, diff --git a/libs/components/navbar/package.json b/libs/components/navbar/package.json index 61295a28f1..af05e40baa 100644 --- a/libs/components/navbar/package.json +++ b/libs/components/navbar/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/navbar/project.json b/libs/components/navbar/project.json index f280a0de56..990fd81d8e 100644 --- a/libs/components/navbar/project.json +++ b/libs/components/navbar/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/navbar/src/**/*.ts", - "libs/components/navbar/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/omnibar-interop/package.json b/libs/components/omnibar-interop/package.json index 1187390296..934f954223 100644 --- a/libs/components/omnibar-interop/package.json +++ b/libs/components/omnibar-interop/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/omnibar-interop/project.json b/libs/components/omnibar-interop/project.json index 953ece2c7d..126355df92 100644 --- a/libs/components/omnibar-interop/project.json +++ b/libs/components/omnibar-interop/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/omnibar-interop/src/**/*.ts", - "libs/components/omnibar-interop/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/packages/package.json b/libs/components/packages/package.json index 1be2eda9be..2b8deca572 100644 --- a/libs/components/packages/package.json +++ b/libs/components/packages/package.json @@ -91,8 +91,8 @@ } }, "peerDependencies": { - "@angular/cli": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/cli": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "fs-extra": "11.2.0", diff --git a/libs/components/packages/project.json b/libs/components/packages/project.json index 1c819e6270..bc861503ca 100644 --- a/libs/components/packages/project.json +++ b/libs/components/packages/project.json @@ -6,9 +6,8 @@ "targets": { "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/components/packages/**/*.ts"] + "lintFilePatterns": ["{projectRoot}/**/*.ts"] } }, "test": { diff --git a/libs/components/packages/src/schematics/migrations/update-10/add-compat-stylesheets/add-compat-stylesheet.schematic.ts b/libs/components/packages/src/schematics/migrations/update-10/add-compat-stylesheets/add-compat-stylesheet.schematic.ts index 75997a4e84..ff5aa93aef 100644 --- a/libs/components/packages/src/schematics/migrations/update-10/add-compat-stylesheets/add-compat-stylesheet.schematic.ts +++ b/libs/components/packages/src/schematics/migrations/update-10/add-compat-stylesheets/add-compat-stylesheet.schematic.ts @@ -6,7 +6,7 @@ import { getWorkspace, updateWorkspace } from '../../../utility/workspace'; const COMPAT_CSS_FILE_NAME = 'skyux10-compat.css'; -type CompatStyle = { +interface CompatStyle { libraries: { name: string; components: { @@ -14,7 +14,7 @@ type CompatStyle = { styles: { css: string; instructions: string }[]; }[]; }[]; -}; +} const compatStyles: CompatStyle = { libraries: [ diff --git a/libs/components/packages/src/schematics/rules/ensure-peers-installed.ts b/libs/components/packages/src/schematics/rules/ensure-peers-installed.ts index 8e768d2e99..9619ecc7ab 100644 --- a/libs/components/packages/src/schematics/rules/ensure-peers-installed.ts +++ b/libs/components/packages/src/schematics/rules/ensure-peers-installed.ts @@ -8,17 +8,17 @@ import { import { readRequiredFile } from '../utility/tree'; -type PackageDetails = { +interface PackageDetails { matchVersion?: boolean; name: string; version?: string; type: NodeDependencyType; -}; +} -type PackageJson = { +interface PackageJson { dependencies?: Record; devDependencies?: Record; -}; +} function installPackages( packages: PackageDetails[], diff --git a/libs/components/pages/package.json b/libs/components/pages/package.json index da3d5ef6b0..d5ef5fae6d 100644 --- a/libs/components/pages/package.json +++ b/libs/components/pages/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", "@skyux/indicators": "0.0.0-PLACEHOLDER", diff --git a/libs/components/pages/project.json b/libs/components/pages/project.json index d7501f8d54..413620f8d2 100644 --- a/libs/components/pages/project.json +++ b/libs/components/pages/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/pages/src/**/*.ts", - "libs/components/pages/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/pages/src/lib/modules/action-hub/action-hub-related-links-sort.pipe.ts b/libs/components/pages/src/lib/modules/action-hub/action-hub-related-links-sort.pipe.ts index beaad4b914..d40bca87ae 100644 --- a/libs/components/pages/src/lib/modules/action-hub/action-hub-related-links-sort.pipe.ts +++ b/libs/components/pages/src/lib/modules/action-hub/action-hub-related-links-sort.pipe.ts @@ -6,7 +6,7 @@ import { SkyPageLinkInterface } from './types/page-link-interface'; name: 'skyActionHubRelatedLinksSort', }) export class SkyActionHubRelatedLinksSortPipe implements PipeTransform { - public transform>( + public transform( relatedLinks: T | 'loading' | undefined, ): T | 'loading' | [] { if (relatedLinks === 'loading') { diff --git a/libs/components/pages/src/lib/modules/action-hub/types/action-hub-needs-attention-click-handler.ts b/libs/components/pages/src/lib/modules/action-hub/types/action-hub-needs-attention-click-handler.ts index 2d4cea80b9..98d40682e6 100644 --- a/libs/components/pages/src/lib/modules/action-hub/types/action-hub-needs-attention-click-handler.ts +++ b/libs/components/pages/src/lib/modules/action-hub/types/action-hub-needs-attention-click-handler.ts @@ -2,6 +2,6 @@ export type SkyActionHubNeedsAttentionClickHandler = ( _: SkyActionHubNeedsAttentionClickHandlerArgs, ) => void; -export type SkyActionHubNeedsAttentionClickHandlerArgs = { +export interface SkyActionHubNeedsAttentionClickHandlerArgs { item: unknown; -}; +} diff --git a/libs/components/pages/src/lib/modules/link-list/types/link.ts b/libs/components/pages/src/lib/modules/link-list/types/link.ts index 4f1beb0f6b..a400893fbf 100644 --- a/libs/components/pages/src/lib/modules/link-list/types/link.ts +++ b/libs/components/pages/src/lib/modules/link-list/types/link.ts @@ -1,6 +1,6 @@ import { NavigationExtras } from '@angular/router'; -export type SkyLink = { +export interface SkyLink { label: string; permalink?: { route?: { @@ -9,4 +9,4 @@ export type SkyLink = { }; url?: string; }; -}; +} diff --git a/libs/components/pages/src/lib/modules/shared/sky-pages-resources.module.ts b/libs/components/pages/src/lib/modules/shared/sky-pages-resources.module.ts index 9de16967a7..ae200833b8 100644 --- a/libs/components/pages/src/lib/modules/shared/sky-pages-resources.module.ts +++ b/libs/components/pages/src/lib/modules/shared/sky-pages-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { sky_action_hub_related_links: { message: 'Related links' }, sky_action_hub_recent_links: { message: 'Recently accessed' }, diff --git a/libs/components/phone-field/package.json b/libs/components/phone-field/package.json index ab93032da0..6e6aaf7e16 100644 --- a/libs/components/phone-field/package.json +++ b/libs/components/phone-field/package.json @@ -16,12 +16,12 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/phone-field/project.json b/libs/components/phone-field/project.json index 3ff5a2df4b..f45aeb9189 100644 --- a/libs/components/phone-field/project.json +++ b/libs/components/phone-field/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/phone-field/src/**/*.ts", - "libs/components/phone-field/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.scss b/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.scss index 8e9a88222e..2e198c4518 100644 --- a/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.scss +++ b/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.scss @@ -1,6 +1,6 @@ @use 'libs/components/theme/src/lib/styles/mixins' as mixins; @use 'libs/components/theme/src/lib/styles/variables' as *; -@use 'node_modules/intl-tel-input/build/css/intlTelInput'; +@import 'node_modules/intl-tel-input/build/css/intlTelInput.css'; .sky-phone-field-country-btn + .sky-form-control { border-left: none; @@ -55,14 +55,16 @@ } } -.sky-phone-field-flag { - max-width: 25px; - max-height: 13px; - background-image: url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.3/assets/images/intl-tel-input/flags.webp) !important; +.sky-phone-field-country-btn { + .iti__flag { + max-width: 25px; + max-height: 13px; + background-image: url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.3/assets/images/intl-tel-input/flags.webp) !important; - @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { - .iti__flag { - background-image: url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.3/assets/images/intl-tel-input/flags@2x.webp) !important; + @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .iti__flag { + background-image: url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.3/assets/images/intl-tel-input/flags@2x.webp) !important; + } } } } diff --git a/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts b/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts index cd12f4bf0e..c612f3ca2f 100644 --- a/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts +++ b/libs/components/phone-field/src/lib/modules/phone-field/phone-field.component.ts @@ -208,7 +208,7 @@ export class SkyPhoneFieldComponent implements OnDestroy, OnInit { public phoneInputShown = true; public countrySearchForm: FormGroup<{ - countrySearch: FormControl; + countrySearch: FormControl; }>; /** @@ -274,8 +274,9 @@ export class SkyPhoneFieldComponent implements OnDestroy, OnInit { #_selectedCountry: SkyPhoneFieldCountry | undefined; - #countrySearchFormControl: FormControl = - new FormControl(); + #countrySearchFormControl = new FormControl< + SkyCountryFieldCountry | undefined | null + >(undefined); #formBuilder: FormBuilder; #adapterService: SkyPhoneFieldAdapterService; @@ -338,9 +339,9 @@ export class SkyPhoneFieldComponent implements OnDestroy, OnInit { }, 0); this.#countrySearchFormControl.valueChanges.subscribe( - (newValue?: SkyCountryFieldCountry) => { + (newValue: SkyCountryFieldCountry | undefined | null) => { if (newValue?.iso2 !== this.selectedCountry?.iso2) { - this.selectedCountry = newValue; + this.selectedCountry = newValue || undefined; } }, ); diff --git a/libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts b/libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts index a9a69d56fd..43b06c099d 100644 --- a/libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts +++ b/libs/components/phone-field/src/lib/modules/shared/sky-phone-field-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_phone_field_country_search_dismiss: { message: 'Dismiss country search', diff --git a/libs/components/popovers/package.json b/libs/components/popovers/package.json index 061dd632ab..c2a34eef65 100644 --- a/libs/components/popovers/package.json +++ b/libs/components/popovers/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/popovers/project.json b/libs/components/popovers/project.json index deb7f62a14..18e38920ff 100644 --- a/libs/components/popovers/project.json +++ b/libs/components/popovers/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/popovers/src/**/*.ts", - "libs/components/popovers/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/popovers/src/lib/modules/shared/sky-popovers-resources.module.ts b/libs/components/popovers/src/lib/modules/shared/sky-popovers-resources.module.ts index 51825e2ac7..c56f47f87f 100644 --- a/libs/components/popovers/src/lib/modules/shared/sky-popovers-resources.module.ts +++ b/libs/components/popovers/src/lib/modules/shared/sky-popovers-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_dropdown_context_menu_default_label: { message: 'Context menu' }, skyux_dropdown_context_menu_with_content_descriptor_default_label: { diff --git a/libs/components/progress-indicator/package.json b/libs/components/progress-indicator/package.json index b350784de2..d715f58be1 100644 --- a/libs/components/progress-indicator/package.json +++ b/libs/components/progress-indicator/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", "@skyux/indicators": "0.0.0-PLACEHOLDER", diff --git a/libs/components/progress-indicator/project.json b/libs/components/progress-indicator/project.json index bf975f3e29..e4d5723d98 100644 --- a/libs/components/progress-indicator/project.json +++ b/libs/components/progress-indicator/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/progress-indicator/src/**/*.ts", - "libs/components/progress-indicator/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts b/libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts index b500782ad7..3f2510b705 100644 --- a/libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts +++ b/libs/components/progress-indicator/src/lib/modules/shared/sky-progress-indicator-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_progress_indicator_navigator_finish: { message: 'Finish' }, skyux_progress_indicator_navigator_next: { message: 'Next' }, diff --git a/libs/components/router/package.json b/libs/components/router/package.json index 53e60c5169..86a1c8e9a4 100644 --- a/libs/components/router/package.json +++ b/libs/components/router/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux/config": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER" }, diff --git a/libs/components/router/project.json b/libs/components/router/project.json index 70ef00cba9..fc2e5c878b 100644 --- a/libs/components/router/project.json +++ b/libs/components/router/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/router/src/**/*.ts", - "libs/components/router/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/router/src/lib/modules/href/href.directive.ts b/libs/components/router/src/lib/modules/href/href.directive.ts index a9dcfa2d1a..0e14089924 100644 --- a/libs/components/router/src/lib/modules/href/href.directive.ts +++ b/libs/components/router/src/lib/modules/href/href.directive.ts @@ -18,7 +18,10 @@ import { SkyHref } from './types/href'; import { SkyHrefChange } from './types/href-change'; import { SkyHrefQueryParams } from './types/href-query-params'; -type HrefChanges = { href: string; hidden: boolean }; +interface HrefChanges { + href: string; + hidden: boolean; +} @Directive({ selector: '[skyHref]', diff --git a/libs/components/router/src/lib/modules/href/types/href-change.ts b/libs/components/router/src/lib/modules/href/types/href-change.ts index e8350635ff..fabafa4d7a 100644 --- a/libs/components/router/src/lib/modules/href/types/href-change.ts +++ b/libs/components/router/src/lib/modules/href/types/href-change.ts @@ -1 +1,3 @@ -export type SkyHrefChange = { userHasAccess: boolean }; +export interface SkyHrefChange { + userHasAccess: boolean; +} diff --git a/libs/components/router/src/lib/modules/href/types/href-resolver.args.ts b/libs/components/router/src/lib/modules/href/types/href-resolver.args.ts index de62432ea5..5cfa3f4788 100644 --- a/libs/components/router/src/lib/modules/href/types/href-resolver.args.ts +++ b/libs/components/router/src/lib/modules/href/types/href-resolver.args.ts @@ -1 +1,3 @@ -export type SkyHrefResolverArgs = { url: string }; +export interface SkyHrefResolverArgs { + url: string; +} diff --git a/libs/components/router/src/lib/modules/link/link-query-params.ts b/libs/components/router/src/lib/modules/link/link-query-params.ts index 846865cfb4..080f460832 100644 --- a/libs/components/router/src/lib/modules/link/link-query-params.ts +++ b/libs/components/router/src/lib/modules/link/link-query-params.ts @@ -1 +1 @@ -export type SkyAppLinkQueryParams = { [k: string]: any }; +export type SkyAppLinkQueryParams = Record; diff --git a/libs/components/router/src/lib/modules/recently-accessed/recently-accessed-add-link.ts b/libs/components/router/src/lib/modules/recently-accessed/recently-accessed-add-link.ts index 4835d2d447..a063d2d747 100644 --- a/libs/components/router/src/lib/modules/recently-accessed/recently-accessed-add-link.ts +++ b/libs/components/router/src/lib/modules/recently-accessed/recently-accessed-add-link.ts @@ -13,5 +13,5 @@ export interface SkyRecentlyAccessedAddLink { /** * The link's parameters. */ - params?: { [key: string]: string }; + params?: Record; } diff --git a/libs/components/select-field/package.json b/libs/components/select-field/package.json index d55a5ef2dc..f8c457da4f 100644 --- a/libs/components/select-field/package.json +++ b/libs/components/select-field/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", "@skyux/indicators": "0.0.0-PLACEHOLDER", diff --git a/libs/components/select-field/project.json b/libs/components/select-field/project.json index f52537ca00..768f3a4c37 100644 --- a/libs/components/select-field/project.json +++ b/libs/components/select-field/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/select-field/src/**/*.ts", - "libs/components/select-field/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/select-field/src/lib/modules/select-field/select-field-picker.component.ts b/libs/components/select-field/src/lib/modules/select-field/select-field-picker.component.ts index cab3cea9ec..08bd65c258 100644 --- a/libs/components/select-field/src/lib/modules/select-field/select-field-picker.component.ts +++ b/libs/components/select-field/src/lib/modules/select-field/select-field-picker.component.ts @@ -85,16 +85,14 @@ export class SkySelectFieldPickerComponent return this._inMemorySearchEnabled; } + public readonly defaultCategory = 'any'; + public selectedCategory = this.defaultCategory; public selectedIds: any[] = []; public addNewRecordButtonClick = new Subject(); public showAddNewRecordButton = false; - public get defaultCategory(): string { - return 'any'; - } - @ViewChild(SkyListViewChecklistComponent, { static: true, }) diff --git a/libs/components/select-field/src/lib/modules/shared/sky-select-field-resources.module.ts b/libs/components/select-field/src/lib/modules/shared/sky-select-field-resources.module.ts index 0e6f0c652d..293d576bb6 100644 --- a/libs/components/select-field/src/lib/modules/shared/sky-select-field-resources.module.ts +++ b/libs/components/select-field/src/lib/modules/shared/sky-select-field-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_select_field_add_new_record_button: { message: 'New' }, skyux_select_field_multiple_select_open_button: { diff --git a/libs/components/split-view/package.json b/libs/components/split-view/package.json index 0b61029a7f..c54f3bbda6 100644 --- a/libs/components/split-view/package.json +++ b/libs/components/split-view/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/split-view/project.json b/libs/components/split-view/project.json index 7ca319e7e9..cd2ba8823e 100644 --- a/libs/components/split-view/project.json +++ b/libs/components/split-view/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/split-view/src/**/*.ts", - "libs/components/split-view/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts b/libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts index c58748783b..b3133cacdc 100644 --- a/libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts +++ b/libs/components/split-view/src/lib/modules/shared/sky-split-view-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_split_view_resize_handle: { message: diff --git a/libs/components/storybook/package.json b/libs/components/storybook/package.json index 47c3b4800d..193d846872 100644 --- a/libs/components/storybook/package.json +++ b/libs/components/storybook/package.json @@ -2,12 +2,12 @@ "name": "@skyux/storybook", "version": "0.0.1", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux/theme": "0.0.0-PLACEHOLDER", - "@storybook/angular": "^7.6.10" + "@storybook/angular": "^7.6.11" }, "dependencies": { "tslib": "^2.6.2" diff --git a/libs/components/storybook/project.json b/libs/components/storybook/project.json index 88456421b1..adcb5b1895 100644 --- a/libs/components/storybook/project.json +++ b/libs/components/storybook/project.json @@ -51,10 +51,7 @@ "lint": { "executor": "@nx/eslint:lint", "options": { - "lintFilePatterns": [ - "libs/components/storybook/**/*.ts", - "libs/components/storybook/**/*.html" - ] + "lintFilePatterns": ["{projectRoot}/**/*.ts", "{projectRoot}/**/*.html"] } }, "storybook": { diff --git a/libs/components/tabs/package.json b/libs/components/tabs/package.json index eabc989843..61ad30a339 100644 --- a/libs/components/tabs/package.json +++ b/libs/components/tabs/package.json @@ -16,11 +16,11 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", - "@angular/router": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", + "@angular/router": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/animations": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", diff --git a/libs/components/tabs/project.json b/libs/components/tabs/project.json index 225c75f48f..dac864a0ad 100644 --- a/libs/components/tabs/project.json +++ b/libs/components/tabs/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/tabs/src/**/*.ts", - "libs/components/tabs/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/tabs/src/lib/modules/sectioned-form/sectioned-form.component.ts b/libs/components/tabs/src/lib/modules/sectioned-form/sectioned-form.component.ts index 3046217ccf..ceaa49b927 100644 --- a/libs/components/tabs/src/lib/modules/sectioned-form/sectioned-form.component.ts +++ b/libs/components/tabs/src/lib/modules/sectioned-form/sectioned-form.component.ts @@ -79,7 +79,7 @@ export class SkySectionedFormComponent * section. The index is based on the section's position when the form loads. */ @Output() - public indexChanged: EventEmitter = new EventEmitter(); + public indexChanged = new EventEmitter(); /** * Fires when the sectioned form tabs are shown or hidden. diff --git a/libs/components/tabs/src/lib/modules/shared/sky-tabs-resources.module.ts b/libs/components/tabs/src/lib/modules/shared/sky-tabs-resources.module.ts index 35c83fd08c..946a7b97ca 100644 --- a/libs/components/tabs/src/lib/modules/shared/sky-tabs-resources.module.ts +++ b/libs/components/tabs/src/lib/modules/shared/sky-tabs-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_tab_add: { message: 'Add tab' }, skyux_tab_close: { message: 'Close {0} tab' }, diff --git a/libs/components/tabs/src/lib/modules/tabs/tab-button-view-model.ts b/libs/components/tabs/src/lib/modules/tabs/tab-button-view-model.ts index 1818d2d76b..492c28603a 100644 --- a/libs/components/tabs/src/lib/modules/tabs/tab-button-view-model.ts +++ b/libs/components/tabs/src/lib/modules/tabs/tab-button-view-model.ts @@ -3,7 +3,7 @@ import { SkyTabIndex } from './tab-index'; /** * @internal */ -export type TabButtonViewModel = { +export interface TabButtonViewModel { active: boolean; ariaControls: string; buttonHref: string | null; @@ -15,4 +15,4 @@ export type TabButtonViewModel = { tabIndex: SkyTabIndex | undefined; tabNumber: number; totalTabsCount: number; -}; +} diff --git a/libs/components/tabs/src/lib/modules/tabs/tabset-permalink.service.ts b/libs/components/tabs/src/lib/modules/tabs/tabset-permalink.service.ts index cd69627881..4313bf3522 100644 --- a/libs/components/tabs/src/lib/modules/tabs/tabset-permalink.service.ts +++ b/libs/components/tabs/src/lib/modules/tabs/tabset-permalink.service.ts @@ -7,9 +7,7 @@ import { Observable, Subject, SubscriptionLike } from 'rxjs'; /** * @internal */ -interface PermalinkParams { - [_: string]: string; -} +type PermalinkParams = Record; /** * @internal diff --git a/libs/components/tabs/src/lib/modules/tabs/tabset.service.ts b/libs/components/tabs/src/lib/modules/tabs/tabset.service.ts index ec8af94cc7..b597e25bb8 100644 --- a/libs/components/tabs/src/lib/modules/tabs/tabset.service.ts +++ b/libs/components/tabs/src/lib/modules/tabs/tabset.service.ts @@ -125,9 +125,7 @@ export class SkyTabsetService implements OnDestroy { } public focusFirstOrNearestTabBtn(tabButtons: TabButtonViewModel[]): void { - for (let i = 0; i < tabButtons.length; i++) { - const tabBtn = tabButtons[i]; - + for (const tabBtn of tabButtons) { if (!tabBtn.disabled && tabBtn.tabIndex !== undefined) { this.setFocusedTabBtnIndex(tabBtn.tabIndex); return; diff --git a/libs/components/tabs/src/lib/modules/vertical-tabset/vertical-tabset.service.ts b/libs/components/tabs/src/lib/modules/vertical-tabset/vertical-tabset.service.ts index 9887ea9081..cb2f144d74 100644 --- a/libs/components/tabs/src/lib/modules/vertical-tabset/vertical-tabset.service.ts +++ b/libs/components/tabs/src/lib/modules/vertical-tabset/vertical-tabset.service.ts @@ -25,19 +25,19 @@ export class SkyVerticalTabsetService { public hidingTabs = new BehaviorSubject(false); - public indexChanged: ReplaySubject = new ReplaySubject(1); + public indexChanged = new ReplaySubject(1); public maintainTabContent: boolean | undefined = false; public showingTabs = new BehaviorSubject(false); - public switchingMobile: Subject = new Subject(); + public switchingMobile = new Subject(); - public tabs: Array = []; + public tabs: SkyVerticalTabComponent[] = []; - public tabAdded: Subject = new Subject(); + public tabAdded = new Subject(); - public tabClicked: ReplaySubject = new ReplaySubject(1); + public tabClicked = new ReplaySubject(1); #groups: SkyVerticalTabsetGroupComponent[] = []; diff --git a/libs/components/text-editor/package.json b/libs/components/text-editor/package.json index 7b92aa7fd9..7453fbab53 100644 --- a/libs/components/text-editor/package.json +++ b/libs/components/text-editor/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux/colorpicker": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/forms": "0.0.0-PLACEHOLDER", diff --git a/libs/components/text-editor/project.json b/libs/components/text-editor/project.json index b0a1f4bdcf..41a3b38ab4 100644 --- a/libs/components/text-editor/project.json +++ b/libs/components/text-editor/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/text-editor/src/**/*.ts", - "libs/components/text-editor/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/text-editor/src/lib/modules/shared/sky-text-editor-resources.module.ts b/libs/components/text-editor/src/lib/modules/shared/sky-text-editor-resources.module.ts index e1605b07fb..f5fc9a8554 100644 --- a/libs/components/text-editor/src/lib/modules/shared/sky-text-editor-resources.module.ts +++ b/libs/components/text-editor/src/lib/modules/shared/sky-text-editor-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_text_editor_format_menu_action_bold_label: { message: 'Bold' }, skyux_text_editor_format_menu_action_bold_key_shortcut: { diff --git a/libs/components/text-editor/src/lib/modules/text-editor/toolbar/text-editor-toolbar.component.ts b/libs/components/text-editor/src/lib/modules/text-editor/toolbar/text-editor-toolbar.component.ts index dd2d0b53fa..3abbcf0999 100644 --- a/libs/components/text-editor/src/lib/modules/text-editor/toolbar/text-editor-toolbar.component.ts +++ b/libs/components/text-editor/src/lib/modules/text-editor/toolbar/text-editor-toolbar.component.ts @@ -255,9 +255,9 @@ export class SkyTextEditorToolbarComponent implements OnInit { } #getFontName(fontName: string): string | undefined { - for (let i = 0; i < this.fontList.length; i++) { - if (fontName.replace(/['"]+/g, '') === this.fontList[i].name) { - return this.fontList[i].name; + for (const skyTextEditorFont of this.fontList) { + if (fontName.replace(/['"]+/g, '') === skyTextEditorFont.name) { + return skyTextEditorFont.name; } } diff --git a/libs/components/theme/package.json b/libs/components/theme/package.json index 2422527f6e..dc2d4b60f1 100644 --- a/libs/components/theme/package.json +++ b/libs/components/theme/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1" }, "dependencies": { "@blackbaud/skyux-design-tokens": "0.0.28", diff --git a/libs/components/theme/project.json b/libs/components/theme/project.json index 1f8b49545f..54c38b1af1 100644 --- a/libs/components/theme/project.json +++ b/libs/components/theme/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/theme/src/**/*.ts", - "libs/components/theme/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } }, diff --git a/libs/components/theme/src/lib/theming/theme-class.directive.ts b/libs/components/theme/src/lib/theming/theme-class.directive.ts index b8c03b6c0b..69387999c2 100644 --- a/libs/components/theme/src/lib/theming/theme-class.directive.ts +++ b/libs/components/theme/src/lib/theming/theme-class.directive.ts @@ -13,7 +13,7 @@ import { takeUntil } from 'rxjs/operators'; import { SkyThemeSettings } from './theme-settings'; import { SkyThemeService } from './theme.service'; -type SkyThemeClassMap = { [key: string]: string }; +type SkyThemeClassMap = Record; /** * Component to add classes conditionally based on the current theme. diff --git a/libs/components/tiles/package.json b/libs/components/tiles/package.json index 2fd0f2fb5f..e852452ebc 100644 --- a/libs/components/tiles/package.json +++ b/libs/components/tiles/package.json @@ -16,8 +16,8 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", "@skyux/animations": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", "@skyux/i18n": "0.0.0-PLACEHOLDER", diff --git a/libs/components/tiles/project.json b/libs/components/tiles/project.json index c1d335e8f0..ec02bbb792 100644 --- a/libs/components/tiles/project.json +++ b/libs/components/tiles/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/tiles/src/**/*.ts", - "libs/components/tiles/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts b/libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts index 5f373ffe4a..79f2d09bb5 100644 --- a/libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts +++ b/libs/components/tiles/src/lib/modules/shared/sky-tiles-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_tile_expand: { message: 'Expand or collapse {0}' }, skyux_tile_expand_default: { message: 'Expand or collapse' }, diff --git a/libs/components/toast/package.json b/libs/components/toast/package.json index f0dd45054f..4bdf1d66e1 100644 --- a/libs/components/toast/package.json +++ b/libs/components/toast/package.json @@ -16,10 +16,10 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/animations": "^17.1.0", - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/animations": "^17.1.1", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux-sdk/testing": "0.0.0-PLACEHOLDER", "@skyux/animations": "0.0.0-PLACEHOLDER", "@skyux/core": "0.0.0-PLACEHOLDER", diff --git a/libs/components/toast/project.json b/libs/components/toast/project.json index d71e3670d0..020dadb5f0 100644 --- a/libs/components/toast/project.json +++ b/libs/components/toast/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/toast/src/**/*.ts", - "libs/components/toast/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/toast/src/lib/modules/shared/sky-toast-resources.module.ts b/libs/components/toast/src/lib/modules/shared/sky-toast-resources.module.ts index 00f8a2b0a0..b71594c104 100644 --- a/libs/components/toast/src/lib/modules/shared/sky-toast-resources.module.ts +++ b/libs/components/toast/src/lib/modules/shared/sky-toast-resources.module.ts @@ -17,7 +17,7 @@ import { getLibStringForLocale, } from '@skyux/i18n'; -const RESOURCES: { [locale: string]: SkyLibResources } = { +const RESOURCES: Record = { 'EN-US': { skyux_toast_close_button_aria_label: { message: 'Close message:' }, skyux_toast_close_button_title: { message: 'Close the message' }, diff --git a/libs/components/validation/package.json b/libs/components/validation/package.json index 40b27e0737..d44f7efef3 100644 --- a/libs/components/validation/package.json +++ b/libs/components/validation/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/forms": "^17.1.0" + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/forms": "^17.1.1" }, "dependencies": { "tslib": "^2.6.2", diff --git a/libs/components/validation/project.json b/libs/components/validation/project.json index 2b5b144588..2cda097f86 100644 --- a/libs/components/validation/project.json +++ b/libs/components/validation/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/components/validation/src/**/*.ts", - "libs/components/validation/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts b/libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts index 8b2866f68f..10eef64e4a 100644 --- a/libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts +++ b/libs/components/validation/src/lib/modules/url-validation/url-validation.directive.ts @@ -10,7 +10,6 @@ import { SkyValidation } from '../validation/validation'; import { SkyUrlValidationOptions } from './url-validation-options'; -// tslint:disable:no-forward-ref no-use-before-declare const SKY_URL_VALIDATION_VALIDATOR = { provide: NG_VALIDATORS, useExisting: forwardRef(() => SkyUrlValidationDirective), diff --git a/libs/sdk/e2e-schematics/package.json b/libs/sdk/e2e-schematics/package.json index d813242979..552fad10d1 100644 --- a/libs/sdk/e2e-schematics/package.json +++ b/libs/sdk/e2e-schematics/package.json @@ -2,16 +2,16 @@ "name": "@skyux-sdk/e2e-schematics", "version": "1.0.0", "peerDependencies": { - "@angular/cdk": "^17.1.0", - "@angular/cli": "^17.1.0", + "@angular/cdk": "^17.1.1", + "@angular/cli": "^17.1.1", "@percy/cypress": "^3.1.2", - "@nx/devkit": "^17.2.8", - "@nx/workspace": "^17.2.8", - "@nx/storybook": "^17.2.8", - "@nx/angular": "^17.2.8", + "@nx/devkit": "^17.3.0", + "@nx/workspace": "^17.3.0", + "@nx/storybook": "^17.3.0", + "@nx/angular": "^17.3.0", "@percy/sdk-utils": "^1.27.7", "typescript": "^5.3.3", - "@nx/eslint": "^17.2.8" + "@nx/eslint": "^17.3.0" }, "main": "src/index.js", "generators": "./generators.json" diff --git a/libs/sdk/e2e-schematics/project.json b/libs/sdk/e2e-schematics/project.json index ba9d3870e8..175c61a69e 100644 --- a/libs/sdk/e2e-schematics/project.json +++ b/libs/sdk/e2e-schematics/project.json @@ -38,13 +38,12 @@ }, "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": [ - "libs/sdk/e2e-schematics/**/*.ts", - "libs/sdk/e2e-schematics/generators.json", - "libs/sdk/e2e-schematics/executors.json", - "libs/sdk/e2e-schematics/package.json" + "{projectRoot}/**/*.ts", + "{projectRoot}/generators.json", + "{projectRoot}/executors.json", + "{projectRoot}/package.json" ] } }, diff --git a/libs/sdk/e2e-schematics/src/generators/component-e2e/index.spec.ts b/libs/sdk/e2e-schematics/src/generators/component-e2e/index.spec.ts index e286bf4029..8779eb8f46 100644 --- a/libs/sdk/e2e-schematics/src/generators/component-e2e/index.spec.ts +++ b/libs/sdk/e2e-schematics/src/generators/component-e2e/index.spec.ts @@ -67,7 +67,7 @@ describe('component-e2e', () => { return nxJson; }); await componentE2eGenerator(tree, { name: 'test' }); - const config: { [_: string]: ProjectConfiguration } = {}; + const config: Record = {}; for (const projectName of ['test-storybook', 'test-storybook-e2e']) { config[projectName] = readProjectConfiguration(tree, projectName); expect(config[projectName].projectType).toEqual('application'); diff --git a/libs/sdk/e2e-schematics/src/generators/stories/__snapshots__/index.spec.ts.snap b/libs/sdk/e2e-schematics/src/generators/stories/__snapshots__/index.spec.ts.snap index 5ba6fc262a..dbf6493657 100644 --- a/libs/sdk/e2e-schematics/src/generators/stories/__snapshots__/index.spec.ts.snap +++ b/libs/sdk/e2e-schematics/src/generators/stories/__snapshots__/index.spec.ts.snap @@ -29,6 +29,7 @@ describe('test', () => { \`/iframe.html?globals=theme:\${theme}&id=nestedcomponent-nested--nested\` ) ); + it('should render the component', () => { cy.get('proj-nested') .should('exist') @@ -91,6 +92,7 @@ describe('test-storybook', () => { \`/iframe.html?globals=theme:\${theme}&id=nxwelcomecomponent-nxwelcome--nx-welcome\` ) ); + it('should render the component', () => { cy.get('proj-nx-welcome') .should('exist') diff --git a/libs/sdk/e2e-schematics/src/generators/story/__snapshots__/index.spec.ts.snap b/libs/sdk/e2e-schematics/src/generators/story/__snapshots__/index.spec.ts.snap index 1b4216001b..cfde7c7ddf 100644 --- a/libs/sdk/e2e-schematics/src/generators/story/__snapshots__/index.spec.ts.snap +++ b/libs/sdk/e2e-schematics/src/generators/story/__snapshots__/index.spec.ts.snap @@ -246,6 +246,7 @@ describe('test-storybook', () => { \`/iframe.html?globals=theme:\${theme}&id=examplecomponent-example--example\` ) ); + it('should render the component', () => { cy.get('proj-example') .should('exist') diff --git a/libs/sdk/e2e-schematics/src/utils/ast-utils.ts b/libs/sdk/e2e-schematics/src/utils/ast-utils.ts index 316b5658d9..2119d6367b 100644 --- a/libs/sdk/e2e-schematics/src/utils/ast-utils.ts +++ b/libs/sdk/e2e-schematics/src/utils/ast-utils.ts @@ -2,11 +2,11 @@ import { getSourceNodes } from '@angular/cdk/schematics'; import { Tree } from '@nx/devkit'; import * as ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript'; -export type DecoratedClass = { +export interface DecoratedClass { classDeclaration: ts.ClassDeclaration; - properties: { [key: string]: ts.Expression }; + properties: Record; propertiesObjectLiteral?: ts.ObjectLiteralExpression; -}; +} /** * Apply a set of transformations to typescript source files. @@ -105,7 +105,7 @@ function findDecoratedClass( decorator.expression.expression.escapedText === ngModuleName, ); - const properties: { [key: string]: ts.Expression } = {}; + const properties: Record = {}; const callExpression = decorator?.expression as ts.CallExpression; @@ -471,9 +471,9 @@ export function getInsertStringPropertyTransformer( /** * Create a transformer to update the value of string literals in a typescript source file. */ -export function getStringLiteralsSetterTransformer(strings: { - [_: string]: string; -}): ts.TransformerFactory { +export function getStringLiteralsSetterTransformer( + strings: Record, +): ts.TransformerFactory { return (context) => { return (sourceFile: ts.SourceFile) => { const visitor: (node: ts.Node) => ts.Node | ts.Identifier = ( @@ -503,9 +503,9 @@ export function getStringLiteralsSetterTransformer(strings: { /** * Create a transformer to rename variables in a typescript source file. */ -export function getRenameVariablesTransformer(renameMap: { - [_: string]: string; -}): ts.TransformerFactory { +export function getRenameVariablesTransformer( + renameMap: Record, +): ts.TransformerFactory { return (context) => { return (sourceFile: ts.SourceFile) => { const visitor: (node: ts.Node) => ts.Node | ts.Identifier = ( diff --git a/libs/sdk/e2e-schematics/src/workflow/percy-api/percy-api.ts b/libs/sdk/e2e-schematics/src/workflow/percy-api/percy-api.ts index 4f5b4d4442..851024909d 100644 --- a/libs/sdk/e2e-schematics/src/workflow/percy-api/percy-api.ts +++ b/libs/sdk/e2e-schematics/src/workflow/percy-api/percy-api.ts @@ -1,4 +1,4 @@ -type Build = { +interface Build { id: string; type: 'builds'; attributes: { @@ -25,9 +25,9 @@ type Build = { 'created-at': string; 'updated-at': string; }; -}; +} -export type BuildSummary = { +export interface BuildSummary { project: string; state: | 'unsaved' @@ -40,7 +40,7 @@ export type BuildSummary = { | undefined; approved: boolean; removedSnapshots: string[]; -}; +} export type Fetch = ( input: RequestInfo | URL, @@ -49,13 +49,13 @@ export type Fetch = ( type FetchJson = (url: string, name: string) => Promise; -type Snapshot = { +interface Snapshot { type: 'snapshots'; id: string; attributes: { name: string; }; -}; +} function getFetchJson( fetchClient: (input: RequestInfo | URL) => Promise, diff --git a/libs/sdk/e2e-schematics/src/workflow/verify-e2e/verify-e2e.ts b/libs/sdk/e2e-schematics/src/workflow/verify-e2e/verify-e2e.ts index 65a65a0263..a16c2c5812 100644 --- a/libs/sdk/e2e-schematics/src/workflow/verify-e2e/verify-e2e.ts +++ b/libs/sdk/e2e-schematics/src/workflow/verify-e2e/verify-e2e.ts @@ -1,12 +1,18 @@ import { Fetch, checkPercyBuild } from '../percy-api/percy-api'; -type WorkflowJob = { name: string; steps: WorkflowJobStep[] }; -type WorkflowJobStep = { name: string; conclusion: string }; -type WorkflowStepSummary = { +interface WorkflowJob { + name: string; + steps: WorkflowJobStep[]; +} +interface WorkflowJobStep { + name: string; + conclusion: string; +} +interface WorkflowStepSummary { project: string; skipped: boolean; succeeded: boolean; -}; +} /** * Call from GitHub Actions workflow: diff --git a/libs/sdk/eslint-config/package.json b/libs/sdk/eslint-config/package.json index 2330e4972f..9cf0e9337b 100644 --- a/libs/sdk/eslint-config/package.json +++ b/libs/sdk/eslint-config/package.json @@ -27,7 +27,7 @@ } }, "peerDependencies": { - "@angular/cli": "^17.1.0", + "@angular/cli": "^17.1.1", "eslint-plugin-deprecation": "^2.0.0" }, "dependencies": { diff --git a/libs/sdk/eslint-config/project.json b/libs/sdk/eslint-config/project.json index c1c9fd9a7f..959e67dc2f 100644 --- a/libs/sdk/eslint-config/project.json +++ b/libs/sdk/eslint-config/project.json @@ -6,9 +6,8 @@ "targets": { "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/sdk/eslint-config/**/*.ts"] + "lintFilePatterns": ["{projectRoot}/**/*.ts"] } }, "test": { diff --git a/libs/sdk/prettier-schematics/package.json b/libs/sdk/prettier-schematics/package.json index b34ab01c86..2982864fbc 100644 --- a/libs/sdk/prettier-schematics/package.json +++ b/libs/sdk/prettier-schematics/package.json @@ -28,7 +28,7 @@ } }, "peerDependencies": { - "@angular/cli": "^17.1.0" + "@angular/cli": "^17.1.1" }, "dependencies": { "comment-json": "4.2.3" diff --git a/libs/sdk/prettier-schematics/project.json b/libs/sdk/prettier-schematics/project.json index 68dae793cd..6f4b2cb3e0 100644 --- a/libs/sdk/prettier-schematics/project.json +++ b/libs/sdk/prettier-schematics/project.json @@ -6,9 +6,8 @@ "targets": { "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/sdk/prettier-schematics/**/*.ts"] + "lintFilePatterns": ["{projectRoot}/**/*.ts"] } }, "test": { diff --git a/libs/sdk/prettier-schematics/src/schematics/ng-add/rules/add-format-npm-script.ts b/libs/sdk/prettier-schematics/src/schematics/ng-add/rules/add-format-npm-script.ts index 264bf001bb..c8f9baa82b 100644 --- a/libs/sdk/prettier-schematics/src/schematics/ng-add/rules/add-format-npm-script.ts +++ b/libs/sdk/prettier-schematics/src/schematics/ng-add/rules/add-format-npm-script.ts @@ -5,9 +5,7 @@ import { readJsonFile, writeJsonFile } from '../../utility/tree'; export function addFormatNpmScript(): Rule { return (tree) => { const packageJson = readJsonFile<{ - scripts: { - [_: string]: string; - }; + scripts: Record; }>(tree, 'package.json'); packageJson.scripts = packageJson.scripts || {}; diff --git a/libs/sdk/testing/package.json b/libs/sdk/testing/package.json index bf77ee9882..8807a8e57c 100644 --- a/libs/sdk/testing/package.json +++ b/libs/sdk/testing/package.json @@ -16,9 +16,9 @@ }, "homepage": "https://github.com/blackbaud/skyux#readme", "peerDependencies": { - "@angular/common": "^17.1.0", - "@angular/core": "^17.1.0", - "@angular/platform-browser": "^17.1.0", + "@angular/common": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/platform-browser": "^17.1.1", "@skyux/i18n": "0.0.0-PLACEHOLDER", "axe-core": "^3.5.6 || ~4.6.3 || ~4.7.2 || ~4.8.3" }, diff --git a/libs/sdk/testing/project.json b/libs/sdk/testing/project.json index d6fdcdfb7a..6533760c01 100644 --- a/libs/sdk/testing/project.json +++ b/libs/sdk/testing/project.json @@ -56,8 +56,8 @@ "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ - "libs/sdk/testing/src/**/*.ts", - "libs/sdk/testing/src/**/*.html" + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.html" ] } } diff --git a/libs/sdk/testing/src/lib/a11y/a11y-analyzer-config.ts b/libs/sdk/testing/src/lib/a11y/a11y-analyzer-config.ts index 7f22842e7f..b01e3c1e43 100644 --- a/libs/sdk/testing/src/lib/a11y/a11y-analyzer-config.ts +++ b/libs/sdk/testing/src/lib/a11y/a11y-analyzer-config.ts @@ -1,7 +1,8 @@ export interface SkyA11yAnalyzerConfig { - rules: { - [key: string]: { + rules: Record< + string, + { enabled: boolean; - }; - }; + } + >; } diff --git a/libs/sdk/testing/src/lib/matchers/matchers.ts b/libs/sdk/testing/src/lib/matchers/matchers.ts index 581d4b41a9..95d84a1262 100644 --- a/libs/sdk/testing/src/lib/matchers/matchers.ts +++ b/libs/sdk/testing/src/lib/matchers/matchers.ts @@ -179,7 +179,7 @@ const matchers: jasmine.CustomMatcherFactories = { return { compare( el: any, - expectedStyles: { [index: string]: string }, + expectedStyles: Record, ): jasmine.CustomMatcherResult { const message: string[] = []; @@ -697,7 +697,7 @@ export interface SkyMatchers extends jasmine.Matchers { * `expect` the actual element to have the expected style(s). * @param expectedStyles An object representing the style(s) to check for. */ - toHaveStyle(expectedStyles: { [index: string]: string }): void; + toHaveStyle(expectedStyles: Record): void; /** * `expect` the actual element to have the expected text. diff --git a/libs/sdk/tools/package.json b/libs/sdk/tools/package.json index 59426790a7..1f7c4a4719 100644 --- a/libs/sdk/tools/package.json +++ b/libs/sdk/tools/package.json @@ -2,6 +2,6 @@ "name": "@skyux-sdk/tools", "generators": "./generators.json", "dependencies": { - "@nx/devkit": "17.2.8" + "@nx/devkit": "17.3.0" } } diff --git a/libs/sdk/tools/project.json b/libs/sdk/tools/project.json index 14d40aa785..429dcad1f4 100644 --- a/libs/sdk/tools/project.json +++ b/libs/sdk/tools/project.json @@ -6,12 +6,11 @@ "targets": { "lint": { "executor": "@nx/eslint:lint", - "outputs": ["{options.outputFile}"], "options": { "lintFilePatterns": [ - "libs/sdk/tools/**/*.ts", - "libs/sdk/tools/generators.json", - "libs/sdk/tools/package.json" + "{projectRoot}/**/*.ts", + "{projectRoot}/generators.json", + "{projectRoot}/package.json" ] } }, diff --git a/nx.json b/nx.json index 3dd182eeda..6d7b919121 100644 --- a/nx.json +++ b/nx.json @@ -38,10 +38,6 @@ "inputs": ["e2eInputs", "^storybookInputs", "^buildInputs"], "cache": true }, - "lint": { - "inputs": ["lintInputs"], - "cache": true - }, "build-storybook": { "inputs": ["storybookInputs", "^buildInputs"], "cache": true @@ -67,6 +63,10 @@ "runInBand": true } } + }, + "@nx/eslint:lint": { + "inputs": ["lintInputs"], + "cache": true } }, "namedInputs": { diff --git a/package-lock.json b/package-lock.json index d489e4ae6a..cdbc756aa9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,19 +10,19 @@ "hasInstallScript": true, "license": "MIT", "dependencies": { - "@angular/animations": "17.1.0", - "@angular/cdk": "17.1.0", - "@angular/common": "17.1.0", - "@angular/compiler": "17.1.0", - "@angular/core": "17.1.0", - "@angular/forms": "17.1.0", - "@angular/platform-browser": "17.1.0", - "@angular/platform-browser-dynamic": "17.1.0", - "@angular/router": "17.1.0", + "@angular/animations": "17.1.1", + "@angular/cdk": "17.1.1", + "@angular/common": "17.1.1", + "@angular/compiler": "17.1.1", + "@angular/core": "17.1.1", + "@angular/forms": "17.1.1", + "@angular/platform-browser": "17.1.1", + "@angular/platform-browser-dynamic": "17.1.1", + "@angular/router": "17.1.1", "@blackbaud/angular-tree-component": "1.0.0", "@blackbaud/auth-client": "2.71.0", "@blackbaud/skyux-design-tokens": "0.0.28", - "@nx/angular": "17.2.8", + "@nx/angular": "17.3.0", "@skyux/auth-client-factory": "1.2.0", "@skyux/icons": "6.9.0", "ag-grid-angular": "29.3.5", @@ -49,49 +49,49 @@ "zone.js": "0.14.3" }, "devDependencies": { - "@angular-devkit/build-angular": "17.1.0", - "@angular-devkit/core": "17.1.0", - "@angular-devkit/schematics": "17.1.0", + "@angular-devkit/build-angular": "17.1.1", + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", "@angular-eslint/eslint-plugin": "17.2.1", "@angular-eslint/eslint-plugin-template": "17.2.1", "@angular-eslint/template-parser": "17.2.1", - "@angular/cli": "17.1.0", - "@angular/compiler-cli": "17.1.0", - "@angular/language-service": "17.1.0", + "@angular/cli": "17.1.1", + "@angular/compiler-cli": "17.1.1", + "@angular/language-service": "17.1.1", "@cspell/eslint-plugin": "8.3.2", "@istanbuljs/nyc-config-typescript": "1.0.2", - "@nx/cypress": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/eslint-plugin": "17.2.8", - "@nx/jest": "17.2.8", - "@nx/js": "17.2.8", - "@nx/node": "17.2.8", - "@nx/plugin": "17.2.8", - "@nx/storybook": "17.2.8", - "@nx/web": "17.2.8", - "@nx/workspace": "17.2.8", + "@nx/cypress": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/eslint-plugin": "17.3.0", + "@nx/jest": "17.3.0", + "@nx/js": "17.3.0", + "@nx/node": "17.3.0", + "@nx/plugin": "17.3.0", + "@nx/storybook": "17.3.0", + "@nx/web": "17.3.0", + "@nx/workspace": "17.3.0", "@percy/cli": "1.27.7", "@percy/core": "1.27.7", "@percy/cypress": "3.1.2", "@percy/sdk-utils": "1.27.7", "@ryansonshine/commitizen": "4.2.8", "@ryansonshine/cz-conventional-changelog": "3.3.4", - "@schematics/angular": "17.1.0", - "@skyux/dev-infra-private": "github:blackbaud/skyux-dev-infra-private-builds#9.0.0-alpha.20", - "@storybook/addon-a11y": "7.6.10", - "@storybook/addon-actions": "7.6.10", - "@storybook/addon-controls": "7.6.10", - "@storybook/addon-toolbars": "7.6.10", - "@storybook/addon-viewport": "7.6.10", - "@storybook/angular": "7.6.10", - "@storybook/api": "7.6.10", - "@storybook/core-server": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/types": "7.6.10", + "@schematics/angular": "17.1.1", + "@skyux/dev-infra-private": "github:blackbaud/skyux-dev-infra-private-builds#10.0.0-alpha.0", + "@storybook/addon-a11y": "7.6.11", + "@storybook/addon-actions": "7.6.11", + "@storybook/addon-controls": "7.6.11", + "@storybook/addon-toolbars": "7.6.11", + "@storybook/addon-viewport": "7.6.11", + "@storybook/angular": "7.6.11", + "@storybook/api": "7.6.11", + "@storybook/core-server": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/types": "7.6.11", "@trivago/prettier-plugin-sort-imports": "4.3.0", "@types/cross-spawn": "6.0.6", - "@types/dompurify": "3.0.3", + "@types/dompurify": "3.0.5", "@types/dragula": "2.1.36", "@types/fontfaceobserver": "2.1.1", "@types/fs-extra": "11.0.4", @@ -100,12 +100,13 @@ "@types/he": "1.2.1", "@types/jasmine": "5.1.4", "@types/jest": "29.5.11", - "@types/node": "18.17.8", + "@types/node": "18.16.9", "@types/validator": "13.11.2", - "@typescript-eslint/eslint-plugin": "6.19.0", - "@typescript-eslint/parser": "6.19.0", + "@typescript-eslint/eslint-plugin": "6.20.0", + "@typescript-eslint/parser": "6.20.0", + "autoprefixer": "10.4.0", "cross-spawn": "7.0.3", - "cypress": "13.6.3", + "cypress": "13.6.4", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-cypress": "2.15.1", @@ -124,8 +125,8 @@ "karma-coverage": "2.2.1", "karma-jasmine": "5.1.0", "karma-jasmine-html-reporter": "2.1.0", - "ng-packagr": "17.1.1", - "nx": "17.2.8", + "ng-packagr": "17.1.2", + "nx": "17.3.0", "nyc": "15.1.0", "postcss": "8.4.33", "postcss-import": "16.0.0", @@ -135,7 +136,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "resize-observer-polyfill": "1.5.1", - "storybook": "7.6.10", + "storybook": "7.6.11", "ts-jest": "29.1.2", "ts-node": "10.9.2", "typescript": "5.3.3" @@ -171,58 +172,28 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1602.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.11.tgz", - "integrity": "sha512-qC1tPL/82gxqCS1z9pTpLn5NQH6uqbV6UNjbkFEQpTwEyWEK6VLChAJsybHHfbpssPS2HWf31VoUzX7RqDjoQQ==", - "dev": true, - "peer": true, + "version": "0.1701.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1701.1.tgz", + "integrity": "sha512-vT3ZRAIfNyIg0vJWT6umPbCKiKFCukNkxLe9kgOU0tinZKNr/LgWYaBZ92Rxxi6C3NrAnmAYjsih8x4zdyoRXw==", "dependencies": { - "@angular-devkit/core": "16.2.11", + "@angular-devkit/core": "17.1.1", "rxjs": "7.8.1" }, "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.11.tgz", - "integrity": "sha512-u3cEQHqhSMWyAFIaPdRukCJwEUJt7Fy3C02gTlTeCB4F/OnftVFIm2e5vmCqMo9rgbfdvjWj9V+7wWiCpMrzAQ==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "picomatch": "2.3.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", + "node": "^18.13.0 || >=20.9.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.1.0.tgz", - "integrity": "sha512-N9B2SlKewD48qKFgRPKDH1X2EvOGll1ocMlFxi95mT9aXuFd2d75JUYHzS1v3FQRU3peoAoFKxCV7OuIL/cmTA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.1.1.tgz", + "integrity": "sha512-GchDM8H+RQNts731c+jnhDgOm0PnCS3YB12uVwRiGsaNsUMrqKnu3P0poh6AImDMPyXKnIvTWLDCMD8TDziR0A==", "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1701.0", - "@angular-devkit/build-webpack": "0.1701.0", - "@angular-devkit/core": "17.1.0", + "@angular-devkit/architect": "0.1701.1", + "@angular-devkit/build-webpack": "0.1701.1", + "@angular-devkit/core": "17.1.1", "@babel/core": "7.23.7", "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", @@ -233,7 +204,7 @@ "@babel/preset-env": "7.23.7", "@babel/runtime": "7.23.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.1.0", + "@ngtools/webpack": "17.1.1", "@vitejs/plugin-basic-ssl": "1.0.2", "ansi-colors": "4.1.3", "autoprefixer": "10.4.16", @@ -276,7 +247,7 @@ "tree-kill": "1.2.2", "tslib": "2.6.2", "undici": "6.2.1", - "vite": "5.0.11", + "vite": "5.0.12", "watchpack": "2.4.0", "webpack": "5.89.0", "webpack-dev-middleware": "6.1.1", @@ -343,20 +314,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { - "version": "0.1701.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1701.0.tgz", - "integrity": "sha512-VP6mjptKFn0HO2dn4bH0mFMe4CrexlWlgnTHyAUbL7ZFaV9w4VQuE/vXr60wMlQ+83NIGUeJImjt1QVNlIjJnQ==", - "dependencies": { - "@angular-devkit/core": "17.1.0", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -382,6 +339,42 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@angular-devkit/build-angular/node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -593,11 +586,11 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1701.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1701.0.tgz", - "integrity": "sha512-AUQbdnAXMdXKPj51RWr+0SusTh5M1EWEpXtEZgDSO5Vab6ak+xsX+k1IhjlEoliF0prHjD5WzBegr6WKCjZ30w==", + "version": "0.1701.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1701.1.tgz", + "integrity": "sha512-YgNl/6xLmI0XdUCu/H4Jyi34BhrANCDP4N2Pz+tGwnz2+Vl8oZGLPGtKVbh/LKSAmEHk/B6GQUekSBpKWrPJoA==", "dependencies": { - "@angular-devkit/architect": "0.1701.0", + "@angular-devkit/architect": "0.1701.1", "rxjs": "7.8.1" }, "engines": { @@ -610,24 +603,10 @@ "webpack-dev-server": "^4.0.0" } }, - "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { - "version": "0.1701.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1701.0.tgz", - "integrity": "sha512-VP6mjptKFn0HO2dn4bH0mFMe4CrexlWlgnTHyAUbL7ZFaV9w4VQuE/vXr60wMlQ+83NIGUeJImjt1QVNlIjJnQ==", - "dependencies": { - "@angular-devkit/core": "17.1.0", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular-devkit/core": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.0.tgz", - "integrity": "sha512-w7HeJjyM6YtjXrwFdmFIsp9lzDPAFJov8hVCD18DZaCwryRixz+o8egfw2SkpI4L8kuGAiGxpaCTRsTQtmR4/w==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.1.1.tgz", + "integrity": "sha512-b1wd1caegc1p18nTrfPhfHQAZW1GnWWKGldq5MZ8C/nkgJbjjN8SKb1Vw7GONkOnH6KxWDAXS4i93/wdQcz4Bg==", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -662,11 +641,11 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.0.tgz", - "integrity": "sha512-7q4Bk3+ePBdzrmMWxWBnNdN4kmBe2jJwa3vAofaMqZiIBEor85YcOsrUJvcWM/3+/TusgZr4p/4+oJgiYDrj5A==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.1.1.tgz", + "integrity": "sha512-3AtEO7k0Znzg11o51ZqebkW8063QkZ7Y7BC96Oye+wSdpT3ow57P0w0UtOpUNesNKzj1iMuPWqqm4i+YqitjCw==", "dependencies": { - "@angular-devkit/core": "17.1.0", + "@angular-devkit/core": "17.1.1", "jsonc-parser": "3.2.0", "magic-string": "0.30.5", "ora": "5.4.1", @@ -1133,9 +1112,9 @@ } }, "node_modules/@angular/animations": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.1.0.tgz", - "integrity": "sha512-EzyJsla/CnRX4ARmHe9J1m3Pl+J4m5hznzeQFyZpJehikaHKAGGJTGM/+DFAX9TuR1ZpCmS0z0oWsYzag2Q7RA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.1.1.tgz", + "integrity": "sha512-85qm8b4fNKa5zx4YlvCvAb3lWGlRsEcClnpCuwSVP8pXG7n/cW8MsJOh8i/wOkQTr9Ac7vvAE+yFWMi2A/qlTg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1143,13 +1122,13 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.1.0" + "@angular/core": "17.1.1" } }, "node_modules/@angular/cdk": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.1.0.tgz", - "integrity": "sha512-a2+uqr1s2pCStFs78BM1ViVqi0GnxFHGKHo58hiR9pDV/pyg9cvy+d+rsci1HkuF9AC/UqV5Y6rGLfwayO183g==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.1.1.tgz", + "integrity": "sha512-Q5qC6VUyT7N/hj8eETdh0bkmBmsXm0JZikhXdBvcDUl8yPbhMPKQCkx4UJzBrZJg/+78XyI9FI/q8w/yQAJZJA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1163,15 +1142,15 @@ } }, "node_modules/@angular/cli": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.1.0.tgz", - "integrity": "sha512-mZh8ibV94CqHls+GTHok9rF78UvrtKZx+o1QOcG50ZM1L5O5s2NYrBhf+QXVeTTmzhSH1wXQb7ueyuLNLVB/eA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.1.1.tgz", + "integrity": "sha512-JG/Vf+PScR3PC6u7B+jFF4s5eBByzCpOfCfRFw98nlCqDAOxYOig7wi2Sbp5fnvILQH8vbc/NG8MzdgONrG6Hg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1701.0", - "@angular-devkit/core": "17.1.0", - "@angular-devkit/schematics": "17.1.0", - "@schematics/angular": "17.1.0", + "@angular-devkit/architect": "0.1701.1", + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", + "@schematics/angular": "17.1.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.1", @@ -1196,21 +1175,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1701.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1701.0.tgz", - "integrity": "sha512-VP6mjptKFn0HO2dn4bH0mFMe4CrexlWlgnTHyAUbL7ZFaV9w4VQuE/vXr60wMlQ+83NIGUeJImjt1QVNlIjJnQ==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.1.0", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, "node_modules/@angular/cli/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1346,9 +1310,9 @@ } }, "node_modules/@angular/common": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.1.0.tgz", - "integrity": "sha512-0Zg62iSynyRr2QslC8dVwSo46mkKrVENnwcBvsgTJ8rfGiuRdKMX8nWm5EUEm3ohKmYLfHvyEjsKDRn//UefVw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.1.1.tgz", + "integrity": "sha512-YMM2vImWJg7H3Yaej7ncGpFKT28V2Y6X9/rLpRdSKAiUbcbj7GeWtX/upfZGR9KmD08baYZw0YTNMR03Ubv/mg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1356,14 +1320,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.1.0", + "@angular/core": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.1.0.tgz", - "integrity": "sha512-gF4i/WtPSiSvT4YNasTNnckOxdxuSNwi0EsncrtewwveBcCatjqaXNssUCiF5TgxlC2sKTmsPcMqDJrfX2LMpw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.1.1.tgz", + "integrity": "sha512-lEQ5YNMJQm2iO2EZbGkwL3SqnxtE2ENfymgbS023F6ACsnP3kKB2DMwOnIbGgQY4+8r4sJFiMAIjEkj5c9kttg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1371,7 +1335,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.1.0" + "@angular/core": "17.1.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -1380,9 +1344,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.1.0.tgz", - "integrity": "sha512-WDpO4WvC5ItjaRexnpFpKPpT+cu+5GYkWF8h74iHhfxOgU+gaQiMWERHylWCqF25AzmhKu0iI3ZZtaIJ6qqwog==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.1.1.tgz", + "integrity": "sha512-d6Aev1P92q7wd5u3UcJifzNlU9svxaYI2Ts6MKoD4jY4/GPN/gPDqi20weDMujEgirrkcwGbsCXBRoEGkA5c9A==", "dependencies": { "@babel/core": "7.23.2", "@jridgewell/sourcemap-codec": "^1.4.14", @@ -1402,7 +1366,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/compiler": "17.1.0", + "@angular/compiler": "17.1.1", "typescript": ">=5.2 <5.4" } }, @@ -1449,9 +1413,9 @@ } }, "node_modules/@angular/core": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.1.0.tgz", - "integrity": "sha512-9OvRRZq+46S+ICZLRYIGVU2pknuPz23B+5V3jz7cDA5V43GVcMnfmAbMClPQxm7kRGnqtQ+yzBjn+HubCerE6g==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.1.1.tgz", + "integrity": "sha512-JtNYM9eHr8eUSrGPq/kn0+/F+TSZ7EBWxZhM1ZndOlGu1gA4fGhrDid4ZXIHIs07DbM4NZjMn+LhRyx02YDsSA==", "dependencies": { "tslib": "^2.3.0" }, @@ -1464,9 +1428,9 @@ } }, "node_modules/@angular/forms": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.1.0.tgz", - "integrity": "sha512-JD9IAxa5gQnjzxYJXm3H+lBuyv/dCnPHl6fpvb/JGrxY6xi4gfndyI8AkAb/wOAQgZDsIPaq5s4eWDjhr7CpyA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.1.1.tgz", + "integrity": "sha512-rqHVzaJDV8+VbnfC6mDgzX6ooa0X0hmnd+XfuOZaEJ7MtyOmqQ8qas2PAKXU7nMIImYXfYc4O4XWbSc1pRy1Hw==", "dependencies": { "tslib": "^2.3.0" }, @@ -1474,25 +1438,25 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.1.0", - "@angular/core": "17.1.0", - "@angular/platform-browser": "17.1.0", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.1.0.tgz", - "integrity": "sha512-hR0m9lhCZV1KpXmOVWllpPL174EdOuuiXXuvMRGlM0Kru2CLxzrzgFHwgZEib5AywLxK7vPGi5hGHk/LtTawEA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.1.1.tgz", + "integrity": "sha512-ObAf/+LaJZF4FoyFOIeZoTsicioNIx6uJGgH36Tp2G3YYocrzIInLNR0HmwllQYMdEHh54/sW9IvjVe+i++0RQ==", "dev": true, "engines": { "node": "^18.13.0 || >=20.9.0" } }, "node_modules/@angular/platform-browser": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.1.0.tgz", - "integrity": "sha512-Klq92ZUX0+ZsxLvbYtIEP3GtVEfMLYPxmBP0pWNZyYIeJCg/YxPS76QSvEhBaMqFelk4RzkDQEIfixC16UIgOA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.1.1.tgz", + "integrity": "sha512-/80znuEkdDvsF6EX/fe03isQlLCUS9+ldCgB4n0ZL+qAkf2/lJlU3n97SyEN7rzb189U+K1fDe0fb1nDwbbcWQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -1500,9 +1464,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/animations": "17.1.0", - "@angular/common": "17.1.0", - "@angular/core": "17.1.0" + "@angular/animations": "17.1.1", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1511,9 +1475,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.1.0.tgz", - "integrity": "sha512-rqPRZZx6VcSx81HIQr1XMBgb7fYSj6pOZNTJGZkn2KNxrz6hyU3A3qaom1VSVRK5vvNb1cFn35mg/zyOIliTIg==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.1.1.tgz", + "integrity": "sha512-UKI8966nwo+p01EjmQdkepLIeVLpPZTSDZAM4va7CfMO6lbCN5xFecDd/sVbut8J6ySIsbJxyDkP+SHMQjE+xg==", "dependencies": { "tslib": "^2.3.0" }, @@ -1521,16 +1485,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.1.0", - "@angular/compiler": "17.1.0", - "@angular/core": "17.1.0", - "@angular/platform-browser": "17.1.0" + "@angular/common": "17.1.1", + "@angular/compiler": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1" } }, "node_modules/@angular/router": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.1.0.tgz", - "integrity": "sha512-VDeVLiiS4iEwqwgsLyL9hqA1djFW3yveMnhZIwviJlnp9vG2r/ggMKhNmdP1Hb2iaNgflyhyhwafJ0gi9SLi5A==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.1.1.tgz", + "integrity": "sha512-pPIRX0v8agij2dRSU25iwj9qFy0S25cztsy7bGfZ+M510jwRCqu1JsitqXtQ85XSv/bdFqiNiFU0UbwVFl+QiQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -1538,9 +1502,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.1.0", - "@angular/core": "17.1.0", - "@angular/platform-browser": "17.1.0", + "@angular/common": "17.1.1", + "@angular/core": "17.1.1", + "@angular/platform-browser": "17.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -5680,31 +5644,31 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz", - "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", "dev": true, "dependencies": { - "@floating-ui/utils": "^0.2.0" + "@floating-ui/utils": "^0.2.1" } }, "node_modules/@floating-ui/dom": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz", - "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz", + "integrity": "sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==", "dev": true, "dependencies": { - "@floating-ui/core": "^1.5.3", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.1" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.6.tgz", - "integrity": "sha512-IB8aCRFxr8nFkdYZgH+Otd9EVQPJoynxeFRGTB8voPoZMRWo8XjYuCRgpI1btvuKY69XMiLnW+ym7zoBHM90Rw==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", + "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", "dev": true, "dependencies": { - "@floating-ui/dom": "^1.5.4" + "@floating-ui/dom": "^1.6.1" }, "peerDependencies": { "react": ">=16.8.0", @@ -6588,9 +6552,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.1.0.tgz", - "integrity": "sha512-FAp5Vh4Y4DFDnrxEitggEkeDwHCml7m6hZUgohvA6n6mwrMT0ZZXnk3MIrKRnT6A9cr1wcnxMW+jIXx/cJZGlw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.1.1.tgz", + "integrity": "sha512-uPWEpRuAUmMBZhYMpkEHNbeI8QAgeVM5lnWM+02lK75u1+sgYy32ed+RcRvEI+8hRQcsCQ8HtR4QubgJb4TzCQ==", "engines": { "node": "^18.13.0 || >=20.9.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", @@ -6850,88 +6814,88 @@ } }, "node_modules/@nrwl/angular": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-17.2.8.tgz", - "integrity": "sha512-hMTKcZDjsnyQojJ33IaCwoPVdFLqTLfCe/e52mn8ecELBSY3/ARZfmUpkSPSZ+261uEHjk0pTfQhu0CF7r2/HQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/angular/-/angular-17.3.0.tgz", + "integrity": "sha512-IREmSxoqL2onB9rWXe8qESZCefJJEtzgB8JHsduNHqsbYxPyrrG2IR5sAsoDg8sTyQkInSxWaRCQsYfrNTt4Bg==", "dependencies": { - "@nx/angular": "17.2.8", + "@nx/angular": "17.3.0", "tslib": "^2.3.0" } }, "node_modules/@nrwl/cypress": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-17.2.8.tgz", - "integrity": "sha512-32owq2ybkkKOIeqQ/mkwBzFH4HPukmHEJyJ4v95sUgY8qrnj/Ca89vozdJ6WEvUiqcAb7ebrmp/nqFCz7PIWbg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-17.3.0.tgz", + "integrity": "sha512-p2r/FWXNlEZ7G36cxStu4Okk6M3V+D0WRo4vtSuHtWWaAclQ92c79k4wMawLcN4JANMQdPtMsK968ptAFLtcaQ==", "dependencies": { - "@nx/cypress": "17.2.8" + "@nx/cypress": "17.3.0" } }, "node_modules/@nrwl/devkit": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.2.8.tgz", - "integrity": "sha512-l2dFy5LkWqSA45s6pee6CoqJeluH+sjRdVnAAQfjLHRNSx6mFAKblyzq5h1f4P0EUCVVVqLs+kVqmNx5zxYqvw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.3.0.tgz", + "integrity": "sha512-3QUCvRisp0Iwwl7VEFQPQUU7wpqGEv9kJBNBtgmhe68ydusdNPk+d0npwkvH23BYPuswTI2MUJyLkdeiB58Ovw==", "dependencies": { - "@nx/devkit": "17.2.8" + "@nx/devkit": "17.3.0" } }, "node_modules/@nrwl/eslint-plugin-nx": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-17.2.8.tgz", - "integrity": "sha512-g76ZzBvJ7jenvLXQuXdBUs7p3KP2vr00u7TV4A/J01eDJMFHYVZhYfQNjLhr4nnE4NvNRr8WdrMD2KeGYtdycQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-17.3.0.tgz", + "integrity": "sha512-dyYpmiK2CwXdyKAni5RjfBixCyV615BM6z+yJAgZYa3clwbVUusmwGl1drpwaj9CRwz/FmNSf4cz+HqC8cxkFg==", "dev": true, "dependencies": { - "@nx/eslint-plugin": "17.2.8" + "@nx/eslint-plugin": "17.3.0" } }, "node_modules/@nrwl/jest": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-17.2.8.tgz", - "integrity": "sha512-suyAm+5dj03ZevZW0fEZJSn+au1k6+OGPo4LKQ9Y4u/QJW52d2k0nOzrKu79CwkdKP5PFhjnvPP4Oo93RbNNnA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-17.3.0.tgz", + "integrity": "sha512-OMpGT/rPno+dZBmu5D9oGL0hCdfSrcoW430NXO6GBglL2/clgO/xqG10blXtP9Zl2Xb+yHJnk/qcrRYRGGGtrQ==", "dependencies": { - "@nx/jest": "17.2.8" + "@nx/jest": "17.3.0" } }, "node_modules/@nrwl/js": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.2.8.tgz", - "integrity": "sha512-ZfTGNSmSBqvEfP8NOfOHcnqKwhXsfqBrN4IhthQR02sqTA9GkrjSfSUtcGXY01fUitsNUDOn6RZjgX6UysDCXg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-17.3.0.tgz", + "integrity": "sha512-cU7Mforf4wADI8skeN6s0/sspCTfd2D4ekRuWuWLdMf8M9obC208W8K7uf3nf3L7h0pMMejGeuQDDi6QpphLjQ==", "dependencies": { - "@nx/js": "17.2.8" + "@nx/js": "17.3.0" } }, "node_modules/@nrwl/node": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-17.2.8.tgz", - "integrity": "sha512-DGwPAasjDgSrNJcB2qcCA7y02licJFCNyiGhEnIhLEUCWOyPCrAsuPmBy4/QYFoiEP6YOsIpJac/1p+9QWeJ7Q==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-17.3.0.tgz", + "integrity": "sha512-lZwcjQyQs3MKatwEp5eurEb2PbvD38/p9f87mw9n2Z0U3qX5zDGUn/zeWypSMOyHYaY8iaEi0lJZdKWUZAt3Iw==", "dev": true, "dependencies": { - "@nx/node": "17.2.8" + "@nx/node": "17.3.0" } }, "node_modules/@nrwl/nx-plugin": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-17.2.8.tgz", - "integrity": "sha512-AoBDG0ewQ3GK3FNdLU4XQK9WxAbS+E7j74/WY8+44pHaGYtfUPu5uCghPMBTx4y7K5NuA608w+L3Om9EXaC9pQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-17.3.0.tgz", + "integrity": "sha512-7gmlyghArfWIXJv4Q2VVOJZF9V4YOhsRq/H97qh6XhSV6rEsJ/mbLVmmkVvd/3VRWzMFoaKqVRTHNH5IUW6iTw==", "dev": true, "dependencies": { - "@nx/plugin": "17.2.8" + "@nx/plugin": "17.3.0" } }, "node_modules/@nrwl/storybook": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/storybook/-/storybook-17.2.8.tgz", - "integrity": "sha512-YBedhVfpylP48lG7VqB7xdiPp5DsEY6aFeabiZC3DQWK+oaMAIOYUKFD6+LiviDoPGpIJCeoJRC0UcnAuaLO7g==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/storybook/-/storybook-17.3.0.tgz", + "integrity": "sha512-5g6lmgbO8wKjqolPjEjJDIGYOUu1SvGkBHvL8SDH5LPTyzRrZWTLAb41WZ9/JNun0tAGHTFKtxHQxlDGpbkFcQ==", "dev": true, "dependencies": { - "@nx/storybook": "17.2.8" + "@nx/storybook": "17.3.0" } }, "node_modules/@nrwl/tao": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.2.8.tgz", - "integrity": "sha512-Qpk5YKeJ+LppPL/wtoDyNGbJs2MsTi6qyX/RdRrEc8lc4bk6Cw3Oul1qTXCI6jT0KzTz+dZtd0zYD/G7okkzvg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.3.0.tgz", + "integrity": "sha512-Bhz+MvAk8CjQtclpEOagGiKzgoziwe+35SlHtvFqzZClAuB8BAx+3ZDNJZcEpDRNfodKqodMUy2OEf6pbzw/LA==", "dependencies": { - "nx": "17.2.8", + "nx": "17.3.0", "tslib": "^2.3.0" }, "bin": { @@ -6939,50 +6903,51 @@ } }, "node_modules/@nrwl/web": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.2.8.tgz", - "integrity": "sha512-oBiuSQ7Q6hOXHuZW5Gf8m0gcrLTV78jxhSjmhC5F6yzgvBvnfMpCdrJn7W1G+O+kEg3byko8v+Rz39tfc8YPjg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-17.3.0.tgz", + "integrity": "sha512-Lp9q79I0QJDya36+Vj717Q8fkoDFsGDLbuKAEwO7GyZq8btHrtpWZ2SL3dKtjCTpQRP5n5Y1zT10OE+V0zHvDg==", "dependencies": { - "@nx/web": "17.2.8" + "@nx/web": "17.3.0" } }, "node_modules/@nrwl/webpack": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-17.2.8.tgz", - "integrity": "sha512-HcwdfjXVz1NrZZnx1Fv48vleOTlsDAgTRHnQL02xYWT6ElhuKRQsqJGvDduQIFAp4KrnEEhEKEx6oDAEZKUkDg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-17.3.0.tgz", + "integrity": "sha512-ALKiU9WWTHG2inIrS5QHrv+aQOxMYpRlFjhp2zoEEdF79YS8SRGLdSXGDrjILzm7RcN3oIrfI2xGX/U8cW7L/A==", "dependencies": { - "@nx/webpack": "17.2.8" + "@nx/webpack": "17.3.0" } }, "node_modules/@nrwl/workspace": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-17.2.8.tgz", - "integrity": "sha512-RiTDTuzdueZ+++kNQAENHdHbYToOhzO56XWxKOGoMEUSpcmbKRAFReFBzNqD91Fnv562vkW1VNRIb6Ey7X1YHQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-17.3.0.tgz", + "integrity": "sha512-zBoe9+EmgybNv5ncWYnIhJf46Y3Na89hNvW5g4kluSee0/EVNz1YClbDytP3/9O9kmiUQYV3hBO9vObnVbE4vw==", "dependencies": { - "@nx/workspace": "17.2.8" + "@nx/workspace": "17.3.0" } }, "node_modules/@nx/angular": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-17.2.8.tgz", - "integrity": "sha512-vznuo8z9n/xcuZ4j2wv6lg4GT/SGSBQM+dAyG/8GFm34gEato75rhtbjDlsOzZc4gUEBJXRwtuntnfa7pvW88w==", - "dependencies": { - "@nrwl/angular": "17.2.8", - "@nx/cypress": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/jest": "17.2.8", - "@nx/js": "17.2.8", - "@nx/web": "17.2.8", - "@nx/webpack": "17.2.8", - "@nx/workspace": "17.2.8", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/angular/-/angular-17.3.0.tgz", + "integrity": "sha512-Y+WQg4jIejgN5ZXnsEfJ6cffjBp4VDi9e0djcxsi21AyWHOUWK4imEDtsNpDx81Nd9hTEDoz6jCf3v+8wbNQtA==", + "dependencies": { + "@nrwl/angular": "17.3.0", + "@nx/cypress": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/jest": "17.3.0", + "@nx/js": "17.3.0", + "@nx/web": "17.3.0", + "@nx/webpack": "17.3.0", + "@nx/workspace": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "@typescript-eslint/type-utils": "^6.9.1", "chalk": "^4.1.0", "find-cache-dir": "^3.3.2", "ignore": "^5.0.4", "magic-string": "~0.30.2", - "minimatch": "3.0.5", + "minimatch": "9.0.3", + "piscina": "^4.2.1", "semver": "7.5.3", "tslib": "^2.3.0", "webpack": "^5.80.0", @@ -7016,6 +6981,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@nx/angular/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/angular/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7050,6 +7023,20 @@ "node": ">=10" } }, + "node_modules/@nx/angular/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@nx/angular/node_modules/semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -7081,14 +7068,14 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@nx/cypress": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-17.2.8.tgz", - "integrity": "sha512-RjDD2AjDg7D743/+hSgzllLlSi4RwP196Nm0C8ltG5udPK1W+3S0qcERgHgtTuYr6+WVZIMtcZF2Vq09zcbtyg==", - "dependencies": { - "@nrwl/cypress": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/js": "17.2.8", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-17.3.0.tgz", + "integrity": "sha512-KRGdGZvQBA+G3nz4zA0Ra/qgIrNryf0N9IwAwrfGVgr/PbJNv2mig3nI+KJwu8K3xkD+e/Nt8qAiSjf4SxdSXg==", + "dependencies": { + "@nrwl/cypress": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/js": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "detect-port": "^1.5.1", "semver": "7.5.3", @@ -7134,17 +7121,18 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@nx/devkit": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.2.8.tgz", - "integrity": "sha512-6LtiQihtZwqz4hSrtT5cCG5XMCWppG6/B8c1kNksg97JuomELlWyUyVF+sxmeERkcLYFaKPTZytP0L3dmCFXaw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.3.0.tgz", + "integrity": "sha512-KPUkEwkGYrg5hDqqXc7sdv4PNXHyWtGwzkBZA3p/RjPieKcQSsTcUwTxQ+taOE4v877n0HuC7hcuLueLSbYGiQ==", "dependencies": { - "@nrwl/devkit": "17.2.8", + "@nrwl/devkit": "17.3.0", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", "semver": "7.5.3", "tmp": "~0.2.1", - "tslib": "^2.3.0" + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" }, "peerDependencies": { "nx": ">= 16 <= 18" @@ -7181,15 +7169,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@nx/eslint": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-17.2.8.tgz", - "integrity": "sha512-P6s85cIK7LYHixCJFZ+tLCPDxeOt9m2bQQOLxBCLEy5mqaGmjMHzWkLaoQBueCSntE6PSao0MMA+1TeeZjOoDw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-17.3.0.tgz", + "integrity": "sha512-j8oLhHWHyx4M3ZQeB0eh54RK7tV9FH980P33dmdZRj6cRgXuHMRdeUc25IaIDY3oxOBVwHq71jALljplCX8ptA==", "dependencies": { - "@nx/devkit": "17.2.8", - "@nx/js": "17.2.8", - "@nx/linter": "17.2.8", + "@nx/devkit": "17.3.0", + "@nx/js": "17.3.0", + "@nx/linter": "17.3.0", "tslib": "^2.3.0", - "typescript": "~5.2.2" + "typescript": "~5.3.2" }, "peerDependencies": { "eslint": "^8.0.0", @@ -7205,16 +7193,16 @@ } }, "node_modules/@nx/eslint-plugin": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-17.2.8.tgz", - "integrity": "sha512-SOF/Q1g9SNZnwPpwcZNCYeYU670s1X1hgwHCWisw3jGPTYHvpAMQVGwPyU28OyY4PBrqEOVqLTWsuWQYpUjLOw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-17.3.0.tgz", + "integrity": "sha512-NreitEkcU3NjfOiF+F4/CFbzCXO76SxOfSEehvW7rdBqBbVLsj81MGjVtPVAPaGnTjgZdSzItKxJZKQMlO7jyw==", "dev": true, "dependencies": { - "@nrwl/eslint-plugin-nx": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/js": "17.2.8", - "@typescript-eslint/type-utils": "^6.9.1", - "@typescript-eslint/utils": "^6.9.1", + "@nrwl/eslint-plugin-nx": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/js": "17.3.0", + "@typescript-eslint/type-utils": "^6.13.2", + "@typescript-eslint/utils": "^6.13.2", "chalk": "^4.1.0", "confusing-browser-globals": "^1.0.9", "jsonc-eslint-parser": "^2.1.0", @@ -7222,7 +7210,7 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.9.1", + "@typescript-eslint/parser": "^6.13.2", "eslint-config-prettier": "^9.0.0" }, "peerDependenciesMeta": { @@ -7470,34 +7458,23 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@nx/eslint/node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/@nx/jest": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-17.2.8.tgz", - "integrity": "sha512-FnwwURXmG+uv5ELHjHd9uVbUioCPjefAOtENcasLJMs2WYeu3zePsru5B8GO9BBM5g2eTmw10Y5f0riAikZjcw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-17.3.0.tgz", + "integrity": "sha512-L3kAm42VZoXD5TxY0ae+RH68C0bpJGOGmxNREOzPPc7D0McVpKLvPXGGKbaiaqpAcx9siT7PubSLsjaeV5usQQ==", "dependencies": { "@jest/reporters": "^29.4.1", "@jest/test-result": "^29.4.1", - "@nrwl/jest": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/jest": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/js": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "chalk": "^4.1.0", "identity-obj-proxy": "3.0.0", "jest-config": "^29.4.1", "jest-resolve": "^29.4.1", "jest-util": "^29.4.1", + "minimatch": "9.0.3", "resolve.exports": "1.1.0", "tslib": "^2.3.0" } @@ -7516,6 +7493,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@nx/jest/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/jest/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7539,6 +7524,20 @@ "node": ">=8" } }, + "node_modules/@nx/jest/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@nx/jest/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7551,9 +7550,9 @@ } }, "node_modules/@nx/js": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.2.8.tgz", - "integrity": "sha512-M91tw9tfSnkoC8pZaC9wNxrgaFU4MeQcgdT08ievaroo77kH4RheySsU1uNc0J58Jk4X4315wu/X7Bf/35m0Mw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-17.3.0.tgz", + "integrity": "sha512-ugTH6Dp12SZ4rE+GSk4hfyAxU3sBtO9vf3wKSNTaC+WtTjd2b5Dg3hvEaJ/t6yFulVjJAe3QUID+oDe4lFNPvQ==", "dependencies": { "@babel/core": "^7.22.9", "@babel/plugin-proposal-decorators": "^7.22.7", @@ -7562,9 +7561,9 @@ "@babel/preset-env": "^7.22.9", "@babel/preset-typescript": "^7.22.5", "@babel/runtime": "^7.22.6", - "@nrwl/js": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/workspace": "17.2.8", + "@nrwl/js": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/workspace": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "babel-plugin-const-enum": "^1.0.1", "babel-plugin-macros": "^2.8.0", @@ -7576,7 +7575,7 @@ "fs-extra": "^11.1.0", "ignore": "^5.0.4", "js-tokens": "^4.0.0", - "minimatch": "3.0.5", + "minimatch": "9.0.3", "npm-package-arg": "11.0.1", "npm-run-path": "^4.0.1", "ora": "5.3.0", @@ -7609,6 +7608,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@nx/js/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@nx/js/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7647,6 +7654,20 @@ "node": ">=8" } }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@nx/js/node_modules/ora": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", @@ -7769,31 +7790,31 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@nx/linter": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.2.8.tgz", - "integrity": "sha512-dwqE742TIw1+/djzlikKakIfComq8nFnhupWjvl7KrU9r8ytcKyQbxHw7KGMUT9HAEG4xSNuwiaELr/8w4MM2Q==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-17.3.0.tgz", + "integrity": "sha512-9r5CcWNqCo+s0oTWoSo463I8kjpj8T2AgOGyyrzEO8TVVwKnArdsxtpub209A4GdPxE78rQeknhROmBg3McFjg==", "dependencies": { - "@nx/eslint": "17.2.8" + "@nx/eslint": "17.3.0" } }, "node_modules/@nx/node": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-17.2.8.tgz", - "integrity": "sha512-MxvJ2MlbpHeB5ZnlSAbSvBXAYoxCre4fsAwwCpysz1OWkf9dDGYzvlV4ovnu6jET7/ZQzzDvaKD9CvVSDk/amg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-17.3.0.tgz", + "integrity": "sha512-LSFWfxRdhZu4s1unuLP0nF2V6xr1S5xDcDGBPdxfA8FK60642Zc8D5Fbu43WwH59/l8ArsX95rWINxW7EEM+FQ==", "dev": true, "dependencies": { - "@nrwl/node": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/jest": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/node": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/jest": "17.3.0", + "@nx/js": "17.3.0", "tslib": "^2.3.0" } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.8.tgz", - "integrity": "sha512-dMb0uxug4hM7tusISAU1TfkDK3ixYmzc1zhHSZwpR7yKJIyKLtUpBTbryt8nyso37AS1yH+dmfh2Fj2WxfBHTg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.3.0.tgz", + "integrity": "sha512-NDR/HjahhNLx9Q4TjR5/W3IedSkdtK+kUZ09EceVeX33HNdeLjkFA26QtVVmGbhnogLcywAX0KELn7oGv2nO+A==", "cpu": [ "arm64" ], @@ -7806,9 +7827,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.8.tgz", - "integrity": "sha512-0cXzp1tGr7/6lJel102QiLA4NkaLCkQJj6VzwbwuvmuCDxPbpmbz7HC1tUteijKBtOcdXit1/MEoEU007To8Bw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-17.3.0.tgz", + "integrity": "sha512-3qxOZnHTPTUXAH8WGCtllAXE2jodStDNSkGVeEcDuIK4NO5tFfF4oVCLKKYcnqKsJOVNTS9B/aJG2bVGbaWYVQ==", "cpu": [ "x64" ], @@ -7821,9 +7842,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.8.tgz", - "integrity": "sha512-YFMgx5Qpp2btCgvaniDGdu7Ctj56bfFvbbaHQWmOeBPK1krNDp2mqp8HK6ZKOfEuDJGOYAp7HDtCLvdZKvJxzA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.3.0.tgz", + "integrity": "sha512-kVGK/wSbRRWqL3sAXlR5diI29kDisutUMaxs5dWxzRzY0U/+Kwon6ayLU1/HGwEykXFhCJE7r9vSqCrnn67dzg==", "cpu": [ "x64" ], @@ -7836,9 +7857,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.8.tgz", - "integrity": "sha512-iN2my6MrhLRkVDtdivQHugK8YmR7URo1wU9UDuHQ55z3tEcny7LV3W9NSsY9UYPK/FrxdDfevj0r2hgSSdhnzA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.3.0.tgz", + "integrity": "sha512-nb+jsh7zDkXjHEaAM5qmJR0X0wQ1yPbAYJuZSf8oZkllVYXcAofiAf21EqgKHq7vr4sZiCmlDaT16DheM3jyVA==", "cpu": [ "arm" ], @@ -7851,9 +7872,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.8.tgz", - "integrity": "sha512-Iy8BjoW6mOKrSMiTGujUcNdv+xSM1DALTH6y3iLvNDkGbjGK1Re6QNnJAzqcXyDpv32Q4Fc57PmuexyysZxIGg==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.3.0.tgz", + "integrity": "sha512-9LkGk2paZn5Ehg/rya8GCISr+CgMz3MZ5PTOO/yEGk6cv6kQSmhZdjUi3wMOQidIqpolRK0MrhSL9DUz8Htl4A==", "cpu": [ "arm64" ], @@ -7866,9 +7887,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.8.tgz", - "integrity": "sha512-9wkAxWzknjpzdofL1xjtU6qPFF1PHlvKCZI3hgEYJDo4mQiatGI+7Ttko+lx/ZMP6v4+Umjtgq7+qWrApeKamQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.3.0.tgz", + "integrity": "sha512-bMykIGtziR90xLOCdzVDzaLgMXDvCf2Y7KpAj/EqJXpC0j9RmQdkm7VyO3//xN6rpcWjMcn1wgHQ1rPV65vETg==", "cpu": [ "arm64" ], @@ -7881,9 +7902,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.8.tgz", - "integrity": "sha512-sjG1bwGsjLxToasZ3lShildFsF0eyeGu+pOQZIp9+gjFbeIkd19cTlCnHrOV9hoF364GuKSXQyUlwtFYFR4VTQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.3.0.tgz", + "integrity": "sha512-Y3KbMhVcgvVvplyVlWzHaSKqGKqWLPTcuXnnNzuWSqLC9q+UdaDE/6+7SryHbJABM2juMHbo9JNp5LlKp3bkEg==", "cpu": [ "x64" ], @@ -7896,9 +7917,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.8.tgz", - "integrity": "sha512-QiakXZ1xBCIptmkGEouLHQbcM4klQkcr+kEaz2PlNwy/sW3gH1b/1c0Ed5J1AN9xgQxWspriAONpScYBRgxdhA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.3.0.tgz", + "integrity": "sha512-QvAIZPqvrqI+s2Ddpkb0TE4yRJgXAlL8I+rIA8U+6y266rT5sVJZFPUWubkFWe/PSmqv3l4KqPcsvHTiIzldFA==", "cpu": [ "x64" ], @@ -7911,9 +7932,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.8.tgz", - "integrity": "sha512-XBWUY/F/GU3vKN9CAxeI15gM4kr3GOBqnzFZzoZC4qJt2hKSSUEWsMgeZtsMgeqEClbi4ZyCCkY7YJgU32WUGA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.3.0.tgz", + "integrity": "sha512-uoG3g0eZ9lYWZi4CpEVd04fIs+4lqpmU/FAaB3/K+Tfj9daSEIB6j57EX81ECDRB16k74VUdcI32qLAtD8KIMw==", "cpu": [ "arm64" ], @@ -7926,9 +7947,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.8.tgz", - "integrity": "sha512-HTqDv+JThlLzbcEm/3f+LbS5/wYQWzb5YDXbP1wi7nlCTihNZOLNqGOkEmwlrR5tAdNHPRpHSmkYg4305W0CtA==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.3.0.tgz", + "integrity": "sha512-ekoejj7ZXMSNYrgQwd/7thCNTHbDRggsqPw5LlTa/jPonsQ4TAPzmLBJUF8hCKn43xXLXaFufK4V1OMxlP1Hfg==", "cpu": [ "x64" ], @@ -7941,32 +7962,32 @@ } }, "node_modules/@nx/plugin": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/plugin/-/plugin-17.2.8.tgz", - "integrity": "sha512-N4FOS3iSTCu0oBj0+ehFiAOawbctipLG3LQN0dae/BdBIsm4xRSvhRyr3RTXITbmWWJYP+x1n6bSnXaL2Lc9RQ==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/plugin/-/plugin-17.3.0.tgz", + "integrity": "sha512-S+gSzT/kNiSI2iDvFtZHuKZBnlxZXcFmxUe96C/oDby7EF35qXjtz38HMtADmpZAnFcmCwPjIbNSjSoHtGHZBg==", "dev": true, "dependencies": { - "@nrwl/nx-plugin": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/jest": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/nx-plugin": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/jest": "17.3.0", + "@nx/js": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "fs-extra": "^11.1.0", "tslib": "^2.3.0" } }, "node_modules/@nx/storybook": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-17.2.8.tgz", - "integrity": "sha512-8fQck3mP2i3XWCnq/p5l+Y11TQTr8Gv4L64Rggq6nPuZOk6RbinCPG+VMztqGgQET8q4XTTGt8yw5VOUG0cIyw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/storybook/-/storybook-17.3.0.tgz", + "integrity": "sha512-nI5y/g+LC/NsTkzbwfscZT+h6tzGJ7/VUtvmYLTLZ0cS3v1FgtYsYodTfwoNNEnlcuTi+OC+KOTDhlPZe7nf4w==", "dev": true, "dependencies": { - "@nrwl/storybook": "17.2.8", - "@nx/cypress": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/storybook": "17.3.0", + "@nx/cypress": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/js": "17.3.0", "@phenomnomnominal/tsquery": "~5.0.1", "semver": "7.5.3", "tslib": "^2.3.0" @@ -8006,13 +8027,13 @@ "dev": true }, "node_modules/@nx/web": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.2.8.tgz", - "integrity": "sha512-ovPvFVJOiB/ZmOxnCOOyT+ibbdgazXjpa4506hLJxRohDZQw/6jwbCWkTBy/ch6Y8NSN6uNUpB5XUdscfrp52A==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-17.3.0.tgz", + "integrity": "sha512-5ytKrMndF0iq8JDcooog22EMAlBZp8z3epAccB8n6fCrih6Y9EvS+GSq7juzYyDH4DvfzIQRyr5IQwrykMSxmA==", "dependencies": { - "@nrwl/web": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/web": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/js": "17.3.0", "chalk": "^4.1.0", "detect-port": "^1.5.1", "http-server": "^14.1.0", @@ -8068,14 +8089,14 @@ } }, "node_modules/@nx/webpack": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-17.2.8.tgz", - "integrity": "sha512-Gud9Z+VO0dlLpVEJLfPxkEV5wG+ebZ1mv0S0cfTBdD24Fj4MAs0W8QWhRQBtLd2SayU9KMfJr+8gJjkNT6D3Kw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-17.3.0.tgz", + "integrity": "sha512-KLd49nY9ZcijtBeQwoEkafiNrf45Fuy2WdejvYmkxVUoHUwRGDw2tyhOgjbK/gaQXjaMBXmQ4S+R3nqj2mJGIA==", "dependencies": { "@babel/core": "^7.22.9", - "@nrwl/webpack": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/js": "17.2.8", + "@nrwl/webpack": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/js": "17.3.0", "autoprefixer": "^10.4.9", "babel-loader": "^9.1.2", "browserslist": "^4.21.4", @@ -8135,6 +8156,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@nx/webpack/node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/@nx/webpack/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8398,15 +8455,15 @@ } }, "node_modules/@nx/workspace": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.2.8.tgz", - "integrity": "sha512-QCriI4CFCuG+0WTbpu3fHljVR1x6bjNSrbq8nqu8Z/3y+si2/O+7lVNSTkQNr1X2eBPqtIX74APS7ExG8c4vog==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-17.3.0.tgz", + "integrity": "sha512-j6B2tD7l9BuBUTxiDaSPCY3sZmLhWvVHrvywAR+429NdghJZ5jMLd+VKquCg0VwVJCWsg4J8jPDtp8OFzmRRkQ==", "dependencies": { - "@nrwl/workspace": "17.2.8", - "@nx/devkit": "17.2.8", + "@nrwl/workspace": "17.3.0", + "@nx/devkit": "17.3.0", "chalk": "^4.1.0", "enquirer": "~2.3.6", - "nx": "17.2.8", + "nx": "17.3.0", "tslib": "^2.3.0", "yargs-parser": "21.1.1" } @@ -9734,12 +9791,12 @@ } }, "node_modules/@schematics/angular": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.1.0.tgz", - "integrity": "sha512-u9pCesRWb6mVtLnFLSfZ8R21TDz8YCebAxViefWsJlb0+p0yknesVL1nG/Oi9tgfhczS991HGIVsLT41bZthUw==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.1.1.tgz", + "integrity": "sha512-1Wqefy1W9Y63g48Fp7BscL95V4U1seDGgZawH6DcJnytJVW89hazao7YREzLYfdoediuw7lU+OHJksWYe4VQww==", "dependencies": { - "@angular-devkit/core": "17.1.0", - "@angular-devkit/schematics": "17.1.0", + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", "jsonc-parser": "3.2.0" }, "engines": { @@ -10079,12 +10136,12 @@ "devOptional": true }, "node_modules/@storybook/addon-a11y": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.6.10.tgz", - "integrity": "sha512-TP17m4TAWLSSd2x9cWNg7d0MCZZCojYIG83RZMXAb55jt8gKJBMDbupOoDLydBsABQa5Uk9ZP0D/CvumMon8RA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.6.11.tgz", + "integrity": "sha512-HCXewZ6CD1DRjbkMGAManDZFrNkZraL6dn5iYY6k9cEwz05pbCV9NOoUzknArgEQB9FKy+dCU/xiILsA9h0Ntw==", "dev": true, "dependencies": { - "@storybook/addon-highlight": "7.6.10", + "@storybook/addon-highlight": "7.6.11", "axe-core": "^4.2.0" }, "funding": { @@ -10093,12 +10150,12 @@ } }, "node_modules/@storybook/addon-actions": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.10.tgz", - "integrity": "sha512-pcKmf0H/caGzKDy8cz1adNSjv+KOBWLJ11RzGExrWm+Ad5ACifwlsQPykJ3TQ/21sTd9IXVrE9uuq4LldEnPbg==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.11.tgz", + "integrity": "sha512-HdL1p4mKVnomr72vQKd1G4F5BeFXxEYTwJdUXg0slX+q2vPhsNHzvCiYapdtzkRfbxhW75Y2WP6EJ7K55DelVw==", "dev": true, "dependencies": { - "@storybook/core-events": "7.6.10", + "@storybook/core-events": "7.6.11", "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", "dequal": "^2.0.2", @@ -10111,12 +10168,12 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.10.tgz", - "integrity": "sha512-LjwCQRMWq1apLtFwDi6U8MI6ITUr+KhxJucZ60tfc58RgB2v8ayozyDAonFEONsx9YSR1dNIJ2Z/e2rWTBJeYA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.11.tgz", + "integrity": "sha512-zoj9rkoUoZN+SWJ7v6rUTGyZKAXbKB6OqvgOCHMPV8W6Fro6JbwIDReiLs477yyxDQb0gsRV/akicG8EqBwyJQ==", "dev": true, "dependencies": { - "@storybook/blocks": "7.6.10", + "@storybook/blocks": "7.6.11", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -10126,9 +10183,9 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.10.tgz", - "integrity": "sha512-dIuS5QmoT1R+gFOcf6CoBa6D9UR5/wHCfPqPRH8dNNcCLtIGSHWQ4v964mS5OCq1Huj7CghmR15lOUk7SaYwUA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.11.tgz", + "integrity": "sha512-/uR/k0xA4dj4E4MHRSxb9UHBslDG51V10x6We8cqpWPGMVd3qDDkR3DJg8Ix0CdRVsnSQFTv9+BkDH707v4nCQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -10139,9 +10196,9 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.10.tgz", - "integrity": "sha512-PaXY/oj9yxF7/H0CNdQKcioincyCkfeHpISZriZbZqhyqsjn3vca7RFEmsB88Q+ou6rMeqyA9st+6e2cx/Ct6A==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.11.tgz", + "integrity": "sha512-VTUR4xjLZFIAHJVzN999muEbnhRhs14tA4BpHTE4Xz9jvqGiKbbpT76k8iVy4hG6Rb1b6xY9K/uNy3W3elImKQ==", "dev": true, "funding": { "type": "opencollective", @@ -10149,9 +10206,9 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.10.tgz", - "integrity": "sha512-+bA6juC/lH4vEhk+w0rXakaG8JgLG4MOYrIudk5vJKQaC6X58LIM9N4kzIS2KSExRhkExXBPrWsnMfCo7uxmKg==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.11.tgz", + "integrity": "sha512-h0sa27uGs7d1yjEj4GrCilk6jp69jmYZ9fsvQkR3EAJh8k60MuJc9JvXNhH5/FdQtCzX+eJTn0vPkNFnoRRjHw==", "dev": true, "dependencies": { "memoizerific": "^1.11.3" @@ -10162,24 +10219,24 @@ } }, "node_modules/@storybook/angular": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.6.10.tgz", - "integrity": "sha512-oaSYV3j5hutC0YwSI4M/iIQ7BikfMGjyXW10DAm+Acs9uo99op5GQ4LKSP7CVQAaCBg/DkcUst0Z6uPTfwLfoQ==", - "dev": true, - "dependencies": { - "@storybook/builder-webpack5": "7.6.10", - "@storybook/cli": "7.6.10", - "@storybook/client-logger": "7.6.10", - "@storybook/core-common": "7.6.10", - "@storybook/core-events": "7.6.10", - "@storybook/core-server": "7.6.10", - "@storybook/core-webpack": "7.6.10", - "@storybook/docs-tools": "7.6.10", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.6.11.tgz", + "integrity": "sha512-HvvfVE823Bj05bcs3X543/yv0vA1KWtAvjaJ6KjPTbBPRWM2yKLnSKne9BxyxO1xr3jraMuxaWZr5naxU1uSyw==", + "dev": true, + "dependencies": { + "@storybook/builder-webpack5": "7.6.11", + "@storybook/cli": "7.6.11", + "@storybook/client-logger": "7.6.11", + "@storybook/core-common": "7.6.11", + "@storybook/core-events": "7.6.11", + "@storybook/core-server": "7.6.11", + "@storybook/core-webpack": "7.6.11", + "@storybook/docs-tools": "7.6.11", "@storybook/global": "^5.0.0", - "@storybook/node-logger": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/telemetry": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/node-logger": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/telemetry": "7.6.11", + "@storybook/types": "7.6.11", "@types/node": "^18.0.0", "@types/react": "^16.14.34", "@types/react-dom": "^16.9.14", @@ -10291,13 +10348,13 @@ } }, "node_modules/@storybook/api": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.6.10.tgz", - "integrity": "sha512-28qfs7sdzcnKfGBVnWuKgqAPe++NLrMjL6cp/rxuRlAtGyl0Q3eC9jj1ggOm4SFVTu6NoFzTuTXFUEbskZVk1Q==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.6.11.tgz", + "integrity": "sha512-RlJrcXipcnWkVA67KNzKGBUGZba4AK/GXJ+soH8yJSMNT96XRMC6OpcVoPDxEACzd8Ys9h9ZRxw7SxSpLRuNfw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.10", - "@storybook/manager-api": "7.6.10" + "@storybook/client-logger": "7.6.11", + "@storybook/manager-api": "7.6.11" }, "funding": { "type": "opencollective", @@ -10305,22 +10362,22 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.10.tgz", - "integrity": "sha512-oSIukGC3yuF8pojABC/HLu5tv2axZvf60TaUs8eDg7+NiiKhzYSPoMQxs5uMrKngl+EJDB92ESgWT9vvsfvIPg==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.11.tgz", + "integrity": "sha512-Oq988/KB5/deUH10jy013K5IQRRetfjS4La2+/QeJxqQRvBf4CBycNab9DalHJkwboKBV8OBTw9sbQFU32AMuQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.10", - "@storybook/client-logger": "7.6.10", - "@storybook/components": "7.6.10", - "@storybook/core-events": "7.6.10", + "@storybook/channels": "7.6.11", + "@storybook/client-logger": "7.6.11", + "@storybook/components": "7.6.11", + "@storybook/core-events": "7.6.11", "@storybook/csf": "^0.1.2", - "@storybook/docs-tools": "7.6.10", + "@storybook/docs-tools": "7.6.11", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/theming": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/manager-api": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/theming": "7.6.11", + "@storybook/types": "7.6.11", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -10344,15 +10401,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.10.tgz", - "integrity": "sha512-f+YrjZwohGzvfDtH8BHzqM3xW0p4vjjg9u7uzRorqUiNIAAKHpfNrZ/WvwPlPYmrpAHt4xX/nXRJae4rFSygPw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.11.tgz", + "integrity": "sha512-cJW3jQbyQHFK83k6fcXiP0hcyBaRiSLBxcbt+ccu6r1Hb7RNo4NlmQQQZF2hTpcm6wNGI0mmkUzwMdfbKIiZ9A==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.6.10", - "@storybook/manager": "7.6.10", - "@storybook/node-logger": "7.6.10", + "@storybook/core-common": "7.6.11", + "@storybook/manager": "7.6.11", + "@storybook/node-logger": "7.6.11", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -10761,20 +10818,20 @@ } }, "node_modules/@storybook/builder-webpack5": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.10.tgz", - "integrity": "sha512-ja47rdy75tAs37T+JLSqgUGJiba+74zM/8IpEZAzgJmGxLetnHuCWEDskZWh3NXemxYS2uCvsg5rNc+dL9z4RA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.11.tgz", + "integrity": "sha512-RpvvSyf7OXy5z+dWvjVNi8cQe+A9kcoAHZ7JWy6ogZLAkGGHUO4cXkNSFf7pk0543n4gGYtcFBpCV9we64TB+Q==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", - "@storybook/channels": "7.6.10", - "@storybook/client-logger": "7.6.10", - "@storybook/core-common": "7.6.10", - "@storybook/core-events": "7.6.10", - "@storybook/core-webpack": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/preview": "7.6.10", - "@storybook/preview-api": "7.6.10", + "@storybook/channels": "7.6.11", + "@storybook/client-logger": "7.6.11", + "@storybook/core-common": "7.6.11", + "@storybook/core-events": "7.6.11", + "@storybook/core-webpack": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/preview": "7.6.11", + "@storybook/preview-api": "7.6.11", "@swc/core": "^1.3.82", "@types/node": "^18.0.0", "@types/semver": "^7.3.4", @@ -10984,13 +11041,13 @@ } }, "node_modules/@storybook/channels": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.10.tgz", - "integrity": "sha512-ITCLhFuDBKgxetuKnWwYqMUWlU7zsfH3gEKZltTb+9/2OAWR7ez0iqU7H6bXP1ridm0DCKkt2UMWj2mmr9iQqg==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.11.tgz", + "integrity": "sha512-MtlffM4aZyCD5Npr+oT1aZvJmfDaFeHSTpIybGlmT4By+RgbxWDl/qWnqdo/VlqBWbtBASBtzqgLR/knC+5j1A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.10", - "@storybook/core-events": "7.6.10", + "@storybook/client-logger": "7.6.11", + "@storybook/core-events": "7.6.11", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -11002,23 +11059,23 @@ } }, "node_modules/@storybook/cli": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.10.tgz", - "integrity": "sha512-pK1MEseMm73OMO2OVoSz79QWX8ymxgIGM8IeZTCo9gImiVRChMNDFYcv8yPWkjuyesY8c15CoO48aR7pdA1OjQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.11.tgz", + "integrity": "sha512-ohKjys/amKuJllqBggF/VOaGNr6mnfXB8lYFXucBUGSyesWJJgaqKo6EAPnsp48EBU1xv0xlcg0655WCemvZcA==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", "@babel/preset-env": "^7.23.2", "@babel/types": "^7.23.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.6.10", - "@storybook/core-common": "7.6.10", - "@storybook/core-events": "7.6.10", - "@storybook/core-server": "7.6.10", - "@storybook/csf-tools": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/telemetry": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/codemod": "7.6.11", + "@storybook/core-common": "7.6.11", + "@storybook/core-events": "7.6.11", + "@storybook/core-server": "7.6.11", + "@storybook/csf-tools": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/telemetry": "7.6.11", + "@storybook/types": "7.6.11", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -11110,9 +11167,9 @@ } }, "node_modules/@storybook/client-logger": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.10.tgz", - "integrity": "sha512-U7bbpu21ntgePMz/mKM18qvCSWCUGCUlYru8mgVlXLCKqFqfTeP887+CsPEQf29aoE3cLgDrxqbRJ1wxX9kL9A==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.11.tgz", + "integrity": "sha512-1FuC1Lf8TMjeKj4rE5fFt7j4zsWkQQlKPDgEw+AB72QDiiR33ZKajUkBkFvjmngMSMleR+uUeLY0DnmeZkvQhw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -11123,18 +11180,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.10.tgz", - "integrity": "sha512-pzFR0nocBb94vN9QCJLC3C3dP734ZigqyPmd0ZCDj9Xce2ytfHK3v1lKB6TZWzKAZT8zztauECYxrbo4LVuagw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.11.tgz", + "integrity": "sha512-xOWXaCFOz22ZnlErxm9ZYmr5gGp1fp0q2iD1QOASFNYdnCRmw2TJ9MRrVNPBxlmlSvsD8zPUkWhiAmcTmOPF1A==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", "@babel/preset-env": "^7.23.2", "@babel/types": "^7.23.0", "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/csf-tools": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/types": "7.6.11", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -11149,18 +11206,18 @@ } }, "node_modules/@storybook/components": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.10.tgz", - "integrity": "sha512-H5hF8pxwtbt0LxV24KMMsPlbYG9Oiui3ObvAQkvGu6q62EYxRPeNSrq3GBI5XEbI33OJY9bT24cVaZx18dXqwQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.11.tgz", + "integrity": "sha512-ikGl5MQkWItEkLu5Y7MU1KpLI75BSUQcnAt3T/6P+HOHbUrCckEyQEvHUsf56s1hkmXOtUY5Cy8dWTH5+MxarQ==", "dev": true, "dependencies": { "@radix-ui/react-select": "^1.2.2", "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.6.10", + "@storybook/client-logger": "7.6.11", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/theming": "7.6.11", + "@storybook/types": "7.6.11", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -11175,14 +11232,14 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.10.tgz", - "integrity": "sha512-K3YWqjCKMnpvYsWNjOciwTH6zWbuuZzmOiipziZaVJ+sB1XYmH52Y3WGEm07TZI8AYK9DRgwA13dR/7W0nw72Q==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.11.tgz", + "integrity": "sha512-hdmu+Oxj/Uold1Vasbs2741ChCJzFC5KvxuIuymwhjBlGsj7M5HWgtMujFY//S8G1TWPXnGf6ZK2Wj+F0gjXgw==", "dev": true, "dependencies": { - "@storybook/core-events": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/core-events": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/types": "7.6.11", "@types/find-cache-dir": "^3.2.1", "@types/node": "^18.0.0", "@types/node-fetch": "^2.6.4", @@ -11651,9 +11708,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.10.tgz", - "integrity": "sha512-yccDH67KoROrdZbRKwxgTswFMAco5nlCyxszCDASCLygGSV2Q2e+YuywrhchQl3U6joiWi3Ps1qWu56NeNafag==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.11.tgz", + "integrity": "sha512-7Bg9hjIaZlHCAvoVjYCl7C+16ZVvciqC0hQhJCYYCVpiVYoXA1jAB6sE1gsaDeWYtzfkLHgQEytRj6Ot3e2rfQ==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -11664,26 +11721,26 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.10.tgz", - "integrity": "sha512-2icnqJkn3vwq0eJPP0rNaHd7IOvxYf5q4lSVl2AWTxo/Ae19KhokI6j/2vvS2XQJMGQszwshlIwrZUNsj5p0yw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.11.tgz", + "integrity": "sha512-ZUgWv372Z1FBI8MynBh1kR7pUE2dAZ/dAyxMd9NzoyW3IBjM/RCcoL2oSDmWs668idDgXL3z4SQqSpWOh0YMaQ==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.6.10", - "@storybook/channels": "7.6.10", - "@storybook/core-common": "7.6.10", - "@storybook/core-events": "7.6.10", + "@storybook/builder-manager": "7.6.11", + "@storybook/channels": "7.6.11", + "@storybook/core-common": "7.6.11", + "@storybook/core-events": "7.6.11", "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.10", + "@storybook/csf-tools": "7.6.11", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/telemetry": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/manager": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/telemetry": "7.6.11", + "@storybook/types": "7.6.11", "@types/detect-port": "^1.3.0", "@types/node": "^18.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -11769,14 +11826,14 @@ } }, "node_modules/@storybook/core-webpack": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.10.tgz", - "integrity": "sha512-+GiCRp+2Hw0NO3NYRKamG/U5SyOQ8tOfRUxuAqWI7nduXwB3WWdjji3/ofjqOm/ryKesuQFtfhozaczvBJBvng==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.11.tgz", + "integrity": "sha512-zWSoeAlK7iR4yV1MaInUTIKmKuBKwTkOzR3McVCxz7E2e3mXmQIcufOzDr9qTBHUHj4sot2RPx6ofsVJw4LoNA==", "dev": true, "dependencies": { - "@storybook/core-common": "7.6.10", - "@storybook/node-logger": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/core-common": "7.6.11", + "@storybook/node-logger": "7.6.11", + "@storybook/types": "7.6.11", "@types/node": "^18.0.0", "ts-dedent": "^2.0.0" }, @@ -11795,9 +11852,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.10.tgz", - "integrity": "sha512-TnDNAwIALcN6SA4l00Cb67G02XMOrYU38bIpFJk5VMDX2dvgPjUtJNBuLmEbybGcOt7nPyyFIHzKcY5FCVGoWA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.11.tgz", + "integrity": "sha512-S0dwjhfEWaRm41Illqzvj9VCiQ9NsSQA6pjIbK1GRMpFvL5+uaXQ08YYgnVPLs6Qhe98V0v1uUdZ7Y1HXdt1Og==", "dev": true, "dependencies": { "@babel/generator": "^7.23.0", @@ -11805,7 +11862,7 @@ "@babel/traverse": "^7.23.2", "@babel/types": "^7.23.0", "@storybook/csf": "^0.1.2", - "@storybook/types": "7.6.10", + "@storybook/types": "7.6.11", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -11822,14 +11879,14 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.10.tgz", - "integrity": "sha512-UgbikducoXzqQHf2TozO0f2rshaeBNnShVbL5Ai4oW7pDymBmrfzdjGbF/milO7yxNKcoIByeoNmu384eBamgQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.11.tgz", + "integrity": "sha512-totR3O0hF+TIiL6AXH/X+wBu+B0PO5qFSOWFjTioEuI8iA1k6hDvCvt4NfgPGMW2o3ynukjmryyB+khd0QjlaA==", "dev": true, "dependencies": { - "@storybook/core-common": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/core-common": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/types": "7.6.11", "@types/doctrine": "^0.0.3", "assert": "^2.1.0", "doctrine": "^3.0.0", @@ -11847,9 +11904,9 @@ "dev": true }, "node_modules/@storybook/manager": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.10.tgz", - "integrity": "sha512-Co3sLCbNYY6O4iH2ggmRDLCPWLj03JE5s/DOG8OVoXc6vBwTc/Qgiyrsxxp6BHQnPpM0mxL6aKAxE3UjsW/Nog==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.11.tgz", + "integrity": "sha512-OtJuRwnkwnXbiKrzZ31tWUo6sOps/idRFoWnxITnoeS/NCq4bHuRtPor2bbHmFDL1mFX+zQuwqVME6eMkQxavQ==", "dev": true, "funding": { "type": "opencollective", @@ -11857,19 +11914,19 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.10.tgz", - "integrity": "sha512-8eGVpRlpunuFScDtc7nxpPJf/4kJBAAZlNdlhmX09j8M3voX6GpcxabBamSEX5pXZqhwxQCshD4IbqBmjvadlw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.11.tgz", + "integrity": "sha512-lr+0HXP+O9zN5mGixrlWfIM6fuPAwHEc4vIgA3MG14zIhlznfZStbLp0n5rRHxvyXnkJbcPtNDCi2CKgWN7++w==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.10", - "@storybook/client-logger": "7.6.10", - "@storybook/core-events": "7.6.10", + "@storybook/channels": "7.6.11", + "@storybook/client-logger": "7.6.11", + "@storybook/core-events": "7.6.11", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", - "@storybook/router": "7.6.10", - "@storybook/theming": "7.6.10", - "@storybook/types": "7.6.10", + "@storybook/router": "7.6.11", + "@storybook/theming": "7.6.11", + "@storybook/types": "7.6.11", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -11883,9 +11940,9 @@ } }, "node_modules/@storybook/node-logger": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.10.tgz", - "integrity": "sha512-ZBuqrv4bjJzKXyfRGFkVIi+z6ekn6rOPoQao4KmsfLNQAUUsEdR8Baw/zMnnU417zw5dSEaZdpuwx75SCQAeOA==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.11.tgz", + "integrity": "sha512-3vFUWcRVfYkMzTO/FiNap2CIvMonz1gVISYIxRHQv32hF+VNmeMb1t7AzWb1zxZIOZp+bdMmCPR4UfVg5EJw8w==", "dev": true, "funding": { "type": "opencollective", @@ -11893,9 +11950,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.10.tgz", - "integrity": "sha512-F07BzVXTD3byq+KTWtvsw3pUu3fQbyiBNLFr2CnfU4XSdLKja5lDt8VqDQq70TayVQOf5qfUTzRd4M6pQkjw1w==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.11.tgz", + "integrity": "sha512-DrCH24K3ivm7YGSP6OQknJg7i7vdzZnxhByQ3aC1OWcYVhdjtATrKfnHGkY/aDpNi1hUeGCQb0TKDpbMLzI8qQ==", "dev": true, "funding": { "type": "opencollective", @@ -11903,17 +11960,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.10.tgz", - "integrity": "sha512-5A3etoIwZCx05yuv3KSTv1wynN4SR4rrzaIs/CTBp3BC4q1RBL+Or/tClk0IJPXQMlx/4Y134GtNIBbkiDofpw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.11.tgz", + "integrity": "sha512-y9+gAbeS26/hEBkaF9abxfkzKJhgLtVaz1f5rhUMYdmBotq433J97dzfTSDtJA9cvA9Jw4QEKksY8TiSenZ3Pw==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.10", - "@storybook/client-logger": "7.6.10", - "@storybook/core-events": "7.6.10", + "@storybook/channels": "7.6.11", + "@storybook/client-logger": "7.6.11", + "@storybook/core-events": "7.6.11", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.10", + "@storybook/types": "7.6.11", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -11929,12 +11986,12 @@ } }, "node_modules/@storybook/router": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.10.tgz", - "integrity": "sha512-G/H4Jn2+y8PDe8Zbq4DVxF/TPn0/goSItdILts39JENucHiuGBCjKjSWGBe1rkwKi1tUbB3yhxJVrLagxFEPpQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.11.tgz", + "integrity": "sha512-d6Jcy3ca/Vod4C7RmaVpxY3/gRLF3MxbV4KnLEvMeRtdHnGYCOLLIC/nwBTf2A5iCjbmxDheeWNE9G01wnN8Kw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.10", + "@storybook/client-logger": "7.6.11", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -11944,14 +12001,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.10.tgz", - "integrity": "sha512-p3mOSUtIyy2tF1z6pQXxNh1JzYFcAm97nUgkwLzF07GfEdVAPM+ftRSLFbD93zVvLEkmLTlsTiiKaDvOY/lQWg==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.11.tgz", + "integrity": "sha512-i5HaKVXgpdVf38c42EVUeUM2HC7RuL/HDck1YX+Ir1IT6Id4e/3Ji1tAqGIHP5rwR2kUeT5s9vey9Il0GGIOkQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.10", - "@storybook/core-common": "7.6.10", - "@storybook/csf-tools": "7.6.10", + "@storybook/client-logger": "7.6.11", + "@storybook/core-common": "7.6.11", + "@storybook/csf-tools": "7.6.11", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -12016,13 +12073,13 @@ } }, "node_modules/@storybook/theming": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.10.tgz", - "integrity": "sha512-f5tuy7yV3TOP3fIboSqpgLHy0wKayAw/M8HxX0jVET4Z4fWlFK0BiHJabQ+XEdAfQM97XhPFHB2IPbwsqhCEcQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.11.tgz", + "integrity": "sha512-emfkWAkR0zul/374GmbEniUDHJ27VcrioZAm+TKhiYHAwwklA+SizERLtApXs2yc2zYbHFW/r/myaNWRt6LSww==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.10", + "@storybook/client-logger": "7.6.11", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -12036,12 +12093,12 @@ } }, "node_modules/@storybook/types": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.10.tgz", - "integrity": "sha512-hcS2HloJblaMpCAj2axgGV+53kgSRYPT0a1PG1IHsZaYQILfHSMmBqM8XzXXYTsgf9250kz3dqFX1l0n3EqMlQ==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.11.tgz", + "integrity": "sha512-IjkOx8swVpFAR/t1IgjAEozaMGLcQAP1e7SnTuwNsa1wcXKQOd3+hhyPjS1ZukULXN7IXW8UIDvhP3hXoRYxVQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.10", + "@storybook/channels": "7.6.11", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -12250,9 +12307,9 @@ } }, "node_modules/@swc/counter": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", - "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "devOptional": true }, "node_modules/@swc/types": { @@ -12524,9 +12581,9 @@ "dev": true }, "node_modules/@types/dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-odiGr/9/qMqjcBOe5UhcNLOFHSYmKFOyr+bJ/Xu3Qp4k1pNPAlNLUVNNLcLfjQI7+W7ObX58EdD3H+3p3voOvA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", "dev": true, "dependencies": { "@types/trusted-types": "*" @@ -12775,9 +12832,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.17.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.8.tgz", - "integrity": "sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw==" + "version": "18.16.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.9.tgz", + "integrity": "sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA==" }, "node_modules/@types/node-fetch": { "version": "2.6.11", @@ -12986,16 +13043,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", - "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", + "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/type-utils": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -13021,13 +13078,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -13037,10 +13094,37 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", + "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -13051,13 +13135,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -13079,17 +13163,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", + "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", "semver": "^7.5.4" }, "engines": { @@ -13104,12 +13188,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/types": "6.20.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -13145,15 +13229,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", - "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", + "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4" }, "engines": { @@ -13173,13 +13257,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -13190,9 +13274,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -13203,13 +13287,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -13231,12 +13315,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/types": "6.20.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -14283,30 +14367,17 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz", + "integrity": "sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==", + "dev": true, "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.17.5", + "caniuse-lite": "^1.0.30001272", + "fraction.js": "^4.1.1", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" + "postcss-value-parser": "^4.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" @@ -14314,6 +14385,10 @@ "engines": { "node": "^10 || ^12 || >=14" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, "peerDependencies": { "postcss": "^8.1.0" } @@ -17291,9 +17366,9 @@ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==" }, "node_modules/cypress": { - "version": "13.6.3", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz", - "integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==", + "version": "13.6.4", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.4.tgz", + "integrity": "sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==", "devOptional": true, "hasInstallScript": true, "dependencies": { @@ -18406,9 +18481,9 @@ } }, "node_modules/envinfo": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", - "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", "dev": true, "bin": { "envinfo": "dist/cli.js" @@ -19684,9 +19759,9 @@ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, "node_modules/flow-parser": { - "version": "0.227.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.227.0.tgz", - "integrity": "sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA==", + "version": "0.228.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.228.0.tgz", + "integrity": "sha512-xPWkzCO07AnS8X+fQFpWm+tJ+C7aeaiVzJ+rSepbkCXUvUJ6l6squEl63axoMcixyH4wLjmypOzq/+zTD0O93w==", "dev": true, "engines": { "node": ">=0.4.0" @@ -19946,9 +20021,9 @@ } }, "node_modules/fraction.js": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", - "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" }, @@ -24985,9 +25060,9 @@ "dev": true }, "node_modules/markdown-to-jsx": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.0.tgz", - "integrity": "sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz", + "integrity": "sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==", "dev": true, "engines": { "node": ">= 10" @@ -25618,9 +25693,9 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/ng-packagr": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-17.1.1.tgz", - "integrity": "sha512-va38240Nss1PTB09RIB0LsHOIkHdhA5voiDUtVbFwXTyHl/RfPQkb+F5h2wzDqcohHUXabjW05LIgh5pq3ioTA==", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-17.1.2.tgz", + "integrity": "sha512-H7WRiqbM91lOItixrKc9XP1ZLpsxwIk3l0JDnhSePvKQlMe1UsNrnYHzBek6iVyMolCuz86YR0Dovbpyi4aOzA==", "devOptional": true, "dependencies": { "@rollup/plugin-json": "^6.0.1", @@ -26132,12 +26207,12 @@ "devOptional": true }, "node_modules/nx": { - "version": "17.2.8", - "resolved": "https://registry.npmjs.org/nx/-/nx-17.2.8.tgz", - "integrity": "sha512-rM5zXbuXLEuqQqcjVjClyvHwRJwt+NVImR2A6KFNG40Z60HP6X12wAxxeLHF5kXXTDRU0PFhf/yACibrpbPrAw==", + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-17.3.0.tgz", + "integrity": "sha512-CoY0qUrO8xErbA/v/bbfDGs+KaD9MCO7PReqmIeyrtDNwFl6vnb+U2MpBxCsRP+YH2Oa8hI8Lu+kcnPktx2v6A==", "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "17.2.8", + "@nrwl/tao": "17.3.0", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.6", @@ -26152,16 +26227,16 @@ "figures": "3.2.0", "flat": "^5.0.2", "fs-extra": "^11.1.0", - "glob": "7.1.4", "ignore": "^5.0.4", "jest-diff": "^29.4.1", "js-yaml": "4.1.0", "jsonc-parser": "3.2.0", "lines-and-columns": "~2.0.3", - "minimatch": "3.0.5", + "minimatch": "9.0.3", "node-machine-id": "1.1.12", "npm-run-path": "^4.0.1", "open": "^8.4.0", + "ora": "5.3.0", "semver": "7.5.3", "string-width": "^4.2.3", "strong-log-transformer": "^2.1.0", @@ -26177,16 +26252,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "17.2.8", - "@nx/nx-darwin-x64": "17.2.8", - "@nx/nx-freebsd-x64": "17.2.8", - "@nx/nx-linux-arm-gnueabihf": "17.2.8", - "@nx/nx-linux-arm64-gnu": "17.2.8", - "@nx/nx-linux-arm64-musl": "17.2.8", - "@nx/nx-linux-x64-gnu": "17.2.8", - "@nx/nx-linux-x64-musl": "17.2.8", - "@nx/nx-win32-arm64-msvc": "17.2.8", - "@nx/nx-win32-x64-msvc": "17.2.8" + "@nx/nx-darwin-arm64": "17.3.0", + "@nx/nx-darwin-x64": "17.3.0", + "@nx/nx-freebsd-x64": "17.3.0", + "@nx/nx-linux-arm-gnueabihf": "17.3.0", + "@nx/nx-linux-arm64-gnu": "17.3.0", + "@nx/nx-linux-arm64-musl": "17.3.0", + "@nx/nx-linux-x64-gnu": "17.3.0", + "@nx/nx-linux-x64-musl": "17.3.0", + "@nx/nx-win32-arm64-msvc": "17.3.0", + "@nx/nx-win32-x64-msvc": "17.3.0" }, "peerDependencies": { "@swc-node/register": "^1.6.7", @@ -26225,6 +26300,14 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/nx/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/nx/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -26240,22 +26323,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/nx/node_modules/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -26275,6 +26342,41 @@ "node": ">=10" } }, + "node_modules/nx/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nx/node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nx/node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -26566,14 +26668,14 @@ } }, "node_modules/nypm": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.4.tgz", - "integrity": "sha512-1JLkp/zHBrkS3pZ692IqOaIKSYHmQXgqfELk6YTOfVBnwealAmPA1q2kKK7PHJAHSMBozerThEFZXP3G6o7Ukg==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.6.tgz", + "integrity": "sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==", "dev": true, "dependencies": { "citty": "^0.1.5", "execa": "^8.0.1", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "ufo": "^1.3.2" }, "bin": { @@ -28455,6 +28557,43 @@ "postcss": "^8.4" } }, + "node_modules/postcss-preset-env/node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/postcss-pseudo-class-any-link": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz", @@ -30969,12 +31108,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.6.10", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.10.tgz", - "integrity": "sha512-ypFeGhQTUBBfqSUVZYh7wS5ghn3O2wILCiQc4459SeUpvUn+skcqw/TlrwGSoF5EWjDA7gtRrWDxO3mnlPt5Cw==", + "version": "7.6.11", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.11.tgz", + "integrity": "sha512-5giiG9qImwjatA+jhgVuAMERMjWYV5biHG5ZLU+3KPwgaAaERstojKGPfR+bZRf5ZqtNDw4qCIH3RSc49NCUoQ==", "dev": true, "dependencies": { - "@storybook/cli": "7.6.10" + "@storybook/cli": "7.6.11" }, "bin": { "sb": "index.js", @@ -31327,10 +31466,13 @@ } }, "node_modules/swc-loader": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", - "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + }, "peerDependencies": { "@swc/core": "^1.2.147", "webpack": ">=2" @@ -32365,9 +32507,9 @@ } }, "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", "dev": true }, "node_modules/uglify-js": { @@ -32755,9 +32897,9 @@ "devOptional": true }, "node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dependencies": { "esbuild": "^0.19.3", "postcss": "^8.4.32", @@ -33045,9 +33187,9 @@ } }, "node_modules/webpack-hot-middleware": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.0.tgz", - "integrity": "sha512-okzjec5sAEy4t+7rzdT8eRyxsk0FDSmBPN2KwX4Qd+6+oQCfe5Ve07+u7cJvofgB+B4w5/4dO4Pz0jhhHyyPLQ==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz", + "integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==", "dev": true, "dependencies": { "ansi-html-community": "0.0.8", diff --git a/package.json b/package.json index 29ccd9910b..9df73f5511 100644 --- a/package.json +++ b/package.json @@ -86,19 +86,19 @@ }, "private": true, "dependencies": { - "@angular/animations": "17.1.0", - "@angular/cdk": "17.1.0", - "@angular/common": "17.1.0", - "@angular/compiler": "17.1.0", - "@angular/core": "17.1.0", - "@angular/forms": "17.1.0", - "@angular/platform-browser": "17.1.0", - "@angular/platform-browser-dynamic": "17.1.0", - "@angular/router": "17.1.0", + "@angular/animations": "17.1.1", + "@angular/cdk": "17.1.1", + "@angular/common": "17.1.1", + "@angular/compiler": "17.1.1", + "@angular/core": "17.1.1", + "@angular/forms": "17.1.1", + "@angular/platform-browser": "17.1.1", + "@angular/platform-browser-dynamic": "17.1.1", + "@angular/router": "17.1.1", "@blackbaud/angular-tree-component": "1.0.0", "@blackbaud/auth-client": "2.71.0", "@blackbaud/skyux-design-tokens": "0.0.28", - "@nx/angular": "17.2.8", + "@nx/angular": "17.3.0", "@skyux/auth-client-factory": "1.2.0", "@skyux/icons": "6.9.0", "ag-grid-angular": "29.3.5", @@ -125,49 +125,49 @@ "zone.js": "0.14.3" }, "devDependencies": { - "@angular-devkit/build-angular": "17.1.0", - "@angular-devkit/core": "17.1.0", - "@angular-devkit/schematics": "17.1.0", + "@angular-devkit/build-angular": "17.1.1", + "@angular-devkit/core": "17.1.1", + "@angular-devkit/schematics": "17.1.1", "@angular-eslint/eslint-plugin": "17.2.1", "@angular-eslint/eslint-plugin-template": "17.2.1", "@angular-eslint/template-parser": "17.2.1", - "@angular/cli": "17.1.0", - "@angular/compiler-cli": "17.1.0", - "@angular/language-service": "17.1.0", + "@angular/cli": "17.1.1", + "@angular/compiler-cli": "17.1.1", + "@angular/language-service": "17.1.1", "@cspell/eslint-plugin": "8.3.2", "@istanbuljs/nyc-config-typescript": "1.0.2", - "@nx/cypress": "17.2.8", - "@nx/devkit": "17.2.8", - "@nx/eslint": "17.2.8", - "@nx/eslint-plugin": "17.2.8", - "@nx/jest": "17.2.8", - "@nx/js": "17.2.8", - "@nx/node": "17.2.8", - "@nx/plugin": "17.2.8", - "@nx/storybook": "17.2.8", - "@nx/web": "17.2.8", - "@nx/workspace": "17.2.8", + "@nx/cypress": "17.3.0", + "@nx/devkit": "17.3.0", + "@nx/eslint": "17.3.0", + "@nx/eslint-plugin": "17.3.0", + "@nx/jest": "17.3.0", + "@nx/js": "17.3.0", + "@nx/node": "17.3.0", + "@nx/plugin": "17.3.0", + "@nx/storybook": "17.3.0", + "@nx/web": "17.3.0", + "@nx/workspace": "17.3.0", "@percy/cli": "1.27.7", "@percy/core": "1.27.7", "@percy/cypress": "3.1.2", "@percy/sdk-utils": "1.27.7", "@ryansonshine/commitizen": "4.2.8", "@ryansonshine/cz-conventional-changelog": "3.3.4", - "@schematics/angular": "17.1.0", - "@skyux/dev-infra-private": "github:blackbaud/skyux-dev-infra-private-builds#9.0.0-alpha.20", - "@storybook/addon-a11y": "7.6.10", - "@storybook/addon-actions": "7.6.10", - "@storybook/addon-controls": "7.6.10", - "@storybook/addon-toolbars": "7.6.10", - "@storybook/addon-viewport": "7.6.10", - "@storybook/angular": "7.6.10", - "@storybook/api": "7.6.10", - "@storybook/core-server": "7.6.10", - "@storybook/preview-api": "7.6.10", - "@storybook/types": "7.6.10", + "@schematics/angular": "17.1.1", + "@skyux/dev-infra-private": "github:blackbaud/skyux-dev-infra-private-builds#10.0.0-alpha.0", + "@storybook/addon-a11y": "7.6.11", + "@storybook/addon-actions": "7.6.11", + "@storybook/addon-controls": "7.6.11", + "@storybook/addon-toolbars": "7.6.11", + "@storybook/addon-viewport": "7.6.11", + "@storybook/angular": "7.6.11", + "@storybook/api": "7.6.11", + "@storybook/core-server": "7.6.11", + "@storybook/preview-api": "7.6.11", + "@storybook/types": "7.6.11", "@trivago/prettier-plugin-sort-imports": "4.3.0", "@types/cross-spawn": "6.0.6", - "@types/dompurify": "3.0.3", + "@types/dompurify": "3.0.5", "@types/dragula": "2.1.36", "@types/fontfaceobserver": "2.1.1", "@types/fs-extra": "11.0.4", @@ -176,12 +176,13 @@ "@types/he": "1.2.1", "@types/jasmine": "5.1.4", "@types/jest": "29.5.11", - "@types/node": "18.17.8", + "@types/node": "18.16.9", "@types/validator": "13.11.2", - "@typescript-eslint/eslint-plugin": "6.19.0", - "@typescript-eslint/parser": "6.19.0", + "@typescript-eslint/eslint-plugin": "6.20.0", + "@typescript-eslint/parser": "6.20.0", + "autoprefixer": "10.4.0", "cross-spawn": "7.0.3", - "cypress": "13.6.3", + "cypress": "13.6.4", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-cypress": "2.15.1", @@ -200,8 +201,8 @@ "karma-coverage": "2.2.1", "karma-jasmine": "5.1.0", "karma-jasmine-html-reporter": "2.1.0", - "ng-packagr": "17.1.1", - "nx": "17.2.8", + "ng-packagr": "17.1.2", + "nx": "17.3.0", "nyc": "15.1.0", "postcss": "8.4.33", "postcss-import": "16.0.0", @@ -211,16 +212,16 @@ "react": "18.2.0", "react-dom": "18.2.0", "resize-observer-polyfill": "1.5.1", - "storybook": "7.6.10", + "storybook": "7.6.11", "ts-jest": "29.1.2", "ts-node": "10.9.2", "typescript": "5.3.3" }, "overrides": { "ng2-dragula@5.0.1": { - "@angular/animations": "^17.0.9", - "@angular/core": "^17.0.9", - "@angular/common": "^17.0.9" + "@angular/animations": "^17.1.1", + "@angular/core": "^17.1.1", + "@angular/common": "^17.1.1" } } }