@sekiui/elements 0.1.3 → 0.1.4
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/index.js +1 -1
- package/dist/{components/p-Bml9QXVd.js → cdn/p--1ROPZet.js} +22 -12
- package/dist/cdn/p-B4SOpX_A.js +155 -0
- package/dist/cdn/{p-B7jKUvZz.js → p-C3WFySZp.js} +29 -3
- package/dist/cdn/p-COBvV3Rw.js +201 -0
- package/dist/cdn/seki-alert-dialog-content.js +10 -24
- package/dist/cdn/seki-alert-dialog.js +8 -10
- package/dist/cdn/seki-carousel-dots.js +1 -1
- package/dist/cdn/seki-carousel-next.js +1 -1
- package/dist/cdn/seki-carousel-previous.js +1 -1
- package/dist/cdn/seki-collapsible-content.js +23 -40
- package/dist/cdn/seki-collapsible-trigger.js +21 -5
- package/dist/cdn/seki-collapsible.js +18 -11
- package/dist/cdn/seki-combobox-content.js +15 -22
- package/dist/cdn/seki-combobox-input.js +1 -1
- package/dist/cdn/seki-combobox-item.js +1 -1
- package/dist/cdn/seki-combobox.js +1 -1
- package/dist/cdn/seki-command-empty.js +6 -22
- package/dist/cdn/seki-command-group.js +11 -13
- package/dist/cdn/seki-command-input.js +23 -8
- package/dist/cdn/seki-command-item.js +17 -0
- package/dist/cdn/seki-command.js +58 -57
- package/dist/cdn/seki-data-table.js +13 -6
- package/dist/cdn/seki-dialog-content.js +10 -25
- package/dist/cdn/seki-dialog-description.js +13 -7
- package/dist/cdn/seki-dialog-overlay.js +6 -15
- package/dist/cdn/seki-dialog-title.js +13 -7
- package/dist/cdn/seki-dialog.js +1 -1
- package/dist/cdn/seki-drawer-content.js +21 -24
- package/dist/cdn/seki-drawer.js +8 -7
- package/dist/cdn/seki-field-label.js +28 -2
- package/dist/cdn/seki-label.js +1 -1
- package/dist/cdn/seki-navigation-menu-content.js +1 -1
- package/dist/cdn/seki-navigation-menu-item.js +1 -1
- package/dist/cdn/seki-navigation-menu-trigger.js +1 -1
- package/dist/cdn/seki-navigation-menu.js +1 -1
- package/dist/cdn/seki-popover-content.js +14 -20
- package/dist/cdn/seki-popover.js +27 -17
- package/dist/cdn/seki-resizable-handle.js +1 -1
- package/dist/cdn/seki-resizable-panel-group.js +1 -1
- package/dist/cdn/seki-resizable-panel.js +1 -1
- package/dist/cdn/seki-select-content.js +14 -17
- package/dist/cdn/seki-select-option.js +23 -25
- package/dist/cdn/seki-select-trigger.js +32 -38
- package/dist/cdn/seki-select.js +30 -7
- package/dist/cdn/seki-sheet-content.js +24 -24
- package/dist/cdn/seki-sheet.js +8 -7
- package/dist/cdn/seki-toggle-group.js +1 -1
- package/dist/cdn/seki-toggle.js +1 -1
- package/dist/cjs/context-bridge-t3FBhOrW.js +159 -0
- package/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/label-association-sgmb4sai.js +203 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/seki-alert-dialog-content.cjs.entry.js +10 -24
- package/dist/cjs/seki-alert-dialog.cjs.entry.js +7 -9
- package/dist/cjs/seki-carousel-dots.cjs.entry.js +1 -1
- package/dist/cjs/seki-carousel-next.cjs.entry.js +1 -1
- package/dist/cjs/seki-carousel-previous.cjs.entry.js +1 -1
- package/dist/cjs/seki-collapsible-content.cjs.entry.js +20 -39
- package/dist/cjs/seki-collapsible-trigger.cjs.entry.js +19 -4
- package/dist/cjs/seki-collapsible.cjs.entry.js +16 -10
- package/dist/cjs/seki-combobox-content.cjs.entry.js +15 -22
- package/dist/cjs/seki-combobox-input.cjs.entry.js +1 -1
- package/dist/cjs/seki-combobox-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-combobox.cjs.entry.js +1 -1
- package/dist/cjs/seki-command-empty.cjs.entry.js +6 -22
- package/dist/cjs/seki-command-group.cjs.entry.js +11 -13
- package/dist/cjs/seki-command-input.cjs.entry.js +22 -8
- package/dist/cjs/seki-command-item.cjs.entry.js +17 -0
- package/dist/cjs/seki-command.cjs.entry.js +56 -56
- package/dist/cjs/seki-data-table.cjs.entry.js +10 -6
- package/dist/cjs/seki-dialog-content.cjs.entry.js +10 -25
- package/dist/cjs/seki-dialog-description.cjs.entry.js +10 -6
- package/dist/cjs/seki-dialog-overlay.cjs.entry.js +6 -15
- package/dist/cjs/seki-dialog-title.cjs.entry.js +10 -6
- package/dist/cjs/seki-dialog.cjs.entry.js +21 -12
- package/dist/cjs/seki-drawer-content.cjs.entry.js +20 -24
- package/dist/cjs/seki-drawer.cjs.entry.js +8 -7
- package/dist/cjs/seki-field-label.cjs.entry.js +26 -2
- package/dist/cjs/seki-label.cjs.entry.js +27 -3
- package/dist/cjs/seki-navigation-menu-content.cjs.entry.js +1 -1
- package/dist/cjs/seki-navigation-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/seki-navigation-menu-trigger.cjs.entry.js +1 -1
- package/dist/cjs/seki-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/seki-popover-content.cjs.entry.js +14 -20
- package/dist/cjs/seki-popover.cjs.entry.js +24 -16
- package/dist/cjs/seki-resizable-handle.cjs.entry.js +1 -1
- package/dist/cjs/seki-resizable-panel-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-resizable-panel.cjs.entry.js +1 -1
- package/dist/cjs/seki-select-content.cjs.entry.js +14 -17
- package/dist/cjs/seki-select-option.cjs.entry.js +23 -25
- package/dist/cjs/seki-select-trigger.cjs.entry.js +32 -38
- package/dist/cjs/seki-select.cjs.entry.js +29 -7
- package/dist/cjs/seki-sheet-content.cjs.entry.js +22 -24
- package/dist/cjs/seki-sheet.cjs.entry.js +8 -7
- package/dist/cjs/seki-toggle-group.cjs.entry.js +1 -1
- package/dist/cjs/seki-toggle.cjs.entry.js +1 -1
- package/dist/cjs/sekiui.cjs.js +1 -1
- package/dist/collection/components/alert-dialog/seki-alert-dialog-content.js +10 -24
- package/dist/collection/components/alert-dialog/seki-alert-dialog.js +21 -9
- package/dist/collection/components/collapsible/seki-collapsible-content.js +23 -40
- package/dist/collection/components/collapsible/seki-collapsible-trigger.js +24 -4
- package/dist/collection/components/collapsible/seki-collapsible.js +31 -9
- package/dist/collection/components/combobox-content/seki-combobox-content.js +15 -22
- package/dist/collection/components/command/seki-command-empty.js +6 -22
- package/dist/collection/components/command/seki-command-group.js +11 -13
- package/dist/collection/components/command/seki-command-input.js +27 -8
- package/dist/collection/components/command/seki-command-item.js +17 -0
- package/dist/collection/components/command/seki-command.js +71 -55
- package/dist/collection/components/data-table/seki-data-table.js +64 -6
- package/dist/collection/components/dialog/seki-dialog-content.js +10 -25
- package/dist/collection/components/dialog/seki-dialog-description.js +17 -6
- package/dist/collection/components/dialog/seki-dialog-overlay.js +6 -15
- package/dist/collection/components/dialog/seki-dialog-title.js +17 -6
- package/dist/collection/components/dialog/seki-dialog.js +37 -12
- package/dist/collection/components/drawer/seki-drawer-content.js +22 -24
- package/dist/collection/components/drawer/seki-drawer.js +22 -7
- package/dist/collection/components/field-label/seki-field-label.js +39 -3
- package/dist/collection/components/label/seki-label.js +40 -4
- package/dist/collection/components/popover/seki-popover-content.js +14 -20
- package/dist/collection/components/popover/seki-popover.js +41 -15
- package/dist/collection/components/select/seki-select.js +30 -6
- package/dist/collection/components/select-content/seki-select-content.js +14 -17
- package/dist/collection/components/select-option/seki-select-option.js +23 -25
- package/dist/collection/components/select-trigger/seki-select-trigger.js +32 -38
- package/dist/collection/components/sheet/seki-sheet-content.js +25 -24
- package/dist/collection/components/sheet/seki-sheet.js +22 -7
- package/dist/collection/utils/context-bridge.js +105 -4
- package/dist/collection/utils/label-association.js +199 -0
- package/dist/components/index.js +1 -1
- package/dist/{cdn/p-Bml9QXVd.js → components/p--1ROPZet.js} +22 -12
- package/dist/components/p-B4SOpX_A.js +155 -0
- package/dist/components/{p-B7jKUvZz.js → p-C3WFySZp.js} +29 -3
- package/dist/components/p-COBvV3Rw.js +201 -0
- package/dist/components/seki-alert-dialog-content.js +10 -24
- package/dist/components/seki-alert-dialog.js +8 -10
- package/dist/components/seki-carousel-dots.js +1 -1
- package/dist/components/seki-carousel-next.js +1 -1
- package/dist/components/seki-carousel-previous.js +1 -1
- package/dist/components/seki-collapsible-content.js +23 -40
- package/dist/components/seki-collapsible-trigger.js +21 -5
- package/dist/components/seki-collapsible.js +18 -11
- package/dist/components/seki-combobox-content.js +15 -22
- package/dist/components/seki-combobox-input.js +1 -1
- package/dist/components/seki-combobox-item.js +1 -1
- package/dist/components/seki-combobox.js +1 -1
- package/dist/components/seki-command-empty.js +6 -22
- package/dist/components/seki-command-group.js +11 -13
- package/dist/components/seki-command-input.js +23 -8
- package/dist/components/seki-command-item.js +17 -0
- package/dist/components/seki-command.js +58 -57
- package/dist/components/seki-data-table.js +13 -6
- package/dist/components/seki-dialog-content.js +10 -25
- package/dist/components/seki-dialog-description.js +13 -7
- package/dist/components/seki-dialog-overlay.js +6 -15
- package/dist/components/seki-dialog-title.js +13 -7
- package/dist/components/seki-dialog.js +1 -1
- package/dist/components/seki-drawer-content.js +21 -24
- package/dist/components/seki-drawer.js +8 -7
- package/dist/components/seki-field-label.js +28 -2
- package/dist/components/seki-label.js +1 -1
- package/dist/components/seki-navigation-menu-content.js +1 -1
- package/dist/components/seki-navigation-menu-item.js +1 -1
- package/dist/components/seki-navigation-menu-trigger.js +1 -1
- package/dist/components/seki-navigation-menu.js +1 -1
- package/dist/components/seki-popover-content.js +14 -20
- package/dist/components/seki-popover.js +27 -17
- package/dist/components/seki-resizable-handle.js +1 -1
- package/dist/components/seki-resizable-panel-group.js +1 -1
- package/dist/components/seki-resizable-panel.js +1 -1
- package/dist/components/seki-select-content.js +14 -17
- package/dist/components/seki-select-option.js +23 -25
- package/dist/components/seki-select-trigger.js +32 -38
- package/dist/components/seki-select.js +30 -7
- package/dist/components/seki-sheet-content.js +24 -24
- package/dist/components/seki-sheet.js +8 -7
- package/dist/components/seki-toggle-group.js +1 -1
- package/dist/components/seki-toggle.js +1 -1
- package/dist/esm/context-bridge-B4SOpX_A.js +155 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/label-association-COBvV3Rw.js +201 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/seki-alert-dialog-content.entry.js +10 -24
- package/dist/esm/seki-alert-dialog.entry.js +7 -9
- package/dist/esm/seki-carousel-dots.entry.js +1 -1
- package/dist/esm/seki-carousel-next.entry.js +1 -1
- package/dist/esm/seki-carousel-previous.entry.js +1 -1
- package/dist/esm/seki-collapsible-content.entry.js +20 -39
- package/dist/esm/seki-collapsible-trigger.entry.js +19 -4
- package/dist/esm/seki-collapsible.entry.js +16 -10
- package/dist/esm/seki-combobox-content.entry.js +15 -22
- package/dist/esm/seki-combobox-input.entry.js +1 -1
- package/dist/esm/seki-combobox-item.entry.js +1 -1
- package/dist/esm/seki-combobox.entry.js +1 -1
- package/dist/esm/seki-command-empty.entry.js +6 -22
- package/dist/esm/seki-command-group.entry.js +11 -13
- package/dist/esm/seki-command-input.entry.js +22 -8
- package/dist/esm/seki-command-item.entry.js +17 -0
- package/dist/esm/seki-command.entry.js +56 -56
- package/dist/esm/seki-data-table.entry.js +10 -6
- package/dist/esm/seki-dialog-content.entry.js +10 -25
- package/dist/esm/seki-dialog-description.entry.js +10 -6
- package/dist/esm/seki-dialog-overlay.entry.js +6 -15
- package/dist/esm/seki-dialog-title.entry.js +10 -6
- package/dist/esm/seki-dialog.entry.js +21 -12
- package/dist/esm/seki-drawer-content.entry.js +20 -24
- package/dist/esm/seki-drawer.entry.js +8 -7
- package/dist/esm/seki-field-label.entry.js +26 -2
- package/dist/esm/seki-label.entry.js +27 -3
- package/dist/esm/seki-navigation-menu-content.entry.js +1 -1
- package/dist/esm/seki-navigation-menu-item.entry.js +1 -1
- package/dist/esm/seki-navigation-menu-trigger.entry.js +1 -1
- package/dist/esm/seki-navigation-menu.entry.js +1 -1
- package/dist/esm/seki-popover-content.entry.js +14 -20
- package/dist/esm/seki-popover.entry.js +24 -16
- package/dist/esm/seki-resizable-handle.entry.js +1 -1
- package/dist/esm/seki-resizable-panel-group.entry.js +1 -1
- package/dist/esm/seki-resizable-panel.entry.js +1 -1
- package/dist/esm/seki-select-content.entry.js +14 -17
- package/dist/esm/seki-select-option.entry.js +23 -25
- package/dist/esm/seki-select-trigger.entry.js +32 -38
- package/dist/esm/seki-select.entry.js +29 -7
- package/dist/esm/seki-sheet-content.entry.js +22 -24
- package/dist/esm/seki-sheet.entry.js +8 -7
- package/dist/esm/seki-toggle-group.entry.js +1 -1
- package/dist/esm/seki-toggle.entry.js +1 -1
- package/dist/esm/sekiui.js +1 -1
- package/dist/sekiui/index.esm.js +1 -1
- package/dist/sekiui/{p-2459de33.entry.js → p-09131578.entry.js} +1 -1
- package/dist/sekiui/p-14ca64d7.entry.js +1 -0
- package/dist/sekiui/p-1564ab34.entry.js +1 -0
- package/dist/sekiui/p-1b7681eb.entry.js +1 -0
- package/dist/sekiui/{p-573fcf7e.entry.js → p-20e5e17a.entry.js} +1 -1
- package/dist/sekiui/p-2bd3c250.entry.js +1 -0
- package/dist/sekiui/p-2d50d0c2.entry.js +1 -0
- package/dist/sekiui/p-31db5c3f.entry.js +1 -0
- package/dist/sekiui/p-33dd3d17.entry.js +1 -0
- package/dist/sekiui/p-360d7dea.entry.js +1 -0
- package/dist/sekiui/p-3c6d6845.entry.js +1 -0
- package/dist/sekiui/{p-731740ec.entry.js → p-3cd3f36e.entry.js} +1 -1
- package/dist/sekiui/{p-1d173026.entry.js → p-3e456430.entry.js} +1 -1
- package/dist/sekiui/{p-e287c9b0.entry.js → p-4191a2cf.entry.js} +1 -1
- package/dist/sekiui/{p-b75f801b.entry.js → p-48fe9b46.entry.js} +1 -1
- package/dist/sekiui/{p-5a60c7f5.entry.js → p-5132d055.entry.js} +1 -1
- package/dist/sekiui/p-5700ac69.entry.js +1 -0
- package/dist/sekiui/{p-d2592287.entry.js → p-57e7170b.entry.js} +1 -1
- package/dist/sekiui/{p-edac50c7.entry.js → p-5dbd46b4.entry.js} +1 -1
- package/dist/sekiui/p-6923d926.entry.js +1 -0
- package/dist/sekiui/{p-22daeb37.entry.js → p-6c2e4ae8.entry.js} +1 -1
- package/dist/sekiui/p-6edbced1.entry.js +1 -0
- package/dist/sekiui/p-7dac94b2.entry.js +1 -0
- package/dist/sekiui/p-80dbf1f5.entry.js +1 -0
- package/dist/sekiui/p-817af69a.entry.js +1 -0
- package/dist/sekiui/{p-ddcdc3da.entry.js → p-8b3bc7c2.entry.js} +1 -1
- package/dist/sekiui/p-8fb55d56.entry.js +1 -0
- package/dist/sekiui/{p-a575f386.entry.js → p-92b800a2.entry.js} +1 -1
- package/dist/sekiui/{p-63e922dc.entry.js → p-938ce866.entry.js} +1 -1
- package/dist/sekiui/{p-d0533172.entry.js → p-95501e60.entry.js} +1 -1
- package/dist/sekiui/p-979708a0.entry.js +1 -0
- package/dist/sekiui/{p-faf09566.entry.js → p-9c921a6c.entry.js} +1 -1
- package/dist/sekiui/p-B4SOpX_A.js +1 -0
- package/dist/sekiui/p-COBvV3Rw.js +1 -0
- package/dist/sekiui/{p-fc6b3691.entry.js → p-a4fc4f1a.entry.js} +1 -1
- package/dist/sekiui/{p-d7bd5d5e.entry.js → p-b94e0f1b.entry.js} +1 -1
- package/dist/sekiui/{p-1c5fe316.entry.js → p-c6efedab.entry.js} +1 -1
- package/dist/sekiui/p-c8da7923.entry.js +1 -0
- package/dist/sekiui/p-c97fbaf2.entry.js +1 -0
- package/dist/sekiui/p-cb28d764.entry.js +1 -0
- package/dist/sekiui/{p-5f52b52d.entry.js → p-cc2ac0f0.entry.js} +1 -1
- package/dist/sekiui/{p-acebf429.entry.js → p-d32614a4.entry.js} +1 -1
- package/dist/sekiui/p-d3449109.entry.js +1 -0
- package/dist/sekiui/p-ddbf98ca.entry.js +1 -0
- package/dist/sekiui/p-eb03eb37.entry.js +1 -0
- package/dist/sekiui/{p-c57bbe35.entry.js → p-fc9e8583.entry.js} +1 -1
- package/dist/sekiui/sekiui.esm.js +1 -1
- package/dist/types/components/alert-dialog/seki-alert-dialog-content.d.ts +6 -3
- package/dist/types/components/alert-dialog/seki-alert-dialog.d.ts +5 -2
- package/dist/types/components/collapsible/seki-collapsible-content.d.ts +4 -5
- package/dist/types/components/collapsible/seki-collapsible-trigger.d.ts +11 -0
- package/dist/types/components/collapsible/seki-collapsible.d.ts +6 -2
- package/dist/types/components/combobox-content/seki-combobox-content.d.ts +3 -4
- package/dist/types/components/command/seki-command-empty.d.ts +2 -4
- package/dist/types/components/command/seki-command-group.d.ts +2 -3
- package/dist/types/components/command/seki-command-input.d.ts +5 -1
- package/dist/types/components/command/seki-command-item.d.ts +3 -0
- package/dist/types/components/command/seki-command.d.ts +19 -1
- package/dist/types/components/command/types.d.ts +9 -1
- package/dist/types/components/data-table/seki-data-table.d.ts +7 -2
- package/dist/types/components/dialog/seki-dialog-content.d.ts +6 -3
- package/dist/types/components/dialog/seki-dialog-description.d.ts +5 -1
- package/dist/types/components/dialog/seki-dialog-overlay.d.ts +2 -3
- package/dist/types/components/dialog/seki-dialog-title.d.ts +5 -1
- package/dist/types/components/dialog/seki-dialog.d.ts +9 -2
- package/dist/types/components/drawer/seki-drawer-content.d.ts +8 -3
- package/dist/types/components/drawer/seki-drawer.d.ts +5 -1
- package/dist/types/components/field-label/seki-field-label.d.ts +9 -1
- package/dist/types/components/label/seki-label.d.ts +11 -2
- package/dist/types/components/popover/seki-popover-content.d.ts +6 -3
- package/dist/types/components/popover/seki-popover.d.ts +7 -1
- package/dist/types/components/select/seki-select.d.ts +8 -0
- package/dist/types/components/select-content/seki-select-content.d.ts +3 -2
- package/dist/types/components/select-option/seki-select-option.d.ts +9 -3
- package/dist/types/components/select-trigger/seki-select-trigger.d.ts +10 -4
- package/dist/types/components/sheet/seki-sheet-content.d.ts +8 -4
- package/dist/types/components/sheet/seki-sheet.d.ts +5 -1
- package/dist/types/components.d.ts +61 -6
- package/dist/types/utils/context-bridge.d.ts +68 -4
- package/dist/types/utils/label-association.d.ts +58 -0
- package/package.json +1 -1
- package/dist/cdn/p-DJMgrCw3.js +0 -54
- package/dist/cjs/context-bridge-CywF7uJm.js +0 -57
- package/dist/components/p-DJMgrCw3.js +0 -54
- package/dist/esm/context-bridge-DJMgrCw3.js +0 -54
- package/dist/sekiui/p-063951fe.entry.js +0 -1
- package/dist/sekiui/p-326909c5.entry.js +0 -1
- package/dist/sekiui/p-3511d6e5.entry.js +0 -1
- package/dist/sekiui/p-4253845a.entry.js +0 -1
- package/dist/sekiui/p-565acaf2.entry.js +0 -1
- package/dist/sekiui/p-5a55a239.entry.js +0 -1
- package/dist/sekiui/p-5fd3b090.entry.js +0 -1
- package/dist/sekiui/p-6466865a.entry.js +0 -1
- package/dist/sekiui/p-9324d212.entry.js +0 -1
- package/dist/sekiui/p-959fef36.entry.js +0 -1
- package/dist/sekiui/p-DJMgrCw3.js +0 -1
- package/dist/sekiui/p-a55bc3d3.entry.js +0 -1
- package/dist/sekiui/p-ab56de7a.entry.js +0 -1
- package/dist/sekiui/p-ad62e316.entry.js +0 -1
- package/dist/sekiui/p-b8d3aa31.entry.js +0 -1
- package/dist/sekiui/p-b99c6433.entry.js +0 -1
- package/dist/sekiui/p-c15c21b4.entry.js +0 -1
- package/dist/sekiui/p-c529a6b8.entry.js +0 -1
- package/dist/sekiui/p-c99961a7.entry.js +0 -1
- package/dist/sekiui/p-d61319d6.entry.js +0 -1
- package/dist/sekiui/p-da9b3eaa.entry.js +0 -1
- package/dist/sekiui/p-eb50f8d5.entry.js +0 -1
- package/dist/sekiui/p-f886fe62.entry.js +0 -1
- package/dist/sekiui/p-fc288df2.entry.js +0 -1
|
@@ -54,8 +54,12 @@ export declare class SekiDrawer {
|
|
|
54
54
|
* event shape so a consumer can listen to one event name across every overlay.
|
|
55
55
|
*/
|
|
56
56
|
sekiOpenChange: EventEmitter<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Internal: notifies seki-drawer-content that `_drawerContext` changed. Not
|
|
59
|
+
* part of the public API; listen to `sekiOpenChange` instead.
|
|
60
|
+
*/
|
|
61
|
+
drawerContextChange: EventEmitter<void>;
|
|
57
62
|
componentWillLoad(): void;
|
|
58
|
-
componentDidLoad(): void;
|
|
59
63
|
handleOpenPropChange(newValue: boolean): void;
|
|
60
64
|
/**
|
|
61
65
|
* Opens the drawer
|
|
@@ -2,7 +2,8 @@ export declare class SekiFieldLabel {
|
|
|
2
2
|
el: HTMLElement;
|
|
3
3
|
/**
|
|
4
4
|
* ID of the form control this label is for
|
|
5
|
-
*
|
|
5
|
+
* Resolved in the label's own root node (not this component's shadow root), so it
|
|
6
|
+
* reaches light-DOM controls. Falls back to the control nested in the label.
|
|
6
7
|
*/
|
|
7
8
|
htmlFor?: string;
|
|
8
9
|
/**
|
|
@@ -10,5 +11,12 @@ export declare class SekiFieldLabel {
|
|
|
10
11
|
* Displays a required indicator (*) after the label text
|
|
11
12
|
*/
|
|
12
13
|
required: boolean;
|
|
14
|
+
private binding?;
|
|
15
|
+
onForChange(): void;
|
|
16
|
+
/** Forward clicks to the labelled control (see utils/label-association.ts). */
|
|
17
|
+
onClick(event: MouseEvent): void;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
componentDidLoad(): void;
|
|
20
|
+
disconnectedCallback(): void;
|
|
13
21
|
render(): any;
|
|
14
22
|
}
|
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
export declare class SekiLabel {
|
|
11
11
|
el: HTMLElement;
|
|
12
12
|
/**
|
|
13
|
-
* The ID of the form element this label is associated with.
|
|
14
|
-
*
|
|
13
|
+
* The ID of the form element this label is associated with. Resolved in the
|
|
14
|
+
* label's own root node (document or shadow root), not in this component's
|
|
15
|
+
* shadow root, so it reaches light-DOM controls. Without it, the first control
|
|
16
|
+
* nested inside the label is used.
|
|
15
17
|
*/
|
|
16
18
|
for?: string;
|
|
17
19
|
/**
|
|
@@ -24,5 +26,12 @@ export declare class SekiLabel {
|
|
|
24
26
|
* @default false
|
|
25
27
|
*/
|
|
26
28
|
disabled?: boolean;
|
|
29
|
+
private binding?;
|
|
30
|
+
onForChange(): void;
|
|
31
|
+
/** Forward clicks to the labelled control (see utils/label-association.ts). */
|
|
32
|
+
onClick(event: MouseEvent): void;
|
|
33
|
+
connectedCallback(): void;
|
|
34
|
+
componentDidLoad(): void;
|
|
35
|
+
disconnectedCallback(): void;
|
|
27
36
|
render(): any;
|
|
28
37
|
}
|
|
@@ -9,7 +9,11 @@ import type { PopoverSide, PopoverAlign } from './seki-popover';
|
|
|
9
9
|
export declare class SekiPopoverContent {
|
|
10
10
|
el: HTMLElement;
|
|
11
11
|
private contentRef?;
|
|
12
|
-
private
|
|
12
|
+
private popoverConsumer;
|
|
13
|
+
/**
|
|
14
|
+
* Re-read the parent's context. Runs once on connect (picking up a popover
|
|
15
|
+
* that is already open) and on every publish.
|
|
16
|
+
*/
|
|
13
17
|
private onPopoverOpenChange;
|
|
14
18
|
/**
|
|
15
19
|
* Override side from parent
|
|
@@ -34,8 +38,7 @@ export declare class SekiPopoverContent {
|
|
|
34
38
|
};
|
|
35
39
|
_actualSide: PopoverSide;
|
|
36
40
|
private getContext;
|
|
37
|
-
|
|
38
|
-
componentDidLoad(): void;
|
|
41
|
+
connectedCallback(): void;
|
|
39
42
|
componentDidRender(): void;
|
|
40
43
|
private updatePosition;
|
|
41
44
|
disconnectedCallback(): void;
|
|
@@ -57,10 +57,16 @@ export declare class SekiPopover {
|
|
|
57
57
|
* Emitted when open state changes
|
|
58
58
|
*/
|
|
59
59
|
sekiOpenChange: EventEmitter<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Internal: notifies popover parts that `_popoverContext` changed. Not part
|
|
62
|
+
* of the public API; listen to `sekiOpenChange` instead.
|
|
63
|
+
*/
|
|
64
|
+
popoverContextChange: EventEmitter<void>;
|
|
60
65
|
private clickOutsideHandler?;
|
|
61
66
|
private clickOutsideTimeout?;
|
|
62
67
|
componentWillLoad(): void;
|
|
63
68
|
openChanged(newValue: boolean): void;
|
|
69
|
+
placementChanged(): void;
|
|
64
70
|
/**
|
|
65
71
|
* Open the popover
|
|
66
72
|
*/
|
|
@@ -79,8 +85,8 @@ export declare class SekiPopover {
|
|
|
79
85
|
private setupClickOutside;
|
|
80
86
|
private removeClickOutside;
|
|
81
87
|
private getContext;
|
|
88
|
+
private publish;
|
|
82
89
|
componentDidLoad(): void;
|
|
83
|
-
componentDidUpdate(): void;
|
|
84
90
|
disconnectedCallback(): void;
|
|
85
91
|
render(): any;
|
|
86
92
|
}
|
|
@@ -74,6 +74,14 @@ export declare class SekiSelect {
|
|
|
74
74
|
handleIsOpenChange(): void;
|
|
75
75
|
handleInternalValueChange(): void;
|
|
76
76
|
handleDisabledChange(): void;
|
|
77
|
+
/**
|
|
78
|
+
* The trigger's label comes from the registered options, so registering an
|
|
79
|
+
* option must notify the parts. Before #323 this was only a silent property
|
|
80
|
+
* write in componentDidRender, and a trigger that rendered before the
|
|
81
|
+
* selected option registered stayed on the placeholder.
|
|
82
|
+
*/
|
|
83
|
+
handleRegisteredOptionsChange(): void;
|
|
84
|
+
private registrationPublishQueued;
|
|
77
85
|
formResetCallback(): void;
|
|
78
86
|
formDisabledCallback(disabled: boolean): void;
|
|
79
87
|
formStateRestoreCallback(state: FormControlState): void;
|
|
@@ -5,9 +5,10 @@ export declare class SekiSelectContent {
|
|
|
5
5
|
el: HTMLElement;
|
|
6
6
|
forceUpdate: number;
|
|
7
7
|
private scrollContainerRef?;
|
|
8
|
-
|
|
8
|
+
private selectConsumer;
|
|
9
|
+
connectedCallback(): void;
|
|
9
10
|
disconnectedCallback(): void;
|
|
10
|
-
private
|
|
11
|
+
private handleParentContextChange;
|
|
11
12
|
/** Scroll to make an option visible */
|
|
12
13
|
scrollToOption(optionId: string): Promise<void>;
|
|
13
14
|
private getSelectContext;
|
|
@@ -20,10 +20,16 @@ export declare class SekiSelectOption {
|
|
|
20
20
|
value: string | number;
|
|
21
21
|
}>;
|
|
22
22
|
private get optionId();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The registerOption function this option last registered through. It is a
|
|
25
|
+
* stable per-select-instance function, so comparing it tells "already
|
|
26
|
+
* registered with this select" apart from "the select published its context
|
|
27
|
+
* for the first time" or "moved to a different select".
|
|
28
|
+
*/
|
|
29
|
+
private registeredVia?;
|
|
30
|
+
private selectConsumer;
|
|
26
31
|
connectedCallback(): void;
|
|
32
|
+
componentDidLoad(): void;
|
|
27
33
|
disconnectedCallback(): void;
|
|
28
34
|
/**
|
|
29
35
|
* Refresh aria-selected/data-selected/data-focused directly on the
|
|
@@ -6,11 +6,17 @@ export declare class SekiSelectTrigger {
|
|
|
6
6
|
el: HTMLElement;
|
|
7
7
|
forceUpdate: number;
|
|
8
8
|
private buttonRef?;
|
|
9
|
-
private
|
|
10
|
-
|
|
9
|
+
private selectConsumer;
|
|
10
|
+
connectedCallback(): void;
|
|
11
11
|
disconnectedCallback(): void;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Listeners follow the button element itself: the button only exists once a
|
|
14
|
+
* context is available (the first render may be the "Loading..." fallback
|
|
15
|
+
* when this trigger upgrades before its seki-select), so binding once in
|
|
16
|
+
* componentDidLoad could miss it entirely.
|
|
17
|
+
*/
|
|
18
|
+
private setButtonRef;
|
|
19
|
+
private handleParentContextChange;
|
|
14
20
|
private handleButtonClick;
|
|
15
21
|
private handleButtonKeyDown;
|
|
16
22
|
private getSelectContext;
|
|
@@ -21,12 +21,16 @@ export declare class SekiSheetContent {
|
|
|
21
21
|
* seki-sheet parent (e.g. mounted standalone).
|
|
22
22
|
*/
|
|
23
23
|
_isOpen: boolean;
|
|
24
|
-
private
|
|
24
|
+
private sheetConsumer;
|
|
25
25
|
private handleCloseClick;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Re-read the parent's open state. Runs once on connect (picking up a sheet
|
|
28
|
+
* that is already open, e.g. `<seki-sheet open>`) and on every publish.
|
|
29
|
+
*/
|
|
27
30
|
private syncOpenState;
|
|
28
|
-
|
|
29
|
-
componentDidLoad(): void;
|
|
31
|
+
connectedCallback(): void;
|
|
30
32
|
disconnectedCallback(): void;
|
|
33
|
+
/** Propagate the side attribute to the parent for CSS targeting. */
|
|
34
|
+
propagateSide(): void;
|
|
31
35
|
render(): any;
|
|
32
36
|
}
|
|
@@ -45,8 +45,12 @@ export declare class SekiSheet {
|
|
|
45
45
|
* event shape so a consumer can listen to one event name across every overlay.
|
|
46
46
|
*/
|
|
47
47
|
sekiOpenChange: EventEmitter<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* Internal: notifies seki-sheet-content that `_sheetContext` changed. Not
|
|
50
|
+
* part of the public API; listen to `sekiOpenChange` instead.
|
|
51
|
+
*/
|
|
52
|
+
sheetContextChange: EventEmitter<void>;
|
|
48
53
|
componentWillLoad(): void;
|
|
49
|
-
componentDidLoad(): void;
|
|
50
54
|
handleOpenPropChange(newValue: boolean): void;
|
|
51
55
|
/**
|
|
52
56
|
* Opens the sheet
|
|
@@ -18,7 +18,7 @@ import { CarouselContext } from "./components/carousel/seki-carousel";
|
|
|
18
18
|
import { ChartData, ChartOptions, ChartType } from "./components/chart/chart-types";
|
|
19
19
|
import { ChartLegendConfig } from "./components/chart-legend/seki-chart-legend";
|
|
20
20
|
import { ComboboxChangeEventDetail, ComboboxCustomValueEventDetail, ComboboxEmptyReason, ComboboxItem, ComboboxMultiSelectDisplay, ComboboxSearchEventDetail, ComboboxValue } from "./utils/combobox";
|
|
21
|
-
import { ColumnDef, ColumnReorderDetail, ColumnResizeDetail, ColumnsChangeDetail, FilterChangeDetail, FilterValue, PageChangeDetail, RowClickDetail, RowExpandDetail, SelectionChangeDetail, SortChangeDetail } from "./components/data-table/interfaces";
|
|
21
|
+
import { ColumnDef, ColumnReorderDetail, ColumnResizeDetail, ColumnsChangeDetail, FetchDataCallback, FilterChangeDetail, FilterValue, PageChangeDetail, RenderExpandedRowCallback, RowClickDetail, RowExpandDetail, SelectionChangeDetail, SortChangeDetail } from "./components/data-table/interfaces";
|
|
22
22
|
import { DatePickerMode, DateRange as DateRange1 } from "./components/date-picker/seki-date-picker";
|
|
23
23
|
import { DrawerDirection } from "./components/drawer/seki-drawer-content";
|
|
24
24
|
import { DropdownMenuAlign, DropdownMenuSide } from "./components/dropdown-menu/seki-dropdown-menu";
|
|
@@ -58,7 +58,7 @@ export { CarouselContext } from "./components/carousel/seki-carousel";
|
|
|
58
58
|
export { ChartData, ChartOptions, ChartType } from "./components/chart/chart-types";
|
|
59
59
|
export { ChartLegendConfig } from "./components/chart-legend/seki-chart-legend";
|
|
60
60
|
export { ComboboxChangeEventDetail, ComboboxCustomValueEventDetail, ComboboxEmptyReason, ComboboxItem, ComboboxMultiSelectDisplay, ComboboxSearchEventDetail, ComboboxValue } from "./utils/combobox";
|
|
61
|
-
export { ColumnDef, ColumnReorderDetail, ColumnResizeDetail, ColumnsChangeDetail, FilterChangeDetail, FilterValue, PageChangeDetail, RowClickDetail, RowExpandDetail, SelectionChangeDetail, SortChangeDetail } from "./components/data-table/interfaces";
|
|
61
|
+
export { ColumnDef, ColumnReorderDetail, ColumnResizeDetail, ColumnsChangeDetail, FetchDataCallback, FilterChangeDetail, FilterValue, PageChangeDetail, RenderExpandedRowCallback, RowClickDetail, RowExpandDetail, SelectionChangeDetail, SortChangeDetail } from "./components/data-table/interfaces";
|
|
62
62
|
export { DatePickerMode, DateRange as DateRange1 } from "./components/date-picker/seki-date-picker";
|
|
63
63
|
export { DrawerDirection } from "./components/drawer/seki-drawer-content";
|
|
64
64
|
export { DropdownMenuAlign, DropdownMenuSide } from "./components/dropdown-menu/seki-dropdown-menu";
|
|
@@ -1449,6 +1449,11 @@ export namespace Components {
|
|
|
1449
1449
|
* @default false
|
|
1450
1450
|
*/
|
|
1451
1451
|
"expandable": boolean;
|
|
1452
|
+
/**
|
|
1453
|
+
* Callback to fetch data. Set it as a JS property. Assigning or replacing it (re)loads the table. Must be a
|
|
1454
|
+
* @Prop : in the lazy-loader build only decorated members are proxied from the host element to the instance.
|
|
1455
|
+
*/
|
|
1456
|
+
"fetchData"?: FetchDataCallback;
|
|
1452
1457
|
/**
|
|
1453
1458
|
* Get current filter state
|
|
1454
1459
|
*/
|
|
@@ -1485,6 +1490,11 @@ export namespace Components {
|
|
|
1485
1490
|
* Refresh data
|
|
1486
1491
|
*/
|
|
1487
1492
|
"refresh": () => Promise<void>;
|
|
1493
|
+
/**
|
|
1494
|
+
* Callback to render expanded row content (must be a
|
|
1495
|
+
* @Prop , see fetchData)
|
|
1496
|
+
*/
|
|
1497
|
+
"renderExpandedRow"?: RenderExpandedRowCallback;
|
|
1488
1498
|
/**
|
|
1489
1499
|
* Fixed row height for virtualization
|
|
1490
1500
|
* @default 48
|
|
@@ -2008,7 +2018,7 @@ export namespace Components {
|
|
|
2008
2018
|
}
|
|
2009
2019
|
interface SekiFieldLabel {
|
|
2010
2020
|
/**
|
|
2011
|
-
* ID of the form control this label is for
|
|
2021
|
+
* ID of the form control this label is for Resolved in the label's own root node (not this component's shadow root), so it reaches light-DOM controls. Falls back to the control nested in the label.
|
|
2012
2022
|
*/
|
|
2013
2023
|
"htmlFor"?: string;
|
|
2014
2024
|
/**
|
|
@@ -2359,7 +2369,7 @@ export namespace Components {
|
|
|
2359
2369
|
*/
|
|
2360
2370
|
"disabled"?: boolean;
|
|
2361
2371
|
/**
|
|
2362
|
-
* The ID of the form element this label is associated with.
|
|
2372
|
+
* The ID of the form element this label is associated with. Resolved in the label's own root node (document or shadow root), not in this component's shadow root, so it reaches light-DOM controls. Without it, the first control nested inside the label is used.
|
|
2363
2373
|
*/
|
|
2364
2374
|
"for"?: string;
|
|
2365
2375
|
/**
|
|
@@ -4710,6 +4720,7 @@ declare global {
|
|
|
4710
4720
|
};
|
|
4711
4721
|
interface HTMLSekiAlertDialogElementEventMap {
|
|
4712
4722
|
"sekiOpenChange": boolean;
|
|
4723
|
+
"sekiContextChange": void;
|
|
4713
4724
|
}
|
|
4714
4725
|
/**
|
|
4715
4726
|
* Alert Dialog root component for confirmation dialogs
|
|
@@ -5480,6 +5491,7 @@ declare global {
|
|
|
5480
5491
|
};
|
|
5481
5492
|
interface HTMLSekiCollapsibleElementEventMap {
|
|
5482
5493
|
"sekiOpenChange": boolean;
|
|
5494
|
+
"sekiContextChange": void;
|
|
5483
5495
|
}
|
|
5484
5496
|
interface HTMLSekiCollapsibleElement extends Components.SekiCollapsible, HTMLStencilElement {
|
|
5485
5497
|
addEventListener<K extends keyof HTMLSekiCollapsibleElementEventMap>(type: K, listener: (this: HTMLSekiCollapsibleElement, ev: SekiCollapsibleCustomEvent<HTMLSekiCollapsibleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -5576,6 +5588,7 @@ declare global {
|
|
|
5576
5588
|
interface HTMLSekiCommandElementEventMap {
|
|
5577
5589
|
"sekiValueChange": string;
|
|
5578
5590
|
"sekiSelect": string;
|
|
5591
|
+
"sekiContextChange": void;
|
|
5579
5592
|
}
|
|
5580
5593
|
/**
|
|
5581
5594
|
* Command root component - command palette for navigation
|
|
@@ -5775,6 +5788,7 @@ declare global {
|
|
|
5775
5788
|
};
|
|
5776
5789
|
interface HTMLSekiDialogElementEventMap {
|
|
5777
5790
|
"sekiOpenChange": boolean;
|
|
5791
|
+
"sekiContextChange": void;
|
|
5778
5792
|
}
|
|
5779
5793
|
/**
|
|
5780
5794
|
* Dialog root component for modal dialogs
|
|
@@ -5927,6 +5941,7 @@ declare global {
|
|
|
5927
5941
|
"drawerClose": void;
|
|
5928
5942
|
"drawerSnap": { point: number };
|
|
5929
5943
|
"sekiOpenChange": boolean;
|
|
5944
|
+
"sekiContextChange": void;
|
|
5930
5945
|
}
|
|
5931
5946
|
/**
|
|
5932
5947
|
* seki-drawer: Mobile-friendly drawer component with swipe gestures
|
|
@@ -7093,6 +7108,7 @@ declare global {
|
|
|
7093
7108
|
};
|
|
7094
7109
|
interface HTMLSekiPopoverElementEventMap {
|
|
7095
7110
|
"sekiOpenChange": boolean;
|
|
7111
|
+
"sekiContextChange": void;
|
|
7096
7112
|
}
|
|
7097
7113
|
/**
|
|
7098
7114
|
* Popover component - floating content triggered by click
|
|
@@ -7388,6 +7404,7 @@ declare global {
|
|
|
7388
7404
|
"sheetOpen": void;
|
|
7389
7405
|
"sheetClose": void;
|
|
7390
7406
|
"sekiOpenChange": boolean;
|
|
7407
|
+
"sekiContextChange": void;
|
|
7391
7408
|
}
|
|
7392
7409
|
/**
|
|
7393
7410
|
* seki-sheet: Root sheet component (slide-out panel)
|
|
@@ -8350,6 +8367,10 @@ declare namespace LocalJSX {
|
|
|
8350
8367
|
* @default false
|
|
8351
8368
|
*/
|
|
8352
8369
|
"defaultOpen"?: boolean;
|
|
8370
|
+
/**
|
|
8371
|
+
* Internal: notifies alert dialog parts that `_alertDialogContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
8372
|
+
*/
|
|
8373
|
+
"onSekiContextChange"?: (event: SekiAlertDialogCustomEvent<void>) => void;
|
|
8353
8374
|
/**
|
|
8354
8375
|
* Emitted when open state changes
|
|
8355
8376
|
*/
|
|
@@ -9308,6 +9329,10 @@ declare namespace LocalJSX {
|
|
|
9308
9329
|
* @default false
|
|
9309
9330
|
*/
|
|
9310
9331
|
"disabled"?: boolean;
|
|
9332
|
+
/**
|
|
9333
|
+
* Internal: notifies collapsible parts that `_collapsibleContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
9334
|
+
*/
|
|
9335
|
+
"onSekiContextChange"?: (event: SekiCollapsibleCustomEvent<void>) => void;
|
|
9311
9336
|
/**
|
|
9312
9337
|
* Emitted when open state changes
|
|
9313
9338
|
*/
|
|
@@ -9476,6 +9501,10 @@ declare namespace LocalJSX {
|
|
|
9476
9501
|
* @default true
|
|
9477
9502
|
*/
|
|
9478
9503
|
"filter"?: boolean;
|
|
9504
|
+
/**
|
|
9505
|
+
* Internal: notifies command parts (input, items, groups, empty state) that `_commandContext` changed. Not part of the public API; listen to `sekiValueChange` instead.
|
|
9506
|
+
*/
|
|
9507
|
+
"onSekiContextChange"?: (event: SekiCommandCustomEvent<void>) => void;
|
|
9479
9508
|
/**
|
|
9480
9509
|
* Emitted when an item is selected
|
|
9481
9510
|
*/
|
|
@@ -9641,6 +9670,11 @@ declare namespace LocalJSX {
|
|
|
9641
9670
|
* @default false
|
|
9642
9671
|
*/
|
|
9643
9672
|
"expandable"?: boolean;
|
|
9673
|
+
/**
|
|
9674
|
+
* Callback to fetch data. Set it as a JS property. Assigning or replacing it (re)loads the table. Must be a
|
|
9675
|
+
* @Prop : in the lazy-loader build only decorated members are proxied from the host element to the instance.
|
|
9676
|
+
*/
|
|
9677
|
+
"fetchData"?: FetchDataCallback;
|
|
9644
9678
|
/**
|
|
9645
9679
|
* Show loading state
|
|
9646
9680
|
* @default false
|
|
@@ -9697,6 +9731,11 @@ declare namespace LocalJSX {
|
|
|
9697
9731
|
* @default '[25, 50, 100]'
|
|
9698
9732
|
*/
|
|
9699
9733
|
"pageSizeOptions"?: string | number[];
|
|
9734
|
+
/**
|
|
9735
|
+
* Callback to render expanded row content (must be a
|
|
9736
|
+
* @Prop , see fetchData)
|
|
9737
|
+
*/
|
|
9738
|
+
"renderExpandedRow"?: RenderExpandedRowCallback;
|
|
9700
9739
|
/**
|
|
9701
9740
|
* Fixed row height for virtualization
|
|
9702
9741
|
* @default 48
|
|
@@ -9839,6 +9878,10 @@ declare namespace LocalJSX {
|
|
|
9839
9878
|
* @default true
|
|
9840
9879
|
*/
|
|
9841
9880
|
"modal"?: boolean;
|
|
9881
|
+
/**
|
|
9882
|
+
* Internal: notifies dialog parts (content, overlay, title, description) that `_dialogContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
9883
|
+
*/
|
|
9884
|
+
"onSekiContextChange"?: (event: SekiDialogCustomEvent<void>) => void;
|
|
9842
9885
|
/**
|
|
9843
9886
|
* Emitted when open state changes
|
|
9844
9887
|
*/
|
|
@@ -9950,6 +9993,10 @@ declare namespace LocalJSX {
|
|
|
9950
9993
|
* Emitted when the drawer snaps to a point
|
|
9951
9994
|
*/
|
|
9952
9995
|
"onDrawerSnap"?: (event: SekiDrawerCustomEvent<{ point: number }>) => void;
|
|
9996
|
+
/**
|
|
9997
|
+
* Internal: notifies seki-drawer-content that `_drawerContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
9998
|
+
*/
|
|
9999
|
+
"onSekiContextChange"?: (event: SekiDrawerCustomEvent<void>) => void;
|
|
9953
10000
|
/**
|
|
9954
10001
|
* Emitted whenever the open state changes. Matches the dialog/popover/collapsible event shape so a consumer can listen to one event name across every overlay.
|
|
9955
10002
|
*/
|
|
@@ -10225,7 +10272,7 @@ declare namespace LocalJSX {
|
|
|
10225
10272
|
}
|
|
10226
10273
|
interface SekiFieldLabel {
|
|
10227
10274
|
/**
|
|
10228
|
-
* ID of the form control this label is for
|
|
10275
|
+
* ID of the form control this label is for Resolved in the label's own root node (not this component's shadow root), so it reaches light-DOM controls. Falls back to the control nested in the label.
|
|
10229
10276
|
*/
|
|
10230
10277
|
"htmlFor"?: string;
|
|
10231
10278
|
/**
|
|
@@ -10628,7 +10675,7 @@ declare namespace LocalJSX {
|
|
|
10628
10675
|
*/
|
|
10629
10676
|
"disabled"?: boolean;
|
|
10630
10677
|
/**
|
|
10631
|
-
* The ID of the form element this label is associated with.
|
|
10678
|
+
* The ID of the form element this label is associated with. Resolved in the label's own root node (document or shadow root), not in this component's shadow root, so it reaches light-DOM controls. Without it, the first control nested inside the label is used.
|
|
10632
10679
|
*/
|
|
10633
10680
|
"for"?: string;
|
|
10634
10681
|
/**
|
|
@@ -11424,6 +11471,10 @@ declare namespace LocalJSX {
|
|
|
11424
11471
|
* @default false
|
|
11425
11472
|
*/
|
|
11426
11473
|
"defaultOpen"?: boolean;
|
|
11474
|
+
/**
|
|
11475
|
+
* Internal: notifies popover parts that `_popoverContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
11476
|
+
*/
|
|
11477
|
+
"onSekiContextChange"?: (event: SekiPopoverCustomEvent<void>) => void;
|
|
11427
11478
|
/**
|
|
11428
11479
|
* Emitted when open state changes
|
|
11429
11480
|
*/
|
|
@@ -11864,6 +11915,10 @@ declare namespace LocalJSX {
|
|
|
11864
11915
|
* @default false
|
|
11865
11916
|
*/
|
|
11866
11917
|
"defaultOpen"?: boolean;
|
|
11918
|
+
/**
|
|
11919
|
+
* Internal: notifies seki-sheet-content that `_sheetContext` changed. Not part of the public API; listen to `sekiOpenChange` instead.
|
|
11920
|
+
*/
|
|
11921
|
+
"onSekiContextChange"?: (event: SekiSheetCustomEvent<void>) => void;
|
|
11867
11922
|
/**
|
|
11868
11923
|
* Emitted whenever the open state changes. Matches the dialog/popover/collapsible event shape so a consumer can listen to one event name across every overlay.
|
|
11869
11924
|
*/
|
|
@@ -3,10 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generalizes the "parent publishes state onto its host element + child
|
|
5
5
|
* subscribes via closest()" pattern used by compound components (select,
|
|
6
|
-
* toggle-group, combobox, ...).
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* toggle-group, combobox, dialog, popover, ...).
|
|
7
|
+
*
|
|
8
|
+
* Parent (provider) contract:
|
|
9
|
+
* - call publishContext() from componentWillLoad(), so the context exists
|
|
10
|
+
* before any child renders for the first time, and
|
|
11
|
+
* - call it again on every state change, including changes that arrive as a
|
|
12
|
+
* @Prop assignment (@Watch) rather than through a @Method or user input.
|
|
13
|
+
*
|
|
14
|
+
* Child (consumer) contract — use a ContextConsumer:
|
|
15
|
+
* - call connect(this.el) from connectedCallback() (runs before the first
|
|
16
|
+
* render, and again after the element is moved to a new parent), and
|
|
17
|
+
* - call disconnect() from disconnectedCallback().
|
|
18
|
+
* connect() invokes the callback once immediately, so a child that
|
|
19
|
+
* upgrades after its parent already published still starts from the current
|
|
20
|
+
* state; a child that upgrades before its parent (one-module-per-tag
|
|
21
|
+
* loading, #314) hears the parent's first publish from componentWillLoad().
|
|
22
|
+
*
|
|
23
|
+
* subscribeToContextChange() is the older listener-only form (no immediate
|
|
24
|
+
* read, light-DOM closest() only); prefer ContextConsumer for new code.
|
|
10
25
|
*
|
|
11
26
|
* Extracted after the same bug (child freezes at mount-time state because
|
|
12
27
|
* nothing told it the parent changed) was independently fixed three times
|
|
@@ -43,3 +58,52 @@ export declare function subscribeToContextChange(el: HTMLElement, parentSelector
|
|
|
43
58
|
parent: HTMLElement | null;
|
|
44
59
|
unsubscribe: () => void;
|
|
45
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Nearest ancestor matching `selector`, continuing past shadow roots: when the
|
|
63
|
+
* element's own tree has no match, the search resumes from the shadow host.
|
|
64
|
+
* This lets a part rendered inside another component's shadow tree still find
|
|
65
|
+
* the provider that wraps that component.
|
|
66
|
+
*/
|
|
67
|
+
export declare function findContextProvider(el: Element, selector: string): HTMLElement | null;
|
|
68
|
+
/**
|
|
69
|
+
* Child-side: tracks one provider (see findContextProvider) for a part.
|
|
70
|
+
*
|
|
71
|
+
* private dialog = new ContextConsumer<DialogContext>('seki-dialog', '_dialogContext', () => this.sync());
|
|
72
|
+
* connectedCallback() { this.dialog.connect(this.el); }
|
|
73
|
+
* disconnectedCallback() { this.dialog.disconnect(); }
|
|
74
|
+
*
|
|
75
|
+
* connect() finds the provider, starts listening for its context-change
|
|
76
|
+
* notifications and calls `onChange` once right away, so the part starts from
|
|
77
|
+
* whatever is already published. `parent` and `context` are already set when
|
|
78
|
+
* that first call happens. Calling connect() from connectedCallback runs it
|
|
79
|
+
* before the first render and again after the part is moved to another
|
|
80
|
+
* provider.
|
|
81
|
+
*
|
|
82
|
+
* `onChange` gets no event payload by design (see SEKI_CONTEXT_CHANGE_EVENT):
|
|
83
|
+
* it reads the live `context`. Notifications bubbling up from a nested
|
|
84
|
+
* provider are ignored; only events dispatched by this part's own provider
|
|
85
|
+
* host (or retargeted to it from that host's shadow tree) count.
|
|
86
|
+
*
|
|
87
|
+
* Works whether or not the provider element has been upgraded yet: the
|
|
88
|
+
* listener sits on the element itself, so the provider's first
|
|
89
|
+
* publishContext() from componentWillLoad() reaches it.
|
|
90
|
+
*/
|
|
91
|
+
export declare class ContextConsumer<T> {
|
|
92
|
+
private readonly parentSelector;
|
|
93
|
+
private readonly propertyName;
|
|
94
|
+
private readonly onChange;
|
|
95
|
+
private provider;
|
|
96
|
+
constructor(parentSelector: string, propertyName: string, onChange: (context: T | null) => void);
|
|
97
|
+
/** The provider element found by the last connect(), or null. */
|
|
98
|
+
get parent(): HTMLElement | null;
|
|
99
|
+
/** The provider's current context, or null when there is none yet. */
|
|
100
|
+
get context(): T | null;
|
|
101
|
+
connect(host: HTMLElement): void;
|
|
102
|
+
disconnect(): void;
|
|
103
|
+
private handleEvent;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Read a context object a provider published with publishContext(). Returns
|
|
107
|
+
* null when there is no provider or it has not published yet.
|
|
108
|
+
*/
|
|
109
|
+
export declare function readContext<T>(parent: Element | null | undefined, propertyName: string): T | null;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Label association for `seki-label` and `seki-field-label`.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this exists
|
|
5
|
+
*
|
|
6
|
+
* Both labels render their text inside a shadow root. A native `<label for>`
|
|
7
|
+
* resolves its `for` id inside the tree the `<label>` lives in, so a `<label>`
|
|
8
|
+
* in our shadow root can never reach a control in the page's light DOM: clicks
|
|
9
|
+
* did nothing and the control had no accessible name (#329).
|
|
10
|
+
*
|
|
11
|
+
* The host element (`<seki-label>`) *does* live in the consumer's tree, so the
|
|
12
|
+
* wiring is done from the host in script, resolving the id against
|
|
13
|
+
* `host.getRootNode()` (the label's own root, which is where an author expects
|
|
14
|
+
* `for` to point, also when the label sits inside another component's shadow
|
|
15
|
+
* root together with its control).
|
|
16
|
+
*
|
|
17
|
+
* ## Behaviour
|
|
18
|
+
*
|
|
19
|
+
* - **Activation**: a click on the label forwards to the target the way a native
|
|
20
|
+
* label would. Toggles (checkbox, switch, radio) are clicked, text-like
|
|
21
|
+
* controls are focused. A click that originated on the control itself (the
|
|
22
|
+
* wrapping form `<seki-label><seki-checkbox/> Text</seki-label>`) is ignored so
|
|
23
|
+
* the control never toggles twice.
|
|
24
|
+
* - **Accessible name**: a shadow-DOM control hides its real focusable element
|
|
25
|
+
* (`<button role="checkbox">`, `<input>`, ...) inside its own shadow root, and
|
|
26
|
+
* an `aria-labelledby` id reference cannot cross a shadow boundary, so
|
|
27
|
+
* pointing the host at the label would not name the inner element. SekiUI
|
|
28
|
+
* controls all forward their `aria-label` attribute to that inner element, so
|
|
29
|
+
* for them the label text is passed through as `aria-label`. For native
|
|
30
|
+
* elements the reference does resolve, so we use `aria-labelledby` and the
|
|
31
|
+
* name tracks the label's live content.
|
|
32
|
+
* Anything the author set explicitly (`aria-label`, `aria-labelledby`) is
|
|
33
|
+
* never overwritten; we only manage values we wrote ourselves, tracked with a
|
|
34
|
+
* marker attribute so they can be updated and cleaned up.
|
|
35
|
+
* `ElementInternals.ariaLabelledByElements` is deliberately not used: it is
|
|
36
|
+
* unavailable in Firefox and older Safari, and cannot reach the inner element
|
|
37
|
+
* of a shadow-DOM control either.
|
|
38
|
+
*/
|
|
39
|
+
export declare class LabelBinding {
|
|
40
|
+
private readonly host;
|
|
41
|
+
private readonly getFor;
|
|
42
|
+
private target;
|
|
43
|
+
private observer?;
|
|
44
|
+
constructor(host: HTMLElement, getFor: () => string | undefined);
|
|
45
|
+
/** Resolve the control this label is for, in the label's own root. */
|
|
46
|
+
resolveTarget(): HTMLElement | null;
|
|
47
|
+
/** Label text, without the text of a control nested inside the label. */
|
|
48
|
+
private labelText;
|
|
49
|
+
/** (Re)apply the accessible name. Call on load, `for` change and slot change. */
|
|
50
|
+
sync(): void;
|
|
51
|
+
/** Remove anything this binding wrote on the current target. */
|
|
52
|
+
release(): void;
|
|
53
|
+
/** Re-sync when the control is added after the label (async rendering). */
|
|
54
|
+
observe(): void;
|
|
55
|
+
disconnect(): void;
|
|
56
|
+
/** Forward a click on the label to its control, as a native label would. */
|
|
57
|
+
handleClick(event: Event): void;
|
|
58
|
+
}
|
package/package.json
CHANGED
package/dist/cdn/p-DJMgrCw3.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context Bridge Utility
|
|
3
|
-
*
|
|
4
|
-
* Generalizes the "parent publishes state onto its host element + child
|
|
5
|
-
* subscribes via closest()" pattern used by compound components (select,
|
|
6
|
-
* toggle-group, combobox, ...). Each parent calls publishContext() from its
|
|
7
|
-
* updateContextOnElement()-equivalent method; each child calls
|
|
8
|
-
* subscribeToContextChange() once in componentDidLoad() and the returned
|
|
9
|
-
* unsubscribe() in disconnectedCallback().
|
|
10
|
-
*
|
|
11
|
-
* Extracted after the same bug (child freezes at mount-time state because
|
|
12
|
-
* nothing told it the parent changed) was independently fixed three times
|
|
13
|
-
* for select (#244/#253), toggle-group (#255/#257), and combobox (#258/#259).
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* One event name shared by every compound-component family. Stencil's
|
|
17
|
-
* @Event() emits with { bubbles: true, composed: true } by default, so a
|
|
18
|
-
* nested compound (e.g. a toggle-group rendered inside a select) can cause an
|
|
19
|
-
* inner parent's event to bubble past an outer parent's own children. This is
|
|
20
|
-
* harmless today only because subscribeToContextChange()'s callback takes no
|
|
21
|
-
* payload and every handler re-reads its own closest() parent's live context
|
|
22
|
-
* rather than trusting event.detail — do not add a payload to this event or
|
|
23
|
-
* that bubbling becomes a real cross-family bug.
|
|
24
|
-
*/
|
|
25
|
-
const SEKI_CONTEXT_CHANGE_EVENT = 'sekiContextChange';
|
|
26
|
-
/**
|
|
27
|
-
* Parent-side: publish a fresh context object onto the host element and
|
|
28
|
-
* notify subscribed children. Must assign a plain property, not a class
|
|
29
|
-
* accessor of the same name — in the dist-custom-elements build the class
|
|
30
|
-
* IS the host element, so an accessor collision throws (#254).
|
|
31
|
-
*/
|
|
32
|
-
function publishContext(el, propertyName, context, emitter) {
|
|
33
|
-
el[propertyName] = context;
|
|
34
|
-
emitter.emit();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Child-side: find the nearest ancestor matching parentSelector and listen
|
|
38
|
-
* for context-change notifications. onChange is called with no payload by
|
|
39
|
-
* design — children re-read the live context property via closest() rather
|
|
40
|
-
* than trusting a stale event.detail snapshot. No-ops safely (null parent,
|
|
41
|
-
* no-op unsubscribe) if no matching parent is found.
|
|
42
|
-
*/
|
|
43
|
-
function subscribeToContextChange(el, parentSelector, onChange) {
|
|
44
|
-
const parent = el.closest(parentSelector);
|
|
45
|
-
if (parent) {
|
|
46
|
-
parent.addEventListener(SEKI_CONTEXT_CHANGE_EVENT, onChange);
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
parent,
|
|
50
|
-
unsubscribe: () => parent === null || parent === void 0 ? void 0 : parent.removeEventListener(SEKI_CONTEXT_CHANGE_EVENT, onChange),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { publishContext as p, subscribeToContextChange as s };
|