@ukic/canary-web-components 3.0.0-canary.5 → 3.0.0-canary.8
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -2
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-c80f6ce4.js → helpers-02b23286.js} +41 -19
- package/dist/cjs/helpers-02b23286.js.map +1 -0
- package/dist/cjs/{helpers-55099147.js → helpers-4190b7f2.js} +56 -29
- package/dist/cjs/helpers-4190b7f2.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +3 -10
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -2
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +10 -7
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +18 -15
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +26 -24
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +9 -4
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +277 -100
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +7 -2
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +6 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +3 -3
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state_2.cjs.entry.js +24 -15
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -5
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +24 -14
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +7 -15
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +39 -24
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +9 -6
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +6 -7
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +5 -6
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +85 -42
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +9 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +37 -29
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -2
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +5 -2
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +20 -20
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +29 -10
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +57 -5
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +10 -6
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +14 -12
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-view.cjs.entry.js +17 -12
- package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +4 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +24 -18
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +10 -0
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +92 -2
- package/dist/collection/components/ic-data-table/ic-data-table.js +312 -102
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +293 -2
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +102 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.css +2 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +8 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +8 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +40 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.css +20 -3
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +33 -12
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
- package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +3 -0
- package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -1
- package/dist/collection/components/ic-tree-view/ic-tree-view.css +16 -2
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +54 -11
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
- package/dist/collection/utils/helpers.js +42 -25
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js +6 -6
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +51 -26
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +37 -17
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-accordion.js +9 -1
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert.js +4 -11
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-badge.js +2 -2
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-button2.js +11 -8
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-horizontal.js +22 -17
- package/dist/components/ic-card-horizontal.js.map +1 -1
- package/dist/components/ic-card-vertical.js +30 -26
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +5 -0
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +5 -0
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +11 -4
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-data-table.js +278 -100
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +8 -2
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +7 -1
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-divider2.js +4 -4
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-empty-state2.js +3 -13
- package/dist/components/ic-empty-state2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +5 -6
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +5 -6
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +25 -15
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +9 -17
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +3 -3
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +15 -11
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-link2.js +10 -7
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-menu-item2.js +9 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +28 -15
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +7 -8
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +6 -7
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +5 -5
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +1 -1
- package/dist/components/ic-pagination-bar2.js +25 -4
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +6 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +5 -0
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +1 -1
- package/dist/components/ic-radio-group.js +8 -0
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +6 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +52 -54
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select2.js +54 -35
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +6 -6
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-stepper.js +1 -1
- package/dist/components/ic-switch.js +8 -3
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab.js +5 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +28 -10
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +22 -22
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast.js +1 -1
- package/dist/components/ic-toggle-button-group.js +34 -11
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +67 -13
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-top-navigation.js +11 -7
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-tree-item.js +17 -13
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-tree-view.js +22 -14
- package/dist/components/ic-tree-view.js.map +1 -1
- package/dist/core/core.css +78 -46
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-9da6df82.entry.js → p-01034ef4.entry.js} +2 -2
- package/dist/core/p-033f3971.entry.js +2 -0
- package/dist/core/p-033f3971.entry.js.map +1 -0
- package/dist/core/{p-f5d1e747.entry.js → p-03d51c20.entry.js} +2 -2
- package/dist/core/{p-a67c358a.entry.js → p-05890d1e.entry.js} +2 -2
- package/dist/core/{p-dd3a9cb1.entry.js → p-07bcfaef.entry.js} +2 -2
- package/dist/core/{p-a0c3f221.entry.js → p-0d918e59.entry.js} +2 -2
- package/dist/core/p-0d918e59.entry.js.map +1 -0
- package/dist/core/p-10640219.entry.js +2 -0
- package/dist/core/p-10640219.entry.js.map +1 -0
- package/dist/core/p-15e382a4.entry.js +2 -0
- package/dist/core/p-15e382a4.entry.js.map +1 -0
- package/dist/core/p-16b64836.entry.js +2 -0
- package/dist/core/p-16b64836.entry.js.map +1 -0
- package/dist/core/p-186edbae.entry.js +2 -0
- package/dist/core/p-186edbae.entry.js.map +1 -0
- package/dist/core/p-1c94e08c.entry.js +2 -0
- package/dist/core/p-1c94e08c.entry.js.map +1 -0
- package/dist/core/p-1d3f7a04.entry.js +2 -0
- package/dist/core/p-1d3f7a04.entry.js.map +1 -0
- package/dist/core/{p-10afa533.entry.js → p-22708591.entry.js} +2 -2
- package/dist/core/p-23afb7d0.entry.js +2 -0
- package/dist/core/p-23afb7d0.entry.js.map +1 -0
- package/dist/core/p-289fff24.entry.js +2 -0
- package/dist/core/p-289fff24.entry.js.map +1 -0
- package/dist/core/{p-40f94113.entry.js → p-2fd78585.entry.js} +2 -2
- package/dist/core/{p-3d478ba9.entry.js → p-345a88a7.entry.js} +2 -2
- package/dist/core/{p-3d478ba9.entry.js.map → p-345a88a7.entry.js.map} +1 -1
- package/dist/core/p-361da840.entry.js +2 -0
- package/dist/core/p-361da840.entry.js.map +1 -0
- package/dist/core/p-3f182d5d.entry.js +2 -0
- package/dist/core/p-3f182d5d.entry.js.map +1 -0
- package/dist/core/{p-0687cc81.entry.js → p-49bf3a47.entry.js} +2 -2
- package/dist/core/p-49bf3a47.entry.js.map +1 -0
- package/dist/core/p-4abbdbbc.entry.js +2 -0
- package/dist/core/p-4abbdbbc.entry.js.map +1 -0
- package/dist/core/p-5193184c.entry.js +2 -0
- package/dist/core/p-5193184c.entry.js.map +1 -0
- package/dist/core/{p-c894bc8f.entry.js → p-51fd68b7.entry.js} +2 -2
- package/dist/core/p-51fd68b7.entry.js.map +1 -0
- package/dist/core/p-563392e4.entry.js +2 -0
- package/dist/core/p-563392e4.entry.js.map +1 -0
- package/dist/core/p-5a48839e.entry.js +2 -0
- package/dist/core/p-5a48839e.entry.js.map +1 -0
- package/dist/core/p-5cbf0885.entry.js +2 -0
- package/dist/core/p-5cbf0885.entry.js.map +1 -0
- package/dist/core/{p-6f92ee7a.entry.js → p-5dcee0aa.entry.js} +2 -2
- package/dist/core/{p-b4eb1c6d.entry.js → p-646f21ff.entry.js} +2 -2
- package/dist/core/{p-c4dc8fdf.entry.js → p-74b676a6.entry.js} +2 -2
- package/dist/core/{p-acb0eddb.entry.js → p-74e63f4d.entry.js} +2 -2
- package/dist/core/{p-df05b999.entry.js → p-77f26d29.entry.js} +2 -2
- package/dist/core/p-77f26d29.entry.js.map +1 -0
- package/dist/core/{p-e4b9221b.entry.js → p-792ec0a3.entry.js} +2 -2
- package/dist/core/p-792ec0a3.entry.js.map +1 -0
- package/dist/core/{p-bd5aada7.entry.js → p-79c8879c.entry.js} +2 -2
- package/dist/core/{p-3b3a8108.entry.js → p-7d5a0251.entry.js} +2 -2
- package/dist/core/{p-160de322.entry.js → p-7eef69d7.entry.js} +2 -2
- package/dist/core/p-8167f2e0.entry.js +2 -0
- package/dist/core/p-8167f2e0.entry.js.map +1 -0
- package/dist/core/p-8576281d.entry.js +2 -0
- package/dist/core/p-8576281d.entry.js.map +1 -0
- package/dist/core/{p-fca3589b.entry.js → p-87cd3985.entry.js} +2 -2
- package/dist/core/p-8d3e250a.entry.js +2 -0
- package/dist/core/p-8d3e250a.entry.js.map +1 -0
- package/dist/core/p-8eb30ebf.entry.js +2 -0
- package/dist/core/p-8eb30ebf.entry.js.map +1 -0
- package/dist/core/{p-ffe923ae.entry.js → p-901879b8.entry.js} +2 -2
- package/dist/core/p-92bb5fe9.entry.js +2 -0
- package/dist/core/p-92bb5fe9.entry.js.map +1 -0
- package/dist/core/p-94efa0d2.entry.js +2 -0
- package/dist/core/p-94efa0d2.entry.js.map +1 -0
- package/dist/core/p-9f5071bd.entry.js +2 -0
- package/dist/core/p-9f5071bd.entry.js.map +1 -0
- package/dist/core/p-a04712b9.js +2 -0
- package/dist/core/p-a04712b9.js.map +1 -0
- package/dist/core/{p-29623ad5.entry.js → p-a683fd94.entry.js} +2 -2
- package/dist/core/p-a683fd94.entry.js.map +1 -0
- package/dist/core/{p-70543f44.entry.js → p-b2a6f0dd.entry.js} +2 -2
- package/dist/core/p-be6d9ab9.entry.js +2 -0
- package/dist/core/p-be6d9ab9.entry.js.map +1 -0
- package/dist/core/{p-91cf88d6.entry.js → p-d0c7bc04.entry.js} +2 -2
- package/dist/core/p-d0c7bc04.entry.js.map +1 -0
- package/dist/core/{p-3106c4fd.entry.js → p-d1b8e306.entry.js} +2 -2
- package/dist/core/{p-bc7d33e1.entry.js → p-db924212.entry.js} +2 -2
- package/dist/core/p-db924212.entry.js.map +1 -0
- package/dist/core/p-dd5daf97.entry.js +2 -0
- package/dist/core/p-dd5daf97.entry.js.map +1 -0
- package/dist/core/{p-9235425c.entry.js → p-dedca102.entry.js} +2 -2
- package/dist/core/{p-f08723ca.entry.js → p-eb09d6af.entry.js} +2 -2
- package/dist/core/p-ee5388e6.entry.js +2 -0
- package/dist/core/p-ee5388e6.entry.js.map +1 -0
- package/dist/core/p-f1fcc442.entry.js +2 -0
- package/dist/core/p-f1fcc442.entry.js.map +1 -0
- package/dist/core/{p-3bbfefcc.entry.js → p-f3995b20.entry.js} +2 -2
- package/dist/core/p-f3995b20.entry.js.map +1 -0
- package/dist/core/p-fa002d21.js +2 -0
- package/dist/core/p-fa002d21.js.map +1 -0
- package/dist/core/{p-e532fa26.entry.js → p-faae4ac4.entry.js} +2 -2
- package/dist/core/p-faae4ac4.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-d399f9c8.js → helpers-0f42cb46.js} +38 -18
- package/dist/esm/helpers-0f42cb46.js.map +1 -0
- package/dist/esm/{helpers-d3091c8c.js → helpers-96838a0a.js} +52 -27
- package/dist/esm/helpers-96838a0a.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +8 -1
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +4 -11
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +2 -2
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +10 -7
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +19 -16
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +27 -25
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +5 -1
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +5 -1
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +9 -4
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +277 -100
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +7 -2
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +6 -1
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +3 -3
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state_2.entry.js +25 -16
- package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +4 -5
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -5
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +24 -14
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +8 -16
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +40 -25
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +9 -6
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +7 -1
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +6 -7
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +5 -6
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +4 -4
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +85 -42
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js +9 -1
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +5 -1
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +37 -29
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +6 -2
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +5 -2
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +20 -20
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +29 -10
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +57 -5
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +10 -6
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +15 -13
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +18 -13
- package/dist/esm/ic-tree-view.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +4 -4
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +25 -0
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +11 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +181 -0
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +1 -0
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +1 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +6 -0
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +6 -1
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +9 -1
- package/dist/types/components.d.ts +47 -0
- package/dist/types/utils/helpers.d.ts +13 -10
- package/dist/types/utils/types.d.ts +6 -5
- package/hydrate/index.js +897 -448
- package/package.json +3 -10
- package/dist/cjs/helpers-55099147.js.map +0 -1
- package/dist/cjs/helpers-c80f6ce4.js.map +0 -1
- package/dist/core/p-006afa83.entry.js +0 -2
- package/dist/core/p-006afa83.entry.js.map +0 -1
- package/dist/core/p-0687cc81.entry.js.map +0 -1
- package/dist/core/p-12b1db1b.entry.js +0 -2
- package/dist/core/p-12b1db1b.entry.js.map +0 -1
- package/dist/core/p-199ce579.entry.js +0 -2
- package/dist/core/p-199ce579.entry.js.map +0 -1
- package/dist/core/p-25597c03.js +0 -2
- package/dist/core/p-25597c03.js.map +0 -1
- package/dist/core/p-29623ad5.entry.js.map +0 -1
- package/dist/core/p-2d6fffa4.entry.js +0 -2
- package/dist/core/p-2d6fffa4.entry.js.map +0 -1
- package/dist/core/p-31082e64.entry.js +0 -2
- package/dist/core/p-31082e64.entry.js.map +0 -1
- package/dist/core/p-3bbfefcc.entry.js.map +0 -1
- package/dist/core/p-43891495.entry.js +0 -2
- package/dist/core/p-43891495.entry.js.map +0 -1
- package/dist/core/p-47ae7d10.entry.js +0 -2
- package/dist/core/p-47ae7d10.entry.js.map +0 -1
- package/dist/core/p-59d48811.entry.js +0 -2
- package/dist/core/p-59d48811.entry.js.map +0 -1
- package/dist/core/p-690d0bbd.entry.js +0 -2
- package/dist/core/p-690d0bbd.entry.js.map +0 -1
- package/dist/core/p-6f7cf143.entry.js +0 -2
- package/dist/core/p-6f7cf143.entry.js.map +0 -1
- package/dist/core/p-7a1f1e0d.entry.js +0 -2
- package/dist/core/p-7a1f1e0d.entry.js.map +0 -1
- package/dist/core/p-7c843bc8.entry.js +0 -2
- package/dist/core/p-7c843bc8.entry.js.map +0 -1
- package/dist/core/p-7e358f32.entry.js +0 -2
- package/dist/core/p-7e358f32.entry.js.map +0 -1
- package/dist/core/p-81da002e.entry.js +0 -2
- package/dist/core/p-81da002e.entry.js.map +0 -1
- package/dist/core/p-83c09d8d.entry.js +0 -2
- package/dist/core/p-83c09d8d.entry.js.map +0 -1
- package/dist/core/p-8d933976.entry.js +0 -2
- package/dist/core/p-8d933976.entry.js.map +0 -1
- package/dist/core/p-91cf88d6.entry.js.map +0 -1
- package/dist/core/p-92f443aa.entry.js +0 -2
- package/dist/core/p-92f443aa.entry.js.map +0 -1
- package/dist/core/p-982deb94.entry.js +0 -2
- package/dist/core/p-982deb94.entry.js.map +0 -1
- package/dist/core/p-99c76218.entry.js +0 -2
- package/dist/core/p-99c76218.entry.js.map +0 -1
- package/dist/core/p-9ae77f11.entry.js +0 -2
- package/dist/core/p-9ae77f11.entry.js.map +0 -1
- package/dist/core/p-a0c3f221.entry.js.map +0 -1
- package/dist/core/p-b2389339.js +0 -2
- package/dist/core/p-b2389339.js.map +0 -1
- package/dist/core/p-b4dd4835.entry.js +0 -2
- package/dist/core/p-b4dd4835.entry.js.map +0 -1
- package/dist/core/p-bc7d33e1.entry.js.map +0 -1
- package/dist/core/p-bdce46ca.entry.js +0 -2
- package/dist/core/p-bdce46ca.entry.js.map +0 -1
- package/dist/core/p-be7bc371.entry.js +0 -2
- package/dist/core/p-be7bc371.entry.js.map +0 -1
- package/dist/core/p-c12f3582.entry.js +0 -2
- package/dist/core/p-c12f3582.entry.js.map +0 -1
- package/dist/core/p-c5ea1e19.entry.js +0 -2
- package/dist/core/p-c5ea1e19.entry.js.map +0 -1
- package/dist/core/p-c894bc8f.entry.js.map +0 -1
- package/dist/core/p-df05b999.entry.js.map +0 -1
- package/dist/core/p-e4b9221b.entry.js.map +0 -1
- package/dist/core/p-e532fa26.entry.js.map +0 -1
- package/dist/core/p-e89e5ec8.entry.js +0 -2
- package/dist/core/p-e89e5ec8.entry.js.map +0 -1
- package/dist/core/p-f4414801.entry.js +0 -2
- package/dist/core/p-f4414801.entry.js.map +0 -1
- package/dist/esm/helpers-d3091c8c.js.map +0 -1
- package/dist/esm/helpers-d399f9c8.js.map +0 -1
- /package/dist/core/{p-9da6df82.entry.js.map → p-01034ef4.entry.js.map} +0 -0
- /package/dist/core/{p-f5d1e747.entry.js.map → p-03d51c20.entry.js.map} +0 -0
- /package/dist/core/{p-a67c358a.entry.js.map → p-05890d1e.entry.js.map} +0 -0
- /package/dist/core/{p-dd3a9cb1.entry.js.map → p-07bcfaef.entry.js.map} +0 -0
- /package/dist/core/{p-10afa533.entry.js.map → p-22708591.entry.js.map} +0 -0
- /package/dist/core/{p-40f94113.entry.js.map → p-2fd78585.entry.js.map} +0 -0
- /package/dist/core/{p-6f92ee7a.entry.js.map → p-5dcee0aa.entry.js.map} +0 -0
- /package/dist/core/{p-b4eb1c6d.entry.js.map → p-646f21ff.entry.js.map} +0 -0
- /package/dist/core/{p-c4dc8fdf.entry.js.map → p-74b676a6.entry.js.map} +0 -0
- /package/dist/core/{p-acb0eddb.entry.js.map → p-74e63f4d.entry.js.map} +0 -0
- /package/dist/core/{p-bd5aada7.entry.js.map → p-79c8879c.entry.js.map} +0 -0
- /package/dist/core/{p-3b3a8108.entry.js.map → p-7d5a0251.entry.js.map} +0 -0
- /package/dist/core/{p-160de322.entry.js.map → p-7eef69d7.entry.js.map} +0 -0
- /package/dist/core/{p-fca3589b.entry.js.map → p-87cd3985.entry.js.map} +0 -0
- /package/dist/core/{p-ffe923ae.entry.js.map → p-901879b8.entry.js.map} +0 -0
- /package/dist/core/{p-70543f44.entry.js.map → p-b2a6f0dd.entry.js.map} +0 -0
- /package/dist/core/{p-3106c4fd.entry.js.map → p-d1b8e306.entry.js.map} +0 -0
- /package/dist/core/{p-9235425c.entry.js.map → p-dedca102.entry.js.map} +0 -0
- /package/dist/core/{p-f08723ca.entry.js.map → p-eb09d6af.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","constructor","hostRef","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","firstItemVisible","appearance","monochrome","theme","focusTrigger","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","_a","_b","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","h","Host","class","IcThemeForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import { h, Host, } from \"@stencil/core\";\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst SCROLL_DELAY_MS = 200;\nexport class HorizontalScroll {\n constructor() {\n this.buttonStateSet = false;\n this.focusHandler = (event) => {\n this.itemFocusHandler(Array.from(this.items).indexOf(event.target));\n };\n this.resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n }\n else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n this.scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n this.scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n this.longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.leftArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.rightArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n this.getCurrentLeftItem = () => {\n const index = this.itemOffsets.findIndex((el) => el > Math.round(this.itemsContainerEl.scrollLeft));\n return index < 0 ? 0 : index;\n };\n this.scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n this.scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n this.firstItemVisible = true;\n this.itemOverflow = false;\n this.lastItemVisible = false;\n this.appearance = \"default\";\n this.monochrome = false;\n this.theme = \"inherit\";\n this.focusTrigger = \"focus\";\n }\n componentWillLoad() {\n this.itemsContainerEl = this.el.children[0];\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl);\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n componentDidLoad() {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.addEventListener(event, this.arrowMouseUpHandler));\n });\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n const scrollArrows = Array.from(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.removeEventListener(event, this.arrowMouseUpHandler));\n });\n (_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n (_b = this.itemsContainerEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"scroll\", this.scrollHandler);\n }\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n async scrollItemIntoView(itemPosition) {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos = itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n itemFocusHandler(itemPosition) {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n return (h(Host, { class: {\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }, role: \"tab\" }, h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll left\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: \"-1\", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h(\"span\", { class: \"scroll-splitter-left\" })), h(\"slot\", null), h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }, role: \"tab\" }, h(\"span\", { class: \"scroll-splitter-right\" }), h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll right\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: \"-1\", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));\n }\n static get is() { return \"ic-horizontal-scroll\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"./ic-horizontal-scroll.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-horizontal-scroll.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the horizontal scroll, e.g. dark, light or the default.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Determines whether black variant of the tabs should be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"focusTrigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The name of the event that triggers focus handler logic.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"focus-trigger\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"focus\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"firstItemVisible\": {},\n \"itemOverflow\": {},\n \"lastItemVisible\": {}\n };\n }\n static get methods() {\n return {\n \"scrollItemIntoView\": {\n \"complexType\": {\n \"signature\": \"(itemPosition: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemPosition\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"if side scrolling enabled, scrolls the specified item into view.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-horizontal-scroll.js.map\n"],"mappings":"giBAAA,MAAMA,EAAwB,y6HCM9B,MAAMC,EAAkB,I,MACXC,EAAgB,MACzB,WAAAC,CAAAC,G,UACIC,KAAKC,eAAiB,MACtBD,KAAKE,aAAgBC,IACjBH,KAAKI,iBAAiBC,MAAMC,KAAKN,KAAKO,OAAOC,QAAQL,EAAMM,QAAQ,EAEvET,KAAKU,uBAAyB,KAC1B,GAAIV,KAAKW,GAAGC,aAAeZ,KAAKa,iBAAiBC,YAAa,CAC1Dd,KAAKe,aAAe,K,KAEnB,CACDf,KAAKe,aAAeC,EAAkBhB,KAAKa,iB,CAE/C,GAAIb,KAAKe,aAAc,CACnBf,KAAKiB,gBACDjB,KAAKa,iBAAiBK,YAAclB,KAAKa,iBAAiBM,YACtDnB,KAAKa,iBAAiBC,W,GAGtCd,KAAKoB,kBAAoB,KACrBpB,KAAKqB,eAAiB,IAAIC,gBAAe,KACrCtB,KAAKU,wBAAwB,IAEjCV,KAAKqB,eAAeE,QAAQvB,KAAKa,iBAAiB,EAEtDb,KAAKmB,WAAa,KACdnB,KAAKwB,mBAAmBxB,KAAKyB,qBAAuB,EAAE,EAE1DzB,KAAK0B,YAAc,KACf1B,KAAKwB,mBAAmBxB,KAAKyB,qBAAuB,EAAE,EAE1DzB,KAAK2B,gBAAkB,KACnB3B,KAAK0B,cACL1B,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK2B,gBAAiB/B,EAAgB,EAE/EI,KAAK+B,eAAiB,KAClB/B,KAAKmB,aACLnB,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK+B,eAAgBnC,EAAgB,EAE9EI,KAAKgC,0BAA6BC,IAC9BA,EAAEC,iBACFlC,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK+B,eAAgBnC,EAAgB,EAE9EI,KAAKmC,2BAA8BF,IAC/BA,EAAEC,iBACFlC,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK2B,gBAAiB/B,EAAgB,EAE/EI,KAAKoC,oBAAsB,KACvBP,OAAOQ,aAAarC,KAAK4B,YAAY,EAEzC5B,KAAKyB,mBAAqB,KACtB,MAAMa,EAAQtC,KAAKuC,YAAYC,WAAW7B,GAAOA,EAAK8B,KAAKC,MAAM1C,KAAKa,iBAAiBM,cACvF,OAAOmB,EAAQ,EAAI,EAAIA,CAAK,EAEhCtC,KAAK2C,cAAgB,KACjBd,OAAOQ,aAAarC,KAAK4C,aAEzB5C,KAAK4C,YAAcf,OAAOC,WAAW9B,KAAK6C,cAAe,GAAG,EAEhE7C,KAAK6C,cAAgB,KAGjB,MAAM1B,EAAasB,KAAKC,MAAM1C,KAAKa,iBAAiBM,YACpD,GAAInB,KAAKC,iBAAmB,MAAO,CAC/BD,KAAK8C,iBAAmB3B,IAAe,EACvCnB,KAAKiB,gBACDjB,KAAKa,iBAAiBK,YAAcC,GAChCnB,KAAKa,iBAAiBC,W,CAElCd,KAAKC,eAAiB,KAAK,EAE/BD,KAAK8C,iBAAmB,KACxB9C,KAAKe,aAAe,MACpBf,KAAKiB,gBAAkB,MACvBjB,KAAK+C,WAAa,UAClB/C,KAAKgD,WAAa,MAClBhD,KAAKiD,MAAQ,UACbjD,KAAKkD,aAAe,O,CAExB,iBAAAC,GACInD,KAAKa,iBAAmBb,KAAKW,GAAGyC,SAAS,GACzCpD,KAAKa,iBAAiBwC,iBAAiB,SAAUrD,KAAK2C,eACtD3C,KAAKO,MAAQ+C,EAAgBtD,KAAKa,kBAClCb,KAAKO,MAAMgD,SAASC,IAChB,GAAIA,EAAKH,iBAAkB,CACvBG,EAAKH,iBAAiBrD,KAAKkD,aAAclD,KAAKE,a,KAI1D,gBAAAuD,GACI,IAAIC,EAAe,EACnB1D,KAAKuC,YAAcvC,KAAKO,MAAMoD,KAAKH,IAC/BE,GAAgBF,EAAKtC,YACrB,OAAOwC,CAAY,IAEvBE,EAAoB5D,KAAKoB,mBAIzB,MAAMyC,EAAexD,MAAMC,KAAKN,KAAKW,GAAGmD,WAAWC,iBAAiB,QACpE,CAAC,UAAW,cAAcR,SAASpD,IAC/B0D,EAAaN,SAASS,GAAUA,EAAMX,iBAAiBlD,EAAOH,KAAKoC,sBAAqB,G,CAGhG,oBAAA6B,GACI,IAAIC,EAAIC,EACR,GAAInE,KAAKqB,iBAAmB+C,UAAW,CACnCpE,KAAKqB,eAAegD,Y,CAExB,MAAMR,EAAexD,MAAMC,KAAKN,KAAKW,GAAGmD,WAAWC,iBAAiB,QACpE,CAAC,UAAW,cAAcR,SAASpD,IAC/B0D,EAAaN,SAASS,GAAUA,EAAMM,oBAAoBnE,EAAOH,KAAKoC,sBAAqB,KAE9F8B,EAAKlE,KAAKO,SAAW,MAAQ2D,SAAY,OAAS,EAAIA,EAAGX,SAASC,IAC/D,GAAIA,EAAKc,oBAAqB,CAC1Bd,EAAKc,oBAAoBtE,KAAKkD,aAAclD,KAAKE,a,MAGxDiE,EAAKnE,KAAKa,oBAAsB,MAAQsD,SAAY,OAAS,EAAIA,EAAGG,oBAAoB,SAAUtE,KAAK2C,c,CAK5G,wBAAMnB,CAAmB+C,GACrBvE,KAAK8C,iBAAmByB,GAAgB,EACxC,MAAMC,EAAeD,GAAgB,EAAI,EAAIvE,KAAKuC,YAAYgC,EAAe,GAC7EvE,KAAKiB,gBACDjB,KAAKa,iBAAiBK,YAAcsD,GAChCxE,KAAKa,iBAAiBC,YAC9Bd,KAAKC,eAAiB,KACtBD,KAAKa,iBAAiBM,WAAaqD,C,CAEvC,gBAAApE,CAAiBmE,GACb,GAAIvE,KAAKe,aAAc,CACnBf,KAAKwB,mBAAmB+C,E,EAGhC,MAAAE,GACI,MAAM3B,iBAAEA,EAAgB7B,gBAAEA,EAAeF,aAAEA,GAAiBf,KAC5D,OAAQ0E,EAAEC,EAAM,CAAEC,MAAO,CACjB,CAAC,gCAAiC7D,EAClC,CAAC,6BAA8Bf,KAAK+C,aAAe8B,EAAsBC,KACzE,CAAC,8BAA+B9E,KAAK+C,aAAe8B,EAAsBE,MAC1E,CAAC,YAAY/E,KAAKiD,SAAUjD,KAAKiD,QAAU,YAC1CyB,EAAE,MAAO,CAAE,cAAe,OAAQE,MAAO,CAC1C,CAAC,yBAA0B,KAC3B,CAAC,WAAY7D,EACb,CAAC,YAAa+B,GACfkC,KAAM,OAASN,EAAE,YAAa,CAAEE,MAAO,eAAgBK,QAAS,gBAAiB,aAAc,cAAehC,MAAOjD,KAAKiD,QAAU,SAAWjD,KAAKiD,QAAU,UAC3J,OACA,QAASD,WAAYhD,KAAKgD,WAAYkC,UAAWC,EAAWC,SAAUtC,EAAkBuC,SAAU,KAAMC,QAAStF,KAAKmB,WAAYoE,YAAavF,KAAKgC,4BAA8B0C,EAAE,OAAQ,CAAEE,MAAO,0BAA4BF,EAAE,OAAQ,MAAOA,EAAE,MAAO,CAAE,cAAe,OAAQE,MAAO,CAC7R,CAAC,0BAA2B,KAC5B,CAAC,WAAY7D,EACb,CAAC,YAAaE,GACf+D,KAAM,OAASN,EAAE,OAAQ,CAAEE,MAAO,0BAA4BF,EAAE,YAAa,CAAEE,MAAO,eAAgBK,QAAS,gBAAiB,aAAc,eAAgBhC,MAAOjD,KAAKiD,QAAU,SAAWjD,KAAKiD,QAAU,UAC3M,OACA,QAASD,WAAYhD,KAAKgD,WAAYkC,UAAWM,EAAYJ,SAAUnE,EAAiBoE,SAAU,KAAMC,QAAStF,KAAK0B,YAAa6D,YAAavF,KAAKmC,8B"}
|
1
|
+
{"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","constructor","hostRef","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","firstItemVisible","appearance","monochrome","theme","focusTrigger","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","_a","_b","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","h","Host","class","IcBrandForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","../web-components/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import { h, Host, } from \"@stencil/core\";\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\nconst SCROLL_DELAY_MS = 200;\nexport class HorizontalScroll {\n constructor() {\n this.buttonStateSet = false;\n this.focusHandler = (event) => {\n this.itemFocusHandler(Array.from(this.items).indexOf(event.target));\n };\n this.resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n }\n else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n this.scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n this.scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n this.longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.leftArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n this.rightArrowMouseDownHandler = (e) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n this.arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n this.getCurrentLeftItem = () => {\n const index = this.itemOffsets.findIndex((el) => el > Math.round(this.itemsContainerEl.scrollLeft));\n return index < 0 ? 0 : index;\n };\n this.scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n this.scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n this.firstItemVisible = true;\n this.itemOverflow = false;\n this.lastItemVisible = false;\n this.appearance = \"default\";\n this.monochrome = false;\n this.theme = \"inherit\";\n this.focusTrigger = \"focus\";\n }\n componentWillLoad() {\n this.itemsContainerEl = this.el.children[0];\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl);\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n componentDidLoad() {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.addEventListener(event, this.arrowMouseUpHandler));\n });\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n const scrollArrows = Array.from(this.el.shadowRoot.querySelectorAll(\"div\"));\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) => arrow.removeEventListener(event, this.arrowMouseUpHandler));\n });\n (_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n (_b = this.itemsContainerEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"scroll\", this.scrollHandler);\n }\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n async scrollItemIntoView(itemPosition) {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos = itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n itemFocusHandler(itemPosition) {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n return (h(Host, { class: {\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]: this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]: this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }, role: \"tab\" }, h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll left\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: \"-1\", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h(\"span\", { class: \"scroll-splitter-left\" })), h(\"slot\", null), h(\"div\", { \"aria-hidden\": \"true\", class: {\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }, role: \"tab\" }, h(\"span\", { class: \"scroll-splitter-right\" }), h(\"ic-button\", { class: \"scroll-arrow\", variant: \"icon-tertiary\", \"aria-label\": \"Scroll right\", theme: this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: \"-1\", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));\n }\n static get is() { return \"ic-horizontal-scroll\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"./ic-horizontal-scroll.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-horizontal-scroll.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBrandForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcBrandForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrandForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the horizontal scroll, e.g. dark, light or the default.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Determines whether black variant of the tabs should be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"focusTrigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The name of the event that triggers focus handler logic.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"focus-trigger\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"focus\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"firstItemVisible\": {},\n \"itemOverflow\": {},\n \"lastItemVisible\": {}\n };\n }\n static get methods() {\n return {\n \"scrollItemIntoView\": {\n \"complexType\": {\n \"signature\": \"(itemPosition: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"itemPosition\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"if side scrolling enabled, scrolls the specified item into view.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-horizontal-scroll.js.map\n"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,h as i,H as e,g as s,c as a}from"./p-8455d1bb.js";import{i as n,b as h,a as l}from"./p-fa002d21.js";import{z as r,h as o}from"./p-a04712b9.js";const c=":host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.ic-empty-state-right),:host(.ic-empty-state-right) .action-area{align-items:flex-end;text-align:right}:host(.ic-empty-state-center),:host(.ic-empty-state-center) .action-area{align-items:center;text-align:center}:host(.image-medium) ::slotted(svg),:host(.image-medium) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}";const p=class{constructor(i){t(this,i);this.hostMutationObserver=null;this.aligned="left";this.body=undefined;this.maxLines=undefined;this.heading=undefined;this.imageSize="medium";this.subheading=undefined}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){!n(this.el,"heading")&&h([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver((t=>l(t,["image","actions"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:t,body:s,maxLines:a,heading:h,imageSize:l,subheading:r}=this;return i(e,{class:{[`ic-empty-state-${t}`]:true,[`image-${l}`]:n(this.el,"image")}},n(this.el,"image")&&i("slot",{name:"image"}),i("div",null,i("slot",{name:"heading"},i("ic-typography",{variant:"h4"},h)),i("slot",{name:"subheading"},i("ic-typography",{variant:"subtitle-small"},r)),i("slot",{name:"body"},i("ic-typography",{maxLines:a},s))),n(this.el,"actions")&&i("div",{class:"action-area"},i("slot",{name:"actions"})))}get el(){return s(this)}};p.style=c;const g=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box;--ic-typography-color:var(--ic-pagination-text)}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem;--ic-typography-color:var(--ic-pagination-select-content)}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.items-per-page-control-label{white-space:nowrap}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const d=class{constructor(i){t(this,i);this.icPageChange=a(this,"icPageChange",7);this.icItemsPerPageChange=a(this,"icItemsPerPageChange",7);this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.resizeObserver=null;this.changeItemsPerPage=()=>{this.setItemsPerPage(Number(this.pageDropdownEl.value))};this.changePage=t=>{this.activePage=t;this.lowerBound=t!==1?(t-1)*this.itemsPerPage+1:t;this.setUpperBound()};this.focusElFromLabel=t=>{var i;(i=this.paginationBarEl.querySelector(t))===null||i===void 0?void 0:i.setFocus()};this.goToPage=()=>{const t=this.pageInputEl;const i=Number(t.value);if(i<=this.totalPages&&i>0){this.changePage(i);this.paginationEl.setCurrentPage(i);this.activePage=i;t.value="";this.icPageChange.emit({value:i});this.pageInputTooltipEl.displayTooltip(false,false);t.validationStatus=""}else{this.setInputError(t,this.INVALID_PAGE_ERROR)}};this.goToPageLabelClickHandler=()=>{this.focusElFromLabel("ic-text-field")};this.handleBlur=()=>{const t=this.pageInputEl;if(Number(t.value)<=this.totalPages&&Number(t.value)>0||t.value===""){t.validationStatus=""}this.pageInputTooltipEl.displayTooltip(false,false)};this.handleFocus=()=>{if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleInputChange=()=>{const t=parseInt(this.pageInputEl.value);if(t>this.totalPages||t<=0){this.setInputError(this.pageInputEl,this.INVALID_PAGE_ERROR);this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleKeydown=t=>{if(t.key==="Enter"){if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}else{this.goToPage()}}else{this.pageInputTooltipEl.displayTooltip(false,false);this.pageInputEl.validationStatus=""}};this.handleKeyUp=t=>{if(Number.isNaN(parseInt(this.pageInputEl.value))&&t.key!=="Backspace"&&t.key!=="Enter"&&t.key!=="Tab"&&t.key!=="Shift"){this.setInputError(this.pageInputEl,"Please enter a number",false);this.pageInputTooltipEl.displayTooltip(true,false)}};this.itemsPerPageLabelClickHandler=()=>{this.focusElFromLabel("ic-select")};this.paginationShouldWrap=()=>{if(this.type==="simple"){this.paginationWrapped=this.paginationEl.clientHeight>63}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const{clientWidth:t}=this.paginationBarEl;if(t-this.paginationWidth>50||t-this.paginationWidth<-50){this.paginationWidth=t;this.paginationShouldWrap()}}));this.resizeObserver.observe(this.paginationBarEl)};this.setInputError=(t,i,e=true)=>{this.inputError=i;t.validationStatus="error";if(e)t.setFocus()};this.setToFirstPage=()=>{var t;const i=1;this.changePage(i);(t=this.paginationEl)===null||t===void 0?void 0:t.setCurrentPage(i);this.activePage=i;this.icPageChange.emit({value:i})};this.setItemsPerPage=t=>{if(this.itemsPerPage!==t){this.itemsPerPage=t;this.itemsPerPageString=t.toString();this.icItemsPerPageChange.emit({value:this.itemsPerPage});if(this.setToFirstPageOnPaginationChange){this.setToFirstPage()}}this.totalPages=this.totalItems>this.itemsPerPage?Math.ceil(this.totalItems/this.itemsPerPage):1;this.setUpperBound();if(this.activePage>this.totalPages){this.paginationEl.setCurrentPage(this.totalPages);this.activePage=this.totalPages}this.icPageChange.emit({value:this.activePage,fromItemsPerPage:true})};this.setPaginationBarContent=()=>{const t=this.itemsPerPageOptions?JSON.parse(JSON.stringify(this.itemsPerPageOptions)):null;const i=t||(this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"}]);!this.hideAllFromItemsPerPage&&i.push({label:"All",value:String(this.totalItems)});this.displayedItemsPerPageOptions=i.filter((({value:t})=>this.totalItems>=Number(t)));let e=0;const s=this.displayedItemsPerPageOptions.some((({value:t})=>{e=Number(t);return this.itemsPerPage<=e}));this.setItemsPerPage(s||!s&&this.itemsPerPage>e?e:this.itemsPerPage)};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+this.itemsPerPage-1,this.totalItems)};this.handleButtonAppearance=()=>{if(this.monochrome){if(this.theme==="dark"||this.theme==="inherit"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches){return"light"}else{return"dark"}}else{return"default"}};this.capitalizedItemLabel=undefined;this.capitalizedPageLabel=undefined;this.activePage=1;this.displayedItemsPerPageOptions=undefined;this.inputError="Please enter a valid page";this.itemsPerPage=0;this.itemsPerPageString="0";this.lowerBound=1;this.lowerCaseItemLabel=undefined;this.lowerCasePageLabel=undefined;this.paginationWidth=undefined;this.paginationWrapped=false;this.totalPages=undefined;this.upperBound=undefined;this.alignment="right";this.currentPage=1;this.hideAllFromItemsPerPage=false;this.itemLabel="Item";this.itemsPerPageOptions=undefined;this.monochrome=false;this.theme="inherit";this.type="simple";this.rangeLabelType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.hideRangeLabel=false;this.showItemsPerPageControl=false;this.totalItems=undefined;this.setToFirstPageOnPaginationChange=false}watchPageNumberHandler(){this.activePage=this.currentPage}watchItemLabelHandler(){this.capitalizedItemLabel=r(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(t,i){if(JSON.stringify(t)===JSON.stringify(i))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=r(this.pageLabel);this.lowerCasePageLabel=this.pageLabel.toLowerCase()}watchTotalItemsHandler(){this.setPaginationBarContent()}watchSetToFirstPageOnPaginationChange(){this.setPaginationBarContent()}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.watchPageNumberHandler();this.watchPageLabelHandler();this.watchItemLabelHandler();this.setPaginationBarContent()}componentDidLoad(){var t,i;this.paginationWidth=this.paginationBarEl.clientWidth;o(this.runResizeObserver);const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(e){const t=(i=e===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input");if(t){t.style.textAlign="center";t.style.padding="0"}}this.paginationShouldWrap()}pageChangeHandler(t){const i=t.detail.value;this.changePage(i)}render(){const{alignment:t,displayedItemsPerPageOptions:s,PAGE_INPUT_FIELD_ID:a,type:n,rangeLabelType:h,hideRangeLabel:l,showItemsPerPageControl:r,showGoToPageControl:o,pageLabel:c,capitalizedPageLabel:p,lowerCasePageLabel:g,capitalizedItemLabel:d,lowerCaseItemLabel:m,totalPages:u,activePage:f,itemsPerPageString:b,theme:v,monochrome:x}=this;return i(e,{class:{[`ic-theme-${v}`]:v!=="inherit"}},i("div",{class:{["pagination-bar"]:true,[`pagination-bar-${t}`]:true},ref:t=>this.paginationBarEl=t},(!l||r)&&i("div",{class:"item-controls"},r&&i("div",{class:"items-per-page-holder"},i("ic-typography",{class:{["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},d,"s per ",g),i("ic-select",{theme:v,size:"small",label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:s,value:b,onIcChange:this.changeItemsPerPage,ref:t=>this.pageDropdownEl=t})),!l&&(h==="data"?i("ic-typography",{class:{["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.upperBound===0&&`0 ${m}s`,this.upperBound>0&&`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${m}${this.totalItems>1?"s":""}`):i("ic-typography",{class:{["page-pagination-label"]:true},variant:"label","aria-live":"polite"},p," ",f," of ",u))),i("div",{class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},i("div",{class:"pagination-holder"},i("ic-pagination",{type:n,pages:u,label:c,ref:t=>this.paginationEl=t,currentPage:f,theme:v,monochrome:x})),o&&i("div",{class:"go-to-page-holder"},i("ic-typography",{variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",g),i("ic-tooltip",{label:this.inputError,target:`#${a}`,disableHover:true,disableClick:true,ref:t=>this.pageInputTooltipEl=t},i("ic-text-field",{theme:v,type:"number",size:"small",label:a,class:a,id:a,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:u,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:t=>this.pageInputEl=t})),i("ic-button",{appearance:this.handleButtonAppearance(),variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go")))))}get el(){return s(this)}static get watchers(){return{currentPage:["watchPageNumberHandler"],itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"],setToFirstPageOnPaginationChange:["watchSetToFirstPageOnPaginationChange"]}}};d.style=g;export{p as ic_empty_state,d as ic_pagination_bar};
|
2
|
+
//# sourceMappingURL=p-361da840.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","hostMutationObserver","aligned","body","undefined","maxLines","heading","imageSize","subheading","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","h","Host","class","name","variant","icPaginationBarCss","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","changeItemsPerPage","setItemsPerPage","Number","pageDropdownEl","value","changePage","page","activePage","lowerBound","itemsPerPage","setUpperBound","focusElFromLabel","paginationBarEl","querySelector","setFocus","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","emit","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","key","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","type","paginationWrapped","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","error","focus","inputError","setToFirstPage","firstPage","newValue","itemsPerPageString","toString","icItemsPerPageChange","setToFirstPageOnPaginationChange","totalItems","Math","ceil","fromItemsPerPage","setPaginationBarContent","clonedItemsPerPageOptions","itemsPerPageOptions","JSON","parse","stringify","displayedItemsPerPageOptions","label","hideAllFromItemsPerPage","push","String","filter","lastOptionValue","updated","some","upperBound","min","handleButtonAppearance","monochrome","theme","window","matchMedia","matches","watchPageNumberHandler","currentPage","watchItemLabelHandler","capitalizedItemLabel","capitalize","itemLabel","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","watchPageLabelHandler","capitalizedPageLabel","pageLabel","lowerCasePageLabel","watchTotalItemsHandler","watchSetToFirstPageOnPaginationChange","componentWillLoad","checkResizeObserver","shadowRoot","_b","style","textAlign","padding","pageChangeHandler","detail","alignment","rangeLabelType","hideRangeLabel","showItemsPerPageControl","showGoToPageControl","ref","onClick","size","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus","appearance"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n","import { h, Host } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderDynamicChildSlots, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n this.aligned = \"left\";\n this.body = undefined;\n this.maxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"medium\";\n this.subheading = undefined;\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { name: \"image\" }), h(\"div\", null, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, heading)), h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)), h(\"slot\", { name: \"body\" }, h(\"ic-typography\", { maxLines: maxLines }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { class: \"action-area\" }, h(\"slot\", { name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\"\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"maxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the image or icon used in the image slot.\"\n },\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n --ic-typography-color: var(--ic-pagination-select-content);\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.items-per-page-control-label {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport { IcPageChangeEventDetail } from \"./ic-pagination-bar.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() activePage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 0;\n\n @State() itemsPerPageString: string = \"0\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * The current page number to be displayed on the pagination bar.\n */\n @Prop() currentPage?: number = 1;\n\n @Watch(\"currentPage\")\n watchPageNumberHandler(): void {\n this.activePage = this.currentPage;\n }\n\n /**\n * If `true`, the 'All' option will be hidden from the 'items per page' select input.\n */\n @Prop() hideAllFromItemsPerPage?: boolean = false;\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel);\n this.lowerCaseItemLabel = this.itemLabel.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * If `true`, the pagination bar will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel);\n this.lowerCasePageLabel = this.pageLabel.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n If `true`, the pagination bar is set to the first page when the 'items per page' changes\n */\n @Prop() setToFirstPageOnPaginationChange?: boolean = false;\n\n @Watch(\"setToFirstPageOnPaginationChange\")\n watchSetToFirstPageOnPaginationChange(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring.\n */\n @Event() icPageChange: EventEmitter<IcPageChangeEventDetail>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageNumberHandler();\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.activePage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl.setCurrentPage(page);\n this.activePage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setToFirstPage = () => {\n const firstPage = 1;\n this.changePage(firstPage);\n this.paginationEl?.setCurrentPage(firstPage);\n this.activePage = firstPage;\n this.icPageChange.emit({ value: firstPage });\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n\n if (this.setToFirstPageOnPaginationChange) {\n this.setToFirstPage();\n }\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.activePage > this.totalPages) {\n this.paginationEl.setCurrentPage(this.totalPages);\n this.activePage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });\n };\n\n private setPaginationBarContent = (): void => {\n const clonedItemsPerPageOptions: {\n label: string;\n value: string;\n }[] = this.itemsPerPageOptions\n ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))\n : null;\n\n const displayedItemsPerPageOptions =\n clonedItemsPerPageOptions ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n !this.hideAllFromItemsPerPage &&\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n private handleButtonAppearance = () => {\n if (this.monochrome) {\n if (\n this.theme === \"dark\" ||\n (this.theme === \"inherit\" &&\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches)\n ) {\n return \"light\";\n } else {\n return \"dark\";\n }\n } else {\n return \"default\";\n }\n };\n\n render() {\n const {\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n activePage,\n itemsPerPageString,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n theme={theme}\n size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) =>\n (this.pageDropdownEl = el)\n }\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {activePage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n currentPage={activePage}\n theme={theme}\n monochrome={monochrome}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n theme={theme}\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) =>\n (this.pageInputEl = el)\n }\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={this.handleButtonAppearance()}\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as i,c as t,h as a,H as s,g as e}from"./p-8455d1bb.js";import{c as n}from"./p-e081702e.js";import{C as o}from"./p-170ddfc2.js";import{y as r,D as l,i as d,F as p,e as c,g as h,f as v,b as g,u as m,I as b,d as u}from"./p-fa002d21.js";const y=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">\n <path d="M0 0h24v24H0V0z" fill="none" />\n <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />\n <title>menu icon</title>\n</svg>\n`;const x=':host{display:block;--ic-typography-color:currentcolor;--side-navigation-position:fixed;--side-navigation-position-left:0;--side-navigation-position-top:var(--ic-space-xxl);--side-navigation-height:var(--ic-space-xxl);--sm-side-navigation-top-bar-height:3.5rem;--sm-side-navigation-collapsed-labels-width:6rem;--sm-side-navigation-expand-transition-duration:var(\n --ic-transition-duration-slow\n );--side-navigation-width:20rem;--sm-side-navigation-bottom-bar-height:3.5rem;--keyline-lighten:var(--ic-space-1px) solid var(--ic-side-navigation-keyline);--keyline-darken:var(--ic-space-1px) solid var(--ic-state-layer-darken-20);--ic-button-secondary-text-monochrome:var(--ic-brand-text-color);--ic-button-secondary-border-monochrome:var(--ic-brand-text-color);z-index:var(--ic-z-index-side-navigation)}:host>*{box-sizing:border-box}.side-navigation{display:flex;flex-direction:column;width:var(--side-navigation-width);color:var(--ic-side-navigation-text);position:var(--side-navigation-position);top:var(--side-navigation-position-top);left:calc(var(--side-navigation-width) * -1);bottom:0;background-color:var(--ic-side-navigation-background);z-index:var(--ic-z-index-side-navigation)}:host(.ic-side-navigation-inline) .side-navigation{position:absolute;height:100%}:host(.anchor-right) .side-navigation{right:calc(var(--side-navigation-width) * -1)}.classification-spacing{margin-bottom:var(--ic-space-lg)}.navigation-list{padding:0;margin:0;list-style:none}.side-navigation-inner{background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column;flex:1 1 0;overflow:auto}:host(.ic-side-navigation-inline) .side-navigation-inner{flex:1}:host(.xs-menu-open) .side-navigation{transition:left var(--ic-easing-transition-slow);left:0}:host(:has(.xs-menu-open,.xs-menu-close)) ::slotted(ic-navigation-item){--navigation-item-side-nav-right:var(--ic-space-xl)}:host(.xs-menu-close) .side-navigation{left:calc(var(--side-navigation-width) * -1);transition:left var(--ic-easing-transition-slow)}:host(.xs-menu-close) .side-navigation>*{visibility:hidden}:host(.anchor-right.xs-menu-open) .side-navigation{right:0;left:auto}:host(.anchor-right.xs-menu-close) .side-navigation{right:calc(var(--side-navigation-width) * -1);left:auto;transition:right var(--ic-easing-transition-slow)}.bottom-wrapper{border-top:var(--keyline-lighten);bottom:0;left:0;z-index:2;box-shadow:-0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column}:host(.ic-side-navigation-inline) .bottom-wrapper{position:sticky}:host(.ic-side-navigation-dark) .bottom-wrapper{border-top:var(--keyline-darken)}.top-bar{display:flex;flex-direction:row;align-items:center;min-height:var(--side-navigation-height);padding:var(--ic-space-xs);box-sizing:border-box;background-color:var(--ic-side-navigation-background);position:fixed;top:0;left:0;right:0;border-bottom:var(--keyline-lighten);box-shadow:var(--ic-elevation-overlay);z-index:2;overflow:hidden;visibility:visible}:host(.ic-side-navigation-inline) .top-bar{position:absolute}:host(.ic-side-navigation-dark) .top-bar{border-bottom:var(--keyline-darken)}.top-bar.dark a:focus{box-shadow:var(--ic-border-focus)}.app-title-wrapper{display:flex;margin-left:var(--ic-space-xs);border-left:var(--keyline-lighten);padding-left:var(--ic-space-xxs);color:var(--ic-side-navigation-text);align-items:center}:host(.ic-side-navigation-dark) .app-title-wrapper{border-left:var(--keyline-darken)}.app-title-wrapper ic-typography h1{margin:0}@media screen and (min-width: 340px){.app-title-wrapper ic-typography{margin-left:var(--ic-space-xs)}}:host .title-link{display:flex;align-items:center;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);text-decoration:none;padding:var(--ic-space-xxs);color:var(--ic-side-navigation-text)}:host .title-link:visited,:host .title-link:active{color:var(--ic-side-navigation-text)}slot[name="app-title"]::slotted(a),slot[name="app-icon"]::slotted(a){color:var(--ic-side-navigation-text);outline:none;text-decoration:none;display:flex}slot[name="app-title"]::slotted(ic-typography),slot[name="app-title"]::slotted(a){margin-left:var(--ic-space-xs) !important}slot[name="app-title"]::slotted(a){font:var(--ic-font-subtitle-small)}@media screen and (min-width: 577px){:host(.sm-collapsed) slot[name="app-title"]::slotted(ic-typography),:host(.sm-collapsed) slot[name="app-title"]::slotted(a){position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-expanded) slot[name="app-title"]::slotted(a){font:var(--ic-font-h3) !important;font-weight:var(--ic-font-weight-semibold) !important;margin-left:var(--ic-space-xs) !important}}:host .title-link:hover{border-radius:var(--ic-border-radius);background-color:var(--ic-side-navigation-hover)}:host .title-link:active{background-color:var(--ic-side-navigation-pressed)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);background-color:transparent}:host .title-link ic-typography{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-title-wrapper ::slotted(svg){fill:var(--ic-side-navigation-text)}.app-icon-container{display:none}.button-label{display:flex;align-items:center}.mobile-top-bar-menu-icon{display:flex}.menu-button{width:6.5rem}.app-status-wrapper{inset:0 var(--ic-space-sm) 0 3.5rem;width:auto;display:flex;gap:var(--ic-space-xs);padding:var(--ic-space-sm) 0;justify-content:flex-end;align-items:flex-end;pointer-events:none;height:-moz-fit-content;height:fit-content;margin:0 var(--ic-space-xs)}.app-status-wrapper .app-version{display:flex;overflow-wrap:break-word;padding-bottom:var(--ic-space-xxs)}.app-status-wrapper .app-status{display:flex;border-radius:1rem;background-color:var(--ic-side-navigation-text);color:var(--ic-side-navigation-status-tag-text);padding:var(--ic-space-xxs) var(--ic-space-lg);min-width:1rem}.app-status-wrapper .app-status-text{overflow-wrap:break-word}:host(.ic-side-navigation-dark) .app-status-wrapper .app-status{--ic-typography-color:var(--ic-architectural-white)}.navigation-landmark-title{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}::slotted(ic-navigation-group){--navigation-group-height:2.75rem;--navigation-group-width:100%;--navigation-group-justify-content:space-between;--navigation-group-hover:var(--ic-side-navigation-hover);--navigation-group-text-hover:var(--ic-side-navigation-text);--navigation-item-child-height:3.5rem;--navigation-item-child-active:var(--ic-action-dark-bg-pressed);--navigation-item-child-color:var(--ic-side-navigation-text);--navigation-group-expand-toggle-padding:0.25rem}::slotted(ic-navigation-item),::slotted(ic-navigation-group){--navigation-item-justify-content:flex-start;--navigation-item-min-height:56px;--navigation-item-height:auto}.bottom-side-nav{position:relative;align-content:flex-end;min-height:var(--sm-side-navigation-top-bar-height)}.bottom-side-nav ic-divider{position:absolute;top:0}.primary-navigation{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.primary-navigation::-webkit-scrollbar{display:none}.primary-navigation,.secondary-navigation{overflow-x:hidden}.bottom-side-nav .menu-expand-button{position:absolute;display:none}.menu-visibility-visible{visibility:visible;width:100%}.app-title-show{min-width:15.5rem}:host(.side-display){display:flex;flex-direction:column;height:100vh;position:var(--side-navigation-position);left:0;top:0;bottom:0}:host(.side-display) .app-icon-container{height:40px;display:flex;align-items:center}:host(.side-display) .top-bar{--side-navigation-height:var(--sm-side-navigation-top-bar-height);position:relative;padding:0;box-shadow:-0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.ic-side-navigation-inline.side-display) .top-bar{position:sticky}:host(.anchor-right.side-display) .top-bar{box-shadow:0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.anchor-right.side-display) .bottom-wrapper{box-shadow:0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.side-display) .side-navigation,:host(.side-display) .top-bar{width:var(--sm-side-navigation-top-bar-height)}:host(.sm-collapsed.side-display){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.collapsed-labels.side-display){width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-expanded.side-display){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow);box-shadow:var(--ic-elevation-overlay)}:host(.side-display) .side-navigation{--side-navigation-position-top:0;flex:1;position:relative;top:auto;left:auto;bottom:auto}:host(.ic-side-navigation-inline.side-display) .side-navigation{position:relative}:host(.anchor-right.side-display) .side-navigation{left:auto;right:0}:host(.side-display) .app-title-wrapper{margin-left:0;border-left:none;padding:var(--ic-space-xs) var(--ic-space-sm)}:host(.side-display) .app-title-wrapper ::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.side-display) .app-title-wrapper ic-typography{font-weight:var(--ic-font-weight-semibold)}:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography{position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-expanded.side-display) ic-typography{position:relative;left:0}:host(.sm-expanded.side-display) :is(.side-navigation,.top-bar){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.side-display) :is(.side-navigation,.top-bar){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation,.top-bar){left:auto;right:0}:host(.side-display) .app-status-wrapper,:host(.sm-collapsed.side-display) .app-status-wrapper{display:none;margin-left:0}:host(.sm-expanded.side-display) .app-status-wrapper{display:flex;max-width:16rem;margin-right:calc(var(--ic-space-xxxs) + var(--ic-space-xs))}:host(.side-display) .bottom-side-nav{justify-items:flex-end;align-items:flex-end;justify-content:flex-end;display:flex;outline:none}:host(.side-display) .bottom-side-nav .menu-expand-button{padding-left:var(--ic-space-md);height:var(--sm-side-navigation-top-bar-height);width:100%;color:var(--ic-side-navigation-text);background-color:transparent;outline:var(--ic-hc-focus-outline);border:none;cursor:pointer;display:flex;transition:var(--ic-easing-transition-fast)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button{height:100%}:host(.side-display) .bottom-side-nav .menu-expand-button svg{justify-items:flex-start;align-self:center;display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.side-display) .bottom-side-nav .menu-expand-button:hover{background-color:var(--ic-side-navigation-hover)}:host(.side-display) .bottom-side-nav .menu-expand-button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1);transition:transform var(--ic-easing-transition-slow)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1);transition:transform var(--ic-easing-transition-slow);align-self:flex-end;margin-bottom:0.875rem}:host(.anchor-right.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1)}:host(.anchor-right.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1)}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item){--navigation-item-label-opacity:1}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:0;--navigation-item-min-height:3.5rem;--navigation-item-height:3.5rem}:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:1;--navigation-item-height:auto;--navigation-item-min-height:3.5rem;--navigation-item-width:20rem;--navigation-item-side-nav-right:var(--ic-space-xl)}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:absolute;--navigation-group-title-position-left:-9999px;--navigation-group-title-opacity:none}:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:relative;--navigation-group-title-position-left:0;--navigation-group-expand-toggle-padding:0.25rem;--navigation-group-title-opacity:flex}:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,:host(.sm-collapsed.collapsed-labels.side-display) .top-bar{width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button{padding:0}:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper{width:100%;justify-content:center}:host(.sm-collapsed.collapsed-labels.side-display) ::slotted(ic-navigation-group){--navigation-group-justify-content:center;--navigation-item-label-opacity:1;--navigation-group-item-min-width:100%;--navigation-group-expand-toggle-padding:1rem}:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button{justify-content:center}:host(.side-display) .collapsed-icon-labels-start{visibility:hidden;opacity:0}:host(.side-display) .collapsed-icon-labels-end{visibility:visible;opacity:1;transition:visibility 0s, opacity var(--ic-easing-transition-slow)}@media screen and (max-width: 419px){.top-bar{height:var(--side-navigation-height)}.side-navigation{width:100%}}@media screen and (min-width: 340px){.app-icon-container{display:flex}}@media screen and (min-width: 993px){:host(.side-display){position:sticky;left:auto;top:0;bottom:0}:host(.sm-expanded.side-display){box-shadow:none}}@media (forced-colors: active){.side-navigation,.top-bar{border-right:var(--ic-border-hc)}.menu-expand-button{color:Highlight !important}slot[name="app-icon"]::slotted(svg){fill:currentcolor}}';const f=class{constructor(s){i(this,s);this.icSideNavExpanded=t(this,"icSideNavExpanded",7);this.ANIMATION_DURATION=parseInt(r("--ic-transition-duration-slow"))||0;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.resizeObserver=null;this.COLLAPSED_ICON_LABELS_END="collapsed-icon-labels-end";this.COLLAPSED_ICON_LABELS_START="collapsed-icon-labels-start";this.menuButton=null;this.emitSideNavigationExpanded=i=>{this.icSideNavExpanded.emit({sideNavExpanded:i.sideNavExpanded,sideNavMobile:i.sideNavMobile})};this.toggleMenu=()=>{this.menuOpen=!this.menuOpen;this.setMobileMenuAriaAttributes(this.menuOpen);this.arrangeSlottedNavigationItem(this.menuOpen);this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);this.emitSideNavigationExpanded({sideNavExpanded:this.menuOpen,sideNavMobile:true})};this.setToggleMenuFlyoutMenuVisibility=i=>{const t=this.el.shadowRoot.querySelector("#side-navigation");const a=t.querySelector(".side-navigation-inner");const s=t.querySelector(".bottom-wrapper");const e="menu-visibility-visible";if(i){s.classList.add(e);a.classList.add(e)}else{setTimeout((()=>{a.classList.remove(e);s.classList.remove(e)}),this.ANIMATION_DURATION)}};this.setMobileMenuAriaAttributes=i=>{if(this.menuButton!==null){this.menuButton.setAttribute("aria-expanded",`${i}`);this.menuButton.setAttribute("aria-label",`${i?"Close":"Open"} navigation menu`)}};this.setAndRemoveNoWrapAfterMenuExpanded=()=>{const i=this.el.shadowRoot.querySelector(".title-link ic-typography")||this.el.querySelector("[slot='app-title']");i.classList.add("ic-typography-no-wrap");setTimeout((()=>{i.classList.remove("ic-typography-no-wrap")}),this.ANIMATION_DURATION)};this.toggleMenuExpanded=i=>{if(this.deviceSize>l.S){this.menuExpanded=i}if(this.menuExpanded){this.setAndRemoveNoWrapAfterMenuExpanded();this.el.shadowRoot.querySelector(".app-title-inner-wrapper").classList.add("app-title-show")}else{this.el.style.setProperty("--navigation-item-width","320px");this.el.shadowRoot.querySelector(".app-title-inner-wrapper").classList.remove("app-title-show");this.el.addEventListener("transitionend",(i=>{if(i.propertyName==="width"){this.el.style.setProperty("--navigation-item-width",null)}}))}this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);if(this.collapsedIconLabels){this.animateCollapsedIconLabels()}this.setExpandedButtonHeight();this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded})};this.arrangeSlottedNavigationItem=i=>{const t=this.el.querySelectorAll("ic-navigation-item");t.forEach((t=>{const a=d(t,"navigation-item");const s=t.children[0]&&!t.children[0].getAttribute("slot");if(a||s){let s;if(a){s=t.querySelector("[slot='navigation-item']")}else{s=t.children[0]}const e=document.createElement("div");const n=s.querySelector("svg");const o=t.textContent.trim();const r=document.createElement("ic-typography");r.classList.add("ic-typography-label","hydrated","navigation-item-side-nav-slotted-text");e.style.height="var(--ic-space-lg)";e.append(n);s.textContent="";r.textContent=o;s.append(e);s.append(r);if(this.collapsedIconLabels){this.styleSlottedCollapsedIconLabels(i,r)}else{this.styleSlottedIconLabels(i,r)}}}))};this.styleSlottedCollapsedIconLabels=(i,t)=>{if(i){t.style.marginTop="0";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}else{t.style.marginTop="10px";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}};this.setExpandedButtonHeight=()=>{const i=this.el.shadowRoot.querySelector("#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper");if(i.offsetHeight!==0){this.el.style.setProperty("--sm-side-navigation-bottom-bar-height",`${i.offsetHeight}px`)}};this.styleSlottedIconLabels=(i,t)=>{if(i){t.style.opacity="1";t.style.visibility="visible";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}else{t.style.opacity="0";t.style.visibility="hidden";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}};this.transitionHandler=i=>{const t=this.el.shadowRoot.querySelector(".primary-navigation");const a=this.el.shadowRoot.querySelector(".bottom-wrapper > .secondary-navigation");const s=i==="start"?this.COLLAPSED_ICON_LABELS_END:this.COLLAPSED_ICON_LABELS_START;const e=i==="start"?this.COLLAPSED_ICON_LABELS_START:this.COLLAPSED_ICON_LABELS_END;if(t){t.classList.remove(s);t.classList.add(e)}if(a){a.classList.remove(s);a.classList.add(e)}};this.transitionEndHandler=()=>{this.transitionHandler("end")};this.animateCollapsedIconLabels=()=>{this.transitionHandler("start");this.transitionEndHandler();this.el.addEventListener("transitionend",this.transitionEndHandler)};this.paddingIconWidth=i=>{const t=i[0].shadowRoot&&(i[0].shadowRoot.querySelector("ic-tooltip a")||i[0].shadowRoot.querySelector("ic-tooltip div"))||i[0].querySelector("a")||i[0].querySelector("div");const a=i[0].querySelector("svg");const s={gap:window.getComputedStyle(t).gap,iconWidth:window.getComputedStyle(a).width,paddingLeft:window.getComputedStyle(t).paddingLeft};return Object.values(s).reduce(((i,t)=>i+=parseInt(t)),0)};this.displayTooltipWithExpandedLongLabel=i=>{let t;if(i){t=setTimeout((()=>{const i=this.el.clientWidth;const t=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));const a=t.length?this.paddingIconWidth(t):0;t.forEach((t=>{var s,e;const n=((s=t.shadowRoot&&t.shadowRoot.querySelector("ic-tooltip .link ic-typography.ic-typography-label"))===null||s===void 0?void 0:s.scrollWidth)||((e=t.querySelector("ic-typography.ic-typography-label"))===null||e===void 0?void 0:e.scrollWidth);if(n>i-a){t.setAttribute("display-navigation-tooltip","true")}}))}),this.ANIMATION_DURATION)}else{clearTimeout(t);const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("display-navigation-tooltip","false")}))}};this.setMenuExpanded=i=>{this.menuExpanded=i};this.setParentPaddingTop=i=>{this.el.parentElement.style.setProperty("padding-top",i)};this.setParentPaddingLeft=i=>{this.el.parentElement.style.setProperty("padding-left",i)};this.renderAppTitle=i=>{const t=this.deviceSize<=l.S&&!p(this.shortAppTitle);return a("ic-typography",{variant:t||i?"subtitle-small":"h3","aria-label":t?`${this.appTitle} (${this.shortAppTitle})`:undefined},a("h1",null,t?this.shortAppTitle:this.appTitle))};this.resizeObserverCallback=i=>{var t;this.deviceSize=i;const a=i===l.S&&!this.disableTopBarBehaviour;if(!this.disableAutoParentStyling){const i=(t=this.el.shadowRoot.querySelector(".top-bar"))===null||t===void 0?void 0:t.scrollHeight;this.setParentPaddingTop(a?`${i}px`:"0");if(a)this.setParentPaddingLeft("0");if(a&&this.inline){this.el.parentElement.style.setProperty("height",`calc(100% - ${i}px)`)}else if(!a){this.el.parentElement.style.setProperty("height","100%")}}if(!this.disableAutoParentStyling){const t=`calc(var(--ic-space-xxl) ${this.collapsedIconLabels?"* 2":"+ var(--ic-space-xs)"})`;if(i>l.L){this.setParentPaddingTop("0");this.setParentPaddingLeft("0")}else if((i>l.S||this.disableTopBarBehaviour)&&i<=l.M&&this.static){this.setParentPaddingLeft(t)}else if((i>l.S||this.disableTopBarBehaviour)&&i<=l.L){this.setParentPaddingLeft(this.static&&this.menuExpanded?"calc(var(--ic-space-xl) * 10)":t)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=c();this.deviceSizeAppTitle=i;this.resizeObserverCallback(i)}));this.resizeObserver.observe(document.body,{box:"content-box"})};this.setCollapsedIconLabels=()=>{const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("collapsed-icon-label","true")}))};this.styleSlottedCollapsedIconLabel=()=>{const i=Array.from(this.el.querySelectorAll(".navigation-item-side-nav-slotted-text"));i.forEach((i=>{var t,a;if((a=(t=i===null||i===void 0?void 0:i.parentElement)===null||t===void 0?void 0:t.parentElement)===null||a===void 0?void 0:a.classList.contains("navigation-item-side-nav-collapsed-with-label")){i.style.whiteSpace="nowrap";i.style.overflow="hidden";i.style.textOverflow="ellipsis";i.style.marginTop="10px"}}))};this.renderTopBar=({isSDevice:i,foregroundColor:t,menuOpen:s,href:e,isAppNameSubtitleVariant:o})=>{const r=this.appTitle!==""&&u(this.appTitle);const l=d(this.el,"app-title")?"div":"a";const p=l=="a"&&{href:e};return a("div",{class:{"top-bar":true,[this.foregroundColor]:true}},i&&a("nav",{"aria-labelledby":"menu-navigation-toggle-button-landmark","aria-hidden":"false"},a("ic-button",{"aria-label":"Open navigation menu",class:"menu-button",id:"menu-button",variant:"secondary",size:"small","full-width":"true",theme:t=="default"||t=="light"?"light":"dark",monochrome:true,onClick:this.toggleMenu,ariaOwnsId:"side-navigation","aria-haspopup":"true","aria-expanded":"false",ref:i=>this.menuButton=i},a("span",{class:"mobile-top-bar-menu-icon",slot:"left-icon",innerHTML:s?n:y}),s?"Close":"Menu"),a("span",{id:"menu-navigation-toggle-button-landmark",class:"navigation-landmark-title","aria-hidden":"true"},"Navigation menu toggle button")),a("div",{class:"app-title-wrapper"},(r||d(this.el,"app-title"))&&a(l,Object.assign({},p,{class:"title-link"}),a("div",{class:"app-icon-container","aria-hidden":"true"},a("slot",{name:"app-icon"})),a("div",{class:"app-title-inner-wrapper"},d(this.el,"app-title")?a("slot",{name:"app-title"}):this.renderAppTitle(o)))))};this.deviceSize=c();this.deviceSizeAppTitle=l.S;this.foregroundColor=h();this.hasSecondaryNavigation=false;this.menuExpanded=false;this.menuOpen=false;this.appTitle=undefined;this.collapsedIconLabels=false;this.disableAutoParentStyling=false;this.disableTopBarBehaviour=false;this.expanded=false;this.href="/";this.inline=false;this.shortAppTitle="";this.static=false;this.status=undefined;this.version=undefined}watchExpandedHandler(){this.toggleMenuExpanded(this.expanded)}componentWillLoad(){this.setMenuExpanded(this.expanded);if(this.collapsedIconLabels){this.setCollapsedIconLabels()}this.hasSecondaryNavigation=d(this.el,"secondary-navigation")}componentDidLoad(){this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:this.deviceSize===l.S&&!this.disableTopBarBehaviour});v(this.runResizeObserver);this.styleSlottedCollapsedIconLabel();this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);this.setExpandedButtonHeight();!d(this.el,"app-title")&&g([{prop:this.appTitle,propName:"app-title"}],"Side Navigation")}disconnectedCallback(){var i;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(i=this.el)===null||i===void 0?void 0:i.removeEventListener("transitionend",this.transitionEndHandler)}brandChangeHandler({detail:i}){this.foregroundColor=i.mode}render(){const{appTitle:i,menuOpen:t,foregroundColor:e,menuExpanded:n,href:r,status:p,version:c,collapsedIconLabels:h,inline:v}=this;const g=!this.disableTopBarBehaviour&&this.deviceSize===l.S;const u=this.deviceSize===l.M;const y=this.deviceSize>=l.L;const x=this.deviceSizeAppTitle===l.S;const f=u||this.disableTopBarBehaviour||y&&!this.static;const w={isSDevice:g,foregroundColor:e,menuOpen:t,href:r,isAppNameSubtitleVariant:x,appTitle:i};return a(s,{class:{"xs-menu-open":t&&g,"xs-menu-close":!t&&g,"sm-collapsed":!g&&!n,"sm-expanded":!g&&n,"side-display":this.deviceSize>l.S||this.disableTopBarBehaviour,[`ic-side-navigation-${b.Dark}`]:e===b.Dark,["collapsed-labels"]:!g&&!n&&h,["ic-side-navigation-inline"]:v}},g&&this.renderTopBar(Object.assign({},w)),a("div",{class:"side-navigation",id:"side-navigation"},!g&&this.renderTopBar(Object.assign({},w)),a("div",{class:"side-navigation-inner"},d(this.el,"primary-navigation")&&a("nav",{class:"primary-navigation","aria-labelledby":"primary-navigation-landmark"},a("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"primary-navigation-landmark"},"Primary"),a("ul",{class:"navigation-list"},a("slot",{name:"primary-navigation"})))),a("div",{class:{["bottom-wrapper"]:true,["classification-spacing"]:m()}},d(this.el,"secondary-navigation")&&a("nav",{class:"secondary-navigation","aria-labelledby":"secondary-navigation-landmark"},a("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"secondary-navigation-landmark"},"Secondary"),a("ul",{class:"navigation-list"},a("slot",{name:"secondary-navigation"}))),a("div",{class:"bottom-side-nav"},this.hasSecondaryNavigation&&a("ic-divider",null),f&&a("button",{class:"menu-expand-button",innerHTML:o,onClick:()=>this.toggleMenuExpanded(!this.menuExpanded),"aria-label":`${n?"Collapse":"Expand"} side navigation`}),a("div",{class:"app-status-wrapper"},p!==""&&a("div",{class:{["app-status"]:true}},a("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},p)),c!==""&&a("ic-typography",{variant:"label",class:"app-version","aria-label":"app version"},c))))))}get el(){return e(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};f.style=x;export{f as ic_side_navigation};
|
2
|
+
//# sourceMappingURL=p-3f182d5d.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icSideNavigationCss","SideNavigation","constructor","hostRef","this","ANIMATION_DURATION","parseInt","getCssProperty","IC_NAVIGATION_ITEM","resizeObserver","COLLAPSED_ICON_LABELS_END","COLLAPSED_ICON_LABELS_START","menuButton","emitSideNavigationExpanded","objDetails","icSideNavExpanded","emit","sideNavExpanded","sideNavMobile","toggleMenu","menuOpen","setMobileMenuAriaAttributes","arrangeSlottedNavigationItem","setToggleMenuFlyoutMenuVisibility","sideNav","el","shadowRoot","querySelector","sideNavInner","bottomWrapper","menuVisibilityVisible","classList","add","setTimeout","remove","setAttribute","setAndRemoveNoWrapAfterMenuExpanded","appTitle","toggleMenuExpanded","expanded","deviceSize","DEVICE_SIZES","S","menuExpanded","style","setProperty","addEventListener","e","propertyName","displayTooltipWithExpandedLongLabel","collapsedIconLabels","animateCollapsedIconLabels","setExpandedButtonHeight","navItems","querySelectorAll","forEach","navItem","isNamedSlot","isSlotUsed","isUnnamedSlot","children","getAttribute","navItemSlot","iconWrapper","document","createElement","icon","label","textContent","trim","icTypography","height","append","styleSlottedCollapsedIconLabels","styleSlottedIconLabels","marginTop","whiteSpace","overflow","textOverflow","appStatusWrapper","offsetHeight","opacity","visibility","transition","transitionHandler","type","primaryNavigationWrapper","secondaryNavigationWrapper","classToRemove","classToAdd","transitionEndHandler","paddingIconWidth","navItemLink","navItemSVG","navStyles","gap","window","getComputedStyle","iconWidth","width","paddingLeft","Object","values","reduce","prev","curr","timer","sideNavWidth","clientWidth","navigationItems","Array","from","paddingIconDelta","length","navigationItem","_a","_b","icTypographyScrollWidth","scrollWidth","clearTimeout","setMenuExpanded","setParentPaddingTop","value","parentElement","setParentPaddingLeft","renderAppTitle","isAppNameSubtitleVariant","displayShortAppTitle","isEmptyString","shortAppTitle","h","variant","undefined","resizeObserverCallback","currSize","isSmallAndDisableTopBar","disableTopBarBehaviour","disableAutoParentStyling","topBarHeight","scrollHeight","inline","L","M","static","runResizeObserver","ResizeObserver","getCurrentDeviceSize","deviceSizeAppTitle","observe","body","box","setCollapsedIconLabels","styleSlottedCollapsedIconLabel","dynamicSlottedIcTypographyComps","contains","renderTopBar","isSDevice","foregroundColor","href","hasTitle","isPropDefined","Component","attrs","class","id","size","theme","monochrome","onClick","ariaOwnsId","ref","slot","innerHTML","closeIcon","menuIcon","assign","name","getBrandForegroundAppearance","hasSecondaryNavigation","status","version","watchExpandedHandler","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","disconnectedCallback","disconnect","removeEventListener","brandChangeHandler","detail","mode","render","isMdDevice","isLgDevice","displayExpandBtn","topBarProps","Host","IcBrandForegroundEnum","Dark","hasClassificationBanner","chevronIcon"],"sources":["../web-components/dist/collection/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","../web-components/dist/collection/components/ic-side-navigation/ic-side-navigation.js"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n box-shadow: -0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: -moz-fit-content;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-width: 100%;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: -0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport { getCurrentDeviceSize, DEVICE_SIZES, checkResizeObserver, isSlotUsed, getBrandForegroundAppearance, getCssProperty, hasClassificationBanner, onComponentRequiredPropUndefined, isEmptyString, isPropDefined, } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\nexport class SideNavigation {\n constructor() {\n this.ANIMATION_DURATION = parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n this.IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n this.resizeObserver = null;\n this.COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n this.COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n this.menuButton = null;\n this.emitSideNavigationExpanded = (objDetails) => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: objDetails.sideNavMobile,\n });\n };\n this.toggleMenu = () => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n this.arrangeSlottedNavigationItem(this.menuOpen);\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n this.setToggleMenuFlyoutMenuVisibility = (menuOpen) => {\n const sideNav = this.el.shadowRoot.querySelector(\"#side-navigation\");\n const sideNavInner = sideNav.querySelector(\".side-navigation-inner\");\n const bottomWrapper = sideNav.querySelector(\".bottom-wrapper\");\n const menuVisibilityVisible = \"menu-visibility-visible\";\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n }\n else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n this.setMobileMenuAriaAttributes = (menuOpen) => {\n if (this.menuButton !== null) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\"aria-label\", `${menuOpen ? \"Close\" : \"Open\"} navigation menu`);\n }\n };\n this.setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle = this.el.shadowRoot.querySelector(\".title-link ic-typography\") ||\n this.el.querySelector(\"[slot='app-title']\");\n appTitle.classList.add(\"ic-typography-no-wrap\");\n setTimeout(() => {\n appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n this.toggleMenuExpanded = (expanded) => {\n if (this.deviceSize > DEVICE_SIZES.S) {\n this.menuExpanded = expanded;\n }\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n this.el.shadowRoot\n .querySelector(\".app-title-inner-wrapper\")\n .classList.add(\"app-title-show\");\n }\n else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n this.el.shadowRoot\n .querySelector(\".app-title-inner-wrapper\")\n .classList.remove(\"app-title-show\");\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n this.arrangeSlottedNavigationItem = (menuExpanded) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot = navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n }\n else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot.querySelector(\"svg\");\n const label = navItem.textContent.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\"ic-typography-label\", \"hydrated\", \"navigation-item-side-nav-slotted-text\");\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n iconWrapper.append(icon);\n navItemSlot.textContent = \"\";\n icTypography.textContent = label;\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(menuExpanded, icTypography);\n }\n else {\n this.styleSlottedIconLabels(menuExpanded, icTypography);\n }\n }\n });\n };\n this.styleSlottedCollapsedIconLabels = (menuExpanded, icTypography) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n this.setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot.querySelector(\"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\");\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\"--sm-side-navigation-bottom-bar-height\", `${appStatusWrapper.offsetHeight}px`);\n }\n };\n this.styleSlottedIconLabels = (menuExpanded, icTypography) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n this.transitionHandler = (type) => {\n const primaryNavigationWrapper = this.el.shadowRoot.querySelector(\".primary-navigation\");\n const secondaryNavigationWrapper = this.el.shadowRoot.querySelector(\".bottom-wrapper > .secondary-navigation\");\n const classToRemove = type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n const classToAdd = type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n this.transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n this.animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n this.paddingIconWidth = (navItems) => {\n const navItemLink = (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n };\n this.displayTooltipWithExpandedLongLabel = (menuExpanded) => {\n let timer;\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n navigationItems.forEach((navigationItem) => {\n var _a, _b;\n const icTypographyScrollWidth = ((_a = (navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\"ic-tooltip .link ic-typography.ic-typography-label\"))) === null || _a === void 0 ? void 0 : _a.scrollWidth) ||\n ((_b = navigationItem.querySelector(\"ic-typography.ic-typography-label\")) === null || _b === void 0 ? void 0 : _b.scrollWidth);\n if (icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n });\n }, this.ANIMATION_DURATION);\n }\n else {\n clearTimeout(timer);\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n navigationItems.forEach((navigationItem) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n this.setMenuExpanded = (expanded) => {\n this.menuExpanded = expanded;\n };\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n this.setParentPaddingTop = (value) => {\n this.el.parentElement.style.setProperty(\"padding-top\", value);\n };\n this.setParentPaddingLeft = (value) => {\n this.el.parentElement.style.setProperty(\"padding-left\", value);\n };\n this.renderAppTitle = (isAppNameSubtitleVariant) => {\n const displayShortAppTitle = this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);\n return (h(\"ic-typography\", { variant: displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\", \"aria-label\": displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined }, h(\"h1\", null, displayShortAppTitle ? this.shortAppTitle : this.appTitle)));\n };\n this.resizeObserverCallback = (currSize) => {\n var _a;\n this.deviceSize = currSize;\n const isSmallAndDisableTopBar = currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n if (!this.disableAutoParentStyling) {\n const topBarHeight = (_a = this.el.shadowRoot.querySelector(\".top-bar\")) === null || _a === void 0 ? void 0 : _a.scrollHeight;\n this.setParentPaddingTop(isSmallAndDisableTopBar ? `${topBarHeight}px` : \"0\");\n if (isSmallAndDisableTopBar)\n this.setParentPaddingLeft(\"0\");\n if (isSmallAndDisableTopBar && this.inline) {\n this.el.parentElement.style.setProperty(\"height\", `calc(100% - ${topBarHeight}px)`);\n }\n else if (!isSmallAndDisableTopBar) {\n this.el.parentElement.style.setProperty(\"height\", \"100%\");\n }\n }\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"})`;\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n }\n else if ((currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.M &&\n this.static) {\n this.setParentPaddingLeft(paddingLeft);\n }\n else if ((currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.L) {\n this.setParentPaddingLeft(this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft);\n }\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n this.setCollapsedIconLabels = () => {\n const navigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n navigationItems.forEach((navigationItem) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n this.styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps = Array.from(this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\"));\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n var _a, _b;\n if ((_b = (_a = icTypography === null || icTypography === void 0 ? void 0 : icTypography.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.classList.contains(\"navigation-item-side-nav-collapsed-with-label\")) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n this.renderTopBar = ({ isSDevice, foregroundColor, menuOpen, href, isAppNameSubtitleVariant, }) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n return (h(\"div\", { class: {\n \"top-bar\": true,\n [this.foregroundColor]: true,\n } }, isSDevice && (h(\"nav\", { \"aria-labelledby\": \"menu-navigation-toggle-button-landmark\", \"aria-hidden\": \"false\" }, h(\"ic-button\", { \"aria-label\": \"Open navigation menu\", class: \"menu-button\", id: \"menu-button\", variant: \"secondary\", size: \"small\", \"full-width\": \"true\", theme: foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\", monochrome: true, onClick: this.toggleMenu, ariaOwnsId: \"side-navigation\", \"aria-haspopup\": \"true\", \"aria-expanded\": \"false\", ref: (el) => (this.menuButton = el) }, h(\"span\", { class: \"mobile-top-bar-menu-icon\", slot: \"left-icon\", innerHTML: menuOpen ? closeIcon : menuIcon }), menuOpen ? \"Close\" : \"Menu\"), h(\"span\", { id: \"menu-navigation-toggle-button-landmark\", class: \"navigation-landmark-title\", \"aria-hidden\": \"true\" }, \"Navigation menu toggle button\"))), h(\"div\", { class: \"app-title-wrapper\" }, (hasTitle || isSlotUsed(this.el, \"app-title\")) && (h(Component, Object.assign({}, attrs, { class: \"title-link\" }), h(\"div\", { class: \"app-icon-container\", \"aria-hidden\": \"true\" }, h(\"slot\", { name: \"app-icon\" })), h(\"div\", { class: \"app-title-inner-wrapper\" }, isSlotUsed(this.el, \"app-title\") ? (h(\"slot\", { name: \"app-title\" })) : (this.renderAppTitle(isAppNameSubtitleVariant))))))));\n };\n this.deviceSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = DEVICE_SIZES.S;\n this.foregroundColor = getBrandForegroundAppearance();\n this.hasSecondaryNavigation = false;\n this.menuExpanded = false;\n this.menuOpen = false;\n this.appTitle = undefined;\n this.collapsedIconLabels = false;\n this.disableAutoParentStyling = false;\n this.disableTopBarBehaviour = false;\n this.expanded = false;\n this.href = \"/\";\n this.inline = false;\n this.shortAppTitle = \"\";\n this.static = false;\n this.status = undefined;\n this.version = undefined;\n }\n watchExpandedHandler() {\n this.toggleMenuExpanded(this.expanded);\n }\n componentWillLoad() {\n this.setMenuExpanded(this.expanded);\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n componentDidLoad() {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n this.setExpandedButtonHeight();\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined([{ prop: this.appTitle, propName: \"app-title\" }], \"Side Navigation\");\n }\n disconnectedCallback() {\n var _a;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n (_a = this.el) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n brandChangeHandler({ detail }) {\n this.foregroundColor = detail.mode;\n }\n render() {\n const { appTitle, menuOpen, foregroundColor, menuExpanded, href, status, version, collapsedIconLabels, inline, } = this;\n const isSDevice = !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn = isMdDevice || this.disableTopBarBehaviour || (isLgDevice && !this.static);\n const topBarProps = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n };\n return (h(Host, { class: {\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\": this.deviceSize > DEVICE_SIZES.S || this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]: !isSDevice && !menuExpanded && collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: inline,\n } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h(\"div\", { class: \"side-navigation\", id: \"side-navigation\" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h(\"div\", { class: \"side-navigation-inner\" }, isSlotUsed(this.el, \"primary-navigation\") && (h(\"nav\", { class: \"primary-navigation\", \"aria-labelledby\": \"primary-navigation-landmark\" }, h(\"span\", { \"aria-hidden\": \"true\", class: \"navigation-landmark-title\", id: \"primary-navigation-landmark\" }, \"Primary\"), h(\"ul\", { class: \"navigation-list\" }, h(\"slot\", { name: \"primary-navigation\" }))))), h(\"div\", { class: {\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n } }, isSlotUsed(this.el, \"secondary-navigation\") && (h(\"nav\", { class: \"secondary-navigation\", \"aria-labelledby\": \"secondary-navigation-landmark\" }, h(\"span\", { \"aria-hidden\": \"true\", class: \"navigation-landmark-title\", id: \"secondary-navigation-landmark\" }, \"Secondary\"), h(\"ul\", { class: \"navigation-list\" }, h(\"slot\", { name: \"secondary-navigation\" })))), h(\"div\", { class: \"bottom-side-nav\" }, this.hasSecondaryNavigation && h(\"ic-divider\", null), displayExpandBtn && (h(\"button\", { class: \"menu-expand-button\", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), \"aria-label\": `${menuExpanded ? \"Collapse\" : \"Expand\"} side navigation` })), h(\"div\", { class: \"app-status-wrapper\" }, status !== \"\" && (h(\"div\", { class: {\n [\"app-status\"]: true,\n } }, h(\"ic-typography\", { \"aria-label\": \"app tag\", variant: \"label-uppercase\", class: \"app-status-text\" }, status))), version !== \"\" && (h(\"ic-typography\", { variant: \"label\", class: \"app-version\", \"aria-label\": \"app version\" }, version))))))));\n }\n static get is() { return \"ic-side-navigation\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-side-navigation.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-side-navigation.css\"]\n };\n }\n static get properties() {\n return {\n \"appTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The app title to be displayed. This is required, unless a slotted app title link is used.\"\n },\n \"attribute\": \"app-title\",\n \"reflect\": false\n },\n \"collapsedIconLabels\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the icon and label will appear when side navigation is collapsed.\"\n },\n \"attribute\": \"collapsed-icon-labels\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableAutoParentStyling\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, automatic parent wrapper styling will be disabled.\"\n },\n \"attribute\": \"disable-auto-parent-styling\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableTopBarBehaviour\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the side navigation will not display as a top bar on small devices.\"\n },\n \"attribute\": \"disable-top-bar-behaviour\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the side navigation will display in an expanded state.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the app title link points to.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"/\\\"\"\n },\n \"inline\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, side navigation will be contained by its parent element.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"inline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"shortAppTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The short title of the app to be displayed at small screen sizes in place of the app title.\"\n },\n \"attribute\": \"short-app-title\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"static\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\"\n },\n \"attribute\": \"static\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status of the app to be displayed.\"\n },\n \"attribute\": \"status\",\n \"reflect\": false\n },\n \"version\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The version of the app to be displayed.\"\n },\n \"attribute\": \"version\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"deviceSizeAppTitle\": {},\n \"foregroundColor\": {},\n \"hasSecondaryNavigation\": {},\n \"menuExpanded\": {},\n \"menuOpen\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icSideNavExpanded\",\n \"name\": \"icSideNavExpanded\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the side navigation is collapsed and expanded.\"\n },\n \"complexType\": {\n \"original\": \"IcExpandedDetail\",\n \"resolved\": \"IcExpandedDetail\",\n \"references\": {\n \"IcExpandedDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-side-navigation.types\",\n \"id\": \"src/components/ic-side-navigation/ic-side-navigation.types.ts::IcExpandedDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"watchExpandedHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-side-navigation.js.map\n"],"mappings":"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"}
|