@diwacopilot/components 1.0.0 → 1.1.1
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/dist/cjs/diwa-checkbox.cjs.entry.js +1 -3
- package/dist/cjs/diwa-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-components.cjs.js +1 -1
- package/dist/cjs/diwa-heading.cjs.entry.js +126 -0
- package/dist/cjs/diwa-heading.cjs.entry.js.map +1 -0
- package/dist/cjs/diwa-icon.cjs.entry.js +1 -1
- package/dist/cjs/diwa-inline-notification.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-date.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-email.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-month.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-number.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-password.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-search.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-tel.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-text.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-time.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-url.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input-week.cjs.entry.js +1 -1
- package/dist/cjs/diwa-input.cjs.entry.js +1 -1
- package/dist/cjs/diwa-link-pure.cjs.entry.js +1 -1
- package/dist/cjs/diwa-link.cjs.entry.js +1 -1
- package/dist/cjs/diwa-modal.cjs.entry.js +1 -1
- package/dist/cjs/diwa-multi-select-option.cjs.entry.js +1 -1
- package/dist/cjs/diwa-multi-select.cjs.entry.js +2 -2
- package/dist/cjs/diwa-pagination.cjs.entry.js +1 -1
- package/dist/cjs/diwa-pin-code.cjs.entry.js +2 -2
- package/dist/cjs/diwa-popover.cjs.entry.js +1 -1
- package/dist/cjs/diwa-radio-group-item.cjs.entry.js +2 -3
- package/dist/cjs/diwa-radio-group-item.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/diwa-scroller.cjs.entry.js +23 -13
- package/dist/cjs/diwa-scroller.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-segmented-control-item.cjs.entry.js +1 -1
- package/dist/cjs/diwa-segmented-control.cjs.entry.js +1 -1
- package/dist/cjs/diwa-select-option.cjs.entry.js +24 -10
- package/dist/cjs/diwa-select-option.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-select.cjs.entry.js +15 -1
- package/dist/cjs/diwa-select.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-spinner.cjs.entry.js +1 -1
- package/dist/cjs/diwa-stepper-horizontal-item.cjs.entry.js +1 -1
- package/dist/cjs/diwa-stepper-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/diwa-switch.cjs.entry.js +1 -1
- package/dist/cjs/diwa-table-body.cjs.entry.js +1 -1
- package/dist/cjs/diwa-table-cell.cjs.entry.js +15 -15
- package/dist/cjs/diwa-table-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-table-head-cell.cjs.entry.js +64 -53
- package/dist/cjs/diwa-table-head-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-table-head.cjs.entry.js +16 -11
- package/dist/cjs/diwa-table-head.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-table-row.cjs.entry.js +11 -10
- package/dist/cjs/diwa-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-table.cjs.entry.js +83 -43
- package/dist/cjs/diwa-table.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-tabs-bar.cjs.entry.js +1 -1
- package/dist/cjs/diwa-tabs-item.cjs.entry.js +1 -1
- package/dist/cjs/diwa-tabs.cjs.entry.js +12 -12
- package/dist/cjs/diwa-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-tag-dismissible.cjs.entry.js +6 -8
- package/dist/cjs/diwa-tag-dismissible.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-tag.cjs.entry.js +2 -2
- package/dist/cjs/diwa-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/diwa-text-list-item.cjs.entry.js +1 -1
- package/dist/cjs/diwa-text-list.cjs.entry.js +1 -1
- package/dist/cjs/diwa-text.cjs.entry.js +1 -1
- package/dist/cjs/diwa-textarea.cjs.entry.js +1 -1
- package/dist/cjs/diwa-toast-item.cjs.entry.js +1 -1
- package/dist/cjs/diwa-toast.cjs.entry.js +111 -17
- package/dist/cjs/diwa-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js +1 -3
- package/dist/collection/components/diwa-checkbox/diwa-checkbox-styles.js.map +1 -1
- package/dist/collection/components/diwa-heading/diwa-heading-styles.js +53 -0
- package/dist/collection/components/diwa-heading/diwa-heading-styles.js.map +1 -0
- package/dist/collection/components/diwa-heading/diwa-heading-utils.js +26 -0
- package/dist/collection/components/diwa-heading/diwa-heading-utils.js.map +1 -0
- package/dist/collection/components/diwa-heading/diwa-heading.js +235 -0
- package/dist/collection/components/diwa-heading/diwa-heading.js.map +1 -0
- package/dist/collection/components/diwa-heading/types.js +2 -0
- package/dist/collection/components/diwa-heading/types.js.map +1 -0
- package/dist/collection/components/diwa-icon/diwa-icon.js +1 -1
- package/dist/collection/components/diwa-inline-notification/diwa-inline-notification.js +1 -1
- package/dist/collection/components/diwa-input/diwa-input.js +1 -1
- package/dist/collection/components/diwa-input-date/diwa-input-date.js +1 -1
- package/dist/collection/components/diwa-input-email/diwa-input-email.js +1 -1
- package/dist/collection/components/diwa-input-month/diwa-input-month.js +1 -1
- package/dist/collection/components/diwa-input-number/diwa-input-number.js +1 -1
- package/dist/collection/components/diwa-input-password/diwa-input-password.js +1 -1
- package/dist/collection/components/diwa-input-search/diwa-input-search.js +1 -1
- package/dist/collection/components/diwa-input-tel/diwa-input-tel.js +1 -1
- package/dist/collection/components/diwa-input-text/diwa-input-text.js +1 -1
- package/dist/collection/components/diwa-input-time/diwa-input-time.js +1 -1
- package/dist/collection/components/diwa-input-url/diwa-input-url.js +1 -1
- package/dist/collection/components/diwa-input-week/diwa-input-week.js +1 -1
- package/dist/collection/components/diwa-link/diwa-link.js +1 -1
- package/dist/collection/components/diwa-link-pure/diwa-link-pure.js +1 -1
- package/dist/collection/components/diwa-modal/diwa-modal.js +1 -1
- package/dist/collection/components/diwa-multi-select/diwa-multi-select.js +2 -2
- package/dist/collection/components/diwa-multi-select-option/diwa-multi-select-option.js +1 -1
- package/dist/collection/components/diwa-pagination/diwa-pagination.js +1 -1
- package/dist/collection/components/diwa-pin-code/diwa-pin-code.js +2 -2
- package/dist/collection/components/diwa-popover/diwa-popover.js +1 -1
- package/dist/collection/components/diwa-radio-group/diwa-radio-group.js +1 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js +1 -2
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item-styles.js.map +1 -1
- package/dist/collection/components/diwa-radio-group-item/diwa-radio-group-item.js +1 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js +14 -9
- package/dist/collection/components/diwa-scroller/diwa-scroller-styles.js.map +1 -1
- package/dist/collection/components/diwa-scroller/diwa-scroller.js +9 -13
- package/dist/collection/components/diwa-scroller/diwa-scroller.js.map +1 -1
- package/dist/collection/components/diwa-segmented-control/diwa-segmented-control.js +1 -1
- package/dist/collection/components/diwa-segmented-control-item/diwa-segmented-control-item.js +1 -1
- package/dist/collection/components/diwa-select/diwa-select.js +17 -1
- package/dist/collection/components/diwa-select/diwa-select.js.map +1 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js +21 -9
- package/dist/collection/components/diwa-select-option/diwa-select-option-styles.js.map +1 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option.js +23 -1
- package/dist/collection/components/diwa-select-option/diwa-select-option.js.map +1 -1
- package/dist/collection/components/diwa-spinner/diwa-spinner.js +1 -1
- package/dist/collection/components/diwa-stepper-horizontal/diwa-stepper-horizontal.js +1 -1
- package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js +1 -1
- package/dist/collection/components/diwa-switch/diwa-switch.js +1 -1
- package/dist/collection/components/diwa-table/diwa-table-styles.js +81 -42
- package/dist/collection/components/diwa-table/diwa-table-styles.js.map +1 -1
- package/dist/collection/components/diwa-table/diwa-table.js +3 -2
- package/dist/collection/components/diwa-table/diwa-table.js.map +1 -1
- package/dist/collection/components/diwa-table-body/diwa-table-body.js +1 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js +14 -14
- package/dist/collection/components/diwa-table-cell/diwa-table-cell-styles.js.map +1 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell.js +1 -1
- package/dist/collection/components/diwa-table-cell/diwa-table-cell.js.map +1 -1
- package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js +15 -10
- package/dist/collection/components/diwa-table-head/diwa-table-head-styles.js.map +1 -1
- package/dist/collection/components/diwa-table-head/diwa-table-head.js +1 -1
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js +60 -49
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell-styles.js.map +1 -1
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js +4 -4
- package/dist/collection/components/diwa-table-head-cell/diwa-table-head-cell.js.map +1 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js +10 -9
- package/dist/collection/components/diwa-table-row/diwa-table-row-styles.js.map +1 -1
- package/dist/collection/components/diwa-table-row/diwa-table-row.js +1 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js +11 -11
- package/dist/collection/components/diwa-tabs/diwa-tabs-styles.js.map +1 -1
- package/dist/collection/components/diwa-tabs/diwa-tabs.js +1 -1
- package/dist/collection/components/diwa-tabs-bar/diwa-tabs-bar.js +1 -1
- package/dist/collection/components/diwa-tabs-item/diwa-tabs-item.js +1 -1
- package/dist/collection/components/diwa-tag/diwa-tag-styles.js +1 -1
- package/dist/collection/components/diwa-tag/diwa-tag-styles.js.map +1 -1
- package/dist/collection/components/diwa-tag/diwa-tag.js +1 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js +5 -6
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.js.map +1 -1
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js +1 -2
- package/dist/collection/components/diwa-tag-dismissible/diwa-tag-dismissible.js.map +1 -1
- package/dist/collection/components/diwa-text/diwa-text.js +1 -1
- package/dist/collection/components/diwa-text-list/diwa-text-list.js +1 -1
- package/dist/collection/components/diwa-text-list-item/diwa-text-list-item.js +1 -1
- package/dist/collection/components/diwa-textarea/diwa-textarea.js +1 -1
- package/dist/collection/components/diwa-toast/diwa-toast-manager.js +96 -0
- package/dist/collection/components/diwa-toast/diwa-toast-manager.js.map +1 -0
- package/dist/collection/components/diwa-toast/diwa-toast.js +24 -25
- package/dist/collection/components/diwa-toast/diwa-toast.js.map +1 -1
- package/dist/collection/components/diwa-toast-item/diwa-toast-item.js +1 -1
- package/dist/diwa-components/diwa-components.css +2 -2
- package/dist/diwa-components/diwa-components.esm.js +1 -1
- package/dist/diwa-components/diwa-components.esm.js.map +1 -1
- package/dist/diwa-components/{p-2b54c761.entry.js → p-09f2e643.entry.js} +2 -2
- package/dist/diwa-components/{p-4ac5a26e.entry.js → p-117dc41d.entry.js} +2 -2
- package/dist/diwa-components/p-117dc41d.entry.js.map +1 -0
- package/dist/diwa-components/{p-1022a474.entry.js → p-1250d0c7.entry.js} +2 -2
- package/dist/diwa-components/{p-1a1bd7ed.entry.js → p-13e71247.entry.js} +2 -2
- package/dist/diwa-components/p-1830772d.entry.js +2 -0
- package/dist/diwa-components/{p-f4a589b5.entry.js → p-1d708e1e.entry.js} +2 -2
- package/dist/diwa-components/{p-bb04cdd6.entry.js → p-238da82a.entry.js} +2 -2
- package/dist/diwa-components/p-29419c9a.entry.js +2 -0
- package/dist/diwa-components/p-29419c9a.entry.js.map +1 -0
- package/dist/diwa-components/{p-c896dfa5.entry.js → p-3269a4b7.entry.js} +2 -2
- package/dist/diwa-components/p-35b69160.entry.js +2 -0
- package/dist/diwa-components/p-35b69160.entry.js.map +1 -0
- package/dist/diwa-components/{p-fbe73240.entry.js → p-3660b09a.entry.js} +2 -2
- package/dist/diwa-components/{p-c37374ab.entry.js → p-36b004e9.entry.js} +2 -2
- package/dist/diwa-components/p-37e1bea3.entry.js +2 -0
- package/dist/diwa-components/p-37e1bea3.entry.js.map +1 -0
- package/dist/diwa-components/{p-851cbfb8.entry.js → p-3b38fa01.entry.js} +2 -2
- package/dist/diwa-components/p-3fb5cc30.entry.js +2 -0
- package/dist/diwa-components/p-429c596d.entry.js +2 -0
- package/dist/diwa-components/p-429c596d.entry.js.map +1 -0
- package/dist/diwa-components/p-50866c5a.entry.js +2 -0
- package/dist/diwa-components/p-50866c5a.entry.js.map +1 -0
- package/dist/diwa-components/p-5a597e27.entry.js +2 -0
- package/dist/diwa-components/p-5f9139bc.entry.js +2 -0
- package/dist/diwa-components/p-5f9139bc.entry.js.map +1 -0
- package/dist/diwa-components/p-66c15f66.entry.js +2 -0
- package/dist/diwa-components/p-66c53adc.entry.js +2 -0
- package/dist/diwa-components/p-66c53adc.entry.js.map +1 -0
- package/dist/diwa-components/{p-6253fff6.entry.js → p-71c45961.entry.js} +2 -2
- package/dist/diwa-components/{p-358e1177.entry.js → p-78b16866.entry.js} +2 -2
- package/dist/diwa-components/p-7a99a2aa.entry.js +2 -0
- package/dist/diwa-components/p-7a99a2aa.entry.js.map +1 -0
- package/dist/diwa-components/p-7dc7291f.entry.js +2 -0
- package/dist/diwa-components/{p-09a9e0a0.entry.js → p-8369c48e.entry.js} +2 -2
- package/dist/diwa-components/{p-c0614fb1.entry.js → p-8506ea0c.entry.js} +2 -2
- package/dist/diwa-components/p-863c88a4.entry.js +2 -0
- package/dist/diwa-components/{p-339f6ba7.entry.js.map → p-863c88a4.entry.js.map} +1 -1
- package/dist/diwa-components/{p-ba1ffa71.entry.js → p-87932af2.entry.js} +2 -2
- package/dist/diwa-components/{p-48009a79.entry.js → p-926e283b.entry.js} +2 -2
- package/dist/diwa-components/p-952af214.entry.js +2 -0
- package/dist/diwa-components/p-952af214.entry.js.map +1 -0
- package/dist/diwa-components/{p-4ff58224.entry.js → p-95b0fdea.entry.js} +2 -2
- package/dist/diwa-components/p-9910d570.entry.js +2 -0
- package/dist/diwa-components/p-9910d570.entry.js.map +1 -0
- package/dist/diwa-components/{p-20fd1505.entry.js → p-998dd88e.entry.js} +2 -2
- package/dist/diwa-components/p-9ade0403.entry.js +2 -0
- package/dist/diwa-components/{p-57db0c31.entry.js → p-9c89e586.entry.js} +2 -2
- package/dist/diwa-components/p-b072ff72.entry.js +2 -0
- package/dist/diwa-components/p-b072ff72.entry.js.map +1 -0
- package/dist/diwa-components/{p-565f623e.entry.js → p-bd501daa.entry.js} +2 -2
- package/dist/diwa-components/{p-c1c85f9e.entry.js → p-c6ca8d8b.entry.js} +2 -2
- package/dist/diwa-components/{p-53e21a74.entry.js → p-c78591ce.entry.js} +2 -2
- package/dist/diwa-components/{p-996f7110.entry.js → p-cc0e1662.entry.js} +2 -2
- package/dist/diwa-components/{p-711e295e.entry.js → p-d25377eb.entry.js} +2 -2
- package/dist/diwa-components/{p-7f0ce623.entry.js → p-d917625e.entry.js} +2 -2
- package/dist/diwa-components/{p-d0762292.entry.js → p-db70e030.entry.js} +2 -2
- package/dist/diwa-components/p-db70e030.entry.js.map +1 -0
- package/dist/diwa-components/p-def36bc4.entry.js +2 -0
- package/dist/diwa-components/p-def36bc4.entry.js.map +1 -0
- package/dist/diwa-components/p-e137afc9.entry.js +2 -0
- package/dist/diwa-components/{p-666844e0.entry.js → p-e1935375.entry.js} +2 -2
- package/dist/diwa-components/{p-87ea8001.entry.js → p-e602c199.entry.js} +2 -2
- package/dist/diwa-components/{p-9f140e14.entry.js → p-e9673253.entry.js} +2 -2
- package/dist/diwa-components/p-f44d4091.entry.js +2 -0
- package/dist/diwa-components/p-f44d4091.entry.js.map +1 -0
- package/dist/diwa-components/p-f60f1d81.entry.js +2 -0
- package/dist/diwa-components/p-fae653f7.entry.js +2 -0
- package/dist/esm/diwa-checkbox.entry.js +1 -3
- package/dist/esm/diwa-checkbox.entry.js.map +1 -1
- package/dist/esm/diwa-components.js +1 -1
- package/dist/esm/diwa-heading.entry.js +122 -0
- package/dist/esm/diwa-heading.entry.js.map +1 -0
- package/dist/esm/diwa-icon.entry.js +1 -1
- package/dist/esm/diwa-inline-notification.entry.js +1 -1
- package/dist/esm/diwa-input-date.entry.js +1 -1
- package/dist/esm/diwa-input-email.entry.js +1 -1
- package/dist/esm/diwa-input-month.entry.js +1 -1
- package/dist/esm/diwa-input-number.entry.js +1 -1
- package/dist/esm/diwa-input-password.entry.js +1 -1
- package/dist/esm/diwa-input-search.entry.js +1 -1
- package/dist/esm/diwa-input-tel.entry.js +1 -1
- package/dist/esm/diwa-input-text.entry.js +1 -1
- package/dist/esm/diwa-input-time.entry.js +1 -1
- package/dist/esm/diwa-input-url.entry.js +1 -1
- package/dist/esm/diwa-input-week.entry.js +1 -1
- package/dist/esm/diwa-input.entry.js +1 -1
- package/dist/esm/diwa-link-pure.entry.js +1 -1
- package/dist/esm/diwa-link.entry.js +1 -1
- package/dist/esm/diwa-modal.entry.js +1 -1
- package/dist/esm/diwa-multi-select-option.entry.js +1 -1
- package/dist/esm/diwa-multi-select.entry.js +2 -2
- package/dist/esm/diwa-pagination.entry.js +1 -1
- package/dist/esm/diwa-pin-code.entry.js +2 -2
- package/dist/esm/diwa-popover.entry.js +1 -1
- package/dist/esm/diwa-radio-group-item.entry.js +2 -3
- package/dist/esm/diwa-radio-group-item.entry.js.map +1 -1
- package/dist/esm/diwa-radio-group.entry.js +1 -1
- package/dist/esm/diwa-scroller.entry.js +23 -13
- package/dist/esm/diwa-scroller.entry.js.map +1 -1
- package/dist/esm/diwa-segmented-control-item.entry.js +1 -1
- package/dist/esm/diwa-segmented-control.entry.js +1 -1
- package/dist/esm/diwa-select-option.entry.js +24 -10
- package/dist/esm/diwa-select-option.entry.js.map +1 -1
- package/dist/esm/diwa-select.entry.js +15 -1
- package/dist/esm/diwa-select.entry.js.map +1 -1
- package/dist/esm/diwa-spinner.entry.js +1 -1
- package/dist/esm/diwa-stepper-horizontal-item.entry.js +1 -1
- package/dist/esm/diwa-stepper-horizontal.entry.js +1 -1
- package/dist/esm/diwa-switch.entry.js +1 -1
- package/dist/esm/diwa-table-body.entry.js +1 -1
- package/dist/esm/diwa-table-cell.entry.js +15 -15
- package/dist/esm/diwa-table-cell.entry.js.map +1 -1
- package/dist/esm/diwa-table-head-cell.entry.js +64 -53
- package/dist/esm/diwa-table-head-cell.entry.js.map +1 -1
- package/dist/esm/diwa-table-head.entry.js +16 -11
- package/dist/esm/diwa-table-head.entry.js.map +1 -1
- package/dist/esm/diwa-table-row.entry.js +11 -10
- package/dist/esm/diwa-table-row.entry.js.map +1 -1
- package/dist/esm/diwa-table.entry.js +83 -43
- package/dist/esm/diwa-table.entry.js.map +1 -1
- package/dist/esm/diwa-tabs-bar.entry.js +1 -1
- package/dist/esm/diwa-tabs-item.entry.js +1 -1
- package/dist/esm/diwa-tabs.entry.js +12 -12
- package/dist/esm/diwa-tabs.entry.js.map +1 -1
- package/dist/esm/diwa-tag-dismissible.entry.js +6 -8
- package/dist/esm/diwa-tag-dismissible.entry.js.map +1 -1
- package/dist/esm/diwa-tag.entry.js +2 -2
- package/dist/esm/diwa-tag.entry.js.map +1 -1
- package/dist/esm/diwa-text-list-item.entry.js +1 -1
- package/dist/esm/diwa-text-list.entry.js +1 -1
- package/dist/esm/diwa-text.entry.js +1 -1
- package/dist/esm/diwa-textarea.entry.js +1 -1
- package/dist/esm/diwa-toast-item.entry.js +1 -1
- package/dist/esm/diwa-toast.entry.js +111 -17
- package/dist/esm/diwa-toast.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/diwa-heading/diwa-heading-styles.d.ts +3 -0
- package/dist/types/components/diwa-heading/diwa-heading-utils.d.ts +10 -0
- package/dist/types/components/diwa-heading/diwa-heading.d.ts +49 -0
- package/dist/types/components/diwa-heading/types.d.ts +17 -0
- package/dist/types/components/diwa-scroller/diwa-scroller-styles.d.ts +1 -1
- package/dist/types/components/diwa-scroller/diwa-scroller.d.ts +2 -1
- package/dist/types/components/diwa-select/diwa-select.d.ts +2 -0
- package/dist/types/components/diwa-select-option/diwa-select-option.d.ts +2 -0
- package/dist/types/components/diwa-table/diwa-table.d.ts +1 -1
- package/dist/types/components/diwa-toast/diwa-toast-manager.d.ts +34 -0
- package/dist/types/components/diwa-toast/diwa-toast.d.ts +12 -12
- package/dist/types/components.d.ts +144 -25
- package/dist-custom-elements/diwa-accordion.js +1 -1
- package/dist-custom-elements/diwa-button-pure.js +1 -1
- package/dist-custom-elements/diwa-button.js +1 -1
- package/dist-custom-elements/diwa-checkbox.js +1 -3
- package/dist-custom-elements/diwa-checkbox.js.map +1 -1
- package/dist-custom-elements/diwa-flyout.js +2 -2
- package/dist-custom-elements/diwa-heading.d.ts +11 -0
- package/dist-custom-elements/diwa-heading.js +149 -0
- package/dist-custom-elements/diwa-heading.js.map +1 -0
- package/dist-custom-elements/diwa-icon.js +1 -1
- package/dist-custom-elements/diwa-inline-notification.js +3 -3
- package/dist-custom-elements/diwa-input-date.js +1 -1
- package/dist-custom-elements/diwa-input-email.js +1 -1
- package/dist-custom-elements/diwa-input-month.js +1 -1
- package/dist-custom-elements/diwa-input-number.js +1 -1
- package/dist-custom-elements/diwa-input-password.js +2 -2
- package/dist-custom-elements/diwa-input-search.js +2 -2
- package/dist-custom-elements/diwa-input-tel.js +1 -1
- package/dist-custom-elements/diwa-input-text.js +1 -1
- package/dist-custom-elements/diwa-input-time.js +1 -1
- package/dist-custom-elements/diwa-input-url.js +1 -1
- package/dist-custom-elements/diwa-input-week.js +1 -1
- package/dist-custom-elements/diwa-input.js +1 -1
- package/dist-custom-elements/diwa-link-pure.js +2 -2
- package/dist-custom-elements/diwa-link.js +2 -2
- package/dist-custom-elements/diwa-modal.js +1 -1
- package/dist-custom-elements/diwa-multi-select-option.js +1 -1
- package/dist-custom-elements/diwa-multi-select.js +2 -2
- package/dist-custom-elements/diwa-pagination.js +1 -1
- package/dist-custom-elements/diwa-pin-code.js +2 -2
- package/dist-custom-elements/diwa-popover.js +1 -1
- package/dist-custom-elements/diwa-radio-group-item.js +2 -3
- package/dist-custom-elements/diwa-radio-group-item.js.map +1 -1
- package/dist-custom-elements/diwa-radio-group.js +1 -1
- package/dist-custom-elements/diwa-scroller.js +24 -14
- package/dist-custom-elements/diwa-scroller.js.map +1 -1
- package/dist-custom-elements/diwa-segmented-control-item.js +1 -1
- package/dist-custom-elements/diwa-segmented-control.js +1 -1
- package/dist-custom-elements/diwa-select-option.js +25 -10
- package/dist-custom-elements/diwa-select-option.js.map +1 -1
- package/dist-custom-elements/diwa-select.js +16 -1
- package/dist-custom-elements/diwa-select.js.map +1 -1
- package/dist-custom-elements/diwa-spinner.js +1 -1
- package/dist-custom-elements/diwa-stepper-horizontal-item.js +1 -1
- package/dist-custom-elements/diwa-stepper-horizontal.js +1 -1
- package/dist-custom-elements/diwa-switch.js +2 -2
- package/dist-custom-elements/diwa-table-body.js +1 -1
- package/dist-custom-elements/diwa-table-cell.js +15 -15
- package/dist-custom-elements/diwa-table-cell.js.map +1 -1
- package/dist-custom-elements/diwa-table-head-cell.js +64 -53
- package/dist-custom-elements/diwa-table-head-cell.js.map +1 -1
- package/dist-custom-elements/diwa-table-head.js +16 -11
- package/dist-custom-elements/diwa-table-head.js.map +1 -1
- package/dist-custom-elements/diwa-table-row.js +11 -10
- package/dist-custom-elements/diwa-table-row.js.map +1 -1
- package/dist-custom-elements/diwa-table.js +83 -43
- package/dist-custom-elements/diwa-table.js.map +1 -1
- package/dist-custom-elements/diwa-tabs-bar.js +1 -1
- package/dist-custom-elements/diwa-tabs-item.js +1 -1
- package/dist-custom-elements/diwa-tabs.js +12 -12
- package/dist-custom-elements/diwa-tabs.js.map +1 -1
- package/dist-custom-elements/diwa-tag-dismissible.js +6 -8
- package/dist-custom-elements/diwa-tag-dismissible.js.map +1 -1
- package/dist-custom-elements/diwa-tag.js +3 -3
- package/dist-custom-elements/diwa-tag.js.map +1 -1
- package/dist-custom-elements/diwa-text-list-item.js +1 -1
- package/dist-custom-elements/diwa-text-list.js +1 -1
- package/dist-custom-elements/diwa-text.js +1 -1
- package/dist-custom-elements/diwa-textarea.js +1 -1
- package/dist-custom-elements/diwa-toast-item.js +1 -1
- package/dist-custom-elements/diwa-toast.js +113 -19
- package/dist-custom-elements/diwa-toast.js.map +1 -1
- package/dist-custom-elements/{p-54e5b3fb.js → p-105f3f97.js} +2 -2
- package/dist-custom-elements/{p-54e5b3fb.js.map → p-105f3f97.js.map} +1 -1
- package/dist-custom-elements/{p-f480bce8.js → p-7c951f7f.js} +2 -2
- package/dist-custom-elements/{p-f480bce8.js.map → p-7c951f7f.js.map} +1 -1
- package/dist-custom-elements/{p-302af10d.js → p-8972ae69.js} +2 -2
- package/dist-custom-elements/{p-302af10d.js.map → p-8972ae69.js.map} +1 -1
- package/dist-custom-elements/{p-ed901570.js → p-b7255dc4.js} +2 -2
- package/dist-custom-elements/{p-ed901570.js.map → p-b7255dc4.js.map} +1 -1
- package/package.json +11 -9
- package/dist/diwa-components/p-043e3e19.entry.js +0 -2
- package/dist/diwa-components/p-05988905.entry.js +0 -2
- package/dist/diwa-components/p-08c584fb.entry.js +0 -2
- package/dist/diwa-components/p-08c584fb.entry.js.map +0 -1
- package/dist/diwa-components/p-0cbe8ed4.entry.js +0 -2
- package/dist/diwa-components/p-0cbe8ed4.entry.js.map +0 -1
- package/dist/diwa-components/p-139f619d.entry.js +0 -2
- package/dist/diwa-components/p-139f619d.entry.js.map +0 -1
- package/dist/diwa-components/p-178d18c2.entry.js +0 -2
- package/dist/diwa-components/p-178d18c2.entry.js.map +0 -1
- package/dist/diwa-components/p-2b72a324.entry.js +0 -2
- package/dist/diwa-components/p-339f6ba7.entry.js +0 -2
- package/dist/diwa-components/p-3b7a1431.entry.js +0 -2
- package/dist/diwa-components/p-3b7a1431.entry.js.map +0 -1
- package/dist/diwa-components/p-4a84fee8.entry.js +0 -2
- package/dist/diwa-components/p-4ac5a26e.entry.js.map +0 -1
- package/dist/diwa-components/p-51673c06.entry.js +0 -2
- package/dist/diwa-components/p-51673c06.entry.js.map +0 -1
- package/dist/diwa-components/p-5c2325aa.entry.js +0 -2
- package/dist/diwa-components/p-5cd79382.entry.js +0 -2
- package/dist/diwa-components/p-67950f59.entry.js +0 -2
- package/dist/diwa-components/p-67950f59.entry.js.map +0 -1
- package/dist/diwa-components/p-8012c384.entry.js +0 -2
- package/dist/diwa-components/p-8012c384.entry.js.map +0 -1
- package/dist/diwa-components/p-9088f057.entry.js +0 -2
- package/dist/diwa-components/p-94f603c2.entry.js +0 -2
- package/dist/diwa-components/p-94f603c2.entry.js.map +0 -1
- package/dist/diwa-components/p-b7132ea7.entry.js +0 -2
- package/dist/diwa-components/p-b7132ea7.entry.js.map +0 -1
- package/dist/diwa-components/p-b988c5b3.entry.js +0 -2
- package/dist/diwa-components/p-b988c5b3.entry.js.map +0 -1
- package/dist/diwa-components/p-bc2eecd2.entry.js +0 -2
- package/dist/diwa-components/p-cf960cf6.entry.js +0 -2
- package/dist/diwa-components/p-d0762292.entry.js.map +0 -1
- package/dist/diwa-components/p-f22b6145.entry.js +0 -2
- package/dist/diwa-components/p-f22b6145.entry.js.map +0 -1
- /package/dist/diwa-components/{p-2b54c761.entry.js.map → p-09f2e643.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-1022a474.entry.js.map → p-1250d0c7.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-1a1bd7ed.entry.js.map → p-13e71247.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-711e295e.entry.js.map → p-1830772d.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-f4a589b5.entry.js.map → p-1d708e1e.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-bb04cdd6.entry.js.map → p-238da82a.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-c896dfa5.entry.js.map → p-3269a4b7.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-fbe73240.entry.js.map → p-3660b09a.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-c37374ab.entry.js.map → p-36b004e9.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-851cbfb8.entry.js.map → p-3b38fa01.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-4a84fee8.entry.js.map → p-3fb5cc30.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-5cd79382.entry.js.map → p-5a597e27.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-043e3e19.entry.js.map → p-66c15f66.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-6253fff6.entry.js.map → p-71c45961.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-358e1177.entry.js.map → p-78b16866.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-05988905.entry.js.map → p-7dc7291f.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-09a9e0a0.entry.js.map → p-8369c48e.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-bc2eecd2.entry.js.map → p-8506ea0c.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-ba1ffa71.entry.js.map → p-87932af2.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-48009a79.entry.js.map → p-926e283b.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-4ff58224.entry.js.map → p-95b0fdea.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-20fd1505.entry.js.map → p-998dd88e.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-5c2325aa.entry.js.map → p-9ade0403.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-57db0c31.entry.js.map → p-9c89e586.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-565f623e.entry.js.map → p-bd501daa.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-c1c85f9e.entry.js.map → p-c6ca8d8b.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-53e21a74.entry.js.map → p-c78591ce.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-996f7110.entry.js.map → p-cc0e1662.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-9088f057.entry.js.map → p-d25377eb.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-7f0ce623.entry.js.map → p-d917625e.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-2b72a324.entry.js.map → p-e137afc9.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-666844e0.entry.js.map → p-e1935375.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-87ea8001.entry.js.map → p-e602c199.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-9f140e14.entry.js.map → p-e9673253.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-cf960cf6.entry.js.map → p-f60f1d81.entry.js.map} +0 -0
- /package/dist/diwa-components/{p-c0614fb1.entry.js.map → p-fae653f7.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-select.js","sourceRoot":"","sources":["../../../src/components/diwa-select/diwa-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n Element,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from '@stencil/core';\r\nimport type {\r\n SelectChangeEventDetail,\r\n SelectDropdownDirection,\r\n SelectState,\r\n SelectTheme,\r\n SelectToggleEventDetail,\r\n} from './types';\r\nimport { getComponentCss } from './diwa-select-styles';\r\n\r\n/** Module-level counter for unique IDs. */\r\nlet selectIdCounter = 0;\r\n\r\n/**\r\n * @component diwa-select\r\n *\r\n * A fully accessible single-select dropdown with built-in text filter,\r\n * keyboard navigation, and form integration.\r\n *\r\n * Based on the Diwa select API contract.\n *\r\n * Usage:\r\n * <diwa-select name=\"fruit\" label=\"Favourite fruit\">\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n * <diwa-select-option value=\"apple\">Apple</diwa-select-option>\r\n * <diwa-select-option value=\"banana\">Banana</diwa-select-option>\r\n * </diwa-select>\r\n *\r\n * @slot default — diwa-select-option elements\r\n * @slot label — Custom label content (overrides the label prop)\r\n * @slot description — Custom description content\r\n * @slot message — Custom message content\r\n */\r\n@Component({\r\n tag: 'diwa-select',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelect {\r\n @Element() host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Theme — cascades down to child options. */\r\n @Prop({ reflect: true }) theme: SelectTheme = 'dark';\r\n\r\n /** Visible label text. */\r\n @Prop() label?: string;\r\n\r\n /** Optional description shown below the label. */\r\n @Prop() description?: string;\r\n\r\n /** HTML name attribute — identifies the field in form submissions. */\r\n @Prop() name: string = '';\r\n\r\n /** Currently selected value. Mutable — updated on user interaction. */\r\n @Prop({ mutable: true }) value?: string;\r\n\r\n /** Validation state. */\r\n @Prop({ reflect: true }) state: SelectState = 'none';\r\n\r\n /** Helper / validation message shown below the trigger. */\r\n @Prop() message?: string;\r\n\r\n /** Hides the label visually while keeping it accessible. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n /** Disables interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Compact variant — reduces the trigger height. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Preferred direction for the dropdown panel.\r\n * `'auto'` detects viewport space and flips upward if needed.\r\n */\r\n @Prop() dropdownDirection: SelectDropdownDirection = 'auto';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Emitted when the selection changes. */\r\n @Event({ bubbles: true })\r\n change!: EventEmitter<SelectChangeEventDetail>;\r\n\r\n /** Emitted when the dropdown opens or closes. */\r\n @Event({ bubbles: false })\r\n toggle!: EventEmitter<SelectToggleEventDetail>;\r\n\r\n /** Emitted when the component loses focus (dropdown closes via click-outside). */\r\n @Event({ bubbles: false })\r\n blur!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Internal state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @State() private isOpen: boolean = false;\r\n @State() private hasFilterResults: boolean = true;\r\n @State() private dropdownClass: string = 'dropdown';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private refs / tracking\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private internalId: string = `diwa-s-${++selectIdCounter}`;\r\n private triggerEl!: HTMLDivElement;\r\n private filterInputEl?: HTMLInputElement;\r\n private options: HTMLDiwaSelectOptionElement[] = [];\r\n private highlightedIndex: number = -1;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('theme')\r\n onThemeChange(): void {\r\n this.syncChildThemes();\r\n }\r\n\r\n @Watch('value')\r\n onValueChange(): void {\r\n this.syncSelectionFromValue();\r\n }\r\n\r\n @Watch('isOpen')\r\n onIsOpenChange(open: boolean): void {\r\n this.toggle.emit({ open });\r\n if (open) {\r\n this.updateDropdownDirection();\r\n this.highlightedIndex = this.getFirstHighlightIndex();\r\n this.applyHighlight();\r\n requestAnimationFrame(() => {\r\n this.filterInputEl?.focus();\r\n });\r\n } else {\r\n this.clearHighlight();\r\n this.highlightedIndex = -1;\r\n this.resetFilter();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n connectedCallback(): void {\r\n document.addEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.removeEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Public methods\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Programmatically opens the dropdown. */\r\n @Method()\r\n async open(): Promise<void> {\r\n this.isOpen = true;\r\n }\r\n\r\n /** Programmatically closes the dropdown. */\r\n @Method()\r\n async close(): Promise<void> {\r\n this.isOpen = false;\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Event listeners\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Listen('diwaSelectOptionUpdate')\r\n onOptionUpdate(e: CustomEvent<{ value: string | undefined }>): void {\r\n e.stopPropagation();\r\n this.value = e.detail.value;\r\n this.syncSelectionFromValue();\r\n this.change.emit({ name: this.name, value: this.value ?? '' });\r\n this.isOpen = false;\r\n forceUpdate(this.host);\r\n requestAnimationFrame(() => {\r\n this.triggerEl.focus();\r\n });\r\n }\r\n\r\n @Listen('slotchange')\r\n onSlotChange(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private collectOptions(): void {\r\n this.options = Array.from(\r\n this.host.querySelectorAll<HTMLDiwaSelectOptionElement>('diwa-select-option'),\r\n );\r\n }\r\n\r\n private syncSelectionFromValue(): void {\r\n for (const opt of this.options) {\r\n const shouldBeSelected = opt.value !== undefined && opt.value === this.value;\r\n if (opt.selected !== shouldBeSelected) {\r\n opt.selected = shouldBeSelected;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildThemes(): void {\r\n for (const opt of this.options) {\r\n if (opt.theme !== this.theme) {\r\n opt.theme = this.theme;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private getVisibleOptions(): HTMLDiwaSelectOptionElement[] {\r\n return this.options.filter((o) => !o.disabled && o.style.display !== 'none');\r\n }\r\n\r\n private getFirstHighlightIndex(): number {\r\n const visible = this.getVisibleOptions();\r\n const firstSelected = visible.findIndex((o) => o.selected);\r\n return firstSelected >= 0 ? firstSelected : 0;\r\n }\r\n\r\n private applyHighlight(): void {\r\n const visible = this.getVisibleOptions();\r\n visible.forEach((opt, i) => {\r\n opt.highlighted = i === this.highlightedIndex;\r\n });\r\n }\r\n\r\n private clearHighlight(): void {\r\n for (const opt of this.options) {\r\n if (opt.highlighted) opt.highlighted = false;\r\n }\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n private updateDropdownDirection(): void {\r\n if (this.dropdownDirection !== 'auto') {\r\n this.dropdownClass = this.dropdownDirection === 'up' ? 'dropdown dropdown--up' : 'dropdown';\r\n return;\r\n }\r\n const rect = this.triggerEl.getBoundingClientRect();\r\n const spaceBelow = window.innerHeight - rect.bottom;\r\n this.dropdownClass = spaceBelow < 260 ? 'dropdown dropdown--up' : 'dropdown';\r\n }\r\n\r\n private resetFilter(): void {\r\n if (this.filterInputEl) this.filterInputEl.value = '';\r\n this.hasFilterResults = true;\r\n for (const opt of this.options) {\r\n opt.style.display = '';\r\n }\r\n }\r\n\r\n private onClickOutside = (e: MouseEvent): void => {\r\n if (!this.isOpen) return;\r\n const path = e.composedPath();\r\n if (!path.includes(this.host)) {\r\n this.isOpen = false;\r\n this.blur.emit();\r\n }\r\n };\r\n\r\n private onTriggerClick = (): void => {\r\n if (this.disabled) return;\r\n this.isOpen = !this.isOpen;\r\n };\r\n\r\n private onTriggerKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n\r\n if (!this.isOpen) {\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.isOpen = true;\r\n }\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case 'Escape':\r\n case 'Tab': {\r\n e.preventDefault();\r\n this.isOpen = false;\r\n this.triggerEl.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n e.preventDefault();\r\n const visible = this.getVisibleOptions();\r\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, visible.length - 1);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n e.preventDefault();\r\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Home': {\r\n e.preventDefault();\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'End': {\r\n e.preventDefault();\r\n const vis = this.getVisibleOptions();\r\n this.highlightedIndex = vis.length - 1;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Enter':\r\n case ' ': {\r\n e.preventDefault();\r\n const current = this.getVisibleOptions()[this.highlightedIndex];\r\n if (current && !current.disabled) {\r\n current.dispatchEvent(new MouseEvent('click', { bubbles: true, composed: true }));\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n\r\n private onFilterInput = (e: Event): void => {\r\n const term = (e.target as HTMLInputElement).value.toLowerCase();\r\n\r\n let anyVisible = false;\r\n for (const opt of this.options) {\r\n const text = (opt.textContent ?? '').toLowerCase();\r\n const match = text.includes(term);\r\n opt.style.display = match ? '' : 'none';\r\n if (match) anyVisible = true;\r\n }\r\n this.hasFilterResults = anyVisible;\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Computed display values\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get selectedLabel(): string {\r\n const selected = this.options.find((o) => o.value !== undefined && o.value === this.value);\r\n return (selected?.textContent ?? '').trim();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const labelId = `${this.internalId}-label`;\r\n const listboxId = `${this.internalId}-listbox`;\r\n const hintId = `${this.internalId}-hint`;\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n const hasValue = this.value !== undefined && this.value !== '';\r\n const displayLabel = hasValue ? this.selectedLabel : undefined;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up'))} />\r\n\r\n {/* Label */}\r\n {(this.label || this.host.querySelector('[slot=\"label\"]')) && (\r\n <span class=\"label\" id={labelId} part=\"label\">\r\n <slot name=\"label\">{this.label}</slot>\r\n {this.required && <span class=\"label__required\" aria-hidden=\"true\">*</span>}\r\n </span>\r\n )}\r\n\r\n {/* Description */}\r\n {(this.description || this.host.querySelector('[slot=\"description\"]')) && (\r\n <span class=\"description\" part=\"description\">\r\n <slot name=\"description\">{this.description}</slot>\r\n </span>\r\n )}\r\n\r\n {/* Trigger */}\r\n <div\r\n class=\"trigger\"\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={this.isOpen ? 'true' : 'false'}\r\n aria-controls={listboxId}\r\n aria-labelledby={this.label ? labelId : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-describedby={hasMessage ? hintId : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.onTriggerClick}\r\n onKeyDown={this.onTriggerKeyDown}\r\n ref={(el) => (this.triggerEl = el as HTMLDivElement)}\r\n part=\"trigger\"\r\n >\r\n <span class={`trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`} part=\"value\">\r\n {displayLabel ?? (this.label || 'Select an option')}\r\n </span>\r\n\r\n {/* Chevron */}\r\n <span class=\"trigger__chevron\" aria-hidden=\"true\" part=\"chevron\">\r\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polyline points=\"6 9 12 15 18 9\" />\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n {/* Dropdown */}\r\n <div\r\n class={this.dropdownClass}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-multiselectable=\"false\"\r\n aria-labelledby={this.label ? labelId : undefined}\r\n part=\"dropdown\"\r\n >\r\n {/* Filter */}\r\n <div class=\"filter\" part=\"filter\">\r\n <input\r\n class=\"filter__input\"\r\n type=\"text\"\r\n placeholder=\"Filter options…\"\r\n aria-label=\"Filter options\"\r\n onInput={this.onFilterInput}\r\n ref={(el) => (this.filterInputEl = el as HTMLInputElement)}\r\n part=\"filter-input\"\r\n />\r\n </div>\r\n\r\n {/* Options */}\r\n <div class=\"options\" part=\"options\">\r\n {!this.hasFilterResults && (\r\n <div class=\"no-results\" aria-live=\"polite\">No options found</div>\r\n )}\r\n <slot />\r\n </div>\r\n </div>\r\n\r\n {/* Message */}\r\n {hasMessage && (\r\n <span class=\"message\" id={hintId} role=\"status\" part=\"message\">\r\n <slot name=\"message\">{this.message}</slot>\r\n </span>\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"diwa-select.js","sourceRoot":"","sources":["../../../src/components/diwa-select/diwa-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,CAAC,GACF,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,2CAA2C;AAC3C,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,MAAM,OAAO,UAAU;IAJvB;QAOE,iEAAiE;QACjE,QAAQ;QACR,iEAAiE;QAEjE,8CAA8C;QACrB,UAAK,GAAgB,MAAM,CAAC;QAQrD,sEAAsE;QAC9D,SAAI,GAAW,EAAE,CAAC;QAK1B,wBAAwB;QACC,UAAK,GAAgB,MAAM,CAAC;QAKrD,4DAA4D;QACV,cAAS,GAAY,KAAK,CAAC;QAE7E,4BAA4B;QACH,aAAQ,GAAY,KAAK,CAAC;QAEnD,mCAAmC;QAC3B,aAAQ,GAAY,KAAK,CAAC;QAElC,oDAAoD;QAC3B,YAAO,GAAY,KAAK,CAAC;QAElD;;;WAGG;QACK,sBAAiB,GAA4B,MAAM,CAAC;QAkB5D,iEAAiE;QACjE,iBAAiB;QACjB,iEAAiE;QAEhD,WAAM,GAAY,KAAK,CAAC;QACxB,qBAAgB,GAAY,IAAI,CAAC;QACjC,kBAAa,GAAW,UAAU,CAAC;QAEpD,iEAAiE;QACjE,0BAA0B;QAC1B,iEAAiE;QAEzD,eAAU,GAAW,UAAU,EAAE,eAAe,EAAE,CAAC;QAGnD,YAAO,GAAkC,EAAE,CAAC;QAC5C,qBAAgB,GAAW,CAAC,CAAC,CAAC;QAkL9B,mBAAc,GAAG,CAAC,CAAa,EAAQ,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACpD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACvF,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBACvB,MAAM;gBACR,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACrC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;oBACvC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC;gBACb,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACjC,OAAO,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpF,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,CAAQ,EAAQ,EAAE;;YACzC,MAAM,IAAI,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAEhE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,CAAC,MAAA,GAAG,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxC,IAAI,KAAK;oBAAE,UAAU,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;KA+GH;IAnXC,iEAAiE;IACjE,WAAW;IACX,iEAAiE;IAGjE,aAAa;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAGD,cAAc,CAAC,IAAa;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,qBAAqB,CAAC,GAAG,EAAE;;gBACzB,MAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,YAAY;IACZ,iEAAiE;IAEjE,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,iBAAiB;IACjB,iEAAiE;IAEjE,2CAA2C;IAE3C,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,4CAA4C;IAE5C,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,iEAAiE;IACjE,kBAAkB;IAClB,iEAAiE;IAGjE,cAAc,CAAC,CAA6C;;QAC1D,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,YAAY;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,kBAAkB;IAClB,iEAAiE;IAEzD,cAAc;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAA8B,oBAAoB,CAAC,CAC9E,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;YAC7E,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACtC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC;gBAChC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;IAC/E,CAAC;IAEO,sBAAsB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAEO,cAAc;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACzB,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5F,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/E,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAwFD,iEAAiE;IACjE,0BAA0B;IAC1B,iEAAiE;IAEjE,IAAY,aAAa;;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,iEAAiE;IACjE,SAAS;IACT,iEAAiE;IAEjE,MAAM;QACJ,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,UAAU,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC;QACzC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAI;YAG/H,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC5D,6DAAM,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO;gBAC3C,6DAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ;gBACrC,IAAI,CAAC,QAAQ,IAAI,6DAAM,KAAK,EAAC,iBAAiB,iBAAa,MAAM,QAAS,CACtE,CACR;YAGA,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACxE,6DAAM,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,aAAa;gBAC1C,6DAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC7C,CACR;YAGD,4DACE,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,UAAU,mBACD,SAAS,mBACR,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,SAAS,qBACP,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBACnC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,sBACvC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAoB,CAAC,EACpD,IAAI,EAAC,SAAS;gBAEd,6DAAM,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAC,OAAO,IACvF,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,CAC9C;gBAGP,6DAAM,KAAK,EAAC,kBAAkB,iBAAa,MAAM,EAAC,IAAI,EAAC,SAAS;oBAC9D,4DAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO;wBACxH,iEAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACD,CACH;YAGN,4DACE,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,IAAI,EAAC,SAAS,EACd,EAAE,EAAE,SAAS,0BACQ,OAAO,qBACX,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,EAAC,UAAU;gBAGf,4DAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ;oBAC/B,8DACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,sBAAiB,gBAClB,gBAAgB,EAC3B,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAsB,CAAC,EAC1D,IAAI,EAAC,cAAc,GACnB,CACE;gBAGN,4DAAK,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS;oBAChC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CACzB,4DAAK,KAAK,EAAC,YAAY,eAAW,QAAQ,uBAAuB,CAClE;oBACD,8DAAQ,CACJ,CACF;YAGL,UAAU,IAAI,CACb,6DAAM,KAAK,EAAC,SAAS,EAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,SAAS;gBAC5D,6DAAM,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAQ,CACrC,CACR,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\r\n Component,\r\n Element,\r\n Event,\r\n type EventEmitter,\r\n Host,\r\n Listen,\r\n Method,\r\n Prop,\r\n State,\r\n Watch,\r\n forceUpdate,\r\n h,\r\n} from '@stencil/core';\r\nimport type {\r\n SelectChangeEventDetail,\r\n SelectDropdownDirection,\r\n SelectState,\r\n SelectTheme,\r\n SelectToggleEventDetail,\r\n} from './types';\r\nimport { getComponentCss } from './diwa-select-styles';\r\n\r\n/** Module-level counter for unique IDs. */\r\nlet selectIdCounter = 0;\r\n\r\n/**\r\n * @component diwa-select\r\n *\r\n * A fully accessible single-select dropdown with built-in text filter,\r\n * keyboard navigation, and form integration.\r\n *\r\n * Based on the Diwa select API contract.\r\n *\r\n * Usage:\r\n * <diwa-select name=\"fruit\" label=\"Favourite fruit\">\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n * <diwa-select-option value=\"apple\">Apple</diwa-select-option>\r\n * <diwa-select-option value=\"banana\">Banana</diwa-select-option>\r\n * </diwa-select>\r\n *\r\n * @slot default — diwa-select-option elements\r\n * @slot label — Custom label content (overrides the label prop)\r\n * @slot description — Custom description content\r\n * @slot message — Custom message content\r\n */\r\n@Component({\r\n tag: 'diwa-select',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelect {\r\n @Element() host!: HTMLElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Theme — cascades down to child options. */\r\n @Prop({ reflect: true }) theme: SelectTheme = 'dark';\r\n\r\n /** Visible label text. */\r\n @Prop() label?: string;\r\n\r\n /** Optional description shown below the label. */\r\n @Prop() description?: string;\r\n\r\n /** HTML name attribute — identifies the field in form submissions. */\r\n @Prop() name: string = '';\r\n\r\n /** Currently selected value. Mutable — updated on user interaction. */\r\n @Prop({ mutable: true }) value?: string;\r\n\r\n /** Validation state. */\r\n @Prop({ reflect: true }) state: SelectState = 'none';\r\n\r\n /** Helper / validation message shown below the trigger. */\r\n @Prop() message?: string;\r\n\r\n /** Hides the label visually while keeping it accessible. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n /** Disables interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Compact variant — reduces the trigger height. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Preferred direction for the dropdown panel.\r\n * `'auto'` detects viewport space and flips upward if needed.\r\n */\r\n @Prop() dropdownDirection: SelectDropdownDirection = 'auto';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Emitted when the selection changes. */\r\n @Event({ bubbles: true })\r\n change!: EventEmitter<SelectChangeEventDetail>;\r\n\r\n /** Emitted when the dropdown opens or closes. */\r\n @Event({ bubbles: false })\r\n toggle!: EventEmitter<SelectToggleEventDetail>;\r\n\r\n /** Emitted when the component loses focus (dropdown closes via click-outside). */\r\n @Event({ bubbles: false })\r\n blur!: EventEmitter<void>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Internal state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @State() private isOpen: boolean = false;\r\n @State() private hasFilterResults: boolean = true;\r\n @State() private dropdownClass: string = 'dropdown';\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private refs / tracking\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private internalId: string = `diwa-s-${++selectIdCounter}`;\r\n private triggerEl!: HTMLDivElement;\r\n private filterInputEl?: HTMLInputElement;\r\n private options: HTMLDiwaSelectOptionElement[] = [];\r\n private highlightedIndex: number = -1;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Watch('theme')\r\n onThemeChange(): void {\r\n this.syncChildThemes();\r\n }\r\n\r\n @Watch('compact')\r\n onCompactChange(): void {\r\n this.syncChildCompact();\r\n }\r\n\r\n @Watch('value')\r\n onValueChange(): void {\r\n this.syncSelectionFromValue();\r\n }\r\n\r\n @Watch('isOpen')\r\n onIsOpenChange(open: boolean): void {\r\n this.toggle.emit({ open });\r\n if (open) {\r\n this.updateDropdownDirection();\r\n this.highlightedIndex = this.getFirstHighlightIndex();\r\n this.applyHighlight();\r\n requestAnimationFrame(() => {\r\n this.filterInputEl?.focus();\r\n });\r\n } else {\r\n this.clearHighlight();\r\n this.highlightedIndex = -1;\r\n this.resetFilter();\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Lifecycle\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n connectedCallback(): void {\r\n document.addEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n disconnectedCallback(): void {\r\n document.removeEventListener('mousedown', this.onClickOutside, true);\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n this.syncChildCompact();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Public methods\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Programmatically opens the dropdown. */\r\n @Method()\r\n async open(): Promise<void> {\r\n this.isOpen = true;\r\n }\r\n\r\n /** Programmatically closes the dropdown. */\r\n @Method()\r\n async close(): Promise<void> {\r\n this.isOpen = false;\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Event listeners\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n @Listen('diwaSelectOptionUpdate')\r\n onOptionUpdate(e: CustomEvent<{ value: string | undefined }>): void {\r\n e.stopPropagation();\r\n this.value = e.detail.value;\r\n this.syncSelectionFromValue();\r\n this.change.emit({ name: this.name, value: this.value ?? '' });\r\n this.isOpen = false;\r\n forceUpdate(this.host);\r\n requestAnimationFrame(() => {\r\n this.triggerEl.focus();\r\n });\r\n }\r\n\r\n @Listen('slotchange')\r\n onSlotChange(): void {\r\n this.collectOptions();\r\n this.syncSelectionFromValue();\r\n this.syncChildThemes();\r\n this.syncChildCompact();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private collectOptions(): void {\r\n this.options = Array.from(\r\n this.host.querySelectorAll<HTMLDiwaSelectOptionElement>('diwa-select-option'),\r\n );\r\n }\r\n\r\n private syncSelectionFromValue(): void {\r\n for (const opt of this.options) {\r\n const shouldBeSelected = opt.value !== undefined && opt.value === this.value;\r\n if (opt.selected !== shouldBeSelected) {\r\n opt.selected = shouldBeSelected;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildThemes(): void {\r\n for (const opt of this.options) {\r\n if (opt.theme !== this.theme) {\r\n opt.theme = this.theme;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private syncChildCompact(): void {\r\n for (const opt of this.options) {\r\n if (opt.compact !== this.compact) {\r\n opt.compact = this.compact;\r\n forceUpdate(opt);\r\n }\r\n }\r\n }\r\n\r\n private getVisibleOptions(): HTMLDiwaSelectOptionElement[] {\r\n return this.options.filter((o) => !o.disabled && o.style.display !== 'none');\r\n }\r\n\r\n private getFirstHighlightIndex(): number {\r\n const visible = this.getVisibleOptions();\r\n const firstSelected = visible.findIndex((o) => o.selected);\r\n return firstSelected >= 0 ? firstSelected : 0;\r\n }\r\n\r\n private applyHighlight(): void {\r\n const visible = this.getVisibleOptions();\r\n visible.forEach((opt, i) => {\r\n opt.highlighted = i === this.highlightedIndex;\r\n });\r\n }\r\n\r\n private clearHighlight(): void {\r\n for (const opt of this.options) {\r\n if (opt.highlighted) opt.highlighted = false;\r\n }\r\n this.highlightedIndex = -1;\r\n }\r\n\r\n private updateDropdownDirection(): void {\r\n if (this.dropdownDirection !== 'auto') {\r\n this.dropdownClass = this.dropdownDirection === 'up' ? 'dropdown dropdown--up' : 'dropdown';\r\n return;\r\n }\r\n const rect = this.triggerEl.getBoundingClientRect();\r\n const spaceBelow = window.innerHeight - rect.bottom;\r\n this.dropdownClass = spaceBelow < 260 ? 'dropdown dropdown--up' : 'dropdown';\r\n }\r\n\r\n private resetFilter(): void {\r\n if (this.filterInputEl) this.filterInputEl.value = '';\r\n this.hasFilterResults = true;\r\n for (const opt of this.options) {\r\n opt.style.display = '';\r\n }\r\n }\r\n\r\n private onClickOutside = (e: MouseEvent): void => {\r\n if (!this.isOpen) return;\r\n const path = e.composedPath();\r\n if (!path.includes(this.host)) {\r\n this.isOpen = false;\r\n this.blur.emit();\r\n }\r\n };\r\n\r\n private onTriggerClick = (): void => {\r\n if (this.disabled) return;\r\n this.isOpen = !this.isOpen;\r\n };\r\n\r\n private onTriggerKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n\r\n if (!this.isOpen) {\r\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.isOpen = true;\r\n }\r\n return;\r\n }\r\n\r\n switch (e.key) {\r\n case 'Escape':\r\n case 'Tab': {\r\n e.preventDefault();\r\n this.isOpen = false;\r\n this.triggerEl.focus();\r\n break;\r\n }\r\n case 'ArrowDown': {\r\n e.preventDefault();\r\n const visible = this.getVisibleOptions();\r\n this.highlightedIndex = Math.min(this.highlightedIndex + 1, visible.length - 1);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'ArrowUp': {\r\n e.preventDefault();\r\n this.highlightedIndex = Math.max(this.highlightedIndex - 1, 0);\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Home': {\r\n e.preventDefault();\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'End': {\r\n e.preventDefault();\r\n const vis = this.getVisibleOptions();\r\n this.highlightedIndex = vis.length - 1;\r\n this.applyHighlight();\r\n break;\r\n }\r\n case 'Enter':\r\n case ' ': {\r\n e.preventDefault();\r\n const current = this.getVisibleOptions()[this.highlightedIndex];\r\n if (current && !current.disabled) {\r\n current.dispatchEvent(new MouseEvent('click', { bubbles: true, composed: true }));\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n\r\n private onFilterInput = (e: Event): void => {\r\n const term = (e.target as HTMLInputElement).value.toLowerCase();\r\n\r\n let anyVisible = false;\r\n for (const opt of this.options) {\r\n const text = (opt.textContent ?? '').toLowerCase();\r\n const match = text.includes(term);\r\n opt.style.display = match ? '' : 'none';\r\n if (match) anyVisible = true;\r\n }\r\n this.hasFilterResults = anyVisible;\r\n this.highlightedIndex = 0;\r\n this.applyHighlight();\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Computed display values\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private get selectedLabel(): string {\r\n const selected = this.options.find((o) => o.value !== undefined && o.value === this.value);\r\n return (selected?.textContent ?? '').trim();\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const labelId = `${this.internalId}-label`;\r\n const listboxId = `${this.internalId}-listbox`;\r\n const hintId = `${this.internalId}-hint`;\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n const hasValue = this.value !== undefined && this.value !== '';\r\n const displayLabel = hasValue ? this.selectedLabel : undefined;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.isOpen, this.disabled, this.state, this.compact, this.dropdownClass.includes('--up'))} />\r\n\r\n {/* Label */}\r\n {(this.label || this.host.querySelector('[slot=\"label\"]')) && (\r\n <span class=\"label\" id={labelId} part=\"label\">\r\n <slot name=\"label\">{this.label}</slot>\r\n {this.required && <span class=\"label__required\" aria-hidden=\"true\">*</span>}\r\n </span>\r\n )}\r\n\r\n {/* Description */}\r\n {(this.description || this.host.querySelector('[slot=\"description\"]')) && (\r\n <span class=\"description\" part=\"description\">\r\n <slot name=\"description\">{this.description}</slot>\r\n </span>\r\n )}\r\n\r\n {/* Trigger */}\r\n <div\r\n class=\"trigger\"\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded={this.isOpen ? 'true' : 'false'}\r\n aria-controls={listboxId}\r\n aria-labelledby={this.label ? labelId : undefined}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.state === 'error' ? 'true' : undefined}\r\n aria-describedby={hasMessage ? hintId : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.onTriggerClick}\r\n onKeyDown={this.onTriggerKeyDown}\r\n ref={(el) => (this.triggerEl = el as HTMLDivElement)}\r\n part=\"trigger\"\r\n >\r\n <span class={`trigger__value${!displayLabel ? ' trigger__placeholder' : ''}`} part=\"value\">\r\n {displayLabel ?? (this.label || 'Select an option')}\r\n </span>\r\n\r\n {/* Chevron */}\r\n <span class=\"trigger__chevron\" aria-hidden=\"true\" part=\"chevron\">\r\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polyline points=\"6 9 12 15 18 9\" />\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n {/* Dropdown */}\r\n <div\r\n class={this.dropdownClass}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-multiselectable=\"false\"\r\n aria-labelledby={this.label ? labelId : undefined}\r\n part=\"dropdown\"\r\n >\r\n {/* Filter */}\r\n <div class=\"filter\" part=\"filter\">\r\n <input\r\n class=\"filter__input\"\r\n type=\"text\"\r\n placeholder=\"Filter options…\"\r\n aria-label=\"Filter options\"\r\n onInput={this.onFilterInput}\r\n ref={(el) => (this.filterInputEl = el as HTMLInputElement)}\r\n part=\"filter-input\"\r\n />\r\n </div>\r\n\r\n {/* Options */}\r\n <div class=\"options\" part=\"options\">\r\n {!this.hasFilterResults && (\r\n <div class=\"no-results\" aria-live=\"polite\">No options found</div>\r\n )}\r\n <slot />\r\n </div>\r\n </div>\r\n\r\n {/* Message */}\r\n {hasMessage && (\r\n <span class=\"message\" id={hintId} role=\"status\" part=\"message\">\r\n <slot name=\"message\">{this.message}</slot>\r\n </span>\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -57,15 +57,15 @@ export const getComponentCss = () => `
|
|
|
57
57
|
|
|
58
58
|
/* ── Highlighted (keyboard / hover) ─────────────────────────────────── */
|
|
59
59
|
|
|
60
|
-
:host([highlighted]) .option {
|
|
61
|
-
background-color: var(--diwa-bg-hover);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@media (hover: hover) and (pointer: fine) {
|
|
65
|
-
.option:hover {
|
|
66
|
-
background-color: var(--diwa-bg-hover);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
60
|
+
:host([highlighted]) .option {
|
|
61
|
+
background-color: var(--diwa-bg-hover);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@media (hover: hover) and (pointer: fine) {
|
|
65
|
+
.option:hover {
|
|
66
|
+
background-color: var(--diwa-bg-hover);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
69
|
|
|
70
70
|
/* ── Label text ─────────────────────────────────────────────────────── */
|
|
71
71
|
|
|
@@ -77,6 +77,18 @@ export const getComponentCss = () => `
|
|
|
77
77
|
white-space: nowrap;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
/* ── Compact ────────────────────────────────────────────────────────── */
|
|
81
|
+
|
|
82
|
+
:host([compact]) .option {
|
|
83
|
+
padding: var(--diwa-space-1) var(--diwa-space-2);
|
|
84
|
+
font-size: var(--diwa-font-size-md);
|
|
85
|
+
min-height: 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host([compact]) .check {
|
|
89
|
+
font-size: var(--diwa-font-size-md);
|
|
90
|
+
}
|
|
91
|
+
|
|
80
92
|
/* ── Disabled ───────────────────────────────────────────────────────── */
|
|
81
93
|
|
|
82
94
|
:host([disabled]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-select-option-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-select-option/diwa-select-option-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCzC,aAAa,CAAC,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"diwa-select-option-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-select-option/diwa-select-option-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiCzC,aAAa,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsExB,qBAAqB,CAAC,SAAS,CAAC;CACnC,CAAC","sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n /* ── Host ──────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n outline: none;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n /* ── Option row ─────────────────────────────────────────────────────── */\r\n\r\n .option {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--diwa-space-3);\r\n padding: var(--diwa-space-2) var(--diwa-space-3);\r\n min-height: var(--diwa-select-option-min-height);\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-font-smoothing: antialiased;\r\n color: var(--diwa-text-primary);\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-normal);\r\n line-height: 1.4;\r\n border-radius: var(--diwa-radius-sm);\r\n transition: background-color var(--diwa-transition-fast);\r\n }\r\n\r\n ${getFocusStyle('.option')}\r\n\r\n /* ── Check mark ─────────────────────────────────────────────────────── */\r\n\r\n .check {\r\n flex-shrink: 0;\r\n width: var(--diwa-icon-size-md);\r\n height: var(--diwa-icon-size-md);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: var(--diwa-accent);\r\n font-size: var(--diwa-font-size-base);\r\n line-height: 1;\r\n visibility: hidden;\r\n }\r\n\r\n /* ── Selected state ─────────────────────────────────────────────────── */\r\n\r\n :host([selected]) .check {\r\n visibility: visible;\r\n }\r\n\r\n /* ── Highlighted (keyboard / hover) ─────────────────────────────────── */\r\n\r\n :host([highlighted]) .option {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\r\n .option:hover {\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n }\r\n\r\n /* ── Label text ─────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n /* ── Compact ────────────────────────────────────────────────────────── */\r\n\r\n :host([compact]) .option {\r\n padding: var(--diwa-space-1) var(--diwa-space-2);\r\n font-size: var(--diwa-font-size-md);\r\n min-height: 0;\r\n }\r\n\r\n :host([compact]) .check {\r\n font-size: var(--diwa-font-size-md);\r\n }\r\n\r\n /* ── Disabled ───────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n pointer-events: none;\r\n }\r\n\r\n :host([disabled]) .option {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Reduced motion ─────────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('.option')}\r\n`;\r\n"]}
|
|
@@ -29,6 +29,8 @@ export class DiwaSelectOption {
|
|
|
29
29
|
this.highlighted = false;
|
|
30
30
|
/** Theme — inherited from the parent diwa-select. */
|
|
31
31
|
this.theme = 'dark';
|
|
32
|
+
/** Compact mode — inherited from the parent diwa-select. */
|
|
33
|
+
this.compact = false;
|
|
32
34
|
this.handleClick = () => {
|
|
33
35
|
if (this.disabled)
|
|
34
36
|
return;
|
|
@@ -49,7 +51,7 @@ export class DiwaSelectOption {
|
|
|
49
51
|
(_a = this.optionEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
50
52
|
}
|
|
51
53
|
render() {
|
|
52
|
-
return (h(Host, { key: '
|
|
54
|
+
return (h(Host, { key: '86c5dd52dbfc96056c5031be22e751c4c741527f', "data-theme": this.theme }, h("style", { key: '903154a75ff36b77647ee2c769717e5f1df574e6', innerHTML: getComponentCss() }), h("div", { key: 'c95e357baac1fd10642383cb4259d29dd356825e', class: "option", role: "option", "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: (el) => (this.optionEl = el), part: "option" }, h("span", { key: '902e2a17f8bbff2e450349f5e2ef1df3d5b54df7', class: "check", "aria-hidden": "true", part: "check" }, "\u2713"), h("span", { key: '535f939bb208a6dad985b803ef18ebb240cd2c30', class: "label", part: "label" }, h("slot", { key: '055c66f037f5783f2aad7256a15dbfae034b5796' })))));
|
|
53
55
|
}
|
|
54
56
|
static get is() { return "diwa-select-option"; }
|
|
55
57
|
static get encapsulation() { return "shadow"; }
|
|
@@ -160,6 +162,26 @@ export class DiwaSelectOption {
|
|
|
160
162
|
"attribute": "theme",
|
|
161
163
|
"reflect": false,
|
|
162
164
|
"defaultValue": "'dark'"
|
|
165
|
+
},
|
|
166
|
+
"compact": {
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"mutable": true,
|
|
169
|
+
"complexType": {
|
|
170
|
+
"original": "boolean",
|
|
171
|
+
"resolved": "boolean",
|
|
172
|
+
"references": {}
|
|
173
|
+
},
|
|
174
|
+
"required": false,
|
|
175
|
+
"optional": false,
|
|
176
|
+
"docs": {
|
|
177
|
+
"tags": [],
|
|
178
|
+
"text": "Compact mode \u2014 inherited from the parent diwa-select."
|
|
179
|
+
},
|
|
180
|
+
"getter": false,
|
|
181
|
+
"setter": false,
|
|
182
|
+
"attribute": "compact",
|
|
183
|
+
"reflect": true,
|
|
184
|
+
"defaultValue": "false"
|
|
163
185
|
}
|
|
164
186
|
};
|
|
165
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-select-option.js","sourceRoot":"","sources":["../../../src/components/diwa-select-option/diwa-select-option.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAqB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;GAYG;AAKH,MAAM,OAAO,gBAAgB;IAJ7B;QAUE,mDAAmD;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAEnD;;;WAGG;QACqC,aAAQ,GAAY,KAAK,CAAC;QAElE;;;WAGG;QACqC,gBAAW,GAAY,KAAK,CAAC;QAErE,qDAAqD;QAC5B,UAAK,GAAU,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"diwa-select-option.js","sourceRoot":"","sources":["../../../src/components/diwa-select-option/diwa-select-option.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAqB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;GAYG;AAKH,MAAM,OAAO,gBAAgB;IAJ7B;QAUE,mDAAmD;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAEnD;;;WAGG;QACqC,aAAQ,GAAY,KAAK,CAAC;QAElE;;;WAGG;QACqC,gBAAW,GAAY,KAAK,CAAC;QAErE,qDAAqD;QAC5B,UAAK,GAAU,MAAM,CAAC;QAE/C,4DAA4D;QACpB,YAAO,GAAY,KAAK,CAAC;QAiBzD,gBAAW,GAAG,GAAS,EAAE;YAC/B,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACjD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;KAyBH;IA5CC,wCAAwC;IAExC,KAAK,CAAC,QAAQ;;QACZ,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAiBD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI;YACvC,4DACE,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAoB,CAAC,EACnD,IAAI,EAAC,QAAQ;gBAEb,6DAAM,KAAK,EAAC,OAAO,iBAAa,MAAM,EAAC,IAAI,EAAC,OAAO,aAAS;gBAC5D,6DAAM,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO;oBAC9B,8DAAQ,CACH,CACH,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, type EventEmitter, Host, Method, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-select-option-styles';\r\n\r\n/**\r\n * @component diwa-select-option\r\n *\r\n * Individual option element for use inside <diwa-select>.\r\n * Renders a row with a checkmark indicator and label text.\r\n *\r\n * Not intended for standalone use — must be slotted into <diwa-select>.\r\n *\r\n * Provide an option without a value to allow deselection / show a placeholder:\r\n * <diwa-select-option>Please select…</diwa-select-option>\r\n *\r\n * @slot default — Option label text (plain text or inline phrasing content)\r\n */\r\n@Component({\r\n tag: 'diwa-select-option',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaSelectOption {\r\n @Element() host!: HTMLDiwaSelectOptionElement;\r\n\r\n /** The value submitted/emitted when this option is selected. */\r\n @Prop({ reflect: true }) value?: string;\r\n\r\n /** Disables the option — it cannot be selected. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently selected.\r\n * Maintained by the parent <diwa-select>.\r\n */\r\n @Prop({ mutable: true, reflect: true }) selected: boolean = false;\r\n\r\n /**\r\n * Whether the option is currently keyboard-highlighted.\r\n * Set exclusively by the parent component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) highlighted: boolean = false;\r\n\r\n /** Theme — inherited from the parent diwa-select. */\r\n @Prop({ mutable: true }) theme: Theme = 'dark';\r\n\r\n /** Compact mode — inherited from the parent diwa-select. */\r\n @Prop({ mutable: true, reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Emitted when the user clicks or presses Enter on the option.\r\n * Bubbles and crosses Shadow DOM so the parent can catch it via @Listen.\r\n */\r\n @Event({ bubbles: true, composed: true })\r\n diwaSelectOptionUpdate!: EventEmitter<{ value: string | undefined }>;\r\n\r\n /** Focuses the inner option element. */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n this.optionEl?.focus();\r\n }\r\n\r\n private optionEl?: HTMLDivElement;\r\n\r\n private handleClick = (): void => {\r\n if (this.disabled) return;\r\n this.diwaSelectOptionUpdate.emit({ value: this.value });\r\n };\r\n\r\n private handleKeyDown = (e: KeyboardEvent): void => {\r\n if (this.disabled) return;\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n this.diwaSelectOptionUpdate.emit({ value: this.value });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div\r\n class=\"option\"\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.disabled ? 'true' : undefined}\r\n tabIndex={this.disabled ? -1 : 0}\r\n onClick={this.handleClick}\r\n onKeyDown={this.handleKeyDown}\r\n ref={(el) => (this.optionEl = el as HTMLDivElement)}\r\n part=\"option\"\r\n >\r\n <span class=\"check\" aria-hidden=\"true\" part=\"check\">✓</span>\r\n <span class=\"label\" part=\"label\">\r\n <slot />\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -63,7 +63,7 @@ export class DiwaSpinner {
|
|
|
63
63
|
* when the spinner appears without stealing focus (live region,
|
|
64
64
|
* polite by default). aria-label provides the announcement text.
|
|
65
65
|
*/
|
|
66
|
-
h(Host, { key: '
|
|
66
|
+
h(Host, { key: 'a706f0d4b8ca5581f7375e4f0d36f46166974fbe', role: "status", "aria-label": this.label, "data-theme": this.theme }, h("style", { key: 'b01e2dc30f9b3c4c5422fc9f58055b4e29e660c0', innerHTML: getComponentCss() }), h("svg", { key: 'dae9e1f32d62abf2e5918c8841bb25a590b0e385', ref: (el) => (this.svgEl = el), class: "glyph", "aria-hidden": "true", part: "ring", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
67
67
|
}
|
|
68
68
|
static get is() { return "diwa-spinner"; }
|
|
69
69
|
static get encapsulation() { return "shadow"; }
|
|
@@ -51,7 +51,7 @@ export class DiwaStepperHorizontal {
|
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
render() {
|
|
54
|
-
return (h(Host, { key: '
|
|
54
|
+
return (h(Host, { key: '52f3578b5ad1f46b649ff00de8fd081451c9df70', "data-theme": this.theme }, h("style", { key: '493175498aa8d24ba2744853e951a26569e3372f', innerHTML: getComponentCss() }), h("div", { key: 'f143d785d7934b688102764de95c4c5a77aa9a87', class: "stepper", role: "list", "aria-label": "Progress" }, h("slot", { key: 'ff914a761531cadf1f56cbdfde003e9a230ed4f7' }))));
|
|
55
55
|
}
|
|
56
56
|
static get is() { return "diwa-stepper-horizontal"; }
|
|
57
57
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/diwa-stepper-horizontal-item/diwa-stepper-horizontal-item.js
CHANGED
|
@@ -33,7 +33,7 @@ export class DiwaStepperHorizontalItem {
|
|
|
33
33
|
return h("span", { class: "circle-inner" }, this.stepNumber);
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: '1bd4bdda83dd199b36592765be08ae2e25707589', role: "listitem", "aria-current": this.state === 'current' ? 'step' : undefined }, h("style", { key: 'd40d2b5fe94ba5c056cab3d01b1c43d4c9a55c5e', innerHTML: getComponentCss(this.state, this.isLast) }), h("div", { key: 'b5fddb4aef4467af7a902bc4d41431f744b10dbc', class: "item" }, h("div", { key: '6382f98df1fb9eca76507b0741c39959ba8ea63c', class: "circle" }, this.renderIcon()), h("div", { key: 'f950e7b8b8463312c72ccee15394914b0d24dbf4', class: "connector", "aria-hidden": "true" }), this.label && h("span", { key: '9d38f213ba5cf9b4c390b674247ac42b5ebef455', class: "label" }, this.label), this.sublabel && h("span", { key: '14a4c997f533e697cc58ee8d9b1a997e306e9bec', class: "sublabel" }, this.sublabel))));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "diwa-stepper-horizontal-item"; }
|
|
39
39
|
static get encapsulation() { return "shadow"; }
|
|
@@ -32,7 +32,7 @@ export class DiwaSwitch {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
render() {
|
|
35
|
-
return (h(Host, { key: '
|
|
35
|
+
return (h(Host, { key: '0e96affd5a3e280b06eb48e7feb2a0df542a19c9', "data-theme": this.theme }, h("style", { key: '3aa55f784774591f5f85a3655af25e2f664b634e', innerHTML: getComponentCss(this.checked, this.disabled, this.loading, this.alignLabel, this.compact) }), h("span", { key: '427803e1b7d578ed2a7be907ce2220ea19a4f497', class: "wrapper", onClick: this.handleClick }, h("span", { key: '34eafe8af538941ac7957f44360ccfec84c452a8', class: "track", role: "switch", "aria-checked": String(this.checked), "aria-disabled": this.disabled || this.loading ? 'true' : undefined, tabIndex: this.disabled || this.loading ? -1 : 0, onKeyDown: this.handleKeyDown }, !this.loading && h("span", { key: 'e03e1e78d4002ab82a87d80ba68f173b0d576df9', class: "thumb" }), this.loading && (h("span", { key: '467b9b651be875cf9b4be6c06dc491071e50f455', class: "loading-indicator", "aria-hidden": "true" }, h("diwa-spinner", { key: '6f2510961e02ada5f837a8251ce2219d3e71ad3b', size: "sm" })))), h("span", { key: 'e9fabaed9eb4fe909d073967a46216c249eb59e3', class: "label" }, h("slot", { key: '681bbbf5c64154f5c846869286544959ca4aa7e7' })))));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "diwa-switch"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,44 +1,83 @@
|
|
|
1
|
-
export const getComponentCss = (compact, layout, bordered, striped) => `
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
--diwa-table-
|
|
14
|
-
--diwa-table-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
1
|
+
export const getComponentCss = (compact, layout, bordered, striped) => `
|
|
2
|
+
${compact
|
|
3
|
+
? `
|
|
4
|
+
:host {
|
|
5
|
+
--diwa-table-padding-y: 6px;
|
|
6
|
+
--diwa-table-padding-y: var(--diwa-space-2, 6px);
|
|
7
|
+
--diwa-table-padding-x: 12px;
|
|
8
|
+
--diwa-table-padding-x: var(--diwa-space-5, 12px);
|
|
9
|
+
}
|
|
10
|
+
`
|
|
11
|
+
: `
|
|
12
|
+
:host {
|
|
13
|
+
--diwa-table-padding-y: 12px;
|
|
14
|
+
--diwa-table-padding-y: var(--diwa-space-5, 12px);
|
|
15
|
+
--diwa-table-padding-x: 16px;
|
|
16
|
+
--diwa-table-padding-x: var(--diwa-space-7, 16px);
|
|
17
|
+
}
|
|
18
|
+
`}
|
|
19
|
+
|
|
20
|
+
:host {
|
|
21
|
+
display: block;
|
|
22
|
+
font-family: var(--diwa-font-family-base);
|
|
23
|
+
width: 100%;
|
|
24
|
+
overflow-x: auto;
|
|
25
|
+
background: var(--diwa-bg-surface);
|
|
26
|
+
border-radius: var(--diwa-radius-lg);
|
|
27
|
+
color: var(--diwa-text-primary);
|
|
28
|
+
text-align: start;
|
|
29
|
+
--diwa-table-hover-color: var(--diwa-bg-hover, transparent);
|
|
30
|
+
--diwa-table-border-color: var(--diwa-border, currentColor);
|
|
31
|
+
--diwa-table-row-border-width: var(--diwa-border-width-thin, 1px);
|
|
32
|
+
--diwa-table-column-border: ${bordered ? 'var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor)' : 'none'};
|
|
33
|
+
--diwa-table-stripe-color: ${striped ? 'var(--diwa-bg-elevated, transparent)' : 'transparent'};
|
|
34
|
+
--diwa-table-header-bg: transparent;
|
|
35
|
+
${bordered ? `
|
|
36
|
+
border: var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor) !important;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
` : ''}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:host([hidden]) { display: none; }
|
|
42
|
+
|
|
43
|
+
::slotted(*) {
|
|
44
|
+
--diwa-table-padding-y: ${compact ? '6px' : '12px'} !important;
|
|
45
|
+
--diwa-table-padding-y: ${compact ? 'var(--diwa-space-2, 6px)' : 'var(--diwa-space-5, 12px)'} !important;
|
|
46
|
+
--diwa-table-padding-x: ${compact ? '12px' : '16px'} !important;
|
|
47
|
+
--diwa-table-padding-x: ${compact ? 'var(--diwa-space-5, 12px)' : 'var(--diwa-space-7, 16px)'} !important;
|
|
48
|
+
--diwa-table-hover-color: var(--diwa-bg-hover, transparent);
|
|
49
|
+
--diwa-table-border-color: var(--diwa-border, currentColor);
|
|
50
|
+
--diwa-table-row-border-width: var(--diwa-border-width-thin, 1px);
|
|
51
|
+
--diwa-table-column-border: ${bordered ? 'var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor)' : 'none'};
|
|
52
|
+
--diwa-table-stripe-color: ${striped ? 'var(--diwa-bg-elevated, transparent)' : 'transparent'};
|
|
53
|
+
--diwa-table-header-bg: transparent;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.table {
|
|
57
|
+
display: table;
|
|
58
|
+
border-collapse: collapse;
|
|
59
|
+
background: var(--diwa-bg-surface);
|
|
60
|
+
font-size: var(--diwa-font-size-base);
|
|
61
|
+
color: var(--diwa-text-primary);
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
${layout === 'fixed'
|
|
64
|
+
? `
|
|
65
|
+
table-layout: fixed;
|
|
66
|
+
min-width: 100%;
|
|
67
|
+
`
|
|
68
|
+
: 'width: 100%;'}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.sr-only {
|
|
72
|
+
position: absolute;
|
|
73
|
+
width: 1px;
|
|
74
|
+
height: 1px;
|
|
75
|
+
padding: 0;
|
|
76
|
+
margin: -1px;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
clip: rect(0, 0, 0, 0);
|
|
79
|
+
white-space: nowrap;
|
|
80
|
+
border: 0;
|
|
81
|
+
}
|
|
43
82
|
`;
|
|
44
83
|
//# sourceMappingURL=diwa-table-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-table-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-table/diwa-table-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,MAAwB,EACxB,QAAiB,EACjB,OAAgB,EACR,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"diwa-table-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-table/diwa-table-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,MAAwB,EACxB,QAAiB,EACjB,OAAgB,EACR,EAAE,CAAC;IACT,OAAO;IACP,CAAC,CAAC;;;;;;;GAOH;IACC,CAAC,CAAC;;;;;;;GAOH;;;;;;;;;;;;;;kCAc+B,QAAQ,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC,MAAM;iCAChG,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,aAAa;;MAE3F,QAAQ,CAAC,CAAC,CAAC;;;KAGZ,CAAC,CAAC,CAAC,EAAE;;;;;;8BAMoB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;8BACxB,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B;8BAClE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;8BACzB,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B;;;;kCAI/D,QAAQ,CAAC,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC,MAAM;iCAChG,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,aAAa;;;;;;;;;;;MAW3F,MAAM,KAAK,OAAO;IAClB,CAAC,CAAC;;;KAGH;IACC,CAAC,CAAC,cAAc;;;;;;;;;;;;;;CAcrB,CAAC","sourcesContent":["export const getComponentCss = (\n compact: boolean,\n layout: 'auto' | 'fixed',\n bordered: boolean,\n striped: boolean,\n): string => `\n ${compact\n ? `\n :host {\n --diwa-table-padding-y: 6px;\n --diwa-table-padding-y: var(--diwa-space-2, 6px);\n --diwa-table-padding-x: 12px;\n --diwa-table-padding-x: var(--diwa-space-5, 12px);\n }\n `\n : `\n :host {\n --diwa-table-padding-y: 12px;\n --diwa-table-padding-y: var(--diwa-space-5, 12px);\n --diwa-table-padding-x: 16px;\n --diwa-table-padding-x: var(--diwa-space-7, 16px);\n }\n `}\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n width: 100%;\n overflow-x: auto;\n background: var(--diwa-bg-surface);\n border-radius: var(--diwa-radius-lg);\n color: var(--diwa-text-primary);\n text-align: start;\n --diwa-table-hover-color: var(--diwa-bg-hover, transparent);\n --diwa-table-border-color: var(--diwa-border, currentColor);\n --diwa-table-row-border-width: var(--diwa-border-width-thin, 1px);\n --diwa-table-column-border: ${bordered ? 'var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor)' : 'none'};\n --diwa-table-stripe-color: ${striped ? 'var(--diwa-bg-elevated, transparent)' : 'transparent'};\n --diwa-table-header-bg: transparent;\n ${bordered ? `\n border: var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor) !important;\n overflow: hidden;\n ` : ''}\n }\n\n :host([hidden]) { display: none; }\n\n ::slotted(*) {\n --diwa-table-padding-y: ${compact ? '6px' : '12px'} !important;\n --diwa-table-padding-y: ${compact ? 'var(--diwa-space-2, 6px)' : 'var(--diwa-space-5, 12px)'} !important;\n --diwa-table-padding-x: ${compact ? '12px' : '16px'} !important;\n --diwa-table-padding-x: ${compact ? 'var(--diwa-space-5, 12px)' : 'var(--diwa-space-7, 16px)'} !important;\n --diwa-table-hover-color: var(--diwa-bg-hover, transparent);\n --diwa-table-border-color: var(--diwa-border, currentColor);\n --diwa-table-row-border-width: var(--diwa-border-width-thin, 1px);\n --diwa-table-column-border: ${bordered ? 'var(--diwa-border-width-thin, 1px) solid var(--diwa-border, currentColor)' : 'none'};\n --diwa-table-stripe-color: ${striped ? 'var(--diwa-bg-elevated, transparent)' : 'transparent'};\n --diwa-table-header-bg: transparent;\n }\n\n .table {\n display: table;\n border-collapse: collapse;\n background: var(--diwa-bg-surface);\n font-size: var(--diwa-font-size-base);\n color: var(--diwa-text-primary);\n white-space: nowrap;\n ${layout === 'fixed'\n ? `\n table-layout: fixed;\n min-width: 100%;\n `\n : 'width: 100%;'}\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n`;\n"]}
|
|
@@ -2,7 +2,7 @@ import { Host, h } from "@stencil/core";
|
|
|
2
2
|
import { getComponentCss } from "./diwa-table-styles";
|
|
3
3
|
/**
|
|
4
4
|
* @component diwa-table
|
|
5
|
-
* Wrapper for a data table. Uses
|
|
5
|
+
* Wrapper for a data table. Uses CSS table layout with ARIA roles.
|
|
6
6
|
* Structure: diwa-table > diwa-table-head > diwa-table-row > diwa-table-head-cell
|
|
7
7
|
* > diwa-table-body > diwa-table-row > diwa-table-cell
|
|
8
8
|
*/
|
|
@@ -20,7 +20,8 @@ export class DiwaTable {
|
|
|
20
20
|
this.update.emit(e.detail);
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
|
|
23
|
+
const tableLabel = this.caption || undefined;
|
|
24
|
+
return (h(Host, { key: 'dcecc9c66f8edbe62c2f7d705ffda0a1f2d76f97', "data-theme": this.theme }, h("style", { key: '183ada7a6f59ba400c6c6132dfb7685718ee2a40', innerHTML: getComponentCss(this.compact, this.layout, this.bordered, this.striped) }), h("div", { key: '707f325328eba674677122a67f737bb47843d6ed', class: "table", role: "table", "aria-label": tableLabel }, h("slot", { key: '00a709c094a8a06a85dff9ad388cfdf8c5a8a7cf' }))));
|
|
24
25
|
}
|
|
25
26
|
static get is() { return "diwa-table"; }
|
|
26
27
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-table.js","sourceRoot":"","sources":["../../../src/components/diwa-table/diwa-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAqB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAG3F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,OAAO,SAAS;IADtB;QAE2B,UAAK,GAAU,MAAM,CAAC;QACvC,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QACzB,WAAM,GAAqB,MAAM,CAAC;QAClC,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"diwa-table.js","sourceRoot":"","sources":["../../../src/components/diwa-table/diwa-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAqB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAG3F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AAEH,MAAM,OAAO,SAAS;IADtB;QAE2B,UAAK,GAAU,MAAM,CAAC;QACvC,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QACzB,WAAM,GAAqB,MAAM,CAAC;QAClC,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;KAuBlC;IAjBW,iBAAiB,CAAC,CAAsC;QAChE,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAE7C,OAAO,CACL,EAAC,IAAI,mEAAa,IAAI,CAAC,KAAK;YAC1B,8DAAO,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAI;YAC7F,4DAAK,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,gBAAa,UAAU;gBACpD,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, type EventEmitter, Host, Listen, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { TableUpdateEventDetail } from '../diwa-table-head-cell/types';\r\nimport { getComponentCss } from './diwa-table-styles';\r\n\r\n/**\n * @component diwa-table\n * Wrapper for a data table. Uses CSS table layout with ARIA roles.\n * Structure: diwa-table > diwa-table-head > diwa-table-row > diwa-table-head-cell\n * > diwa-table-body > diwa-table-row > diwa-table-cell\n */\n@Component({ tag: 'diwa-table', shadow: true })\nexport class DiwaTable {\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n @Prop() caption: string = '';\r\n @Prop() compact: boolean = false;\r\n @Prop() layout: 'auto' | 'fixed' = 'auto';\r\n @Prop() bordered: boolean = false;\r\n @Prop() striped: boolean = false;\r\n\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<TableUpdateEventDetail>;\r\n\r\n @Listen('diwaTableUpdate')\r\n protected handleTableUpdate(e: CustomEvent<TableUpdateEventDetail>): void {\r\n e.stopPropagation();\r\n this.update.emit(e.detail);\r\n }\r\n\r\n render() {\n const tableLabel = this.caption || undefined;\n\n return (\n <Host data-theme={this.theme}>\n <style innerHTML={getComponentCss(this.compact, this.layout, this.bordered, this.striped)} />\n <div class=\"table\" role=\"table\" aria-label={tableLabel}>\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -6,7 +6,7 @@ export class DiwaTableBody {
|
|
|
6
6
|
this.theme = 'dark';
|
|
7
7
|
}
|
|
8
8
|
render() {
|
|
9
|
-
return (h(Host, { key: '
|
|
9
|
+
return (h(Host, { key: '4a79b101f25908a4c8d952a6cabeba242d361d45', role: "rowgroup", "data-theme": this.theme }, h("style", { key: '2fe92018084cd53e3eecfa6fa7cfcd314609d383', innerHTML: getComponentCss() }), h("slot", { key: 'f9d45fc32ddc9eb5532dd8e85fadac06df35cfb3' })));
|
|
10
10
|
}
|
|
11
11
|
static get is() { return "diwa-table-body"; }
|
|
12
12
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export const getComponentCss = (multiline) => `
|
|
2
|
-
:host {
|
|
3
|
-
display: table-cell;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
border-right: var(--diwa-table-column-border, none);
|
|
9
|
-
vertical-align: middle;
|
|
10
|
-
line-height: var(--diwa-line-height-normal);
|
|
11
|
-
white-space: ${multiline ? 'normal' : 'nowrap'};
|
|
12
|
-
}
|
|
13
|
-
:host(:last-child) { border-right: none; }
|
|
14
|
-
:host([hidden]) { display: none; }
|
|
1
|
+
export const getComponentCss = (multiline) => `
|
|
2
|
+
:host {
|
|
3
|
+
display: table-cell;
|
|
4
|
+
margin: 0 !important;
|
|
5
|
+
padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;
|
|
6
|
+
font-size: var(--diwa-font-size-sm);
|
|
7
|
+
color: var(--diwa-text-primary);
|
|
8
|
+
border-right: var(--diwa-table-column-border, none) !important;
|
|
9
|
+
vertical-align: middle;
|
|
10
|
+
line-height: var(--diwa-line-height-normal);
|
|
11
|
+
white-space: ${multiline ? 'normal' : 'nowrap'} !important;
|
|
12
|
+
}
|
|
13
|
+
:host(:last-child) { border-right: none; }
|
|
14
|
+
:host([hidden]) { display: none; }
|
|
15
15
|
`;
|
|
16
16
|
//# sourceMappingURL=diwa-table-cell-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diwa-table-cell-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-table-cell/diwa-table-cell-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAU,EAAE,CAAC;;;;;;;;;;mBAU5C,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;;;CAIjD,CAAC","sourcesContent":["export const getComponentCss = (multiline: boolean): string => `\
|
|
1
|
+
{"version":3,"file":"diwa-table-cell-styles.js","sourceRoot":"","sources":["../../../src/components/diwa-table-cell/diwa-table-cell-styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAU,EAAE,CAAC;;;;;;;;;;mBAU5C,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;;;;CAIjD,CAAC","sourcesContent":["export const getComponentCss = (multiline: boolean): string => `\n :host {\n display: table-cell;\n margin: 0 !important;\n padding: var(--diwa-table-padding-y, 12px) var(--diwa-table-padding-x, 16px) !important;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-right: var(--diwa-table-column-border, none) !important;\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${multiline ? 'normal' : 'nowrap'} !important;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;\n"]}
|
|
@@ -7,7 +7,7 @@ export class DiwaTableCell {
|
|
|
7
7
|
this.multiline = false;
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: '06e9e7b9644a399b4bf3392cafd2ce1906034c56', role: "cell" }, h("style", { key: '2aec2e9dda9ee32ec47628dd7eb7aa9d378e91be', innerHTML: getComponentCss(this.multiline) }), h("slot", { key: '9391683948fd415551ae1ae08dc53b1801380a69' })));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "diwa-table-cell"; }
|
|
13
13
|
static get encapsulation() { return "shadow"; }
|