@aquera/nile-elements 1.4.2-beta-1.0 → 1.4.3-beta-1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
- package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
- package/dist/fixture-5b79f853.cjs.js +395 -0
- package/dist/fixture-5b79f853.cjs.js.map +1 -0
- package/dist/fixture-73855806.cjs.js +395 -0
- package/dist/fixture-73855806.cjs.js.map +1 -0
- package/dist/fixture-90b199c4.esm.js +569 -0
- package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
- package/dist/fixture-c1d78368.cjs.js +395 -0
- package/dist/fixture-c1d78368.cjs.js.map +1 -0
- package/dist/fixture-cf7bfcf5.esm.js +569 -0
- package/dist/fixture-dbd66009.cjs.js +395 -0
- package/dist/fixture-dbd66009.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +406 -172
- package/dist/internal/animate.cjs.js +1 -1
- package/dist/internal/animate.cjs.js.map +1 -1
- package/dist/internal/animate.esm.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-carousel/carousel-helpers.cjs.js +2 -0
- package/dist/nile-carousel/carousel-helpers.cjs.js.map +1 -0
- package/dist/nile-carousel/carousel-helpers.esm.js +1 -0
- package/dist/nile-carousel/index.cjs.js +2 -0
- package/dist/nile-carousel/index.cjs.js.map +1 -0
- package/dist/nile-carousel/index.esm.js +1 -0
- package/dist/nile-carousel/nile-carousel-item/index.cjs.js +2 -0
- package/dist/nile-carousel/nile-carousel-item/index.cjs.js.map +1 -0
- package/dist/nile-carousel/nile-carousel-item/index.esm.js +1 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +2 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +1 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js +2 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.cjs.js.map +1 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.css.esm.js +18 -0
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +5 -0
- package/dist/nile-carousel/nile-carousel.cjs.js +2 -0
- package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -0
- package/dist/nile-carousel/nile-carousel.css.cjs.js +2 -0
- package/dist/nile-carousel/nile-carousel.css.cjs.js.map +1 -0
- package/dist/nile-carousel/nile-carousel.css.esm.js +146 -0
- package/dist/nile-carousel/nile-carousel.esm.js +58 -0
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +9 -9
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.types.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-sidebar/index.cjs.js +2 -0
- package/dist/nile-sidebar/index.cjs.js.map +1 -0
- package/dist/nile-sidebar/index.esm.js +75 -0
- package/dist/nile-sidebar-menu/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/index.esm.js +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js +1 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js.map +1 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.esm.js +2 -2
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
- package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
- package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
- package/dist/nile-virtual-select/group-manager.esm.js +1 -0
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/portal-manager.d.ts +53 -0
- package/dist/src/internal/portal-manager.js +196 -0
- package/dist/src/internal/portal-manager.js.map +1 -0
- package/dist/src/internal/portal.d.ts +60 -0
- package/dist/src/internal/portal.js +199 -0
- package/dist/src/internal/portal.js.map +1 -0
- package/dist/src/internal/resizable-helper.d.ts +59 -0
- package/dist/src/internal/resizable-helper.js +115 -0
- package/dist/src/internal/resizable-helper.js.map +1 -0
- package/dist/src/internal/resizable-styles.d.ts +16 -0
- package/dist/src/internal/resizable-styles.js +144 -0
- package/dist/src/internal/resizable-styles.js.map +1 -0
- package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
- package/dist/src/internal/virtualizer-error-handler.js +82 -0
- package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.js +8 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/virtualize.d.ts +32 -0
- package/dist/src/lib/virtualize.js +105 -0
- package/dist/src/lib/virtualize.js.map +1 -0
- package/dist/src/lib/virtualize.test.d.ts +7 -0
- package/dist/src/lib/virtualize.test.js +57 -0
- package/dist/src/lib/virtualize.test.js.map +1 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.js +4 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
- package/dist/src/nile-carousel/carousel-helpers.d.ts +23 -0
- package/dist/src/nile-carousel/carousel-helpers.js +88 -0
- package/dist/src/nile-carousel/carousel-helpers.js.map +1 -0
- package/dist/src/nile-carousel/index.d.ts +1 -0
- package/dist/src/nile-carousel/index.js +2 -0
- package/dist/src/nile-carousel/index.js.map +1 -0
- package/dist/src/nile-carousel/nile-carousel-item/index.d.ts +1 -0
- package/dist/src/nile-carousel/nile-carousel-item/index.js +2 -0
- package/dist/src/nile-carousel/nile-carousel-item/index.js.map +1 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.d.ts +12 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js +30 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.js.map +1 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.d.ts +24 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js +35 -0
- package/dist/src/nile-carousel/nile-carousel-item/nile-carousel-item.js.map +1 -0
- package/dist/src/nile-carousel/nile-carousel.css.d.ts +12 -0
- package/dist/src/nile-carousel/nile-carousel.css.js +158 -0
- package/dist/src/nile-carousel/nile-carousel.css.js.map +1 -0
- package/dist/src/nile-carousel/nile-carousel.d.ts +54 -0
- package/dist/src/nile-carousel/nile-carousel.js +319 -0
- package/dist/src/nile-carousel/nile-carousel.js.map +1 -0
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
- package/dist/src/nile-chip/nile-chip.js +4 -1
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
- package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
- package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/theme copy.js +193 -0
- package/dist/src/nile-code-editor/theme copy.js.map +1 -0
- package/dist/src/nile-grid/data-processor.d.ts +37 -0
- package/dist/src/nile-grid/data-processor.js +122 -0
- package/dist/src/nile-grid/data-processor.js.map +1 -0
- package/dist/src/nile-grid/event-handlers.d.ts +35 -0
- package/dist/src/nile-grid/event-handlers.js +158 -0
- package/dist/src/nile-grid/event-handlers.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
- package/dist/src/nile-grid/nile-grid.types.js +2 -0
- package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
- package/dist/src/nile-grid/renderer.d.ts +8 -0
- package/dist/src/nile-grid/renderer.js +78 -0
- package/dist/src/nile-grid/renderer.js.map +1 -0
- package/dist/src/nile-grid/resize-handler.d.ts +4 -0
- package/dist/src/nile-grid/resize-handler.js +36 -0
- package/dist/src/nile-grid/resize-handler.js.map +1 -0
- package/dist/src/nile-grid/types.d.ts +32 -0
- package/dist/src/nile-grid/types.js +2 -0
- package/dist/src/nile-grid/types.js.map +1 -0
- package/dist/src/nile-grid/utils.d.ts +4 -0
- package/dist/src/nile-grid/utils.js +32 -0
- package/dist/src/nile-grid/utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-menu/portal-manager.d.ts +39 -0
- package/dist/src/nile-menu/portal-manager.js +340 -0
- package/dist/src/nile-menu/portal-manager.js.map +1 -0
- package/dist/src/nile-menu/portal-utils.d.ts +21 -0
- package/dist/src/nile-menu/portal-utils.js +128 -0
- package/dist/src/nile-menu/portal-utils.js.map +1 -0
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
- package/dist/src/nile-popover/popover-portal-handler.js +106 -0
- package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
- package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
- package/dist/src/nile-portal-wrapper/index.js +2 -0
- package/dist/src/nile-portal-wrapper/index.js.map +1 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/nile-select/body-append-manager.d.ts +90 -0
- package/dist/src/nile-select/body-append-manager.js +298 -0
- package/dist/src/nile-select/body-append-manager.js.map +1 -0
- package/dist/src/nile-sidebar/index.d.ts +28 -0
- package/dist/src/nile-sidebar/index.js +116 -0
- package/dist/src/nile-sidebar/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu/index.js +2 -0
- package/dist/src/nile-sidebar-menu/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu-items/index.js +2 -0
- package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
- package/dist/src/nile-sidebar-wrapper/index.js +2 -0
- package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js +2 -2
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js.map +1 -1
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
- package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
- package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
- package/dist/src/nile-virtual-select/group-manager.js +134 -0
- package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
- package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
- package/dist/src/nile-virtual-select/portal-utils.js +376 -0
- package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
- package/dist/src/nile-virtual-select-disabled/index.js +2 -0
- package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
- package/dist/src/nile-virtual-select-disabled/types.js +8 -0
- package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
- package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
- package/dist/src/nile-virtual-table-body/index.js +3 -0
- package/dist/src/nile-virtual-table-body/index.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
- package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-table-body/renderer.js +49 -0
- package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
- package/dist/src/utilities/stepper-utils.d.ts +71 -0
- package/dist/src/utilities/stepper-utils.js +108 -0
- package/dist/src/utilities/stepper-utils.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/nile-auto-complete/nile-auto-complete.ts +4 -1
- package/src/nile-carousel/carousel-helpers.ts +137 -0
- package/src/nile-carousel/index.ts +2 -0
- package/src/nile-carousel/nile-carousel-item/index.ts +2 -0
- package/src/nile-carousel/nile-carousel-item/nile-carousel-item.css.ts +33 -0
- package/src/nile-carousel/nile-carousel-item/nile-carousel-item.ts +42 -0
- package/src/nile-carousel/nile-carousel.css.ts +161 -0
- package/src/nile-carousel/nile-carousel.ts +377 -0
- package/src/nile-chip/nile-chip.ts +4 -1
- package/src/nile-skeleton-loader/nile-skeleton-loader.css.ts +2 -2
- package/vscode-html-custom-data.json +29 -0
- package/dist/src/nile-css-tooltip/index.d.ts +0 -1
- package/dist/src/nile-css-tooltip/index.js +0 -2
- package/dist/src/nile-css-tooltip/index.js.map +0 -1
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.d.ts +0 -9
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js +0 -459
- package/dist/src/nile-css-tooltip/nile-css-tooltip.css.js.map +0 -1
- package/dist/src/nile-css-tooltip/nile-css-tooltip.d.ts +0 -113
- package/dist/src/nile-css-tooltip/nile-css-tooltip.js +0 -213
- package/dist/src/nile-css-tooltip/nile-css-tooltip.js.map +0 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { css } from 'lit';
|
|
8
|
+
/**
|
|
9
|
+
* Carousel CSS
|
|
10
|
+
*/
|
|
11
|
+
export const styles = css `
|
|
12
|
+
:host {
|
|
13
|
+
--slide-gap: var(--nile-spacing-md, var(--ng-spacing-md));
|
|
14
|
+
display: block;
|
|
15
|
+
position: relative;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.carousel {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.carousel__content-wrapper {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
|
|
28
|
+
width: 100%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.carousel__slides {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: row;
|
|
34
|
+
overflow-x: auto;
|
|
35
|
+
overflow-y: hidden;
|
|
36
|
+
scroll-snap-type: x mandatory;
|
|
37
|
+
scroll-behavior: smooth;
|
|
38
|
+
gap: var(--slide-gap);
|
|
39
|
+
padding: 0;
|
|
40
|
+
scrollbar-width: none;
|
|
41
|
+
-ms-overflow-style: none;
|
|
42
|
+
flex: 1;
|
|
43
|
+
min-width: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.carousel__slides::-webkit-scrollbar {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.carousel__slides:focus {
|
|
51
|
+
outline: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.carousel__slides:focus-visible {
|
|
55
|
+
outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
56
|
+
outline-offset: 2px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
::slotted(nile-carousel-item) {
|
|
60
|
+
flex: 0 0 calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));
|
|
61
|
+
min-width: 0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.carousel__navigation-button {
|
|
65
|
+
display: inline-flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
width: 2.5rem;
|
|
69
|
+
height: 2.5rem;
|
|
70
|
+
padding: 0;
|
|
71
|
+
background: rgba(255, 255, 255, 0.9);
|
|
72
|
+
border: 1px solid var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
|
|
78
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.carousel__navigation-button:hover:not(.carousel__navigation-button--disabled) {
|
|
82
|
+
background: rgba(255, 255, 255, 1);
|
|
83
|
+
border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
|
|
84
|
+
transform: scale(1.1);
|
|
85
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.carousel__navigation-button:active:not(.carousel__navigation-button--disabled) {
|
|
89
|
+
background: rgba(255, 255, 255, 1);
|
|
90
|
+
transform: scale(0.95);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.carousel__navigation-button--disabled {
|
|
94
|
+
opacity: 0.4;
|
|
95
|
+
cursor: not-allowed;
|
|
96
|
+
pointer-events: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.carousel__navigation-button:focus {
|
|
100
|
+
outline: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.carousel__navigation-button:focus-visible {
|
|
104
|
+
outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
105
|
+
outline-offset: 2px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.carousel__pagination {
|
|
109
|
+
display: flex;
|
|
110
|
+
align-items: center;
|
|
111
|
+
justify-content: center;
|
|
112
|
+
gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
|
|
113
|
+
margin-top: var(--nile-spacing-md, var(--ng-spacing-md));
|
|
114
|
+
position: relative;
|
|
115
|
+
z-index: 2;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.carousel__pagination-item {
|
|
119
|
+
width: 0.75rem;
|
|
120
|
+
height: 0.75rem;
|
|
121
|
+
padding: 0;
|
|
122
|
+
background: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
123
|
+
border: 2px solid var(--nile-colors-white-base, var(--ng-colors-bg-primary));
|
|
124
|
+
border-radius: 50%;
|
|
125
|
+
cursor: pointer;
|
|
126
|
+
transition: background-color 0.1s ease, transform 0.1s ease, border-color 0.1s ease, width 0.1s ease, height 0.1s ease;
|
|
127
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.carousel__pagination-item:hover {
|
|
131
|
+
background: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));
|
|
132
|
+
transform: scale(1.15);
|
|
133
|
+
border-color: var(--nile-colors-dark-200, var(--ng-colors-border-secondary));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.carousel__pagination-item--active {
|
|
137
|
+
width: 0.875rem;
|
|
138
|
+
height: 0.875rem;
|
|
139
|
+
background: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
140
|
+
border-color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
141
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.carousel__pagination-item:focus {
|
|
145
|
+
outline: none;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.carousel__pagination-item:focus-visible {
|
|
149
|
+
outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
150
|
+
outline-offset: 2px;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
:host([hidden]) {
|
|
154
|
+
display: none;
|
|
155
|
+
}
|
|
156
|
+
`;
|
|
157
|
+
export default [styles];
|
|
158
|
+
//# sourceMappingURL=nile-carousel.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-carousel.css.js","sourceRoot":"","sources":["../../../src/nile-carousel/nile-carousel.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Carousel CSS\n */\nexport const styles = css`\n :host {\n --slide-gap: var(--nile-spacing-md, var(--ng-spacing-md));\n display: block;\n position: relative;\n }\n\n .carousel {\n display: flex;\n flex-direction: column;\n position: relative;\n }\n\n .carousel__content-wrapper {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-sm, var(--ng-spacing-sm));\n width: 100%;\n }\n\n .carousel__slides {\n display: flex;\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n scroll-behavior: smooth;\n gap: var(--slide-gap);\n padding: 0;\n scrollbar-width: none;\n -ms-overflow-style: none;\n flex: 1;\n min-width: 0;\n }\n\n .carousel__slides::-webkit-scrollbar {\n display: none;\n }\n\n .carousel__slides:focus {\n outline: none;\n }\n\n .carousel__slides:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n ::slotted(nile-carousel-item) {\n flex: 0 0 calc((100% - (var(--slides-per-page) - 1) * var(--slide-gap)) / var(--slides-per-page));\n min-width: 0;\n }\n\n .carousel__navigation-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n padding: 0;\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid var(--nile-colors-dark-200, var(--ng-colors-border-secondary));\n border-radius: 50%;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n flex-shrink: 0;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n }\n\n .carousel__navigation-button:hover:not(.carousel__navigation-button--disabled) {\n background: rgba(255, 255, 255, 1);\n border-color: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));\n transform: scale(1.1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n }\n\n .carousel__navigation-button:active:not(.carousel__navigation-button--disabled) {\n background: rgba(255, 255, 255, 1);\n transform: scale(0.95);\n }\n\n .carousel__navigation-button--disabled {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n .carousel__navigation-button:focus {\n outline: none;\n }\n\n .carousel__navigation-button:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n .carousel__pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n margin-top: var(--nile-spacing-md, var(--ng-spacing-md));\n position: relative;\n z-index: 2;\n }\n\n .carousel__pagination-item {\n width: 0.75rem;\n height: 0.75rem;\n padding: 0;\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n border: 2px solid var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border-radius: 50%;\n cursor: pointer;\n transition: background-color 0.1s ease, transform 0.1s ease, border-color 0.1s ease, width 0.1s ease, height 0.1s ease;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n }\n\n .carousel__pagination-item:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-border-tertiary));\n transform: scale(1.15);\n border-color: var(--nile-colors-dark-200, var(--ng-colors-border-secondary));\n }\n\n .carousel__pagination-item--active {\n width: 0.875rem;\n height: 0.875rem;\n background: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n border-color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\n }\n\n .carousel__pagination-item:focus {\n outline: none;\n }\n\n .carousel__pagination-item:focus-visible {\n outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n outline-offset: 2px;\n }\n\n :host([hidden]) {\n display: none;\n }\n`;\n\nexport default [styles];\n\n"]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import '../nile-icon';
|
|
8
|
+
import './nile-carousel-item/nile-carousel-item';
|
|
9
|
+
import { CSSResultArray, TemplateResult } from 'lit';
|
|
10
|
+
import NileElement from '../internal/nile-element';
|
|
11
|
+
import type { PropertyValueMap } from 'lit';
|
|
12
|
+
export declare class NileCarousel extends NileElement {
|
|
13
|
+
static styles: CSSResultArray;
|
|
14
|
+
navigation: boolean;
|
|
15
|
+
pagination: boolean;
|
|
16
|
+
slidesPerPage: number;
|
|
17
|
+
slidesPerMove: number;
|
|
18
|
+
scrollContainer: HTMLElement;
|
|
19
|
+
paginationContainer: HTMLElement;
|
|
20
|
+
activeSlide: number;
|
|
21
|
+
scrolling: boolean;
|
|
22
|
+
private mutationObserver;
|
|
23
|
+
private pendingSlideChange;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
disconnectedCallback(): void;
|
|
26
|
+
protected firstUpdated(): void;
|
|
27
|
+
protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void;
|
|
28
|
+
private getPageCount;
|
|
29
|
+
private getCurrentPage;
|
|
30
|
+
private canScrollNext;
|
|
31
|
+
private canScrollPrev;
|
|
32
|
+
private getSlides;
|
|
33
|
+
private handleKeyDown;
|
|
34
|
+
private handleScroll;
|
|
35
|
+
private handleScrollEnd;
|
|
36
|
+
private handleSlotChange;
|
|
37
|
+
private initializeSlides;
|
|
38
|
+
handleSlideChange(): void;
|
|
39
|
+
updateSlidesSnap(): void;
|
|
40
|
+
previous(behavior?: ScrollBehavior): void;
|
|
41
|
+
next(behavior?: ScrollBehavior): void;
|
|
42
|
+
goToSlide(index: number, behavior?: ScrollBehavior): void;
|
|
43
|
+
private renderNavigationButton;
|
|
44
|
+
private renderScrollContainer;
|
|
45
|
+
private renderPaginationItem;
|
|
46
|
+
private renderPagination;
|
|
47
|
+
render(): TemplateResult<1>;
|
|
48
|
+
}
|
|
49
|
+
export default NileCarousel;
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'nile-carousel': NileCarousel;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { __decorate } from "tslib";
|
|
8
|
+
import '../nile-icon';
|
|
9
|
+
import './nile-carousel-item/nile-carousel-item';
|
|
10
|
+
import { html } from 'lit';
|
|
11
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
12
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
13
|
+
import { map } from 'lit/directives/map.js';
|
|
14
|
+
import { range } from 'lit/directives/range.js';
|
|
15
|
+
import { prefersReducedMotion } from '../internal/animate';
|
|
16
|
+
import { watch } from '../internal/watch';
|
|
17
|
+
import { styles } from './nile-carousel.css';
|
|
18
|
+
import NileElement from '../internal/nile-element';
|
|
19
|
+
import { isCarouselItem, findMostVisibleSlide, getPageCount, getCurrentPage, canScrollNext, canScrollPrev, shouldSnapToSlide, scrollToSlide as scrollToSlideHelper, goToSlide as goToSlideHelper } from './carousel-helpers';
|
|
20
|
+
let NileCarousel = class NileCarousel extends NileElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.navigation = false;
|
|
24
|
+
this.pagination = false;
|
|
25
|
+
this.slidesPerPage = 1;
|
|
26
|
+
this.slidesPerMove = 1;
|
|
27
|
+
this.activeSlide = 0;
|
|
28
|
+
this.scrolling = false;
|
|
29
|
+
this.pendingSlideChange = false;
|
|
30
|
+
this.handleScroll = () => {
|
|
31
|
+
if (!this.scrollContainer) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.scrolling = true;
|
|
35
|
+
if (this.pendingSlideChange) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const slides = this.getSlides();
|
|
39
|
+
const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);
|
|
40
|
+
if (mostVisibleSlide) {
|
|
41
|
+
const newActiveIndex = slides.indexOf(mostVisibleSlide);
|
|
42
|
+
if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {
|
|
43
|
+
this.activeSlide = newActiveIndex;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
this.handleScrollEnd = () => {
|
|
48
|
+
this.scrolling = false;
|
|
49
|
+
this.pendingSlideChange = false;
|
|
50
|
+
if (this.scrollContainer) {
|
|
51
|
+
const slides = this.getSlides();
|
|
52
|
+
const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);
|
|
53
|
+
if (mostVisibleSlide) {
|
|
54
|
+
const newActiveIndex = slides.indexOf(mostVisibleSlide);
|
|
55
|
+
if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {
|
|
56
|
+
this.activeSlide = newActiveIndex;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
this.handleSlotChange = () => {
|
|
62
|
+
this.initializeSlides();
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
connectedCallback() {
|
|
66
|
+
super.connectedCallback();
|
|
67
|
+
this.setAttribute('role', 'region');
|
|
68
|
+
this.setAttribute('aria-label', 'carousel');
|
|
69
|
+
}
|
|
70
|
+
disconnectedCallback() {
|
|
71
|
+
super.disconnectedCallback();
|
|
72
|
+
this.mutationObserver?.disconnect();
|
|
73
|
+
}
|
|
74
|
+
firstUpdated() {
|
|
75
|
+
this.initializeSlides();
|
|
76
|
+
this.mutationObserver = new MutationObserver(this.handleSlotChange);
|
|
77
|
+
this.mutationObserver.observe(this, {
|
|
78
|
+
childList: true,
|
|
79
|
+
subtree: true
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
willUpdate(changedProperties) {
|
|
83
|
+
if (changedProperties.has('slidesPerMove') || changedProperties.has('slidesPerPage')) {
|
|
84
|
+
this.slidesPerMove = Math.min(this.slidesPerMove, this.slidesPerPage);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
getPageCount() {
|
|
88
|
+
const slidesCount = this.getSlides().length;
|
|
89
|
+
return getPageCount(slidesCount, this.slidesPerPage, this.slidesPerMove);
|
|
90
|
+
}
|
|
91
|
+
getCurrentPage() {
|
|
92
|
+
return getCurrentPage(this.activeSlide, this.slidesPerMove);
|
|
93
|
+
}
|
|
94
|
+
canScrollNext() {
|
|
95
|
+
return canScrollNext(this.getCurrentPage(), this.getPageCount());
|
|
96
|
+
}
|
|
97
|
+
canScrollPrev() {
|
|
98
|
+
return canScrollPrev(this.getCurrentPage());
|
|
99
|
+
}
|
|
100
|
+
getSlides() {
|
|
101
|
+
return [...this.children].filter((el) => isCarouselItem(el));
|
|
102
|
+
}
|
|
103
|
+
handleKeyDown(event) {
|
|
104
|
+
if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
|
|
105
|
+
const target = event.target;
|
|
106
|
+
const isFocusInPagination = target.closest('.carousel__pagination-item') !== null;
|
|
107
|
+
const isNext = event.key === 'ArrowDown' || event.key === 'ArrowRight';
|
|
108
|
+
const isPrevious = event.key === 'ArrowUp' || event.key === 'ArrowLeft';
|
|
109
|
+
event.preventDefault();
|
|
110
|
+
if (isPrevious) {
|
|
111
|
+
this.previous();
|
|
112
|
+
}
|
|
113
|
+
if (isNext) {
|
|
114
|
+
this.next();
|
|
115
|
+
}
|
|
116
|
+
if (event.key === 'Home') {
|
|
117
|
+
this.goToSlide(0);
|
|
118
|
+
}
|
|
119
|
+
if (event.key === 'End') {
|
|
120
|
+
this.goToSlide(this.getSlides().length - 1);
|
|
121
|
+
}
|
|
122
|
+
if (isFocusInPagination) {
|
|
123
|
+
this.updateComplete.then(() => {
|
|
124
|
+
const activePaginationItem = this.shadowRoot?.querySelector('.carousel__pagination-item--active');
|
|
125
|
+
if (activePaginationItem) {
|
|
126
|
+
activePaginationItem.focus();
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
initializeSlides() {
|
|
133
|
+
const slides = this.getSlides();
|
|
134
|
+
if (!slides.length) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
slides.forEach((slide, i) => {
|
|
138
|
+
slide.classList.toggle('--is-active', i === this.activeSlide);
|
|
139
|
+
});
|
|
140
|
+
this.updateSlidesSnap();
|
|
141
|
+
}
|
|
142
|
+
handleSlideChange() {
|
|
143
|
+
const slides = this.getSlides();
|
|
144
|
+
slides.forEach((slide, i) => {
|
|
145
|
+
slide.classList.toggle('--is-active', i === this.activeSlide);
|
|
146
|
+
});
|
|
147
|
+
if (this.hasUpdated) {
|
|
148
|
+
this.emit('nile-slide-change', {
|
|
149
|
+
detail: {
|
|
150
|
+
index: this.activeSlide,
|
|
151
|
+
slide: slides[this.activeSlide]
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
updateSlidesSnap() {
|
|
157
|
+
const slides = this.getSlides();
|
|
158
|
+
const slidesPerMove = this.slidesPerMove;
|
|
159
|
+
slides.forEach((slide, i) => {
|
|
160
|
+
if (shouldSnapToSlide(i, slidesPerMove)) {
|
|
161
|
+
slide.style.removeProperty('scroll-snap-align');
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
slide.style.setProperty('scroll-snap-align', 'none');
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
previous(behavior = 'smooth') {
|
|
169
|
+
this.goToSlide(this.activeSlide - this.slidesPerMove, behavior);
|
|
170
|
+
}
|
|
171
|
+
next(behavior = 'smooth') {
|
|
172
|
+
this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);
|
|
173
|
+
}
|
|
174
|
+
goToSlide(index, behavior = 'smooth') {
|
|
175
|
+
const { slidesPerPage } = this;
|
|
176
|
+
const slides = this.getSlides();
|
|
177
|
+
const result = goToSlideHelper(index, slides, slidesPerPage, behavior);
|
|
178
|
+
if (!result || !this.scrollContainer) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
this.activeSlide = result.newActiveSlide;
|
|
182
|
+
const scrollBehavior = prefersReducedMotion() ? 'auto' : behavior;
|
|
183
|
+
scrollToSlideHelper(result.slideToScroll, this.scrollContainer, scrollBehavior, (value) => {
|
|
184
|
+
this.pendingSlideChange = value;
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
renderNavigationButton(direction, enabled, onClick) {
|
|
188
|
+
const isPrevious = direction === 'previous';
|
|
189
|
+
const iconName = isPrevious ? 'arrowleft' : 'arrowright';
|
|
190
|
+
const slotName = isPrevious ? 'previous-icon' : 'next-icon';
|
|
191
|
+
const partName = isPrevious ? 'navigation-button--previous' : 'navigation-button--next';
|
|
192
|
+
const ariaLabel = isPrevious ? 'Previous slide' : 'Next slide';
|
|
193
|
+
return html `
|
|
194
|
+
<button
|
|
195
|
+
part="navigation-button ${partName}"
|
|
196
|
+
class="${classMap({
|
|
197
|
+
'carousel__navigation-button': true,
|
|
198
|
+
[`carousel__navigation-button--${direction}`]: true,
|
|
199
|
+
'carousel__navigation-button--disabled': !enabled
|
|
200
|
+
})}"
|
|
201
|
+
aria-label="${ariaLabel}"
|
|
202
|
+
aria-controls="scroll-container"
|
|
203
|
+
aria-disabled="${enabled ? 'false' : 'true'}"
|
|
204
|
+
@click=${enabled ? onClick : null}
|
|
205
|
+
>
|
|
206
|
+
<slot name="${slotName}">
|
|
207
|
+
<nile-icon
|
|
208
|
+
library="system"
|
|
209
|
+
name="${iconName}"
|
|
210
|
+
></nile-icon>
|
|
211
|
+
</slot>
|
|
212
|
+
</button>
|
|
213
|
+
`;
|
|
214
|
+
}
|
|
215
|
+
renderScrollContainer() {
|
|
216
|
+
return html `
|
|
217
|
+
<div
|
|
218
|
+
id="scroll-container"
|
|
219
|
+
part="scroll-container"
|
|
220
|
+
class="carousel__slides"
|
|
221
|
+
style="--slides-per-page: ${this.slidesPerPage};"
|
|
222
|
+
aria-busy="${this.scrolling ? 'true' : 'false'}"
|
|
223
|
+
aria-atomic="true"
|
|
224
|
+
tabindex="0"
|
|
225
|
+
@keydown=${this.handleKeyDown}
|
|
226
|
+
@scroll="${this.handleScroll}"
|
|
227
|
+
@scrollend=${this.handleScrollEnd}
|
|
228
|
+
>
|
|
229
|
+
<slot></slot>
|
|
230
|
+
</div>
|
|
231
|
+
`;
|
|
232
|
+
}
|
|
233
|
+
renderPaginationItem(index, pagesCount, currentPage, slidesPerMove) {
|
|
234
|
+
const isActive = index === currentPage;
|
|
235
|
+
return html `
|
|
236
|
+
<button
|
|
237
|
+
part="pagination-item ${isActive ? 'pagination-item--active' : ''}"
|
|
238
|
+
class="${classMap({
|
|
239
|
+
'carousel__pagination-item': true,
|
|
240
|
+
'carousel__pagination-item--active': isActive
|
|
241
|
+
})}"
|
|
242
|
+
role="tab"
|
|
243
|
+
id="tab-${index + 1}"
|
|
244
|
+
aria-controls="slide-${index + 1}"
|
|
245
|
+
aria-selected="${isActive ? 'true' : 'false'}"
|
|
246
|
+
aria-label="${isActive
|
|
247
|
+
? `Slide ${index + 1}`
|
|
248
|
+
: `Go to slide ${index + 1} of ${pagesCount}`}"
|
|
249
|
+
tabindex=${isActive ? '0' : '-1'}
|
|
250
|
+
@click=${() => this.goToSlide(index * slidesPerMove)}
|
|
251
|
+
@keydown=${this.handleKeyDown}
|
|
252
|
+
></button>
|
|
253
|
+
`;
|
|
254
|
+
}
|
|
255
|
+
renderPagination() {
|
|
256
|
+
if (!this.pagination) {
|
|
257
|
+
return html ``;
|
|
258
|
+
}
|
|
259
|
+
const pagesCount = this.getPageCount();
|
|
260
|
+
const currentPage = this.getCurrentPage();
|
|
261
|
+
const slidesPerMove = this.slidesPerMove;
|
|
262
|
+
return html `
|
|
263
|
+
<div part="pagination" role="tablist" class="carousel__pagination">
|
|
264
|
+
${map(range(pagesCount), index => this.renderPaginationItem(index, pagesCount, currentPage, slidesPerMove))}
|
|
265
|
+
</div>
|
|
266
|
+
`;
|
|
267
|
+
}
|
|
268
|
+
render() {
|
|
269
|
+
const prevEnabled = this.canScrollPrev();
|
|
270
|
+
const nextEnabled = this.canScrollNext();
|
|
271
|
+
return html `
|
|
272
|
+
<div part="base" class="carousel">
|
|
273
|
+
<div class="carousel__content-wrapper">
|
|
274
|
+
${this.navigation ? this.renderNavigationButton('previous', prevEnabled, () => this.previous()) : ''}
|
|
275
|
+
${this.renderScrollContainer()}
|
|
276
|
+
${this.navigation ? this.renderNavigationButton('next', nextEnabled, () => this.next()) : ''}
|
|
277
|
+
</div>
|
|
278
|
+
${this.renderPagination()}
|
|
279
|
+
</div>
|
|
280
|
+
`;
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
NileCarousel.styles = [styles];
|
|
284
|
+
__decorate([
|
|
285
|
+
property({ type: Boolean, reflect: true })
|
|
286
|
+
], NileCarousel.prototype, "navigation", void 0);
|
|
287
|
+
__decorate([
|
|
288
|
+
property({ type: Boolean, reflect: true })
|
|
289
|
+
], NileCarousel.prototype, "pagination", void 0);
|
|
290
|
+
__decorate([
|
|
291
|
+
property({ type: Number, attribute: 'slides-per-page' })
|
|
292
|
+
], NileCarousel.prototype, "slidesPerPage", void 0);
|
|
293
|
+
__decorate([
|
|
294
|
+
property({ type: Number, attribute: 'slides-per-move' })
|
|
295
|
+
], NileCarousel.prototype, "slidesPerMove", void 0);
|
|
296
|
+
__decorate([
|
|
297
|
+
query('.carousel__slides')
|
|
298
|
+
], NileCarousel.prototype, "scrollContainer", void 0);
|
|
299
|
+
__decorate([
|
|
300
|
+
query('.carousel__pagination')
|
|
301
|
+
], NileCarousel.prototype, "paginationContainer", void 0);
|
|
302
|
+
__decorate([
|
|
303
|
+
state()
|
|
304
|
+
], NileCarousel.prototype, "activeSlide", void 0);
|
|
305
|
+
__decorate([
|
|
306
|
+
state()
|
|
307
|
+
], NileCarousel.prototype, "scrolling", void 0);
|
|
308
|
+
__decorate([
|
|
309
|
+
watch('activeSlide')
|
|
310
|
+
], NileCarousel.prototype, "handleSlideChange", null);
|
|
311
|
+
__decorate([
|
|
312
|
+
watch('slidesPerMove')
|
|
313
|
+
], NileCarousel.prototype, "updateSlidesSnap", null);
|
|
314
|
+
NileCarousel = __decorate([
|
|
315
|
+
customElement('nile-carousel')
|
|
316
|
+
], NileCarousel);
|
|
317
|
+
export { NileCarousel };
|
|
318
|
+
export default NileCarousel;
|
|
319
|
+
//# sourceMappingURL=nile-carousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-carousel.js","sourceRoot":"","sources":["../../../src/nile-carousel/nile-carousel.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport '../nile-icon';\nimport './nile-carousel-item/nile-carousel-item';\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { range } from 'lit/directives/range.js';\nimport { prefersReducedMotion } from '../internal/animate';\nimport { watch } from '../internal/watch';\nimport { styles } from './nile-carousel.css';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport type NileCarouselItem from './nile-carousel-item/nile-carousel-item';\nimport {\n isCarouselItem,\n findMostVisibleSlide,\n getPageCount,\n getCurrentPage,\n canScrollNext,\n canScrollPrev,\n shouldSnapToSlide,\n scrollToSlide as scrollToSlideHelper,\n goToSlide as goToSlideHelper\n} from './carousel-helpers';\n\n@customElement('nile-carousel')\nexport class NileCarousel extends NileElement {\n static styles: CSSResultArray = [styles];\n\n @property({ type: Boolean, reflect: true }) navigation = false;\n\n @property({ type: Boolean, reflect: true }) pagination = false;\n\n @property({ type: Number, attribute: 'slides-per-page' }) slidesPerPage = 1;\n\n @property({ type: Number, attribute: 'slides-per-move' }) slidesPerMove = 1;\n\n @query('.carousel__slides') scrollContainer: HTMLElement;\n @query('.carousel__pagination') paginationContainer: HTMLElement;\n\n @state() activeSlide = 0;\n\n @state() scrolling = false;\n\n private mutationObserver: MutationObserver;\n private pendingSlideChange = false;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'region');\n this.setAttribute('aria-label', 'carousel');\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n }\n\n protected firstUpdated(): void {\n this.initializeSlides();\n this.mutationObserver = new MutationObserver(this.handleSlotChange);\n this.mutationObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n\n protected willUpdate(changedProperties: PropertyValueMap<NileCarousel> | Map<PropertyKey, unknown>): void {\n if (changedProperties.has('slidesPerMove') || changedProperties.has('slidesPerPage')) {\n this.slidesPerMove = Math.min(this.slidesPerMove, this.slidesPerPage);\n }\n }\n\n private getPageCount() {\n const slidesCount = this.getSlides().length;\n return getPageCount(slidesCount, this.slidesPerPage, this.slidesPerMove);\n }\n\n private getCurrentPage() {\n return getCurrentPage(this.activeSlide, this.slidesPerMove);\n }\n\n private canScrollNext(): boolean {\n return canScrollNext(this.getCurrentPage(), this.getPageCount());\n }\n\n private canScrollPrev(): boolean {\n return canScrollPrev(this.getCurrentPage());\n }\n\n private getSlides() {\n return [...this.children].filter(\n (el: HTMLElement) => isCarouselItem(el)\n ) as NileCarouselItem[];\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const target = event.target as HTMLElement;\n const isFocusInPagination = target.closest('.carousel__pagination-item') !== null;\n const isNext =\n event.key === 'ArrowDown' || event.key === 'ArrowRight';\n const isPrevious =\n event.key === 'ArrowUp' || event.key === 'ArrowLeft';\n\n event.preventDefault();\n\n if (isPrevious) {\n this.previous();\n }\n\n if (isNext) {\n this.next();\n }\n\n if (event.key === 'Home') {\n this.goToSlide(0);\n }\n\n if (event.key === 'End') {\n this.goToSlide(this.getSlides().length - 1);\n }\n\n if (isFocusInPagination) {\n this.updateComplete.then(() => {\n const activePaginationItem = this.shadowRoot?.querySelector<HTMLButtonElement>(\n '.carousel__pagination-item--active'\n );\n\n if (activePaginationItem) {\n activePaginationItem.focus();\n }\n });\n }\n }\n }\n\n private handleScroll = () => {\n if (!this.scrollContainer) {\n return;\n }\n\n this.scrolling = true;\n\n if (this.pendingSlideChange) {\n return;\n }\n\n const slides = this.getSlides();\n const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);\n\n if (mostVisibleSlide) {\n const newActiveIndex = slides.indexOf(mostVisibleSlide);\n if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {\n this.activeSlide = newActiveIndex;\n }\n }\n };\n\n private handleScrollEnd = () => {\n this.scrolling = false;\n this.pendingSlideChange = false;\n \n if (this.scrollContainer) {\n const slides = this.getSlides();\n const mostVisibleSlide = findMostVisibleSlide(slides, this.scrollContainer);\n \n if (mostVisibleSlide) {\n const newActiveIndex = slides.indexOf(mostVisibleSlide);\n if (newActiveIndex !== -1 && newActiveIndex !== this.activeSlide) {\n this.activeSlide = newActiveIndex;\n }\n }\n }\n };\n\n private handleSlotChange = () => {\n this.initializeSlides();\n };\n\n private initializeSlides() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n\n slides.forEach((slide, i) => {\n slide.classList.toggle('--is-active', i === this.activeSlide);\n });\n\n this.updateSlidesSnap();\n }\n\n @watch('activeSlide')\n handleSlideChange() {\n const slides = this.getSlides();\n slides.forEach((slide, i) => {\n slide.classList.toggle('--is-active', i === this.activeSlide);\n });\n\n if (this.hasUpdated) {\n this.emit('nile-slide-change', {\n detail: {\n index: this.activeSlide,\n slide: slides[this.activeSlide]\n }\n });\n }\n }\n\n @watch('slidesPerMove')\n updateSlidesSnap() {\n const slides = this.getSlides();\n const slidesPerMove = this.slidesPerMove;\n\n slides.forEach((slide, i) => {\n if (shouldSnapToSlide(i, slidesPerMove)) {\n slide.style.removeProperty('scroll-snap-align');\n } else {\n slide.style.setProperty('scroll-snap-align', 'none');\n }\n });\n }\n\n previous(behavior: ScrollBehavior = 'smooth') {\n this.goToSlide(this.activeSlide - this.slidesPerMove, behavior);\n }\n\n next(behavior: ScrollBehavior = 'smooth') {\n this.goToSlide(this.activeSlide + this.slidesPerMove, behavior);\n }\n\n goToSlide(index: number, behavior: ScrollBehavior = 'smooth') {\n const { slidesPerPage } = this;\n const slides = this.getSlides();\n\n const result = goToSlideHelper(index, slides, slidesPerPage, behavior);\n if (!result || !this.scrollContainer) {\n return;\n }\n\n this.activeSlide = result.newActiveSlide;\n const scrollBehavior = prefersReducedMotion() ? 'auto' : behavior;\n scrollToSlideHelper(\n result.slideToScroll,\n this.scrollContainer,\n scrollBehavior,\n (value: boolean) => {\n this.pendingSlideChange = value;\n }\n );\n }\n\n private renderNavigationButton(\n direction: 'previous' | 'next',\n enabled: boolean,\n onClick: () => void\n ): TemplateResult {\n const isPrevious = direction === 'previous';\n const iconName = isPrevious ? 'arrowleft' : 'arrowright';\n const slotName = isPrevious ? 'previous-icon' : 'next-icon';\n const partName = isPrevious ? 'navigation-button--previous' : 'navigation-button--next';\n const ariaLabel = isPrevious ? 'Previous slide' : 'Next slide';\n\n return html`\n <button\n part=\"navigation-button ${partName}\"\n class=\"${classMap({\n 'carousel__navigation-button': true,\n [`carousel__navigation-button--${direction}`]: true,\n 'carousel__navigation-button--disabled': !enabled\n })}\"\n aria-label=\"${ariaLabel}\"\n aria-controls=\"scroll-container\"\n aria-disabled=\"${enabled ? 'false' : 'true'}\"\n @click=${enabled ? onClick : null}\n >\n <slot name=\"${slotName}\">\n <nile-icon\n library=\"system\"\n name=\"${iconName}\"\n ></nile-icon>\n </slot>\n </button>\n `;\n }\n\n private renderScrollContainer(): TemplateResult {\n return html`\n <div\n id=\"scroll-container\"\n part=\"scroll-container\"\n class=\"carousel__slides\"\n style=\"--slides-per-page: ${this.slidesPerPage};\"\n aria-busy=\"${this.scrolling ? 'true' : 'false'}\"\n aria-atomic=\"true\"\n tabindex=\"0\"\n @keydown=${this.handleKeyDown}\n @scroll=\"${this.handleScroll}\"\n @scrollend=${this.handleScrollEnd}\n >\n <slot></slot>\n </div>\n `;\n }\n\n private renderPaginationItem(index: number, pagesCount: number, currentPage: number, slidesPerMove: number): TemplateResult {\n const isActive = index === currentPage;\n return html`\n <button\n part=\"pagination-item ${isActive ? 'pagination-item--active' : ''}\"\n class=\"${classMap({\n 'carousel__pagination-item': true,\n 'carousel__pagination-item--active': isActive\n })}\"\n role=\"tab\"\n id=\"tab-${index + 1}\"\n aria-controls=\"slide-${index + 1}\"\n aria-selected=\"${isActive ? 'true' : 'false'}\"\n aria-label=\"${isActive\n ? `Slide ${index + 1}`\n : `Go to slide ${index + 1} of ${pagesCount}`}\"\n tabindex=${isActive ? '0' : '-1'}\n @click=${() => this.goToSlide(index * slidesPerMove)}\n @keydown=${this.handleKeyDown}\n ></button>\n `;\n }\n\n private renderPagination(): TemplateResult {\n if (!this.pagination) {\n return html``;\n }\n\n const pagesCount = this.getPageCount();\n const currentPage = this.getCurrentPage();\n const slidesPerMove = this.slidesPerMove;\n\n return html`\n <div part=\"pagination\" role=\"tablist\" class=\"carousel__pagination\">\n ${map(range(pagesCount), index => this.renderPaginationItem(index, pagesCount, currentPage, slidesPerMove))}\n </div>\n `;\n }\n\n render() {\n const prevEnabled = this.canScrollPrev();\n const nextEnabled = this.canScrollNext();\n\n return html`\n <div part=\"base\" class=\"carousel\">\n <div class=\"carousel__content-wrapper\">\n ${this.navigation ? this.renderNavigationButton('previous', prevEnabled, () => this.previous()) : ''}\n ${this.renderScrollContainer()}\n ${this.navigation ? this.renderNavigationButton('next', nextEnabled, () => this.next()) : ''}\n </div>\n ${this.renderPagination()}\n </div>\n `;\n }\n}\n\nexport default NileCarousel;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-carousel': NileCarousel;\n }\n}\n\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* @web/test-runner snapshot v1 */
|
|
2
|
+
export const snapshots = {};
|
|
3
|
+
|
|
4
|
+
snapshots["NileCheckbox renders correctly with default properties"] =
|
|
5
|
+
`<label
|
|
6
|
+
class="checkbox checkbox--medium"
|
|
7
|
+
part="base"
|
|
8
|
+
>
|
|
9
|
+
<input
|
|
10
|
+
aria-checked="false"
|
|
11
|
+
class="checkbox__input"
|
|
12
|
+
name=""
|
|
13
|
+
title=""
|
|
14
|
+
type="checkbox"
|
|
15
|
+
>
|
|
16
|
+
<span
|
|
17
|
+
class="checkbox__control"
|
|
18
|
+
part="control"
|
|
19
|
+
>
|
|
20
|
+
</span>
|
|
21
|
+
<div
|
|
22
|
+
class="checkbox__label"
|
|
23
|
+
part="label"
|
|
24
|
+
>
|
|
25
|
+
<slot>
|
|
26
|
+
</slot>
|
|
27
|
+
</div>
|
|
28
|
+
</label>
|
|
29
|
+
`;
|
|
30
|
+
/* end snapshot NileCheckbox renders correctly with default properties */
|
|
31
|
+
|
|
@@ -198,7 +198,10 @@ let NileChip = class NileChip extends NileElement {
|
|
|
198
198
|
${this.tags.map((tag, index) => {
|
|
199
199
|
const tooltipContent = this.tooltips[index];
|
|
200
200
|
const isFocused = this.enableTagDelete && this.chipFocusIndex === index;
|
|
201
|
-
|
|
201
|
+
let tagText = "";
|
|
202
|
+
if (tag || typeof tag === "number") {
|
|
203
|
+
tagText = tag.toString();
|
|
204
|
+
}
|
|
202
205
|
const tagTemplate = html `
|
|
203
206
|
<nile-tag
|
|
204
207
|
class=${classMap({
|