@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
|
@@ -90,7 +90,7 @@ const DiwaSpinner = /*@__PURE__*/ proxyCustomElement(class DiwaSpinner extends H
|
|
|
90
90
|
* when the spinner appears without stealing focus (live region,
|
|
91
91
|
* polite by default). aria-label provides the announcement text.
|
|
92
92
|
*/
|
|
93
|
-
h(Host, { key: '
|
|
93
|
+
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" })));
|
|
94
94
|
}
|
|
95
95
|
}, [1, "diwa-spinner", {
|
|
96
96
|
"size": [513],
|
|
@@ -114,4 +114,4 @@ defineCustomElement();
|
|
|
114
114
|
|
|
115
115
|
export { DiwaSpinner as D, defineCustomElement as d };
|
|
116
116
|
|
|
117
|
-
//# sourceMappingURL=p-
|
|
117
|
+
//# sourceMappingURL=p-b7255dc4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-b7255dc4.js","mappings":";;;;AAEO,MAAM,eAAe,GAAG,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCzC,qBAAqB,CAAC,QAAQ,CAAC;CAClC;;;ACnCD,SAAS,UAAU,CAAC,KAAe;IACjC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;aAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,CAAC;KAC/B,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,eAAe,GAAG,UAAU,CAAC,MAACA,YAA+C,mCAAI,EAAE,CAAC,CAAC;MA0B9E,WAAW;IAJxB;;;;;;;;QAY2B,SAAI,GAAgB,IAAI,CAAC;;QAGzB,UAAK,GAAU,MAAM,CAAC;;;;;QAMvC,UAAK,GAAW,SAAS,CAAC;KAqCnC;;;;IA/BC,kBAAkB;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;SACxC;KACF;IAED,MAAM;QACJ;;;;;;QAME,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,gBAAa,IAAI,CAAC,KAAK,gBAAc,IAAI,CAAC,KAAK,IAChE,8DAAO,SAAS,EAAE,eAAe,EAAE,GAAI,EACvC,4DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAmB,CAAC,EAC/C,KAAK,EAAC,OAAO,iBACD,MAAM,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,kBACR,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":["icons.LoaderCircle"],"sources":["src/components/diwa-spinner/diwa-spinner-styles.ts","src/components/diwa-spinner/diwa-spinner.tsx"],"sourcesContent":["import { getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n align-self: center;\r\n width: var(--diwa-spinner-size-md);\r\n height: var(--diwa-spinner-size-md);\r\n }\r\n\r\n :host([size=\"sm\"]) {\r\n width: var(--diwa-spinner-size-sm);\r\n height: var(--diwa-spinner-size-sm);\r\n }\r\n\r\n :host([size=\"lg\"]) {\r\n width: var(--diwa-spinner-size-lg);\r\n height: var(--diwa-spinner-size-lg);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .glyph {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n color: var(--diwa-spinner-color, currentColor);\r\n animation: diwa-spinner-spin var(--diwa-spinner-duration) linear infinite;\r\n transform-origin: center;\r\n }\r\n\r\n @keyframes diwa-spinner-spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n ${getReducedMotionStyle('.glyph')}\r\n`;\r\n","import { Component, Host, Prop, h } from \"@stencil/core\";\r\nimport { icons } from 'lucide';\r\nimport type { SpinnerSize } from \"./types\";\r\nimport type { Theme } from \"../../utils/styles\";\r\nimport { getComponentCss } from './diwa-spinner-styles';\r\n\r\ntype IconNode = ReadonlyArray<readonly [string, Record<string, string>]>;\r\n\r\nfunction toInnerSvg(nodes: IconNode): string {\r\n return nodes\r\n .map(([tag, attrs]) => {\r\n const attrStr = Object.entries(attrs)\r\n .map(([k, v]) => `${k}=\"${v}\"`)\r\n .join(' ');\r\n return `<${tag} ${attrStr}/>`;\r\n })\r\n .join('');\r\n}\r\n\r\nconst loaderCircleSvg = toInnerSvg((icons as Record<string, IconNode>).LoaderCircle ?? []);\r\n\r\n/**\r\n * @component diwa-spinner\r\n *\r\n * An animated loading indicator based on a Lucide circular spinner glyph.\r\n * Communicates asynchronous activity to both sighted users and screen readers\r\n * via role=\"status\" and an accessible label.\r\n *\r\n * Design token override API (set on :root or any ancestor):\r\n * --diwa-spinner-size-sm Diameter for the sm tier (default 14px)\r\n * --diwa-spinner-size-md Diameter for the md tier (default 16px)\r\n * --diwa-spinner-size-lg Diameter for the lg tier (default 20px)\r\n * --diwa-spinner-color Spinner stroke colour (defaults to currentColor)\r\n *\r\n * Usage:\r\n * <diwa-spinner></diwa-spinner>\r\n * <diwa-spinner size=\"lg\" label=\"Saving changes…\"></diwa-spinner>\r\n *\r\n * Parity: mirrors stateless/stateful spinner behavior with consistent\n * aria-label propagation and size variants.\n */\r\n@Component({\r\n tag: \"diwa-spinner\",\r\n shadow: true,\r\n})\r\nexport class DiwaSpinner {\r\n private svgEl?: SVGSVGElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Size tier — controls diameter of the spinner ring. */\r\n @Prop({ reflect: true }) size: SpinnerSize = \"md\";\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = \"dark\";\r\n\r\n /**\r\n * Accessible label announced by screen readers.\r\n * Defaults to \"Loading\" when omitted.\r\n */\r\n @Prop() label: string = \"Loading\";\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n componentDidRender() {\r\n if (this.svgEl) {\r\n this.svgEl.innerHTML = loaderCircleSvg;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n /**\r\n * role=\"status\" on the Host allows screen readers to announce\r\n * when the spinner appears without stealing focus (live region,\r\n * polite by default). aria-label provides the announcement text.\r\n */\r\n <Host role=\"status\" aria-label={this.label} data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <svg\r\n ref={(el) => (this.svgEl = el as SVGSVGElement)}\r\n class=\"glyph\"\r\n aria-hidden=\"true\"\r\n part=\"ring\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diwacopilot/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Diwa Design System - Framework-agnostic Web Components built with Stencil.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://diwacopilot.com",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"url": "git+https://github.com/jortega0033/diwa-design-system.git",
|
|
10
10
|
"directory": "diwa-components"
|
|
11
11
|
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/jortega0033/diwa-design-system/issues"
|
|
14
|
-
},
|
|
15
|
-
"publishConfig": {
|
|
16
|
-
"access": "public"
|
|
17
|
-
},
|
|
18
|
-
"files": [
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/jortega0033/diwa-design-system/issues"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
19
|
"dist/",
|
|
20
20
|
"loader/",
|
|
21
21
|
"dist-custom-elements/"
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"./styles": {
|
|
37
37
|
"import": "./dist/styles/index.js"
|
|
38
|
-
}
|
|
38
|
+
},
|
|
39
|
+
"./style": "./dist/diwa-components/diwa-components.css"
|
|
39
40
|
},
|
|
40
41
|
"types": "dist/types/index.d.ts",
|
|
41
42
|
"collection": "dist/collection/collection-manifest.json",
|
|
@@ -47,6 +48,7 @@
|
|
|
47
48
|
"build": "stencil build",
|
|
48
49
|
"build.watch": "stencil build --watch",
|
|
49
50
|
"dev:stencil": "npm run patch:stencil && stencil build --watch --serve",
|
|
51
|
+
"predev": "node -e \"const fs=require('fs'),p=require('path').join(__dirname,'storefront','public','stencil');if(fs.existsSync(p)){fs.rmSync(p,{recursive:true});console.log('[predev] Cleared storefront/public/stencil/ so dev proxy works')}\"",
|
|
50
52
|
"dev": "concurrently -n \"stencil,storefront\" -c \"blue,green\" \"npm run dev:stencil\" \"npm --prefix storefront run dev\"",
|
|
51
53
|
"test": "vitest run",
|
|
52
54
|
"test:watch": "vitest",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"e7b42335a448f264e605a22e8c973a4703027711","data-theme":this.theme},t("style",{key:"97a4f13c5867744270eced8aa13b209f9139f582",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"4d20197cbf918b7be8cf1b67e5f0fdc3e338f2f4",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"0e79bf6e67eab3600a3a1e5d3f2d7a73a83abdc9",class:"label-row"},t("label",{key:"7adcf80c3a0e61c1ba0634308657fef73054e7ea",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"d8cf7249d82461d2fd51f000737a4f0ebd15afc4",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"738298b5cd67496e40173687a02432191754ebd6",name:"label-after"})),t("div",{key:"0fb96733077c26851196e46220a80af39b8dd757",class:"input-wrapper"},this._hasStart&&t("div",{key:"f13788a2afa4855aa772db164ee436aa0356f0cf",class:"slot-start"},t("slot",{key:"06a5012bd82608a9b6ff4d84d89a8b1a8dadc2d3",name:"start"})),t("input",{key:"1bebc847823145ec56aa3a540a3e55463990fd6d",id:s,class:"input",type:"month",name:this.name||undefined,value:this.value,disabled:this.disabled,required:this.required,readOnly:this.readonly,min:this.min,max:this.max,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"7fad070fcca5acd9dc849e3f1549708c49ad85f9",class:"slot-end"},t("slot",{key:"58f0310c841b893f7b9679ec0ee0c702150e6476",name:"end"}))),!this.message&&this.description&&t("p",{key:"6889e36e3f5f1e859f2c2be2fee4aa4766b9898c",id:e,class:"description"},this.description),this.message&&t("p",{key:"bfb61253f688d25ede2e488306cf6d61ed8cc8e9",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_month};
|
|
2
|
-
//# sourceMappingURL=p-043e3e19.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(e){s(this,e);this.change=t(this,"change",7);this.input=t(this,"input",7);this.blur=t(this,"blur",3);this.focus=t(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const t="desc";const a="msg";return e(i,{key:"9e2fb73a34153b0744fbf2cc7490ecdc7a125233","data-theme":this.theme},e("style",{key:"58c7f12e339b06f9bf1fc1488a3c6821c9fcb637",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),e("div",{key:"ff7623be3338a9f7d1def2c68f36e698b192b699",class:"root"},!this.hideLabel&&this.label&&e("div",{key:"6fe5fc532ab19643ff3c194e6230e6681c9b73d5",class:"label-row"},e("label",{key:"641fc925b6a08f4c3ea7d620cf32a666cb4ed95a",class:"label",htmlFor:s},this.label,this.required&&e("span",{key:"e4d33a7a8e34d7c082f50b36faee293c73701d3f",class:"required","aria-hidden":"true"}," *")),e("slot",{key:"42e84e07dfcda40b3dc81bb13934ecbaeb95e526",name:"label-after"})),e("div",{key:"fbb9fb0c4b1220d6d9e96d8f02d38f1d956ad844",class:"input-wrapper"},this._hasStart&&e("div",{key:"613a450467b3cd65e6193ecd61046c96b77ed8b7",class:"slot-start"},e("slot",{key:"40a5d35691b771b88589cf075c550723b32493fb",name:"start"})),e("input",{key:"0f3095e1716e26680c0bd4209c957f38e5c9649d",id:s,class:"input",type:"time",name:this.name||undefined,value:this.value,disabled:this.disabled,required:this.required,readOnly:this.readonly,min:this.min,max:this.max,step:this.step!==undefined?String(this.step):undefined,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?t:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&e("div",{key:"5b256b58d5b876cbdfd65c613ebfd41d59ca3f16",class:"slot-end"},e("slot",{key:"abe2bf623127eef3e5f9ed74d846459a975bfaff",name:"end"}))),!this.message&&this.description&&e("p",{key:"9f38a0f8927a2c06fcccb43b9d20a116af2fc078",id:t,class:"description"},this.description),this.message&&e("p",{key:"b6125f29b020d97fda309feb3803477c1e918e85",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_time};
|
|
2
|
-
//# sourceMappingURL=p-05988905.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as t,H as a,g as i}from"./p-ed4017f0.js";import{g as o,a as r}from"./p-70bbb21a.js";import{g as c,c as s}from"./p-332838f8.js";const d=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='5.25' width='7' height='1.5' rx='0.75' fill='white'/%3E%3C/svg%3E")`;const h=(n,e,t,a)=>{const i=t?"14px":"20px";const h=n==="error"?"var(--diwa-notification-error)":n==="success"?"var(--diwa-notification-success)":"var(--diwa-text-secondary)";return`\n\n /* ── Host ─────────────────────────────────────────────────────────── */\n\n :host {\n display: inline-block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── Root layout ──────────────────────────────────────────────────── */\n\n .root {\n display: flex;\n flex-direction: column;\n gap: var(--diwa-space-1);\n }\n\n /* ── Wrapper: checkbox + label side by side ───────────────────────── */\n\n .wrapper {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--diwa-space-3);\n cursor: pointer;\n }\n\n :host([disabled]) .wrapper {\n cursor: not-allowed;\n }\n\n /* ── Input container ──────────────────────────────────────────────── */\n\n .input-container {\n position: relative;\n flex-shrink: 0;\n width: ${i};\n height: ${i};\n /* Center the box on the first line of label text (line-height: 1.5) */\n margin-top: calc((1.5em - ${i}) / 2);\n }\n\n /* ── Native checkbox ──────────────────────────────────────────────── */\n\n input[type="checkbox"] {\n appearance: none;\n -webkit-appearance: none;\n display: block;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n cursor: pointer;\n\n ${c()}\n }\n\n input[type="checkbox"]:disabled {\n cursor: not-allowed;\n }\n\n /* ── Focus ring ───────────────────────────────────────────────────── */\n\n ${o('input[type="checkbox"]')}\n\n /* ── Hover ────────────────────────────────────────────────────────── */\n\n input[type="checkbox"]:hover:not(:disabled) {\n border-color: var(--diwa-accent);\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Checked state ────────────────────────────────────────────────── */\n\n input[type="checkbox"]:checked {\n background-color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n background-image: ${s};\n }\n\n input[type="checkbox"]:checked:hover:not(:disabled) {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n\n /* ── Indeterminate state ──────────────────────────────────────────── */\n\n input[type="checkbox"]:indeterminate {\n background-color: var(--diwa-accent);\n border-color: var(--diwa-accent);\n background-image: ${d};\n }\n\n input[type="checkbox"]:indeterminate:hover:not(:disabled) {\n background-color: var(--diwa-accent-hover);\n border-color: var(--diwa-accent-hover);\n }\n\n /* ── Validation states ────────────────────────────────────────────── */\n\n :host([state="error"]) input[type="checkbox"]:not(:checked):not(:indeterminate) {\n border-color: var(--diwa-notification-error);\n }\n\n :host([state="error"]) input[type="checkbox"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\n border-color: var(--diwa-notification-error);\n background-color: var(--diwa-bg-hover);\n }\n\n :host([state="success"]) input[type="checkbox"]:not(:checked):not(:indeterminate) {\n border-color: var(--diwa-notification-success);\n }\n\n :host([state="success"]) input[type="checkbox"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\n border-color: var(--diwa-notification-success);\n background-color: var(--diwa-bg-hover);\n }\n\n /* ── Disabled ─────────────────────────────────────────────────────── */\n\n :host([disabled]) {\n opacity: var(--diwa-opacity-disabled);\n pointer-events: none;\n }\n\n /* ── Label ────────────────────────────────────────────────────────── */\n\n .label {\n font-size: var(--diwa-font-size-base);\n font-weight: var(--diwa-font-weight-regular);\n line-height: 1.5;\n color: var(--diwa-text-primary);\n cursor: pointer;\n }\n\n :host([disabled]) .label {\n cursor: not-allowed;\n }\n\n /* Visually-hidden label (still read by screen readers) */\n .label--hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n }\n\n /* Required asterisk */\n .required {\n color: var(--diwa-notification-error);\n margin-left: var(--diwa-space-0-5);\n }\n\n /* ── Message ──────────────────────────────────────────────────────── */\n\n .message {\n display: block;\n font-size: var(--diwa-font-size-sm);\n line-height: 1.4;\n color: ${h};\n /* Indent to align under the label, not the checkbox */\n padding-left: calc(${i} + var(--diwa-space-3));\n }\n\n /* ── Reduced motion ───────────────────────────────────────────────── */\n\n ${r('input[type="checkbox"]')}\n`};const l=class{constructor(t){n(this,t);this.update=e(this,"update",1);this.theme="dark";this.label="";this.name="";this.value="on";this.checked=false;this.indeterminate=false;this.disabled=false;this.required=false;this.state="none";this.message="";this.compact=false;this.hideLabel=false;this.handleChange=n=>{const e=n.target;this.checked=e.checked;if(this.indeterminate){this.host.removeAttribute("indeterminate")}this.update.emit({checked:this.checked,name:this.name,value:this.value})};this.setCheckboxRef=n=>{this.checkboxEl=n;if(n){n.indeterminate=this.indeterminate}}}watchIndeterminate(n){if(this.checkboxEl){this.checkboxEl.indeterminate=n}}render(){const n="diwa-checkbox-msg";const e=!!this.message&&this.state!=="none";return t(a,{key:"b60ee4bf0dc2eaa0d694a0ac739c5566d454f79c","data-theme":this.theme},t("style",{key:"fd963d515b5fdca037224b97390978de46f2270a",innerHTML:h(this.state,this.disabled,this.compact)}),t("div",{key:"367d56a1bb842175a37e542645189dce17a6e39a",class:"root"},t("div",{key:"3e4b983191a2b57f5bf577b0da0fcabf3d99fef1",class:"wrapper"},t("div",{key:"152025c208c44d6cc5dafc4c552e8a66c07e4a82",class:"input-container"},t("input",{key:"cbf1fd983bf14caf6ee7c6e5d99ff00a6db84eee",type:"checkbox",id:"cb",checked:this.checked,disabled:this.disabled,required:this.required,name:this.name,value:this.value,"aria-checked":this.indeterminate?"mixed":undefined,"aria-describedby":e?n:undefined,onChange:this.handleChange,ref:this.setCheckboxRef})),this.label&&t("label",{key:"149d0d96a058be632bc631dce0acdf10061857be",class:`label${this.hideLabel?" label--hidden":""}`,htmlFor:"cb"},this.label,this.required&&t("span",{key:"d05c35490b0539a9d2f2967e32d5866a600a95d2",class:"required","aria-hidden":"true"}," ","*"))),e&&t("span",{key:"3dd6021761ad98aaacacff336dab64b1d5d531dd",id:n,class:"message"},this.message)))}static get delegatesFocus(){return true}get host(){return i(this)}static get watchers(){return{indeterminate:["watchIndeterminate"]}}};export{l as diwa_checkbox};
|
|
2
|
-
//# sourceMappingURL=p-08c584fb.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["indeterminateSvg","getComponentCss","state","_disabled","compact","_hideLabel","boxSize","messageColor","getCheckboxBoxCss","getFocusStyle","checkmarkSvg","getReducedMotionStyle","DiwaCheckbox","constructor","hostRef","this","theme","label","name","value","checked","indeterminate","disabled","required","message","hideLabel","handleChange","e","input","target","host","removeAttribute","update","emit","setCheckboxRef","el","checkboxEl","watchIndeterminate","render","msgId","hasMessage","h","Host","key","innerHTML","class","type","id","undefined","onChange","ref","htmlFor"],"sources":["src/components/diwa-checkbox/diwa-checkbox-styles.ts","src/components/diwa-checkbox/diwa-checkbox.tsx"],"sourcesContent":["import type { CheckboxState } from './types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\nimport { checkmarkSvg, getCheckboxBoxCss } from '../../utils/checkbox-mark';\r\n\r\n/** White horizontal dash for indeterminate state on a 12×12 viewBox */\r\nconst indeterminateSvg = `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='5.25' width='7' height='1.5' rx='0.75' fill='white'/%3E%3C/svg%3E\")`;\r\n\r\nexport const getComponentCss = (\r\n state: CheckboxState,\r\n _disabled: boolean,\r\n compact: boolean,\r\n _hideLabel: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '20px';\r\n const messageColor =\r\n state === 'error'\r\n ? 'var(--diwa-notification-error)'\r\n : state === 'success'\r\n ? 'var(--diwa-notification-success)'\r\n : 'var(--diwa-text-secondary)';\r\n\r\n return `\r\n\r\n /* ── Host ─────────────────────────────────────────────────────────── */\r\n\r\n :host {\r\n display: inline-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 /* ── Root layout ──────────────────────────────────────────────────── */\r\n\r\n .root {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--diwa-space-1);\r\n }\r\n\r\n /* ── Wrapper: checkbox + label side by side ───────────────────────── */\r\n\r\n .wrapper {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Input container ──────────────────────────────────────────────── */\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n /* Center the box on the first line of label text (line-height: 1.5) */\r\n margin-top: calc((1.5em - ${boxSize}) / 2);\r\n }\r\n\r\n /* ── Native checkbox ──────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n\r\n ${getCheckboxBoxCss()}\r\n }\r\n\r\n input[type=\"checkbox\"]:disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* ── Focus ring ───────────────────────────────────────────────────── */\r\n\r\n ${getFocusStyle('input[type=\"checkbox\"]')}\r\n\r\n /* ── Hover ────────────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:hover:not(:disabled) {\r\n border-color: var(--diwa-accent);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Checked state ────────────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:checked {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${checkmarkSvg};\r\n }\r\n\r\n input[type=\"checkbox\"]:checked:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Indeterminate state ──────────────────────────────────────────── */\r\n\r\n input[type=\"checkbox\"]:indeterminate {\r\n background-color: var(--diwa-accent);\r\n border-color: var(--diwa-accent);\r\n background-image: ${indeterminateSvg};\r\n }\r\n\r\n input[type=\"checkbox\"]:indeterminate:hover:not(:disabled) {\r\n background-color: var(--diwa-accent-hover);\r\n border-color: var(--diwa-accent-hover);\r\n }\r\n\r\n /* ── Validation states ────────────────────────────────────────────── */\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-error);\r\n }\r\n\r\n :host([state=\"error\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-error);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate) {\r\n border-color: var(--diwa-notification-success);\r\n }\r\n\r\n :host([state=\"success\"]) input[type=\"checkbox\"]:not(:checked):not(:indeterminate):hover:not(:disabled) {\r\n border-color: var(--diwa-notification-success);\r\n background-color: var(--diwa-bg-hover);\r\n }\r\n\r\n /* ── Disabled ─────────────────────────────────────────────────────── */\r\n\r\n :host([disabled]) {\r\n opacity: var(--diwa-opacity-disabled);\r\n pointer-events: none;\r\n }\r\n\r\n /* ── Label ────────────────────────────────────────────────────────── */\r\n\r\n .label {\r\n font-size: var(--diwa-font-size-base);\r\n font-weight: var(--diwa-font-weight-regular);\r\n line-height: 1.5;\r\n color: var(--diwa-text-primary);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .label {\r\n cursor: not-allowed;\r\n }\r\n\r\n /* Visually-hidden label (still read by screen readers) */\r\n .label--hidden {\r\n border: 0;\r\n clip: rect(0, 0, 0, 0);\r\n height: 1px;\r\n margin: -1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n white-space: nowrap;\r\n width: 1px;\r\n }\r\n\r\n /* Required asterisk */\r\n .required {\r\n color: var(--diwa-notification-error);\r\n margin-left: var(--diwa-space-0-5);\r\n }\r\n\r\n /* ── Message ──────────────────────────────────────────────────────── */\r\n\r\n .message {\r\n display: block;\r\n font-size: var(--diwa-font-size-sm);\r\n line-height: 1.4;\r\n color: ${messageColor};\r\n /* Indent to align under the label, not the checkbox */\r\n padding-left: calc(${boxSize} + var(--diwa-space-3));\r\n }\r\n\r\n /* ── Reduced motion ───────────────────────────────────────────────── */\r\n\r\n ${getReducedMotionStyle('input[type=\"checkbox\"]')}\r\n`;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { CheckboxState } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-checkbox-styles';\r\n\r\n/**\r\n * @component diwa-checkbox\r\n *\r\n * A fully accessible checkbox control with label, validation state,\r\n * and indeterminate support. Mirrors the PDS p-checkbox API.\r\n *\r\n * Semi-controlled: the `checked` prop is mutable — the component\r\n * updates it internally AND emits an `update` event. The consumer can\r\n * either listen to `update` to manage state externally, or use it\r\n * standalone without any event wiring.\r\n *\r\n * Accessibility:\r\n * - Native `<input type=\"checkbox\">` inside Shadow DOM with delegatesFocus\r\n * - `aria-checked=\"mixed\"` set automatically when `indeterminate` is true\r\n * - `aria-describedby` wires the message element when state is error/success\r\n * - `role` is implicit from native input — no extra ARIA needed\r\n *\r\n * Usage:\r\n * <diwa-checkbox label=\"Accept terms\" checked={accepted}\r\n * onupdate={e => setAccepted(e.detail.checked)} />\r\n *\r\n * Note (V1): The inner <input name> is inside Shadow DOM and is therefore\r\n * not visible to ancestor <form> elements for native form submission.\r\n * Use ElementInternals (V2) or submit via JavaScript instead.\r\n */\r\n@Component({\r\n tag: 'diwa-checkbox',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaCheckbox {\r\n @Element() host!: HTMLDiwaCheckboxElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Props\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Per-component theme override (`light` / `dark`). */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Visible label text rendered next to the checkbox. */\r\n @Prop() label: string = '';\r\n\r\n /** Native name attribute (identifies the field in JS / form data). */\r\n @Prop() name: string = '';\r\n\r\n /** Value submitted/emitted when the checkbox is checked. */\r\n @Prop() value: string = 'on';\r\n\r\n /**\r\n * Whether the checkbox is checked.\r\n *\r\n * Semi-controlled: mutates internally on user interaction and\r\n * also emits an `update` event so the consumer can sync their state.\r\n */\r\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\r\n\r\n /**\r\n * Indeterminate state — renders a dash icon and sets `aria-checked=\"mixed\"`.\r\n * Setting this to `true` takes visual precedence over `checked`.\r\n * The consumer is responsible for clearing it once the user toggles.\r\n */\r\n @Prop({ reflect: true }) indeterminate: boolean = false;\r\n\r\n /** Puts the checkbox in a disabled state. Blocks interaction. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Marks the field as required. Shows a visual asterisk in the label. */\r\n @Prop() required: boolean = false;\r\n\r\n /** Validation state: `'none'` (default), `'error'`, or `'success'`. */\r\n @Prop({ reflect: true }) state: CheckboxState = 'none';\r\n\r\n /** Helper / validation message shown below the checkbox. Only shown when state ≠ 'none'. */\r\n @Prop() message: string = '';\r\n\r\n /** Reduces the checkbox size from 20 px to 14 px for denser layouts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Hides the label visually while keeping it accessible to screen readers. */\r\n @Prop({ reflect: true, attribute: 'hide-label' }) hideLabel: boolean = false;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Events\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /**\r\n * Emitted when the user toggles the checkbox.\r\n * `event.detail.checked` is the new checked state.\r\n *\r\n * React consumers: use the lowercase `onupdate` prop:\r\n * ```jsx\r\n * <diwa-checkbox onupdate={e => setChecked(e.detail.checked)} />\r\n * ```\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<{ checked: boolean; name: string; value: string }>;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private state\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private checkboxEl?: HTMLInputElement;\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Watchers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n /** Keep the native input's non-reflected .indeterminate property in sync. */\r\n @Watch('indeterminate')\r\n watchIndeterminate(value: boolean) {\r\n if (this.checkboxEl) {\r\n this.checkboxEl.indeterminate = value;\r\n }\r\n }\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Private helpers\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n private handleChange = (e: Event): void => {\r\n const input = e.target as HTMLInputElement;\r\n this.checked = input.checked;\r\n // Clear indeterminate on user interaction (standard browser behaviour)\r\n if (this.indeterminate) {\r\n this.host.removeAttribute('indeterminate');\r\n }\r\n this.update.emit({\r\n checked: this.checked,\r\n name: this.name,\r\n value: this.value,\r\n });\r\n };\r\n\r\n private setCheckboxRef = (el?: HTMLInputElement): void => {\r\n this.checkboxEl = el;\r\n if (el) {\r\n el.indeterminate = this.indeterminate;\r\n }\r\n };\r\n\r\n // ──────────────────────────────────────────────────────────────\r\n // Render\r\n // ──────────────────────────────────────────────────────────────\r\n\r\n render() {\r\n const msgId = 'diwa-checkbox-msg';\r\n const hasMessage = !!this.message && this.state !== 'none';\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style\r\n innerHTML={getComponentCss(\r\n this.state,\r\n this.disabled,\r\n this.compact,\r\n this.hideLabel,\r\n )}\r\n />\r\n\r\n <div class=\"root\">\r\n <div class=\"wrapper\">\r\n <div class=\"input-container\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"cb\"\r\n checked={this.checked}\r\n disabled={this.disabled}\r\n required={this.required}\r\n name={this.name}\r\n value={this.value}\r\n aria-checked={this.indeterminate ? 'mixed' : undefined}\r\n aria-describedby={hasMessage ? msgId : undefined}\r\n onChange={this.handleChange}\r\n ref={this.setCheckboxRef}\r\n />\r\n </div>\r\n\r\n {this.label && (\r\n <label\r\n class={`label${this.hideLabel ? ' label--hidden' : ''}`}\r\n htmlFor=\"cb\"\r\n >\r\n {this.label}\r\n {this.required && (\r\n <span class=\"required\" aria-hidden=\"true\">\r\n {' '}*\r\n </span>\r\n )}\r\n </label>\r\n )}\r\n </div>\r\n\r\n {hasMessage && (\r\n <span id={msgId} class=\"message\">\r\n {this.message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sJAKA,MAAMA,EAAmB,iLAElB,MAAMC,EAAkB,CAC7BC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAUF,EAAU,OAAS,OACnC,MAAMG,EACJL,IAAU,QACN,iCACAA,IAAU,UACR,mCACA,6BAER,MAAO,01BAwCII,mBACCA,kHAEkBA,yUAgB1BE,sKASFC,EAAc,sdAcMC,6YAaAV,2iEA0EXO,2FAEYD,sHAKrBK,EAAsB,6BACzB,E,MCpKYC,EAAY,MAJzB,WAAAC,CAAAC,G,yCAY2BC,KAAAC,MAAe,OAGhCD,KAAAE,MAAgB,GAGhBF,KAAAG,KAAe,GAGfH,KAAAI,MAAgB,KAQgBJ,KAAAK,QAAmB,MAOlCL,KAAAM,cAAyB,MAGzBN,KAAAO,SAAoB,MAGrCP,KAAAQ,SAAoB,MAGHR,KAAAb,MAAuB,OAGxCa,KAAAS,QAAkB,GAGDT,KAAAX,QAAmB,MAGMW,KAAAU,UAAqB,MAwC/DV,KAAAW,aAAgBC,IACtB,MAAMC,EAAQD,EAAEE,OAChBd,KAAKK,QAAUQ,EAAMR,QAErB,GAAIL,KAAKM,cAAe,CACtBN,KAAKe,KAAKC,gBAAgB,gB,CAE5BhB,KAAKiB,OAAOC,KAAK,CACfb,QAASL,KAAKK,QACdF,KAAMH,KAAKG,KACXC,MAAOJ,KAAKI,OACZ,EAGIJ,KAAAmB,eAAkBC,IACxBpB,KAAKqB,WAAaD,EAClB,GAAIA,EAAI,CACNA,EAAGd,cAAgBN,KAAKM,a,GA3B5B,kBAAAgB,CAAmBlB,GACjB,GAAIJ,KAAKqB,WAAY,CACnBrB,KAAKqB,WAAWf,cAAgBF,C,EAiCpC,MAAAmB,GACE,MAAMC,EAAQ,oBACd,MAAMC,IAAezB,KAAKS,SAAWT,KAAKb,QAAU,OAEpD,OACEuC,EAACC,EAAI,CAAAC,IAAA,wDAAa5B,KAAKC,OACrByB,EAAA,SAAAE,IAAA,2CACEC,UAAW3C,EACTc,KAAKb,MACLa,KAAKO,SACLP,KAAKX,WAKTqC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,mBACTJ,EAAA,SAAAE,IAAA,2CACEG,KAAK,WACLC,GAAG,KACH3B,QAASL,KAAKK,QACdE,SAAUP,KAAKO,SACfC,SAAUR,KAAKQ,SACfL,KAAMH,KAAKG,KACXC,MAAOJ,KAAKI,MAAK,eACHJ,KAAKM,cAAgB,QAAU2B,UAAS,mBACpCR,EAAaD,EAAQS,UACvCC,SAAUlC,KAAKW,aACfwB,IAAKnC,KAAKmB,kBAIbnB,KAAKE,OACJwB,EAAA,SAAAE,IAAA,2CACEE,MAAO,QAAQ9B,KAAKU,UAAY,iBAAmB,KACnD0B,QAAQ,MAEPpC,KAAKE,MACLF,KAAKQ,UACJkB,EAAA,QAAAE,IAAA,2CAAME,MAAM,WAAU,cAAa,QAChC,IAAG,OAObL,GACCC,EAAA,QAAAE,IAAA,2CAAMI,GAAIR,EAAOM,MAAM,WACpB9B,KAAKS,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as r}from"./p-ed4017f0.js";const d=a=>`\n :host {\n display: table-cell;\n padding: var(--diwa-table-padding, var(--diwa-space-fluid-md));\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-table-border-color, var(--diwa-border));\n border-right: var(--diwa-table-column-border, none);\n vertical-align: middle;\n line-height: var(--diwa-line-height-normal);\n white-space: ${a?"normal":"nowrap"};\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\n`;const n=class{constructor(e){a(this,e);this.theme="dark";this.multiline=false}render(){return e(r,{key:"6940c2ca96ade3969829050cd472541073e14e10",role:"cell"},e("style",{key:"9268605b392a8e0d63c036a94aaf06b1f8921d19",innerHTML:d(this.multiline)}),e("slot",{key:"ce6ec575f27242e9bb5892a9b4417bbcf31a7dd1"}))}};export{n as diwa_table_cell};
|
|
2
|
-
//# sourceMappingURL=p-0cbe8ed4.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","multiline","DiwaTableCell","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-cell/diwa-table-cell-styles.ts","src/components/diwa-table-cell/diwa-table-cell.tsx"],"sourcesContent":["export const getComponentCss = (multiline: boolean): string => `\r\n :host {\r\n display: table-cell;\r\n padding: var(--diwa-table-padding, var(--diwa-space-fluid-md));\r\n font-size: var(--diwa-font-size-sm);\r\n color: var(--diwa-text-primary);\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-table-border-color, var(--diwa-border));\r\n border-right: var(--diwa-table-column-border, none);\r\n vertical-align: middle;\r\n line-height: var(--diwa-line-height-normal);\r\n white-space: ${multiline ? 'normal' : 'nowrap'};\r\n }\r\n :host(:last-child) { border-right: none; }\r\n :host([hidden]) { display: none; }\r\n`;\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-table-cell-styles';\r\n\r\n/** @component diwa-table-cell — Maps to <td> inside a diwa-table-row. */\r\n@Component({ tag: 'diwa-table-cell', shadow: true })\r\nexport class DiwaTableCell {\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n @Prop() multiline: boolean = false;\r\n\r\n render() {\r\n return (\r\n <Host role=\"cell\">\r\n <style innerHTML={getComponentCss(this.multiline)} />\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAO,MAAMA,EAAmBC,GAA+B,qcAU5CA,EAAY,SAAW,uG,MCJ7BC,EAAa,MAD1B,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,OAChCD,KAAAJ,UAAqB,K,CAE7B,MAAAM,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QACTH,EAAA,SAAAE,IAAA,2CAAOE,UAAWZ,EAAgBK,KAAKJ,aACvCO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as e,H as a,g as n}from"./p-ed4017f0.js";const s=()=>`\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;const i=class{constructor(e){t(this,e);this.theme="dark";this.messages=[];this.nextId=0}async addMessage(t){var e;const a=this.nextId++;this.messages=[...this.messages,Object.assign(Object.assign({},t),{id:a})];const n=(e=t.duration)!==null&&e!==void 0?e:5e3;if(n>0){setTimeout((()=>this.removeMessage(a)),n)}}removeMessage(t){this.messages=this.messages.filter((e=>e.id!==t))}render(){return e(a,{key:"51dba2219ff8a36a154e7cc7d94760b039019244",role:"status","aria-live":"polite","aria-atomic":"false","data-theme":this.theme},e("style",{key:"21c673cb8e9b9fc1cb1b5f2bbdc5d017f4f5ae8c",innerHTML:s()}),this.messages.map((t=>{var a;return e("diwa-toast-item",{key:t.id,text:t.text,state:(a=t.state)!==null&&a!==void 0?a:"neutral",theme:this.theme,onDismiss:()=>this.removeMessage(t.id)})})))}get host(){return n(this)}};export{i as diwa_toast};
|
|
2
|
-
//# sourceMappingURL=p-139f619d.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaToast","constructor","hostRef","this","theme","messages","nextId","addMessage","message","id","Object","assign","duration","_a","setTimeout","removeMessage","filter","m","render","h","Host","key","role","innerHTML","map","msg","text","state","onDismiss"],"sources":["src/components/diwa-toast/diwa-toast-styles.ts","src/components/diwa-toast/diwa-toast.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\n position: fixed;\n bottom: var(--diwa-space-6);\n right: var(--diwa-space-6);\n z-index: var(--diwa-z-toast);\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: var(--diwa-space-3);\n pointer-events: none;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n ::slotted(*) {\n pointer-events: all;\n }\n\n @media (max-width: 480px) {\n :host {\n left: var(--diwa-space-3);\n right: var(--diwa-space-3);\n bottom: var(--diwa-space-3);\n align-items: stretch;\n }\n }\n`;\n","import { Component, Element, Host, Method, Prop, State, h } from '@stencil/core';\r\nimport type { ToastMessage } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-toast-styles';\r\n\r\n/**\r\n * @component diwa-toast\r\n *\r\n * Singleton container that queues and displays toast notifications.\r\n * Call `addMessage()` to queue a new toast. The toast container positions\r\n * itself fixed at the bottom-right of the viewport.\r\n *\r\n * Usage:\r\n * const toast = document.querySelector('diwa-toast');\r\n * toast.addMessage({ text: 'Saved!', state: 'success' });\r\n *\r\n * Or via the static helper:\r\n * DiwaToast.addMessage({ text: 'Error!', state: 'error' });\r\n */\r\n@Component({\r\n tag: 'diwa-toast',\r\n shadow: true,\r\n})\r\nexport class DiwaToast {\r\n @Element() host!: HTMLDiwaToastElement;\r\n\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() messages: Array<ToastMessage & { id: number }> = [];\r\n\r\n private nextId = 0;\r\n\r\n /**\r\n * Adds a toast message to the queue.\r\n */\r\n @Method()\r\n async addMessage(message: ToastMessage): Promise<void> {\r\n const id = this.nextId++;\r\n this.messages = [...this.messages, { ...message, id }];\r\n const duration = message.duration ?? 5000;\r\n if (duration > 0) {\r\n setTimeout(() => this.removeMessage(id), duration);\r\n }\r\n }\r\n\r\n private removeMessage(id: number) {\r\n this.messages = this.messages.filter((m) => m.id !== id);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host role=\"status\" aria-live=\"polite\" aria-atomic=\"false\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n {this.messages.map((msg) => (\r\n <diwa-toast-item\r\n key={msg.id}\r\n text={msg.text}\r\n state={msg.state ?? 'neutral'}\r\n theme={this.theme}\r\n onDismiss={() => this.removeMessage(msg.id)}\r\n />\r\n ))}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,IAAc,2mB,MCuBhCC,EAAS,MAJtB,WAAAC,CAAAC,G,UAO2BC,KAAAC,MAAe,OAE/BD,KAAAE,SAAiD,GAElDF,KAAAG,OAAS,C,CAMjB,gBAAMC,CAAWC,G,MACf,MAAMC,EAAKN,KAAKG,SAChBH,KAAKE,SAAW,IAAIF,KAAKE,SAAQK,OAAAC,OAAAD,OAAAC,OAAA,GAAOH,GAAO,CAAEC,QACjD,MAAMG,GAAWC,EAAAL,EAAQI,YAAQ,MAAAC,SAAA,EAAAA,EAAI,IACrC,GAAID,EAAW,EAAG,CAChBE,YAAW,IAAMX,KAAKY,cAAcN,IAAKG,E,EAIrC,aAAAG,CAAcN,GACpBN,KAAKE,SAAWF,KAAKE,SAASW,QAAQC,GAAMA,EAAER,KAAOA,G,CAGvD,MAAAS,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,SAAQ,YAAW,SAAQ,cAAa,QAAO,aAAanB,KAAKC,OAC1Ee,EAAA,SAAAE,IAAA,2CAAOE,UAAWxB,MACjBI,KAAKE,SAASmB,KAAKC,I,MAAQ,OAC1BN,EAAA,mBACEE,IAAKI,EAAIhB,GACTiB,KAAMD,EAAIC,KACVC,OAAOd,EAAAY,EAAIE,SAAK,MAAAd,SAAA,EAAAA,EAAI,UACpBT,MAAOD,KAAKC,MACZwB,UAAW,IAAMzB,KAAKY,cAAcU,EAAIhB,KACxC,I","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as a,H as d}from"./p-ed4017f0.js";const t=()=>`\n :host {\n display: table-header-group;\n background: var(--diwa-table-header-bg, var(--diwa-bg-elevated));\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n color: var(--diwa-text-secondary);\n --diwa-table-hover-color: transparent;\n }\n :host([hidden]) { display: none; }\n`;const r=class{constructor(a){e(this,a);this.theme="dark"}render(){return a(d,{key:"4a79b101f25908a4c8d952a6cabeba242d361d45",role:"rowgroup","data-theme":this.theme},a("style",{key:"2fe92018084cd53e3eecfa6fa7cfcd314609d383",innerHTML:t()}),a("slot",{key:"f9d45fc32ddc9eb5532dd8e85fadac06df35cfb3"}))}};export{r as diwa_table_head};
|
|
2
|
-
//# sourceMappingURL=p-178d18c2.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaTableHead","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-head/diwa-table-head-styles.ts","src/components/diwa-table-head/diwa-table-head.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\r\n display: table-header-group;\r\n background: var(--diwa-table-header-bg, var(--diwa-bg-elevated));\r\n font-size: var(--diwa-font-size-sm);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-secondary);\r\n --diwa-table-hover-color: transparent;\r\n }\r\n :host([hidden]) { display: none; }\r\n`;\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-table-head-styles';\r\n\r\n/** @component diwa-table-head — Maps to <thead> inside diwa-table. */\r\n@Component({ tag: 'diwa-table-head', shadow: true })\r\nexport class DiwaTableHead {\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n render() {\r\n return (\r\n <Host role=\"rowgroup\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAO,MAAMA,EAAkB,IAAc,sV,MCMhCC,EAAa,MAD1B,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,M,CAExC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,WAAU,aAAaN,KAAKC,OACrCE,EAAA,SAAAE,IAAA,2CAAOE,UAAWX,MAClBO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t,H as a}from"./p-ed4017f0.js";const r=()=>`\n :host { display: table-row-group; }\n :host([hidden]) { display: none; }\n ::slotted(:nth-child(even)) {\n background: var(--diwa-table-stripe-color, transparent);\n }\n`;const d=class{constructor(t){e(this,t);this.theme="dark"}render(){return t(a,{key:"a024d6ad7c17f14455ab25b23b700c2f63098d14",role:"rowgroup","data-theme":this.theme},t("style",{key:"33868e52817f6d9e238d86074e27876a619f8e6f",innerHTML:r()}),t("slot",{key:"d5306abf932c93ef0d8c760d4f546a4175f8472c"}))}};export{d as diwa_table_body};
|
|
2
|
-
//# sourceMappingURL=p-2b72a324.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as i,h as e,H as r}from"./p-ed4017f0.js";import{b as t,g as a,a as o}from"./p-70bbb21a.js";const s=n=>{const i=n==="success"?"var(--diwa-notification-success)":n==="error"?"var(--diwa-notification-error)":n==="warning"?"var(--diwa-notification-warning)":n==="info"?"var(--diwa-notification-info)":"var(--diwa-text-secondary)";const e=n==="success"?"var(--diwa-notification-success-soft)":n==="error"?"var(--diwa-notification-error-soft)":n==="warning"?"var(--diwa-notification-warning-soft)":n==="info"?"var(--diwa-notification-info-soft)":"var(--diwa-bg-elevated)";return`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n pointer-events: all;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .toast {\n display: flex;\n align-items: center;\n gap: var(--diwa-space-3);\n min-width: var(--diwa-toast-min-width);\n max-width: var(--diwa-toast-max-width);\n padding: var(--diwa-space-4);\n border-radius: var(--diwa-radius-md);\n background: ${e};\n border: var(--diwa-border-width-thin) solid ${i};\n box-shadow: var(--diwa-shadow-md);\n animation: slideIn var(--diwa-motion-duration-short) var(--diwa-motion-easing-out);\n }\n\n @keyframes slideIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n color: ${i};\n }\n\n .text {\n flex: 1;\n font-size: var(--diwa-font-size-sm);\n color: var(--diwa-text-primary);\n line-height: 1.5;\n }\n\n .close {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-touch-target-min-size, 44px);\n height: var(--diwa-touch-target-min-size, 44px);\n border: none;\n background: transparent;\n color: var(--diwa-text-secondary);\n cursor: pointer;\n border-radius: var(--diwa-radius-sm);\n padding: 0;\n transition: color var(--diwa-transition-base);\n }\n\n ${t(".close","color: var(--diwa-text-primary);")}\n\n ${a(".close")}\n\n ${o(".toast",".close")}\n `};const c={neutral:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="8" y1="5" x2="8" y2="8.5"/><circle cx="8" cy="11" r="0.75" fill="currentColor" stroke="none"/></svg>`,info:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="8" y1="5" x2="8" y2="8.5"/><circle cx="8" cy="11" r="0.75" fill="currentColor" stroke="none"/></svg>`,success:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="6.5"/><polyline points="5,8 7,10 11,6"/></svg>`,warning:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M8 2.5L14 13H2L8 2.5Z"/><line x1="8" y1="6.5" x2="8" y2="9.5"/><circle cx="8" cy="11.5" r="0.75" fill="currentColor" stroke="none"/></svg>`,error:`<svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><line x1="5.5" y1="5.5" x2="10.5" y2="10.5"/><line x1="10.5" y1="5.5" x2="5.5" y2="10.5"/></svg>`};const d=`<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>`;const l=class{constructor(e){n(this,e);this.dismiss=i(this,"dismiss",1);this.theme="dark";this.text="";this.state="neutral";this.handleClose=()=>{this.dismiss.emit()}}render(){return e(r,{key:"5ca70d89e0dcf38887c4911ba4a7d4c4687f6e9a","data-theme":this.theme},e("style",{key:"b77d3924036bea1e8613e429ef9095092b8aede4",innerHTML:s(this.state)}),e("div",{key:"6ce3268afcb611334446b86b1a1d24aaba56d97f",class:"toast"},e("span",{key:"b52ea94a3bce267374add9e7672d475e5011cdcf",class:"icon","aria-hidden":"true",innerHTML:c[this.state]}),e("span",{key:"6d6c2bfe94a296d8e9cef85a52dd2fe875dc6e82",class:"text"},this.text),e("button",{key:"9666a6fc76813134644e8fdd3a0cfbb273025eb8",type:"button",class:"close","aria-label":"Dismiss notification",onClick:this.handleClose,innerHTML:d})))}static get delegatesFocus(){return true}};export{l as diwa_toast_item};
|
|
2
|
-
//# sourceMappingURL=p-339f6ba7.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,h as e,H as t,g as a}from"./p-ed4017f0.js";const i=(n,e)=>`\n :host {\n display: table-cell;\n padding: var(--diwa-table-padding, var(--diwa-space-fluid-md));\n background: var(--diwa-table-header-bg, var(--diwa-bg-elevated));\n text-align: start;\n font-size: var(--diwa-font-size-sm);\n font-weight: var(--diwa-font-weight-semibold);\n color: var(--diwa-text-secondary);\n border-bottom: var(--diwa-border-width-base) solid var(--diwa-table-border-color, var(--diwa-border));\n border-right: var(--diwa-table-column-border, none);\n white-space: ${e?"normal":"nowrap"};\n vertical-align: middle;\n }\n :host(:last-child) { border-right: none; }\n :host([hidden]) { display: none; }\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 ${n?`\n .sort-btn {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-1);\n background: transparent;\n border: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n padding: 0;\n text-align: start;\n outline-offset: 2px;\n transition: color var(--diwa-transition-base);\n white-space: ${e?"normal":"nowrap"};\n }\n .sort-btn:hover {\n color: var(--diwa-text-primary);\n }\n `:""}\n`;const r=class{constructor(e){n(this,e);this.theme="dark";this.hideLabel=false;this.multiline=false;this.handleSort=()=>{if(!this.sort)return;const n=this.sort.active?this.sort.direction==="asc"?"desc":"asc":this.sort.direction;this.host.dispatchEvent(new CustomEvent("diwaTableUpdate",{bubbles:true,composed:true,detail:{id:this.sort.id,active:true,direction:n}}))}}render(){const{sort:n,hideLabel:a,multiline:r}=this;const o=!!n;const d=!o?undefined:n.active?n.direction==="asc"?"ascending":"descending":"none";const s=e("span",{key:"3763494f5c22dc12b37dcac58c213597c84e6711",class:a?"sr-only":undefined},e("slot",{key:"0b5b5c768b9c225e73c45a257ce26d4521777266"}));const c=e("svg",{key:"12e03df96dcd7ba962cdd00a6d013833e23a86b0",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",style:{opacity:(n===null||n===void 0?void 0:n.active)?"1":"0.4",transform:(n===null||n===void 0?void 0:n.direction)==="desc"?"rotate(180deg)":"none",transition:"opacity 150ms ease, transform 150ms ease",flexShrink:"0",display:"block"}},e("path",{key:"d2ecf59d26781da72b37a4be364aa293531c79cd",d:"M4 10L8 6L12 10",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}));return e(t,{key:"d34447c382406fccd6da18cd313524c0fa7572ae",role:"columnheader","aria-sort":d},e("style",{key:"867bd55aad47be3565ac1393f02d5e8473293c99",innerHTML:i(o,r)}),o?e("button",{type:"button",class:"sort-btn",onClick:this.handleSort},s,c):s)}get host(){return a(this)}};export{r as diwa_table_head_cell};
|
|
2
|
-
//# sourceMappingURL=p-3b7a1431.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","sortable","multiline","DiwaTableHeadCell","constructor","hostRef","this","theme","hideLabel","handleSort","sort","next","active","direction","host","dispatchEvent","CustomEvent","bubbles","composed","detail","id","render","isSortable","ariaSort","undefined","labelEl","h","key","class","sortIcon","width","height","viewBox","fill","style","opacity","transform","transition","flexShrink","display","d","stroke","Host","role","innerHTML","type","onClick"],"sources":["src/components/diwa-table-head-cell/diwa-table-head-cell-styles.ts","src/components/diwa-table-head-cell/diwa-table-head-cell.tsx"],"sourcesContent":["export const getComponentCss = (sortable: boolean, multiline: boolean): string => `\r\n :host {\r\n display: table-cell;\r\n padding: var(--diwa-table-padding, var(--diwa-space-fluid-md));\r\n background: var(--diwa-table-header-bg, var(--diwa-bg-elevated));\r\n text-align: start;\r\n font-size: var(--diwa-font-size-sm);\r\n font-weight: var(--diwa-font-weight-semibold);\r\n color: var(--diwa-text-secondary);\r\n border-bottom: var(--diwa-border-width-base) solid var(--diwa-table-border-color, var(--diwa-border));\r\n border-right: var(--diwa-table-column-border, none);\r\n white-space: ${multiline ? 'normal' : 'nowrap'};\r\n vertical-align: middle;\r\n }\r\n :host(:last-child) { border-right: none; }\r\n :host([hidden]) { display: none; }\r\n\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border: 0;\r\n }\r\n\r\n ${sortable ? `\r\n .sort-btn {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n background: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n font: inherit;\r\n color: inherit;\r\n padding: 0;\r\n text-align: start;\r\n outline-offset: 2px;\r\n transition: color var(--diwa-transition-base);\r\n white-space: ${multiline ? 'normal' : 'nowrap'};\r\n }\r\n .sort-btn:hover {\r\n color: var(--diwa-text-primary);\r\n }\r\n ` : ''}\r\n`;\r\n","import { Component, Element, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { Direction, TableHeadCellSort, TableUpdateEventDetail } from './types';\r\nimport { getComponentCss } from './diwa-table-head-cell-styles';\r\n\r\n/** @component diwa-table-head-cell — Maps to <th> inside a diwa-table-head row. */\r\n@Component({ tag: 'diwa-table-head-cell', shadow: true })\r\nexport class DiwaTableHeadCell {\r\n @Element() host!: HTMLElement;\r\n\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n @Prop() sort?: TableHeadCellSort;\r\n @Prop() hideLabel: boolean = false;\r\n @Prop() multiline: boolean = false;\r\n\r\n private handleSort = (): void => {\r\n if (!this.sort) return;\r\n const next: Direction = this.sort.active\r\n ? this.sort.direction === 'asc' ? 'desc' : 'asc'\r\n : this.sort.direction;\r\n this.host.dispatchEvent(\r\n new CustomEvent<TableUpdateEventDetail>('diwaTableUpdate', {\r\n bubbles: true,\r\n composed: true,\r\n detail: { id: this.sort.id, active: true, direction: next },\r\n }),\r\n );\r\n };\r\n\r\n render() {\r\n const { sort, hideLabel, multiline } = this;\r\n const isSortable = !!sort;\r\n const ariaSort = !isSortable\r\n ? undefined\r\n : sort.active\r\n ? sort.direction === 'asc' ? 'ascending' : 'descending'\r\n : 'none';\r\n\r\n const labelEl = (\r\n <span class={hideLabel ? 'sr-only' : undefined}>\r\n <slot />\r\n </span>\r\n );\r\n\r\n const sortIcon = (\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n aria-hidden=\"true\"\r\n style={{\r\n opacity: sort?.active ? '1' : '0.4',\r\n transform: sort?.direction === 'desc' ? 'rotate(180deg)' : 'none',\r\n transition: 'opacity 150ms ease, transform 150ms ease',\r\n flexShrink: '0',\r\n display: 'block',\r\n }}\r\n >\r\n <path\r\n d=\"M4 10L8 6L12 10\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n\r\n return (\r\n <Host role=\"columnheader\" aria-sort={ariaSort}>\r\n <style innerHTML={getComponentCss(isSortable, multiline)} />\r\n {isSortable ? (\r\n <button type=\"button\" class=\"sort-btn\" onClick={this.handleSort}>\r\n {labelEl}\r\n {sortIcon}\r\n </button>\r\n ) : (\r\n labelEl\r\n )}\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,CAACC,EAAmBC,IAA+B,2gBAW/DA,EAAY,SAAW,2VAkBtCD,EAAW,6VAcIC,EAAY,SAAW,qFAKpC,O,MCzCOC,EAAiB,MAD9B,WAAAC,CAAAC,G,UAI2BC,KAAAC,MAAe,OAEhCD,KAAAE,UAAqB,MACrBF,KAAAJ,UAAqB,MAErBI,KAAAG,WAAa,KACnB,IAAKH,KAAKI,KAAM,OAChB,MAAMC,EAAkBL,KAAKI,KAAKE,OAC9BN,KAAKI,KAAKG,YAAc,MAAQ,OAAS,MACzCP,KAAKI,KAAKG,UACdP,KAAKQ,KAAKC,cACR,IAAIC,YAAoC,kBAAmB,CACzDC,QAAS,KACTC,SAAU,KACVC,OAAQ,CAAEC,GAAId,KAAKI,KAAKU,GAAIR,OAAQ,KAAMC,UAAWF,KAExD,C,CAGH,MAAAU,GACE,MAAMX,KAAEA,EAAIF,UAAEA,EAASN,UAAEA,GAAcI,KACvC,MAAMgB,IAAeZ,EACrB,MAAMa,GAAYD,EACdE,UACAd,EAAKE,OACHF,EAAKG,YAAc,MAAQ,YAAc,aACzC,OAEN,MAAMY,EACJC,EAAA,QAAAC,IAAA,2CAAMC,MAAOpB,EAAY,UAAYgB,WACnCE,EAAA,QAAAC,IAAA,8CAIJ,MAAME,EACJH,EAAA,OAAAC,IAAA,2CACEG,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OAAM,cACC,OACZC,MAAO,CACLC,SAASzB,IAAI,MAAJA,SAAI,SAAJA,EAAME,QAAS,IAAM,MAC9BwB,WAAW1B,IAAI,MAAJA,SAAI,SAAJA,EAAMG,aAAc,OAAS,iBAAmB,OAC3DwB,WAAY,2CACZC,WAAY,IACZC,QAAS,UAGXb,EAAA,QAAAC,IAAA,2CACEa,EAAE,kBACFC,OAAO,eAAc,eACR,MAAK,iBACH,QAAO,kBACN,WAKtB,OACEf,EAACgB,EAAI,CAAAf,IAAA,2CAACgB,KAAK,eAAc,YAAYpB,GACnCG,EAAA,SAAAC,IAAA,2CAAOiB,UAAW5C,EAAgBsB,EAAYpB,KAC7CoB,EACCI,EAAA,UAAQmB,KAAK,SAASjB,MAAM,WAAWkB,QAASxC,KAAKG,YAClDgB,EACAI,GACM,E","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(e){s(this,e);this.change=t(this,"change",7);this.input=t(this,"input",7);this.blur=t(this,"blur",3);this.focus=t(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.showClearButton=true;this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)};this.handleClear=()=>{this.value="";this.input.emit("");this.change.emit("")}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const t="desc";const a="msg";const d=this.showClearButton&&!!this.value&&!this.disabled&&!this.readonly;return e(i,{key:"3f49df473469b199d44e240572e09bb9e159cfd3","data-theme":this.theme},e("style",{key:"3dd2dcf3d7291af66789afc82d5d5deb6c56a27c",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,d)}),e("div",{key:"388430466029a911917ef8f61697e72abd46239c",class:"root"},!this.hideLabel&&this.label&&e("div",{key:"3b6a12eca69a7efe4a3701f78c8e9892edd752f2",class:"label-row"},e("label",{key:"66bac4991da6ba5a758717d3b84bb1ab234b4cd9",class:"label",htmlFor:s},this.label,this.required&&e("span",{key:"30275a5cbe643516887f55b377ae8b0e0a9d6387",class:"required","aria-hidden":"true"}," *")),e("slot",{key:"548dc2886eb1d0dfe6987ddf5ce5227aec30b90c",name:"label-after"})),e("div",{key:"6f746707baccfa7c3668c26e53d40af2c6ffd6b3",class:"input-wrapper"},this._hasStart&&e("div",{key:"675fcd21531dbd7bc91c1580ce41ffe3542cbd07",class:"slot-start"},e("slot",{key:"913ed407b729f851f719c5bf7e299eeffbb2bf4c",name:"start"})),e("input",{key:"b751aedd290db42d8d297b2e58d355b8fb0a5032",id:s,class:"input",type:"search",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?t:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&e("div",{key:"eafa27ed273229c774e1c6e1bd92ba14a499418c",class:"slot-end"},e("slot",{key:"910843c5913cb508fdb66c0aa171e4b1e05be583",name:"end"})),d&&e("button",{key:"676246830cf3a5701d6820082af813cd55b76d61",class:"suffix-btn",type:"button","aria-label":"Clear search",onClick:this.handleClear},e("diwa-icon",{key:"a03bd3b761dec94a4659f55780cabf47b5be9084",name:"x",size:14}))),!this.message&&this.description&&e("p",{key:"57c2a7184df72cd5fc09ccb9e504638cbec520ed",id:t,class:"description"},this.description),this.message&&e("p",{key:"a224ae6925af433f90a21dc811b8376ccb4fa176",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_search};
|
|
2
|
-
//# sourceMappingURL=p-4a84fee8.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","DiwaSelectOption","constructor","hostRef","this","disabled","selected","highlighted","theme","handleClick","diwaSelectOptionUpdate","emit","value","handleKeyDown","e","key","preventDefault","setFocus","_a","optionEl","focus","render","h","Host","innerHTML","class","role","undefined","tabIndex","onClick","onKeyDown","ref","el","part"],"sources":["src/components/diwa-select-option/diwa-select-option-styles.ts","src/components/diwa-select-option/diwa-select-option.tsx"],"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 {\n background-color: var(--diwa-bg-hover);\n }\n\n @media (hover: hover) and (pointer: fine) {\n .option:hover {\n background-color: var(--diwa-bg-hover);\n }\n }\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 /* ── 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","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 /**\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"],"mappings":"2GAEO,MAAMA,EAAkB,IAAc,44BAiCzCC,EAAc,k3CA0DdC,EAAsB,e,MCxEbC,EAAgB,MAJ7B,WAAAC,CAAAC,G,yEAW2BC,KAAAC,SAAoB,MAMLD,KAAAE,SAAoB,MAMpBF,KAAAG,YAAuB,MAGtCH,KAAAI,MAAe,OAiBhCJ,KAAAK,YAAc,KACpB,GAAIL,KAAKC,SAAU,OACnBD,KAAKM,uBAAuBC,KAAK,CAAEC,MAAOR,KAAKQ,OAAQ,EAGjDR,KAAAS,cAAiBC,IACvB,GAAIV,KAAKC,SAAU,OACnB,GAAIS,EAAEC,MAAQ,SAAWD,EAAEC,MAAQ,IAAK,CACtCD,EAAEE,iBACFZ,KAAKM,uBAAuBC,KAAK,CAAEC,MAAOR,KAAKQ,O,GAfnD,cAAMK,G,OACJC,EAAAd,KAAKe,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAkBjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAR,IAAA,wDAAaX,KAAKI,OACrBc,EAAA,SAAAP,IAAA,2CAAOS,UAAW1B,MAClBwB,EAAA,OAAAP,IAAA,2CACEU,MAAM,SACNC,KAAK,SAAQ,gBACEtB,KAAKE,SAAW,OAAS,QAAO,gBAChCF,KAAKC,SAAW,OAASsB,UACxCC,SAAUxB,KAAKC,UAAY,EAAI,EAC/BwB,QAASzB,KAAKK,YACdqB,UAAW1B,KAAKS,cAChBkB,IAAMC,GAAQ5B,KAAKe,SAAWa,EAC9BC,KAAK,UAELX,EAAA,QAAAP,IAAA,2CAAMU,MAAM,QAAO,cAAa,OAAOQ,KAAK,SAAO,KACnDX,EAAA,QAAAP,IAAA,2CAAMU,MAAM,QAAQQ,KAAK,SACvBX,EAAA,QAAAP,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as a,h as t,H as e,g as i}from"./p-ed4017f0.js";import{g as r,a as s}from"./p-70bbb21a.js";const o=()=>`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .bar {\n display: flex;\n align-items: flex-end;\n gap: 0;\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n .bar::-webkit-scrollbar {\n display: none;\n }\n\n .tab-btn {\n display: inline-flex;\n align-items: center;\n min-height: var(--diwa-touch-target-min-size, 44px);\n padding: var(--diwa-space-4) var(--diwa-space-7);\n border: none;\n border-bottom: var(--diwa-border-width-base) solid transparent;\n background: transparent;\n font-size: var(--diwa-font-size-base);\n font-family: inherit;\n white-space: nowrap;\n cursor: pointer;\n margin-bottom: -1px;\n transition: color var(--diwa-transition-base), border-color var(--diwa-transition-base);\n color: var(--diwa-text-secondary);\n font-weight: var(--diwa-font-weight-medium);\n }\n\n @media (hover: hover) and (pointer: fine) {\n .tab-btn:hover {\n color: var(--diwa-text-primary);\n }\n }\n\n .tab-btn[aria-selected="true"] {\n color: var(--diwa-accent);\n border-bottom-color: var(--diwa-accent);\n font-weight: var(--diwa-font-weight-medium);\n }\n\n ${r(".tab-btn")}\n\n .panels {\n padding-top: var(--diwa-space-4);\n }\n\n ${s(".tab-btn")}\n`;const d=class{constructor(t){n(this,t);this.update=a(this,"update",1);this.theme="dark";this.activeTabIndex=0}handleIndexChange(){this.syncItems()}componentDidLoad(){this.syncItems()}componentDidUpdate(){this.syncItems()}getItems(){return Array.from(this.host.querySelectorAll("diwa-tabs-item"))}syncItems(){const n=this.getItems();n.forEach(((n,a)=>{n.active=a===this.activeTabIndex;n.setAttribute("id",`panel-${a}`)}))}handleTabClick(n){if(n===this.activeTabIndex)return;this.activeTabIndex=n;this.update.emit({activeTabIndex:n});this.syncItems()}render(){const n=this.getItems();return t(e,{key:"fc8d9535c8fc57e335842f9687e864679320a5ea","data-theme":this.theme},t("style",{key:"471a5b372635bef38e38198b5793b3e3f96cb17b",innerHTML:o()}),t("div",{key:"0321394c0b6cdd768025d9fd7cee711a05197cfa",class:"bar",role:"tablist"},n.map(((n,a)=>t("button",{class:"tab-btn",key:a,role:"tab",type:"button","aria-selected":a===this.activeTabIndex?"true":"false","aria-controls":`panel-${a}`,tabindex:a===this.activeTabIndex?0:-1,onClick:()=>this.handleTabClick(a)},n.label||`Tab ${a+1}`)))),t("div",{key:"a1480ac6ff722ffc09449141e79070801e5886c7",class:"panels"},t("slot",{key:"98c11b57681a9e9831c233adcf2be283c5fdb0b7"})))}get host(){return i(this)}static get watchers(){return{activeTabIndex:["handleIndexChange"]}}};export{d as diwa_tabs};
|
|
2
|
-
//# sourceMappingURL=p-51673c06.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","getFocusStyle","getReducedMotionStyle","DiwaTabs","constructor","hostRef","this","theme","activeTabIndex","handleIndexChange","syncItems","componentDidLoad","componentDidUpdate","getItems","Array","from","host","querySelectorAll","items","forEach","item","i","active","setAttribute","handleTabClick","index","update","emit","render","h","Host","key","innerHTML","class","role","map","type","tabindex","onClick","label"],"sources":["src/components/diwa-tabs/diwa-tabs-styles.ts","src/components/diwa-tabs/diwa-tabs.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n .bar {\r\n display: flex;\r\n align-items: flex-end;\r\n gap: 0;\r\n border-bottom: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n overflow-x: auto;\r\n scrollbar-width: none;\r\n }\r\n\r\n .bar::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n .tab-btn {\n display: inline-flex;\n align-items: center;\n min-height: var(--diwa-touch-target-min-size, 44px);\n padding: var(--diwa-space-4) var(--diwa-space-7);\n border: none;\r\n border-bottom: var(--diwa-border-width-base) solid transparent;\r\n background: transparent;\r\n font-size: var(--diwa-font-size-base);\r\n font-family: inherit;\r\n white-space: nowrap;\r\n cursor: pointer;\r\n margin-bottom: -1px;\r\n transition: color var(--diwa-transition-base), border-color var(--diwa-transition-base);\r\n color: var(--diwa-text-secondary);\r\n font-weight: var(--diwa-font-weight-medium);\r\n }\r\n\r\n @media (hover: hover) and (pointer: fine) {\n .tab-btn:hover {\n color: var(--diwa-text-primary);\n }\n }\n\r\n .tab-btn[aria-selected=\"true\"] {\r\n color: var(--diwa-accent);\r\n border-bottom-color: var(--diwa-accent);\r\n font-weight: var(--diwa-font-weight-medium);\r\n }\r\n\r\n ${getFocusStyle('.tab-btn')}\r\n\r\n .panels {\r\n padding-top: var(--diwa-space-4);\r\n }\r\n\r\n ${getReducedMotionStyle('.tab-btn')}\r\n`;\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { TabsUpdateEventDetail } from './types';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-tabs-styles';\r\n\r\n/**\r\n * @component diwa-tabs\r\n *\r\n * A full tabs component consisting of an integrated tab bar and panel area.\r\n * Accepts `diwa-tabs-item` elements as children. The component renders\r\n * its own horizontal tab buttons and shows only the panel for the active\r\n * tab.\r\n *\r\n * Usage:\r\n * <diwa-tabs active-tab-index={0} onupdate={e => setTab(e.detail.activeTabIndex)}>\r\n * <diwa-tabs-item label=\"Overview\">Content A</diwa-tabs-item>\r\n * <diwa-tabs-item label=\"Details\">Content B</diwa-tabs-item>\r\n * </diwa-tabs>\r\n */\r\n@Component({\r\n tag: 'diwa-tabs',\r\n shadow: true,\r\n})\r\nexport class DiwaTabs {\r\n @Element() host!: HTMLDiwaTabsElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Zero-based index of the currently active tab. */\r\n @Prop({ mutable: true, attribute: 'active-tab-index' })\r\n activeTabIndex: number = 0;\r\n\r\n /**\r\n * Emitted when the user selects a different tab.\r\n */\r\n @Event({ bubbles: false, composed: false })\r\n update!: EventEmitter<TabsUpdateEventDetail>;\r\n\r\n @Watch('activeTabIndex')\r\n handleIndexChange() {\r\n this.syncItems();\r\n }\r\n\r\n componentDidLoad() {\r\n this.syncItems();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.syncItems();\r\n }\r\n\r\n private getItems(): HTMLDiwaTabsItemElement[] {\r\n return Array.from(this.host.querySelectorAll('diwa-tabs-item')) as HTMLDiwaTabsItemElement[];\r\n }\r\n\r\n private syncItems() {\r\n const items = this.getItems();\r\n items.forEach((item, i) => {\r\n (item as any).active = i === this.activeTabIndex;\r\n item.setAttribute('id', `panel-${i}`);\r\n });\r\n }\r\n\r\n private handleTabClick(index: number) {\r\n if (index === this.activeTabIndex) return;\r\n this.activeTabIndex = index;\r\n this.update.emit({ activeTabIndex: index });\r\n this.syncItems();\r\n }\r\n\r\n render() {\r\n const items = this.getItems();\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <div class=\"bar\" role=\"tablist\">\r\n {items.map((item, i) => (\r\n <button\r\n class=\"tab-btn\"\r\n key={i}\r\n role=\"tab\"\r\n type=\"button\"\r\n aria-selected={i === this.activeTabIndex ? 'true' : 'false'}\r\n aria-controls={`panel-${i}`}\r\n tabindex={i === this.activeTabIndex ? 0 : -1}\r\n onClick={() => this.handleTabClick(i)}\r\n >\r\n {(item as any).label || `Tab ${i + 1}`}\r\n </button>\r\n ))}\r\n </div>\r\n <div class=\"panels\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAEO,MAAMA,EAAkB,IAAc,mzCAqDzCC,EAAc,+EAMdC,EAAsB,gB,MCtCbC,EAAQ,MAJrB,WAAAC,CAAAC,G,yCAQ2BC,KAAAC,MAAe,OAIxCD,KAAAE,eAAyB,C,CASzB,iBAAAC,GACEH,KAAKI,W,CAGP,gBAAAC,GACEL,KAAKI,W,CAGP,kBAAAE,GACEN,KAAKI,W,CAGC,QAAAG,GACN,OAAOC,MAAMC,KAAKT,KAAKU,KAAKC,iBAAiB,kB,CAGvC,SAAAP,GACN,MAAMQ,EAAQZ,KAAKO,WACnBK,EAAMC,SAAQ,CAACC,EAAMC,KAClBD,EAAaE,OAASD,IAAMf,KAAKE,eAClCY,EAAKG,aAAa,KAAM,SAASF,IAAI,G,CAIjC,cAAAG,CAAeC,GACrB,GAAIA,IAAUnB,KAAKE,eAAgB,OACnCF,KAAKE,eAAiBiB,EACtBnB,KAAKoB,OAAOC,KAAK,CAAEnB,eAAgBiB,IACnCnB,KAAKI,W,CAGP,MAAAkB,GACE,MAAMV,EAAQZ,KAAKO,WAEnB,OACEgB,EAACC,EAAI,CAAAC,IAAA,wDAAazB,KAAKC,OACrBsB,EAAA,SAAAE,IAAA,2CAAOC,UAAWhC,MAClB6B,EAAA,OAAAE,IAAA,2CAAKE,MAAM,MAAMC,KAAK,WACnBhB,EAAMiB,KAAI,CAACf,EAAMC,IAChBQ,EAAA,UACEI,MAAM,UACNF,IAAKV,EACLa,KAAK,MACLE,KAAK,SAAQ,gBACEf,IAAMf,KAAKE,eAAiB,OAAS,QAAO,gBAC5C,SAASa,IACxBgB,SAAUhB,IAAMf,KAAKE,eAAiB,GAAK,EAC3C8B,QAAS,IAAMhC,KAAKkB,eAAeH,IAEjCD,EAAamB,OAAS,OAAOlB,EAAI,QAIzCQ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,UACTJ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as t,h as e,H as i,g as a}from"./p-ed4017f0.js";import{g as h}from"./p-35c7c864.js";import"./p-70bbb21a.js";const d=class{constructor(e){s(this,e);this.change=t(this,"change",7);this.input=t(this,"input",7);this.blur=t(this,"blur",3);this.focus=t(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const t="desc";const a="msg";return e(i,{key:"a33af1297d334f3a9acec8403154c96492657c91","data-theme":this.theme},e("style",{key:"37551d1e5512119fab5536d698a80af76825cbf2",innerHTML:h(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),e("div",{key:"c1bc70168334b6f24fdcfab73d09db078577ae25",class:"root"},!this.hideLabel&&this.label&&e("div",{key:"2e8b3a309d7f61e5d7c199d3f6a68e9976972bcc",class:"label-row"},e("label",{key:"b0a4b4ca66113bfb3792873c5a4080ccc6c465a0",class:"label",htmlFor:s},this.label,this.required&&e("span",{key:"1c964830bf67b8a3d940bdb9bad233e6d679160b",class:"required","aria-hidden":"true"}," *")),e("slot",{key:"c50d80d0a9cd2f4bc3436b1fb5ba12a2b1c31c5f",name:"label-after"})),e("div",{key:"9a8a3023abb52332d74330dbfd7c93fdc4ad40f3",class:"input-wrapper"},this._hasStart&&e("div",{key:"ff085b2b283e1774e6cb71b21afc0b4647f4377d",class:"slot-start"},e("slot",{key:"7cb492fc970f8a8f773872daecd97e5d6362e986",name:"start"})),e("input",{key:"944a49cd9b5277e32440044015ea60863ee197fe",id:s,class:"input",type:"text",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,maxLength:this.maxLength,minLength:this.minLength,spellcheck:this.spellCheck,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?t:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&e("div",{key:"7f753a201a2bc3dcf0b687f4edd038e4d54572f3",class:"slot-end"},e("slot",{key:"f81ad5cf908f710f7dba08bf3c0b0d7afbf33c9b",name:"end"}))),!this.message&&this.description&&e("p",{key:"19763f04411a10c5d4cb6565f01655b21982e919",id:t,class:"description"},this.description),this.message&&e("p",{key:"dee92d6fb1e56760e29d9cf18f2e4ded55065192",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{d as diwa_input_text};
|
|
2
|
-
//# sourceMappingURL=p-5c2325aa.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as t,H as i}from"./p-ed4017f0.js";const e={"x-small":"var(--diwa-font-size-xs)",small:"var(--diwa-font-size-md)",medium:"var(--diwa-font-size-base)",large:"var(--diwa-font-size-lg)","x-large":"var(--diwa-font-size-xl)","xx-large":"var(--diwa-font-size-3xl)"};const n={regular:"var(--diwa-font-weight-normal)",semibold:"var(--diwa-font-weight-semibold)",bold:"var(--diwa-font-weight-bold)"};const s={primary:"var(--diwa-text-primary)",secondary:"var(--diwa-text-secondary)",tertiary:"var(--diwa-text-tertiary)",inherit:"inherit"};const r=(a,t,i,r,d)=>`\n\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .text {\n margin: 0;\n padding: 0;\n font-size: ${e[a]};\n font-weight: ${n[t]};\n line-height: var(--diwa-line-height-normal);\n text-align: ${i};\n color: ${s[r]};\n ${d?"overflow: hidden; text-overflow: ellipsis; white-space: nowrap;":""}\n }\n`;const d=class{constructor(t){a(this,t);this.theme="dark";this.tag="p";this.size="small";this.weight="regular";this.align="start";this.color="primary";this.ellipsis=false}render(){const a=this.tag;return t(i,{key:"9f5fd3cbc2cd12f7fef7b55c095aff9cddbbfe30","data-theme":this.theme},t("style",{key:"a83a6f78e4bc7474ce28cf1d3010a021e1bbf099",innerHTML:r(this.size,this.weight,this.align,this.color,this.ellipsis)}),t(a,{key:"24f5ac5e6bcbeaad882089d9a4a996184e712b7d",class:"text"},t("slot",{key:"027dc2c754f75aa59d4616565c53599051497748"})))}};export{d as diwa_text};
|
|
2
|
-
//# sourceMappingURL=p-5cd79382.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as n,c as e,h as t,H as a,g as i}from"./p-ed4017f0.js";import{g as r,a as s}from"./p-70bbb21a.js";const o=(n,e,t)=>{const a=t?"14px":"18px";const i=t?"6px":"8px";return`\n :host {\n display: block;\n font-family: var(--diwa-font-family-base);\n outline: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .wrapper {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--diwa-space-3);\n cursor: pointer;\n }\n\n :host([disabled]) .wrapper {\n cursor: not-allowed;\n }\n\n .input-container {\n position: relative;\n flex-shrink: 0;\n width: ${a};\n height: ${a};\n margin-top: calc((1.5em - ${a}) / 2);\n }\n\n input[type="radio"] {\n appearance: none;\n -webkit-appearance: none;\n display: block;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n cursor: pointer;\n border-radius: 50%;\n border: var(--diwa-border-width-medium) solid ${n?"var(--diwa-accent)":"var(--diwa-border)"};\n background: ${n?"var(--diwa-accent)":"transparent"};\n transition: border-color var(--diwa-transition-base), background var(--diwa-transition-base);\n }\n\n input[type="radio"]:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n ${r('input[type="radio"]')}\n\n /* Dot indicator when checked */\n .input-container::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: ${i};\n height: ${i};\n border-radius: 50%;\n background: var(--diwa-text-on-accent, #fff);\n opacity: ${n?"1":"0"};\n pointer-events: none;\n transition: opacity var(--diwa-transition-base);\n }\n\n .label-text {\n font-size: var(--diwa-font-size-base);\n color: var(--diwa-text-primary);\n line-height: 1.5;\n user-select: none;\n }\n\n :host([disabled]) .label-text {\n color: var(--diwa-text-muted);\n }\n\n ${s('input[type="radio"]',".input-container::after")}\n `};const d=class{constructor(t){n(this,t);this.radioSelect=e(this,"diwa-radio-select",7);this.theme="dark";this.value="";this.checked=false;this.name="";this.disabled=false;this.compact=false;this.handleChange=()=>{if(this.disabled)return;this.checked=true;this.radioSelect.emit({value:this.value})}}handleCheckedChange(n){var e;const t=(e=this.host.shadowRoot)===null||e===void 0?void 0:e.querySelector("input");if(t)t.checked=n}render(){const n=`diwa-rgi-${this.value||Math.random().toString(36).slice(2,7)}`;return t(a,{key:"601466853aeddd1ff2903f879e7231e408434bf3"},t("style",{key:"81305a16ccf6c2c50384dc6f1fa5055f4a529a66",innerHTML:o(this.checked,this.disabled,this.compact)}),t("label",{key:"19ac3315bb5f8505001633e1fe1f9463f2d5df63",class:"wrapper"},t("span",{key:"f24bb10f78a1096212bd8fb49c164e21f64d6d28",class:"input-container"},t("input",{key:"95e29f346d1ef84f50ca00565394580ec57f8473",id:n,type:"radio",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,onChange:this.handleChange,"aria-checked":this.checked?"true":"false"})),t("span",{key:"5d0e84e14ae2778bdf5bc3a1c80be6aa41cbe098",class:"label-text"},t("slot",{key:"20243975c3f1c7f372e1e0c081fd92f2067c0b47"}))))}static get delegatesFocus(){return true}get host(){return i(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};export{d as diwa_radio_group_item};
|
|
2
|
-
//# sourceMappingURL=p-67950f59.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","checked","disabled","compact","boxSize","dotSize","getFocusStyle","getReducedMotionStyle","DiwaRadioGroupItem","constructor","hostRef","this","theme","value","name","handleChange","radioSelect","emit","handleCheckedChange","newVal","input","_a","host","shadowRoot","querySelector","render","labelId","Math","random","toString","slice","h","Host","key","innerHTML","class","id","type","onChange"],"sources":["src/components/diwa-radio-group-item/diwa-radio-group-item-styles.ts","src/components/diwa-radio-group-item/diwa-radio-group-item.tsx"],"sourcesContent":["import { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nexport const getComponentCss = (\r\n checked: boolean,\r\n disabled: boolean,\r\n compact: boolean,\r\n): string => {\r\n const boxSize = compact ? '14px' : '18px';\r\n const dotSize = compact ? '6px' : '8px';\r\n\r\n return `\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 .wrapper {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--diwa-space-3);\r\n cursor: pointer;\r\n }\r\n\r\n :host([disabled]) .wrapper {\r\n cursor: not-allowed;\r\n }\r\n\r\n .input-container {\r\n position: relative;\r\n flex-shrink: 0;\r\n width: ${boxSize};\r\n height: ${boxSize};\r\n margin-top: calc((1.5em - ${boxSize}) / 2);\r\n }\r\n\r\n input[type=\"radio\"] {\r\n appearance: none;\r\n -webkit-appearance: none;\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n border-radius: 50%;\r\n border: var(--diwa-border-width-medium) solid ${checked ? 'var(--diwa-accent)' : 'var(--diwa-border)'};\r\n background: ${checked ? 'var(--diwa-accent)' : 'transparent'};\r\n transition: border-color var(--diwa-transition-base), background var(--diwa-transition-base);\r\n }\r\n\r\n input[type=\"radio\"]:disabled {\r\n cursor: not-allowed;\r\n opacity: 0.4;\r\n }\r\n\r\n ${getFocusStyle('input[type=\"radio\"]')}\r\n\r\n /* Dot indicator when checked */\r\n .input-container::after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: ${dotSize};\r\n height: ${dotSize};\r\n border-radius: 50%;\r\n background: var(--diwa-text-on-accent, #fff);\r\n opacity: ${checked ? '1' : '0'};\r\n pointer-events: none;\r\n transition: opacity var(--diwa-transition-base);\r\n }\r\n\r\n .label-text {\r\n font-size: var(--diwa-font-size-base);\r\n color: var(--diwa-text-primary);\r\n line-height: 1.5;\r\n user-select: none;\r\n }\r\n\r\n :host([disabled]) .label-text {\r\n color: var(--diwa-text-muted);\r\n }\r\n\r\n ${getReducedMotionStyle('input[type=\"radio\"]', '.input-container::after')}\r\n `;\r\n};\r\n","import { Component, Element, Event, type EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-radio-group-item-styles';\r\n\r\n/**\r\n * @component diwa-radio-group-item\r\n *\r\n * A single radio option used inside `diwa-radio-group`.\r\n * The group sets `checked`, `name`, and `disabled` automatically — you\r\n * only need to provide `value` and the label via the default slot.\r\n *\r\n * Usage:\r\n * <diwa-radio-group-item value=\"s\">Small</diwa-radio-group-item>\r\n */\r\n@Component({\r\n tag: 'diwa-radio-group-item',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaRadioGroupItem {\r\n @Element() host!: HTMLDiwaRadioGroupItemElement;\r\n\r\n /** Per-component theme override. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** The value submitted/emitted when this item is selected. */\r\n @Prop({ reflect: true }) value: string = '';\r\n\r\n /** Set by the parent diwa-radio-group — do not set directly. */\r\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\r\n\r\n /** Native name — set automatically by the parent group. */\r\n @Prop({ mutable: true, reflect: true }) name: string = '';\r\n\r\n /** Whether this option is disabled. Also set by the parent group when the whole group is disabled. */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n\r\n /** Reduces size for denser layouts. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /**\r\n * Internal event dispatched to the parent group when the user selects this item.\r\n * Consumers should listen to the parent group's `update` event instead.\r\n */\r\n @Event({ bubbles: true, composed: true, eventName: 'diwa-radio-select' })\r\n radioSelect!: EventEmitter<{ value: string }>;\r\n\r\n @Watch('checked')\r\n handleCheckedChange(newVal: boolean) {\r\n const input = this.host.shadowRoot?.querySelector('input');\r\n if (input) input.checked = newVal;\r\n }\r\n\r\n private handleChange = () => {\r\n if (this.disabled) return;\r\n this.checked = true;\r\n this.radioSelect.emit({ value: this.value });\r\n };\r\n\r\n render() {\r\n const labelId = `diwa-rgi-${this.value || Math.random().toString(36).slice(2, 7)}`;\r\n\r\n return (\r\n <Host>\r\n <style innerHTML={getComponentCss(this.checked, this.disabled, this.compact)} />\r\n <label class=\"wrapper\">\r\n <span class=\"input-container\">\r\n <input\r\n id={labelId}\r\n type=\"radio\"\r\n name={this.name}\r\n value={this.value}\r\n checked={this.checked}\r\n disabled={this.disabled}\r\n onChange={this.handleChange}\r\n aria-checked={this.checked ? 'true' : 'false'}\r\n />\r\n </span>\r\n <span class=\"label-text\">\r\n <slot />\r\n </span>\r\n </label>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"2GAEO,MAAMA,EAAkB,CAC7BC,EACAC,EACAC,KAEA,MAAMC,EAAUD,EAAU,OAAS,OACnC,MAAME,EAAUF,EAAU,MAAQ,MAElC,MAAO,mbAyBIC,mBACCA,qCACkBA,4TAcoBH,EAAU,qBAAuB,0CACnEA,EAAU,qBAAuB,qNAS/CK,EAAc,0NASLD,mBACCA,gGAGCJ,EAAU,IAAM,0UAgB3BM,EAAsB,sBAAuB,gCAC9C,E,MCzEUC,EAAkB,MAJ/B,WAAAC,CAAAC,G,yDAQ2BC,KAAAC,MAAe,OAGfD,KAAAE,MAAgB,GAGDF,KAAAV,QAAmB,MAGnBU,KAAAG,KAAe,GAG9BH,KAAAT,SAAoB,MAGpBS,KAAAR,QAAmB,MAepCQ,KAAAI,aAAe,KACrB,GAAIJ,KAAKT,SAAU,OACnBS,KAAKV,QAAU,KACfU,KAAKK,YAAYC,KAAK,CAAEJ,MAAOF,KAAKE,OAAQ,C,CAR9C,mBAAAK,CAAoBC,G,MAClB,MAAMC,GAAQC,EAAAV,KAAKW,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAEG,cAAc,SAClD,GAAIJ,EAAOA,EAAMnB,QAAUkB,C,CAS7B,MAAAM,GACE,MAAMC,EAAU,YAAYf,KAAKE,OAASc,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,KAE9E,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,SAAAE,IAAA,2CAAOC,UAAWlC,EAAgBW,KAAKV,QAASU,KAAKT,SAAUS,KAAKR,WACpE4B,EAAA,SAAAE,IAAA,2CAAOE,MAAM,WACXJ,EAAA,QAAAE,IAAA,2CAAME,MAAM,mBACVJ,EAAA,SAAAE,IAAA,2CACEG,GAAIV,EACJW,KAAK,QACLvB,KAAMH,KAAKG,KACXD,MAAOF,KAAKE,MACZZ,QAASU,KAAKV,QACdC,SAAUS,KAAKT,SACfoC,SAAU3B,KAAKI,aAAY,eACbJ,KAAKV,QAAU,OAAS,WAG1C8B,EAAA,QAAAE,IAAA,2CAAME,MAAM,cACVJ,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,c as n,h as i,H as t}from"./p-ed4017f0.js";import{g as e,a as r}from"./p-70bbb21a.js";const s={neutral:"var(--diwa-bg-surface)",primary:"var(--diwa-accent-bg)",info:"var(--diwa-notification-info-soft)",success:"var(--diwa-notification-success-soft)",warning:"var(--diwa-notification-warning-soft)",error:"var(--diwa-notification-error-soft)"};const o={neutral:"var(--diwa-text-primary)",primary:"var(--diwa-accent)",info:"var(--diwa-notification-info)",success:"var(--diwa-notification-success)",warning:"var(--diwa-notification-warning)",error:"var(--diwa-notification-error)"};const d={neutral:"var(--diwa-border)",primary:"var(--diwa-accent)",info:"var(--diwa-color-info-300)",success:"transparent",warning:"transparent",error:"transparent"};const c=(a,n)=>{const i=s[a];const t=o[a];const c=d[a];const f=n?"1px":"2px";const l=n?"6px":"10px";const w=n?"var(--diwa-font-size-sm)":"var(--diwa-font-size-md)";const h=n?"12px":"14px";return`\n :host {\n display: inline-flex;\n }\n :host([hidden]) {\n display: none;\n }\n .tag {\n display: inline-flex;\n align-items: center;\n gap: var(--diwa-space-1);\n padding: ${f} ${l};\n font-family: var(--diwa-font-family-base);\n font-size: ${w};\n font-weight: var(--diwa-font-weight-medium);\n line-height: var(--diwa-line-height-tight);\n color: ${t};\n background: ${i};\n border: var(--diwa-border-width-thin) solid ${c};\n border-radius: var(--diwa-radius-sm);\n white-space: nowrap;\n user-select: none;\n }\n .dismiss {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${h};\n height: ${h};\n margin-left: var(--diwa-space-0-5);\n padding: 0;\n background: none;\n border: none;\n border-radius: var(--diwa-radius-xs);\n color: inherit;\n cursor: pointer;\n flex-shrink: 0;\n opacity: var(--diwa-opacity-muted);\n transition: opacity var(--diwa-transition-base);\n }\n .dismiss:hover {\n opacity: 1;\n }\n ${e(".dismiss")}\n\n ${r(".dismiss")}\n `};const f=class{constructor(i){a(this,i);this.dismiss=n(this,"dismiss",1);this.variant="neutral";this.compact=false;this.label="Remove";this.theme="dark";this.handleDismiss=()=>{this.dismiss.emit()}}render(){const a=this.compact?12:14;return i(t,{key:"c8ec3a53f5d72a1a8c3f7395287261167408263c","data-theme":this.theme},i("style",{key:"b89acb19c8df5f132aa1a4eeeca2f81333340fdd",innerHTML:c(this.variant,this.compact)}),i("span",{key:"6a82c4cb61b84eb631b7cc441314929ab2ab2496",class:"tag"},i("slot",{key:"4236c4d1ac0f0579804b0a1994ced421670b685c"}),i("button",{key:"831e2295cbd23372f7ba0daa114bef27e0d8c25a",class:"dismiss",type:"button","aria-label":this.label,onClick:this.handleDismiss},i("svg",{key:"8172fd785be3d5cea0a0b38243aac3a1e9f2afa8",xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},i("line",{key:"632af21cd22791194ffdd4a3127b699b359191b6",x1:"18",y1:"6",x2:"6",y2:"18"}),i("line",{key:"45285993ae6ae899a06dab3d903c883632ef262a",x1:"6",y1:"6",x2:"18",y2:"18"})))))}static get delegatesFocus(){return true}};export{f as diwa_tag_dismissible};
|
|
2
|
-
//# sourceMappingURL=p-8012c384.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["VARIANT_BG","neutral","primary","info","success","warning","error","VARIANT_COLOR","VARIANT_BORDER","getComponentCss","variant","compact","bg","color","border","paddingY","paddingX","fontSize","iconSize","getFocusStyle","getReducedMotionStyle","DiwaTagDismissible","constructor","hostRef","this","label","theme","handleDismiss","dismiss","emit","render","h","Host","key","innerHTML","class","type","onClick","xmlns","width","height","viewBox","fill","stroke","x1","y1","x2","y2"],"sources":["src/components/diwa-tag-dismissible/diwa-tag-dismissible-styles.ts","src/components/diwa-tag-dismissible/diwa-tag-dismissible.tsx"],"sourcesContent":["import type { TagVariant } from '../diwa-tag/types';\r\nimport { getFocusStyle, getReducedMotionStyle } from '../../utils/styles';\r\n\r\nconst VARIANT_BG: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-bg-surface)',\r\n primary: 'var(--diwa-accent-bg)',\r\n info: 'var(--diwa-notification-info-soft)',\r\n success: 'var(--diwa-notification-success-soft)',\r\n warning: 'var(--diwa-notification-warning-soft)',\r\n error: 'var(--diwa-notification-error-soft)',\r\n};\r\nconst VARIANT_COLOR: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-text-primary)',\r\n primary: 'var(--diwa-accent)',\r\n info: 'var(--diwa-notification-info)',\r\n success: 'var(--diwa-notification-success)',\r\n warning: 'var(--diwa-notification-warning)',\r\n error: 'var(--diwa-notification-error)',\r\n};\r\nconst VARIANT_BORDER: Record<TagVariant, string> = {\r\n neutral: 'var(--diwa-border)',\r\n primary: 'var(--diwa-accent)',\r\n info: 'var(--diwa-color-info-300)',\r\n success: 'transparent',\r\n warning: 'transparent',\r\n error: 'transparent',\r\n};\r\n\r\nexport const getComponentCss = (variant: TagVariant, compact: boolean): string => {\r\n const bg = VARIANT_BG[variant];\r\n const color = VARIANT_COLOR[variant];\r\n const border = VARIANT_BORDER[variant];\r\n const paddingY = compact ? '1px' : '2px';\r\n const paddingX = compact ? '6px' : '10px';\r\n const fontSize = compact ? 'var(--diwa-font-size-sm)' : 'var(--diwa-font-size-md)';\r\n const iconSize = compact ? '12px' : '14px';\r\n\r\n return `\r\n :host {\r\n display: inline-flex;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .tag {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--diwa-space-1);\r\n padding: ${paddingY} ${paddingX};\r\n font-family: var(--diwa-font-family-base);\r\n font-size: ${fontSize};\r\n font-weight: var(--diwa-font-weight-medium);\r\n line-height: var(--diwa-line-height-tight);\r\n color: ${color};\r\n background: ${bg};\r\n border: var(--diwa-border-width-thin) solid ${border};\r\n border-radius: var(--diwa-radius-sm);\r\n white-space: nowrap;\r\n user-select: none;\r\n }\r\n .dismiss {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: ${iconSize};\r\n height: ${iconSize};\r\n margin-left: var(--diwa-space-0-5);\r\n padding: 0;\r\n background: none;\r\n border: none;\r\n border-radius: var(--diwa-radius-xs);\r\n color: inherit;\r\n cursor: pointer;\r\n flex-shrink: 0;\r\n opacity: var(--diwa-opacity-muted);\r\n transition: opacity var(--diwa-transition-base);\r\n }\r\n .dismiss:hover {\r\n opacity: 1;\r\n }\r\n ${getFocusStyle('.dismiss')}\r\n\r\n ${getReducedMotionStyle('.dismiss')}\r\n `;\r\n};\r\n","import { Component, Event, type EventEmitter, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { TagVariant } from './types';\r\nimport { getComponentCss } from './diwa-tag-dismissible-styles';\r\n\r\n/**\r\n * @slot default — Tag label content.\r\n */\r\n@Component({\r\n tag: 'diwa-tag-dismissible',\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class DiwaTagDismissible {\r\n /** Visual style variant. */\r\n @Prop({ reflect: true }) variant: TagVariant = 'neutral';\r\n\r\n /** Renders a compact (smaller) version of the tag. */\r\n @Prop({ reflect: true }) compact: boolean = false;\r\n\r\n /** Accessible label for the dismiss button. */\r\n @Prop() label?: string = 'Remove';\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n /** Emitted when the dismiss button is clicked. */\r\n @Event({ bubbles: false, composed: false }) dismiss!: EventEmitter<void>;\r\n\r\n private handleDismiss = (): void => {\r\n this.dismiss.emit();\r\n };\r\n\r\n render() {\r\n const iconSize = this.compact ? 12 : 14;\r\n\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.variant, this.compact)} />\r\n <span class=\"tag\">\r\n <slot />\r\n <button\r\n class=\"dismiss\"\r\n type=\"button\"\r\n aria-label={this.label}\r\n onClick={this.handleDismiss}\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={iconSize}\r\n height={iconSize}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\r\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\r\n </svg>\r\n </button>\r\n </span>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"oGAGA,MAAMA,EAAyC,CAC7CC,QAAS,yBACTC,QAAS,wBACTC,KAAS,qCACTC,QAAS,wCACTC,QAAS,wCACTC,MAAS,uCAEX,MAAMC,EAA4C,CAChDN,QAAS,2BACTC,QAAS,qBACTC,KAAS,gCACTC,QAAS,mCACTC,QAAS,mCACTC,MAAS,kCAEX,MAAME,EAA6C,CACjDP,QAAS,qBACTC,QAAS,qBACTC,KAAS,6BACTC,QAAS,cACTC,QAAS,cACTC,MAAS,eAGJ,MAAMG,EAAkB,CAACC,EAAqBC,KACnD,MAAMC,EAAKZ,EAAWU,GACtB,MAAMG,EAAQN,EAAcG,GAC5B,MAAMI,EAASN,EAAeE,GAC9B,MAAMK,EAAWJ,EAAU,MAAQ,MACnC,MAAMK,EAAWL,EAAU,MAAQ,OACnC,MAAMM,EAAWN,EAAU,2BAA6B,2BACxD,MAAMO,EAAWP,EAAU,OAAS,OAEpC,MAAO,+NAWQI,KAAYC,0EAEVC,2HAGJJ,yBACKD,yDACgCE,uOASrCI,qBACCA,oYAeVC,EAAc,sBAEdC,EAAsB,iBACzB,E,MCvEUC,EAAkB,MAJ/B,WAAAC,CAAAC,G,2CAM2BC,KAAAd,QAAsB,UAGtBc,KAAAb,QAAmB,MAGpCa,KAAAC,MAAiB,SAGAD,KAAAE,MAAe,OAKhCF,KAAAG,cAAgB,KACtBH,KAAKI,QAAQC,MAAM,C,CAGrB,MAAAC,GACE,MAAMZ,EAAWM,KAAKb,QAAU,GAAK,GAErC,OACEoB,EAACC,EAAI,CAAAC,IAAA,wDAAaT,KAAKE,OACrBK,EAAA,SAAAE,IAAA,2CAAOC,UAAWzB,EAAgBe,KAAKd,QAASc,KAAKb,WACrDoB,EAAA,QAAAE,IAAA,2CAAME,MAAM,OACVJ,EAAA,QAAAE,IAAA,6CACAF,EAAA,UAAAE,IAAA,2CACEE,MAAM,UACNC,KAAK,SAAQ,aACDZ,KAAKC,MACjBY,QAASb,KAAKG,eAEdI,EAAA,OAAAE,IAAA,2CACEK,MAAM,6BACNC,MAAOrB,EACPsB,OAAQtB,EACRuB,QAAQ,YACRC,KAAK,OACLC,OAAO,eAAc,eACR,IAAG,iBACD,QAAO,kBACN,QAAO,cACX,QAEZZ,EAAA,QAAAE,IAAA,2CAAMW,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,OAC/BhB,EAAA,QAAAE,IAAA,2CAAMW,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,U","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,c as e,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as d}from"./p-35c7c864.js";import"./p-70bbb21a.js";const h=class{constructor(t){s(this,t);this.change=e(this,"change",7);this.input=e(this,"input",7);this.blur=e(this,"blur",3);this.focus=e(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=s=>{this.value=s.target.value;this.input.emit(this.value)};this.handleChange=s=>{this.value=s.target.value;this.change.emit(this.value)};this.handleBlur=s=>{this.blur.emit(s)};this.handleFocus=s=>{this.focus.emit(s)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const s="input";const e="desc";const a="msg";return t(i,{key:"4cc5cc85ed8fa8c773fe7ad750e673a0ff389777","data-theme":this.theme},t("style",{key:"b0fc511131f99c953540dc5a4dcd92dc5cb91a1b",innerHTML:d(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"38afefa33e9182fc1b351bb0ce9add0a894a9fc9",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"9d04a0e49c5d6d8feef7e07ea0ad2ce5c8b8af1f",class:"label-row"},t("label",{key:"efa91862e70ee8243ec263081b8bd69921bf0abb",class:"label",htmlFor:s},this.label,this.required&&t("span",{key:"a0d6c9a259482afe4a32e0694e40303099575c55",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"765b374e9621bb3a293ddd06c101cb768b34fdcf",name:"label-after"})),t("div",{key:"0502e169ef872e6a9d1c3701d63d58134d4fd8e9",class:"input-wrapper"},this._hasStart&&t("div",{key:"0d84de18ab5090b6cebad6bdbc386454a27595f2",class:"slot-start"},t("slot",{key:"33cae6bc089ac29d8061637eca7cac6765f28588",name:"start"})),t("input",{key:"386306bf52e25ef77f18d1c2536292308ddad8ad",id:s,class:"input",type:"week",name:this.name||undefined,value:this.value,disabled:this.disabled,required:this.required,readOnly:this.readonly,min:this.min,max:this.max,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?e:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"5dd8446e2aef07d0c4a6fd573fc72a36791fde9d",class:"slot-end"},t("slot",{key:"c7576d8d1fa8b964d6dc1890deef7f896787cfe5",name:"end"}))),!this.message&&this.description&&t("p",{key:"512432dd6a79d71b6a7739bd1680fb7dd3f7fbdf",id:e,class:"description"},this.description),this.message&&t("p",{key:"af74243593034242f83cc8c745bbb5223daca0da",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{h as diwa_input_week};
|
|
2
|
-
//# sourceMappingURL=p-9088f057.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,H as n}from"./p-ed4017f0.js";const r=()=>`\n :host {\n display: table-row;\n transition: background var(--diwa-transition-base);\n }\n :host([hidden]) { display: none; }\n :host(:hover) {\n background: var(--diwa-table-hover-color, transparent);\n }\n`;const t=class{constructor(e){a(this,e);this.theme="dark"}render(){return e(n,{key:"f931d12bc8db13a256549d53e08596154fe99633",role:"row","data-theme":this.theme},e("style",{key:"5492581027421a4455b3831766e0f6126cc32a30",innerHTML:r()}),e("slot",{key:"e66bff1a9c8d1661227bcefa9f6fa835c2109df8"}))}};export{t as diwa_table_row};
|
|
2
|
-
//# sourceMappingURL=p-94f603c2.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","DiwaTableRow","constructor","hostRef","this","theme","render","h","Host","key","role","innerHTML"],"sources":["src/components/diwa-table-row/diwa-table-row-styles.ts","src/components/diwa-table-row/diwa-table-row.tsx"],"sourcesContent":["export const getComponentCss = (): string => `\r\n :host {\r\n display: table-row;\r\n transition: background var(--diwa-transition-base);\r\n }\r\n :host([hidden]) { display: none; }\r\n :host(:hover) {\r\n background: var(--diwa-table-hover-color, transparent);\r\n }\r\n`;\r\n","import { Component, Host, Prop, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport { getComponentCss } from './diwa-table-row-styles';\r\n\r\n/** @component diwa-table-row — Maps to <tr> inside diwa-table-head or diwa-table-body. */\r\n@Component({ tag: 'diwa-table-row', shadow: true })\r\nexport class DiwaTableRow {\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n render() {\r\n return (\r\n <Host role=\"row\" data-theme={this.theme}>\r\n <style innerHTML={getComponentCss()} />\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAO,MAAMA,EAAkB,IAAc,kO,MCMhCC,EAAY,MADzB,WAAAC,CAAAC,G,UAE2BC,KAAAC,MAAe,M,CAExC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,aAAaN,KAAKC,OAChCE,EAAA,SAAAE,IAAA,2CAAOE,UAAWX,MAClBO,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,c as e,h as d,H as i}from"./p-ed4017f0.js";const n=(a,e,d,i)=>`\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 --diwa-table-padding: ${a?"var(--diwa-space-fluid-xs)":"var(--diwa-space-fluid-md)"};\n --diwa-table-hover-color: var(--diwa-bg-hover);\n --diwa-table-border-color: var(--diwa-border);\n --diwa-table-column-border: ${d?"var(--diwa-border-width-thin) solid var(--diwa-border)":"none"};\n --diwa-table-stripe-color: ${i?"var(--diwa-bg-elevated)":"transparent"};\n --diwa-table-header-bg: var(--diwa-bg-elevated);\n ${d?`\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\n overflow: hidden;\n `:""}\n }\n\n :host([hidden]) { display: none; }\n\n .table {\n width: 100%;\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 ${e==="fixed"?"table-layout: fixed;":""}\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`;const r=class{constructor(d){a(this,d);this.update=e(this,"update",1);this.theme="dark";this.caption="";this.compact=false;this.layout="auto";this.bordered=false;this.striped=false}handleTableUpdate(a){a.stopPropagation();this.update.emit(a.detail)}render(){return d(i,{key:"f44c979bd3fe3e5dac8c82d74519f433ae6617f3","data-theme":this.theme},d("style",{key:"864a46be2b5682fc4876bb392b6e85484fed3a92",innerHTML:n(this.compact,this.layout,this.bordered,this.striped)}),d("table",{key:"f79f51a9cccc9df05c92b16b013a5e7400d30012",class:"table"},this.caption&&d("caption",{key:"d7bc36ebb05f3e452c953fc772dfb3988705c04a",class:"sr-only"},this.caption),d("slot",{key:"4586f22dd7b51da6ec44ca11773297db6a75e1e6"})))}};export{r as diwa_table};
|
|
2
|
-
//# sourceMappingURL=p-b7132ea7.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getComponentCss","compact","layout","bordered","striped","DiwaTable","constructor","hostRef","this","theme","caption","handleTableUpdate","e","stopPropagation","update","emit","detail","render","h","Host","key","innerHTML","class"],"sources":["src/components/diwa-table/diwa-table-styles.ts","src/components/diwa-table/diwa-table.tsx"],"sourcesContent":["export const getComponentCss = (\r\n compact: boolean,\r\n layout: 'auto' | 'fixed',\r\n bordered: boolean,\r\n striped: boolean,\r\n): string => `\r\n :host {\r\n display: block;\r\n font-family: var(--diwa-font-family-base);\r\n width: 100%;\r\n overflow-x: auto;\r\n background: var(--diwa-bg-surface);\r\n border-radius: var(--diwa-radius-lg);\r\n --diwa-table-padding: ${compact ? 'var(--diwa-space-fluid-xs)' : 'var(--diwa-space-fluid-md)'};\r\n --diwa-table-hover-color: var(--diwa-bg-hover);\r\n --diwa-table-border-color: var(--diwa-border);\r\n --diwa-table-column-border: ${bordered ? 'var(--diwa-border-width-thin) solid var(--diwa-border)' : 'none'};\r\n --diwa-table-stripe-color: ${striped ? 'var(--diwa-bg-elevated)' : 'transparent'};\r\n --diwa-table-header-bg: var(--diwa-bg-elevated);\r\n ${bordered ? `\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n overflow: hidden;\r\n ` : ''}\r\n }\r\n\r\n :host([hidden]) { display: none; }\r\n\r\n .table {\r\n width: 100%;\r\n border-collapse: collapse;\r\n background: var(--diwa-bg-surface);\r\n font-size: var(--diwa-font-size-base);\r\n color: var(--diwa-text-primary);\r\n ${layout === 'fixed' ? 'table-layout: fixed;' : ''}\r\n }\r\n\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border: 0;\r\n }\r\n`;\r\n","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/**\r\n * @component diwa-table\r\n * Wrapper for a data table. Uses native HTML table layout via display CSS.\r\n * Structure: diwa-table > diwa-table-head > diwa-table-row > diwa-table-head-cell\r\n * > diwa-table-body > diwa-table-row > diwa-table-cell\r\n */\r\n@Component({ tag: 'diwa-table', shadow: true })\r\nexport class DiwaTable {\r\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() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.compact, this.layout, this.bordered, this.striped)} />\r\n <table class=\"table\">\r\n {this.caption && <caption class=\"sr-only\">{this.caption}</caption>}\r\n <slot />\r\n </table>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAO,MAAMA,EAAkB,CAC7BC,EACAC,EACAC,EACAC,IACW,4OAQeH,EAAU,6BAA+B,2KAGnCE,EAAW,yDAA2D,2CACvEC,EAAU,0BAA4B,6EAEjED,EAAW,qGAGT,mPAWFD,IAAW,QAAU,uBAAyB,+N,MCrBvCG,EAAS,MADtB,WAAAC,CAAAC,G,yCAE2BC,KAAAC,MAAe,OAChCD,KAAAE,QAAkB,GAClBF,KAAAP,QAAmB,MACnBO,KAAAN,OAA2B,OAC3BM,KAAAL,SAAoB,MACpBK,KAAAJ,QAAmB,K,CAMjB,iBAAAO,CAAkBC,GAC1BA,EAAEC,kBACFL,KAAKM,OAAOC,KAAKH,EAAEI,O,CAGrB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAaZ,KAAKC,OACrBS,EAAA,SAAAE,IAAA,2CAAOC,UAAWrB,EAAgBQ,KAAKP,QAASO,KAAKN,OAAQM,KAAKL,SAAUK,KAAKJ,WACjFc,EAAA,SAAAE,IAAA,2CAAOE,MAAM,SACVd,KAAKE,SAAWQ,EAAA,WAAAE,IAAA,2CAASE,MAAM,WAAWd,KAAKE,SAChDQ,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as e,H as n}from"./p-ed4017f0.js";import{g as a}from"./p-70bbb21a.js";const o={top:"flex-start",center:"center",bottom:"flex-end"};const r=(t,e,n)=>{const r=o[e];return`\n :host {\n display: block;\n position: relative;\n }\n :host([hidden]) {\n display: none;\n }\n .scroller {\n display: grid;\n grid-template-columns: ${n?"auto minmax(0, 1fr) auto":"minmax(0, 1fr)"};\n align-items: ${r};\n gap: var(--diwa-space-2);\n }\n .scroll-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--diwa-space-8);\n height: var(--diwa-space-8);\n padding: 0;\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\n border-radius: var(--diwa-radius-full);\n background: var(--diwa-bg-surface);\n color: var(--diwa-text-secondary);\n cursor: pointer;\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\n flex-shrink: 0;\n }\n .scroll-button:hover:not(:disabled) {\n color: var(--diwa-text-primary);\n background: var(--diwa-bg-hover);\n }\n .scroll-button:disabled {\n opacity: var(--diwa-opacity-disabled);\n cursor: not-allowed;\n }\n .scroll-button[hidden] {\n display: none;\n }\n ${a(".scroll-button")}\n .scroll-area {\n display: flex;\n position: relative;\n align-items: ${r};\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n -webkit-overflow-scrolling: touch;\n ${t?"":"scrollbar-width: none;"}\n }\n ::slotted(*) {\n flex: 0 0 auto;\n }\n ${!t?`\n .scroll-area::-webkit-scrollbar {\n display: none;\n }\n `:""}\n /* Fade-out gradient masks at the edges */\n .scroll-area::before,\n .scroll-area::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--diwa-scroller-fade-width);\n pointer-events: none;\n z-index: 1;\n opacity: ${n?"1":"0"};\n }\n .scroll-area::before {\n left: 0;\n background: var(--diwa-gradient-scrim-right);\n }\n .scroll-area::after {\n right: 0;\n background: var(--diwa-gradient-scrim-left);\n }\n `};const i=class{constructor(e){t(this,e);this.alignScrollIndicator="center";this.scrollbar=false;this.theme="dark";this.hasOverflow=false;this.canScrollLeft=false;this.canScrollRight=false;this.setScrollAreaRef=t=>{this.scrollAreaEl=t};this.handleScroll=()=>{this.updateScrollState()};this.handleSlotChange=()=>{requestAnimationFrame((()=>this.updateScrollState()))};this.scrollByPage=t=>{const e=this.scrollAreaEl;if(!e)return;const n=Math.max(e.clientWidth*.8,1);e.scrollBy({left:t==="start"?-n:n,behavior:"smooth"})}}handleWindowResize(){this.updateScrollState()}componentDidLoad(){this.updateScrollState()}updateScrollState(){const t=this.scrollAreaEl;if(!t)return;const e=Math.max(0,t.scrollWidth-t.clientWidth);const n=t.scrollLeft;const a=1;this.hasOverflow=e>a;this.canScrollLeft=n>a;this.canScrollRight=n<e-a}render(){return e(n,{key:"643614f02efd65645b30e84ca2e2df2d54dba30c","data-theme":this.theme},e("style",{key:"4cef13fba65f9343955f1a183fd09a2ddd7d322b",innerHTML:r(this.scrollbar,this.alignScrollIndicator,this.hasOverflow)}),e("div",{key:"441066c0c3f32216a5c6a0c43e0edb205e559356",class:"scroller"},e("button",{key:"9839234ed27ab6d8f0afe9679dfe190a56055bff",type:"button",class:"scroll-button scroll-button--start","aria-label":"Scroll left",disabled:!this.canScrollLeft,hidden:!this.hasOverflow,onClick:()=>this.scrollByPage("start")},e("svg",{key:"896a859726a6e3c576e76e565eceb67a1f48ad0a",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("path",{key:"f986a71e860fe2c2a36c1dea537e4e506e0c6441",d:"M10 3.5 5 8l5 4.5"}))),e("div",{key:"f719058341223bc9fea62b6769a86e0f2a238a06",class:"scroll-area",onScroll:this.handleScroll,ref:this.setScrollAreaRef},e("slot",{key:"c4139a8885d3fa7fba2ecb4c911a87d31a692b85",onSlotchange:this.handleSlotChange})),e("button",{key:"5ea25f1b0b0f45b73c1c775a06546b33815510d8",type:"button",class:"scroll-button scroll-button--end","aria-label":"Scroll right",disabled:!this.canScrollRight,hidden:!this.hasOverflow,onClick:()=>this.scrollByPage("end")},e("svg",{key:"37b414293ec9cc708bdece7d9884202a2ba842f6",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},e("path",{key:"bac8253b0e9e7c7ea88da607a7f47b505082916a",d:"M6 3.5 11 8l-5 4.5"})))))}};export{i as diwa_scroller};
|
|
2
|
-
//# sourceMappingURL=p-b988c5b3.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ALIGN_MAP","top","center","bottom","getComponentCss","scrollbar","alignScrollIndicator","hasOverflow","alignItems","getFocusStyle","DiwaScroller","constructor","hostRef","this","theme","canScrollLeft","canScrollRight","setScrollAreaRef","el","scrollAreaEl","handleScroll","updateScrollState","handleSlotChange","requestAnimationFrame","scrollByPage","direction","distance","Math","max","clientWidth","scrollBy","left","behavior","handleWindowResize","componentDidLoad","maxScrollLeft","scrollWidth","currentScrollLeft","scrollLeft","epsilon","render","h","Host","key","innerHTML","class","type","disabled","hidden","onClick","viewBox","width","height","fill","stroke","d","onScroll","ref","onSlotchange"],"sources":["src/components/diwa-scroller/diwa-scroller-styles.ts","src/components/diwa-scroller/diwa-scroller.tsx"],"sourcesContent":["import { getFocusStyle } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\n\r\nconst ALIGN_MAP: Record<ScrollerScrollIndicatorPosition, string> = {\r\n top: 'flex-start',\r\n center: 'center',\r\n bottom: 'flex-end',\r\n};\r\n\r\nexport const getComponentCss = (\r\n scrollbar: boolean,\r\n alignScrollIndicator: ScrollerScrollIndicatorPosition,\r\n hasOverflow: boolean,\r\n): string => {\r\n const alignItems = ALIGN_MAP[alignScrollIndicator];\r\n\r\n return `\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n .scroller {\r\n display: grid;\r\n grid-template-columns: ${hasOverflow ? 'auto minmax(0, 1fr) auto' : 'minmax(0, 1fr)'};\r\n align-items: ${alignItems};\r\n gap: var(--diwa-space-2);\r\n }\r\n .scroll-button {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--diwa-space-8);\r\n height: var(--diwa-space-8);\r\n padding: 0;\r\n border: var(--diwa-border-width-thin) solid var(--diwa-border);\r\n border-radius: var(--diwa-radius-full);\r\n background: var(--diwa-bg-surface);\r\n color: var(--diwa-text-secondary);\r\n cursor: pointer;\r\n transition: var(--diwa-transition-colors), box-shadow var(--diwa-transition-fast);\r\n flex-shrink: 0;\r\n }\r\n .scroll-button:hover:not(:disabled) {\r\n color: var(--diwa-text-primary);\r\n background: var(--diwa-bg-hover);\r\n }\r\n .scroll-button:disabled {\r\n opacity: var(--diwa-opacity-disabled);\r\n cursor: not-allowed;\r\n }\r\n .scroll-button[hidden] {\r\n display: none;\r\n }\r\n ${getFocusStyle('.scroll-button')}\r\n .scroll-area {\r\n display: flex;\r\n position: relative;\r\n align-items: ${alignItems};\r\n overflow-x: auto;\r\n overflow-y: hidden;\r\n scroll-behavior: smooth;\r\n -webkit-overflow-scrolling: touch;\r\n ${scrollbar ? '' : 'scrollbar-width: none;'}\r\n }\r\n ::slotted(*) {\r\n flex: 0 0 auto;\r\n }\r\n ${!scrollbar ? `\r\n .scroll-area::-webkit-scrollbar {\r\n display: none;\r\n }\r\n ` : ''}\r\n /* Fade-out gradient masks at the edges */\r\n .scroll-area::before,\r\n .scroll-area::after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n width: var(--diwa-scroller-fade-width);\r\n pointer-events: none;\r\n z-index: 1;\r\n opacity: ${hasOverflow ? '1' : '0'};\r\n }\r\n .scroll-area::before {\r\n left: 0;\r\n background: var(--diwa-gradient-scrim-right);\r\n }\r\n .scroll-area::after {\r\n right: 0;\r\n background: var(--diwa-gradient-scrim-left);\r\n }\r\n `;\r\n};\r\n","import { Component, Host, Listen, Prop, State, h } from '@stencil/core';\r\nimport type { Theme } from '../../utils/styles';\r\nimport type { ScrollerScrollIndicatorPosition } from './types';\r\nimport { getComponentCss } from './diwa-scroller-styles';\r\n\r\n/**\r\n * @slot default — Items to be scrolled horizontally.\r\n */\r\n@Component({\r\n tag: 'diwa-scroller',\r\n shadow: true,\r\n})\r\nexport class DiwaScroller {\r\n /** Position of gradient fade indicators relative to the scroll area. */\r\n @Prop() alignScrollIndicator: ScrollerScrollIndicatorPosition = 'center';\r\n\r\n /** Whether to show the native horizontal scrollbar. */\r\n @Prop() scrollbar: boolean = false;\r\n\r\n /** Adapts the color when used on a light or dark background. */\r\n @Prop({ reflect: true }) theme: Theme = 'dark';\r\n\r\n @State() private hasOverflow: boolean = false;\r\n @State() private canScrollLeft: boolean = false;\r\n @State() private canScrollRight: boolean = false;\r\n\r\n private scrollAreaEl?: HTMLDivElement;\r\n\r\n @Listen('resize', { target: 'window' })\r\n handleWindowResize(): void {\r\n this.updateScrollState();\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.updateScrollState();\r\n }\r\n\r\n private setScrollAreaRef = (el?: HTMLDivElement): void => {\r\n this.scrollAreaEl = el;\r\n };\r\n\r\n private handleScroll = (): void => {\r\n this.updateScrollState();\r\n };\r\n\r\n private handleSlotChange = (): void => {\r\n requestAnimationFrame(() => this.updateScrollState());\r\n };\r\n\r\n private updateScrollState(): void {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const maxScrollLeft = Math.max(0, el.scrollWidth - el.clientWidth);\r\n const currentScrollLeft = el.scrollLeft;\r\n const epsilon = 1;\r\n\r\n this.hasOverflow = maxScrollLeft > epsilon;\r\n this.canScrollLeft = currentScrollLeft > epsilon;\r\n this.canScrollRight = currentScrollLeft < maxScrollLeft - epsilon;\r\n }\r\n\r\n private scrollByPage = (direction: 'start' | 'end'): void => {\r\n const el = this.scrollAreaEl;\r\n if (!el) return;\r\n\r\n const distance = Math.max(el.clientWidth * 0.8, 1);\r\n el.scrollBy({\r\n left: direction === 'start' ? -distance : distance,\r\n behavior: 'smooth',\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <Host data-theme={this.theme}>\r\n <style innerHTML={getComponentCss(this.scrollbar, this.alignScrollIndicator, this.hasOverflow)} />\r\n <div class=\"scroller\">\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--start\"\r\n aria-label=\"Scroll left\"\r\n disabled={!this.canScrollLeft}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('start')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M10 3.5 5 8l5 4.5\" />\r\n </svg>\r\n </button>\r\n\r\n <div class=\"scroll-area\" onScroll={this.handleScroll} ref={this.setScrollAreaRef}>\r\n <slot onSlotchange={this.handleSlotChange} />\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"scroll-button scroll-button--end\"\r\n aria-label=\"Scroll right\"\r\n disabled={!this.canScrollRight}\r\n hidden={!this.hasOverflow}\r\n onClick={() => this.scrollByPage('end')}\r\n >\r\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n <path d=\"M6 3.5 11 8l-5 4.5\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"sFAGA,MAAMA,EAA6D,CACjEC,IAAK,aACLC,OAAQ,SACRC,OAAQ,YAGH,MAAMC,EAAkB,CAC7BC,EACAC,EACAC,KAEA,MAAMC,EAAaR,EAAUM,GAE7B,MAAO,mMAUsBC,EAAc,2BAA6B,yCACrDC,q4BA6BfC,EAAc,8GAICD,2IAKbH,EAAY,GAAK,2FAKlBA,EAAY,6EAIX,2SAWSE,EAAc,IAAM,gOAUlC,E,MCnFUG,EAAY,MAJzB,WAAAC,CAAAC,G,UAMUC,KAAAP,qBAAwD,SAGxDO,KAAAR,UAAqB,MAGJQ,KAAAC,MAAe,OAEvBD,KAAAN,YAAuB,MACvBM,KAAAE,cAAyB,MACzBF,KAAAG,eAA0B,MAanCH,KAAAI,iBAAoBC,IAC1BL,KAAKM,aAAeD,CAAE,EAGhBL,KAAAO,aAAe,KACrBP,KAAKQ,mBAAmB,EAGlBR,KAAAS,iBAAmB,KACzBC,uBAAsB,IAAMV,KAAKQ,qBAAoB,EAgB/CR,KAAAW,aAAgBC,IACtB,MAAMP,EAAKL,KAAKM,aAChB,IAAKD,EAAI,OAET,MAAMQ,EAAWC,KAAKC,IAAIV,EAAGW,YAAc,GAAK,GAChDX,EAAGY,SAAS,CACVC,KAAMN,IAAc,SAAWC,EAAWA,EAC1CM,SAAU,UACV,C,CAzCJ,kBAAAC,GACEpB,KAAKQ,mB,CAGP,gBAAAa,GACErB,KAAKQ,mB,CAeC,iBAAAA,GACN,MAAMH,EAAKL,KAAKM,aAChB,IAAKD,EAAI,OAET,MAAMiB,EAAgBR,KAAKC,IAAI,EAAGV,EAAGkB,YAAclB,EAAGW,aACtD,MAAMQ,EAAoBnB,EAAGoB,WAC7B,MAAMC,EAAU,EAEhB1B,KAAKN,YAAc4B,EAAgBI,EACnC1B,KAAKE,cAAgBsB,EAAoBE,EACzC1B,KAAKG,eAAiBqB,EAAoBF,EAAgBI,C,CAc5D,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,wDAAa9B,KAAKC,OACrB2B,EAAA,SAAAE,IAAA,2CAAOC,UAAWxC,EAAgBS,KAAKR,UAAWQ,KAAKP,qBAAsBO,KAAKN,eAClFkC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,YACTJ,EAAA,UAAAE,IAAA,2CACEG,KAAK,SACLD,MAAM,qCAAoC,aAC/B,cACXE,UAAWlC,KAAKE,cAChBiC,QAASnC,KAAKN,YACd0C,QAAS,IAAMpC,KAAKW,aAAa,UAEjCiB,EAAA,OAAAE,IAAA,2CAAKO,QAAQ,YAAYC,MAAM,KAAKC,OAAO,KAAKC,KAAK,OAAOC,OAAO,eAAc,eAAc,MAAK,iBAAgB,QAAO,kBAAiB,QAAO,cAAa,QAC9Jb,EAAA,QAAAE,IAAA,2CAAMY,EAAE,wBAIZd,EAAA,OAAAE,IAAA,2CAAKE,MAAM,cAAcW,SAAU3C,KAAKO,aAAcqC,IAAK5C,KAAKI,kBAC9DwB,EAAA,QAAAE,IAAA,2CAAMe,aAAc7C,KAAKS,oBAG3BmB,EAAA,UAAAE,IAAA,2CACEG,KAAK,SACLD,MAAM,mCAAkC,aAC7B,eACXE,UAAWlC,KAAKG,eAChBgC,QAASnC,KAAKN,YACd0C,QAAS,IAAMpC,KAAKW,aAAa,QAEjCiB,EAAA,OAAAE,IAAA,2CAAKO,QAAQ,YAAYC,MAAM,KAAKC,OAAO,KAAKC,KAAK,OAAOC,OAAO,eAAc,eAAc,MAAK,iBAAgB,QAAO,kBAAiB,QAAO,cAAa,QAC9Jb,EAAA,QAAAE,IAAA,2CAAMY,EAAE,0B","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as s,h as t,H as i,g as a}from"./p-ed4017f0.js";import{g as d}from"./p-35c7c864.js";import"./p-70bbb21a.js";const h=class{constructor(t){e(this,t);this.change=s(this,"change",7);this.input=s(this,"input",7);this.blur=s(this,"blur",3);this.focus=s(this,"focus",3);this._hasStart=false;this._hasEnd=false;this.label="";this.description="";this.message="";this.state="none";this.name="";this.value="";this.placeholder="";this.disabled=false;this.required=false;this.readonly=false;this.hideLabel=false;this.compact=false;this.theme="dark";this.handleInput=e=>{this.value=e.target.value;this.input.emit(this.value)};this.handleChange=e=>{this.value=e.target.value;this.change.emit(this.value)};this.handleBlur=e=>{this.blur.emit(e)};this.handleFocus=e=>{this.focus.emit(e)}}connectedCallback(){this._hasStart=!!this.el.querySelector('[slot="start"]');this._hasEnd=!!this.el.querySelector('[slot="end"]')}render(){const e="input";const s="desc";const a="msg";return t(i,{key:"6f16e8825a3a5ecddc50dfa71bd11037b514857c","data-theme":this.theme},t("style",{key:"869dd68dffed172a7609f208be8cf84b14d17ef0",innerHTML:d(this.state,this.disabled,this.readonly,this.compact,this._hasStart,this._hasEnd,false)}),t("div",{key:"826553cb48211b80781177f28f546f0750e303c1",class:"root"},!this.hideLabel&&this.label&&t("div",{key:"d765135a6a2461b994f64cc9e64a21d7aa2beea6",class:"label-row"},t("label",{key:"31c39abad9f2e512002a741775ef6edd92d63977",class:"label",htmlFor:e},this.label,this.required&&t("span",{key:"e70488cf88dbadda577411125bcd691c4f0eb5db",class:"required","aria-hidden":"true"}," *")),t("slot",{key:"8ee60e427526819d1f8be6d7ed61a1b26bfb65ec",name:"label-after"})),t("div",{key:"1a28e5b5937aca1cb3c9e6470279e4072a62bbe0",class:"input-wrapper"},this._hasStart&&t("div",{key:"1e96aa02a0b11281b5c328fdc28ceba4c255cbf5",class:"slot-start"},t("slot",{key:"28c564f01dac221e5d72ea17c88602ed9a05e199",name:"start"})),t("input",{key:"b2eaeb80c1d83ef7d4d5e624f332272e5ed607ee",id:e,class:"input",type:"tel",name:this.name||undefined,value:this.value,placeholder:this.placeholder||undefined,disabled:this.disabled,required:this.required,readOnly:this.readonly,autocomplete:this.autoComplete,"aria-label":this.hideLabel&&this.label?this.label:undefined,"aria-invalid":this.state==="error"?"true":undefined,"aria-required":this.required?"true":undefined,"aria-describedby":this.message?a:this.description?s:undefined,onInput:this.handleInput,onChange:this.handleChange,onBlur:this.handleBlur,onFocus:this.handleFocus}),this._hasEnd&&t("div",{key:"efa69195e0c480335deb33e87e45edf4482b2cb4",class:"slot-end"},t("slot",{key:"c045de93902aa491f82b722e5b8b6a9c2a1e5552",name:"end"}))),!this.message&&this.description&&t("p",{key:"284cd05849b2d42d0ce3069037c4907061bf6744",id:s,class:"description"},this.description),this.message&&t("p",{key:"8bedd2ca829061a05d561e9e5c5c99700fee09f2",id:a,class:"message"},this.message)))}static get delegatesFocus(){return true}get el(){return a(this)}};export{h as diwa_input_tel};
|
|
2
|
-
//# sourceMappingURL=p-bc2eecd2.entry.js.map
|