@carbon/web-components 1.33.0 → 1.34.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +21 -8
- package/dist/16-0941dd83.js +65 -0
- package/dist/16-28bddc31.js +65 -0
- package/dist/{16-61723e38.js → 16-8e34a1fb.js} +1 -1
- package/dist/{16-1e54ef69.js → 16-967865d0.js} +1 -1
- package/dist/{16-83c13872.js → 16-9e2c1ff1.js} +1 -1
- package/dist/16-a2e61b42.js +65 -0
- package/dist/{16-604aab02.js → 16-a6a38475.js} +1 -1
- package/dist/{16-61622d26.js → 16-a993279d.js} +1 -1
- package/dist/{16-897e344d.js → 16-deefa0c3.js} +1 -1
- package/dist/{16-481c3b8f.js → 16-efa1f157.js} +1 -1
- package/dist/20-68dfa4ba.js +65 -0
- package/dist/{16-4e44b70d.js → 20-f2be7924.js} +1 -1
- package/dist/accordion.min.js +1 -1
- package/dist/accordion.rtl.min.js +1 -1
- package/dist/breadcrumb.min.js +1 -1
- package/dist/breadcrumb.rtl.min.js +1 -1
- package/dist/{button-c71594fa.js → button-4e0b32c8.js} +1 -1
- package/dist/{button-e31ba29e.js → button-99f6b809.js} +1 -1
- package/dist/button.min.js +1 -1
- package/dist/button.rtl.min.js +1 -1
- package/dist/{checkbox-724e95de.js → checkbox-33a1eaf8.js} +1 -1
- package/dist/checkbox-7352ebd3.js +65 -0
- package/dist/checkbox.min.js +1 -1
- package/dist/checkbox.rtl.min.js +1 -1
- package/dist/{class-map-20d48808.js → class-map-bd61e03f.js} +2 -2
- package/dist/code-snippet.min.js +1 -1
- package/dist/code-snippet.rtl.min.js +2 -2
- package/dist/combo-box.min.js +1 -1
- package/dist/combo-box.rtl.min.js +1 -1
- package/dist/{content-switcher-item-96395561.js → content-switcher-item-55452b53.js} +1 -1
- package/dist/{content-switcher-item-77b690a9.js → content-switcher-item-f853369b.js} +1 -1
- package/dist/content-switcher.min.js +1 -1
- package/dist/content-switcher.rtl.min.js +1 -1
- package/dist/{copy-button-9cb9a0c6.js → copy-button-7a7bbaf8.js} +1 -1
- package/dist/{copy-button-50221d0f.js → copy-button-9fb90a01.js} +1 -1
- package/dist/copy-button.min.js +1 -1
- package/dist/copy-button.rtl.min.js +1 -1
- package/dist/data-table.min.js +1 -1
- package/dist/data-table.rtl.min.js +1 -1
- package/dist/date-picker.min.js +1 -1
- package/dist/date-picker.rtl.min.js +1 -1
- package/dist/{defineProperty-3aba2ee5.js → defineProperty-93eef18e.js} +1 -1
- package/dist/{dropdown-item-ba6ae5c0.js → dropdown-item-2d248e51.js} +1 -1
- package/dist/{dropdown-item-53fb6bdf.js → dropdown-item-9c062c1c.js} +1 -1
- package/dist/dropdown.min.js +1 -1
- package/dist/dropdown.rtl.min.js +1 -1
- package/dist/file-uploader.min.js +1 -1
- package/dist/file-uploader.rtl.min.js +1 -1
- package/dist/{floating-menu-821f738e.js → floating-menu-72acc1bc.js} +1 -1
- package/dist/floating-menu.min.js +1 -1
- package/dist/floating-menu.rtl.min.js +1 -1
- package/dist/{focus-d79d88d5.js → focus-1800056c.js} +1 -1
- package/dist/{form-79cb55d3.js → form-80943f8c.js} +1 -1
- package/dist/form.min.js +1 -1
- package/dist/form.rtl.min.js +1 -1
- package/dist/{host-listener-7ba48376.js → host-listener-01e0a787.js} +1 -1
- package/dist/{if-defined-e752b789.js → if-defined-dd1fb04b.js} +1 -1
- package/dist/{if-non-empty-e64f4f53.js → if-non-empty-f23befc6.js} +2 -2
- package/dist/{if-non-null-06324b2b.js → if-non-null-63ecd660.js} +2 -2
- package/dist/inline-loading.min.js +1 -1
- package/dist/inline-loading.rtl.min.js +1 -1
- package/dist/{input-5ec944df.js → input-47bf976e.js} +2 -2
- package/dist/{input-ecba9b56.js → input-e5442b90.js} +2 -2
- package/dist/input.min.js +1 -1
- package/dist/input.rtl.min.js +1 -1
- package/dist/{link-3c734b06.js → link-3bb57cfd.js} +1 -1
- package/dist/{link-aecb4d2a.js → link-d64eff5e.js} +1 -1
- package/dist/link.min.js +1 -1
- package/dist/link.rtl.min.js +1 -1
- package/dist/list.min.js +1 -1
- package/dist/list.rtl.min.js +1 -1
- package/dist/{loading-9ce928f0.js → loading-926a29f5.js} +1 -1
- package/dist/{loading-c77e0b8d.js → loading-a1c01e84.js} +1 -1
- package/dist/{loading-icon-45c89d9a.js → loading-icon-9d1c486a.js} +2 -2
- package/dist/loading.min.js +1 -1
- package/dist/loading.rtl.min.js +1 -1
- package/dist/modal.min.js +1 -1
- package/dist/modal.rtl.min.js +1 -1
- package/dist/multi-select.min.js +1 -1
- package/dist/multi-select.rtl.min.js +1 -1
- package/dist/notification.min.js +1 -1
- package/dist/notification.rtl.min.js +1 -1
- package/dist/number-input.min.js +1 -1
- package/dist/number-input.rtl.min.js +1 -1
- package/dist/{objectSpread2-65402b05.js → objectSpread2-8dc8a158.js} +1 -1
- package/dist/overflow-menu.min.js +1 -1
- package/dist/overflow-menu.rtl.min.js +1 -1
- package/dist/pagination.min.js +1 -1
- package/dist/pagination.rtl.min.js +1 -1
- package/dist/progress-indicator.min.js +1 -1
- package/dist/progress-indicator.rtl.min.js +1 -1
- package/dist/radio-button.min.js +1 -1
- package/dist/radio-button.rtl.min.js +1 -1
- package/dist/{radio-group-manager-eb1598f5.js → radio-group-manager-e095bcbf.js} +1 -1
- package/dist/{search-1a7ba563.js → search-87761b5e.js} +1 -1
- package/dist/{search-ce08ae42.js → search-f2955dfc.js} +1 -1
- package/dist/search.min.js +1 -1
- package/dist/search.rtl.min.js +1 -1
- package/dist/select.min.js +1 -1
- package/dist/select.rtl.min.js +1 -1
- package/dist/skeleton-placeholder.min.js +1 -1
- package/dist/skeleton-placeholder.rtl.min.js +1 -1
- package/dist/skeleton-text.min.js +1 -1
- package/dist/skeleton-text.rtl.min.js +1 -1
- package/dist/skip-to-content.min.js +1 -1
- package/dist/skip-to-content.rtl.min.js +1 -1
- package/dist/slider.min.js +1 -1
- package/dist/slider.rtl.min.js +1 -1
- package/dist/{spread-dc4ee429.js → spread-989d7408.js} +1 -1
- package/dist/structured-list.min.js +1 -1
- package/dist/structured-list.rtl.min.js +1 -1
- package/dist/tabs.min.js +2 -2
- package/dist/tabs.rtl.min.js +2 -2
- package/dist/tag.min.js +1 -1
- package/dist/tag.rtl.min.js +1 -1
- package/dist/textarea.min.js +1 -1
- package/dist/textarea.rtl.min.js +1 -1
- package/dist/tile.min.js +1 -1
- package/dist/tile.rtl.min.js +1 -1
- package/dist/toggle.min.js +2 -2
- package/dist/toggle.rtl.min.js +1 -1
- package/dist/tooltip.min.js +1 -1
- package/dist/tooltip.rtl.min.js +1 -1
- package/dist/ui-shell.min.js +2 -2
- package/dist/ui-shell.rtl.min.js +2 -2
- package/es/components/data-table/table-toolbar-search.js +1 -1
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/file-uploader/drop-container.js +1 -1
- package/es/components/file-uploader/drop-container.js.map +1 -1
- package/es/components/input/input.d.ts +4 -5
- package/es/components/input/input.d.ts.map +1 -1
- package/es/components/input/input.js +16 -35
- package/es/components/input/input.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +1 -1
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/pagination/page-sizes-select.js +1 -1
- package/es/components/pagination/page-sizes-select.js.map +1 -1
- package/es/components/slider/slider.js +1 -1
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/structured-list/structured-list-row.js +1 -1
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/tabs/tab.d.ts +8 -0
- package/es/components/tabs/tab.d.ts.map +1 -1
- package/es/components/tabs/tab.js +28 -4
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tooltip/tooltip.js +2 -2
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +1 -1
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.d.ts +1 -0
- package/es/components/ui-shell/side-nav-menu-item.d.ts.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +11 -0
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +1 -1
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.js +1 -1
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/components-react/input/input.d.ts +4 -4
- package/es/components-react/input/input.js +2 -2
- package/es/components-react/tabs/tab.d.ts +4 -0
- package/es/components-react/tabs/tab.js +2 -0
- package/es/globals/wrappers/createReactCustomElementType.js +2 -1
- package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/lib/components/accordion/defs.js +2 -4
- package/lib/components/accordion/defs.js.map +1 -1
- package/lib/components/button/defs.js +3 -6
- package/lib/components/button/defs.js.map +1 -1
- package/lib/components/code-snippet/defs.js +1 -2
- package/lib/components/code-snippet/defs.js.map +1 -1
- package/lib/components/content-switcher/defs.js +2 -4
- package/lib/components/content-switcher/defs.js.map +1 -1
- package/lib/components/data-table/defs.js +5 -10
- package/lib/components/data-table/defs.js.map +1 -1
- package/lib/components/date-picker/defs.js +2 -4
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js +4 -8
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/file-uploader/defs.js +2 -4
- package/lib/components/file-uploader/defs.js.map +1 -1
- package/lib/components/floating-menu/defs.js +4 -8
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/inline-loading/defs.js +1 -2
- package/lib/components/inline-loading/defs.js.map +1 -1
- package/lib/components/input/defs.js +2 -4
- package/lib/components/input/defs.js.map +1 -1
- package/lib/components/loading/defs.js +1 -2
- package/lib/components/loading/defs.js.map +1 -1
- package/lib/components/modal/defs.js +1 -2
- package/lib/components/modal/defs.js.map +1 -1
- package/lib/components/notification/defs.js +2 -4
- package/lib/components/notification/defs.js.map +1 -1
- package/lib/components/number-input/defs.js +1 -2
- package/lib/components/number-input/defs.js.map +1 -1
- package/lib/components/overflow-menu/defs.js +2 -4
- package/lib/components/overflow-menu/defs.js.map +1 -1
- package/lib/components/progress-indicator/defs.js +1 -2
- package/lib/components/progress-indicator/defs.js.map +1 -1
- package/lib/components/radio-button/defs.js +2 -4
- package/lib/components/radio-button/defs.js.map +1 -1
- package/lib/components/skeleton-text/defs.js +1 -2
- package/lib/components/skeleton-text/defs.js.map +1 -1
- package/lib/components/tabs/defs.js +3 -6
- package/lib/components/tabs/defs.js.map +1 -1
- package/lib/components/tag/defs.js +2 -4
- package/lib/components/tag/defs.js.map +1 -1
- package/lib/components/toggle/defs.js +1 -2
- package/lib/components/toggle/defs.js.map +1 -1
- package/lib/components/tooltip/defs.js +2 -4
- package/lib/components/tooltip/defs.js.map +1 -1
- package/lib/components/ui-shell/defs.js +2 -4
- package/lib/components/ui-shell/defs.js.map +1 -1
- package/lib/components-react-node/accordion/accordion-item.js +25 -45
- package/lib/components-react-node/accordion/accordion.js +5 -8
- package/lib/components-react-node/breadcrumb/breadcrumb-item.js +3 -6
- package/lib/components-react-node/breadcrumb/breadcrumb-link.js +3 -6
- package/lib/components-react-node/breadcrumb/breadcrumb-overflow-menu.js +11 -6
- package/lib/components-react-node/breadcrumb/breadcrumb.js +3 -6
- package/lib/components-react-node/button/button-skeleton.js +7 -6
- package/lib/components-react-node/button/button.js +25 -45
- package/lib/components-react-node/checkbox/checkbox.js +25 -45
- package/lib/components-react-node/code-snippet/code-snippet-skeleton.js +5 -8
- package/lib/components-react-node/code-snippet/code-snippet.js +25 -45
- package/lib/components-react-node/combo-box/combo-box-item.js +11 -6
- package/lib/components-react-node/combo-box/combo-box.js +5 -8
- package/lib/components-react-node/content-switcher/content-switcher-item.js +25 -45
- package/lib/components-react-node/content-switcher/content-switcher.js +5 -8
- package/lib/components-react-node/copy-button/copy-button.js +25 -45
- package/lib/components-react-node/data-table/table-batch-actions.js +25 -45
- package/lib/components-react-node/data-table/table-body.js +5 -8
- package/lib/components-react-node/data-table/table-cell-skeleton.js +11 -6
- package/lib/components-react-node/data-table/table-cell.js +3 -6
- package/lib/components-react-node/data-table/table-expand-row.js +25 -45
- package/lib/components-react-node/data-table/table-expanded-row.js +25 -45
- package/lib/components-react-node/data-table/table-head.js +3 -6
- package/lib/components-react-node/data-table/table-header-cell-skeleton.js +11 -6
- package/lib/components-react-node/data-table/table-header-cell.js +25 -45
- package/lib/components-react-node/data-table/table-header-expand-row.js +25 -20
- package/lib/components-react-node/data-table/table-header-row.js +5 -8
- package/lib/components-react-node/data-table/table-row.js +25 -45
- package/lib/components-react-node/data-table/table-toolbar-content.js +25 -45
- package/lib/components-react-node/data-table/table-toolbar-search.js +25 -45
- package/lib/components-react-node/data-table/table-toolbar.js +3 -6
- package/lib/components-react-node/data-table/table.js +25 -45
- package/lib/components-react-node/date-picker/date-picker-input-skeleton.js +5 -8
- package/lib/components-react-node/date-picker/date-picker-input.js +25 -45
- package/lib/components-react-node/date-picker/date-picker.js +25 -45
- package/lib/components-react-node/dropdown/dropdown-item.js +25 -45
- package/lib/components-react-node/dropdown/dropdown-skeleton.js +3 -6
- package/lib/components-react-node/dropdown/dropdown.js +25 -45
- package/lib/components-react-node/file-uploader/drop-container.js +25 -45
- package/lib/components-react-node/file-uploader/file-uploader-item.js +25 -45
- package/lib/components-react-node/file-uploader/file-uploader.js +5 -8
- package/lib/components-react-node/floating-menu/floating-menu.js +2 -4
- package/lib/components-react-node/form/form-item.js +3 -6
- package/lib/components-react-node/inline-loading/inline-loading.js +5 -8
- package/lib/components-react-node/input/input.js +27 -47
- package/lib/components-react-node/link/link.js +25 -45
- package/lib/components-react-node/list/list-item.js +25 -45
- package/lib/components-react-node/list/ordered-list.js +11 -6
- package/lib/components-react-node/list/unordered-list.js +25 -45
- package/lib/components-react-node/loading/loading.js +25 -45
- package/lib/components-react-node/modal/modal-body.js +3 -6
- package/lib/components-react-node/modal/modal-close-button.js +5 -8
- package/lib/components-react-node/modal/modal-footer-button.js +7 -6
- package/lib/components-react-node/modal/modal-footer.js +3 -6
- package/lib/components-react-node/modal/modal-header.js +3 -6
- package/lib/components-react-node/modal/modal-heading.js +3 -6
- package/lib/components-react-node/modal/modal-label.js +3 -6
- package/lib/components-react-node/modal/modal.js +25 -45
- package/lib/components-react-node/multi-select/multi-select-item.js +41 -53
- package/lib/components-react-node/multi-select/multi-select.js +25 -45
- package/lib/components-react-node/notification/inline-notification.js +25 -45
- package/lib/components-react-node/notification/toast-notification.js +15 -10
- package/lib/components-react-node/number-input/number-input-skeleton.js +25 -45
- package/lib/components-react-node/number-input/number-input.js +25 -45
- package/lib/components-react-node/overflow-menu/overflow-menu-body.js +45 -57
- package/lib/components-react-node/overflow-menu/overflow-menu-item.js +25 -45
- package/lib/components-react-node/overflow-menu/overflow-menu.js +25 -45
- package/lib/components-react-node/pagination/page-sizes-select.js +25 -45
- package/lib/components-react-node/pagination/pages-select.js +25 -45
- package/lib/components-react-node/pagination/pagination.js +25 -45
- package/lib/components-react-node/progress-indicator/progress-indicator-skeleton.js +25 -45
- package/lib/components-react-node/progress-indicator/progress-indicator.js +25 -45
- package/lib/components-react-node/progress-indicator/progress-step-skeleton.js +25 -45
- package/lib/components-react-node/progress-indicator/progress-step.js +25 -45
- package/lib/components-react-node/radio-button/radio-button-group.js +25 -45
- package/lib/components-react-node/radio-button/radio-button-skeleton.js +3 -6
- package/lib/components-react-node/radio-button/radio-button.js +25 -45
- package/lib/components-react-node/search/search-skeleton.js +5 -8
- package/lib/components-react-node/search/search.js +25 -45
- package/lib/components-react-node/select/select-item-group.js +25 -45
- package/lib/components-react-node/select/select-item.js +25 -45
- package/lib/components-react-node/select/select.js +25 -45
- package/lib/components-react-node/skeleton-placeholder/skeleton-placeholder.js +3 -6
- package/lib/components-react-node/skeleton-text/skeleton-text.js +5 -8
- package/lib/components-react-node/skip-to-content/skip-to-content.js +5 -8
- package/lib/components-react-node/slider/slider-input.js +25 -45
- package/lib/components-react-node/slider/slider-skeleton.js +3 -6
- package/lib/components-react-node/slider/slider.js +25 -45
- package/lib/components-react-node/structured-list/structured-list-body.js +3 -6
- package/lib/components-react-node/structured-list/structured-list-cell.js +3 -6
- package/lib/components-react-node/structured-list/structured-list-head.js +3 -6
- package/lib/components-react-node/structured-list/structured-list-header-cell-skeleton.js +3 -6
- package/lib/components-react-node/structured-list/structured-list-header-cell.js +3 -6
- package/lib/components-react-node/structured-list/structured-list-header-row.js +5 -8
- package/lib/components-react-node/structured-list/structured-list-row.js +25 -45
- package/lib/components-react-node/structured-list/structured-list.js +5 -8
- package/lib/components-react-node/tabs/tab-skeleton.js +3 -6
- package/lib/components-react-node/tabs/tab.js +41 -51
- package/lib/components-react-node/tabs/tabs-skeleton.js +3 -6
- package/lib/components-react-node/tabs/tabs.js +39 -34
- package/lib/components-react-node/tag/filter-tag.js +25 -45
- package/lib/components-react-node/tag/tag.js +25 -45
- package/lib/components-react-node/textarea/textarea-skeleton.js +3 -6
- package/lib/components-react-node/textarea/textarea.js +25 -45
- package/lib/components-react-node/tile/clickable-tile.js +5 -8
- package/lib/components-react-node/tile/expandable-tile.js +25 -45
- package/lib/components-react-node/tile/radio-tile.js +11 -6
- package/lib/components-react-node/tile/selectable-tile.js +25 -45
- package/lib/components-react-node/tile/tile-group.js +3 -6
- package/lib/components-react-node/tile/tile.js +5 -8
- package/lib/components-react-node/toggle/toggle.js +5 -8
- package/lib/components-react-node/tooltip/tooltip-body.js +41 -53
- package/lib/components-react-node/tooltip/tooltip-definition.js +5 -8
- package/lib/components-react-node/tooltip/tooltip-footer.js +3 -6
- package/lib/components-react-node/tooltip/tooltip-icon.js +11 -6
- package/lib/components-react-node/tooltip/tooltip.js +25 -45
- package/lib/components-react-node/ui-shell/header-menu-button.js +25 -45
- package/lib/components-react-node/ui-shell/header-menu-item.js +11 -6
- package/lib/components-react-node/ui-shell/header-menu.js +25 -45
- package/lib/components-react-node/ui-shell/header-name.js +5 -8
- package/lib/components-react-node/ui-shell/header-nav-item.js +5 -8
- package/lib/components-react-node/ui-shell/header-nav.js +5 -8
- package/lib/components-react-node/ui-shell/header.js +3 -6
- package/lib/components-react-node/ui-shell/side-nav-divider.js +3 -6
- package/lib/components-react-node/ui-shell/side-nav-items.js +3 -6
- package/lib/components-react-node/ui-shell/side-nav-link.js +25 -45
- package/lib/components-react-node/ui-shell/side-nav-menu-item.js +25 -45
- package/lib/components-react-node/ui-shell/side-nav-menu.js +25 -45
- package/lib/components-react-node/ui-shell/side-nav.js +25 -45
- package/lib/globals/settings.js +1 -2
- package/lib/globals/settings.js.map +1 -1
- package/lib/globals/shared-enums.js +1 -2
- package/lib/globals/shared-enums.js.map +1 -1
- package/lib/globals/wrappers/createReactCustomElementType.js +3 -4
- package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/package.json +8 -8
- package/dist/16-b206f640.js +0 -65
- package/dist/16-ce95fee1.js +0 -65
- package/dist/20-434c5bc4.js +0 -65
- package/dist/20-99b4c026.js +0 -65
- package/dist/checkbox-a3f539a3.js +0 -65
- /package/dist/{settings-f1ddfc10.js → settings-898bd7b0.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","names":["classMap","throttle","html","property","query","LitElement","settings","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","carbonElement","customElement","prefix","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","BXSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepRatio","rawStepRatio","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepRatio","oldStepRatio","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","forEach","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit-html/directives/class-map';\nimport throttle from 'lodash-es/throttle';\nimport { html, property, query, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport BXSliderInput from './slider-input';\nimport styles from './slider.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element bx-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires bx-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass BXSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepRatio` property.\n */\n private _stepRatio = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<bx-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepRatio: rawStepRatio,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepRatio = Number(rawStepRatio);\n const diff =\n (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = ({ max }: { max: string }) => max;\n\n /**\n * The formatter for the text for minimum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = ({ min }: { min: string }) => min;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepRatio`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-ratio' })\n get stepRatio() {\n return this._stepRatio.toString();\n }\n\n set stepRatio(value) {\n const { stepRatio: oldStepRatio } = this;\n this._stepRatio = value;\n this.requestUpdate('stepRatio', oldStepRatio);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value = 50;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof BXSlider).selectorInput\n ) as BXSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n name,\n value,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText({ min })}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n <input\n class=\"${prefix}--slider__input\"\n type=\"hidden\"\n name=\"${ifNonEmpty(name)}\"\n .value=\"${value}\"\n min=\"${ifNonEmpty(min)}\"\n max=\"${ifNonEmpty(max)}\" />\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText({ max })}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<bx-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.js","names":["classMap","throttle","html","property","query","LitElement","settings","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","carbonElement","customElement","prefix","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","BXSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepRatio","rawStepRatio","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepRatio","oldStepRatio","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","exec","navigator","userAgent","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","forEach","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit-html/directives/class-map';\nimport throttle from 'lodash-es/throttle';\nimport { html, property, query, LitElement } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport BXSliderInput from './slider-input';\nimport styles from './slider.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element bx-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires bx-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass BXSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepRatio` property.\n */\n private _stepRatio = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<bx-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepRatio: rawStepRatio,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepRatio = Number(rawStepRatio);\n const diff =\n (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = ({ max }: { max: string }) => max;\n\n /**\n * The formatter for the text for minimum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = ({ min }: { min: string }) => min;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepRatio`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-ratio' })\n get stepRatio() {\n return this._stepRatio.toString();\n }\n\n set stepRatio(value) {\n const { stepRatio: oldStepRatio } = this;\n this._stepRatio = value;\n this.requestUpdate('stepRatio', oldStepRatio);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value = 50;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof BXSlider).selectorInput\n ) as BXSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n name,\n value,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText({ min })}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n <input\n class=\"${prefix}--slider__input\"\n type=\"hidden\"\n name=\"${ifNonEmpty(name)}\"\n .value=\"${value}\"\n min=\"${ifNonEmpty(min)}\"\n max=\"${ifNonEmpty(max)}\" />\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText({ max })}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<bx-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
|
|
@@ -233,7 +233,7 @@ let BXStructuredListRow = _decorate([customElement(`${prefix}-structured-list-ro
|
|
|
233
233
|
} = this;
|
|
234
234
|
if (selectionName) {
|
|
235
235
|
var _this$_manager;
|
|
236
|
-
(_this$_manager = this._manager) === null || _this$_manager === void 0
|
|
236
|
+
(_this$_manager = this._manager) === null || _this$_manager === void 0 || _this$_manager.add(this._radioButtonDelegate);
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-list-row.js","names":["settings","ifDefined","html","property","query","LitElement","CheckmarkFilled16","HostListener","HostListenerMixin","RadioGroupManager","NAVIGATION_DIRECTION","styles","carbonElement","customElement","prefix","navigationDirectionForKey","ArrowUp","BACKWARD","Up","ArrowDown","FORWARD","Down","StructuredListRowRadioButtonDelegate","constructor","row","_row","checked","selected","tabIndex","name","selectionName","compareDocumentPosition","other","focus","BXStructuredListRow","_decorate","_initialize","_HostListenerMixin","args","F","d","kind","key","value","decorators","_inputNode","inputNode","_manager","select","_radioButtonDelegate","event","manager","navigationDirection","navigate","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","get","getRootNode","composed","_this$_manager","add","disconnectedCallback","delete","updated","changedProperties","has","shouldBeFocusable","render","selectionValue","selectionIconTitle","_t","_","class","title","_t2","static"],"sources":["components/structured-list/structured-list-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, property, query, LitElement } from 'lit-element';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport RadioGroupManager, {\n NAVIGATION_DIRECTION,\n ManagedRadioButtonDelegate,\n} from '../../globals/internal/radio-group-manager';\nimport styles from './structured-list.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Map of navigation direction by key.\n */\nconst navigationDirectionForKey = {\n ArrowUp: NAVIGATION_DIRECTION.BACKWARD,\n Up: NAVIGATION_DIRECTION.BACKWARD, // IE\n ArrowDown: NAVIGATION_DIRECTION.FORWARD,\n Down: NAVIGATION_DIRECTION.FORWARD, // IE\n};\n\n/**\n * The interface for `RadioGroupManager` for structured list row.\n */\nclass StructuredListRowRadioButtonDelegate\n implements ManagedRadioButtonDelegate\n{\n /**\n * The structured list row to target.\n */\n private _row: BXStructuredListRow;\n\n constructor(row: BXStructuredListRow) {\n this._row = row;\n }\n\n get checked() {\n return this._row.selected;\n }\n\n set checked(checked) {\n this._row.selected = checked;\n this._row.tabIndex = checked ? 0 : -1;\n }\n\n get tabIndex() {\n return this._row.tabIndex;\n }\n\n set tabIndex(tabIndex) {\n this._row.tabIndex = tabIndex;\n }\n\n get name() {\n return this._row.selectionName;\n }\n\n compareDocumentPosition(other: StructuredListRowRadioButtonDelegate) {\n return this._row.compareDocumentPosition(other._row);\n }\n\n focus() {\n this._row.focus();\n }\n}\n\n/**\n * Structured list row.\n *\n * @element bx-structured-list-row\n */\n@customElement(`${prefix}-structured-list-row`)\nclass BXStructuredListRow extends HostListenerMixin(LitElement) {\n /**\n * The radio group manager associated with the radio button.\n */\n private _manager: RadioGroupManager | null = null;\n\n /**\n * The interface for `RadioGroupManager` for structured list row.\n */\n private _radioButtonDelegate = new StructuredListRowRadioButtonDelegate(this);\n\n /**\n * The hidden radio button.\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n const { _inputNode: inputNode } = this;\n if (inputNode) {\n this.selected = true;\n if (this._manager) {\n this._manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { _inputNode: inputNode } = this;\n const manager = this._manager;\n if (inputNode && manager) {\n const navigationDirection = navigationDirectionForKey[event.key];\n if (navigationDirection) {\n manager.select(\n manager.navigate(this._radioButtonDelegate, navigationDirection)\n );\n }\n if (event.key === ' ' || event.key === 'Enter') {\n manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * `true` if this structured list row should be selectable and selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this structured list row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * The content to put into the `<title>` attribute of the selection icon.\n */\n @property({ attribute: 'selection-icon-title' })\n selectionIconTitle = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n if (!this._manager) {\n this._manager = RadioGroupManager.get(\n this.getRootNode({ composed: true }) as Document\n );\n const { selectionName } = this;\n if (selectionName) {\n this._manager?.add(this._radioButtonDelegate);\n }\n }\n }\n\n disconnectedCallback() {\n if (this._manager) {\n this._manager.delete(this._radioButtonDelegate);\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { _manager: manager, selectionName } = this;\n if (changedProperties.has('selectionName')) {\n if (manager) {\n manager.delete(\n this._radioButtonDelegate,\n changedProperties.get('selectionName')\n );\n if (selectionName) {\n manager.add(this._radioButtonDelegate);\n }\n }\n this.setAttribute(\n 'tabindex',\n !selectionName ||\n !manager ||\n !manager.shouldBeFocusable(this._radioButtonDelegate)\n ? '-1'\n : '0'\n );\n }\n }\n\n render() {\n const { selected, selectionName, selectionValue, selectionIconTitle } =\n this;\n if (selectionName) {\n // \"Selected\" style with `.bx--structured-list-td` does not work somehow - Need investigation\n return html`\n <slot></slot>\n <input\n id=\"input\"\n type=\"radio\"\n class=\"${prefix}--structured-list-input\"\n .checked=${selected}\n name=${selectionName}\n value=${ifDefined(selectionValue)} />\n <div\n class=\"${prefix}--structured-list-td ${prefix}--structured-list-cell\">\n ${CheckmarkFilled16({\n class: `${prefix}--structured-list-svg`,\n title: selectionIconTitle,\n })}\n </div>\n `;\n }\n return html` <slot></slot> `;\n }\n\n static styles = styles;\n}\n\nexport default BXStructuredListRow;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structured-list-row.js","names":["settings","ifDefined","html","property","query","LitElement","CheckmarkFilled16","HostListener","HostListenerMixin","RadioGroupManager","NAVIGATION_DIRECTION","styles","carbonElement","customElement","prefix","navigationDirectionForKey","ArrowUp","BACKWARD","Up","ArrowDown","FORWARD","Down","StructuredListRowRadioButtonDelegate","constructor","row","_row","checked","selected","tabIndex","name","selectionName","compareDocumentPosition","other","focus","BXStructuredListRow","_decorate","_initialize","_HostListenerMixin","args","F","d","kind","key","value","decorators","_inputNode","inputNode","_manager","select","_radioButtonDelegate","event","manager","navigationDirection","navigate","type","Boolean","reflect","attribute","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","get","getRootNode","composed","_this$_manager","add","disconnectedCallback","delete","updated","changedProperties","has","shouldBeFocusable","render","selectionValue","selectionIconTitle","_t","_","class","title","_t2","static"],"sources":["components/structured-list/structured-list-row.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, property, query, LitElement } from 'lit-element';\nimport CheckmarkFilled16 from '@carbon/icons/lib/checkmark--filled/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport RadioGroupManager, {\n NAVIGATION_DIRECTION,\n ManagedRadioButtonDelegate,\n} from '../../globals/internal/radio-group-manager';\nimport styles from './structured-list.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Map of navigation direction by key.\n */\nconst navigationDirectionForKey = {\n ArrowUp: NAVIGATION_DIRECTION.BACKWARD,\n Up: NAVIGATION_DIRECTION.BACKWARD, // IE\n ArrowDown: NAVIGATION_DIRECTION.FORWARD,\n Down: NAVIGATION_DIRECTION.FORWARD, // IE\n};\n\n/**\n * The interface for `RadioGroupManager` for structured list row.\n */\nclass StructuredListRowRadioButtonDelegate\n implements ManagedRadioButtonDelegate\n{\n /**\n * The structured list row to target.\n */\n private _row: BXStructuredListRow;\n\n constructor(row: BXStructuredListRow) {\n this._row = row;\n }\n\n get checked() {\n return this._row.selected;\n }\n\n set checked(checked) {\n this._row.selected = checked;\n this._row.tabIndex = checked ? 0 : -1;\n }\n\n get tabIndex() {\n return this._row.tabIndex;\n }\n\n set tabIndex(tabIndex) {\n this._row.tabIndex = tabIndex;\n }\n\n get name() {\n return this._row.selectionName;\n }\n\n compareDocumentPosition(other: StructuredListRowRadioButtonDelegate) {\n return this._row.compareDocumentPosition(other._row);\n }\n\n focus() {\n this._row.focus();\n }\n}\n\n/**\n * Structured list row.\n *\n * @element bx-structured-list-row\n */\n@customElement(`${prefix}-structured-list-row`)\nclass BXStructuredListRow extends HostListenerMixin(LitElement) {\n /**\n * The radio group manager associated with the radio button.\n */\n private _manager: RadioGroupManager | null = null;\n\n /**\n * The interface for `RadioGroupManager` for structured list row.\n */\n private _radioButtonDelegate = new StructuredListRowRadioButtonDelegate(this);\n\n /**\n * The hidden radio button.\n */\n @query('#input')\n private _inputNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = () => {\n const { _inputNode: inputNode } = this;\n if (inputNode) {\n this.selected = true;\n if (this._manager) {\n this._manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = (event: KeyboardEvent) => {\n const { _inputNode: inputNode } = this;\n const manager = this._manager;\n if (inputNode && manager) {\n const navigationDirection = navigationDirectionForKey[event.key];\n if (navigationDirection) {\n manager.select(\n manager.navigate(this._radioButtonDelegate, navigationDirection)\n );\n }\n if (event.key === ' ' || event.key === 'Enter') {\n manager.select(this._radioButtonDelegate);\n }\n }\n };\n\n /**\n * `true` if this structured list row should be selectable and selected.\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The `name` attribute for the `<input>` for selection.\n * If present, this structured list row will be a selectable one.\n */\n @property({ attribute: 'selection-name' })\n selectionName = '';\n\n /**\n * The `value` attribute for the `<input>` for selection.\n */\n @property({ attribute: 'selection-value' })\n selectionValue = '';\n\n /**\n * The content to put into the `<title>` attribute of the selection icon.\n */\n @property({ attribute: 'selection-icon-title' })\n selectionIconTitle = '';\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'row');\n }\n super.connectedCallback();\n if (!this._manager) {\n this._manager = RadioGroupManager.get(\n this.getRootNode({ composed: true }) as Document\n );\n const { selectionName } = this;\n if (selectionName) {\n this._manager?.add(this._radioButtonDelegate);\n }\n }\n }\n\n disconnectedCallback() {\n if (this._manager) {\n this._manager.delete(this._radioButtonDelegate);\n }\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { _manager: manager, selectionName } = this;\n if (changedProperties.has('selectionName')) {\n if (manager) {\n manager.delete(\n this._radioButtonDelegate,\n changedProperties.get('selectionName')\n );\n if (selectionName) {\n manager.add(this._radioButtonDelegate);\n }\n }\n this.setAttribute(\n 'tabindex',\n !selectionName ||\n !manager ||\n !manager.shouldBeFocusable(this._radioButtonDelegate)\n ? '-1'\n : '0'\n );\n }\n }\n\n render() {\n const { selected, selectionName, selectionValue, selectionIconTitle } =\n this;\n if (selectionName) {\n // \"Selected\" style with `.bx--structured-list-td` does not work somehow - Need investigation\n return html`\n <slot></slot>\n <input\n id=\"input\"\n type=\"radio\"\n class=\"${prefix}--structured-list-input\"\n .checked=${selected}\n name=${selectionName}\n value=${ifDefined(selectionValue)} />\n <div\n class=\"${prefix}--structured-list-td ${prefix}--structured-list-cell\">\n ${CheckmarkFilled16({\n class: `${prefix}--structured-list-svg`,\n title: selectionIconTitle,\n })}\n </div>\n `;\n }\n return html` <slot></slot> `;\n }\n\n static styles = styles;\n}\n\nexport default BXStructuredListRow;\n"],"mappings":"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"}
|
|
@@ -25,6 +25,14 @@ declare class BXTab extends BXContentSwitcherItem {
|
|
|
25
25
|
* Tab type.
|
|
26
26
|
*/
|
|
27
27
|
type: TABS_TYPE;
|
|
28
|
+
/**
|
|
29
|
+
* The tab text content.
|
|
30
|
+
*/
|
|
31
|
+
tabTitle: any;
|
|
32
|
+
/**
|
|
33
|
+
* Handles `slotchange` event.
|
|
34
|
+
*/
|
|
35
|
+
protected _handleSlotChange({ target }: Event): void;
|
|
28
36
|
connectedCallback(): void;
|
|
29
37
|
render(): import("lit-element").TemplateResult;
|
|
30
38
|
static styles: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/tabs/tab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC;;;;GAIG;AACH,cACM,KAAM,SAAQ,qBAAqB;IACvC;;;;;OAKG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,YAAqB;IAEzB,iBAAiB;IAOjB,MAAM;
|
|
1
|
+
{"version":3,"sources":["components/tabs/tab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC;;;;GAIG;AACH,cACM,KAAM,SAAQ,qBAAqB;IACvC;;;;;OAKG;IAEH,WAAW,UAAS;IAEpB;;OAEG;IAEH,IAAI,YAAqB;IAEzB;;OAEG;IAEH,QAAQ,MAAC;IAET;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAM7C,iBAAiB;IAOjB,MAAM;IAqBN,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,KAAK,CAAC","file":"tab.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n /**\n * The tab text content.\n */\n @property()\n tabTitle;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n // Retrieve content of the slot to use for aria-label.\n let content = (target as HTMLSlotElement).assignedNodes();\n this.tabTitle = content[0].textContent;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n disabled,\n selected,\n tabTitle,\n _handleSlotChange: handleSlotChange,\n } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n aria-label=\"${tabTitle}\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"]}
|
|
@@ -55,9 +55,14 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
|
|
|
55
55
|
value() {
|
|
56
56
|
return TABS_TYPE.REGULAR;
|
|
57
57
|
}
|
|
58
|
+
}, {
|
|
59
|
+
kind: "field",
|
|
60
|
+
decorators: [property()],
|
|
61
|
+
key: "tabTitle",
|
|
62
|
+
value: void 0
|
|
58
63
|
}, {
|
|
59
64
|
kind: "method",
|
|
60
|
-
key: "
|
|
65
|
+
key: "_handleSlotChange",
|
|
61
66
|
value:
|
|
62
67
|
/**
|
|
63
68
|
* `true` if this tab should be highlighted.
|
|
@@ -70,7 +75,24 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
|
|
|
70
75
|
* Tab type.
|
|
71
76
|
*/
|
|
72
77
|
|
|
73
|
-
|
|
78
|
+
/**
|
|
79
|
+
* The tab text content.
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Handles `slotchange` event.
|
|
84
|
+
*/
|
|
85
|
+
function _handleSlotChange({
|
|
86
|
+
target
|
|
87
|
+
}) {
|
|
88
|
+
// Retrieve content of the slot to use for aria-label.
|
|
89
|
+
let content = target.assignedNodes();
|
|
90
|
+
this.tabTitle = content[0].textContent;
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
kind: "method",
|
|
94
|
+
key: "connectedCallback",
|
|
95
|
+
value: function connectedCallback() {
|
|
74
96
|
if (!this.hasAttribute('role')) {
|
|
75
97
|
this.setAttribute('role', 'listitem');
|
|
76
98
|
}
|
|
@@ -82,10 +104,12 @@ let BXTab = _decorate([customElement(`${prefix}-tab`)], function (_initialize, _
|
|
|
82
104
|
value: function render() {
|
|
83
105
|
const {
|
|
84
106
|
disabled,
|
|
85
|
-
selected
|
|
107
|
+
selected,
|
|
108
|
+
tabTitle,
|
|
109
|
+
_handleSlotChange: handleSlotChange
|
|
86
110
|
} = this;
|
|
87
111
|
// No `href`/`tabindex` to not to make this `<a>` click-focusable
|
|
88
|
-
return html(_t || (_t = _` <a class="${0}--tabs__nav-link" role="tab" tabindex="${0}" ?disabled="${0}" aria-selected="${0}"> <slot></slot> </a> `), prefix, disabled ? -1 : 0, disabled, Boolean(selected));
|
|
112
|
+
return html(_t || (_t = _` <a class="${0}--tabs__nav-link" role="tab" aria-label="${0}" tabindex="${0}" ?disabled="${0}" aria-selected="${0}"> <slot @slotchange="${0}"></slot> </a> `), prefix, tabTitle, disabled ? -1 : 0, disabled, Boolean(selected), handleSlotChange);
|
|
89
113
|
}
|
|
90
114
|
}, {
|
|
91
115
|
kind: "field",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","names":["html","property","settings","BXContentSwitcherItem","TABS_TYPE","styles","carbonElement","customElement","prefix","BXTab","_decorate","_initialize","_BXContentSwitcherIte","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","REGULAR","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","disabled","selected","_t","_","static"],"sources":["components/tabs/tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {
|
|
1
|
+
{"version":3,"file":"tab.js","names":["html","property","settings","BXContentSwitcherItem","TABS_TYPE","styles","carbonElement","customElement","prefix","BXTab","_decorate","_initialize","_BXContentSwitcherIte","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","REGULAR","_handleSlotChange","target","content","assignedNodes","tabTitle","textContent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","disabled","selected","handleSlotChange","_t","_","static"],"sources":["components/tabs/tab.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property } from 'lit-element';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport BXContentSwitcherItem from '../content-switcher/content-switcher-item';\nimport { TABS_TYPE } from './tabs';\nimport styles from './tabs.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Basic tab.\n *\n * @element bx-tab\n */\n@customElement(`${prefix}-tab`)\nclass BXTab extends BXContentSwitcherItem {\n /**\n * `true` if this tab should be highlighted.\n * If `true`, parent `<bx-tabs>` selects/deselects this tab upon keyboard interaction.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n highlighted = false;\n\n /**\n * Tab type.\n */\n @property({ reflect: true })\n type = TABS_TYPE.REGULAR;\n\n /**\n * The tab text content.\n */\n @property()\n tabTitle;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n // Retrieve content of the slot to use for aria-label.\n let content = (target as HTMLSlotElement).assignedNodes();\n this.tabTitle = content[0].textContent;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n disabled,\n selected,\n tabTitle,\n _handleSlotChange: handleSlotChange,\n } = this;\n // No `href`/`tabindex` to not to make this `<a>` click-focusable\n return html`\n <a\n class=\"${prefix}--tabs__nav-link\"\n role=\"tab\"\n aria-label=\"${tabTitle}\"\n tabindex=\"${disabled ? -1 : 0}\"\n ?disabled=\"${disabled}\"\n aria-selected=\"${Boolean(selected)}\">\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n </a>\n `;\n }\n\n static styles = styles;\n}\n\nexport default BXTab;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,QAAQ,QAAQ,aAAa;AAC5C,OAAOC,QAAQ,MAAM,0CAA0C;AAC/D,OAAOC,qBAAqB,MAAM,2CAA2C;AAC7E,SAASC,SAAS,QAAQ,QAAQ;AAClC,OAAOC,MAAM,MAAM,iBAAa;AAChC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGN,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AAJA,IAMMO,KAAK,GAAAC,SAAA,EADVH,aAAa,CAAE,GAAEC,MAAO,MAAK,CAAC,aAAAG,WAAA,EAAAC,qBAAA;EAA/B,MACMH,KAAK,SAAAG,qBAAA,CAA+B;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EA4D1C;EAAC;IAAAI,CAAA,EA5DKN,KAAK;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAORjB,QAAQ,CAAC;QAAEkB,IAAI,EAAEC,OAAO;QAAEC,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OAC7B,KAAK;MAAA;IAAA;MAAAN,IAAA;MAAAC,UAAA,GAKlBjB,QAAQ,CAAC;QAAEoB,OAAO,EAAE;MAAK,CAAC,CAAC;MAAAC,GAAA;MAAAC,MAAA;QAAA,OACrBnB,SAAS,CAACoB,OAAO;MAAA;IAAA;MAAAP,IAAA;MAAAC,UAAA,GAKvBjB,QAAQ,CAAC,CAAC;MAAAqB,GAAA;MAAAC,KAAA;IAAA;MAAAN,IAAA;MAAAK,GAAA;MAAAC,KAAA;MAlBX;AACF;AACA;AACA;AACA;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAE,kBAA4B;QAAEC;MAAc,CAAC,EAAE;QAC7C;QACA,IAAIC,OAAO,GAAID,MAAM,CAAqBE,aAAa,CAAC,CAAC;QACzD,IAAI,CAACC,QAAQ,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACG,WAAW;MACxC;IAAC;MAAAb,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAQ,kBAAA,EAAoB;QAClB,IAAI,CAAC,IAAI,CAACC,YAAY,CAAC,MAAM,CAAC,EAAE;UAC9B,IAAI,CAACC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;QACvC;QACAC,IAAA,CAAAC,eAAA,CAnCE1B,KAAK,CAAA2B,SAAA,8BAAAC,IAAA;MAoCT;IAAC;MAAApB,IAAA;MAAAK,GAAA;MAAAC,KAAA,EAED,SAAAe,OAAA,EAAS;QACP,MAAM;UACJC,QAAQ;UACRC,QAAQ;UACRX,QAAQ;UACRJ,iBAAiB,EAAEgB;QACrB,CAAC,GAAG,IAAI;QACR;QACA,OAAOzC,IAAI,CAAA0C,EAAA,KAAAA,EAAA,GAAAC,CAAA,gKAEEnC,MAAM,EAEDqB,QAAQ,EACVU,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChBA,QAAQ,EACJnB,OAAO,CAACoB,QAAQ,CAAC,EACbC,gBAAgB;MAG3C;IAAC;MAAAxB,IAAA;MAAA2B,MAAA;MAAAtB,GAAA;MAAAC,MAAA;QAAA,OAEelB,MAAM;MAAA;IAAA;EAAA;AAAA,GA3DJF,qBAAqB;AA8DzC,eAAeM,KAAK"}
|
|
@@ -61,12 +61,12 @@ let BXTooltip = _decorate([customElement(`${prefix}-tooltip`)], function (_initi
|
|
|
61
61
|
updateComplete
|
|
62
62
|
} = this;
|
|
63
63
|
if (open) {
|
|
64
|
-
var _menuBody$shadowRoot
|
|
64
|
+
var _menuBody$shadowRoot;
|
|
65
65
|
await updateComplete;
|
|
66
66
|
const {
|
|
67
67
|
_menuBody: menuBody
|
|
68
68
|
} = this;
|
|
69
|
-
menuBody === null || menuBody === void 0
|
|
69
|
+
menuBody === null || menuBody === void 0 || (_menuBody$shadowRoot = menuBody.shadowRoot) === null || _menuBody$shadowRoot === void 0 || (_menuBody$shadowRoot = _menuBody$shadowRoot.querySelector(BXTooltip.selectorTooltipBody)) === null || _menuBody$shadowRoot === void 0 || _menuBody$shadowRoot.focus();
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["settings","html","property","query","LitElement","Information16","HostListener","HostListenerMixin","find","styles","carbonElement","customElement","prefix","BXTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","open","updateComplete","_menuBody$shadowRoot","_menuBody
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["settings","html","property","query","LitElement","Information16","HostListener","HostListenerMixin","find","styles","carbonElement","customElement","prefix","BXTooltip","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","decorators","open","updateComplete","_menuBody$shadowRoot","_menuBody","menuBody","shadowRoot","querySelector","selectorTooltipBody","focus","event","_handleClick","type","Boolean","reflect","triggerPosition","_triggerNode","triggerNode","TypeError","getBoundingClientRect","connectedCallback","hasAttribute","setAttribute","attachShadow","mode","_get","_getPrototypeOf","prototype","call","updated","changedProperties","has","childNodes","elem","FLOATING_MENU","String","render","_t","_","id","static"],"sources":["components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { html, property, query, LitElement } from 'lit-element';\nimport Information16 from '@carbon/icons/lib/information/16';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { find } from '../../globals/internal/collection-helpers';\nimport BXFloatingMenu from '../floating-menu/floating-menu';\nimport BXFloatingMenuTrigger from '../floating-menu/floating-menu-trigger';\nimport styles from './tooltip.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Trigger button of tooltip.\n *\n * @element bx-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass BXTooltip\n extends HostListenerMixin(LitElement)\n implements BXFloatingMenuTrigger\n{\n /**\n * The menu body.\n */\n private _menuBody: BXFloatingMenu | null = null;\n\n /**\n * The trigger button.\n */\n @query('#trigger')\n private _triggerNode!: HTMLElement;\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n this.open = !this.open;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { _menuBody: menuBody } = this;\n (\n menuBody?.shadowRoot?.querySelector(\n BXTooltip.selectorTooltipBody\n ) as HTMLElement\n )?.focus();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n if (event.key === ' ' || event.key === 'Enter') {\n this._handleClick();\n }\n };\n\n /**\n * `true` if the dropdown should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * @returns The position of the trigger button in the viewport.\n */\n get triggerPosition() {\n const { _triggerNode: triggerNode } = this;\n if (!triggerNode) {\n throw new TypeError('Cannot find the trigger button.');\n }\n return triggerNode.getBoundingClientRect();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '0');\n }\n if (!this.hasAttribute('aria-haspopup')) {\n this.setAttribute('aria-haspopup', 'true');\n }\n if (!this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', 'false');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (!this._menuBody) {\n this._menuBody = find(\n this.childNodes,\n (elem) => (elem.constructor as typeof BXFloatingMenu).FLOATING_MENU\n );\n }\n if (this._menuBody) {\n this._menuBody.open = this.open;\n }\n this.setAttribute('aria-expanded', String(Boolean(this.open)));\n }\n }\n\n render() {\n return html`\n ${Information16({ id: 'trigger' })}\n <slot></slot>\n `;\n }\n\n static get selectorTooltipBody() {\n return `.${prefix}--tooltip__content`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXTooltip;\n"],"mappings":"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"}
|
|
@@ -59,7 +59,7 @@ let BXSideNavLink = _decorate([customElement(`${prefix}-side-nav-link`)], functi
|
|
|
59
59
|
target
|
|
60
60
|
}) {
|
|
61
61
|
var _this$_titleIconConta;
|
|
62
|
-
(_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0
|
|
62
|
+
(_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 || _this$_titleIconConta.toggleAttribute('hidden', target.assignedNodes().length === 0);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-nav-link.js","names":["settings","classMap","html","property","query","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,QAAQ,MAAM,0CAA0C;AAC/D,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,UAAU,QAAQ,aAAa;AAC/D,OAAOC,UAAU,MAAM,4BAA4B;AACnD,OAAOC,MAAM,MAAM,qBAAiB;AACpC,SAASC,aAAa,IAAIC,aAAa,QAAQ,yCAAyC;AAExF,MAAM;EAAEC;AAAO,CAAC,GAAGV,QAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IASMW,aAAa,GAAAC,SAAA,EADlBH,aAAa,CAAE,GAAEC,MAAO,gBAAe,CAAC,aAAAG,WAAA,EAAAC,WAAA;EAAzC,MACMH,aAAa,SAAAG,WAAA,CAAgC;IAAAC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAAH,WAAA;IAAA;EAiFnD;EAAC;IAAAI,CAAA,EAjFKN,aAAa;IAAAO,CAAA;MAAAC,IAAA;MAAAC,UAAA,GAIhBhB,KAAK,CAAC,uBAAuB,CAAC;MAAAiB,GAAA;MAAAC,KAAA;IAAA;MAAAH,IAAA;MAAAE,GAAA;MAAAC,KAAA;MAH/B;AACF;AACA;;MAIE;AACF;AACA;MACE,SAAAC,2BAAmC;QAAEC;MAAO,CAAC,EAAE;QAAA,IAAAC,qBAAA;QAC7C,CAAAA,qBAAA,OAAI,CAACC,uBAAuB,cAAAD,qBAAA,
|
|
1
|
+
{"version":3,"file":"side-nav-link.js","names":["settings","classMap","html","property","query","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavLink","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","key","value","_handleSlotChangeTitleIcon","target","_this$_titleIconConta","_titleIconContainerNode","toggleAttribute","assignedNodes","length","type","Boolean","reflect","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","active","href","title","handleSlotChangeTitleIcon","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-link.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, query, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-link\n * @slot link - The link.\n * @slot title - The title.\n * @slot title-icon-container - The title icon container.\n */\n@customElement(`${prefix}-side-nav-link`)\nclass BXSideNavLink extends FocusMixin(LitElement) {\n /**\n * The container for the title icon.\n */\n @query('#title-icon-container')\n private _titleIconContainerNode!: HTMLDivElement;\n\n /**\n * Handles `slotchange` event on the `<slot>` for the title icon.\n */\n private _handleSlotChangeTitleIcon({ target }) {\n this._titleIconContainerNode?.toggleAttribute(\n 'hidden',\n target.assignedNodes().length === 0\n );\n }\n\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const {\n active,\n href,\n title,\n _handleSlotChangeTitleIcon: handleSlotChangeTitleIcon,\n } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <div\n id=\"title-icon-container\"\n part=\"title-icon-container\"\n hidden\n class=\"${prefix}--side-nav__icon\">\n <slot\n name=\"title-icon\"\n @slotchange=${handleSlotChangeTitleIcon}></slot>\n </div>\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavLink;\n"],"mappings":"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"}
|
|
@@ -335,6 +335,7 @@ declare class BXSideNavMenuItem extends BXSideNavMenuItem_base {
|
|
|
335
335
|
title: string;
|
|
336
336
|
createRenderRoot(): ShadowRoot;
|
|
337
337
|
shouldUpdate(changedProperties: any): boolean;
|
|
338
|
+
connectedCallback(): void;
|
|
338
339
|
render(): import("lit-element").TemplateResult;
|
|
339
340
|
/**
|
|
340
341
|
* A selector that will return the parent menu.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzD;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
|
|
1
|
+
{"version":3,"sources":["components/ui-shell/side-nav-menu-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzD;;;;;;GAMG;AACH,cACM,iBAAkB,SAAQ,sBAAsB;IACpD;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,IAAI,SAAM;IAEV;;OAEG;IAEH,KAAK,EAAG,MAAM,CAAC;IAEf,gBAAgB;IAShB,YAAY,CAAC,iBAAiB,KAAA;IAW9B,iBAAiB;IAOjB,MAAM;IAeN;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,iBAAiB,CAAC","file":"side-nav-menu-item.d.ts","sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _decorate from "@babel/runtime/helpers/esm/decorate";
|
|
2
|
+
import _get from "@babel/runtime/helpers/esm/get";
|
|
3
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
2
4
|
let _ = t => t,
|
|
3
5
|
_t;
|
|
4
6
|
/**
|
|
@@ -96,6 +98,15 @@ let BXSideNavMenuItem = _decorate([customElement(`${prefix}-side-nav-menu-item`)
|
|
|
96
98
|
}
|
|
97
99
|
return true;
|
|
98
100
|
}
|
|
101
|
+
}, {
|
|
102
|
+
kind: "method",
|
|
103
|
+
key: "connectedCallback",
|
|
104
|
+
value: function connectedCallback() {
|
|
105
|
+
if (!this.hasAttribute('role')) {
|
|
106
|
+
this.setAttribute('role', 'button');
|
|
107
|
+
}
|
|
108
|
+
_get(_getPrototypeOf(BXSideNavMenuItem.prototype), "connectedCallback", this).call(this);
|
|
109
|
+
}
|
|
99
110
|
}, {
|
|
100
111
|
kind: "method",
|
|
101
112
|
key: "render",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"side-nav-menu-item.js","names":["settings","classMap","html","property","LitElement","FocusMixin","styles","carbonElement","customElement","prefix","BXSideNavMenuItem","_decorate","_initialize","_FocusMixin","constructor","args","F","d","kind","decorators","type","Boolean","reflect","key","value","createRenderRoot","_exec","attachShadow","mode","delegatesFocus","Number","exec","navigator","userAgent","shouldUpdate","changedProperties","has","active","selectorMenu","parent","closest","connectedCallback","hasAttribute","setAttribute","_get","_getPrototypeOf","prototype","call","render","href","title","classes","_t","_","static"],"sources":["components/ui-shell/side-nav-menu-item.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { classMap } from 'lit-html/directives/class-map';\nimport { html, property, LitElement } from 'lit-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport BXSideNavMenu from './side-nav-menu';\nimport styles from './side-nav.scss';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nconst { prefix } = settings;\n\n/**\n * Side nav menu item.\n *\n * @element bx-side-nav-menu-item\n * @csspart link The link.\n * @csspart title The title.\n */\n@customElement(`${prefix}-side-nav-menu-item`)\nclass BXSideNavMenuItem extends FocusMixin(LitElement) {\n /**\n * `true` if the menu item should be active.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * Link `href`.\n */\n @property()\n href = '';\n\n /**\n * The title.\n */\n @property()\n title!: string;\n\n createRenderRoot() {\n return this.attachShadow({\n mode: 'open',\n delegatesFocus:\n Number((/Safari\\/(\\d+)/.exec(navigator.userAgent) ?? ['', 0])[1]) <=\n 537,\n });\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this.active) {\n const { selectorMenu } = this.constructor as typeof BXSideNavMenuItem;\n const parent = this.closest(selectorMenu);\n if (parent) {\n (parent as BXSideNavMenu).active = true;\n }\n }\n return true;\n }\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'button');\n }\n super.connectedCallback();\n }\n\n render() {\n const { active, href, title } = this;\n const classes = classMap({\n [`${prefix}--side-nav__link`]: true,\n [`${prefix}--side-nav__link--current`]: active,\n });\n return html`\n <a part=\"link\" class=\"${classes}\" href=\"${href}\">\n <span part=\"title\" class=\"${prefix}--side-nav__link-text\">\n <slot>${title}</slot>\n </span>\n </a>\n `;\n }\n\n /**\n * A selector that will return the parent menu.\n */\n static get selectorMenu() {\n return `${prefix}-side-nav-menu`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nexport default BXSideNavMenuItem;\n"],"mappings":"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"}
|
|
@@ -133,7 +133,7 @@ let BXSideNavMenu = _decorate([customElement(`${prefix}-side-nav-menu`)], functi
|
|
|
133
133
|
const constructor = this.constructor;
|
|
134
134
|
const hasIcon = target.assignedNodes().length > 0;
|
|
135
135
|
this._hasIcon = hasIcon;
|
|
136
|
-
(_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0
|
|
136
|
+
(_this$_titleIconConta = this._titleIconContainerNode) === null || _this$_titleIconConta === void 0 || _this$_titleIconConta.toggleAttribute('hidden', !hasIcon);
|
|
137
137
|
forEach(this.querySelectorAll(constructor.selectorItem), item => {
|
|
138
138
|
item.toggleAttribute(constructor.attribItemHasIcon, hasIcon);
|
|
139
139
|
});
|