@xplortech/apollo-core 2.5.0 → 2.7.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 +1156 -115
- package/build/style.css +12151 -5333
- package/dist/apollo-core/apollo-core.css +68 -37
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/{p-f4c2626d.entry.js → p-084d26ed.entry.js} +1 -1
- package/dist/apollo-core/p-146d5d55.entry.js +1 -0
- package/dist/apollo-core/p-16742606.entry.js +1 -0
- package/dist/apollo-core/{p-0ac33b3a.entry.js → p-28d12fd3.entry.js} +1 -1
- package/dist/apollo-core/{p-7d245bf0.entry.js → p-3eb5eb7c.entry.js} +1 -1
- package/dist/apollo-core/p-4882f0bd.entry.js +1 -0
- package/dist/apollo-core/p-64b34268.entry.js +1 -0
- package/dist/apollo-core/p-6c956d4e.entry.js +1 -0
- package/dist/apollo-core/p-71b75f36.entry.js +1 -0
- package/dist/apollo-core/p-7eb86c63.entry.js +1 -0
- package/dist/apollo-core/{p-0e1877a2.entry.js → p-84254a24.entry.js} +1 -1
- package/dist/apollo-core/p-9f2a0321.entry.js +1 -0
- package/dist/apollo-core/p-C7bgJs6C.js +2 -0
- package/dist/apollo-core/p-cde83ab0.entry.js +1 -0
- package/dist/apollo-core/p-e7363036.entry.js +1 -0
- package/dist/cjs/apollo-core.cjs.js +3 -3
- package/dist/cjs/{index-D__N_vw2.js → index-BQ97-AWw.js} +149 -96
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/xpl-accordion.cjs.entry.js +5 -5
- package/dist/cjs/xpl-application-shell.cjs.entry.js +4 -4
- package/dist/cjs/{xpl-avatar_41.cjs.entry.js → xpl-avatar_61.cjs.entry.js} +9154 -1989
- package/dist/cjs/xpl-button-row.cjs.entry.js +4 -4
- package/dist/cjs/xpl-calendar.cjs.entry.js +4 -4
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +4 -4
- package/dist/cjs/xpl-grid-item.cjs.entry.js +4 -4
- package/dist/cjs/xpl-grid.cjs.entry.js +4 -4
- package/dist/cjs/xpl-large-card.cjs.entry.js +4 -4
- package/dist/cjs/xpl-main-nav.cjs.entry.js +4 -4
- package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
- package/dist/cjs/xpl-toolbar.cjs.entry.js +5 -5
- package/dist/collection/collection-manifest.json +26 -8
- package/dist/collection/components/xpl-accordion/accordion.stories.js +4 -0
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +3 -3
- package/dist/collection/components/xpl-application-shell/application-shell.stories.js +4 -0
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +2 -2
- package/dist/collection/components/xpl-avatar/avatar.stories.js +122 -103
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +250 -16
- package/dist/collection/components/xpl-backdrop/backdrop.stories.js +4 -0
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +2 -2
- package/dist/collection/components/xpl-badge/badge.stories.js +76 -33
- package/dist/collection/components/xpl-badge/xpl-badge.js +122 -14
- package/dist/collection/components/xpl-banner/banner.stories.js +64 -0
- package/dist/collection/components/xpl-banner/xpl-banner.js +296 -0
- package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +4 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +2 -2
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +2 -2
- package/dist/collection/components/xpl-button/button.stories.js +102 -98
- package/dist/collection/components/xpl-button/xpl-button.js +201 -93
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +2 -2
- package/dist/collection/components/xpl-calendar/calendar.stories.js +4 -0
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +2 -2
- package/dist/collection/components/xpl-checkbox/checkbox.stories.js +4 -0
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +48 -26
- package/dist/collection/components/xpl-choicelist/choicelist.stories.js +4 -0
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +2 -2
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +2 -2
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +2 -2
- package/dist/collection/components/xpl-data-card/data-card.stories.js +4 -0
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +3 -3
- package/dist/collection/components/xpl-divider/divider.stories.js +4 -0
- package/dist/collection/components/xpl-divider/xpl-divider.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +29 -4
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +120 -79
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +3 -3
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +3 -3
- package/dist/collection/components/xpl-grid/xpl-grid.js +2 -2
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +2 -2
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +47 -54
- package/dist/collection/components/xpl-icon/xpl-icon.js +3 -3
- package/dist/collection/components/xpl-input/input.stories.js +170 -9
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +9 -9
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +55 -17
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +5 -5
- package/dist/collection/components/xpl-input/xpl-input-phone/phone-country-data.js +58 -0
- package/dist/collection/components/xpl-input/xpl-input-phone/phone-format.js +219 -0
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +469 -0
- package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +485 -0
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +3 -3
- package/dist/collection/components/xpl-input/xpl-input.js +223 -17
- package/dist/collection/components/xpl-large-card/large-card.stories.js +4 -0
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +2 -2
- package/dist/collection/components/xpl-list/list.stories.js +300 -63
- package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +818 -0
- package/dist/collection/components/xpl-list/xpl-list.js +580 -22
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +2 -2
- package/dist/collection/components/xpl-modal/modal.stories.js +4 -0
- package/dist/collection/components/xpl-modal/xpl-modal.js +2 -2
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +3 -3
- package/dist/collection/components/xpl-pagination/pagination.stories.js +4 -0
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
- package/dist/collection/components/xpl-panel/panel.stories.js +53 -0
- package/dist/collection/components/xpl-panel/xpl-panel.js +60 -0
- package/dist/collection/components/xpl-popover/popover.stories.js +4 -0
- package/dist/collection/components/xpl-popover/xpl-popover.js +5 -5
- package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +96 -0
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +158 -0
- package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +118 -0
- package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +171 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +4 -4
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +2 -2
- package/dist/collection/components/xpl-select/xpl-select.js +7 -7
- package/dist/collection/components/xpl-side-nav/side-nav.stories.js +519 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +259 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +32 -0
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +2 -2
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +2 -2
- package/dist/collection/components/xpl-spotlight/spotlight.stories.js +385 -0
- package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +1085 -0
- package/dist/collection/components/xpl-tab/xpl-tab.js +262 -9
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +23 -16
- package/dist/collection/components/xpl-table/table.stories.js +319 -67
- package/dist/collection/components/xpl-table/utils/move-row-dom.js +50 -0
- package/dist/collection/components/xpl-table/utils/table-internal.js +58 -0
- package/dist/collection/components/xpl-table/xpl-table-body/xpl-table-body.js +7 -0
- package/dist/collection/components/xpl-table/xpl-table-cell/xpl-table-cell.js +155 -0
- package/dist/collection/components/xpl-table/xpl-table-footer/xpl-table-footer.js +7 -0
- package/dist/collection/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.js +37 -0
- package/dist/collection/components/xpl-table/xpl-table-header/table-header.stories.js +131 -0
- package/dist/collection/components/xpl-table/xpl-table-header/xpl-table-header.js +7 -0
- package/dist/collection/components/xpl-table/xpl-table-header-cell/table-header-cell.stories.js +105 -0
- package/dist/collection/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.js +402 -0
- package/dist/collection/components/xpl-table/xpl-table-row/xpl-table-row.js +121 -0
- package/dist/collection/components/xpl-table/xpl-table.js +1449 -144
- package/dist/collection/components/xpl-tabs/segment-control.stories.js +31 -0
- package/dist/collection/components/xpl-tabs/tabs.shared.js +156 -0
- package/dist/collection/components/xpl-tabs/tabs.stories.js +10 -60
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +339 -63
- package/dist/collection/components/xpl-tag/tag.stories.js +153 -0
- package/dist/collection/components/xpl-tag/xpl-tag.js +313 -10
- package/dist/collection/components/xpl-toast/xpl-toast.js +3 -3
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +4 -4
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +3 -3
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +2 -2
- package/dist/collection/components/xpl-top-nav/top-nav.stories.js +625 -0
- package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +122 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +481 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +433 -0
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +2 -2
- package/dist/collection/utils/layout-ancestors.js +22 -0
- package/dist/collection/utils/lifecycle.js +79 -0
- package/dist/collection/utils/tab-a11y-ids.js +22 -0
- package/dist/components/floating-ui.dom.js +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/lifecycle.js +1 -0
- package/dist/components/tab-a11y-ids.js +1 -0
- 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-avatar2.js +1 -1
- package/dist/components/xpl-backdrop.js +1 -1
- package/dist/components/xpl-backdrop2.js +1 -1
- package/dist/components/xpl-badge.js +1 -1
- package/dist/components/xpl-badge2.js +1 -1
- package/dist/components/xpl-banner.d.ts +11 -0
- package/dist/components/xpl-banner.js +1 -0
- 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-button2.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox.js +1 -1
- package/dist/components/xpl-checkbox2.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-divider2.js +1 -1
- package/dist/components/xpl-dropdown-group.js +1 -1
- package/dist/components/xpl-dropdown-group2.js +1 -1
- package/dist/components/xpl-dropdown-heading.js +1 -1
- package/dist/components/xpl-dropdown-heading2.js +1 -1
- package/dist/components/xpl-dropdown-option.js +1 -1
- package/dist/components/xpl-dropdown-option2.js +1 -1
- package/dist/components/xpl-dropdown.js +1 -1
- package/dist/components/xpl-dropdown2.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-icon2.js +1 -1
- package/dist/components/xpl-input-date.js +1 -1
- package/dist/components/xpl-input-date2.js +1 -1
- package/dist/components/xpl-input-file.js +1 -1
- package/dist/components/xpl-input-file2.js +1 -1
- package/dist/components/xpl-input-phone.d.ts +11 -0
- package/dist/components/xpl-input-phone.js +1 -0
- package/dist/components/xpl-input-search.d.ts +11 -0
- package/dist/components/xpl-input-search.js +1 -0
- package/dist/components/xpl-input-search2.js +1 -0
- package/dist/components/xpl-input-time.js +1 -1
- package/dist/components/xpl-input.js +1 -1
- package/dist/components/xpl-input2.js +1 -1
- package/dist/components/xpl-large-card.js +1 -1
- package/dist/components/{xpl-progress.d.ts → xpl-list-item.d.ts} +4 -4
- package/dist/components/xpl-list-item.js +1 -0
- package/dist/components/xpl-list-item2.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/xpl-nav-header-menu.js +1 -0
- package/dist/components/xpl-nav-item.js +1 -1
- package/dist/components/xpl-pagination.js +1 -1
- package/dist/components/xpl-panel.d.ts +11 -0
- package/dist/components/xpl-panel.js +1 -0
- package/dist/components/xpl-popover.js +1 -1
- package/dist/components/xpl-popover2.js +1 -1
- package/dist/components/xpl-progress-bar.d.ts +11 -0
- package/dist/components/xpl-progress-bar.js +1 -0
- package/dist/components/xpl-progress-indicator.d.ts +11 -0
- package/dist/components/xpl-progress-indicator.js +1 -0
- package/dist/components/xpl-radio.js +1 -1
- package/dist/components/xpl-radio2.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select.js +1 -1
- package/dist/components/xpl-select2.js +1 -1
- package/dist/components/xpl-side-nav-item.d.ts +11 -0
- package/dist/components/xpl-side-nav-item.js +1 -0
- package/dist/components/xpl-side-nav.d.ts +11 -0
- package/dist/components/xpl-side-nav.js +1 -0
- package/dist/components/xpl-skeleton.js +1 -1
- package/dist/components/xpl-slideout.js +1 -1
- package/dist/components/xpl-spotlight.d.ts +11 -0
- package/dist/components/xpl-spotlight.js +1 -0
- package/dist/components/xpl-tab-panel.js +1 -1
- package/dist/components/xpl-tab.js +1 -1
- package/dist/components/xpl-table-body.d.ts +11 -0
- package/dist/components/xpl-table-body.js +1 -0
- package/dist/components/xpl-table-cell.d.ts +11 -0
- package/dist/components/xpl-table-cell.js +1 -0
- package/dist/components/xpl-table-cell2.js +1 -0
- package/dist/components/xpl-table-footer-cell.d.ts +11 -0
- package/dist/components/xpl-table-footer-cell.js +1 -0
- package/dist/components/xpl-table-footer-cell2.js +1 -0
- package/dist/components/xpl-table-footer.d.ts +11 -0
- package/dist/components/xpl-table-footer.js +1 -0
- package/dist/components/xpl-table-header-cell.js +1 -1
- package/dist/components/xpl-table-header-cell2.js +1 -0
- package/dist/components/xpl-table-header.js +1 -1
- package/dist/components/xpl-table-row.d.ts +11 -0
- package/dist/components/xpl-table-row.js +1 -0
- 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-tag2.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-tooltip2.js +1 -1
- package/dist/components/xpl-top-nav-item.d.ts +11 -0
- package/dist/components/xpl-top-nav-item.js +1 -0
- package/dist/components/xpl-top-nav-item2.js +1 -0
- package/dist/components/xpl-top-nav.d.ts +11 -0
- package/dist/components/xpl-top-nav.js +1 -0
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/docs/xpl-accordion/readme.md +4 -0
- package/dist/docs/xpl-avatar/readme.md +291 -12
- package/dist/docs/xpl-backdrop/readme.md +1 -1
- package/dist/docs/xpl-badge/readme.md +104 -6
- package/dist/docs/xpl-banner/readme.md +203 -0
- package/dist/docs/xpl-button/readme.md +161 -14
- package/dist/docs/xpl-button-row/readme.md +1 -0
- package/dist/docs/xpl-calendar/readme.md +2 -1
- package/dist/docs/xpl-checkbox/readme.md +19 -14
- package/dist/docs/xpl-choicelist/readme.md +1 -0
- package/dist/docs/xpl-data-card/readme.md +2 -2
- package/dist/docs/xpl-divider/readme.md +6 -4
- package/dist/docs/xpl-dropdown/readme.md +15 -12
- package/dist/docs/xpl-dropdown/xpl-dropdown-group/readme.md +1 -0
- package/dist/docs/xpl-dropdown/xpl-dropdown-option/readme.md +6 -0
- package/dist/docs/xpl-dynamic-table/readme.md +22 -19
- package/dist/docs/xpl-dynamic-table-cell/readme.md +20 -18
- package/dist/docs/xpl-dynamic-table-row/readme.md +21 -19
- package/dist/docs/xpl-icon/readme.md +27 -3
- package/dist/docs/xpl-input/readme.md +72 -37
- package/dist/docs/xpl-input/xpl-input-color/readme.md +5 -0
- package/dist/docs/xpl-input/xpl-input-phone/readme.md +168 -0
- package/dist/docs/xpl-input/xpl-input-search/readme.md +175 -0
- package/dist/docs/xpl-input/xpl-input-time/readme.md +5 -0
- package/dist/docs/xpl-large-card/readme.md +1 -1
- package/dist/docs/xpl-list/readme.md +320 -10
- package/dist/docs/xpl-list/xpl-list-item/readme.md +99 -0
- package/dist/docs/xpl-modal/readme.md +3 -0
- package/dist/docs/xpl-pagination/readme.md +4 -0
- package/dist/docs/xpl-panel/readme.md +174 -0
- package/dist/docs/xpl-popover/readme.md +3 -1
- package/dist/docs/xpl-progress-bar/readme.md +145 -0
- package/dist/docs/xpl-progress-indicator/readme.md +234 -0
- package/dist/docs/xpl-radio/readme.md +6 -4
- package/dist/docs/xpl-select/readme.md +3 -1
- package/dist/docs/xpl-side-nav/readme.md +71 -0
- package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +115 -0
- package/dist/docs/xpl-slideout/readme.md +2 -1
- package/dist/docs/xpl-spotlight/readme.md +235 -0
- package/dist/docs/xpl-tab/readme.md +43 -7
- package/dist/docs/xpl-tab-panel/readme.md +42 -0
- package/dist/docs/xpl-table/readme.md +110 -46
- package/dist/docs/xpl-table/xpl-table-body/readme.md +10 -0
- package/dist/docs/xpl-table/xpl-table-cell/readme.md +33 -0
- package/dist/docs/xpl-table/xpl-table-footer/readme.md +10 -0
- package/dist/docs/xpl-table/xpl-table-footer-cell/readme.md +30 -0
- package/dist/docs/{xpl-table-header → xpl-table/xpl-table-header}/readme.md +13 -13
- package/dist/docs/xpl-table/xpl-table-header-cell/readme.md +66 -0
- package/dist/docs/xpl-table/xpl-table-row/readme.md +19 -0
- package/dist/docs/xpl-tabs/readme.md +63 -8
- package/dist/docs/xpl-tag/readme.md +379 -4
- package/dist/docs/xpl-toast/readme.md +56 -1
- package/dist/docs/xpl-top-nav/readme.md +179 -0
- package/dist/docs/xpl-top-nav/xpl-nav-header-menu/readme.md +81 -0
- package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +87 -0
- package/dist/esm/apollo-core.js +4 -4
- package/dist/esm/{index-DhZas3eX.js → index-C7bgJs6C.js} +149 -97
- package/dist/esm/loader.js +3 -3
- package/dist/esm/xpl-accordion.entry.js +5 -5
- package/dist/esm/xpl-application-shell.entry.js +4 -4
- package/dist/esm/{xpl-avatar_41.entry.js → xpl-avatar_61.entry.js} +9087 -1942
- package/dist/esm/xpl-button-row.entry.js +4 -4
- package/dist/esm/xpl-calendar.entry.js +4 -4
- package/dist/esm/xpl-dynamic-table-cell.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table.entry.js +4 -4
- package/dist/esm/xpl-grid-item.entry.js +4 -4
- package/dist/esm/xpl-grid.entry.js +4 -4
- package/dist/esm/xpl-large-card.entry.js +4 -4
- package/dist/esm/xpl-main-nav.entry.js +4 -4
- package/dist/esm/xpl-toggle.entry.js +6 -6
- package/dist/esm/xpl-toolbar.entry.js +5 -5
- package/dist/types/components/xpl-accordion/xpl-accordion.d.ts +1 -1
- package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +4 -0
- package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
- package/dist/types/components/xpl-avatar/avatar.stories.d.ts +90 -27
- package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +30 -3
- package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +4 -0
- package/dist/types/components/xpl-backdrop/xpl-backdrop.d.ts +1 -1
- package/dist/types/components/xpl-badge/badge.stories.d.ts +47 -11
- package/dist/types/components/xpl-badge/xpl-badge.d.ts +9 -2
- package/dist/types/components/xpl-banner/banner.stories.d.ts +77 -0
- package/dist/types/components/xpl-banner/xpl-banner.d.ts +20 -0
- package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +4 -0
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.d.ts +1 -1
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.d.ts +1 -1
- package/dist/types/components/xpl-button/button.stories.d.ts +68 -30
- package/dist/types/components/xpl-button/xpl-button.d.ts +21 -8
- package/dist/types/components/xpl-button-row/xpl-button-row.d.ts +1 -1
- package/dist/types/components/xpl-calendar/calendar.stories.d.ts +4 -0
- package/dist/types/components/xpl-calendar/xpl-calendar.d.ts +1 -1
- package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +4 -0
- package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +5 -4
- package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +4 -0
- package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +1 -1
- package/dist/types/components/xpl-content-area/xpl-content-area.d.ts +1 -1
- package/dist/types/components/xpl-dashboard/xpl-dashboard.d.ts +1 -1
- package/dist/types/components/xpl-data-card/data-card.stories.d.ts +4 -0
- package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +1 -1
- package/dist/types/components/xpl-divider/divider.stories.d.ts +4 -0
- package/dist/types/components/xpl-divider/xpl-divider.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/dropdown-option.d.ts +1 -0
- package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +3 -2
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +11 -8
- package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +1 -1
- package/dist/types/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.d.ts +1 -1
- package/dist/types/components/xpl-dynamic-table-row/xpl-dynamic-table-row.d.ts +1 -1
- package/dist/types/components/xpl-grid/xpl-grid.d.ts +1 -1
- package/dist/types/components/xpl-grid-item/xpl-grid-item.d.ts +1 -1
- package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +10 -11
- package/dist/types/components/xpl-icon/xpl-icon.d.ts +1 -1
- package/dist/types/components/xpl-input/input.stories.d.ts +37 -7
- package/dist/types/components/xpl-input/xpl-input-color/xpl-input-color.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +10 -3
- 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/phone-country-data.d.ts +13 -0
- package/dist/types/components/xpl-input/xpl-input-phone/phone-format.d.ts +5 -0
- package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +48 -0
- package/dist/types/components/xpl-input/xpl-input-search/xpl-input-search.d.ts +39 -0
- 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 +23 -5
- package/dist/types/components/xpl-large-card/large-card.stories.d.ts +4 -0
- package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +1 -1
- package/dist/types/components/xpl-list/list.stories.d.ts +299 -13
- package/dist/types/components/xpl-list/listitem.d.ts +13 -0
- package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +71 -0
- package/dist/types/components/xpl-list/xpl-list.d.ts +56 -3
- package/dist/types/components/xpl-main-nav/xpl-main-nav.d.ts +1 -1
- package/dist/types/components/xpl-modal/modal.stories.d.ts +4 -0
- package/dist/types/components/xpl-modal/xpl-modal.d.ts +1 -1
- package/dist/types/components/xpl-nav-item/xpl-nav-item.d.ts +1 -1
- package/dist/types/components/xpl-pagination/pagination.stories.d.ts +4 -0
- package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +1 -1
- package/dist/types/components/xpl-panel/panel.stories.d.ts +22 -0
- package/dist/types/components/xpl-panel/xpl-panel.d.ts +5 -0
- package/dist/types/components/xpl-popover/xpl-popover.d.ts +1 -1
- package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +73 -0
- package/dist/types/components/xpl-progress-bar/xpl-progress-bar.d.ts +15 -0
- package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +62 -0
- package/dist/types/components/xpl-progress-indicator/xpl-progress-indicator.d.ts +11 -0
- package/dist/types/components/xpl-radio/xpl-radio.d.ts +1 -1
- package/dist/types/components/xpl-secondary-nav/xpl-secondary-nav.d.ts +1 -1
- package/dist/types/components/xpl-select/xpl-select.d.ts +1 -1
- package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +80 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +20 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +4 -0
- package/dist/types/components/xpl-skeleton/xpl-skeleton.d.ts +1 -1
- package/dist/types/components/xpl-slideout/xpl-slideout.d.ts +1 -1
- package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +197 -0
- package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +101 -0
- package/dist/types/components/xpl-tab/xpl-tab.d.ts +15 -2
- package/dist/types/components/xpl-tab-panel/xpl-tab-panel.d.ts +3 -2
- package/dist/types/components/xpl-table/table.stories.d.ts +161 -19
- package/dist/types/components/xpl-table/utils/move-row-dom.d.ts +3 -0
- package/dist/types/components/xpl-table/utils/table-internal.d.ts +8 -0
- package/dist/types/components/xpl-table/xpl-table-body/xpl-table-body.d.ts +3 -0
- package/dist/types/components/xpl-table/xpl-table-cell/xpl-table-cell.d.ts +11 -0
- package/dist/types/components/xpl-table/xpl-table-footer/xpl-table-footer.d.ts +3 -0
- package/dist/types/components/xpl-table/xpl-table-footer-cell/xpl-table-footer-cell.d.ts +4 -0
- package/dist/types/components/{xpl-table-header → xpl-table/xpl-table-header}/table-header.stories.d.ts +13 -16
- package/dist/types/components/xpl-table/xpl-table-header/xpl-table-header.d.ts +3 -0
- package/dist/types/components/{xpl-table-header-cell → xpl-table/xpl-table-header-cell}/table-header-cell.stories.d.ts +24 -20
- package/dist/types/components/xpl-table/xpl-table-header-cell/xpl-table-header-cell.d.ts +32 -0
- package/dist/types/components/xpl-table/xpl-table-row/xpl-table-row.d.ts +13 -0
- package/dist/types/components/xpl-table/xpl-table.d.ts +124 -22
- package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +112 -0
- package/dist/types/components/xpl-tabs/tabs.shared.d.ts +156 -0
- package/dist/types/components/xpl-tabs/tabs.stories.d.ts +65 -12
- package/dist/types/components/xpl-tabs/xpl-tabs.d.ts +38 -19
- package/dist/types/components/xpl-tag/tag.stories.d.ts +65 -0
- package/dist/types/components/xpl-tag/xpl-tag.d.ts +37 -2
- package/dist/types/components/xpl-toast/xpl-toast.d.ts +1 -1
- package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +1 -1
- package/dist/types/components/xpl-toolbar/xpl-toolbar.d.ts +1 -1
- package/dist/types/components/xpl-tooltip/xpl-tooltip.d.ts +1 -1
- package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +471 -0
- package/dist/types/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.d.ts +18 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +48 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +51 -0
- package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +1 -1
- package/dist/types/components.d.ts +3059 -278
- package/dist/types/stencil-public-runtime.d.ts +23 -2
- package/dist/types/utils/layout-ancestors.d.ts +2 -0
- package/dist/types/utils/lifecycle.d.ts +16 -0
- package/dist/types/utils/tab-a11y-ids.d.ts +4 -0
- package/package.json +42 -28
- package/dist/apollo-core/p-1c2e4034.entry.js +0 -1
- package/dist/apollo-core/p-3b5f8989.entry.js +0 -1
- package/dist/apollo-core/p-4fab8172.entry.js +0 -1
- package/dist/apollo-core/p-576ce90f.entry.js +0 -1
- package/dist/apollo-core/p-5ec45742.entry.js +0 -1
- package/dist/apollo-core/p-77f0fd4a.entry.js +0 -1
- package/dist/apollo-core/p-7b7db57a.entry.js +0 -1
- package/dist/apollo-core/p-7c22b842.entry.js +0 -1
- package/dist/apollo-core/p-812bb0e4.entry.js +0 -1
- package/dist/apollo-core/p-845eef0d.entry.js +0 -1
- package/dist/apollo-core/p-9853028c.entry.js +0 -1
- package/dist/apollo-core/p-9d65ece7.entry.js +0 -1
- package/dist/apollo-core/p-DhZas3eX.js +0 -2
- package/dist/apollo-core/p-be292555.entry.js +0 -1
- package/dist/cjs/xpl-list.cjs.entry.js +0 -32
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +0 -57
- package/dist/cjs/xpl-table-header.cjs.entry.js +0 -14
- package/dist/collection/components/xpl-progress/progress.stories.js +0 -106
- package/dist/collection/components/xpl-progress/xpl-progress.js +0 -60
- package/dist/collection/components/xpl-table-header/table-header.stories.js +0 -126
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +0 -7
- package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +0 -75
- package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +0 -188
- package/dist/components/xpl-progress.js +0 -1
- package/dist/docs/xpl-progress/readme.md +0 -22
- package/dist/docs/xpl-table-header-cell/readme.md +0 -47
- package/dist/esm/xpl-list.entry.js +0 -30
- package/dist/esm/xpl-table-header-cell.entry.js +0 -55
- package/dist/esm/xpl-table-header.entry.js +0 -12
- package/dist/types/components/xpl-progress/progress.stories.d.ts +0 -38
- package/dist/types/components/xpl-progress/xpl-progress.d.ts +0 -6
- package/dist/types/components/xpl-table-header/xpl-table-header.d.ts +0 -3
- package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +0 -13
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "xpl-accordion",
|
|
6
6
|
"description": {
|
|
7
7
|
"kind": "markdown",
|
|
8
|
-
"value": ""
|
|
8
|
+
"value": "Accordions are collapsable containers and allow users to collapse or expand the container. Useful when many items are present in a section and users may benefit from closing content to gain more space or focus on content that is most important to them. \n\nUse the content slot in the opened state to swap in Apollo components or make your own local component with groups of Apollo components or custom content.\n\nNote: Users will often miss any content that is hidden behind an interaction. If it is important that users see the content, use an accordion's open state on load `initialExpanded`, or use another pattern."
|
|
9
9
|
},
|
|
10
10
|
"attributes": [
|
|
11
11
|
{
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"name": "xpl-avatar",
|
|
86
86
|
"description": {
|
|
87
87
|
"kind": "markdown",
|
|
88
|
-
"value": ""
|
|
88
|
+
"value": "The **Avatar** component shows a person or entity: a photo, initials on a colored surface, or custom slot content. It aligns with Apollo’s Figma patterns for default avatars, profile layouts, stacked groups, and rows with supporting text."
|
|
89
89
|
},
|
|
90
90
|
"attributes": [
|
|
91
91
|
{
|
|
@@ -113,17 +113,21 @@
|
|
|
113
113
|
"name": "disabled",
|
|
114
114
|
"description": "Sets a disabled state on the avatar when set to true"
|
|
115
115
|
},
|
|
116
|
+
{
|
|
117
|
+
"name": "group-data",
|
|
118
|
+
"description": "When `variant` is `group`, data for each face (max 4 visible + overflow count). Each item: { src?, name?, color? }."
|
|
119
|
+
},
|
|
116
120
|
{
|
|
117
121
|
"name": "href",
|
|
118
122
|
"description": "The URL if the avatar should be hyperlinked"
|
|
119
123
|
},
|
|
120
124
|
{
|
|
121
125
|
"name": "name",
|
|
122
|
-
"description": "Alt text for the image
|
|
126
|
+
"description": "Alt text for the image; also used for initials when no image and no slot."
|
|
123
127
|
},
|
|
124
128
|
{
|
|
125
129
|
"name": "size",
|
|
126
|
-
"description": "Size of the avatar",
|
|
130
|
+
"description": "Size of the avatar (and of each avatar in a group).",
|
|
127
131
|
"values": [
|
|
128
132
|
{
|
|
129
133
|
"name": "md"
|
|
@@ -139,22 +143,62 @@
|
|
|
139
143
|
},
|
|
140
144
|
{
|
|
141
145
|
"name": "status",
|
|
142
|
-
"description": "
|
|
146
|
+
"description": "Shown for the default avatar, `profile`, and `with-text`; not shown when `variant` is `group`.\n**Legacy",
|
|
143
147
|
"values": [
|
|
144
148
|
{
|
|
145
149
|
"name": "active"
|
|
146
150
|
},
|
|
151
|
+
{
|
|
152
|
+
"name": "blue"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "gray"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "green"
|
|
159
|
+
},
|
|
147
160
|
{
|
|
148
161
|
"name": "inactive"
|
|
149
162
|
},
|
|
163
|
+
{
|
|
164
|
+
"name": "orange"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "purple"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "red"
|
|
171
|
+
},
|
|
150
172
|
{
|
|
151
173
|
"name": "warning"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "yellow"
|
|
152
177
|
}
|
|
153
178
|
]
|
|
154
179
|
},
|
|
180
|
+
{
|
|
181
|
+
"name": "sub-text",
|
|
182
|
+
"description": "Secondary text shown when `variant` is `with-text` (e.g. email)."
|
|
183
|
+
},
|
|
155
184
|
{
|
|
156
185
|
"name": "target",
|
|
157
186
|
"description": "Where to open the URL chosen for the `href` prop:\n`_self` (default), `_blank`, `_parent`, or `_top`"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "variant",
|
|
190
|
+
"description": "Optional layout: `profile` (large profile sizes), `group` (stacked faces + `groupData`; `status` not shown),\n`with-text` (avatar with `name` / `subText` beside it). Omit for the default single avatar.",
|
|
191
|
+
"values": [
|
|
192
|
+
{
|
|
193
|
+
"name": "group"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "profile"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "with-text"
|
|
200
|
+
}
|
|
201
|
+
]
|
|
158
202
|
}
|
|
159
203
|
]
|
|
160
204
|
},
|
|
@@ -162,7 +206,7 @@
|
|
|
162
206
|
"name": "xpl-backdrop",
|
|
163
207
|
"description": {
|
|
164
208
|
"kind": "markdown",
|
|
165
|
-
"value": "This backdrop is used to add a transparent darker layer on top of the content area
|
|
209
|
+
"value": "This backdrop is used to add a transparent darker layer on top of the content area to focus the user’s attention. Typically used when a dialog such as a modal or slide out panel is active."
|
|
166
210
|
},
|
|
167
211
|
"attributes": [
|
|
168
212
|
{
|
|
@@ -175,30 +219,142 @@
|
|
|
175
219
|
"name": "xpl-badge",
|
|
176
220
|
"description": {
|
|
177
221
|
"kind": "markdown",
|
|
178
|
-
"value": ""
|
|
222
|
+
"value": "`xpl-badge` is a small, non-interactive status indicator used to communicate counts, states, or supplementary information next to another element. Badges are **never clickable** – use a button or link if you need interaction.\n\nBadges support multiple **variants** (colors), **sizes**, **shapes**, and **dot styles**, so they can be used both as pill labels and as compact status / notification indicators."
|
|
179
223
|
},
|
|
180
224
|
"attributes": [
|
|
225
|
+
{
|
|
226
|
+
"name": "bordered",
|
|
227
|
+
"description": "Whether badge shows a bordered ring"
|
|
228
|
+
},
|
|
181
229
|
{
|
|
182
230
|
"name": "dot",
|
|
183
|
-
"description": "Whether badge shows a dot icon before the text"
|
|
231
|
+
"description": "Whether badge shows a dot icon before the text (inside the pill)"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"name": "dot-only",
|
|
235
|
+
"description": "When true, render a compact badge built around the dot.\n- With no children: just a dot (status/dot badge)\n- With children: a small dot badge with the text/number inside"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "shape",
|
|
239
|
+
"description": "Badge shape\nrounded (pill) boxy (rounded corners)",
|
|
240
|
+
"values": [
|
|
241
|
+
{
|
|
242
|
+
"name": "boxy"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "rounded"
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "size",
|
|
251
|
+
"description": "Badge size\ndefault | small",
|
|
252
|
+
"values": [
|
|
253
|
+
{
|
|
254
|
+
"name": "default"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "small"
|
|
258
|
+
}
|
|
259
|
+
]
|
|
184
260
|
},
|
|
185
261
|
{
|
|
186
262
|
"name": "variant",
|
|
187
|
-
"description": "
|
|
263
|
+
"description": "Badge variant (color).\n\nPreferred values: `purple`, `green`, `yellow`, `orange`, `gray`, `red`, `blue`.\n\nThe legacy semantic names `success`, `warning`, `inactive`, and `error` are still\naccepted and map to `green`, `yellow`, `gray`, and `red` respectively. Prefer the\ncolor names for new code.",
|
|
188
264
|
"values": [
|
|
265
|
+
{
|
|
266
|
+
"name": "blue"
|
|
267
|
+
},
|
|
189
268
|
{
|
|
190
269
|
"name": "error"
|
|
191
270
|
},
|
|
271
|
+
{
|
|
272
|
+
"name": "gray"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "green"
|
|
276
|
+
},
|
|
192
277
|
{
|
|
193
278
|
"name": "inactive"
|
|
194
279
|
},
|
|
280
|
+
{
|
|
281
|
+
"name": "orange"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "purple"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "red"
|
|
288
|
+
},
|
|
195
289
|
{
|
|
196
290
|
"name": "success"
|
|
197
291
|
},
|
|
292
|
+
{
|
|
293
|
+
"name": "warning"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"name": "yellow"
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "xpl-banner",
|
|
304
|
+
"description": {
|
|
305
|
+
"kind": "markdown",
|
|
306
|
+
"value": "Banners display a system level or page level message at the top of the screen. The section-banner variant displays important messages inline within a section."
|
|
307
|
+
},
|
|
308
|
+
"attributes": [
|
|
309
|
+
{
|
|
310
|
+
"name": "action-text",
|
|
311
|
+
"description": "Primary action label. When provided, an action button is rendered."
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "appearance",
|
|
315
|
+
"description": "Controls the visual appearance and semantic meaning of the banner.\nThese values map to messaging background/border token sets in `banner.css`.\nBanner icons use `--xpl-icon-default`, except `error` which uses inverse icon/text\ntokens for contrast on dark backgrounds.",
|
|
316
|
+
"values": [
|
|
317
|
+
{
|
|
318
|
+
"name": "error"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "information"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "positive"
|
|
325
|
+
},
|
|
198
326
|
{
|
|
199
327
|
"name": "warning"
|
|
200
328
|
}
|
|
201
329
|
]
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "description",
|
|
333
|
+
"description": "Optional supporting message shown after the heading.\nDescription text uses `--xpl-text-default`."
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "has-icon",
|
|
337
|
+
"description": "Whether to render the leading icon in section layout.\nIgnored in bar layout — bar banners always show the icon."
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "heading",
|
|
341
|
+
"description": "Primary banner message shown with stronger title typography."
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "is-dismissible",
|
|
345
|
+
"description": "Whether to show the trailing dismiss control."
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "is-section",
|
|
349
|
+
"description": "Renders the section-style banner layout when true."
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"name": "secondary-action-text",
|
|
353
|
+
"description": "Secondary action label. When provided, a second action button is rendered."
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"name": "truncate-desc",
|
|
357
|
+
"description": "When true, `description` is constrained to one line with ellipsis so banner height stays stable."
|
|
202
358
|
}
|
|
203
359
|
]
|
|
204
360
|
},
|
|
@@ -222,24 +378,44 @@
|
|
|
222
378
|
"name": "xpl-button",
|
|
223
379
|
"description": {
|
|
224
380
|
"kind": "markdown",
|
|
225
|
-
"value": "Buttons allow users to take an action
|
|
381
|
+
"value": "Buttons allow users to take an action with clear visual hierarchy (variant), semantic meaning (sentiment), and size."
|
|
226
382
|
},
|
|
227
383
|
"attributes": [
|
|
228
384
|
{
|
|
229
385
|
"name": "disabled",
|
|
230
|
-
"description": "
|
|
386
|
+
"description": "Whether button should be disabled"
|
|
231
387
|
},
|
|
232
388
|
{
|
|
233
389
|
"name": "form",
|
|
234
|
-
"description": ""
|
|
390
|
+
"description": "An optional form attribute for the button if type is submit"
|
|
235
391
|
},
|
|
236
392
|
{
|
|
237
393
|
"name": "full-width",
|
|
238
|
-
"description": "
|
|
394
|
+
"description": "Whether the button should be of full width as per parent container."
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"name": "icon",
|
|
398
|
+
"description": "Icon to render - icon name as string (from xpl-icon library)."
|
|
239
399
|
},
|
|
240
400
|
{
|
|
241
401
|
"name": "icon-only",
|
|
242
|
-
"description": "
|
|
402
|
+
"description": "When true, the button renders in icon-only circular style. Use for icon-only buttons."
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "icon-position",
|
|
406
|
+
"description": "Icon position relative to slot content. Ignored if no icon is provided.",
|
|
407
|
+
"values": [
|
|
408
|
+
{
|
|
409
|
+
"name": "end"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "start"
|
|
413
|
+
}
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"name": "is-loading",
|
|
418
|
+
"description": "When true, shows a loading overlay with spinner over the button. Button is non-interactive."
|
|
243
419
|
},
|
|
244
420
|
{
|
|
245
421
|
"name": "link",
|
|
@@ -247,11 +423,26 @@
|
|
|
247
423
|
},
|
|
248
424
|
{
|
|
249
425
|
"name": "name",
|
|
250
|
-
"description": ""
|
|
426
|
+
"description": "Name of the button, submitted with form data. Passed through to the native button element."
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "sentiment",
|
|
430
|
+
"description": "Sentiment of the button, which applies different color schemes to indicate purpose/intent.",
|
|
431
|
+
"values": [
|
|
432
|
+
{
|
|
433
|
+
"name": "negative"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"name": "neutral"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"name": "positive"
|
|
440
|
+
}
|
|
441
|
+
]
|
|
251
442
|
},
|
|
252
443
|
{
|
|
253
444
|
"name": "size",
|
|
254
|
-
"description": "",
|
|
445
|
+
"description": "Button size. Use 'default', 'xs' (extra small), or 'sm' (small).",
|
|
255
446
|
"values": [
|
|
256
447
|
{
|
|
257
448
|
"name": "default"
|
|
@@ -281,7 +472,7 @@
|
|
|
281
472
|
},
|
|
282
473
|
{
|
|
283
474
|
"name": "type",
|
|
284
|
-
"description": "",
|
|
475
|
+
"description": "HTML button type attribute.",
|
|
285
476
|
"values": [
|
|
286
477
|
{
|
|
287
478
|
"name": "button"
|
|
@@ -296,11 +487,11 @@
|
|
|
296
487
|
},
|
|
297
488
|
{
|
|
298
489
|
"name": "value",
|
|
299
|
-
"description": ""
|
|
490
|
+
"description": "Value of the button, submitted with form data. Passed through to the native button element."
|
|
300
491
|
},
|
|
301
492
|
{
|
|
302
493
|
"name": "variant",
|
|
303
|
-
"description": "",
|
|
494
|
+
"description": "Button variant/style. Use \"primary\", \"secondary\", \"tertiary\" for new usage. \"subtle\" is deprecated but still supported for backward compatibility.",
|
|
304
495
|
"values": [
|
|
305
496
|
{
|
|
306
497
|
"name": "primary"
|
|
@@ -310,6 +501,9 @@
|
|
|
310
501
|
},
|
|
311
502
|
{
|
|
312
503
|
"name": "subtle"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "tertiary"
|
|
313
507
|
}
|
|
314
508
|
]
|
|
315
509
|
}
|
|
@@ -355,7 +549,7 @@
|
|
|
355
549
|
"name": "xpl-calendar",
|
|
356
550
|
"description": {
|
|
357
551
|
"kind": "markdown",
|
|
358
|
-
"value": ""
|
|
552
|
+
"value": "Calendars allow users to view and select dates. Use XPL-Calendar when date picking is needed on a page or in a in a container.\nIf a calendar is needed within a form, use [XPL-Datepicker](https://apollo.xplordocs.com/?path=/story/components-input--datepicker)."
|
|
359
553
|
},
|
|
360
554
|
"attributes": [
|
|
361
555
|
{
|
|
@@ -396,9 +590,13 @@
|
|
|
396
590
|
"name": "xpl-checkbox",
|
|
397
591
|
"description": {
|
|
398
592
|
"kind": "markdown",
|
|
399
|
-
"value": ""
|
|
593
|
+
"value": "Checkboxes allow users to make selections or choices. Checkboxes can be multi-select, and also act as controls.\r\n\r\nProvide visible label text in the default slot, or set `aria-label` when the checkbox has no adjacent label (for example, icon-only toolbars or table selection cells)."
|
|
400
594
|
},
|
|
401
595
|
"attributes": [
|
|
596
|
+
{
|
|
597
|
+
"name": "aria-label",
|
|
598
|
+
"description": "Accessible name for the native checkbox input (sets `aria-label` on the `input`).\nUse when there is no visible label text in the default slot.\nDefaults to `''`; empty or whitespace-only values omit `aria-label` on the input so a visible `<label>` remains the sole name source."
|
|
599
|
+
},
|
|
402
600
|
{
|
|
403
601
|
"name": "checked",
|
|
404
602
|
"description": "Whether the input is checked"
|
|
@@ -441,7 +639,7 @@
|
|
|
441
639
|
"name": "xpl-choicelist",
|
|
442
640
|
"description": {
|
|
443
641
|
"kind": "markdown",
|
|
444
|
-
"value": ""
|
|
642
|
+
"value": "A Choice List allows users to make single or multiple selections from a list of choices. This component is meant to consume the radio and checkbox components, either styled or unstyled, then allow for customizing an option list very quickly."
|
|
445
643
|
},
|
|
446
644
|
"attributes": [
|
|
447
645
|
{
|
|
@@ -502,7 +700,7 @@
|
|
|
502
700
|
"name": "xpl-data-card",
|
|
503
701
|
"description": {
|
|
504
702
|
"kind": "markdown",
|
|
505
|
-
"value": "
|
|
703
|
+
"value": "Data Cards display snippets of information and can be linked to larger data sets. Data Cards give users \"at a glance\" information about their data.\n\nThe `icon` and `smallStatIcon` properties accept icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list."
|
|
506
704
|
},
|
|
507
705
|
"attributes": [
|
|
508
706
|
{
|
|
@@ -582,7 +780,7 @@
|
|
|
582
780
|
"name": "xpl-divider",
|
|
583
781
|
"description": {
|
|
584
782
|
"kind": "markdown",
|
|
585
|
-
"value": ""
|
|
783
|
+
"value": "Allows for easy separation and titling of sections within forms or other content."
|
|
586
784
|
},
|
|
587
785
|
"attributes": [
|
|
588
786
|
{
|
|
@@ -595,7 +793,7 @@
|
|
|
595
793
|
"name": "xpl-dropdown",
|
|
596
794
|
"description": {
|
|
597
795
|
"kind": "markdown",
|
|
598
|
-
"value": "A Dropdown is a menu with a list of actions a user can take. Use a dropdown when you want to present a list of actions in a limited space. Dropdowns are single-select ***actions***, can be presented in groups, and can be triggered by other elements such as a button, icon, text etc. \nA selection within a dropdown does not change the parent trigger.\n\n***If you want to present a list of **options** a user can select, or multi-select options, please use [XPL-Select](https://
|
|
796
|
+
"value": "A Dropdown is a menu with a list of actions a user can take. Use a dropdown when you want to present a list of actions in a limited space. Dropdowns are single-select ***actions***, can be presented in groups, and can be triggered by other elements such as a button, icon, text etc. \nA selection within a dropdown does not change the parent trigger.\n\n***If you want to present a list of **options** a user can select, or multi-select options, please use [XPL-Select](https://apollo.xplordocs.com/?path=/story/components-select--select).***"
|
|
599
797
|
},
|
|
600
798
|
"attributes": [
|
|
601
799
|
{
|
|
@@ -669,6 +867,10 @@
|
|
|
669
867
|
"value": ""
|
|
670
868
|
},
|
|
671
869
|
"attributes": [
|
|
870
|
+
{
|
|
871
|
+
"name": "icon",
|
|
872
|
+
"description": "optional icon name to display before the label (uses xpl-icon)"
|
|
873
|
+
},
|
|
672
874
|
{
|
|
673
875
|
"name": "disabled",
|
|
674
876
|
"description": "whether option is disabled"
|
|
@@ -695,7 +897,7 @@
|
|
|
695
897
|
"name": "xpl-dynamic-table",
|
|
696
898
|
"description": {
|
|
697
899
|
"kind": "markdown",
|
|
698
|
-
"value": "> **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.\n\nThe Dynamic Table is a rich content table that can accommodate multiple types of data."
|
|
900
|
+
"value": "> **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.\r\n\r\nThe Dynamic Table is a rich content table that can accommodate multiple types of data."
|
|
699
901
|
},
|
|
700
902
|
"attributes": []
|
|
701
903
|
},
|
|
@@ -816,7 +1018,7 @@
|
|
|
816
1018
|
"name": "xpl-input",
|
|
817
1019
|
"description": {
|
|
818
1020
|
"kind": "markdown",
|
|
819
|
-
"value": ""
|
|
1021
|
+
"value": "A flexible form input that supports multiple `type` values: `text`, `number`, `password`, `date`, `time`, `file`, `color`, `phone`, and `search`. Each type delegates to a dedicated sub-component (`xpl-input-date`, `xpl-input-time`, `xpl-input-phone`, `xpl-input-search`, etc.) while sharing a common label, description, and error-message wrapper.\n\nFor `type=\"phone\"`, the value is always emitted in **E.164** format (e.g. `+14155551234`). See [`xpl-input-phone`](xpl-input-phone) for full phone-input documentation."
|
|
820
1022
|
},
|
|
821
1023
|
"attributes": [
|
|
822
1024
|
{
|
|
@@ -831,14 +1033,22 @@
|
|
|
831
1033
|
"name": "allow-custom-option",
|
|
832
1034
|
"description": "For time inputs, whether to allow custom option in the input even if not available in the dropdown.\nExample: A step of 30 minutes will allow 15:03, 15:37, etc.\n\nApplies to time inputs."
|
|
833
1035
|
},
|
|
1036
|
+
{
|
|
1037
|
+
"name": "aria-label",
|
|
1038
|
+
"description": "Accessible name for search inputs when there is no visible `label` (after trim).\nIgnored for naming when a visible label is shown.\nDefaults to `''`; whitespace-only values are treated as missing and fall back to `'Search'` so the field is never unnamed when there is no visible label.\n\nApplies to search inputs (`type=\"search\"`)."
|
|
1039
|
+
},
|
|
834
1040
|
{
|
|
835
1041
|
"name": "autocomplete",
|
|
836
|
-
"description": "Hint for form autofill feature\n\nApplies to text, password, number."
|
|
1042
|
+
"description": "Hint for form autofill feature\n\nApplies to text, password, number, and search inputs."
|
|
837
1043
|
},
|
|
838
1044
|
{
|
|
839
1045
|
"name": "date-format",
|
|
840
1046
|
"description": "The date format to use for the datepicker input.\nThis is used by flatpickr to format the date.\nDefault is 'Y-m-d' (e.g., 2023-10-01).\n\nSee https://flatpickr.js.org/formatting/ for more details.\n\nApplies to date inputs."
|
|
841
1047
|
},
|
|
1048
|
+
{
|
|
1049
|
+
"name": "default-country",
|
|
1050
|
+
"description": "Default country code (ISO 3166-1 alpha-2) when value is empty, e.g. \"US\".\n\nApplies to phone inputs."
|
|
1051
|
+
},
|
|
842
1052
|
{
|
|
843
1053
|
"name": "description",
|
|
844
1054
|
"description": "Optional text that appears below the input label.\n\nApplies to all input types."
|
|
@@ -867,6 +1077,10 @@
|
|
|
867
1077
|
"name": "hide-trigger-on-select",
|
|
868
1078
|
"description": "Hides the trigger element when a file is selected.\nThis is useful for cases where you want to hide the trigger after a file is selected.\n\nApplies to file inputs."
|
|
869
1079
|
},
|
|
1080
|
+
{
|
|
1081
|
+
"name": "is-international",
|
|
1082
|
+
"description": "Enables international mode with country selector for phone inputs.\nWhen false, the phone input is locked to defaultCountry with no country picker."
|
|
1083
|
+
},
|
|
870
1084
|
{
|
|
871
1085
|
"name": "label",
|
|
872
1086
|
"description": "Label text for the field\n\nApplies to all input types."
|
|
@@ -909,7 +1123,7 @@
|
|
|
909
1123
|
},
|
|
910
1124
|
{
|
|
911
1125
|
"name": "placeholder",
|
|
912
|
-
"description": "Placeholder text that appears when the field has no value\n\nApplies to text, password, number, and
|
|
1126
|
+
"description": "Placeholder text that appears when the field has no value\n\nApplies to text, password, number, date, and search inputs."
|
|
913
1127
|
},
|
|
914
1128
|
{
|
|
915
1129
|
"name": "post",
|
|
@@ -921,12 +1135,24 @@
|
|
|
921
1135
|
},
|
|
922
1136
|
{
|
|
923
1137
|
"name": "readonly",
|
|
924
|
-
"description": "Whether the input is editable\n\nApplies to text, password, number, and
|
|
1138
|
+
"description": "Whether the input is editable\n\nApplies to text, password, number, date, and search inputs."
|
|
925
1139
|
},
|
|
926
1140
|
{
|
|
927
1141
|
"name": "required",
|
|
928
1142
|
"description": "Whether the input is required\n\nApplies to all input types."
|
|
929
1143
|
},
|
|
1144
|
+
{
|
|
1145
|
+
"name": "shape",
|
|
1146
|
+
"description": "Shell corner radius for search inputs: `rounded` (pill) or `box` (rounded rectangle).\n\nApplies to search inputs (`type=\"search\"`).",
|
|
1147
|
+
"values": [
|
|
1148
|
+
{
|
|
1149
|
+
"name": "box"
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
"name": "rounded"
|
|
1153
|
+
}
|
|
1154
|
+
]
|
|
1155
|
+
},
|
|
930
1156
|
{
|
|
931
1157
|
"name": "step",
|
|
932
1158
|
"description": "The granularity that the value in a `number` input must adhere to when\nincrementing or decrementing. The default stepping value for number\ninputs is 1\n\nApplies to number and time inputs."
|
|
@@ -962,6 +1188,12 @@
|
|
|
962
1188
|
{
|
|
963
1189
|
"name": "password"
|
|
964
1190
|
},
|
|
1191
|
+
{
|
|
1192
|
+
"name": "phone"
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
"name": "search"
|
|
1196
|
+
},
|
|
965
1197
|
{
|
|
966
1198
|
"name": "text"
|
|
967
1199
|
},
|
|
@@ -972,7 +1204,7 @@
|
|
|
972
1204
|
},
|
|
973
1205
|
{
|
|
974
1206
|
"name": "value",
|
|
975
|
-
"description": "Including a `value` will pre-populate the input\nwith the given string.\n\nApplies to text, password, number, and
|
|
1207
|
+
"description": "Including a `value` will pre-populate the input\nwith the given string.\n\nApplies to text, password, number, date, and search inputs."
|
|
976
1208
|
}
|
|
977
1209
|
]
|
|
978
1210
|
},
|
|
@@ -1116,15 +1348,15 @@
|
|
|
1116
1348
|
]
|
|
1117
1349
|
},
|
|
1118
1350
|
{
|
|
1119
|
-
"name": "xpl-input-
|
|
1351
|
+
"name": "xpl-input-phone",
|
|
1120
1352
|
"description": {
|
|
1121
1353
|
"kind": "markdown",
|
|
1122
|
-
"value": ""
|
|
1354
|
+
"value": "The Phone Input Field allows users to input properly formatted phone numbers. It supports two modes: **international** (country selector + dial code prefix) and **domestic** (single country, no selector). Used as a subcomponent of `xpl-input` when `type=\"phone\"`. The value is always emitted in **E.164** format (e.g. `+14155551234`)."
|
|
1123
1355
|
},
|
|
1124
1356
|
"attributes": [
|
|
1125
1357
|
{
|
|
1126
|
-
"name": "
|
|
1127
|
-
"description": "
|
|
1358
|
+
"name": "default-country",
|
|
1359
|
+
"description": "Default country code (ISO 3166-1 alpha-2) when value is empty, e.g. \"US\"."
|
|
1128
1360
|
},
|
|
1129
1361
|
{
|
|
1130
1362
|
"name": "disabled",
|
|
@@ -1135,32 +1367,16 @@
|
|
|
1135
1367
|
"description": "The `inputId` is used to associate the input with a label."
|
|
1136
1368
|
},
|
|
1137
1369
|
{
|
|
1138
|
-
"name": "
|
|
1139
|
-
"description": "
|
|
1140
|
-
},
|
|
1141
|
-
{
|
|
1142
|
-
"name": "min",
|
|
1143
|
-
"description": "The minimum value for the input."
|
|
1144
|
-
},
|
|
1145
|
-
{
|
|
1146
|
-
"name": "mode",
|
|
1147
|
-
"description": "Whether the input is a single time or a range of times.\n\nCurrently, only single time is supported.",
|
|
1148
|
-
"values": [
|
|
1149
|
-
{
|
|
1150
|
-
"name": "range"
|
|
1151
|
-
},
|
|
1152
|
-
{
|
|
1153
|
-
"name": "single"
|
|
1154
|
-
}
|
|
1155
|
-
]
|
|
1370
|
+
"name": "is-international",
|
|
1371
|
+
"description": "Enables international mode with a country selector and dial code prefix.\nWhen false, the input is locked to `defaultCountry` with no country picker\nand no dial code shown in the display value. Emitted value is still E.164."
|
|
1156
1372
|
},
|
|
1157
1373
|
{
|
|
1158
1374
|
"name": "name",
|
|
1159
|
-
"description": "Most inputs are used in forms, and should have a\n`name` associated with the input for handling form data
|
|
1375
|
+
"description": "Most inputs are used in forms, and should have a\n`name` associated with the input for handling form data."
|
|
1160
1376
|
},
|
|
1161
1377
|
{
|
|
1162
1378
|
"name": "placeholder",
|
|
1163
|
-
"description": "Placeholder text that appears when the field has no value
|
|
1379
|
+
"description": "Placeholder text that appears when the field has no value"
|
|
1164
1380
|
},
|
|
1165
1381
|
{
|
|
1166
1382
|
"name": "readonly",
|
|
@@ -1171,40 +1387,170 @@
|
|
|
1171
1387
|
"description": "Whether the input is required"
|
|
1172
1388
|
},
|
|
1173
1389
|
{
|
|
1174
|
-
"name": "
|
|
1175
|
-
"description": "
|
|
1390
|
+
"name": "value",
|
|
1391
|
+
"description": "Including a `value` will pre-populate the input (E.164 format, e.g. +14155551234)."
|
|
1392
|
+
}
|
|
1393
|
+
]
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
"name": "xpl-input-search",
|
|
1397
|
+
"description": {
|
|
1398
|
+
"kind": "markdown",
|
|
1399
|
+
"value": "Inner search field used by [`xpl-input`](../readme.md) when `type=\"search\"`. It provides a leading magnifier, a native text field with `role=\"searchbox\"`, an optional clear control, and a `shape` shell (`rounded` pill vs `box`). You normally consume search through **`xpl-input`**; use `xpl-input-search` only when composing a custom shell that still matches Apollo search visuals."
|
|
1400
|
+
},
|
|
1401
|
+
"attributes": [
|
|
1402
|
+
{
|
|
1403
|
+
"name": "aria-label",
|
|
1404
|
+
"description": "Accessible name when there is no visible label from the parent; maps to `aria-label` on the input.\nWhen the parent provides a visible label, the input is named by `<label for=\"…\">` — this prop is ignored for naming.\nEmpty or whitespace-only values are treated as missing and fall back to `'Search'` so the field is never unnamed."
|
|
1176
1405
|
},
|
|
1177
1406
|
{
|
|
1178
|
-
"name": "
|
|
1179
|
-
"description": "
|
|
1407
|
+
"name": "autocomplete",
|
|
1408
|
+
"description": "Passed to the native input (`autocomplete` attribute). Default `off` matches common\ninline-search UX; browsers may still apply heuristics."
|
|
1409
|
+
},
|
|
1410
|
+
{
|
|
1411
|
+
"name": "disabled",
|
|
1412
|
+
"description": "Disables the field and clear control."
|
|
1413
|
+
},
|
|
1414
|
+
{
|
|
1415
|
+
"name": "error-message-id",
|
|
1416
|
+
"description": "Element id for `aria-describedby` when `hasError` (error message lives on `xpl-input`)."
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"name": "has-error",
|
|
1420
|
+
"description": "Set by `xpl-input` when `error` is shown — drives `aria-invalid` / `aria-describedby`."
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"name": "has-visible-label",
|
|
1424
|
+
"description": "When true, parent `xpl-input` renders a visible label — omit `aria-label` on the input."
|
|
1425
|
+
},
|
|
1426
|
+
{
|
|
1427
|
+
"name": "input-id",
|
|
1428
|
+
"description": "Associates the control with the parent `xpl-input` label (`for` / `id`)."
|
|
1429
|
+
},
|
|
1430
|
+
{
|
|
1431
|
+
"name": "name",
|
|
1432
|
+
"description": "Form field `name` on the native input."
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"name": "placeholder",
|
|
1436
|
+
"description": "Placeholder shown when the value is empty."
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"name": "readonly",
|
|
1440
|
+
"description": "Whether the input is editable."
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
"name": "required",
|
|
1444
|
+
"description": "Whether the input is required."
|
|
1445
|
+
},
|
|
1446
|
+
{
|
|
1447
|
+
"name": "shape",
|
|
1448
|
+
"description": "Shell corner radius: `rounded` (pill) or `box` (rounded rectangle).",
|
|
1180
1449
|
"values": [
|
|
1181
1450
|
{
|
|
1182
|
-
"name": "
|
|
1451
|
+
"name": "box"
|
|
1183
1452
|
},
|
|
1184
1453
|
{
|
|
1185
|
-
"name": "
|
|
1454
|
+
"name": "rounded"
|
|
1186
1455
|
}
|
|
1187
1456
|
]
|
|
1188
1457
|
},
|
|
1189
1458
|
{
|
|
1190
1459
|
"name": "value",
|
|
1191
|
-
"description": "
|
|
1460
|
+
"description": "Current value (controlled-friendly)."
|
|
1192
1461
|
}
|
|
1193
1462
|
]
|
|
1194
1463
|
},
|
|
1195
1464
|
{
|
|
1196
|
-
"name": "xpl-
|
|
1465
|
+
"name": "xpl-input-time",
|
|
1197
1466
|
"description": {
|
|
1198
1467
|
"kind": "markdown",
|
|
1199
1468
|
"value": ""
|
|
1200
1469
|
},
|
|
1201
1470
|
"attributes": [
|
|
1202
1471
|
{
|
|
1203
|
-
"name": "
|
|
1204
|
-
"description": "
|
|
1472
|
+
"name": "allow-custom-option",
|
|
1473
|
+
"description": "For time inputs, whether to allow custom option in the input even if not available in the dropdown.\nExample: A step of 30 minutes will allow 15:03, 15:37, etc.\n\nApplies to time inputs."
|
|
1205
1474
|
},
|
|
1206
1475
|
{
|
|
1207
|
-
"name": "
|
|
1476
|
+
"name": "disabled",
|
|
1477
|
+
"description": "Whether the field is disabled"
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"name": "input-id",
|
|
1481
|
+
"description": "The `inputId` is used to associate the input with a label."
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
"name": "max",
|
|
1485
|
+
"description": "Maximum value for the input."
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
"name": "min",
|
|
1489
|
+
"description": "The minimum value for the input."
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
"name": "mode",
|
|
1493
|
+
"description": "Whether the input is a single time or a range of times.\n\nCurrently, only single time is supported.",
|
|
1494
|
+
"values": [
|
|
1495
|
+
{
|
|
1496
|
+
"name": "range"
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
"name": "single"
|
|
1500
|
+
}
|
|
1501
|
+
]
|
|
1502
|
+
},
|
|
1503
|
+
{
|
|
1504
|
+
"name": "name",
|
|
1505
|
+
"description": "Most inputs are used in forms, and should have a\n`name` associated with the input for handling form data.\n\nApplies to all input types."
|
|
1506
|
+
},
|
|
1507
|
+
{
|
|
1508
|
+
"name": "placeholder",
|
|
1509
|
+
"description": "Placeholder text that appears when the field has no value\n\nApplies to text, password, number, and date inputs."
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"name": "readonly",
|
|
1513
|
+
"description": "Whether the input is editable"
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
"name": "required",
|
|
1517
|
+
"description": "Whether the input is required"
|
|
1518
|
+
},
|
|
1519
|
+
{
|
|
1520
|
+
"name": "step",
|
|
1521
|
+
"description": "Time increment for dropdown options"
|
|
1522
|
+
},
|
|
1523
|
+
{
|
|
1524
|
+
"name": "time-format",
|
|
1525
|
+
"description": "The time format to display for the input.",
|
|
1526
|
+
"values": [
|
|
1527
|
+
{
|
|
1528
|
+
"name": "12h"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"name": "24h"
|
|
1532
|
+
}
|
|
1533
|
+
]
|
|
1534
|
+
},
|
|
1535
|
+
{
|
|
1536
|
+
"name": "value",
|
|
1537
|
+
"description": "Including a `value` will pre-populate the input\nwith the given string.\n\nMust be in 24 hour format, ex: 15:25 for 3:25 PM"
|
|
1538
|
+
}
|
|
1539
|
+
]
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"name": "xpl-large-card",
|
|
1543
|
+
"description": {
|
|
1544
|
+
"kind": "markdown",
|
|
1545
|
+
"value": "A card is a container and can contain any type of information. Cards contain actions and a content slot. Cards are flexible and can be arranged in grids or lists."
|
|
1546
|
+
},
|
|
1547
|
+
"attributes": [
|
|
1548
|
+
{
|
|
1549
|
+
"name": "description",
|
|
1550
|
+
"description": "Description of the Card"
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"name": "link",
|
|
1208
1554
|
"description": "Whether the card is a link or not"
|
|
1209
1555
|
},
|
|
1210
1556
|
{
|
|
@@ -1217,9 +1563,118 @@
|
|
|
1217
1563
|
"name": "xpl-list",
|
|
1218
1564
|
"description": {
|
|
1219
1565
|
"kind": "markdown",
|
|
1220
|
-
"value": "
|
|
1566
|
+
"value": ""
|
|
1221
1567
|
},
|
|
1222
|
-
"attributes": [
|
|
1568
|
+
"attributes": [
|
|
1569
|
+
{
|
|
1570
|
+
"name": "label",
|
|
1571
|
+
"description": "Accessible name for the list, exposed as `aria-label` on the host when set.\nUse when the list has no visible heading.\nIgnored when `labelledBy` is set (see `labelledBy` for precedence)."
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"name": "labelled-by",
|
|
1575
|
+
"description": "Element id(s) that label this list (space-separated), exposed as `aria-labelledby` when set.\nWhen set, `label` is not applied as `aria-label` so the list has a single naming source."
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
"name": "reorderable",
|
|
1579
|
+
"description": "When true, enables reorder UI and behavior for **slot-based** child rows (drag handle + keyboard).\nLegacy rows rendered from the deprecated `items` prop do **not** show a drag handle; migrate to slots if reorder is required."
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
"name": "selectable",
|
|
1583
|
+
"description": "Determines if this list is selectable (shows `xpl-radio` per row in a shared group).\nPress Escape while focus is on the **selected** row to clear selection (same as `clearSelection()`)."
|
|
1584
|
+
}
|
|
1585
|
+
]
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
"name": "xpl-list-item",
|
|
1589
|
+
"description": {
|
|
1590
|
+
"kind": "markdown",
|
|
1591
|
+
"value": "Single row for [`xpl-list`](../xpl-list/readme.md). **Slot-based** rows expose `role=\"listitem\"` on the inner row surface (`.xpl-list-item__wrapper` or `.xpl-list-item__listitem-shell` when `href` is set); **legacy** `item` rows use `role=\"listitem\"` on the host. Hand-written integration notes for slots, attributes, and events live in the [list readme](../xpl-list/readme.md); the section below is Stencil-generated API for this component.\n\n**Reorder handle (slot mode):** When `reorderable` is enabled and the row uses **slot-based** content, the handle is an **`xpl-button`** wrapping a native **`<button>`**. Reorder logic is wired on the **`xpl-button` host** (`mousedown` / `keydown`); those events originate on the inner `<button>` and **bubble** to the host, which is how the list item receives them today. If `xpl-button` ever stopped bubbling for those events, reorder handlers would need to attach directly to the inner button (similar to `componentDidRender` syncing `aria-*` on that element).\n\n**Legacy `item` prop:** Prop-driven rows **do not** render the reorder handle, radios, or keyboard reorder affordances. Parent `xpl-list` **does not** set `selectable`, `radio-name`, or `reorderable` on those rows (those attributes are removed so they are not mistaken for supported behavior). Use slots if you need selection, drag, or keyboard reorder."
|
|
1592
|
+
},
|
|
1593
|
+
"attributes": [
|
|
1594
|
+
{
|
|
1595
|
+
"name": "disabled",
|
|
1596
|
+
"description": "Whether the item is disabled."
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
"name": "error",
|
|
1600
|
+
"description": "Whether to show the item in an error state."
|
|
1601
|
+
},
|
|
1602
|
+
{
|
|
1603
|
+
"name": "hidden",
|
|
1604
|
+
"description": "When true, the row is not shown and does not participate in visible-only list behavior\n(e.g. `orderChange` / `orderedItemIds`, reorder targets). Use for filtering, conditional\ndisplay, or keeping stable `item-id` while the row is off-screen. See `xpl-list` readme\n“Hidden rows”.\n\n**Accessibility:** Renders an empty host with the native `hidden` attribute only (no\n`role=\"listitem\"`), consistent with the row not participating as a list item while hidden."
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
"name": "href",
|
|
1608
|
+
"description": "URL for link behavior. When provided, the entire row becomes clickable.\nClicks on `actions` or `avatar` slots are prevented from triggering navigation."
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
"name": "item-id",
|
|
1612
|
+
"description": "Unique identifier for this item. Used for selection and drag/drop.\nMutable so the host can sync from `item-id` / `id` in `componentWillLoad` without breaking one-way data flow."
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"name": "keyboard-active",
|
|
1616
|
+
"description": "When set by the parent, indicates this item is the active keyboard reorder item."
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
"name": "radio-name",
|
|
1620
|
+
"description": "Name attribute for radio inputs (shared across selectable items in a list)."
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"name": "reorderable",
|
|
1624
|
+
"description": "Whether this item is reorderable (shows a drag handle in **slot-based** layout).\nWhen the deprecated `item` prop is used, legacy markup has **no** reorder handle even if this is true."
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"name": "selectable",
|
|
1628
|
+
"description": "Whether this item is selectable (shows `xpl-radio` in a shared group)."
|
|
1629
|
+
},
|
|
1630
|
+
{
|
|
1631
|
+
"name": "selected",
|
|
1632
|
+
"description": "Whether this item is selected (radio checked state)."
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"name": "show-divider",
|
|
1636
|
+
"description": "Whether to show a divider below the item."
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
"name": "title-badge-variant",
|
|
1640
|
+
"description": "Optional badge to display next to the title (dot badge).\nOnly used when `item` prop is not provided (slot mode).\nMatches `xpl-badge` variant values (e.g. purple, green, red).",
|
|
1641
|
+
"values": [
|
|
1642
|
+
{
|
|
1643
|
+
"name": "blue"
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"name": "error"
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
"name": "gray"
|
|
1650
|
+
},
|
|
1651
|
+
{
|
|
1652
|
+
"name": "green"
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
"name": "inactive"
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
"name": "orange"
|
|
1659
|
+
},
|
|
1660
|
+
{
|
|
1661
|
+
"name": "purple"
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"name": "red"
|
|
1665
|
+
},
|
|
1666
|
+
{
|
|
1667
|
+
"name": "success"
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
"name": "warning"
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
"name": "yellow"
|
|
1674
|
+
}
|
|
1675
|
+
]
|
|
1676
|
+
}
|
|
1677
|
+
]
|
|
1223
1678
|
},
|
|
1224
1679
|
{
|
|
1225
1680
|
"name": "xpl-main-nav",
|
|
@@ -1249,7 +1704,7 @@
|
|
|
1249
1704
|
"name": "xpl-modal",
|
|
1250
1705
|
"description": {
|
|
1251
1706
|
"kind": "markdown",
|
|
1252
|
-
"value": ""
|
|
1707
|
+
"value": "Modals are dialogs that focus the user’s attention exclusively on one task or piece of information via a window layer above the current content.\n\nModals are disruptive and should only be used when disrupting the user’s flow is desired."
|
|
1253
1708
|
},
|
|
1254
1709
|
"attributes": [
|
|
1255
1710
|
{
|
|
@@ -1285,6 +1740,23 @@
|
|
|
1285
1740
|
}
|
|
1286
1741
|
]
|
|
1287
1742
|
},
|
|
1743
|
+
{
|
|
1744
|
+
"name": "xpl-nav-header-menu",
|
|
1745
|
+
"description": {
|
|
1746
|
+
"kind": "markdown",
|
|
1747
|
+
"value": "Profile / account block (username, email, default slot for **`xpl-top-nav-item`** / **`xpl-divider`**).\nTag **`xpl-nav-header-menu`**; implementation folder **`xpl-nav-header-menu`**. **`.xpl-nav-header-menu__slot`** is\n**`role=\"list\"`** for slotted **`xpl-top-nav-item`** (**`role=\"listitem\"`**).\n\n**Slotted content:** do not add **`xpl-nav-header-menu__*`** BEM classes on nodes you pass into the default slot —\nprofile, list shell, and **`xpl-top-nav-item`** **`role=\"listitem\"`** are handled by the component. Use\n**`xpl-top-nav-item`** (or plain elements that are not Apollo **`xpl-*`** BEM hooks) in the slot only.\n\n**`slot=\"right-aside-mobile\"`** — optional block **between** the profile header and the default-slot list (e.g. narrow-only\nduplicate of **every** **`slot=\"right-aside\"`** control per Figma when **`xpl-top-nav`** hides **`right-aside`** on narrow viewports (always)).\nNot **`role=\"list\"`**; use **`xpl-button`** / **`xpl-top-nav-item`** as needed. Shown only on **narrow viewports** (one pixel below Tailwind **`md`** — **`top-nav.css`**) so bar actions stay in **`slot=\"right-aside\"`** on wider viewports.\nLight-DOM **`slotchange`** is unreliable; a host **`MutationObserver`** (child / subtree / **`slot`** attribute) keeps\n**`xpl-nav-header-menu--has-right-aside-mobile`** in sync when nodes are added or retargeted after mount (same pattern as **`xpl-top-nav`**).\nStencil **`newSpecPage`** / mock-doc does not define **`MutationObserver`**; slot presence still updates on the next\ndeferred flush (**`setTimeout(0)`** coalesced with **`componentDidRender`**). In real browsers the observer handles child /\n**`slot`** mutations without stacking uncancellable microtasks.\n\n**Theming:** The host always includes Foundation’s **`dark`** class so **`--xpl-*`** purpose tokens resolve to dark-mode\nvalues even when the page root is light (same contract as **`xpl-top-nav`** / **`xpl-top-nav-item`**)."
|
|
1748
|
+
},
|
|
1749
|
+
"attributes": [
|
|
1750
|
+
{
|
|
1751
|
+
"name": "email",
|
|
1752
|
+
"description": "Email address shown below the username."
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"name": "username",
|
|
1756
|
+
"description": "Display name shown in the profile block."
|
|
1757
|
+
}
|
|
1758
|
+
]
|
|
1759
|
+
},
|
|
1288
1760
|
{
|
|
1289
1761
|
"name": "xpl-nav-item",
|
|
1290
1762
|
"description": {
|
|
@@ -1302,7 +1774,7 @@
|
|
|
1302
1774
|
"name": "xpl-pagination",
|
|
1303
1775
|
"description": {
|
|
1304
1776
|
"kind": "markdown",
|
|
1305
|
-
"value": "> **Note:** This component is in beta. Use with caution and expect updates before the full release."
|
|
1777
|
+
"value": "Pagination bar allows users to navigate pages of content.\n\n> **Note:** This component is in beta. Use with caution and expect updates before the full release."
|
|
1306
1778
|
},
|
|
1307
1779
|
"attributes": [
|
|
1308
1780
|
{
|
|
@@ -1327,11 +1799,59 @@
|
|
|
1327
1799
|
}
|
|
1328
1800
|
]
|
|
1329
1801
|
},
|
|
1802
|
+
{
|
|
1803
|
+
"name": "xpl-panel",
|
|
1804
|
+
"description": {
|
|
1805
|
+
"kind": "markdown",
|
|
1806
|
+
"value": "A stateless container that defines a section on a page and can house any\ntype of content. Panels are not dismissible and may contain a top accent."
|
|
1807
|
+
},
|
|
1808
|
+
"attributes": [
|
|
1809
|
+
{
|
|
1810
|
+
"name": "accent",
|
|
1811
|
+
"description": "Color accent bar displayed at the top of the panel.\n\n- `none` – no accent (default)\n- `primary` – brand primary color\n- `secondary` – brand secondary color\n- `positive` – positive / success color\n- `negative` – negative / error color\n- `highlight` – highlight / warning color",
|
|
1812
|
+
"values": [
|
|
1813
|
+
{
|
|
1814
|
+
"name": "highlight"
|
|
1815
|
+
},
|
|
1816
|
+
{
|
|
1817
|
+
"name": "negative"
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
"name": "none"
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"name": "positive"
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"name": "primary"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"name": "secondary"
|
|
1830
|
+
}
|
|
1831
|
+
]
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"name": "padding",
|
|
1835
|
+
"description": "Padding density applied to the content area.\n(default and tight keep desktop padding through tablet; mobile ≤480px).\n\n- `default` – 24 px desktop & tablet / 16 px mobile\n- `tight` – 16 px desktop & tablet / 8 px mobile\n- `loose` – 40 px desktop / 32 px tablet / 24 px mobile",
|
|
1836
|
+
"values": [
|
|
1837
|
+
{
|
|
1838
|
+
"name": "default"
|
|
1839
|
+
},
|
|
1840
|
+
{
|
|
1841
|
+
"name": "loose"
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
"name": "tight"
|
|
1845
|
+
}
|
|
1846
|
+
]
|
|
1847
|
+
}
|
|
1848
|
+
]
|
|
1849
|
+
},
|
|
1330
1850
|
{
|
|
1331
1851
|
"name": "xpl-popover",
|
|
1332
1852
|
"description": {
|
|
1333
1853
|
"kind": "markdown",
|
|
1334
|
-
"value": ""
|
|
1854
|
+
"value": "A popover is an overlay that pops up over all other layers and is triggered by a click or tap, and dismissed by clicking outside the popover or a dismiss icon. Popovers can contain additional actions and allow those actions to be triggered."
|
|
1335
1855
|
},
|
|
1336
1856
|
"attributes": [
|
|
1337
1857
|
{
|
|
@@ -1399,15 +1919,90 @@
|
|
|
1399
1919
|
]
|
|
1400
1920
|
},
|
|
1401
1921
|
{
|
|
1402
|
-
"name": "xpl-progress",
|
|
1922
|
+
"name": "xpl-progress-bar",
|
|
1923
|
+
"description": {
|
|
1924
|
+
"kind": "markdown",
|
|
1925
|
+
"value": "The `xpl-progress-bar` component displays the progress of an operation, such as file uploads, form completion, or loading states. It supports multiple visual variants including default, success, error, and indeterminate states, with optional label and helper text."
|
|
1926
|
+
},
|
|
1927
|
+
"attributes": [
|
|
1928
|
+
{
|
|
1929
|
+
"name": "helper-text",
|
|
1930
|
+
"description": "The helper text displayed below the progress bar (recommended for error state)"
|
|
1931
|
+
},
|
|
1932
|
+
{
|
|
1933
|
+
"name": "label",
|
|
1934
|
+
"description": "The label text displayed above the progress bar"
|
|
1935
|
+
},
|
|
1936
|
+
{
|
|
1937
|
+
"name": "max",
|
|
1938
|
+
"description": "The maximum value of the progress (mirrors native <progress> max attribute)"
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
"name": "size",
|
|
1942
|
+
"description": "The size of the progress bar height: sm = 4px, lg = 6px",
|
|
1943
|
+
"values": [
|
|
1944
|
+
{
|
|
1945
|
+
"name": "lg"
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"name": "sm"
|
|
1949
|
+
}
|
|
1950
|
+
]
|
|
1951
|
+
},
|
|
1952
|
+
{
|
|
1953
|
+
"name": "value",
|
|
1954
|
+
"description": "The current value of the progress (mirrors native <progress> value attribute)"
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"name": "variant",
|
|
1958
|
+
"description": "The visual variant of the progress bar",
|
|
1959
|
+
"values": [
|
|
1960
|
+
{
|
|
1961
|
+
"name": "default"
|
|
1962
|
+
},
|
|
1963
|
+
{
|
|
1964
|
+
"name": "error"
|
|
1965
|
+
},
|
|
1966
|
+
{
|
|
1967
|
+
"name": "indeterminate"
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
"name": "success"
|
|
1971
|
+
}
|
|
1972
|
+
]
|
|
1973
|
+
}
|
|
1974
|
+
]
|
|
1975
|
+
},
|
|
1976
|
+
{
|
|
1977
|
+
"name": "xpl-progress-indicator",
|
|
1403
1978
|
"description": {
|
|
1404
1979
|
"kind": "markdown",
|
|
1405
|
-
"value": "A progress indicator guides users through
|
|
1980
|
+
"value": "A progress indicator that guides users through linear, multi-step tasks by displaying completed, current, and future steps. Progress indicators help manage user expectations by showing their position in a multi-step process, the total number of steps, and overall progress toward task completion."
|
|
1406
1981
|
},
|
|
1407
1982
|
"attributes": [
|
|
1408
1983
|
{
|
|
1409
1984
|
"name": "current-step",
|
|
1410
|
-
"description": "Current step
|
|
1985
|
+
"description": "Current step index. Steps with index < currentStep are \"finished\",\nthe step at currentStep is \"active\", and steps beyond are \"waiting\".\nSet to steps.length to mark all steps as finished.\nAutomatically clamped to [0, steps.length]."
|
|
1986
|
+
},
|
|
1987
|
+
{
|
|
1988
|
+
"name": "layout",
|
|
1989
|
+
"description": "Layout direction - 'horizontal' or 'vertical'",
|
|
1990
|
+
"values": [
|
|
1991
|
+
{
|
|
1992
|
+
"name": "horizontal"
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
"name": "vertical"
|
|
1996
|
+
}
|
|
1997
|
+
]
|
|
1998
|
+
},
|
|
1999
|
+
{
|
|
2000
|
+
"name": "show-labels",
|
|
2001
|
+
"description": "Whether to show step labels"
|
|
2002
|
+
},
|
|
2003
|
+
{
|
|
2004
|
+
"name": "show-numbers",
|
|
2005
|
+
"description": "Whether to show step numbers inside circles"
|
|
1411
2006
|
}
|
|
1412
2007
|
]
|
|
1413
2008
|
},
|
|
@@ -1460,7 +2055,7 @@
|
|
|
1460
2055
|
"name": "xpl-select",
|
|
1461
2056
|
"description": {
|
|
1462
2057
|
"kind": "markdown",
|
|
1463
|
-
"value": "Select allows users to make a single selection or multiple selections from a list of options. Items can be a simple list, grouped, simple multi-select. User selections typically appear within the Select Box once created unless multiple selections are made, where truncation or another method of showing these selections is required.\n\n***When the list of options contains “Actions”, use a ***[Dropdown component](https://
|
|
2058
|
+
"value": "Select allows users to make a single selection or multiple selections from a list of options. Items can be a simple list, grouped, simple multi-select. User selections typically appear within the Select Box once created unless multiple selections are made, where truncation or another method of showing these selections is required.\n\n***When the list of options contains “Actions”, use a ***[Dropdown component](https://apollo.xplordocs.com/?path=/story/components-dropdown--simple).\n\nThe `selectIcon` property accepts icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.\n\n---"
|
|
1464
2059
|
},
|
|
1465
2060
|
"attributes": [
|
|
1466
2061
|
{
|
|
@@ -1521,6 +2116,60 @@
|
|
|
1521
2116
|
}
|
|
1522
2117
|
]
|
|
1523
2118
|
},
|
|
2119
|
+
{
|
|
2120
|
+
"name": "xpl-side-nav",
|
|
2121
|
+
"description": {
|
|
2122
|
+
"kind": "markdown",
|
|
2123
|
+
"value": "Slot-based sidebar for app navigation: scrollable main area and a fixed footer. Compose with [`xpl-side-nav-item`](./xpl-side-nav-item) for rows in the section and footer."
|
|
2124
|
+
},
|
|
2125
|
+
"attributes": [
|
|
2126
|
+
{
|
|
2127
|
+
"name": "label",
|
|
2128
|
+
"description": "Accessible label for the navigation landmark.\nMaps to `aria-label` on the `<nav>` element.\nRecommended when multiple navigation landmarks exist on a page\n(e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them."
|
|
2129
|
+
}
|
|
2130
|
+
]
|
|
2131
|
+
},
|
|
2132
|
+
{
|
|
2133
|
+
"name": "xpl-side-nav-item",
|
|
2134
|
+
"description": {
|
|
2135
|
+
"kind": "markdown",
|
|
2136
|
+
"value": "Row for [`xpl-side-nav`](../xpl-side-nav): place items in `slot=\"section\"` or `slot=\"nav-footer\"`. Supports **leaf** (button), **expandable** (`has-children`), and **link** (slot-only) modes, plus `selected`, `disabled`, and `hidden`."
|
|
2137
|
+
},
|
|
2138
|
+
"attributes": [
|
|
2139
|
+
{
|
|
2140
|
+
"name": "disabled",
|
|
2141
|
+
"description": "Whether the component is disabled"
|
|
2142
|
+
},
|
|
2143
|
+
{
|
|
2144
|
+
"name": "expanded",
|
|
2145
|
+
"description": "Whether the item is currently expanded (only applies when hasChildren is true)"
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
"name": "has-children",
|
|
2149
|
+
"description": "Whether the item has child items; when true, shows expand/collapse and a default slot for nested items.\nMutually exclusive with <code>link</code>. If <code>link</code> is already true, setting\n<code>has-children</code> is reverted (<code>@Watch('hasChildren')</code>, <code>@Watch('link')</code>,\n<code>componentWillLoad</code>, and <code>componentWillRender</code>) so reflected attributes match CSS."
|
|
2150
|
+
},
|
|
2151
|
+
{
|
|
2152
|
+
"name": "hidden",
|
|
2153
|
+
"description": "Whether the component is hidden"
|
|
2154
|
+
},
|
|
2155
|
+
{
|
|
2156
|
+
"name": "icon",
|
|
2157
|
+
"description": "Optional icon name; default content for <code>slot=\"icon\"</code> (leaf and footer rows only).\nExpandable parents (<code>has-children</code>) do not show an icon column — only the chevron and label.\nOmit for nested children under a <code>has-children</code> parent — the icon column is hidden for sub-items."
|
|
2158
|
+
},
|
|
2159
|
+
{
|
|
2160
|
+
"name": "label",
|
|
2161
|
+
"description": "The display label for the navigation item (button / expandable rows; omit in <code>link</code> mode)."
|
|
2162
|
+
},
|
|
2163
|
+
{
|
|
2164
|
+
"name": "link",
|
|
2165
|
+
"description": "When true, the row becomes a slot-only container for consumer-provided links.\nThe consumer provides the full anchor element (or router link) via the default slot.\nIn link mode, <code>label</code> and <code>icon</code> props should not be used.\nLink mode does not support <code>has-children</code>; use the default button mode for expandable items.\nWhen <code>link</code> is true, <code>hasChildren</code> is always false (enforced by\n<code>@Watch('link')</code>, <code>@Watch('hasChildren')</code>, <code>componentWillLoad</code>, and\n<code>componentWillRender</code>)."
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
"name": "selected",
|
|
2169
|
+
"description": "Whether the item is currently in a selected state"
|
|
2170
|
+
}
|
|
2171
|
+
]
|
|
2172
|
+
},
|
|
1524
2173
|
{
|
|
1525
2174
|
"name": "xpl-skeleton",
|
|
1526
2175
|
"description": {
|
|
@@ -1590,51 +2239,165 @@
|
|
|
1590
2239
|
]
|
|
1591
2240
|
},
|
|
1592
2241
|
{
|
|
1593
|
-
"name": "width",
|
|
1594
|
-
"description": "The width of the skeleton. (e.g. '100px', '100%', 'auto')\naccepts any valid CSS width value"
|
|
2242
|
+
"name": "width",
|
|
2243
|
+
"description": "The width of the skeleton. (e.g. '100px', '100%', 'auto')\naccepts any valid CSS width value"
|
|
2244
|
+
}
|
|
2245
|
+
]
|
|
2246
|
+
},
|
|
2247
|
+
{
|
|
2248
|
+
"name": "xpl-slideout",
|
|
2249
|
+
"description": {
|
|
2250
|
+
"kind": "markdown",
|
|
2251
|
+
"value": "Content and Footer subcomponents are optional and can be hidden. Slideout always has a header with an X close button upper right. Slide Out Panel OPTIONALLY uses the [<xpl-backdrop>](https://apollo.xplordocs.com/?path=/story/components-backdrop--backdrop) component to overlay content and create focus on the Slide Out Panel content."
|
|
2252
|
+
},
|
|
2253
|
+
"attributes": [
|
|
2254
|
+
{
|
|
2255
|
+
"name": "backdrop",
|
|
2256
|
+
"description": "Whether to show a backdrop behind the slideout."
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"name": "is-open",
|
|
2260
|
+
"description": "Whether the slideout is open."
|
|
2261
|
+
},
|
|
2262
|
+
{
|
|
2263
|
+
"name": "show-footer",
|
|
2264
|
+
"description": "Whether to show the footer section in the slideout."
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"name": "variant",
|
|
2268
|
+
"description": "The visual style variant of the slideout.\nCan be 'default' or 'warning'.",
|
|
2269
|
+
"values": [
|
|
2270
|
+
{
|
|
2271
|
+
"name": "default"
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
"name": "warning"
|
|
2275
|
+
}
|
|
2276
|
+
]
|
|
2277
|
+
}
|
|
2278
|
+
]
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"name": "xpl-spotlight",
|
|
2282
|
+
"description": {
|
|
2283
|
+
"kind": "markdown",
|
|
2284
|
+
"value": "`xpl-spotlight` renders a guided-tour callout with an anchor dot, optional media, step messaging, and prop-driven footer actions. It can either render inline using the requested `anchorPosition` or attach to a target element with Floating UI when `target` is provided."
|
|
2285
|
+
},
|
|
2286
|
+
"attributes": [
|
|
2287
|
+
{
|
|
2288
|
+
"name": "action-layout",
|
|
2289
|
+
"description": "Footer action layout. `default` and `dual` both render the standard Back/Next layout, while\n`single` renders a single acknowledgement CTA (e.g. \"Got it!\").\nOnly applies when `showActions` is `true`.",
|
|
2290
|
+
"values": [
|
|
2291
|
+
{
|
|
2292
|
+
"name": "default"
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"name": "dual"
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
"name": "single"
|
|
2299
|
+
}
|
|
2300
|
+
]
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
"name": "anchor-position",
|
|
2304
|
+
"description": "Which corner of the card the anchor dot uses when not using `target`, or as the preferred side for Floating UI.",
|
|
2305
|
+
"values": [
|
|
2306
|
+
{
|
|
2307
|
+
"name": "bottom-left"
|
|
2308
|
+
},
|
|
2309
|
+
{
|
|
2310
|
+
"name": "bottom-right"
|
|
2311
|
+
},
|
|
2312
|
+
{
|
|
2313
|
+
"name": "top-left"
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
"name": "top-right"
|
|
2317
|
+
}
|
|
2318
|
+
]
|
|
2319
|
+
},
|
|
2320
|
+
{
|
|
2321
|
+
"name": "body",
|
|
2322
|
+
"description": "Body copy when the `body` slot has no slotted content. Whitespace-only values are treated as empty (no fallback paragraph)."
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"name": "current-step",
|
|
2326
|
+
"description": "Current step index (1-based). Used with `totalSteps` for the step label and for disabling\ndefault Back/Next when `showSteps` is true."
|
|
2327
|
+
},
|
|
2328
|
+
{
|
|
2329
|
+
"name": "heading",
|
|
2330
|
+
"description": "Heading when the `title` slot has no slotted content. Whitespace-only values are treated as empty (no fallback title span)."
|
|
2331
|
+
},
|
|
2332
|
+
{
|
|
2333
|
+
"name": "is-dismissible",
|
|
2334
|
+
"description": "Whether to show the dismiss (close) control."
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"name": "is-open",
|
|
2338
|
+
"description": "Controls whether the spotlight is rendered. When false, the host remains in the DOM but the spotlight UI is hidden."
|
|
2339
|
+
},
|
|
2340
|
+
{
|
|
2341
|
+
"name": "primary-action-label",
|
|
2342
|
+
"description": "Label used for the default primary action button. Only applies when `showActions` is `true`."
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
"name": "secondary-action-label",
|
|
2346
|
+
"description": "Label used for the default secondary action button. Only applies when `showActions` is `true`."
|
|
2347
|
+
},
|
|
2348
|
+
{
|
|
2349
|
+
"name": "show-actions",
|
|
2350
|
+
"description": "Whether to show the actions row (primary / secondary and optional step counter).\nWhen `false`, the spotlight has no action buttons — useful for single-step\ninformational callouts that rely solely on the dismiss control."
|
|
2351
|
+
},
|
|
2352
|
+
{
|
|
2353
|
+
"name": "show-image",
|
|
2354
|
+
"description": "When true, the media region is shown. Slotted `image` content is rendered when present;\notherwise the built-in placeholder UI is shown. When false, the entire media block is hidden."
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
"name": "show-steps",
|
|
2358
|
+
"description": "Whether to show the step counter between actions (`currentStep` of `totalSteps`) and whether\ndefault Back/Next use step-based disabled state."
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
"name": "target",
|
|
2362
|
+
"description": "CSS selector for the element this spotlight anchors to. When set, placement uses Floating UI\n(`computePosition` with `strategy: 'fixed'`, plus `flip`, `shift`, `offset`) and `autoUpdate`\nfor scroll/resize. The host receives `left` / `top` and the `xpl-spotlight--anchored` class.\nInvalid selectors are ignored; layout falls back to `anchor-position`."
|
|
2363
|
+
},
|
|
2364
|
+
{
|
|
2365
|
+
"name": "total-steps",
|
|
2366
|
+
"description": "Total number of steps (1-based upper bound). Used with `currentStep` for the step label and\nfor disabling default Back/Next when `showSteps` is true."
|
|
1595
2367
|
}
|
|
1596
2368
|
]
|
|
1597
2369
|
},
|
|
1598
2370
|
{
|
|
1599
|
-
"name": "xpl-
|
|
2371
|
+
"name": "xpl-tab",
|
|
1600
2372
|
"description": {
|
|
1601
2373
|
"kind": "markdown",
|
|
1602
|
-
"value": "
|
|
2374
|
+
"value": "`xpl-tab` is the **label / trigger** for one tab in an `xpl-tabs` group. Place each instance in the **`heading`** slot of `xpl-tabs`. The **`target`** string links this tab to the matching **`xpl-tab-panel`** (same `target` value). The parent sets **`selected`** and syncs **`value`**; you normally do not set `selected` by hand.\n\nUnderline tabs render a native **`<button role=\"tab\">`**; segment tabs render **`xpl-button`** with the same tab semantics on the inner control. For variant-specific examples, icon usage, and token tables, see the matching section on the **Tabs** or **Segment control** Storybook page.\n\n**`group-disabled`** is applied by `xpl-tabs` when the group has **`disabled`**; it keeps pills and underline buttons in a disabled state together with the parent."
|
|
1603
2375
|
},
|
|
1604
2376
|
"attributes": [
|
|
1605
2377
|
{
|
|
1606
|
-
"name": "
|
|
1607
|
-
"description": "
|
|
2378
|
+
"name": "disabled",
|
|
2379
|
+
"description": "Disables this tab (pill or underline)."
|
|
1608
2380
|
},
|
|
1609
2381
|
{
|
|
1610
|
-
"name": "
|
|
1611
|
-
"description": "
|
|
2382
|
+
"name": "data-group-disabled",
|
|
2383
|
+
"description": "Set when the parent `xpl-tabs` has `disabled` (group-disabled)."
|
|
1612
2384
|
},
|
|
1613
2385
|
{
|
|
1614
|
-
"name": "
|
|
1615
|
-
"description": "
|
|
2386
|
+
"name": "icon",
|
|
2387
|
+
"description": "Optional icon name for segment-style pills (`type=\"segment\"` on parent `xpl-tabs`). Ignored for default tabs."
|
|
1616
2388
|
},
|
|
1617
2389
|
{
|
|
1618
|
-
"name": "
|
|
1619
|
-
"description": "
|
|
2390
|
+
"name": "icon-position",
|
|
2391
|
+
"description": "Icon position for segment-style pills.",
|
|
1620
2392
|
"values": [
|
|
1621
2393
|
{
|
|
1622
|
-
"name": "
|
|
2394
|
+
"name": "end"
|
|
1623
2395
|
},
|
|
1624
2396
|
{
|
|
1625
|
-
"name": "
|
|
2397
|
+
"name": "start"
|
|
1626
2398
|
}
|
|
1627
2399
|
]
|
|
1628
|
-
}
|
|
1629
|
-
]
|
|
1630
|
-
},
|
|
1631
|
-
{
|
|
1632
|
-
"name": "xpl-tab",
|
|
1633
|
-
"description": {
|
|
1634
|
-
"kind": "markdown",
|
|
1635
|
-
"value": ""
|
|
1636
|
-
},
|
|
1637
|
-
"attributes": [
|
|
2400
|
+
},
|
|
1638
2401
|
{
|
|
1639
2402
|
"name": "selected",
|
|
1640
2403
|
"description": "Whether the tab is selected"
|
|
@@ -1649,7 +2412,7 @@
|
|
|
1649
2412
|
"name": "xpl-tab-panel",
|
|
1650
2413
|
"description": {
|
|
1651
2414
|
"kind": "markdown",
|
|
1652
|
-
"value": ""
|
|
2415
|
+
"value": "`xpl-tab-panel` is the **content region** for one tab. Place each panel in the **`panel`** slot of `xpl-tabs` and set **`target`** to the same string as its paired **`xpl-tab`**. Only the panel whose `target` matches the group’s selection is visible; others stay hidden via CSS until selected."
|
|
1653
2416
|
},
|
|
1654
2417
|
"attributes": [
|
|
1655
2418
|
{
|
|
@@ -1666,24 +2429,120 @@
|
|
|
1666
2429
|
"name": "xpl-table",
|
|
1667
2430
|
"description": {
|
|
1668
2431
|
"kind": "markdown",
|
|
1669
|
-
"value": "
|
|
2432
|
+
"value": "Compositional tables use CSS grid on the host (`role=\"grid\"`). Legacy mode uses a `<table>`."
|
|
1670
2433
|
},
|
|
1671
2434
|
"attributes": [
|
|
1672
2435
|
{
|
|
1673
2436
|
"name": "freeze",
|
|
1674
|
-
"description": "When true, the first column
|
|
2437
|
+
"description": "When true, the first **data** column (per row) is sticky during horizontal scroll.\nLeading compositional columns are skipped: `selectable` (checkbox) and/or `row-reorderable`\n(grip) are not frozen so they scroll with the grid; the next column stays pinned at `left: 0`."
|
|
1675
2438
|
},
|
|
1676
2439
|
{
|
|
1677
2440
|
"name": "is-sortable",
|
|
1678
|
-
"description": "
|
|
2441
|
+
"description": ""
|
|
2442
|
+
},
|
|
2443
|
+
{
|
|
2444
|
+
"name": "label",
|
|
2445
|
+
"description": "Accessible label for the table. Maps to `aria-label` in compositional mode."
|
|
1679
2446
|
},
|
|
1680
2447
|
{
|
|
1681
2448
|
"name": "multiselect",
|
|
1682
|
-
"description": "
|
|
2449
|
+
"description": ""
|
|
2450
|
+
},
|
|
2451
|
+
{
|
|
2452
|
+
"name": "reorder-handle-icon",
|
|
2453
|
+
"description": "Icon name for the optional `xpl-icon` inside each **managed** reorder grip when the row is **not** in\nkeyboard reorder mode (pointer / idle). Set to `\"\"` to omit the icon so you can style the button or author a\nfully custom reorder column in markup. When omitted, defaults to `grip-dots-vertical`."
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
"name": "reorder-handle-icon-keyboard",
|
|
2457
|
+
"description": "Icon name for the managed reorder grip **while that row is in keyboard reorder mode** (after the user\nactivates the grip with Enter or Space). Use a different icon than `reorder-handle-icon` so users can see\nthey should use arrow keys. When omitted, defaults to `caret-expand-y` (same as `xpl-list` keyboard reorder).\nSet to `\"\"` to show no icon in keyboard mode only (combine with CSS on\n`.xpl-table__row-drag-handle--keyboard-mode` if needed)."
|
|
2458
|
+
},
|
|
2459
|
+
{
|
|
2460
|
+
"name": "row-reorderable",
|
|
2461
|
+
"description": "When true (compositional mode only), **prepends** a managed reorder column as the **first** grid\ncolumn (empty header + grip button per body row) and enables HTML5 drag-and-drop row reordering\n(same interaction model as `xpl-list`). With `selectable`, DOM order is **reorder | selection |\ndata** unless you author a custom reorder column. The table updates the DOM and emits\n`rowOrderChange`; consumers should persist order if needed. Ignored in legacy `columns`/`data` mode."
|
|
2462
|
+
},
|
|
2463
|
+
{
|
|
2464
|
+
"name": "selectable",
|
|
2465
|
+
"description": "When true (compositional mode only), enables row selection state, the selection toolbar\n(“N Selected”), and `rowSelectionChange`. **You must add the selection column in your\nmarkup:** a header cell with `type=\"checkbox\"`, a body cell containing `xpl-checkbox` per row\n(aligned with that column), and matching `xpl-table-footer-cell` cells when you use a footer.\nEach body row should use `row-id` on `xpl-table-row` (or accept auto-generated ids) so\n`rowSelectionChange` can report `selectedRowIds`.\n\nThe toolbar uses the same layout as `xpl-toolbar` and is visible only while at least one row\nis selected. Use `toolbar-actions-left` / `toolbar-actions-right` slots on this host for bulk\nactions."
|
|
1683
2466
|
},
|
|
1684
2467
|
{
|
|
1685
2468
|
"name": "striped",
|
|
1686
|
-
"description": "Toggles an optional styling of the background of each even row of the
|
|
2469
|
+
"description": "Toggles an optional styling of the background of each even row of the\ntable body."
|
|
2470
|
+
}
|
|
2471
|
+
]
|
|
2472
|
+
},
|
|
2473
|
+
{
|
|
2474
|
+
"name": "xpl-table-body",
|
|
2475
|
+
"description": {
|
|
2476
|
+
"kind": "markdown",
|
|
2477
|
+
"value": ""
|
|
2478
|
+
},
|
|
2479
|
+
"attributes": []
|
|
2480
|
+
},
|
|
2481
|
+
{
|
|
2482
|
+
"name": "xpl-table-cell",
|
|
2483
|
+
"description": {
|
|
2484
|
+
"kind": "markdown",
|
|
2485
|
+
"value": "Body cell for compositional [`xpl-table`](../readme.md). Place content in the default slot; use `align`, `bold`, and `underline` for typography. Interactive controls inside the cell inherit `disabled` when the parent [`xpl-table-row`](../xpl-table-row) is disabled."
|
|
2486
|
+
},
|
|
2487
|
+
"attributes": [
|
|
2488
|
+
{
|
|
2489
|
+
"name": "align",
|
|
2490
|
+
"description": "Horizontal text alignment within the cell.",
|
|
2491
|
+
"values": [
|
|
2492
|
+
{
|
|
2493
|
+
"name": "center"
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
"name": "left"
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
"name": "right"
|
|
2500
|
+
}
|
|
2501
|
+
]
|
|
2502
|
+
},
|
|
2503
|
+
{
|
|
2504
|
+
"name": "bold",
|
|
2505
|
+
"description": "Renders cell text in bold (--xpl-font-weight-semibold)."
|
|
2506
|
+
},
|
|
2507
|
+
{
|
|
2508
|
+
"name": "disabled",
|
|
2509
|
+
"description": "Whether the cell and its interactive children are disabled. Set automatically by xpl-table-row."
|
|
2510
|
+
},
|
|
2511
|
+
{
|
|
2512
|
+
"name": "underline",
|
|
2513
|
+
"description": "Adds an underline to cell text."
|
|
2514
|
+
}
|
|
2515
|
+
]
|
|
2516
|
+
},
|
|
2517
|
+
{
|
|
2518
|
+
"name": "xpl-table-footer",
|
|
2519
|
+
"description": {
|
|
2520
|
+
"kind": "markdown",
|
|
2521
|
+
"value": ""
|
|
2522
|
+
},
|
|
2523
|
+
"attributes": []
|
|
2524
|
+
},
|
|
2525
|
+
{
|
|
2526
|
+
"name": "xpl-table-footer-cell",
|
|
2527
|
+
"description": {
|
|
2528
|
+
"kind": "markdown",
|
|
2529
|
+
"value": ""
|
|
2530
|
+
},
|
|
2531
|
+
"attributes": [
|
|
2532
|
+
{
|
|
2533
|
+
"name": "align",
|
|
2534
|
+
"description": "Horizontal text alignment within the cell.",
|
|
2535
|
+
"values": [
|
|
2536
|
+
{
|
|
2537
|
+
"name": "center"
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
"name": "left"
|
|
2541
|
+
},
|
|
2542
|
+
{
|
|
2543
|
+
"name": "right"
|
|
2544
|
+
}
|
|
2545
|
+
]
|
|
1687
2546
|
}
|
|
1688
2547
|
]
|
|
1689
2548
|
},
|
|
@@ -1691,7 +2550,7 @@
|
|
|
1691
2550
|
"name": "xpl-table-header",
|
|
1692
2551
|
"description": {
|
|
1693
2552
|
"kind": "markdown",
|
|
1694
|
-
"value": "
|
|
2553
|
+
"value": "Semantic wrapper for the header **row group** in a compositional `xpl-table` (`role=\"rowgroup\"`). Place one `xpl-table-row` (with `xpl-table-header-cell` children) inside.\r\n\r\n> **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases."
|
|
1695
2554
|
},
|
|
1696
2555
|
"attributes": []
|
|
1697
2556
|
},
|
|
@@ -1699,28 +2558,78 @@
|
|
|
1699
2558
|
"name": "xpl-table-header-cell",
|
|
1700
2559
|
"description": {
|
|
1701
2560
|
"kind": "markdown",
|
|
1702
|
-
"value": "> **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.\n\nThe `icon` property accepts icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.\n\n---"
|
|
2561
|
+
"value": "> **Note:** This component is currently in beta. Use with caution as it may have breaking changes in future releases.\r\n\r\nThe `icon` property accepts icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.\r\n\r\nWhen this cell is used inside a compositional [`xpl-table`](../xpl-table) with `selectable`, **you** add a `type=\"checkbox\"` header cell for select-all; `xpl-table` keeps `checked` and `indeterminate` in sync with row selection.\r\n\r\nFor **sortable** columns (`type=\"label\"`), set **`sortable`** and optionally **`sort-key`**; the parent table emits **`sortChanged`** (see [`xpl-table` events](../xpl-table#events)).\r\n\r\n**Column width (compositional grid):** Each header cell defines one grid column on the parent `xpl-table`. By default the track is **`auto`** (sizes from content). Set **`width`** for a fixed pixel width (minimum 48px), or **`column-width`** for any CSS grid track string (`1fr`, `minmax(120px, 1fr)`, etc.). When both are set, **`column-width` wins**.\r\n\r\n---"
|
|
1703
2562
|
},
|
|
1704
2563
|
"attributes": [
|
|
2564
|
+
{
|
|
2565
|
+
"name": "align",
|
|
2566
|
+
"description": "Horizontal text alignment within the header cell.",
|
|
2567
|
+
"values": [
|
|
2568
|
+
{
|
|
2569
|
+
"name": "center"
|
|
2570
|
+
},
|
|
2571
|
+
{
|
|
2572
|
+
"name": "left"
|
|
2573
|
+
},
|
|
2574
|
+
{
|
|
2575
|
+
"name": "right"
|
|
2576
|
+
}
|
|
2577
|
+
]
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
"name": "checkbox-aria-label",
|
|
2581
|
+
"description": "Accessible name for the header checkbox (native `aria-label`).\nDefaults to “Select all rows” when `type` is `checkbox`."
|
|
2582
|
+
},
|
|
2583
|
+
{
|
|
2584
|
+
"name": "checked",
|
|
2585
|
+
"description": "Whether the header checkbox is checked"
|
|
2586
|
+
},
|
|
2587
|
+
{
|
|
2588
|
+
"name": "column-width",
|
|
2589
|
+
"description": "CSS grid track size for this column (e.g. `1fr`, `minmax(120px, 1fr)`, `auto`). When set, overrides `width`.\nUse this when you need flexible columns; default layout uses `auto` per column unless you set a track here."
|
|
2590
|
+
},
|
|
1705
2591
|
{
|
|
1706
2592
|
"name": "icon",
|
|
1707
2593
|
"description": "Icon to display in the cell.\n\nSee [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names."
|
|
1708
2594
|
},
|
|
2595
|
+
{
|
|
2596
|
+
"name": "indeterminate",
|
|
2597
|
+
"description": "Whether the checkbox is in indeterminate (partially selected) state"
|
|
2598
|
+
},
|
|
1709
2599
|
{
|
|
1710
2600
|
"name": "label",
|
|
1711
|
-
"description": ""
|
|
2601
|
+
"description": "Text to display in the cell."
|
|
2602
|
+
},
|
|
2603
|
+
{
|
|
2604
|
+
"name": "sort-direction",
|
|
2605
|
+
"description": "Active sort direction for this column when `sortable`. Set by `xpl-table` when used inside\na compositional table; may be set by the app for controlled updates.",
|
|
2606
|
+
"values": [
|
|
2607
|
+
{
|
|
2608
|
+
"name": "asc"
|
|
2609
|
+
},
|
|
2610
|
+
{
|
|
2611
|
+
"name": "desc"
|
|
2612
|
+
}
|
|
2613
|
+
]
|
|
2614
|
+
},
|
|
2615
|
+
{
|
|
2616
|
+
"name": "sort-key",
|
|
2617
|
+
"description": "When `sortable` is true, optional stable id used as the key in `sortChanged`’s detail object.\nFalls back to a slug of `label` when omitted."
|
|
1712
2618
|
},
|
|
1713
2619
|
{
|
|
1714
2620
|
"name": "sortable",
|
|
1715
|
-
"description": ""
|
|
2621
|
+
"description": "When true (and `type` is `label`), renders a sort control (button + affordance icon)."
|
|
1716
2622
|
},
|
|
1717
2623
|
{
|
|
1718
2624
|
"name": "type",
|
|
1719
|
-
"description": "",
|
|
2625
|
+
"description": "The type of cell to render.",
|
|
1720
2626
|
"values": [
|
|
1721
2627
|
{
|
|
1722
2628
|
"name": "checkbox"
|
|
1723
2629
|
},
|
|
2630
|
+
{
|
|
2631
|
+
"name": "empty"
|
|
2632
|
+
},
|
|
1724
2633
|
{
|
|
1725
2634
|
"name": "icon"
|
|
1726
2635
|
},
|
|
@@ -1731,7 +2640,28 @@
|
|
|
1731
2640
|
},
|
|
1732
2641
|
{
|
|
1733
2642
|
"name": "width",
|
|
1734
|
-
"description": ""
|
|
2643
|
+
"description": "Fixed width for this column in pixels (minimum 48px). Sets the grid track to `Npx`.\nIgnored when `columnWidth` is set. When omitted, the column track defaults to `auto` (content-sized)."
|
|
2644
|
+
}
|
|
2645
|
+
]
|
|
2646
|
+
},
|
|
2647
|
+
{
|
|
2648
|
+
"name": "xpl-table-row",
|
|
2649
|
+
"description": {
|
|
2650
|
+
"kind": "markdown",
|
|
2651
|
+
"value": ""
|
|
2652
|
+
},
|
|
2653
|
+
"attributes": [
|
|
2654
|
+
{
|
|
2655
|
+
"name": "disabled",
|
|
2656
|
+
"description": "Whether the row and its cells are disabled."
|
|
2657
|
+
},
|
|
2658
|
+
{
|
|
2659
|
+
"name": "row-id",
|
|
2660
|
+
"description": "Stable identifier for this row when used with a selectable compositional\n`xpl-table`. If omitted, the parent table assigns a unique id."
|
|
2661
|
+
},
|
|
2662
|
+
{
|
|
2663
|
+
"name": "selected",
|
|
2664
|
+
"description": "Whether the row is visually selected."
|
|
1735
2665
|
}
|
|
1736
2666
|
]
|
|
1737
2667
|
},
|
|
@@ -1739,13 +2669,29 @@
|
|
|
1739
2669
|
"name": "xpl-tabs",
|
|
1740
2670
|
"description": {
|
|
1741
2671
|
"kind": "markdown",
|
|
1742
|
-
"value": "Tabs
|
|
2672
|
+
"value": "`xpl-tabs` groups related views into a single surface: users pick a **tab** to show the matching **panel**. It implements the WAI-ARIA tabs pattern with a horizontal tab list, optional full-width layout, and two visual styles—**underline** (`type=\"tabs\"`, default) and **segment** (`type=\"segment\"`, pill controls in a bordered track)—selected with the **`type`** prop. On narrow viewports the heading row is replaced by an `xpl-select` so the same targets and keyboard behavior stay consistent.\n\nThe **Tabs** and **Segment control** Storybook entries document this **one component** with different defaults and Figma references. Each page adds variant-specific guidance (when to use, examples, tokens); the sections below describe behavior that is **the same for both** styles.\n\nPair **`xpl-tab` (slot `heading`)** with **`xpl-tab-panel` (slot `panel`)** and use the same **`target`** string on each pair so selection stays in sync."
|
|
1743
2673
|
},
|
|
1744
2674
|
"attributes": [
|
|
2675
|
+
{
|
|
2676
|
+
"name": "disabled",
|
|
2677
|
+
"description": "Disables the whole tab group (headings, mobile select, and segment pills)."
|
|
2678
|
+
},
|
|
1745
2679
|
{
|
|
1746
2680
|
"name": "full-width",
|
|
1747
2681
|
"description": "Whether to make the tabs full width"
|
|
1748
2682
|
},
|
|
2683
|
+
{
|
|
2684
|
+
"name": "type",
|
|
2685
|
+
"description": "Visual and layout variant: classic underline tabs or segment (pill) controls.",
|
|
2686
|
+
"values": [
|
|
2687
|
+
{
|
|
2688
|
+
"name": "segment"
|
|
2689
|
+
},
|
|
2690
|
+
{
|
|
2691
|
+
"name": "tabs"
|
|
2692
|
+
}
|
|
2693
|
+
]
|
|
2694
|
+
},
|
|
1749
2695
|
{
|
|
1750
2696
|
"name": "value",
|
|
1751
2697
|
"description": "The selected tab target value, defaults to the first tab"
|
|
@@ -1756,15 +2702,44 @@
|
|
|
1756
2702
|
"name": "xpl-tag",
|
|
1757
2703
|
"description": {
|
|
1758
2704
|
"kind": "markdown",
|
|
1759
|
-
"value": "Tags represent a set of interactive keywords that help label, organize, and categorize objects. Tags can be added or removed from an object by the user. Unlike Badges, Tags are clickable,
|
|
2705
|
+
"value": "Tags represent a set of interactive keywords that help label, organize, and categorize objects. Tags can be added or removed from an object by the user. Unlike Badges, Tags are clickable, used in dropdowns, multi-select, search bars, etc."
|
|
1760
2706
|
},
|
|
1761
|
-
"attributes": [
|
|
2707
|
+
"attributes": [
|
|
2708
|
+
{
|
|
2709
|
+
"name": "disabled",
|
|
2710
|
+
"description": "Whether the tag is disabled"
|
|
2711
|
+
},
|
|
2712
|
+
{
|
|
2713
|
+
"name": "dismissible",
|
|
2714
|
+
"description": "Whether the tag shows a dismiss button"
|
|
2715
|
+
},
|
|
2716
|
+
{
|
|
2717
|
+
"name": "is-draggable",
|
|
2718
|
+
"description": "When true, the tag label uses native HTML5 drag (the inner label is the drag source).\nNamed `isDraggable` so the Stencil prop does not collide with the native `HTMLElement.draggable`\nAPI. `reflect: false` avoids syncing a `draggable` attribute onto the host; the inner label\nremains the drag source. Host `onDragStart` still suppresses stray native drags from host chrome."
|
|
2719
|
+
},
|
|
2720
|
+
{
|
|
2721
|
+
"name": "size",
|
|
2722
|
+
"description": "The size of the tag",
|
|
2723
|
+
"values": [
|
|
2724
|
+
{
|
|
2725
|
+
"name": "default"
|
|
2726
|
+
},
|
|
2727
|
+
{
|
|
2728
|
+
"name": "sm"
|
|
2729
|
+
}
|
|
2730
|
+
]
|
|
2731
|
+
},
|
|
2732
|
+
{
|
|
2733
|
+
"name": "tag-id",
|
|
2734
|
+
"description": "Optional stable id for the tag. When set, it is included in `tagDragStart` / `tagDragEnd` detail\nand written to `dataTransfer` as `application/x-tag-id`."
|
|
2735
|
+
}
|
|
2736
|
+
]
|
|
1762
2737
|
},
|
|
1763
2738
|
{
|
|
1764
2739
|
"name": "xpl-toast",
|
|
1765
2740
|
"description": {
|
|
1766
2741
|
"kind": "markdown",
|
|
1767
|
-
"value": "Toasts are brief, non-disruptive messages that provide quick, at-a-glance feedback. They can have 3 sentiments; neutral, positive and negative and contain actions such as a button or link, or a close button. Messaging can include a title and caption limited to 85 characters. Keep your toast messaging short and to the point and tone in line with the sentiment of the Toast. \n\nThe Toast component is configurable by Sentiment plus show/hide properties for Icon, Caption, Button and Dismissible. Use the nested component’s properties to customize further as needed. \n\nWhen possible, Toasts should auto-dismiss after 8 seconds. When an action is present, it may not be desirable to time out the Toast depending on your specific context. \n\nMatch your messaging with the sentiment of the toast. Most messages will have a neutral sentiment. Reserve negative sentiments for when an explicit failure has occurred. Give users the information they need to correct the issue. \n\nToasts only support a single action and up to 85 characters. If multiple actions can be taken, or the message is longer than a few words, use a [Modal component](https://
|
|
2742
|
+
"value": "Toasts are brief, non-disruptive messages that provide quick, at-a-glance feedback. They can have 3 sentiments; neutral, positive and negative and contain actions such as a button or link, or a close button. Messaging can include a title and caption limited to 85 characters. Keep your toast messaging short and to the point and tone in line with the sentiment of the Toast. \n\nThe Toast component is configurable by Sentiment plus show/hide properties for Icon, Caption, Button and Dismissible. Use the nested component’s properties to customize further as needed. \n\nWhen possible, Toasts should auto-dismiss after 8 seconds. When an action is present, it may not be desirable to time out the Toast depending on your specific context. \n\nMatch your messaging with the sentiment of the toast. Most messages will have a neutral sentiment. Reserve negative sentiments for when an explicit failure has occurred. Give users the information they need to correct the issue. \n\nToasts only support a single action and up to 85 characters. If multiple actions can be taken, or the message is longer than a few words, use a [Modal component](https://apollo.xplordocs.com/?path=/story/components-modal--modal) instead."
|
|
1768
2743
|
},
|
|
1769
2744
|
"attributes": [
|
|
1770
2745
|
{
|
|
@@ -1905,6 +2880,72 @@
|
|
|
1905
2880
|
}
|
|
1906
2881
|
]
|
|
1907
2882
|
},
|
|
2883
|
+
{
|
|
2884
|
+
"name": "xpl-top-nav",
|
|
2885
|
+
"description": {
|
|
2886
|
+
"kind": "markdown",
|
|
2887
|
+
"value": "Horizontal top navigation with **`left-aside`** and a **right rail**: **`right-aside`** then **user menu**\n(see **`.xpl-top-nav__right-rail`** in `render()`). The account menu uses an internal **`xpl-popover`** (**`bottom-end`**, **`display=\"menu\"`**): built-in trigger uses **`child-account-label`** (prop / attribute) as the label beside a trailing **`chevron-down`** on **`xpl-button`** (**`icon`** / **`iconPosition=\"end\"`**), or **`slot=\"user-menu-trigger\"`** for a custom trigger; panel from **`slot=\"user-menu\"`** (e.g. **`xpl-nav-header-menu`**).\nOptional **`nav-control`** and **`navOpen`**. **`left-aside`** uses **`role=\"list\"`** for primary **`xpl-top-nav-item`** rows (**`role=\"listitem\"`** on each item host). The built-in **`xpl-top-nav__brand`** item omits **`listitem`** (it is not a child of that list). **`label`** maps to **`nav`** **`aria-label`**. Opening state is internal (not a prop) — use **`navOpen`** and host **`xpl-top-nav--open`** for styling.\n\n**Escape:** With **`nav-control`**, **Escape** closes the mobile drawer and emits **`navOpen`** **`false`** (skips while **any** descendant **`xpl-popover`** is open — detected from each popover’s inner **`.xpl-popover--is-open`** marker — or when a **`xpl-top-nav-item`** dropdown is open — capture/bubble order). Focus returns to the nav toggle after the drawer closes (**Escape** or second toggle click).\n**`xpl-top-nav-item`** **`slot=\"dropdown\"`** uses document **capture** for **Escape** first; the shell uses **bubble**\non **`ownerDocument`** so nested dropdowns close before the drawer.\n\n**Theming:** The host always includes Foundation’s **`dark`** class so **`--xpl-*`** purpose tokens under this subtree\nresolve to dark-mode values even when the page root is light. Floating overlays (e.g. **`xpl-popover`** / **`xpl-dropdown`**\ncontent teleported outside the host) do not inherit this scope — add **`dark`** on those panels if they should match.\n\n**Layout:** **`right-aside`** and the user-menu region are wrapped internally (**`.xpl-top-nav__right-lead`**, etc.).\nConsumers should not add those BEM classes — slot content only.\n\n**Brand logo:** use **`brand-logo`** (URL) for a built-in **`<img>`**, or **`slot=\"brand-logo\"`** for custom markup (e.g. **`xpl-icon`**, SVG). When the URL prop is set, it takes precedence and the slot is not used for the image. On **narrow viewports** (one pixel below Tailwind **`md`** — see **`top-nav.css`**), **`brand-name`** text is hidden in the bar (logo / slot mark only); keep a meaningful **`alt`** on **`brand-logo`** or accessible slotted mark for context.\n\n**Narrow / mobile** (same breakpoint as above): **`slot=\"left-aside\"`** is **hidden** in the bar until **`nav-control`**\nis set **and** the drawer is open (floating panel per Figma). **Without **`nav-control`**, there is no mobile drawer** —\nprimary links remain hidden below **`md`** until the viewport is wide enough for the horizontal bar. The built-in **brand**\nstays in the top bar (**hamburger → brand** when **`nav-control`** is set). **`right-aside`** is hidden in the bar on narrow\nviewports (**`top-nav.css`**, one pixel below Tailwind **`md`**); duplicate those actions into **`xpl-nav-header-menu`**\n**`slot=\"right-aside-mobile\"`** (below profile, above the list; narrow-only CSS in **`top-nav.css`**) per Figma.\n\n**Account menu vs drawer:** Opening the built-in account **`xpl-popover`** while the mobile drawer is open **closes the drawer**\nand emits **`navOpen(false)`** so the two layers do not stack."
|
|
2888
|
+
},
|
|
2889
|
+
"attributes": [
|
|
2890
|
+
{
|
|
2891
|
+
"name": "brand-href",
|
|
2892
|
+
"description": "Destination URL for the brand control when using native navigation (**`<a href>`**). When unset, the brand is a\n**`role=\"button\"`** control and **`brandClick`** fires on activation instead."
|
|
2893
|
+
},
|
|
2894
|
+
{
|
|
2895
|
+
"name": "brand-logo",
|
|
2896
|
+
"description": "Optional image URL for the brand mark (leading the brand row, before **`brand-name`** text). When set, renders\n**`<img class=\"xpl-top-nav__brand-logo\">`** and ignores **`slot=\"brand-logo\"`** for the mark. When unset, use\n**`slot=\"brand-logo\"`** for custom logo content."
|
|
2897
|
+
},
|
|
2898
|
+
{
|
|
2899
|
+
"name": "brand-name",
|
|
2900
|
+
"description": "Visible product / app name next to **`brand-logo`**. Omit for logo-only; provide **`brand-logo`** and/or this\nstring to show the built-in brand row (**`left-aside`** is then primary nav links only)."
|
|
2901
|
+
},
|
|
2902
|
+
{
|
|
2903
|
+
"name": "child-account-label",
|
|
2904
|
+
"description": "Label text for the built-in account menu trigger (shown **before** the **`chevron-down`** icon) when **`slot=\"user-menu\"`**\nis present and **`slot=\"user-menu-trigger\"`** is not used. When empty or whitespace-only, the trigger shows only the\nchevron and uses **`aria-label=\"Open account menu\"`** on the button."
|
|
2905
|
+
},
|
|
2906
|
+
{
|
|
2907
|
+
"name": "label",
|
|
2908
|
+
"description": "Accessible name for the `<nav>` landmark (maps to `aria-label`).\nUse a unique label when the page has multiple navigation regions (e.g. side nav + top nav).\nWhen unset, defaults to `top-navigation-bar`."
|
|
2909
|
+
},
|
|
2910
|
+
{
|
|
2911
|
+
"name": "nav-control",
|
|
2912
|
+
"description": "When true, renders the navigation control (hamburger) for toggling the left slot on small viewports.\nThe control is **hidden from the Tailwind `md` breakpoint up**; collapse/show for **`left-aside`** uses **`max-width: calc(theme('screens.md') - 1px)`** in **`top-nav.css`** (Figma’s 767px at a 16px root and default **`screens.md`**).\nReflected to the **`nav-control`** attribute so host updates (framework props) re-run **`@Watch`**: drawer state and\ndocument **Escape** handling stay in sync, the host **`xpl-top-nav--nav-control`** class toggles for **`top-nav.css`**, and\n**`navOpen(false)`** is emitted if **`nav-control`** is cleared while the drawer was open."
|
|
2913
|
+
}
|
|
2914
|
+
]
|
|
2915
|
+
},
|
|
2916
|
+
{
|
|
2917
|
+
"name": "xpl-top-nav-item",
|
|
2918
|
+
"description": {
|
|
2919
|
+
"kind": "markdown",
|
|
2920
|
+
"value": "Single nav row for **`xpl-top-nav`** / **`xpl-nav-header-menu`**. The host uses **`role=\"listitem\"`** when the row\nparticipates in a list: a **`role=\"list\"`** parent, **`slot=\"left-aside\"`** on **`xpl-top-nav`** (list host is\n**`.xpl-top-nav__left-primary`** while slotted nodes stay light-DOM children of **`xpl-top-nav`**), or default-slot rows\nunder **`xpl-nav-header-menu`**. That flag is\nkept in **`@State`** and refreshed after render plus via **`MutationObserver`** on the host (**`class`**, **`slot`**) and\non **`parentElement`** (**`role`**) or on **`.xpl-top-nav__left-primary`** (**`role`**) for **`slot=\"left-aside\"`** under **`xpl-top-nav`**) so DOM context changes\nwithout a full reconnect still re-sync. The internal\n**`xpl-top-nav__brand`** row omits **`listitem`** (it sits in **`.xpl-top-nav__brand-bar`**, not **`.xpl-top-nav__left-primary`**),\nas do **`slot=\"right-aside-mobile\"`** rows (not a list). **`slot=\"dropdown\"`** uses a local **`.xpl-top-nav-item__dropdown`**\npanel (not **`xpl-dropdown`**); see **`TECH_DEBT.md`**.\n\n**Default slot (no `label`):** do not put **`xpl-top-nav-item__inner`** or other **`xpl-top-nav-item__*`** classes on\ncustom trigger content — the component renders the inner wrapper and BEM elements.\n\n**Theming:** The host always includes Foundation’s **`dark`** class so **`--xpl-*`** purpose tokens resolve to dark-mode\nvalues even when the page root is light (consistent with **`xpl-top-nav`**)."
|
|
2921
|
+
},
|
|
2922
|
+
"attributes": [
|
|
2923
|
+
{
|
|
2924
|
+
"name": "active",
|
|
2925
|
+
"description": "When true, adds **`xpl-top-nav-item--active`** for persistent accent styling (e.g. link color on the bar, or\nchrome inside **`xpl-nav-header-menu`**). Separate from **`selected`**, which sets **`aria-current=\"page\"`** and\n**`--selected`**. Use both when the design needs “current page” semantics plus the active visual treatment."
|
|
2926
|
+
},
|
|
2927
|
+
{
|
|
2928
|
+
"name": "href",
|
|
2929
|
+
"description": "If set without **`slot=\"dropdown\"`**, the inner control renders as a native **`<a href>`** (link mode)."
|
|
2930
|
+
},
|
|
2931
|
+
{
|
|
2932
|
+
"name": "icon",
|
|
2933
|
+
"description": "Icon name from **`@xplortech/apollo-icons`** (shown before the label when **`label`** is set)."
|
|
2934
|
+
},
|
|
2935
|
+
{
|
|
2936
|
+
"name": "item-aria-label",
|
|
2937
|
+
"description": "Accessible name for the inner control when there is no **`label`** and no default-slot text (e.g. icon-only).\nIf omitted in that case, **`aria-label`** defaults to **`Navigation item`**. Ignored when **`label`** or default-slot\ncontent supplies a visible name."
|
|
2938
|
+
},
|
|
2939
|
+
{
|
|
2940
|
+
"name": "label",
|
|
2941
|
+
"description": "Text label. If omitted, use the default slot for custom trigger content. Long labels use **`text-ellipsis`**\non **`.xpl-top-nav-item__label`** (see `top-nav.css`); **`title`** is set to the full string for hover tooltips\nwhen the visual line clips."
|
|
2942
|
+
},
|
|
2943
|
+
{
|
|
2944
|
+
"name": "selected",
|
|
2945
|
+
"description": "When true, sets **`aria-current=\"page\"`** and selected styling."
|
|
2946
|
+
}
|
|
2947
|
+
]
|
|
2948
|
+
},
|
|
1908
2949
|
{
|
|
1909
2950
|
"name": "xpl-utility-bar",
|
|
1910
2951
|
"description": {
|