@xplortech/apollo-core 2.9.0 → 2.10.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 +20 -12
- package/build/style.css +2086 -1875
- package/dist/apollo-core/apollo-core.css +20 -18
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/p-0e45f332.entry.js +1 -0
- package/dist/apollo-core/p-0f251f98.entry.js +1 -0
- package/dist/apollo-core/p-1691c4f3.entry.js +1 -0
- package/dist/apollo-core/p-172ac720.entry.js +1 -0
- package/dist/apollo-core/p-23870463.entry.js +1 -0
- package/dist/apollo-core/{p-36ba29da.entry.js → p-3b8639b7.entry.js} +1 -1
- package/dist/apollo-core/p-44a16751.entry.js +1 -0
- package/dist/apollo-core/p-4efecab2.entry.js +1 -0
- package/dist/apollo-core/p-5094dd97.entry.js +1 -0
- package/dist/apollo-core/p-70e7facc.entry.js +1 -0
- package/dist/apollo-core/{p-6a15f1e0.entry.js → p-728341d2.entry.js} +1 -1
- package/dist/apollo-core/p-910be81f.entry.js +1 -0
- package/dist/apollo-core/{p-b61d7952.entry.js → p-9adf3694.entry.js} +1 -1
- package/dist/apollo-core/p-CK3_k8jD.js +1 -0
- package/dist/apollo-core/p-CXkZUm1c.js +2 -0
- package/dist/apollo-core/p-c17b6351.entry.js +1 -0
- package/dist/apollo-core/p-e08b434c.entry.js +1 -0
- package/dist/apollo-core/{p-ca127ee8.entry.js → p-e9e7577f.entry.js} +1 -1
- package/dist/cjs/apollo-core.cjs.js +3 -3
- package/dist/cjs/{index-BQ97-AWw.js → index-BaXVr8ux.js} +36 -9
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/v4-_2BfiRUa.js +52 -0
- package/dist/cjs/xpl-accordion.cjs.entry.js +3 -3
- package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
- package/dist/cjs/xpl-avatar_54.cjs.entry.js +700 -176
- package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
- package/dist/cjs/xpl-calendar.cjs.entry.js +3 -3
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +3 -3
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid.cjs.entry.js +2 -2
- package/dist/cjs/xpl-large-card.cjs.entry.js +2 -2
- package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +1 -1
- package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
- package/dist/cjs/xpl-toggle.cjs.entry.js +5 -5
- package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
- package/dist/collection/collection-manifest.json +6 -6
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
- package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
- package/dist/collection/components/xpl-banner/banner.stories.js +5 -0
- package/dist/collection/components/xpl-banner/xpl-banner.js +2 -2
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
- package/dist/collection/components/xpl-button/button.stories.js +5 -0
- package/dist/collection/components/xpl-button/xpl-button.js +1 -1
- package/dist/collection/components/xpl-button-row/button-row.stories.js +1 -11
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +4 -4
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
- package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +208 -31
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +1 -1
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
- package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
- package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
- package/dist/collection/components/xpl-input/input.stories.js +1 -1
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +25 -6
- package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +1 -1
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
- package/dist/collection/components/xpl-input/xpl-input.js +3 -3
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
- package/dist/collection/components/xpl-list/xpl-list.js +2 -2
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
- package/dist/collection/components/xpl-modal/xpl-modal.js +4 -1
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +26 -8
- package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
- package/dist/collection/components/xpl-popover/popover.stories.js +3 -7
- package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
- package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
- package/dist/collection/components/xpl-radio/radio.stories.js +19 -17
- package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
- package/dist/collection/components/xpl-select/xpl-select.js +16 -11
- package/dist/collection/components/xpl-side-nav/side-nav-constants.js +2 -0
- package/dist/collection/components/xpl-side-nav/side-nav.stories.js +301 -186
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +80 -14
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +284 -3
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
- package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +14 -4
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +2 -2
- package/dist/collection/components/xpl-table/xpl-table.js +13 -22
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +5 -5
- package/dist/collection/components/xpl-tag/xpl-tag.js +2 -2
- package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
- package/dist/collection/components/xpl-tooltip/tooltip-arrow.js +1 -1
- package/dist/collection/components/xpl-tooltip/tooltip.stories.js +6 -37
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
- package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +2 -2
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +2 -2
- package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +5 -5
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
- package/dist/components/index.d.ts +141 -12
- package/dist/components/index.js +1 -1
- package/dist/components/p-3qMYyqTe.js +1 -0
- package/dist/components/p-B1PBAEzg.js +1 -0
- package/dist/components/p-BG0-6Xek.js +1 -0
- package/dist/components/p-BT_Lq3Vd.js +1 -0
- package/dist/components/p-BWyAzrwu.js +1 -0
- package/dist/components/p-B_Wi--Ov.js +1 -0
- package/dist/components/p-Bd6JweBt.js +1 -0
- package/dist/components/p-Bn-27-xj.js +1 -0
- package/dist/components/{xpl-top-nav-item2.js → p-Bs6vq0C6.js} +1 -1
- package/dist/components/{xpl-input-file2.js → p-C9BO2vL-.js} +1 -1
- package/dist/components/p-CFW_w5Wj.js +1 -0
- package/dist/components/{floating-ui.dom.js → p-CFpsSZyr.js} +1 -1
- package/dist/components/p-CGNq3DyC.js +1 -0
- package/dist/components/p-CK3_k8jD.js +1 -0
- package/dist/components/p-CVqbA9op.js +1 -0
- package/dist/components/p-CtIUusUL.js +1 -0
- package/dist/components/p-CzwViN3U.js +1 -0
- package/dist/components/p-D97c0GjM.js +1 -0
- package/dist/components/p-DBWV65V-.js +1 -0
- package/dist/components/{xpl-tag2.js → p-DEl4Rvzs.js} +1 -1
- package/dist/components/p-DPTHmitJ.js +1 -0
- package/dist/components/{xpl-input-search2.js → p-DllC7F-H.js} +1 -1
- package/dist/components/p-Ds28UyUR.js +1 -0
- package/dist/components/p-U5dPMCXE.js +1 -0
- package/dist/components/p-hPUzON4O.js +1 -0
- package/dist/components/p-kPHfCq1d.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-backdrop.js +1 -1
- package/dist/components/xpl-badge.js +1 -1
- package/dist/components/xpl-banner.js +1 -1
- package/dist/components/xpl-breadcrumb-item.js +1 -1
- package/dist/components/xpl-breadcrumbs.js +1 -1
- package/dist/components/xpl-button-row.js +1 -1
- package/dist/components/xpl-button.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox.js +1 -1
- package/dist/components/xpl-choicelist.js +1 -1
- package/dist/components/xpl-content-area.js +1 -1
- package/dist/components/xpl-dashboard.js +1 -1
- package/dist/components/xpl-data-card.js +1 -1
- package/dist/components/xpl-divider.js +1 -1
- package/dist/components/xpl-dropdown-group.js +1 -1
- package/dist/components/xpl-dropdown-heading.js +1 -1
- package/dist/components/xpl-dropdown-option.js +1 -1
- package/dist/components/xpl-dropdown.js +1 -1
- package/dist/components/xpl-dynamic-table-cell.js +1 -1
- package/dist/components/xpl-dynamic-table-row.js +1 -1
- package/dist/components/xpl-dynamic-table.js +1 -1
- package/dist/components/xpl-grid-item.js +1 -1
- package/dist/components/xpl-grid.js +1 -1
- package/dist/components/xpl-header-accordion.js +1 -1
- package/dist/components/xpl-icon.js +1 -1
- package/dist/components/xpl-input-color.js +1 -1
- package/dist/components/xpl-input-date.js +1 -1
- package/dist/components/xpl-input-file.js +1 -1
- package/dist/components/xpl-input-phone.js +1 -1
- package/dist/components/xpl-input-search.js +1 -1
- package/dist/components/xpl-input-time.js +1 -1
- package/dist/components/xpl-input.js +1 -1
- package/dist/components/xpl-large-card.js +1 -1
- package/dist/components/xpl-list-item.js +1 -1
- package/dist/components/xpl-list.js +1 -1
- package/dist/components/xpl-main-nav.js +1 -1
- package/dist/components/xpl-modal.js +1 -1
- package/dist/components/xpl-nav-header-menu.js +1 -1
- package/dist/components/xpl-nav-item.js +1 -1
- package/dist/components/xpl-pagination.js +1 -1
- package/dist/components/xpl-panel.js +1 -1
- package/dist/components/xpl-popover.js +1 -1
- package/dist/components/xpl-progress-bar.js +1 -1
- package/dist/components/xpl-progress-indicator.js +1 -1
- package/dist/components/xpl-radio.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select.js +1 -1
- package/dist/components/xpl-side-nav-item.js +1 -1
- package/dist/components/xpl-side-nav.js +1 -1
- package/dist/components/xpl-skeleton.js +1 -1
- package/dist/components/xpl-slideout.js +1 -1
- package/dist/components/xpl-spotlight.js +1 -1
- package/dist/components/xpl-tab-panel.js +1 -1
- package/dist/components/xpl-tab.js +1 -1
- package/dist/components/xpl-table-header-cell.js +1 -1
- package/dist/components/xpl-table-header.js +1 -1
- package/dist/components/xpl-table.js +1 -1
- package/dist/components/xpl-tabs.js +1 -1
- package/dist/components/xpl-tag.js +1 -1
- package/dist/components/xpl-toast.js +1 -1
- package/dist/components/xpl-toggle.js +1 -1
- package/dist/components/xpl-toolbar.js +1 -1
- package/dist/components/xpl-tooltip.js +1 -1
- package/dist/components/xpl-top-nav-item.js +1 -1
- package/dist/components/xpl-top-nav.js +1 -1
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/docs/xpl-backdrop/readme.md +2 -0
- package/dist/docs/xpl-badge/readme.md +34 -0
- package/dist/docs/xpl-button/readme.md +2 -0
- package/dist/docs/xpl-button-row/readme.md +13 -0
- package/dist/docs/xpl-checkbox/readme.md +23 -1
- package/dist/docs/xpl-divider/readme.md +22 -4
- package/dist/docs/xpl-input/readme.md +51 -0
- package/dist/docs/xpl-input/xpl-input-date/readme.md +7 -0
- package/dist/docs/xpl-input/xpl-input-phone/readme.md +21 -0
- package/dist/docs/xpl-popover/readme.md +24 -0
- package/dist/docs/xpl-radio/readme.md +21 -4
- package/dist/docs/xpl-side-nav/readme.md +153 -5
- package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +165 -32
- package/dist/docs/xpl-table/readme.md +2 -0
- package/dist/docs/xpl-tooltip/readme.md +29 -1
- package/dist/esm/apollo-core.js +4 -4
- package/dist/esm/{index-C7bgJs6C.js → index-CXkZUm1c.js} +36 -9
- package/dist/esm/loader.js +3 -3
- package/dist/esm/v4-CK3_k8jD.js +50 -0
- package/dist/esm/xpl-accordion.entry.js +3 -3
- package/dist/esm/xpl-application-shell.entry.js +2 -2
- package/dist/esm/xpl-avatar_54.entry.js +700 -176
- package/dist/esm/xpl-button-row.entry.js +2 -2
- package/dist/esm/xpl-calendar.entry.js +3 -3
- package/dist/esm/xpl-dynamic-table-cell.entry.js +3 -3
- package/dist/esm/xpl-dynamic-table-row.entry.js +3 -3
- package/dist/esm/xpl-dynamic-table.entry.js +2 -2
- package/dist/esm/xpl-grid-item.entry.js +2 -2
- package/dist/esm/xpl-grid.entry.js +2 -2
- package/dist/esm/xpl-large-card.entry.js +2 -2
- package/dist/esm/xpl-main-nav.entry.js +2 -2
- package/dist/esm/xpl-table-header-cell.entry.js +1 -1
- package/dist/esm/xpl-table-header.entry.js +2 -2
- package/dist/esm/xpl-toggle.entry.js +5 -5
- package/dist/esm/xpl-toolbar.entry.js +3 -3
- package/dist/types/components/xpl-banner/banner.stories.d.ts +2 -0
- package/dist/types/components/xpl-button/button.stories.d.ts +2 -0
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +16 -0
- package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +1 -0
- package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +4 -0
- package/dist/types/components/xpl-radio/radio.stories.d.ts +11 -10
- package/dist/types/components/xpl-side-nav/side-nav-constants.d.ts +2 -0
- package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +53 -32
- package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +10 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +31 -0
- package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
- package/dist/types/components.d.ts +223 -20
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/package.json +33 -24
- package/dist/apollo-core/p-0bf50890.entry.js +0 -1
- package/dist/apollo-core/p-1947e7a8.entry.js +0 -1
- package/dist/apollo-core/p-27928cb0.entry.js +0 -1
- package/dist/apollo-core/p-34438721.entry.js +0 -1
- package/dist/apollo-core/p-35c2f72d.entry.js +0 -1
- package/dist/apollo-core/p-368c81f1.entry.js +0 -1
- package/dist/apollo-core/p-3bb14840.entry.js +0 -1
- package/dist/apollo-core/p-406b27a8.entry.js +0 -1
- package/dist/apollo-core/p-5d63b4ce.entry.js +0 -1
- package/dist/apollo-core/p-8d692d05.entry.js +0 -1
- package/dist/apollo-core/p-C7bgJs6C.js +0 -2
- package/dist/apollo-core/p-Cqlsd6nf.js +0 -1
- package/dist/apollo-core/p-cd56a3d5.entry.js +0 -1
- package/dist/apollo-core/p-dc205893.entry.js +0 -1
- package/dist/cjs/v4-D4KzFnn8.js +0 -67
- package/dist/components/index3.js +0 -1
- package/dist/components/v4.js +0 -1
- package/dist/components/xpl-avatar2.js +0 -1
- package/dist/components/xpl-backdrop2.js +0 -1
- package/dist/components/xpl-badge2.js +0 -1
- package/dist/components/xpl-button2.js +0 -1
- package/dist/components/xpl-checkbox2.js +0 -1
- package/dist/components/xpl-divider2.js +0 -1
- package/dist/components/xpl-dropdown-group2.js +0 -1
- package/dist/components/xpl-dropdown-heading2.js +0 -1
- package/dist/components/xpl-dropdown-option2.js +0 -1
- package/dist/components/xpl-dropdown2.js +0 -1
- package/dist/components/xpl-icon2.js +0 -1
- package/dist/components/xpl-input-date2.js +0 -1
- package/dist/components/xpl-input2.js +0 -1
- package/dist/components/xpl-list-item2.js +0 -1
- package/dist/components/xpl-popover2.js +0 -1
- package/dist/components/xpl-radio2.js +0 -1
- package/dist/components/xpl-select2.js +0 -1
- package/dist/components/xpl-tooltip2.js +0 -1
- package/dist/esm/v4-Cqlsd6nf.js +0 -65
- /package/dist/components/{_commonjsHelpers.js → p-BFTU3MAI.js} +0 -0
- /package/dist/components/{index2.js → p-CH4yJ6Qx.js} +0 -0
- /package/dist/components/{tab-a11y-ids.js → p-Yj_QFaRn.js} +0 -0
- /package/dist/{index.cjs.js → index.cjs} +0 -0
- /package/loader/{cdn.js → cdn.cjs} +0 -0
- /package/loader/{index.cjs.js → index.cjs} +0 -0
|
@@ -382,7 +382,7 @@ export namespace Components {
|
|
|
382
382
|
*/
|
|
383
383
|
"styled"?: boolean;
|
|
384
384
|
/**
|
|
385
|
-
* The value attribute for the checkbox input. (
|
|
385
|
+
* The value attribute for the checkbox input. (submitted in form as name/value pair)
|
|
386
386
|
*/
|
|
387
387
|
"value"?: string;
|
|
388
388
|
}
|
|
@@ -969,6 +969,10 @@ export namespace Components {
|
|
|
969
969
|
* Whether the field is disabled
|
|
970
970
|
*/
|
|
971
971
|
"disabled"?: boolean;
|
|
972
|
+
/**
|
|
973
|
+
* Whether the field is in an error state. When true, the input renders with the error border styling. The error message itself is owned by the parent `xpl-input` wrapper.
|
|
974
|
+
*/
|
|
975
|
+
"error"?: boolean;
|
|
972
976
|
/**
|
|
973
977
|
* The `inputId` is used to associate the input with a label.
|
|
974
978
|
*/
|
|
@@ -1523,48 +1527,100 @@ export namespace Components {
|
|
|
1523
1527
|
*/
|
|
1524
1528
|
"truncate"?: boolean;
|
|
1525
1529
|
}
|
|
1530
|
+
/**
|
|
1531
|
+
* Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
|
|
1532
|
+
* `nav-footer`. Compose with `xpl-side-nav-item` for rows.
|
|
1533
|
+
* **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
|
|
1534
|
+
* ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
|
|
1535
|
+
* Activating the toggle opens a drawer containing the `section` + `nav-footer`
|
|
1536
|
+
* content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
|
|
1537
|
+
* Escape or a backdrop click closes it and returns focus to the toggle. Above
|
|
1538
|
+
* `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
|
|
1539
|
+
* The toggle is always rendered (no gating prop) and hidden above the breakpoint
|
|
1540
|
+
* in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
|
|
1541
|
+
* the `openChange` event, and the `toggle()` / `setOpen()` methods.
|
|
1542
|
+
* **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
|
|
1543
|
+
* around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
|
|
1544
|
+
*/
|
|
1526
1545
|
interface XplSideNav {
|
|
1527
1546
|
/**
|
|
1528
1547
|
* Accessible label for the navigation landmark. Maps to `aria-label` on the `<nav>` element. Recommended when multiple navigation landmarks exist on a page (e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them.
|
|
1529
1548
|
*/
|
|
1530
1549
|
"label"?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* Whether the mobile drawer is open. Reflected to the `open` attribute so CSS and host state stay in sync. Controlled (consumer owns `open`) or uncontrolled (built-in toggle flips it). Has no visible effect above the `md` breakpoint, where the sidebar always renders inline.
|
|
1552
|
+
* @default false
|
|
1553
|
+
*/
|
|
1554
|
+
"open": boolean;
|
|
1555
|
+
/**
|
|
1556
|
+
* Programmatically set the mobile drawer open state. Emits `openChange` when it changes.
|
|
1557
|
+
*/
|
|
1558
|
+
"setOpen": (open: boolean) => Promise<void>;
|
|
1559
|
+
/**
|
|
1560
|
+
* Programmatically toggle the mobile drawer open/closed. Emits `openChange`.
|
|
1561
|
+
*/
|
|
1562
|
+
"toggle": () => Promise<void>;
|
|
1531
1563
|
}
|
|
1564
|
+
/**
|
|
1565
|
+
* Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
|
|
1566
|
+
* anchor container (`link` mode). Three slot positions are available:
|
|
1567
|
+
* - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
|
|
1568
|
+
* The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
|
|
1569
|
+
* when no slotted `leading` content is present.
|
|
1570
|
+
* - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
|
|
1571
|
+
* When `has-children` is true and no `trailing` slot content is provided, an
|
|
1572
|
+
* auto chevron is rendered automatically in this position: `chevron-down` when
|
|
1573
|
+
* collapsed, `chevron-up` when expanded.
|
|
1574
|
+
* - default slot — nested `xpl-side-nav-item` children (expandable parents only).
|
|
1575
|
+
* **v2 breaking changes (beta):**
|
|
1576
|
+
* - `slot="icon"` renamed to `slot="leading"` — no alias kept.
|
|
1577
|
+
* - Parent rows (`has-children`) now render the leading icon alongside the chevron.
|
|
1578
|
+
* Previously parents showed chevron + label only (no leading icon).
|
|
1579
|
+
* - The chevron has moved from the leading position to the trailing position.
|
|
1580
|
+
* - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
|
|
1581
|
+
* **Migration:**
|
|
1582
|
+
* | Before (v1) | After (v2) | Action |
|
|
1583
|
+
* |---|---|---|
|
|
1584
|
+
* | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
|
|
1585
|
+
* | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
|
|
1586
|
+
* | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
|
|
1587
|
+
*/
|
|
1532
1588
|
interface XplSideNavItem {
|
|
1533
1589
|
/**
|
|
1534
|
-
* Whether the
|
|
1590
|
+
* Whether the item is currently disabled.
|
|
1535
1591
|
* @default false
|
|
1536
1592
|
*/
|
|
1537
1593
|
"disabled": boolean;
|
|
1538
1594
|
/**
|
|
1539
|
-
* Whether the item is currently expanded (only applies when
|
|
1595
|
+
* Whether the item is currently expanded (only applies when `has-children` is true).
|
|
1540
1596
|
* @default false
|
|
1541
1597
|
*/
|
|
1542
1598
|
"expanded": boolean;
|
|
1543
1599
|
/**
|
|
1544
|
-
* Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with
|
|
1600
|
+
* Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with `link`. If `link` is already true, setting `has-children` is reverted.
|
|
1545
1601
|
* @default false
|
|
1546
1602
|
*/
|
|
1547
1603
|
"hasChildren": boolean;
|
|
1548
1604
|
/**
|
|
1549
|
-
* Whether the component is hidden
|
|
1605
|
+
* Whether the component is hidden.
|
|
1550
1606
|
* @default false
|
|
1551
1607
|
*/
|
|
1552
1608
|
"hidden": boolean;
|
|
1553
1609
|
/**
|
|
1554
|
-
* Optional icon name; default content for
|
|
1610
|
+
* Optional icon name; renders as the default content for `slot="leading"`. When `slot="leading"` content is present, this prop is ignored. In v2, this prop applies to all item types including parent rows (`has-children`).
|
|
1555
1611
|
*/
|
|
1556
1612
|
"icon"?: string;
|
|
1557
1613
|
/**
|
|
1558
|
-
* The display label for the navigation item (button / expandable rows; omit in
|
|
1614
|
+
* The display label for the navigation item (button / expandable rows; omit in `link` mode).
|
|
1559
1615
|
*/
|
|
1560
1616
|
"label"?: string;
|
|
1561
1617
|
/**
|
|
1562
|
-
* When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode,
|
|
1618
|
+
* When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, `label` and `icon` props should not be used. Link mode does not support `has-children`; use the default button mode for expandable items. When `link` is true, `hasChildren` is always false.
|
|
1563
1619
|
* @default false
|
|
1564
1620
|
*/
|
|
1565
1621
|
"link": boolean;
|
|
1566
1622
|
/**
|
|
1567
|
-
* Whether the item is currently in a selected state
|
|
1623
|
+
* Whether the item is currently in a selected state.
|
|
1568
1624
|
* @default false
|
|
1569
1625
|
*/
|
|
1570
1626
|
"selected": boolean;
|
|
@@ -2160,6 +2216,10 @@ export interface XplSelectCustomEvent<T> extends CustomEvent<T> {
|
|
|
2160
2216
|
detail: T;
|
|
2161
2217
|
target: HTMLXplSelectElement;
|
|
2162
2218
|
}
|
|
2219
|
+
export interface XplSideNavCustomEvent<T> extends CustomEvent<T> {
|
|
2220
|
+
detail: T;
|
|
2221
|
+
target: HTMLXplSideNavElement;
|
|
2222
|
+
}
|
|
2163
2223
|
export interface XplSideNavItemCustomEvent<T> extends CustomEvent<T> {
|
|
2164
2224
|
detail: T;
|
|
2165
2225
|
target: HTMLXplSideNavItemElement;
|
|
@@ -2819,7 +2879,33 @@ declare global {
|
|
|
2819
2879
|
prototype: HTMLXplSelectElement;
|
|
2820
2880
|
new (): HTMLXplSelectElement;
|
|
2821
2881
|
};
|
|
2882
|
+
interface HTMLXplSideNavElementEventMap {
|
|
2883
|
+
"openChange": boolean;
|
|
2884
|
+
}
|
|
2885
|
+
/**
|
|
2886
|
+
* Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
|
|
2887
|
+
* `nav-footer`. Compose with `xpl-side-nav-item` for rows.
|
|
2888
|
+
* **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
|
|
2889
|
+
* ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
|
|
2890
|
+
* Activating the toggle opens a drawer containing the `section` + `nav-footer`
|
|
2891
|
+
* content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
|
|
2892
|
+
* Escape or a backdrop click closes it and returns focus to the toggle. Above
|
|
2893
|
+
* `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
|
|
2894
|
+
* The toggle is always rendered (no gating prop) and hidden above the breakpoint
|
|
2895
|
+
* in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
|
|
2896
|
+
* the `openChange` event, and the `toggle()` / `setOpen()` methods.
|
|
2897
|
+
* **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
|
|
2898
|
+
* around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
|
|
2899
|
+
*/
|
|
2822
2900
|
interface HTMLXplSideNavElement extends Components.XplSideNav, HTMLStencilElement {
|
|
2901
|
+
addEventListener<K extends keyof HTMLXplSideNavElementEventMap>(type: K, listener: (this: HTMLXplSideNavElement, ev: XplSideNavCustomEvent<HTMLXplSideNavElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2902
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2903
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2904
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
2905
|
+
removeEventListener<K extends keyof HTMLXplSideNavElementEventMap>(type: K, listener: (this: HTMLXplSideNavElement, ev: XplSideNavCustomEvent<HTMLXplSideNavElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
2906
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2907
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
2908
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
2823
2909
|
}
|
|
2824
2910
|
var HTMLXplSideNavElement: {
|
|
2825
2911
|
prototype: HTMLXplSideNavElement;
|
|
@@ -2829,6 +2915,30 @@ declare global {
|
|
|
2829
2915
|
"expandedChange": boolean;
|
|
2830
2916
|
"navClick": void;
|
|
2831
2917
|
}
|
|
2918
|
+
/**
|
|
2919
|
+
* Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
|
|
2920
|
+
* anchor container (`link` mode). Three slot positions are available:
|
|
2921
|
+
* - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
|
|
2922
|
+
* The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
|
|
2923
|
+
* when no slotted `leading` content is present.
|
|
2924
|
+
* - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
|
|
2925
|
+
* When `has-children` is true and no `trailing` slot content is provided, an
|
|
2926
|
+
* auto chevron is rendered automatically in this position: `chevron-down` when
|
|
2927
|
+
* collapsed, `chevron-up` when expanded.
|
|
2928
|
+
* - default slot — nested `xpl-side-nav-item` children (expandable parents only).
|
|
2929
|
+
* **v2 breaking changes (beta):**
|
|
2930
|
+
* - `slot="icon"` renamed to `slot="leading"` — no alias kept.
|
|
2931
|
+
* - Parent rows (`has-children`) now render the leading icon alongside the chevron.
|
|
2932
|
+
* Previously parents showed chevron + label only (no leading icon).
|
|
2933
|
+
* - The chevron has moved from the leading position to the trailing position.
|
|
2934
|
+
* - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
|
|
2935
|
+
* **Migration:**
|
|
2936
|
+
* | Before (v1) | After (v2) | Action |
|
|
2937
|
+
* |---|---|---|
|
|
2938
|
+
* | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
|
|
2939
|
+
* | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
|
|
2940
|
+
* | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
|
|
2941
|
+
*/
|
|
2832
2942
|
interface HTMLXplSideNavItemElement extends Components.XplSideNavItem, HTMLStencilElement {
|
|
2833
2943
|
addEventListener<K extends keyof HTMLXplSideNavItemElementEventMap>(type: K, listener: (this: HTMLXplSideNavItemElement, ev: XplSideNavItemCustomEvent<HTMLXplSideNavItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2834
2944
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -3570,7 +3680,7 @@ declare namespace LocalJSX {
|
|
|
3570
3680
|
*/
|
|
3571
3681
|
"styled"?: boolean;
|
|
3572
3682
|
/**
|
|
3573
|
-
* The value attribute for the checkbox input. (
|
|
3683
|
+
* The value attribute for the checkbox input. (submitted in form as name/value pair)
|
|
3574
3684
|
*/
|
|
3575
3685
|
"value"?: string;
|
|
3576
3686
|
}
|
|
@@ -4207,6 +4317,10 @@ declare namespace LocalJSX {
|
|
|
4207
4317
|
* Whether the field is disabled
|
|
4208
4318
|
*/
|
|
4209
4319
|
"disabled"?: boolean;
|
|
4320
|
+
/**
|
|
4321
|
+
* Whether the field is in an error state. When true, the input renders with the error border styling. The error message itself is owned by the parent `xpl-input` wrapper.
|
|
4322
|
+
*/
|
|
4323
|
+
"error"?: boolean;
|
|
4210
4324
|
/**
|
|
4211
4325
|
* The `inputId` is used to associate the input with a label.
|
|
4212
4326
|
*/
|
|
@@ -4856,56 +4970,104 @@ declare namespace LocalJSX {
|
|
|
4856
4970
|
*/
|
|
4857
4971
|
"truncate"?: boolean;
|
|
4858
4972
|
}
|
|
4973
|
+
/**
|
|
4974
|
+
* Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
|
|
4975
|
+
* `nav-footer`. Compose with `xpl-side-nav-item` for rows.
|
|
4976
|
+
* **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
|
|
4977
|
+
* ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
|
|
4978
|
+
* Activating the toggle opens a drawer containing the `section` + `nav-footer`
|
|
4979
|
+
* content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
|
|
4980
|
+
* Escape or a backdrop click closes it and returns focus to the toggle. Above
|
|
4981
|
+
* `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
|
|
4982
|
+
* The toggle is always rendered (no gating prop) and hidden above the breakpoint
|
|
4983
|
+
* in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
|
|
4984
|
+
* the `openChange` event, and the `toggle()` / `setOpen()` methods.
|
|
4985
|
+
* **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
|
|
4986
|
+
* around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
|
|
4987
|
+
*/
|
|
4859
4988
|
interface XplSideNav {
|
|
4860
4989
|
/**
|
|
4861
4990
|
* Accessible label for the navigation landmark. Maps to `aria-label` on the `<nav>` element. Recommended when multiple navigation landmarks exist on a page (e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them.
|
|
4862
4991
|
*/
|
|
4863
4992
|
"label"?: string;
|
|
4993
|
+
/**
|
|
4994
|
+
* Emitted when the mobile drawer open state changes: toggle activation, Escape, or a backdrop click. Detail is the new open state (`true` = open, `false` = closed).
|
|
4995
|
+
*/
|
|
4996
|
+
"onOpenChange"?: (event: XplSideNavCustomEvent<boolean>) => void;
|
|
4997
|
+
/**
|
|
4998
|
+
* Whether the mobile drawer is open. Reflected to the `open` attribute so CSS and host state stay in sync. Controlled (consumer owns `open`) or uncontrolled (built-in toggle flips it). Has no visible effect above the `md` breakpoint, where the sidebar always renders inline.
|
|
4999
|
+
* @default false
|
|
5000
|
+
*/
|
|
5001
|
+
"open"?: boolean;
|
|
4864
5002
|
}
|
|
5003
|
+
/**
|
|
5004
|
+
* Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
|
|
5005
|
+
* anchor container (`link` mode). Three slot positions are available:
|
|
5006
|
+
* - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
|
|
5007
|
+
* The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
|
|
5008
|
+
* when no slotted `leading` content is present.
|
|
5009
|
+
* - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
|
|
5010
|
+
* When `has-children` is true and no `trailing` slot content is provided, an
|
|
5011
|
+
* auto chevron is rendered automatically in this position: `chevron-down` when
|
|
5012
|
+
* collapsed, `chevron-up` when expanded.
|
|
5013
|
+
* - default slot — nested `xpl-side-nav-item` children (expandable parents only).
|
|
5014
|
+
* **v2 breaking changes (beta):**
|
|
5015
|
+
* - `slot="icon"` renamed to `slot="leading"` — no alias kept.
|
|
5016
|
+
* - Parent rows (`has-children`) now render the leading icon alongside the chevron.
|
|
5017
|
+
* Previously parents showed chevron + label only (no leading icon).
|
|
5018
|
+
* - The chevron has moved from the leading position to the trailing position.
|
|
5019
|
+
* - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
|
|
5020
|
+
* **Migration:**
|
|
5021
|
+
* | Before (v1) | After (v2) | Action |
|
|
5022
|
+
* |---|---|---|
|
|
5023
|
+
* | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
|
|
5024
|
+
* | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
|
|
5025
|
+
* | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
|
|
5026
|
+
*/
|
|
4865
5027
|
interface XplSideNavItem {
|
|
4866
5028
|
/**
|
|
4867
|
-
* Whether the
|
|
5029
|
+
* Whether the item is currently disabled.
|
|
4868
5030
|
* @default false
|
|
4869
5031
|
*/
|
|
4870
5032
|
"disabled"?: boolean;
|
|
4871
5033
|
/**
|
|
4872
|
-
* Whether the item is currently expanded (only applies when
|
|
5034
|
+
* Whether the item is currently expanded (only applies when `has-children` is true).
|
|
4873
5035
|
* @default false
|
|
4874
5036
|
*/
|
|
4875
5037
|
"expanded"?: boolean;
|
|
4876
5038
|
/**
|
|
4877
|
-
* Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with
|
|
5039
|
+
* Whether the item has child items; when true, shows expand/collapse and a default slot for nested items. Mutually exclusive with `link`. If `link` is already true, setting `has-children` is reverted.
|
|
4878
5040
|
* @default false
|
|
4879
5041
|
*/
|
|
4880
5042
|
"hasChildren"?: boolean;
|
|
4881
5043
|
/**
|
|
4882
|
-
* Whether the component is hidden
|
|
5044
|
+
* Whether the component is hidden.
|
|
4883
5045
|
* @default false
|
|
4884
5046
|
*/
|
|
4885
5047
|
"hidden"?: boolean;
|
|
4886
5048
|
/**
|
|
4887
|
-
* Optional icon name; default content for
|
|
5049
|
+
* Optional icon name; renders as the default content for `slot="leading"`. When `slot="leading"` content is present, this prop is ignored. In v2, this prop applies to all item types including parent rows (`has-children`).
|
|
4888
5050
|
*/
|
|
4889
5051
|
"icon"?: string;
|
|
4890
5052
|
/**
|
|
4891
|
-
* The display label for the navigation item (button / expandable rows; omit in
|
|
5053
|
+
* The display label for the navigation item (button / expandable rows; omit in `link` mode).
|
|
4892
5054
|
*/
|
|
4893
5055
|
"label"?: string;
|
|
4894
5056
|
/**
|
|
4895
|
-
* When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode,
|
|
5057
|
+
* When true, the row becomes a slot-only container for consumer-provided links. The consumer provides the full anchor element (or router link) via the default slot. In link mode, `label` and `icon` props should not be used. Link mode does not support `has-children`; use the default button mode for expandable items. When `link` is true, `hasChildren` is always false.
|
|
4896
5058
|
* @default false
|
|
4897
5059
|
*/
|
|
4898
5060
|
"link"?: boolean;
|
|
4899
5061
|
/**
|
|
4900
|
-
* Emitted when the expanded state changes (
|
|
5062
|
+
* Emitted when the expanded state changes (`has-children` items only). Detail is the new expanded value.
|
|
4901
5063
|
*/
|
|
4902
5064
|
"onExpandedChange"?: (event: XplSideNavItemCustomEvent<boolean>) => void;
|
|
4903
5065
|
/**
|
|
4904
|
-
* Emitted when a leaf item is clicked. Expandable parents use expandedChange instead.
|
|
5066
|
+
* Emitted when a leaf item is clicked. Expandable parents use `expandedChange` instead.
|
|
4905
5067
|
*/
|
|
4906
5068
|
"onNavClick"?: (event: XplSideNavItemCustomEvent<void>) => void;
|
|
4907
5069
|
/**
|
|
4908
|
-
* Whether the item is currently in a selected state
|
|
5070
|
+
* Whether the item is currently in a selected state.
|
|
4909
5071
|
* @default false
|
|
4910
5072
|
*/
|
|
4911
5073
|
"selected"?: boolean;
|
|
@@ -5714,6 +5876,7 @@ declare namespace LocalJSX {
|
|
|
5714
5876
|
interface XplInputPhoneAttributes {
|
|
5715
5877
|
"defaultCountry": string;
|
|
5716
5878
|
"disabled": boolean;
|
|
5879
|
+
"error": boolean;
|
|
5717
5880
|
"inputId": string;
|
|
5718
5881
|
"isInternational": boolean;
|
|
5719
5882
|
"name": string;
|
|
@@ -5850,6 +6013,7 @@ declare namespace LocalJSX {
|
|
|
5850
6013
|
}
|
|
5851
6014
|
interface XplSideNavAttributes {
|
|
5852
6015
|
"label": string;
|
|
6016
|
+
"open": boolean;
|
|
5853
6017
|
}
|
|
5854
6018
|
interface XplSideNavItemAttributes {
|
|
5855
6019
|
"disabled": boolean;
|
|
@@ -6140,7 +6304,46 @@ declare module "@stencil/core" {
|
|
|
6140
6304
|
"xpl-radio": LocalJSX.IntrinsicElements["xpl-radio"] & JSXBase.HTMLAttributes<HTMLXplRadioElement>;
|
|
6141
6305
|
"xpl-secondary-nav": LocalJSX.IntrinsicElements["xpl-secondary-nav"] & JSXBase.HTMLAttributes<HTMLXplSecondaryNavElement>;
|
|
6142
6306
|
"xpl-select": LocalJSX.IntrinsicElements["xpl-select"] & JSXBase.HTMLAttributes<HTMLXplSelectElement>;
|
|
6307
|
+
/**
|
|
6308
|
+
* Slot-based sidebar for app navigation: a scrollable main `section` and a fixed
|
|
6309
|
+
* `nav-footer`. Compose with `xpl-side-nav-item` for rows.
|
|
6310
|
+
* **Mobile (v2):** below the Tailwind `md` breakpoint, the sidebar collapses to a
|
|
6311
|
+
* ~56px top bar with a toggle button (`sidebar-left-show` / `sidebar-left-hide`).
|
|
6312
|
+
* Activating the toggle opens a drawer containing the `section` + `nav-footer`
|
|
6313
|
+
* content behind an `xpl-backdrop` scrim. The drawer traps focus while open;
|
|
6314
|
+
* Escape or a backdrop click closes it and returns focus to the toggle. Above
|
|
6315
|
+
* `md` the toggle and backdrop are hidden via CSS and the sidebar renders inline.
|
|
6316
|
+
* The toggle is always rendered (no gating prop) and hidden above the breakpoint
|
|
6317
|
+
* in CSS. Open state is exposed via the `open` prop (controlled or uncontrolled),
|
|
6318
|
+
* the `openChange` event, and the `toggle()` / `setOpen()` methods.
|
|
6319
|
+
* **v2 breaking change (beta):** consumers who wrapped their own mobile toggle
|
|
6320
|
+
* around `xpl-side-nav` should remove it — the toggle and drawer are now built in.
|
|
6321
|
+
*/
|
|
6143
6322
|
"xpl-side-nav": LocalJSX.IntrinsicElements["xpl-side-nav"] & JSXBase.HTMLAttributes<HTMLXplSideNavElement>;
|
|
6323
|
+
/**
|
|
6324
|
+
* Navigation row for `xpl-side-nav`. Renders a button (default) or a slot-only
|
|
6325
|
+
* anchor container (`link` mode). Three slot positions are available:
|
|
6326
|
+
* - `slot="leading"` — leading icon column (renamed from `slot="icon"` in v2).
|
|
6327
|
+
* The `icon` prop is a convenience shorthand that renders an `xpl-icon` here
|
|
6328
|
+
* when no slotted `leading` content is present.
|
|
6329
|
+
* - `slot="trailing"` — trailing content (e.g. `xpl-icon icon="external-link"`).
|
|
6330
|
+
* When `has-children` is true and no `trailing` slot content is provided, an
|
|
6331
|
+
* auto chevron is rendered automatically in this position: `chevron-down` when
|
|
6332
|
+
* collapsed, `chevron-up` when expanded.
|
|
6333
|
+
* - default slot — nested `xpl-side-nav-item` children (expandable parents only).
|
|
6334
|
+
* **v2 breaking changes (beta):**
|
|
6335
|
+
* - `slot="icon"` renamed to `slot="leading"` — no alias kept.
|
|
6336
|
+
* - Parent rows (`has-children`) now render the leading icon alongside the chevron.
|
|
6337
|
+
* Previously parents showed chevron + label only (no leading icon).
|
|
6338
|
+
* - The chevron has moved from the leading position to the trailing position.
|
|
6339
|
+
* - A slotted `slot="trailing"` replaces the auto chevron on parent rows.
|
|
6340
|
+
* **Migration:**
|
|
6341
|
+
* | Before (v1) | After (v2) | Action |
|
|
6342
|
+
* |---|---|---|
|
|
6343
|
+
* | `slot="icon"` | `slot="leading"` | Rename the slot attribute |
|
|
6344
|
+
* | Parent row: chevron only (no leading) | Parent row: leading icon + chevron | Pass `icon` prop or `slot="leading"` |
|
|
6345
|
+
* | (no trailing slot) | `slot="trailing"` | Add for custom trailing content |
|
|
6346
|
+
*/
|
|
6144
6347
|
"xpl-side-nav-item": LocalJSX.IntrinsicElements["xpl-side-nav-item"] & JSXBase.HTMLAttributes<HTMLXplSideNavItemElement>;
|
|
6145
6348
|
"xpl-skeleton": LocalJSX.IntrinsicElements["xpl-skeleton"] & JSXBase.HTMLAttributes<HTMLXplSkeletonElement>;
|
|
6146
6349
|
"xpl-slideout": LocalJSX.IntrinsicElements["xpl-slideout"] & JSXBase.HTMLAttributes<HTMLXplSlideoutElement>;
|
|
@@ -1070,6 +1070,7 @@ export declare namespace JSXBase {
|
|
|
1070
1070
|
importance?: 'low' | 'auto' | 'high';
|
|
1071
1071
|
height?: number | string;
|
|
1072
1072
|
loading?: 'lazy' | 'auto' | 'eager';
|
|
1073
|
+
referrerPolicy?: ReferrerPolicy;
|
|
1073
1074
|
sizes?: string;
|
|
1074
1075
|
src?: string;
|
|
1075
1076
|
srcSet?: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xplortech/apollo-core",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"
|
|
3
|
+
"version": "2.10.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.cjs",
|
|
5
6
|
"module": "dist/index.js",
|
|
6
7
|
"types": "dist/types/components.d.ts",
|
|
7
8
|
"collection": "dist/collection/collection-manifest.json",
|
|
@@ -10,13 +11,13 @@
|
|
|
10
11
|
".": {
|
|
11
12
|
"types": "./dist/types/components.d.ts",
|
|
12
13
|
"import": "./dist/index.js",
|
|
13
|
-
"require": "./dist/index.cjs
|
|
14
|
+
"require": "./dist/index.cjs",
|
|
14
15
|
"default": "./dist/index.js"
|
|
15
16
|
},
|
|
16
17
|
"./loader": {
|
|
17
18
|
"types": "./loader/index.d.ts",
|
|
18
19
|
"import": "./loader/index.js",
|
|
19
|
-
"require": "./loader/index.cjs
|
|
20
|
+
"require": "./loader/index.cjs"
|
|
20
21
|
},
|
|
21
22
|
"./components": {
|
|
22
23
|
"types": "./dist/components/index.d.ts",
|
|
@@ -27,7 +28,10 @@
|
|
|
27
28
|
"import": "./dist/components/*.js"
|
|
28
29
|
},
|
|
29
30
|
"./css/*": "./build/*.css",
|
|
30
|
-
"./dist/*":
|
|
31
|
+
"./dist/*": {
|
|
32
|
+
"import": "./dist/*",
|
|
33
|
+
"types": "./dist/*"
|
|
34
|
+
},
|
|
31
35
|
"./loader/*": "./loader/*"
|
|
32
36
|
},
|
|
33
37
|
"repository": {
|
|
@@ -58,7 +62,7 @@
|
|
|
58
62
|
"*.css",
|
|
59
63
|
"./loader/*",
|
|
60
64
|
"./dist/index.js",
|
|
61
|
-
"./dist/index.cjs
|
|
65
|
+
"./dist/index.cjs",
|
|
62
66
|
"./dist/esm/loader.js",
|
|
63
67
|
"./dist/cjs/loader.cjs.js"
|
|
64
68
|
],
|
|
@@ -70,24 +74,27 @@
|
|
|
70
74
|
"build-partial:css.storybook": "cp -r build/ .storybook/build",
|
|
71
75
|
"build-partial:css.vue": "cp build/style.css ../apollo-vue/css/apollo.css",
|
|
72
76
|
"build:stencil": "node ../../scripts/generate-icon-docs.mjs && stencil build --docs --prod && cp -r dist .storybook && cp -r loader .storybook && node .storybook/patch-stencil-sourcemaps.mjs",
|
|
73
|
-
"postbuild": "node ../../scripts/copy-readmes-to-dist.mjs",
|
|
77
|
+
"postbuild": "node ../../scripts/copy-readmes-to-dist.mjs && node ../../scripts/finalize-apollo-core-cjs.mjs",
|
|
74
78
|
"clean": "rm -rf dist/ loader/ storybook-static/ www/ build/ src/components/components.d.ts",
|
|
75
79
|
"dev": "run-p dev:*",
|
|
76
80
|
"dev:css": "postcss src/style.css -o build/style.css -w",
|
|
77
81
|
"dev:stencil": "stencil build --dev --watch --serve",
|
|
78
|
-
"lint": "npm-run-all lint:*",
|
|
79
82
|
"lint:css": "stylelint 'src/**/*.css'",
|
|
83
|
+
"lint:css:ci": "stylelint 'src/**/*.css' -q",
|
|
80
84
|
"test:stylelint": "node --test stylelint/patterns.test.mjs",
|
|
81
85
|
"stylelint:check-legacy": "node stylelint/check-legacy-files.mjs",
|
|
86
|
+
"lint": "npm-run-all lint:ts lint:css:ci lint:html lint:js lint:prettier-css test:stylelint",
|
|
82
87
|
"lint:ts": "eslint src/components/**/*{.ts,.tsx} --no-warn-ignored",
|
|
83
88
|
"lint:html": "prettier --check src/**/*.html",
|
|
84
89
|
"lint:js": "prettier --check *{.js,.json}",
|
|
85
90
|
"lint:prettier-css": "prettier --check \"src/**/*.css\"",
|
|
86
|
-
"format": "npm run lint:css -- --fix && npm run lint:ts -- --fix && prettier --write *{.js,.json} && prettier --write src/**/*.html && prettier --write \"src/**/*.css\"",
|
|
91
|
+
"format": "npm run lint:css:ci -- --fix && npm run lint:ts -- --fix && prettier --write *{.js,.json} && prettier --write src/**/*.html && prettier --write \"src/**/*.css\"",
|
|
87
92
|
"generate:icons": "node ../../scripts/generate-icon-docs.mjs",
|
|
88
|
-
"test": "
|
|
89
|
-
"test.watch": "
|
|
90
|
-
"test.e2e": "
|
|
93
|
+
"test": "vitest run --project spec --project spec-dom",
|
|
94
|
+
"test.watch": "vitest --project spec --project spec-dom",
|
|
95
|
+
"test.e2e": "vitest run --project browser",
|
|
96
|
+
"test.storybook": "vitest run --project storybook",
|
|
97
|
+
"test.storybook:update": "vitest run --project storybook --update",
|
|
91
98
|
"storybook": "npm run storybook:start",
|
|
92
99
|
"storybook:start": "storybook dev -p 9009",
|
|
93
100
|
"stencil-generate": "stencil generate"
|
|
@@ -104,9 +111,10 @@
|
|
|
104
111
|
"@babel/preset-typescript": "^7.24.7",
|
|
105
112
|
"@chromatic-com/storybook": "^4.1.3",
|
|
106
113
|
"@mdx-js/react": "^3.1.1",
|
|
107
|
-
"@stencil/core": "^4.
|
|
108
|
-
"@stencil/react-output-target": "
|
|
109
|
-
"@stencil/
|
|
114
|
+
"@stencil/core": "^4.43.5",
|
|
115
|
+
"@stencil/react-output-target": "1.6.0",
|
|
116
|
+
"@stencil/vitest": "^1.13.3",
|
|
117
|
+
"@stencil/vue-output-target": "^0.14.0",
|
|
110
118
|
"@storybook/addon-a11y": "^10.1.3",
|
|
111
119
|
"@storybook/addon-designs": "^11.1.1",
|
|
112
120
|
"@storybook/addon-docs": "^10.1.3",
|
|
@@ -115,7 +123,6 @@
|
|
|
115
123
|
"@storybook/addon-vitest": "^10.1.3",
|
|
116
124
|
"@storybook/builder-vite": "^10.1.3",
|
|
117
125
|
"@storybook/web-components-vite": "^10.1.3",
|
|
118
|
-
"@types/jest": "^26.0.21",
|
|
119
126
|
"@vitest/browser-playwright": "^4.0.13",
|
|
120
127
|
"@vitest/coverage-v8": "^4.0.13",
|
|
121
128
|
"@vueless/storybook-dark-mode": "^10.0.3",
|
|
@@ -123,12 +130,11 @@
|
|
|
123
130
|
"autoprefixer": "^10.4.16",
|
|
124
131
|
"cross-env": "^7.0.3",
|
|
125
132
|
"eslint-plugin-react": "^7.37.5",
|
|
133
|
+
"happy-dom": "^20.10.6",
|
|
126
134
|
"highlight.js": "^11.10.0",
|
|
127
|
-
"jest": "^29.7.0",
|
|
128
|
-
"jest-cli": "^29.7.0",
|
|
129
135
|
"lit": "^3.3.2",
|
|
130
136
|
"npm-run-all": "^4.1.5",
|
|
131
|
-
"playwright": "
|
|
137
|
+
"playwright": "1.59.1",
|
|
132
138
|
"postcss": "^8.4.23",
|
|
133
139
|
"postcss-cli": "^8.3.1",
|
|
134
140
|
"postcss-extend-rule": "^4.0.0",
|
|
@@ -140,9 +146,10 @@
|
|
|
140
146
|
"storybook-addon-tag-badges": "^3.0.2",
|
|
141
147
|
"tailwindcss": "^3.3.2",
|
|
142
148
|
"typescript": "^5.5.3",
|
|
143
|
-
"uuid": "^
|
|
144
|
-
"vite": "^
|
|
145
|
-
"vitest": "^4.
|
|
149
|
+
"uuid": "^14.0.1",
|
|
150
|
+
"vite": "^8.1.3",
|
|
151
|
+
"vitest": "^4.1.9",
|
|
152
|
+
"vitest-plugin-vis": "5.1.0"
|
|
146
153
|
},
|
|
147
154
|
"dependencies": {
|
|
148
155
|
"@floating-ui/dom": "^1.7.6",
|
|
@@ -165,7 +172,8 @@
|
|
|
165
172
|
],
|
|
166
173
|
"implicitDependencies": [
|
|
167
174
|
"@xplortech/apollo-icons",
|
|
168
|
-
"@xplortech/apollo-foundation"
|
|
175
|
+
"@xplortech/apollo-foundation",
|
|
176
|
+
"@xplortech/apollo-data"
|
|
169
177
|
],
|
|
170
178
|
"targets": {
|
|
171
179
|
"build": {
|
|
@@ -179,7 +187,8 @@
|
|
|
179
187
|
"{projectRoot}/.storybook/dist",
|
|
180
188
|
"{projectRoot}/.storybook/loader",
|
|
181
189
|
"{projectRoot}/src/components/components.d.ts",
|
|
182
|
-
"{
|
|
190
|
+
"{projectRoot}/src/components/components/**/readme.md",
|
|
191
|
+
"{workspaceRoot}/packages/apollo-react/src/components/stencil-generated",
|
|
183
192
|
"{workspaceRoot}/packages/apollo-react/css/apollo.css",
|
|
184
193
|
"{workspaceRoot}/packages/apollo-vue/src/components.ts",
|
|
185
194
|
"{workspaceRoot}/packages/apollo-vue/css/apollo.css"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as l}from"./p-C7bgJs6C.js";const i=class{constructor(e){a(this,e),this.withSubnav=!1,this.withUtility=!0,this.navWidth="default",this.navOpen=!0}closeNavOnMobile(){window.innerWidth<=640&&(this.navOpen=!1)}navToggleHandler(){this.navOpen=!this.navOpen}navWithHandler(a){this.navWidth=a.detail}onWindowResize(){this.closeNavOnMobile()}connectedCallback(){this.closeNavOnMobile()}componentWillLoad(){this.navOpen=void 0!==this.isNavOpenAtStartup?this.isNavOpenAtStartup:this.navOpen}render(){let a="xpl-application-shell";this.withUtility&&(a+=" xpl-application-shell--with_utility");let i="xpl-application-shell__nav";return i+=this.navOpen?` xpl-application-shell__nav--${this.navWidth}--open`:` xpl-application-shell__nav--${this.navWidth}`,e(l,{key:"f61e8399f5a5e935354c817ee0d1386afcddce28",class:a},e("div",{key:"4886a782d1511d3aac9df0a90afc38351b94d4fd",class:i},e("slot",{key:"d80279f234d498eb51491bd1d6850d7babfd6ece",name:"nav"})),e("div",{key:"dd26f273261026555a3f73885fd04ffdbbf871cb",class:"xpl-application-shell__subnav"},e("slot",{key:"3b120224a8d1cb30503514befeb96e3a08fc22ba",name:"subnav"})),e("div",{key:"7ac6b8f10b2dca85e774e1117f9117952a3052cf",class:"xpl-application-shell__utility"},e("slot",{key:"d9d4b15e7c3e7bec0edc237df3634c8fd2648df4",name:"utility"})),e("div",{key:"00ee0b5da796ea84731e740a58b162dad8250696",class:"xpl-application-shell__content"},e("slot",{key:"bf997f59491a08597089a0531cfecf90c703f565",name:"content"})),e("xpl-backdrop",{key:"84264e5a5da96be74547610e5b8d45195014d34c",onClick:()=>this.navToggleHandler(),class:{"xpl-application-shell__backdrop--open":this.navOpen},relative:!0}))}};export{i as xpl_application_shell}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t,H as e}from"./p-C7bgJs6C.js";const i=class{constructor(t){s(this,t),this.xs=6,this.sm=6,this.md=6,this.lg=6}render(){let s="xpl-grid-item";return s+=` xpl-grid-item-xs-${this.xs}`,s+=` xpl-grid-item-sm-${this.sm}`,s+=` xpl-grid-item-md-${this.md}`,s+=` xpl-grid-item-lg-${this.lg}`,t(e,{key:"43cf6dd21d3d06e2d8012b716e5db5aeee676aac",class:s},t("slot",{key:"e08e03e4152007df7158d7122f883da1050dfde7"}))}};export{i as xpl_grid_item}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as c,g as d}from"./p-C7bgJs6C.js";const s=class{constructor(e){a(this,e)}componentDidLoad(){if(this.link){const a=this.el.getElementsByTagName("a")[0]||this.el.getElementsByTagName("button")[0],e=document.createTextNode(this.name),c=document.createElement("span");c.appendChild(e),a.setAttribute("class","xpl-large-card__anchor"),a.appendChild(c)}}render(){const a="graph-content",d=this.el.querySelector(`[slot="${a}"]`);return e(c,{key:"9b45179112de8d1ac309520425a1a5c340493487",role:"group",class:"xpl-large-card "+(this.link?"xpl-large-card__link":""),tabindex:"0"},e("dt",{key:"4838c93a72df9ea794b3bbbd7f78f3e84a606109",class:"xpl-large-card__header"},e("header",{key:"eb4b2e8515be1e0763595e1cf646dc2b25bfb739"},e("slot",{key:"62fdafe4b8ce03af5ff353c3ffa377fa547b572b",name:"title"},this.name),this.link&&e("span",{key:"ac0086a3402af5f12668a560ad418aaf40a56357",class:"xpl-data-card__header-arrow"},e("xpl-icon",{key:"74eaffc571098a88d69d7248166889671ba441a2",icon:"chevron-right",size:16}))),this.description&&e("div",{key:"d7d2499b7d8da9c09062ea5a456b588e52df2d82",class:"xpl-large-card__description"},this.description)),e("dd",{key:"652e32e8b200e783f03608f97cbbcc70f59421e3",class:"xpl-large-card__body"},d&&e("slot",{key:"9d9f285d34bd8e2b6666577bd2023ae474636c4c",name:a})))}get el(){return d(this)}};export{s as xpl_large_card}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,H as e}from"./p-C7bgJs6C.js";const a=class{constructor(s){t(this,s),this.disabled=!1,this.selected=!1,this.isDisabled=!1}componentWillLoad(){this.isDisabled=this.disabled}componentDidLoad(){this.updateRowCellsDisabledState()}componentDidUpdate(){this.updateRowCellsDisabledState()}updateRowCellsDisabledState(){this.hostElement.querySelectorAll("xpl-dynamic-table-cell").forEach((t=>{t.disabled=this.isDisabled}))}render(){return s(e,{key:"0d099456d2016263a2bdcd42b46794e08adb64cf",role:"row",class:`xpl-dynamic-table-row\n ${this.isDisabled?"disabled":""}\n ${this.selected?"selected":""}`,ref:t=>{this.hostElement=t}},s("slot",{key:"c923f7f8dc4bb8a4527693259d1a8b5932bb6c10"}))}};export{a as xpl_dynamic_table_row}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t,H as r,g as e}from"./p-C7bgJs6C.js";const i=class{constructor(t){s(this,t)}componentDidLoad(){const s=Array.from(this.container.querySelectorAll(".xpl-grid-item"));let t=0,r=0,e=0,i=0;s.forEach((s=>{t+=+s.getAttribute("lg")||6,r+=+s.getAttribute("md")||6,e+=+s.getAttribute("sm")||6,i+=+s.getAttribute("xs")||6,t%6==0&&s.classList.add("xpl-grid-item-lg-last"),r%6==0&&s.classList.add("xpl-grid-item-md-last"),e%6==0&&s.classList.add("xpl-grid-item-sm-last"),i%6==0&&s.classList.add("xpl-grid-item-xs-last")}))}render(){return t(r,{key:"aeee950fb242a14f50ceda1d199cf427597b70f6",class:"xpl-grid"})}get container(){return e(this)}};export{i as xpl_grid}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as t,g as s}from"./p-C7bgJs6C.js";const c=class{constructor(e){a(this,e),this.selectedItemCount=0}componentDidLoad(){const a=this.el.querySelector('[slot="actions-right"]');null!==a&&(a.style.marginLeft="auto")}listenToSelectedItemCountChange(a){this.selectedItemCount=a.detail.length}render(){return e(t,{key:"156bc52063283c17215e1d3a90c25939ae92685b",class:{"xpl-toolbar":!0,dark:!0,hidden:0===this.selectedItemCount}},e("div",{key:"184e28d57a16d8ba6e10f29a95c931a036f44515",class:"toolbar"},e("p",{key:"ff6a7137db216c71859eac4398bbaf8bc6fe18f9",class:"selected-item-count"},this.selectedItemCount," Selected"),e("div",{key:"a610539a08383a3d1d3dad8d95a8b75f43eaf1a3",class:"actions"},e("slot",{key:"dd8ea3150b40926ab40f36d38770daaa969a6fff",name:"actions-left"}),e("slot",{key:"b51f8940fb52dd6880841a917574f782e0d0c72c",name:"actions-right"}))))}get el(){return s(this)}};export{c as xpl_toolbar}
|