@sekiui/elements 0.0.81 → 0.0.83
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-o_nleCju.js → p-Cs0DgQw5.js} +25 -8
- package/dist/cdn/p-D50kwTtW.js +160 -0
- 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-menubar-content.js +24 -42
- package/dist/cdn/seki-menubar-radio.js +11 -9
- package/dist/cdn/seki-menubar-trigger.js +12 -10
- package/dist/cdn/seki-menubar.js +11 -2
- 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.js +5 -5
- package/dist/cdn/seki-popover-content.js +20 -65
- package/dist/cdn/seki-popover.js +13 -3
- package/dist/cdn/seki-scroll-bar.js +6 -2
- package/dist/cdn/seki-select-option.js +29 -13
- package/dist/cdn/seki-select.js +79 -33
- package/dist/cdn/seki-sidebar-menu-sub.js +17 -16
- package/dist/cdn/seki-sidebar-provider.js +13 -4
- package/dist/cdn/seki-sidebar-rail.js +7 -2
- 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-menubar-content.cjs.entry.js +24 -42
- package/dist/cjs/seki-menubar-radio.cjs.entry.js +11 -9
- 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-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.cjs.entry.js +5 -5
- package/dist/cjs/seki-popover-content.cjs.entry.js +20 -65
- package/dist/cjs/seki-popover.cjs.entry.js +13 -3
- package/dist/cjs/seki-scroll-bar.cjs.entry.js +6 -2
- 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-sidebar-menu-sub.cjs.entry.js +17 -16
- 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-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/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/menubar/seki-menubar-content.js +24 -42
- package/dist/collection/components/menubar/seki-menubar-radio.js +11 -9
- 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/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.js +5 -5
- package/dist/collection/components/popover/seki-popover-content.js +20 -65
- package/dist/collection/components/popover/seki-popover.js +13 -3
- 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-option/seki-select-option.js +29 -13
- package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +17 -16
- 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/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-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/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-menubar-content.js +24 -42
- package/dist/components/seki-menubar-radio.js +11 -9
- package/dist/components/seki-menubar-trigger.js +12 -10
- package/dist/components/seki-menubar.js +11 -2
- 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.js +5 -5
- package/dist/components/seki-popover-content.js +20 -65
- package/dist/components/seki-popover.js +13 -3
- package/dist/components/seki-scroll-bar.js +6 -2
- package/dist/components/seki-select-option.js +29 -13
- package/dist/components/seki-select.js +79 -33
- package/dist/components/seki-sidebar-menu-sub.js +17 -16
- package/dist/components/seki-sidebar-provider.js +13 -4
- package/dist/components/seki-sidebar-rail.js +7 -2
- 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-menubar-content.entry.js +24 -42
- package/dist/esm/seki-menubar-radio.entry.js +11 -9
- package/dist/esm/seki-menubar-trigger.entry.js +12 -10
- package/dist/esm/seki-menubar.entry.js +11 -2
- 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.entry.js +5 -5
- package/dist/esm/seki-popover-content.entry.js +20 -65
- package/dist/esm/seki-popover.entry.js +13 -3
- package/dist/esm/seki-scroll-bar.entry.js +6 -2
- package/dist/esm/seki-select-option.entry.js +29 -13
- package/dist/esm/seki-select.entry.js +81 -30
- package/dist/esm/seki-sidebar-menu-sub.entry.js +17 -16
- package/dist/esm/seki-sidebar-provider.entry.js +13 -4
- package/dist/esm/seki-sidebar-rail.entry.js +7 -2
- 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-40458a33.entry.js → p-01420aec.entry.js} +1 -1
- package/dist/sekiui/{p-9643e1d8.entry.js → p-021cb880.entry.js} +1 -1
- package/dist/sekiui/p-0ab43c7f.entry.js +1 -0
- package/dist/sekiui/p-14b6774a.entry.js +1 -0
- package/dist/sekiui/{p-d02efcf2.entry.js → p-1b8d2288.entry.js} +1 -1
- package/dist/sekiui/{p-67fffcd0.entry.js → p-1eb709fb.entry.js} +1 -1
- package/dist/sekiui/{p-24ea0d3d.entry.js → p-2de73747.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-40c40d4f.entry.js +1 -0
- package/dist/sekiui/p-4572d290.entry.js +1 -0
- package/dist/sekiui/p-49024e9e.entry.js +1 -0
- package/dist/sekiui/{p-0c2344d1.entry.js → p-4bf8c2fa.entry.js} +1 -1
- package/dist/sekiui/p-4e60d2d0.entry.js +1 -0
- package/dist/sekiui/{p-5a853b23.entry.js → p-51b11242.entry.js} +1 -1
- package/dist/sekiui/{p-541f1dbb.entry.js → p-57e7685a.entry.js} +1 -1
- package/dist/sekiui/p-677a1751.entry.js +1 -0
- package/dist/sekiui/{p-66b1c2ac.entry.js → p-695a4986.entry.js} +1 -1
- package/dist/sekiui/p-71f6da8b.entry.js +1 -0
- package/dist/sekiui/{p-96073eae.entry.js → p-75d46bc7.entry.js} +1 -1
- 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-851d1c50.entry.js +1 -0
- package/dist/sekiui/{p-b664489e.entry.js → p-887b559d.entry.js} +1 -1
- package/dist/sekiui/{p-7bf379c4.entry.js → p-8c369957.entry.js} +1 -1
- package/dist/sekiui/{p-41f5488e.entry.js → p-8c57364a.entry.js} +1 -1
- package/dist/sekiui/p-8d888e3d.entry.js +1 -0
- package/dist/sekiui/{p-4c1b29de.entry.js → p-92b0241d.entry.js} +1 -1
- package/dist/sekiui/{p-fc6d6133.entry.js → p-966b2358.entry.js} +1 -1
- package/dist/sekiui/p-9a00c59c.entry.js +1 -0
- package/dist/sekiui/{p-b14ba603.entry.js → p-9af630c4.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-a29160bc.entry.js +1 -0
- package/dist/sekiui/p-a6ae5c4b.entry.js +1 -0
- package/dist/sekiui/{p-c1bf976b.entry.js → p-b0d1e077.entry.js} +1 -1
- package/dist/sekiui/{p-73cbd067.entry.js → p-b2a60e91.entry.js} +1 -1
- package/dist/sekiui/{p-a5edaf79.entry.js → p-b43f9720.entry.js} +1 -1
- package/dist/sekiui/p-b5c242a0.entry.js +1 -0
- package/dist/sekiui/{p-d5b616c5.entry.js → p-bac67676.entry.js} +1 -1
- package/dist/sekiui/p-bc611a3d.entry.js +1 -0
- package/dist/sekiui/p-c004f467.entry.js +1 -0
- package/dist/sekiui/{p-41fae140.entry.js → p-cb657adb.entry.js} +1 -1
- package/dist/sekiui/{p-fa9a68be.entry.js → p-cfac56e7.entry.js} +1 -1
- package/dist/sekiui/{p-bf52433b.entry.js → p-d1a06cbc.entry.js} +1 -1
- package/dist/sekiui/p-d1f6efac.entry.js +1 -0
- package/dist/sekiui/{p-67aaf0f1.entry.js → p-d4ed816d.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-bd9d106a.entry.js → p-ee40575b.entry.js} +1 -1
- package/dist/sekiui/{p-8344563b.entry.js → p-ef3679b0.entry.js} +1 -1
- package/dist/sekiui/p-f07b430e.entry.js +1 -0
- package/dist/sekiui/p-f3c69359.entry.js +1 -0
- package/dist/sekiui/p-f53b37e2.entry.js +1 -0
- package/dist/sekiui/p-f587cd57.entry.js +1 -0
- package/dist/sekiui/p-f7e1fdf0.entry.js +1 -0
- package/dist/sekiui/p-fb1370a9.entry.js +1 -0
- package/dist/sekiui/p-fde2877f.entry.js +1 -0
- package/dist/sekiui/p-fed3a547.entry.js +1 -0
- 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/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 +32 -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-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-3e01b3c9.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-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-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-91d532fa.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-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
|
@@ -12,6 +12,12 @@ export class SekiSidebarMenuSub {
|
|
|
12
12
|
this.open = this._open;
|
|
13
13
|
this.openChange.emit(this._open);
|
|
14
14
|
};
|
|
15
|
+
this.onTriggerSlotChange = () => {
|
|
16
|
+
const assigned = this.triggerSlotEl.assignedElements();
|
|
17
|
+
assigned.forEach((el) => {
|
|
18
|
+
el.addEventListener('click', this.handleTriggerClick);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
15
21
|
}
|
|
16
22
|
componentWillLoad() {
|
|
17
23
|
this._open = this.open;
|
|
@@ -20,25 +26,20 @@ export class SekiSidebarMenuSub {
|
|
|
20
26
|
this._open = newValue;
|
|
21
27
|
}
|
|
22
28
|
componentDidLoad() {
|
|
23
|
-
var _a;
|
|
29
|
+
var _a, _b, _c;
|
|
24
30
|
// Attach click handler to trigger slot
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const assigned = triggerSlot.assignedElements();
|
|
29
|
-
assigned.forEach((el) => {
|
|
30
|
-
el.addEventListener('click', this.handleTriggerClick);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
31
|
+
this.triggerSlotEl =
|
|
32
|
+
(_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="trigger"]')) !== null && _b !== void 0 ? _b : undefined;
|
|
33
|
+
(_c = this.triggerSlotEl) === null || _c === void 0 ? void 0 : _c.addEventListener('slotchange', this.onTriggerSlotChange);
|
|
34
34
|
}
|
|
35
35
|
connectedCallback() {
|
|
36
36
|
registerThemeSync(this.el);
|
|
37
37
|
}
|
|
38
38
|
disconnectedCallback() {
|
|
39
|
-
var _a;
|
|
39
|
+
var _a, _b;
|
|
40
40
|
unregisterThemeSync(this.el);
|
|
41
|
-
|
|
41
|
+
(_a = this.triggerSlotEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.onTriggerSlotChange);
|
|
42
|
+
const triggerSlot = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('slot[name="trigger"]');
|
|
42
43
|
if (triggerSlot) {
|
|
43
44
|
const assigned = triggerSlot.assignedElements();
|
|
44
45
|
assigned.forEach((el) => {
|
|
@@ -47,13 +48,13 @@ export class SekiSidebarMenuSub {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
render() {
|
|
50
|
-
return (h(Host, { key: '
|
|
51
|
+
return (h(Host, { key: 'cfc8517ee451735d7df482bce419bf4b8758809b', "data-state": this._open ? 'open' : 'closed' }, h("div", { key: 'c54c56b417604228a33d6c20b7d0a5668217ac9c', class: "sidebar-menu-sub" }, h("div", { key: 'd188bb37057fb9c8f1c7022c6e3616a8a536a366', class: "sidebar-menu-sub-trigger" }, h("slot", { key: 'a0af649a8428b3744f760a0d3e15b893936f6428', name: "trigger" }), h("svg", { key: '1d4b3f2960aa5d8aa011488399a8e17c3c96954b', class: {
|
|
51
52
|
'sidebar-menu-sub-chevron': true,
|
|
52
53
|
'sidebar-menu-sub-chevron--open': this._open,
|
|
53
|
-
}, 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: '
|
|
54
|
+
}, 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: '27c7192615be62ac57aa112305723dfbbef9ec35', d: "m9 18 6-6-6-6" }))), h("div", { key: '9e0dc0f73504d5871c6b043aa64b81abd777d480', class: {
|
|
54
55
|
'sidebar-menu-sub-wrapper': true,
|
|
55
56
|
'sidebar-menu-sub-wrapper--open': this._open,
|
|
56
|
-
} }, h("ul", { key: '
|
|
57
|
+
} }, h("ul", { key: '3d9d9160dd061b02dd19b1c2be40ec96eaae4db9', class: "sidebar-menu-sub-content", role: "menu", "aria-hidden": !this._open }, h("slot", { key: '3f4bf1509047005dd4863849b04f680ffea2f232' }))))));
|
|
57
58
|
}
|
|
58
59
|
static get is() { return "seki-sidebar-menu-sub"; }
|
|
59
60
|
static get encapsulation() { return "shadow"; }
|
|
@@ -99,7 +100,7 @@ export class SekiSidebarMenuSub {
|
|
|
99
100
|
static get events() {
|
|
100
101
|
return [{
|
|
101
102
|
"method": "openChange",
|
|
102
|
-
"name": "
|
|
103
|
+
"name": "sekiOpenChange",
|
|
103
104
|
"bubbles": true,
|
|
104
105
|
"cancelable": true,
|
|
105
106
|
"composed": true,
|
|
@@ -34,11 +34,11 @@ export class SekiSidebarProvider {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
componentWillLoad() {
|
|
37
|
-
//
|
|
37
|
+
// Initial mobile detection (the 'change' listener is wired in
|
|
38
|
+
// connectedCallback so it survives a disconnect/reconnect cycle).
|
|
38
39
|
if (typeof window !== 'undefined') {
|
|
39
40
|
this.mediaQuery = window.matchMedia(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT}px)`);
|
|
40
41
|
this._isMobile = this.mediaQuery.matches;
|
|
41
|
-
this.mediaQuery.addEventListener('change', this.handleMediaChange);
|
|
42
42
|
}
|
|
43
43
|
// Check cookie for persisted state
|
|
44
44
|
if (this.open === undefined) {
|
|
@@ -56,6 +56,15 @@ export class SekiSidebarProvider {
|
|
|
56
56
|
}
|
|
57
57
|
connectedCallback() {
|
|
58
58
|
registerThemeSync(this.el);
|
|
59
|
+
// Register here (not componentWillLoad) so reconnecting the provider after a
|
|
60
|
+
// DOM move re-subscribes to viewport changes. componentWillLoad only fires once.
|
|
61
|
+
if (typeof window !== 'undefined') {
|
|
62
|
+
if (!this.mediaQuery) {
|
|
63
|
+
this.mediaQuery = window.matchMedia(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT}px)`);
|
|
64
|
+
}
|
|
65
|
+
this._isMobile = this.mediaQuery.matches;
|
|
66
|
+
this.mediaQuery.addEventListener('change', this.handleMediaChange);
|
|
67
|
+
}
|
|
59
68
|
}
|
|
60
69
|
disconnectedCallback() {
|
|
61
70
|
unregisterThemeSync(this.el);
|
|
@@ -136,7 +145,7 @@ export class SekiSidebarProvider {
|
|
|
136
145
|
'--sidebar-width-icon': this.sidebarWidthIcon,
|
|
137
146
|
'--sidebar-width-mobile': this.sidebarWidthMobile,
|
|
138
147
|
};
|
|
139
|
-
return (h(Host, { key: '
|
|
148
|
+
return (h(Host, { key: '3906bd78fefe61bb18d1c2f1e6fd9db4c65185ec', "data-state": this._open ? 'open' : 'closed', "data-mobile": this._isMobile ? 'true' : 'false', "data-mobile-open": this._openMobile ? 'true' : 'false', style: style }, h("slot", { key: 'd27384bbfb9863acc478f500f8ee6ac31db9a48b' })));
|
|
140
149
|
}
|
|
141
150
|
static get is() { return "seki-sidebar-provider"; }
|
|
142
151
|
static get encapsulation() { return "shadow"; }
|
|
@@ -263,7 +272,7 @@ export class SekiSidebarProvider {
|
|
|
263
272
|
static get events() {
|
|
264
273
|
return [{
|
|
265
274
|
"method": "openChange",
|
|
266
|
-
"name": "
|
|
275
|
+
"name": "sekiOpenChange",
|
|
267
276
|
"bubbles": true,
|
|
268
277
|
"cancelable": true,
|
|
269
278
|
"composed": true,
|
|
@@ -773,7 +773,7 @@
|
|
|
773
773
|
}
|
|
774
774
|
|
|
775
775
|
/* Show rail when sidebar is in icon mode */
|
|
776
|
-
:host
|
|
776
|
+
:host([data-icon-mode='true']) {
|
|
777
777
|
display: block;
|
|
778
778
|
}
|
|
779
779
|
|
|
@@ -790,11 +790,11 @@
|
|
|
790
790
|
}
|
|
791
791
|
|
|
792
792
|
/* Position based on side */
|
|
793
|
-
:host
|
|
793
|
+
:host([data-side='left']) .sidebar-rail {
|
|
794
794
|
right: -0.5rem;
|
|
795
795
|
}
|
|
796
796
|
|
|
797
|
-
:host
|
|
797
|
+
:host([data-side='right']) .sidebar-rail {
|
|
798
798
|
left: -0.5rem;
|
|
799
799
|
}
|
|
800
800
|
|
|
@@ -809,12 +809,12 @@
|
|
|
809
809
|
transition: background-color 200ms ease-in-out;
|
|
810
810
|
}
|
|
811
811
|
|
|
812
|
-
:host
|
|
812
|
+
:host([data-side='left']) .sidebar-rail::after {
|
|
813
813
|
left: 50%;
|
|
814
814
|
transform: translateX(-50%);
|
|
815
815
|
}
|
|
816
816
|
|
|
817
|
-
:host
|
|
817
|
+
:host([data-side='right']) .sidebar-rail::after {
|
|
818
818
|
right: 50%;
|
|
819
819
|
transform: translateX(50%);
|
|
820
820
|
}
|
|
@@ -825,6 +825,6 @@
|
|
|
825
825
|
}
|
|
826
826
|
|
|
827
827
|
/* Group hover for parent sidebar */
|
|
828
|
-
:host
|
|
828
|
+
:host([data-parent-hover]) .sidebar-rail::after {
|
|
829
829
|
background-color: var(--sidebar-border);
|
|
830
830
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
3
|
+
import { mirrorAncestorAttributes } from "../../utils/ancestor-attrs";
|
|
3
4
|
export class SekiSidebarRail {
|
|
4
5
|
constructor() {
|
|
5
6
|
this.handleClick = async () => {
|
|
@@ -11,12 +12,16 @@ export class SekiSidebarRail {
|
|
|
11
12
|
}
|
|
12
13
|
connectedCallback() {
|
|
13
14
|
registerThemeSync(this.el);
|
|
15
|
+
this.attrMirror = mirrorAncestorAttributes(this.el, 'seki-sidebar', ['data-side', 'data-icon-mode'], { trackHover: true });
|
|
14
16
|
}
|
|
15
17
|
disconnectedCallback() {
|
|
18
|
+
var _a;
|
|
16
19
|
unregisterThemeSync(this.el);
|
|
20
|
+
(_a = this.attrMirror) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
21
|
+
this.attrMirror = undefined;
|
|
17
22
|
}
|
|
18
23
|
render() {
|
|
19
|
-
return (h(Host, { key: '
|
|
24
|
+
return (h(Host, { key: '7e27eadd6d7e90729194c20f441e50aea8c3a387' }, h("button", { key: '6e9a3dca04cd3fa783256080369eed5776a5b1fe', class: "sidebar-rail", type: "button", tabIndex: -1, "aria-hidden": "true", onClick: this.handleClick, title: "Toggle sidebar" }, h("slot", { key: '7c9c76ba7f45b95079bc1f59b6d307107ba1aa7a' }))));
|
|
20
25
|
}
|
|
21
26
|
static get is() { return "seki-sidebar-rail"; }
|
|
22
27
|
static get encapsulation() { return "shadow"; }
|
|
@@ -118,6 +118,28 @@ export class SekiSlider {
|
|
|
118
118
|
else {
|
|
119
119
|
this.internalValue = this.clampValue(this.min);
|
|
120
120
|
}
|
|
121
|
+
this.syncFormValue();
|
|
122
|
+
}
|
|
123
|
+
handleValueChange() {
|
|
124
|
+
this.syncFormValue();
|
|
125
|
+
}
|
|
126
|
+
handleDisabledChange() {
|
|
127
|
+
this.syncFormValue();
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Mirror the current value into the associated form via ElementInternals.
|
|
131
|
+
* Replaces the previous hidden input, which lived inside the shadow root and
|
|
132
|
+
* therefore never participated in form submission.
|
|
133
|
+
*/
|
|
134
|
+
syncFormValue() {
|
|
135
|
+
if (!this.internals || typeof this.internals.setFormValue !== 'function') {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (this.disabled || !this.name) {
|
|
139
|
+
this.internals.setFormValue(null);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
this.internals.setFormValue(this.currentValue.toString());
|
|
121
143
|
}
|
|
122
144
|
/**
|
|
123
145
|
* Get current value (controlled vs uncontrolled), clamped to valid range
|
|
@@ -176,6 +198,7 @@ export class SekiSlider {
|
|
|
176
198
|
// Update internal state only in uncontrolled mode
|
|
177
199
|
if (this.value === undefined) {
|
|
178
200
|
this.internalValue = clampedValue;
|
|
201
|
+
this.syncFormValue();
|
|
179
202
|
}
|
|
180
203
|
// Emit input event for real-time updates
|
|
181
204
|
if (isInput) {
|
|
@@ -255,10 +278,11 @@ export class SekiSlider {
|
|
|
255
278
|
const thumbStyle = isVertical
|
|
256
279
|
? { bottom: `${percentage}%` }
|
|
257
280
|
: { left: `${percentage}%` };
|
|
258
|
-
return (h(Host, { key: '
|
|
281
|
+
return (h(Host, { key: 'c0a8db77af3b3d03eda1c5d0f79c560c742b8e30', "data-disabled": this.disabled ? '' : null, "data-orientation": this.orientation }, h("div", { key: '7c53387ee0378ab229fdcd76300b87da024d3bdb', class: "slider", part: "slider", ref: el => this.trackEl = el, onMouseDown: this.handleMouseDown, onTouchStart: this.handleTouchStart }, h("div", { key: '93208478d531f0a2107ee7d8cf7981337f8110e8', class: "track", part: "track" }, h("div", { key: '524fa86c58a0af064210934dfca66d376c080298', class: "range", part: "range", style: rangeStyle })), h("div", { key: 'efc21f2aaf9addcd7b9b3bd0a76d4b4a2bffbfd3', class: "thumb", part: "thumb", ref: el => this.thumbEl = el, style: thumbStyle, role: "slider", tabindex: this.disabled ? -1 : 0, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.currentValue, "aria-orientation": this.orientation, "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": this.ariaLabel || undefined, "aria-describedby": this.ariaDescribedby || undefined }))));
|
|
259
282
|
}
|
|
260
283
|
static get is() { return "seki-slider"; }
|
|
261
284
|
static get encapsulation() { return "shadow"; }
|
|
285
|
+
static get formAssociated() { return true; }
|
|
262
286
|
static get originalStyleUrls() {
|
|
263
287
|
return {
|
|
264
288
|
"$": ["seki-slider.css"]
|
|
@@ -425,7 +449,7 @@ export class SekiSlider {
|
|
|
425
449
|
},
|
|
426
450
|
"getter": false,
|
|
427
451
|
"setter": false,
|
|
428
|
-
"reflect":
|
|
452
|
+
"reflect": true,
|
|
429
453
|
"attribute": "name"
|
|
430
454
|
},
|
|
431
455
|
"ariaLabel": {
|
|
@@ -507,6 +531,15 @@ export class SekiSlider {
|
|
|
507
531
|
}];
|
|
508
532
|
}
|
|
509
533
|
static get elementRef() { return "el"; }
|
|
534
|
+
static get watchers() {
|
|
535
|
+
return [{
|
|
536
|
+
"propName": "value",
|
|
537
|
+
"methodName": "handleValueChange"
|
|
538
|
+
}, {
|
|
539
|
+
"propName": "disabled",
|
|
540
|
+
"methodName": "handleDisabledChange"
|
|
541
|
+
}];
|
|
542
|
+
}
|
|
510
543
|
static get listeners() {
|
|
511
544
|
return [{
|
|
512
545
|
"name": "keydown",
|
|
@@ -516,4 +549,5 @@ export class SekiSlider {
|
|
|
516
549
|
"passive": false
|
|
517
550
|
}];
|
|
518
551
|
}
|
|
552
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
519
553
|
}
|
|
@@ -37,11 +37,11 @@ export class SekiSpinner {
|
|
|
37
37
|
unregisterThemeSync(this.el);
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
return (h(Host, { key: '
|
|
40
|
+
return (h(Host, { key: '3ed4fb205f9ad85dcb301b2f127b578854e51476' }, h("div", { key: 'aa3264d13b0c2a75f129254a168602f8f6c397a7', part: "spinner", class: {
|
|
41
41
|
'spinner': true,
|
|
42
42
|
[`spinner--${this.size}`]: true,
|
|
43
43
|
[`spinner--${this.color}`]: true,
|
|
44
|
-
}, role: "status", "aria-label": this.ariaLabel }, h("svg", { key: '
|
|
44
|
+
}, role: "status", "aria-label": this.ariaLabel }, h("svg", { key: '3504e11217fa0e522fe9c5de4c85678474290fdc', class: "spinner__svg", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { key: '23d5ad8049aaa93629dff2b3a9bd04eedab23667', class: "spinner__track", cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "3" }), h("circle", { key: '449ab4e9cc7b90af6a8abf8cd578c1260798dc77', class: "spinner__circle", cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "3", "stroke-linecap": "round" })), h("span", { key: '51ccf2a55133d787ffb9c08dceb2c2e7531f9755', class: "spinner__sr-only" }, this.ariaLabel))));
|
|
45
45
|
}
|
|
46
46
|
static get is() { return "seki-spinner"; }
|
|
47
47
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class SekiTableBody {
|
|
|
13
13
|
unregisterThemeSync(this.el);
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h("tbody", { key: '
|
|
16
|
+
return (h("tbody", { key: 'f06ae0fda02bee6dfd63ac8825ddb81719a4c48e', class: "seki-table-body" }, h("slot", { key: 'afd90d40e92075cd37a29b62c99c676215394c28' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "seki-table-body"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class SekiTableCaption {
|
|
|
13
13
|
unregisterThemeSync(this.el);
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h("caption", { key: '
|
|
16
|
+
return (h("caption", { key: '6e04d6a02e08ba8debdd91890c5c2ffa365b6ea9', class: "seki-table-caption" }, h("slot", { key: '484c2e2c1e9e44da3d62c98ecbb0e42758fbb6e7' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "seki-table-caption"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class SekiTableFooter {
|
|
|
13
13
|
unregisterThemeSync(this.el);
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h("tfoot", { key: '
|
|
16
|
+
return (h("tfoot", { key: '21c50f2eec1bb5eb1df86f1fd3e4ec65981ab608', class: "seki-table-footer" }, h("slot", { key: '4de7cbd87ca2250042fa42992318af70704dd668' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "seki-table-footer"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class SekiTableHeader {
|
|
|
13
13
|
unregisterThemeSync(this.el);
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h("thead", { key: '
|
|
16
|
+
return (h("thead", { key: 'fef563e1606b17a91ce686196addf9570e258a11', class: "seki-table-header" }, h("slot", { key: '1b57250f717282a9b5342bb44d8074a871da75db' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "seki-table-header"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,10 +19,10 @@ export class SekiTableRow {
|
|
|
19
19
|
unregisterThemeSync(this.el);
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return (h("tr", { key: '
|
|
22
|
+
return (h("tr", { key: '38970f379cb5701bb4bc65c5136375cbb2e3fc15', class: {
|
|
23
23
|
'seki-table-row': true,
|
|
24
24
|
'seki-table-row--selected': this.selected,
|
|
25
|
-
}, "data-state": this.selected ? 'selected' : undefined }, h("slot", { key: '
|
|
25
|
+
}, "data-state": this.selected ? 'selected' : undefined }, h("slot", { key: 'af31af867841f0c129a8ae15863703b2d5e28dcc' })));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "seki-table-row"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -26,7 +26,7 @@ export class SekiTable {
|
|
|
26
26
|
unregisterThemeSync(this.el);
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
|
-
return (h("div", { key: '
|
|
29
|
+
return (h("div", { key: 'd70c0835e8f47912319255f805041d34f4554ed9', class: "seki-table-container" }, h("table", { key: 'a686da7245cbf7bc97f2bf6c96e0f7b3f04513fc', class: "seki-table", role: "table", "aria-label": this.ariaLabel }, h("slot", { key: '867c48b3a836259277b9d6f54fd17685bda5bccb' }))));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "seki-table"; }
|
|
32
32
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,6 +10,11 @@ import { registerThemeSync, unregisterThemeSync } from "../../utils/theme-sync";
|
|
|
10
10
|
export class SekiTabsContent {
|
|
11
11
|
constructor() {
|
|
12
12
|
this._isSelected = false;
|
|
13
|
+
this.onTabsValueChange = () => {
|
|
14
|
+
var _a;
|
|
15
|
+
const context = this.getContext();
|
|
16
|
+
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
17
|
+
};
|
|
13
18
|
this.instanceId = ++SekiTabsContent.instanceCount;
|
|
14
19
|
}
|
|
15
20
|
getContext() {
|
|
@@ -29,28 +34,25 @@ export class SekiTabsContent {
|
|
|
29
34
|
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
30
35
|
}
|
|
31
36
|
componentDidLoad() {
|
|
37
|
+
var _a, _b;
|
|
32
38
|
// Listen for value changes from parent tabs
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
tabs.addEventListener('sekiValueChange', () => {
|
|
36
|
-
var _a;
|
|
37
|
-
const context = this.getContext();
|
|
38
|
-
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
39
|
+
this.tabsEl = (_a = this.el.closest('seki-tabs')) !== null && _a !== void 0 ? _a : undefined;
|
|
40
|
+
(_b = this.tabsEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onTabsValueChange);
|
|
41
41
|
}
|
|
42
42
|
connectedCallback() {
|
|
43
43
|
registerThemeSync(this.el);
|
|
44
44
|
}
|
|
45
45
|
disconnectedCallback() {
|
|
46
|
+
var _a;
|
|
46
47
|
unregisterThemeSync(this.el);
|
|
48
|
+
(_a = this.tabsEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onTabsValueChange);
|
|
47
49
|
}
|
|
48
50
|
render() {
|
|
49
51
|
const isSelected = this._isSelected;
|
|
50
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: '7af297cd54e8bea988a1c9f070993150350d9703', "data-state": isSelected ? 'active' : 'inactive', role: "tabpanel", id: this.panelId, "aria-labelledby": this.triggerId, hidden: !isSelected, tabindex: isSelected ? 0 : -1 }, h("div", { key: '08c864b57ccd71d87470810c9b6cb7599143abae', part: "content", class: {
|
|
51
53
|
'tabs-content': true,
|
|
52
54
|
'tabs-content--active': isSelected,
|
|
53
|
-
} }, h("slot", { key: '
|
|
55
|
+
} }, h("slot", { key: '2d19c0f1bf8fbef4ce6f8ab374f921f4f0fa4ac1' }))));
|
|
54
56
|
}
|
|
55
57
|
static get is() { return "seki-tabs-content"; }
|
|
56
58
|
static get encapsulation() { return "shadow"; }
|
|
@@ -23,10 +23,10 @@ export class SekiTabsList {
|
|
|
23
23
|
var _a;
|
|
24
24
|
const context = this.getContext();
|
|
25
25
|
const orientation = (_a = context === null || context === void 0 ? void 0 : context.orientation) !== null && _a !== void 0 ? _a : 'horizontal';
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: '32b805b2ce5b203dbd5a939d90dae450999dc409', "data-orientation": orientation }, h("div", { key: '544a4b05e3cd41768e17c276bec94c2b9d33eabc', part: "list", role: "tablist", "aria-orientation": orientation, class: {
|
|
27
27
|
'tabs-list': true,
|
|
28
28
|
[`tabs-list--${orientation}`]: true,
|
|
29
|
-
} }, h("slot", { key: '
|
|
29
|
+
} }, h("slot", { key: '3f6b2bb6f5bcbcfeb2065341e0eedde8c6a967c6' }))));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "seki-tabs-list"; }
|
|
32
32
|
static get encapsulation() { return "shadow"; }
|
|
@@ -14,6 +14,11 @@ export class SekiTabsTrigger {
|
|
|
14
14
|
*/
|
|
15
15
|
this.disabled = false;
|
|
16
16
|
this._isSelected = false;
|
|
17
|
+
this.onTabsValueChange = () => {
|
|
18
|
+
var _a;
|
|
19
|
+
const context = this.getContext();
|
|
20
|
+
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
21
|
+
};
|
|
17
22
|
this.instanceId = ++SekiTabsTrigger.instanceCount;
|
|
18
23
|
}
|
|
19
24
|
getContext() {
|
|
@@ -33,15 +38,10 @@ export class SekiTabsTrigger {
|
|
|
33
38
|
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
34
39
|
}
|
|
35
40
|
componentDidLoad() {
|
|
41
|
+
var _a, _b;
|
|
36
42
|
// Listen for value changes from parent tabs
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
tabs.addEventListener('sekiValueChange', () => {
|
|
40
|
-
var _a;
|
|
41
|
-
const context = this.getContext();
|
|
42
|
-
this._isSelected = (_a = context === null || context === void 0 ? void 0 : context.isSelected(this.value)) !== null && _a !== void 0 ? _a : false;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
43
|
+
this.tabsEl = (_a = this.el.closest('seki-tabs')) !== null && _a !== void 0 ? _a : undefined;
|
|
44
|
+
(_b = this.tabsEl) === null || _b === void 0 ? void 0 : _b.addEventListener('sekiValueChange', this.onTabsValueChange);
|
|
45
45
|
}
|
|
46
46
|
handleClick() {
|
|
47
47
|
if (this.disabled)
|
|
@@ -157,14 +157,16 @@ export class SekiTabsTrigger {
|
|
|
157
157
|
registerThemeSync(this.el);
|
|
158
158
|
}
|
|
159
159
|
disconnectedCallback() {
|
|
160
|
+
var _a;
|
|
160
161
|
unregisterThemeSync(this.el);
|
|
162
|
+
(_a = this.tabsEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('sekiValueChange', this.onTabsValueChange);
|
|
161
163
|
}
|
|
162
164
|
render() {
|
|
163
165
|
const isSelected = this._isSelected;
|
|
164
|
-
return (h(Host, { key: '
|
|
166
|
+
return (h(Host, { key: 'c5ac6f44d2498dc723c082b5a3cf8cc0514345c3', "data-state": isSelected ? 'active' : 'inactive', "data-disabled": this.disabled ? '' : undefined, tabindex: this.disabled ? -1 : 0, role: "tab", "aria-selected": isSelected ? 'true' : 'false', "aria-controls": this.panelId }, h("button", { key: 'd90ac732efef5ed590cbc7c5be482e6173216ed2', part: "trigger", type: "button", id: this.triggerId, class: {
|
|
165
167
|
'tabs-trigger': true,
|
|
166
168
|
'tabs-trigger--active': isSelected,
|
|
167
|
-
}, disabled: this.disabled, tabindex: -1 }, h("slot", { key: '
|
|
169
|
+
}, disabled: this.disabled, tabindex: -1 }, h("slot", { key: '76ffd78ccd3c355c1dcc41cab0fe0fe59b88bdff' }))));
|
|
168
170
|
}
|
|
169
171
|
static get is() { return "seki-tabs-trigger"; }
|
|
170
172
|
static get encapsulation() { return "shadow"; }
|
|
@@ -68,10 +68,10 @@ export class SekiTabs {
|
|
|
68
68
|
unregisterThemeSync(this.el);
|
|
69
69
|
}
|
|
70
70
|
render() {
|
|
71
|
-
return (h(Host, { key: '
|
|
71
|
+
return (h(Host, { key: '7ad13d3b99af4bbf3c0ca5e843eccc6161a7ca87', "data-orientation": this.orientation }, h("div", { key: '145c03db641722f8f63b65c9e8d5ec92da6f76c3', part: "tabs", class: {
|
|
72
72
|
'tabs': true,
|
|
73
73
|
[`tabs--${this.orientation}`]: true,
|
|
74
|
-
} }, h("slot", { key: '
|
|
74
|
+
} }, h("slot", { key: 'd12772fe0afda9d031e1a5ed65ef37226fe09598' }))));
|
|
75
75
|
}
|
|
76
76
|
static get is() { return "seki-tabs"; }
|
|
77
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -88,7 +88,7 @@ export class SekiTextarea {
|
|
|
88
88
|
unregisterThemeSync(this.el);
|
|
89
89
|
}
|
|
90
90
|
render() {
|
|
91
|
-
return (h("textarea", { key: '
|
|
91
|
+
return (h("textarea", { key: 'e36fc95f58c1d267267d35db9be1774951c9c1d7', value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, name: this.name, rows: this.rows, cols: this.cols, minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autocomplete, class: `textarea textarea--resize-${this.resize}${this.invalid ? ' textarea--invalid' : ''}`, "aria-label": this.ariaLabel, "aria-describedby": this.ariaDescribedby, "aria-invalid": this.invalid ? 'true' : null, "aria-disabled": this.disabled ? 'true' : null, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur }));
|
|
92
92
|
}
|
|
93
93
|
static get is() { return "seki-textarea"; }
|
|
94
94
|
static get encapsulation() { return "shadow"; }
|
|
@@ -155,7 +155,7 @@ export class SekiToggle {
|
|
|
155
155
|
tabIndex = focusedValue === this.value ? 0 : -1;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
return (h(Host, { key: '
|
|
158
|
+
return (h(Host, { key: 'b467caa09837abd63a820bef7a05d64f1e206efe', "data-state": dataState, "data-disabled": effectiveDisabled ? '' : null }, h("button", { key: '617420144589f944253aed3c88556aa0f3db73b7', type: "button", class: `toggle toggle--${effectiveVariant} toggle--${effectiveSize}`, part: "toggle", "aria-pressed": isPressed ? 'true' : 'false', "aria-disabled": effectiveDisabled ? 'true' : undefined, "aria-label": this.ariaLabel || undefined, disabled: effectiveDisabled, tabindex: tabIndex, onClick: this.handleClick }, h("slot", { key: '29ea33cb06d270e999dd41e1fcfe0bd58626f9ce' }))));
|
|
159
159
|
}
|
|
160
160
|
static get is() { return "seki-toggle"; }
|
|
161
161
|
static get encapsulation() { return "shadow"; }
|
|
@@ -149,7 +149,7 @@ export class SekiToggleGroup {
|
|
|
149
149
|
unregisterThemeSync(this.el);
|
|
150
150
|
}
|
|
151
151
|
render() {
|
|
152
|
-
return (h(Host, { key: '
|
|
152
|
+
return (h(Host, { key: 'a58fde3e3b41fd41a7f0d11b860ddf0fdd60855c', role: "group", "aria-label": this.ariaLabel, "aria-orientation": this.orientation }, h("slot", { key: '039c82e1a77c6c2c6965c94df169ec000119f833' })));
|
|
153
153
|
}
|
|
154
154
|
static get is() { return "seki-toggle-group"; }
|
|
155
155
|
static get encapsulation() { return "shadow"; }
|
|
@@ -56,6 +56,7 @@ export class SekiTooltip {
|
|
|
56
56
|
this.longPressTimer = null;
|
|
57
57
|
this.touchStartX = 0;
|
|
58
58
|
this.touchStartY = 0;
|
|
59
|
+
this.hasLoaded = false;
|
|
59
60
|
/**
|
|
60
61
|
* Handle mouse enter on trigger
|
|
61
62
|
*/
|
|
@@ -310,10 +311,11 @@ export class SekiTooltip {
|
|
|
310
311
|
trigger.addEventListener('touchend', this.onTriggerTouchEnd);
|
|
311
312
|
// Escape key on document
|
|
312
313
|
document.addEventListener('keydown', this.onEscapeKey);
|
|
313
|
-
// Apply aria-describedby to trigger
|
|
314
|
+
// Apply aria-describedby to trigger (idempotent — keep the existing id so a
|
|
315
|
+
// re-attach after a DOM move doesn't regenerate it).
|
|
314
316
|
const contentSlot = this.el.querySelector('[slot="content"]');
|
|
315
317
|
if (contentSlot) {
|
|
316
|
-
const contentId = `tooltip-${Math.random().toString(36).substr(2, 9)}`;
|
|
318
|
+
const contentId = contentSlot.id || `tooltip-${Math.random().toString(36).substr(2, 9)}`;
|
|
317
319
|
contentSlot.id = contentId;
|
|
318
320
|
trigger.setAttribute('aria-describedby', contentId);
|
|
319
321
|
}
|
|
@@ -332,12 +334,23 @@ export class SekiTooltip {
|
|
|
332
334
|
trigger.removeEventListener('touchstart', this.onTriggerTouchStart);
|
|
333
335
|
trigger.removeEventListener('touchmove', this.onTriggerTouchMove);
|
|
334
336
|
trigger.removeEventListener('touchend', this.onTriggerTouchEnd);
|
|
337
|
+
// Escape key was registered on document in attachTriggerListeners; remove it
|
|
338
|
+
// here so it does not leak (and keep firing) after the tooltip is detached.
|
|
339
|
+
document.removeEventListener('keydown', this.onEscapeKey);
|
|
335
340
|
}
|
|
336
341
|
componentDidLoad() {
|
|
342
|
+
this.hasLoaded = true;
|
|
337
343
|
this.attachTriggerListeners();
|
|
338
344
|
}
|
|
339
345
|
connectedCallback() {
|
|
340
346
|
registerThemeSync(this.el);
|
|
347
|
+
// Re-attach on reconnect (e.g. the element was moved in the DOM). On first
|
|
348
|
+
// connect this is a no-op because children aren't ready yet — componentDidLoad
|
|
349
|
+
// handles the initial attach. addEventListener with the same handler refs is
|
|
350
|
+
// idempotent, so this never double-binds.
|
|
351
|
+
if (this.hasLoaded) {
|
|
352
|
+
this.attachTriggerListeners();
|
|
353
|
+
}
|
|
341
354
|
}
|
|
342
355
|
disconnectedCallback() {
|
|
343
356
|
unregisterThemeSync(this.el);
|
|
@@ -351,7 +364,7 @@ export class SekiTooltip {
|
|
|
351
364
|
clearTimeout(this.longPressTimer);
|
|
352
365
|
}
|
|
353
366
|
render() {
|
|
354
|
-
return (h("div", { key: '
|
|
367
|
+
return (h("div", { key: 'b8f98d6cf19b3bb54b78f2f556055e9bf0333d89', class: `tooltip ${this.isVisible ? 'tooltip--visible' : ''}`, role: "tooltip" }, h("slot", { key: 'fc7995ac5e2570ff72e5e0a66cb014687c9e9c93', name: "content" }), h("div", { key: '553c15d7abdf477ed87d5b5d728b0a26c5a779e5', class: "tooltip-arrow" })));
|
|
355
368
|
}
|
|
356
369
|
static get is() { return "seki-tooltip"; }
|
|
357
370
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const NOOP_MIRROR = { disconnect() { } };
|
|
2
|
+
export function mirrorAncestorAttributes(host, ancestorSelector, attributes, options = {}) {
|
|
3
|
+
const ancestor = host.closest(ancestorSelector);
|
|
4
|
+
if (!ancestor)
|
|
5
|
+
return NOOP_MIRROR;
|
|
6
|
+
const sync = () => {
|
|
7
|
+
for (const attr of attributes) {
|
|
8
|
+
const value = ancestor.getAttribute(attr);
|
|
9
|
+
if (value === null) {
|
|
10
|
+
host.removeAttribute(attr);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
host.setAttribute(attr, value);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
// Reflect current state, then keep it in sync with future attribute changes.
|
|
18
|
+
sync();
|
|
19
|
+
// MutationObserver is absent in non-DOM/test environments; the initial sync
|
|
20
|
+
// still runs, we just skip live updates there.
|
|
21
|
+
let observer;
|
|
22
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
23
|
+
observer = new MutationObserver(sync);
|
|
24
|
+
observer.observe(ancestor, { attributes: true, attributeFilter: attributes });
|
|
25
|
+
}
|
|
26
|
+
let onEnter;
|
|
27
|
+
let onLeave;
|
|
28
|
+
if (options.trackHover) {
|
|
29
|
+
onEnter = () => host.setAttribute('data-parent-hover', '');
|
|
30
|
+
onLeave = () => host.removeAttribute('data-parent-hover');
|
|
31
|
+
ancestor.addEventListener('mouseenter', onEnter);
|
|
32
|
+
ancestor.addEventListener('mouseleave', onLeave);
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
disconnect() {
|
|
36
|
+
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
37
|
+
if (onEnter)
|
|
38
|
+
ancestor.removeEventListener('mouseenter', onEnter);
|
|
39
|
+
if (onLeave)
|
|
40
|
+
ancestor.removeEventListener('mouseleave', onLeave);
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|