@poppy-ui/vue 0.0.0-dev.36.93ba5b2
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/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/ClassWrapper-BNZO3mhP.cjs +2 -0
- package/dist/ClassWrapper-BNZO3mhP.cjs.map +1 -0
- package/dist/ClassWrapper-DdnnHfAj.js +24 -0
- package/dist/ClassWrapper-DdnnHfAj.js.map +1 -0
- package/dist/Toast-DuytECg8.cjs +2 -0
- package/dist/Toast-DuytECg8.cjs.map +1 -0
- package/dist/Toast-fSQWLl0R.js +63 -0
- package/dist/Toast-fSQWLl0R.js.map +1 -0
- package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
- package/dist/_plugin-vue_export-helper-BTmtiIyf.cjs +1 -0
- package/dist/build-class.util-Cp-ZBFgO.js +1730 -0
- package/dist/build-class.util-Cp-ZBFgO.js.map +1 -0
- package/dist/build-class.util-Lo1-M_t1.cjs +2 -0
- package/dist/build-class.util-Lo1-M_t1.cjs.map +1 -0
- package/dist/components/ClassWrapper.d.ts +27 -0
- package/dist/components/ClassWrapper.d.ts.map +1 -0
- package/dist/components/actions/button/Button.d.ts +21 -0
- package/dist/components/actions/button/Button.d.ts.map +1 -0
- package/dist/components/actions/button/button.context.d.ts +2 -0
- package/dist/components/actions/button/button.context.d.ts.map +1 -0
- package/dist/components/actions/button/button.props.d.ts +58 -0
- package/dist/components/actions/button/button.props.d.ts.map +1 -0
- package/dist/components/actions/button/button.types.d.ts +7 -0
- package/dist/components/actions/button/button.types.d.ts.map +1 -0
- package/dist/components/actions/dropdown/Dropdown.d.ts +25 -0
- package/dist/components/actions/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/actions/dropdown/dropdown.context.d.ts +2 -0
- package/dist/components/actions/dropdown/dropdown.context.d.ts.map +1 -0
- package/dist/components/actions/dropdown/dropdown.props.d.ts +60 -0
- package/dist/components/actions/dropdown/dropdown.props.d.ts.map +1 -0
- package/dist/components/actions/dropdown/dropdown.types.d.ts +4 -0
- package/dist/components/actions/dropdown/dropdown.types.d.ts.map +1 -0
- package/dist/components/actions/fab/Fab.d.ts +16 -0
- package/dist/components/actions/fab/Fab.d.ts.map +1 -0
- package/dist/components/actions/fab/fab.context.d.ts +2 -0
- package/dist/components/actions/fab/fab.context.d.ts.map +1 -0
- package/dist/components/actions/fab/fab.props.d.ts +11 -0
- package/dist/components/actions/fab/fab.props.d.ts.map +1 -0
- package/dist/components/actions/fab/fab.types.d.ts +2 -0
- package/dist/components/actions/fab/fab.types.d.ts.map +1 -0
- package/dist/components/actions/modal/Modal.d.ts +42 -0
- package/dist/components/actions/modal/Modal.d.ts.map +1 -0
- package/dist/components/actions/modal/modal.context.d.ts +2 -0
- package/dist/components/actions/modal/modal.context.d.ts.map +1 -0
- package/dist/components/actions/modal/modal.props.d.ts +31 -0
- package/dist/components/actions/modal/modal.props.d.ts.map +1 -0
- package/dist/components/actions/modal/modal.types.d.ts +2 -0
- package/dist/components/actions/modal/modal.types.d.ts.map +1 -0
- package/dist/components/actions/public.d.ts +6 -0
- package/dist/components/actions/public.d.ts.map +1 -0
- package/dist/components/actions/public.es.js +323 -0
- package/dist/components/actions/public.es.js.map +1 -0
- package/dist/components/actions/public.types.d.ts +11 -0
- package/dist/components/actions/public.types.d.ts.map +1 -0
- package/dist/components/actions/public.umd.js +2 -0
- package/dist/components/actions/public.umd.js.map +1 -0
- package/dist/components/actions/swap/Swap.d.ts +36 -0
- package/dist/components/actions/swap/Swap.d.ts.map +1 -0
- package/dist/components/actions/swap/swap.context.d.ts +2 -0
- package/dist/components/actions/swap/swap.context.d.ts.map +1 -0
- package/dist/components/actions/swap/swap.props.d.ts +18 -0
- package/dist/components/actions/swap/swap.props.d.ts.map +1 -0
- package/dist/components/actions/swap/swap.types.d.ts +2 -0
- package/dist/components/actions/swap/swap.types.d.ts.map +1 -0
- package/dist/components/app/PoppyApp.d.ts +14 -0
- package/dist/components/app/PoppyApp.d.ts.map +1 -0
- package/dist/components/app/public.d.ts +2 -0
- package/dist/components/app/public.d.ts.map +1 -0
- package/dist/components/app/public.es.js +42 -0
- package/dist/components/app/public.es.js.map +1 -0
- package/dist/components/app/public.umd.js +2 -0
- package/dist/components/app/public.umd.js.map +1 -0
- package/dist/components/data/checkbox/Checkbox.d.ts +25 -0
- package/dist/components/data/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/data/checkbox/checkbox.context.d.ts +2 -0
- package/dist/components/data/checkbox/checkbox.context.d.ts.map +1 -0
- package/dist/components/data/checkbox/checkbox.props.d.ts +44 -0
- package/dist/components/data/checkbox/checkbox.props.d.ts.map +1 -0
- package/dist/components/data/checkbox/checkbox.types.d.ts +4 -0
- package/dist/components/data/checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/components/data/field-set/FieldSet.d.ts +21 -0
- package/dist/components/data/field-set/FieldSet.d.ts.map +1 -0
- package/dist/components/data/field-set/field-set.props.d.ts +20 -0
- package/dist/components/data/field-set/field-set.props.d.ts.map +1 -0
- package/dist/components/data/form/Form.d.ts +37 -0
- package/dist/components/data/form/Form.d.ts.map +1 -0
- package/dist/components/data/form/form.context.d.ts +57 -0
- package/dist/components/data/form/form.context.d.ts.map +1 -0
- package/dist/components/data/form/form.props.d.ts +28 -0
- package/dist/components/data/form/form.props.d.ts.map +1 -0
- package/dist/components/data/form/form.types.d.ts +25 -0
- package/dist/components/data/form/form.types.d.ts.map +1 -0
- package/dist/components/data/form-field/FormField.d.ts +28 -0
- package/dist/components/data/form-field/FormField.d.ts.map +1 -0
- package/dist/components/data/form-field/form-field.context.d.ts +53 -0
- package/dist/components/data/form-field/form-field.context.d.ts.map +1 -0
- package/dist/components/data/form-field/form-field.props.d.ts +37 -0
- package/dist/components/data/form-field/form-field.props.d.ts.map +1 -0
- package/dist/components/data/form-field/form-field.types.d.ts +2 -0
- package/dist/components/data/form-field/form-field.types.d.ts.map +1 -0
- package/dist/components/data/input/Input.d.ts +31 -0
- package/dist/components/data/input/Input.d.ts.map +1 -0
- package/dist/components/data/input/input.context.d.ts +2 -0
- package/dist/components/data/input/input.context.d.ts.map +1 -0
- package/dist/components/data/input/input.props.d.ts +78 -0
- package/dist/components/data/input/input.props.d.ts.map +1 -0
- package/dist/components/data/input/input.types.d.ts +6 -0
- package/dist/components/data/input/input.types.d.ts.map +1 -0
- package/dist/components/data/public.d.ts +13 -0
- package/dist/components/data/public.d.ts.map +1 -0
- package/dist/components/data/public.es.js +1816 -0
- package/dist/components/data/public.es.js.map +1 -0
- package/dist/components/data/public.types.d.ts +21 -0
- package/dist/components/data/public.types.d.ts.map +1 -0
- package/dist/components/data/public.umd.js +2 -0
- package/dist/components/data/public.umd.js.map +1 -0
- package/dist/components/data/radio/Radio.d.ts +25 -0
- package/dist/components/data/radio/Radio.d.ts.map +1 -0
- package/dist/components/data/radio/radio.context.d.ts +2 -0
- package/dist/components/data/radio/radio.context.d.ts.map +1 -0
- package/dist/components/data/radio/radio.props.d.ts +47 -0
- package/dist/components/data/radio/radio.props.d.ts.map +1 -0
- package/dist/components/data/radio/radio.types.d.ts +4 -0
- package/dist/components/data/radio/radio.types.d.ts.map +1 -0
- package/dist/components/data/radio-group/RadioGroup.d.ts +28 -0
- package/dist/components/data/radio-group/RadioGroup.d.ts.map +1 -0
- package/dist/components/data/radio-group/radio-group.context.d.ts +13 -0
- package/dist/components/data/radio-group/radio-group.context.d.ts.map +1 -0
- package/dist/components/data/radio-group/radio-group.props.d.ts +12 -0
- package/dist/components/data/radio-group/radio-group.props.d.ts.map +1 -0
- package/dist/components/data/rating/Rating.d.ts +26 -0
- package/dist/components/data/rating/Rating.d.ts.map +1 -0
- package/dist/components/data/rating/rating.context.d.ts +2 -0
- package/dist/components/data/rating/rating.context.d.ts.map +1 -0
- package/dist/components/data/rating/rating.props.d.ts +44 -0
- package/dist/components/data/rating/rating.props.d.ts.map +1 -0
- package/dist/components/data/rating/rating.types.d.ts +6 -0
- package/dist/components/data/rating/rating.types.d.ts.map +1 -0
- package/dist/components/data/select/Select.d.ts +79 -0
- package/dist/components/data/select/Select.d.ts.map +1 -0
- package/dist/components/data/select/select.context.d.ts +2 -0
- package/dist/components/data/select/select.context.d.ts.map +1 -0
- package/dist/components/data/select/select.props.d.ts +99 -0
- package/dist/components/data/select/select.props.d.ts.map +1 -0
- package/dist/components/data/select/select.types.d.ts +20 -0
- package/dist/components/data/select/select.types.d.ts.map +1 -0
- package/dist/components/data/slider/Slider.d.ts +29 -0
- package/dist/components/data/slider/Slider.d.ts.map +1 -0
- package/dist/components/data/slider/slider.context.d.ts +2 -0
- package/dist/components/data/slider/slider.context.d.ts.map +1 -0
- package/dist/components/data/slider/slider.props.d.ts +70 -0
- package/dist/components/data/slider/slider.props.d.ts.map +1 -0
- package/dist/components/data/slider/slider.types.d.ts +7 -0
- package/dist/components/data/slider/slider.types.d.ts.map +1 -0
- package/dist/components/data/textarea/Textarea.d.ts +22 -0
- package/dist/components/data/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/data/textarea/textarea.context.d.ts +2 -0
- package/dist/components/data/textarea/textarea.context.d.ts.map +1 -0
- package/dist/components/data/textarea/textarea.props.d.ts +64 -0
- package/dist/components/data/textarea/textarea.props.d.ts.map +1 -0
- package/dist/components/data/textarea/textarea.types.d.ts +5 -0
- package/dist/components/data/textarea/textarea.types.d.ts.map +1 -0
- package/dist/components/data/toggle/Toggle.d.ts +31 -0
- package/dist/components/data/toggle/Toggle.d.ts.map +1 -0
- package/dist/components/data/toggle/toggle.context.d.ts +2 -0
- package/dist/components/data/toggle/toggle.context.d.ts.map +1 -0
- package/dist/components/data/toggle/toggle.props.d.ts +38 -0
- package/dist/components/data/toggle/toggle.props.d.ts.map +1 -0
- package/dist/components/data/toggle/toggle.types.d.ts +4 -0
- package/dist/components/data/toggle/toggle.types.d.ts.map +1 -0
- package/dist/components/display/accordion/Accordion.d.ts +42 -0
- package/dist/components/display/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/display/accordion/AccordionItem.d.ts +35 -0
- package/dist/components/display/accordion/AccordionItem.d.ts.map +1 -0
- package/dist/components/display/accordion/accordion-item.context.d.ts +2 -0
- package/dist/components/display/accordion/accordion-item.context.d.ts.map +1 -0
- package/dist/components/display/accordion/accordion-item.props.d.ts +19 -0
- package/dist/components/display/accordion/accordion-item.props.d.ts.map +1 -0
- package/dist/components/display/accordion/accordion-item.types.d.ts +2 -0
- package/dist/components/display/accordion/accordion-item.types.d.ts.map +1 -0
- package/dist/components/display/accordion/accordion.context.d.ts +9 -0
- package/dist/components/display/accordion/accordion.context.d.ts.map +1 -0
- package/dist/components/display/accordion/accordion.props.d.ts +15 -0
- package/dist/components/display/accordion/accordion.props.d.ts.map +1 -0
- package/dist/components/display/avatar/Avatar.d.ts +14 -0
- package/dist/components/display/avatar/Avatar.d.ts.map +1 -0
- package/dist/components/display/avatar/avatar.context.d.ts +2 -0
- package/dist/components/display/avatar/avatar.context.d.ts.map +1 -0
- package/dist/components/display/avatar/avatar.props.d.ts +45 -0
- package/dist/components/display/avatar/avatar.props.d.ts.map +1 -0
- package/dist/components/display/avatar/avatar.types.d.ts +5 -0
- package/dist/components/display/avatar/avatar.types.d.ts.map +1 -0
- package/dist/components/display/badge/Badge.d.ts +12 -0
- package/dist/components/display/badge/Badge.d.ts.map +1 -0
- package/dist/components/display/badge/badge.context.d.ts +2 -0
- package/dist/components/display/badge/badge.context.d.ts.map +1 -0
- package/dist/components/display/badge/badge.props.d.ts +20 -0
- package/dist/components/display/badge/badge.props.d.ts.map +1 -0
- package/dist/components/display/badge/badge.types.d.ts +5 -0
- package/dist/components/display/badge/badge.types.d.ts.map +1 -0
- package/dist/components/display/card/Card.d.ts +12 -0
- package/dist/components/display/card/Card.d.ts.map +1 -0
- package/dist/components/display/card/CardActions.d.ts +12 -0
- package/dist/components/display/card/CardActions.d.ts.map +1 -0
- package/dist/components/display/card/CardBody.d.ts +14 -0
- package/dist/components/display/card/CardBody.d.ts.map +1 -0
- package/dist/components/display/card/CardTitle.d.ts +14 -0
- package/dist/components/display/card/CardTitle.d.ts.map +1 -0
- package/dist/components/display/card/card-actions.context.d.ts +2 -0
- package/dist/components/display/card/card-actions.context.d.ts.map +1 -0
- package/dist/components/display/card/card-actions.props.d.ts +15 -0
- package/dist/components/display/card/card-actions.props.d.ts.map +1 -0
- package/dist/components/display/card/card-actions.types.d.ts +2 -0
- package/dist/components/display/card/card-actions.types.d.ts.map +1 -0
- package/dist/components/display/card/card.context.d.ts +2 -0
- package/dist/components/display/card/card.context.d.ts.map +1 -0
- package/dist/components/display/card/card.props.d.ts +30 -0
- package/dist/components/display/card/card.props.d.ts.map +1 -0
- package/dist/components/display/card/card.types.d.ts +4 -0
- package/dist/components/display/card/card.types.d.ts.map +1 -0
- package/dist/components/display/carousel/Carousel.d.ts +16 -0
- package/dist/components/display/carousel/Carousel.d.ts.map +1 -0
- package/dist/components/display/carousel/carousel.context.d.ts +2 -0
- package/dist/components/display/carousel/carousel.context.d.ts.map +1 -0
- package/dist/components/display/carousel/carousel.props.d.ts +52 -0
- package/dist/components/display/carousel/carousel.props.d.ts.map +1 -0
- package/dist/components/display/carousel/carousel.types.d.ts +3 -0
- package/dist/components/display/carousel/carousel.types.d.ts.map +1 -0
- package/dist/components/display/chat/Chat.d.ts +20 -0
- package/dist/components/display/chat/Chat.d.ts.map +1 -0
- package/dist/components/display/chat/chat.context.d.ts +2 -0
- package/dist/components/display/chat/chat.context.d.ts.map +1 -0
- package/dist/components/display/chat/chat.props.d.ts +18 -0
- package/dist/components/display/chat/chat.props.d.ts.map +1 -0
- package/dist/components/display/chat/chat.types.d.ts +3 -0
- package/dist/components/display/chat/chat.types.d.ts.map +1 -0
- package/dist/components/display/countdown/Countdown.d.ts +38 -0
- package/dist/components/display/countdown/Countdown.d.ts.map +1 -0
- package/dist/components/display/countdown/countdown.context.d.ts +2 -0
- package/dist/components/display/countdown/countdown.context.d.ts.map +1 -0
- package/dist/components/display/countdown/countdown.props.d.ts +25 -0
- package/dist/components/display/countdown/countdown.props.d.ts.map +1 -0
- package/dist/components/display/countdown/countdown.types.d.ts +23 -0
- package/dist/components/display/countdown/countdown.types.d.ts.map +1 -0
- package/dist/components/display/diff/Diff.d.ts +16 -0
- package/dist/components/display/diff/Diff.d.ts.map +1 -0
- package/dist/components/display/hover-3d/Hover3d.d.ts +12 -0
- package/dist/components/display/hover-3d/Hover3d.d.ts.map +1 -0
- package/dist/components/display/hover-3d/hover-3d.props.d.ts +9 -0
- package/dist/components/display/hover-3d/hover-3d.props.d.ts.map +1 -0
- package/dist/components/display/hover-gallery/HoverGallery.d.ts +14 -0
- package/dist/components/display/hover-gallery/HoverGallery.d.ts.map +1 -0
- package/dist/components/display/kbd/Kbd.d.ts +12 -0
- package/dist/components/display/kbd/Kbd.d.ts.map +1 -0
- package/dist/components/display/kbd/kbd.context.d.ts +2 -0
- package/dist/components/display/kbd/kbd.context.d.ts.map +1 -0
- package/dist/components/display/kbd/kbd.props.d.ts +12 -0
- package/dist/components/display/kbd/kbd.props.d.ts.map +1 -0
- package/dist/components/display/kbd/kbd.types.d.ts +3 -0
- package/dist/components/display/kbd/kbd.types.d.ts.map +1 -0
- package/dist/components/display/list/List.d.ts +17 -0
- package/dist/components/display/list/List.d.ts.map +1 -0
- package/dist/components/display/list/ListItem.d.ts +22 -0
- package/dist/components/display/list/ListItem.d.ts.map +1 -0
- package/dist/components/display/list/list-item.props.d.ts +17 -0
- package/dist/components/display/list/list-item.props.d.ts.map +1 -0
- package/dist/components/display/list/list.props.d.ts +8 -0
- package/dist/components/display/list/list.props.d.ts.map +1 -0
- package/dist/components/display/public.d.ts +21 -0
- package/dist/components/display/public.d.ts.map +1 -0
- package/dist/components/display/public.es.js +2 -0
- package/dist/components/display/public.types.d.ts +28 -0
- package/dist/components/display/public.types.d.ts.map +1 -0
- package/dist/components/display/public.umd.js +1 -0
- package/dist/components/display/stat/Stat.d.ts +22 -0
- package/dist/components/display/stat/Stat.d.ts.map +1 -0
- package/dist/components/display/stat/Stats.d.ts +12 -0
- package/dist/components/display/stat/Stats.d.ts.map +1 -0
- package/dist/components/display/stat/stat.context.d.ts +2 -0
- package/dist/components/display/stat/stat.context.d.ts.map +1 -0
- package/dist/components/display/stat/stat.props.d.ts +42 -0
- package/dist/components/display/stat/stat.props.d.ts.map +1 -0
- package/dist/components/display/stat/stat.types.d.ts +2 -0
- package/dist/components/display/stat/stat.types.d.ts.map +1 -0
- package/dist/components/display/stat/stats.context.d.ts +2 -0
- package/dist/components/display/stat/stats.context.d.ts.map +1 -0
- package/dist/components/display/stat/stats.props.d.ts +11 -0
- package/dist/components/display/stat/stats.props.d.ts.map +1 -0
- package/dist/components/display/stat/stats.types.d.ts +2 -0
- package/dist/components/display/stat/stats.types.d.ts.map +1 -0
- package/dist/components/display/status/Status.d.ts +5 -0
- package/dist/components/display/status/Status.d.ts.map +1 -0
- package/dist/components/display/status/status.context.d.ts +2 -0
- package/dist/components/display/status/status.context.d.ts.map +1 -0
- package/dist/components/display/status/status.props.d.ts +27 -0
- package/dist/components/display/status/status.props.d.ts.map +1 -0
- package/dist/components/display/status/status.types.d.ts +5 -0
- package/dist/components/display/status/status.types.d.ts.map +1 -0
- package/dist/components/feedback/alert/Alert.d.ts +14 -0
- package/dist/components/feedback/alert/Alert.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.context.d.ts +2 -0
- package/dist/components/feedback/alert/alert.context.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.props.d.ts +27 -0
- package/dist/components/feedback/alert/alert.props.d.ts.map +1 -0
- package/dist/components/feedback/alert/alert.types.d.ts +4 -0
- package/dist/components/feedback/alert/alert.types.d.ts.map +1 -0
- package/dist/components/feedback/loading/Loading.d.ts +5 -0
- package/dist/components/feedback/loading/Loading.d.ts.map +1 -0
- package/dist/components/feedback/loading/loading.context.d.ts +2 -0
- package/dist/components/feedback/loading/loading.context.d.ts.map +1 -0
- package/dist/components/feedback/loading/loading.props.d.ts +23 -0
- package/dist/components/feedback/loading/loading.props.d.ts.map +1 -0
- package/dist/components/feedback/loading/loading.types.d.ts +5 -0
- package/dist/components/feedback/loading/loading.types.d.ts.map +1 -0
- package/dist/components/feedback/progress/Progress.d.ts +5 -0
- package/dist/components/feedback/progress/Progress.d.ts.map +1 -0
- package/dist/components/feedback/progress/progress.context.d.ts +2 -0
- package/dist/components/feedback/progress/progress.context.d.ts.map +1 -0
- package/dist/components/feedback/progress/progress.props.d.ts +28 -0
- package/dist/components/feedback/progress/progress.props.d.ts.map +1 -0
- package/dist/components/feedback/progress/progress.types.d.ts +2 -0
- package/dist/components/feedback/progress/progress.types.d.ts.map +1 -0
- package/dist/components/feedback/public.d.ts +6 -0
- package/dist/components/feedback/public.d.ts.map +1 -0
- package/dist/components/feedback/public.es.js +128 -0
- package/dist/components/feedback/public.es.js.map +1 -0
- package/dist/components/feedback/public.types.d.ts +13 -0
- package/dist/components/feedback/public.types.d.ts.map +1 -0
- package/dist/components/feedback/public.umd.js +2 -0
- package/dist/components/feedback/public.umd.js.map +1 -0
- package/dist/components/feedback/radial-progress/radial-progress.context.d.ts +2 -0
- package/dist/components/feedback/radial-progress/radial-progress.context.d.ts.map +1 -0
- package/dist/components/feedback/radial-progress/radial-progress.props.d.ts +32 -0
- package/dist/components/feedback/radial-progress/radial-progress.props.d.ts.map +1 -0
- package/dist/components/feedback/radial-progress/radial-progress.types.d.ts +2 -0
- package/dist/components/feedback/radial-progress/radial-progress.types.d.ts.map +1 -0
- package/dist/components/feedback/toast/Toast.d.ts +12 -0
- package/dist/components/feedback/toast/Toast.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.context.d.ts +9 -0
- package/dist/components/feedback/toast/toast.context.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.props.d.ts +31 -0
- package/dist/components/feedback/toast/toast.props.d.ts.map +1 -0
- package/dist/components/feedback/toast/toast.types.d.ts +5 -0
- package/dist/components/feedback/toast/toast.types.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/Tooltip.d.ts +14 -0
- package/dist/components/feedback/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/tooltip.context.d.ts +2 -0
- package/dist/components/feedback/tooltip/tooltip.context.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/tooltip.props.d.ts +39 -0
- package/dist/components/feedback/tooltip/tooltip.props.d.ts.map +1 -0
- package/dist/components/feedback/tooltip/tooltip.types.d.ts +3 -0
- package/dist/components/feedback/tooltip/tooltip.types.d.ts.map +1 -0
- package/dist/components/layout/divider/Divider.d.ts +12 -0
- package/dist/components/layout/divider/Divider.d.ts.map +1 -0
- package/dist/components/layout/divider/divider.context.d.ts +2 -0
- package/dist/components/layout/divider/divider.context.d.ts.map +1 -0
- package/dist/components/layout/divider/divider.props.d.ts +26 -0
- package/dist/components/layout/divider/divider.props.d.ts.map +1 -0
- package/dist/components/layout/divider/divider.types.d.ts +4 -0
- package/dist/components/layout/divider/divider.types.d.ts.map +1 -0
- package/dist/components/layout/drawer/Drawer.d.ts +39 -0
- package/dist/components/layout/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/layout/drawer/drawer.context.d.ts +2 -0
- package/dist/components/layout/drawer/drawer.context.d.ts.map +1 -0
- package/dist/components/layout/drawer/drawer.props.d.ts +27 -0
- package/dist/components/layout/drawer/drawer.props.d.ts.map +1 -0
- package/dist/components/layout/drawer/drawer.types.d.ts +6 -0
- package/dist/components/layout/drawer/drawer.types.d.ts.map +1 -0
- package/dist/components/layout/indicator/Indicator.d.ts +14 -0
- package/dist/components/layout/indicator/Indicator.d.ts.map +1 -0
- package/dist/components/layout/indicator/indicator.context.d.ts +2 -0
- package/dist/components/layout/indicator/indicator.context.d.ts.map +1 -0
- package/dist/components/layout/indicator/indicator.props.d.ts +28 -0
- package/dist/components/layout/indicator/indicator.props.d.ts.map +1 -0
- package/dist/components/layout/indicator/indicator.types.d.ts +3 -0
- package/dist/components/layout/indicator/indicator.types.d.ts.map +1 -0
- package/dist/components/layout/join/Join.d.ts +12 -0
- package/dist/components/layout/join/Join.d.ts.map +1 -0
- package/dist/components/layout/join/join.context.d.ts +2 -0
- package/dist/components/layout/join/join.context.d.ts.map +1 -0
- package/dist/components/layout/join/join.props.d.ts +14 -0
- package/dist/components/layout/join/join.props.d.ts.map +1 -0
- package/dist/components/layout/join/join.types.d.ts +2 -0
- package/dist/components/layout/join/join.types.d.ts.map +1 -0
- package/dist/components/layout/mask/Mask.d.ts +12 -0
- package/dist/components/layout/mask/Mask.d.ts.map +1 -0
- package/dist/components/layout/mask/mask.context.d.ts +2 -0
- package/dist/components/layout/mask/mask.context.d.ts.map +1 -0
- package/dist/components/layout/mask/mask.props.d.ts +37 -0
- package/dist/components/layout/mask/mask.props.d.ts.map +1 -0
- package/dist/components/layout/mask/mask.types.d.ts +3 -0
- package/dist/components/layout/mask/mask.types.d.ts.map +1 -0
- package/dist/components/layout/public.d.ts +7 -0
- package/dist/components/layout/public.d.ts.map +1 -0
- package/dist/components/layout/public.es.js +206 -0
- package/dist/components/layout/public.es.js.map +1 -0
- package/dist/components/layout/public.types.d.ts +13 -0
- package/dist/components/layout/public.types.d.ts.map +1 -0
- package/dist/components/layout/public.umd.js +2 -0
- package/dist/components/layout/public.umd.js.map +1 -0
- package/dist/components/layout/stack/Stack.d.ts +12 -0
- package/dist/components/layout/stack/Stack.d.ts.map +1 -0
- package/dist/components/layout/stack/stack.context.d.ts +2 -0
- package/dist/components/layout/stack/stack.context.d.ts.map +1 -0
- package/dist/components/layout/stack/stack.props.d.ts +12 -0
- package/dist/components/layout/stack/stack.props.d.ts.map +1 -0
- package/dist/components/layout/stack/stack.types.d.ts +2 -0
- package/dist/components/layout/stack/stack.types.d.ts.map +1 -0
- package/dist/components/media/img/Img.d.ts +15 -0
- package/dist/components/media/img/Img.d.ts.map +1 -0
- package/dist/components/media/img/img.context.d.ts +2 -0
- package/dist/components/media/img/img.context.d.ts.map +1 -0
- package/dist/components/media/img/img.props.d.ts +76 -0
- package/dist/components/media/img/img.props.d.ts.map +1 -0
- package/dist/components/media/img/img.types.d.ts +33 -0
- package/dist/components/media/img/img.types.d.ts.map +1 -0
- package/dist/components/media/public.d.ts +2 -0
- package/dist/components/media/public.d.ts.map +1 -0
- package/dist/components/media/public.es.js +143 -0
- package/dist/components/media/public.es.js.map +1 -0
- package/dist/components/media/public.types.d.ts +3 -0
- package/dist/components/media/public.types.d.ts.map +1 -0
- package/dist/components/media/public.umd.js +2 -0
- package/dist/components/media/public.umd.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts +5 -0
- package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.context.d.ts +2 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.context.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.props.d.ts +17 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.props.d.ts.map +1 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.types.d.ts +11 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/components/navigation/dock/Dock.d.ts +12 -0
- package/dist/components/navigation/dock/Dock.d.ts.map +1 -0
- package/dist/components/navigation/dock/DockItem.d.ts +5 -0
- package/dist/components/navigation/dock/DockItem.d.ts.map +1 -0
- package/dist/components/navigation/dock/dock.context.d.ts +3 -0
- package/dist/components/navigation/dock/dock.context.d.ts.map +1 -0
- package/dist/components/navigation/dock/dock.props.d.ts +30 -0
- package/dist/components/navigation/dock/dock.props.d.ts.map +1 -0
- package/dist/components/navigation/dock/dock.types.d.ts +3 -0
- package/dist/components/navigation/dock/dock.types.d.ts.map +1 -0
- package/dist/components/navigation/link/Link.d.ts +12 -0
- package/dist/components/navigation/link/Link.d.ts.map +1 -0
- package/dist/components/navigation/link/link.context.d.ts +2 -0
- package/dist/components/navigation/link/link.context.d.ts.map +1 -0
- package/dist/components/navigation/link/link.props.d.ts +21 -0
- package/dist/components/navigation/link/link.props.d.ts.map +1 -0
- package/dist/components/navigation/link/link.types.d.ts +2 -0
- package/dist/components/navigation/link/link.types.d.ts.map +1 -0
- package/dist/components/navigation/menu/Menu.d.ts +12 -0
- package/dist/components/navigation/menu/Menu.d.ts.map +1 -0
- package/dist/components/navigation/menu/MenuItem.d.ts +36 -0
- package/dist/components/navigation/menu/MenuItem.d.ts.map +1 -0
- package/dist/components/navigation/menu/menu.context.d.ts +3 -0
- package/dist/components/navigation/menu/menu.context.d.ts.map +1 -0
- package/dist/components/navigation/menu/menu.props.d.ts +61 -0
- package/dist/components/navigation/menu/menu.props.d.ts.map +1 -0
- package/dist/components/navigation/menu/menu.types.d.ts +4 -0
- package/dist/components/navigation/menu/menu.types.d.ts.map +1 -0
- package/dist/components/navigation/navbar/Navbar.d.ts +4 -0
- package/dist/components/navigation/navbar/Navbar.d.ts.map +1 -0
- package/dist/components/navigation/public.d.ts +10 -0
- package/dist/components/navigation/public.d.ts.map +1 -0
- package/dist/components/navigation/public.es.js +2 -0
- package/dist/components/navigation/public.types.d.ts +11 -0
- package/dist/components/navigation/public.types.d.ts.map +1 -0
- package/dist/components/navigation/public.umd.js +1 -0
- package/dist/components/navigation/tab/Tab.d.ts +19 -0
- package/dist/components/navigation/tab/Tab.d.ts.map +1 -0
- package/dist/components/navigation/tab/Tabs.d.ts +20 -0
- package/dist/components/navigation/tab/Tabs.d.ts.map +1 -0
- package/dist/components/navigation/tab/tab.context.d.ts +10 -0
- package/dist/components/navigation/tab/tab.context.d.ts.map +1 -0
- package/dist/components/navigation/tab/tab.props.d.ts +59 -0
- package/dist/components/navigation/tab/tab.props.d.ts.map +1 -0
- package/dist/components/navigation/tab/tab.types.d.ts +5 -0
- package/dist/components/navigation/tab/tab.types.d.ts.map +1 -0
- package/dist/composables/public.d.ts +6 -0
- package/dist/composables/public.d.ts.map +1 -0
- package/dist/composables/public.es.js +39 -0
- package/dist/composables/public.es.js.map +1 -0
- package/dist/composables/public.umd.js +2 -0
- package/dist/composables/public.umd.js.map +1 -0
- package/dist/composables/use-component-config.d.ts +27 -0
- package/dist/composables/use-component-config.d.ts.map +1 -0
- package/dist/composables/use-config.d.ts +2 -0
- package/dist/composables/use-config.d.ts.map +1 -0
- package/dist/composables/use-form-field.d.ts +24 -0
- package/dist/composables/use-form-field.d.ts.map +1 -0
- package/dist/composables/use-select-counter.d.ts +13 -0
- package/dist/composables/use-select-counter.d.ts.map +1 -0
- package/dist/composables/use-toast.d.ts +36 -0
- package/dist/composables/use-toast.d.ts.map +1 -0
- package/dist/config/config.type.d.ts +96 -0
- package/dist/config/config.type.d.ts.map +1 -0
- package/dist/config/public.d.ts +3 -0
- package/dist/config/public.d.ts.map +1 -0
- package/dist/config/public.es.js +2 -0
- package/dist/config/public.types.d.ts +2 -0
- package/dist/config/public.types.d.ts.map +1 -0
- package/dist/config/public.umd.js +1 -0
- package/dist/config/size.context.d.ts +4 -0
- package/dist/config/size.context.d.ts.map +1 -0
- package/dist/config/symbol.d.ts +4 -0
- package/dist/config/symbol.d.ts.map +1 -0
- package/dist/plugin-vue.d.ts +33 -0
- package/dist/plugin-vue.d.ts.map +1 -0
- package/dist/public-1PFjXgZ6.cjs +2 -0
- package/dist/public-1PFjXgZ6.cjs.map +1 -0
- package/dist/public-D_MhbTxP.cjs +2 -0
- package/dist/public-D_MhbTxP.cjs.map +1 -0
- package/dist/public-Dqelew6J.js +615 -0
- package/dist/public-Dqelew6J.js.map +1 -0
- package/dist/public-H9TCdoJr.js +296 -0
- package/dist/public-H9TCdoJr.js.map +1 -0
- package/dist/public.d.ts +12 -0
- package/dist/public.d.ts.map +1 -0
- package/dist/public.es.js +15 -0
- package/dist/public.es.js.map +1 -0
- package/dist/public.umd.js +2 -0
- package/dist/public.umd.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/symbol-Cleu4XHu.cjs +2 -0
- package/dist/symbol-Cleu4XHu.cjs.map +1 -0
- package/dist/symbol-CziS7Pho.js +13 -0
- package/dist/symbol-CziS7Pho.js.map +1 -0
- package/dist/toast.context-BNg0Zn09.cjs +2 -0
- package/dist/toast.context-BNg0Zn09.cjs.map +1 -0
- package/dist/toast.context-CTPY2imu.js +7 -0
- package/dist/toast.context-CTPY2imu.js.map +1 -0
- package/dist/types/public.d.ts +3 -0
- package/dist/types/public.d.ts.map +1 -0
- package/dist/types/public.es.js +0 -0
- package/dist/types/public.umd.js +1 -0
- package/dist/types/size.type.d.ts +2 -0
- package/dist/types/size.type.d.ts.map +1 -0
- package/dist/types/utils.type.d.ts +5 -0
- package/dist/types/utils.type.d.ts.map +1 -0
- package/dist/use-component-config-C-IlXF0W.cjs +2 -0
- package/dist/use-component-config-C-IlXF0W.cjs.map +1 -0
- package/dist/use-component-config-CaJQbJOW.js +20 -0
- package/dist/use-component-config-CaJQbJOW.js.map +1 -0
- package/dist/use-select-counter-CgQha-_T.cjs +2 -0
- package/dist/use-select-counter-CgQha-_T.cjs.map +1 -0
- package/dist/use-select-counter-D_-Qwz61.js +72 -0
- package/dist/use-select-counter-D_-Qwz61.js.map +1 -0
- package/dist/utils/build-class.util.d.ts +4 -0
- package/dist/utils/build-class.util.d.ts.map +1 -0
- package/dist/utils/get-validation-message.d.ts +22 -0
- package/dist/utils/get-validation-message.d.ts.map +1 -0
- package/dist/utils/path.d.ts +20 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/props.util.d.ts +2 -0
- package/dist/utils/props.util.d.ts.map +1 -0
- package/dist/utils/public.d.ts +2 -0
- package/dist/utils/public.d.ts.map +1 -0
- package/package.json +138 -0
- package/src/components/ClassWrapper.vue +42 -0
- package/src/components/actions/button/Button.story.vue +184 -0
- package/src/components/actions/button/Button.vue +110 -0
- package/src/components/actions/button/button.context.ts +3 -0
- package/src/components/actions/button/button.props.ts +56 -0
- package/src/components/actions/button/button.types.ts +7 -0
- package/src/components/actions/dropdown/Dropdown.story.vue +360 -0
- package/src/components/actions/dropdown/Dropdown.vue +218 -0
- package/src/components/actions/dropdown/dropdown.context.ts +3 -0
- package/src/components/actions/dropdown/dropdown.props.ts +59 -0
- package/src/components/actions/dropdown/dropdown.types.ts +4 -0
- package/src/components/actions/fab/Fab.story.vue +227 -0
- package/src/components/actions/fab/Fab.vue +33 -0
- package/src/components/actions/fab/fab.context.ts +3 -0
- package/src/components/actions/fab/fab.props.ts +11 -0
- package/src/components/actions/fab/fab.types.ts +1 -0
- package/src/components/actions/modal/Modal.story.vue +285 -0
- package/src/components/actions/modal/Modal.vue +106 -0
- package/src/components/actions/modal/modal.context.ts +3 -0
- package/src/components/actions/modal/modal.props.ts +29 -0
- package/src/components/actions/modal/modal.types.ts +1 -0
- package/src/components/actions/public.ts +5 -0
- package/src/components/actions/public.types.ts +15 -0
- package/src/components/actions/swap/Swap.story.vue +302 -0
- package/src/components/actions/swap/Swap.vue +59 -0
- package/src/components/actions/swap/swap.context.ts +3 -0
- package/src/components/actions/swap/swap.props.ts +17 -0
- package/src/components/actions/swap/swap.types.ts +1 -0
- package/src/components/app/PoppyApp.vue +48 -0
- package/src/components/app/public.ts +1 -0
- package/src/components/data/checkbox/Checkbox.story.vue +206 -0
- package/src/components/data/checkbox/Checkbox.vue +139 -0
- package/src/components/data/checkbox/checkbox.context.ts +3 -0
- package/src/components/data/checkbox/checkbox.props.ts +42 -0
- package/src/components/data/checkbox/checkbox.types.ts +5 -0
- package/src/components/data/field-set/FieldSet.story.vue +163 -0
- package/src/components/data/field-set/FieldSet.vue +22 -0
- package/src/components/data/field-set/field-set.props.ts +21 -0
- package/src/components/data/form/Form.story.vue +144 -0
- package/src/components/data/form/Form.vue +235 -0
- package/src/components/data/form/form.context.ts +82 -0
- package/src/components/data/form/form.props.ts +30 -0
- package/src/components/data/form/form.types.ts +25 -0
- package/src/components/data/form-field/FormField.vue +176 -0
- package/src/components/data/form-field/form-field.context.ts +71 -0
- package/src/components/data/form-field/form-field.props.ts +42 -0
- package/src/components/data/form-field/form-field.types.ts +1 -0
- package/src/components/data/input/Input.story.vue +276 -0
- package/src/components/data/input/Input.vue +233 -0
- package/src/components/data/input/input.context.ts +3 -0
- package/src/components/data/input/input.props.ts +87 -0
- package/src/components/data/input/input.types.ts +10 -0
- package/src/components/data/public.ts +12 -0
- package/src/components/data/public.types.ts +30 -0
- package/src/components/data/radio/Radio.story.vue +228 -0
- package/src/components/data/radio/Radio.vue +152 -0
- package/src/components/data/radio/radio.context.ts +3 -0
- package/src/components/data/radio/radio.props.ts +53 -0
- package/src/components/data/radio/radio.types.ts +5 -0
- package/src/components/data/radio-group/RadioGroup.story.vue +155 -0
- package/src/components/data/radio-group/RadioGroup.vue +65 -0
- package/src/components/data/radio-group/radio-group.context.ts +14 -0
- package/src/components/data/radio-group/radio-group.props.ts +12 -0
- package/src/components/data/rating/Rating.story.vue +150 -0
- package/src/components/data/rating/Rating.vue +190 -0
- package/src/components/data/rating/rating.context.ts +3 -0
- package/src/components/data/rating/rating.props.ts +43 -0
- package/src/components/data/rating/rating.types.ts +8 -0
- package/src/components/data/select/Select.story.vue +317 -0
- package/src/components/data/select/Select.vue +747 -0
- package/src/components/data/select/select.context.ts +3 -0
- package/src/components/data/select/select.props.ts +110 -0
- package/src/components/data/select/select.types.ts +24 -0
- package/src/components/data/slider/Slider.story.vue +276 -0
- package/src/components/data/slider/Slider.vue +802 -0
- package/src/components/data/slider/slider.context.ts +3 -0
- package/src/components/data/slider/slider.props.ts +69 -0
- package/src/components/data/slider/slider.types.ts +11 -0
- package/src/components/data/textarea/Textarea.story.vue +222 -0
- package/src/components/data/textarea/Textarea.vue +168 -0
- package/src/components/data/textarea/textarea.context.ts +3 -0
- package/src/components/data/textarea/textarea.props.ts +71 -0
- package/src/components/data/textarea/textarea.types.ts +7 -0
- package/src/components/data/toggle/Toggle.story.vue +195 -0
- package/src/components/data/toggle/Toggle.vue +136 -0
- package/src/components/data/toggle/toggle.context.ts +3 -0
- package/src/components/data/toggle/toggle.props.ts +40 -0
- package/src/components/data/toggle/toggle.types.ts +5 -0
- package/src/components/display/accordion/Accordion.story.vue +482 -0
- package/src/components/display/accordion/Accordion.vue +112 -0
- package/src/components/display/accordion/AccordionItem.vue +111 -0
- package/src/components/display/accordion/accordion-item.context.ts +3 -0
- package/src/components/display/accordion/accordion-item.props.ts +20 -0
- package/src/components/display/accordion/accordion-item.types.ts +1 -0
- package/src/components/display/accordion/accordion.context.ts +10 -0
- package/src/components/display/accordion/accordion.props.ts +16 -0
- package/src/components/display/avatar/Avatar.story.vue +341 -0
- package/src/components/display/avatar/Avatar.vue +57 -0
- package/src/components/display/avatar/avatar.context.ts +3 -0
- package/src/components/display/avatar/avatar.props.ts +44 -0
- package/src/components/display/avatar/avatar.types.ts +5 -0
- package/src/components/display/badge/Badge.story.vue +156 -0
- package/src/components/display/badge/Badge.vue +51 -0
- package/src/components/display/badge/badge.context.ts +3 -0
- package/src/components/display/badge/badge.props.ts +22 -0
- package/src/components/display/badge/badge.types.ts +5 -0
- package/src/components/display/card/Card.story.vue +312 -0
- package/src/components/display/card/Card.vue +40 -0
- package/src/components/display/card/CardActions.vue +30 -0
- package/src/components/display/card/CardBody.vue +5 -0
- package/src/components/display/card/CardTitle.vue +5 -0
- package/src/components/display/card/card-actions.context.ts +3 -0
- package/src/components/display/card/card-actions.props.ts +15 -0
- package/src/components/display/card/card-actions.types.ts +1 -0
- package/src/components/display/card/card.context.ts +3 -0
- package/src/components/display/card/card.props.ts +29 -0
- package/src/components/display/card/card.types.ts +4 -0
- package/src/components/display/carousel/Carousel.story.vue +216 -0
- package/src/components/display/carousel/Carousel.vue +156 -0
- package/src/components/display/carousel/carousel.context.ts +3 -0
- package/src/components/display/carousel/carousel.props.ts +51 -0
- package/src/components/display/carousel/carousel.types.ts +2 -0
- package/src/components/display/chat/Chat.story.vue +251 -0
- package/src/components/display/chat/Chat.vue +56 -0
- package/src/components/display/chat/chat.context.ts +3 -0
- package/src/components/display/chat/chat.props.ts +19 -0
- package/src/components/display/chat/chat.types.ts +2 -0
- package/src/components/display/countdown/Countdown.story.vue +285 -0
- package/src/components/display/countdown/Countdown.vue +114 -0
- package/src/components/display/countdown/countdown.context.ts +3 -0
- package/src/components/display/countdown/countdown.props.ts +26 -0
- package/src/components/display/countdown/countdown.types.ts +24 -0
- package/src/components/display/diff/Diff.story.vue +118 -0
- package/src/components/display/diff/Diff.vue +13 -0
- package/src/components/display/hover-3d/Hover3d.story.vue +154 -0
- package/src/components/display/hover-3d/Hover3d.vue +37 -0
- package/src/components/display/hover-3d/hover-3d.props.ts +9 -0
- package/src/components/display/hover-gallery/HoverGallery.story.vue +121 -0
- package/src/components/display/hover-gallery/HoverGallery.vue +5 -0
- package/src/components/display/kbd/Kbd.story.vue +214 -0
- package/src/components/display/kbd/Kbd.vue +32 -0
- package/src/components/display/kbd/kbd.context.ts +3 -0
- package/src/components/display/kbd/kbd.props.ts +12 -0
- package/src/components/display/kbd/kbd.types.ts +3 -0
- package/src/components/display/list/List.story.vue +381 -0
- package/src/components/display/list/List.vue +14 -0
- package/src/components/display/list/ListItem.vue +53 -0
- package/src/components/display/list/list-item.props.ts +19 -0
- package/src/components/display/list/list.props.ts +7 -0
- package/src/components/display/public.ts +20 -0
- package/src/components/display/public.types.ts +40 -0
- package/src/components/display/stat/Stat.story.vue +181 -0
- package/src/components/display/stat/Stat.vue +43 -0
- package/src/components/display/stat/Stats.vue +29 -0
- package/src/components/display/stat/stat.context.ts +3 -0
- package/src/components/display/stat/stat.props.ts +50 -0
- package/src/components/display/stat/stat.types.ts +1 -0
- package/src/components/display/stat/stats.context.ts +3 -0
- package/src/components/display/stat/stats.props.ts +11 -0
- package/src/components/display/stat/stats.types.ts +1 -0
- package/src/components/display/status/Status.story.vue +195 -0
- package/src/components/display/status/Status.vue +70 -0
- package/src/components/display/status/status.context.ts +3 -0
- package/src/components/display/status/status.props.ts +30 -0
- package/src/components/display/status/status.types.ts +5 -0
- package/src/components/feedback/alert/Alert.story.vue +243 -0
- package/src/components/feedback/alert/Alert.vue +46 -0
- package/src/components/feedback/alert/alert.context.ts +3 -0
- package/src/components/feedback/alert/alert.props.ts +29 -0
- package/src/components/feedback/alert/alert.types.ts +3 -0
- package/src/components/feedback/loading/Loading.story.vue +156 -0
- package/src/components/feedback/loading/Loading.vue +55 -0
- package/src/components/feedback/loading/loading.context.ts +3 -0
- package/src/components/feedback/loading/loading.props.ts +25 -0
- package/src/components/feedback/loading/loading.types.ts +5 -0
- package/src/components/feedback/progress/Progress.story.vue +96 -0
- package/src/components/feedback/progress/Progress.vue +36 -0
- package/src/components/feedback/progress/progress.context.ts +3 -0
- package/src/components/feedback/progress/progress.props.ts +27 -0
- package/src/components/feedback/progress/progress.types.ts +1 -0
- package/src/components/feedback/public.ts +5 -0
- package/src/components/feedback/public.types.ts +18 -0
- package/src/components/feedback/radial-progress/RadialProgress.story.vue +118 -0
- package/src/components/feedback/radial-progress/RadialProgress.vue +46 -0
- package/src/components/feedback/radial-progress/radial-progress.context.ts +3 -0
- package/src/components/feedback/radial-progress/radial-progress.props.ts +35 -0
- package/src/components/feedback/radial-progress/radial-progress.types.ts +9 -0
- package/src/components/feedback/toast/Toast.story.vue +356 -0
- package/src/components/feedback/toast/Toast.vue +40 -0
- package/src/components/feedback/toast/toast.context.ts +12 -0
- package/src/components/feedback/toast/toast.props.ts +33 -0
- package/src/components/feedback/toast/toast.types.ts +5 -0
- package/src/components/feedback/tooltip/Tooltip.story.vue +256 -0
- package/src/components/feedback/tooltip/Tooltip.vue +123 -0
- package/src/components/feedback/tooltip/tooltip.context.ts +3 -0
- package/src/components/feedback/tooltip/tooltip.props.ts +44 -0
- package/src/components/feedback/tooltip/tooltip.types.ts +2 -0
- package/src/components/layout/divider/Divider.story.vue +217 -0
- package/src/components/layout/divider/Divider.vue +48 -0
- package/src/components/layout/divider/divider.context.ts +3 -0
- package/src/components/layout/divider/divider.props.ts +28 -0
- package/src/components/layout/divider/divider.types.ts +3 -0
- package/src/components/layout/drawer/Drawer.story.vue +301 -0
- package/src/components/layout/drawer/Drawer.vue +88 -0
- package/src/components/layout/drawer/drawer.context.ts +3 -0
- package/src/components/layout/drawer/drawer.props.ts +25 -0
- package/src/components/layout/drawer/drawer.types.ts +6 -0
- package/src/components/layout/indicator/Indicator.story.vue +264 -0
- package/src/components/layout/indicator/Indicator.vue +43 -0
- package/src/components/layout/indicator/indicator.context.ts +3 -0
- package/src/components/layout/indicator/indicator.props.ts +27 -0
- package/src/components/layout/indicator/indicator.types.ts +2 -0
- package/src/components/layout/join/Join.story.vue +147 -0
- package/src/components/layout/join/Join.vue +32 -0
- package/src/components/layout/join/join.context.ts +3 -0
- package/src/components/layout/join/join.props.ts +14 -0
- package/src/components/layout/join/join.types.ts +1 -0
- package/src/components/layout/mask/Mask.story.vue +181 -0
- package/src/components/layout/mask/Mask.vue +49 -0
- package/src/components/layout/mask/mask.context.ts +3 -0
- package/src/components/layout/mask/mask.props.ts +36 -0
- package/src/components/layout/mask/mask.types.ts +18 -0
- package/src/components/layout/public.ts +6 -0
- package/src/components/layout/public.types.ts +18 -0
- package/src/components/layout/stack/Stack.story.vue +170 -0
- package/src/components/layout/stack/Stack.vue +29 -0
- package/src/components/layout/stack/stack.context.ts +3 -0
- package/src/components/layout/stack/stack.props.ts +12 -0
- package/src/components/layout/stack/stack.types.ts +1 -0
- package/src/components/media/img/Img.story.vue +214 -0
- package/src/components/media/img/Img.vue +189 -0
- package/src/components/media/img/img.context.ts +3 -0
- package/src/components/media/img/img.props.ts +88 -0
- package/src/components/media/img/img.types.ts +35 -0
- package/src/components/media/public.ts +1 -0
- package/src/components/media/public.types.ts +3 -0
- package/src/components/navigation/breadcrumbs/Breadcrumbs.story.vue +94 -0
- package/src/components/navigation/breadcrumbs/Breadcrumbs.vue +53 -0
- package/src/components/navigation/breadcrumbs/breadcrumbs.context.ts +3 -0
- package/src/components/navigation/breadcrumbs/breadcrumbs.props.ts +18 -0
- package/src/components/navigation/breadcrumbs/breadcrumbs.types.ts +13 -0
- package/src/components/navigation/dock/Dock.story.vue +109 -0
- package/src/components/navigation/dock/Dock.vue +32 -0
- package/src/components/navigation/dock/DockItem.vue +50 -0
- package/src/components/navigation/dock/dock.context.ts +4 -0
- package/src/components/navigation/dock/dock.props.ts +34 -0
- package/src/components/navigation/dock/dock.types.ts +3 -0
- package/src/components/navigation/link/Link.story.vue +129 -0
- package/src/components/navigation/link/Link.vue +57 -0
- package/src/components/navigation/link/link.context.ts +3 -0
- package/src/components/navigation/link/link.props.ts +20 -0
- package/src/components/navigation/link/link.types.ts +1 -0
- package/src/components/navigation/menu/Menu.story.vue +284 -0
- package/src/components/navigation/menu/Menu.vue +41 -0
- package/src/components/navigation/menu/MenuItem.vue +106 -0
- package/src/components/navigation/menu/menu.context.ts +4 -0
- package/src/components/navigation/menu/menu.props.ts +59 -0
- package/src/components/navigation/menu/menu.types.ts +4 -0
- package/src/components/navigation/navbar/Navbar.story.vue +154 -0
- package/src/components/navigation/navbar/Navbar.vue +8 -0
- package/src/components/navigation/public.ts +9 -0
- package/src/components/navigation/public.types.ts +15 -0
- package/src/components/navigation/tab/Tab.story.vue +186 -0
- package/src/components/navigation/tab/Tab.vue +106 -0
- package/src/components/navigation/tab/Tabs.vue +76 -0
- package/src/components/navigation/tab/tab.context.ts +13 -0
- package/src/components/navigation/tab/tab.props.ts +57 -0
- package/src/components/navigation/tab/tab.types.ts +5 -0
- package/src/composables/public.ts +5 -0
- package/src/composables/use-component-config.ts +44 -0
- package/src/composables/use-config.ts +6 -0
- package/src/composables/use-form-field.ts +99 -0
- package/src/composables/use-select-counter.ts +58 -0
- package/src/composables/use-toast.ts +47 -0
- package/src/config/config.type.ts +109 -0
- package/src/config/public.ts +2 -0
- package/src/config/public.types.ts +1 -0
- package/src/config/size.context.ts +4 -0
- package/src/config/symbol.ts +15 -0
- package/src/histoire.css +8 -0
- package/src/plugin-vue.ts +54 -0
- package/src/public.ts +12 -0
- package/src/stories/Configuration.story.md +55 -0
- package/src/types/public.ts +2 -0
- package/src/types/size.type.ts +1 -0
- package/src/types/utils.type.ts +5 -0
- package/src/utils/build-class.util.ts +38 -0
- package/src/utils/get-validation-message.ts +61 -0
- package/src/utils/path.ts +102 -0
- package/src/utils/props.util.ts +11 -0
- package/src/utils/public.ts +1 -0
- package/src/vite-env.d.ts +11 -0
- package/src/vue.d.ts +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-Dqelew6J.js","names":["$slots","$slots","$slots","$slots"],"sources":["../src/components/display/accordion/accordion.context.ts","../src/components/display/accordion/Accordion.vue","../src/components/display/accordion/Accordion.vue","../src/components/display/accordion/accordion-item.context.ts","../src/components/display/accordion/AccordionItem.vue","../src/components/display/accordion/AccordionItem.vue","../src/components/display/avatar/avatar.context.ts","../src/components/display/avatar/Avatar.vue","../src/components/display/avatar/Avatar.vue","../src/components/display/badge/badge.context.ts","../src/components/display/badge/Badge.vue","../src/components/display/badge/Badge.vue","../src/components/display/card/card.context.ts","../src/components/display/card/Card.vue","../src/components/display/card/Card.vue","../src/components/display/card/card-actions.context.ts","../src/components/display/card/CardActions.vue","../src/components/display/card/CardActions.vue","../src/components/display/card/CardBody.vue","../src/components/display/card/CardTitle.vue","../src/components/display/carousel/carousel.context.ts","../src/components/display/carousel/Carousel.vue","../src/components/display/carousel/Carousel.vue","../src/components/display/chat/chat.context.ts","../src/components/display/chat/Chat.vue","../src/components/display/chat/Chat.vue","../src/components/display/countdown/countdown.context.ts","../src/components/display/countdown/Countdown.vue","../src/components/display/countdown/Countdown.vue","../src/components/display/diff/Diff.vue","../src/components/display/hover-3d/Hover3d.vue","../src/components/display/hover-3d/Hover3d.vue","../src/components/display/hover-gallery/HoverGallery.vue","../src/components/display/kbd/kbd.context.ts","../src/components/display/kbd/Kbd.vue","../src/components/display/kbd/Kbd.vue","../src/components/display/list/List.vue","../src/components/display/list/List.vue","../src/components/display/list/ListItem.vue","../src/components/display/list/ListItem.vue","../src/components/display/stat/stat.context.ts","../src/components/display/stat/Stat.vue","../src/components/display/stat/Stat.vue","../src/components/display/stat/stats.context.ts","../src/components/display/stat/Stats.vue","../src/components/display/stat/Stats.vue","../src/components/display/status/status.context.ts","../src/components/display/status/Status.vue","../src/components/display/status/Status.vue"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\n\nexport type AccordionContext<M extends boolean = false> = {\n multiple: M\n modelValue: Ref<M extends true ? string[] : string | null>\n toggle: (name: string) => void\n isOpen: (name: string) => boolean\n}\n\nexport const ACCORDION_CONTEXT_KEY = Symbol('accordion') as InjectionKey<AccordionContext<any>>\n","<script lang=\"ts\">\nimport { computed, provide, shallowRef } from 'vue'\nimport { ACCORDION_CONTEXT_KEY } from './accordion.context'\nimport type { AccordionProps } from './accordion.props'\n</script>\n\n<script setup lang=\"ts\" generic=\"M extends boolean = false\">\ntype ModelType = M extends true ? string[] : string | null\ntype NameType = M extends true ? string[] : string\n\nconst props = defineProps<AccordionProps<M>>()\n\n/**\n * Controlled open state. Use `v-model` to bind reactively.\n * In single mode: the name of the open item, or `null` if none.\n * In multiple mode: an array of open item names.\n */\nconst model = defineModel<M extends true ? string[] : string | null>()\n\nconst emit = defineEmits<{\n change: [value: ModelType]\n open: [name: NameType]\n close: [name: NameType]\n toggle: [name: NameType, isOpen: boolean]\n}>()\n\nconst internalValue = shallowRef<ModelType>((props.defaultOpen ?? (props.multiple ? [] : null)) as ModelType)\n\nconst value = computed(() => (model.value !== undefined ? model.value : internalValue.value))\n\nfunction set(value: ModelType) {\n internalValue.value = value\n model.value = value\n emit('change', value)\n}\n\n// ── Core ─────────────────────────────────────────────────────────────────────\n\nfunction toggle(name: string) {\n if (props.multiple) {\n const current = (value.value as string[]) ?? []\n const opening = !current.includes(name)\n const next = opening ? [...current, name] : current.filter(n => n !== name)\n\n set(next as ModelType)\n emit('toggle', next as NameType, opening)\n opening ? emit('open', next as NameType) : emit('close', next as NameType)\n return\n }\n\n const opening = value.value !== name\n const next = (opening ? name : null) as ModelType\n\n set(next)\n emit('toggle', (opening ? name : null) as NameType, opening)\n opening ? emit('open', name as NameType) : emit('close', name as NameType)\n}\n\nfunction isOpen(name: string): boolean {\n if (props.multiple) {\n return ((value.value as string[]) ?? []).includes(name)\n }\n return value.value === name\n}\n\n// ── Expose ───────────────────────────────────────────────────────────────────\n\nfunction open(name: string) {\n if (isOpen(name)) {\n return\n }\n toggle(name)\n}\n\nfunction close(name: string) {\n if (!isOpen(name)) {\n return\n }\n toggle(name)\n}\n\nfunction openAll(names: string[]) {\n if (!props.multiple) {\n return\n }\n set(names as ModelType)\n emit('open', names as NameType)\n}\n\nfunction closeAll() {\n const next = (props.multiple ? [] : null) as ModelType\n set(next)\n emit('close', next as NameType)\n}\n\nprovide(ACCORDION_CONTEXT_KEY, { multiple: props.multiple ?? false, modelValue: value, toggle, isOpen })\n\ndefineExpose({\n open,\n close,\n toggle,\n isOpen,\n openAll,\n closeAll,\n})\n</script>\n\n<template>\n <div class=\"flex flex-col gap-2\">\n <slot />\n </div>\n</template>","<script lang=\"ts\">\nimport { computed, provide, shallowRef } from 'vue'\nimport { ACCORDION_CONTEXT_KEY } from './accordion.context'\nimport type { AccordionProps } from './accordion.props'\n</script>\n\n<script setup lang=\"ts\" generic=\"M extends boolean = false\">\ntype ModelType = M extends true ? string[] : string | null\ntype NameType = M extends true ? string[] : string\n\nconst props = defineProps<AccordionProps<M>>()\n\n/**\n * Controlled open state. Use `v-model` to bind reactively.\n * In single mode: the name of the open item, or `null` if none.\n * In multiple mode: an array of open item names.\n */\nconst model = defineModel<M extends true ? string[] : string | null>()\n\nconst emit = defineEmits<{\n change: [value: ModelType]\n open: [name: NameType]\n close: [name: NameType]\n toggle: [name: NameType, isOpen: boolean]\n}>()\n\nconst internalValue = shallowRef<ModelType>((props.defaultOpen ?? (props.multiple ? [] : null)) as ModelType)\n\nconst value = computed(() => (model.value !== undefined ? model.value : internalValue.value))\n\nfunction set(value: ModelType) {\n internalValue.value = value\n model.value = value\n emit('change', value)\n}\n\n// ── Core ─────────────────────────────────────────────────────────────────────\n\nfunction toggle(name: string) {\n if (props.multiple) {\n const current = (value.value as string[]) ?? []\n const opening = !current.includes(name)\n const next = opening ? [...current, name] : current.filter(n => n !== name)\n\n set(next as ModelType)\n emit('toggle', next as NameType, opening)\n opening ? emit('open', next as NameType) : emit('close', next as NameType)\n return\n }\n\n const opening = value.value !== name\n const next = (opening ? name : null) as ModelType\n\n set(next)\n emit('toggle', (opening ? name : null) as NameType, opening)\n opening ? emit('open', name as NameType) : emit('close', name as NameType)\n}\n\nfunction isOpen(name: string): boolean {\n if (props.multiple) {\n return ((value.value as string[]) ?? []).includes(name)\n }\n return value.value === name\n}\n\n// ── Expose ───────────────────────────────────────────────────────────────────\n\nfunction open(name: string) {\n if (isOpen(name)) {\n return\n }\n toggle(name)\n}\n\nfunction close(name: string) {\n if (!isOpen(name)) {\n return\n }\n toggle(name)\n}\n\nfunction openAll(names: string[]) {\n if (!props.multiple) {\n return\n }\n set(names as ModelType)\n emit('open', names as NameType)\n}\n\nfunction closeAll() {\n const next = (props.multiple ? [] : null) as ModelType\n set(next)\n emit('close', next as NameType)\n}\n\nprovide(ACCORDION_CONTEXT_KEY, { multiple: props.multiple ?? false, modelValue: value, toggle, isOpen })\n\ndefineExpose({\n open,\n close,\n toggle,\n isOpen,\n openAll,\n closeAll,\n})\n</script>\n\n<template>\n <div class=\"flex flex-col gap-2\">\n <slot />\n </div>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const ACCORDION_ITEM_CONFIG = createComponentConfigKey('accordionItem')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { ChevronDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed, inject } from 'vue'\nimport { ACCORDION_CONTEXT_KEY } from './accordion.context'\nimport { ACCORDION_ITEM_CONFIG } from './accordion-item.context'\nimport type { AccordionItemProps } from './accordion-item.props'\n</script>\n\n<script setup lang=\"ts\">\n\nconst props = defineProps<AccordionItemProps>()\nconst config = useComponentConfig(ACCORDION_ITEM_CONFIG, props, {\n icon: 'arrow',\n})\n\nconst emit = defineEmits<{\n open: []\n close: []\n toggle: [isOpen: boolean]\n}>()\n\nconst ctx = inject(ACCORDION_CONTEXT_KEY, null)\nconst isOpen = computed(() => ctx?.isOpen(props.name) ?? false)\n\nfunction toggle() {\n ctx?.toggle(props.name)\n const next = !isOpen.value\n\n emit('toggle', next)\n next ? emit('open') : emit('close')\n}\n\nfunction open() {\n if (!isOpen.value) {\n toggle()\n }\n}\n\nfunction close() {\n if (isOpen.value) {\n toggle()\n }\n}\n\nfunction requestFrame(callback: FrameRequestCallback) {\n requestAnimationFrame(callback)\n}\n\ndefineExpose({\n open,\n close,\n toggle,\n isOpen,\n})\n</script>\n\n<template>\n <div class=\"rounded-box border border-base-content/10 overflow-hidden\">\n\n <!-- Header -->\n <div\n class=\"flex items-center justify-between gap-3 px-4 py-3 cursor-pointer select-none bg-base-200 hover:bg-base-300 transition-colors\"\n @click=\"toggle\"\n >\n <div class=\"flex-1 min-w-0\">\n <slot name=\"title\" :is-open=\"isOpen\" />\n </div>\n\n <!-- Icon slot with fallback -->\n <slot name=\"icon\" :is-open=\"isOpen\">\n <PlusIcon\n v-if=\"config.icon === 'plus'\"\n class=\"size-4 opacity-50 transition-transform shrink-0\"\n :class=\"isOpen && 'rotate-45'\"\n />\n <ChevronDownIcon\n v-else\n class=\"size-4 opacity-50 transition-transform shrink-0\"\n :class=\"isOpen && 'rotate-180'\"\n />\n </slot>\n </div>\n\n <!-- Content -->\n <Transition\n name=\"accordion\"\n @enter=\"(el: any) => { el.style.maxHeight = el.scrollHeight + 'px' }\"\n @after-enter=\"(el: any) => { el.style.maxHeight = 'none' }\"\n @leave=\"(el: any) => { el.style.maxHeight = el.scrollHeight + 'px'; requestFrame(() => el.style.maxHeight = '0') }\"\n >\n <div v-if=\"isOpen\" class=\"px-4 py-3 bg-base-100\">\n <slot :is-open=\"isOpen\" />\n </div>\n </Transition>\n\n </div>\n</template>\n\n<style scoped>\n.accordion-enter-active,\n.accordion-leave-active {\n transition: max-height 0.2s ease, opacity 0.2s ease;\n overflow: hidden;\n}\n.accordion-enter-from,\n.accordion-leave-to {\n max-height: 0 !important;\n opacity: 0;\n}\n</style>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { ChevronDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed, inject } from 'vue'\nimport { ACCORDION_CONTEXT_KEY } from './accordion.context'\nimport { ACCORDION_ITEM_CONFIG } from './accordion-item.context'\nimport type { AccordionItemProps } from './accordion-item.props'\n</script>\n\n<script setup lang=\"ts\">\n\nconst props = defineProps<AccordionItemProps>()\nconst config = useComponentConfig(ACCORDION_ITEM_CONFIG, props, {\n icon: 'arrow',\n})\n\nconst emit = defineEmits<{\n open: []\n close: []\n toggle: [isOpen: boolean]\n}>()\n\nconst ctx = inject(ACCORDION_CONTEXT_KEY, null)\nconst isOpen = computed(() => ctx?.isOpen(props.name) ?? false)\n\nfunction toggle() {\n ctx?.toggle(props.name)\n const next = !isOpen.value\n\n emit('toggle', next)\n next ? emit('open') : emit('close')\n}\n\nfunction open() {\n if (!isOpen.value) {\n toggle()\n }\n}\n\nfunction close() {\n if (isOpen.value) {\n toggle()\n }\n}\n\nfunction requestFrame(callback: FrameRequestCallback) {\n requestAnimationFrame(callback)\n}\n\ndefineExpose({\n open,\n close,\n toggle,\n isOpen,\n})\n</script>\n\n<template>\n <div class=\"rounded-box border border-base-content/10 overflow-hidden\">\n\n <!-- Header -->\n <div\n class=\"flex items-center justify-between gap-3 px-4 py-3 cursor-pointer select-none bg-base-200 hover:bg-base-300 transition-colors\"\n @click=\"toggle\"\n >\n <div class=\"flex-1 min-w-0\">\n <slot name=\"title\" :is-open=\"isOpen\" />\n </div>\n\n <!-- Icon slot with fallback -->\n <slot name=\"icon\" :is-open=\"isOpen\">\n <PlusIcon\n v-if=\"config.icon === 'plus'\"\n class=\"size-4 opacity-50 transition-transform shrink-0\"\n :class=\"isOpen && 'rotate-45'\"\n />\n <ChevronDownIcon\n v-else\n class=\"size-4 opacity-50 transition-transform shrink-0\"\n :class=\"isOpen && 'rotate-180'\"\n />\n </slot>\n </div>\n\n <!-- Content -->\n <Transition\n name=\"accordion\"\n @enter=\"(el: any) => { el.style.maxHeight = el.scrollHeight + 'px' }\"\n @after-enter=\"(el: any) => { el.style.maxHeight = 'none' }\"\n @leave=\"(el: any) => { el.style.maxHeight = el.scrollHeight + 'px'; requestFrame(() => el.style.maxHeight = '0') }\"\n >\n <div v-if=\"isOpen\" class=\"px-4 py-3 bg-base-100\">\n <slot :is-open=\"isOpen\" />\n </div>\n </Transition>\n\n </div>\n</template>\n\n<style scoped>\n.accordion-enter-active,\n.accordion-leave-active {\n transition: max-height 0.2s ease, opacity 0.2s ease;\n overflow: hidden;\n}\n.accordion-enter-from,\n.accordion-leave-to {\n max-height: 0 !important;\n opacity: 0;\n}\n</style>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const AVATAR_CONFIG = createComponentConfigKey('avatar')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { AVATAR_CONFIG } from './avatar.context'\nimport type { AvatarProps } from './avatar.props'\nimport type { AvatarPresence, AvatarSize } from './avatar.types'\n\nconst avatarSizes: Record<AvatarSize, `w-${number}`> = {\n xs: 'w-8',\n sm: 'w-16',\n md: 'w-20',\n lg: 'w-24',\n xl: 'w-32',\n}\n\nconst avatarPresences: ComponentClass<'avatar', AvatarPresence> = {\n online: 'avatar-online',\n offline: 'avatar-offline',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<AvatarProps>()\nconst config = useComponentConfig(AVATAR_CONFIG, props, {\n shape: 'rounded-full',\n})\n</script>\n\n<template>\n <!-- Group mode -->\n <div\n v-if=\"group\"\n class=\"avatar-group -space-x-6\"\n >\n <slot />\n </div>\n\n <!-- Avatar mode -->\n <div\n v-else\n class=\"avatar\"\n :class=\"[\n getClass(avatarPresences, config.presence),\n placeholder && 'avatar-placeholder',\n ]\"\n >\n <div\n :class=\"[\n getClass(avatarSizes, config.size),\n config.shape,\n ]\"\n >\n <slot />\n </div>\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { AVATAR_CONFIG } from './avatar.context'\nimport type { AvatarProps } from './avatar.props'\nimport type { AvatarPresence, AvatarSize } from './avatar.types'\n\nconst avatarSizes: Record<AvatarSize, `w-${number}`> = {\n xs: 'w-8',\n sm: 'w-16',\n md: 'w-20',\n lg: 'w-24',\n xl: 'w-32',\n}\n\nconst avatarPresences: ComponentClass<'avatar', AvatarPresence> = {\n online: 'avatar-online',\n offline: 'avatar-offline',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<AvatarProps>()\nconst config = useComponentConfig(AVATAR_CONFIG, props, {\n shape: 'rounded-full',\n})\n</script>\n\n<template>\n <!-- Group mode -->\n <div\n v-if=\"group\"\n class=\"avatar-group -space-x-6\"\n >\n <slot />\n </div>\n\n <!-- Avatar mode -->\n <div\n v-else\n class=\"avatar\"\n :class=\"[\n getClass(avatarPresences, config.presence),\n placeholder && 'avatar-placeholder',\n ]\"\n >\n <div\n :class=\"[\n getClass(avatarSizes, config.size),\n config.shape,\n ]\"\n >\n <slot />\n </div>\n </div>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const BADGE_CONFIG = createComponentConfigKey('badge')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { BADGE_CONFIG } from './badge.context'\nimport type { BadgeProps } from './badge.props'\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './badge.types'\n\nconst badgeColors: ComponentClass<'badge', BadgeColor> = {\n neutral: 'badge-neutral',\n primary: 'badge-primary',\n secondary: 'badge-secondary',\n accent: 'badge-accent',\n info: 'badge-info',\n success: 'badge-success',\n warning: 'badge-warning',\n error: 'badge-error',\n}\n\nconst badgeVariants: ComponentClass<'badge', BadgeVariant> = {\n outline: 'badge-outline',\n soft: 'badge-soft',\n dash: 'badge-dash',\n}\n\nconst badgeSizes: ComponentClass<'badge', BadgeSize> = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n md: 'badge-md',\n lg: 'badge-lg',\n xl: 'badge-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<BadgeProps>()\nconst config = useComponentConfig(BADGE_CONFIG, props, {})\n</script>\n\n<template>\n <span\n class=\"badge\"\n :class=\"[\n getClass(badgeColors, config.color),\n getClass(badgeVariants, config.variant),\n getClass(badgeSizes, config.size),\n ]\"\n >\n <slot />\n </span>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { BADGE_CONFIG } from './badge.context'\nimport type { BadgeProps } from './badge.props'\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './badge.types'\n\nconst badgeColors: ComponentClass<'badge', BadgeColor> = {\n neutral: 'badge-neutral',\n primary: 'badge-primary',\n secondary: 'badge-secondary',\n accent: 'badge-accent',\n info: 'badge-info',\n success: 'badge-success',\n warning: 'badge-warning',\n error: 'badge-error',\n}\n\nconst badgeVariants: ComponentClass<'badge', BadgeVariant> = {\n outline: 'badge-outline',\n soft: 'badge-soft',\n dash: 'badge-dash',\n}\n\nconst badgeSizes: ComponentClass<'badge', BadgeSize> = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n md: 'badge-md',\n lg: 'badge-lg',\n xl: 'badge-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<BadgeProps>()\nconst config = useComponentConfig(BADGE_CONFIG, props, {})\n</script>\n\n<template>\n <span\n class=\"badge\"\n :class=\"[\n getClass(badgeColors, config.color),\n getClass(badgeVariants, config.variant),\n getClass(badgeSizes, config.size),\n ]\"\n >\n <slot />\n </span>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const CARD_CONFIG = createComponentConfigKey('card')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CARD_CONFIG } from './card.context'\nimport type { CardProps } from './card.props'\nimport type { CardSize, CardVariant } from './card.types'\n\nconst cardVariants: ComponentClass<'card', CardVariant> = {\n border: 'card-border',\n dash: 'card-dash',\n}\n\nconst cardSizes: ComponentClass<'card', CardSize> = {\n xs: 'card-xs',\n sm: 'card-sm',\n md: 'card-md',\n lg: 'card-lg',\n xl: 'card-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CardProps>()\nconst config = useComponentConfig(CARD_CONFIG, props, {})\n</script>\n\n<template>\n <div\n class=\"card bg-base-100\"\n :class=\"[\n getClass(cardVariants, config.variant),\n getClass(cardSizes, config.size),\n config.side && 'card-side',\n config.imageFull && 'image-full',\n ]\"\n >\n <slot />\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CARD_CONFIG } from './card.context'\nimport type { CardProps } from './card.props'\nimport type { CardSize, CardVariant } from './card.types'\n\nconst cardVariants: ComponentClass<'card', CardVariant> = {\n border: 'card-border',\n dash: 'card-dash',\n}\n\nconst cardSizes: ComponentClass<'card', CardSize> = {\n xs: 'card-xs',\n sm: 'card-sm',\n md: 'card-md',\n lg: 'card-lg',\n xl: 'card-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CardProps>()\nconst config = useComponentConfig(CARD_CONFIG, props, {})\n</script>\n\n<template>\n <div\n class=\"card bg-base-100\"\n :class=\"[\n getClass(cardVariants, config.variant),\n getClass(cardSizes, config.size),\n config.side && 'card-side',\n config.imageFull && 'image-full',\n ]\"\n >\n <slot />\n </div>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const CARD_ACTIONS_CONFIG = createComponentConfigKey('cardActions')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CARD_ACTIONS_CONFIG } from './card-actions.context'\nimport type { CardActionsProps } from './card-actions.props'\nimport type { CardActionsAlign } from './card-actions.types'\n\nconst cardActionsAligns: ComponentClass<'justify', CardActionsAlign> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CardActionsProps>()\nconst config = useComponentConfig(CARD_ACTIONS_CONFIG, props, {\n align: 'start',\n})\n</script>\n\n<template>\n <div\n class=\"card-actions\"\n :class=\"getClass(cardActionsAligns, config.align)\"\n >\n <slot />\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CARD_ACTIONS_CONFIG } from './card-actions.context'\nimport type { CardActionsProps } from './card-actions.props'\nimport type { CardActionsAlign } from './card-actions.types'\n\nconst cardActionsAligns: ComponentClass<'justify', CardActionsAlign> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CardActionsProps>()\nconst config = useComponentConfig(CARD_ACTIONS_CONFIG, props, {\n align: 'start',\n})\n</script>\n\n<template>\n <div\n class=\"card-actions\"\n :class=\"getClass(cardActionsAligns, config.align)\"\n >\n <slot />\n </div>\n</template>","<template>\n <div class=\"card-body\">\n <slot />\n </div>\n</template>","<template>\n <h2 class=\"card-title\">\n <slot />\n </h2>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const CAROUSEL_CONFIG = createComponentConfigKey('carousel')\n","<script lang=\"ts\">\nimport ClassWrapper from '@/components/ClassWrapper.vue'\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { getClass } from '@/utils/build-class.util'\nimport { computed, onMounted, onUnmounted, shallowRef, useTemplateRef } from 'vue'\nimport { CAROUSEL_CONFIG } from './carousel.context'\nimport type { CarouselProps } from './carousel.props'\nimport type { CarouselDirection, CarouselSnap } from './carousel.types'\n\nconst directionClasses: Record<CarouselDirection, string> = {\n horizontal: '',\n vertical: 'carousel-vertical',\n}\n\nconst snapClasses: Record<CarouselSnap, string> = {\n start: 'carousel-start',\n center: 'carousel-center',\n end: 'carousel-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CarouselProps>()\nconst config = useComponentConfig(CAROUSEL_CONFIG, props, {\n direction: 'horizontal',\n snap: 'start',\n indicators: false,\n controls: false,\n autoplay: false,\n interval: 3000,\n initialIndex: 0,\n})\n\nconst carouselRef = useTemplateRef('carouselRef')\nconst currentIndex = shallowRef(props.initialIndex ?? 0)\nlet autoplayTimer: ReturnType<typeof setInterval> | null = null\n\nconst isVertical = computed(() => config.value.direction === 'vertical')\n\nfunction getItemCount(): number {\n if (!carouselRef.value) {\n return 0\n }\n\n return carouselRef.value.querySelectorAll('.carousel-item').length\n}\n\nfunction getItems(): HTMLElement[] {\n if (!carouselRef.value) {\n return []\n }\n\n return Array.from(carouselRef.value.querySelectorAll('.carousel-item')) as HTMLElement[]\n}\n\nfunction scrollTo(index: number) {\n const items = getItems()\n if (!items.length || index < 0 || index >= items.length) {\n return\n }\n\n items[index].scrollIntoView({\n behavior: 'smooth',\n block: isVertical.value ? 'nearest' : undefined,\n inline: isVertical.value ? undefined : 'nearest',\n })\n currentIndex.value = index\n}\n\nfunction goTo(index: number) {\n const count = getItemCount()\n if (count === 0) {\n return\n }\n\n const target = index % count\n scrollTo(target < 0 ? count + target : target)\n}\n\nfunction next() {\n goTo(currentIndex.value + 1)\n}\n\nfunction prev() {\n goTo(currentIndex.value - 1)\n}\n\nfunction startAutoplay() {\n if (autoplayTimer) {\n clearInterval(autoplayTimer)\n }\n\n if (config.value.autoplay && getItemCount() > 1) {\n autoplayTimer = setInterval(next, config.value.interval)\n }\n}\n\nfunction stopAutoplay() {\n if (autoplayTimer) {\n clearInterval(autoplayTimer)\n autoplayTimer = null\n }\n}\n\nconst count = computed(() => getItemCount())\n\nonMounted(() => {\n startAutoplay()\n})\n\nonUnmounted(() => {\n stopAutoplay()\n})\n</script>\n\n<template>\n <div\n ref=\"carouselRef\"\n class=\"carousel w-full\"\n :class=\"[\n getClass(directionClasses, config.direction),\n getClass(snapClasses, config.snap),\n ]\"\n @mouseenter=\"stopAutoplay\"\n @mouseleave=\"startAutoplay\"\n >\n <ClassWrapper class=\"carousel-item w-full\">\n <slot />\n </ClassWrapper>\n\n <template v-if=\"config.indicators && count > 1\">\n <div class=\"carousel-indicators absolute bottom-4 left-4 flex gap-2\">\n <button\n v-for=\"(_, index) in count\"\n :key=\"index\"\n class=\"carousel-indicator btn btn-xs btn-circle\"\n :class=\"{ 'btn-active': currentIndex === index }\"\n @click=\"goTo(index)\"\n />\n </div>\n </template>\n </div>\n\n <template v-if=\"config.controls && count > 1\">\n <button class=\"carousel-control carousel-prev absolute left-4 top-1/2 -translate-y-1/2 btn btn-circle\" @click=\"prev\">\n <slot name=\"prev-icon\">\n <ChevronLeftIcon class=\"size-6\" />\n </slot>\n </button>\n <button class=\"carousel-control carousel-next absolute right-4 top-1/2 -translate-y-1/2 btn btn-circle\" @click=\"next\">\n <slot name=\"next-icon\">\n <ChevronRightIcon class=\"size-6\" />\n </slot>\n </button>\n </template>\n</template>\n","<script lang=\"ts\">\nimport ClassWrapper from '@/components/ClassWrapper.vue'\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { getClass } from '@/utils/build-class.util'\nimport { computed, onMounted, onUnmounted, shallowRef, useTemplateRef } from 'vue'\nimport { CAROUSEL_CONFIG } from './carousel.context'\nimport type { CarouselProps } from './carousel.props'\nimport type { CarouselDirection, CarouselSnap } from './carousel.types'\n\nconst directionClasses: Record<CarouselDirection, string> = {\n horizontal: '',\n vertical: 'carousel-vertical',\n}\n\nconst snapClasses: Record<CarouselSnap, string> = {\n start: 'carousel-start',\n center: 'carousel-center',\n end: 'carousel-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CarouselProps>()\nconst config = useComponentConfig(CAROUSEL_CONFIG, props, {\n direction: 'horizontal',\n snap: 'start',\n indicators: false,\n controls: false,\n autoplay: false,\n interval: 3000,\n initialIndex: 0,\n})\n\nconst carouselRef = useTemplateRef('carouselRef')\nconst currentIndex = shallowRef(props.initialIndex ?? 0)\nlet autoplayTimer: ReturnType<typeof setInterval> | null = null\n\nconst isVertical = computed(() => config.value.direction === 'vertical')\n\nfunction getItemCount(): number {\n if (!carouselRef.value) {\n return 0\n }\n\n return carouselRef.value.querySelectorAll('.carousel-item').length\n}\n\nfunction getItems(): HTMLElement[] {\n if (!carouselRef.value) {\n return []\n }\n\n return Array.from(carouselRef.value.querySelectorAll('.carousel-item')) as HTMLElement[]\n}\n\nfunction scrollTo(index: number) {\n const items = getItems()\n if (!items.length || index < 0 || index >= items.length) {\n return\n }\n\n items[index].scrollIntoView({\n behavior: 'smooth',\n block: isVertical.value ? 'nearest' : undefined,\n inline: isVertical.value ? undefined : 'nearest',\n })\n currentIndex.value = index\n}\n\nfunction goTo(index: number) {\n const count = getItemCount()\n if (count === 0) {\n return\n }\n\n const target = index % count\n scrollTo(target < 0 ? count + target : target)\n}\n\nfunction next() {\n goTo(currentIndex.value + 1)\n}\n\nfunction prev() {\n goTo(currentIndex.value - 1)\n}\n\nfunction startAutoplay() {\n if (autoplayTimer) {\n clearInterval(autoplayTimer)\n }\n\n if (config.value.autoplay && getItemCount() > 1) {\n autoplayTimer = setInterval(next, config.value.interval)\n }\n}\n\nfunction stopAutoplay() {\n if (autoplayTimer) {\n clearInterval(autoplayTimer)\n autoplayTimer = null\n }\n}\n\nconst count = computed(() => getItemCount())\n\nonMounted(() => {\n startAutoplay()\n})\n\nonUnmounted(() => {\n stopAutoplay()\n})\n</script>\n\n<template>\n <div\n ref=\"carouselRef\"\n class=\"carousel w-full\"\n :class=\"[\n getClass(directionClasses, config.direction),\n getClass(snapClasses, config.snap),\n ]\"\n @mouseenter=\"stopAutoplay\"\n @mouseleave=\"startAutoplay\"\n >\n <ClassWrapper class=\"carousel-item w-full\">\n <slot />\n </ClassWrapper>\n\n <template v-if=\"config.indicators && count > 1\">\n <div class=\"carousel-indicators absolute bottom-4 left-4 flex gap-2\">\n <button\n v-for=\"(_, index) in count\"\n :key=\"index\"\n class=\"carousel-indicator btn btn-xs btn-circle\"\n :class=\"{ 'btn-active': currentIndex === index }\"\n @click=\"goTo(index)\"\n />\n </div>\n </template>\n </div>\n\n <template v-if=\"config.controls && count > 1\">\n <button class=\"carousel-control carousel-prev absolute left-4 top-1/2 -translate-y-1/2 btn btn-circle\" @click=\"prev\">\n <slot name=\"prev-icon\">\n <ChevronLeftIcon class=\"size-6\" />\n </slot>\n </button>\n <button class=\"carousel-control carousel-next absolute right-4 top-1/2 -translate-y-1/2 btn btn-circle\" @click=\"next\">\n <slot name=\"next-icon\">\n <ChevronRightIcon class=\"size-6\" />\n </slot>\n </button>\n </template>\n</template>\n","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const CHAT_CONFIG = createComponentConfigKey('chat')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CHAT_CONFIG } from './chat.context'\nimport type { ChatProps } from './chat.props'\nimport type { ChatColor } from './chat.types'\n\nconst chatColors: ComponentClass<'chat-bubble', ChatColor> = {\n neutral: 'chat-bubble-neutral',\n primary: 'chat-bubble-primary',\n secondary: 'chat-bubble-secondary',\n accent: 'chat-bubble-accent',\n info: 'chat-bubble-info',\n success: 'chat-bubble-success',\n warning: 'chat-bubble-warning',\n error: 'chat-bubble-error',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<ChatProps>()\nconst config = useComponentConfig(CHAT_CONFIG, props, {\n side: 'start',\n})\n</script>\n\n<template>\n <div\n class=\"chat\"\n :class=\"config.side === 'end' ? 'chat-end' : 'chat-start'\"\n >\n <div v-if=\"$slots.image\" class=\"chat-image\">\n <slot name=\"image\" />\n </div>\n\n <div v-if=\"$slots.header\" class=\"chat-header\">\n <slot name=\"header\" />\n </div>\n\n <div\n class=\"chat-bubble\"\n :class=\"getClass(chatColors, config.color)\"\n >\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" class=\"chat-footer\">\n <slot name=\"footer\" />\n </div>\n\n <div v-if=\"$slots.meta\" class=\"chat-meta\">\n <slot name=\"meta\" />\n </div>\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { CHAT_CONFIG } from './chat.context'\nimport type { ChatProps } from './chat.props'\nimport type { ChatColor } from './chat.types'\n\nconst chatColors: ComponentClass<'chat-bubble', ChatColor> = {\n neutral: 'chat-bubble-neutral',\n primary: 'chat-bubble-primary',\n secondary: 'chat-bubble-secondary',\n accent: 'chat-bubble-accent',\n info: 'chat-bubble-info',\n success: 'chat-bubble-success',\n warning: 'chat-bubble-warning',\n error: 'chat-bubble-error',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<ChatProps>()\nconst config = useComponentConfig(CHAT_CONFIG, props, {\n side: 'start',\n})\n</script>\n\n<template>\n <div\n class=\"chat\"\n :class=\"config.side === 'end' ? 'chat-end' : 'chat-start'\"\n >\n <div v-if=\"$slots.image\" class=\"chat-image\">\n <slot name=\"image\" />\n </div>\n\n <div v-if=\"$slots.header\" class=\"chat-header\">\n <slot name=\"header\" />\n </div>\n\n <div\n class=\"chat-bubble\"\n :class=\"getClass(chatColors, config.color)\"\n >\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" class=\"chat-footer\">\n <slot name=\"footer\" />\n </div>\n\n <div v-if=\"$slots.meta\" class=\"chat-meta\">\n <slot name=\"meta\" />\n </div>\n </div>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const COUNTDOWN_CONFIG = createComponentConfigKey('countdown')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport { COUNTDOWN_CONFIG } from './countdown.context'\nimport type { CountdownProps } from './countdown.props'\nimport type { CountdownDelta, CountdownTarget } from './countdown.types'\n\n/**\n * Converts any supported CountdownTarget to a Unix timestamp in ms.\n */\nfunction toTimestamp(to: CountdownTarget): number {\n // Native Date\n if (to instanceof Date) return to.getTime()\n\n // String or number\n if (typeof to === 'string' || typeof to === 'number') return new Date(to).getTime()\n\n // Temporal API (feature detection via duck typing)\n if (typeof to === 'object' && to !== null) {\n // Temporal.Instant — has epochMilliseconds\n if ('epochMilliseconds' in to) return (to as Temporal.Instant).epochMilliseconds\n\n // Temporal.ZonedDateTime — has epochMilliseconds\n if ('epochMilliseconds' in to && 'timeZoneId' in to) return (to as Temporal.ZonedDateTime).epochMilliseconds\n\n // Temporal.PlainDateTime — no timezone, convert via Temporal.Now.timeZoneId\n if ('toZonedDateTime' in to) {\n const zdt = (to as Temporal.PlainDateTime).toZonedDateTime(\n typeof Temporal !== 'undefined' ? Temporal.Now.timeZoneId() : 'UTC',\n )\n return zdt.epochMilliseconds\n }\n }\n\n return Number.NaN\n}\n\nfunction getDelta(targetMs: number): CountdownDelta {\n const diff = Math.max(0, targetMs - Date.now())\n return {\n days: Math.floor(diff / 1000 / 60 / 60 / 24),\n hours: Math.floor(diff / 1000 / 60 / 60) % 24,\n minutes: Math.floor(diff / 1000 / 60) % 60,\n seconds: Math.floor(diff / 1000) % 60,\n done: diff === 0,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CountdownProps>()\nconst config = useComponentConfig(COUNTDOWN_CONFIG, props, { digits: 2 })\n\nconst digits = computed(() => config.value.digits)\n\nconst emit = defineEmits<{\n /**\n * Emitted once when the countdown reaches zero.\n */\n end: []\n}>()\n\nconst targetMs = computed(() => toTimestamp(props.to))\nconst delta = ref<CountdownDelta>(getDelta(targetMs.value))\n\nlet interval: ReturnType<typeof setInterval> | undefined\n\nfunction stop() {\n if (interval !== undefined) {\n clearInterval(interval)\n interval = undefined\n }\n}\n\nfunction start() {\n stop()\n interval = setInterval(() => {\n delta.value = getDelta(targetMs.value)\n if (delta.value.done) {\n stop()\n emit('end')\n }\n }, 500)\n}\n\nwatch(targetMs, () => {\n delta.value = getDelta(targetMs.value)\n start()\n}, { immediate: true })\n\nonUnmounted(stop)\n\ndefineExpose({ delta })\n</script>\n\n<template>\n <slot\n :days=\"delta.days\"\n :hours=\"delta.hours\"\n :minutes=\"delta.minutes\"\n :seconds=\"delta.seconds\"\n :done=\"delta.done\"\n :digits=\"digits\"\n >\n <!-- Default render: hh:mm:ss -->\n <span class=\"countdown font-mono text-2xl\">\n <span :style=\"{ '--value': delta.hours, '--digits': digits }\" :aria-label=\"String(delta.hours)\">{{ delta.hours }}</span>\n :\n <span :style=\"{ '--value': delta.minutes, '--digits': digits }\" :aria-label=\"String(delta.minutes)\">{{ delta.minutes }}</span>\n :\n <span :style=\"{ '--value': delta.seconds, '--digits': digits }\" :aria-label=\"String(delta.seconds)\">{{ delta.seconds }}</span>\n </span>\n </slot>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport { COUNTDOWN_CONFIG } from './countdown.context'\nimport type { CountdownProps } from './countdown.props'\nimport type { CountdownDelta, CountdownTarget } from './countdown.types'\n\n/**\n * Converts any supported CountdownTarget to a Unix timestamp in ms.\n */\nfunction toTimestamp(to: CountdownTarget): number {\n // Native Date\n if (to instanceof Date) return to.getTime()\n\n // String or number\n if (typeof to === 'string' || typeof to === 'number') return new Date(to).getTime()\n\n // Temporal API (feature detection via duck typing)\n if (typeof to === 'object' && to !== null) {\n // Temporal.Instant — has epochMilliseconds\n if ('epochMilliseconds' in to) return (to as Temporal.Instant).epochMilliseconds\n\n // Temporal.ZonedDateTime — has epochMilliseconds\n if ('epochMilliseconds' in to && 'timeZoneId' in to) return (to as Temporal.ZonedDateTime).epochMilliseconds\n\n // Temporal.PlainDateTime — no timezone, convert via Temporal.Now.timeZoneId\n if ('toZonedDateTime' in to) {\n const zdt = (to as Temporal.PlainDateTime).toZonedDateTime(\n typeof Temporal !== 'undefined' ? Temporal.Now.timeZoneId() : 'UTC',\n )\n return zdt.epochMilliseconds\n }\n }\n\n return Number.NaN\n}\n\nfunction getDelta(targetMs: number): CountdownDelta {\n const diff = Math.max(0, targetMs - Date.now())\n return {\n days: Math.floor(diff / 1000 / 60 / 60 / 24),\n hours: Math.floor(diff / 1000 / 60 / 60) % 24,\n minutes: Math.floor(diff / 1000 / 60) % 60,\n seconds: Math.floor(diff / 1000) % 60,\n done: diff === 0,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<CountdownProps>()\nconst config = useComponentConfig(COUNTDOWN_CONFIG, props, { digits: 2 })\n\nconst digits = computed(() => config.value.digits)\n\nconst emit = defineEmits<{\n /**\n * Emitted once when the countdown reaches zero.\n */\n end: []\n}>()\n\nconst targetMs = computed(() => toTimestamp(props.to))\nconst delta = ref<CountdownDelta>(getDelta(targetMs.value))\n\nlet interval: ReturnType<typeof setInterval> | undefined\n\nfunction stop() {\n if (interval !== undefined) {\n clearInterval(interval)\n interval = undefined\n }\n}\n\nfunction start() {\n stop()\n interval = setInterval(() => {\n delta.value = getDelta(targetMs.value)\n if (delta.value.done) {\n stop()\n emit('end')\n }\n }, 500)\n}\n\nwatch(targetMs, () => {\n delta.value = getDelta(targetMs.value)\n start()\n}, { immediate: true })\n\nonUnmounted(stop)\n\ndefineExpose({ delta })\n</script>\n\n<template>\n <slot\n :days=\"delta.days\"\n :hours=\"delta.hours\"\n :minutes=\"delta.minutes\"\n :seconds=\"delta.seconds\"\n :done=\"delta.done\"\n :digits=\"digits\"\n >\n <!-- Default render: hh:mm:ss -->\n <span class=\"countdown font-mono text-2xl\">\n <span :style=\"{ '--value': delta.hours, '--digits': digits }\" :aria-label=\"String(delta.hours)\">{{ delta.hours }}</span>\n :\n <span :style=\"{ '--value': delta.minutes, '--digits': digits }\" :aria-label=\"String(delta.minutes)\">{{ delta.minutes }}</span>\n :\n <span :style=\"{ '--value': delta.seconds, '--digits': digits }\" :aria-label=\"String(delta.seconds)\">{{ delta.seconds }}</span>\n </span>\n </slot>\n</template>","<script setup lang=\"ts\"></script>\n\n<template>\n <figure class=\"diff\" tabindex=\"0\">\n <div class=\"diff-item-1\" role=\"img\" tabindex=\"0\">\n <slot name=\"item-1\"></slot>\n </div>\n <div class=\"diff-item-2\" role=\"img\">\n <slot name=\"item-2\"></slot>\n </div>\n <div class=\"diff-resizer\"></div>\n </figure>\n</template>","<script lang=\"ts\">\nimport { computed } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport type { Hover3dProps } from './hover-3d.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<Hover3dProps>()\n\nconst tag = computed(() => props.to ?\n props.to === '#' \n ? 'a'\n : RouterLink \n : 'div')\n\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to\n }\n }\n if (tag.value === 'div') {\n return {}\n }\n return {\n to: props.to\n }\n})\n</script>\n\n<template>\n <component :is=\"tag\" class=\"hover-3d\" v-bind=\"attr\">\n <slot />\n <!-- 8 empty divs required for the 3D zone detection -->\n <div v-for=\"i in 8\" :key=\"i\" />\n </component>\n</template>","<script lang=\"ts\">\nimport { computed } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport type { Hover3dProps } from './hover-3d.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<Hover3dProps>()\n\nconst tag = computed(() => props.to ?\n props.to === '#' \n ? 'a'\n : RouterLink \n : 'div')\n\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to\n }\n }\n if (tag.value === 'div') {\n return {}\n }\n return {\n to: props.to\n }\n})\n</script>\n\n<template>\n <component :is=\"tag\" class=\"hover-3d\" v-bind=\"attr\">\n <slot />\n <!-- 8 empty divs required for the 3D zone detection -->\n <div v-for=\"i in 8\" :key=\"i\" />\n </component>\n</template>","<template>\n <figure class=\"hover-gallery\">\n <slot />\n </figure>\n</template>\n","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const KBD_CONFIG = createComponentConfigKey('kbd')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { KBD_CONFIG } from './kbd.context'\nimport type { KbdProps } from './kbd.props'\nimport type { KbdSize } from './kbd.types'\n\nconst kbdSizes: ComponentClass<'kbd', KbdSize> = {\n xs: 'kbd-xs',\n sm: 'kbd-sm',\n md: 'kbd-md',\n lg: 'kbd-lg',\n xl: 'kbd-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<KbdProps>()\nconst config = useComponentConfig(KBD_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <kbd\n class=\"kbd\"\n :class=\"getClass(kbdSizes, config.size)\"\n >\n <slot />\n </kbd>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { KBD_CONFIG } from './kbd.context'\nimport type { KbdProps } from './kbd.props'\nimport type { KbdSize } from './kbd.types'\n\nconst kbdSizes: ComponentClass<'kbd', KbdSize> = {\n xs: 'kbd-xs',\n sm: 'kbd-sm',\n md: 'kbd-md',\n lg: 'kbd-lg',\n xl: 'kbd-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<KbdProps>()\nconst config = useComponentConfig(KBD_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <kbd\n class=\"kbd\"\n :class=\"getClass(kbdSizes, config.size)\"\n >\n <slot />\n </kbd>\n</template>","<script setup lang=\"ts\">\nimport type { ListProps } from './list.props'\n\ndefineProps<ListProps>()\n</script>\n\n<template>\n <ul class=\"list bg-base-100 rounded-box\">\n <li v-if=\"title || $slots.title\" class=\"p-4 pb-2 text-xs opacity-60 tracking-wide\">\n <slot name=\"title\">{{ title }}</slot>\n </li>\n <slot />\n </ul>\n</template>","<script setup lang=\"ts\">\nimport type { ListProps } from './list.props'\n\ndefineProps<ListProps>()\n</script>\n\n<template>\n <ul class=\"list bg-base-100 rounded-box\">\n <li v-if=\"title || $slots.title\" class=\"p-4 pb-2 text-xs opacity-60 tracking-wide\">\n <slot name=\"title\">{{ title }}</slot>\n </li>\n <slot />\n </ul>\n</template>","<script lang=\"ts\">\nimport { computed, useSlots } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport type { ListItemProps } from './list-item.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<ListItemProps>()\n\nconst tag = computed(() => props.to ? props.to === '#' ? 'a' : RouterLink : 'li')\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to\n }\n }\n if (tag.value === 'li') {\n return {}\n }\n return {\n to: props.to\n }\n})\n\nconst slots = useSlots()\nconst hasContent = computed(() => !!props.title || !!props.description || !!slots.title || !!slots.description)\n</script>\n\n<template>\n <component\n :is=\"tag\"\n class=\"list-row\"\n v-bind=\"attr\"\n >\n <slot name=\"prefix\" />\n\n <div v-if=\"hasContent\" class=\"list-col-grow\">\n <slot name=\"title\">\n <div>{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div class=\"text-xs uppercase font-semibold opacity-60\">{{ description }}</div>\n </slot>\n </div>\n <slot v-else />\n\n <div v-if=\"$slots.details\" class=\"list-col-wrap text-xs opacity-60\">\n <slot name=\"details\" />\n </div>\n\n <slot name=\"actions\" />\n </component>\n</template>","<script lang=\"ts\">\nimport { computed, useSlots } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport type { ListItemProps } from './list-item.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<ListItemProps>()\n\nconst tag = computed(() => props.to ? props.to === '#' ? 'a' : RouterLink : 'li')\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to\n }\n }\n if (tag.value === 'li') {\n return {}\n }\n return {\n to: props.to\n }\n})\n\nconst slots = useSlots()\nconst hasContent = computed(() => !!props.title || !!props.description || !!slots.title || !!slots.description)\n</script>\n\n<template>\n <component\n :is=\"tag\"\n class=\"list-row\"\n v-bind=\"attr\"\n >\n <slot name=\"prefix\" />\n\n <div v-if=\"hasContent\" class=\"list-col-grow\">\n <slot name=\"title\">\n <div>{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div class=\"text-xs uppercase font-semibold opacity-60\">{{ description }}</div>\n </slot>\n </div>\n <slot v-else />\n\n <div v-if=\"$slots.details\" class=\"list-col-wrap text-xs opacity-60\">\n <slot name=\"details\" />\n </div>\n\n <slot name=\"actions\" />\n </component>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const STAT_CONFIG = createComponentConfigKey('stat')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STAT_CONFIG } from './stat.context'\nimport type { StatProps } from './stat.props'\nimport type { StatAlign } from './stat.types'\n\nconst statAligns: ComponentClass<'place-items', StatAlign> = {\n start: 'place-items-start',\n center: 'place-items-center',\n end: 'place-items-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatProps>()\nconst config = useComponentConfig(STAT_CONFIG, props, {})\n</script>\n\n<template>\n <div\n class=\"stat\"\n :class=\"getClass(statAligns, config.align)\"\n >\n <div v-if=\"$slots.figure\" class=\"stat-figure\" :class=\"figureClass\">\n <slot name=\"figure\" />\n </div>\n <div v-if=\"title || $slots.title\" class=\"stat-title\" :class=\"titleClass\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"value !== undefined || $slots.value\" class=\"stat-value\" :class=\"valueClass\">\n <slot name=\"value\">{{ value }}</slot>\n </div>\n <div v-if=\"desc || $slots.desc\" class=\"stat-desc\" :class=\"descClass\">\n <slot name=\"desc\">{{ desc }}</slot>\n </div>\n <div v-if=\"$slots.actions\" class=\"stat-actions\" :class=\"actionsClass\">\n <slot name=\"actions\" />\n </div>\n <slot />\n </div>\n</template>\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STAT_CONFIG } from './stat.context'\nimport type { StatProps } from './stat.props'\nimport type { StatAlign } from './stat.types'\n\nconst statAligns: ComponentClass<'place-items', StatAlign> = {\n start: 'place-items-start',\n center: 'place-items-center',\n end: 'place-items-end',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatProps>()\nconst config = useComponentConfig(STAT_CONFIG, props, {})\n</script>\n\n<template>\n <div\n class=\"stat\"\n :class=\"getClass(statAligns, config.align)\"\n >\n <div v-if=\"$slots.figure\" class=\"stat-figure\" :class=\"figureClass\">\n <slot name=\"figure\" />\n </div>\n <div v-if=\"title || $slots.title\" class=\"stat-title\" :class=\"titleClass\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"value !== undefined || $slots.value\" class=\"stat-value\" :class=\"valueClass\">\n <slot name=\"value\">{{ value }}</slot>\n </div>\n <div v-if=\"desc || $slots.desc\" class=\"stat-desc\" :class=\"descClass\">\n <slot name=\"desc\">{{ desc }}</slot>\n </div>\n <div v-if=\"$slots.actions\" class=\"stat-actions\" :class=\"actionsClass\">\n <slot name=\"actions\" />\n </div>\n <slot />\n </div>\n</template>\n","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const STATS_CONFIG = createComponentConfigKey('stats')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STATS_CONFIG } from './stats.context'\nimport type { StatsProps } from './stats.props'\nimport type { StatsDirection } from './stats.types'\n\nconst statsDirections: ComponentClass<'stats', StatsDirection> = {\n horizontal: 'stats-horizontal',\n vertical: 'stats-vertical',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatsProps>()\nconst config = useComponentConfig(STATS_CONFIG, props, {\n direction: 'horizontal',\n})\n</script>\n\n<template>\n <div\n class=\"stats\"\n :class=\"getClass(statsDirections, config.direction)\"\n >\n <slot />\n </div>\n</template>\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STATS_CONFIG } from './stats.context'\nimport type { StatsProps } from './stats.props'\nimport type { StatsDirection } from './stats.types'\n\nconst statsDirections: ComponentClass<'stats', StatsDirection> = {\n horizontal: 'stats-horizontal',\n vertical: 'stats-vertical',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatsProps>()\nconst config = useComponentConfig(STATS_CONFIG, props, {\n direction: 'horizontal',\n})\n</script>\n\n<template>\n <div\n class=\"stats\"\n :class=\"getClass(statsDirections, config.direction)\"\n >\n <slot />\n </div>\n</template>\n","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const STATUS_CONFIG = createComponentConfigKey('status')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STATUS_CONFIG } from './status.context'\nimport type { StatusProps } from './status.props'\nimport type { StatusColor, StatusSize } from './status.types'\n\nconst statusColors: ComponentClass<'status', StatusColor> = {\n neutral: 'status-neutral',\n primary: 'status-primary',\n secondary: 'status-secondary',\n accent: 'status-accent',\n info: 'status-info',\n success: 'status-success',\n warning: 'status-warning',\n error: 'status-error',\n}\n\nconst statusSizes: ComponentClass<'status', StatusSize> = {\n xs: 'status-xs',\n sm: 'status-sm',\n md: 'status-md',\n lg: 'status-lg',\n xl: 'status-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatusProps>()\nconst config = useComponentConfig(STATUS_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <!-- Ping: two overlapping elements via inline-grid -->\n <div\n v-if=\"config.animation === 'ping'\"\n class=\"inline-grid *:[grid-area:1/1]\"\n :aria-label=\"label\"\n >\n <div\n class=\"status animate-ping\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n ]\"\n />\n <div\n class=\"status\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n ]\"\n />\n </div>\n\n <!-- Bounce or default -->\n <div\n v-else\n class=\"status\"\n :aria-label=\"label\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n config.animation === 'bounce' && 'animate-bounce',\n ]\"\n />\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { STATUS_CONFIG } from './status.context'\nimport type { StatusProps } from './status.props'\nimport type { StatusColor, StatusSize } from './status.types'\n\nconst statusColors: ComponentClass<'status', StatusColor> = {\n neutral: 'status-neutral',\n primary: 'status-primary',\n secondary: 'status-secondary',\n accent: 'status-accent',\n info: 'status-info',\n success: 'status-success',\n warning: 'status-warning',\n error: 'status-error',\n}\n\nconst statusSizes: ComponentClass<'status', StatusSize> = {\n xs: 'status-xs',\n sm: 'status-sm',\n md: 'status-md',\n lg: 'status-lg',\n xl: 'status-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<StatusProps>()\nconst config = useComponentConfig(STATUS_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <!-- Ping: two overlapping elements via inline-grid -->\n <div\n v-if=\"config.animation === 'ping'\"\n class=\"inline-grid *:[grid-area:1/1]\"\n :aria-label=\"label\"\n >\n <div\n class=\"status animate-ping\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n ]\"\n />\n <div\n class=\"status\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n ]\"\n />\n </div>\n\n <!-- Bounce or default -->\n <div\n v-else\n class=\"status\"\n :aria-label=\"label\"\n :class=\"[\n getClass(statusColors, config.color),\n getClass(statusSizes, config.size),\n config.animation === 'bounce' && 'animate-bounce',\n ]\"\n />\n</template>"],"mappings":"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"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { t as e } from "./symbol-CziS7Pho.js";
|
|
2
|
+
import { n as t } from "./use-component-config-CaJQbJOW.js";
|
|
3
|
+
import { n } from "./build-class.util-Cp-ZBFgO.js";
|
|
4
|
+
import { t as r } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
5
|
+
import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, defineComponent as d, inject as f, mergeModels as p, mergeProps as m, normalizeClass as h, normalizeStyle as g, onMounted as _, openBlock as v, provide as y, renderList as b, renderSlot as x, resolveDirective as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, useModel as E, useSlots as D, useTemplateRef as ee, withCtx as O, withDirectives as k } from "vue";
|
|
6
|
+
import { RouterLink as A, useLink as j } from "vue-router";
|
|
7
|
+
//#region src/components/navigation/breadcrumbs/breadcrumbs.context.ts
|
|
8
|
+
var te = e("breadcrumbs"), M = {
|
|
9
|
+
key: 1,
|
|
10
|
+
class: "inline-flex items-center gap-2"
|
|
11
|
+
}, N = /* @__PURE__ */ d({
|
|
12
|
+
__name: "Breadcrumbs",
|
|
13
|
+
props: {
|
|
14
|
+
items: {},
|
|
15
|
+
maxWidth: {}
|
|
16
|
+
},
|
|
17
|
+
setup(e) {
|
|
18
|
+
let n = e, r = t(te, n, {});
|
|
19
|
+
function a(e) {
|
|
20
|
+
return e === n.items.length - 1;
|
|
21
|
+
}
|
|
22
|
+
return (t, n) => (v(), c("div", { class: h(["breadcrumbs text-sm", T(r).maxWidth]) }, [l("ul", null, [(v(!0), c(i, null, b(e.items, (e, t) => (v(), c("li", { key: t }, [a(t) ? (v(), c("span", M, [e.icon ? (v(), o(C(e.icon), {
|
|
23
|
+
key: 0,
|
|
24
|
+
size: 16
|
|
25
|
+
})) : s("", !0), u(" " + w(e.label), 1)])) : (v(), o(C(e.to ? e.to === "#" ? "a" : T(A) : "a"), m({
|
|
26
|
+
key: 0,
|
|
27
|
+
ref_for: !0
|
|
28
|
+
}, {
|
|
29
|
+
to: e.to && e.to !== "#",
|
|
30
|
+
href: e.to && e.to === "#"
|
|
31
|
+
}, {
|
|
32
|
+
to: e.to,
|
|
33
|
+
class: "inline-flex items-center gap-2"
|
|
34
|
+
}), {
|
|
35
|
+
default: O(() => [e.icon ? (v(), o(C(e.icon), {
|
|
36
|
+
key: 0,
|
|
37
|
+
size: 16
|
|
38
|
+
})) : s("", !0), u(" " + w(e.label), 1)]),
|
|
39
|
+
_: 2
|
|
40
|
+
}, 1040, ["to"]))]))), 128))])], 2));
|
|
41
|
+
}
|
|
42
|
+
}), P = e("dock"), F = e("dockItem"), I = {
|
|
43
|
+
xs: "dock-xs",
|
|
44
|
+
sm: "dock-sm",
|
|
45
|
+
md: "dock-md",
|
|
46
|
+
lg: "dock-lg",
|
|
47
|
+
xl: "dock-xl"
|
|
48
|
+
}, L = /* @__PURE__ */ d({
|
|
49
|
+
__name: "Dock",
|
|
50
|
+
props: { size: {} },
|
|
51
|
+
setup(e) {
|
|
52
|
+
let r = t(P, e, { size: "md" });
|
|
53
|
+
return (e, t) => (v(), c("div", { class: h(["dock", T(n)(I, T(r).size)]) }, [x(e.$slots, "default")], 2));
|
|
54
|
+
}
|
|
55
|
+
}), R = {
|
|
56
|
+
key: 0,
|
|
57
|
+
class: "dock-label"
|
|
58
|
+
}, z = /* @__PURE__ */ d({
|
|
59
|
+
__name: "DockItem",
|
|
60
|
+
props: {
|
|
61
|
+
icon: {},
|
|
62
|
+
label: {},
|
|
63
|
+
to: {}
|
|
64
|
+
},
|
|
65
|
+
setup(e) {
|
|
66
|
+
let n = e, r = t(F, n, {}), i = a(() => n.to ? n.to === "#" ? "a" : A : "button"), l = a(() => i.value === "a" ? { href: n.to } : i.value === "button" ? {} : { to: n.to }), u = a(() => !n.to || n.to === "#" ? !1 : j({ to: n.to }).isActive.value);
|
|
67
|
+
return (e, t) => {
|
|
68
|
+
let n = S("binf");
|
|
69
|
+
return k((v(), o(C(i.value), { class: h(u.value && "dock-active") }, {
|
|
70
|
+
default: O(() => [(v(), o(C(T(r).icon), { size: 20 })), T(r).label ? (v(), c("span", R, w(T(r).label), 1)) : s("", !0)]),
|
|
71
|
+
_: 1
|
|
72
|
+
}, 8, ["class"])), [[n, l.value]]);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}), B = e("link"), V = {
|
|
76
|
+
neutral: "link-neutral",
|
|
77
|
+
primary: "link-primary",
|
|
78
|
+
secondary: "link-secondary",
|
|
79
|
+
accent: "link-accent",
|
|
80
|
+
info: "link-info",
|
|
81
|
+
success: "link-success",
|
|
82
|
+
warning: "link-warning",
|
|
83
|
+
error: "link-error"
|
|
84
|
+
}, H = /* @__PURE__ */ d({
|
|
85
|
+
__name: "Link",
|
|
86
|
+
props: {
|
|
87
|
+
to: {},
|
|
88
|
+
color: {},
|
|
89
|
+
hover: { type: Boolean }
|
|
90
|
+
},
|
|
91
|
+
setup(e) {
|
|
92
|
+
let r = e, i = t(B, r, { hover: !1 }), s = a(() => r.to ? r.to === "#" ? "a" : A : "a"), c = a(() => s.value === "a" ? { href: r.to } : { to: r.to });
|
|
93
|
+
return (e, t) => (v(), o(C(s.value), m(c.value, { class: ["link", [T(n)(V, T(i).color), T(i).hover && "link-hover"]] }), {
|
|
94
|
+
default: O(() => [x(e.$slots, "default")]),
|
|
95
|
+
_: 3
|
|
96
|
+
}, 16, ["class"]));
|
|
97
|
+
}
|
|
98
|
+
}), U = e("menu"), W = e("menuItem"), G = {
|
|
99
|
+
xs: "menu-xs",
|
|
100
|
+
sm: "menu-sm",
|
|
101
|
+
md: "menu-md",
|
|
102
|
+
lg: "menu-lg",
|
|
103
|
+
xl: "menu-xl"
|
|
104
|
+
}, K = {
|
|
105
|
+
vertical: "menu-vertical",
|
|
106
|
+
horizontal: "menu-horizontal"
|
|
107
|
+
}, q = /* @__PURE__ */ d({
|
|
108
|
+
__name: "Menu",
|
|
109
|
+
props: {
|
|
110
|
+
size: {},
|
|
111
|
+
direction: {}
|
|
112
|
+
},
|
|
113
|
+
setup(e) {
|
|
114
|
+
let r = t(U, e, {
|
|
115
|
+
size: "md",
|
|
116
|
+
direction: "vertical"
|
|
117
|
+
});
|
|
118
|
+
return (e, t) => (v(), c("ul", { class: h(["menu", [T(n)(G, T(r).size), T(n)(K, T(r).direction)]]) }, [x(e.$slots, "default")], 2));
|
|
119
|
+
}
|
|
120
|
+
}), J = {
|
|
121
|
+
key: 0,
|
|
122
|
+
class: "menu-title inline-flex items-center gap-2"
|
|
123
|
+
}, Y = { class: "menu-title inline-flex items-center gap-2" }, X = { key: 0 }, Z = /* @__PURE__ */ d({
|
|
124
|
+
__name: "MenuItem",
|
|
125
|
+
props: {
|
|
126
|
+
icon: {},
|
|
127
|
+
to: {},
|
|
128
|
+
title: { type: Boolean },
|
|
129
|
+
disabled: { type: Boolean },
|
|
130
|
+
active: { type: Boolean },
|
|
131
|
+
collapsible: { type: Boolean }
|
|
132
|
+
},
|
|
133
|
+
emits: ["click"],
|
|
134
|
+
setup(e, { emit: n }) {
|
|
135
|
+
let r = e, u = n, d = t(W, r, {}), f = D(), p = a(() => !!f.submenu), g = a(() => r.title), _ = a(() => r.to ? r.to === "#" ? "a" : A : "a"), y = a(() => _.value === "a" ? { href: r.to } : { to: r.to }), b = a(() => {
|
|
136
|
+
if (r.active) return !0;
|
|
137
|
+
if (!r.to || r.to === "#") return !1;
|
|
138
|
+
let { isActive: e } = j({ to: a(() => r.to) });
|
|
139
|
+
return e.value;
|
|
140
|
+
});
|
|
141
|
+
return (e, t) => g.value && !p.value ? (v(), c("li", J, [r.icon ? (v(), o(C(r.icon), {
|
|
142
|
+
key: 0,
|
|
143
|
+
size: 14
|
|
144
|
+
})) : s("", !0), x(e.$slots, "default")])) : g.value && p.value ? (v(), c(i, { key: 1 }, [l("h2", Y, [r.icon ? (v(), o(C(r.icon), {
|
|
145
|
+
key: 0,
|
|
146
|
+
size: 14
|
|
147
|
+
})) : s("", !0), x(e.$slots, "default")]), l("ul", null, [x(e.$slots, "submenu")])], 64)) : (v(), c("li", {
|
|
148
|
+
key: 2,
|
|
149
|
+
class: h({ "menu-disabled": T(d).disabled })
|
|
150
|
+
}, [p.value && T(d).collapsible ? (v(), c("details", X, [l("summary", null, [
|
|
151
|
+
T(d).icon ? (v(), o(C(T(d).icon), {
|
|
152
|
+
key: 0,
|
|
153
|
+
size: 16
|
|
154
|
+
})) : s("", !0),
|
|
155
|
+
x(e.$slots, "default"),
|
|
156
|
+
x(e.$slots, "badge")
|
|
157
|
+
]), l("ul", null, [x(e.$slots, "submenu")])])) : p.value ? (v(), c(i, { key: 1 }, [(v(), o(C(_.value), m(y.value, {
|
|
158
|
+
class: b.value && "menu-active",
|
|
159
|
+
onClick: t[0] ||= (e) => u("click", e)
|
|
160
|
+
}), {
|
|
161
|
+
default: O(() => [
|
|
162
|
+
T(d).icon ? (v(), o(C(T(d).icon), {
|
|
163
|
+
key: 0,
|
|
164
|
+
size: 16
|
|
165
|
+
})) : s("", !0),
|
|
166
|
+
x(e.$slots, "default"),
|
|
167
|
+
x(e.$slots, "badge")
|
|
168
|
+
]),
|
|
169
|
+
_: 3
|
|
170
|
+
}, 16, ["class"])), l("ul", null, [x(e.$slots, "submenu")])], 64)) : (v(), o(C(_.value), m({ key: 2 }, y.value, {
|
|
171
|
+
class: b.value && "menu-active",
|
|
172
|
+
onClick: t[1] ||= (e) => u("click", e)
|
|
173
|
+
}), {
|
|
174
|
+
default: O(() => [
|
|
175
|
+
T(d).icon ? (v(), o(C(T(d).icon), {
|
|
176
|
+
key: 0,
|
|
177
|
+
size: 16
|
|
178
|
+
})) : s("", !0),
|
|
179
|
+
x(e.$slots, "default"),
|
|
180
|
+
x(e.$slots, "badge")
|
|
181
|
+
]),
|
|
182
|
+
_: 3
|
|
183
|
+
}, 16, ["class"]))], 2));
|
|
184
|
+
}
|
|
185
|
+
}), ne = {}, re = { class: "navbar" };
|
|
186
|
+
function ie(e, t) {
|
|
187
|
+
return v(), c("div", re, [x(e.$slots, "default")]);
|
|
188
|
+
}
|
|
189
|
+
var ae = /*#__PURE__*/ r(ne, [["render", ie]]), oe = e("tabs"), se = e("tab"), Q = Symbol("tabs"), ce = /* @__PURE__ */ d({
|
|
190
|
+
__name: "Tab",
|
|
191
|
+
props: {
|
|
192
|
+
value: {},
|
|
193
|
+
title: {},
|
|
194
|
+
active: { type: Boolean },
|
|
195
|
+
disabled: { type: Boolean },
|
|
196
|
+
icon: {},
|
|
197
|
+
to: {}
|
|
198
|
+
},
|
|
199
|
+
setup(e, { expose: n }) {
|
|
200
|
+
let r = e, l = t(se, r, {}), d = f(Q, null), p = D();
|
|
201
|
+
d && r.value !== void 0 && d.register(r.value, !!r.active);
|
|
202
|
+
let h = a(() => r.to ? r.to.startsWith("#") ? "a" : A : "button"), _ = a(() => h.value === "button" ? {} : h.value === "a" ? { href: r.to } : { to: r.to }), y = a(() => {
|
|
203
|
+
if (!r.to || r.to === "#") return !1;
|
|
204
|
+
let { isExactActive: e } = j({ to: a(() => r.to) });
|
|
205
|
+
return e.value;
|
|
206
|
+
}), b = a(() => d && r.value !== void 0 ? d.activeValue.value === r.value : r.to ? y.value : l.value.active), S = a(() => !!p.default);
|
|
207
|
+
function E() {
|
|
208
|
+
!r.to && d && r.value !== void 0 && d.setActive(r.value);
|
|
209
|
+
}
|
|
210
|
+
let k = ee("tab-el");
|
|
211
|
+
return n({
|
|
212
|
+
$el: k,
|
|
213
|
+
focus: () => k.value?.focus()
|
|
214
|
+
}), (e, t) => (v(), c(i, null, [(v(), o(C(h.value), m({ ref: "tab-el" }, _.value, {
|
|
215
|
+
role: "tab",
|
|
216
|
+
class: ["tab", {
|
|
217
|
+
"tab-active": b.value,
|
|
218
|
+
"tab-disabled": T(l).disabled
|
|
219
|
+
}],
|
|
220
|
+
disabled: !r.to && T(l).disabled,
|
|
221
|
+
onClick: E
|
|
222
|
+
}), {
|
|
223
|
+
default: O(() => [x(e.$slots, "icon", {}, () => [T(l).icon ? (v(), o(C(T(l).icon), {
|
|
224
|
+
key: 0,
|
|
225
|
+
size: 16,
|
|
226
|
+
class: "me-2"
|
|
227
|
+
})) : s("", !0)]), x(e.$slots, "title", {}, () => [u(w(T(l).title), 1)])]),
|
|
228
|
+
_: 3
|
|
229
|
+
}, 16, ["class", "disabled"])), S.value ? (v(), c("div", {
|
|
230
|
+
key: 0,
|
|
231
|
+
class: "tab-content bg-base-100 border-base-300 p-6",
|
|
232
|
+
style: g({ display: b.value ? "block" : "none" })
|
|
233
|
+
}, [x(e.$slots, "default")], 4)) : s("", !0)], 64));
|
|
234
|
+
}
|
|
235
|
+
}), le = {
|
|
236
|
+
box: "tabs-box",
|
|
237
|
+
border: "tabs-border",
|
|
238
|
+
lift: "tabs-lift"
|
|
239
|
+
}, $ = {
|
|
240
|
+
xs: "tabs-xs",
|
|
241
|
+
sm: "tabs-sm",
|
|
242
|
+
md: "tabs-md",
|
|
243
|
+
lg: "tabs-lg",
|
|
244
|
+
xl: "tabs-xl"
|
|
245
|
+
}, ue = {
|
|
246
|
+
top: "tabs-top",
|
|
247
|
+
bottom: "tabs-bottom"
|
|
248
|
+
}, de = /* @__PURE__ */ d({
|
|
249
|
+
__name: "Tabs",
|
|
250
|
+
props: /*@__PURE__*/ p({
|
|
251
|
+
variant: {},
|
|
252
|
+
size: {},
|
|
253
|
+
placement: {}
|
|
254
|
+
}, {
|
|
255
|
+
modelValue: {},
|
|
256
|
+
modelModifiers: {}
|
|
257
|
+
}),
|
|
258
|
+
emits: ["update:modelValue"],
|
|
259
|
+
setup(e) {
|
|
260
|
+
let r = E(e, "modelValue"), i = t(oe, e, {
|
|
261
|
+
size: "md",
|
|
262
|
+
placement: "top"
|
|
263
|
+
}), a = [];
|
|
264
|
+
return y(Q, {
|
|
265
|
+
activeValue: r,
|
|
266
|
+
setActive: (e) => {
|
|
267
|
+
r.value = e;
|
|
268
|
+
},
|
|
269
|
+
register: (e, t) => {
|
|
270
|
+
a.push({
|
|
271
|
+
value: e,
|
|
272
|
+
initiallyActive: t
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}), _(() => {
|
|
276
|
+
if (r.value !== void 0) return;
|
|
277
|
+
let e = a.find((e) => e.initiallyActive);
|
|
278
|
+
if (e) {
|
|
279
|
+
r.value = e.value;
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
a.length > 0 && (r.value = a[0].value);
|
|
283
|
+
}), (e, t) => (v(), c("div", {
|
|
284
|
+
role: "tablist",
|
|
285
|
+
class: h(["tabs", [
|
|
286
|
+
T(n)(le, T(i).variant),
|
|
287
|
+
T(n)($, T(i).size),
|
|
288
|
+
T(n)(ue, T(i).placement)
|
|
289
|
+
]])
|
|
290
|
+
}, [x(e.$slots, "default")], 2));
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
//#endregion
|
|
294
|
+
export { q as a, L as c, Z as i, N as l, ce as n, H as o, ae as r, z as s, de as t };
|
|
295
|
+
|
|
296
|
+
//# sourceMappingURL=public-H9TCdoJr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-H9TCdoJr.js","names":[],"sources":["../src/components/navigation/breadcrumbs/breadcrumbs.context.ts","../src/components/navigation/breadcrumbs/Breadcrumbs.vue","../src/components/navigation/breadcrumbs/Breadcrumbs.vue","../src/components/navigation/dock/dock.context.ts","../src/components/navigation/dock/Dock.vue","../src/components/navigation/dock/Dock.vue","../src/components/navigation/dock/DockItem.vue","../src/components/navigation/dock/DockItem.vue","../src/components/navigation/link/link.context.ts","../src/components/navigation/link/Link.vue","../src/components/navigation/link/Link.vue","../src/components/navigation/menu/menu.context.ts","../src/components/navigation/menu/Menu.vue","../src/components/navigation/menu/Menu.vue","../src/components/navigation/menu/MenuItem.vue","../src/components/navigation/menu/MenuItem.vue","../src/components/navigation/navbar/Navbar.vue","../src/components/navigation/tab/tab.context.ts","../src/components/navigation/tab/Tab.vue","../src/components/navigation/tab/Tab.vue","../src/components/navigation/tab/Tabs.vue","../src/components/navigation/tab/Tabs.vue"],"sourcesContent":["import { createComponentConfigKey } from '@/config/symbol'\n\nexport const BREADCRUMBS_CONFIG = createComponentConfigKey('breadcrumbs')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { RouterLink } from 'vue-router'\nimport { BREADCRUMBS_CONFIG } from './breadcrumbs.context'\nimport type { BreadcrumbsProps } from './breadcrumbs.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<BreadcrumbsProps>()\nconst config = useComponentConfig(BREADCRUMBS_CONFIG, props, {})\n\nfunction isLast(index: number) {\n return index === props.items.length - 1\n}\n</script>\n\n<template>\n <div\n class=\"breadcrumbs text-sm\"\n :class=\"config.maxWidth\"\n >\n <ul>\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n >\n <!-- Clickable item (not the last) -->\n <component\n :is=\"item.to ? item.to === '#' ? 'a' : RouterLink : 'a'\"\n v-if=\"!isLast(index)\"\n v-bind=\"{\n to: item.to && item.to !== '#',\n href: item.to && item.to === '#',\n }\"\n :to=\"item.to\"\n class=\"inline-flex items-center gap-2\"\n >\n <component :is=\"item.icon\" v-if=\"item.icon\" :size=\"16\" />\n {{ item.label }}\n </component>\n\n <!-- Last item (current page, non-clickable) -->\n <span\n v-else\n class=\"inline-flex items-center gap-2\"\n >\n <component :is=\"item.icon\" v-if=\"item.icon\" :size=\"16\" />\n {{ item.label }}\n </span>\n </li>\n </ul>\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { RouterLink } from 'vue-router'\nimport { BREADCRUMBS_CONFIG } from './breadcrumbs.context'\nimport type { BreadcrumbsProps } from './breadcrumbs.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<BreadcrumbsProps>()\nconst config = useComponentConfig(BREADCRUMBS_CONFIG, props, {})\n\nfunction isLast(index: number) {\n return index === props.items.length - 1\n}\n</script>\n\n<template>\n <div\n class=\"breadcrumbs text-sm\"\n :class=\"config.maxWidth\"\n >\n <ul>\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n >\n <!-- Clickable item (not the last) -->\n <component\n :is=\"item.to ? item.to === '#' ? 'a' : RouterLink : 'a'\"\n v-if=\"!isLast(index)\"\n v-bind=\"{\n to: item.to && item.to !== '#',\n href: item.to && item.to === '#',\n }\"\n :to=\"item.to\"\n class=\"inline-flex items-center gap-2\"\n >\n <component :is=\"item.icon\" v-if=\"item.icon\" :size=\"16\" />\n {{ item.label }}\n </component>\n\n <!-- Last item (current page, non-clickable) -->\n <span\n v-else\n class=\"inline-flex items-center gap-2\"\n >\n <component :is=\"item.icon\" v-if=\"item.icon\" :size=\"16\" />\n {{ item.label }}\n </span>\n </li>\n </ul>\n </div>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const DOCK_CONFIG = createComponentConfigKey('dock')\nexport const DOCK_ITEM_CONFIG = createComponentConfigKey('dockItem')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { DOCK_CONFIG } from './dock.context'\nimport type { DockProps } from './dock.props'\nimport type { DockSize } from './dock.types'\n\nconst sizes: ComponentClass<'dock', DockSize> = {\n xs: 'dock-xs',\n sm: 'dock-sm',\n md: 'dock-md',\n lg: 'dock-lg',\n xl: 'dock-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DockProps>()\nconst config = useComponentConfig(DOCK_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <div\n class=\"dock\"\n :class=\"getClass(sizes, config.size)\"\n >\n <slot />\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { DOCK_CONFIG } from './dock.context'\nimport type { DockProps } from './dock.props'\nimport type { DockSize } from './dock.types'\n\nconst sizes: ComponentClass<'dock', DockSize> = {\n xs: 'dock-xs',\n sm: 'dock-sm',\n md: 'dock-md',\n lg: 'dock-lg',\n xl: 'dock-xl',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DockProps>()\nconst config = useComponentConfig(DOCK_CONFIG, props, {\n size: 'md',\n})\n</script>\n\n<template>\n <div\n class=\"dock\"\n :class=\"getClass(sizes, config.size)\"\n >\n <slot />\n </div>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { DOCK_ITEM_CONFIG } from './dock.context'\nimport type { DockItemProps } from './dock.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DockItemProps>()\nconst config = useComponentConfig(DOCK_ITEM_CONFIG, props, {})\n\nconst tag = computed(() => {\n return props.to ? props.to === '#' ? 'a' : RouterLink : 'button'\n})\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to,\n }\n }\n if (tag.value === 'button') {\n return {}\n }\n\n return {\n to: props.to,\n }\n})\n\nconst isActive = computed(() => {\n if (!props.to || props.to === '#') {\n return false\n }\n\n const link = useLink({ to: props.to })\n return link.isActive.value\n})\n</script>\n\n<template>\n <component\n :is=\"tag\"\n v-binf=\"attr\"\n :class=\"isActive && 'dock-active'\"\n >\n <component :is=\"config.icon\" :size=\"20\" />\n <span v-if=\"config.label\" class=\"dock-label\">{{ config.label }}</span>\n </component>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { DOCK_ITEM_CONFIG } from './dock.context'\nimport type { DockItemProps } from './dock.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DockItemProps>()\nconst config = useComponentConfig(DOCK_ITEM_CONFIG, props, {})\n\nconst tag = computed(() => {\n return props.to ? props.to === '#' ? 'a' : RouterLink : 'button'\n})\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to,\n }\n }\n if (tag.value === 'button') {\n return {}\n }\n\n return {\n to: props.to,\n }\n})\n\nconst isActive = computed(() => {\n if (!props.to || props.to === '#') {\n return false\n }\n\n const link = useLink({ to: props.to })\n return link.isActive.value\n})\n</script>\n\n<template>\n <component\n :is=\"tag\"\n v-binf=\"attr\"\n :class=\"isActive && 'dock-active'\"\n >\n <component :is=\"config.icon\" :size=\"20\" />\n <span v-if=\"config.label\" class=\"dock-label\">{{ config.label }}</span>\n </component>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const LINK_CONFIG = createComponentConfigKey('link')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { computed } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport { LINK_CONFIG } from './link.context'\nimport type { LinkProps } from './link.props'\nimport type { LinkColor } from './link.types'\n\nconst colors: ComponentClass<'link', LinkColor> = {\n neutral: 'link-neutral',\n primary: 'link-primary',\n secondary: 'link-secondary',\n accent: 'link-accent',\n info: 'link-info',\n success: 'link-success',\n warning: 'link-warning',\n error: 'link-error',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<LinkProps>()\nconst config = useComponentConfig(LINK_CONFIG, props, {\n hover: false,\n})\n\nconst tag = computed(() => {\n return props.to ? props.to === '#' ? 'a' : RouterLink : 'a'\n})\n\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to,\n }\n }\n return {\n to: props.to,\n }\n})\n</script>\n\n<template>\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n class=\"link\"\n :class=\"[\n getClass(colors, config.color),\n config.hover && 'link-hover',\n ]\"\n >\n <slot />\n </component>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { computed } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport { LINK_CONFIG } from './link.context'\nimport type { LinkProps } from './link.props'\nimport type { LinkColor } from './link.types'\n\nconst colors: ComponentClass<'link', LinkColor> = {\n neutral: 'link-neutral',\n primary: 'link-primary',\n secondary: 'link-secondary',\n accent: 'link-accent',\n info: 'link-info',\n success: 'link-success',\n warning: 'link-warning',\n error: 'link-error',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<LinkProps>()\nconst config = useComponentConfig(LINK_CONFIG, props, {\n hover: false,\n})\n\nconst tag = computed(() => {\n return props.to ? props.to === '#' ? 'a' : RouterLink : 'a'\n})\n\nconst attr = computed(() => {\n if (tag.value === 'a') {\n return {\n href: props.to,\n }\n }\n return {\n to: props.to,\n }\n})\n</script>\n\n<template>\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n class=\"link\"\n :class=\"[\n getClass(colors, config.color),\n config.hover && 'link-hover',\n ]\"\n >\n <slot />\n </component>\n</template>","import { createComponentConfigKey } from '@/config/symbol'\n\nexport const MENU_CONFIG = createComponentConfigKey('menu')\nexport const MENU_ITEM_CONFIG = createComponentConfigKey('menuItem')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { MENU_CONFIG } from './menu.context'\nimport type { MenuProps } from './menu.props'\nimport type { MenuDirection, MenuSize } from './menu.types'\n\nconst sizes: ComponentClass<'menu', MenuSize> = {\n xs: 'menu-xs',\n sm: 'menu-sm',\n md: 'menu-md',\n lg: 'menu-lg',\n xl: 'menu-xl',\n}\n\nconst directions: ComponentClass<'menu', MenuDirection> = {\n vertical: 'menu-vertical',\n horizontal: 'menu-horizontal',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<MenuProps>()\nconst config = useComponentConfig(MENU_CONFIG, props, {\n size: 'md',\n direction: 'vertical'\n})\n</script>\n\n<template>\n <ul\n class=\"menu\"\n :class=\"[\n getClass(sizes, config.size),\n getClass(directions, config.direction),\n ]\"\n >\n <slot />\n </ul>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { MENU_CONFIG } from './menu.context'\nimport type { MenuProps } from './menu.props'\nimport type { MenuDirection, MenuSize } from './menu.types'\n\nconst sizes: ComponentClass<'menu', MenuSize> = {\n xs: 'menu-xs',\n sm: 'menu-sm',\n md: 'menu-md',\n lg: 'menu-lg',\n xl: 'menu-xl',\n}\n\nconst directions: ComponentClass<'menu', MenuDirection> = {\n vertical: 'menu-vertical',\n horizontal: 'menu-horizontal',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<MenuProps>()\nconst config = useComponentConfig(MENU_CONFIG, props, {\n size: 'md',\n direction: 'vertical'\n})\n</script>\n\n<template>\n <ul\n class=\"menu\"\n :class=\"[\n getClass(sizes, config.size),\n getClass(directions, config.direction),\n ]\"\n >\n <slot />\n </ul>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, useSlots } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { MENU_ITEM_CONFIG } from './menu.context'\nimport type { MenuItemProps } from './menu.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<MenuItemProps>()\nconst emit = defineEmits<{ click: [event: MouseEvent] }>()\nconst config = useComponentConfig(MENU_ITEM_CONFIG, props, {})\n\nconst slots = useSlots()\n\nconst hasSubmenu = computed(() => !!slots.submenu)\nconst isTitle = computed(() => props.title)\n\nconst tag = computed(() => {\n if (!props.to) return 'a'\n return props.to === '#' ? 'a' : RouterLink\n})\n\nconst attr = computed(() => {\n if (tag.value === 'a') return { href: props.to }\n return { to: props.to }\n})\n\nconst isActive = computed(() => {\n if (props.active) return true\n if (!props.to || props.to === '#') return false\n const { isActive } = useLink({ to: computed(() => props.to!) })\n return isActive.value\n})\n</script>\n\n<template>\n <!-- Title item (standalone) -->\n <li v-if=\"isTitle && !hasSubmenu\" class=\"menu-title inline-flex items-center gap-2\">\n <component :is=\"props.icon\" v-if=\"props.icon\" :size=\"14\" />\n <slot />\n </li>\n\n <!-- Title item as parent (with submenu): uses <h2> per DaisyUI spec -->\n <template v-else-if=\"isTitle && hasSubmenu\">\n <h2 class=\"menu-title inline-flex items-center gap-2\">\n <component :is=\"props.icon\" v-if=\"props.icon\" :size=\"14\" />\n <slot />\n </h2>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </template>\n\n <!-- Regular item -->\n <li v-else :class=\"{\n 'menu-disabled': config.disabled\n }\">\n\n <!-- With submenu + collapsible: <details>/<summary> -->\n <template v-if=\"hasSubmenu && config.collapsible\">\n <details>\n <summary>\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </summary>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </details>\n </template>\n\n <!-- With submenu, static: label + nested <ul> -->\n <template v-else-if=\"hasSubmenu\">\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n :class=\"isActive && 'menu-active'\"\n @click=\"emit('click', $event)\"\n >\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </component>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </template>\n\n <!-- Leaf item -->\n <template v-else>\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n :class=\"isActive && 'menu-active'\"\n @click=\"emit('click', $event)\"\n >\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </component>\n </template>\n\n </li>\n</template>","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, useSlots } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { MENU_ITEM_CONFIG } from './menu.context'\nimport type { MenuItemProps } from './menu.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<MenuItemProps>()\nconst emit = defineEmits<{ click: [event: MouseEvent] }>()\nconst config = useComponentConfig(MENU_ITEM_CONFIG, props, {})\n\nconst slots = useSlots()\n\nconst hasSubmenu = computed(() => !!slots.submenu)\nconst isTitle = computed(() => props.title)\n\nconst tag = computed(() => {\n if (!props.to) return 'a'\n return props.to === '#' ? 'a' : RouterLink\n})\n\nconst attr = computed(() => {\n if (tag.value === 'a') return { href: props.to }\n return { to: props.to }\n})\n\nconst isActive = computed(() => {\n if (props.active) return true\n if (!props.to || props.to === '#') return false\n const { isActive } = useLink({ to: computed(() => props.to!) })\n return isActive.value\n})\n</script>\n\n<template>\n <!-- Title item (standalone) -->\n <li v-if=\"isTitle && !hasSubmenu\" class=\"menu-title inline-flex items-center gap-2\">\n <component :is=\"props.icon\" v-if=\"props.icon\" :size=\"14\" />\n <slot />\n </li>\n\n <!-- Title item as parent (with submenu): uses <h2> per DaisyUI spec -->\n <template v-else-if=\"isTitle && hasSubmenu\">\n <h2 class=\"menu-title inline-flex items-center gap-2\">\n <component :is=\"props.icon\" v-if=\"props.icon\" :size=\"14\" />\n <slot />\n </h2>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </template>\n\n <!-- Regular item -->\n <li v-else :class=\"{\n 'menu-disabled': config.disabled\n }\">\n\n <!-- With submenu + collapsible: <details>/<summary> -->\n <template v-if=\"hasSubmenu && config.collapsible\">\n <details>\n <summary>\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </summary>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </details>\n </template>\n\n <!-- With submenu, static: label + nested <ul> -->\n <template v-else-if=\"hasSubmenu\">\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n :class=\"isActive && 'menu-active'\"\n @click=\"emit('click', $event)\"\n >\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </component>\n <ul>\n <slot name=\"submenu\" />\n </ul>\n </template>\n\n <!-- Leaf item -->\n <template v-else>\n <component\n :is=\"tag\"\n v-bind=\"attr\"\n :class=\"isActive && 'menu-active'\"\n @click=\"emit('click', $event)\"\n >\n <component :is=\"config.icon\" v-if=\"config.icon\" :size=\"16\" />\n <slot />\n <slot name=\"badge\" />\n </component>\n </template>\n\n </li>\n</template>","<script lang=\"ts\">\n</script>\n\n<template>\n <div class=\"navbar\">\n <slot />\n </div>\n</template>\n","import { createComponentConfigKey } from '@/config/symbol'\nimport type { InjectionKey, Ref } from 'vue'\n\nexport const TABS_CONFIG = createComponentConfigKey('tabs')\nexport const TAB_CONFIG = createComponentConfigKey('tab')\n\nexport interface TabsContext {\n activeValue: Ref<string | undefined>\n setActive: (value: string) => void\n register: (value: string, initiallyActive: boolean) => void\n}\n\nexport const TABS_CONTEXT: InjectionKey<TabsContext> = Symbol('tabs')\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, inject, useSlots, useTemplateRef } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { TAB_CONFIG, TABS_CONTEXT } from './tab.context'\nimport type { TabProps } from './tab.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<TabProps>()\nconst config = useComponentConfig(TAB_CONFIG, props, {})\nconst tabsContext = inject(TABS_CONTEXT, null)\nconst slots = useSlots()\n\nif (tabsContext && props.value !== undefined) {\n tabsContext.register(props.value, !!props.active)\n}\n\nconst tag = computed(() => {\n if (!props.to) {\n return 'button'\n }\n\n if (props.to.startsWith('#')) {\n return 'a'\n }\n\n return RouterLink\n})\n\nconst attr = computed(() => {\n if (tag.value === 'button') {\n return {}\n }\n\n if (tag.value === 'a') {\n return { href: props.to }\n }\n\n return { to: props.to }\n})\n\nconst isRouterActive = computed(() => {\n if (!props.to || props.to === '#') {\n return false\n }\n\n const { isExactActive } = useLink({ to: computed(() => props.to!) })\n return isExactActive.value\n})\n\nconst isActive = computed(() => {\n if (tabsContext && props.value !== undefined) {\n return tabsContext.activeValue.value === props.value\n }\n\n if (props.to) {\n return isRouterActive.value\n }\n\n return config.value.active\n})\n\nconst hasContent = computed(() => !!slots.default)\n\nfunction onClick() {\n if (!props.to && tabsContext && props.value !== undefined) {\n tabsContext.setActive(props.value)\n }\n}\n\nconst tabEl = useTemplateRef('tab-el')\n\ndefineExpose({\n $el: tabEl,\n focus: () => tabEl.value?.focus(),\n})\n</script>\n\n<template>\n <component\n ref=\"tab-el\"\n :is=\"tag\"\n v-bind=\"attr\"\n role=\"tab\"\n class=\"tab\"\n :class=\"{\n 'tab-active': isActive,\n 'tab-disabled': config.disabled\n }\"\n :disabled=\"!props.to && config.disabled\"\n @click=\"onClick\"\n >\n <slot name=\"icon\">\n <component v-if=\"config.icon\" :is=\"config.icon\" :size=\"16\" class=\"me-2\" />\n </slot>\n <slot name=\"title\">{{ config.title }}</slot>\n </component>\n <div\n v-if=\"hasContent\"\n class=\"tab-content bg-base-100 border-base-300 p-6\"\n :style=\"{ display: isActive ? 'block' : 'none' }\"\n >\n <slot />\n </div>\n</template>\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport { computed, inject, useSlots, useTemplateRef } from 'vue'\nimport { RouterLink, useLink } from 'vue-router'\nimport { TAB_CONFIG, TABS_CONTEXT } from './tab.context'\nimport type { TabProps } from './tab.props'\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<TabProps>()\nconst config = useComponentConfig(TAB_CONFIG, props, {})\nconst tabsContext = inject(TABS_CONTEXT, null)\nconst slots = useSlots()\n\nif (tabsContext && props.value !== undefined) {\n tabsContext.register(props.value, !!props.active)\n}\n\nconst tag = computed(() => {\n if (!props.to) {\n return 'button'\n }\n\n if (props.to.startsWith('#')) {\n return 'a'\n }\n\n return RouterLink\n})\n\nconst attr = computed(() => {\n if (tag.value === 'button') {\n return {}\n }\n\n if (tag.value === 'a') {\n return { href: props.to }\n }\n\n return { to: props.to }\n})\n\nconst isRouterActive = computed(() => {\n if (!props.to || props.to === '#') {\n return false\n }\n\n const { isExactActive } = useLink({ to: computed(() => props.to!) })\n return isExactActive.value\n})\n\nconst isActive = computed(() => {\n if (tabsContext && props.value !== undefined) {\n return tabsContext.activeValue.value === props.value\n }\n\n if (props.to) {\n return isRouterActive.value\n }\n\n return config.value.active\n})\n\nconst hasContent = computed(() => !!slots.default)\n\nfunction onClick() {\n if (!props.to && tabsContext && props.value !== undefined) {\n tabsContext.setActive(props.value)\n }\n}\n\nconst tabEl = useTemplateRef('tab-el')\n\ndefineExpose({\n $el: tabEl,\n focus: () => tabEl.value?.focus(),\n})\n</script>\n\n<template>\n <component\n ref=\"tab-el\"\n :is=\"tag\"\n v-bind=\"attr\"\n role=\"tab\"\n class=\"tab\"\n :class=\"{\n 'tab-active': isActive,\n 'tab-disabled': config.disabled\n }\"\n :disabled=\"!props.to && config.disabled\"\n @click=\"onClick\"\n >\n <slot name=\"icon\">\n <component v-if=\"config.icon\" :is=\"config.icon\" :size=\"16\" class=\"me-2\" />\n </slot>\n <slot name=\"title\">{{ config.title }}</slot>\n </component>\n <div\n v-if=\"hasContent\"\n class=\"tab-content bg-base-100 border-base-300 p-6\"\n :style=\"{ display: isActive ? 'block' : 'none' }\"\n >\n <slot />\n </div>\n</template>\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { onMounted, provide } from 'vue'\nimport { TABS_CONFIG, TABS_CONTEXT } from './tab.context'\nimport type { TabsProps } from './tab.props'\nimport type { TabPlacement, TabSize, TabVariant } from './tab.types'\n\nconst variants: ComponentClass<'tabs', TabVariant> = {\n box: 'tabs-box',\n border: 'tabs-border',\n lift: 'tabs-lift',\n}\n\nconst sizes: ComponentClass<'tabs', TabSize> = {\n xs: 'tabs-xs',\n sm: 'tabs-sm',\n md: 'tabs-md',\n lg: 'tabs-lg',\n xl: 'tabs-xl',\n}\n\nconst placements: ComponentClass<'tabs', TabPlacement> = {\n top: 'tabs-top',\n bottom: 'tabs-bottom',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst model = defineModel<string>()\nconst props = defineProps<TabsProps>()\nconst config = useComponentConfig(TABS_CONFIG, props, {\n size: 'md',\n placement: 'top',\n})\n\nconst registeredTabs: Array<{ value: string; initiallyActive: boolean }> = []\n\nprovide(TABS_CONTEXT, {\n activeValue: model,\n setActive: (value) => { model.value = value },\n register: (value, initiallyActive) => { registeredTabs.push({ value, initiallyActive }) },\n})\n\nonMounted(() => {\n if (model.value !== undefined) {\n return\n }\n\n const preSelected = registeredTabs.find(t => t.initiallyActive)\n\n if (preSelected) {\n model.value = preSelected.value\n return\n }\n\n if (registeredTabs.length > 0) {\n model.value = registeredTabs[0].value\n }\n})\n</script>\n\n<template>\n <div\n role=\"tablist\"\n class=\"tabs\"\n :class=\"[\n getClass(variants, config.variant),\n getClass(sizes, config.size),\n getClass(placements, config.placement),\n ]\"\n >\n <slot />\n </div>\n</template>\n","<script lang=\"ts\">\nimport { useComponentConfig } from '@/composables/use-component-config'\nimport type { ComponentClass } from '@/types/utils.type'\nimport { getClass } from '@/utils/build-class.util'\nimport { onMounted, provide } from 'vue'\nimport { TABS_CONFIG, TABS_CONTEXT } from './tab.context'\nimport type { TabsProps } from './tab.props'\nimport type { TabPlacement, TabSize, TabVariant } from './tab.types'\n\nconst variants: ComponentClass<'tabs', TabVariant> = {\n box: 'tabs-box',\n border: 'tabs-border',\n lift: 'tabs-lift',\n}\n\nconst sizes: ComponentClass<'tabs', TabSize> = {\n xs: 'tabs-xs',\n sm: 'tabs-sm',\n md: 'tabs-md',\n lg: 'tabs-lg',\n xl: 'tabs-xl',\n}\n\nconst placements: ComponentClass<'tabs', TabPlacement> = {\n top: 'tabs-top',\n bottom: 'tabs-bottom',\n}\n</script>\n\n<script setup lang=\"ts\">\nconst model = defineModel<string>()\nconst props = defineProps<TabsProps>()\nconst config = useComponentConfig(TABS_CONFIG, props, {\n size: 'md',\n placement: 'top',\n})\n\nconst registeredTabs: Array<{ value: string; initiallyActive: boolean }> = []\n\nprovide(TABS_CONTEXT, {\n activeValue: model,\n setActive: (value) => { model.value = value },\n register: (value, initiallyActive) => { registeredTabs.push({ value, initiallyActive }) },\n})\n\nonMounted(() => {\n if (model.value !== undefined) {\n return\n }\n\n const preSelected = registeredTabs.find(t => t.initiallyActive)\n\n if (preSelected) {\n model.value = preSelected.value\n return\n }\n\n if (registeredTabs.length > 0) {\n model.value = registeredTabs[0].value\n }\n})\n</script>\n\n<template>\n <div\n role=\"tablist\"\n class=\"tabs\"\n :class=\"[\n getClass(variants, config.variant),\n getClass(sizes, config.size),\n getClass(placements, config.placement),\n ]\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":"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"}
|
package/dist/public.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PoppyUi } from './plugin-vue';
|
|
2
|
+
export default PoppyUi;
|
|
3
|
+
export * from './components/actions/public.types';
|
|
4
|
+
export * from './components/data/public.types';
|
|
5
|
+
export * from './components/display/public.types';
|
|
6
|
+
export * from './components/feedback/public.types';
|
|
7
|
+
export * from './components/layout/public.types';
|
|
8
|
+
export * from './components/media/public.types';
|
|
9
|
+
export * from './components/navigation/public.types';
|
|
10
|
+
export * from './config/public.types';
|
|
11
|
+
export type { PluginOptions } from './plugin-vue';
|
|
12
|
+
//# sourceMappingURL=public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAe,OAAO,CAAA;AACtB,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AACpD,cAAc,uBAAuB,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA"}
|