@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
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { TimerManager, isBrowser } from "../../../utils/lifecycle";
|
|
3
|
+
import { TOP_NAV_MOBILE_MQ } from "../top-nav-constants";
|
|
4
|
+
export class TopNavMenu {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.timers = new TimerManager();
|
|
7
|
+
this.isMobileCascade = false;
|
|
8
|
+
this.onViewportChange = () => {
|
|
9
|
+
this.isMobileCascade = this.mobileMq?.matches ?? false;
|
|
10
|
+
};
|
|
11
|
+
this.handleBackClick = async () => {
|
|
12
|
+
const parent = this.el.closest('xpl-top-nav-item');
|
|
13
|
+
if (!parent) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
await parent.closeMenu();
|
|
17
|
+
parent.querySelector('.xpl-top-nav-item__inner')?.focus();
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
if (isBrowser() && typeof window.matchMedia === 'function') {
|
|
22
|
+
this.mobileMq = window.matchMedia(TOP_NAV_MOBILE_MQ);
|
|
23
|
+
this.mobileMq.addEventListener('change', this.onViewportChange);
|
|
24
|
+
this.isMobileCascade = this.mobileMq.matches;
|
|
25
|
+
}
|
|
26
|
+
this.connectParentOpenObserver();
|
|
27
|
+
}
|
|
28
|
+
disconnectedCallback() {
|
|
29
|
+
this.timers.dispose();
|
|
30
|
+
this.mobileMq?.removeEventListener('change', this.onViewportChange);
|
|
31
|
+
this.mobileMq = undefined;
|
|
32
|
+
this.disconnectParentOpenObserver();
|
|
33
|
+
}
|
|
34
|
+
connectParentOpenObserver() {
|
|
35
|
+
this.disconnectParentOpenObserver();
|
|
36
|
+
const parent = this.el.parentElement;
|
|
37
|
+
if (!parent || typeof MutationObserver === 'undefined') {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.parentOpenObserver = new MutationObserver(() => {
|
|
41
|
+
this.scheduleParentOpenCheck();
|
|
42
|
+
});
|
|
43
|
+
this.parentOpenObserver.observe(parent, {
|
|
44
|
+
attributes: true,
|
|
45
|
+
attributeFilter: ['class'],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
disconnectParentOpenObserver() {
|
|
49
|
+
this.parentOpenObserver?.disconnect();
|
|
50
|
+
this.parentOpenObserver = undefined;
|
|
51
|
+
}
|
|
52
|
+
scheduleParentOpenCheck() {
|
|
53
|
+
this.timers.scheduleCoalesced('parentOpenCheck', () => {
|
|
54
|
+
if (!this.el.isConnected) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this.focusBackRowIfJustOpenedOnMobile();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
focusBackRowIfJustOpenedOnMobile() {
|
|
61
|
+
if (!this.isMobileCascade) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const parent = this.el.parentElement;
|
|
65
|
+
if (!parent?.classList.contains('xpl-top-nav-item--dropdown-open')) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.el
|
|
69
|
+
.querySelector('.xpl-top-nav-menu__back .xpl-top-nav-item__inner')
|
|
70
|
+
?.focus();
|
|
71
|
+
}
|
|
72
|
+
renderBackRow() {
|
|
73
|
+
if (!this.isMobileCascade || !this.label?.trim()) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return (h("xpl-top-nav-item", { class: "xpl-top-nav-menu__back", label: this.label, onNavItemClick: this.handleBackClick }, h("xpl-icon", { slot: "leading-icon", icon: "chevron-left", size: 24 })));
|
|
77
|
+
}
|
|
78
|
+
render() {
|
|
79
|
+
return (h(Host, { key: 'e71631c4d9d4b653247d13c7b182f722bf1e52cc', class: {
|
|
80
|
+
'xpl-top-nav-menu': true,
|
|
81
|
+
dark: true,
|
|
82
|
+
}, role: "list", "aria-label": this.label || undefined }, this.renderBackRow(), h("slot", { key: 'c6e38f4f78ab65dad030076aebf97c40dbce651b' })));
|
|
83
|
+
}
|
|
84
|
+
static get is() { return "xpl-top-nav-menu"; }
|
|
85
|
+
static get properties() {
|
|
86
|
+
return {
|
|
87
|
+
"label": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"mutable": false,
|
|
90
|
+
"complexType": {
|
|
91
|
+
"original": "string",
|
|
92
|
+
"resolved": "string",
|
|
93
|
+
"references": {}
|
|
94
|
+
},
|
|
95
|
+
"required": false,
|
|
96
|
+
"optional": true,
|
|
97
|
+
"docs": {
|
|
98
|
+
"tags": [],
|
|
99
|
+
"text": "Accessible name for the list (**`aria-label`** on the host) and the label shown in the mobile\ncascade back row when drilling back out of this group."
|
|
100
|
+
},
|
|
101
|
+
"getter": false,
|
|
102
|
+
"setter": false,
|
|
103
|
+
"reflect": false,
|
|
104
|
+
"attribute": "label"
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
static get states() {
|
|
109
|
+
return {
|
|
110
|
+
"isMobileCascade": {}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
static get elementRef() { return "el"; }
|
|
114
|
+
}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
|
2
|
+
import { hasHostNamedSlot } from "../../utils/light-dom-slots";
|
|
3
|
+
import { isBrowser } from "../../utils/lifecycle";
|
|
4
|
+
const TOP_NAV_BRAND_LOGO_SLOT_REGIONS = [
|
|
5
|
+
'.xpl-top-nav__brand-logo-slot',
|
|
6
|
+
'.xpl-top-nav__brand-bar',
|
|
7
|
+
];
|
|
8
|
+
const TOP_NAV_USER_MENU_PANEL_REGION = '.xpl-top-nav__user-menu-panel';
|
|
9
|
+
const TOP_NAV_USER_MENU_SLOT_REGIONS = [
|
|
10
|
+
TOP_NAV_USER_MENU_PANEL_REGION,
|
|
11
|
+
'.xpl-top-nav__user-menu-stash',
|
|
12
|
+
];
|
|
13
|
+
const TOP_NAV_USER_MENU_TRIGGER_SLOT_REGIONS = [
|
|
14
|
+
'.xpl-top-nav__user-popover',
|
|
15
|
+
'.xpl-top-nav__user-menu-stash',
|
|
16
|
+
'.xpl-top-nav__right-user',
|
|
17
|
+
];
|
|
18
|
+
const TOP_NAV_USER_MENU_TRIGGER_EXCLUDED_REGIONS = [TOP_NAV_USER_MENU_PANEL_REGION];
|
|
2
19
|
export class TopNav {
|
|
3
20
|
constructor() {
|
|
21
|
+
this.slotProjectionDirty = false;
|
|
4
22
|
this.userPopoverDrawerSyncHost = null;
|
|
5
23
|
this.brandLogoSlotPresent = false;
|
|
6
24
|
this.open = false;
|
|
25
|
+
this.slotProjectionNonce = 0;
|
|
7
26
|
this.userMenuSlotPresent = false;
|
|
8
27
|
this.userMenuTriggerSlotPresent = false;
|
|
9
28
|
this.focusNavControlAfterClose = () => {
|
|
@@ -11,9 +30,8 @@ export class TopNav {
|
|
|
11
30
|
clearTimeout(this.navControlFocusTimeoutId);
|
|
12
31
|
}
|
|
13
32
|
this.navControlFocusTimeoutId = setTimeout(() => {
|
|
14
|
-
var _a;
|
|
15
33
|
this.navControlFocusTimeoutId = undefined;
|
|
16
|
-
|
|
34
|
+
this.el.querySelector('.xpl-top-nav__nav-control')?.focus();
|
|
17
35
|
}, 0);
|
|
18
36
|
};
|
|
19
37
|
this.handleUserPopoverIsOpenChange = (e) => {
|
|
@@ -44,11 +62,30 @@ export class TopNav {
|
|
|
44
62
|
this.navOpen.emit(false);
|
|
45
63
|
this.focusNavControlAfterClose();
|
|
46
64
|
};
|
|
65
|
+
this.onDocClickOutsideDismiss = (e) => {
|
|
66
|
+
if (!this.navControl || !this.open) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const target = e.target;
|
|
70
|
+
if (target == null || this.anyDescendantPopoverIsOpen()) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (this.el.querySelector('.xpl-top-nav__left-primary')?.contains(target)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (this.el.querySelector('.xpl-top-nav__nav-control')?.contains(target)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.open = false;
|
|
80
|
+
this.resetMobileCascade();
|
|
81
|
+
this.navOpen.emit(false);
|
|
82
|
+
};
|
|
47
83
|
this.onNavToggle = () => {
|
|
48
84
|
const wasOpen = this.open;
|
|
49
85
|
this.open = !this.open;
|
|
50
86
|
this.navOpen.emit(this.open);
|
|
51
87
|
if (wasOpen && !this.open) {
|
|
88
|
+
this.resetMobileCascade();
|
|
52
89
|
this.focusNavControlAfterClose();
|
|
53
90
|
}
|
|
54
91
|
};
|
|
@@ -58,19 +95,29 @@ export class TopNav {
|
|
|
58
95
|
return;
|
|
59
96
|
}
|
|
60
97
|
const inner = host.querySelector('.xpl-popover');
|
|
61
|
-
if (inner
|
|
98
|
+
if (inner?.classList.contains('xpl-popover--is-open')) {
|
|
62
99
|
this.closeMobileDrawerWhenAccountMenuOpens();
|
|
63
100
|
}
|
|
64
101
|
};
|
|
65
102
|
this.syncBrandLogoSlot = () => {
|
|
66
|
-
const next = this.el
|
|
103
|
+
const next = hasHostNamedSlot(this.el, 'brand-logo', {
|
|
104
|
+
hostTag: 'xpl-top-nav',
|
|
105
|
+
projectionRegionSelectors: TOP_NAV_BRAND_LOGO_SLOT_REGIONS,
|
|
106
|
+
});
|
|
67
107
|
if (next !== this.brandLogoSlotPresent) {
|
|
68
108
|
this.brandLogoSlotPresent = next;
|
|
69
109
|
}
|
|
70
110
|
};
|
|
71
111
|
this.syncUserMenuSlots = () => {
|
|
72
|
-
const panel = this.el
|
|
73
|
-
|
|
112
|
+
const panel = hasHostNamedSlot(this.el, 'user-menu', {
|
|
113
|
+
hostTag: 'xpl-top-nav',
|
|
114
|
+
projectionRegionSelectors: TOP_NAV_USER_MENU_SLOT_REGIONS,
|
|
115
|
+
});
|
|
116
|
+
const triggerSlot = hasHostNamedSlot(this.el, 'user-menu-trigger', {
|
|
117
|
+
hostTag: 'xpl-top-nav',
|
|
118
|
+
projectionRegionSelectors: TOP_NAV_USER_MENU_TRIGGER_SLOT_REGIONS,
|
|
119
|
+
excludedRegionSelectors: TOP_NAV_USER_MENU_TRIGGER_EXCLUDED_REGIONS,
|
|
120
|
+
});
|
|
74
121
|
if (panel !== this.userMenuSlotPresent) {
|
|
75
122
|
this.userMenuSlotPresent = panel;
|
|
76
123
|
}
|
|
@@ -81,14 +128,15 @@ export class TopNav {
|
|
|
81
128
|
}
|
|
82
129
|
onNavControlChanged() {
|
|
83
130
|
this.syncOpenFromNavControl();
|
|
84
|
-
this.
|
|
131
|
+
this.syncDocDismissListeners();
|
|
85
132
|
}
|
|
86
133
|
connectedCallback() {
|
|
87
134
|
this.syncOpenFromNavControl();
|
|
88
|
-
this.
|
|
135
|
+
this.syncDocDismissListeners();
|
|
89
136
|
this.syncBrandLogoSlot();
|
|
90
137
|
this.syncUserMenuSlots();
|
|
91
138
|
this.connectSlotContentObserver();
|
|
139
|
+
this.flushPendingSlotProjection();
|
|
92
140
|
}
|
|
93
141
|
disconnectedCallback() {
|
|
94
142
|
if (this.navControlFocusTimeoutId !== undefined) {
|
|
@@ -99,7 +147,7 @@ export class TopNav {
|
|
|
99
147
|
clearTimeout(this.deferredSlotContentObserverSyncTimeoutId);
|
|
100
148
|
this.deferredSlotContentObserverSyncTimeoutId = undefined;
|
|
101
149
|
}
|
|
102
|
-
this.
|
|
150
|
+
this.removeDocDismissListeners();
|
|
103
151
|
this.disconnectSlotContentObserver();
|
|
104
152
|
this.disconnectUserPopoverDrawerSync();
|
|
105
153
|
}
|
|
@@ -116,13 +164,11 @@ export class TopNav {
|
|
|
116
164
|
this.connectUserPopoverDrawerSync();
|
|
117
165
|
}
|
|
118
166
|
get childAccountLabelText() {
|
|
119
|
-
|
|
120
|
-
return (_b = (_a = this.childAccountLabel) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
|
|
167
|
+
return this.childAccountLabel?.trim() ?? '';
|
|
121
168
|
}
|
|
122
169
|
get hasBrand() {
|
|
123
|
-
|
|
124
|
-
const
|
|
125
|
-
const logo = (_d = (_c = this.brandLogo) === null || _c === void 0 ? void 0 : _c.trim()) !== null && _d !== void 0 ? _d : '';
|
|
170
|
+
const name = this.brandName?.trim() ?? '';
|
|
171
|
+
const logo = this.brandLogo?.trim() ?? '';
|
|
126
172
|
return name.length > 0 || logo.length > 0 || this.brandLogoSlotPresent;
|
|
127
173
|
}
|
|
128
174
|
get hasUserMenu() {
|
|
@@ -138,7 +184,7 @@ export class TopNav {
|
|
|
138
184
|
const hosts = this.el.querySelectorAll('xpl-popover');
|
|
139
185
|
for (let i = 0; i < hosts.length; i += 1) {
|
|
140
186
|
const inner = hosts[i].querySelector('.xpl-popover');
|
|
141
|
-
if (inner
|
|
187
|
+
if (inner?.classList.contains('xpl-popover--is-open')) {
|
|
142
188
|
return true;
|
|
143
189
|
}
|
|
144
190
|
}
|
|
@@ -156,8 +202,8 @@ export class TopNav {
|
|
|
156
202
|
if (typeof MutationObserver === 'undefined') {
|
|
157
203
|
return;
|
|
158
204
|
}
|
|
159
|
-
this.slotContentObserver = new MutationObserver(() => {
|
|
160
|
-
this.scheduleSlotContentSyncFromObserver();
|
|
205
|
+
this.slotContentObserver = new MutationObserver((mutations) => {
|
|
206
|
+
this.scheduleSlotContentSyncFromObserver(mutations);
|
|
161
207
|
});
|
|
162
208
|
this.slotContentObserver.observe(this.el, {
|
|
163
209
|
childList: true,
|
|
@@ -192,23 +238,30 @@ export class TopNav {
|
|
|
192
238
|
}
|
|
193
239
|
}
|
|
194
240
|
disconnectSlotContentObserver() {
|
|
195
|
-
|
|
196
|
-
(_a = this.slotContentObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
241
|
+
this.slotContentObserver?.disconnect();
|
|
197
242
|
this.slotContentObserver = undefined;
|
|
198
243
|
}
|
|
199
244
|
disconnectUserPopoverDrawerSync() {
|
|
200
|
-
var _a;
|
|
201
245
|
if (this.userPopoverDrawerSyncHost) {
|
|
202
246
|
this.userPopoverDrawerSyncHost.removeEventListener('isOpenChange', this.handleUserPopoverIsOpenChange);
|
|
203
247
|
this.userPopoverDrawerSyncHost = null;
|
|
204
248
|
}
|
|
205
|
-
|
|
249
|
+
this.userPopoverDrawerOpenObserver?.disconnect();
|
|
206
250
|
this.userPopoverDrawerOpenObserver = undefined;
|
|
207
251
|
}
|
|
208
|
-
|
|
209
|
-
this.el.ownerDocument
|
|
252
|
+
removeDocDismissListeners() {
|
|
253
|
+
const doc = this.el.ownerDocument;
|
|
254
|
+
doc.removeEventListener('keydown', this.onDocKeyDownEscape, false);
|
|
255
|
+
doc.removeEventListener('click', this.onDocClickOutsideDismiss, true);
|
|
256
|
+
}
|
|
257
|
+
resetMobileCascade() {
|
|
258
|
+
const openItem = this.el.querySelector('.xpl-top-nav__left-primary > xpl-top-nav-item.xpl-top-nav-item--dropdown-open');
|
|
259
|
+
openItem?.closeMenu().catch(() => undefined);
|
|
210
260
|
}
|
|
211
|
-
scheduleSlotContentSyncFromObserver() {
|
|
261
|
+
scheduleSlotContentSyncFromObserver(mutations) {
|
|
262
|
+
if (this.mutationsAffectHostSlotting(mutations)) {
|
|
263
|
+
this.slotProjectionDirty = true;
|
|
264
|
+
}
|
|
212
265
|
if (this.deferredSlotContentObserverSyncTimeoutId !== undefined) {
|
|
213
266
|
clearTimeout(this.deferredSlotContentObserverSyncTimeoutId);
|
|
214
267
|
}
|
|
@@ -219,24 +272,38 @@ export class TopNav {
|
|
|
219
272
|
}
|
|
220
273
|
this.syncBrandLogoSlot();
|
|
221
274
|
this.syncUserMenuSlots();
|
|
275
|
+
this.flushPendingSlotProjection();
|
|
222
276
|
}, 0);
|
|
223
277
|
}
|
|
224
|
-
|
|
225
|
-
this.
|
|
278
|
+
flushPendingSlotProjection() {
|
|
279
|
+
if (this.slotProjectionDirty) {
|
|
280
|
+
this.slotProjectionDirty = false;
|
|
281
|
+
this.slotProjectionNonce += 1;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
mutationsAffectHostSlotting(mutations) {
|
|
285
|
+
return mutations.some((m) => m.type === 'attributes' || (m.type === 'childList' && m.target === this.el));
|
|
286
|
+
}
|
|
287
|
+
syncDocDismissListeners() {
|
|
288
|
+
this.removeDocDismissListeners();
|
|
289
|
+
if (!isBrowser())
|
|
290
|
+
return;
|
|
226
291
|
if (this.navControl) {
|
|
227
|
-
this.el.ownerDocument
|
|
292
|
+
const doc = this.el.ownerDocument;
|
|
293
|
+
doc.addEventListener('keydown', this.onDocKeyDownEscape, false);
|
|
294
|
+
doc.addEventListener('click', this.onDocClickOutsideDismiss, true);
|
|
228
295
|
}
|
|
229
296
|
}
|
|
230
297
|
syncOpenFromNavControl() {
|
|
231
298
|
const wasOpen = this.open;
|
|
232
299
|
this.open = false;
|
|
233
300
|
if (wasOpen && !this.navControl) {
|
|
301
|
+
this.resetMobileCascade();
|
|
234
302
|
this.navOpen.emit(false);
|
|
235
303
|
}
|
|
236
304
|
}
|
|
237
305
|
render() {
|
|
238
|
-
|
|
239
|
-
return (h(Host, { key: '6b22351e62f90d5fec04c0dafa5208d9a495b67b', class: {
|
|
306
|
+
return (h(Host, { key: '8f9f8e171b2b04706360048965e8e8a40f3f7013', class: {
|
|
240
307
|
'xpl-top-nav': true,
|
|
241
308
|
'xpl-top-nav--nav-control': Boolean(this.navControl),
|
|
242
309
|
'xpl-top-nav--open': this.open,
|
|
@@ -244,15 +311,15 @@ export class TopNav {
|
|
|
244
311
|
'xpl-top-nav--has-brand': this.hasBrand,
|
|
245
312
|
'xpl-top-nav--has-user-menu': this.hasUserMenu,
|
|
246
313
|
dark: true,
|
|
247
|
-
} }, h("nav", { key: '
|
|
314
|
+
} }, h("nav", { key: '2c05b69b2918753c4f928e53d92c6ca737a92b59', "aria-label": this.label ?? 'top-navigation-bar', class: "xpl-top-nav__bar" }, h("div", { key: '1dd5722748946d0adfad6cc40da03c21012d65b2', class: "xpl-top-nav__inner-left" }, this.navControl && (h("button", { key: '810e68f589ec13b942a78c877fea816407c05287', type: "button", class: "xpl-top-nav__nav-control", "aria-expanded": this.open ? 'true' : 'false', "aria-label": this.open ? 'Close navigation menu' : 'Open navigation menu', onClick: this.onNavToggle }, h("xpl-icon", { key: '550653cbd1d61c7b80a31ab48dce59936a107128', class: "xpl-top-nav__control-icon", icon: "menu", size: 32 }))), this.hasBrand && (h("div", { key: '6509a9a42b693b925204a9a42a34c0071d73f485', class: "xpl-top-nav__brand-bar" }, h("xpl-top-nav-item", { key: '623cfb95bd0a6581a057ddf37aa3920ee58b5734', class: "xpl-top-nav__brand", href: this.brandHref, onNavItemClick: this.onBrandNavItemClick }, this.brandLogo?.trim() ? (h("img", { class: "xpl-top-nav__brand-logo", src: this.brandLogo, alt: this.brandName?.trim()
|
|
248
315
|
? this.brandName.trim()
|
|
249
|
-
: 'Brand' })) : this.brandLogoSlotPresent ? (h("span", { class: "xpl-top-nav__brand-logo-slot" }, h("slot", { name: "brand-logo" }))) : null,
|
|
316
|
+
: 'Brand' })) : this.brandLogoSlotPresent ? (h("span", { class: "xpl-top-nav__brand-logo-slot" }, h("slot", { name: "brand-logo" }))) : null, this.brandName?.trim() ? (h("span", { class: "xpl-top-nav__brand-name" }, this.brandName.trim())) : null))), h("div", { key: '61d8a6d485380c39ffa74cd8cfbea37df32060dd', class: {
|
|
250
317
|
'xpl-top-nav__aside': true,
|
|
251
318
|
'xpl-nav-left': true,
|
|
252
|
-
} }, h("div", { key: '
|
|
319
|
+
} }, h("div", { key: '3aab27091f543a9c6a813043883c218791cfaa4a', class: "xpl-top-nav__left-primary", role: "list" }, h("slot", { key: '93ff48c9bb3e0fa00b23a707da84d222ad74224d', name: "left-aside" })))), h("div", { key: 'd92afdae9ac68d49a370fb41b39aeef2b956af1f', class: {
|
|
253
320
|
'xpl-top-nav__aside': true,
|
|
254
321
|
'xpl-nav-right': true,
|
|
255
|
-
} }, h("div", { key: '
|
|
322
|
+
} }, h("div", { key: '36fadad47ed2862f88c1f42e1b95530d2e06b046', class: "xpl-nav-right__list" }, h("div", { key: '5b35413cbfcc5fd9af1e491f1a1f14d41ae35c0d', class: "xpl-top-nav__right-rail" }, h("div", { key: '37d00bfe95cdf35345ed9ec273a159255efc31a2', class: "xpl-top-nav__right-lead" }, h("slot", { key: 'b64f92c5886ef929b51fde06d48ea1fbf3660d44', name: "right-aside" })), this.hasUserMenu ? (h("div", { class: "xpl-top-nav__right-user" }, h("xpl-popover", { class: "xpl-top-nav__user-popover dark", position: "bottom-end", display: "menu" }, this.userMenuTriggerSlotPresent ? (h("slot", { name: "user-menu-trigger", slot: "trigger" })) : this.usesBuiltInChildAccountTrigger ? (h("xpl-button", { slot: "trigger", class: "xpl-top-nav__child-account-trigger", type: "button", variant: "tertiary", icon: "chevron-down", iconPosition: "end", iconOnly: this.childAccountLabelText.length === 0, "aria-haspopup": "dialog", "aria-label": this.childAccountLabelText.length > 0
|
|
256
323
|
? undefined
|
|
257
324
|
: 'Open account menu' }, this.childAccountLabelText.length > 0
|
|
258
325
|
? this.childAccountLabelText
|
|
@@ -381,6 +448,7 @@ export class TopNav {
|
|
|
381
448
|
return {
|
|
382
449
|
"brandLogoSlotPresent": {},
|
|
383
450
|
"open": {},
|
|
451
|
+
"slotProjectionNonce": {},
|
|
384
452
|
"userMenuSlotPresent": {},
|
|
385
453
|
"userMenuTriggerSlotPresent": {}
|
|
386
454
|
};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
1
2
|
export default {
|
|
2
3
|
title: 'Components/Navigation/Utility Bar',
|
|
4
|
+
tags: ['vrt'],
|
|
5
|
+
beforeEach() {
|
|
6
|
+
setAutoSnapshotOptions({ enable: true });
|
|
7
|
+
},
|
|
3
8
|
argTypes: {
|
|
4
9
|
mainSlot: {
|
|
5
10
|
type: { name: 'string', required: false },
|
|
@@ -9,7 +14,7 @@ export default {
|
|
|
9
14
|
},
|
|
10
15
|
},
|
|
11
16
|
};
|
|
12
|
-
const
|
|
17
|
+
const renderUtilityBar = ({ mainSlot, asideSlot }) => `
|
|
13
18
|
<div style="width: 85vw;">
|
|
14
19
|
<xpl-utility-bar>
|
|
15
20
|
<ul slot="main">
|
|
@@ -28,10 +33,9 @@ const setAsideSlot = (isMobile) => `
|
|
|
28
33
|
<li>
|
|
29
34
|
<xpl-button
|
|
30
35
|
type="submit"
|
|
31
|
-
variant="outline"
|
|
32
36
|
${isMobile ? 'icon-only' : 'icon-leading'}
|
|
33
|
-
icon="user
|
|
34
|
-
|
|
37
|
+
icon="user"
|
|
38
|
+
>${isMobile ? '' : 'Find Customer'}</xpl-button
|
|
35
39
|
>
|
|
36
40
|
</li>
|
|
37
41
|
<li>
|
|
@@ -69,19 +73,22 @@ const globalParams = (args) => ({
|
|
|
69
73
|
`)(args),
|
|
70
74
|
},
|
|
71
75
|
});
|
|
72
|
-
export const UtilityBarMobile =
|
|
76
|
+
export const UtilityBarMobile = (args) => renderUtilityBar(args);
|
|
73
77
|
UtilityBarMobile.args = {
|
|
74
78
|
mainSlot: setMainSlot(),
|
|
75
79
|
asideSlot: setAsideSlot(true),
|
|
76
80
|
};
|
|
77
|
-
UtilityBarMobile.parameters =
|
|
81
|
+
UtilityBarMobile.parameters = {
|
|
82
|
+
...globalParams(UtilityBarMobile.args),
|
|
83
|
+
viewport: {
|
|
78
84
|
defaultViewport: 'iphone12',
|
|
79
|
-
}
|
|
85
|
+
},
|
|
86
|
+
};
|
|
80
87
|
UtilityBarMobile.storyName = 'Mobile';
|
|
81
|
-
export const UtilityBarDesktop =
|
|
88
|
+
export const UtilityBarDesktop = (args) => renderUtilityBar(args);
|
|
82
89
|
UtilityBarDesktop.args = {
|
|
83
90
|
mainSlot: setMainSlot(),
|
|
84
91
|
asideSlot: setAsideSlot(false),
|
|
85
92
|
};
|
|
86
|
-
UtilityBarDesktop.parameters =
|
|
93
|
+
UtilityBarDesktop.parameters = { ...globalParams(UtilityBarDesktop.args) };
|
|
87
94
|
UtilityBarDesktop.storyName = 'Desktop';
|
|
@@ -11,7 +11,7 @@ export class UtilityBar {
|
|
|
11
11
|
this.open = this.isNavOpenAtStartup !== undefined ? this.isNavOpenAtStartup : this.open;
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: '7ad1182d72a730df69cf714b665a6d02eac2e51a' }, h("nav", { key: 'f0d5ffc31cabc8a075cae2c1ebdaa0e82ca53943', "aria-label": "utility navigation bar", class: "xpl-utility-bar" }, this.navControl ? (h("div", null, h("button", { class: "xpl-utility-bar__nav-control", onClick: () => this.onNavToggle() }, h("xpl-icon", { class: "xpl-utility-nav__bars", icon: "three-bars" })), h("slot", { name: "aside" }))) : (h("slot", { name: "aside" })), h("slot", { key: 'dfbacf5921308bd6056b8e6d903b31df28613ce0', name: "main" }))));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "xpl-utility-bar"; }
|
|
17
17
|
static get properties() {
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { autoUpdate, computePosition, flip, hide, offset, size, } from "@floating-ui/dom";
|
|
2
|
+
import { isBrowser } from "./lifecycle";
|
|
3
|
+
export function getSide(placement) {
|
|
4
|
+
return placement.split('-')[0];
|
|
5
|
+
}
|
|
6
|
+
export function startFloating(reference, floating, options) {
|
|
7
|
+
if (!isBrowser()) {
|
|
8
|
+
return {
|
|
9
|
+
update: async () => { },
|
|
10
|
+
stop: () => { },
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const { placement, strategy, middleware, onPosition, onReferenceHidden, onError } = options;
|
|
14
|
+
let generation = 0;
|
|
15
|
+
let cleanup = null;
|
|
16
|
+
let active = true;
|
|
17
|
+
const run = async () => {
|
|
18
|
+
if (!active) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const myGen = generation;
|
|
22
|
+
try {
|
|
23
|
+
const result = await computePosition(reference, floating, {
|
|
24
|
+
placement,
|
|
25
|
+
strategy,
|
|
26
|
+
middleware,
|
|
27
|
+
});
|
|
28
|
+
if (!active || myGen !== generation) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (result.middlewareData.hide?.referenceHidden) {
|
|
32
|
+
if (onReferenceHidden?.() === true) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
onPosition(result);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (!active || myGen !== generation) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
onError?.(err);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
cleanup = autoUpdate(reference, floating, run);
|
|
46
|
+
return {
|
|
47
|
+
update: run,
|
|
48
|
+
stop: () => {
|
|
49
|
+
active = false;
|
|
50
|
+
generation += 1;
|
|
51
|
+
if (cleanup) {
|
|
52
|
+
cleanup();
|
|
53
|
+
cleanup = null;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const DEFAULT_DROPDOWN_OFFSET_PX = 4;
|
|
59
|
+
export function dropdownMiddleware(opts) {
|
|
60
|
+
const { offsetPx = DEFAULT_DROPDOWN_OFFSET_PX, flipFallbackPlacements, sizeApply } = opts;
|
|
61
|
+
return [
|
|
62
|
+
offset(offsetPx),
|
|
63
|
+
flip(flipFallbackPlacements && flipFallbackPlacements.length > 0
|
|
64
|
+
? { fallbackPlacements: flipFallbackPlacements }
|
|
65
|
+
: {}),
|
|
66
|
+
size({ apply: sizeApply }),
|
|
67
|
+
hide(),
|
|
68
|
+
];
|
|
69
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { isBrowser } from "./lifecycle";
|
|
1
2
|
export function isInsideFixedPosition(element) {
|
|
3
|
+
if (!isBrowser()) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
2
6
|
let el = element.parentElement;
|
|
3
7
|
while (el && el !== document.body && el !== document.documentElement) {
|
|
4
8
|
if (getComputedStyle(el).position === 'fixed') {
|
|
@@ -9,6 +13,9 @@ export function isInsideFixedPosition(element) {
|
|
|
9
13
|
return false;
|
|
10
14
|
}
|
|
11
15
|
export function getNearestScrollableAncestor(element) {
|
|
16
|
+
if (!isBrowser()) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
12
19
|
let el = element.parentElement;
|
|
13
20
|
while (el && el !== document.body && el !== document.documentElement) {
|
|
14
21
|
const style = getComputedStyle(el);
|
|
@@ -3,6 +3,7 @@ export class TimerManager {
|
|
|
3
3
|
this.timeouts = new Set();
|
|
4
4
|
this.intervals = new Set();
|
|
5
5
|
this.rafs = new Set();
|
|
6
|
+
this.coalesced = new Map();
|
|
6
7
|
}
|
|
7
8
|
setTimeout(callback, delay) {
|
|
8
9
|
const id = setTimeout(() => {
|
|
@@ -37,6 +38,21 @@ export class TimerManager {
|
|
|
37
38
|
cancelAnimationFrame(id);
|
|
38
39
|
this.rafs.delete(id);
|
|
39
40
|
}
|
|
41
|
+
scheduleCoalesced(key, callback, delay = 0) {
|
|
42
|
+
this.clearCoalesced(key);
|
|
43
|
+
const id = setTimeout(() => {
|
|
44
|
+
this.coalesced.delete(key);
|
|
45
|
+
callback();
|
|
46
|
+
}, delay);
|
|
47
|
+
this.coalesced.set(key, id);
|
|
48
|
+
}
|
|
49
|
+
clearCoalesced(key) {
|
|
50
|
+
const id = this.coalesced.get(key);
|
|
51
|
+
if (id !== undefined) {
|
|
52
|
+
clearTimeout(id);
|
|
53
|
+
this.coalesced.delete(key);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
40
56
|
dispose() {
|
|
41
57
|
this.timeouts.forEach((id) => clearTimeout(id));
|
|
42
58
|
this.timeouts.clear();
|
|
@@ -44,36 +60,41 @@ export class TimerManager {
|
|
|
44
60
|
this.intervals.clear();
|
|
45
61
|
this.rafs.forEach((id) => cancelAnimationFrame(id));
|
|
46
62
|
this.rafs.clear();
|
|
63
|
+
this.coalesced.forEach((id) => clearTimeout(id));
|
|
64
|
+
this.coalesced.clear();
|
|
47
65
|
}
|
|
48
66
|
}
|
|
49
|
-
export function
|
|
50
|
-
|
|
67
|
+
export function isBrowser() {
|
|
68
|
+
return typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
69
|
+
}
|
|
70
|
+
export function waitForElement(selector, root, options) {
|
|
71
|
+
if (!isBrowser()) {
|
|
72
|
+
return Promise.resolve(null);
|
|
73
|
+
}
|
|
74
|
+
const resolvedRoot = root ?? document;
|
|
75
|
+
const existing = resolvedRoot.querySelector(selector);
|
|
51
76
|
if (existing) {
|
|
52
77
|
return Promise.resolve(existing);
|
|
53
78
|
}
|
|
54
79
|
return new Promise((resolve) => {
|
|
55
|
-
|
|
56
|
-
if ((_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
|
|
80
|
+
if (options?.signal?.aborted) {
|
|
57
81
|
resolve(null);
|
|
58
82
|
return;
|
|
59
83
|
}
|
|
60
84
|
const observer = new MutationObserver(() => {
|
|
61
|
-
const el =
|
|
85
|
+
const el = resolvedRoot.querySelector(selector);
|
|
62
86
|
if (el) {
|
|
63
87
|
observer.disconnect();
|
|
64
88
|
resolve(el);
|
|
65
89
|
}
|
|
66
90
|
});
|
|
67
|
-
observer.observe(
|
|
91
|
+
observer.observe(resolvedRoot instanceof Node ? resolvedRoot : document, {
|
|
68
92
|
childList: true,
|
|
69
93
|
subtree: true,
|
|
70
94
|
});
|
|
71
|
-
|
|
95
|
+
options?.signal?.addEventListener('abort', () => {
|
|
72
96
|
observer.disconnect();
|
|
73
97
|
resolve(null);
|
|
74
98
|
}, { once: true });
|
|
75
99
|
});
|
|
76
100
|
}
|
|
77
|
-
export function isBrowser() {
|
|
78
|
-
return typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
79
|
-
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function hasHostNamedSlot(host, slotName, { hostTag, projectionRegionSelectors, excludedRegionSelectors }) {
|
|
2
|
+
const slotSelector = `[slot="${slotName}"]`;
|
|
3
|
+
const isOwn = (node) => node.closest(hostTag) === host;
|
|
4
|
+
const projectsToNamedSlot = (node) => {
|
|
5
|
+
if (!isOwn(node))
|
|
6
|
+
return false;
|
|
7
|
+
if (node.parentElement === host)
|
|
8
|
+
return true;
|
|
9
|
+
if (excludedRegionSelectors?.some((selector) => node.closest(selector) !== null)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return projectionRegionSelectors.some((selector) => node.closest(selector) !== null);
|
|
13
|
+
};
|
|
14
|
+
return Array.from(host.querySelectorAll(slotSelector)).some(projectsToNamedSlot);
|
|
15
|
+
}
|