@xplortech/apollo-core 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.typings/apollo-components.html-data.json +134 -12
- package/AGENTS.md +27 -3
- package/README.md +12 -0
- package/build/components/accordion.css +1 -0
- package/build/components/application-shell.css +1 -0
- package/build/components/avatar.css +1 -0
- package/build/components/backdrop.css +1 -0
- package/build/components/badge.css +1 -0
- package/build/components/banner.css +1 -0
- package/build/components/breadcrumbs.css +1 -0
- package/build/components/button-row.css +1 -0
- package/build/components/button.css +1 -0
- package/build/components/calendar.css +1 -0
- package/build/components/checkbox-radio.css +1 -0
- package/build/components/choicelist.css +1 -0
- package/build/components/content-area.css +1 -0
- package/build/components/dashboard.css +1 -0
- package/build/components/data-card.css +1 -0
- package/build/components/divider.css +1 -0
- package/build/components/dropdown.css +1 -0
- package/build/components/dynamic-table-cell.css +1 -0
- package/build/components/dynamic-table-row.css +1 -0
- package/build/components/dynamic-table.css +1 -0
- package/build/components/grid.css +1 -0
- package/build/components/header-accordion.css +1 -0
- package/build/components/icon.css +1 -0
- package/build/components/input-color.css +1 -0
- package/build/components/input-date.css +1 -0
- package/build/components/input-file.css +1 -0
- package/build/components/input-phone.css +1 -0
- package/build/components/input-search.css +1 -0
- package/build/components/input-time.css +1 -0
- package/build/components/input.css +1 -0
- package/build/components/label.css +1 -0
- package/build/components/large-card.css +1 -0
- package/build/components/list-action.css +1 -0
- package/build/components/list-item.css +1 -0
- package/build/components/list.css +1 -0
- package/build/components/main-nav.css +1 -0
- package/build/components/modal.css +1 -0
- package/build/components/nav-item.css +1 -0
- package/build/components/pagination.css +1 -0
- package/build/components/panel.css +1 -0
- package/build/components/popover.css +1 -0
- package/build/components/progress-bar.css +1 -0
- package/build/components/progress-indicator.css +1 -0
- package/build/components/secondary-nav.css +1 -0
- package/build/components/select.css +1 -0
- package/build/components/side-nav.css +1 -0
- package/build/components/skeleton.css +1 -0
- package/build/components/slideout.css +1 -0
- package/build/components/spotlight.css +1 -0
- package/build/components/table-header-cell.css +1 -0
- package/build/components/table-header.css +1 -0
- package/build/components/table.css +1 -0
- package/build/components/tabs.css +1 -0
- package/build/components/tag.css +1 -0
- package/build/components/toast.css +1 -0
- package/build/components/toggle.css +1 -0
- package/build/components/toolbar.css +1 -0
- package/build/components/tooltip.css +1 -0
- package/build/components/top-nav.css +1 -0
- package/build/components/utility-bar.css +1 -0
- package/build/components-manifest.json +220 -0
- package/build/core.css +2 -0
- package/build/reset.css +394 -0
- package/build/style.css +2 -13120
- package/build/tailwind-theme.css +2 -0
- package/build/typography.css +1 -0
- package/build/variables/apollo.css +779 -0
- package/build/variables/field-edge.css +554 -0
- package/build/vendor/flatpickr.css +1 -0
- package/dist/apollo-core/apollo-core.css +2 -55
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/p-0095174c.entry.js +1 -0
- package/dist/apollo-core/p-020ecd66.entry.js +1 -0
- package/dist/apollo-core/p-0463c29f.entry.js +1 -0
- package/dist/apollo-core/p-091411e3.entry.js +1 -0
- package/dist/apollo-core/p-0be4dbb8.entry.js +1 -0
- package/dist/apollo-core/p-1139fac0.entry.js +1 -0
- package/dist/apollo-core/p-121d1a4b.entry.js +1 -0
- package/dist/apollo-core/p-140a96c7.entry.js +1 -0
- package/dist/apollo-core/p-1M1pu0C2.js +1 -0
- package/dist/apollo-core/p-1a417191.entry.js +1 -0
- package/dist/apollo-core/p-256ece8b.entry.js +1 -0
- package/dist/apollo-core/p-26861d09.entry.js +1 -0
- package/dist/apollo-core/p-26b6a0ed.entry.js +1 -0
- package/dist/apollo-core/p-39e71d86.entry.js +1 -0
- package/dist/apollo-core/p-3d9c90ee.entry.js +1 -0
- package/dist/apollo-core/p-3dd1de49.entry.js +1 -0
- package/dist/apollo-core/p-4129d971.entry.js +1 -0
- package/dist/apollo-core/p-46d21684.entry.js +1 -0
- package/dist/apollo-core/p-4e61587f.entry.js +1 -0
- package/dist/apollo-core/p-5afc9831.entry.js +1 -0
- package/dist/apollo-core/p-5ca18bc1.entry.js +1 -0
- package/dist/apollo-core/p-5d25a84a.entry.js +1 -0
- package/dist/apollo-core/p-5e5c5016.entry.js +1 -0
- package/dist/apollo-core/p-601b3ab5.entry.js +1 -0
- package/dist/apollo-core/p-616c5a32.entry.js +1 -0
- package/dist/apollo-core/p-638fd9b1.entry.js +1 -0
- package/dist/apollo-core/p-643c8038.entry.js +1 -0
- package/dist/apollo-core/p-707b1918.entry.js +1 -0
- package/dist/apollo-core/p-724c5038.entry.js +1 -0
- package/dist/apollo-core/p-76f64d65.entry.js +1 -0
- package/dist/apollo-core/p-7976cd3b.entry.js +1 -0
- package/dist/apollo-core/p-7f105d63.entry.js +1 -0
- package/dist/apollo-core/p-80a11cad.entry.js +1 -0
- package/dist/apollo-core/p-853418be.entry.js +1 -0
- package/dist/apollo-core/p-875e0eaa.entry.js +1 -0
- package/dist/apollo-core/p-8845106f.entry.js +1 -0
- package/dist/apollo-core/p-8a81ef98.entry.js +1 -0
- package/dist/apollo-core/p-8a925e9d.entry.js +1 -0
- package/dist/apollo-core/p-8ddbf2e2.entry.js +1 -0
- package/dist/apollo-core/p-9747cf43.entry.js +1 -0
- package/dist/apollo-core/p-9b0174b1.entry.js +1 -0
- package/dist/apollo-core/p-9bf2ff9f.entry.js +1 -0
- package/dist/apollo-core/p-BFTU3MAI.js +1 -0
- package/dist/apollo-core/p-BQtbf88X.js +1 -0
- package/dist/apollo-core/p-CWdQxaaX.js +1 -0
- package/dist/apollo-core/p-C_PEOQWj.js +1 -0
- package/dist/apollo-core/p-CzwViN3U.js +1 -0
- package/dist/apollo-core/p-DkqlawVY.js +1 -0
- package/dist/apollo-core/p-Dqb1pIRo.js +1 -0
- package/dist/apollo-core/p-_r9-FML8.js +1 -0
- package/dist/apollo-core/p-a0d3b7f8.entry.js +1 -0
- package/dist/apollo-core/p-a33b0943.entry.js +1 -0
- package/dist/apollo-core/p-b537f72d.entry.js +1 -0
- package/dist/apollo-core/p-ba41bbd5.entry.js +1 -0
- package/dist/apollo-core/p-bb22ed2a.entry.js +1 -0
- package/dist/apollo-core/p-c25aebe5.entry.js +1 -0
- package/dist/apollo-core/p-c427a31d.entry.js +1 -0
- package/dist/apollo-core/p-cde21f72.entry.js +1 -0
- package/dist/apollo-core/p-d288c1d1.entry.js +1 -0
- package/dist/apollo-core/p-d37488d4.entry.js +1 -0
- package/dist/apollo-core/p-d3f2b8b8.entry.js +1 -0
- package/dist/apollo-core/p-dfaba114.entry.js +1 -0
- package/dist/apollo-core/p-e00ed4f4.entry.js +1 -0
- package/dist/apollo-core/p-e2a16242.entry.js +1 -0
- package/dist/apollo-core/p-e4ae3f60.entry.js +1 -0
- package/dist/apollo-core/p-ec488f9c.entry.js +1 -0
- package/dist/apollo-core/p-efa21ec0.entry.js +1 -0
- package/dist/apollo-core/p-f199ad66.entry.js +1 -0
- package/dist/apollo-core/p-f2bfe6a6.entry.js +1 -0
- package/dist/apollo-core/p-fd2756d8.entry.js +1 -0
- package/dist/apollo-core/p-fef6c256.entry.js +1 -0
- package/dist/apollo-core/p-ff8acf15.entry.js +1 -0
- package/dist/apollo-core/p-ukZKsqqq.js +2 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +10 -0
- package/dist/cjs/apollo-core.cjs.js +2 -2
- package/dist/cjs/floating-ui.dom-DuvGwvW-.js +1710 -0
- package/dist/cjs/{index-BaXVr8ux.js → index-3cBvw409.js} +760 -9
- package/dist/cjs/index-DP4JWqOH.js +456 -0
- package/dist/cjs/lifecycle-DeSsFfQZ.js +74 -0
- package/dist/cjs/light-dom-slots-CS8Q9rRZ.js +19 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/side-nav-slot-utils-DMog5BVN.js +41 -0
- package/dist/cjs/slot-presence-HmQUW2Ba.js +10 -0
- package/dist/cjs/tab-a11y-ids--A4ZoXEj.js +27 -0
- package/dist/cjs/top-nav-constants-DckvgAo7.js +5 -0
- package/dist/cjs/xpl-accordion.cjs.entry.js +5 -3
- package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
- package/dist/cjs/xpl-avatar_3.cjs.entry.js +210 -0
- package/dist/cjs/xpl-backdrop.cjs.entry.js +19 -0
- package/dist/cjs/xpl-badge.cjs.entry.js +37 -0
- package/dist/cjs/xpl-banner.cjs.entry.js +74 -0
- package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +18 -0
- package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +14 -0
- package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
- package/dist/cjs/xpl-button.cjs.entry.js +81 -0
- package/dist/cjs/xpl-calendar.cjs.entry.js +10 -6
- package/dist/cjs/xpl-checkbox.cjs.entry.js +32 -0
- package/dist/cjs/xpl-choicelist.cjs.entry.js +68 -0
- package/dist/cjs/xpl-content-area.cjs.entry.js +15 -0
- package/dist/cjs/xpl-dashboard.cjs.entry.js +14 -0
- package/dist/cjs/xpl-data-card.cjs.entry.js +111 -0
- package/dist/cjs/xpl-dropdown_4.cjs.entry.js +577 -0
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +8 -6
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +11 -18
- package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid.cjs.entry.js +6 -6
- package/dist/cjs/xpl-header-accordion.cjs.entry.js +69 -0
- package/dist/{esm/xpl-avatar_54.entry.js → cjs/xpl-icon.cjs.entry.js} +1293 -10607
- package/dist/cjs/xpl-input-color.cjs.entry.js +435 -0
- package/dist/cjs/xpl-input-phone.cjs.entry.js +509 -0
- package/dist/cjs/xpl-input-time.cjs.entry.js +196 -0
- package/dist/cjs/xpl-input_4.cjs.entry.js +524 -0
- package/dist/cjs/xpl-large-card.cjs.entry.js +63 -4
- package/dist/cjs/xpl-list-item.cjs.entry.js +460 -0
- package/dist/cjs/xpl-list.cjs.entry.js +396 -0
- package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
- package/dist/cjs/xpl-modal.cjs.entry.js +78 -0
- package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +86 -0
- package/dist/cjs/xpl-nav-item.cjs.entry.js +25 -0
- package/dist/cjs/xpl-pagination.cjs.entry.js +112 -0
- package/dist/cjs/xpl-panel.cjs.entry.js +21 -0
- package/dist/cjs/xpl-popover.cjs.entry.js +265 -0
- package/dist/cjs/xpl-progress-bar.cjs.entry.js +41 -0
- package/dist/cjs/xpl-progress-indicator.cjs.entry.js +74 -0
- package/dist/cjs/xpl-secondary-nav.cjs.entry.js +14 -0
- package/dist/cjs/xpl-select_2.cjs.entry.js +493 -0
- package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +101 -0
- package/dist/cjs/xpl-side-nav-item.cjs.entry.js +130 -0
- package/dist/cjs/xpl-side-nav-section.cjs.entry.js +105 -0
- package/dist/cjs/xpl-side-nav.cjs.entry.js +272 -0
- package/dist/cjs/xpl-skeleton.cjs.entry.js +26 -0
- package/dist/cjs/xpl-slideout.cjs.entry.js +47 -0
- package/dist/cjs/xpl-spotlight.cjs.entry.js +722 -0
- package/dist/cjs/xpl-tab-panel.cjs.entry.js +24 -0
- package/dist/cjs/xpl-tab.cjs.entry.js +87 -0
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +5 -3
- package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
- package/dist/cjs/xpl-table.cjs.entry.js +185 -0
- package/dist/cjs/xpl-tabs.cjs.entry.js +373 -0
- package/dist/cjs/xpl-toast.cjs.entry.js +91 -0
- package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
- package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
- package/dist/cjs/xpl-tooltip.cjs.entry.js +18 -0
- package/dist/cjs/xpl-top-nav-item.cjs.entry.js +435 -0
- package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +91 -0
- package/dist/cjs/xpl-top-nav.cjs.entry.js +342 -0
- package/dist/cjs/xpl-utility-bar.cjs.entry.js +23 -0
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/xpl-accordion/accordion.stories.js +6 -2
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +4 -2
- package/dist/collection/components/xpl-application-shell/application-shell.stories.js +19 -1
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
- package/dist/collection/components/xpl-avatar/avatar.stories.js +19 -9
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +12 -16
- package/dist/collection/components/xpl-backdrop/backdrop.stories.js +17 -3
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
- package/dist/collection/components/xpl-badge/badge.stories.js +21 -8
- package/dist/collection/components/xpl-badge/xpl-badge.js +4 -5
- package/dist/collection/components/xpl-banner/banner.stories.js +1 -1
- package/dist/collection/components/xpl-banner/xpl-banner.js +7 -9
- package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +5 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
- package/dist/collection/components/xpl-button/button.stories.js +2 -0
- package/dist/collection/components/xpl-button/xpl-button.js +17 -14
- package/dist/collection/components/xpl-button-row/button-row.stories.js +9 -0
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
- package/dist/collection/components/xpl-calendar/calendar.stories.js +11 -3
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +9 -5
- package/dist/collection/components/xpl-checkbox/checkbox.stories.js +11 -2
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +7 -8
- package/dist/collection/components/xpl-choicelist/choicelist.stories.js +24 -0
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +6 -6
- package/dist/collection/components/xpl-content-area/content-area.stories.js +13 -24
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
- package/dist/collection/components/xpl-dashboard/dashboard.stories.js +9 -0
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
- package/dist/collection/components/xpl-data-card/data-card.stories.js +55 -0
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +69 -5
- package/dist/collection/components/xpl-divider/divider.stories.js +11 -0
- package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
- package/dist/collection/components/xpl-dropdown/dropdown.stories.js +13 -5
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -17
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +9 -5
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +108 -116
- package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +5 -1
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +13 -19
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +7 -5
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +4 -4
- package/dist/collection/components/xpl-grid/grid.stories.js +9 -0
- package/dist/collection/components/xpl-grid/xpl-grid.js +5 -5
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
- package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +6 -2
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +7 -23
- package/dist/collection/components/xpl-icon/icons.stories.js +21 -2
- package/dist/collection/components/xpl-icon/xpl-icon.js +2 -3
- package/dist/collection/components/xpl-input/input.stories.js +120 -104
- package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +12 -6
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +47 -38
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +31 -14
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +11 -13
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +38 -41
- package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +5 -8
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +11 -10
- package/dist/collection/components/xpl-input/xpl-input.js +69 -37
- package/dist/collection/components/xpl-large-card/large-card.stories.js +27 -3
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +69 -3
- package/dist/collection/components/xpl-list/list.stories.js +11 -2
- package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +29 -31
- package/dist/collection/components/xpl-list/xpl-list.js +21 -26
- package/dist/collection/components/xpl-main-nav/main-nav.stories.js +5 -0
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
- package/dist/collection/components/xpl-modal/modal.stories.js +15 -6
- package/dist/collection/components/xpl-modal/xpl-modal.js +21 -8
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
- package/dist/collection/components/xpl-pagination/pagination.stories.js +10 -2
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +10 -12
- package/dist/collection/components/xpl-panel/panel.stories.js +9 -0
- package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
- package/dist/collection/components/xpl-popover/popover.stories.js +15 -5
- package/dist/collection/components/xpl-popover/xpl-popover.js +36 -8
- package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +10 -1
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
- package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +9 -1
- package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
- package/dist/collection/components/xpl-radio/radio.stories.js +9 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +7 -7
- package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +10 -5
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
- package/dist/collection/components/xpl-select/select.stories.js +11 -8
- package/dist/collection/components/xpl-select/xpl-select.js +91 -49
- package/dist/collection/components/xpl-side-nav/side-nav-slot-utils.js +35 -0
- package/dist/collection/components/xpl-side-nav/side-nav.stories.js +454 -18
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +201 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +10 -11
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +186 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +75 -12
- package/dist/collection/components/xpl-skeleton/skeleton.stories.js +10 -1
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +3 -3
- package/dist/collection/components/xpl-slideout/slideout.stories.js +13 -0
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +4 -1
- package/dist/collection/components/xpl-spotlight/spotlight.stories.js +22 -15
- package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +44 -49
- package/dist/collection/components/xpl-tab/xpl-tab.js +63 -8
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -4
- package/dist/collection/components/xpl-table/table.stories.js +11 -2
- package/dist/collection/components/xpl-table/xpl-table.js +52 -36
- package/dist/collection/components/xpl-table-header/table-header.stories.js +9 -1
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
- package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +10 -2
- package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +4 -2
- package/dist/collection/components/xpl-tabs/segment-control.stories.js +10 -1
- package/dist/collection/components/xpl-tabs/tabs.shared.js +77 -19
- package/dist/collection/components/xpl-tabs/tabs.stories.js +14 -2
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +29 -25
- package/dist/collection/components/xpl-tag/tag.stories.js +15 -9
- package/dist/collection/components/xpl-tag/xpl-tag.js +5 -7
- package/dist/collection/components/xpl-toast/toast.stories.js +43 -17
- package/dist/collection/components/xpl-toast/xpl-toast.js +107 -56
- package/dist/collection/components/xpl-toggle/toggle.stories.js +8 -1
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +5 -5
- package/dist/collection/components/xpl-toolbar/toolbar.stories.js +39 -0
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
- package/dist/collection/components/xpl-tooltip/tooltip.stories.js +9 -0
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
- package/dist/collection/components/xpl-top-nav/top-nav-constants.js +1 -0
- package/dist/collection/components/xpl-top-nav/top-nav.stories.js +160 -21
- package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +11 -5
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.js +2 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +335 -97
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +114 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +101 -33
- package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +16 -9
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
- package/dist/collection/utils/floating.js +69 -0
- package/dist/collection/utils/layout-ancestors.js +7 -0
- package/dist/collection/utils/lifecycle.js +31 -10
- package/dist/collection/utils/light-dom-slots.js +15 -0
- package/dist/collection/utils/slot-presence.js +6 -0
- package/dist/collection/utils/ssr-known-mismatches.js +50 -0
- package/dist/collection/utils/tab-a11y-ids.js +1 -2
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-1M1pu0C2.js +1 -0
- package/dist/components/p-2jYZ7ACH.js +1 -0
- package/dist/components/p-BGqQbjLl.js +1 -0
- package/dist/components/p-BQtbf88X.js +1 -0
- package/dist/components/p-BSHdGbmH.js +1 -0
- package/dist/components/p-BnTsRbko.js +1 -0
- package/dist/components/p-Bseq_BgD.js +1 -0
- package/dist/components/p-CCgZCY_A.js +1 -0
- package/dist/components/p-CJzsLWeV.js +1 -0
- package/dist/components/p-CRKY79vL.js +1 -0
- package/dist/components/p-C_PEOQWj.js +1 -0
- package/dist/components/p-CjbPCnPP.js +1 -0
- package/dist/components/p-Cjxw-qOg.js +1 -0
- package/dist/components/p-D6JUVA1x.js +1 -0
- package/dist/components/p-DFGw0APN.js +1 -0
- package/dist/components/p-DLLQBDCb.js +1 -0
- package/dist/components/p-DS2Kv5fl.js +1 -0
- package/dist/components/p-DWUJ_jsx.js +1 -0
- package/dist/components/p-Di1NDy0w.js +1 -0
- package/dist/components/p-DkM7jyQB.js +1 -0
- package/dist/components/p-DkqlawVY.js +1 -0
- package/dist/components/p-Dqb1pIRo.js +1 -0
- package/dist/components/p-DsRsm61K.js +1 -0
- package/dist/components/p-DywQ3S73.js +1 -0
- package/dist/components/p-Dzp5p-eh.js +1 -0
- package/dist/components/p-Mehog36m.js +1 -0
- package/dist/components/p-RYnBuuDE.js +1 -0
- package/dist/components/p-_r9-FML8.js +1 -0
- package/dist/components/{p-B1PBAEzg.js → p-imCMp2Nl.js} +1 -1
- package/dist/components/xpl-accordion.js +1 -1
- package/dist/components/xpl-application-shell.js +1 -1
- package/dist/components/xpl-avatar.js +1 -1
- package/dist/components/xpl-backdrop.js +1 -1
- package/dist/components/xpl-badge.js +1 -1
- package/dist/components/xpl-banner.js +1 -1
- package/dist/components/xpl-breadcrumb-item.js +1 -1
- package/dist/components/xpl-breadcrumbs.js +1 -1
- package/dist/components/xpl-button-row.js +1 -1
- package/dist/components/xpl-button.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox.js +1 -1
- package/dist/components/xpl-choicelist.js +1 -1
- package/dist/components/xpl-content-area.js +1 -1
- package/dist/components/xpl-dashboard.js +1 -1
- package/dist/components/xpl-data-card.js +1 -1
- package/dist/components/xpl-divider.js +1 -1
- package/dist/components/xpl-dropdown-group.js +1 -1
- package/dist/components/xpl-dropdown-heading.js +1 -1
- package/dist/components/xpl-dropdown-option.js +1 -1
- package/dist/components/xpl-dropdown.js +1 -1
- package/dist/components/xpl-dynamic-table-cell.js +1 -1
- package/dist/components/xpl-dynamic-table-row.js +1 -1
- package/dist/components/xpl-dynamic-table.js +1 -1
- package/dist/components/xpl-grid-item.js +1 -1
- package/dist/components/xpl-grid.js +1 -1
- package/dist/components/xpl-header-accordion.js +1 -1
- package/dist/components/xpl-icon.js +1 -1
- package/dist/components/xpl-input-color.js +1 -1
- package/dist/components/xpl-input-date.js +1 -1
- package/dist/components/xpl-input-file.js +1 -1
- package/dist/components/xpl-input-phone.js +1 -1
- package/dist/components/xpl-input-search.js +1 -1
- package/dist/components/xpl-input-time.js +1 -1
- package/dist/components/xpl-input.js +1 -1
- package/dist/components/xpl-large-card.js +1 -1
- package/dist/components/xpl-list-item.js +1 -1
- package/dist/components/xpl-list.js +1 -1
- package/dist/components/xpl-main-nav.js +1 -1
- package/dist/components/xpl-modal.js +1 -1
- package/dist/components/xpl-nav-header-menu.js +1 -1
- package/dist/components/xpl-nav-item.js +1 -1
- package/dist/components/xpl-pagination.js +1 -1
- package/dist/components/xpl-panel.js +1 -1
- package/dist/components/xpl-popover.js +1 -1
- package/dist/components/xpl-progress-bar.js +1 -1
- package/dist/components/xpl-progress-indicator.js +1 -1
- package/dist/components/xpl-radio.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select.js +1 -1
- package/dist/components/xpl-side-nav-header-item.d.ts +11 -0
- package/dist/components/xpl-side-nav-header-item.js +1 -0
- package/dist/components/xpl-side-nav-item.js +1 -1
- package/dist/components/xpl-side-nav-section.d.ts +11 -0
- package/dist/components/xpl-side-nav-section.js +1 -0
- package/dist/components/xpl-side-nav.js +1 -1
- package/dist/components/xpl-skeleton.js +1 -1
- package/dist/components/xpl-slideout.js +1 -1
- package/dist/components/xpl-spotlight.js +1 -1
- package/dist/components/xpl-tab-panel.js +1 -1
- package/dist/components/xpl-tab.js +1 -1
- package/dist/components/xpl-table-header-cell.js +1 -1
- package/dist/components/xpl-table-header.js +1 -1
- package/dist/components/xpl-table.js +1 -1
- package/dist/components/xpl-tabs.js +1 -1
- package/dist/components/xpl-tag.js +1 -1
- package/dist/components/xpl-toast.js +1 -1
- package/dist/components/xpl-toggle.js +1 -1
- package/dist/components/xpl-toolbar.js +1 -1
- package/dist/components/xpl-tooltip.js +1 -1
- package/dist/components/xpl-top-nav-item.js +1 -1
- package/dist/components/xpl-top-nav-menu.d.ts +11 -0
- package/dist/components/xpl-top-nav-menu.js +1 -0
- package/dist/components/xpl-top-nav.js +1 -1
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/css/typography.stories.js +9 -0
- package/dist/docs/xpl-application-shell/readme.md +33 -0
- package/dist/docs/xpl-backdrop/readme.md +7 -0
- package/dist/docs/xpl-badge/readme.md +2 -0
- package/dist/docs/xpl-breadcrumbs/xpl-breadcrumbs/readme.md +9 -0
- package/dist/docs/xpl-button/readme.md +4 -2
- package/dist/docs/xpl-checkbox/readme.md +12 -0
- package/dist/docs/xpl-choicelist/readme.md +21 -0
- package/dist/docs/xpl-content-area/readme.md +8 -0
- package/dist/docs/xpl-data-card/readme.md +26 -0
- package/dist/docs/xpl-dropdown/readme.md +32 -6
- package/dist/docs/xpl-dynamic-table/readme.md +35 -0
- package/dist/docs/xpl-header-accordion/readme.md +18 -0
- package/dist/docs/xpl-icon/readme.md +23 -0
- package/dist/docs/xpl-input/xpl-input-color/readme.md +18 -0
- package/dist/docs/xpl-input/xpl-input-file/readme.md +13 -0
- package/dist/docs/xpl-input/xpl-input-time/readme.md +9 -0
- package/dist/docs/xpl-large-card/readme.md +18 -0
- package/dist/docs/xpl-list/readme.md +2 -2
- package/dist/docs/xpl-list/xpl-list-item/readme.md +3 -3
- package/dist/docs/xpl-main-nav/readme.md +16 -0
- package/dist/docs/xpl-modal/readme.md +20 -0
- package/dist/docs/xpl-nav-item/readme.md +14 -0
- package/dist/docs/xpl-pagination/readme.md +29 -0
- package/dist/docs/xpl-radio/readme.md +12 -0
- package/dist/docs/xpl-secondary-nav/readme.md +25 -0
- package/dist/docs/xpl-select/readme.md +13 -0
- package/dist/docs/xpl-side-nav/readme.md +12 -7
- package/dist/docs/xpl-side-nav/xpl-side-nav-header-item/readme.md +155 -0
- package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +16 -6
- package/dist/docs/xpl-side-nav/xpl-side-nav-section/readme.md +126 -0
- package/dist/docs/xpl-slideout/readme.md +23 -0
- package/dist/docs/xpl-tab/readme.md +14 -8
- package/dist/docs/xpl-table/readme.md +4 -4
- package/dist/docs/xpl-toast/readme.md +90 -7
- package/dist/docs/xpl-toggle/readme.md +46 -0
- package/dist/docs/xpl-toolbar/readme.md +19 -0
- package/dist/docs/xpl-top-nav/readme.md +5 -1
- package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +79 -20
- package/dist/docs/xpl-top-nav/xpl-top-nav-menu/readme.md +96 -0
- package/dist/docs/xpl-utility-bar/readme.md +12 -0
- package/dist/docs.d.ts +480 -0
- package/dist/docs.json +16441 -0
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
- package/dist/esm/apollo-core.js +3 -3
- package/dist/esm/floating-ui.dom-1M1pu0C2.js +1702 -0
- package/dist/esm/index-BhYfWG18.js +454 -0
- package/dist/esm/{index-CXkZUm1c.js → index-ukZKsqqq.js} +760 -9
- package/dist/esm/lifecycle-Dqb1pIRo.js +71 -0
- package/dist/esm/light-dom-slots-DkqlawVY.js +17 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/side-nav-slot-utils-C_PEOQWj.js +37 -0
- package/dist/esm/slot-presence-_r9-FML8.js +8 -0
- package/dist/esm/tab-a11y-ids-BQtbf88X.js +23 -0
- package/dist/esm/top-nav-constants-CWdQxaaX.js +3 -0
- package/dist/esm/xpl-accordion.entry.js +5 -3
- package/dist/esm/xpl-application-shell.entry.js +2 -2
- package/dist/esm/xpl-avatar_3.entry.js +206 -0
- package/dist/esm/xpl-backdrop.entry.js +17 -0
- package/dist/esm/xpl-badge.entry.js +35 -0
- package/dist/esm/xpl-banner.entry.js +72 -0
- package/dist/esm/xpl-breadcrumb-item.entry.js +16 -0
- package/dist/esm/xpl-breadcrumbs.entry.js +12 -0
- package/dist/esm/xpl-button-row.entry.js +2 -2
- package/dist/esm/xpl-button.entry.js +79 -0
- package/dist/esm/xpl-calendar.entry.js +10 -6
- package/dist/esm/xpl-checkbox.entry.js +30 -0
- package/dist/esm/xpl-choicelist.entry.js +66 -0
- package/dist/esm/xpl-content-area.entry.js +13 -0
- package/dist/esm/xpl-dashboard.entry.js +12 -0
- package/dist/esm/xpl-data-card.entry.js +109 -0
- package/dist/esm/xpl-dropdown_4.entry.js +572 -0
- package/dist/esm/xpl-dynamic-table-cell.entry.js +8 -6
- package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table.entry.js +11 -18
- package/dist/esm/xpl-grid-item.entry.js +2 -2
- package/dist/esm/xpl-grid.entry.js +6 -6
- package/dist/esm/xpl-header-accordion.entry.js +67 -0
- package/dist/{cjs/xpl-avatar_54.cjs.entry.js → esm/xpl-icon.entry.js} +1290 -10661
- package/dist/esm/xpl-input-color.entry.js +433 -0
- package/dist/esm/xpl-input-phone.entry.js +507 -0
- package/dist/esm/xpl-input-time.entry.js +194 -0
- package/dist/esm/xpl-input_4.entry.js +519 -0
- package/dist/esm/xpl-large-card.entry.js +63 -4
- package/dist/esm/xpl-list-item.entry.js +458 -0
- package/dist/esm/xpl-list.entry.js +394 -0
- package/dist/esm/xpl-main-nav.entry.js +2 -2
- package/dist/esm/xpl-modal.entry.js +76 -0
- package/dist/esm/xpl-nav-header-menu.entry.js +84 -0
- package/dist/esm/xpl-nav-item.entry.js +23 -0
- package/dist/esm/xpl-pagination.entry.js +110 -0
- package/dist/esm/xpl-panel.entry.js +19 -0
- package/dist/esm/xpl-popover.entry.js +263 -0
- package/dist/esm/xpl-progress-bar.entry.js +39 -0
- package/dist/esm/xpl-progress-indicator.entry.js +72 -0
- package/dist/esm/xpl-secondary-nav.entry.js +12 -0
- package/dist/esm/xpl-select_2.entry.js +490 -0
- package/dist/esm/xpl-side-nav-header-item.entry.js +99 -0
- package/dist/esm/xpl-side-nav-item.entry.js +128 -0
- package/dist/esm/xpl-side-nav-section.entry.js +103 -0
- package/dist/esm/xpl-side-nav.entry.js +270 -0
- package/dist/esm/xpl-skeleton.entry.js +24 -0
- package/dist/esm/xpl-slideout.entry.js +45 -0
- package/dist/esm/xpl-spotlight.entry.js +720 -0
- package/dist/esm/xpl-tab-panel.entry.js +22 -0
- package/dist/esm/xpl-tab.entry.js +85 -0
- package/dist/esm/xpl-table-header-cell.entry.js +5 -3
- package/dist/esm/xpl-table-header.entry.js +2 -2
- package/dist/esm/xpl-table.entry.js +183 -0
- package/dist/esm/xpl-tabs.entry.js +371 -0
- package/dist/esm/xpl-toast.entry.js +89 -0
- package/dist/esm/xpl-toggle.entry.js +6 -6
- package/dist/esm/xpl-toolbar.entry.js +3 -3
- package/dist/esm/xpl-tooltip.entry.js +16 -0
- package/dist/esm/xpl-top-nav-item.entry.js +433 -0
- package/dist/esm/xpl-top-nav-menu.entry.js +89 -0
- package/dist/esm/xpl-top-nav.entry.js +340 -0
- package/dist/esm/xpl-utility-bar.entry.js +21 -0
- package/dist/types/components/xpl-accordion/accordion.stories.d.ts +11 -2
- package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +5 -23
- package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
- package/dist/types/components/xpl-avatar/avatar.stories.d.ts +17 -116
- package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +2 -0
- package/dist/types/components/xpl-badge/badge.stories.d.ts +7 -0
- package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +10 -27
- package/dist/types/components/xpl-button/button.stories.d.ts +4 -0
- package/dist/types/components/xpl-button-row/button-row.stories.d.ts +10 -21
- package/dist/types/components/xpl-calendar/calendar.stories.d.ts +11 -28
- package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +13 -31
- package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +9 -23
- package/dist/types/components/xpl-content-area/content-area.stories.d.ts +7 -1
- package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +8 -17
- package/dist/types/components/xpl-data-card/data-card.stories.d.ts +32 -37
- package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +12 -0
- package/dist/types/components/xpl-divider/divider.stories.d.ts +10 -23
- package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +160 -8
- package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +7 -9
- package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +7 -22
- package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +2 -1
- package/dist/types/components/xpl-grid/grid.stories.d.ts +23 -47
- package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +8 -24
- package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +0 -2
- package/dist/types/components/xpl-icon/icons.stories.d.ts +16 -39
- package/dist/types/components/xpl-input/input.stories.d.ts +255 -54
- package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +2 -2
- package/dist/types/components/xpl-input/xpl-input-time/time-utils.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input.d.ts +11 -6
- package/dist/types/components/xpl-large-card/large-card.stories.d.ts +12 -30
- package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +12 -0
- package/dist/types/components/xpl-list/list.stories.d.ts +33 -1
- package/dist/types/components/xpl-list/listitem.d.ts +5 -0
- package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +0 -1
- package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +7 -1
- package/dist/types/components/xpl-modal/modal.stories.d.ts +16 -16
- package/dist/types/components/xpl-modal/xpl-modal.d.ts +3 -1
- package/dist/types/components/xpl-pagination/pagination.stories.d.ts +9 -30
- package/dist/types/components/xpl-panel/panel.stories.d.ts +9 -1
- package/dist/types/components/xpl-popover/popover.stories.d.ts +12 -3
- package/dist/types/components/xpl-popover/xpl-popover.d.ts +4 -2
- package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +13 -24
- package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +2 -0
- package/dist/types/components/xpl-radio/radio.stories.d.ts +3 -0
- package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +4 -1
- package/dist/types/components/xpl-select/select.stories.d.ts +35 -45
- package/dist/types/components/xpl-select/xpl-select.d.ts +1 -0
- package/dist/types/components/xpl-side-nav/side-nav-slot-utils.d.ts +3 -0
- package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +73 -1
- package/dist/types/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.d.ts +24 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +1 -1
- package/dist/types/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.d.ts +24 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +10 -0
- package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +11 -1
- package/dist/types/components/xpl-slideout/slideout.stories.d.ts +20 -16
- package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +7 -1
- package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
- package/dist/types/components/xpl-tab/xpl-tab.d.ts +5 -0
- package/dist/types/components/xpl-table/table.stories.d.ts +16 -37
- package/dist/types/components/xpl-table/xpl-table.d.ts +8 -8
- package/dist/types/components/xpl-table-header/table-header.stories.d.ts +21 -48
- package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +11 -34
- package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +22 -0
- package/dist/types/components/xpl-tabs/tabs.shared.d.ts +35 -1
- package/dist/types/components/xpl-tabs/tabs.stories.d.ts +29 -19
- package/dist/types/components/xpl-tag/tag.stories.d.ts +3 -0
- package/dist/types/components/xpl-toast/toast.stories.d.ts +17 -13
- package/dist/types/components/xpl-toast/xpl-toast.d.ts +13 -4
- package/dist/types/components/xpl-toggle/toggle.stories.d.ts +13 -31
- package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +35 -0
- package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +10 -24
- package/dist/types/components/xpl-top-nav/top-nav-constants.d.ts +1 -0
- package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +79 -1
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.d.ts +2 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +26 -4
- package/dist/types/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.d.ts +18 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +8 -2
- package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +9 -2
- package/dist/types/components.d.ts +1186 -66
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +11 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +1 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +76 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/form-bindings.d.ts +4 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/story-vrt.d.ts +1 -0
- package/dist/types/third-party.d.ts +20 -0
- package/dist/types/utils/floating.d.ts +26 -0
- package/dist/types/utils/lifecycle.d.ts +4 -1
- package/dist/types/utils/light-dom-slots.d.ts +6 -0
- package/dist/types/utils/slot-presence.d.ts +1 -0
- package/dist/types/utils/ssr-known-mismatches.d.ts +16 -0
- package/dist/utils/form-bindings.js +64 -0
- package/dist/utils/story-vrt.js +48 -0
- package/hydrate/index.d.ts +287 -0
- package/hydrate/index.js +51669 -0
- package/hydrate/index.mjs +51659 -0
- package/hydrate/package.json +12 -0
- package/package.json +111 -44
- package/dist/apollo-core/p-0e45f332.entry.js +0 -1
- package/dist/apollo-core/p-0f251f98.entry.js +0 -1
- package/dist/apollo-core/p-1691c4f3.entry.js +0 -1
- package/dist/apollo-core/p-172ac720.entry.js +0 -1
- package/dist/apollo-core/p-23870463.entry.js +0 -1
- package/dist/apollo-core/p-3b8639b7.entry.js +0 -1
- package/dist/apollo-core/p-44a16751.entry.js +0 -1
- package/dist/apollo-core/p-4efecab2.entry.js +0 -1
- package/dist/apollo-core/p-5094dd97.entry.js +0 -1
- package/dist/apollo-core/p-70e7facc.entry.js +0 -1
- package/dist/apollo-core/p-728341d2.entry.js +0 -1
- package/dist/apollo-core/p-910be81f.entry.js +0 -1
- package/dist/apollo-core/p-9adf3694.entry.js +0 -1
- package/dist/apollo-core/p-CXkZUm1c.js +0 -2
- package/dist/apollo-core/p-c17b6351.entry.js +0 -1
- package/dist/apollo-core/p-e08b434c.entry.js +0 -1
- package/dist/apollo-core/p-e9e7577f.entry.js +0 -1
- package/dist/components/p-3qMYyqTe.js +0 -1
- package/dist/components/p-BG0-6Xek.js +0 -1
- package/dist/components/p-BT_Lq3Vd.js +0 -1
- package/dist/components/p-BWyAzrwu.js +0 -1
- package/dist/components/p-B_Wi--Ov.js +0 -1
- package/dist/components/p-Bd6JweBt.js +0 -1
- package/dist/components/p-Bn-27-xj.js +0 -1
- package/dist/components/p-Bs6vq0C6.js +0 -1
- package/dist/components/p-C9BO2vL-.js +0 -1
- package/dist/components/p-CFW_w5Wj.js +0 -1
- package/dist/components/p-CFpsSZyr.js +0 -1
- package/dist/components/p-CGNq3DyC.js +0 -1
- package/dist/components/p-CVqbA9op.js +0 -1
- package/dist/components/p-CtIUusUL.js +0 -1
- package/dist/components/p-D97c0GjM.js +0 -1
- package/dist/components/p-DBWV65V-.js +0 -1
- package/dist/components/p-DEl4Rvzs.js +0 -1
- package/dist/components/p-DPTHmitJ.js +0 -1
- package/dist/components/p-DllC7F-H.js +0 -1
- package/dist/components/p-Ds28UyUR.js +0 -1
- package/dist/components/p-U5dPMCXE.js +0 -1
- package/dist/components/p-Yj_QFaRn.js +0 -1
- package/dist/components/p-hPUzON4O.js +0 -1
- package/dist/components/p-kPHfCq1d.js +0 -1
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -90
|
@@ -17,13 +17,12 @@ export class Table {
|
|
|
17
17
|
this.areAllSelected = false;
|
|
18
18
|
this.hasScrolled = false;
|
|
19
19
|
this.sortTypeArray = [];
|
|
20
|
-
this.selectAllValue = Math.random().toString(36).slice(2);
|
|
21
20
|
this.selectAll = (e) => {
|
|
22
21
|
const checked = e.detail;
|
|
23
22
|
this.areAllSelected = checked;
|
|
24
23
|
this.selected =
|
|
25
24
|
this.selectedValues.length > 0
|
|
26
|
-
? Array.from(this.el.querySelectorAll('tbody td:first-child xpl-checkbox')).map((checkbox) => (checked ? checkbox.value : checked))
|
|
25
|
+
? Array.from(this.el.querySelectorAll('tbody td:first-child xpl-checkbox')).map((checkbox) => (checked ? (checkbox.value ?? checked) : checked))
|
|
27
26
|
: this.selected.map(() => checked);
|
|
28
27
|
this.onChange();
|
|
29
28
|
};
|
|
@@ -33,7 +32,11 @@ export class Table {
|
|
|
33
32
|
this.selected = this.selected.map((v, selectedIdx) => {
|
|
34
33
|
if (selectedIdx !== checkboxIdx)
|
|
35
34
|
return v;
|
|
36
|
-
return this.selectedValues.length > 0
|
|
35
|
+
return this.selectedValues.length > 0
|
|
36
|
+
? checked
|
|
37
|
+
? (value ?? checked)
|
|
38
|
+
: checked
|
|
39
|
+
: checked;
|
|
37
40
|
});
|
|
38
41
|
this.areAllSelected = this.selected.every((v) => !!v);
|
|
39
42
|
this.onChange();
|
|
@@ -65,19 +68,15 @@ export class Table {
|
|
|
65
68
|
this.rowData.sort((a, b) => handleSort(b, a));
|
|
66
69
|
break;
|
|
67
70
|
default:
|
|
68
|
-
this.rowData = this.data;
|
|
71
|
+
this.rowData = this.data ? Array.from(this.data) : [];
|
|
69
72
|
this.sortTypeArray[col] = null;
|
|
70
73
|
break;
|
|
71
74
|
}
|
|
72
75
|
this.rowData = Array.from(this.rowData);
|
|
73
|
-
this.render();
|
|
74
76
|
};
|
|
75
77
|
this.setData = () => {
|
|
76
78
|
this.rowData = this.data !== undefined ? Array.from(this.data) : [];
|
|
77
79
|
};
|
|
78
|
-
this.setFooterData = () => {
|
|
79
|
-
this.rowFooterData = this.footer !== undefined ? Array.from(this.footer) : [];
|
|
80
|
-
};
|
|
81
80
|
}
|
|
82
81
|
handleSort(clickEvt, isColumnSortable, colNum, colName) {
|
|
83
82
|
clickEvt.preventDefault();
|
|
@@ -107,43 +106,63 @@ export class Table {
|
|
|
107
106
|
watchData() {
|
|
108
107
|
this.setData();
|
|
109
108
|
}
|
|
110
|
-
watchFooterData() {
|
|
111
|
-
this.setFooterData();
|
|
112
|
-
}
|
|
113
109
|
watchColumns() {
|
|
114
110
|
this.sortTypeArray = this.columns ? this.columns.map(() => null) : [];
|
|
115
111
|
}
|
|
116
112
|
componentWillLoad() {
|
|
113
|
+
this.ensureSelectAllValue();
|
|
117
114
|
this.areAllSelected = false;
|
|
118
115
|
this.setData();
|
|
119
|
-
this.setFooterData();
|
|
120
116
|
this.selected = new Array(this.rowData.length).fill(false);
|
|
121
|
-
this.
|
|
117
|
+
this.ensureSortTypeArray();
|
|
122
118
|
}
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
ensureSelectAllValue() {
|
|
120
|
+
if (this.selectAllValue !== undefined) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const hostId = this.el.id?.trim();
|
|
124
|
+
if (hostId) {
|
|
125
|
+
this.selectAllValue = `${hostId}-select-all`;
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const persisted = this.el.getAttribute('data-select-all-value');
|
|
129
|
+
if (persisted) {
|
|
130
|
+
this.selectAllValue = persisted;
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
Table.selectAllSeq += 1;
|
|
134
|
+
this.selectAllValue = `select-all-${Table.selectAllSeq}`;
|
|
135
|
+
this.el.setAttribute('data-select-all-value', this.selectAllValue);
|
|
136
|
+
}
|
|
137
|
+
ensureSortTypeArray() {
|
|
125
138
|
if (this.columns &&
|
|
126
139
|
(!this.sortTypeArray || this.sortTypeArray.length !== this.columns.length)) {
|
|
127
140
|
this.sortTypeArray = this.columns.map(() => null);
|
|
128
141
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
142
|
+
else if (!this.columns) {
|
|
143
|
+
this.sortTypeArray = [];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
render() {
|
|
147
|
+
const rowFooterData = this.footer !== undefined ? Array.from(this.footer) : [];
|
|
148
|
+
return (h(Host, { key: 'c1de0e2cfd09c45e3c3f3fb9d8ad47615031a42f' }, h("div", { key: 'ae6f19f8fd43c1b9f647ec901d2f01933625860d', class: "xpl-table-container", onScroll: this.onScroll, ref: (el) => {
|
|
149
|
+
if (el)
|
|
150
|
+
this.container = el;
|
|
151
|
+
} }, h("table", { key: '0a4b2c06785a26046d95b24a22c1d5bc4abea306', class: {
|
|
132
152
|
'xpl-table': true,
|
|
133
|
-
'xpl-table--striped': this.striped,
|
|
134
|
-
'xpl-table--freeze': this.freeze,
|
|
153
|
+
'xpl-table--striped': !!this.striped,
|
|
154
|
+
'xpl-table--freeze': !!this.freeze,
|
|
135
155
|
'xpl-table--has-scrolled': this.hasScrolled,
|
|
136
|
-
} }, this.columns && (h("thead", { key: '
|
|
137
|
-
|
|
138
|
-
const iconType = getIconType((_a = this.sortTypeArray) === null || _a === void 0 ? void 0 : _a[i]);
|
|
156
|
+
} }, this.columns && (h("thead", { key: '9298a70476ea69fa530fb50992643f70b4266c26' }, this.columns.map((column, i) => {
|
|
157
|
+
const iconType = getIconType(this.sortTypeArray?.[i]);
|
|
139
158
|
const isColumnSortable = !!(this.isSortable && this.sortableColumns[i]);
|
|
140
159
|
return (h("th", null, h("label", { onClick: (e) => this.handleSort(e, isColumnSortable, i, column.replace(/ /g, '-').toLowerCase()), class: isColumnSortable ? 'cursor-pointer' : '' }, this.multiselect && i === 0 && (h("xpl-checkbox", { checked: this.areAllSelected, indeterminate: !this.areAllSelected &&
|
|
141
|
-
this.selected.some((a) => a), onClick: (e) => e.stopPropagation(), onCheckboxChange: (e) => this.selectAll(e), value:
|
|
142
|
-
}))), h("tbody", { key: '
|
|
160
|
+
this.selected.some((a) => a), onClick: (e) => e.stopPropagation(), onCheckboxChange: (e) => this.selectAll(e), value: this.selectAllValue, "aria-label": "Select all rows" })), column, isColumnSortable && !!this.sortTypeArray[i] && (h("xpl-icon", { icon: iconType, size: 16 })))));
|
|
161
|
+
}))), h("tbody", { key: 'b4bb753f41278360c8f34015a982b04771b59064' }, this.rowData.map((row, rowNum) => (h("tr", { class: this.selected && this.selected[rowNum]
|
|
143
162
|
? 'xpl-table-row-selected'
|
|
144
163
|
: '' }, row.map((cell, i) => (h("td", null, this.multiselect && i === 0 ? (h("label", null, h("xpl-checkbox", { checked: !!this.selected[rowNum], onCheckboxChange: (e) => this.selectOne(e, rowNum), value: this.selectedValues.length > 0
|
|
145
164
|
? this.selectedValues[rowNum]
|
|
146
|
-
: `xpl-table-checkbox-${rowNum}`, "aria-label": `Select row ${rowNum + 1}` }), h("div", { innerHTML: cell }))) : (h("div", { innerHTML: cell }))))))))),
|
|
165
|
+
: `xpl-table-checkbox-${rowNum}`, "aria-label": `Select row ${rowNum + 1}` }), h("div", { innerHTML: cell }))) : (h("div", { innerHTML: cell }))))))))), rowFooterData.length > 0 && (h("tfoot", { key: '571bb59b2a69b0b22bf45297484c2c9e01ae3a78' }, rowFooterData.map((row) => (h("tr", null, row.map((cell) => (h("td", null, h("div", { innerHTML: cell })))))))))))));
|
|
147
166
|
}
|
|
148
167
|
static get is() { return "xpl-table"; }
|
|
149
168
|
static get properties() {
|
|
@@ -265,7 +284,7 @@ export class Table {
|
|
|
265
284
|
"references": {}
|
|
266
285
|
},
|
|
267
286
|
"required": false,
|
|
268
|
-
"optional":
|
|
287
|
+
"optional": false,
|
|
269
288
|
"docs": {
|
|
270
289
|
"tags": [],
|
|
271
290
|
"text": "The values for the input for each row when multiselect is activated."
|
|
@@ -283,7 +302,7 @@ export class Table {
|
|
|
283
302
|
"references": {}
|
|
284
303
|
},
|
|
285
304
|
"required": false,
|
|
286
|
-
"optional":
|
|
305
|
+
"optional": false,
|
|
287
306
|
"docs": {
|
|
288
307
|
"tags": [],
|
|
289
308
|
"text": "Toggles to show the sort button on each table head"
|
|
@@ -303,7 +322,7 @@ export class Table {
|
|
|
303
322
|
"references": {}
|
|
304
323
|
},
|
|
305
324
|
"required": false,
|
|
306
|
-
"optional":
|
|
325
|
+
"optional": false,
|
|
307
326
|
"docs": {
|
|
308
327
|
"tags": [],
|
|
309
328
|
"text": "Manually determined if the column is sortable"
|
|
@@ -318,7 +337,6 @@ export class Table {
|
|
|
318
337
|
return {
|
|
319
338
|
"areAllSelected": {},
|
|
320
339
|
"rowData": {},
|
|
321
|
-
"rowFooterData": {},
|
|
322
340
|
"hasScrolled": {},
|
|
323
341
|
"selected": {},
|
|
324
342
|
"sortTypeArray": {}
|
|
@@ -348,11 +366,11 @@ export class Table {
|
|
|
348
366
|
"composed": true,
|
|
349
367
|
"docs": {
|
|
350
368
|
"tags": [],
|
|
351
|
-
"text": "Emits an event whenever the sort changes.\nThe 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(
|
|
369
|
+
"text": "Emits an event whenever the sort changes.\nThe 'sortChanged' event passes an object with colNum (number), colName (string), sortTypeArr(('asc' | 'desc' | null)[]).\nThe default action can be overridden by calling event.preventDefault()."
|
|
352
370
|
},
|
|
353
371
|
"complexType": {
|
|
354
|
-
"original": "{\n colNum: number;\n colName: string;\n sortTypeArr:
|
|
355
|
-
"resolved": "{ colNum: number; colName: string; sortTypeArr:
|
|
372
|
+
"original": "{\n colNum: number;\n colName: string;\n sortTypeArr: ('asc' | 'desc' | null)[];\n }",
|
|
373
|
+
"resolved": "{ colNum: number; colName: string; sortTypeArr: (\"desc\" | \"asc\")[]; }",
|
|
356
374
|
"references": {}
|
|
357
375
|
}
|
|
358
376
|
}];
|
|
@@ -362,12 +380,10 @@ export class Table {
|
|
|
362
380
|
return [{
|
|
363
381
|
"propName": "data",
|
|
364
382
|
"methodName": "watchData"
|
|
365
|
-
}, {
|
|
366
|
-
"propName": "footer",
|
|
367
|
-
"methodName": "watchFooterData"
|
|
368
383
|
}, {
|
|
369
384
|
"propName": "columns",
|
|
370
385
|
"methodName": "watchColumns"
|
|
371
386
|
}];
|
|
372
387
|
}
|
|
373
388
|
}
|
|
389
|
+
Table.selectAllSeq = 0;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
2
|
+
import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
|
|
1
3
|
export default {
|
|
2
4
|
title: 'Components/Dynamic Table/Table Header',
|
|
3
5
|
component: 'xpl-table-header',
|
|
@@ -48,7 +50,13 @@ export default {
|
|
|
48
50
|
},
|
|
49
51
|
thirdCellSortable: { control: 'boolean' },
|
|
50
52
|
},
|
|
51
|
-
tags: ['beta'],
|
|
53
|
+
tags: ['beta', 'vrt'],
|
|
54
|
+
beforeEach() {
|
|
55
|
+
setAutoSnapshotOptions({ enable: true });
|
|
56
|
+
},
|
|
57
|
+
async play({ canvasElement }) {
|
|
58
|
+
await waitForHydration(canvasElement);
|
|
59
|
+
},
|
|
52
60
|
};
|
|
53
61
|
export const TableHeader = ({ firstCellType, firstCellLabel, firstCellIcon, firstCellWidth, firstCellSortable, secondCellType, secondCellLabel, secondCellIcon, secondCellWidth, secondCellSortable, thirdCellType, thirdCellLabel, thirdCellIcon, thirdCellWidth, thirdCellSortable, }) => `
|
|
54
62
|
<xpl-dynamic-table>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class TableHeader {
|
|
3
3
|
render() {
|
|
4
|
-
return (h(Host, { key: '
|
|
4
|
+
return (h(Host, { key: '6a9997040f64ebc1ede766230c0310a11fd23fd5', role: "row", class: "xpl-table-header" }, h("slot", { key: 'b9359ac81366cc2a0790b2268a0a5443867bbadc' })));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "xpl-table-header"; }
|
|
7
7
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
2
|
+
import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
|
|
1
3
|
export default {
|
|
2
4
|
title: 'Components/Dynamic Table/Table Header Cell',
|
|
3
5
|
component: 'xpl-table-header-cell',
|
|
@@ -18,9 +20,15 @@ export default {
|
|
|
18
20
|
},
|
|
19
21
|
sortable: { control: 'boolean' },
|
|
20
22
|
},
|
|
21
|
-
tags: ['beta'],
|
|
23
|
+
tags: ['beta', 'vrt'],
|
|
24
|
+
beforeEach() {
|
|
25
|
+
setAutoSnapshotOptions({ enable: true });
|
|
26
|
+
},
|
|
27
|
+
async play({ canvasElement }) {
|
|
28
|
+
await waitForHydration(canvasElement);
|
|
29
|
+
},
|
|
22
30
|
};
|
|
23
|
-
export const TableHeaderCell = ({ type, label, icon, width, sortable }) => `
|
|
31
|
+
export const TableHeaderCell = ({ type, label, icon, width, sortable, }) => `
|
|
24
32
|
<xpl-table-header-cell
|
|
25
33
|
type=${type}
|
|
26
34
|
label="${label}"
|
|
@@ -19,7 +19,9 @@ export class TableHeaderCell {
|
|
|
19
19
|
this.sortChanged.emit(this.sortDirection);
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
const colIndex =
|
|
22
|
+
const colIndex = this.el.parentElement
|
|
23
|
+
? Array.from(this.el.parentElement.children).indexOf(this.el) + 1
|
|
24
|
+
: 0;
|
|
23
25
|
const renderContent = () => {
|
|
24
26
|
switch (this.type) {
|
|
25
27
|
case 'label':
|
|
@@ -27,7 +29,7 @@ export class TableHeaderCell {
|
|
|
27
29
|
case 'checkbox':
|
|
28
30
|
return h("xpl-checkbox", null);
|
|
29
31
|
case 'icon':
|
|
30
|
-
return h("xpl-icon", { icon: this.icon, size: 20 });
|
|
32
|
+
return this.icon ? h("xpl-icon", { icon: this.icon, size: 20 }) : null;
|
|
31
33
|
default:
|
|
32
34
|
return '';
|
|
33
35
|
}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
2
|
+
import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
|
|
1
3
|
import { renderTabsStoryMarkup, segmentControlDefaultArgs, segmentControlStoryArgTypes, tabsPlainDomSegmentStoryHtml, } from "./tabs.shared";
|
|
2
4
|
export default {
|
|
5
|
+
tags: ['vrt'],
|
|
6
|
+
beforeEach() {
|
|
7
|
+
setAutoSnapshotOptions({ enable: true });
|
|
8
|
+
},
|
|
9
|
+
async play({ canvasElement }) {
|
|
10
|
+
await waitForHydration(canvasElement);
|
|
11
|
+
},
|
|
3
12
|
title: 'Components/Segment Control',
|
|
4
13
|
component: 'xpl-tabs',
|
|
5
14
|
parameters: {
|
|
@@ -14,7 +23,7 @@ export default {
|
|
|
14
23
|
},
|
|
15
24
|
argTypes: segmentControlStoryArgTypes,
|
|
16
25
|
};
|
|
17
|
-
export const SegmentControl = (args, context) => renderTabsStoryMarkup(args, context
|
|
26
|
+
export const SegmentControl = (args, context) => renderTabsStoryMarkup(args, context ?? {});
|
|
18
27
|
SegmentControl.args = segmentControlDefaultArgs;
|
|
19
28
|
SegmentControl.parameters = {
|
|
20
29
|
layout: 'padded',
|
|
@@ -8,7 +8,6 @@ export function clampTabCount(n) {
|
|
|
8
8
|
return Math.min(200, Math.floor(n));
|
|
9
9
|
}
|
|
10
10
|
export function coerceTabsStoryValue(args) {
|
|
11
|
-
var _a;
|
|
12
11
|
const n = clampTabCount(args.tabCount);
|
|
13
12
|
const targets = Array.from({ length: n }, (_, i) => `tab${i}`);
|
|
14
13
|
const valueTrim = args.value.trim();
|
|
@@ -18,7 +17,7 @@ export function coerceTabsStoryValue(args) {
|
|
|
18
17
|
if (targets.includes(valueTrim)) {
|
|
19
18
|
return valueTrim;
|
|
20
19
|
}
|
|
21
|
-
return
|
|
20
|
+
return targets[0] ?? '';
|
|
22
21
|
}
|
|
23
22
|
export function buildTabsMarkup(args) {
|
|
24
23
|
const n = clampTabCount(args.tabCount);
|
|
@@ -43,14 +42,19 @@ export function buildTabsMarkup(args) {
|
|
|
43
42
|
if (args.tabDisabled) {
|
|
44
43
|
firstTabParts.push('disabled');
|
|
45
44
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
const icon = args.icon.trim();
|
|
46
|
+
if (icon) {
|
|
47
|
+
firstTabParts.push(`icon="${escapeHtmlAttr(icon)}"`);
|
|
48
|
+
}
|
|
49
|
+
if (args.iconPosition !== 'start') {
|
|
50
|
+
firstTabParts.push(`icon-position="${args.iconPosition}"`);
|
|
51
|
+
}
|
|
52
|
+
const badge = args.badge.trim();
|
|
53
|
+
if (badge) {
|
|
54
|
+
firstTabParts.push(`badge="${escapeHtmlAttr(badge)}"`);
|
|
55
|
+
}
|
|
56
|
+
if (badge && args.badgeVariant !== 'purple') {
|
|
57
|
+
firstTabParts.push(`badge-variant="${escapeHtmlAttr(args.badgeVariant)}"`);
|
|
54
58
|
}
|
|
55
59
|
const firstHeading = args.type === 'tabs' ? 'Tab' : 'Segment';
|
|
56
60
|
lines.push(` <xpl-tab ${firstTabParts.join(' ')}>${firstHeading} 1</xpl-tab>`);
|
|
@@ -64,12 +68,11 @@ export function buildTabsMarkup(args) {
|
|
|
64
68
|
return lines.join('\n');
|
|
65
69
|
}
|
|
66
70
|
export function renderTabsStoryMarkup(args, context = {}) {
|
|
67
|
-
var _a;
|
|
68
71
|
const value = coerceTabsStoryValue(args);
|
|
69
72
|
if (value !== args.value) {
|
|
70
|
-
|
|
73
|
+
context.updateArgs?.({ value });
|
|
71
74
|
}
|
|
72
|
-
return buildTabsMarkup(
|
|
75
|
+
return buildTabsMarkup({ ...args, value });
|
|
73
76
|
}
|
|
74
77
|
export const tabsPlainDomUnderlineStoryHtml = `<---- Non-interactive plain DOM (tabs.css BEM). Not the <xpl-tabs> API; use the Web Component tab for that. Ids mirror the scoped pattern (data-tabs-instance-id + target). ---->
|
|
75
78
|
<div class="xpl-tabs" data-tabs-instance-id="xpl-tg-1">
|
|
@@ -77,10 +80,10 @@ export const tabsPlainDomUnderlineStoryHtml = `<---- Non-interactive plain DOM (
|
|
|
77
80
|
<nav class="xpl-tabs__headings" role="tablist" aria-orientation="horizontal">
|
|
78
81
|
<div class="xpl-tabs__active-bar"></div>
|
|
79
82
|
<div class="xpl-tab xpl-tab--selected">
|
|
80
|
-
<button class="xpl-tab__button" type="button" role="tab" id="xpl-tg-1-tab-tab0" aria-controls="xpl-tg-1-panel-tab0" aria-selected="true">Tab 1</button>
|
|
83
|
+
<button class="xpl-tab__button" type="button" role="tab" id="xpl-tg-1-tab-tab0" aria-controls="xpl-tg-1-panel-tab0" aria-selected="true"><xpl-icon class="xpl-tab__icon" icon="user" size="16"></xpl-icon>Tab 1<xpl-badge class="xpl-tab__badge" dot-only variant="purple">4</xpl-badge></button>
|
|
81
84
|
</div>
|
|
82
85
|
<div class="xpl-tab">
|
|
83
|
-
<button class="xpl-tab__button" type="button" role="tab" id="xpl-tg-1-tab-tab1" aria-controls="xpl-tg-1-panel-tab1" aria-selected="false">Tab 2</button>
|
|
86
|
+
<button class="xpl-tab__button" type="button" role="tab" id="xpl-tg-1-tab-tab1" aria-controls="xpl-tg-1-panel-tab1" aria-selected="false"><xpl-icon class="xpl-tab__icon" icon="user" size="16"></xpl-icon>Tab 2<xpl-badge class="xpl-tab__badge" dot-only variant="purple">4</xpl-badge></button>
|
|
84
87
|
</div>
|
|
85
88
|
</nav>
|
|
86
89
|
<div class="xpl-tabs__panels">
|
|
@@ -132,17 +135,65 @@ export const tabsStoryBaseArgTypes = {
|
|
|
132
135
|
},
|
|
133
136
|
icon: {
|
|
134
137
|
control: { type: 'text' },
|
|
135
|
-
description: 'First `xpl-tab` only — icon
|
|
138
|
+
description: 'First `xpl-tab` only — leading icon name. Empty = none.',
|
|
136
139
|
},
|
|
137
140
|
iconPosition: {
|
|
138
141
|
options: ['start', 'end'],
|
|
139
142
|
control: { type: 'radio' },
|
|
140
143
|
description: 'First `xpl-tab` only — icon position.',
|
|
141
144
|
},
|
|
145
|
+
badge: {
|
|
146
|
+
control: { type: 'text' },
|
|
147
|
+
description: 'First `xpl-tab` only — trailing number badge value. Empty = none.',
|
|
148
|
+
},
|
|
149
|
+
badgeVariant: {
|
|
150
|
+
options: ['purple', 'green', 'yellow', 'orange', 'gray', 'red', 'blue'],
|
|
151
|
+
control: { type: 'select' },
|
|
152
|
+
description: 'First `xpl-tab` only — number badge color palette.',
|
|
153
|
+
},
|
|
142
154
|
};
|
|
143
155
|
const SEGMENT_CATEGORY_XPL_TABS = '01 — xpl-tabs';
|
|
144
156
|
const SEGMENT_CATEGORY_FIRST_TAB = '02 — xpl-tab controls (first tab only for simplicity)';
|
|
145
|
-
export const segmentControlStoryArgTypes =
|
|
157
|
+
export const segmentControlStoryArgTypes = {
|
|
158
|
+
...tabsStoryBaseArgTypes,
|
|
159
|
+
type: { ...tabsStoryBaseArgTypes.type, table: { disable: true } },
|
|
160
|
+
disabled: {
|
|
161
|
+
...tabsStoryBaseArgTypes.disabled,
|
|
162
|
+
table: { category: SEGMENT_CATEGORY_XPL_TABS },
|
|
163
|
+
},
|
|
164
|
+
fullWidth: {
|
|
165
|
+
...tabsStoryBaseArgTypes.fullWidth,
|
|
166
|
+
table: { category: SEGMENT_CATEGORY_XPL_TABS },
|
|
167
|
+
},
|
|
168
|
+
value: {
|
|
169
|
+
...tabsStoryBaseArgTypes.value,
|
|
170
|
+
table: { category: SEGMENT_CATEGORY_XPL_TABS },
|
|
171
|
+
},
|
|
172
|
+
tabCount: {
|
|
173
|
+
...tabsStoryBaseArgTypes.tabCount,
|
|
174
|
+
table: { category: SEGMENT_CATEGORY_XPL_TABS },
|
|
175
|
+
},
|
|
176
|
+
tabDisabled: {
|
|
177
|
+
...tabsStoryBaseArgTypes.tabDisabled,
|
|
178
|
+
table: { category: SEGMENT_CATEGORY_FIRST_TAB },
|
|
179
|
+
},
|
|
180
|
+
icon: {
|
|
181
|
+
...tabsStoryBaseArgTypes.icon,
|
|
182
|
+
table: { category: SEGMENT_CATEGORY_FIRST_TAB },
|
|
183
|
+
},
|
|
184
|
+
iconPosition: {
|
|
185
|
+
...tabsStoryBaseArgTypes.iconPosition,
|
|
186
|
+
table: { category: SEGMENT_CATEGORY_FIRST_TAB },
|
|
187
|
+
},
|
|
188
|
+
badge: {
|
|
189
|
+
...tabsStoryBaseArgTypes.badge,
|
|
190
|
+
table: { category: SEGMENT_CATEGORY_FIRST_TAB },
|
|
191
|
+
},
|
|
192
|
+
badgeVariant: {
|
|
193
|
+
...tabsStoryBaseArgTypes.badgeVariant,
|
|
194
|
+
table: { category: SEGMENT_CATEGORY_FIRST_TAB },
|
|
195
|
+
},
|
|
196
|
+
};
|
|
146
197
|
export const tabsUnderlineDefaultArgs = {
|
|
147
198
|
type: 'tabs',
|
|
148
199
|
disabled: false,
|
|
@@ -150,7 +201,14 @@ export const tabsUnderlineDefaultArgs = {
|
|
|
150
201
|
value: 'tab0',
|
|
151
202
|
tabCount: 2,
|
|
152
203
|
tabDisabled: false,
|
|
153
|
-
icon: '',
|
|
204
|
+
icon: 'user',
|
|
154
205
|
iconPosition: 'start',
|
|
206
|
+
badge: '4',
|
|
207
|
+
badgeVariant: 'purple',
|
|
208
|
+
};
|
|
209
|
+
export const segmentControlDefaultArgs = {
|
|
210
|
+
...tabsUnderlineDefaultArgs,
|
|
211
|
+
type: 'segment',
|
|
212
|
+
icon: 'house-4',
|
|
213
|
+
badge: '',
|
|
155
214
|
};
|
|
156
|
-
export const segmentControlDefaultArgs = Object.assign(Object.assign({}, tabsUnderlineDefaultArgs), { type: 'segment', icon: 'house-4' });
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
2
|
+
import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
|
|
1
3
|
import { renderTabsStoryMarkup, tabsPlainDomUnderlineStoryHtml, tabsStoryBaseArgTypes, tabsUnderlineDefaultArgs, } from "./tabs.shared";
|
|
2
4
|
export default {
|
|
5
|
+
tags: ['vrt'],
|
|
6
|
+
beforeEach() {
|
|
7
|
+
setAutoSnapshotOptions({ enable: true });
|
|
8
|
+
},
|
|
9
|
+
async play({ canvasElement }) {
|
|
10
|
+
await waitForHydration(canvasElement);
|
|
11
|
+
},
|
|
3
12
|
title: 'Components/Tabs',
|
|
4
13
|
component: 'xpl-tabs',
|
|
5
14
|
parameters: {
|
|
@@ -12,9 +21,12 @@ export default {
|
|
|
12
21
|
},
|
|
13
22
|
},
|
|
14
23
|
},
|
|
15
|
-
argTypes:
|
|
24
|
+
argTypes: {
|
|
25
|
+
...tabsStoryBaseArgTypes,
|
|
26
|
+
type: { ...tabsStoryBaseArgTypes.type, table: { disable: true } },
|
|
27
|
+
},
|
|
16
28
|
};
|
|
17
|
-
export const Tabs = (args, context) => renderTabsStoryMarkup(args, context
|
|
29
|
+
export const Tabs = (args, context) => renderTabsStoryMarkup(args, context ?? {});
|
|
18
30
|
Tabs.args = tabsUnderlineDefaultArgs;
|
|
19
31
|
Tabs.parameters = {
|
|
20
32
|
layout: 'padded',
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
|
2
|
-
const PILL_LABEL_ICON_SELECTORS = '.xpl-button__icon, xpl-icon';
|
|
2
|
+
const PILL_LABEL_ICON_SELECTORS = '.xpl-button__icon, xpl-icon, xpl-badge';
|
|
3
3
|
let xplTabsInstanceCounter = 0;
|
|
4
4
|
function tabHeadingLabelFromElement(tab) {
|
|
5
|
-
var _a, _b;
|
|
6
5
|
const pillInner = tab.querySelector('xpl-button button');
|
|
7
6
|
if (pillInner) {
|
|
8
7
|
const clone = pillInner.cloneNode(true);
|
|
9
8
|
if (clone instanceof HTMLElement) {
|
|
10
9
|
clone.querySelectorAll(PILL_LABEL_ICON_SELECTORS).forEach((node) => node.remove());
|
|
11
|
-
const text =
|
|
10
|
+
const text = clone.textContent?.replace(/\s+/g, ' ').trim();
|
|
12
11
|
if (text) {
|
|
13
12
|
return text;
|
|
14
13
|
}
|
|
@@ -16,12 +15,17 @@ function tabHeadingLabelFromElement(tab) {
|
|
|
16
15
|
}
|
|
17
16
|
const underline = tab.querySelector('.xpl-tab__button');
|
|
18
17
|
if (underline) {
|
|
19
|
-
|
|
18
|
+
const text = Array.from(underline.childNodes)
|
|
20
19
|
.filter((node) => node.nodeType === Node.TEXT_NODE)
|
|
21
|
-
.map((node) =>
|
|
22
|
-
.join(' ')
|
|
20
|
+
.map((node) => (node.textContent ?? '').trim())
|
|
21
|
+
.join(' ')
|
|
22
|
+
.replace(/\s+/g, ' ')
|
|
23
|
+
.trim();
|
|
24
|
+
if (text) {
|
|
25
|
+
return text;
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
|
-
return
|
|
28
|
+
return tab.getAttribute('target') ?? '';
|
|
25
29
|
}
|
|
26
30
|
export class Tabs {
|
|
27
31
|
constructor() {
|
|
@@ -42,11 +46,10 @@ export class Tabs {
|
|
|
42
46
|
this.applySelection(target);
|
|
43
47
|
};
|
|
44
48
|
this.onTablistKeydown = async (ev) => {
|
|
45
|
-
var _a, _b;
|
|
46
49
|
if (this.disabled) {
|
|
47
50
|
return;
|
|
48
51
|
}
|
|
49
|
-
const tabHost =
|
|
52
|
+
const tabHost = ev.target?.closest?.('xpl-tab');
|
|
50
53
|
if (!tabHost || !this.tabHeadings.includes(tabHost)) {
|
|
51
54
|
return;
|
|
52
55
|
}
|
|
@@ -98,7 +101,7 @@ export class Tabs {
|
|
|
98
101
|
nextIndex = enabled.length - 1;
|
|
99
102
|
}
|
|
100
103
|
const nextTab = enabled[nextIndex];
|
|
101
|
-
const nextValue = nextTab
|
|
104
|
+
const nextValue = nextTab?.getAttribute('target');
|
|
102
105
|
if (!nextValue) {
|
|
103
106
|
return;
|
|
104
107
|
}
|
|
@@ -144,8 +147,7 @@ export class Tabs {
|
|
|
144
147
|
});
|
|
145
148
|
}
|
|
146
149
|
disconnectedCallback() {
|
|
147
|
-
|
|
148
|
-
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
150
|
+
this.observer?.disconnect();
|
|
149
151
|
if (this.headingsContainerRef && this.tablistKeydownBound) {
|
|
150
152
|
this.headingsContainerRef.removeEventListener('keydown', this.onTablistKeydown);
|
|
151
153
|
this.tablistKeydownBound = false;
|
|
@@ -238,16 +240,14 @@ export class Tabs {
|
|
|
238
240
|
});
|
|
239
241
|
}
|
|
240
242
|
getDefaultValue() {
|
|
241
|
-
|
|
242
|
-
return this.value || ((_b = (_a = this.tabHeadings) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.getAttribute('target')) || '';
|
|
243
|
+
return this.value || this.tabHeadings?.[0]?.getAttribute('target') || '';
|
|
243
244
|
}
|
|
244
245
|
async syncRovingTabindex() {
|
|
245
246
|
if (this.disabled) {
|
|
246
247
|
return;
|
|
247
248
|
}
|
|
248
249
|
await Promise.all(this.tabHeadings.map(async (tabHeading) => {
|
|
249
|
-
|
|
250
|
-
const target = (_a = tabHeading.getAttribute('target')) !== null && _a !== void 0 ? _a : '';
|
|
250
|
+
const target = tabHeading.getAttribute('target') ?? '';
|
|
251
251
|
const isSelected = target === this.selectedValue;
|
|
252
252
|
await tabHeading.setTabIndex(isSelected ? 0 : -1);
|
|
253
253
|
}));
|
|
@@ -280,11 +280,15 @@ export class Tabs {
|
|
|
280
280
|
}
|
|
281
281
|
renderChoices() {
|
|
282
282
|
return this.tabHeadings.map((tabHeading) => {
|
|
283
|
-
|
|
284
|
-
const target = (_a = tabHeading.getAttribute('target')) !== null && _a !== void 0 ? _a : '';
|
|
283
|
+
const target = tabHeading.getAttribute('target') ?? '';
|
|
285
284
|
const tabDisabled = this.disabled || tabHeading.hasAttribute('disabled');
|
|
286
|
-
const icon =
|
|
287
|
-
return
|
|
285
|
+
const icon = tabHeading.getAttribute('icon') || undefined;
|
|
286
|
+
return {
|
|
287
|
+
label: tabHeadingLabelFromElement(tabHeading),
|
|
288
|
+
value: target,
|
|
289
|
+
isDisabled: tabDisabled,
|
|
290
|
+
...(icon ? { icon } : {}),
|
|
291
|
+
};
|
|
288
292
|
});
|
|
289
293
|
}
|
|
290
294
|
updateActiveBarPosition() {
|
|
@@ -317,11 +321,11 @@ export class Tabs {
|
|
|
317
321
|
}
|
|
318
322
|
render() {
|
|
319
323
|
const isSegment = this.type === 'segment';
|
|
320
|
-
return (h(Host, { key: '
|
|
324
|
+
return (h(Host, { key: 'a863b42f5319f956e3cd698b52c93cec54279fa5', class: {
|
|
321
325
|
'xpl-tabs': true,
|
|
322
326
|
'xpl-tabs--full-width': this.fullWidth,
|
|
323
327
|
'xpl-tabs--segment': isSegment,
|
|
324
|
-
}, "data-choices-tick": this.choicesTick }, h("xpl-select", { key: '
|
|
328
|
+
}, "data-choices-tick": this.choicesTick }, h("xpl-select", { key: '4f8bf1edbb495e898576ca8024871d40a9df9073', classNames: this.mobileSelectClassNames(), choices: this.renderChoices(), disabled: this.disabled, selectedValues: this.selectedValue, onDropdownStateChange: (event) => {
|
|
325
329
|
if (event.detail) {
|
|
326
330
|
this.isMobileSelectChange = true;
|
|
327
331
|
}
|
|
@@ -332,17 +336,17 @@ export class Tabs {
|
|
|
332
336
|
this.tabChange.emit(selectedValue);
|
|
333
337
|
this.isMobileSelectChange = false;
|
|
334
338
|
}
|
|
335
|
-
} }), h("nav", { key: '
|
|
339
|
+
} }), h("nav", { key: 'c1e9234eb57af90d6aeff31be11ee3c6d758477f', "aria-orientation": "horizontal", class: "xpl-tabs__headings", role: "tablist", ref: (el) => {
|
|
336
340
|
this.headingsContainerRef = el;
|
|
337
341
|
}, onTabChange: (event) => {
|
|
338
342
|
event.stopPropagation();
|
|
339
343
|
this.isMobileSelectChange = false;
|
|
340
344
|
this.handleTabChange(event.detail);
|
|
341
345
|
this.tabChange.emit(event.detail);
|
|
342
|
-
} }, !isSegment && (h("div", { key: '
|
|
346
|
+
} }, !isSegment && (h("div", { key: '86543a7b4edc639e4cf617953fa8f3cd4446895b', class: "xpl-tabs__active-bar", style: {
|
|
343
347
|
transform: `translateX(${this.activeBarPosition.left}px)`,
|
|
344
348
|
width: `${this.activeBarPosition.width}px`,
|
|
345
|
-
} })), h("slot", { key: '
|
|
349
|
+
} })), h("slot", { key: '0e651ef5fb2413200e40fa95016b546926f012a3', name: "heading" })), h("div", { key: 'd9bd0669b7618edf56f518fe797d86da51526018', class: "xpl-tabs__panels" }, h("slot", { key: '7c9f18ab1d25351c57b7750c7dd1a528a14c26bb', name: "panel" }))));
|
|
346
350
|
}
|
|
347
351
|
static get is() { return "xpl-tabs"; }
|
|
348
352
|
static get properties() {
|