@sekiui/elements 0.0.82 → 0.0.84
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/dist/cdn/p-BgtjDG0h.js +45 -0
- package/dist/cdn/{p-BgpxFAwm.js → p-BuBiWSGh.js} +18 -3
- package/dist/cdn/{p-Dj6GD4nq.js → p-CM3W2ecZ.js} +1 -1
- package/dist/cdn/{p-o_nleCju.js → p-Cs0DgQw5.js} +25 -8
- package/dist/cdn/p-D50kwTtW.js +160 -0
- package/dist/cdn/{p-m-89tckl.js → p-Df_mX3oj.js} +2 -2
- package/dist/cdn/p-DuJp0Kp6.js +63 -0
- package/dist/cdn/seki-accordion-content.js +10 -8
- package/dist/cdn/seki-accordion-item.js +12 -10
- package/dist/cdn/seki-accordion-trigger.js +12 -10
- package/dist/cdn/seki-alert-dialog-action.js +1 -1
- package/dist/cdn/seki-alert-dialog-cancel.js +1 -1
- package/dist/cdn/seki-alert-dialog-content.js +23 -21
- package/dist/cdn/seki-alert-dialog.js +1 -1
- package/dist/cdn/seki-button.js +1 -1
- package/dist/cdn/seki-calendar.js +1 -1
- package/dist/cdn/seki-carousel-dots.js +3 -3
- package/dist/cdn/seki-carousel-next.js +3 -3
- package/dist/cdn/seki-carousel-previous.js +3 -3
- package/dist/cdn/seki-carousel.js +22 -4
- package/dist/cdn/seki-collapsible-content.js +9 -5
- package/dist/cdn/seki-combobox-item.js +9 -2
- package/dist/cdn/seki-command-group.js +9 -7
- package/dist/cdn/seki-context-menu-content.js +17 -15
- package/dist/cdn/seki-context-menu.js +11 -2
- package/dist/cdn/seki-data-table.js +19 -16
- package/dist/cdn/seki-date-picker.js +1 -1
- package/dist/cdn/seki-dialog-content.js +23 -21
- package/dist/cdn/seki-dialog-overlay.js +10 -8
- package/dist/cdn/seki-dialog.js +1 -1
- package/dist/cdn/seki-dropdown-menu-content.js +23 -68
- package/dist/cdn/seki-dropdown-menu-radio.js +11 -9
- package/dist/cdn/seki-dropdown-menu-trigger.js +11 -9
- package/dist/cdn/seki-dropdown-menu.js +11 -2
- package/dist/cdn/seki-marker-content.d.ts +11 -0
- package/dist/cdn/seki-marker-content.js +55 -0
- package/dist/cdn/seki-marker-icon.d.ts +11 -0
- package/dist/cdn/seki-marker-icon.js +43 -0
- package/dist/cdn/seki-marker.d.ts +11 -0
- package/dist/cdn/seki-marker.js +60 -0
- package/dist/cdn/seki-menubar-checkbox.js +2 -2
- package/dist/cdn/seki-menubar-content.js +24 -42
- package/dist/cdn/seki-menubar-group.js +1 -1
- package/dist/cdn/seki-menubar-item.js +2 -2
- package/dist/cdn/seki-menubar-menu.js +1 -1
- package/dist/cdn/seki-menubar-radio-group.js +1 -1
- package/dist/cdn/seki-menubar-radio.js +11 -9
- package/dist/cdn/seki-menubar-separator.js +1 -1
- package/dist/cdn/seki-menubar-shortcut.js +1 -1
- package/dist/cdn/seki-menubar-sub-trigger.js +2 -2
- package/dist/cdn/seki-menubar-sub.js +1 -1
- package/dist/cdn/seki-menubar-trigger.js +12 -10
- package/dist/cdn/seki-menubar.js +11 -2
- package/dist/cdn/seki-native-select.js +1 -1
- package/dist/cdn/seki-navigation-menu-content.js +8 -3
- package/dist/cdn/seki-navigation-menu-item.js +2 -2
- package/dist/cdn/seki-navigation-menu-link.js +8 -3
- package/dist/cdn/seki-navigation-menu-list.js +7 -2
- package/dist/cdn/seki-navigation-menu-trigger.js +3 -3
- package/dist/cdn/seki-navigation-menu-viewport.js +1 -1
- package/dist/cdn/seki-navigation-menu.js +6 -6
- package/dist/cdn/seki-pagination-content.js +1 -1
- package/dist/cdn/seki-pagination-ellipsis.js +1 -1
- package/dist/cdn/seki-pagination-item.js +1 -1
- package/dist/cdn/seki-pagination-link.js +2 -2
- package/dist/cdn/seki-pagination-next.js +2 -2
- package/dist/cdn/seki-pagination-previous.js +2 -2
- package/dist/cdn/seki-pagination.js +1 -1
- package/dist/cdn/seki-popover-close.js +1 -1
- package/dist/cdn/seki-popover-content.js +20 -65
- package/dist/cdn/seki-popover-trigger.js +1 -1
- package/dist/cdn/seki-popover.js +13 -3
- package/dist/cdn/seki-progress.js +1 -1
- package/dist/cdn/seki-radio-group-item.js +1 -1
- package/dist/cdn/seki-radio-group.js +1 -1
- package/dist/cdn/seki-resizable-handle.js +2 -2
- package/dist/cdn/seki-resizable-panel-group.js +2 -2
- package/dist/cdn/seki-resizable-panel.js +3 -3
- package/dist/cdn/seki-scroll-area.js +1 -1
- package/dist/cdn/seki-scroll-bar.js +6 -2
- package/dist/cdn/seki-select-group.js +1 -1
- package/dist/cdn/seki-select-option.js +29 -13
- package/dist/cdn/seki-select.js +79 -33
- package/dist/cdn/seki-separator.js +1 -1
- package/dist/cdn/seki-sheet-close.js +1 -1
- package/dist/cdn/seki-sheet-description.js +1 -1
- package/dist/cdn/seki-sheet-footer.js +1 -1
- package/dist/cdn/seki-sheet-header.js +1 -1
- package/dist/cdn/seki-sheet-title.js +1 -1
- package/dist/cdn/seki-sheet-trigger.js +1 -1
- package/dist/cdn/seki-sheet.js +2 -2
- package/dist/cdn/seki-sidebar-content.js +1 -1
- package/dist/cdn/seki-sidebar-footer.js +1 -1
- package/dist/cdn/seki-sidebar-group-action.js +1 -1
- package/dist/cdn/seki-sidebar-group-content.js +1 -1
- package/dist/cdn/seki-sidebar-group-label.js +1 -1
- package/dist/cdn/seki-sidebar-group.js +2 -2
- package/dist/cdn/seki-sidebar-header.js +1 -1
- package/dist/cdn/seki-sidebar-inset.js +1 -1
- package/dist/cdn/seki-sidebar-menu-action.js +1 -1
- package/dist/cdn/seki-sidebar-menu-badge.js +1 -1
- package/dist/cdn/seki-sidebar-menu-button.js +1 -1
- package/dist/cdn/seki-sidebar-menu-item.js +1 -1
- package/dist/cdn/seki-sidebar-menu-skeleton.js +1 -1
- package/dist/cdn/seki-sidebar-menu-sub-button.js +2 -2
- package/dist/cdn/seki-sidebar-menu-sub-item.js +1 -1
- package/dist/cdn/seki-sidebar-menu-sub.js +17 -16
- package/dist/cdn/seki-sidebar-menu.js +1 -1
- package/dist/cdn/seki-sidebar-provider.js +13 -4
- package/dist/cdn/seki-sidebar-rail.js +7 -2
- package/dist/cdn/seki-sidebar-separator.js +1 -1
- package/dist/cdn/seki-sidebar-trigger.js +1 -1
- package/dist/cdn/seki-sidebar.js +2 -2
- package/dist/cdn/seki-skeleton.js +1 -1
- package/dist/cdn/seki-slider.js +36 -4
- package/dist/cdn/seki-spinner.js +2 -2
- package/dist/cdn/seki-table-body.js +1 -1
- package/dist/cdn/seki-table-caption.js +1 -1
- package/dist/cdn/seki-table-footer.js +1 -1
- package/dist/cdn/seki-table-header.js +1 -1
- package/dist/cdn/seki-table-row.js +2 -2
- package/dist/cdn/seki-table.js +1 -1
- package/dist/cdn/seki-tabs-content.js +12 -10
- package/dist/cdn/seki-tabs-list.js +2 -2
- package/dist/cdn/seki-tabs-trigger.js +12 -10
- package/dist/cdn/seki-tabs.js +2 -2
- package/dist/cdn/seki-textarea.js +1 -1
- package/dist/cdn/seki-toggle-group.js +1 -1
- package/dist/cdn/seki-toggle.js +1 -1
- package/dist/cdn/seki-tooltip.js +16 -3
- package/dist/cjs/ancestor-attrs-CnUfqtWw.js +47 -0
- package/dist/cjs/focus-trap-CFl79SjZ.js +165 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/positioning-LQZBWMS6.js +65 -0
- package/dist/cjs/seki-accordion-content.cjs.entry.js +10 -8
- package/dist/cjs/seki-accordion-item.cjs.entry.js +12 -10
- package/dist/cjs/seki-accordion-trigger.cjs.entry.js +12 -10
- package/dist/cjs/seki-alert-dialog-action.cjs.entry.js +1 -1
- package/dist/cjs/seki-alert-dialog-cancel.cjs.entry.js +1 -1
- package/dist/cjs/seki-alert-dialog-content.cjs.entry.js +23 -21
- package/dist/cjs/seki-button.cjs.entry.js +1 -1
- package/dist/cjs/seki-calendar.cjs.entry.js +25 -8
- package/dist/cjs/seki-carousel-dots.cjs.entry.js +3 -3
- package/dist/cjs/seki-carousel-next.cjs.entry.js +3 -3
- package/dist/cjs/seki-carousel-previous.cjs.entry.js +3 -3
- package/dist/cjs/seki-carousel.cjs.entry.js +22 -4
- package/dist/cjs/seki-collapsible-content.cjs.entry.js +9 -5
- package/dist/cjs/seki-combobox-item.cjs.entry.js +9 -2
- package/dist/cjs/seki-command-group.cjs.entry.js +9 -7
- package/dist/cjs/seki-context-menu-content.cjs.entry.js +17 -15
- package/dist/cjs/seki-context-menu.cjs.entry.js +11 -2
- package/dist/cjs/seki-data-table.cjs.entry.js +19 -16
- package/dist/cjs/seki-dialog-content.cjs.entry.js +23 -21
- package/dist/cjs/seki-dialog-overlay.cjs.entry.js +10 -8
- package/dist/cjs/seki-dialog.cjs.entry.js +15 -2
- package/dist/cjs/seki-dropdown-menu-content.cjs.entry.js +23 -68
- package/dist/cjs/seki-dropdown-menu-radio.cjs.entry.js +11 -9
- package/dist/cjs/seki-dropdown-menu-trigger.cjs.entry.js +11 -9
- package/dist/cjs/seki-dropdown-menu.cjs.entry.js +11 -2
- package/dist/cjs/seki-marker-content.cjs.entry.js +35 -0
- package/dist/cjs/seki-marker-icon.cjs.entry.js +25 -0
- package/dist/cjs/seki-marker.cjs.entry.js +40 -0
- package/dist/cjs/seki-menubar-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/seki-menubar-content.cjs.entry.js +24 -42
- package/dist/cjs/seki-menubar-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-item.cjs.entry.js +2 -2
- package/dist/cjs/seki-menubar-menu.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-radio.cjs.entry.js +11 -9
- package/dist/cjs/seki-menubar-separator.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-sub-trigger.cjs.entry.js +2 -2
- package/dist/cjs/seki-menubar-sub.cjs.entry.js +1 -1
- package/dist/cjs/seki-menubar-trigger.cjs.entry.js +12 -10
- package/dist/cjs/seki-menubar.cjs.entry.js +11 -2
- package/dist/cjs/seki-native-select.cjs.entry.js +1 -1
- package/dist/cjs/seki-navigation-menu-content.cjs.entry.js +8 -3
- package/dist/cjs/seki-navigation-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/seki-navigation-menu-link.cjs.entry.js +8 -3
- package/dist/cjs/seki-navigation-menu-list.cjs.entry.js +7 -2
- package/dist/cjs/seki-navigation-menu-trigger.cjs.entry.js +3 -3
- package/dist/cjs/seki-navigation-menu-viewport.cjs.entry.js +2 -2
- package/dist/cjs/seki-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/seki-pagination-content.cjs.entry.js +1 -1
- package/dist/cjs/seki-pagination-ellipsis.cjs.entry.js +1 -1
- package/dist/cjs/seki-pagination-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-pagination-link.cjs.entry.js +2 -2
- package/dist/cjs/seki-pagination-next.cjs.entry.js +2 -2
- package/dist/cjs/seki-pagination-previous.cjs.entry.js +2 -2
- package/dist/cjs/seki-pagination.cjs.entry.js +1 -1
- package/dist/cjs/seki-popover-close.cjs.entry.js +1 -1
- package/dist/cjs/seki-popover-content.cjs.entry.js +20 -65
- package/dist/cjs/seki-popover-trigger.cjs.entry.js +1 -1
- package/dist/cjs/seki-popover.cjs.entry.js +13 -3
- package/dist/cjs/seki-progress.cjs.entry.js +1 -1
- package/dist/cjs/seki-radio-group-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-resizable-handle.cjs.entry.js +2 -2
- package/dist/cjs/seki-resizable-panel-group.cjs.entry.js +2 -2
- package/dist/cjs/seki-resizable-panel.cjs.entry.js +3 -3
- package/dist/cjs/seki-scroll-area.cjs.entry.js +1 -1
- package/dist/cjs/seki-scroll-bar.cjs.entry.js +6 -2
- package/dist/cjs/seki-select-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-select-option.cjs.entry.js +29 -13
- package/dist/cjs/seki-select.cjs.entry.js +81 -30
- package/dist/cjs/seki-separator.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-close.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-description.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-footer.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-header.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-title.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet-trigger.cjs.entry.js +1 -1
- package/dist/cjs/seki-sheet.cjs.entry.js +2 -2
- package/dist/cjs/seki-sidebar-content.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-footer.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-group-action.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-group-content.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-group-label.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-header.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-inset.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-action.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-badge.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-button.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-sub-button.cjs.entry.js +2 -2
- package/dist/cjs/seki-sidebar-menu-sub-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +17 -16
- package/dist/cjs/seki-sidebar-menu.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-provider.cjs.entry.js +13 -4
- package/dist/cjs/seki-sidebar-rail.cjs.entry.js +7 -2
- package/dist/cjs/seki-sidebar-separator.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +1 -1
- package/dist/cjs/seki-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/seki-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/seki-slider.cjs.entry.js +36 -1
- package/dist/cjs/seki-spinner.cjs.entry.js +2 -2
- package/dist/cjs/seki-table-body.cjs.entry.js +1 -1
- package/dist/cjs/seki-table-caption.cjs.entry.js +1 -1
- package/dist/cjs/seki-table-footer.cjs.entry.js +1 -1
- package/dist/cjs/seki-table-header.cjs.entry.js +1 -1
- package/dist/cjs/seki-table-row.cjs.entry.js +2 -2
- package/dist/cjs/seki-table.cjs.entry.js +1 -1
- package/dist/cjs/seki-tabs-content.cjs.entry.js +12 -10
- package/dist/cjs/seki-tabs-list.cjs.entry.js +2 -2
- package/dist/cjs/seki-tabs-trigger.cjs.entry.js +12 -10
- package/dist/cjs/seki-tabs.cjs.entry.js +2 -2
- package/dist/cjs/seki-textarea.cjs.entry.js +1 -1
- package/dist/cjs/seki-toggle-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-toggle.cjs.entry.js +1 -1
- package/dist/cjs/seki-tooltip.cjs.entry.js +16 -3
- package/dist/cjs/sekiui.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/accordion/seki-accordion-content.js +10 -8
- package/dist/collection/components/accordion/seki-accordion-item.js +12 -10
- package/dist/collection/components/accordion/seki-accordion-trigger.js +12 -10
- package/dist/collection/components/alert-dialog/seki-alert-dialog-action.css +5 -5
- package/dist/collection/components/alert-dialog/seki-alert-dialog-cancel.css +4 -4
- package/dist/collection/components/alert-dialog/seki-alert-dialog-content.js +22 -20
- package/dist/collection/components/button/seki-button.css +9 -9
- package/dist/collection/components/calendar/seki-calendar.js +14 -5
- package/dist/collection/components/carousel/seki-carousel-dots.js +3 -3
- package/dist/collection/components/carousel/seki-carousel-next.js +3 -3
- package/dist/collection/components/carousel/seki-carousel-previous.js +3 -3
- package/dist/collection/components/carousel/seki-carousel.js +22 -4
- package/dist/collection/components/collapsible/seki-collapsible-content.js +9 -5
- package/dist/collection/components/combobox-item/seki-combobox-item.js +9 -2
- package/dist/collection/components/command/seki-command-group.js +9 -7
- package/dist/collection/components/context-menu/seki-context-menu-content.js +17 -15
- package/dist/collection/components/context-menu/seki-context-menu.js +11 -2
- package/dist/collection/components/data-table/seki-data-table.css +5 -5
- package/dist/collection/components/data-table/seki-data-table.js +18 -15
- package/dist/collection/components/dialog/seki-dialog-content.js +22 -20
- package/dist/collection/components/dialog/seki-dialog-overlay.js +10 -8
- package/dist/collection/components/dialog/seki-dialog.js +17 -1
- package/dist/collection/components/dropdown-menu/seki-dropdown-menu-content.js +23 -68
- package/dist/collection/components/dropdown-menu/seki-dropdown-menu-radio.js +11 -9
- package/dist/collection/components/dropdown-menu/seki-dropdown-menu-trigger.js +11 -9
- package/dist/collection/components/dropdown-menu/seki-dropdown-menu.js +11 -2
- package/dist/collection/components/marker/seki-marker-content.css +819 -0
- package/dist/collection/components/marker/seki-marker-content.js +74 -0
- package/dist/collection/components/marker/seki-marker-icon.css +781 -0
- package/dist/collection/components/marker/seki-marker-icon.js +36 -0
- package/dist/collection/components/marker/seki-marker.css +828 -0
- package/dist/collection/components/marker/seki-marker.interface.js +1 -0
- package/dist/collection/components/marker/seki-marker.js +94 -0
- package/dist/collection/components/menubar/seki-menubar-checkbox.js +2 -2
- package/dist/collection/components/menubar/seki-menubar-content.js +24 -42
- package/dist/collection/components/menubar/seki-menubar-group.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-item.js +2 -2
- package/dist/collection/components/menubar/seki-menubar-menu.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-radio-group.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-radio.js +11 -9
- package/dist/collection/components/menubar/seki-menubar-separator.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-shortcut.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-sub-trigger.js +2 -2
- package/dist/collection/components/menubar/seki-menubar-sub.js +1 -1
- package/dist/collection/components/menubar/seki-menubar-trigger.js +12 -10
- package/dist/collection/components/menubar/seki-menubar.js +11 -2
- package/dist/collection/components/native-select/seki-native-select.js +1 -1
- package/dist/collection/components/navigation-menu/seki-navigation-menu-content.css +1 -1
- package/dist/collection/components/navigation-menu/seki-navigation-menu-content.js +7 -2
- package/dist/collection/components/navigation-menu/seki-navigation-menu-item.js +2 -2
- package/dist/collection/components/navigation-menu/seki-navigation-menu-link.css +1 -1
- package/dist/collection/components/navigation-menu/seki-navigation-menu-link.js +7 -2
- package/dist/collection/components/navigation-menu/seki-navigation-menu-list.css +1 -1
- package/dist/collection/components/navigation-menu/seki-navigation-menu-list.js +6 -1
- package/dist/collection/components/navigation-menu/seki-navigation-menu-trigger.js +3 -3
- package/dist/collection/components/navigation-menu/seki-navigation-menu-viewport.js +2 -2
- package/dist/collection/components/navigation-menu/seki-navigation-menu.js +5 -5
- package/dist/collection/components/pagination/seki-pagination-content.js +1 -1
- package/dist/collection/components/pagination/seki-pagination-ellipsis.js +1 -1
- package/dist/collection/components/pagination/seki-pagination-item.js +1 -1
- package/dist/collection/components/pagination/seki-pagination-link.js +2 -2
- package/dist/collection/components/pagination/seki-pagination-next.js +2 -2
- package/dist/collection/components/pagination/seki-pagination-previous.js +2 -2
- package/dist/collection/components/pagination/seki-pagination.js +1 -1
- package/dist/collection/components/popover/seki-popover-close.js +1 -1
- package/dist/collection/components/popover/seki-popover-content.js +20 -65
- package/dist/collection/components/popover/seki-popover-trigger.js +1 -1
- package/dist/collection/components/popover/seki-popover.js +13 -3
- package/dist/collection/components/progress/seki-progress.js +1 -1
- package/dist/collection/components/radio-group/seki-radio-group-item.js +1 -1
- package/dist/collection/components/radio-group/seki-radio-group.js +1 -1
- package/dist/collection/components/resizable/seki-resizable-handle.js +2 -2
- package/dist/collection/components/resizable/seki-resizable-panel-group.js +2 -2
- package/dist/collection/components/resizable/seki-resizable-panel.js +3 -3
- package/dist/collection/components/scroll-area/seki-scroll-area.js +1 -1
- package/dist/collection/components/scroll-area/seki-scroll-bar.css +5 -5
- package/dist/collection/components/scroll-area/seki-scroll-bar.js +5 -1
- package/dist/collection/components/select/seki-select.js +77 -30
- package/dist/collection/components/select-group/seki-select-group.js +1 -1
- package/dist/collection/components/select-option/seki-select-option.js +29 -13
- package/dist/collection/components/separator/seki-separator.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-close.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-description.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-footer.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-header.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-title.js +1 -1
- package/dist/collection/components/sheet/seki-sheet-trigger.js +1 -1
- package/dist/collection/components/sheet/seki-sheet.js +2 -2
- package/dist/collection/components/sidebar/seki-sidebar-content.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-footer.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-group-action.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-group-content.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-group-label.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-group.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-header.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-inset.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-action.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-badge.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-button.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-item.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-skeleton.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-sub-button.js +2 -2
- package/dist/collection/components/sidebar/seki-sidebar-menu-sub-item.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +17 -16
- package/dist/collection/components/sidebar/seki-sidebar-menu.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-provider.js +13 -4
- package/dist/collection/components/sidebar/seki-sidebar-rail.css +6 -6
- package/dist/collection/components/sidebar/seki-sidebar-rail.js +6 -1
- package/dist/collection/components/sidebar/seki-sidebar-separator.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar-trigger.js +1 -1
- package/dist/collection/components/sidebar/seki-sidebar.js +2 -2
- package/dist/collection/components/skeleton/seki-skeleton.js +1 -1
- package/dist/collection/components/slider/seki-slider.js +36 -2
- package/dist/collection/components/spinner/seki-spinner.js +2 -2
- package/dist/collection/components/table/seki-table-body.js +1 -1
- package/dist/collection/components/table/seki-table-caption.js +1 -1
- package/dist/collection/components/table/seki-table-footer.js +1 -1
- package/dist/collection/components/table/seki-table-header.js +1 -1
- package/dist/collection/components/table/seki-table-row.js +2 -2
- package/dist/collection/components/table/seki-table.js +1 -1
- package/dist/collection/components/tabs/seki-tabs-content.js +12 -10
- package/dist/collection/components/tabs/seki-tabs-list.js +2 -2
- package/dist/collection/components/tabs/seki-tabs-trigger.js +12 -10
- package/dist/collection/components/tabs/seki-tabs.js +2 -2
- package/dist/collection/components/textarea/seki-textarea.js +1 -1
- package/dist/collection/components/toggle/seki-toggle.js +1 -1
- package/dist/collection/components/toggle-group/seki-toggle-group.js +1 -1
- package/dist/collection/components/tooltip/seki-tooltip.js +16 -3
- package/dist/collection/utils/ancestor-attrs.js +43 -0
- package/dist/collection/utils/calendar/date-utils.js +12 -4
- package/dist/collection/utils/dialog/focus-trap.js +110 -21
- package/dist/collection/utils/positioning.js +61 -0
- package/dist/components/p-BgtjDG0h.js +45 -0
- package/dist/components/{p-tgCyk_Am.js → p-C87BOunl.js} +18 -3
- package/dist/components/{p-JT4r_mV0.js → p-CSf6znuo.js} +2 -2
- package/dist/components/p-D50kwTtW.js +160 -0
- package/dist/components/{p-DKbSEP4m.js → p-DFfIiiRa.js} +25 -8
- package/dist/components/p-DuJp0Kp6.js +63 -0
- package/dist/components/{p-XaV1Vzwc.js → p-N19kpeHI.js} +1 -1
- package/dist/components/seki-accordion-content.js +10 -8
- package/dist/components/seki-accordion-item.js +12 -10
- package/dist/components/seki-accordion-trigger.js +12 -10
- package/dist/components/seki-alert-dialog-action.js +1 -1
- package/dist/components/seki-alert-dialog-cancel.js +1 -1
- package/dist/components/seki-alert-dialog-content.js +23 -21
- package/dist/components/seki-alert-dialog.js +1 -1
- package/dist/components/seki-button.js +1 -1
- package/dist/components/seki-calendar.js +1 -1
- package/dist/components/seki-carousel-dots.js +3 -3
- package/dist/components/seki-carousel-next.js +3 -3
- package/dist/components/seki-carousel-previous.js +3 -3
- package/dist/components/seki-carousel.js +22 -4
- package/dist/components/seki-collapsible-content.js +9 -5
- package/dist/components/seki-combobox-item.js +9 -2
- package/dist/components/seki-command-group.js +9 -7
- package/dist/components/seki-context-menu-content.js +17 -15
- package/dist/components/seki-context-menu.js +11 -2
- package/dist/components/seki-data-table.js +19 -16
- package/dist/components/seki-date-picker.js +1 -1
- package/dist/components/seki-dialog-content.js +23 -21
- package/dist/components/seki-dialog-overlay.js +10 -8
- package/dist/components/seki-dialog.js +1 -1
- package/dist/components/seki-dropdown-menu-content.js +23 -68
- package/dist/components/seki-dropdown-menu-radio.js +11 -9
- package/dist/components/seki-dropdown-menu-trigger.js +11 -9
- package/dist/components/seki-dropdown-menu.js +11 -2
- package/dist/components/seki-marker-content.d.ts +11 -0
- package/dist/components/seki-marker-content.js +55 -0
- package/dist/components/seki-marker-icon.d.ts +11 -0
- package/dist/components/seki-marker-icon.js +43 -0
- package/dist/components/seki-marker.d.ts +11 -0
- package/dist/components/seki-marker.js +60 -0
- package/dist/components/seki-menubar-checkbox.js +2 -2
- package/dist/components/seki-menubar-content.js +24 -42
- package/dist/components/seki-menubar-group.js +1 -1
- package/dist/components/seki-menubar-item.js +2 -2
- package/dist/components/seki-menubar-menu.js +1 -1
- package/dist/components/seki-menubar-radio-group.js +1 -1
- package/dist/components/seki-menubar-radio.js +11 -9
- package/dist/components/seki-menubar-separator.js +1 -1
- package/dist/components/seki-menubar-shortcut.js +1 -1
- package/dist/components/seki-menubar-sub-trigger.js +2 -2
- package/dist/components/seki-menubar-sub.js +1 -1
- package/dist/components/seki-menubar-trigger.js +12 -10
- package/dist/components/seki-menubar.js +11 -2
- package/dist/components/seki-native-select.js +1 -1
- package/dist/components/seki-navigation-menu-content.js +8 -3
- package/dist/components/seki-navigation-menu-item.js +2 -2
- package/dist/components/seki-navigation-menu-link.js +8 -3
- package/dist/components/seki-navigation-menu-list.js +7 -2
- package/dist/components/seki-navigation-menu-trigger.js +3 -3
- package/dist/components/seki-navigation-menu-viewport.js +1 -1
- package/dist/components/seki-navigation-menu.js +6 -6
- package/dist/components/seki-pagination-content.js +1 -1
- package/dist/components/seki-pagination-ellipsis.js +1 -1
- package/dist/components/seki-pagination-item.js +1 -1
- package/dist/components/seki-pagination-link.js +2 -2
- package/dist/components/seki-pagination-next.js +2 -2
- package/dist/components/seki-pagination-previous.js +2 -2
- package/dist/components/seki-pagination.js +1 -1
- package/dist/components/seki-popover-close.js +1 -1
- package/dist/components/seki-popover-content.js +20 -65
- package/dist/components/seki-popover-trigger.js +1 -1
- package/dist/components/seki-popover.js +13 -3
- package/dist/components/seki-progress.js +1 -1
- package/dist/components/seki-radio-group-item.js +1 -1
- package/dist/components/seki-radio-group.js +1 -1
- package/dist/components/seki-resizable-handle.js +2 -2
- package/dist/components/seki-resizable-panel-group.js +2 -2
- package/dist/components/seki-resizable-panel.js +3 -3
- package/dist/components/seki-scroll-area.js +1 -1
- package/dist/components/seki-scroll-bar.js +6 -2
- package/dist/components/seki-select-group.js +1 -1
- package/dist/components/seki-select-option.js +29 -13
- package/dist/components/seki-select.js +79 -33
- package/dist/components/seki-separator.js +1 -1
- package/dist/components/seki-sheet-close.js +1 -1
- package/dist/components/seki-sheet-description.js +1 -1
- package/dist/components/seki-sheet-footer.js +1 -1
- package/dist/components/seki-sheet-header.js +1 -1
- package/dist/components/seki-sheet-title.js +1 -1
- package/dist/components/seki-sheet-trigger.js +1 -1
- package/dist/components/seki-sheet.js +2 -2
- package/dist/components/seki-sidebar-content.js +1 -1
- package/dist/components/seki-sidebar-footer.js +1 -1
- package/dist/components/seki-sidebar-group-action.js +1 -1
- package/dist/components/seki-sidebar-group-content.js +1 -1
- package/dist/components/seki-sidebar-group-label.js +1 -1
- package/dist/components/seki-sidebar-group.js +2 -2
- package/dist/components/seki-sidebar-header.js +1 -1
- package/dist/components/seki-sidebar-inset.js +1 -1
- package/dist/components/seki-sidebar-menu-action.js +1 -1
- package/dist/components/seki-sidebar-menu-badge.js +1 -1
- package/dist/components/seki-sidebar-menu-button.js +1 -1
- package/dist/components/seki-sidebar-menu-item.js +1 -1
- package/dist/components/seki-sidebar-menu-skeleton.js +1 -1
- package/dist/components/seki-sidebar-menu-sub-button.js +2 -2
- package/dist/components/seki-sidebar-menu-sub-item.js +1 -1
- package/dist/components/seki-sidebar-menu-sub.js +17 -16
- package/dist/components/seki-sidebar-menu.js +1 -1
- package/dist/components/seki-sidebar-provider.js +13 -4
- package/dist/components/seki-sidebar-rail.js +7 -2
- package/dist/components/seki-sidebar-separator.js +1 -1
- package/dist/components/seki-sidebar-trigger.js +1 -1
- package/dist/components/seki-sidebar.js +2 -2
- package/dist/components/seki-skeleton.js +1 -1
- package/dist/components/seki-slider.js +36 -4
- package/dist/components/seki-spinner.js +2 -2
- package/dist/components/seki-table-body.js +1 -1
- package/dist/components/seki-table-caption.js +1 -1
- package/dist/components/seki-table-footer.js +1 -1
- package/dist/components/seki-table-header.js +1 -1
- package/dist/components/seki-table-row.js +2 -2
- package/dist/components/seki-table.js +1 -1
- package/dist/components/seki-tabs-content.js +12 -10
- package/dist/components/seki-tabs-list.js +2 -2
- package/dist/components/seki-tabs-trigger.js +12 -10
- package/dist/components/seki-tabs.js +2 -2
- package/dist/components/seki-textarea.js +1 -1
- package/dist/components/seki-toggle-group.js +1 -1
- package/dist/components/seki-toggle.js +1 -1
- package/dist/components/seki-tooltip.js +16 -3
- package/dist/esm/ancestor-attrs-BgtjDG0h.js +45 -0
- package/dist/esm/focus-trap-D50kwTtW.js +160 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/positioning-DuJp0Kp6.js +63 -0
- package/dist/esm/seki-accordion-content.entry.js +10 -8
- package/dist/esm/seki-accordion-item.entry.js +12 -10
- package/dist/esm/seki-accordion-trigger.entry.js +12 -10
- package/dist/esm/seki-alert-dialog-action.entry.js +1 -1
- package/dist/esm/seki-alert-dialog-cancel.entry.js +1 -1
- package/dist/esm/seki-alert-dialog-content.entry.js +23 -21
- package/dist/esm/seki-button.entry.js +1 -1
- package/dist/esm/seki-calendar.entry.js +25 -8
- package/dist/esm/seki-carousel-dots.entry.js +3 -3
- package/dist/esm/seki-carousel-next.entry.js +3 -3
- package/dist/esm/seki-carousel-previous.entry.js +3 -3
- package/dist/esm/seki-carousel.entry.js +22 -4
- package/dist/esm/seki-collapsible-content.entry.js +9 -5
- package/dist/esm/seki-combobox-item.entry.js +9 -2
- package/dist/esm/seki-command-group.entry.js +9 -7
- package/dist/esm/seki-context-menu-content.entry.js +17 -15
- package/dist/esm/seki-context-menu.entry.js +11 -2
- package/dist/esm/seki-data-table.entry.js +19 -16
- package/dist/esm/seki-dialog-content.entry.js +23 -21
- package/dist/esm/seki-dialog-overlay.entry.js +10 -8
- package/dist/esm/seki-dialog.entry.js +15 -2
- package/dist/esm/seki-dropdown-menu-content.entry.js +23 -68
- package/dist/esm/seki-dropdown-menu-radio.entry.js +11 -9
- package/dist/esm/seki-dropdown-menu-trigger.entry.js +11 -9
- package/dist/esm/seki-dropdown-menu.entry.js +11 -2
- package/dist/esm/seki-marker-content.entry.js +33 -0
- package/dist/esm/seki-marker-icon.entry.js +23 -0
- package/dist/esm/seki-marker.entry.js +38 -0
- package/dist/esm/seki-menubar-checkbox.entry.js +2 -2
- package/dist/esm/seki-menubar-content.entry.js +24 -42
- package/dist/esm/seki-menubar-group.entry.js +1 -1
- package/dist/esm/seki-menubar-item.entry.js +2 -2
- package/dist/esm/seki-menubar-menu.entry.js +1 -1
- package/dist/esm/seki-menubar-radio-group.entry.js +1 -1
- package/dist/esm/seki-menubar-radio.entry.js +11 -9
- package/dist/esm/seki-menubar-separator.entry.js +1 -1
- package/dist/esm/seki-menubar-shortcut.entry.js +1 -1
- package/dist/esm/seki-menubar-sub-trigger.entry.js +2 -2
- package/dist/esm/seki-menubar-sub.entry.js +1 -1
- package/dist/esm/seki-menubar-trigger.entry.js +12 -10
- package/dist/esm/seki-menubar.entry.js +11 -2
- package/dist/esm/seki-native-select.entry.js +1 -1
- package/dist/esm/seki-navigation-menu-content.entry.js +8 -3
- package/dist/esm/seki-navigation-menu-item.entry.js +2 -2
- package/dist/esm/seki-navigation-menu-link.entry.js +8 -3
- package/dist/esm/seki-navigation-menu-list.entry.js +7 -2
- package/dist/esm/seki-navigation-menu-trigger.entry.js +3 -3
- package/dist/esm/seki-navigation-menu-viewport.entry.js +2 -2
- package/dist/esm/seki-navigation-menu.entry.js +5 -5
- package/dist/esm/seki-pagination-content.entry.js +1 -1
- package/dist/esm/seki-pagination-ellipsis.entry.js +1 -1
- package/dist/esm/seki-pagination-item.entry.js +1 -1
- package/dist/esm/seki-pagination-link.entry.js +2 -2
- package/dist/esm/seki-pagination-next.entry.js +2 -2
- package/dist/esm/seki-pagination-previous.entry.js +2 -2
- package/dist/esm/seki-pagination.entry.js +1 -1
- package/dist/esm/seki-popover-close.entry.js +1 -1
- package/dist/esm/seki-popover-content.entry.js +20 -65
- package/dist/esm/seki-popover-trigger.entry.js +1 -1
- package/dist/esm/seki-popover.entry.js +13 -3
- package/dist/esm/seki-progress.entry.js +1 -1
- package/dist/esm/seki-radio-group-item.entry.js +1 -1
- package/dist/esm/seki-radio-group.entry.js +1 -1
- package/dist/esm/seki-resizable-handle.entry.js +2 -2
- package/dist/esm/seki-resizable-panel-group.entry.js +2 -2
- package/dist/esm/seki-resizable-panel.entry.js +3 -3
- package/dist/esm/seki-scroll-area.entry.js +1 -1
- package/dist/esm/seki-scroll-bar.entry.js +6 -2
- package/dist/esm/seki-select-group.entry.js +1 -1
- package/dist/esm/seki-select-option.entry.js +29 -13
- package/dist/esm/seki-select.entry.js +81 -30
- package/dist/esm/seki-separator.entry.js +1 -1
- package/dist/esm/seki-sheet-close.entry.js +1 -1
- package/dist/esm/seki-sheet-description.entry.js +1 -1
- package/dist/esm/seki-sheet-footer.entry.js +1 -1
- package/dist/esm/seki-sheet-header.entry.js +1 -1
- package/dist/esm/seki-sheet-title.entry.js +1 -1
- package/dist/esm/seki-sheet-trigger.entry.js +1 -1
- package/dist/esm/seki-sheet.entry.js +2 -2
- package/dist/esm/seki-sidebar-content.entry.js +1 -1
- package/dist/esm/seki-sidebar-footer.entry.js +1 -1
- package/dist/esm/seki-sidebar-group-action.entry.js +1 -1
- package/dist/esm/seki-sidebar-group-content.entry.js +1 -1
- package/dist/esm/seki-sidebar-group-label.entry.js +1 -1
- package/dist/esm/seki-sidebar-group.entry.js +1 -1
- package/dist/esm/seki-sidebar-header.entry.js +1 -1
- package/dist/esm/seki-sidebar-inset.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-action.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-badge.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-button.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-item.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-skeleton.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-sub-button.entry.js +2 -2
- package/dist/esm/seki-sidebar-menu-sub-item.entry.js +1 -1
- package/dist/esm/seki-sidebar-menu-sub.entry.js +17 -16
- package/dist/esm/seki-sidebar-menu.entry.js +1 -1
- package/dist/esm/seki-sidebar-provider.entry.js +13 -4
- package/dist/esm/seki-sidebar-rail.entry.js +7 -2
- package/dist/esm/seki-sidebar-separator.entry.js +1 -1
- package/dist/esm/seki-sidebar-trigger.entry.js +1 -1
- package/dist/esm/seki-sidebar.entry.js +2 -2
- package/dist/esm/seki-skeleton.entry.js +1 -1
- package/dist/esm/seki-slider.entry.js +36 -1
- package/dist/esm/seki-spinner.entry.js +2 -2
- package/dist/esm/seki-table-body.entry.js +1 -1
- package/dist/esm/seki-table-caption.entry.js +1 -1
- package/dist/esm/seki-table-footer.entry.js +1 -1
- package/dist/esm/seki-table-header.entry.js +1 -1
- package/dist/esm/seki-table-row.entry.js +2 -2
- package/dist/esm/seki-table.entry.js +1 -1
- package/dist/esm/seki-tabs-content.entry.js +12 -10
- package/dist/esm/seki-tabs-list.entry.js +2 -2
- package/dist/esm/seki-tabs-trigger.entry.js +12 -10
- package/dist/esm/seki-tabs.entry.js +2 -2
- package/dist/esm/seki-textarea.entry.js +1 -1
- package/dist/esm/seki-toggle-group.entry.js +1 -1
- package/dist/esm/seki-toggle.entry.js +1 -1
- package/dist/esm/seki-tooltip.entry.js +16 -3
- package/dist/esm/sekiui.js +1 -1
- package/dist/sekiui/{p-9643e1d8.entry.js → p-021cb880.entry.js} +1 -1
- package/dist/sekiui/p-066335d1.entry.js +1 -0
- package/dist/sekiui/{p-91d532fa.entry.js → p-0814fbc8.entry.js} +1 -1
- package/dist/sekiui/{p-e5b6e371.entry.js → p-08692454.entry.js} +1 -1
- package/dist/sekiui/p-0ab43c7f.entry.js +1 -0
- package/dist/sekiui/{p-9f686359.entry.js → p-0bbfe090.entry.js} +1 -1
- package/dist/sekiui/{p-e8fb6780.entry.js → p-0f551417.entry.js} +1 -1
- package/dist/sekiui/{p-41f5488e.entry.js → p-106d6d5d.entry.js} +1 -1
- package/dist/sekiui/{p-b664489e.entry.js → p-10fb3df9.entry.js} +1 -1
- package/dist/sekiui/p-1322c161.entry.js +1 -0
- package/dist/sekiui/{p-c2084566.entry.js → p-166024da.entry.js} +1 -1
- package/dist/sekiui/{p-3059ebb5.entry.js → p-1aecea25.entry.js} +1 -1
- package/dist/sekiui/{p-d02efcf2.entry.js → p-1b8d2288.entry.js} +1 -1
- package/dist/sekiui/{p-ab3f43f4.entry.js → p-1db10de9.entry.js} +1 -1
- package/dist/sekiui/{p-08a65cc0.entry.js → p-1dfe4e59.entry.js} +1 -1
- package/dist/sekiui/{p-430350fa.entry.js → p-1efbd2cc.entry.js} +1 -1
- package/dist/sekiui/{p-9889afcd.entry.js → p-27ff2f8a.entry.js} +1 -1
- package/dist/sekiui/p-29403139.entry.js +1 -0
- package/dist/sekiui/{p-173c36ae.entry.js → p-2a9e0bbb.entry.js} +1 -1
- package/dist/sekiui/{p-e6631daa.entry.js → p-2cb4156a.entry.js} +1 -1
- package/dist/sekiui/{p-a60699ea.entry.js → p-2d2194ee.entry.js} +1 -1
- package/dist/sekiui/p-2de73747.entry.js +1 -0
- package/dist/sekiui/{p-5968bc31.entry.js → p-306728c1.entry.js} +1 -1
- package/dist/sekiui/{p-a5edaf79.entry.js → p-320bb24e.entry.js} +1 -1
- package/dist/sekiui/p-32569d7d.entry.js +1 -0
- package/dist/sekiui/p-367d9a7f.entry.js +1 -0
- package/dist/sekiui/p-3892c6af.entry.js +1 -0
- package/dist/sekiui/p-4267d0fc.entry.js +1 -0
- package/dist/sekiui/{p-f05f830a.entry.js → p-42e1f027.entry.js} +1 -1
- package/dist/sekiui/{p-894d0adc.entry.js → p-44aed379.entry.js} +1 -1
- package/dist/sekiui/p-49024e9e.entry.js +1 -0
- package/dist/sekiui/p-4a2843e3.entry.js +1 -0
- package/dist/sekiui/{p-0c2344d1.entry.js → p-4bf8c2fa.entry.js} +1 -1
- package/dist/sekiui/{p-b14ba603.entry.js → p-4cd3eb61.entry.js} +1 -1
- package/dist/sekiui/p-4ce03f18.entry.js +1 -0
- package/dist/sekiui/p-4e60d2d0.entry.js +1 -0
- package/dist/sekiui/p-5230348b.entry.js +1 -0
- package/dist/sekiui/{p-61bc6d26.entry.js → p-56ea6a48.entry.js} +1 -1
- package/dist/sekiui/{p-541f1dbb.entry.js → p-57e7685a.entry.js} +1 -1
- package/dist/sekiui/p-5bb3aeb5.entry.js +1 -0
- package/dist/sekiui/{p-3003d573.entry.js → p-5cd6cb04.entry.js} +1 -1
- package/dist/sekiui/{p-2c763d0e.entry.js → p-60c7a8af.entry.js} +1 -1
- package/dist/sekiui/{p-d88390d7.entry.js → p-62fd375a.entry.js} +1 -1
- package/dist/sekiui/{p-c3d1dc4c.entry.js → p-66f986d4.entry.js} +1 -1
- package/dist/sekiui/{p-e2ca8e81.entry.js → p-6767bd6c.entry.js} +1 -1
- package/dist/sekiui/{p-c1bf976b.entry.js → p-692a285f.entry.js} +1 -1
- package/dist/sekiui/{p-3a7b862a.entry.js → p-6ada6c09.entry.js} +1 -1
- package/dist/sekiui/{p-bd9d106a.entry.js → p-6c516e05.entry.js} +1 -1
- package/dist/sekiui/{p-85e0ad8d.entry.js → p-7110a631.entry.js} +1 -1
- package/dist/sekiui/{p-96073eae.entry.js → p-75d46bc7.entry.js} +1 -1
- package/dist/sekiui/{p-a4a5f457.entry.js → p-7657eae6.entry.js} +1 -1
- package/dist/sekiui/{p-6288801d.entry.js → p-7826af1f.entry.js} +1 -1
- package/dist/sekiui/p-7a264cf2.entry.js +1 -0
- package/dist/sekiui/p-7cd76bbb.entry.js +1 -0
- package/dist/sekiui/p-80b79cc0.entry.js +1 -0
- package/dist/sekiui/p-835f723b.entry.js +1 -0
- package/dist/sekiui/{p-f5c7a1fb.entry.js → p-84ac24a3.entry.js} +1 -1
- package/dist/sekiui/{p-c2e6ca4d.entry.js → p-87db7107.entry.js} +1 -1
- package/dist/sekiui/{p-8344563b.entry.js → p-8877c41b.entry.js} +1 -1
- package/dist/sekiui/{p-9dfa69b2.entry.js → p-88a81c85.entry.js} +1 -1
- package/dist/sekiui/{p-84a8301f.entry.js → p-8b96a324.entry.js} +1 -1
- package/dist/sekiui/{p-7bf379c4.entry.js → p-8c369957.entry.js} +1 -1
- package/dist/sekiui/p-8d888e3d.entry.js +1 -0
- package/dist/sekiui/{p-3e01b3c9.entry.js → p-92b0241d.entry.js} +1 -1
- package/dist/sekiui/{p-30aa2790.entry.js → p-932b9be7.entry.js} +1 -1
- package/dist/sekiui/{p-4e7809d4.entry.js → p-94257ae8.entry.js} +1 -1
- package/dist/sekiui/p-945f6c37.entry.js +1 -0
- package/dist/sekiui/{p-646de69e.entry.js → p-948403e2.entry.js} +1 -1
- package/dist/sekiui/{p-fc6d6133.entry.js → p-966b2358.entry.js} +1 -1
- package/dist/sekiui/{p-40458a33.entry.js → p-97490dae.entry.js} +1 -1
- package/dist/sekiui/{p-4c9ab985.entry.js → p-98e730ec.entry.js} +1 -1
- package/dist/sekiui/{p-5ccd6a77.entry.js → p-9a6332aa.entry.js} +1 -1
- package/dist/sekiui/{p-3e3b7706.entry.js → p-9aa6ff08.entry.js} +1 -1
- package/dist/sekiui/p-BgtjDG0h.js +1 -0
- package/dist/sekiui/p-D50kwTtW.js +1 -0
- package/dist/sekiui/p-DuJp0Kp6.js +1 -0
- package/dist/sekiui/{p-044401c6.entry.js → p-a22bbd5d.entry.js} +1 -1
- package/dist/sekiui/p-a29160bc.entry.js +1 -0
- package/dist/sekiui/p-a2e2356a.entry.js +1 -0
- package/dist/sekiui/p-a6ae5c4b.entry.js +1 -0
- package/dist/sekiui/{p-7b13dd19.entry.js → p-a7d64ac6.entry.js} +1 -1
- package/dist/sekiui/p-b195501f.entry.js +1 -0
- package/dist/sekiui/{p-73cbd067.entry.js → p-b2a60e91.entry.js} +1 -1
- package/dist/sekiui/{p-6d052d09.entry.js → p-b83366e6.entry.js} +1 -1
- package/dist/sekiui/{p-66b1c2ac.entry.js → p-ba77c385.entry.js} +1 -1
- package/dist/sekiui/{p-d5b616c5.entry.js → p-bac67676.entry.js} +1 -1
- package/dist/sekiui/{p-2716f5fc.entry.js → p-c5b5908d.entry.js} +1 -1
- package/dist/sekiui/{p-1e69968f.entry.js → p-c6740b25.entry.js} +1 -1
- package/dist/sekiui/{p-c39f1cc0.entry.js → p-c8098bcc.entry.js} +1 -1
- package/dist/sekiui/{p-41fae140.entry.js → p-cb657adb.entry.js} +1 -1
- package/dist/sekiui/{p-13cbff44.entry.js → p-ccaaddff.entry.js} +1 -1
- package/dist/sekiui/p-cf63f5a6.entry.js +1 -0
- package/dist/sekiui/{p-fa9a68be.entry.js → p-cfac56e7.entry.js} +1 -1
- package/dist/sekiui/{p-ddb4b545.entry.js → p-d0389d4f.entry.js} +1 -1
- package/dist/sekiui/p-d112d16c.entry.js +1 -0
- package/dist/sekiui/p-d1338ac4.entry.js +1 -0
- package/dist/sekiui/p-d1f6efac.entry.js +1 -0
- package/dist/sekiui/p-d4d88be4.entry.js +1 -0
- package/dist/sekiui/{p-0ec8b378.entry.js → p-d68f4cef.entry.js} +1 -1
- package/dist/sekiui/{p-d973c5cc.entry.js → p-d8bcb9e9.entry.js} +1 -1
- package/dist/sekiui/{p-877dec15.entry.js → p-d918ec38.entry.js} +1 -1
- package/dist/sekiui/{p-fd508d82.entry.js → p-da58d699.entry.js} +1 -1
- package/dist/sekiui/{p-a0578037.entry.js → p-df3d0679.entry.js} +1 -1
- package/dist/sekiui/p-e1e0e982.entry.js +1 -0
- package/dist/sekiui/{p-bf52433b.entry.js → p-e2401619.entry.js} +1 -1
- package/dist/sekiui/{p-6a8cc4b5.entry.js → p-e2e20093.entry.js} +1 -1
- package/dist/sekiui/{p-7ef4fb97.entry.js → p-e35b8b6e.entry.js} +1 -1
- package/dist/sekiui/{p-7592fd90.entry.js → p-e7b8973e.entry.js} +1 -1
- package/dist/sekiui/{p-5a853b23.entry.js → p-ea2a01dd.entry.js} +1 -1
- package/dist/sekiui/p-eaf626e5.entry.js +1 -0
- package/dist/sekiui/p-ed9034e4.entry.js +1 -0
- package/dist/sekiui/p-edd02332.entry.js +1 -0
- package/dist/sekiui/p-f07b430e.entry.js +1 -0
- package/dist/sekiui/{p-0a2b760b.entry.js → p-f0e4d07c.entry.js} +1 -1
- package/dist/sekiui/{p-b9db3fb8.entry.js → p-f161655d.entry.js} +1 -1
- package/dist/sekiui/{p-67fffcd0.entry.js → p-f2859501.entry.js} +1 -1
- package/dist/sekiui/p-f3c69359.entry.js +1 -0
- package/dist/sekiui/p-f587cd57.entry.js +1 -0
- package/dist/sekiui/{p-eb0440ec.entry.js → p-fa27d255.entry.js} +1 -1
- package/dist/sekiui/p-fde2877f.entry.js +1 -0
- package/dist/sekiui/{p-d7589960.entry.js → p-fe067937.entry.js} +1 -1
- package/dist/sekiui/sekiui.esm.js +1 -1
- package/dist/types/components/accordion/seki-accordion-content.d.ts +2 -0
- package/dist/types/components/accordion/seki-accordion-item.d.ts +2 -0
- package/dist/types/components/accordion/seki-accordion-trigger.d.ts +2 -0
- package/dist/types/components/alert-dialog/seki-alert-dialog-content.d.ts +2 -0
- package/dist/types/components/carousel/seki-carousel.d.ts +3 -0
- package/dist/types/components/collapsible/seki-collapsible-content.d.ts +2 -0
- package/dist/types/components/combobox-item/seki-combobox-item.d.ts +1 -0
- package/dist/types/components/command/seki-command-group.d.ts +2 -0
- package/dist/types/components/context-menu/seki-context-menu-content.d.ts +2 -0
- package/dist/types/components/context-menu/seki-context-menu.d.ts +1 -0
- package/dist/types/components/dialog/seki-dialog-content.d.ts +2 -0
- package/dist/types/components/dialog/seki-dialog-overlay.d.ts +2 -0
- package/dist/types/components/dialog/seki-dialog.d.ts +1 -0
- package/dist/types/components/dropdown-menu/seki-dropdown-menu-content.d.ts +2 -0
- package/dist/types/components/dropdown-menu/seki-dropdown-menu-radio.d.ts +2 -0
- package/dist/types/components/dropdown-menu/seki-dropdown-menu-trigger.d.ts +2 -0
- package/dist/types/components/dropdown-menu/seki-dropdown-menu.d.ts +1 -0
- package/dist/types/components/marker/seki-marker-content.d.ts +22 -0
- package/dist/types/components/marker/seki-marker-icon.d.ts +16 -0
- package/dist/types/components/marker/seki-marker.d.ts +32 -0
- package/dist/types/components/marker/seki-marker.interface.d.ts +7 -0
- package/dist/types/components/menubar/seki-menubar-content.d.ts +2 -0
- package/dist/types/components/menubar/seki-menubar-radio.d.ts +2 -0
- package/dist/types/components/menubar/seki-menubar-trigger.d.ts +2 -0
- package/dist/types/components/menubar/seki-menubar.d.ts +1 -0
- package/dist/types/components/navigation-menu/seki-navigation-menu-content.d.ts +1 -0
- package/dist/types/components/navigation-menu/seki-navigation-menu-link.d.ts +1 -0
- package/dist/types/components/navigation-menu/seki-navigation-menu-list.d.ts +1 -0
- package/dist/types/components/popover/seki-popover-content.d.ts +2 -0
- package/dist/types/components/popover/seki-popover.d.ts +1 -0
- package/dist/types/components/scroll-area/seki-scroll-bar.d.ts +1 -0
- package/dist/types/components/select/seki-select.d.ts +8 -1
- package/dist/types/components/select-option/seki-select-option.d.ts +3 -1
- package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +2 -0
- package/dist/types/components/sidebar/seki-sidebar-rail.d.ts +1 -0
- package/dist/types/components/slider/seki-slider.d.ts +9 -0
- package/dist/types/components/tabs/seki-tabs-content.d.ts +2 -0
- package/dist/types/components/tabs/seki-tabs-trigger.d.ts +2 -0
- package/dist/types/components/tooltip/seki-tooltip.d.ts +1 -0
- package/dist/types/components.d.ts +213 -32
- package/dist/types/utils/ancestor-attrs.d.ts +18 -0
- package/dist/types/utils/calendar/date-utils.d.ts +9 -0
- package/dist/types/utils/dialog/focus-trap.d.ts +18 -7
- package/dist/types/utils/positioning.d.ts +34 -0
- package/package.json +25 -2
- package/dist/cdn/p-CP7ZtKCE.js +0 -71
- package/dist/cjs/focus-trap-C7ukllRZ.js +0 -76
- package/dist/components/p-CP7ZtKCE.js +0 -71
- package/dist/esm/focus-trap-CP7ZtKCE.js +0 -71
- package/dist/sekiui/p-107bdce6.entry.js +0 -1
- package/dist/sekiui/p-24ea0d3d.entry.js +0 -1
- package/dist/sekiui/p-2548d7c3.entry.js +0 -1
- package/dist/sekiui/p-307a0de3.entry.js +0 -1
- package/dist/sekiui/p-397fb20e.entry.js +0 -1
- package/dist/sekiui/p-4617d9c5.entry.js +0 -1
- package/dist/sekiui/p-4896a497.entry.js +0 -1
- package/dist/sekiui/p-4a47ea19.entry.js +0 -1
- package/dist/sekiui/p-4b0ee9e5.entry.js +0 -1
- package/dist/sekiui/p-4c1b29de.entry.js +0 -1
- package/dist/sekiui/p-598f9c5b.entry.js +0 -1
- package/dist/sekiui/p-635ca5ab.entry.js +0 -1
- package/dist/sekiui/p-63b3a53c.entry.js +0 -1
- package/dist/sekiui/p-63ffc38a.entry.js +0 -1
- package/dist/sekiui/p-6416552b.entry.js +0 -1
- package/dist/sekiui/p-66b59a4c.entry.js +0 -1
- package/dist/sekiui/p-67aaf0f1.entry.js +0 -1
- package/dist/sekiui/p-70f149c3.entry.js +0 -1
- package/dist/sekiui/p-79062829.entry.js +0 -1
- package/dist/sekiui/p-7bf7ee5f.entry.js +0 -1
- package/dist/sekiui/p-8067a8f3.entry.js +0 -1
- package/dist/sekiui/p-884bde18.entry.js +0 -1
- package/dist/sekiui/p-95749f03.entry.js +0 -1
- package/dist/sekiui/p-9d5b807f.entry.js +0 -1
- package/dist/sekiui/p-CP7ZtKCE.js +0 -1
- package/dist/sekiui/p-a24ea8af.entry.js +0 -1
- package/dist/sekiui/p-ac321aeb.entry.js +0 -1
- package/dist/sekiui/p-adc3cfff.entry.js +0 -1
- package/dist/sekiui/p-b945fc54.entry.js +0 -1
- package/dist/sekiui/p-bdb2d304.entry.js +0 -1
- package/dist/sekiui/p-c0ce45c3.entry.js +0 -1
- package/dist/sekiui/p-d2951ab4.entry.js +0 -1
- package/dist/sekiui/p-db37e4d2.entry.js +0 -1
- package/dist/sekiui/p-e51d76de.entry.js +0 -1
- package/dist/sekiui/p-f0bb516d.entry.js +0 -1
- package/dist/sekiui/p-f82ead84.entry.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import { getCalendarDays, getWeekDays, getMonthLabel, getYearLabel, getPreviousMonth, getNextMonth, navigateDay, navigateWeek, isSameDay, startOfMonth, } from "../../utils/calendar/date-utils";
|
|
2
|
+
import { getCalendarDays, getWeekDays, getMonthLabel, getYearLabel, getPreviousMonth, getNextMonth, navigateDay, navigateWeek, isSameDay, isDateDisabled, startOfMonth, } from "../../utils/calendar/date-utils";
|
|
3
3
|
import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
4
4
|
/**
|
|
5
5
|
* seki-calendar: A calendar component for date selection
|
|
@@ -78,9 +78,11 @@ export class SekiCalendar {
|
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
80
|
this.handleKeyDown = (event) => {
|
|
81
|
-
|
|
81
|
+
// Anchor navigation on the currently focused day first so arrow keys move
|
|
82
|
+
// the focus freely instead of snapping back to the selected date each press.
|
|
83
|
+
const selectedDate = this.focusedDate ||
|
|
84
|
+
this.parseDate(this.selected) ||
|
|
82
85
|
this.parseDate(this.rangeFrom) ||
|
|
83
|
-
this.focusedDate ||
|
|
84
86
|
new Date();
|
|
85
87
|
let newDate = null;
|
|
86
88
|
switch (event.key) {
|
|
@@ -100,6 +102,13 @@ export class SekiCalendar {
|
|
|
100
102
|
case ' ':
|
|
101
103
|
if (this.focusedDate) {
|
|
102
104
|
event.preventDefault();
|
|
105
|
+
// Compute the real disabled state so keyboard selection honours
|
|
106
|
+
// min/max bounds and disabledDates, matching mouse behaviour.
|
|
107
|
+
const isDisabled = isDateDisabled(this.focusedDate, {
|
|
108
|
+
minDate: this.parseDate(this.minDate),
|
|
109
|
+
maxDate: this.parseDate(this.maxDate),
|
|
110
|
+
disabledDates: this.parseDateArray(this.disabledDates),
|
|
111
|
+
});
|
|
103
112
|
this.handleDayClick({
|
|
104
113
|
date: this.focusedDate,
|
|
105
114
|
dayOfMonth: this.focusedDate.getDate(),
|
|
@@ -109,7 +118,7 @@ export class SekiCalendar {
|
|
|
109
118
|
isInRange: false,
|
|
110
119
|
isRangeStart: false,
|
|
111
120
|
isRangeEnd: false,
|
|
112
|
-
isDisabled
|
|
121
|
+
isDisabled,
|
|
113
122
|
});
|
|
114
123
|
}
|
|
115
124
|
return;
|
|
@@ -207,7 +216,7 @@ export class SekiCalendar {
|
|
|
207
216
|
});
|
|
208
217
|
const monthLabel = getMonthLabel(this.displayMonth);
|
|
209
218
|
const yearLabel = getYearLabel(this.displayMonth);
|
|
210
|
-
return (h("div", { key: '
|
|
219
|
+
return (h("div", { key: '02f3870b94d5acf0966ee58f6df9c454debf0504', class: "seki-calendar", role: "application", "aria-label": "Calendar", onKeyDown: this.handleKeyDown }, h("div", { key: '79966e3b0ddbe472309a4a93925efb39a71f7553', class: "seki-calendar__header" }, h("button", { key: '0defe4096d1c5e42e49c25e2b932fd90468b2314', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to previous month", onClick: this.handlePreviousMonth }, h("svg", { key: '58496bf79b7acf41619d722013639ff3ad7620e4', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: 'f631919367d32c2f64d83237225c1405d287b7ec', d: "m15 18-6-6 6-6" }))), h("div", { key: '42ce8be0497074129c0cbc418962e8cd16aa421e', class: "seki-calendar__heading" }, h("span", { key: 'd8af2466b5593af31e1dfcac7aac63423ca89439', class: "seki-calendar__month" }, monthLabel), h("span", { key: '00d175575d2e077f4a748b15cddc2ad32a59f42d', class: "seki-calendar__year" }, yearLabel)), h("button", { key: 'd42e541f90f6f64a16dee27f0bd3b141cc51b09d', type: "button", class: "seki-calendar__nav-button", "aria-label": "Go to next month", onClick: this.handleNextMonth }, h("svg", { key: 'e22466278dc8b5c843423bc5e4d1919be87697ad', xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '7d45d7db43e300697412862dcb1a983ba7e2114e', d: "m9 18 6-6-6-6" })))), h("table", { key: '21a3537b31cc36f175f29f5187df536ef7f13d47', class: "seki-calendar__table", role: "grid", "aria-label": `${monthLabel} ${yearLabel}` }, h("thead", { key: '976bf05093602c5297a295614bab28980c9929fb' }, h("tr", { key: '362733daf798b535d94a03e1c30d52c75aeac421', class: "seki-calendar__weekdays" }, this.weekDays.map(day => (h("th", { class: "seki-calendar__weekday", scope: "col", "aria-label": day }, day.slice(0, 2)))))), h("tbody", { key: '2764ea48c5e32439655f1990702ba8eb5b6eb3e3' }, weeks.map((week, weekIndex) => (h("tr", { key: weekIndex, class: "seki-calendar__week" }, week.map((day, dayIndex) => (h("td", { key: dayIndex, class: "seki-calendar__cell", role: "gridcell", "aria-selected": day.isSelected || day.isRangeStart || day.isRangeEnd, "aria-disabled": day.isDisabled }, h("button", { type: "button", class: this.getDayClasses(day), tabIndex: day.isSelected || day.isToday ? 0 : -1, disabled: day.isDisabled, onClick: () => this.handleDayClick(day), "aria-label": day.date.toDateString() }, day.dayOfMonth)))))))))));
|
|
211
220
|
}
|
|
212
221
|
static get is() { return "seki-calendar"; }
|
|
213
222
|
static get encapsulation() { return "shadow"; }
|
|
@@ -73,10 +73,10 @@ export class SekiCarouselDots {
|
|
|
73
73
|
// Initial state
|
|
74
74
|
await this.updateState();
|
|
75
75
|
// Listen for slide changes
|
|
76
|
-
this.parentCarousel.addEventListener('
|
|
76
|
+
this.parentCarousel.addEventListener('sekiSlideChange', this.handleSlideChange);
|
|
77
77
|
this.unsubscribe = () => {
|
|
78
78
|
var _a;
|
|
79
|
-
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('
|
|
79
|
+
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiSlideChange', this.handleSlideChange);
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
82
|
async updateState() {
|
|
@@ -88,7 +88,7 @@ export class SekiCarouselDots {
|
|
|
88
88
|
}
|
|
89
89
|
render() {
|
|
90
90
|
const dots = Array.from({ length: this.scrollSnapCount }, (_, i) => i);
|
|
91
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: '177e32f3366f093b08997e67f61eafcd5149c543', class: "carousel-dots" }, h("div", { key: '2f2e62e001bb23f81d1d4c0d128da5681e4b3261', class: "carousel-dots__container", role: "tablist", "aria-label": "Carousel pagination" }, dots.map((index) => (h("button", { key: index, type: "button", class: {
|
|
92
92
|
'carousel-dots__dot': true,
|
|
93
93
|
'carousel-dots__dot--active': index === this.selectedIndex,
|
|
94
94
|
}, role: "tab", "aria-selected": index === this.selectedIndex ? 'true' : 'false', "aria-label": `Go to slide ${index + 1}`, tabindex: index === this.selectedIndex ? '0' : '-1', onClick: () => this.handleDotClick(index), onKeyDown: (e) => this.handleKeyDown(e, index) }, h("span", { class: "carousel-dots__dot-inner" })))))));
|
|
@@ -41,10 +41,10 @@ export class SekiCarouselNext {
|
|
|
41
41
|
// Initial state
|
|
42
42
|
await this.updateState();
|
|
43
43
|
// Listen for slide changes
|
|
44
|
-
this.parentCarousel.addEventListener('
|
|
44
|
+
this.parentCarousel.addEventListener('sekiSlideChange', this.handleSlideChange);
|
|
45
45
|
this.unsubscribe = () => {
|
|
46
46
|
var _a;
|
|
47
|
-
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('
|
|
47
|
+
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiSlideChange', this.handleSlideChange);
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
async updateState() {
|
|
@@ -54,7 +54,7 @@ export class SekiCarouselNext {
|
|
|
54
54
|
this.disabled = !context.canScrollNext;
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: '267ae3c889aa77f1b15a4f9b5e4aa3cf46dab2f7', class: { 'carousel-nav': true, 'carousel-nav--next': true } }, h("button", { key: '5f50fac8181f643368c256530ec28996f5f8a164', type: "button", class: "carousel-nav__button", disabled: this.disabled, "aria-label": "Next slide", onClick: this.handleClick }, h("svg", { key: '878dac075db363ec2337615a3ec747fc1fc4a9f5', class: "carousel-nav__icon", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polyline", { key: '55e835953c60b00c8974cef4d3d2258ab8385b95', points: "9 18 15 12 9 6" })))));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "seki-carousel-next"; }
|
|
60
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,10 +41,10 @@ export class SekiCarouselPrevious {
|
|
|
41
41
|
// Initial state
|
|
42
42
|
await this.updateState();
|
|
43
43
|
// Listen for slide changes
|
|
44
|
-
this.parentCarousel.addEventListener('
|
|
44
|
+
this.parentCarousel.addEventListener('sekiSlideChange', this.handleSlideChange);
|
|
45
45
|
this.unsubscribe = () => {
|
|
46
46
|
var _a;
|
|
47
|
-
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('
|
|
47
|
+
(_a = this.parentCarousel) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiSlideChange', this.handleSlideChange);
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
async updateState() {
|
|
@@ -54,7 +54,7 @@ export class SekiCarouselPrevious {
|
|
|
54
54
|
this.disabled = !context.canScrollPrev;
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: '65561be0cf5c06eb26257de6801bb46f8362b3ac', class: { 'carousel-nav': true, 'carousel-nav--prev': true } }, h("button", { key: '55c66c69c07f951d2a11d55b368b769712dc37a4', type: "button", class: "carousel-nav__button", disabled: this.disabled, "aria-label": "Previous slide", onClick: this.handleClick }, h("svg", { key: '46693095d37b5ac31662f836a12430afca78baaf', class: "carousel-nav__icon", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polyline", { key: '7409dd4ba65445aaa3018204522556d75b37ca5f', points: "15 18 9 12 15 6" })))));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "seki-carousel-previous"; }
|
|
60
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -44,6 +44,8 @@ export class SekiCarousel {
|
|
|
44
44
|
this.emblaApi = null;
|
|
45
45
|
this.autoplayInterval = null;
|
|
46
46
|
this.viewportEl = null;
|
|
47
|
+
this.initRafId = null;
|
|
48
|
+
this.initRetries = 0;
|
|
47
49
|
this.handleSelect = () => {
|
|
48
50
|
this.updateState();
|
|
49
51
|
this.slideChange.emit({
|
|
@@ -120,6 +122,10 @@ export class SekiCarousel {
|
|
|
120
122
|
var _a;
|
|
121
123
|
unregisterThemeSync(this.el);
|
|
122
124
|
this.stopAutoplay();
|
|
125
|
+
if (this.initRafId !== null) {
|
|
126
|
+
cancelAnimationFrame(this.initRafId);
|
|
127
|
+
this.initRafId = null;
|
|
128
|
+
}
|
|
123
129
|
(_a = this.emblaApi) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
124
130
|
}
|
|
125
131
|
// =========================================================================
|
|
@@ -188,10 +194,20 @@ export class SekiCarousel {
|
|
|
188
194
|
// Get the inner container (seki-carousel-content uses shadow: false)
|
|
189
195
|
const containerEl = this.viewportEl.querySelector('.carousel-content');
|
|
190
196
|
if (!containerEl) {
|
|
191
|
-
//
|
|
192
|
-
|
|
197
|
+
// Content child hasn't rendered yet. Retry next frame, but bail if the
|
|
198
|
+
// carousel was disconnected or we've exhausted the retry budget so this
|
|
199
|
+
// can never become an unbounded, uncancellable rAF loop.
|
|
200
|
+
if (!this.el.isConnected || this.initRetries >= SekiCarousel.MAX_INIT_RETRIES) {
|
|
201
|
+
this.initRafId = null;
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
this.initRetries++;
|
|
205
|
+
this.initRafId = requestAnimationFrame(() => this.initEmbla());
|
|
193
206
|
return;
|
|
194
207
|
}
|
|
208
|
+
// Container found — reset retry bookkeeping.
|
|
209
|
+
this.initRetries = 0;
|
|
210
|
+
this.initRafId = null;
|
|
195
211
|
const options = {
|
|
196
212
|
loop: this.loop,
|
|
197
213
|
startIndex: this.startIndex,
|
|
@@ -256,7 +272,7 @@ export class SekiCarousel {
|
|
|
256
272
|
// Render
|
|
257
273
|
// =========================================================================
|
|
258
274
|
render() {
|
|
259
|
-
return (h(Host, { key: '
|
|
275
|
+
return (h(Host, { key: 'af9fa29a7669fc4637111bb9efaf7c9f25c51603', class: "carousel", role: "region", "aria-roledescription": "carousel", "aria-label": this.ariaLabel, tabindex: "0", onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocusIn: this.handleFocusIn, onFocusOut: this.handleFocusOut, onKeyDown: this.handleKeyDown }, h("div", { key: 'a5ef6de3283f4e92496a5b0dd2ac34baf93ca22a', class: "carousel__container" }, h("slot", { key: 'ddbc533588e097e1dbb76f7867d1426a76cc55d9' })), h("div", { key: '393015fda7b8a47826f83408acb704f0f792964b', class: "carousel__live-region", "aria-live": "polite", "aria-atomic": "true" }, `Slide ${this.selectedIndex + 1} of ${this.scrollSnapCount}`)));
|
|
260
276
|
}
|
|
261
277
|
static get is() { return "seki-carousel"; }
|
|
262
278
|
static get encapsulation() { return "shadow"; }
|
|
@@ -446,7 +462,7 @@ export class SekiCarousel {
|
|
|
446
462
|
static get events() {
|
|
447
463
|
return [{
|
|
448
464
|
"method": "slideChange",
|
|
449
|
-
"name": "
|
|
465
|
+
"name": "sekiSlideChange",
|
|
450
466
|
"bubbles": true,
|
|
451
467
|
"cancelable": true,
|
|
452
468
|
"composed": true,
|
|
@@ -576,3 +592,5 @@ export class SekiCarousel {
|
|
|
576
592
|
}];
|
|
577
593
|
}
|
|
578
594
|
}
|
|
595
|
+
// ~1s of frames at 60fps; enough for child content to render without spinning forever.
|
|
596
|
+
SekiCarousel.MAX_INIT_RETRIES = 60;
|
|
@@ -9,6 +9,9 @@ import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
|
9
9
|
*/
|
|
10
10
|
export class SekiCollapsibleContent {
|
|
11
11
|
constructor() {
|
|
12
|
+
this.onCollapsibleOpenChange = () => {
|
|
13
|
+
this.syncWithContext();
|
|
14
|
+
};
|
|
12
15
|
this._isOpen = false;
|
|
13
16
|
this._isAnimating = false;
|
|
14
17
|
this._contentHeight = 0;
|
|
@@ -42,9 +45,8 @@ export class SekiCollapsibleContent {
|
|
|
42
45
|
attributeFilter: ['data-state'],
|
|
43
46
|
});
|
|
44
47
|
// Also listen for custom events
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
48
|
+
this.collapsibleEl = parent;
|
|
49
|
+
this.collapsibleEl.addEventListener('sekiOpenChange', this.onCollapsibleOpenChange);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
syncWithContext() {
|
|
@@ -70,10 +72,12 @@ export class SekiCollapsibleContent {
|
|
|
70
72
|
registerThemeSync(this.el);
|
|
71
73
|
}
|
|
72
74
|
disconnectedCallback() {
|
|
75
|
+
var _a;
|
|
73
76
|
unregisterThemeSync(this.el);
|
|
74
77
|
if (this.observer) {
|
|
75
78
|
this.observer.disconnect();
|
|
76
79
|
}
|
|
80
|
+
(_a = this.collapsibleEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiOpenChange', this.onCollapsibleOpenChange);
|
|
77
81
|
}
|
|
78
82
|
render() {
|
|
79
83
|
var _a, _b;
|
|
@@ -91,11 +95,11 @@ export class SekiCollapsibleContent {
|
|
|
91
95
|
else {
|
|
92
96
|
contentStyle.height = '0';
|
|
93
97
|
}
|
|
94
|
-
return (h(Host, { key: '
|
|
98
|
+
return (h(Host, { key: 'bd513b01e2255e613b63f87ae98dd0f6f4ef8492', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: '787691395dd95623156e80c817198c57b0275e24', ref: (el) => (this.contentRef = el), part: "content", id: contentId, role: "region", "aria-labelledby": triggerId, "aria-hidden": !this._isOpen, class: {
|
|
95
99
|
'collapsible-content': true,
|
|
96
100
|
'collapsible-content--open': this._isOpen,
|
|
97
101
|
'collapsible-content--animating': this._isAnimating,
|
|
98
|
-
}, style: contentStyle }, h("div", { key: '
|
|
102
|
+
}, style: contentStyle }, h("div", { key: '6d40421fe1a88b650f97b781e9e7f84d96c49b08', class: "collapsible-content-inner" }, h("slot", { key: '34c249f5514a6952ae2b8ec9250cdfe81bbbfa0f' })))));
|
|
99
103
|
}
|
|
100
104
|
static get is() { return "seki-collapsible-content"; }
|
|
101
105
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,6 +10,7 @@ export class SekiComboboxItem {
|
|
|
10
10
|
this.isSelected = false;
|
|
11
11
|
this.isFocused = false;
|
|
12
12
|
this.itemId = `combobox-item-${Math.random().toString(36).substr(2, 9)}`;
|
|
13
|
+
this.hasRegistered = false;
|
|
13
14
|
this.handleClick = () => {
|
|
14
15
|
if (this.disabled)
|
|
15
16
|
return;
|
|
@@ -39,6 +40,11 @@ export class SekiComboboxItem {
|
|
|
39
40
|
}
|
|
40
41
|
connectedCallback() {
|
|
41
42
|
registerThemeSync(this.el);
|
|
43
|
+
// Re-register on reconnect (after a DOM move). componentWillLoad fires only
|
|
44
|
+
// once; parent registration is idempotent so this never duplicates.
|
|
45
|
+
if (this.hasRegistered) {
|
|
46
|
+
this.registerWithContext();
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
disconnectedCallback() {
|
|
44
50
|
unregisterThemeSync(this.el);
|
|
@@ -61,6 +67,7 @@ export class SekiComboboxItem {
|
|
|
61
67
|
disabled: this.disabled,
|
|
62
68
|
};
|
|
63
69
|
ctx.registerItem(item);
|
|
70
|
+
this.hasRegistered = true;
|
|
64
71
|
}
|
|
65
72
|
}
|
|
66
73
|
updateState() {
|
|
@@ -71,12 +78,12 @@ export class SekiComboboxItem {
|
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
80
|
render() {
|
|
74
|
-
return (h(Host, { key: '
|
|
81
|
+
return (h(Host, { key: 'f319a878642420c67560fbf223202d61ad8fcbea' }, h("div", { key: '682f96162227071773c2450f63384d62b7e5c39e', id: this.itemId, class: {
|
|
75
82
|
'combobox-item': true,
|
|
76
83
|
'selected': this.isSelected,
|
|
77
84
|
'focused': this.isFocused,
|
|
78
85
|
'disabled': this.disabled,
|
|
79
|
-
}, role: "option", "aria-selected": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter }, h("slot", { key: '
|
|
86
|
+
}, role: "option", "aria-selected": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter }, h("slot", { key: 'f21ad109b3468aa420e57215ea4e3c3ea7152736' }), this.isSelected && (h("svg", { key: 'd7625ed734c9f90577793b9ed79182332dc7532b', class: "check-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("polyline", { key: '649d4c36fc7f251c77a9a4197a8583f9188a2b64', points: "20 6 9 17 4 12" }))))));
|
|
80
87
|
}
|
|
81
88
|
static get is() { return "seki-combobox-item"; }
|
|
82
89
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,6 +10,10 @@ import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
|
10
10
|
*/
|
|
11
11
|
export class SekiCommandGroup {
|
|
12
12
|
constructor() {
|
|
13
|
+
this.onCommandValueChange = () => {
|
|
14
|
+
// Small delay to allow items to update first
|
|
15
|
+
requestAnimationFrame(() => this.updateVisibility());
|
|
16
|
+
};
|
|
13
17
|
/**
|
|
14
18
|
* Show even when all items are filtered out
|
|
15
19
|
*/
|
|
@@ -35,19 +39,17 @@ export class SekiCommandGroup {
|
|
|
35
39
|
this._hasVisibleItems = items.some((item) => { var _a, _b; return (_b = (_a = item.isVisible) === null || _a === void 0 ? void 0 : _a.call(item)) !== null && _b !== void 0 ? _b : true; });
|
|
36
40
|
}
|
|
37
41
|
componentDidLoad() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// Small delay to allow items to update first
|
|
42
|
-
requestAnimationFrame(() => this.updateVisibility());
|
|
43
|
-
});
|
|
44
|
-
}
|
|
42
|
+
var _a, _b;
|
|
43
|
+
this.commandEl = (_a = this.el.closest('seki-command')) !== null && _a !== void 0 ? _a : undefined;
|
|
44
|
+
(_b = this.commandEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onCommandValueChange);
|
|
45
45
|
}
|
|
46
46
|
connectedCallback() {
|
|
47
47
|
registerThemeSync(this.el);
|
|
48
48
|
}
|
|
49
49
|
disconnectedCallback() {
|
|
50
|
+
var _a;
|
|
50
51
|
unregisterThemeSync(this.el);
|
|
52
|
+
(_a = this.commandEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onCommandValueChange);
|
|
51
53
|
}
|
|
52
54
|
render() {
|
|
53
55
|
const shouldShow = this.forceMount || this._hasVisibleItems;
|
|
@@ -9,6 +9,18 @@ import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
|
9
9
|
*/
|
|
10
10
|
export class SekiContextMenuContent {
|
|
11
11
|
constructor() {
|
|
12
|
+
this.onMenuOpenChange = () => {
|
|
13
|
+
var _a;
|
|
14
|
+
const context = this.getContext();
|
|
15
|
+
this._isOpen = (_a = context === null || context === void 0 ? void 0 : context.isOpen) !== null && _a !== void 0 ? _a : false;
|
|
16
|
+
if (this._isOpen) {
|
|
17
|
+
this._focusedIndex = 0;
|
|
18
|
+
requestAnimationFrame(() => {
|
|
19
|
+
this.updatePosition();
|
|
20
|
+
this.focusItem(0);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
};
|
|
12
24
|
/**
|
|
13
25
|
* Internal open state
|
|
14
26
|
*/
|
|
@@ -38,21 +50,9 @@ export class SekiContextMenuContent {
|
|
|
38
50
|
this._isOpen = (_a = context === null || context === void 0 ? void 0 : context.isOpen) !== null && _a !== void 0 ? _a : false;
|
|
39
51
|
}
|
|
40
52
|
componentDidLoad() {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var _a;
|
|
45
|
-
const context = this.getContext();
|
|
46
|
-
this._isOpen = (_a = context === null || context === void 0 ? void 0 : context.isOpen) !== null && _a !== void 0 ? _a : false;
|
|
47
|
-
if (this._isOpen) {
|
|
48
|
-
this._focusedIndex = 0;
|
|
49
|
-
requestAnimationFrame(() => {
|
|
50
|
-
this.updatePosition();
|
|
51
|
-
this.focusItem(0);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
53
|
+
var _a, _b;
|
|
54
|
+
this.menuEl = (_a = this.el.closest('seki-context-menu')) !== null && _a !== void 0 ? _a : undefined;
|
|
55
|
+
(_b = this.menuEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiOpenChange', this.onMenuOpenChange);
|
|
56
56
|
}
|
|
57
57
|
componentDidRender() {
|
|
58
58
|
if (this._isOpen) {
|
|
@@ -132,7 +132,9 @@ export class SekiContextMenuContent {
|
|
|
132
132
|
registerThemeSync(this.el);
|
|
133
133
|
}
|
|
134
134
|
disconnectedCallback() {
|
|
135
|
+
var _a;
|
|
135
136
|
unregisterThemeSync(this.el);
|
|
137
|
+
(_a = this.menuEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiOpenChange', this.onMenuOpenChange);
|
|
136
138
|
}
|
|
137
139
|
render() {
|
|
138
140
|
if (!this._isOpen) {
|
|
@@ -91,7 +91,11 @@ export class SekiContextMenu {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
setupClickOutside() {
|
|
94
|
-
|
|
94
|
+
// Clear any pending timeout/handler first so a rapid open→close→open cannot
|
|
95
|
+
// leave a leaked listener or double-schedule.
|
|
96
|
+
this.removeClickOutside();
|
|
97
|
+
this.clickOutsideTimeout = setTimeout(() => {
|
|
98
|
+
this.clickOutsideTimeout = undefined;
|
|
95
99
|
this.clickOutsideHandler = (e) => {
|
|
96
100
|
const path = e.composedPath();
|
|
97
101
|
if (!path.includes(this.el)) {
|
|
@@ -102,6 +106,11 @@ export class SekiContextMenu {
|
|
|
102
106
|
}, 0);
|
|
103
107
|
}
|
|
104
108
|
removeClickOutside() {
|
|
109
|
+
// Cancel a still-pending registration so it can't fire after close/disconnect.
|
|
110
|
+
if (this.clickOutsideTimeout !== undefined) {
|
|
111
|
+
clearTimeout(this.clickOutsideTimeout);
|
|
112
|
+
this.clickOutsideTimeout = undefined;
|
|
113
|
+
}
|
|
105
114
|
if (this.clickOutsideHandler) {
|
|
106
115
|
document.removeEventListener('click', this.clickOutsideHandler, { capture: true });
|
|
107
116
|
this.clickOutsideHandler = undefined;
|
|
@@ -135,7 +144,7 @@ export class SekiContextMenu {
|
|
|
135
144
|
this.removeClickOutside();
|
|
136
145
|
}
|
|
137
146
|
render() {
|
|
138
|
-
return (h(Host, { key: '
|
|
147
|
+
return (h(Host, { key: '5b5df7991cfde56635d4ace1d7f3728effac91fd', "data-state": this._isOpen ? 'open' : 'closed' }, h("div", { key: '0ab469157d55ed82e05711a8a6f8d972b74bc4a1', part: "context-menu", class: "context-menu" }, h("slot", { key: '1ffbe73e2be43d3f3434e1712c47481c3dc62500' }))));
|
|
139
148
|
}
|
|
140
149
|
static get is() { return "seki-context-menu"; }
|
|
141
150
|
static get encapsulation() { return "shadow"; }
|
|
@@ -771,9 +771,12 @@
|
|
|
771
771
|
--seki-table-row-bg: var(--seki-background);
|
|
772
772
|
--seki-table-row-bg-hover: var(--seki-muted);
|
|
773
773
|
--seki-table-row-bg-selected: hsl(210, 100%, 96%);
|
|
774
|
+
--seki-table-row-bg-selected-hover: hsl(210, 100%, 94%);
|
|
774
775
|
--seki-table-row-height: 48px;
|
|
775
776
|
--seki-table-cell-padding: 0 12px;
|
|
776
777
|
--seki-table-pagination-height: 52px;
|
|
778
|
+
/* Subtle focus ring shadow for the search input */
|
|
779
|
+
--seki-table-focus-ring: hsl(0, 0%, 3.9%, 0.1);
|
|
777
780
|
}
|
|
778
781
|
|
|
779
782
|
/* Screen reader only */
|
|
@@ -835,7 +838,7 @@
|
|
|
835
838
|
|
|
836
839
|
.data-table__search-input:focus {
|
|
837
840
|
border-color: var(--seki-ring);
|
|
838
|
-
box-shadow: 0 0 0 2px hsl(0, 0%, 3.9%, 0.1);
|
|
841
|
+
box-shadow: 0 0 0 2px var(--seki-table-focus-ring, hsl(0, 0%, 3.9%, 0.1));
|
|
839
842
|
}
|
|
840
843
|
|
|
841
844
|
.data-table__search-input::placeholder {
|
|
@@ -1252,10 +1255,7 @@
|
|
|
1252
1255
|
|
|
1253
1256
|
:host([data-theme='dark']) {
|
|
1254
1257
|
--seki-table-row-bg-selected: hsl(210, 50%, 20%);
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
:host([data-theme='dark']) .data-table__row--selected:hover {
|
|
1258
|
-
background: hsl(210, 50%, 25%);
|
|
1258
|
+
--seki-table-row-bg-selected-hover: hsl(210, 50%, 25%);
|
|
1259
1259
|
}
|
|
1260
1260
|
|
|
1261
1261
|
:host([data-theme='dark']) .data-table__th--sortable:hover,
|
|
@@ -210,6 +210,9 @@ export class SekiDataTable {
|
|
|
210
210
|
disconnectedCallback() {
|
|
211
211
|
unregisterThemeSync(this.el);
|
|
212
212
|
this.cleanupVirtualScroll();
|
|
213
|
+
// If the table is removed mid column-resize, tear down the document-level
|
|
214
|
+
// drag listeners so they don't leak and keep firing against a dead instance.
|
|
215
|
+
this.stopResize();
|
|
213
216
|
}
|
|
214
217
|
// =========================================================================
|
|
215
218
|
// Watchers
|
|
@@ -422,10 +425,10 @@ export class SekiDataTable {
|
|
|
422
425
|
const visibleColumns = this.getVisibleColumns();
|
|
423
426
|
const totalPages = this.getTotalPages();
|
|
424
427
|
const isLoading = this.state.loading || this.loading;
|
|
425
|
-
return (h(Host, { key: '
|
|
428
|
+
return (h(Host, { key: '28ceb869aa750654845f1ee4a8b4b8098104e6cf' }, h("div", { key: '9240e18c99fb45ce16c056081151b2f8bdc38132', class: "data-table" }, (this.searchable || this.columnPicker) && (h("div", { key: '31e765bf85d64761738c7aaea3c849050665453d', class: "data-table__toolbar" }, this.searchable && (h("div", { key: 'b708cb0661af64ced765e486a11fb64bd12c8696', class: "data-table__search" }, h("input", { key: 'd136d0e4974a28ac4171ef692fcd189570849937', type: "text", class: "data-table__search-input", placeholder: this.searchPlaceholder, value: this.searchInputValue, onInput: this.handleSearchInput }), this.searchInputValue && (h("button", { key: '7abf0715c25a2810122234bda065f0d52e71a314', type: "button", class: "data-table__search-clear", onClick: this.handleClearSearch, "aria-label": "Clear search" }, "\u00D7")))), h("div", { key: 'f12305514367874f1abc14124498fefe47faaf56', class: "data-table__toolbar-spacer" }), this.columnPicker && (h("button", { key: '90d9826e8bbe87d75c0bdb5a1125852249119eee', type: "button", class: "data-table__column-picker-btn" }, "Columns")))), h("div", { key: 'c563a0df32be909940680f39529117f9a60add23', class: {
|
|
426
429
|
'data-table__container': true,
|
|
427
430
|
'data-table__container--virtual': this.virtualScroll,
|
|
428
|
-
}, ref: el => (this.scrollContainerRef = el), onScroll: this.handleScroll }, h("table", { key: '
|
|
431
|
+
}, ref: el => (this.scrollContainerRef = el), onScroll: this.handleScroll }, h("table", { key: '9f12f68eeaf360a362f6b32a10909fc22e8454aa', class: "data-table__table", role: "grid" }, h("thead", { key: '05394e9be4a94bf648be63ab15d8cd8b60f92bae', class: "data-table__head" }, h("tr", { key: '91e475902cf1d0f84ccdb07e73efea557a505540', class: "data-table__header-row", role: "row" }, this.selectable && (h("th", { key: 'bd98052d239f76b81ec73f46b1c7727a4d56d11b', class: "data-table__th data-table__th--checkbox", role: "columnheader" }, h("input", { key: '081bb7a3b26ea6755eba7b05d8664f7cc3f39701', type: "checkbox", class: "data-table__checkbox", checked: this.isAllSelected(), indeterminate: this.isSomeSelected(), onChange: (e) => this.handleSelectAll(e.target.checked), "aria-label": "Select all rows" }))), this.expandable && (h("th", { key: '6be313fbacc1620a1803bc651655fc957d126a4a', class: "data-table__th data-table__th--expand", role: "columnheader" }, h("span", { key: 'a929282be3cf11031364886bde2db35538c863a6', class: "sr-only" }, "Expand"))), visibleColumns.map(column => {
|
|
429
432
|
var _a, _b, _c;
|
|
430
433
|
return (h("th", { key: column.field, class: {
|
|
431
434
|
'data-table__th': true,
|
|
@@ -441,7 +444,7 @@ export class SekiDataTable {
|
|
|
441
444
|
? '↑'
|
|
442
445
|
: '↓'
|
|
443
446
|
: '↕'))), column.resizable && (h("div", { class: "data-table__resize-handle", onMouseDown: (e) => this.startResize(e, column) }))));
|
|
444
|
-
}))), h("tbody", { key: '
|
|
447
|
+
}))), h("tbody", { key: 'ea90c0cffef68f675dbcdb784f6af4c4736b481d', class: "data-table__body", style: this.virtualScroll
|
|
445
448
|
? {
|
|
446
449
|
height: `${this.virtualScrollState.totalHeight}px`,
|
|
447
450
|
position: 'relative',
|
|
@@ -484,12 +487,12 @@ export class SekiDataTable {
|
|
|
484
487
|
/* Expanded content row */
|
|
485
488
|
isExpanded && this.renderExpandedRow && (h("tr", { key: `${rowKey}-expanded`, class: "data-table__row data-table__row--expanded-content" }, h("td", { class: "data-table__td data-table__td--expanded-content", colSpan: visibleColumns.length + (this.selectable ? 1 : 0) + (this.expandable ? 1 : 0) }, h("div", { class: "data-table__expanded-content", innerHTML: this.renderExpandedRow(row) })))),
|
|
486
489
|
];
|
|
487
|
-
})))), isLoading && this.state.rows.length > 0 && (h("div", { key: '
|
|
490
|
+
})))), isLoading && this.state.rows.length > 0 && (h("div", { key: '3048704d91f332dded81f17b86742bcc21724707', class: "data-table__loading-overlay" }, h("div", { key: '01b2096307846f9b789cbde6c8fcc0c249dd81d1', class: "data-table__loading" }, "Loading...")))), h("div", { key: 'd230704865900c12987432ffca17a54f7d8628fd', class: "data-table__pagination" }, h("div", { key: 'f88338d4c773e19d46ee577b22e6721a439a3806', class: "data-table__pagination-info" }, this.state.totalRows > 0
|
|
488
491
|
? `${this.state.page * this.state.pageSize + 1}-${Math.min((this.state.page + 1) * this.state.pageSize, this.state.totalRows)} of ${this.state.totalRows}`
|
|
489
|
-
: '0 results'), h("div", { key: '
|
|
492
|
+
: '0 results'), h("div", { key: 'd9fa5a331c4f874aace2f7858c8ec1936fd74262', class: "data-table__pagination-controls" }, h("select", { key: 'b447f82c03c920f429b3d1ca0a9e0a5484baaa6a', class: "data-table__page-size", onChange: (e) => {
|
|
490
493
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
491
494
|
this.handlePageSizeChange(Number(e.target.value));
|
|
492
|
-
} }, this.parsePageSizeOptions().map(size => (h("option", { key: size, value: size, selected: size === this.state.pageSize }, size, " / page")))), h("button", { key: '
|
|
495
|
+
} }, this.parsePageSizeOptions().map(size => (h("option", { key: size, value: size, selected: size === this.state.pageSize }, size, " / page")))), h("button", { key: '8079ffcc411b0925aa3cf1f69dbebe545acfbf62', type: "button", class: "data-table__page-btn", disabled: this.state.page === 0, onClick: () => this.handlePageChange(0), "aria-label": "First page" }, "\u00AB\u00AB"), h("button", { key: '8b29d574be3eac921126d3e1dd7a538f0e8eb3b1', type: "button", class: "data-table__page-btn", disabled: this.state.page === 0, onClick: () => this.handlePageChange(this.state.page - 1), "aria-label": "Previous page" }, "\u00AB"), h("span", { key: '3ae1c618a390d8ac90b59a2bfe942ec4f5da5673', class: "data-table__page-indicator" }, "Page ", this.state.page + 1, " of ", totalPages || 1), h("button", { key: 'f2ee6a74587fe35bc8e0d58da59ae4672b0e605f', type: "button", class: "data-table__page-btn", disabled: this.state.page >= totalPages - 1, onClick: () => this.handlePageChange(this.state.page + 1), "aria-label": "Next page" }, "\u00BB"), h("button", { key: '7671cdf0a05cc1fb492f05ddef0b5c94b34285d5', type: "button", class: "data-table__page-btn", disabled: this.state.page >= totalPages - 1, onClick: () => this.handlePageChange(totalPages - 1), "aria-label": "Last page" }, "\u00BB\u00BB"))))));
|
|
493
496
|
}
|
|
494
497
|
static get is() { return "seki-data-table"; }
|
|
495
498
|
static get encapsulation() { return "shadow"; }
|
|
@@ -864,7 +867,7 @@ export class SekiDataTable {
|
|
|
864
867
|
static get events() {
|
|
865
868
|
return [{
|
|
866
869
|
"method": "selectionChange",
|
|
867
|
-
"name": "
|
|
870
|
+
"name": "sekiSelectionChange",
|
|
868
871
|
"bubbles": true,
|
|
869
872
|
"cancelable": true,
|
|
870
873
|
"composed": true,
|
|
@@ -885,7 +888,7 @@ export class SekiDataTable {
|
|
|
885
888
|
}
|
|
886
889
|
}, {
|
|
887
890
|
"method": "rowExpand",
|
|
888
|
-
"name": "
|
|
891
|
+
"name": "sekiRowExpand",
|
|
889
892
|
"bubbles": true,
|
|
890
893
|
"cancelable": true,
|
|
891
894
|
"composed": true,
|
|
@@ -906,7 +909,7 @@ export class SekiDataTable {
|
|
|
906
909
|
}
|
|
907
910
|
}, {
|
|
908
911
|
"method": "rowClick",
|
|
909
|
-
"name": "
|
|
912
|
+
"name": "sekiRowClick",
|
|
910
913
|
"bubbles": true,
|
|
911
914
|
"cancelable": true,
|
|
912
915
|
"composed": true,
|
|
@@ -927,7 +930,7 @@ export class SekiDataTable {
|
|
|
927
930
|
}
|
|
928
931
|
}, {
|
|
929
932
|
"method": "columnResize",
|
|
930
|
-
"name": "
|
|
933
|
+
"name": "sekiColumnResize",
|
|
931
934
|
"bubbles": true,
|
|
932
935
|
"cancelable": true,
|
|
933
936
|
"composed": true,
|
|
@@ -948,7 +951,7 @@ export class SekiDataTable {
|
|
|
948
951
|
}
|
|
949
952
|
}, {
|
|
950
953
|
"method": "columnReorder",
|
|
951
|
-
"name": "
|
|
954
|
+
"name": "sekiColumnReorder",
|
|
952
955
|
"bubbles": true,
|
|
953
956
|
"cancelable": true,
|
|
954
957
|
"composed": true,
|
|
@@ -969,7 +972,7 @@ export class SekiDataTable {
|
|
|
969
972
|
}
|
|
970
973
|
}, {
|
|
971
974
|
"method": "columnsChange",
|
|
972
|
-
"name": "
|
|
975
|
+
"name": "sekiColumnsChange",
|
|
973
976
|
"bubbles": true,
|
|
974
977
|
"cancelable": true,
|
|
975
978
|
"composed": true,
|
|
@@ -990,7 +993,7 @@ export class SekiDataTable {
|
|
|
990
993
|
}
|
|
991
994
|
}, {
|
|
992
995
|
"method": "sortChange",
|
|
993
|
-
"name": "
|
|
996
|
+
"name": "sekiSortChange",
|
|
994
997
|
"bubbles": true,
|
|
995
998
|
"cancelable": true,
|
|
996
999
|
"composed": true,
|
|
@@ -1011,7 +1014,7 @@ export class SekiDataTable {
|
|
|
1011
1014
|
}
|
|
1012
1015
|
}, {
|
|
1013
1016
|
"method": "filterChange",
|
|
1014
|
-
"name": "
|
|
1017
|
+
"name": "sekiFilterChange",
|
|
1015
1018
|
"bubbles": true,
|
|
1016
1019
|
"cancelable": true,
|
|
1017
1020
|
"composed": true,
|
|
@@ -1032,7 +1035,7 @@ export class SekiDataTable {
|
|
|
1032
1035
|
}
|
|
1033
1036
|
}, {
|
|
1034
1037
|
"method": "pageChange",
|
|
1035
|
-
"name": "
|
|
1038
|
+
"name": "sekiPageChange",
|
|
1036
1039
|
"bubbles": true,
|
|
1037
1040
|
"cancelable": true,
|
|
1038
1041
|
"composed": true,
|