@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,146 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
const o = e`
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.wrapper {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: var(--mellow-space-2, 8px);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Label */
|
|
14
|
+
.label {
|
|
15
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
16
|
+
font-weight: var(--mellow-font-weight-medium, 500);
|
|
17
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
18
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
19
|
+
color: var(--mellow-text-secondary, #8a8686);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host([error]) .label {
|
|
23
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Input + Helper wrapper */
|
|
27
|
+
.textarea-helper {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex: 1 0 0;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
gap: var(--mellow-space-1, 4px);
|
|
32
|
+
min-height: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Textarea container */
|
|
36
|
+
.textarea-container {
|
|
37
|
+
display: flex;
|
|
38
|
+
flex: 1 0 0;
|
|
39
|
+
min-height: 0;
|
|
40
|
+
padding: var(--mellow-space-3-5, 15px);
|
|
41
|
+
border-radius: var(--mellow-radius-2, 8px);
|
|
42
|
+
border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-input, white);
|
|
43
|
+
background: var(--mellow-bg-surface-primary, white);
|
|
44
|
+
transition: border-color 150ms ease;
|
|
45
|
+
overflow: clip;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.textarea-container:hover {
|
|
49
|
+
border-color: var(--mellow-border-secondary, #ead8be);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.textarea-container.focused {
|
|
53
|
+
border-color: var(--mellow-border-brand, #ff6f23);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:host([error]) .textarea-container {
|
|
57
|
+
border-color: var(--mellow-border-danger, #db4933);
|
|
58
|
+
background: var(--mellow-bg-surface-danger, rgba(246, 132, 115, 0.16));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:host([disabled]) .textarea-container {
|
|
62
|
+
border-color: var(--mellow-border-tertiary, #f5eddf);
|
|
63
|
+
background: var(--mellow-bg-surface-tertiary, #f5eddf);
|
|
64
|
+
cursor: not-allowed;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
:host([disabled]) .textarea-container:hover {
|
|
68
|
+
border-color: var(--mellow-border-tertiary, #f5eddf);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Native textarea */
|
|
72
|
+
textarea {
|
|
73
|
+
flex: 1 0 0;
|
|
74
|
+
min-width: 0;
|
|
75
|
+
min-height: 0;
|
|
76
|
+
border: none;
|
|
77
|
+
outline: none;
|
|
78
|
+
background: transparent;
|
|
79
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
80
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
81
|
+
font-size: var(--mellow-font-size-16, 16px);
|
|
82
|
+
line-height: var(--mellow-line-height-22, 22px);
|
|
83
|
+
color: var(--mellow-text-primary, #232222);
|
|
84
|
+
padding: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
textarea::placeholder {
|
|
88
|
+
color: var(--mellow-text-tertiary, #d1d0d0);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
:host([error]) textarea {
|
|
92
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
:host([error]) textarea::placeholder {
|
|
96
|
+
color: var(--mellow-text-danger-300, #fbb1a6);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
:host([disabled]) textarea {
|
|
100
|
+
color: var(--mellow-text-secondary, #8a8686);
|
|
101
|
+
cursor: not-allowed;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
:host([disabled]) textarea::placeholder {
|
|
105
|
+
color: var(--mellow-text-secondary, #8a8686);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* Helper / Error text + Character count */
|
|
109
|
+
.helper {
|
|
110
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
111
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
112
|
+
font-size: var(--mellow-font-size-12, 12px);
|
|
113
|
+
line-height: var(--mellow-line-height-14, 14px);
|
|
114
|
+
color: var(--mellow-text-secondary, #8a8686);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
:host([error]) .helper {
|
|
118
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.helper-row {
|
|
122
|
+
display: flex;
|
|
123
|
+
justify-content: space-between;
|
|
124
|
+
align-items: flex-start;
|
|
125
|
+
gap: var(--mellow-space-2, 8px);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.char-count {
|
|
129
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
130
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
131
|
+
font-size: var(--mellow-font-size-12, 12px);
|
|
132
|
+
line-height: var(--mellow-line-height-14, 14px);
|
|
133
|
+
color: var(--mellow-text-secondary, #8a8686);
|
|
134
|
+
text-align: right;
|
|
135
|
+
white-space: nowrap;
|
|
136
|
+
flex-shrink: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
:host([error]) .char-count {
|
|
140
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
141
|
+
}
|
|
142
|
+
`;
|
|
143
|
+
export {
|
|
144
|
+
o as textareaStyles
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=textarea.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.styles.js","sources":["../../../src/components/textarea/textarea.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const textareaStyles = css`\n :host {\n display: block;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--mellow-space-2, 8px);\n }\n\n /* Label */\n .label {\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-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n :host([error]) .label {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n /* Input + Helper wrapper */\n .textarea-helper {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n gap: var(--mellow-space-1, 4px);\n min-height: 0;\n }\n\n /* Textarea container */\n .textarea-container {\n display: flex;\n flex: 1 0 0;\n min-height: 0;\n padding: var(--mellow-space-3-5, 15px);\n border-radius: var(--mellow-radius-2, 8px);\n border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-input, white);\n background: var(--mellow-bg-surface-primary, white);\n transition: border-color 150ms ease;\n overflow: clip;\n }\n\n .textarea-container:hover {\n border-color: var(--mellow-border-secondary, #ead8be);\n }\n\n .textarea-container.focused {\n border-color: var(--mellow-border-brand, #ff6f23);\n }\n\n :host([error]) .textarea-container {\n border-color: var(--mellow-border-danger, #db4933);\n background: var(--mellow-bg-surface-danger, rgba(246, 132, 115, 0.16));\n }\n\n :host([disabled]) .textarea-container {\n border-color: var(--mellow-border-tertiary, #f5eddf);\n background: var(--mellow-bg-surface-tertiary, #f5eddf);\n cursor: not-allowed;\n }\n\n :host([disabled]) .textarea-container:hover {\n border-color: var(--mellow-border-tertiary, #f5eddf);\n }\n\n /* Native textarea */\n textarea {\n flex: 1 0 0;\n min-width: 0;\n min-height: 0;\n border: none;\n outline: none;\n background: transparent;\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-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n color: var(--mellow-text-primary, #232222);\n padding: 0;\n }\n\n textarea::placeholder {\n color: var(--mellow-text-tertiary, #d1d0d0);\n }\n\n :host([error]) textarea {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n :host([error]) textarea::placeholder {\n color: var(--mellow-text-danger-300, #fbb1a6);\n }\n\n :host([disabled]) textarea {\n color: var(--mellow-text-secondary, #8a8686);\n cursor: not-allowed;\n }\n\n :host([disabled]) textarea::placeholder {\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n /* Helper / Error text + Character count */\n .helper {\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-12, 12px);\n line-height: var(--mellow-line-height-14, 14px);\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n :host([error]) .helper {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n .helper-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--mellow-space-2, 8px);\n }\n\n .char-count {\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-12, 12px);\n line-height: var(--mellow-line-height-14, 14px);\n color: var(--mellow-text-secondary, #8a8686);\n text-align: right;\n white-space: nowrap;\n flex-shrink: 0;\n }\n\n :host([error]) .char-count {\n color: var(--mellow-text-danger-600, #db4933);\n }\n`\n"],"names":["textareaStyles","css"],"mappings":";AAEO,MAAMA,IAAiBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement, nothing } from 'lit';
|
|
2
|
+
export type ToastVariant = 'info' | 'accent' | 'danger' | 'warning' | 'success';
|
|
3
|
+
export declare class MellowToast extends LitElement {
|
|
4
|
+
static styles: import("lit").CSSResult[];
|
|
5
|
+
variant: ToastVariant;
|
|
6
|
+
message: string;
|
|
7
|
+
duration: number;
|
|
8
|
+
private _visible;
|
|
9
|
+
private _entering;
|
|
10
|
+
private _exiting;
|
|
11
|
+
private _autoTimer;
|
|
12
|
+
static show(options: {
|
|
13
|
+
message: string;
|
|
14
|
+
variant?: ToastVariant;
|
|
15
|
+
duration?: number;
|
|
16
|
+
container?: HTMLElement;
|
|
17
|
+
}): MellowToast;
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
disconnectedCallback(): void;
|
|
20
|
+
private _scheduleAutoDismiss;
|
|
21
|
+
private _clearAutoTimer;
|
|
22
|
+
private _dismiss;
|
|
23
|
+
private _handleClose;
|
|
24
|
+
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'mellow-toast': MellowToast;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,OAAO,EAAE,MAAM,KAAK,CAAA;AAKpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAgB/E,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAAgB;IAGtC,OAAO,EAAE,YAAY,CAAS;IAG9B,OAAO,SAAK;IAGZ,QAAQ,SAAO;IAGf,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,SAAS,CAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,UAAU,CAA2C;IAE7D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,YAAY,CAAA;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,WAAW,CAAA;KACxB,GAAG,WAAW;IAcN,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAKrC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,YAAY;IAKX,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { svg as h, LitElement as m, nothing as d, html as _ } from "lit";
|
|
2
|
+
import { property as c, state as u, customElement as p } from "lit/decorators.js";
|
|
3
|
+
import { classMap as v } from "lit/directives/class-map.js";
|
|
4
|
+
import { toastStyles as g } from "./toast.styles.js";
|
|
5
|
+
var f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, r = (t, e, o, n) => {
|
|
6
|
+
for (var i = n > 1 ? void 0 : n ? b(e, o) : e, a = t.length - 1, l; a >= 0; a--)
|
|
7
|
+
(l = t[a]) && (i = (n ? l(e, o, i) : l(i)) || i);
|
|
8
|
+
return n && i && f(e, o, i), i;
|
|
9
|
+
};
|
|
10
|
+
const w = h`
|
|
11
|
+
<svg viewBox="0 0 20 20" fill="none" width="20" height="20">
|
|
12
|
+
<circle cx="10" cy="10" r="8.5" stroke="currentColor" stroke-width="1.2"/>
|
|
13
|
+
<path d="M10 9v4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
|
|
14
|
+
<circle cx="10" cy="7" r="0.75" fill="currentColor"/>
|
|
15
|
+
</svg>
|
|
16
|
+
`, C = h`
|
|
17
|
+
<svg viewBox="0 0 16 16" fill="none" width="16" height="16">
|
|
18
|
+
<path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
|
|
19
|
+
</svg>
|
|
20
|
+
`;
|
|
21
|
+
let s = class extends m {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments), this.variant = "info", this.message = "", this.duration = 5e3, this._visible = !1, this._entering = !1, this._exiting = !1;
|
|
24
|
+
}
|
|
25
|
+
static show(t) {
|
|
26
|
+
const e = document.createElement("mellow-toast");
|
|
27
|
+
return e.message = t.message, t.variant && (e.variant = t.variant), t.duration !== void 0 && (e.duration = t.duration), (t.container ?? document.body).appendChild(e), e;
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
super.connectedCallback(), this._visible = !0, this._entering = !1, requestAnimationFrame(() => {
|
|
31
|
+
this._entering = !0;
|
|
32
|
+
}), this._scheduleAutoDismiss();
|
|
33
|
+
}
|
|
34
|
+
disconnectedCallback() {
|
|
35
|
+
super.disconnectedCallback(), this._clearAutoTimer();
|
|
36
|
+
}
|
|
37
|
+
_scheduleAutoDismiss() {
|
|
38
|
+
this._clearAutoTimer(), this.duration > 0 && (this._autoTimer = setTimeout(() => {
|
|
39
|
+
this._dismiss();
|
|
40
|
+
}, this.duration));
|
|
41
|
+
}
|
|
42
|
+
_clearAutoTimer() {
|
|
43
|
+
this._autoTimer !== void 0 && (clearTimeout(this._autoTimer), this._autoTimer = void 0);
|
|
44
|
+
}
|
|
45
|
+
_dismiss() {
|
|
46
|
+
this._exiting = !0, setTimeout(() => {
|
|
47
|
+
this._visible = !1, this.dispatchEvent(new CustomEvent("mellow-dismiss", {
|
|
48
|
+
bubbles: !0,
|
|
49
|
+
composed: !0
|
|
50
|
+
})), this.remove();
|
|
51
|
+
}, 200);
|
|
52
|
+
}
|
|
53
|
+
_handleClose() {
|
|
54
|
+
this._clearAutoTimer(), this._dismiss();
|
|
55
|
+
}
|
|
56
|
+
render() {
|
|
57
|
+
if (!this._visible)
|
|
58
|
+
return d;
|
|
59
|
+
const t = {
|
|
60
|
+
toast: !0,
|
|
61
|
+
entering: this._entering && !this._exiting,
|
|
62
|
+
exiting: this._exiting
|
|
63
|
+
};
|
|
64
|
+
return _`
|
|
65
|
+
<div class=${v(t)} role="status" aria-live="polite">
|
|
66
|
+
<div class="icon-frame">
|
|
67
|
+
<slot name="icon">${w}</slot>
|
|
68
|
+
</div>
|
|
69
|
+
<span class="message">${this.message}</span>
|
|
70
|
+
<button
|
|
71
|
+
class="close-btn"
|
|
72
|
+
aria-label="Close"
|
|
73
|
+
@click=${this._handleClose}
|
|
74
|
+
>${C}</button>
|
|
75
|
+
</div>
|
|
76
|
+
`;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
s.styles = [g];
|
|
80
|
+
r([
|
|
81
|
+
c({ reflect: !0 })
|
|
82
|
+
], s.prototype, "variant", 2);
|
|
83
|
+
r([
|
|
84
|
+
c()
|
|
85
|
+
], s.prototype, "message", 2);
|
|
86
|
+
r([
|
|
87
|
+
c({ type: Number })
|
|
88
|
+
], s.prototype, "duration", 2);
|
|
89
|
+
r([
|
|
90
|
+
u()
|
|
91
|
+
], s.prototype, "_visible", 2);
|
|
92
|
+
r([
|
|
93
|
+
u()
|
|
94
|
+
], s.prototype, "_entering", 2);
|
|
95
|
+
r([
|
|
96
|
+
u()
|
|
97
|
+
], s.prototype, "_exiting", 2);
|
|
98
|
+
s = r([
|
|
99
|
+
p("mellow-toast")
|
|
100
|
+
], s);
|
|
101
|
+
export {
|
|
102
|
+
s as MellowToast
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../../../src/components/toast/toast.ts"],"sourcesContent":["import { LitElement, html, svg, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { toastStyles } from './toast.styles.js'\n\nexport type ToastVariant = 'info' | 'accent' | 'danger' | 'warning' | 'success'\n\nconst infoIcon = svg`\n <svg viewBox=\"0 0 20 20\" fill=\"none\" width=\"20\" height=\"20\">\n <circle cx=\"10\" cy=\"10\" r=\"8.5\" stroke=\"currentColor\" stroke-width=\"1.2\"/>\n <path d=\"M10 9v4\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"/>\n <circle cx=\"10\" cy=\"7\" r=\"0.75\" fill=\"currentColor\"/>\n </svg>\n`\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.2\" stroke-linecap=\"round\"/>\n </svg>\n`\n\n@customElement('mellow-toast')\nexport class MellowToast extends LitElement {\n static override styles = [toastStyles]\n\n @property({ reflect: true })\n variant: ToastVariant = 'info'\n\n @property()\n message = ''\n\n @property({ type: Number })\n duration = 5000\n\n @state()\n private _visible = false\n\n @state()\n private _entering = false\n\n @state()\n private _exiting = false\n\n private _autoTimer: ReturnType<typeof setTimeout> | undefined\n\n static show(options: {\n message: string\n variant?: ToastVariant\n duration?: number\n container?: HTMLElement\n }): MellowToast {\n const toast = document.createElement('mellow-toast') as MellowToast\n toast.message = options.message\n if (options.variant) {\n toast.variant = options.variant\n }\n if (options.duration !== undefined) {\n toast.duration = options.duration\n }\n const container = options.container ?? document.body\n container.appendChild(toast)\n return toast\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this._visible = true\n this._entering = false\n requestAnimationFrame(() => {\n this._entering = true\n })\n this._scheduleAutoDismiss()\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this._clearAutoTimer()\n }\n\n private _scheduleAutoDismiss(): void {\n this._clearAutoTimer()\n if (this.duration > 0) {\n this._autoTimer = setTimeout(() => {\n this._dismiss()\n }, this.duration)\n }\n }\n\n private _clearAutoTimer(): void {\n if (this._autoTimer !== undefined) {\n clearTimeout(this._autoTimer)\n this._autoTimer = undefined\n }\n }\n\n private _dismiss(): void {\n this._exiting = true\n setTimeout(() => {\n this._visible = false\n this.dispatchEvent(new CustomEvent('mellow-dismiss', {\n bubbles: true,\n composed: true,\n }))\n this.remove()\n }, 200)\n }\n\n private _handleClose(): void {\n this._clearAutoTimer()\n this._dismiss()\n }\n\n override render() {\n if (!this._visible) {\n return nothing\n }\n\n const toastClasses = {\n 'toast': true,\n 'entering': this._entering && !this._exiting,\n 'exiting': this._exiting,\n }\n\n return html`\n <div class=${classMap(toastClasses)} role=\"status\" aria-live=\"polite\">\n <div class=\"icon-frame\">\n <slot name=\"icon\">${infoIcon}</slot>\n </div>\n <span class=\"message\">${this.message}</span>\n <button\n class=\"close-btn\"\n aria-label=\"Close\"\n @click=${this._handleClose}\n >${closeIcon}</button>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-toast': MellowToast\n }\n}\n"],"names":["infoIcon","svg","closeIcon","MellowToast","LitElement","options","toast","nothing","toastClasses","html","classMap","toastStyles","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;AAOA,MAAMA,IAAWC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQXC,IAAYD;AAAA;AAAA;AAAA;AAAA;AAOX,IAAME,IAAN,cAA0BC,EAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,UAAwB,QAGxB,KAAA,UAAU,IAGV,KAAA,WAAW,KAGX,KAAQ,WAAW,IAGnB,KAAQ,YAAY,IAGpB,KAAQ,WAAW;AAAA,EAAA;AAAA,EAInB,OAAO,KAAKC,GAKI;AACd,UAAMC,IAAQ,SAAS,cAAc,cAAc;AACnD,WAAAA,EAAM,UAAUD,EAAQ,SACpBA,EAAQ,YACVC,EAAM,UAAUD,EAAQ,UAEtBA,EAAQ,aAAa,WACvBC,EAAM,WAAWD,EAAQ,YAETA,EAAQ,aAAa,SAAS,MACtC,YAAYC,CAAK,GACpBA;AAAA,EACT;AAAA,EAES,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,WAAW,IAChB,KAAK,YAAY,IACjB,sBAAsB,MAAM;AAC1B,WAAK,YAAY;AAAA,IACnB,CAAC,GACD,KAAK,qBAAA;AAAA,EACP;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,gBAAA;AAAA,EACP;AAAA,EAEQ,uBAA6B;AACnC,SAAK,gBAAA,GACD,KAAK,WAAW,MAClB,KAAK,aAAa,WAAW,MAAM;AACjC,WAAK,SAAA;AAAA,IACP,GAAG,KAAK,QAAQ;AAAA,EAEpB;AAAA,EAEQ,kBAAwB;AAC9B,IAAI,KAAK,eAAe,WACtB,aAAa,KAAK,UAAU,GAC5B,KAAK,aAAa;AAAA,EAEtB;AAAA,EAEQ,WAAiB;AACvB,SAAK,WAAW,IAChB,WAAW,MAAM;AACf,WAAK,WAAW,IAChB,KAAK,cAAc,IAAI,YAAY,kBAAkB;AAAA,QACnD,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX,CAAC,GACF,KAAK,OAAA;AAAA,IACP,GAAG,GAAG;AAAA,EACR;AAAA,EAEQ,eAAqB;AAC3B,SAAK,gBAAA,GACL,KAAK,SAAA;AAAA,EACP;AAAA,EAES,SAAS;AAChB,QAAI,CAAC,KAAK;AACR,aAAOC;AAGT,UAAMC,IAAe;AAAA,MACnB,OAAS;AAAA,MACT,UAAY,KAAK,aAAa,CAAC,KAAK;AAAA,MACpC,SAAW,KAAK;AAAA,IAAA;AAGlB,WAAOC;AAAA,mBACQC,EAASF,CAAY,CAAC;AAAA;AAAA,8BAEXR,CAAQ;AAAA;AAAA,gCAEN,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA,mBAIzB,KAAK,YAAY;AAAA,WACzBE,CAAS;AAAA;AAAA;AAAA,EAGlB;AACF;AAnHaC,EACK,SAAS,CAACQ,CAAW;AAGrCC,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAHhBV,EAIX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAA;AAAS,GANCV,EAOX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfV,EAUX,WAAA,YAAA,CAAA;AAGQS,EAAA;AAAA,EADPE,EAAA;AAAM,GAZIX,EAaH,WAAA,YAAA,CAAA;AAGAS,EAAA;AAAA,EADPE,EAAA;AAAM,GAfIX,EAgBH,WAAA,aAAA,CAAA;AAGAS,EAAA;AAAA,EADPE,EAAA;AAAM,GAlBIX,EAmBH,WAAA,YAAA,CAAA;AAnBGA,IAANS,EAAA;AAAA,EADNG,EAAc,cAAc;AAAA,GAChBZ,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.styles.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBA0KvB,CAAA"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { css as o } from "lit";
|
|
2
|
+
const e = o`
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
pointer-events: auto;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:host([hidden]) {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* ---- Base ---- */
|
|
13
|
+
|
|
14
|
+
.toast {
|
|
15
|
+
display: flex;
|
|
16
|
+
gap: var(--mellow-space-2, 8px);
|
|
17
|
+
align-items: flex-start;
|
|
18
|
+
padding: var(--mellow-space-3-5, 15px);
|
|
19
|
+
border: var(--mellow-stroke-border, 1px) solid;
|
|
20
|
+
border-radius: var(--mellow-radii-xl, 12px);
|
|
21
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
font-weight: var(--mellow-typography-font-weight-regular, 400);
|
|
24
|
+
line-height: 22px;
|
|
25
|
+
box-shadow: var(--mellow-shadows-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));
|
|
26
|
+
min-width: 280px;
|
|
27
|
+
max-width: 600px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* ---- Variant: Info (default) ---- */
|
|
31
|
+
|
|
32
|
+
:host([variant='info']) .toast,
|
|
33
|
+
.toast {
|
|
34
|
+
background: var(--mellow-colors-bg-secondary, #ede2d6);
|
|
35
|
+
border-color: var(--mellow-colors-pearl-bush-300, #d3b69e);
|
|
36
|
+
color: var(--mellow-colors-primary-shark, #232222);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* ---- Variant: Accent ---- */
|
|
40
|
+
|
|
41
|
+
:host([variant='accent']) .toast {
|
|
42
|
+
background: var(--mellow-colors-orange-100, #f9e5d1);
|
|
43
|
+
border-color: var(--mellow-colors-primary-mellow-orange, #ff6f23);
|
|
44
|
+
color: var(--mellow-colors-primary-shark, #232222);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* ---- Variant: Danger ---- */
|
|
48
|
+
|
|
49
|
+
:host([variant='danger']) .toast {
|
|
50
|
+
background: rgba(246, 132, 115, 0.16);
|
|
51
|
+
border-color: var(--mellow-colors-red-punch-600, #db4933);
|
|
52
|
+
color: var(--mellow-colors-red-punch-600, #db4933);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* ---- Variant: Warning ---- */
|
|
56
|
+
|
|
57
|
+
:host([variant='warning']) .toast {
|
|
58
|
+
background: rgba(255, 202, 27, 0.16);
|
|
59
|
+
border-color: var(--mellow-colors-yellow-sea-600, #e27f00);
|
|
60
|
+
color: var(--mellow-colors-yellow-sea-600, #e27f00);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* ---- Variant: Success ---- */
|
|
64
|
+
|
|
65
|
+
:host([variant='success']) .toast {
|
|
66
|
+
background: rgba(94, 139, 127, 0.12);
|
|
67
|
+
border-color: var(--mellow-colors-viridian-green-400, #5e8b7f);
|
|
68
|
+
color: var(--mellow-colors-viridian-green-400, #5e8b7f);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* ---- Info & Accent text stays primary ---- */
|
|
72
|
+
|
|
73
|
+
:host([variant='info']) .message,
|
|
74
|
+
:host([variant='accent']) .message,
|
|
75
|
+
.message {
|
|
76
|
+
color: var(--mellow-colors-primary-shark, #232222);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:host([variant='danger']) .message {
|
|
80
|
+
color: var(--mellow-colors-red-punch-600, #db4933);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:host([variant='warning']) .message {
|
|
84
|
+
color: var(--mellow-colors-yellow-sea-600, #e27f00);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host([variant='success']) .message {
|
|
88
|
+
color: var(--mellow-colors-viridian-green-400, #5e8b7f);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* ---- Icon ---- */
|
|
92
|
+
|
|
93
|
+
.icon-frame {
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
width: 20px;
|
|
96
|
+
height: 22px;
|
|
97
|
+
display: flex;
|
|
98
|
+
align-items: center;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.icon-frame ::slotted(*),
|
|
102
|
+
.icon-frame svg {
|
|
103
|
+
width: 20px;
|
|
104
|
+
height: 20px;
|
|
105
|
+
color: inherit;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* ---- Message ---- */
|
|
109
|
+
|
|
110
|
+
.message {
|
|
111
|
+
flex: 1;
|
|
112
|
+
min-width: 0;
|
|
113
|
+
align-self: stretch;
|
|
114
|
+
white-space: pre-wrap;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* ---- Close button ---- */
|
|
118
|
+
|
|
119
|
+
.close-btn {
|
|
120
|
+
flex-shrink: 0;
|
|
121
|
+
width: 16px;
|
|
122
|
+
height: 22px;
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
background: none;
|
|
127
|
+
border: none;
|
|
128
|
+
cursor: pointer;
|
|
129
|
+
padding: 0;
|
|
130
|
+
color: inherit;
|
|
131
|
+
opacity: 0.7;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.close-btn:hover {
|
|
135
|
+
opacity: 1;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.close-btn svg {
|
|
139
|
+
width: 16px;
|
|
140
|
+
height: 16px;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/* ---- Animations ---- */
|
|
144
|
+
|
|
145
|
+
@keyframes slideIn {
|
|
146
|
+
from {
|
|
147
|
+
transform: translateY(-100%);
|
|
148
|
+
opacity: 0;
|
|
149
|
+
}
|
|
150
|
+
to {
|
|
151
|
+
transform: translateY(0);
|
|
152
|
+
opacity: 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@keyframes fadeOut {
|
|
157
|
+
from {
|
|
158
|
+
opacity: 1;
|
|
159
|
+
}
|
|
160
|
+
to {
|
|
161
|
+
opacity: 0;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.toast.entering {
|
|
166
|
+
animation: slideIn 200ms ease;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.toast.exiting {
|
|
170
|
+
animation: fadeOut 200ms ease;
|
|
171
|
+
}
|
|
172
|
+
`;
|
|
173
|
+
export {
|
|
174
|
+
e as toastStyles
|
|
175
|
+
};
|
|
176
|
+
//# sourceMappingURL=toast.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.styles.js","sources":["../../../src/components/toast/toast.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const toastStyles = css`\n :host {\n display: block;\n pointer-events: auto;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ---- Base ---- */\n\n .toast {\n display: flex;\n gap: var(--mellow-space-2, 8px);\n align-items: flex-start;\n padding: var(--mellow-space-3-5, 15px);\n border: var(--mellow-stroke-border, 1px) solid;\n border-radius: var(--mellow-radii-xl, 12px);\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--mellow-typography-font-weight-regular, 400);\n line-height: 22px;\n box-shadow: var(--mellow-shadows-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));\n min-width: 280px;\n max-width: 600px;\n }\n\n /* ---- Variant: Info (default) ---- */\n\n :host([variant='info']) .toast,\n .toast {\n background: var(--mellow-colors-bg-secondary, #ede2d6);\n border-color: var(--mellow-colors-pearl-bush-300, #d3b69e);\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n /* ---- Variant: Accent ---- */\n\n :host([variant='accent']) .toast {\n background: var(--mellow-colors-orange-100, #f9e5d1);\n border-color: var(--mellow-colors-primary-mellow-orange, #ff6f23);\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n /* ---- Variant: Danger ---- */\n\n :host([variant='danger']) .toast {\n background: rgba(246, 132, 115, 0.16);\n border-color: var(--mellow-colors-red-punch-600, #db4933);\n color: var(--mellow-colors-red-punch-600, #db4933);\n }\n\n /* ---- Variant: Warning ---- */\n\n :host([variant='warning']) .toast {\n background: rgba(255, 202, 27, 0.16);\n border-color: var(--mellow-colors-yellow-sea-600, #e27f00);\n color: var(--mellow-colors-yellow-sea-600, #e27f00);\n }\n\n /* ---- Variant: Success ---- */\n\n :host([variant='success']) .toast {\n background: rgba(94, 139, 127, 0.12);\n border-color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n }\n\n /* ---- Info & Accent text stays primary ---- */\n\n :host([variant='info']) .message,\n :host([variant='accent']) .message,\n .message {\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n :host([variant='danger']) .message {\n color: var(--mellow-colors-red-punch-600, #db4933);\n }\n\n :host([variant='warning']) .message {\n color: var(--mellow-colors-yellow-sea-600, #e27f00);\n }\n\n :host([variant='success']) .message {\n color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n }\n\n /* ---- Icon ---- */\n\n .icon-frame {\n flex-shrink: 0;\n width: 20px;\n height: 22px;\n display: flex;\n align-items: center;\n }\n\n .icon-frame ::slotted(*),\n .icon-frame svg {\n width: 20px;\n height: 20px;\n color: inherit;\n }\n\n /* ---- Message ---- */\n\n .message {\n flex: 1;\n min-width: 0;\n align-self: stretch;\n white-space: pre-wrap;\n }\n\n /* ---- Close button ---- */\n\n .close-btn {\n flex-shrink: 0;\n width: 16px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: inherit;\n opacity: 0.7;\n }\n\n .close-btn:hover {\n opacity: 1;\n }\n\n .close-btn svg {\n width: 16px;\n height: 16px;\n }\n\n /* ---- Animations ---- */\n\n @keyframes slideIn {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n @keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n }\n\n .toast.entering {\n animation: slideIn 200ms ease;\n }\n\n .toast.exiting {\n animation: fadeOut 200ms ease;\n }\n`\n"],"names":["toastStyles","css"],"mappings":";AAEO,MAAMA,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
export declare class MellowTooltip extends LitElement {
|
|
4
|
+
static styles: import("lit").CSSResult[];
|
|
5
|
+
content: string;
|
|
6
|
+
subtitle: string;
|
|
7
|
+
placement: TooltipPlacement;
|
|
8
|
+
delay: number;
|
|
9
|
+
private _visible;
|
|
10
|
+
private _timerId;
|
|
11
|
+
private readonly _tooltipId;
|
|
12
|
+
updated(changedProperties: Map<PropertyKey, unknown>): void;
|
|
13
|
+
connectedCallback(): void;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
private _handleShow;
|
|
16
|
+
private _handleHide;
|
|
17
|
+
private _handleKeydown;
|
|
18
|
+
private _clearTimer;
|
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
declare global {
|
|
22
|
+
interface HTMLElementTagNameMap {
|
|
23
|
+
'mellow-tooltip': MellowTooltip;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAA;AAK/C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAIlE,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,4BAAkB;IAGxC,OAAO,SAAK;IAGZ,QAAQ,SAAK;IAGb,SAAS,EAAE,gBAAgB,CAAQ;IAGnC,KAAK,SAAM;IAGX,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,QAAQ,CAA6C;IAE7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAE3D,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IAW3D,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAUrC,OAAO,CAAC,WAAW,CAKlB;IAED,OAAO,CAAC,WAAW,CAGlB;IAED,OAAO,CAAC,cAAc,CAIrB;IAED,OAAO,CAAC,WAAW;IAOV,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { LitElement as p, nothing as u, html as a } from "lit";
|
|
2
|
+
import { property as r, state as _, customElement as c } from "lit/decorators.js";
|
|
3
|
+
import { classMap as m } from "lit/directives/class-map.js";
|
|
4
|
+
import { tooltipStyles as v } from "./tooltip.styles.js";
|
|
5
|
+
var b = Object.defineProperty, f = Object.getOwnPropertyDescriptor, s = (t, l, h, o) => {
|
|
6
|
+
for (var i = o > 1 ? void 0 : o ? f(l, h) : l, n = t.length - 1, d; n >= 0; n--)
|
|
7
|
+
(d = t[n]) && (i = (o ? d(l, h, i) : d(i)) || i);
|
|
8
|
+
return o && i && b(l, h, i), i;
|
|
9
|
+
};
|
|
10
|
+
let y = 0, e = class extends p {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments), this.content = "", this.subtitle = "", this.placement = "top", this.delay = 200, this._visible = !1, this._timerId = null, this._tooltipId = `mellow-tooltip-${++y}`, this._handleShow = () => {
|
|
13
|
+
this._clearTimer(), this._timerId = setTimeout(() => {
|
|
14
|
+
this._visible = !0;
|
|
15
|
+
}, this.delay);
|
|
16
|
+
}, this._handleHide = () => {
|
|
17
|
+
this._clearTimer(), this._visible = !1;
|
|
18
|
+
}, this._handleKeydown = (t) => {
|
|
19
|
+
t.key === "Escape" && this._handleHide();
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
updated(t) {
|
|
23
|
+
super.updated(t), t.has("subtitle") && (this.subtitle ? this.setAttribute("subtitle", this.subtitle) : this.removeAttribute("subtitle"));
|
|
24
|
+
}
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
super.connectedCallback(), this.setAttribute("aria-describedby", this._tooltipId), this.addEventListener("mouseenter", this._handleShow), this.addEventListener("focusin", this._handleShow), this.addEventListener("mouseleave", this._handleHide), this.addEventListener("focusout", this._handleHide), this.addEventListener("keydown", this._handleKeydown);
|
|
27
|
+
}
|
|
28
|
+
disconnectedCallback() {
|
|
29
|
+
super.disconnectedCallback(), this._clearTimer(), this.removeEventListener("mouseenter", this._handleShow), this.removeEventListener("focusin", this._handleShow), this.removeEventListener("mouseleave", this._handleHide), this.removeEventListener("focusout", this._handleHide), this.removeEventListener("keydown", this._handleKeydown);
|
|
30
|
+
}
|
|
31
|
+
_clearTimer() {
|
|
32
|
+
this._timerId !== null && (clearTimeout(this._timerId), this._timerId = null);
|
|
33
|
+
}
|
|
34
|
+
render() {
|
|
35
|
+
const t = {
|
|
36
|
+
tooltip: !0,
|
|
37
|
+
visible: this._visible,
|
|
38
|
+
[this.placement]: !0
|
|
39
|
+
};
|
|
40
|
+
return a`
|
|
41
|
+
<slot></slot>
|
|
42
|
+
<div
|
|
43
|
+
id=${this._tooltipId}
|
|
44
|
+
class=${m(t)}
|
|
45
|
+
role="tooltip"
|
|
46
|
+
>
|
|
47
|
+
<div class="tooltip__body">
|
|
48
|
+
<p class="tooltip__title">${this.content}</p>
|
|
49
|
+
${this.subtitle ? a`<p class="tooltip__subtitle">${this.subtitle}</p>` : u}
|
|
50
|
+
</div>
|
|
51
|
+
<div class="tooltip__arrow"></div>
|
|
52
|
+
</div>
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
e.styles = [v];
|
|
57
|
+
s([
|
|
58
|
+
r()
|
|
59
|
+
], e.prototype, "content", 2);
|
|
60
|
+
s([
|
|
61
|
+
r()
|
|
62
|
+
], e.prototype, "subtitle", 2);
|
|
63
|
+
s([
|
|
64
|
+
r({ reflect: !0 })
|
|
65
|
+
], e.prototype, "placement", 2);
|
|
66
|
+
s([
|
|
67
|
+
r({ type: Number })
|
|
68
|
+
], e.prototype, "delay", 2);
|
|
69
|
+
s([
|
|
70
|
+
_()
|
|
71
|
+
], e.prototype, "_visible", 2);
|
|
72
|
+
e = s([
|
|
73
|
+
c("mellow-tooltip")
|
|
74
|
+
], e);
|
|
75
|
+
export {
|
|
76
|
+
e as MellowTooltip
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { tooltipStyles } from './tooltip.styles.js'\n\nexport type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right'\n\nlet tooltipIdCounter = 0\n\n@customElement('mellow-tooltip')\nexport class MellowTooltip extends LitElement {\n static override styles = [tooltipStyles]\n\n @property()\n content = ''\n\n @property()\n subtitle = ''\n\n @property({ reflect: true })\n placement: TooltipPlacement = 'top'\n\n @property({ type: Number })\n delay = 200\n\n @state()\n private _visible = false\n\n private _timerId: ReturnType<typeof setTimeout> | null = null\n\n private readonly _tooltipId = `mellow-tooltip-${++tooltipIdCounter}`\n\n override updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n if (changedProperties.has('subtitle')) {\n if (this.subtitle) {\n this.setAttribute('subtitle', this.subtitle)\n } else {\n this.removeAttribute('subtitle')\n }\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.setAttribute('aria-describedby', this._tooltipId)\n this.addEventListener('mouseenter', this._handleShow)\n this.addEventListener('focusin', this._handleShow)\n this.addEventListener('mouseleave', this._handleHide)\n this.addEventListener('focusout', this._handleHide)\n this.addEventListener('keydown', this._handleKeydown)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this._clearTimer()\n this.removeEventListener('mouseenter', this._handleShow)\n this.removeEventListener('focusin', this._handleShow)\n this.removeEventListener('mouseleave', this._handleHide)\n this.removeEventListener('focusout', this._handleHide)\n this.removeEventListener('keydown', this._handleKeydown)\n }\n\n private _handleShow = (): void => {\n this._clearTimer()\n this._timerId = setTimeout(() => {\n this._visible = true\n }, this.delay)\n }\n\n private _handleHide = (): void => {\n this._clearTimer()\n this._visible = false\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape') {\n this._handleHide()\n }\n }\n\n private _clearTimer(): void {\n if (this._timerId !== null) {\n clearTimeout(this._timerId)\n this._timerId = null\n }\n }\n\n override render() {\n const classes = {\n tooltip: true,\n visible: this._visible,\n [this.placement]: true,\n }\n\n return html`\n <slot></slot>\n <div\n id=${this._tooltipId}\n class=${classMap(classes)}\n role=\"tooltip\"\n >\n <div class=\"tooltip__body\">\n <p class=\"tooltip__title\">${this.content}</p>\n ${this.subtitle\n ? html`<p class=\"tooltip__subtitle\">${this.subtitle}</p>`\n : nothing}\n </div>\n <div class=\"tooltip__arrow\"></div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-tooltip': MellowTooltip\n }\n}\n"],"names":["tooltipIdCounter","MellowTooltip","LitElement","e","changedProperties","classes","html","classMap","nothing","tooltipStyles","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;AAOA,IAAIA,IAAmB,GAGVC,IAAN,cAA4BC,EAAW;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,UAAU,IAGV,KAAA,WAAW,IAGX,KAAA,YAA8B,OAG9B,KAAA,QAAQ,KAGR,KAAQ,WAAW,IAEnB,KAAQ,WAAiD,MAEzD,KAAiB,aAAa,kBAAkB,EAAEF,CAAgB,IAiClE,KAAQ,cAAc,MAAY;AAChC,WAAK,YAAA,GACL,KAAK,WAAW,WAAW,MAAM;AAC/B,aAAK,WAAW;AAAA,MAClB,GAAG,KAAK,KAAK;AAAA,IACf,GAEA,KAAQ,cAAc,MAAY;AAChC,WAAK,YAAA,GACL,KAAK,WAAW;AAAA,IAClB,GAEA,KAAQ,iBAAiB,CAACG,MAA2B;AACnD,MAAIA,EAAE,QAAQ,YACZ,KAAK,YAAA;AAAA,IAET;AAAA,EAAA;AAAA,EA/CS,QAAQC,GAAoD;AACnE,UAAM,QAAQA,CAAiB,GAC3BA,EAAkB,IAAI,UAAU,MAC9B,KAAK,WACP,KAAK,aAAa,YAAY,KAAK,QAAQ,IAE3C,KAAK,gBAAgB,UAAU;AAAA,EAGrC;AAAA,EAES,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,aAAa,oBAAoB,KAAK,UAAU,GACrD,KAAK,iBAAiB,cAAc,KAAK,WAAW,GACpD,KAAK,iBAAiB,WAAW,KAAK,WAAW,GACjD,KAAK,iBAAiB,cAAc,KAAK,WAAW,GACpD,KAAK,iBAAiB,YAAY,KAAK,WAAW,GAClD,KAAK,iBAAiB,WAAW,KAAK,cAAc;AAAA,EACtD;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,YAAA,GACL,KAAK,oBAAoB,cAAc,KAAK,WAAW,GACvD,KAAK,oBAAoB,WAAW,KAAK,WAAW,GACpD,KAAK,oBAAoB,cAAc,KAAK,WAAW,GACvD,KAAK,oBAAoB,YAAY,KAAK,WAAW,GACrD,KAAK,oBAAoB,WAAW,KAAK,cAAc;AAAA,EACzD;AAAA,EAoBQ,cAAoB;AAC1B,IAAI,KAAK,aAAa,SACpB,aAAa,KAAK,QAAQ,GAC1B,KAAK,WAAW;AAAA,EAEpB;AAAA,EAES,SAAS;AAChB,UAAMC,IAAU;AAAA,MACd,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,CAAC,KAAK,SAAS,GAAG;AAAA,IAAA;AAGpB,WAAOC;AAAA;AAAA;AAAA,aAGE,KAAK,UAAU;AAAA,gBACZC,EAASF,CAAO,CAAC;AAAA;AAAA;AAAA;AAAA,sCAIK,KAAK,OAAO;AAAA,YACtC,KAAK,WACHC,iCAAoC,KAAK,QAAQ,SACjDE,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB;AACF;AAtGaP,EACK,SAAS,CAACQ,CAAa;AAGvCC,EAAA;AAAA,EADCC,EAAA;AAAS,GAHCV,EAIX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAA;AAAS,GANCV,EAOX,WAAA,YAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAThBV,EAUX,WAAA,aAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAZfV,EAaX,WAAA,SAAA,CAAA;AAGQS,EAAA;AAAA,EADPE,EAAA;AAAM,GAfIX,EAgBH,WAAA,YAAA,CAAA;AAhBGA,IAANS,EAAA;AAAA,EADNG,EAAc,gBAAgB;AAAA,GAClBZ,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.styles.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAuJzB,CAAA"}
|