@quartzds/core 1.0.0-beta.81 → 1.0.0-beta.82
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/components/index.js +2 -2
- package/components/{p-7b04d43e.js → p-002e77af.js} +656 -328
- package/components/p-002e77af.js.map +1 -0
- package/components/{p-9df62f97.js → p-065d722e.js} +18 -7
- package/components/{p-9df62f97.js.map → p-065d722e.js.map} +1 -1
- package/components/{p-d279ae53.js → p-2e88c3cc.js} +11 -3
- package/components/p-2e88c3cc.js.map +1 -0
- package/components/{p-b82bac0a.js → p-84aae53b.js} +20 -11
- package/components/p-84aae53b.js.map +1 -0
- package/components/{p-698edde1.js → p-86778e81.js} +79 -44
- package/components/p-86778e81.js.map +1 -0
- package/components/{p-028b9d2e.js → p-86a0fdf3.js} +11 -4
- package/components/p-86a0fdf3.js.map +1 -0
- package/components/{p-7f6e797a.js → p-938d74a8.js} +17 -12
- package/components/p-938d74a8.js.map +1 -0
- package/components/{p-82461767.js → p-9a9561a8.js} +8 -80
- package/components/p-9a9561a8.js.map +1 -0
- package/components/{p-f5ba28ff.js → p-ae6eda4e.js} +41 -30
- package/components/p-ae6eda4e.js.map +1 -0
- package/components/{p-f85b490c.js → p-ed500f42.js} +72 -28
- package/components/p-ed500f42.js.map +1 -0
- package/components/{p-355efdb1.js → p-ee2621aa.js} +11 -5
- package/components/p-ee2621aa.js.map +1 -0
- package/components/{p-4141d6ed.js → p-efdb8fa2.js} +2 -2
- package/components/p-efdb8fa2.js.map +1 -0
- package/components/qds-badge-counter.js +1 -1
- package/components/qds-badge-indicator.js +1 -1
- package/components/qds-breadcrumb-item.js +65 -15
- package/components/qds-breadcrumb-item.js.map +1 -1
- package/components/qds-button.js +1 -1
- package/components/qds-checkbox.js +1 -1
- package/components/qds-chip.js +46 -25
- package/components/qds-chip.js.map +1 -1
- package/components/qds-dialog.js +9 -4
- package/components/qds-dialog.js.map +1 -1
- package/components/qds-divider.js +1 -1
- package/components/qds-dropdown.js +25 -18
- package/components/qds-dropdown.js.map +1 -1
- package/components/qds-form-message.js +18 -8
- package/components/qds-form-message.js.map +1 -1
- package/components/qds-icon.js +1 -1
- package/components/qds-inline-link.js +18 -17
- package/components/qds-inline-link.js.map +1 -1
- package/components/qds-input.js +116 -51
- package/components/qds-input.js.map +1 -1
- package/components/qds-label.js +1 -1
- package/components/qds-list-item.js +21 -22
- package/components/qds-list-item.js.map +1 -1
- package/components/qds-loader.js +6 -4
- package/components/qds-loader.js.map +1 -1
- package/components/qds-nav-list-item.js +32 -16
- package/components/qds-nav-list-item.js.map +1 -1
- package/components/qds-progress-bar.js +26 -8
- package/components/qds-progress-bar.js.map +1 -1
- package/components/qds-radio.js +25 -24
- package/components/qds-radio.js.map +1 -1
- package/components/qds-select.js +117 -27
- package/components/qds-select.js.map +1 -1
- package/components/qds-standalone-link.js +26 -19
- package/components/qds-standalone-link.js.map +1 -1
- package/components/qds-switch.js +70 -21
- package/components/qds-switch.js.map +1 -1
- package/components/qds-tab.js +71 -45
- package/components/qds-tab.js.map +1 -1
- package/components/qds-tabbar.js +34 -27
- package/components/qds-tabbar.js.map +1 -1
- package/components/qds-table-body.js +3 -3
- package/components/qds-table-body.js.map +1 -1
- package/components/qds-table-cell.js +3 -5
- package/components/qds-table-cell.js.map +1 -1
- package/components/qds-table-head-cell.js +3 -7
- package/components/qds-table-head-cell.js.map +1 -1
- package/components/qds-table-head.js +3 -3
- package/components/qds-table-head.js.map +1 -1
- package/components/qds-table-row.js +3 -3
- package/components/qds-table-row.js.map +1 -1
- package/components/qds-table.js +3 -3
- package/components/qds-table.js.map +1 -1
- package/components/qds-tag.js +1 -1
- package/components/qds-textarea.js +92 -35
- package/components/qds-textarea.js.map +1 -1
- package/components/qds-title.js +1 -1
- package/components/qds-tooltip.js +1 -1
- package/dist/cjs/helpers-cdd65bd0.js.map +1 -1
- package/dist/cjs/{index-a9985af0.js → index-644fe556.js} +720 -273
- package/dist/cjs/index-644fe556.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{library-57845012.js → library-1fda56bc.js} +2 -2
- package/dist/cjs/{library-57845012.js.map → library-1fda56bc.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/qds-badge-counter_2.cjs.entry.js +151 -0
- package/dist/cjs/qds-badge-counter_2.cjs.entry.js.map +1 -0
- package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +53 -12
- package/dist/cjs/qds-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-button.cjs.entry.js +73 -38
- package/dist/cjs/qds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-checkbox.cjs.entry.js +67 -22
- package/dist/cjs/qds-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-chip.cjs.entry.js +43 -21
- package/dist/cjs/qds-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-dialog.cjs.entry.js +8 -3
- package/dist/cjs/qds-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-divider.cjs.entry.js +9 -3
- package/dist/cjs/qds-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-dropdown.cjs.entry.js +24 -17
- package/dist/cjs/qds-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-form-message.cjs.entry.js +16 -6
- package/dist/cjs/qds-form-message.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-icon.cjs.entry.js +7 -5
- package/dist/cjs/qds-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-inline-link.cjs.entry.js +16 -15
- package/dist/cjs/qds-inline-link.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-input.cjs.entry.js +109 -41
- package/dist/cjs/qds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-label.cjs.entry.js +16 -5
- package/dist/cjs/qds-label.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-list-item.cjs.entry.js +17 -18
- package/dist/cjs/qds-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-loader.cjs.entry.js +5 -3
- package/dist/cjs/qds-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-nav-list-item.cjs.entry.js +29 -13
- package/dist/cjs/qds-nav-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-progress-bar.cjs.entry.js +26 -8
- package/dist/cjs/qds-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-radio.cjs.entry.js +22 -21
- package/dist/cjs/qds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-select.cjs.entry.js +114 -23
- package/dist/cjs/qds-select.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-standalone-link.cjs.entry.js +24 -17
- package/dist/cjs/qds-standalone-link.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-switch.cjs.entry.js +68 -18
- package/dist/cjs/qds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-tab.cjs.entry.js +64 -38
- package/dist/cjs/qds-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-tabbar.cjs.entry.js +27 -20
- package/dist/cjs/qds-tabbar.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table-body.cjs.entry.js +2 -2
- package/dist/cjs/qds-table-body.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table-cell.cjs.entry.js +2 -4
- package/dist/cjs/qds-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table-head-cell.cjs.entry.js +2 -6
- package/dist/cjs/qds-table-head-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table-head.cjs.entry.js +2 -2
- package/dist/cjs/qds-table-head.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table-row.cjs.entry.js +2 -2
- package/dist/cjs/qds-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-table.cjs.entry.js +2 -2
- package/dist/cjs/qds-table.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-tag_2.cjs.entry.js +30 -16
- package/dist/cjs/qds-tag_2.cjs.entry.js.map +1 -1
- package/dist/cjs/qds-textarea.cjs.entry.js +90 -30
- package/dist/cjs/qds-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/{qds-badge-counter_3.cjs.entry.js → qds-tooltip.cjs.entry.js} +40 -152
- package/dist/cjs/qds-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/qds.cjs.js +3 -3
- package/dist/cjs/qds.cjs.js.map +1 -1
- package/dist/custom-elements.json +102 -201
- package/dist/docs.d.ts +8 -0
- package/dist/docs.json +870 -630
- package/dist/esm/{helpers-4eb4fa44.js → helpers-d08540f8.js} +2 -2
- package/dist/esm/helpers-d08540f8.js.map +1 -0
- package/dist/esm/{index-5291e8ff.js → index-be1284b6.js} +720 -273
- package/dist/esm/index-be1284b6.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/{library-9edbe354.js → library-a92b7d9e.js} +2 -2
- package/dist/esm/{library-9edbe354.js.map → library-a92b7d9e.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/qds-badge-counter_2.entry.js +146 -0
- package/dist/esm/qds-badge-counter_2.entry.js.map +1 -0
- package/dist/esm/qds-breadcrumb-item.entry.js +54 -13
- package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/qds-button.entry.js +74 -39
- package/dist/esm/qds-button.entry.js.map +1 -1
- package/dist/esm/qds-checkbox.entry.js +69 -24
- package/dist/esm/qds-checkbox.entry.js.map +1 -1
- package/dist/esm/qds-chip.entry.js +44 -22
- package/dist/esm/qds-chip.entry.js.map +1 -1
- package/dist/esm/qds-dialog.entry.js +9 -4
- package/dist/esm/qds-dialog.entry.js.map +1 -1
- package/dist/esm/qds-divider.entry.js +10 -4
- package/dist/esm/qds-divider.entry.js.map +1 -1
- package/dist/esm/qds-dropdown.entry.js +25 -18
- package/dist/esm/qds-dropdown.entry.js.map +1 -1
- package/dist/esm/qds-form-message.entry.js +17 -7
- package/dist/esm/qds-form-message.entry.js.map +1 -1
- package/dist/esm/qds-icon.entry.js +8 -6
- package/dist/esm/qds-icon.entry.js.map +1 -1
- package/dist/esm/qds-inline-link.entry.js +17 -16
- package/dist/esm/qds-inline-link.entry.js.map +1 -1
- package/dist/esm/qds-input.entry.js +111 -43
- package/dist/esm/qds-input.entry.js.map +1 -1
- package/dist/esm/qds-label.entry.js +17 -6
- package/dist/esm/qds-label.entry.js.map +1 -1
- package/dist/esm/qds-list-item.entry.js +18 -19
- package/dist/esm/qds-list-item.entry.js.map +1 -1
- package/dist/esm/qds-loader.entry.js +5 -3
- package/dist/esm/qds-loader.entry.js.map +1 -1
- package/dist/esm/qds-nav-list-item.entry.js +30 -14
- package/dist/esm/qds-nav-list-item.entry.js.map +1 -1
- package/dist/esm/qds-progress-bar.entry.js +26 -8
- package/dist/esm/qds-progress-bar.entry.js.map +1 -1
- package/dist/esm/qds-radio.entry.js +23 -22
- package/dist/esm/qds-radio.entry.js.map +1 -1
- package/dist/esm/qds-select.entry.js +116 -25
- package/dist/esm/qds-select.entry.js.map +1 -1
- package/dist/esm/qds-standalone-link.entry.js +25 -18
- package/dist/esm/qds-standalone-link.entry.js.map +1 -1
- package/dist/esm/qds-switch.entry.js +70 -20
- package/dist/esm/qds-switch.entry.js.map +1 -1
- package/dist/esm/qds-tab.entry.js +65 -39
- package/dist/esm/qds-tab.entry.js.map +1 -1
- package/dist/esm/qds-tabbar.entry.js +28 -21
- package/dist/esm/qds-tabbar.entry.js.map +1 -1
- package/dist/esm/qds-table-body.entry.js +3 -3
- package/dist/esm/qds-table-body.entry.js.map +1 -1
- package/dist/esm/qds-table-cell.entry.js +3 -5
- package/dist/esm/qds-table-cell.entry.js.map +1 -1
- package/dist/esm/qds-table-head-cell.entry.js +3 -7
- package/dist/esm/qds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/qds-table-head.entry.js +3 -3
- package/dist/esm/qds-table-head.entry.js.map +1 -1
- package/dist/esm/qds-table-row.entry.js +3 -3
- package/dist/esm/qds-table-row.entry.js.map +1 -1
- package/dist/esm/qds-table.entry.js +3 -3
- package/dist/esm/qds-table.entry.js.map +1 -1
- package/dist/esm/qds-tag_2.entry.js +31 -17
- package/dist/esm/qds-tag_2.entry.js.map +1 -1
- package/dist/esm/qds-textarea.entry.js +92 -32
- package/dist/esm/qds-textarea.entry.js.map +1 -1
- package/dist/esm/{qds-badge-counter_3.entry.js → qds-tooltip.entry.js} +42 -152
- package/dist/esm/qds-tooltip.entry.js.map +1 -0
- package/dist/esm/qds.js +4 -4
- package/dist/esm/qds.js.map +1 -1
- package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +0 -6
- package/dist/types/components/chip/chip.d.ts +0 -6
- package/dist/types/components/input/input.d.ts +1 -29
- package/dist/types/components/select/select.d.ts +0 -6
- package/dist/types/components/switch/switch.d.ts +0 -6
- package/dist/types/components/tag/tag.d.ts +1 -1
- package/dist/types/components/textarea/textarea.d.ts +1 -28
- package/dist/types/components.d.ts +623 -91
- package/dist/types/stencil-public-runtime.d.ts +6 -0
- package/dist/vscode.html-custom-data.json +0 -80
- package/hydrate/index.d.ts +28 -5
- package/hydrate/index.js +2748 -1041
- package/hydrate/index.mjs +2748 -1041
- package/package.json +3 -3
- package/components/p-028b9d2e.js.map +0 -1
- package/components/p-355efdb1.js.map +0 -1
- package/components/p-4141d6ed.js.map +0 -1
- package/components/p-698edde1.js.map +0 -1
- package/components/p-7b04d43e.js.map +0 -1
- package/components/p-7f6e797a.js.map +0 -1
- package/components/p-82461767.js.map +0 -1
- package/components/p-b82bac0a.js.map +0 -1
- package/components/p-d279ae53.js.map +0 -1
- package/components/p-f5ba28ff.js.map +0 -1
- package/components/p-f85b490c.js.map +0 -1
- package/dist/cjs/index-a9985af0.js.map +0 -1
- package/dist/cjs/qds-badge-counter_3.cjs.entry.js.map +0 -1
- package/dist/esm/helpers-4eb4fa44.js.map +0 -1
- package/dist/esm/index-5291e8ff.js.map +0 -1
- package/dist/esm/qds-badge-counter_3.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-tab.entry.js","mappings":"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","names":[],"sources":["src/components/tab/tab.css?tag=qds-tab&encapsulation=shadow","src/components/tab/tab.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-target {\n appearance: none;\n border: none;\n padding: 0;\n cursor: pointer;\n pointer-events: auto;\n background-color: transparent;\n\n &:disabled {\n pointer-events: none;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: var(--qds-focus-border-offset);\n }\n}\n\n.qds-target-icon {\n color: var(--qds-theme-control-text-standard);\n}\n\n.qds-icon,\n.qds-target-icon {\n flex-shrink: 0;\n}\n\n.qds-chevron {\n transform: rotate(180deg);\n}\n\n.qds-tab,\n.qds-closable-wrapper {\n position: relative;\n}\n\n.qds-target,\n.qds-closable-wrapper,\n.qds-tab,\n.qds-closable-tab,\n.qds-texts {\n display: flex;\n}\n\n.qds-texts {\n flex: 1 0;\n flex-direction: column;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n color: var(--qds-theme-subtitle);\n font: var(--qds-control-tab-standard-subtitle);\n}\n\n.qds-indicator {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n}\n\n[data-size='small'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-small-height);\n gap: var(--qds-control-tab-small-gap-internal);\n padding-inline: var(--qds-control-tab-small-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-small-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-small-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-small-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-small-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-small-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-small-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-small-height);\n\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n}\n\n[data-size='standard'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-standard-height);\n gap: var(--qds-control-tab-standard-gap-internal);\n padding-inline: var(--qds-control-tab-standard-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-standard-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-standard-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-standard-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-standard-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-standard-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-standard-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(\n --qds-control-standard-height\n );\n\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n}\n\n[data-size='large'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-large-height);\n gap: var(--qds-control-tab-large-gap-internal);\n padding-inline: var(--qds-control-tab-large-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-large-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-large-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-large-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-large-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-large-title);\n }\n\n & .qds-subtext {\n font: var(--qds-control-tab-large-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-large-height);\n\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n}\n\n[data-importance='emphasized'] {\n &.qds-selected {\n &.qds-tab,\n &.qds-closable-wrapper {\n background-color: var(--qds-theme-control-background);\n }\n }\n\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n\n & .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='standard'] {\n .qds-selected .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &.qds-selected,\n &.qds-closable-wrapper,\n .qds-tab:hover {\n &::after {\n border-radius: var(--qds-signature-line-connection-cap-radius);\n content: '';\n display: block;\n position: absolute;\n }\n\n &.qds-indicator-inline-end::after,\n &.qds-indicator-inline-start::after {\n width: var(--qds-signature-line-connection-width);\n height: 100%;\n }\n\n &.qds-indicator-inline-end::after {\n inset-inline-end: 0;\n }\n\n &.qds-indicator-inline-start::after {\n inset-inline-start: 0;\n }\n\n &.qds-indicator-block-end::after,\n &.qds-indicator-block-start::after {\n width: 100%;\n height: var(--qds-signature-line-connection-width);\n }\n\n &.qds-indicator-block-end::after {\n bottom: 0;\n }\n\n &.qds-indicator-block-start::after {\n top: 0;\n }\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'] {\n &.qds-selected {\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n }\n}\n\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &:hover {\n &::after {\n background-color: var(--qds-theme-signature-color-hover);\n }\n }\n\n &:active {\n &::after {\n background-color: var(--qds-theme-signature-color-pressed);\n }\n }\n\n &.qds-selected {\n &::after {\n background-color: var(--qds-theme-signature-color-default);\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-selected,\n :active {\n &::after {\n background-color: var(--qds-theme-link-subdued-pressed);\n }\n }\n\n &:hover {\n &::after {\n background-color: var(--qds-theme-link-subdued-hover);\n }\n }\n}\n\n.qds-tab {\n &.qds-icon-only {\n padding-inline: 0;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n }\n}\n\n.qds-closable-tab {\n width: 100%;\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n }\n}\n\n.qds-closable-wrapper {\n align-items: center;\n justify-content: center;\n}\n\n.qds-tab,\n.qds-closable-tab {\n align-items: center;\n justify-content: center;\n border: none;\n background-color: transparent;\n cursor: pointer;\n text-align: initial;\n\n &:any-link {\n text-decoration: none;\n }\n}\n\n.qds-hidden {\n display: none;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter, JSX } from '@stencil/core'\nimport {\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { Attributes, QdsFocusEventDetail } from '../../helpers'\nimport {\n inheritAriaAttributes,\n pickFocusEventAttributes,\n resolveTarget,\n} from '../../helpers'\nimport type { Importance, Size, Status } from '../shared'\n\nexport type Action = 'closable' | 'expandable'\n\nexport type Placement = 'bottom' | 'left' | 'right' | 'top'\n\nexport type TagStatus = Status | 'neutral'\n\nexport type IndicatorPosition =\n | 'block-end'\n | 'block-start'\n | 'inline-end'\n | 'inline-start'\n\nconst isCounter = (value: unknown): value is number =>\n typeof value === 'string'\n ? !Number.isNaN(Number.parseFloat(value))\n : typeof value === 'number'\n\nconst isIndicator = (value: unknown): value is '' | true =>\n value === '' || value === true\n\nlet autoIncrementingId = 1\n\n/**\n * <qds-tab> is a navigational element that is used in different horizontal or vertical navigation bars\n * (Main Navigation, secondary navigation, Tab bar, etc.)\n * as trigger points for opening a menu list or switching content in Tab bar.\n *\n * @see https://quartz.se.com/build/components/tab\n */\n@Component({\n tag: 'qds-tab',\n shadow: true,\n styleUrl: 'tab.css',\n})\nexport class Tab implements ComponentInterface {\n /**\n * The name of the action icon to render.\n */\n @Prop() public readonly action?: Action\n\n /**\n * Displays an indicator if `true` or the empty string. Otherwise, displays a\n * counter badge if a number or string representing a number is used.\n */\n @Prop() public readonly badge?: number | string | true\n\n /**\n * The tab's counter importance.\n */\n @Prop()\n public readonly badgeCounterImportance?: HTMLQdsBadgeCounterElement['importance'] =\n 'standard'\n\n /**\n * The indicator or counter badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'neutral'\n\n /**\n * Prevents the tab from being interacted with: it cannot be\n * selected or focused.\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * Displays the tab in a collapsed state without its text. The text will be\n * displayed in a tooltip instead.\n *\n * This property has no effect if the tab does not have an icon set.\n */\n @Prop() public readonly iconOnly: boolean = false\n\n /**\n * The tab's importance.\n */\n @Prop() public readonly importance?: Importance = 'standard'\n\n /**\n * The tab's indicator position.\n */\n @Prop() public readonly indicatorPosition?: IndicatorPosition = 'block-end'\n\n /**\n * The tab panel element associated with this tab. The `panel` specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][]\n * - A function returning a reference to an [`Element`][] or a CSS selector\n * string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n */\n @Prop() public readonly panel!: Element | string | (() => Element | string)\n\n /**\n * The tag icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly tagIconDescription?: string\n\n /**\n * The name of the tab's tag icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly tagIconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly tagIconLibrary: string = 'default'\n\n /**\n * The tab's tag importance.\n */\n @Prop() public readonly tagImportance?: HTMLQdsTagElement['importance'] =\n 'emphasized'\n\n /**\n * The tab's tag size.\n */\n @Prop() public readonly tagSize?: Size = 'small'\n\n /**\n * The tab's tag status.\n */\n @Prop() public readonly tagStatus?: Status = 'info'\n\n /**\n * The tab's tag text.\n */\n @Prop() public readonly tagText?: string\n\n /**\n * Whether or not the tab is selected.\n */\n @Prop() public selected = false\n\n /**\n * The tab's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * Primary text to display.\n */\n @Prop() public readonly text!: string\n\n /**\n * When set, the underlying tab will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * This property has no effect if the tab has an `action`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * Emitted when the tab is closed.\n */\n @Event({ eventName: 'qdsClose', cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the tab loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the tab gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLQdsTabElement\n\n @State() private tabIndex?: number\n\n #inheritedAttributes: Attributes = {}\n\n #div?: HTMLDivElement\n\n #panel?: Element\n\n get #collapsed(): boolean {\n const hasNoTag = this.tagText === undefined || this.tagText === ''\n const hasNoBadge = this.badge === undefined || this.badge === ''\n\n return (\n this.#shouldCollapse &&\n this.#computedAction === undefined &&\n hasNoTag &&\n hasNoBadge\n )\n }\n\n get #computedAction(): Action | undefined {\n switch (this.action) {\n case 'closable':\n case 'expandable': {\n return this.action\n }\n default: {\n return undefined\n }\n }\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedImportance(): Importance {\n switch (this.importance) {\n case 'subdued':\n case 'emphasized': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #ariaLabel(): string {\n return `Close ${this.text}`\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #shouldCollapse(): boolean {\n return this.iconOnly && this.iconName !== undefined && this.iconName !== ''\n }\n\n get #placement(): Placement {\n switch (this.indicatorPosition) {\n case 'inline-start': {\n return 'left'\n }\n case 'inline-end': {\n return 'right'\n }\n case 'block-start': {\n return 'top'\n }\n default: {\n return 'bottom'\n }\n }\n }\n\n @Watch('panel')\n protected panelChanged(): void {\n this.disconnectedCallback()\n\n const panel = resolveTarget(this.panel)\n if (!(panel instanceof globalThis.Element)) return\n this.#panel = panel\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.setAttribute('aria-controls', this.#panel.id)\n\n if (this.#panel.role === null) this.#panel.role = 'tabpanel'\n if (this.#panel.getAttribute('aria-labelledby') === null)\n this.#panel.setAttribute('aria-labelledby', this.host.id)\n this.#panel.setAttribute(\n 'tabindex',\n this.#panel.getAttribute('tabindex') ?? '0',\n )\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string): void {\n const parsedValue = Number.parseInt(newValue, 10)\n this.tabIndex =\n parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue\n }\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.host.id ||= `qds-tab-${autoIncrementingId}`\n autoIncrementingId += 1\n }\n\n public componentDidLoad(): void {\n this.panelChanged()\n }\n\n public disconnectedCallback(): void {\n if (!this.#panel) return\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.removeAttribute('aria-controls')\n\n if (this.#panel.role === 'tabpanel')\n // eslint-disable-next-line unicorn/no-null\n this.#panel.role = null\n if (this.#panel.getAttribute('aria-labelledby') === this.host.id)\n this.#panel.removeAttribute('aria-labelledby')\n this.#panel.removeAttribute('tabindex')\n }\n\n public render() {\n const isLink = this.href !== undefined && this.#computedAction === undefined\n const Tag = isLink\n ? 'a'\n : this.#computedAction === 'expandable'\n ? 'button'\n : 'div'\n return (\n <div\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-closable-wrapper': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction === 'closable',\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n ref={this.#ref}\n >\n <Tag\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n disabled={isLink ? undefined : this.disabled}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n class={{\n 'qds-tab': this.#computedAction !== 'closable',\n 'qds-icon-only': this.#collapsed,\n 'qds-collapse':\n this.#shouldCollapse && this.#computedAction !== 'closable',\n 'qds-closable-tab': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction !== 'closable',\n }}\n role={\n !isLink && this.#computedAction !== 'expandable' ? 'tab' : undefined\n }\n aria-current={isLink && this.selected ? 'true' : undefined}\n aria-expanded={\n this.#computedAction === 'expandable' && !isLink\n ? this.selected\n ? 'true'\n : 'false'\n : undefined\n }\n data-importance={this.#computedImportance}\n data-action={this.#computedAction}\n data-size={this.#computedSize}\n href={isLink ? this.href : undefined}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n {((this.tagText !== undefined && this.tagText !== '') ||\n (this.tagIconName !== undefined && this.tagIconName !== '')) && (\n <qds-tag\n text={this.tagText}\n status={this.tagStatus}\n size={this.#computedSize}\n importance={this.tagImportance}\n icon-library={this.tagIconLibrary}\n icon-name={this.tagIconName}\n icon-description={this.tagIconDescription}\n class={{ 'qds-hidden': this.#shouldCollapse }}\n />\n )}\n\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n {!this.#shouldCollapse && this.text && this.#renderText()}\n {isIndicator(this.badge) && (\n <qds-badge-indicator\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n {isCounter(this.badge) && (\n <qds-badge-counter\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n description={this.badgeDescription}\n importance={this.badgeCounterImportance}\n size={this.#computedSize}\n strokeRing\n value={this.badge}\n />\n )}\n {this.#computedAction === 'expandable' && (\n <qds-icon\n aria-hidden=\"true\"\n class={{ 'qds-target-icon': true, 'qds-chevron': this.selected }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"dropdown\"\n />\n )}\n </Tag>\n {this.#computedAction === 'closable' && (\n <button\n aria-label={this.#ariaLabel}\n class=\"qds-target\"\n tabIndex={this.#computedDisabled ? undefined : this.tabIndex}\n disabled={this.disabled}\n onClick={this.#onIconClick}\n onKeyDown={this.#onIconKeyDown}\n type=\"button\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-target-icon\"\n data-size={this.#computedSize}\n library=\"core\"\n name=\"close\"\n />\n </button>\n )}\n {this.#shouldCollapse && this.text && (\n <qds-tooltip placement={this.#placement} ref={this.#tooltipRef}>\n {this.#renderText()}\n </qds-tooltip>\n )}\n </div>\n )\n }\n\n #renderText(): JSX.Element {\n return this.#shouldCollapse ? (\n <qds-title subtitle={this.subtitle} layer=\"accessory\" level=\"root\">\n {this.text}\n </qds-title>\n ) : (\n <div class=\"qds-texts\">\n <div class=\"qds-text\">{this.text}</div>\n {this.subtitle !== undefined && this.subtitle !== '' && (\n <div class=\"qds-subtitle\">{this.subtitle}</div>\n )}\n </div>\n )\n }\n\n readonly #ref = (div?: HTMLDivElement): void => {\n this.#div = div\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip)\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.#div\n }\n\n readonly #close = (): void => {\n this.closeEmitter.emit()\n }\n\n readonly #onIconClick = (event: MouseEvent): void => {\n event.stopPropagation()\n\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && !event.defaultPrevented) this.#close()\n }\n\n readonly #onIconKeyDown = (event: KeyboardEvent): void => {\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.stopPropagation()\n this.#close()\n }\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"qds-tab.entry.js","mappings":"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","names":[],"sources":["src/components/tab/tab.css?tag=qds-tab&encapsulation=shadow","src/components/tab/tab.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-target {\n appearance: none;\n border: none;\n padding: 0;\n cursor: pointer;\n pointer-events: auto;\n background-color: transparent;\n\n &:disabled {\n pointer-events: none;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: var(--qds-focus-border-offset);\n }\n}\n\n.qds-target-icon {\n color: var(--qds-theme-control-text-standard);\n}\n\n.qds-icon,\n.qds-target-icon {\n flex-shrink: 0;\n}\n\n.qds-chevron {\n transform: rotate(180deg);\n}\n\n.qds-tab,\n.qds-closable-wrapper {\n position: relative;\n}\n\n.qds-target,\n.qds-closable-wrapper,\n.qds-tab,\n.qds-closable-tab,\n.qds-texts {\n display: flex;\n}\n\n.qds-texts {\n flex: 1 0;\n flex-direction: column;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n color: var(--qds-theme-subtitle);\n font: var(--qds-control-tab-standard-subtitle);\n}\n\n.qds-indicator {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n}\n\n[data-size='small'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-small-height);\n gap: var(--qds-control-tab-small-gap-internal);\n padding-inline: var(--qds-control-tab-small-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-small-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-small-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-small-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-small-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-small-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-small-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-small-height);\n\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n}\n\n[data-size='standard'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-standard-height);\n gap: var(--qds-control-tab-standard-gap-internal);\n padding-inline: var(--qds-control-tab-standard-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-standard-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-standard-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-standard-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-standard-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-standard-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-standard-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(\n --qds-control-standard-height\n );\n\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n}\n\n[data-size='large'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-large-height);\n gap: var(--qds-control-tab-large-gap-internal);\n padding-inline: var(--qds-control-tab-large-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-large-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-large-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-large-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-large-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-large-title);\n }\n\n & .qds-subtext {\n font: var(--qds-control-tab-large-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-large-height);\n\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n}\n\n[data-importance='emphasized'] {\n &.qds-selected {\n &.qds-tab,\n &.qds-closable-wrapper {\n background-color: var(--qds-theme-control-background);\n }\n }\n\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n\n & .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='standard'] {\n .qds-selected .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &.qds-selected,\n &.qds-closable-wrapper,\n .qds-tab:hover {\n &::after {\n border-radius: var(--qds-signature-line-connection-cap-radius);\n content: '';\n display: block;\n position: absolute;\n }\n\n &.qds-indicator-inline-end::after,\n &.qds-indicator-inline-start::after {\n width: var(--qds-signature-line-connection-width);\n height: 100%;\n }\n\n &.qds-indicator-inline-end::after {\n inset-inline-end: 0;\n }\n\n &.qds-indicator-inline-start::after {\n inset-inline-start: 0;\n }\n\n &.qds-indicator-block-end::after,\n &.qds-indicator-block-start::after {\n width: 100%;\n height: var(--qds-signature-line-connection-width);\n }\n\n &.qds-indicator-block-end::after {\n bottom: 0;\n }\n\n &.qds-indicator-block-start::after {\n top: 0;\n }\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'] {\n &.qds-selected {\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n }\n}\n\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &:hover {\n &::after {\n background-color: var(--qds-theme-signature-color-hover);\n }\n }\n\n &:active {\n &::after {\n background-color: var(--qds-theme-signature-color-pressed);\n }\n }\n\n &.qds-selected {\n &::after {\n background-color: var(--qds-theme-signature-color-default);\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-selected,\n :active {\n &::after {\n background-color: var(--qds-theme-link-subdued-pressed);\n }\n }\n\n &:hover {\n &::after {\n background-color: var(--qds-theme-link-subdued-hover);\n }\n }\n}\n\n.qds-tab {\n &.qds-icon-only {\n padding-inline: 0;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n }\n}\n\n.qds-closable-tab {\n width: 100%;\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n }\n}\n\n.qds-closable-wrapper {\n align-items: center;\n justify-content: center;\n}\n\n.qds-tab,\n.qds-closable-tab {\n align-items: center;\n justify-content: center;\n border: none;\n background-color: transparent;\n cursor: pointer;\n text-align: initial;\n\n &:any-link {\n text-decoration: none;\n }\n}\n\n.qds-hidden {\n display: none;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter, JSX } from '@stencil/core'\nimport {\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { Attributes, QdsFocusEventDetail } from '../../helpers'\nimport {\n inheritAriaAttributes,\n pickFocusEventAttributes,\n resolveTarget,\n} from '../../helpers'\nimport type { Importance, Size, Status } from '../shared'\n\nexport type Action = 'closable' | 'expandable'\n\nexport type Placement = 'bottom' | 'left' | 'right' | 'top'\n\nexport type TagStatus = Status | 'neutral'\n\nexport type IndicatorPosition =\n | 'block-end'\n | 'block-start'\n | 'inline-end'\n | 'inline-start'\n\nconst isCounter = (value: unknown): value is number =>\n typeof value === 'string'\n ? !Number.isNaN(Number.parseFloat(value))\n : typeof value === 'number'\n\nconst isIndicator = (value: unknown): value is '' | true =>\n value === '' || value === true\n\nlet autoIncrementingId = 1\n\n/**\n * <qds-tab> is a navigational element that is used in different horizontal or vertical navigation bars\n * (Main Navigation, secondary navigation, Tab bar, etc.)\n * as trigger points for opening a menu list or switching content in Tab bar.\n *\n * @see https://quartz.se.com/build/components/tab\n */\n@Component({\n tag: 'qds-tab',\n shadow: true,\n styleUrl: 'tab.css',\n})\nexport class Tab implements ComponentInterface {\n /**\n * The name of the action icon to render.\n */\n @Prop() public readonly action?: Action\n\n /**\n * Displays an indicator if `true` or the empty string. Otherwise, displays a\n * counter badge if a number or string representing a number is used.\n */\n @Prop() public readonly badge?: number | string | true\n\n /**\n * The tab's counter importance.\n */\n @Prop()\n public readonly badgeCounterImportance?: HTMLQdsBadgeCounterElement['importance'] =\n 'standard'\n\n /**\n * The indicator or counter badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'neutral'\n\n /**\n * Prevents the tab from being interacted with: it cannot be\n * selected or focused.\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * Displays the tab in a collapsed state without its text. The text will be\n * displayed in a tooltip instead.\n *\n * This property has no effect if the tab does not have an icon set.\n */\n @Prop() public readonly iconOnly: boolean = false\n\n /**\n * The tab's importance.\n */\n @Prop() public readonly importance?: Importance = 'standard'\n\n /**\n * The tab's indicator position.\n */\n @Prop() public readonly indicatorPosition?: IndicatorPosition = 'block-end'\n\n /**\n * The tab panel element associated with this tab. The `panel` specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][]\n * - A function returning a reference to an [`Element`][] or a CSS selector\n * string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n */\n @Prop() public readonly panel!: Element | string | (() => Element | string)\n\n /**\n * The tag icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly tagIconDescription?: string\n\n /**\n * The name of the tab's tag icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly tagIconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly tagIconLibrary: string = 'default'\n\n /**\n * The tab's tag importance.\n */\n @Prop() public readonly tagImportance?: HTMLQdsTagElement['importance'] =\n 'emphasized'\n\n /**\n * The tab's tag size.\n */\n @Prop() public readonly tagSize?: Size = 'small'\n\n /**\n * The tab's tag status.\n */\n @Prop() public readonly tagStatus?: Status = 'info'\n\n /**\n * The tab's tag text.\n */\n @Prop() public readonly tagText?: string\n\n /**\n * Whether or not the tab is selected.\n */\n @Prop() public selected = false\n\n /**\n * The tab's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * Primary text to display.\n */\n @Prop() public readonly text!: string\n\n /**\n * When set, the underlying tab will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * This property has no effect if the tab has an `action`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * Emitted when the tab is closed.\n */\n @Event({ eventName: 'qdsClose', cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the tab loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the tab gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLElement\n\n @State() private tabIndex?: number\n\n #inheritedAttributes: Attributes = {}\n\n #div?: HTMLDivElement\n\n #panel?: Element\n\n get #collapsed(): boolean {\n const hasNoTag = this.tagText === undefined || this.tagText === ''\n const hasNoBadge = this.badge === undefined || this.badge === ''\n\n return (\n this.#shouldCollapse &&\n this.#computedAction === undefined &&\n hasNoTag &&\n hasNoBadge\n )\n }\n\n get #computedAction(): Action | undefined {\n switch (this.action) {\n case 'closable':\n case 'expandable': {\n return this.action\n }\n default: {\n return undefined\n }\n }\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedImportance(): Importance {\n switch (this.importance) {\n case 'subdued':\n case 'emphasized': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #ariaLabel(): string {\n return `Close ${this.text}`\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #shouldCollapse(): boolean {\n return this.iconOnly && this.iconName !== undefined && this.iconName !== ''\n }\n\n get #placement(): Placement {\n switch (this.indicatorPosition) {\n case 'inline-start': {\n return 'left'\n }\n case 'inline-end': {\n return 'right'\n }\n case 'block-start': {\n return 'top'\n }\n default: {\n return 'bottom'\n }\n }\n }\n\n @Watch('panel')\n protected panelChanged(): void {\n this.disconnectedCallback()\n\n const panel = resolveTarget(this.panel)\n if (!(panel instanceof globalThis.Element)) return\n this.#panel = panel\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.setAttribute('aria-controls', this.#panel.id)\n\n if (this.#panel.role === null) this.#panel.role = 'tabpanel'\n if (this.#panel.getAttribute('aria-labelledby') === null)\n this.#panel.setAttribute('aria-labelledby', this.host.id)\n this.#panel.setAttribute(\n 'tabindex',\n this.#panel.getAttribute('tabindex') ?? '0',\n )\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string): void {\n const parsedValue = Number.parseInt(newValue, 10)\n this.tabIndex =\n parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue\n }\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.host.id ||= `qds-tab-${autoIncrementingId}`\n autoIncrementingId += 1\n }\n\n public componentDidLoad(): void {\n this.panelChanged()\n }\n\n public disconnectedCallback(): void {\n if (!this.#panel) return\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.removeAttribute('aria-controls')\n\n if (this.#panel.role === 'tabpanel')\n // eslint-disable-next-line unicorn/no-null\n this.#panel.role = null\n if (this.#panel.getAttribute('aria-labelledby') === this.host.id)\n this.#panel.removeAttribute('aria-labelledby')\n this.#panel.removeAttribute('tabindex')\n }\n\n public render() {\n const isLink = this.href !== undefined && this.#computedAction === undefined\n const Tag = isLink\n ? 'a'\n : this.#computedAction === 'expandable'\n ? 'button'\n : 'div'\n return (\n <div\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-closable-wrapper': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction === 'closable',\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n ref={this.#ref}\n >\n <Tag\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n disabled={isLink ? undefined : this.disabled}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n class={{\n 'qds-tab': this.#computedAction !== 'closable',\n 'qds-icon-only': this.#collapsed,\n 'qds-collapse':\n this.#shouldCollapse && this.#computedAction !== 'closable',\n 'qds-closable-tab': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction !== 'closable',\n }}\n role={\n !isLink && this.#computedAction !== 'expandable' ? 'tab' : undefined\n }\n aria-current={isLink && this.selected ? 'true' : undefined}\n aria-expanded={\n this.#computedAction === 'expandable' && !isLink\n ? this.selected\n ? 'true'\n : 'false'\n : undefined\n }\n data-importance={this.#computedImportance}\n data-action={this.#computedAction}\n data-size={this.#computedSize}\n href={isLink ? this.href : undefined}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n {((this.tagText !== undefined && this.tagText !== '') ||\n (this.tagIconName !== undefined && this.tagIconName !== '')) && (\n <qds-tag\n text={this.tagText}\n status={this.tagStatus}\n size={this.#computedSize}\n importance={this.tagImportance}\n icon-library={this.tagIconLibrary}\n icon-name={this.tagIconName}\n icon-description={this.tagIconDescription}\n class={{ 'qds-hidden': this.#shouldCollapse }}\n />\n )}\n\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n {!this.#shouldCollapse && this.text && this.#renderText()}\n {isIndicator(this.badge) && (\n <qds-badge-indicator\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n {isCounter(this.badge) && (\n <qds-badge-counter\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n description={this.badgeDescription}\n importance={this.badgeCounterImportance}\n size={this.#computedSize}\n strokeRing\n value={this.badge}\n />\n )}\n {this.#computedAction === 'expandable' && (\n <qds-icon\n aria-hidden=\"true\"\n class={{ 'qds-target-icon': true, 'qds-chevron': this.selected }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"dropdown\"\n />\n )}\n </Tag>\n {this.#computedAction === 'closable' && (\n <button\n aria-label={this.#ariaLabel}\n class=\"qds-target\"\n tabIndex={this.#computedDisabled ? undefined : this.tabIndex}\n disabled={this.disabled}\n onClick={this.#onIconClick}\n onKeyDown={this.#onIconKeyDown}\n type=\"button\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-target-icon\"\n data-size={this.#computedSize}\n library=\"core\"\n name=\"close\"\n />\n </button>\n )}\n {this.#shouldCollapse && this.text && (\n <qds-tooltip placement={this.#placement} ref={this.#tooltipRef}>\n {this.#renderText()}\n </qds-tooltip>\n )}\n </div>\n )\n }\n\n #renderText(): JSX.Element {\n return this.#shouldCollapse ? (\n <qds-title subtitle={this.subtitle} layer=\"accessory\" level=\"root\">\n {this.text}\n </qds-title>\n ) : (\n <div class=\"qds-texts\">\n <div class=\"qds-text\">{this.text}</div>\n {this.subtitle !== undefined && this.subtitle !== '' && (\n <div class=\"qds-subtitle\">{this.subtitle}</div>\n )}\n </div>\n )\n }\n\n readonly #ref = (div?: HTMLDivElement): void => {\n this.#div = div\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip)\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.#div\n }\n\n readonly #close = (): void => {\n this.closeEmitter.emit()\n }\n\n readonly #onIconClick = (event: MouseEvent): void => {\n event.stopPropagation()\n\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && !event.defaultPrevented) this.#close()\n }\n\n readonly #onIconKeyDown = (event: KeyboardEvent): void => {\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.stopPropagation()\n this.#close()\n }\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { c as invariant, b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tabbarCss = ":host([hidden]){display:none!important}:host{display:block}.qds-tabbar,.qds-tabs,.qds-vertical,.qds-vertical-divider{display:flex}.qds-tabbar,.qds-vertical-divider{width:inherit}.qds-arrow-start{transform:scaleX(var(--qds-direction-factor,1)) rotate(90deg)}.qds-arrow-end{transform:scaleX(var(--qds-direction-factor,1)) rotate(-90deg)}.qds-flex{display:flex}.qds-hidden{display:none}.qds-tabs{flex:1;margin-block:0;overflow:hidden;padding-inline-start:0;scroll-behavior:smooth}.qds-vertical{flex-direction:column}.qds-vertical-divider{flex-direction:row}[data-layer=main][data-level=root] .qds-tabs{gap:var(--qds-control-large-gap-siblings-related)}[data-layer=main][data-level=section] .qds-tabs{gap:var(--qds-control-standard-gap-siblings-related)}[data-layer=main][data-level=subsection] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}[data-layer=popup][data-level=root] .qds-tabs{gap:var(--qds-control-standard-gap-siblings-related)}[data-layer=popup][data-level=section] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}:is([data-layer=panel],[data-layer=accessory])[data-level=root] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}";
|
|
10
10
|
const QdsTabbarStyle0 = tabbarCss;
|
|
@@ -12,13 +12,6 @@ const QdsTabbarStyle0 = tabbarCss;
|
|
|
12
12
|
// SPDX-FileCopyrightText: © 2024 Schneider Electric
|
|
13
13
|
//
|
|
14
14
|
// SPDX-License-Identifier: Apache-2.0
|
|
15
|
-
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
16
|
-
if (kind === "a" && !f)
|
|
17
|
-
throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
19
|
-
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
-
};
|
|
22
15
|
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
23
16
|
if (kind === "m")
|
|
24
17
|
throw new TypeError("Private method is not writable");
|
|
@@ -28,6 +21,13 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
28
21
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
29
22
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
30
23
|
};
|
|
24
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
25
|
+
if (kind === "a" && !f)
|
|
26
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
27
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
28
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
29
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
30
|
+
};
|
|
31
31
|
var _Tabbar_instances, _Tabbar_ro, _Tabbar_tabbar, _Tabbar_inheritedAttributes, _Tabbar_scrollToStart, _Tabbar_scrollToEnd, _Tabbar_setActiveTab, _Tabbar_getAllTabPanels, _Tabbar_switchTabPanel, _Tabbar_handleTabActivation, _Tabbar_getTabs, _Tabbar_getCurrentTab, _Tabbar_setCurrentTab, _Tabbar_onClick, _Tabbar_onKeyDown, _Tabbar_onMouseDown, _Tabbar_onScroll, _Tabbar_onSlotchange;
|
|
32
32
|
const HORIZONTAL_MOVE_KEYS = new Set([
|
|
33
33
|
'ArrowLeft',
|
|
@@ -91,6 +91,20 @@ const Tabbar = class {
|
|
|
91
91
|
this.showEmitter = createEvent(this, "qdsTabShow", 6);
|
|
92
92
|
this.hideEmitter = createEvent(this, "qdsTabHide", 6);
|
|
93
93
|
_Tabbar_instances.add(this);
|
|
94
|
+
/**
|
|
95
|
+
* The tabbar's layer.
|
|
96
|
+
*/
|
|
97
|
+
this.layer = 'main';
|
|
98
|
+
/**
|
|
99
|
+
* The tabbar's level.
|
|
100
|
+
*/
|
|
101
|
+
this.level = 'root';
|
|
102
|
+
/**
|
|
103
|
+
* The tabbar's orientation.
|
|
104
|
+
*/
|
|
105
|
+
this.orientation = 'horizontal';
|
|
106
|
+
this.disableEndArrow = false;
|
|
107
|
+
this.disableStartArrow = false;
|
|
94
108
|
_Tabbar_ro.set(this, void 0);
|
|
95
109
|
_Tabbar_tabbar.set(this, void 0);
|
|
96
110
|
_Tabbar_inheritedAttributes.set(this, {});
|
|
@@ -198,13 +212,6 @@ const Tabbar = class {
|
|
|
198
212
|
if (tabs.length > 0)
|
|
199
213
|
__classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setCurrentTab).call(this, tabs[0]);
|
|
200
214
|
});
|
|
201
|
-
this.layer = 'main';
|
|
202
|
-
this.level = 'root';
|
|
203
|
-
this.orientation = 'horizontal';
|
|
204
|
-
this.tablistDescription = undefined;
|
|
205
|
-
this.disableEndArrow = false;
|
|
206
|
-
this.disableStartArrow = false;
|
|
207
|
-
this.activeTab = undefined;
|
|
208
215
|
}
|
|
209
216
|
componentWillLoad() {
|
|
210
217
|
__classPrivateFieldSet(this, _Tabbar_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
@@ -238,22 +245,22 @@ const Tabbar = class {
|
|
|
238
245
|
__classPrivateFieldGet(this, _Tabbar_ro, "f").disconnect();
|
|
239
246
|
}
|
|
240
247
|
render() {
|
|
241
|
-
return (h("div", { key: '
|
|
248
|
+
return (h("div", { key: '7e8727b610cb6f031027e2194830e0df7148b700', class: { 'qds-vertical-divider': this.orientation === 'vertical' }, "data-layer": this.layer, "data-level": this.level }, h("div", { key: '458b4a3020ec8d780c169ac6246cb07d2acf7877', class: "qds-tabbar" }, h("div", { key: '45da0b6148fcf23da3e22dbb5422fb7ee0a57cf9', class: {
|
|
242
249
|
'qds-flex': !(this.disableEndArrow && this.disableStartArrow),
|
|
243
250
|
'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
|
|
244
251
|
this.orientation === 'vertical',
|
|
245
|
-
} }, h("qds-button", { key: '
|
|
252
|
+
} }, h("qds-button", { key: '3724111b835f1227fbadbd958cedc1c148526ae4', importance: "subdued", "icon-name": "dropdown", "icon-library": "core", "aria-label": "show previous tab", class: "qds-arrow-start", onClick: __classPrivateFieldGet(this, _Tabbar_scrollToStart, "f"), disabled: this.disableStartArrow })), h("ul", { key: 'cf2f89b6a8322787fed01dbe85215a1978ba346e', class: {
|
|
246
253
|
'qds-tabs': true,
|
|
247
254
|
'qds-vertical': this.orientation === 'vertical',
|
|
248
255
|
}, role: "tablist", "aria-label": this.tablistDescription, ref: (element) => {
|
|
249
256
|
__classPrivateFieldSet(this, _Tabbar_tabbar, element, "f");
|
|
250
|
-
}, onClick: __classPrivateFieldGet(this, _Tabbar_onClick, "f"), onKeyDown: __classPrivateFieldGet(this, _Tabbar_onKeyDown, "f"), onMouseDown: __classPrivateFieldGet(this, _Tabbar_onMouseDown, "f"), onScroll: __classPrivateFieldGet(this, _Tabbar_onScroll, "f"), ...__classPrivateFieldGet(this, _Tabbar_inheritedAttributes, "f") }, h("slot", { key: '
|
|
257
|
+
}, onClick: __classPrivateFieldGet(this, _Tabbar_onClick, "f"), onKeyDown: __classPrivateFieldGet(this, _Tabbar_onKeyDown, "f"), onMouseDown: __classPrivateFieldGet(this, _Tabbar_onMouseDown, "f"), onScroll: __classPrivateFieldGet(this, _Tabbar_onScroll, "f"), ...__classPrivateFieldGet(this, _Tabbar_inheritedAttributes, "f") }, h("slot", { key: '1b852016bd4e7b2e827077f79ba9bcc4d1ce0890', onSlotchange: __classPrivateFieldGet(this, _Tabbar_onSlotchange, "f") })), h("div", { key: '084b4ace7de7b0ba719dafe877b168533fffe235', class: {
|
|
251
258
|
'qds-flex': !(this.disableEndArrow && this.disableStartArrow),
|
|
252
259
|
'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
|
|
253
260
|
this.orientation === 'vertical',
|
|
254
|
-
} }, h("qds-button", { key: '
|
|
261
|
+
} }, h("qds-button", { key: '60cf1031a13eda4375b55df85eef13ab2f3e4f2c', "aria-label": "show next tab", "icon-name": "dropdown", "icon-library": "core", importance: "subdued", class: "qds-arrow-end", onClick: __classPrivateFieldGet(this, _Tabbar_scrollToEnd, "f"), disabled: this.disableEndArrow }))), ((this.level === 'root' &&
|
|
255
262
|
(this.layer === 'popup' || this.layer === 'accessory')) ||
|
|
256
|
-
(this.level === 'section' && this.layer === 'main')) && (h("qds-divider", { key: '
|
|
263
|
+
(this.level === 'section' && this.layer === 'main')) && (h("qds-divider", { key: 'ab5a33987d0eea69d161cb24a5191c8aa07939cc', vertical: this.orientation === 'vertical' }))));
|
|
257
264
|
}
|
|
258
265
|
static get delegatesFocus() { return true; }
|
|
259
266
|
get host() { return getElement(this); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-tabbar.entry.js","mappings":"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","names":[],"sources":["src/components/tabbar/tabbar.css?tag=qds-tabbar&encapsulation=shadow","src/components/tabbar/tabbar.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n.qds-vertical,\n.qds-vertical-divider,\n.qds-tabbar,\n.qds-tabs {\n display: flex;\n}\n\n.qds-vertical-divider,\n.qds-tabbar {\n width: inherit;\n}\n\n.qds-arrow-start {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(90deg);\n}\n\n.qds-arrow-end {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(-90deg);\n}\n\n.qds-flex {\n display: flex;\n}\n\n.qds-hidden {\n display: none;\n}\n\n.qds-tabs {\n flex: 1;\n margin-block: 0;\n overflow: hidden;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n}\n\n.qds-vertical {\n flex-direction: column;\n}\n\n.qds-vertical-divider {\n flex-direction: row;\n}\n\n[data-layer='main'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-large-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='subsection'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n[data-layer='popup'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n:is([data-layer='panel'], [data-layer='accessory'])[data-level='root']\n .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport { Component, Element, Event, h, Prop, State } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes, invariant } from '../../helpers'\nimport type { Tab } from '../tab/tab'\n\nexport type Layer = 'accessory' | 'main' | 'panel' | 'popup'\nexport type Level = 'root' | 'section' | 'subsection'\nexport type Orientation = 'horizontal' | 'vertical'\n\nconst HORIZONTAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n])\n\nconst VERTICAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n])\n\nconst TAB_SETTINGS: Record<\n string,\n Pick<Tab, 'importance' | 'indicatorPosition' | 'size'> | undefined\n> = {\n 'main-root': {\n importance: 'standard',\n size: 'large',\n indicatorPosition: 'block-end',\n },\n 'main-section': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'popup-root': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'main-subsection': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'popup-section': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'inline-start',\n },\n 'panel-root': {\n importance: 'standard',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'accessory-root': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-end',\n },\n}\n\nconst isEnabledTabItem = (item: unknown): item is HTMLQdsTabElement => {\n if (!(item instanceof HTMLElement)) return false\n const tagName = item.tagName.toLowerCase()\n\n return (\n (!item.inert && tagName === 'qds-tab') ||\n (item as HTMLQdsTabElement).disabled !== true\n )\n}\n\n/**\n * `<qds-tabbar>` is the component that facilitates navigation between the groups\n * of related content within the page.\n * It allows users to switch between groups by clicking on Tabs without going to another page.\n */\n@Component({\n tag: 'qds-tabbar',\n shadow: { delegatesFocus: true },\n styleUrl: 'tabbar.css',\n})\nexport class Tabbar implements ComponentInterface {\n /**\n * The tabbar's layer.\n */\n @Prop() public layer?: Layer = 'main'\n\n /**\n * The tabbar's level.\n */\n @Prop() public level?: Level = 'root'\n\n /**\n * The tabbar's orientation.\n */\n @Prop() public orientation?: Orientation = 'horizontal'\n\n /**\n * the tablist Description\n */\n @Prop() public readonly tablistDescription?: string\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabShow', cancelable: false })\n private readonly showEmitter!: EventEmitter<HTMLElement>\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabHide', cancelable: false })\n private readonly hideEmitter!: EventEmitter<HTMLElement>\n\n @Element() private readonly host!: HTMLQdsTabbarElement\n\n @State() private disableEndArrow = false\n\n @State() private disableStartArrow = false\n\n @State() private activeTab?: HTMLQdsTabElement\n\n #ro: ResizeObserver | undefined\n\n #tabbar?: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n\n const firstTab = this.host.querySelector('qds-tab')\n if (firstTab) this.#setActiveTab(firstTab)\n }\n\n public componentDidRender(): void {\n if (this.activeTab) this.#switchTabPanel(this.activeTab)\n\n const settings = TAB_SETTINGS[`${this.layer}-${this.level}`]\n if (!settings) return\n\n for (const tab of this.host.querySelectorAll('qds-tab')) {\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n tab.importance = settings.importance\n tab.size = settings.size\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n tab.indicatorPosition =\n this.orientation === 'vertical' ? 'inline-end' : tab.indicatorPosition\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n }\n }\n\n public componentDidLoad(): void {\n invariant(this.#tabbar)\n\n this.#ro = new ResizeObserver(this.#onScroll)\n this.#ro.observe(this.#tabbar)\n }\n\n public disconnectedCallback(): void {\n if (this.#ro) this.#ro.disconnect()\n }\n\n public render() {\n return (\n <div\n class={{ 'qds-vertical-divider': this.orientation === 'vertical' }}\n data-layer={this.layer}\n data-level={this.level}\n >\n <div class=\"qds-tabbar\">\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n importance=\"subdued\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n aria-label=\"show previous tab\"\n class=\"qds-arrow-start\"\n onClick={this.#scrollToStart}\n disabled={this.disableStartArrow}\n />\n </div>\n <ul\n class={{\n 'qds-tabs': true,\n 'qds-vertical': this.orientation === 'vertical',\n }}\n role=\"tablist\"\n aria-label={this.tablistDescription}\n ref={(element) => {\n this.#tabbar = element\n }}\n onClick={this.#onClick}\n onKeyDown={this.#onKeyDown}\n onMouseDown={this.#onMouseDown}\n onScroll={this.#onScroll}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot onSlotchange={this.#onSlotchange} />\n </ul>\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n aria-label=\"show next tab\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n importance=\"subdued\"\n class=\"qds-arrow-end\"\n onClick={this.#scrollToEnd}\n disabled={this.disableEndArrow}\n />\n </div>\n </div>\n {((this.level === 'root' &&\n (this.layer === 'popup' || this.layer === 'accessory')) ||\n (this.level === 'section' && this.layer === 'main')) && (\n <qds-divider vertical={this.orientation === 'vertical'} />\n )}\n </div>\n )\n }\n\n readonly #scrollToStart = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft + this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft - this.#tabbar.clientWidth,\n })\n }\n\n readonly #scrollToEnd = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft - this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft + this.#tabbar.clientWidth,\n })\n }\n\n #setActiveTab(tab: HTMLQdsTabElement): void {\n this.activeTab = tab\n\n for (const t of this.host.querySelectorAll('qds-tab')) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n\n const isSelected = t === tab\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n t.selected = isSelected\n if (target instanceof globalThis.Element)\n target.ariaSelected = isSelected.toString()\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/class-methods-use-this\n #getAllTabPanels(): HTMLElement[] {\n const tabPanels = document.querySelectorAll('[role=\"tabpanel\"]')\n return [...tabPanels].filter(\n (element): element is HTMLElement => element instanceof HTMLElement,\n )\n }\n\n #switchTabPanel(activeTab: HTMLQdsTabElement): void {\n const target = activeTab.shadowRoot?.querySelector('[role=\"tab\"]')\n const tabAriaControls = target?.getAttribute('aria-controls')\n const tabPanels = this.#getAllTabPanels()\n\n for (const panel of tabPanels)\n panel.hidden = tabAriaControls !== panel.getAttribute('id')\n }\n\n #handleTabActivation(tab: HTMLQdsTabElement): void {\n const previousTab = this.activeTab\n if (previousTab === tab) return\n\n this.activeTab = tab\n\n this.hideEmitter.emit(previousTab)\n\n this.showEmitter.emit(tab)\n this.#setCurrentTab(tab)\n this.#switchTabPanel(tab)\n }\n\n #getTabs(): HTMLQdsTabElement[] {\n const slot = this.host.shadowRoot?.querySelector('slot')\n return slot\n ? [...slot.assignedElements({ flatten: true })].filter<HTMLQdsTabElement>(\n (element) => isEnabledTabItem(element),\n )\n : []\n }\n\n #getCurrentTab(): HTMLQdsTabElement | undefined {\n const currentTab = this.#getTabs().find(\n (tab) =>\n tab.shadowRoot\n ?.querySelector('[role=\"tab\"]')\n ?.getAttribute('tabindex') === '0',\n )\n return currentTab\n }\n\n #setCurrentTab(tab: HTMLQdsTabElement): void {\n const tabs = this.#getTabs()\n for (const t of tabs) {\n const isCurrent = t === tab\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n const closeButton = t.shadowRoot?.querySelector('.qds-target')\n\n const isDisabled = target?.getAttribute('aria-disabled') === 'true'\n const shouldActivateTab = isCurrent && !isDisabled\n const tabindex = shouldActivateTab ? '0' : '-1'\n\n if (target) {\n target.setAttribute('tabindex', tabindex)\n if (shouldActivateTab) this.#handleTabActivation(t)\n }\n\n if (closeButton) closeButton.setAttribute('tabindex', tabindex)\n }\n }\n\n readonly #onClick = (event: MouseEvent): void => {\n const { target } = event\n if (!(target instanceof HTMLElement)) return\n const tab = target.closest('qds-tab')\n if (!tab || tab.disabled === true || tab.inert) return\n\n this.#handleTabActivation(tab)\n this.#setActiveTab(tab)\n }\n\n readonly #onKeyDown = (event: KeyboardEvent): void => {\n const isVertical = this.orientation === 'vertical'\n const MOVE_SELECTION_KEYS = isVertical\n ? VERTICAL_MOVE_KEYS\n : HORIZONTAL_MOVE_KEYS\n if (!MOVE_SELECTION_KEYS.has(event.key)) return\n\n const tabs = this.#getTabs()\n if (tabs.length === 0) return\n\n event.preventDefault()\n event.stopPropagation()\n\n const activeTab = this.#getCurrentTab()\n let index = activeTab ? tabs.indexOf(activeTab) : 0\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n\n let nextTab: HTMLQdsTabElement | undefined\n do {\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n index = (isRTL ? index < tabs.length - 1 : index > 0)\n ? index - (isRTL ? -1 : 1)\n : isRTL\n ? 0\n : tabs.length - 1\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n index = (isRTL ? index > 0 : index < tabs.length - 1)\n ? index + (isRTL ? -1 : 1)\n : isRTL\n ? tabs.length - 1\n : 0\n break\n }\n case 'Home': {\n index = isRTL ? tabs.length - 1 : 0\n break\n }\n case 'End': {\n index = isRTL ? 0 : tabs.length - 1\n break\n }\n default:\n }\n nextTab = tabs[index]\n } while (nextTab.disabled === true)\n\n this.#setCurrentTab(nextTab)\n\n const target =\n nextTab.shadowRoot?.querySelector<HTMLElement>('[role=\"tab\"]')\n if (target) {\n target.focus()\n target.scrollIntoView()\n }\n this.#handleTabActivation(nextTab)\n this.#setActiveTab(nextTab)\n }\n\n readonly #onMouseDown = (event: MouseEvent): void => {\n const { target } = event\n\n if (isEnabledTabItem(target)) this.#setCurrentTab(target)\n }\n\n readonly #onScroll = (): void => {\n if (!this.#tabbar) return\n\n const { clientWidth, scrollWidth, scrollLeft } = this.#tabbar\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.disableStartArrow = scrollLeft === 0\n this.disableEndArrow = isRTL\n ? scrollWidth + scrollLeft <= clientWidth\n : scrollWidth - clientWidth - scrollLeft <= 1\n }\n\n readonly #onSlotchange = (): void => {\n const tabs = this.#getTabs()\n\n if (tabs.length > 0) this.#setCurrentTab(tabs[0])\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"qds-tabbar.entry.js","mappings":"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","names":[],"sources":["src/components/tabbar/tabbar.css?tag=qds-tabbar&encapsulation=shadow","src/components/tabbar/tabbar.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n.qds-vertical,\n.qds-vertical-divider,\n.qds-tabbar,\n.qds-tabs {\n display: flex;\n}\n\n.qds-vertical-divider,\n.qds-tabbar {\n width: inherit;\n}\n\n.qds-arrow-start {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(90deg);\n}\n\n.qds-arrow-end {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(-90deg);\n}\n\n.qds-flex {\n display: flex;\n}\n\n.qds-hidden {\n display: none;\n}\n\n.qds-tabs {\n flex: 1;\n margin-block: 0;\n overflow: hidden;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n}\n\n.qds-vertical {\n flex-direction: column;\n}\n\n.qds-vertical-divider {\n flex-direction: row;\n}\n\n[data-layer='main'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-large-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='subsection'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n[data-layer='popup'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n:is([data-layer='panel'], [data-layer='accessory'])[data-level='root']\n .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport { Component, Element, Event, h, Prop, State } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes, invariant } from '../../helpers'\nimport type { Tab } from '../tab/tab'\n\nexport type Layer = 'accessory' | 'main' | 'panel' | 'popup'\nexport type Level = 'root' | 'section' | 'subsection'\nexport type Orientation = 'horizontal' | 'vertical'\n\nconst HORIZONTAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n])\n\nconst VERTICAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n])\n\nconst TAB_SETTINGS: Record<\n string,\n Pick<Tab, 'importance' | 'indicatorPosition' | 'size'> | undefined\n> = {\n 'main-root': {\n importance: 'standard',\n size: 'large',\n indicatorPosition: 'block-end',\n },\n 'main-section': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'popup-root': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'main-subsection': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'popup-section': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'inline-start',\n },\n 'panel-root': {\n importance: 'standard',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'accessory-root': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-end',\n },\n}\n\nconst isEnabledTabItem = (item: unknown): item is HTMLQdsTabElement => {\n if (!(item instanceof HTMLElement)) return false\n const tagName = item.tagName.toLowerCase()\n\n return (\n (!item.inert && tagName === 'qds-tab') ||\n (item as HTMLQdsTabElement).disabled !== true\n )\n}\n\n/**\n * `<qds-tabbar>` is the component that facilitates navigation between the groups\n * of related content within the page.\n * It allows users to switch between groups by clicking on Tabs without going to another page.\n */\n@Component({\n tag: 'qds-tabbar',\n shadow: { delegatesFocus: true },\n styleUrl: 'tabbar.css',\n})\nexport class Tabbar implements ComponentInterface {\n /**\n * The tabbar's layer.\n */\n @Prop() public layer?: Layer = 'main'\n\n /**\n * The tabbar's level.\n */\n @Prop() public level?: Level = 'root'\n\n /**\n * The tabbar's orientation.\n */\n @Prop() public orientation?: Orientation = 'horizontal'\n\n /**\n * the tablist Description\n */\n @Prop() public readonly tablistDescription?: string\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabShow', cancelable: false })\n private readonly showEmitter!: EventEmitter<HTMLElement>\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabHide', cancelable: false })\n private readonly hideEmitter!: EventEmitter<HTMLElement>\n\n @Element() private readonly host!: HTMLElement\n\n @State() private disableEndArrow = false\n\n @State() private disableStartArrow = false\n\n @State() private activeTab?: HTMLQdsTabElement\n\n #ro: ResizeObserver | undefined\n\n #tabbar?: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n\n const firstTab = this.host.querySelector('qds-tab')\n if (firstTab) this.#setActiveTab(firstTab)\n }\n\n public componentDidRender(): void {\n if (this.activeTab) this.#switchTabPanel(this.activeTab)\n\n const settings = TAB_SETTINGS[`${this.layer}-${this.level}`]\n if (!settings) return\n\n for (const tab of this.host.querySelectorAll('qds-tab')) {\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n tab.importance = settings.importance\n tab.size = settings.size\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n tab.indicatorPosition =\n this.orientation === 'vertical' ? 'inline-end' : tab.indicatorPosition\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n }\n }\n\n public componentDidLoad(): void {\n invariant(this.#tabbar)\n\n this.#ro = new ResizeObserver(this.#onScroll)\n this.#ro.observe(this.#tabbar)\n }\n\n public disconnectedCallback(): void {\n if (this.#ro) this.#ro.disconnect()\n }\n\n public render() {\n return (\n <div\n class={{ 'qds-vertical-divider': this.orientation === 'vertical' }}\n data-layer={this.layer}\n data-level={this.level}\n >\n <div class=\"qds-tabbar\">\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n importance=\"subdued\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n aria-label=\"show previous tab\"\n class=\"qds-arrow-start\"\n onClick={this.#scrollToStart}\n disabled={this.disableStartArrow}\n />\n </div>\n <ul\n class={{\n 'qds-tabs': true,\n 'qds-vertical': this.orientation === 'vertical',\n }}\n role=\"tablist\"\n aria-label={this.tablistDescription}\n ref={(element) => {\n this.#tabbar = element\n }}\n onClick={this.#onClick}\n onKeyDown={this.#onKeyDown}\n onMouseDown={this.#onMouseDown}\n onScroll={this.#onScroll}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot onSlotchange={this.#onSlotchange} />\n </ul>\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n aria-label=\"show next tab\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n importance=\"subdued\"\n class=\"qds-arrow-end\"\n onClick={this.#scrollToEnd}\n disabled={this.disableEndArrow}\n />\n </div>\n </div>\n {((this.level === 'root' &&\n (this.layer === 'popup' || this.layer === 'accessory')) ||\n (this.level === 'section' && this.layer === 'main')) && (\n <qds-divider vertical={this.orientation === 'vertical'} />\n )}\n </div>\n )\n }\n\n readonly #scrollToStart = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft + this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft - this.#tabbar.clientWidth,\n })\n }\n\n readonly #scrollToEnd = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft - this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft + this.#tabbar.clientWidth,\n })\n }\n\n #setActiveTab(tab: HTMLQdsTabElement): void {\n this.activeTab = tab\n\n for (const t of this.host.querySelectorAll('qds-tab')) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n\n const isSelected = t === tab\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n t.selected = isSelected\n if (target instanceof globalThis.Element)\n target.ariaSelected = isSelected.toString()\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/class-methods-use-this\n #getAllTabPanels(): HTMLElement[] {\n const tabPanels = document.querySelectorAll('[role=\"tabpanel\"]')\n return [...tabPanels].filter(\n (element): element is HTMLElement => element instanceof HTMLElement,\n )\n }\n\n #switchTabPanel(activeTab: HTMLQdsTabElement): void {\n const target = activeTab.shadowRoot?.querySelector('[role=\"tab\"]')\n const tabAriaControls = target?.getAttribute('aria-controls')\n const tabPanels = this.#getAllTabPanels()\n\n for (const panel of tabPanels)\n panel.hidden = tabAriaControls !== panel.getAttribute('id')\n }\n\n #handleTabActivation(tab: HTMLQdsTabElement): void {\n const previousTab = this.activeTab\n if (previousTab === tab) return\n\n this.activeTab = tab\n\n this.hideEmitter.emit(previousTab)\n\n this.showEmitter.emit(tab)\n this.#setCurrentTab(tab)\n this.#switchTabPanel(tab)\n }\n\n #getTabs(): HTMLQdsTabElement[] {\n const slot = this.host.shadowRoot?.querySelector('slot')\n return slot\n ? [...slot.assignedElements({ flatten: true })].filter<HTMLQdsTabElement>(\n (element) => isEnabledTabItem(element),\n )\n : []\n }\n\n #getCurrentTab(): HTMLQdsTabElement | undefined {\n const currentTab = this.#getTabs().find(\n (tab) =>\n tab.shadowRoot\n ?.querySelector('[role=\"tab\"]')\n ?.getAttribute('tabindex') === '0',\n )\n return currentTab\n }\n\n #setCurrentTab(tab: HTMLQdsTabElement): void {\n const tabs = this.#getTabs()\n for (const t of tabs) {\n const isCurrent = t === tab\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n const closeButton = t.shadowRoot?.querySelector('.qds-target')\n\n const isDisabled = target?.getAttribute('aria-disabled') === 'true'\n const shouldActivateTab = isCurrent && !isDisabled\n const tabindex = shouldActivateTab ? '0' : '-1'\n\n if (target) {\n target.setAttribute('tabindex', tabindex)\n if (shouldActivateTab) this.#handleTabActivation(t)\n }\n\n if (closeButton) closeButton.setAttribute('tabindex', tabindex)\n }\n }\n\n readonly #onClick = (event: MouseEvent): void => {\n const { target } = event\n if (!(target instanceof HTMLElement)) return\n const tab = target.closest('qds-tab')\n if (!tab || tab.disabled === true || tab.inert) return\n\n this.#handleTabActivation(tab)\n this.#setActiveTab(tab)\n }\n\n readonly #onKeyDown = (event: KeyboardEvent): void => {\n const isVertical = this.orientation === 'vertical'\n const MOVE_SELECTION_KEYS = isVertical\n ? VERTICAL_MOVE_KEYS\n : HORIZONTAL_MOVE_KEYS\n if (!MOVE_SELECTION_KEYS.has(event.key)) return\n\n const tabs = this.#getTabs()\n if (tabs.length === 0) return\n\n event.preventDefault()\n event.stopPropagation()\n\n const activeTab = this.#getCurrentTab()\n let index = activeTab ? tabs.indexOf(activeTab) : 0\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n\n let nextTab: HTMLQdsTabElement | undefined\n do {\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n index = (isRTL ? index < tabs.length - 1 : index > 0)\n ? index - (isRTL ? -1 : 1)\n : isRTL\n ? 0\n : tabs.length - 1\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n index = (isRTL ? index > 0 : index < tabs.length - 1)\n ? index + (isRTL ? -1 : 1)\n : isRTL\n ? tabs.length - 1\n : 0\n break\n }\n case 'Home': {\n index = isRTL ? tabs.length - 1 : 0\n break\n }\n case 'End': {\n index = isRTL ? 0 : tabs.length - 1\n break\n }\n default:\n }\n nextTab = tabs[index]\n } while (nextTab.disabled === true)\n\n this.#setCurrentTab(nextTab)\n\n const target =\n nextTab.shadowRoot?.querySelector<HTMLElement>('[role=\"tab\"]')\n if (target) {\n target.focus()\n target.scrollIntoView()\n }\n this.#handleTabActivation(nextTab)\n this.#setActiveTab(nextTab)\n }\n\n readonly #onMouseDown = (event: MouseEvent): void => {\n const { target } = event\n\n if (isEnabledTabItem(target)) this.#setCurrentTab(target)\n }\n\n readonly #onScroll = (): void => {\n if (!this.#tabbar) return\n\n const { clientWidth, scrollWidth, scrollLeft } = this.#tabbar\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.disableStartArrow = scrollLeft === 0\n this.disableEndArrow = isRTL\n ? scrollWidth + scrollLeft <= clientWidth\n : scrollWidth - clientWidth - scrollLeft <= 1\n }\n\n readonly #onSlotchange = (): void => {\n const tabs = this.#getTabs()\n\n if (tabs.length > 0) this.#setCurrentTab(tabs[0])\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tableBodyCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-body{box-sizing:border-box}";
|
|
10
10
|
const QdsTableBodyStyle0 = tableBodyCss;
|
|
@@ -38,7 +38,7 @@ const TableBody = class {
|
|
|
38
38
|
__classPrivateFieldSet(this, _TableBody_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (h("tbody", { key: '
|
|
41
|
+
return (h("tbody", { key: '68a11819cd985f1ee7b26f1cb693e54d77a209d0', class: "qds-table-body", ...__classPrivateFieldGet(this, _TableBody_inheritedAttributes, "f") }, h("slot", { key: 'a2e53960f46509810addc0121fe192d6e274675d' })));
|
|
42
42
|
}
|
|
43
43
|
get host() { return getElement(this); }
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-table-body.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,sGAAsG,CAAC;AAC5H,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAoBa,SAAS;IALtB;;QAQE,yCAAmC,EAAE,EAAA;KAiBtC;IAfQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,8DACE,KAAK,EAAC,gBAAgB,KAElB,uBAAA,IAAI,sCAAqB,IAE7B,8DAAQ,CACF,EACT;KACF;;;;;;;;","names":[],"sources":["src/components/table-body/table-body.css?tag=qds-table-body&encapsulation=shadow","src/components/table-body/table-body.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-body {\n box-sizing: border-box;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-body>` element encapsulates a set of rows (`<qds-table-row>`\n * elements) indicating that they comprise the body of the table\n * (`<qds-table>`).\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-body',\n shadow: true,\n styleUrl: 'table-body.css',\n})\nexport class TableBody implements ComponentInterface {\n @Element() private readonly host!:
|
|
1
|
+
{"file":"qds-table-body.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,sGAAsG,CAAC;AAC5H,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAoBa,SAAS;IALtB;;QAQE,yCAAmC,EAAE,EAAA;KAiBtC;IAfQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,8DACE,KAAK,EAAC,gBAAgB,KAElB,uBAAA,IAAI,sCAAqB,IAE7B,8DAAQ,CACF,EACT;KACF;;;;;;;;","names":[],"sources":["src/components/table-body/table-body.css?tag=qds-table-body&encapsulation=shadow","src/components/table-body/table-body.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-body {\n box-sizing: border-box;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-body>` element encapsulates a set of rows (`<qds-table-row>`\n * elements) indicating that they comprise the body of the table\n * (`<qds-table>`).\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-body',\n shadow: true,\n styleUrl: 'table-body.css',\n})\nexport class TableBody implements ComponentInterface {\n @Element() private readonly host!: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <tbody\n class=\"qds-table-body\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </tbody>\n )\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tableCellCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-cell{box-sizing:border-box;color:var(--qds-theme-title);font:var(--qds-list-item-standard-title);padding-block:0;padding-inline:var(--qds-list-item-standard-padding-horizontal);text-align:inherit;vertical-align:middle;width:inherit}";
|
|
10
10
|
const QdsTableCellStyle0 = tableCellCss;
|
|
@@ -33,14 +33,12 @@ const TableCell = class {
|
|
|
33
33
|
constructor(hostRef) {
|
|
34
34
|
registerInstance(this, hostRef);
|
|
35
35
|
_TableCell_inheritedAttributes.set(this, {});
|
|
36
|
-
this.colSpan = undefined;
|
|
37
|
-
this.rowSpan = undefined;
|
|
38
36
|
}
|
|
39
37
|
componentWillLoad() {
|
|
40
38
|
__classPrivateFieldSet(this, _TableCell_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
41
39
|
}
|
|
42
40
|
render() {
|
|
43
|
-
return (h("td", { key: '
|
|
41
|
+
return (h("td", { key: '66f9a8144f4ba5add9740486df7691bdb386b7fa', class: "qds-table-cell", colSpan: this.colSpan, rowSpan: this.rowSpan, ...__classPrivateFieldGet(this, _TableCell_inheritedAttributes, "f") }, h("slot", { key: 'd9d985e81c3942274148d4cf4a55802e4d182303' })));
|
|
44
42
|
}
|
|
45
43
|
get host() { return getElement(this); }
|
|
46
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-table-cell.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,mTAAmT,CAAC;AACzU,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAmBa,SAAS
|
|
1
|
+
{"file":"qds-table-cell.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,mTAAmT,CAAC;AACzU,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAmBa,SAAS;IALtB;;QA4BE,yCAAmC,EAAE,EAAA;KAmBtC;IAjBQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,2DACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,KAEjB,uBAAA,IAAI,sCAAqB,IAE7B,8DAAQ,CACL,EACN;KACF;;;;;;;;","names":[],"sources":["src/components/table-cell/table-cell.css?tag=qds-table-cell&encapsulation=shadow","src/components/table-cell/table-cell.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-cell {\n box-sizing: border-box;\n color: var(--qds-theme-title);\n font: var(--qds-list-item-standard-title);\n padding-block: 0;\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n text-align: inherit;\n vertical-align: middle;\n width: inherit;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h, Prop } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-cell>` element defines a cell of a table that contains data.\n * It participates in the *table model*.\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-cell',\n shadow: true,\n styleUrl: 'table-cell.css',\n})\nexport class TableCell implements ComponentInterface {\n /**\n * Non-negative integer value that indicates for how many columns the cell\n * extends. Its default value is `1`. Values higher than 1000 will be\n * considered as incorrect and will be set to the default value (1).\n *\n * @webnative\n */\n @Prop({ attribute: 'colspan' }) public readonly colSpan?: number\n\n /**\n * Non-negative integer value that indicates for how many rows the cell\n * extends. Its default value is `1`; if its value is set to `0`, it extends\n * until the end of the table section (`<qds-table-head>` or\n * `<qds-table-body>`, even if implicitly defined), that the cell belongs to.\n * Values higher than 65534 are clipped down to 65534.\n *\n * @webnative\n */\n @Prop({ attribute: 'rowspan' }) public readonly rowSpan?: number\n\n @Element() private readonly host!: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <td\n class=\"qds-table-cell\"\n colSpan={this.colSpan}\n rowSpan={this.rowSpan}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </td>\n )\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tableHeadCellCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-head-cell{box-sizing:border-box;color:var(--qds-theme-title);font:var(--qds-list-item-standard-title);padding-block:var(--qds-list-item-standard-padding-vertical);padding-inline:var(--qds-list-item-standard-padding-horizontal);text-align:inherit;vertical-align:middle;width:inherit}";
|
|
10
10
|
const QdsTableHeadCellStyle0 = tableHeadCellCss;
|
|
@@ -33,16 +33,12 @@ const TableHeadCell = class {
|
|
|
33
33
|
constructor(hostRef) {
|
|
34
34
|
registerInstance(this, hostRef);
|
|
35
35
|
_TableHeadCell_inheritedAttributes.set(this, {});
|
|
36
|
-
this.abbr = undefined;
|
|
37
|
-
this.colSpan = undefined;
|
|
38
|
-
this.rowSpan = undefined;
|
|
39
|
-
this.scope = undefined;
|
|
40
36
|
}
|
|
41
37
|
componentWillLoad() {
|
|
42
38
|
__classPrivateFieldSet(this, _TableHeadCell_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
43
39
|
}
|
|
44
40
|
render() {
|
|
45
|
-
return (h("th", { key: '
|
|
41
|
+
return (h("th", { key: '42e2c07493da0034fcd57bde265cceea2433b0b3', class: "qds-table-head-cell", abbr: this.abbr, colSpan: this.colSpan, rowSpan: this.rowSpan, scope: this.scope, ...__classPrivateFieldGet(this, _TableHeadCell_inheritedAttributes, "f") }, h("slot", { key: 'd8bd5b85766fbc917da2772e40453681bb5cfa45' })));
|
|
46
42
|
}
|
|
47
43
|
get host() { return getElement(this); }
|
|
48
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-table-head-cell.entry.js","mappings":";;;;;;;;AAAA,MAAM,gBAAgB,GAAG,qWAAqW,CAAC;AAC/X,+BAAe,gBAAgB;;ACD/B;AACA;AACA;;;;;;;;;;;;;;;;;;MAsBa,aAAa
|
|
1
|
+
{"file":"qds-table-head-cell.entry.js","mappings":";;;;;;;;AAAA,MAAM,gBAAgB,GAAG,qWAAqW,CAAC;AAC/X,+BAAe,gBAAgB;;ACD/B;AACA;AACA;;;;;;;;;;;;;;;;;;MAsBa,aAAa;IAL1B;;QAoDE,6CAAmC,EAAE,EAAA;KAqBtC;IAnBQ,iBAAiB;QACtB,uBAAA,IAAI,sCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,2DACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,KAEb,uBAAA,IAAI,0CAAqB,IAE7B,8DAAQ,CACL,EACN;KACF;;;;;;;;","names":[],"sources":["src/components/table-head-cell/table-head-cell.css?tag=qds-table-head-cell&encapsulation=shadow","src/components/table-head-cell/table-head-cell.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-head-cell {\n box-sizing: border-box;\n color: var(--qds-theme-title);\n font: var(--qds-list-item-standard-title);\n padding-block: var(--qds-list-item-standard-padding-vertical);\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n text-align: inherit;\n vertical-align: middle;\n width: inherit;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h, Prop } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\nexport type Scope = 'col' | 'row'\n\n/**\n * The `<qds-table-head-cell>` element defines a cell as the header of a group\n * of table cells. The exact nature of this group is defined by the `scope`\n * attribute.\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-head-cell',\n shadow: true,\n styleUrl: 'table-head-cell.css',\n})\nexport class TableHeadCell implements ComponentInterface {\n /**\n * A short abbreviated description of the cell's content. Some user-agents,\n * such as speech readers, may present this description before the content\n * itself.\n *\n * @webnative\n */\n @Prop() public readonly abbr?: string\n\n /**\n * Non-negative integer value that indicates for how many columns the cell\n * extends. Its default value is `1`. Values higher than 1000 will be\n * considered as incorrect and will be set to the default value (1).\n *\n * @webnative\n */\n @Prop({ attribute: 'colspan' }) public readonly colSpan?: number\n\n /**\n * Non-negative integer value that indicates for how many rows the cell\n * extends. Its default value is `1`; if its value is set to `0`, it extends\n * until the end of the table section (`<qds-table-head>` or\n * `<qds-table-body>`, even if implicitly defined), that the cell belongs to.\n * Values higher than 65534 are clipped down to 65534.\n *\n * @webnative\n */\n @Prop({ attribute: 'rowspan' }) public readonly rowSpan?: number\n\n /**\n * Defines the cells that the header element relates to. It may have the\n * following values:\n *\n * - `row`: The header relates to all cells of the row it belongs to.\n * - `col`: The header relates to all cells of the column it belongs to.\n *\n * If the `scope` attribute is not specified, or its value is not `row` or\n * `col`, then browsers automatically select the set of cells to which the\n * header cell applies.\n *\n * @webnative\n */\n @Prop() public readonly scope?: Scope\n\n @Element() private readonly host!: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <th\n class=\"qds-table-head-cell\"\n abbr={this.abbr}\n colSpan={this.colSpan}\n rowSpan={this.rowSpan}\n scope={this.scope}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </th>\n )\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tableHeadCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-head{box-sizing:border-box}";
|
|
10
10
|
const QdsTableHeadStyle0 = tableHeadCss;
|
|
@@ -38,7 +38,7 @@ const TableHead = class {
|
|
|
38
38
|
__classPrivateFieldSet(this, _TableHead_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (h("thead", { key: '
|
|
41
|
+
return (h("thead", { key: '2f8916cd08ec80db82a1189c992cc83902c6d517', class: "qds-table-head", ...__classPrivateFieldGet(this, _TableHead_inheritedAttributes, "f") }, h("slot", { key: 'a6f29148dcaec459b7a5a260bbb74b457f5bb82d' })));
|
|
42
42
|
}
|
|
43
43
|
get host() { return getElement(this); }
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"qds-table-head.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,sGAAsG,CAAC;AAC5H,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAoBa,SAAS;IALtB;;QAQE,yCAAmC,EAAE,EAAA;KAiBtC;IAfQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,8DACE,KAAK,EAAC,gBAAgB,KAElB,uBAAA,IAAI,sCAAqB,IAE7B,8DAAQ,CACF,EACT;KACF;;;;;;;;","names":[],"sources":["src/components/table-head/table-head.css?tag=qds-table-head&encapsulation=shadow","src/components/table-head/table-head.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-head {\n box-sizing: border-box;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-head>` element encapsulates a set of rows (`<qds-table-row>`\n * elements) indicating that they comprise the head of the table\n * (`<qds-table>`).\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-head',\n shadow: true,\n styleUrl: 'table-head.css',\n})\nexport class TableHead implements ComponentInterface {\n @Element() private readonly host!:
|
|
1
|
+
{"file":"qds-table-head.entry.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,sGAAsG,CAAC;AAC5H,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAoBa,SAAS;IALtB;;QAQE,yCAAmC,EAAE,EAAA;KAiBtC;IAfQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACE,8DACE,KAAK,EAAC,gBAAgB,KAElB,uBAAA,IAAI,sCAAqB,IAE7B,8DAAQ,CACF,EACT;KACF;;;;;;;;","names":[],"sources":["src/components/table-head/table-head.css?tag=qds-table-head&encapsulation=shadow","src/components/table-head/table-head.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: contents;\n}\n\n.qds-table-head {\n box-sizing: border-box;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-head>` element encapsulates a set of rows (`<qds-table-row>`\n * elements) indicating that they comprise the head of the table\n * (`<qds-table>`).\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-head',\n shadow: true,\n styleUrl: 'table-head.css',\n})\nexport class TableHead implements ComponentInterface {\n @Element() private readonly host!: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <thead\n class=\"qds-table-head\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </thead>\n )\n }\n}\n"],"version":3}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { r as registerInstance, h, a as getElement } from './index-
|
|
7
|
-
import {
|
|
6
|
+
import { r as registerInstance, h, a as getElement } from './index-be1284b6.js';
|
|
7
|
+
import { b as inheritAriaAttributes } from './helpers-d08540f8.js';
|
|
8
8
|
|
|
9
9
|
const tableRowCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-row{border-block-end:var(--qds-list-border-width) solid var(--qds-theme-divider-standard);box-sizing:border-box}";
|
|
10
10
|
const QdsTableRowStyle0 = tableRowCss;
|
|
@@ -38,7 +38,7 @@ const TableRow = class {
|
|
|
38
38
|
__classPrivateFieldSet(this, _TableRow_inheritedAttributes, inheritAriaAttributes(this.host), "f");
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (h("tr", { key: '
|
|
41
|
+
return (h("tr", { key: 'b797e826eb60c30641e8cf3511fa00fa015adcc1', class: "qds-table-row", ...__classPrivateFieldGet(this, _TableRow_inheritedAttributes, "f") }, h("slot", { key: 'f31dd944355a5bc867e941824afa1a581e6b5417' })));
|
|
42
42
|
}
|
|
43
43
|
get host() { return getElement(this); }
|
|
44
44
|
};
|