@quartzds/core 1.0.0-beta.13 → 1.0.0-beta.130
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/CHANGELOG.md +2145 -0
- package/README.md +23 -23
- package/components/index.d.ts +52 -0
- package/components/index.js +63 -28
- package/components/index.js.map +1 -1
- package/components/p-B9xuNEzc.js +438 -0
- package/components/p-B9xuNEzc.js.map +1 -0
- package/components/p-BHBodFuD.js +200 -0
- package/components/p-BHBodFuD.js.map +1 -0
- package/components/p-BLA62eFO.js +513 -0
- package/components/p-BLA62eFO.js.map +1 -0
- package/components/p-Bn9o5Um2.js +91 -0
- package/components/p-Bn9o5Um2.js.map +1 -0
- package/components/{floating-ui.dom.esm.js → p-Bv2vPjgL.js} +557 -345
- package/components/p-Bv2vPjgL.js.map +1 -0
- package/components/p-C-pZcrGt.js +357 -0
- package/components/p-C-pZcrGt.js.map +1 -0
- package/components/p-CZRW1LV_.js +28 -0
- package/components/p-CZRW1LV_.js.map +1 -0
- package/components/p-Cb4tcewD.js +281 -0
- package/components/p-Cb4tcewD.js.map +1 -0
- package/components/p-Cb5Tgh-o.js +102 -0
- package/components/p-Cb5Tgh-o.js.map +1 -0
- package/components/p-D2489VzR.js +2133 -0
- package/components/p-D2489VzR.js.map +1 -0
- package/components/p-D2BuSQre.js +160 -0
- package/components/p-D2BuSQre.js.map +1 -0
- package/components/p-DL21f4D7.js +149 -0
- package/components/p-DL21f4D7.js.map +1 -0
- package/components/p-DOqfdgQA.js +124 -0
- package/components/p-DOqfdgQA.js.map +1 -0
- package/components/p-Do46q_Gd.js +135 -0
- package/components/p-Do46q_Gd.js.map +1 -0
- package/components/p-XP2CY_fo.js +105 -0
- package/components/p-XP2CY_fo.js.map +1 -0
- package/components/p-eUDNu0SE.js +3561 -0
- package/components/p-eUDNu0SE.js.map +1 -0
- package/components/p-fKK7EmM2.js +256 -0
- package/components/p-fKK7EmM2.js.map +1 -0
- package/components/qds-action-item.d.ts +11 -0
- package/components/qds-action-item.js +204 -0
- package/components/qds-action-item.js.map +1 -0
- package/components/qds-avatar-media.d.ts +11 -0
- package/components/qds-avatar-media.js +14 -0
- package/components/qds-avatar-media.js.map +1 -0
- package/components/qds-avatar.d.ts +11 -0
- package/components/qds-avatar.js +120 -0
- package/components/qds-avatar.js.map +1 -0
- package/components/qds-badge-counter.d.ts +11 -0
- package/components/qds-badge-counter.js +14 -0
- package/components/qds-badge-counter.js.map +1 -0
- package/components/qds-badge-indicator.d.ts +11 -0
- package/components/qds-badge-indicator.js +14 -0
- package/components/qds-badge-indicator.js.map +1 -0
- package/components/qds-breadcrumb-item.d.ts +11 -0
- package/components/qds-breadcrumb-item.js +174 -0
- package/components/qds-breadcrumb-item.js.map +1 -0
- package/components/qds-button.d.ts +2 -2
- package/components/qds-button.js +475 -129
- package/components/qds-button.js.map +1 -1
- package/components/qds-checkbox.d.ts +2 -2
- package/components/qds-checkbox.js +4 -146
- package/components/qds-checkbox.js.map +1 -1
- package/components/qds-chip.d.ts +11 -0
- package/components/qds-chip.js +337 -0
- package/components/qds-chip.js.map +1 -0
- package/components/qds-dialog.d.ts +2 -2
- package/components/qds-dialog.js +179 -93
- package/components/qds-dialog.js.map +1 -1
- package/components/qds-divider.d.ts +2 -2
- package/components/qds-divider.js +4 -39
- package/components/qds-divider.js.map +1 -1
- package/components/qds-dropdown.d.ts +2 -2
- package/components/qds-dropdown.js +4 -249
- package/components/qds-dropdown.js.map +1 -1
- package/components/qds-form-message.d.ts +2 -2
- package/components/qds-form-message.js +106 -50
- package/components/qds-form-message.js.map +1 -1
- package/components/qds-icon-button.d.ts +11 -0
- package/components/qds-icon-button.js +14 -0
- package/components/qds-icon-button.js.map +1 -0
- package/components/qds-icon-tab.d.ts +11 -0
- package/components/qds-icon-tab.js +312 -0
- package/components/qds-icon-tab.js.map +1 -0
- package/components/qds-icon.d.ts +2 -2
- package/components/qds-icon.js +4 -3
- package/components/qds-inline-link.d.ts +2 -2
- package/components/qds-inline-link.js +173 -74
- package/components/qds-inline-link.js.map +1 -1
- package/components/qds-input.d.ts +2 -2
- package/components/qds-input.js +579 -230
- package/components/qds-input.js.map +1 -1
- package/components/qds-label.d.ts +2 -2
- package/components/qds-label.js +156 -3
- package/components/qds-label.js.map +1 -1
- package/components/qds-list-item.d.ts +11 -0
- package/components/qds-list-item.js +430 -0
- package/components/qds-list-item.js.map +1 -0
- package/components/qds-loader.d.ts +11 -0
- package/components/qds-loader.js +152 -0
- package/components/qds-loader.js.map +1 -0
- package/components/qds-menu-item.d.ts +11 -0
- package/components/qds-menu-item.js +263 -0
- package/components/qds-menu-item.js.map +1 -0
- package/components/qds-mini-button.d.ts +11 -0
- package/components/qds-mini-button.js +14 -0
- package/components/qds-mini-button.js.map +1 -0
- package/components/qds-progress-bar.d.ts +11 -0
- package/components/qds-progress-bar.js +155 -0
- package/components/qds-progress-bar.js.map +1 -0
- package/components/qds-radio.d.ts +2 -2
- package/components/qds-radio.js +4 -99
- package/components/qds-radio.js.map +1 -1
- package/components/qds-select.d.ts +11 -0
- package/components/qds-select.js +377 -0
- package/components/qds-select.js.map +1 -0
- package/components/qds-standalone-link.d.ts +11 -0
- package/components/qds-standalone-link.js +210 -0
- package/components/qds-standalone-link.js.map +1 -0
- package/components/qds-switch.d.ts +2 -2
- package/components/qds-switch.js +257 -105
- package/components/qds-switch.js.map +1 -1
- package/components/qds-tab.d.ts +11 -0
- package/components/qds-tab.js +354 -0
- package/components/qds-tab.js.map +1 -0
- package/components/qds-tabbar.d.ts +11 -0
- package/components/qds-tabbar.js +599 -0
- package/components/qds-tabbar.js.map +1 -0
- package/components/qds-table-cell.d.ts +11 -0
- package/components/qds-table-cell.js +109 -0
- package/components/qds-table-cell.js.map +1 -0
- package/components/qds-table-head-cell.d.ts +11 -0
- package/components/qds-table-head-cell.js +115 -0
- package/components/qds-table-head-cell.js.map +1 -0
- package/components/qds-table-row.d.ts +11 -0
- package/components/qds-table-row.js +48 -0
- package/components/qds-table-row.js.map +1 -0
- package/components/qds-table.d.ts +11 -0
- package/components/qds-table.js +48 -0
- package/components/qds-table.js.map +1 -0
- package/components/qds-tag.d.ts +11 -0
- package/components/qds-tag.js +14 -0
- package/components/qds-tag.js.map +1 -0
- package/components/qds-textarea.d.ts +2 -2
- package/components/qds-textarea.js +352 -193
- package/components/qds-textarea.js.map +1 -1
- package/components/qds-title.d.ts +2 -2
- package/components/qds-title.js +4 -84
- package/components/qds-title.js.map +1 -1
- package/components/qds-tooltip.d.ts +2 -2
- package/components/qds-tooltip.js +4 -315
- package/components/qds-tooltip.js.map +1 -1
- package/dist/cjs/app-globals-CLoao1by.js +13 -0
- package/dist/cjs/app-globals-CLoao1by.js.map +1 -0
- package/dist/cjs/controls-DKGeNyr5.js +32 -0
- package/dist/cjs/controls-DKGeNyr5.js.map +1 -0
- package/dist/cjs/{floating-ui.dom.esm-7f1cac3e.js → floating-ui.dom-Bvzubd50.js} +557 -345
- package/dist/cjs/floating-ui.dom-Bvzubd50.js.map +1 -0
- package/dist/cjs/helpers-D6srVOLt.js +3584 -0
- package/dist/cjs/helpers-D6srVOLt.js.map +1 -0
- package/dist/cjs/index-DIY7gpXM.js +2376 -0
- package/dist/cjs/index-DIY7gpXM.js.map +1 -0
- package/dist/cjs/index.cjs.js +40 -31
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/library-CeKRI2f2.js +142 -0
- package/dist/cjs/library-CeKRI2f2.js.map +1 -0
- package/dist/cjs/loader.cjs.js +9 -10
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/qds-action-item.cjs.entry.js +165 -0
- package/dist/cjs/qds-action-item.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-avatar-media.cjs.entry.js +105 -0
- package/dist/cjs/qds-avatar-media.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-avatar.cjs.entry.js +70 -0
- package/dist/cjs/qds-avatar.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-badge-counter.qds-badge-indicator.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-badge-counter_2.cjs.entry.js +168 -0
- package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +134 -0
- package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-button.cjs.entry.js +402 -93
- package/dist/cjs/qds-button.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-checkbox.qds-radio.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-checkbox_2.cjs.entry.js +456 -0
- package/dist/cjs/qds-chip.cjs.entry.js +285 -0
- package/dist/cjs/qds-chip.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-dialog.cjs.entry.js +124 -77
- package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-divider_2.cjs.entry.js +291 -0
- package/dist/cjs/qds-dropdown.cjs.entry.js +461 -213
- package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-form-message.cjs.entry.js +80 -27
- package/dist/cjs/qds-form-message.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-icon-tab.cjs.entry.js +244 -0
- package/dist/cjs/qds-icon-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-icon.cjs.entry.js +92 -93
- package/dist/cjs/qds-icon.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-inline-link.cjs.entry.js +139 -49
- package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-input.cjs.entry.js +503 -188
- package/dist/cjs/qds-input.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-label.cjs.entry.js +118 -27
- package/dist/cjs/qds-label.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-list-item.cjs.entry.js +328 -0
- package/dist/cjs/qds-list-item.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-loader.cjs.entry.js +126 -0
- package/dist/cjs/qds-loader.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-menu-item.cjs.entry.js +214 -0
- package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-mini-button.cjs.entry.js +130 -0
- package/dist/cjs/qds-mini-button.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-progress-bar.cjs.entry.js +131 -0
- package/dist/cjs/qds-progress-bar.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-select.cjs.entry.js +331 -0
- package/dist/cjs/qds-select.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-standalone-link.cjs.entry.js +171 -0
- package/dist/cjs/qds-standalone-link.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-switch.cjs.entry.js +221 -67
- package/dist/cjs/qds-switch.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-tab.cjs.entry.js +280 -0
- package/dist/cjs/qds-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-tabbar.cjs.entry.js +528 -0
- package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-table-cell.cjs.entry.js +88 -0
- package/dist/cjs/qds-table-cell.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-table-head-cell.cjs.entry.js +92 -0
- package/dist/cjs/qds-table-head-cell.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-table-row.cjs.entry.js +34 -0
- package/dist/cjs/qds-table-row.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-table.cjs.entry.js +34 -0
- package/dist/cjs/qds-table.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-tag.cjs.entry.js +110 -0
- package/dist/cjs/qds-tag.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-textarea.cjs.entry.js +303 -156
- package/dist/cjs/qds-textarea.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-title.cjs.entry.js +61 -52
- package/dist/cjs/qds-title.entry.cjs.js.map +1 -0
- package/dist/cjs/qds-tooltip.cjs.entry.js +380 -264
- package/dist/cjs/qds-tooltip.entry.cjs.js.map +1 -0
- package/dist/cjs/qds.cjs.js +18 -17
- package/dist/cjs/qds.cjs.js.map +1 -1
- package/dist/custom-elements.json +13254 -2143
- package/dist/docs.d.ts +344 -240
- package/dist/docs.json +13958 -3308
- package/dist/esm/app-globals-WylVyaRG.js +11 -0
- package/dist/esm/app-globals-WylVyaRG.js.map +1 -0
- package/dist/esm/controls-CZRW1LV_.js +28 -0
- package/dist/esm/controls-CZRW1LV_.js.map +1 -0
- package/dist/esm/{floating-ui.dom.esm-c2f3e549.js → floating-ui.dom-Bv2vPjgL.js} +557 -345
- package/dist/esm/floating-ui.dom-Bv2vPjgL.js.map +1 -0
- package/dist/esm/helpers-BIo9VDPx.js +3561 -0
- package/dist/esm/helpers-BIo9VDPx.js.map +1 -0
- package/dist/esm/index-Hg1Liloy.js +2364 -0
- package/dist/esm/index-Hg1Liloy.js.map +1 -0
- package/dist/esm/index.js +40 -30
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/library-CBfntPWH.js +138 -0
- package/dist/esm/library-CBfntPWH.js.map +1 -0
- package/dist/esm/loader.js +10 -9
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/qds-action-item.entry.js +163 -0
- package/dist/esm/qds-action-item.entry.js.map +1 -0
- package/dist/esm/qds-avatar-media.entry.js +103 -0
- package/dist/esm/qds-avatar-media.entry.js.map +1 -0
- package/dist/esm/qds-avatar.entry.js +68 -0
- package/dist/esm/qds-avatar.entry.js.map +1 -0
- package/dist/esm/qds-badge-counter.qds-badge-indicator.entry.js.map +1 -0
- package/dist/esm/qds-badge-counter_2.entry.js +165 -0
- package/dist/esm/qds-breadcrumb-item.entry.js +132 -0
- package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -0
- package/dist/esm/qds-button.entry.js +402 -91
- package/dist/esm/qds-button.entry.js.map +1 -1
- package/dist/esm/qds-checkbox.qds-radio.entry.js.map +1 -0
- package/dist/esm/qds-checkbox_2.entry.js +453 -0
- package/dist/esm/qds-chip.entry.js +283 -0
- package/dist/esm/qds-chip.entry.js.map +1 -0
- package/dist/esm/qds-dialog.entry.js +124 -75
- package/dist/esm/qds-dialog.entry.js.map +1 -1
- package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -0
- package/dist/esm/qds-divider_2.entry.js +288 -0
- package/dist/esm/qds-dropdown.entry.js +461 -211
- package/dist/esm/qds-dropdown.entry.js.map +1 -1
- package/dist/esm/qds-form-message.entry.js +80 -25
- package/dist/esm/qds-form-message.entry.js.map +1 -1
- package/dist/esm/qds-icon-tab.entry.js +242 -0
- package/dist/esm/qds-icon-tab.entry.js.map +1 -0
- package/dist/esm/qds-icon.entry.js +92 -91
- package/dist/esm/qds-icon.entry.js.map +1 -1
- package/dist/esm/qds-inline-link.entry.js +139 -47
- package/dist/esm/qds-inline-link.entry.js.map +1 -1
- package/dist/esm/qds-input.entry.js +503 -186
- package/dist/esm/qds-input.entry.js.map +1 -1
- package/dist/esm/qds-label.entry.js +118 -25
- package/dist/esm/qds-label.entry.js.map +1 -1
- package/dist/esm/qds-list-item.entry.js +326 -0
- package/dist/esm/qds-list-item.entry.js.map +1 -0
- package/dist/esm/qds-loader.entry.js +124 -0
- package/dist/esm/qds-loader.entry.js.map +1 -0
- package/dist/esm/qds-menu-item.entry.js +212 -0
- package/dist/esm/qds-menu-item.entry.js.map +1 -0
- package/dist/esm/qds-mini-button.entry.js +128 -0
- package/dist/esm/qds-mini-button.entry.js.map +1 -0
- package/dist/esm/qds-progress-bar.entry.js +129 -0
- package/dist/esm/qds-progress-bar.entry.js.map +1 -0
- package/dist/esm/qds-select.entry.js +329 -0
- package/dist/esm/qds-select.entry.js.map +1 -0
- package/dist/esm/qds-standalone-link.entry.js +169 -0
- package/dist/esm/qds-standalone-link.entry.js.map +1 -0
- package/dist/esm/qds-switch.entry.js +221 -65
- package/dist/esm/qds-switch.entry.js.map +1 -1
- package/dist/esm/qds-tab.entry.js +278 -0
- package/dist/esm/qds-tab.entry.js.map +1 -0
- package/dist/esm/qds-tabbar.entry.js +526 -0
- package/dist/esm/qds-tabbar.entry.js.map +1 -0
- package/dist/esm/qds-table-cell.entry.js +86 -0
- package/dist/esm/qds-table-cell.entry.js.map +1 -0
- package/dist/esm/qds-table-head-cell.entry.js +90 -0
- package/dist/esm/qds-table-head-cell.entry.js.map +1 -0
- package/dist/esm/qds-table-row.entry.js +32 -0
- package/dist/esm/qds-table-row.entry.js.map +1 -0
- package/dist/esm/qds-table.entry.js +32 -0
- package/dist/esm/qds-table.entry.js.map +1 -0
- package/dist/esm/qds-tag.entry.js +108 -0
- package/dist/esm/qds-tag.entry.js.map +1 -0
- package/dist/esm/qds-textarea.entry.js +303 -154
- package/dist/esm/qds-textarea.entry.js.map +1 -1
- package/dist/esm/qds-title.entry.js +61 -50
- package/dist/esm/qds-title.entry.js.map +1 -1
- package/dist/esm/qds-tooltip.entry.js +380 -262
- package/dist/esm/qds-tooltip.entry.js.map +1 -1
- package/dist/esm/qds.js +18 -16
- package/dist/esm/qds.js.map +1 -1
- package/dist/types/components/action-item/action-item.d.ts +70 -0
- package/dist/types/components/avatar/avatar.d.ts +61 -0
- package/dist/types/components/avatar-media/avatar-media.d.ts +47 -0
- package/dist/types/components/badge-counter/badge-counter.d.ts +40 -0
- package/dist/types/components/badge-indicator/badge-indicator.d.ts +36 -0
- package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +178 -0
- package/dist/types/components/button/button.d.ts +283 -198
- package/dist/types/components/checkbox/checkbox.d.ts +142 -124
- package/dist/types/components/chip/chip.d.ts +111 -0
- package/dist/types/components/controls.d.ts +4 -1
- package/dist/types/components/dialog/dialog.d.ts +32 -41
- package/dist/types/components/divider/divider.d.ts +14 -9
- package/dist/types/components/dropdown/dropdown.d.ts +117 -125
- package/dist/types/components/form-message/form-message.d.ts +35 -25
- package/dist/types/components/icon/icon.d.ts +23 -24
- package/dist/types/components/icon/library.d.ts +3 -3
- package/dist/types/components/icon/request.d.ts +5 -9
- package/dist/types/components/icon-button/icon-button.d.ts +122 -0
- package/dist/types/components/icon-tab/icon-tab.d.ts +112 -0
- package/dist/types/components/inline-link/inline-link.d.ts +209 -191
- package/dist/types/components/input/input.d.ts +441 -368
- package/dist/types/components/label/label.d.ts +37 -24
- package/dist/types/components/list-item/list-item.d.ts +122 -0
- package/dist/types/components/loader/loader.d.ts +32 -0
- package/dist/types/components/menu-item/menu-item.d.ts +75 -0
- package/dist/types/components/mini-button/mini-button.d.ts +82 -0
- package/dist/types/components/progress-bar/progress-bar.d.ts +60 -0
- package/dist/types/components/radio/radio.d.ts +94 -95
- package/dist/types/components/select/select.d.ts +209 -0
- package/dist/types/components/shared.d.ts +6 -0
- package/dist/types/components/standalone-link/standalone-link.d.ts +234 -0
- package/dist/types/components/switch/switch.d.ts +122 -107
- package/dist/types/components/tab/tab.d.ts +157 -0
- package/dist/types/components/tabbar/tabbar.d.ts +91 -0
- package/dist/types/components/table/table.d.ts +14 -0
- package/dist/types/components/table-cell/table-cell.d.ts +39 -0
- package/dist/types/components/table-head-cell/table-head-cell.d.ts +56 -0
- package/dist/types/components/table-row/table-row.d.ts +14 -0
- package/dist/types/components/tag/tag.d.ts +55 -0
- package/dist/types/components/textarea/textarea.d.ts +295 -300
- package/dist/types/components/title/title.d.ts +39 -32
- package/dist/types/components/tooltip/tooltip.d.ts +111 -136
- package/dist/types/components.d.ts +4590 -929
- package/dist/types/helpers.d.ts +46 -19
- package/dist/types/index.d.ts +2 -1
- package/dist/types/interface-overrides.d.ts +215 -0
- package/dist/types/qds-test.d.ts +22 -11
- package/dist/types/stencil-public-runtime.d.ts +109 -17
- package/dist/types/utils.d.ts +11 -4
- package/dist/vscode.html-custom-data.json +2543 -426
- package/hydrate/index.d.ts +73 -18
- package/hydrate/index.js +32000 -9062
- package/hydrate/index.mjs +33081 -0
- package/hydrate/package.json +7 -1
- package/loader/cdn.js +3 -4
- package/loader/index.cjs.js +3 -4
- package/loader/index.d.ts +4 -1
- package/loader/index.es2017.js +3 -4
- package/loader/index.js +3 -4
- package/package.json +23 -180
- package/styles/core.css +156 -38
- package/components/floating-ui.dom.esm.js.map +0 -1
- package/components/helpers.js +0 -175
- package/components/helpers.js.map +0 -1
- package/components/icon.js +0 -185
- package/components/icon.js.map +0 -1
- package/components/label.js +0 -55
- package/components/label.js.map +0 -1
- package/dist/cjs/floating-ui.dom.esm-7f1cac3e.js.map +0 -1
- package/dist/cjs/helpers-452256e8.js +0 -185
- package/dist/cjs/helpers-452256e8.js.map +0 -1
- package/dist/cjs/index-d181f952.js +0 -2039
- package/dist/cjs/index-d181f952.js.map +0 -1
- package/dist/cjs/library-ad8d9466.js +0 -72
- package/dist/cjs/library-ad8d9466.js.map +0 -1
- package/dist/cjs/qds-button.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-checkbox.cjs.entry.js +0 -116
- package/dist/cjs/qds-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-dialog.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-divider.cjs.entry.js +0 -33
- package/dist/cjs/qds-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-form-message.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-inline-link.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-input.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-label.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-radio.cjs.entry.js +0 -74
- package/dist/cjs/qds-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-title.cjs.entry.js.map +0 -1
- package/dist/cjs/qds-tooltip.cjs.entry.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-c2f3e549.js.map +0 -1
- package/dist/esm/helpers-76b84f45.js +0 -175
- package/dist/esm/helpers-76b84f45.js.map +0 -1
- package/dist/esm/index-d7183092.js +0 -2009
- package/dist/esm/index-d7183092.js.map +0 -1
- package/dist/esm/library-f36d7d09.js +0 -68
- package/dist/esm/library-f36d7d09.js.map +0 -1
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/qds-checkbox.entry.js +0 -112
- package/dist/esm/qds-checkbox.entry.js.map +0 -1
- package/dist/esm/qds-divider.entry.js +0 -29
- package/dist/esm/qds-divider.entry.js.map +0 -1
- package/dist/esm/qds-radio.entry.js +0 -70
- package/dist/esm/qds-radio.entry.js.map +0 -1
- package/dist/types/components/create-story.d.ts +0 -5
- package/loader/package.json +0 -11
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SPDX-FileCopyrightText: © 2026 Schneider Electric
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { r as registerInstance, c as createEvent, a as readTask, h, g as getElement } from './index-Hg1Liloy.js';
|
|
7
|
+
import { i as ignorePromise, p as pickFocusEventAttributes, a as invariant, b as isEllipsisActive } from './helpers-BIo9VDPx.js';
|
|
8
|
+
|
|
9
|
+
const actionItemCss = ":host([hidden]){display:none!important}:host{display:block}:host(:focus-visible){border-radius:var(--qds-control-border-radius);box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{flex-shrink:0}.qds-text{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-action-item{align-items:center;border:none;border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:flex}.qds-action-item:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-action-item:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-action-item[data-size=small]{gap:var(--qds-list-item-small-gap-internal);min-height:var(--qds-list-item-small-height);padding-block:var(--qds-list-item-small-padding-vertical);padding-inline:var(--qds-list-item-small-padding-horizontal)}[data-size=small] .qds-icon{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-text{font:var(--qds-list-item-small-title)}.qds-action-item[data-size=standard]{gap:var(--qds-list-item-standard-gap-internal);min-height:var(--qds-list-item-standard-height);padding-block:var(--qds-list-item-standard-padding-vertical);padding-inline:var(--qds-list-item-standard-padding-horizontal)}[data-size=standard] .qds-icon{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-text{font:var(--qds-list-item-standard-title)}.qds-action-item[data-size=large]{gap:var(--qds-list-item-large-gap-internal);min-height:var(--qds-list-item-large-height);padding-block:var(--qds-list-item-large-padding-vertical);padding-inline:var(--qds-list-item-large-padding-horizontal)}[data-size=large] .qds-icon{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-text{font:var(--qds-list-item-large-title)}[data-importance=standard] .qds-text{color:var(--qds-theme-text-standard)}[data-importance=standard] .qds-icon{color:var(--qds-theme-control-text-standard)}.qds-action-item[data-importance=emphasized] .qds-icon,.qds-action-item[data-importance=emphasized] .qds-text{color:var(--qds-theme-signature-color-default)}.qds-action-item[data-importance=emphasized]:hover .qds-icon,.qds-action-item[data-importance=emphasized]:hover .qds-text{color:var(--qds-theme-signature-color-hover)}.qds-action-item[data-importance=emphasized]:active .qds-icon,.qds-action-item[data-importance=emphasized]:active .qds-text{color:var(--qds-theme-signature-color-pressed)}.qds-action-item[data-importance=subdued] .qds-icon,.qds-action-item[data-importance=subdued] .qds-text{color:var(--qds-theme-link-standard-default)}.qds-action-item[data-importance=subdued]:hover .qds-icon,.qds-action-item[data-importance=subdued]:hover .qds-text{color:var(--qds-theme-link-standard-hover)}.qds-action-item[data-importance=subdued]:active .qds-icon,.qds-action-item[data-importance=subdued]:active .qds-text{color:var(--qds-theme-link-standard-pressed)}.qds-action-item[data-importance=destructive] .qds-icon,.qds-action-item[data-importance=destructive] .qds-text{color:var(--qds-theme-feedback-action-destructive-default)}.qds-action-item[data-importance=destructive]:hover .qds-icon,.qds-action-item[data-importance=destructive]:hover .qds-text{color:var(--qds-theme-feedback-action-destructive-hover)}.qds-action-item[data-importance=destructive]:active .qds-icon,.qds-action-item[data-importance=destructive]:active .qds-text{color:var(--qds-theme-feedback-action-destructive-pressed)}";
|
|
10
|
+
|
|
11
|
+
// SPDX-FileCopyrightText: © 2025 Schneider Electric
|
|
12
|
+
//
|
|
13
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
14
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
15
|
+
if (kind === "a" && !f)
|
|
16
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
17
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
18
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
22
|
+
if (kind === "m")
|
|
23
|
+
throw new TypeError("Private method is not writable");
|
|
24
|
+
if (kind === "a" && !f)
|
|
25
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
26
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
27
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
28
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
29
|
+
};
|
|
30
|
+
var _ActionItem_instances, _ActionItem_ro, _ActionItem_span, _ActionItem_tooltipElement, _ActionItem_computedSize_get, _ActionItem_computedImportance_get, _ActionItem_computedDisabled_get, _ActionItem_spanRef, _ActionItem_tooltipRef;
|
|
31
|
+
const ActionItem = class {
|
|
32
|
+
constructor(hostRef) {
|
|
33
|
+
registerInstance(this, hostRef);
|
|
34
|
+
this.blurEmitter = createEvent(this, "qdsBlur", 2);
|
|
35
|
+
this.focusEmitter = createEvent(this, "qdsFocus", 2);
|
|
36
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
37
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
41
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
42
|
+
}
|
|
43
|
+
_ActionItem_instances.add(this);
|
|
44
|
+
/**
|
|
45
|
+
* The action item's importance.
|
|
46
|
+
*/
|
|
47
|
+
this.importance = 'standard';
|
|
48
|
+
/**
|
|
49
|
+
* Prevents the action item from being interacted with: it cannot be clicked
|
|
50
|
+
* or focused.
|
|
51
|
+
*/
|
|
52
|
+
this.disabled = false;
|
|
53
|
+
/**
|
|
54
|
+
* The name of a registered icon library.
|
|
55
|
+
*/
|
|
56
|
+
this.iconLibrary = 'default';
|
|
57
|
+
/**
|
|
58
|
+
* The action items's size.
|
|
59
|
+
*/
|
|
60
|
+
this.size = 'standard';
|
|
61
|
+
this.tooltip = false;
|
|
62
|
+
_ActionItem_ro.set(this, void 0);
|
|
63
|
+
_ActionItem_span.set(this, void 0);
|
|
64
|
+
_ActionItem_tooltipElement.set(this, void 0);
|
|
65
|
+
_ActionItem_spanRef.set(this, (span) => {
|
|
66
|
+
__classPrivateFieldSet(this, _ActionItem_span, span, "f");
|
|
67
|
+
});
|
|
68
|
+
_ActionItem_tooltipRef.set(this, (tooltip) => {
|
|
69
|
+
__classPrivateFieldSet(this, _ActionItem_tooltipElement, tooltip, "f");
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
disabledChanged() {
|
|
73
|
+
this.internals.ariaDisabled = this.disabled.toString();
|
|
74
|
+
}
|
|
75
|
+
tooltipChanged(truncated) {
|
|
76
|
+
if (!__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f"))
|
|
77
|
+
return;
|
|
78
|
+
__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").target = truncated ? this.host : undefined;
|
|
79
|
+
if (!truncated) {
|
|
80
|
+
ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").close());
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (document.activeElement === this.host &&
|
|
84
|
+
this.host.matches(':focus-visible'))
|
|
85
|
+
ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").show());
|
|
86
|
+
}
|
|
87
|
+
onBlur(event) {
|
|
88
|
+
this.blurEmitter.emit(pickFocusEventAttributes(event));
|
|
89
|
+
}
|
|
90
|
+
onFocus(event) {
|
|
91
|
+
this.focusEmitter.emit(pickFocusEventAttributes(event));
|
|
92
|
+
}
|
|
93
|
+
onClick(event) {
|
|
94
|
+
if (__classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedDisabled_get))
|
|
95
|
+
event.stopImmediatePropagation();
|
|
96
|
+
}
|
|
97
|
+
onPointerleave() {
|
|
98
|
+
if (!__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f"))
|
|
99
|
+
return;
|
|
100
|
+
if (this.host.matches(':focus-visible'))
|
|
101
|
+
return;
|
|
102
|
+
/**
|
|
103
|
+
* Close the tooltip when pointer hover ends unless the item has keyboard-visible focus.
|
|
104
|
+
* This avoids sticky hover tooltips on auto-focused first dropdown items.
|
|
105
|
+
* */
|
|
106
|
+
ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").close());
|
|
107
|
+
}
|
|
108
|
+
componentWillLoad() {
|
|
109
|
+
this.internals.role = 'menuitem';
|
|
110
|
+
this.disabledChanged();
|
|
111
|
+
}
|
|
112
|
+
componentDidLoad() {
|
|
113
|
+
invariant(__classPrivateFieldGet(this, _ActionItem_span, "f"));
|
|
114
|
+
const span = __classPrivateFieldGet(this, _ActionItem_span, "f");
|
|
115
|
+
readTask(() => {
|
|
116
|
+
this.tooltip = isEllipsisActive(span);
|
|
117
|
+
});
|
|
118
|
+
__classPrivateFieldSet(this, _ActionItem_ro, new ResizeObserver(([spanEntry]) => {
|
|
119
|
+
this.tooltip = isEllipsisActive(spanEntry.target);
|
|
120
|
+
}), "f");
|
|
121
|
+
__classPrivateFieldGet(this, _ActionItem_ro, "f").observe(__classPrivateFieldGet(this, _ActionItem_span, "f"));
|
|
122
|
+
}
|
|
123
|
+
render() {
|
|
124
|
+
return (h("div", { key: '1299e2b225c006c503772ffe991845dd3146e771', class: {
|
|
125
|
+
'qds-action-item': true,
|
|
126
|
+
'qds-disabled': this.disabled,
|
|
127
|
+
}, "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), "data-importance": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedImportance_get) }, this.iconName !== undefined && this.iconName !== '' && (h("qds-icon", { key: 'd842b78eb7ae8c7b0c1d5f39a77187dd34a03750', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), library: this.iconLibrary, name: this.iconName })), h("span", { key: '9caa7922530dcc476fd28ff792b289c4f592f355', class: "qds-text", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), ref: __classPrivateFieldGet(this, _ActionItem_spanRef, "f") }, this.text), this.action !== undefined && (h("qds-icon", { key: 'ea40683d2db0ed4cdfde76a3ee5e651a38ea5e95', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), name: this.action, library: "core", "aria-label": this.actionDescription, role: "img" })), h("qds-tooltip", { key: '922793a63f11063dcc56c242d2f8bf04995c0a5a', "aria-hidden": "true", ref: __classPrivateFieldGet(this, _ActionItem_tooltipRef, "f") }, this.text)));
|
|
128
|
+
}
|
|
129
|
+
get host() { return getElement(this); }
|
|
130
|
+
static get watchers() { return {
|
|
131
|
+
"disabled": ["disabledChanged"],
|
|
132
|
+
"tooltip": ["tooltipChanged"]
|
|
133
|
+
}; }
|
|
134
|
+
};
|
|
135
|
+
_ActionItem_ro = new WeakMap(), _ActionItem_span = new WeakMap(), _ActionItem_tooltipElement = new WeakMap(), _ActionItem_spanRef = new WeakMap(), _ActionItem_tooltipRef = new WeakMap(), _ActionItem_instances = new WeakSet(), _ActionItem_computedSize_get = function _ActionItem_computedSize_get() {
|
|
136
|
+
switch (this.size) {
|
|
137
|
+
case 'standard':
|
|
138
|
+
case 'small':
|
|
139
|
+
case 'large': {
|
|
140
|
+
return this.size;
|
|
141
|
+
}
|
|
142
|
+
default: {
|
|
143
|
+
return 'standard';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}, _ActionItem_computedImportance_get = function _ActionItem_computedImportance_get() {
|
|
147
|
+
switch (this.importance) {
|
|
148
|
+
case 'emphasized':
|
|
149
|
+
case 'subdued':
|
|
150
|
+
case 'destructive': {
|
|
151
|
+
return this.importance;
|
|
152
|
+
}
|
|
153
|
+
default: {
|
|
154
|
+
return 'standard';
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}, _ActionItem_computedDisabled_get = function _ActionItem_computedDisabled_get() {
|
|
158
|
+
return this.disabled;
|
|
159
|
+
};
|
|
160
|
+
ActionItem.style = actionItemCss;
|
|
161
|
+
|
|
162
|
+
export { ActionItem as qds_action_item };
|
|
163
|
+
//# sourceMappingURL=qds-action-item.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qds-action-item.entry.js","sources":["src/components/action-item/action-item.css?tag=qds-action-item&encapsulation=shadow","src/components/action-item/action-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 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:host(:focus-visible) {\n /* inner ring */\n outline: var(--qds-theme-focus-border-contrast) solid\n var(--qds-focus-light-border-width);\n outline-offset: 0;\n\n /* outer ring */\n box-shadow: 0 0 0 var(--qds-focus-heavy-border-width)\n var(--qds-theme-focus-border);\n border-radius: var(--qds-control-border-radius);\n}\n\n.qds-disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-icon {\n flex-shrink: 0;\n}\n\n.qds-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-grow: 1;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-action-item {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n border: none;\n cursor: pointer;\n border-radius: var(--qds-control-border-radius);\n\n &:hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n}\n\n[data-size='small'] {\n &.qds-action-item {\n gap: var(--qds-list-item-small-gap-internal);\n min-height: var(--qds-list-item-small-height);\n padding-block: var(--qds-list-item-small-padding-vertical);\n padding-inline: var(--qds-list-item-small-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-small-title);\n }\n}\n\n[data-size='standard'] {\n &.qds-action-item {\n gap: var(--qds-list-item-standard-gap-internal);\n min-height: var(--qds-list-item-standard-height);\n padding-block: var(--qds-list-item-standard-padding-vertical);\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-standard-title);\n }\n}\n\n[data-size='large'] {\n &.qds-action-item {\n gap: var(--qds-list-item-large-gap-internal);\n min-height: var(--qds-list-item-large-height);\n padding-block: var(--qds-list-item-large-padding-vertical);\n padding-inline: var(--qds-list-item-large-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-large-title);\n }\n}\n\n[data-importance='standard'] {\n .qds-text {\n color: var(--qds-theme-text-standard);\n }\n\n .qds-icon {\n color: var(--qds-theme-control-text-standard);\n }\n}\n\n[data-importance='emphasized'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-pressed);\n }\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-pressed);\n }\n }\n }\n}\n\n[data-importance='destructive'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-pressed);\n }\n }\n }\n}\n","// SPDX-FileCopyrightText: © 2025 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n ignorePromise,\n invariant,\n isEllipsisActive,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport type { Importance, Size } from '../shared'\n\nexport type ActionItemImportance = Importance | 'destructive'\n\n/**\n *\n *\n * @see https://quartz.se.com/build/components/action-item\n */\n@Component({\n tag: 'qds-action-item',\n shadow: true,\n styleUrl: 'action-item.css',\n})\nexport class ActionItem implements ComponentInterface {\n /**\n * The action item's importance.\n */\n @Prop() public readonly importance?: ActionItemImportance = 'standard'\n\n /**\n * Prevents the action item from being interacted with: it cannot be clicked\n * or focused.\n */\n @Prop({ reflect: true }) public readonly disabled: boolean = false\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 * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the action icon to render.\n *\n * Available names exist on the core icon library.\n */\n @Prop() public readonly action?: string\n\n /**\n * The action icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly actionDescription?: string\n\n /**\n * The action items's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * The action item's text.\n */\n @Prop() public readonly text!: string\n\n @State() private tooltip = false\n\n /**\n * Emitted when the action item loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the action item 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 @AttachInternals() private readonly internals!: ElementInternals\n\n #ro?: ResizeObserver\n\n #span?: HTMLSpanElement\n\n #tooltipElement?: HTMLQdsTooltipElement\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(): ActionItemImportance {\n switch (this.importance) {\n case 'emphasized':\n case 'subdued':\n case 'destructive': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedDisabled(): boolean {\n return this.disabled\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n this.internals.ariaDisabled = this.disabled.toString()\n }\n\n @Watch('tooltip')\n protected tooltipChanged(truncated: boolean): void {\n if (!this.#tooltipElement) return\n this.#tooltipElement.target = truncated ? this.host : undefined\n if (!truncated) {\n ignorePromise(this.#tooltipElement.close())\n return\n }\n\n if (\n document.activeElement === this.host &&\n this.host.matches(':focus-visible')\n )\n ignorePromise(this.#tooltipElement.show())\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Listen('pointerleave')\n protected onPointerleave(): void {\n if (!this.#tooltipElement) return\n if (this.host.matches(':focus-visible')) return\n /**\n * Close the tooltip when pointer hover ends unless the item has keyboard-visible focus.\n * This avoids sticky hover tooltips on auto-focused first dropdown items.\n * */\n ignorePromise(this.#tooltipElement.close())\n }\n\n public componentWillLoad(): void {\n this.internals.role = 'menuitem'\n this.disabledChanged()\n }\n\n public componentDidLoad(): void {\n invariant(this.#span)\n\n const span = this.#span\n readTask(() => {\n this.tooltip = isEllipsisActive(span)\n })\n this.#ro = new ResizeObserver(([spanEntry]) => {\n this.tooltip = isEllipsisActive(spanEntry.target as HTMLSpanElement)\n })\n this.#ro.observe(this.#span)\n }\n\n public render() {\n return (\n <div\n class={{\n 'qds-action-item': true,\n 'qds-disabled': this.disabled,\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n >\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n class=\"qds-icon\"\n data-size={this.#computedSize}\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n <span\n class=\"qds-text\"\n data-size={this.#computedSize}\n ref={this.#spanRef}\n >\n {this.text}\n </span>\n\n {this.action !== undefined && (\n <qds-icon\n class=\"qds-icon\"\n data-size={this.#computedSize}\n name={this.action}\n library=\"core\"\n aria-label={this.actionDescription}\n role=\"img\"\n />\n )}\n <qds-tooltip aria-hidden=\"true\" ref={this.#tooltipRef}>\n {this.text}\n </qds-tooltip>\n </div>\n )\n }\n\n readonly #spanRef = (span?: HTMLSpanElement): void => {\n this.#span = span\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n this.#tooltipElement = tooltip\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SPDX-FileCopyrightText: © 2026 Schneider Electric
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { r as registerInstance, c as createEvent, h } from './index-Hg1Liloy.js';
|
|
7
|
+
|
|
8
|
+
const avatarMediaCss = ":host([hidden]){display:none!important}:host{display:block}.qds-container{align-items:center;align-self:stretch;background:var(--qds-theme-display-background);border:var(--qds-display-border-width) solid var(--qds-theme-display-background-contrast);border-radius:var(--qds-display-rounded-border-radius);display:flex;height:inherit;justify-content:center;width:inherit}.qds-picture{border-radius:inherit;flex-shrink:0;height:100%;object-fit:cover;width:100%}.qds-icon,.qds-text{color:var(--qds-theme-display-background-contrast)}.qds-text{font:var(--qds-display-standard-kicker);text-align:center}.qds-sr-only{clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
|
|
9
|
+
|
|
10
|
+
// SPDX-FileCopyrightText: © 2025 Schneider Electric
|
|
11
|
+
//
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
14
|
+
if (kind === "a" && !f)
|
|
15
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
16
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
17
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
18
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
19
|
+
};
|
|
20
|
+
var _AvatarMedia_renderContent, _AvatarMedia_handleImageError, _AvatarMedia_handleImageLoad;
|
|
21
|
+
const AvatarMedia = class {
|
|
22
|
+
constructor(hostRef) {
|
|
23
|
+
registerInstance(this, hostRef);
|
|
24
|
+
this.loadEmitter = createEvent(this, "qdsLoad", 6);
|
|
25
|
+
this.errorEmitter = createEvent(this, "qdsError", 6);
|
|
26
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
27
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
31
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The name of a registered icon library.
|
|
35
|
+
*/
|
|
36
|
+
this.iconLibrary = 'default';
|
|
37
|
+
this.hasImageError = false;
|
|
38
|
+
_AvatarMedia_renderContent.set(this, () => {
|
|
39
|
+
if (this.src !== undefined && this.src !== '' && !this.hasImageError)
|
|
40
|
+
return (h("img", { "aria-hidden": "true", class: "qds-picture", src: this.src, alt: this.alt, onError: __classPrivateFieldGet(this, _AvatarMedia_handleImageError, "f"), onLoad: __classPrivateFieldGet(this, _AvatarMedia_handleImageLoad, "f") }));
|
|
41
|
+
if (this.iconName !== undefined && this.iconName !== '')
|
|
42
|
+
return (h("qds-icon", { class: "qds-icon", name: this.iconName, library: this.iconLibrary }));
|
|
43
|
+
if (this.text !== undefined && this.text !== '')
|
|
44
|
+
return (h("span", { "aria-hidden": "true", class: "qds-text" }, this.initials));
|
|
45
|
+
return h("qds-icon", { class: "qds-icon", name: "user", library: "core" });
|
|
46
|
+
});
|
|
47
|
+
_AvatarMedia_handleImageError.set(this, () => {
|
|
48
|
+
this.hasImageError = true;
|
|
49
|
+
this.roleChanged();
|
|
50
|
+
this.errorEmitter.emit();
|
|
51
|
+
});
|
|
52
|
+
_AvatarMedia_handleImageLoad.set(this, () => {
|
|
53
|
+
this.hasImageError = false;
|
|
54
|
+
this.roleChanged();
|
|
55
|
+
this.loadEmitter.emit();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
textChanged() {
|
|
59
|
+
if (this.text === undefined || this.text === '') {
|
|
60
|
+
this.initials = undefined;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const words = this.text.trim().split(' ');
|
|
64
|
+
const [first = '', second = ''] = words.filter(Boolean);
|
|
65
|
+
this.initials = (first.charAt(0) + (second.charAt(0) || '')).toLocaleUpperCase();
|
|
66
|
+
}
|
|
67
|
+
roleChanged() {
|
|
68
|
+
const hasSource = this.src !== undefined && this.src !== '' && !this.hasImageError;
|
|
69
|
+
const hasIcon = this.iconName !== undefined && this.iconName !== '';
|
|
70
|
+
const hasText = this.text !== undefined && this.text !== '';
|
|
71
|
+
const hasFallbackIcon = !hasSource && !hasIcon && !hasText;
|
|
72
|
+
const isImgMode = hasSource || hasIcon || hasFallbackIcon;
|
|
73
|
+
if (isImgMode)
|
|
74
|
+
this.internals.role = 'img';
|
|
75
|
+
else if (hasText)
|
|
76
|
+
this.internals.role = 'generic';
|
|
77
|
+
else
|
|
78
|
+
this.internals.role = 'presentation';
|
|
79
|
+
this.internals.ariaLabel =
|
|
80
|
+
isImgMode && this.alt !== undefined && this.alt !== ''
|
|
81
|
+
? this.alt
|
|
82
|
+
: // eslint-disable-next-line unicorn/no-null
|
|
83
|
+
null;
|
|
84
|
+
}
|
|
85
|
+
componentWillLoad() {
|
|
86
|
+
this.textChanged();
|
|
87
|
+
this.roleChanged();
|
|
88
|
+
}
|
|
89
|
+
render() {
|
|
90
|
+
return h("div", { key: 'ac301d086b8cc5fa51eda1f39a49ce7120af96df', class: "qds-container" }, __classPrivateFieldGet(this, _AvatarMedia_renderContent, "f").call(this));
|
|
91
|
+
}
|
|
92
|
+
static get watchers() { return {
|
|
93
|
+
"text": ["textChanged", "roleChanged"],
|
|
94
|
+
"src": ["roleChanged"],
|
|
95
|
+
"iconName": ["roleChanged"],
|
|
96
|
+
"alt": ["roleChanged"]
|
|
97
|
+
}; }
|
|
98
|
+
};
|
|
99
|
+
_AvatarMedia_renderContent = new WeakMap(), _AvatarMedia_handleImageError = new WeakMap(), _AvatarMedia_handleImageLoad = new WeakMap();
|
|
100
|
+
AvatarMedia.style = avatarMediaCss;
|
|
101
|
+
|
|
102
|
+
export { AvatarMedia as qds_avatar_media };
|
|
103
|
+
//# sourceMappingURL=qds-avatar-media.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qds-avatar-media.entry.js","sources":["src/components/avatar-media/avatar-media.css?tag=qds-avatar-media&encapsulation=shadow","src/components/avatar-media/avatar-media.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 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-container {\n display: flex;\n justify-content: center;\n align-self: stretch;\n border-radius: var(--qds-display-rounded-border-radius);\n border: var(--qds-display-border-width) solid\n var(--qds-theme-display-background-contrast);\n background: var(--qds-theme-display-background);\n width: inherit;\n height: inherit;\n align-items: center;\n}\n\n.qds-picture {\n height: 100%;\n width: 100%;\n object-fit: cover;\n border-radius: inherit;\n flex-shrink: 0;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-display-background-contrast);\n}\n\n.qds-text {\n text-align: center;\n font: var(--qds-display-standard-kicker);\n}\n\n.qds-sr-only {\n clip: rect(0 0 0 0);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n}\n","// SPDX-FileCopyrightText: © 2025 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Event,\n Fragment,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\n/**\n * @experimental\n */\n@Component({\n tag: 'qds-avatar-media',\n shadow: true,\n styleUrl: 'avatar-media.css',\n})\nexport class AvatarMedia implements ComponentInterface {\n /**\n * The avatar-media's image source.\n * @webnative\n */\n @Prop() public readonly src?: string\n\n /**\n * The alt text for the avatar-media's image.\n * @webnative\n */\n @Prop() public readonly alt?: string\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 * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary?: string = 'default'\n\n /**\n * The avatar-media's text content.\n */\n @Prop() public readonly text?: string\n\n /**\n * Emitted when the avatar-media's image has loaded.\n */\n @Event({ eventName: 'qdsLoad', cancelable: false })\n private readonly loadEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the avatar-media's image fails to load due to an error.\n */\n @Event({ eventName: 'qdsError', cancelable: false })\n private readonly errorEmitter!: EventEmitter<void>\n\n @State() private initials?: string\n\n @State() private hasImageError = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n @Watch('text')\n private textChanged(): void {\n if (this.text === undefined || this.text === '') {\n this.initials = undefined\n return\n }\n const words = this.text.trim().split(' ')\n const [first = '', second = ''] = words.filter(Boolean)\n this.initials = (\n first.charAt(0) + (second.charAt(0) || '')\n ).toLocaleUpperCase()\n }\n\n @Watch('src')\n @Watch('text')\n @Watch('iconName')\n @Watch('alt')\n private roleChanged(): void {\n const hasSource =\n this.src !== undefined && this.src !== '' && !this.hasImageError\n const hasIcon = this.iconName !== undefined && this.iconName !== ''\n const hasText = this.text !== undefined && this.text !== ''\n const hasFallbackIcon = !hasSource && !hasIcon && !hasText\n const isImgMode = hasSource || hasIcon || hasFallbackIcon\n\n if (isImgMode) this.internals.role = 'img'\n else if (hasText) this.internals.role = 'generic'\n else this.internals.role = 'presentation'\n\n this.internals.ariaLabel =\n isImgMode && this.alt !== undefined && this.alt !== ''\n ? this.alt\n : // eslint-disable-next-line unicorn/no-null\n null\n }\n\n public componentWillLoad(): Promise<void> | void {\n this.textChanged()\n this.roleChanged()\n }\n\n public render() {\n return <div class=\"qds-container\">{this.#renderContent()}</div>\n }\n\n readonly #renderContent = (): HTMLElement | undefined => {\n if (this.src !== undefined && this.src !== '' && !this.hasImageError)\n return (\n <img\n aria-hidden=\"true\"\n class=\"qds-picture\"\n src={this.src}\n alt={this.alt}\n onError={this.#handleImageError}\n onLoad={this.#handleImageLoad}\n />\n )\n if (this.iconName !== undefined && this.iconName !== '')\n return (\n <qds-icon\n class=\"qds-icon\"\n name={this.iconName}\n library={this.iconLibrary}\n />\n )\n if (this.text !== undefined && this.text !== '')\n return (\n <span aria-hidden=\"true\" class=\"qds-text\">\n {this.initials}\n </span>\n )\n return <qds-icon class=\"qds-icon\" name=\"user\" library=\"core\" />\n }\n\n readonly #handleImageError = (): void => {\n this.hasImageError = true\n this.roleChanged()\n this.errorEmitter.emit()\n }\n\n readonly #handleImageLoad = (): void => {\n this.hasImageError = false\n this.roleChanged()\n this.loadEmitter.emit()\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SPDX-FileCopyrightText: © 2026 Schneider Electric
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { r as registerInstance, h } from './index-Hg1Liloy.js';
|
|
7
|
+
|
|
8
|
+
const avatarCss = ":host([hidden]){display:none!important}:host{display:block}.qds-avatar,.qds-label-container{display:inline-flex;justify-content:center;position:relative}.qds-avatar-vertical,.qds-label-container{flex-direction:column}.qds-avatar-vertical{align-items:center}.qds-avatar-vertical .qds-label-container{text-align:center}.qds-avatar-media-wrapper{flex-shrink:0;position:relative}.qds-label{color:var(--qds-theme-title)}.qds-kicker{color:var(--qds-theme-kicker)}.qds-indicator{inset-block-start:0;inset-inline-end:0;position:absolute;transform:translate(50%,-50%)}.qds-avatar[data-size=large]{gap:var(--qds-list-item-large-gap-internal)}[data-size=large] .qds-avatar-media{height:var(--qds-display-avatar-large-size);width:var(--qds-display-avatar-large-size)}[data-size=large] .qds-label-container{gap:var(--qds-list-item-large-titles-gap)}[data-size=large] .qds-label{font:var(--qds-list-item-large-title)}[data-size=large] .qds-kicker{font:var(--qds-list-item-large-kicker)}.qds-avatar[data-size=standard]{gap:var(--qds-list-item-standard-gap-internal)}[data-size=standard] .qds-avatar-media{height:var(--qds-display-avatar-standard-size);width:var(--qds-display-avatar-standard-size)}[data-size=standard] .qds-label-container{gap:var(--qds-list-item-standard-titles-gap)}[data-size=standard] .qds-label{font:var(--qds-list-item-standard-title)}[data-size=standard] .qds-kicker{font:var(--qds-list-item-standard-kicker)}.qds-avatar[data-size=small]{gap:var(--qds-list-item-small-gap-internal)}[data-size=small] .qds-avatar-media{height:var(--qds-display-avatar-small-size);width:var(--qds-display-avatar-small-size)}[data-size=small] .qds-label-container{gap:var(--qds-list-item-small-titles-gap)}[data-size=small] .qds-label{font:var(--qds-list-item-small-title)}[data-size=small] .qds-kicker{font:var(--qds-list-item-small-kicker)}";
|
|
9
|
+
|
|
10
|
+
// SPDX-FileCopyrightText: © 2026 Schneider Electric
|
|
11
|
+
//
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
14
|
+
if (kind === "a" && !f)
|
|
15
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
16
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
17
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
18
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
19
|
+
};
|
|
20
|
+
var _Avatar_instances, _Avatar_computedSize_get;
|
|
21
|
+
const Avatar = class {
|
|
22
|
+
constructor(hostRef) {
|
|
23
|
+
registerInstance(this, hostRef);
|
|
24
|
+
_Avatar_instances.add(this);
|
|
25
|
+
/**
|
|
26
|
+
* The name of a registered icon library.
|
|
27
|
+
*/
|
|
28
|
+
this.iconLibrary = 'default';
|
|
29
|
+
/**
|
|
30
|
+
* The avatar's size.
|
|
31
|
+
*/
|
|
32
|
+
this.size = 'standard';
|
|
33
|
+
/**
|
|
34
|
+
* Display the avatar in a vertical direction.
|
|
35
|
+
*/
|
|
36
|
+
this.vertical = false;
|
|
37
|
+
/**
|
|
38
|
+
* Displays an indicator if `true`.
|
|
39
|
+
*/
|
|
40
|
+
this.badge = false;
|
|
41
|
+
/**
|
|
42
|
+
* The indicator's status.
|
|
43
|
+
*/
|
|
44
|
+
this.badgeIndicatorStatus = 'success';
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
const hasLabel = this.label !== undefined && this.label !== '';
|
|
48
|
+
const hasAlt = this.avatarAlt !== undefined && this.avatarAlt !== '';
|
|
49
|
+
const hasKicker = this.kicker !== undefined && this.kicker !== '';
|
|
50
|
+
return (h("div", { key: 'df04ee473b689f1d0315b7346d77d93d66fb8abf', class: { 'qds-avatar': true, 'qds-avatar-vertical': this.vertical }, "data-size": __classPrivateFieldGet(this, _Avatar_instances, "a", _Avatar_computedSize_get) }, h("div", { key: '77682dc8297bc75252f92db6907de27f40c3ed4f', class: "qds-avatar-media-wrapper" }, h("qds-avatar-media", { key: 'e4062d40f2d91f958bac93de8a4d010c14dc6fc6', class: "qds-avatar-media", "aria-hidden": hasAlt ? undefined : 'true', src: this.avatarSrc, alt: this.avatarAlt, iconName: this.iconName, iconLibrary: this.iconLibrary, text: this.label }), (this.badge ?? false) && (h("qds-badge-indicator", { key: 'b074d5844b847890ba3531eb34ae5b5447714871', class: "qds-indicator", status: this.badgeIndicatorStatus, description: this.badgeDescription, size: __classPrivateFieldGet(this, _Avatar_instances, "a", _Avatar_computedSize_get), strokeRing: true }))), (hasLabel || hasKicker) && (h("div", { key: 'b00b1cbc34d71655bad3ba9290acead687469bce', class: "qds-label-container" }, hasLabel && h("strong", { key: '2b7df27b74c8dd1bb5a77ec54ef46a1e4034edb9', class: "qds-label" }, this.label), hasKicker && h("div", { key: '8a81525400061561e265ce5dfebc162a5ecbe04a', class: "qds-kicker" }, this.kicker)))));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
_Avatar_instances = new WeakSet(), _Avatar_computedSize_get = function _Avatar_computedSize_get() {
|
|
54
|
+
switch (this.size) {
|
|
55
|
+
case 'standard':
|
|
56
|
+
case 'small':
|
|
57
|
+
case 'large': {
|
|
58
|
+
return this.size;
|
|
59
|
+
}
|
|
60
|
+
default: {
|
|
61
|
+
return 'standard';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
Avatar.style = avatarCss;
|
|
66
|
+
|
|
67
|
+
export { Avatar as qds_avatar };
|
|
68
|
+
//# sourceMappingURL=qds-avatar.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qds-avatar.entry.js","sources":["src/components/avatar/avatar.css?tag=qds-avatar&encapsulation=shadow","src/components/avatar/avatar.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2026 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-label-container,\n.qds-avatar {\n display: inline-flex;\n position: relative;\n justify-content: center;\n}\n\n.qds-label-container {\n flex-direction: column;\n}\n\n.qds-avatar-vertical {\n flex-direction: column;\n align-items: center;\n}\n\n.qds-avatar-vertical .qds-label-container {\n text-align: center;\n}\n\n.qds-avatar-media-wrapper {\n position: relative;\n flex-shrink: 0;\n}\n\n.qds-label {\n color: var(--qds-theme-title);\n}\n\n.qds-kicker {\n color: var(--qds-theme-kicker);\n}\n\n.qds-indicator {\n position: absolute;\n transform: translate(50%, -50%);\n inset-block-start: 0;\n inset-inline-end: 0;\n}\n\n[data-size='large'] {\n &.qds-avatar {\n gap: var(--qds-list-item-large-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-large-size);\n height: var(--qds-display-avatar-large-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-large-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-large-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-large-kicker);\n }\n}\n\n[data-size='standard'] {\n &.qds-avatar {\n gap: var(--qds-list-item-standard-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-standard-size);\n height: var(--qds-display-avatar-standard-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-standard-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-standard-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-standard-kicker);\n }\n}\n\n[data-size='small'] {\n &.qds-avatar {\n gap: var(--qds-list-item-small-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-small-size);\n height: var(--qds-display-avatar-small-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-small-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-small-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-small-kicker);\n }\n}\n","// SPDX-FileCopyrightText: © 2026 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop, Watch } from '@stencil/core'\n\nimport type { Size } from '../shared'\n\n/**\n * The avatar component is a visual representation of a user or entity, typically through a profile picture, icon, or initials.\n * It is used to provide a consistent way to identify users across different parts of an interface,\n * such as messages, comments, or user profiles.\n *\n * @see https://quartz.se.com/build/components/avatar\n */\n@Component({\n tag: 'qds-avatar',\n shadow: true,\n styleUrl: 'avatar.css',\n})\nexport class Avatar implements ComponentInterface {\n /**\n * The URL of the avatar image to display.\n */\n @Prop() public readonly avatarSrc?: string\n\n /**\n * The alt text for the avatar's image.\n */\n @Prop() public readonly avatarAlt?: string\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 * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary?: string = 'default'\n\n /**\n * Text to display for the kicker.\n */\n @Prop() public readonly kicker?: string\n\n /**\n * Text to display for the label.\n */\n @Prop() public readonly label?: string\n\n /**\n * The avatar's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Display the avatar in a vertical direction.\n */\n @Prop() public readonly vertical: boolean = false\n\n /**\n * Displays an indicator if `true`.\n */\n @Prop() public readonly badge?: boolean = false\n\n /**\n * The indicator 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 'success'\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 public render() {\n const hasLabel = this.label !== undefined && this.label !== ''\n const hasAlt = this.avatarAlt !== undefined && this.avatarAlt !== ''\n const hasKicker = this.kicker !== undefined && this.kicker !== ''\n\n return (\n <div\n class={{ 'qds-avatar': true, 'qds-avatar-vertical': this.vertical }}\n data-size={this.#computedSize}\n >\n <div class=\"qds-avatar-media-wrapper\">\n <qds-avatar-media\n class=\"qds-avatar-media\"\n aria-hidden={hasAlt ? undefined : 'true'}\n src={this.avatarSrc}\n alt={this.avatarAlt}\n iconName={this.iconName}\n iconLibrary={this.iconLibrary}\n text={this.label}\n />\n\n {(this.badge ?? false) && (\n <qds-badge-indicator\n class=\"qds-indicator\"\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n </div>\n\n {(hasLabel || hasKicker) && (\n <div class=\"qds-label-container\">\n {hasLabel && <strong class=\"qds-label\">{this.label}</strong>}\n {hasKicker && <div class=\"qds-kicker\">{this.kicker}</div>}\n </div>\n )}\n </div>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,SAAS,GAAG,yyDAAyyD;;ACA3zD;AACA;AACA;;;;;;;;;MAmBa,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAuBE;;AAEG;AACqB,QAAA,IAAW,CAAA,WAAA,GAAY,SAAS;AAYxD;;AAEG;AACqB,QAAA,IAAI,CAAA,IAAA,GAAU,UAAU;AAEhD;;AAEG;AACqB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjD;;AAEG;AACqB,QAAA,IAAK,CAAA,KAAA,GAAa,KAAK;AAQ/C;;AAEG;AAEa,QAAA,IAAoB,CAAA,oBAAA,GAClC,SAAS;AAwDZ;IAzCQ,MAAM,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;AAC9D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;AACpE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAEjE,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACxD,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAc,iBAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,kBAAkB,iBACX,MAAM,GAAG,SAAS,GAAG,MAAM,EACxC,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,CAAA,EAED,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,MACnB,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,eAAe,EACrB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EACjC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,IAAI,EAAE,sBAAA,CAAA,IAAI,EAAc,iBAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EACxB,UAAU,EAAA,IAAA,EAAA,CACV,CACH,CACG,EAEL,CAAC,QAAQ,IAAI,SAAS,MACrB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EAC7B,QAAQ,IAAI,+DAAQ,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,KAAK,CAAU,EAC3D,SAAS,IAAI,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAE,EAAA,IAAI,CAAC,MAAM,CAAO,CACrD,CACP,CACG;;;;AAlDR,IAAA,QAAQ,IAAI,CAAC,IAAI;AACf,QAAA,KAAK,UAAU;AACf,QAAA,KAAK,OAAO;QACZ,KAAK,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI;;QAElB,SAAS;AACP,YAAA,OAAO,UAAU;;;AAGvB,CAAC;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qds-badge-counter.qds-badge-indicator.entry.js","sources":["src/components/badge-counter/badge-counter.css?tag=qds-badge-counter&encapsulation=shadow","src/components/badge-counter/badge-counter.tsx","src/components/badge-indicator/badge-indicator.css?tag=qds-badge-indicator&encapsulation=shadow","src/components/badge-indicator/badge-indicator.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}\n\n.qds-badge-counter {\n align-items: center;\n background-color: var(--qds-theme-feedback-message-neutral);\n border-radius: var(--qds-feedback-rounded-border-radius);\n color: var(--qds-theme-feedback-message-neutral-contrast);\n display: flex;\n font: var(--qds-feedback-badge-counter-standard-text);\n height: var(--qds-feedback-badge-counter-standard-height);\n min-width: var(--qds-feedback-badge-counter-standard-min-width);\n justify-content: center;\n margin: 0;\n padding-inline: var(--qds-feedback-badge-counter-standard-padding-horizontal);\n text-align: center;\n}\n\n.qds-stroke-ring {\n border: var(--qds-feedback-badge-border-width) solid\n var(--qds-theme-feedback-message-neutral-contrast);\n}\n\n.qds-sr-only {\n clip: rect(0 0 0 0);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n}\n\n[data-importance='emphasized'] {\n background-color: var(--qds-theme-signature-color-contrast);\n color: var(--qds-theme-signature-color-default);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='subdued'] {\n background-color: var(--qds-theme-feedback-message-informational);\n color: var(--qds-theme-feedback-message-informational-contrast);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n}\n\n[data-importance='destructive'] {\n background-color: var(--qds-theme-feedback-message-critical-contrast);\n color: var(--qds-theme-feedback-message-critical);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical);\n }\n}\n\n[data-importance='subdued-destructive'] {\n color: var(--qds-theme-feedback-message-critical-contrast);\n background-color: var(--qds-theme-feedback-message-critical);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n}\n\n[data-size='small'] {\n font: var(--qds-feedback-badge-counter-small-text);\n height: var(--qds-feedback-badge-counter-small-height);\n min-width: var(--qds-feedback-badge-counter-small-min-width);\n padding-inline: var(--qds-feedback-badge-counter-small-padding-horizontal);\n}\n\n[data-size='large'] {\n font: var(--qds-feedback-badge-counter-large-text);\n height: var(--qds-feedback-badge-counter-large-height);\n min-width: var(--qds-feedback-badge-counter-large-min-width);\n padding-inline: var(--qds-feedback-badge-counter-large-padding-horizontal);\n}\n\n[data-size='hero'] {\n font: var(--qds-feedback-badge-counter-hero-text);\n height: var(--qds-feedback-badge-counter-hero-height);\n padding-inline: var(--qds-feedback-badge-counter-hero-padding-horizontal);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop } from '@stencil/core'\n\nimport type { Importance, Size } from '../shared'\n\nexport type BadgeCounterImportance =\n | Importance\n | 'destructive'\n | 'subdued-destructive'\nexport type BadgeCounterSize = Size | 'hero'\n\n/**\n * The `<qds-badge-counter>` element is a small, rounded UI element used to\n * display numerical values or counts. It is designed to draw the user's eye to\n * important or dynamic content by providing a visual cue that a countable\n * event or item has occurred or is waiting to be addressed.\n */\n@Component({\n tag: 'qds-badge-counter',\n shadow: true,\n styleUrl: 'badge-counter.css',\n})\nexport class BadgeCounter implements ComponentInterface {\n /**\n * Adds accessible text to the qds-badge-counter that will be used by screen\n * readers.\n *\n * @example\n * <qds-badge-counter value={2} description=\"new notifications\"></qds-badge-counter>\n * // This qds-badge-counter will be read by screen readers as \"two new notifications\"\n */\n @Prop() public readonly description?: string\n\n /**\n * The badge counter's importance.\n */\n @Prop() public readonly importance?: BadgeCounterImportance = 'standard'\n\n /**\n * The badge counter's size.\n */\n @Prop() public readonly size?: BadgeCounterSize = 'standard'\n\n /**\n * Shows a stroke ring around the component for better visibility\n */\n @Prop() public readonly strokeRing: boolean = false\n\n /**\n * The badge-counter's value.\n */\n @Prop() public readonly value!: number | string\n\n get #computedValue(): string {\n const value =\n typeof this.value === 'string'\n ? Number.parseInt(this.value, 10)\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n (this.value ?? Number.NaN)\n if (Number.isNaN(value) || value < 0) return ''\n\n return value < 100 ? value.toString() : '99+'\n }\n\n get #computedImportance(): BadgeCounterImportance {\n switch (this.importance) {\n case 'subdued':\n case 'destructive':\n case 'subdued-destructive':\n case 'emphasized': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedSize(): BadgeCounterSize {\n switch (this.size) {\n case 'hero':\n case 'large':\n case 'small': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n public render() {\n return (\n <span\n class={{\n 'qds-badge-counter': true,\n 'qds-stroke-ring': this.strokeRing,\n }}\n data-importance={this.#computedImportance}\n data-size={this.#computedSize}\n >\n {this.#computedValue}\n <span class=\"qds-sr-only\">{this.description}</span>\n </span>\n )\n }\n}\n","/*\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}\n\n.qds-badge-indicator {\n align-items: center;\n border-radius: var(--qds-feedback-rounded-border-radius);\n display: flex;\n height: var(--qds-feedback-badge-indicator-standard-size);\n justify-content: center;\n width: var(--qds-feedback-badge-indicator-standard-size);\n}\n\n.qds-stroke-ring {\n border: var(--qds-feedback-badge-border-width) solid\n var(--qds-theme-feedback-message-neutral-contrast);\n}\n\n.qds-sr-only {\n clip: rect(0 0 0 0);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n}\n\n.qds-icon {\n height: 100%;\n width: 100%;\n}\n\n[data-status='error'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-critical);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n}\n\n[data-status='info'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-informational);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n}\n\n[data-status='neutral'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-neutral);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n}\n\n[data-status='unavailable'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-availability-unavailable);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n}\n\n[data-status='success'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-success-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-success);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-success-contrast);\n }\n}\n\n[data-status='warning'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-important-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-important);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-important-contrast);\n }\n}\n\n[data-size='small'] {\n height: var(--qds-feedback-badge-indicator-small-size);\n width: var(--qds-feedback-badge-indicator-small-size);\n}\n\n[data-size='standard'] {\n height: var(--qds-feedback-badge-indicator-standard-size);\n width: var(--qds-feedback-badge-indicator-standard-size);\n}\n\n[data-size='large'] {\n height: var(--qds-feedback-badge-indicator-large-size);\n width: var(--qds-feedback-badge-indicator-large-size);\n}\n\n[data-size='hero'] {\n height: var(--qds-feedback-badge-indicator-hero-size);\n width: var(--qds-feedback-badge-indicator-hero-size);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop } from '@stencil/core'\n\nimport type { Size, Status } from '../shared'\n\nexport type BadgeIndicatorSize = Size | 'hero'\nexport type BadgeIndicatorStatus = Status | 'neutral' | 'unavailable'\n\n/**\n * The `<qds-badge-indicator>` element is a small, rounded UI element used to\n * display status indicators. It is designed to draw the user's eye to\n * important or dynamic content by providing a visual cue that an event has\n * occurred or is waiting to be addressed.\n */\n@Component({\n tag: 'qds-badge-indicator',\n shadow: true,\n styleUrl: 'badge-indicator.css',\n})\nexport class BadgeIndicator implements ComponentInterface {\n /**\n * Adds accessible text to the qds-badge-indicator that will be used by\n * screen readers.\n *\n * @example\n * <qds-badge-indicator description=\"success\"></qds-badge-indicator>\n * // This qds-badge-indicator will be read by screen readers as \"success\"\n */\n @Prop() public readonly description?: string\n\n /**\n * The badge indicator's size.\n */\n @Prop() public readonly size?: BadgeIndicatorSize = 'standard'\n\n /**\n * The badge indicator's status.\n */\n @Prop() public readonly status?: BadgeIndicatorStatus = 'neutral'\n\n /**\n * Shows a stroke ring around the badge indicator for better visibility.\n */\n @Prop() public readonly strokeRing: boolean = false\n\n get #computedStatus(): BadgeIndicatorStatus {\n switch (this.status) {\n case 'error':\n case 'info':\n case 'success':\n case 'warning':\n case 'unavailable': {\n return this.status\n }\n default: {\n return 'neutral'\n }\n }\n }\n\n get #computedSize(): BadgeIndicatorSize {\n switch (this.size) {\n case 'hero':\n case 'large':\n case 'small': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedIconName(): string {\n switch (this.#computedStatus) {\n case 'error': {\n return 'status-error-solid'\n }\n case 'info': {\n return 'status-info-solid'\n }\n case 'success': {\n return 'status-success-solid'\n }\n case 'warning': {\n return 'status-warning-solid'\n }\n case 'unavailable': {\n return 'status-unavailable'\n }\n default: {\n return ''\n }\n }\n }\n\n public render() {\n return (\n <div\n class={{\n 'qds-badge-indicator': true,\n 'qds-stroke-ring': this.strokeRing,\n }}\n data-size={this.#computedSize}\n data-status={this.#computedStatus}\n >\n <span class=\"qds-sr-only\">{this.description}</span>\n {this.#computedStatus !== 'neutral' && (\n <qds-icon\n library=\"core\"\n class=\"qds-icon\"\n name={this.#computedIconName}\n data-status={this.#computedStatus}\n />\n )}\n </div>\n )\n }\n}\n"],"names":["__classPrivateFieldGet"],"mappings":"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"}
|