@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,29 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
|
|
3
|
+
export type DropdownSize = 'xl' | 'xs';
|
|
4
|
+
export declare class MellowDropdown extends LitElement {
|
|
5
|
+
static styles: import("lit").CSSResult[];
|
|
6
|
+
open: boolean;
|
|
7
|
+
placement: DropdownPlacement;
|
|
8
|
+
size: DropdownSize;
|
|
9
|
+
searchable: boolean;
|
|
10
|
+
private _searchQuery;
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
disconnectedCallback(): void;
|
|
13
|
+
private _getItems;
|
|
14
|
+
private _getEnabledItems;
|
|
15
|
+
private _toggle;
|
|
16
|
+
private _close;
|
|
17
|
+
private _handleTriggerClick;
|
|
18
|
+
private _handleOutsideClick;
|
|
19
|
+
private _handleItemClick;
|
|
20
|
+
private _handleSearchInput;
|
|
21
|
+
private _handleKeydown;
|
|
22
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'mellow-dropdown': MellowDropdown;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAA;AAMpD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AACvF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;AAStC,qBACa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,MAAM,4BAAmB;IAGzC,IAAI,UAAQ;IAGZ,SAAS,EAAE,iBAAiB,CAAiB;IAG7C,IAAI,EAAE,YAAY,CAAO;IAGzB,UAAU,UAAQ;IAGlB,OAAO,CAAC,YAAY,CAAK;IAEhB,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAMrC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,mBAAmB,CAE1B;IAED,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,gBAAgB,CAWvB;IAED,OAAO,CAAC,kBAAkB,CAQzB;IAED,OAAO,CAAC,cAAc,CA0CrB;IAEQ,MAAM;CAiChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAA;KAClC;CACF"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { svg as d, LitElement as p, nothing as u, html as h } from "lit";
|
|
2
|
+
import { property as c, state as m, customElement as v } from "lit/decorators.js";
|
|
3
|
+
import { classMap as f } from "lit/directives/class-map.js";
|
|
4
|
+
import { dropdownStyles as w } from "./dropdown.styles.js";
|
|
5
|
+
var _ = Object.defineProperty, y = Object.getOwnPropertyDescriptor, l = (t, e, r, s) => {
|
|
6
|
+
for (var o = s > 1 ? void 0 : s ? y(e, r) : e, n = t.length - 1, a; n >= 0; n--)
|
|
7
|
+
(a = t[n]) && (o = (s ? a(e, r, o) : a(o)) || o);
|
|
8
|
+
return s && o && _(e, r, o), o;
|
|
9
|
+
};
|
|
10
|
+
const g = d`
|
|
11
|
+
<svg viewBox="0 0 20 20" fill="none" width="20" height="20">
|
|
12
|
+
<circle cx="9" cy="9" r="6" stroke="currentColor" stroke-width="1.5"/>
|
|
13
|
+
<path d="M13.5 13.5L17 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
14
|
+
</svg>
|
|
15
|
+
`;
|
|
16
|
+
let i = class extends p {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments), this.open = !1, this.placement = "bottom-start", this.size = "xl", this.searchable = !1, this._searchQuery = "", this._handleTriggerClick = () => {
|
|
19
|
+
this._toggle();
|
|
20
|
+
}, this._handleItemClick = (t) => {
|
|
21
|
+
if (!this.open) return;
|
|
22
|
+
const e = t.target.closest("mellow-dropdown-item");
|
|
23
|
+
if (!e || e.disabled) return;
|
|
24
|
+
const r = e.textContent?.trim() ?? "";
|
|
25
|
+
this._close(), this.dispatchEvent(new CustomEvent("mellow-select", {
|
|
26
|
+
detail: { value: r },
|
|
27
|
+
bubbles: !0,
|
|
28
|
+
composed: !0
|
|
29
|
+
}));
|
|
30
|
+
}, this._handleSearchInput = (t) => {
|
|
31
|
+
const e = t.target;
|
|
32
|
+
this._searchQuery = e.value, this.dispatchEvent(new CustomEvent("mellow-search", {
|
|
33
|
+
detail: { query: this._searchQuery },
|
|
34
|
+
bubbles: !0,
|
|
35
|
+
composed: !0
|
|
36
|
+
}));
|
|
37
|
+
}, this._handleKeydown = (t) => {
|
|
38
|
+
if (t.key === "Escape" && this.open) {
|
|
39
|
+
t.preventDefault(), this._close();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
43
|
+
if (t.preventDefault(), !this.open) {
|
|
44
|
+
this.open = !0;
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const e = this._getEnabledItems();
|
|
48
|
+
if (e.length === 0) return;
|
|
49
|
+
const r = e.find(
|
|
50
|
+
(n) => n.shadowRoot?.querySelector(".item") === n.shadowRoot?.activeElement
|
|
51
|
+
);
|
|
52
|
+
let s = r ? e.indexOf(r) : -1;
|
|
53
|
+
t.key === "ArrowDown" ? s = (s + 1) % e.length : s = s <= 0 ? e.length - 1 : s - 1, e[s]?.shadowRoot?.querySelector(".item")?.focus();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (t.key === "Enter") {
|
|
57
|
+
if (!this.open) return;
|
|
58
|
+
const e = this.querySelector("mellow-dropdown-item:focus-within");
|
|
59
|
+
if (e && !e.disabled) {
|
|
60
|
+
const r = e.textContent?.trim() ?? "";
|
|
61
|
+
this._close(), this.dispatchEvent(new CustomEvent("mellow-select", {
|
|
62
|
+
detail: { value: r },
|
|
63
|
+
bubbles: !0,
|
|
64
|
+
composed: !0
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
connectedCallback() {
|
|
71
|
+
super.connectedCallback(), this.addEventListener("keydown", this._handleKeydown), this._handleOutsideClick = this._handleOutsideClick.bind(this), document.addEventListener("click", this._handleOutsideClick);
|
|
72
|
+
}
|
|
73
|
+
disconnectedCallback() {
|
|
74
|
+
super.disconnectedCallback(), this.removeEventListener("keydown", this._handleKeydown), document.removeEventListener("click", this._handleOutsideClick);
|
|
75
|
+
}
|
|
76
|
+
_getItems() {
|
|
77
|
+
return Array.from(this.querySelectorAll("mellow-dropdown-item"));
|
|
78
|
+
}
|
|
79
|
+
_getEnabledItems() {
|
|
80
|
+
return this._getItems().filter((t) => !t.disabled);
|
|
81
|
+
}
|
|
82
|
+
_toggle() {
|
|
83
|
+
this.open = !this.open, this.open || (this._searchQuery = "");
|
|
84
|
+
}
|
|
85
|
+
_close() {
|
|
86
|
+
this.open = !1, this._searchQuery = "";
|
|
87
|
+
}
|
|
88
|
+
_handleOutsideClick(t) {
|
|
89
|
+
if (!this.open) return;
|
|
90
|
+
t.composedPath().includes(this) || this._close();
|
|
91
|
+
}
|
|
92
|
+
render() {
|
|
93
|
+
const t = {
|
|
94
|
+
menu: !0,
|
|
95
|
+
open: this.open,
|
|
96
|
+
[this.placement]: !0
|
|
97
|
+
};
|
|
98
|
+
return h`
|
|
99
|
+
<div class="trigger" @click=${this._handleTriggerClick}>
|
|
100
|
+
<slot name="trigger"></slot>
|
|
101
|
+
</div>
|
|
102
|
+
<div class=${f(t)} role="menu" @click=${this._handleItemClick}>
|
|
103
|
+
${this.searchable ? h`
|
|
104
|
+
<div class="search-row">
|
|
105
|
+
<span class="search-icon">${g}</span>
|
|
106
|
+
<input
|
|
107
|
+
class="search-input"
|
|
108
|
+
type="text"
|
|
109
|
+
placeholder="Search"
|
|
110
|
+
.value=${this._searchQuery}
|
|
111
|
+
@input=${this._handleSearchInput}
|
|
112
|
+
@click=${(e) => e.stopPropagation()}
|
|
113
|
+
/>
|
|
114
|
+
<div class="search-divider"></div>
|
|
115
|
+
</div>
|
|
116
|
+
` : u}
|
|
117
|
+
<slot name="action"></slot>
|
|
118
|
+
<div class="items">
|
|
119
|
+
<slot></slot>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
`;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
i.styles = [w];
|
|
126
|
+
l([
|
|
127
|
+
c({ type: Boolean, reflect: !0 })
|
|
128
|
+
], i.prototype, "open", 2);
|
|
129
|
+
l([
|
|
130
|
+
c({ reflect: !0 })
|
|
131
|
+
], i.prototype, "placement", 2);
|
|
132
|
+
l([
|
|
133
|
+
c({ reflect: !0 })
|
|
134
|
+
], i.prototype, "size", 2);
|
|
135
|
+
l([
|
|
136
|
+
c({ type: Boolean })
|
|
137
|
+
], i.prototype, "searchable", 2);
|
|
138
|
+
l([
|
|
139
|
+
m()
|
|
140
|
+
], i.prototype, "_searchQuery", 2);
|
|
141
|
+
i = l([
|
|
142
|
+
v("mellow-dropdown")
|
|
143
|
+
], i);
|
|
144
|
+
export {
|
|
145
|
+
i as MellowDropdown
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../src/components/dropdown/dropdown.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 { dropdownStyles } from './dropdown.styles.js'\nimport type { MellowDropdownItem } from './dropdown-item.js'\n\nexport type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end'\nexport type DropdownSize = 'xl' | 'xs'\n\nconst searchIcon = svg`\n <svg viewBox=\"0 0 20 20\" fill=\"none\" width=\"20\" height=\"20\">\n <circle cx=\"9\" cy=\"9\" r=\"6\" stroke=\"currentColor\" stroke-width=\"1.5\"/>\n <path d=\"M13.5 13.5L17 17\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n </svg>\n`\n\n@customElement('mellow-dropdown')\nexport class MellowDropdown extends LitElement {\n static override styles = [dropdownStyles]\n\n @property({ type: Boolean, reflect: true })\n open = false\n\n @property({ reflect: true })\n placement: DropdownPlacement = 'bottom-start'\n\n @property({ reflect: true })\n size: DropdownSize = 'xl'\n\n @property({ type: Boolean })\n searchable = false\n\n @state()\n private _searchQuery = ''\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.addEventListener('keydown', this._handleKeydown)\n this._handleOutsideClick = this._handleOutsideClick.bind(this)\n document.addEventListener('click', this._handleOutsideClick)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this.removeEventListener('keydown', this._handleKeydown)\n document.removeEventListener('click', this._handleOutsideClick)\n }\n\n private _getItems(): MellowDropdownItem[] {\n return Array.from(this.querySelectorAll('mellow-dropdown-item'))\n }\n\n private _getEnabledItems(): MellowDropdownItem[] {\n return this._getItems().filter(item => !item.disabled)\n }\n\n private _toggle(): void {\n this.open = !this.open\n if (!this.open) {\n this._searchQuery = ''\n }\n }\n\n private _close(): void {\n this.open = false\n this._searchQuery = ''\n }\n\n private _handleTriggerClick = (): void => {\n this._toggle()\n }\n\n private _handleOutsideClick(e: Event): void {\n if (!this.open) return\n const path = e.composedPath()\n if (!path.includes(this)) {\n this._close()\n }\n }\n\n private _handleItemClick = (e: Event): void => {\n if (!this.open) return\n const target = (e.target as Element).closest('mellow-dropdown-item') as MellowDropdownItem | null\n if (!target || target.disabled) return\n const value = target.textContent?.trim() ?? ''\n this._close()\n this.dispatchEvent(new CustomEvent('mellow-select', {\n detail: { value },\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleSearchInput = (e: Event): void => {\n const input = e.target as HTMLInputElement\n this._searchQuery = input.value\n this.dispatchEvent(new CustomEvent('mellow-search', {\n detail: { query: this._searchQuery },\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape' && this.open) {\n e.preventDefault()\n this._close()\n return\n }\n\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault()\n if (!this.open) {\n this.open = true\n return\n }\n const enabled = this._getEnabledItems()\n if (enabled.length === 0) return\n const focused = enabled.find(item =>\n item.shadowRoot?.querySelector('.item') === item.shadowRoot?.activeElement\n )\n let index = focused ? enabled.indexOf(focused) : -1\n if (e.key === 'ArrowDown') {\n index = (index + 1) % enabled.length\n } else {\n index = index <= 0 ? enabled.length - 1 : index - 1\n }\n const target = enabled[index]?.shadowRoot?.querySelector('.item') as HTMLElement | null\n target?.focus()\n return\n }\n\n if (e.key === 'Enter') {\n if (!this.open) return\n const active = this.querySelector('mellow-dropdown-item:focus-within') as MellowDropdownItem | null\n if (active && !active.disabled) {\n const value = active.textContent?.trim() ?? ''\n this._close()\n this.dispatchEvent(new CustomEvent('mellow-select', {\n detail: { value },\n bubbles: true,\n composed: true,\n }))\n }\n }\n }\n\n override render() {\n const menuClasses = {\n 'menu': true,\n 'open': this.open,\n [this.placement]: true,\n }\n\n return html`\n <div class=\"trigger\" @click=${this._handleTriggerClick}>\n <slot name=\"trigger\"></slot>\n </div>\n <div class=${classMap(menuClasses)} role=\"menu\" @click=${this._handleItemClick}>\n ${this.searchable ? html`\n <div class=\"search-row\">\n <span class=\"search-icon\">${searchIcon}</span>\n <input\n class=\"search-input\"\n type=\"text\"\n placeholder=\"Search\"\n .value=${this._searchQuery}\n @input=${this._handleSearchInput}\n @click=${(e: Event) => e.stopPropagation()}\n />\n <div class=\"search-divider\"></div>\n </div>\n ` : nothing}\n <slot name=\"action\"></slot>\n <div class=\"items\">\n <slot></slot>\n </div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-dropdown': MellowDropdown\n }\n}\n"],"names":["searchIcon","svg","MellowDropdown","LitElement","e","target","value","input","enabled","focused","item","index","active","menuClasses","html","classMap","nothing","dropdownStyles","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.styles.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,yBAqI1B,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
const t = e`
|
|
3
|
+
:host {
|
|
4
|
+
display: inline-block;
|
|
5
|
+
position: relative;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.trigger {
|
|
9
|
+
display: inline-block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* ── Dropdown menu panel ── */
|
|
13
|
+
|
|
14
|
+
.menu {
|
|
15
|
+
position: absolute;
|
|
16
|
+
z-index: 20;
|
|
17
|
+
min-width: 104px;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: var(--mellow-space-0, 0px);
|
|
21
|
+
overflow: clip;
|
|
22
|
+
padding: 1px;
|
|
23
|
+
|
|
24
|
+
border-radius: var(--mellow-radius-2, 8px);
|
|
25
|
+
border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-secondary, #ead8be);
|
|
26
|
+
background: var(--mellow-bg-primary, #f8f2e9);
|
|
27
|
+
box-shadow:
|
|
28
|
+
0px 10px 15px -3px rgba(35, 34, 34, 0.1),
|
|
29
|
+
0px 4px 6px 0px rgba(35, 34, 34, 0.05);
|
|
30
|
+
|
|
31
|
+
opacity: 0;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
transition: opacity 150ms ease;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.menu.open {
|
|
37
|
+
opacity: 1;
|
|
38
|
+
pointer-events: auto;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* ── Placements ── */
|
|
42
|
+
|
|
43
|
+
.menu.bottom-start {
|
|
44
|
+
top: 100%;
|
|
45
|
+
left: 0;
|
|
46
|
+
margin-top: 4px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.menu.bottom-end {
|
|
50
|
+
top: 100%;
|
|
51
|
+
right: 0;
|
|
52
|
+
margin-top: 4px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.menu.top-start {
|
|
56
|
+
bottom: 100%;
|
|
57
|
+
left: 0;
|
|
58
|
+
margin-bottom: 4px;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.menu.top-end {
|
|
62
|
+
bottom: 100%;
|
|
63
|
+
right: 0;
|
|
64
|
+
margin-bottom: 4px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* ── Search area ── */
|
|
68
|
+
|
|
69
|
+
.search-row {
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
gap: var(--mellow-space-3, 12px);
|
|
73
|
+
height: 48px;
|
|
74
|
+
padding: 0 var(--mellow-space-3-5, 14px);
|
|
75
|
+
background: var(--mellow-bg-surface-primary, white);
|
|
76
|
+
position: relative;
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.search-icon {
|
|
81
|
+
flex-shrink: 0;
|
|
82
|
+
width: 20px;
|
|
83
|
+
height: 20px;
|
|
84
|
+
color: var(--mellow-icon-secondary, #8a8686);
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.search-input {
|
|
91
|
+
flex: 1;
|
|
92
|
+
min-width: 0;
|
|
93
|
+
border: none;
|
|
94
|
+
outline: none;
|
|
95
|
+
background: transparent;
|
|
96
|
+
font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
|
|
97
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
98
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
99
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
100
|
+
color: var(--mellow-text-primary, #232222);
|
|
101
|
+
padding: 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.search-input::placeholder {
|
|
105
|
+
color: var(--mellow-text-tertiary, #d1d0d0);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.search-divider {
|
|
109
|
+
position: absolute;
|
|
110
|
+
bottom: 0;
|
|
111
|
+
left: 14px;
|
|
112
|
+
right: 14px;
|
|
113
|
+
height: 1px;
|
|
114
|
+
background: var(--mellow-border-secondary, #ead8be);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* ── Action button slot ── */
|
|
118
|
+
|
|
119
|
+
.button-cell {
|
|
120
|
+
background: var(--mellow-bg-surface-primary, white);
|
|
121
|
+
flex-shrink: 0;
|
|
122
|
+
width: 100%;
|
|
123
|
+
padding: 8px;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* ── Items wrapper (scrollable) ── */
|
|
127
|
+
|
|
128
|
+
.items {
|
|
129
|
+
display: flex;
|
|
130
|
+
flex-direction: column;
|
|
131
|
+
overflow-y: auto;
|
|
132
|
+
flex: 1;
|
|
133
|
+
min-height: 0;
|
|
134
|
+
}
|
|
135
|
+
`;
|
|
136
|
+
export {
|
|
137
|
+
t as dropdownStyles
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=dropdown.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.styles.js","sources":["../../../src/components/dropdown/dropdown.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const dropdownStyles = css`\n :host {\n display: inline-block;\n position: relative;\n }\n\n .trigger {\n display: inline-block;\n }\n\n /* ── Dropdown menu panel ── */\n\n .menu {\n position: absolute;\n z-index: 20;\n min-width: 104px;\n display: flex;\n flex-direction: column;\n gap: var(--mellow-space-0, 0px);\n overflow: clip;\n padding: 1px;\n\n border-radius: var(--mellow-radius-2, 8px);\n border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-secondary, #ead8be);\n background: var(--mellow-bg-primary, #f8f2e9);\n box-shadow:\n 0px 10px 15px -3px rgba(35, 34, 34, 0.1),\n 0px 4px 6px 0px rgba(35, 34, 34, 0.05);\n\n opacity: 0;\n pointer-events: none;\n transition: opacity 150ms ease;\n }\n\n .menu.open {\n opacity: 1;\n pointer-events: auto;\n }\n\n /* ── Placements ── */\n\n .menu.bottom-start {\n top: 100%;\n left: 0;\n margin-top: 4px;\n }\n\n .menu.bottom-end {\n top: 100%;\n right: 0;\n margin-top: 4px;\n }\n\n .menu.top-start {\n bottom: 100%;\n left: 0;\n margin-bottom: 4px;\n }\n\n .menu.top-end {\n bottom: 100%;\n right: 0;\n margin-bottom: 4px;\n }\n\n /* ── Search area ── */\n\n .search-row {\n display: flex;\n align-items: center;\n gap: var(--mellow-space-3, 12px);\n height: 48px;\n padding: 0 var(--mellow-space-3-5, 14px);\n background: var(--mellow-bg-surface-primary, white);\n position: relative;\n flex-shrink: 0;\n }\n\n .search-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: var(--mellow-icon-secondary, #8a8686);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-input {\n flex: 1;\n min-width: 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-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n color: var(--mellow-text-primary, #232222);\n padding: 0;\n }\n\n .search-input::placeholder {\n color: var(--mellow-text-tertiary, #d1d0d0);\n }\n\n .search-divider {\n position: absolute;\n bottom: 0;\n left: 14px;\n right: 14px;\n height: 1px;\n background: var(--mellow-border-secondary, #ead8be);\n }\n\n /* ── Action button slot ── */\n\n .button-cell {\n background: var(--mellow-bg-surface-primary, white);\n flex-shrink: 0;\n width: 100%;\n padding: 8px;\n }\n\n /* ── Items wrapper (scrollable) ── */\n\n .items {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n }\n`\n"],"names":["dropdownStyles","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;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class MellowFormField extends LitElement {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
label: string;
|
|
5
|
+
error: string;
|
|
6
|
+
hint: string;
|
|
7
|
+
required: boolean;
|
|
8
|
+
private readonly _fieldId;
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
get fieldId(): string;
|
|
11
|
+
}
|
|
12
|
+
declare global {
|
|
13
|
+
interface HTMLElementTagNameMap {
|
|
14
|
+
'mellow-form-field': MellowFormField;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=form-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../src/components/form-field/form-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAA;AAM/C,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BAAoB;IAG1C,KAAK,SAAK;IAGV,KAAK,SAAK;IAGV,IAAI,SAAK;IAGT,QAAQ,UAAQ;IAEhB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAE1C,MAAM;IA+Bf,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAA;KACrC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { LitElement as f, nothing as p, html as o } from "lit";
|
|
2
|
+
import { property as a, customElement as m } from "lit/decorators.js";
|
|
3
|
+
import { formFieldStyles as c } from "./form-field.styles.js";
|
|
4
|
+
var u = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (i, t, l, n) => {
|
|
5
|
+
for (var e = n > 1 ? void 0 : n ? v(t, l) : t, d = i.length - 1, h; d >= 0; d--)
|
|
6
|
+
(h = i[d]) && (e = (n ? h(t, l, e) : h(e)) || e);
|
|
7
|
+
return n && e && u(t, l, e), e;
|
|
8
|
+
};
|
|
9
|
+
let $ = 0, r = class extends f {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.label = "", this.error = "", this.hint = "", this.required = !1, this._fieldId = `mellow-ff-${$++}`;
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
const i = !!this.error, t = !!this.hint, l = !!this.label;
|
|
15
|
+
return o`
|
|
16
|
+
<div class="wrapper">
|
|
17
|
+
${l ? o`
|
|
18
|
+
<label class="label" for=${this._fieldId}>
|
|
19
|
+
<slot name="label">${this.label}</slot>${this.required ? o`<span class="required-indicator" aria-hidden="true">*</span>` : p}
|
|
20
|
+
</label>` : p}
|
|
21
|
+
<div class="content">
|
|
22
|
+
<slot></slot>
|
|
23
|
+
</div>
|
|
24
|
+
${i ? o`<div class="error" id=${`${this._fieldId}-error`} role="alert">
|
|
25
|
+
<slot name="error">${this.error}</slot>
|
|
26
|
+
</div>` : t ? o`<div class="hint" id=${`${this._fieldId}-hint`}>
|
|
27
|
+
<slot name="hint">${this.hint}</slot>
|
|
28
|
+
</div>` : p}
|
|
29
|
+
</div>
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
get fieldId() {
|
|
33
|
+
return this._fieldId;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
r.styles = [c];
|
|
37
|
+
s([
|
|
38
|
+
a()
|
|
39
|
+
], r.prototype, "label", 2);
|
|
40
|
+
s([
|
|
41
|
+
a()
|
|
42
|
+
], r.prototype, "error", 2);
|
|
43
|
+
s([
|
|
44
|
+
a()
|
|
45
|
+
], r.prototype, "hint", 2);
|
|
46
|
+
s([
|
|
47
|
+
a({ type: Boolean, reflect: !0 })
|
|
48
|
+
], r.prototype, "required", 2);
|
|
49
|
+
r = s([
|
|
50
|
+
m("mellow-form-field")
|
|
51
|
+
], r);
|
|
52
|
+
export {
|
|
53
|
+
r as MellowFormField
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=form-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.js","sources":["../../../src/components/form-field/form-field.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { formFieldStyles } from './form-field.styles.js'\n\nlet nextId = 0\n\n@customElement('mellow-form-field')\nexport class MellowFormField extends LitElement {\n static override styles = [formFieldStyles]\n\n @property()\n label = ''\n\n @property()\n error = ''\n\n @property()\n hint = ''\n\n @property({ type: Boolean, reflect: true })\n required = false\n\n private readonly _fieldId = `mellow-ff-${nextId++}`\n\n override render() {\n const hasError = Boolean(this.error)\n const hasHint = Boolean(this.hint)\n const hasLabel = Boolean(this.label)\n\n return html`\n <div class=\"wrapper\">\n ${hasLabel\n ? html`\n <label class=\"label\" for=${this._fieldId}>\n <slot name=\"label\">${this.label}</slot>${this.required\n ? html`<span class=\"required-indicator\" aria-hidden=\"true\">*</span>`\n : nothing}\n </label>`\n : nothing}\n <div class=\"content\">\n <slot></slot>\n </div>\n ${hasError\n ? html`<div class=\"error\" id=${`${this._fieldId}-error`} role=\"alert\">\n <slot name=\"error\">${this.error}</slot>\n </div>`\n : hasHint\n ? html`<div class=\"hint\" id=${`${this._fieldId}-hint`}>\n <slot name=\"hint\">${this.hint}</slot>\n </div>`\n : nothing}\n </div>\n `\n }\n\n get fieldId(): string {\n return this._fieldId\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-form-field': MellowFormField\n }\n}\n"],"names":["nextId","MellowFormField","LitElement","hasError","hasHint","hasLabel","html","nothing","formFieldStyles","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAIA,IAAIA,IAAS,GAGAC,IAAN,cAA8BC,EAAW;AAAA,EAAzC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,QAAQ,IAGR,KAAA,QAAQ,IAGR,KAAA,OAAO,IAGP,KAAA,WAAW,IAEX,KAAiB,WAAW,aAAaF,GAAQ;AAAA,EAAA;AAAA,EAExC,SAAS;AAChB,UAAMG,IAAW,EAAQ,KAAK,OACxBC,IAAU,EAAQ,KAAK,MACvBC,IAAW,EAAQ,KAAK;AAE9B,WAAOC;AAAA;AAAA,UAEDD,IACEC;AAAA,uCAC2B,KAAK,QAAQ;AAAA,mCACjB,KAAK,KAAK,UAAU,KAAK,WAC1CA,kEACAC,CAAO;AAAA,wBAEbA,CAAO;AAAA;AAAA;AAAA;AAAA,UAITJ,IACEG,0BAA6B,GAAG,KAAK,QAAQ,QAAQ;AAAA,mCAC9B,KAAK,KAAK;AAAA,sBAEjCF,IACEE,yBAA4B,GAAG,KAAK,QAAQ,OAAO;AAAA,oCAC7B,KAAK,IAAI;AAAA,wBAE/BC,CAAO;AAAA;AAAA;AAAA,EAGnB;AAAA,EAEA,IAAI,UAAkB;AACpB,WAAO,KAAK;AAAA,EACd;AACF;AAnDaN,EACK,SAAS,CAACO,CAAe;AAGzCC,EAAA;AAAA,EADCC,EAAA;AAAS,GAHCT,EAIX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAA;AAAS,GANCT,EAOX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAA;AAAS,GATCT,EAUX,WAAA,QAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAZ/BT,EAaX,WAAA,YAAA,CAAA;AAbWA,IAANQ,EAAA;AAAA,EADNE,EAAc,mBAAmB;AAAA,GACrBV,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.styles.d.ts","sourceRoot":"","sources":["../../../src/components/form-field/form-field.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,yBAuD3B,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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-1, 4px);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Label */
|
|
14
|
+
.label {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: baseline;
|
|
17
|
+
gap: var(--mellow-space-1, 4px);
|
|
18
|
+
font-family: var(--mellow-font-family-body, system-ui, sans-serif);
|
|
19
|
+
font-weight: var(--mellow-font-weight-medium, 500);
|
|
20
|
+
font-size: var(--mellow-font-size-14, 14px);
|
|
21
|
+
line-height: var(--mellow-line-height-18, 18px);
|
|
22
|
+
color: var(--mellow-text-primary, #232222);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([error]) .label {
|
|
26
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.required-indicator {
|
|
30
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
31
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Hint text */
|
|
35
|
+
.hint {
|
|
36
|
+
font-family: var(--mellow-font-family-body, system-ui, sans-serif);
|
|
37
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
38
|
+
font-size: var(--mellow-font-size-12, 12px);
|
|
39
|
+
line-height: var(--mellow-line-height-14, 14px);
|
|
40
|
+
color: var(--mellow-text-secondary, #767676);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Error text */
|
|
44
|
+
.error {
|
|
45
|
+
font-family: var(--mellow-font-family-body, system-ui, sans-serif);
|
|
46
|
+
font-weight: var(--mellow-font-weight-regular, 400);
|
|
47
|
+
font-size: var(--mellow-font-size-12, 12px);
|
|
48
|
+
line-height: var(--mellow-line-height-14, 14px);
|
|
49
|
+
color: var(--mellow-text-danger-600, #db4933);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Content slot */
|
|
53
|
+
.content {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
58
|
+
export {
|
|
59
|
+
o as formFieldStyles
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=form-field.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.styles.js","sources":["../../../src/components/form-field/form-field.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const formFieldStyles = css`\n :host {\n display: block;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--mellow-space-1, 4px);\n }\n\n /* Label */\n .label {\n display: flex;\n align-items: baseline;\n gap: var(--mellow-space-1, 4px);\n font-family: var(--mellow-font-family-body, 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-primary, #232222);\n }\n\n :host([error]) .label {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n .required-indicator {\n color: var(--mellow-text-danger-600, #db4933);\n font-weight: var(--mellow-font-weight-regular, 400);\n }\n\n /* Hint text */\n .hint {\n font-family: var(--mellow-font-family-body, 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, #767676);\n }\n\n /* Error text */\n .error {\n font-family: var(--mellow-font-family-body, 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-danger-600, #db4933);\n }\n\n /* Content slot */\n .content {\n display: flex;\n flex-direction: column;\n }\n`\n"],"names":["formFieldStyles","css"],"mappings":";AAEO,MAAMA,IAAkBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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/form-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
export type GridAlign = 'start' | 'center' | 'end' | 'stretch';
|
|
4
|
+
export declare class MellowGrid extends LitElement {
|
|
5
|
+
static styles: import("lit").CSSResult[];
|
|
6
|
+
columns: number | string;
|
|
7
|
+
gap: GridGap;
|
|
8
|
+
align: GridAlign;
|
|
9
|
+
private _getTemplateColumns;
|
|
10
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
11
|
+
updated(): void;
|
|
12
|
+
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'mellow-grid': MellowGrid;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/components/grid/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAItC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC/D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;AAE9D,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAAe;IAGrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAI;IAG5B,GAAG,EAAE,OAAO,CAAO;IAGnB,KAAK,EAAE,SAAS,CAAY;IAE5B,OAAO,CAAC,mBAAmB;IAWlB,MAAM;IAQN,OAAO;CAGjB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { LitElement as i, html as c } from "lit";
|
|
2
|
+
import { property as u, customElement as a } from "lit/decorators.js";
|
|
3
|
+
import { gridStyles as f } from "./grid.styles.js";
|
|
4
|
+
var h = Object.defineProperty, g = Object.getOwnPropertyDescriptor, o = (r, s, p, l) => {
|
|
5
|
+
for (var e = l > 1 ? void 0 : l ? g(s, p) : s, m = r.length - 1, n; m >= 0; m--)
|
|
6
|
+
(n = r[m]) && (e = (l ? n(s, p, e) : n(e)) || e);
|
|
7
|
+
return l && e && h(s, p, e), e;
|
|
8
|
+
};
|
|
9
|
+
let t = class extends i {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.columns = 1, this.gap = "md", this.align = "stretch";
|
|
12
|
+
}
|
|
13
|
+
_getTemplateColumns() {
|
|
14
|
+
if (typeof this.columns == "number")
|
|
15
|
+
return `repeat(${this.columns}, 1fr)`;
|
|
16
|
+
const r = Number(this.columns);
|
|
17
|
+
return Number.isNaN(r) ? this.columns : `repeat(${r}, 1fr)`;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return c`
|
|
21
|
+
<slot
|
|
22
|
+
style="display:contents"
|
|
23
|
+
></slot>
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
updated() {
|
|
27
|
+
this.style.gridTemplateColumns = this._getTemplateColumns();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
t.styles = [f];
|
|
31
|
+
o([
|
|
32
|
+
u()
|
|
33
|
+
], t.prototype, "columns", 2);
|
|
34
|
+
o([
|
|
35
|
+
u({ reflect: !0 })
|
|
36
|
+
], t.prototype, "gap", 2);
|
|
37
|
+
o([
|
|
38
|
+
u({ reflect: !0 })
|
|
39
|
+
], t.prototype, "align", 2);
|
|
40
|
+
t = o([
|
|
41
|
+
a("mellow-grid")
|
|
42
|
+
], t);
|
|
43
|
+
export {
|
|
44
|
+
t as MellowGrid
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../../src/components/grid/grid.ts"],"sourcesContent":["import { LitElement, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { gridStyles } from './grid.styles.js'\n\nexport type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\nexport type GridAlign = 'start' | 'center' | 'end' | 'stretch'\n\n@customElement('mellow-grid')\nexport class MellowGrid extends LitElement {\n static override styles = [gridStyles]\n\n @property()\n columns: number | string = 1\n\n @property({ reflect: true })\n gap: GridGap = 'md'\n\n @property({ reflect: true })\n align: GridAlign = 'stretch'\n\n private _getTemplateColumns(): string {\n if (typeof this.columns === 'number') {\n return `repeat(${this.columns}, 1fr)`\n }\n const parsed = Number(this.columns)\n if (!Number.isNaN(parsed)) {\n return `repeat(${parsed}, 1fr)`\n }\n return this.columns\n }\n\n override render() {\n return html`\n <slot\n style=\"display:contents\"\n ></slot>\n `\n }\n\n override updated() {\n this.style.gridTemplateColumns = this._getTemplateColumns()\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-grid': MellowGrid\n }\n}\n"],"names":["MellowGrid","LitElement","parsed","html","gridStyles","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAQO,IAAMA,IAAN,cAAyBC,EAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,UAA2B,GAG3B,KAAA,MAAe,MAGf,KAAA,QAAmB;AAAA,EAAA;AAAA,EAEX,sBAA8B;AACpC,QAAI,OAAO,KAAK,WAAY;AAC1B,aAAO,UAAU,KAAK,OAAO;AAE/B,UAAMC,IAAS,OAAO,KAAK,OAAO;AAClC,WAAK,OAAO,MAAMA,CAAM,IAGjB,KAAK,UAFH,UAAUA,CAAM;AAAA,EAG3B;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT;AAAA,EAES,UAAU;AACjB,SAAK,MAAM,sBAAsB,KAAK,oBAAA;AAAA,EACxC;AACF;AAlCaH,EACK,SAAS,CAACI,CAAU;AAGpCC,EAAA;AAAA,EADCC,EAAA;AAAS,GAHCN,EAIX,WAAA,WAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GANhBN,EAOX,WAAA,OAAA,CAAA;AAGAK,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAThBN,EAUX,WAAA,SAAA,CAAA;AAVWA,IAANK,EAAA;AAAA,EADNE,EAAc,aAAa;AAAA,GACfP,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.styles.d.ts","sourceRoot":"","sources":["../../../src/components/grid/grid.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,yBAmDtB,CAAA"}
|