@mellow.io/ds 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/accordion-item.d.ts +16 -0
- package/dist/components/accordion/accordion-item.d.ts.map +1 -0
- package/dist/components/accordion/accordion-item.js +68 -0
- package/dist/components/accordion/accordion-item.js.map +1 -0
- package/dist/components/accordion/accordion.d.ts +15 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.js +42 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/accordion.styles.d.ts +3 -0
- package/dist/components/accordion/accordion.styles.d.ts.map +1 -0
- package/dist/components/accordion/accordion.styles.js +76 -0
- package/dist/components/accordion/accordion.styles.js.map +1 -0
- package/dist/components/accordion/index.d.ts +3 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/alert/alert.d.ts +16 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/alert.js +67 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/alert.styles.d.ts +2 -0
- package/dist/components/alert/alert.styles.d.ts.map +1 -0
- package/dist/components/alert/alert.styles.js +160 -0
- package/dist/components/alert/alert.styles.js.map +1 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/avatar/avatar.d.ts +19 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +62 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/avatar.styles.d.ts +2 -0
- package/dist/components/avatar/avatar.styles.d.ts.map +1 -0
- package/dist/components/avatar/avatar.styles.js +67 -0
- package/dist/components/avatar/avatar.styles.js.map +1 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/badge/badge.d.ts +15 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +36 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.styles.d.ts +2 -0
- package/dist/components/badge/badge.styles.d.ts.map +1 -0
- package/dist/components/badge/badge.styles.js +106 -0
- package/dist/components/badge/badge.styles.js.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts +16 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.js +37 -0
- package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +14 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +40 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.styles.d.ts +3 -0
- package/dist/components/breadcrumb/breadcrumb.styles.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.styles.js +57 -0
- package/dist/components/breadcrumb/breadcrumb.styles.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/button/button.d.ts +18 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +58 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.styles.d.ts +2 -0
- package/dist/components/button/button.styles.d.ts.map +1 -0
- package/dist/components/button/button.styles.js +185 -0
- package/dist/components/button/button.styles.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/card/card.d.ts +18 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +62 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.styles.d.ts +2 -0
- package/dist/components/card/card.styles.d.ts.map +1 -0
- package/dist/components/card/card.styles.js +129 -0
- package/dist/components/card/card.styles.js.map +1 -0
- package/dist/components/card/index.d.ts +3 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +24 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +83 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
- package/dist/components/checkbox/checkbox.styles.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.styles.js +118 -0
- package/dist/components/checkbox/checkbox.styles.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/dialog/dialog.d.ts +21 -0
- package/dist/components/dialog/dialog.d.ts.map +1 -0
- package/dist/components/dialog/dialog.js +74 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/dialog.styles.d.ts +2 -0
- package/dist/components/dialog/dialog.styles.d.ts.map +1 -0
- package/dist/components/dialog/dialog.styles.js +81 -0
- package/dist/components/dialog/dialog.styles.js.map +1 -0
- package/dist/components/dialog/index.d.ts +3 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/divider/divider.d.ts +15 -0
- package/dist/components/divider/divider.d.ts.map +1 -0
- package/dist/components/divider/divider.js +36 -0
- package/dist/components/divider/divider.js.map +1 -0
- package/dist/components/divider/divider.styles.d.ts +2 -0
- package/dist/components/divider/divider.styles.d.ts.map +1 -0
- package/dist/components/divider/divider.styles.js +64 -0
- package/dist/components/divider/divider.styles.js.map +1 -0
- package/dist/components/divider/index.d.ts +3 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown-item.d.ts +15 -0
- package/dist/components/dropdown/dropdown-item.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown-item.js +113 -0
- package/dist/components/dropdown/dropdown-item.js.map +1 -0
- package/dist/components/dropdown/dropdown.d.ts +29 -0
- package/dist/components/dropdown/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown.js +147 -0
- package/dist/components/dropdown/dropdown.js.map +1 -0
- package/dist/components/dropdown/dropdown.styles.d.ts +2 -0
- package/dist/components/dropdown/dropdown.styles.d.ts.map +1 -0
- package/dist/components/dropdown/dropdown.styles.js +139 -0
- package/dist/components/dropdown/dropdown.styles.js.map +1 -0
- package/dist/components/dropdown/index.d.ts +4 -0
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/form-field/form-field.d.ts +17 -0
- package/dist/components/form-field/form-field.d.ts.map +1 -0
- package/dist/components/form-field/form-field.js +55 -0
- package/dist/components/form-field/form-field.js.map +1 -0
- package/dist/components/form-field/form-field.styles.d.ts +2 -0
- package/dist/components/form-field/form-field.styles.d.ts.map +1 -0
- package/dist/components/form-field/form-field.styles.js +61 -0
- package/dist/components/form-field/form-field.styles.js.map +1 -0
- package/dist/components/form-field/index.d.ts +2 -0
- package/dist/components/form-field/index.d.ts.map +1 -0
- package/dist/components/grid/grid.d.ts +18 -0
- package/dist/components/grid/grid.d.ts.map +1 -0
- package/dist/components/grid/grid.js +46 -0
- package/dist/components/grid/grid.js.map +1 -0
- package/dist/components/grid/grid.styles.d.ts +2 -0
- package/dist/components/grid/grid.styles.d.ts.map +1 -0
- package/dist/components/grid/grid.styles.js +57 -0
- package/dist/components/grid/grid.styles.js.map +1 -0
- package/dist/components/grid/index.d.ts +3 -0
- package/dist/components/grid/index.d.ts.map +1 -0
- package/dist/components/icon/icon-registry.d.ts +3 -0
- package/dist/components/icon/icon-registry.d.ts.map +1 -0
- package/dist/components/icon/icon-registry.js +12 -0
- package/dist/components/icon/icon-registry.js.map +1 -0
- package/dist/components/icon/icon.d.ts +18 -0
- package/dist/components/icon/icon.d.ts.map +1 -0
- package/dist/components/icon/icon.js +45 -0
- package/dist/components/icon/icon.js.map +1 -0
- package/dist/components/icon/icon.styles.d.ts +2 -0
- package/dist/components/icon/icon.styles.d.ts.map +1 -0
- package/dist/components/icon/icon.styles.js +46 -0
- package/dist/components/icon/icon.styles.js.map +1 -0
- package/dist/components/icon/index.d.ts +4 -0
- package/dist/components/icon/index.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/input.d.ts +30 -0
- package/dist/components/input/input.d.ts.map +1 -0
- package/dist/components/input/input.js +133 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/input.styles.d.ts +2 -0
- package/dist/components/input/input.styles.d.ts.map +1 -0
- package/dist/components/input/input.styles.js +211 -0
- package/dist/components/input/input.styles.js.map +1 -0
- package/dist/components/link/index.d.ts +3 -0
- package/dist/components/link/index.d.ts.map +1 -0
- package/dist/components/link/link.d.ts +16 -0
- package/dist/components/link/link.d.ts.map +1 -0
- package/dist/components/link/link.js +53 -0
- package/dist/components/link/link.js.map +1 -0
- package/dist/components/link/link.styles.d.ts +2 -0
- package/dist/components/link/link.styles.d.ts.map +1 -0
- package/dist/components/link/link.styles.js +57 -0
- package/dist/components/link/link.styles.js.map +1 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/pagination.d.ts +28 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/pagination/pagination.js +139 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.styles.d.ts +2 -0
- package/dist/components/pagination/pagination.styles.d.ts.map +1 -0
- package/dist/components/pagination/pagination.styles.js +86 -0
- package/dist/components/pagination/pagination.styles.js.map +1 -0
- package/dist/components/popover/index.d.ts +3 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/popover.d.ts +26 -0
- package/dist/components/popover/popover.d.ts.map +1 -0
- package/dist/components/popover/popover.js +88 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/popover/popover.styles.d.ts +2 -0
- package/dist/components/popover/popover.styles.d.ts.map +1 -0
- package/dist/components/popover/popover.styles.js +61 -0
- package/dist/components/popover/popover.styles.js.map +1 -0
- package/dist/components/progress/index.d.ts +9 -0
- package/dist/components/progress/index.d.ts.map +1 -0
- package/dist/components/progress/progress.d.ts +17 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/progress/progress.js +57 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/progress/progress.styles.d.ts +2 -0
- package/dist/components/progress/progress.styles.d.ts.map +1 -0
- package/dist/components/progress/progress.styles.js +57 -0
- package/dist/components/progress/progress.styles.js.map +1 -0
- package/dist/components/progress/step-timeline.d.ts +23 -0
- package/dist/components/progress/step-timeline.d.ts.map +1 -0
- package/dist/components/progress/step-timeline.js +52 -0
- package/dist/components/progress/step-timeline.js.map +1 -0
- package/dist/components/progress/step-timeline.styles.d.ts +2 -0
- package/dist/components/progress/step-timeline.styles.d.ts.map +1 -0
- package/dist/components/progress/step-timeline.styles.js +137 -0
- package/dist/components/progress/step-timeline.styles.js.map +1 -0
- package/dist/components/progress/step.d.ts +24 -0
- package/dist/components/progress/step.d.ts.map +1 -0
- package/dist/components/progress/step.js +76 -0
- package/dist/components/progress/step.js.map +1 -0
- package/dist/components/progress/step.styles.d.ts +2 -0
- package/dist/components/progress/step.styles.d.ts.map +1 -0
- package/dist/components/progress/step.styles.js +137 -0
- package/dist/components/progress/step.styles.js.map +1 -0
- package/dist/components/progress/stepper-dots.d.ts +19 -0
- package/dist/components/progress/stepper-dots.d.ts.map +1 -0
- package/dist/components/progress/stepper-dots.js +60 -0
- package/dist/components/progress/stepper-dots.js.map +1 -0
- package/dist/components/progress/stepper-dots.styles.d.ts +2 -0
- package/dist/components/progress/stepper-dots.styles.d.ts.map +1 -0
- package/dist/components/progress/stepper-dots.styles.js +29 -0
- package/dist/components/progress/stepper-dots.styles.js.map +1 -0
- package/dist/components/progress/stepper.d.ts +19 -0
- package/dist/components/progress/stepper.d.ts.map +1 -0
- package/dist/components/progress/stepper.js +60 -0
- package/dist/components/progress/stepper.js.map +1 -0
- package/dist/components/progress/stepper.styles.d.ts +2 -0
- package/dist/components/progress/stepper.styles.d.ts.map +1 -0
- package/dist/components/progress/stepper.styles.js +31 -0
- package/dist/components/progress/stepper.styles.js.map +1 -0
- package/dist/components/radio/index.d.ts +4 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/radio-group.d.ts +24 -0
- package/dist/components/radio/radio-group.d.ts.map +1 -0
- package/dist/components/radio/radio-group.js +77 -0
- package/dist/components/radio/radio-group.js.map +1 -0
- package/dist/components/radio/radio.d.ts +19 -0
- package/dist/components/radio/radio.d.ts.map +1 -0
- package/dist/components/radio/radio.js +55 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/radio.styles.d.ts +3 -0
- package/dist/components/radio/radio.styles.d.ts.map +1 -0
- package/dist/components/radio/radio.styles.js +117 -0
- package/dist/components/radio/radio.styles.js.map +1 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/option.d.ts +15 -0
- package/dist/components/select/option.d.ts.map +1 -0
- package/dist/components/select/option.js +39 -0
- package/dist/components/select/option.js.map +1 -0
- package/dist/components/select/select.d.ts +32 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/select/select.js +202 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.styles.d.ts +2 -0
- package/dist/components/select/select.styles.d.ts.map +1 -0
- package/dist/components/select/select.styles.js +257 -0
- package/dist/components/select/select.styles.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts +18 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.js +47 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/skeleton/skeleton.styles.d.ts +2 -0
- package/dist/components/skeleton/skeleton.styles.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.styles.js +72 -0
- package/dist/components/skeleton/skeleton.styles.js.map +1 -0
- package/dist/components/spinner/index.d.ts +3 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/spinner.d.ts +16 -0
- package/dist/components/spinner/spinner.d.ts.map +1 -0
- package/dist/components/spinner/spinner.js +36 -0
- package/dist/components/spinner/spinner.js.map +1 -0
- package/dist/components/spinner/spinner.styles.d.ts +2 -0
- package/dist/components/spinner/spinner.styles.d.ts.map +1 -0
- package/dist/components/spinner/spinner.styles.js +43 -0
- package/dist/components/spinner/spinner.styles.js.map +1 -0
- package/dist/components/stack/index.d.ts +3 -0
- package/dist/components/stack/index.d.ts.map +1 -0
- package/dist/components/stack/stack.d.ts +20 -0
- package/dist/components/stack/stack.d.ts.map +1 -0
- package/dist/components/stack/stack.js +39 -0
- package/dist/components/stack/stack.js.map +1 -0
- package/dist/components/stack/stack.styles.d.ts +2 -0
- package/dist/components/stack/stack.styles.d.ts.map +1 -0
- package/dist/components/stack/stack.styles.js +97 -0
- package/dist/components/stack/stack.styles.js.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/switch.d.ts +23 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +69 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.styles.d.ts +2 -0
- package/dist/components/switch/switch.styles.d.ts.map +1 -0
- package/dist/components/switch/switch.styles.js +100 -0
- package/dist/components/switch/switch.styles.js.map +1 -0
- package/dist/components/table/index.d.ts +3 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/table.d.ts +39 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/table/table.js +209 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/table/table.styles.d.ts +2 -0
- package/dist/components/table/table.styles.d.ts.map +1 -0
- package/dist/components/table/table.styles.js +261 -0
- package/dist/components/table/table.styles.js.map +1 -0
- package/dist/components/tabs/index.d.ts +6 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/tab-panel.d.ts +12 -0
- package/dist/components/tabs/tab-panel.d.ts.map +1 -0
- package/dist/components/tabs/tab-panel.js +34 -0
- package/dist/components/tabs/tab-panel.js.map +1 -0
- package/dist/components/tabs/tab.d.ts +16 -0
- package/dist/components/tabs/tab.d.ts.map +1 -0
- package/dist/components/tabs/tab.js +37 -0
- package/dist/components/tabs/tab.js.map +1 -0
- package/dist/components/tabs/tabs.d.ts +27 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.js +123 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tabs/tabs.styles.d.ts +2 -0
- package/dist/components/tabs/tabs.styles.d.ts.map +1 -0
- package/dist/components/tabs/tabs.styles.js +184 -0
- package/dist/components/tabs/tabs.styles.js.map +1 -0
- package/dist/components/tag/index.d.ts +3 -0
- package/dist/components/tag/index.d.ts.map +1 -0
- package/dist/components/tag/tag.d.ts +18 -0
- package/dist/components/tag/tag.d.ts.map +1 -0
- package/dist/components/tag/tag.js +78 -0
- package/dist/components/tag/tag.js.map +1 -0
- package/dist/components/tag/tag.styles.d.ts +2 -0
- package/dist/components/tag/tag.styles.d.ts.map +1 -0
- package/dist/components/tag/tag.styles.js +137 -0
- package/dist/components/tag/tag.styles.js.map +1 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/textarea.d.ts +28 -0
- package/dist/components/textarea/textarea.d.ts.map +1 -0
- package/dist/components/textarea/textarea.js +121 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/textarea/textarea.styles.d.ts +2 -0
- package/dist/components/textarea/textarea.styles.d.ts.map +1 -0
- package/dist/components/textarea/textarea.styles.js +146 -0
- package/dist/components/textarea/textarea.styles.js.map +1 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/toast.d.ts +31 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +104 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/toast.styles.d.ts +2 -0
- package/dist/components/toast/toast.styles.d.ts.map +1 -0
- package/dist/components/toast/toast.styles.js +176 -0
- package/dist/components/toast/toast.styles.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts +26 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.js +78 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip.styles.d.ts +2 -0
- package/dist/components/tooltip/tooltip.styles.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.styles.js +157 -0
- package/dist/components/tooltip/tooltip.styles.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.d.ts +161 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/styles/mixins.d.ts +4 -0
- package/dist/styles/mixins.d.ts.map +1 -0
- package/dist/styles/reset.d.ts +2 -0
- package/dist/styles/reset.d.ts.map +1 -0
- package/dist/tokens/extract.d.ts +2 -0
- package/dist/tokens/extract.d.ts.map +1 -0
- package/dist/tokens/generated/tokens.d.ts +162 -0
- package/dist/tokens/generated/tokens.d.ts.map +1 -0
- package/dist/tokens/transform-cli.d.ts +2 -0
- package/dist/tokens/transform-cli.d.ts.map +1 -0
- package/dist/tokens/transform.d.ts +3 -0
- package/dist/tokens/transform.d.ts.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
const o = e`
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.tablist {
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
gap: var(--mellow-space-0, 0px);
|
|
11
|
+
overflow: clip;
|
|
12
|
+
background-color: var(--mellow-bg-fill-tabs-default, rgba(193, 148, 118, 0.2));
|
|
13
|
+
border-radius: var(--mellow-radius-3-5, 14px);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:host([size='md']) .tablist {
|
|
17
|
+
border-radius: var(--mellow-radius-3, 12px);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([size='sm']) .tablist {
|
|
21
|
+
border-radius: var(--mellow-radius-2-5, 10px);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* ---- Tab button base ---- */
|
|
25
|
+
|
|
26
|
+
.tab {
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
gap: var(--mellow-space-2, 8px);
|
|
31
|
+
flex-shrink: 0;
|
|
32
|
+
border: none;
|
|
33
|
+
background: none;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
padding: 0 var(--mellow-space-6, 24px);
|
|
36
|
+
height: 52px;
|
|
37
|
+
border-radius: var(--mellow-radius-3-5, 14px);
|
|
38
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
39
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
40
|
+
font-size: var(--mellow-font-size-18, 18px);
|
|
41
|
+
line-height: var(--mellow-line-height-24, 24px);
|
|
42
|
+
letter-spacing: 0;
|
|
43
|
+
color: var(--mellow-text-primary, #232222);
|
|
44
|
+
transition: background-color 150ms ease, color 150ms ease;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* ---- Size: md (B2 42) ---- */
|
|
48
|
+
|
|
49
|
+
:host([size='md']) .tab {
|
|
50
|
+
height: 42px;
|
|
51
|
+
padding: 0 var(--mellow-space-5, 20px);
|
|
52
|
+
border-radius: var(--mellow-radius-3, 12px);
|
|
53
|
+
font-size: var(--mellow-font-size-16, 16px);
|
|
54
|
+
line-height: var(--mellow-line-height-22, 22px);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ---- Size: sm (B3 32) ---- */
|
|
58
|
+
|
|
59
|
+
:host([size='sm']) .tab {
|
|
60
|
+
height: 32px;
|
|
61
|
+
padding: 0 var(--mellow-space-3, 12px);
|
|
62
|
+
border-radius: var(--mellow-radius-2-5, 10px);
|
|
63
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
64
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* ---- Icon-only tab ---- */
|
|
68
|
+
|
|
69
|
+
.tab.icon-only {
|
|
70
|
+
padding: 0;
|
|
71
|
+
width: 52px;
|
|
72
|
+
aspect-ratio: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host([size='md']) .tab.icon-only {
|
|
76
|
+
width: 42px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:host([size='sm']) .tab.icon-only {
|
|
80
|
+
width: 32px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* ---- States ---- */
|
|
84
|
+
|
|
85
|
+
.tab:hover:not(:disabled):not(.selected) {
|
|
86
|
+
background-color: var(--mellow-bg-fill-tabs-hovered, #e4d3c4);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.tab.selected {
|
|
90
|
+
background-color: var(--mellow-bg-fill-tabs-selected, #f6d8ba);
|
|
91
|
+
color: var(--mellow-text-brand, #ff6f23);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.tab:focus-visible {
|
|
95
|
+
outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);
|
|
96
|
+
outline-offset: -2px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.tab[disabled] {
|
|
100
|
+
opacity: 0.48;
|
|
101
|
+
cursor: not-allowed;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* ---- Tab content layout ---- */
|
|
105
|
+
|
|
106
|
+
.tab-label {
|
|
107
|
+
flex-shrink: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* ---- Icon slots ---- */
|
|
111
|
+
|
|
112
|
+
.tab-icon {
|
|
113
|
+
display: flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
flex-shrink: 0;
|
|
117
|
+
overflow: clip;
|
|
118
|
+
width: 24px;
|
|
119
|
+
height: 24px;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
:host([size='md']) .tab-icon {
|
|
123
|
+
width: 20px;
|
|
124
|
+
height: 20px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:host([size='sm']) .tab-icon {
|
|
128
|
+
width: 16px;
|
|
129
|
+
height: 16px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* ---- Counter badge ---- */
|
|
133
|
+
|
|
134
|
+
.tab-counter {
|
|
135
|
+
display: flex;
|
|
136
|
+
align-items: center;
|
|
137
|
+
justify-content: center;
|
|
138
|
+
flex-shrink: 0;
|
|
139
|
+
min-width: 26px;
|
|
140
|
+
padding: var(--mellow-space-0-5, 2px) var(--mellow-space-2, 8px);
|
|
141
|
+
border-radius: var(--mellow-radius-2-5, 10px);
|
|
142
|
+
background-color: var(--mellow-pearl-bush-400-32, rgba(193, 148, 118, 0.32));
|
|
143
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
144
|
+
font-weight: var(--mellow-font-weight-medium, 500);
|
|
145
|
+
font-size: var(--mellow-font-size-16, 16px);
|
|
146
|
+
line-height: var(--mellow-line-height-22, 22px);
|
|
147
|
+
color: var(--mellow-text-primary, #232222);
|
|
148
|
+
text-align: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:host([size='md']) .tab-counter {
|
|
152
|
+
min-width: 22px;
|
|
153
|
+
padding: var(--mellow-space-0-5, 2px) var(--mellow-space-1-5, 6px);
|
|
154
|
+
border-radius: var(--mellow-radius-2, 8px);
|
|
155
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
156
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
:host([size='sm']) .tab-counter {
|
|
160
|
+
min-width: 18px;
|
|
161
|
+
padding: var(--mellow-space-0-5, 2px) var(--mellow-space-1, 4px);
|
|
162
|
+
border-radius: var(--mellow-radius-1-5, 6px);
|
|
163
|
+
font-size: var(--mellow-font-size-12, 12px);
|
|
164
|
+
line-height: var(--mellow-line-height-14, 14px);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* ---- Settings spacer ---- */
|
|
168
|
+
|
|
169
|
+
.settings-spacer {
|
|
170
|
+
align-self: stretch;
|
|
171
|
+
width: 8px;
|
|
172
|
+
flex-shrink: 0;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* ---- Hidden slot ---- */
|
|
176
|
+
|
|
177
|
+
slot {
|
|
178
|
+
display: none;
|
|
179
|
+
}
|
|
180
|
+
`;
|
|
181
|
+
export {
|
|
182
|
+
o as tabsStyles
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=tabs.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.styles.js","sources":["../../../src/components/tabs/tabs.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const tabsStyles = css`\n :host {\n display: block;\n }\n\n .tablist {\n display: flex;\n align-items: center;\n gap: var(--mellow-space-0, 0px);\n overflow: clip;\n background-color: var(--mellow-bg-fill-tabs-default, rgba(193, 148, 118, 0.2));\n border-radius: var(--mellow-radius-3-5, 14px);\n }\n\n :host([size='md']) .tablist {\n border-radius: var(--mellow-radius-3, 12px);\n }\n\n :host([size='sm']) .tablist {\n border-radius: var(--mellow-radius-2-5, 10px);\n }\n\n /* ---- Tab button base ---- */\n\n .tab {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--mellow-space-2, 8px);\n flex-shrink: 0;\n border: none;\n background: none;\n cursor: pointer;\n padding: 0 var(--mellow-space-6, 24px);\n height: 52px;\n border-radius: var(--mellow-radius-3-5, 14px);\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-weight: var(--mellow-font-weight-regular, 400);\n font-size: var(--mellow-font-size-18, 18px);\n line-height: var(--mellow-line-height-24, 24px);\n letter-spacing: 0;\n color: var(--mellow-text-primary, #232222);\n transition: background-color 150ms ease, color 150ms ease;\n }\n\n /* ---- Size: md (B2 42) ---- */\n\n :host([size='md']) .tab {\n height: 42px;\n padding: 0 var(--mellow-space-5, 20px);\n border-radius: var(--mellow-radius-3, 12px);\n font-size: var(--mellow-font-size-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n }\n\n /* ---- Size: sm (B3 32) ---- */\n\n :host([size='sm']) .tab {\n height: 32px;\n padding: 0 var(--mellow-space-3, 12px);\n border-radius: var(--mellow-radius-2-5, 10px);\n font-size: var(--mellow-font-size-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n }\n\n /* ---- Icon-only tab ---- */\n\n .tab.icon-only {\n padding: 0;\n width: 52px;\n aspect-ratio: 1;\n }\n\n :host([size='md']) .tab.icon-only {\n width: 42px;\n }\n\n :host([size='sm']) .tab.icon-only {\n width: 32px;\n }\n\n /* ---- States ---- */\n\n .tab:hover:not(:disabled):not(.selected) {\n background-color: var(--mellow-bg-fill-tabs-hovered, #e4d3c4);\n }\n\n .tab.selected {\n background-color: var(--mellow-bg-fill-tabs-selected, #f6d8ba);\n color: var(--mellow-text-brand, #ff6f23);\n }\n\n .tab:focus-visible {\n outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);\n outline-offset: -2px;\n }\n\n .tab[disabled] {\n opacity: 0.48;\n cursor: not-allowed;\n }\n\n /* ---- Tab content layout ---- */\n\n .tab-label {\n flex-shrink: 0;\n }\n\n /* ---- Icon slots ---- */\n\n .tab-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: clip;\n width: 24px;\n height: 24px;\n }\n\n :host([size='md']) .tab-icon {\n width: 20px;\n height: 20px;\n }\n\n :host([size='sm']) .tab-icon {\n width: 16px;\n height: 16px;\n }\n\n /* ---- Counter badge ---- */\n\n .tab-counter {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n min-width: 26px;\n padding: var(--mellow-space-0-5, 2px) var(--mellow-space-2, 8px);\n border-radius: var(--mellow-radius-2-5, 10px);\n background-color: var(--mellow-pearl-bush-400-32, rgba(193, 148, 118, 0.32));\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-weight: var(--mellow-font-weight-medium, 500);\n font-size: var(--mellow-font-size-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n color: var(--mellow-text-primary, #232222);\n text-align: center;\n }\n\n :host([size='md']) .tab-counter {\n min-width: 22px;\n padding: var(--mellow-space-0-5, 2px) var(--mellow-space-1-5, 6px);\n border-radius: var(--mellow-radius-2, 8px);\n font-size: var(--mellow-font-size-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n }\n\n :host([size='sm']) .tab-counter {\n min-width: 18px;\n padding: var(--mellow-space-0-5, 2px) var(--mellow-space-1, 4px);\n border-radius: var(--mellow-radius-1-5, 6px);\n font-size: var(--mellow-font-size-12, 12px);\n line-height: var(--mellow-line-height-14, 14px);\n }\n\n /* ---- Settings spacer ---- */\n\n .settings-spacer {\n align-self: stretch;\n width: 8px;\n flex-shrink: 0;\n }\n\n /* ---- Hidden slot ---- */\n\n slot {\n display: none;\n }\n`\n"],"names":["tabsStyles","css"],"mappings":";AAEO,MAAMA,IAAaC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type TagSize = 'sm' | 'md';
|
|
3
|
+
export declare class MellowTag extends LitElement {
|
|
4
|
+
static styles: import("lit").CSSResult[];
|
|
5
|
+
size: TagSize;
|
|
6
|
+
selected: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
removable: boolean;
|
|
9
|
+
private _handleRemove;
|
|
10
|
+
private _handleClick;
|
|
11
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
12
|
+
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'mellow-tag': MellowTag;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAA;AAIpD,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA;AAQjC,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,4BAAc;IAGpC,IAAI,EAAE,OAAO,CAAO;IAGpB,QAAQ,UAAQ;IAGhB,QAAQ,UAAQ;IAGhB,SAAS,UAAQ;IAEjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAWX,MAAM;CA+BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAA;KACxB;CACF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { svg as d, LitElement as h, nothing as m, html as p } from "lit";
|
|
2
|
+
import { property as a, customElement as u } from "lit/decorators.js";
|
|
3
|
+
import { tagStyles as b } from "./tag.styles.js";
|
|
4
|
+
var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, l = (e, o, n, r) => {
|
|
5
|
+
for (var t = r > 1 ? void 0 : r ? f(o, n) : o, i = e.length - 1, c; i >= 0; i--)
|
|
6
|
+
(c = e[i]) && (t = (r ? c(o, n, t) : c(t)) || t);
|
|
7
|
+
return r && t && v(o, n, t), t;
|
|
8
|
+
};
|
|
9
|
+
const y = d`
|
|
10
|
+
<svg viewBox="0 0 16 16" fill="none" width="16" height="16">
|
|
11
|
+
<path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
12
|
+
</svg>
|
|
13
|
+
`;
|
|
14
|
+
let s = class extends h {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this.size = "sm", this.selected = !1, this.disabled = !1, this.removable = !1;
|
|
17
|
+
}
|
|
18
|
+
_handleRemove(e) {
|
|
19
|
+
e.stopPropagation(), !this.disabled && this.dispatchEvent(new CustomEvent("mellow-remove", {
|
|
20
|
+
bubbles: !0,
|
|
21
|
+
composed: !0
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
_handleClick() {
|
|
25
|
+
this.disabled || this.dispatchEvent(new CustomEvent("mellow-select", {
|
|
26
|
+
bubbles: !0,
|
|
27
|
+
composed: !0,
|
|
28
|
+
detail: { selected: !this.selected }
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return p`
|
|
33
|
+
<button
|
|
34
|
+
class="tag"
|
|
35
|
+
part="tag"
|
|
36
|
+
?disabled=${this.disabled}
|
|
37
|
+
aria-pressed=${this.selected ? "true" : "false"}
|
|
38
|
+
@click=${this._handleClick}
|
|
39
|
+
>
|
|
40
|
+
<span class="content">
|
|
41
|
+
<slot name="icon-start"></slot>
|
|
42
|
+
<slot></slot>
|
|
43
|
+
</span>
|
|
44
|
+
<slot name="counter"></slot>
|
|
45
|
+
${this.removable ? p`<span
|
|
46
|
+
class="remove-btn"
|
|
47
|
+
role="button"
|
|
48
|
+
tabindex="0"
|
|
49
|
+
aria-label="Remove"
|
|
50
|
+
@click=${this._handleRemove}
|
|
51
|
+
@keydown=${(e) => {
|
|
52
|
+
(e.key === "Enter" || e.key === " ") && this._handleRemove(e);
|
|
53
|
+
}}
|
|
54
|
+
>${y}</span>` : m}
|
|
55
|
+
</button>
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
s.styles = [b];
|
|
60
|
+
l([
|
|
61
|
+
a({ reflect: !0 })
|
|
62
|
+
], s.prototype, "size", 2);
|
|
63
|
+
l([
|
|
64
|
+
a({ type: Boolean, reflect: !0 })
|
|
65
|
+
], s.prototype, "selected", 2);
|
|
66
|
+
l([
|
|
67
|
+
a({ type: Boolean, reflect: !0 })
|
|
68
|
+
], s.prototype, "disabled", 2);
|
|
69
|
+
l([
|
|
70
|
+
a({ type: Boolean, reflect: !0 })
|
|
71
|
+
], s.prototype, "removable", 2);
|
|
72
|
+
s = l([
|
|
73
|
+
u("mellow-tag")
|
|
74
|
+
], s);
|
|
75
|
+
export {
|
|
76
|
+
s as MellowTag
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../../src/components/tag/tag.ts"],"sourcesContent":["import { LitElement, html, svg, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { tagStyles } from './tag.styles.js'\n\nexport type TagSize = 'sm' | 'md'\n\nconst closeIcon = svg`\n <svg viewBox=\"0 0 16 16\" fill=\"none\" width=\"16\" height=\"16\">\n <path d=\"M4 4l8 8M12 4l-8 8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n </svg>\n`\n\n@customElement('mellow-tag')\nexport class MellowTag extends LitElement {\n static override styles = [tagStyles]\n\n @property({ reflect: true })\n size: TagSize = 'sm'\n\n @property({ type: Boolean, reflect: true })\n selected = false\n\n @property({ type: Boolean, reflect: true })\n disabled = false\n\n @property({ type: Boolean, reflect: true })\n removable = false\n\n private _handleRemove(event: Event): void {\n event.stopPropagation()\n if (this.disabled) {\n return\n }\n this.dispatchEvent(new CustomEvent('mellow-remove', {\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleClick(): void {\n if (this.disabled) {\n return\n }\n this.dispatchEvent(new CustomEvent('mellow-select', {\n bubbles: true,\n composed: true,\n detail: { selected: !this.selected },\n }))\n }\n\n override render() {\n return html`\n <button\n class=\"tag\"\n part=\"tag\"\n ?disabled=${this.disabled}\n aria-pressed=${this.selected ? 'true' : 'false'}\n @click=${this._handleClick}\n >\n <span class=\"content\">\n <slot name=\"icon-start\"></slot>\n <slot></slot>\n </span>\n <slot name=\"counter\"></slot>\n ${this.removable\n ? html`<span\n class=\"remove-btn\"\n role=\"button\"\n tabindex=\"0\"\n aria-label=\"Remove\"\n @click=${this._handleRemove}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n this._handleRemove(e)\n }\n }}\n >${closeIcon}</span>`\n : nothing}\n </button>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-tag': MellowTag\n }\n}\n"],"names":["closeIcon","svg","MellowTag","LitElement","event","html","nothing","tagStyles","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAMA,MAAMA,IAAYC;AAAA;AAAA;AAAA;AAAA;AAOX,IAAMC,IAAN,cAAwBC,EAAW;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,OAAgB,MAGhB,KAAA,WAAW,IAGX,KAAA,WAAW,IAGX,KAAA,YAAY;AAAA,EAAA;AAAA,EAEJ,cAAcC,GAAoB;AAExC,IADAA,EAAM,gBAAA,GACF,MAAK,YAGT,KAAK,cAAc,IAAI,YAAY,iBAAiB;AAAA,MAClD,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,CACX,CAAC;AAAA,EACJ;AAAA,EAEQ,eAAqB;AAC3B,IAAI,KAAK,YAGT,KAAK,cAAc,IAAI,YAAY,iBAAiB;AAAA,MAClD,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ,EAAE,UAAU,CAAC,KAAK,SAAA;AAAA,IAAS,CACpC,CAAC;AAAA,EACJ;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA;AAAA;AAAA;AAAA,oBAIS,KAAK,QAAQ;AAAA,uBACV,KAAK,WAAW,SAAS,OAAO;AAAA,iBACtC,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOxB,KAAK,YACHA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKW,KAAK,aAAa;AAAA,yBAChB,CAAC,MAAqB;AAC/B,OAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,QACjC,KAAK,cAAc,CAAC;AAAA,IAExB,CAAC;AAAA,eACAL,CAAS,YACZM,CAAO;AAAA;AAAA;AAAA,EAGjB;AACF;AApEaJ,EACK,SAAS,CAACK,CAAS;AAGnCC,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAHhBP,EAIX,WAAA,QAAA,CAAA;AAGAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAN/BP,EAOX,WAAA,YAAA,CAAA;AAGAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAT/BP,EAUX,WAAA,YAAA,CAAA;AAGAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAZ/BP,EAaX,WAAA,aAAA,CAAA;AAbWA,IAANM,EAAA;AAAA,EADNE,EAAc,YAAY;AAAA,GACdR,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.styles.d.ts","sourceRoot":"","sources":["../../../src/components/tag/tag.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yBAmIrB,CAAA"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
const t = e`
|
|
3
|
+
:host {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.tag {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
border: none;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
15
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
16
|
+
text-align: center;
|
|
17
|
+
letter-spacing: 0;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
transition: background-color 150ms ease;
|
|
21
|
+
background-color: var(--mellow-bg-fill-chips-default, rgba(228, 211, 196, 0.64));
|
|
22
|
+
color: var(--mellow-text-primary, #232222);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.tag:focus-visible {
|
|
26
|
+
outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);
|
|
27
|
+
outline-offset: 2px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.content {
|
|
31
|
+
display: inline-flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
gap: var(--mellow-space-1-5, 6px);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ---- Sizes ---- */
|
|
37
|
+
|
|
38
|
+
:host .tag,
|
|
39
|
+
:host([size='sm']) .tag {
|
|
40
|
+
height: 32px;
|
|
41
|
+
padding: 0 var(--mellow-space-3, 12px);
|
|
42
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
43
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
44
|
+
gap: var(--mellow-space-2, 8px);
|
|
45
|
+
border-radius: var(--mellow-radius-3, 12px);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:host([size='md']) .tag {
|
|
49
|
+
height: 42px;
|
|
50
|
+
padding: 0 var(--mellow-space-3-5, 14px);
|
|
51
|
+
font-size: var(--mellow-font-size-16, 16px);
|
|
52
|
+
line-height: var(--mellow-line-height-22, 22px);
|
|
53
|
+
gap: var(--mellow-space-2, 8px);
|
|
54
|
+
border-radius: var(--mellow-radius-4, 16px);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ---- States ---- */
|
|
58
|
+
|
|
59
|
+
.tag:hover:not(:disabled) {
|
|
60
|
+
background-color: var(--mellow-bg-fill-chips-hovered, #e4d3c4);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.tag:disabled {
|
|
64
|
+
opacity: 0.48;
|
|
65
|
+
cursor: not-allowed;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* ---- Selected ---- */
|
|
69
|
+
|
|
70
|
+
:host([selected]) .tag {
|
|
71
|
+
background-color: var(--mellow-bg-fill-chips-pressed, #f6d8ba);
|
|
72
|
+
color: var(--mellow-text-brand, #ff6f23);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:host([selected]) .tag:hover:not(:disabled) {
|
|
76
|
+
background-color: var(--mellow-bg-fill-chips-pressed, #f6d8ba);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* ---- Icon slots ---- */
|
|
80
|
+
|
|
81
|
+
::slotted([slot='icon-start']) {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
flex-shrink: 0;
|
|
86
|
+
overflow: clip;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
:host([size='sm']) ::slotted([slot='icon-start']),
|
|
90
|
+
::slotted([slot='icon-start']) {
|
|
91
|
+
width: 16px;
|
|
92
|
+
height: 16px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:host([size='md']) ::slotted([slot='icon-start']) {
|
|
96
|
+
width: 20px;
|
|
97
|
+
height: 20px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* ---- Counter slot ---- */
|
|
101
|
+
|
|
102
|
+
::slotted([slot='counter']) {
|
|
103
|
+
flex-shrink: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* ---- Remove button ---- */
|
|
107
|
+
|
|
108
|
+
.remove-btn {
|
|
109
|
+
display: flex;
|
|
110
|
+
align-items: center;
|
|
111
|
+
justify-content: center;
|
|
112
|
+
flex-shrink: 0;
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
color: inherit;
|
|
115
|
+
width: 16px;
|
|
116
|
+
height: 16px;
|
|
117
|
+
border-radius: 50%;
|
|
118
|
+
transition: opacity 150ms ease;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.remove-btn:hover {
|
|
122
|
+
opacity: 0.7;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.remove-btn:focus-visible {
|
|
126
|
+
outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);
|
|
127
|
+
outline-offset: 1px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.tag:disabled .remove-btn {
|
|
131
|
+
cursor: not-allowed;
|
|
132
|
+
}
|
|
133
|
+
`;
|
|
134
|
+
export {
|
|
135
|
+
t as tagStyles
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=tag.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.styles.js","sources":["../../../src/components/tag/tag.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const tagStyles = css`\n :host {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n .tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n cursor: pointer;\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-weight: var(--mellow-font-weight-regular, 400);\n text-align: center;\n letter-spacing: 0;\n white-space: nowrap;\n box-sizing: border-box;\n transition: background-color 150ms ease;\n background-color: var(--mellow-bg-fill-chips-default, rgba(228, 211, 196, 0.64));\n color: var(--mellow-text-primary, #232222);\n }\n\n .tag:focus-visible {\n outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);\n outline-offset: 2px;\n }\n\n .content {\n display: inline-flex;\n align-items: center;\n gap: var(--mellow-space-1-5, 6px);\n }\n\n /* ---- Sizes ---- */\n\n :host .tag,\n :host([size='sm']) .tag {\n height: 32px;\n padding: 0 var(--mellow-space-3, 12px);\n font-size: var(--mellow-font-size-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n gap: var(--mellow-space-2, 8px);\n border-radius: var(--mellow-radius-3, 12px);\n }\n\n :host([size='md']) .tag {\n height: 42px;\n padding: 0 var(--mellow-space-3-5, 14px);\n font-size: var(--mellow-font-size-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n gap: var(--mellow-space-2, 8px);\n border-radius: var(--mellow-radius-4, 16px);\n }\n\n /* ---- States ---- */\n\n .tag:hover:not(:disabled) {\n background-color: var(--mellow-bg-fill-chips-hovered, #e4d3c4);\n }\n\n .tag:disabled {\n opacity: 0.48;\n cursor: not-allowed;\n }\n\n /* ---- Selected ---- */\n\n :host([selected]) .tag {\n background-color: var(--mellow-bg-fill-chips-pressed, #f6d8ba);\n color: var(--mellow-text-brand, #ff6f23);\n }\n\n :host([selected]) .tag:hover:not(:disabled) {\n background-color: var(--mellow-bg-fill-chips-pressed, #f6d8ba);\n }\n\n /* ---- Icon slots ---- */\n\n ::slotted([slot='icon-start']) {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: clip;\n }\n\n :host([size='sm']) ::slotted([slot='icon-start']),\n ::slotted([slot='icon-start']) {\n width: 16px;\n height: 16px;\n }\n\n :host([size='md']) ::slotted([slot='icon-start']) {\n width: 20px;\n height: 20px;\n }\n\n /* ---- Counter slot ---- */\n\n ::slotted([slot='counter']) {\n flex-shrink: 0;\n }\n\n /* ---- Remove button ---- */\n\n .remove-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n cursor: pointer;\n color: inherit;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n transition: opacity 150ms ease;\n }\n\n .remove-btn:hover {\n opacity: 0.7;\n }\n\n .remove-btn:focus-visible {\n outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);\n outline-offset: 1px;\n }\n\n .tag:disabled .remove-btn {\n cursor: not-allowed;\n }\n`\n"],"names":["tagStyles","css"],"mappings":";AAEO,MAAMA,IAAYC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type TextareaResize = 'none' | 'vertical' | 'both';
|
|
3
|
+
export declare class MellowTextarea extends LitElement {
|
|
4
|
+
static styles: import("lit").CSSResult[];
|
|
5
|
+
value: string;
|
|
6
|
+
placeholder: string;
|
|
7
|
+
label: string;
|
|
8
|
+
error: string;
|
|
9
|
+
helper: string;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
required: boolean;
|
|
12
|
+
rows: number;
|
|
13
|
+
resize: TextareaResize;
|
|
14
|
+
maxlength: number;
|
|
15
|
+
private _focused;
|
|
16
|
+
private _textarea;
|
|
17
|
+
private _handleInput;
|
|
18
|
+
private _handleChange;
|
|
19
|
+
private _handleFocus;
|
|
20
|
+
private _handleBlur;
|
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
'mellow-textarea': MellowTextarea;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/textarea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAA;AAK/C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAEzD,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,4BAAmB;IAGzC,KAAK,SAAK;IAGV,WAAW,SAAK;IAGhB,KAAK,SAAK;IASV,KAAK,SAAK;IAGV,MAAM,SAAK;IAGX,QAAQ,UAAQ;IAGhB,QAAQ,UAAQ;IAGhB,IAAI,SAAI;IAGR,MAAM,EAAE,cAAc,CAAa;IAGnC,SAAS,SAAI;IAGb,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,SAAS,CAAsB;IAEvC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAIV,MAAM;CAqDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAA;KAClC;CACF"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { LitElement as d, nothing as p, html as i } from "lit";
|
|
2
|
+
import { property as r, state as c, query as v, customElement as m } from "lit/decorators.js";
|
|
3
|
+
import { classMap as x } from "lit/directives/class-map.js";
|
|
4
|
+
import { textareaStyles as b } from "./textarea.styles.js";
|
|
5
|
+
var f = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, t = (l, o, h, a) => {
|
|
6
|
+
for (var s = a > 1 ? void 0 : a ? $(o, h) : o, u = l.length - 1, n; u >= 0; u--)
|
|
7
|
+
(n = l[u]) && (s = (a ? n(o, h, s) : n(s)) || s);
|
|
8
|
+
return a && s && f(o, h, s), s;
|
|
9
|
+
};
|
|
10
|
+
let e = class extends d {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments), this.value = "", this.placeholder = "", this.label = "", this.error = "", this.helper = "", this.disabled = !1, this.required = !1, this.rows = 3, this.resize = "vertical", this.maxlength = 0, this._focused = !1;
|
|
13
|
+
}
|
|
14
|
+
_handleInput() {
|
|
15
|
+
this.value = this._textarea.value, this.dispatchEvent(new CustomEvent("mellow-input", {
|
|
16
|
+
detail: { value: this.value },
|
|
17
|
+
bubbles: !0,
|
|
18
|
+
composed: !0
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
_handleChange() {
|
|
22
|
+
this.value = this._textarea.value, this.dispatchEvent(new CustomEvent("mellow-change", {
|
|
23
|
+
detail: { value: this.value },
|
|
24
|
+
bubbles: !0,
|
|
25
|
+
composed: !0
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
_handleFocus() {
|
|
29
|
+
this._focused = !0;
|
|
30
|
+
}
|
|
31
|
+
_handleBlur() {
|
|
32
|
+
this._focused = !1;
|
|
33
|
+
}
|
|
34
|
+
render() {
|
|
35
|
+
const l = this.error || this.helper ? "helper-text" : void 0, o = {
|
|
36
|
+
"textarea-container": !0,
|
|
37
|
+
focused: this._focused
|
|
38
|
+
}, h = !!(this.error || this.helper), a = this.maxlength > 0, s = `${this.value.length} / ${this.maxlength}`;
|
|
39
|
+
return i`
|
|
40
|
+
<div class="wrapper">
|
|
41
|
+
${this.label ? i`<label class="label" for="textarea">${this.label}</label>` : p}
|
|
42
|
+
<div class="textarea-helper">
|
|
43
|
+
<div class=${x(o)}>
|
|
44
|
+
<textarea
|
|
45
|
+
id="textarea"
|
|
46
|
+
.value=${this.value}
|
|
47
|
+
placeholder=${this.placeholder}
|
|
48
|
+
?disabled=${this.disabled}
|
|
49
|
+
?required=${this.required}
|
|
50
|
+
rows=${this.rows}
|
|
51
|
+
maxlength=${this.maxlength > 0 ? this.maxlength : p}
|
|
52
|
+
style="resize: ${this.resize}"
|
|
53
|
+
aria-invalid=${this.error ? "true" : "false"}
|
|
54
|
+
aria-describedby=${l ?? p}
|
|
55
|
+
@input=${this._handleInput}
|
|
56
|
+
@change=${this._handleChange}
|
|
57
|
+
@focus=${this._handleFocus}
|
|
58
|
+
@blur=${this._handleBlur}
|
|
59
|
+
></textarea>
|
|
60
|
+
</div>
|
|
61
|
+
${h || a ? i`
|
|
62
|
+
<div class="helper-row">
|
|
63
|
+
${this.error ? i`<div class="helper" id="helper-text" role="alert">${this.error}</div>` : this.helper ? i`<div class="helper" id="helper-text">${this.helper}</div>` : i`<div></div>`}
|
|
64
|
+
${a ? i`<span class="char-count">${s}</span>` : p}
|
|
65
|
+
</div>
|
|
66
|
+
` : p}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
e.styles = [b];
|
|
73
|
+
t([
|
|
74
|
+
r()
|
|
75
|
+
], e.prototype, "value", 2);
|
|
76
|
+
t([
|
|
77
|
+
r()
|
|
78
|
+
], e.prototype, "placeholder", 2);
|
|
79
|
+
t([
|
|
80
|
+
r()
|
|
81
|
+
], e.prototype, "label", 2);
|
|
82
|
+
t([
|
|
83
|
+
r({
|
|
84
|
+
reflect: !0,
|
|
85
|
+
converter: {
|
|
86
|
+
fromAttribute: (l) => l ?? "",
|
|
87
|
+
toAttribute: (l) => l || null
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
], e.prototype, "error", 2);
|
|
91
|
+
t([
|
|
92
|
+
r()
|
|
93
|
+
], e.prototype, "helper", 2);
|
|
94
|
+
t([
|
|
95
|
+
r({ type: Boolean, reflect: !0 })
|
|
96
|
+
], e.prototype, "disabled", 2);
|
|
97
|
+
t([
|
|
98
|
+
r({ type: Boolean, reflect: !0 })
|
|
99
|
+
], e.prototype, "required", 2);
|
|
100
|
+
t([
|
|
101
|
+
r({ type: Number })
|
|
102
|
+
], e.prototype, "rows", 2);
|
|
103
|
+
t([
|
|
104
|
+
r()
|
|
105
|
+
], e.prototype, "resize", 2);
|
|
106
|
+
t([
|
|
107
|
+
r({ type: Number })
|
|
108
|
+
], e.prototype, "maxlength", 2);
|
|
109
|
+
t([
|
|
110
|
+
c()
|
|
111
|
+
], e.prototype, "_focused", 2);
|
|
112
|
+
t([
|
|
113
|
+
v("textarea")
|
|
114
|
+
], e.prototype, "_textarea", 2);
|
|
115
|
+
e = t([
|
|
116
|
+
m("mellow-textarea")
|
|
117
|
+
], e);
|
|
118
|
+
export {
|
|
119
|
+
e as MellowTextarea
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sources":["../../../src/components/textarea/textarea.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit'\nimport { customElement, property, state, query } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { textareaStyles } from './textarea.styles.js'\n\nexport type TextareaResize = 'none' | 'vertical' | 'both'\n\n@customElement('mellow-textarea')\nexport class MellowTextarea extends LitElement {\n static override styles = [textareaStyles]\n\n @property()\n value = ''\n\n @property()\n placeholder = ''\n\n @property()\n label = ''\n\n @property({\n reflect: true,\n converter: {\n fromAttribute: (value: string | null) => value ?? '',\n toAttribute: (value: string) => value || null,\n },\n })\n error = ''\n\n @property()\n helper = ''\n\n @property({ type: Boolean, reflect: true })\n disabled = false\n\n @property({ type: Boolean, reflect: true })\n required = false\n\n @property({ type: Number })\n rows = 3\n\n @property()\n resize: TextareaResize = 'vertical'\n\n @property({ type: Number })\n maxlength = 0\n\n @state()\n private _focused = false\n\n @query('textarea')\n private _textarea!: HTMLTextAreaElement\n\n private _handleInput(): void {\n this.value = this._textarea.value\n this.dispatchEvent(new CustomEvent('mellow-input', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleChange(): void {\n this.value = this._textarea.value\n this.dispatchEvent(new CustomEvent('mellow-change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleFocus(): void {\n this._focused = true\n }\n\n private _handleBlur(): void {\n this._focused = false\n }\n\n override render() {\n const helperId = this.error || this.helper ? 'helper-text' : undefined\n const containerClasses = {\n 'textarea-container': true,\n 'focused': this._focused,\n }\n\n const hasHelperText = Boolean(this.error || this.helper)\n const showCharCount = this.maxlength > 0\n const charCountText = `${this.value.length} / ${this.maxlength}`\n\n return html`\n <div class=\"wrapper\">\n ${this.label\n ? html`<label class=\"label\" for=\"textarea\">${this.label}</label>`\n : nothing}\n <div class=\"textarea-helper\">\n <div class=${classMap(containerClasses)}>\n <textarea\n id=\"textarea\"\n .value=${this.value}\n placeholder=${this.placeholder}\n ?disabled=${this.disabled}\n ?required=${this.required}\n rows=${this.rows}\n maxlength=${this.maxlength > 0 ? this.maxlength : nothing}\n style=\"resize: ${this.resize}\"\n aria-invalid=${this.error ? 'true' : 'false'}\n aria-describedby=${helperId ?? nothing}\n @input=${this._handleInput}\n @change=${this._handleChange}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n ></textarea>\n </div>\n ${hasHelperText || showCharCount\n ? html`\n <div class=\"helper-row\">\n ${this.error\n ? html`<div class=\"helper\" id=\"helper-text\" role=\"alert\">${this.error}</div>`\n : this.helper\n ? html`<div class=\"helper\" id=\"helper-text\">${this.helper}</div>`\n : html`<div></div>`}\n ${showCharCount\n ? html`<span class=\"char-count\">${charCountText}</span>`\n : nothing}\n </div>\n `\n : nothing}\n </div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-textarea': MellowTextarea\n }\n}\n"],"names":["MellowTextarea","LitElement","helperId","containerClasses","hasHelperText","showCharCount","charCountText","html","nothing","classMap","textareaStyles","__decorateClass","property","value","state","query","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.styles.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/textarea.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,yBA4I1B,CAAA"}
|