@indielayer/ui 0.1.0 → 0.2.2
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/lib/cjs/components/avatar/Avatar.vue.js +8 -0
- package/lib/cjs/components/avatar/Avatar.vue_vue_type_script_lang.js +86 -0
- package/lib/cjs/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +50 -0
- package/lib/cjs/components/button/Button.vue.js +8 -0
- package/lib/cjs/{src/components/button/Button.vue_vue&type=script&lang.js → components/button/Button.vue_vue_type_script_lang.js} +15 -39
- package/lib/cjs/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +100 -0
- package/lib/cjs/components/card/Card.vue.js +8 -0
- package/lib/cjs/{src/components/card/Card.vue_vue&type=script&lang.js → components/card/Card.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/card/Card.vue_vue&type=template&id=5a1806fe&lang.js → components/card/Card.vue_vue_type_template_id_6e221de0_lang.js} +6 -6
- package/lib/cjs/{src/components → components}/checkbox/Checkbox.vue.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_script_lang.js +58 -0
- package/lib/cjs/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +102 -0
- package/lib/cjs/{src/components → components}/collapse/Collapse.vue.js +2 -2
- package/lib/cjs/{src/components/collapse/Collapse.vue_vue&type=script&lang.js → components/collapse/Collapse.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/collapse/Collapse.vue_vue&type=template&id=65032827&lang.js → components/collapse/Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
- package/lib/cjs/components/colors.vue.js +11 -0
- package/lib/cjs/components/colors.vue_vue_type_template_id_227ea690_lang.js +406 -0
- package/lib/cjs/{src/components → components}/container/Container.vue.js +3 -3
- package/lib/cjs/{src/components/container/Container.vue_vue&type=script&lang.js → components/container/Container.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/container/Container.vue_vue&type=template&id=7b2991c1&lang.js → components/container/Container.vue_vue_type_template_id_1109578e_lang.js} +2 -2
- package/lib/cjs/{src/components → components}/divider/Divider.vue.js +3 -3
- package/lib/cjs/{src/components/divider/Divider.vue_vue&type=script&lang.js → components/divider/Divider.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/divider/Divider.vue_vue&type=template&id=61c5e3d4&lang.js → components/divider/Divider.vue_vue_type_template_id_041f3bf1_lang.js} +15 -15
- package/lib/cjs/components/form/Form.vue.js +8 -0
- package/lib/cjs/components/form/Form.vue_vue_type_script_lang.js +95 -0
- package/lib/cjs/{src/components/form/Form.vue_vue&type=template&id=341983a2&lang.js → components/form/Form.vue_vue_type_template_id_bf90a49e_lang.js} +2 -2
- package/lib/cjs/components/icon/Icon.vue.js +8 -0
- package/lib/cjs/{src/components/icon/Icon.vue_vue&type=script&lang.js → components/icon/Icon.vue_vue_type_script_lang.js} +6 -5
- package/lib/cjs/{src/components/icon/Icon.vue_vue&type=template&id=2e35bbff&lang.js → components/icon/Icon.vue_vue_type_template_id_4fe868d3_lang.js} +10 -10
- package/lib/cjs/components/image/Image.vue.js +8 -0
- package/lib/cjs/components/image/Image.vue_vue_type_script_lang.js +28 -0
- package/lib/cjs/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +13 -0
- package/lib/cjs/{src/components → components}/index.js +41 -37
- package/lib/cjs/components/input/Input.vue.js +8 -0
- package/lib/cjs/components/input/Input.vue_vue_type_script_lang.js +101 -0
- package/lib/cjs/{src/components/input/Input.vue_vue&type=template&id=046941e3&lang.js → components/input/Input.vue_vue_type_template_id_0a66306d_lang.js} +44 -45
- package/lib/cjs/components/link/Link.vue.js +8 -0
- package/lib/cjs/{src/components/link/Link.vue_vue&type=script&lang.js → components/link/Link.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/link/Link.vue_vue&type=template&id=cd8b503c&lang.js → components/link/Link.vue_vue_type_template_id_291038eb_lang.js} +13 -13
- package/lib/cjs/components/modal/Modal.vue.js +8 -0
- package/lib/cjs/{src/components/modal/Modal.vue_vue&type=script&lang.js → components/modal/Modal.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/modal/Modal.vue_vue&type=template&id=31c76cbc&lang.js → components/modal/Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
- package/lib/cjs/components/note/Note.vue.js +8 -0
- package/lib/cjs/{src/components/skeleton/Skeleton.vue_vue&type=script&lang.js → components/note/Note.vue_vue_type_script_lang.js} +7 -2
- package/lib/cjs/{src/components/note/Note.vue_vue&type=template&id=ea427b4c&lang.js → components/note/Note.vue_vue_type_template_id_79616501_lang.js} +8 -22
- package/lib/cjs/{src/components → components}/pagination/Pagination.vue.js +3 -3
- package/lib/cjs/{src/components/pagination/Pagination.vue_vue&type=script&lang.js → components/pagination/Pagination.vue_vue_type_script_lang.js} +5 -5
- package/lib/cjs/{src/components/pagination/Pagination.vue_vue&type=template&id=0f4659a9&lang.js → components/pagination/Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
- package/lib/cjs/{src/components → components}/pagination/PaginationItem.vue.js +2 -2
- package/lib/cjs/{src/components/pagination/PaginationItem.vue_vue&type=script&lang.js → components/pagination/PaginationItem.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/pagination/PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → components/pagination/PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
- package/lib/cjs/components/popover/Popover.vue.js +9 -0
- package/lib/cjs/{src/components/popover/Popover.vue_vue&type=script&lang.js → components/popover/Popover.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/popover/Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → components/popover/Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +1 -1
- package/lib/cjs/{src/components/popover/Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → components/popover/Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
- package/lib/cjs/components/popover/PopoverContainer.vue.js +8 -0
- package/lib/cjs/{src/components/popover/PopoverContainer.vue_vue&type=script&lang.js → components/popover/PopoverContainer.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/popover/PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js → components/popover/PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js} +2 -2
- package/lib/cjs/{src/components → components}/popover/PopoverItem.vue.js +3 -3
- package/lib/cjs/{src/components/popover/PopoverItem.vue_vue&type=script&lang.js → components/popover/PopoverItem.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/popover/PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → components/popover/PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +9 -9
- package/lib/cjs/{src/components → components}/progress/Progress.vue.js +3 -3
- package/lib/cjs/{src/components/progress/Progress.vue_vue&type=script&lang.js → components/progress/Progress.vue_vue_type_script_lang.js} +2 -9
- package/lib/cjs/{src/components/progress/Progress.vue_vue&type=template&id=a5bfeb16&lang.js → components/progress/Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
- package/lib/cjs/components/radio/Radio.vue.js +8 -0
- package/lib/cjs/components/radio/Radio.vue_vue_type_script_lang.js +61 -0
- package/lib/cjs/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +120 -0
- package/lib/cjs/components/select/Select.vue.js +8 -0
- package/lib/cjs/components/select/Select.vue_vue_type_script_lang.js +62 -0
- package/lib/cjs/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +122 -0
- package/lib/cjs/{src/components → components}/skeleton/Skeleton.vue.js +3 -3
- package/lib/cjs/{src/components/tabs/Tabs.vue_vue&type=script&lang.js → components/skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
- package/lib/cjs/{src/components/skeleton/Skeleton.vue_vue&type=template&id=f4226afe&lang.js → components/skeleton/Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js} +2 -6
- package/lib/cjs/{src/components → components}/spacer/Spacer.vue.js +1 -1
- package/lib/cjs/{src/components/spacer/Spacer.vue_vue&type=template&id=3c2aca79&lang.js → components/spacer/Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
- package/lib/cjs/{src/components → components}/spinner/Spinner.vue.js +3 -3
- package/lib/cjs/{src/components/spinner/Spinner.vue_vue&type=script&lang.js → components/spinner/Spinner.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/spinner/Spinner.vue_vue&type=template&id=435d3ecf&lang.js → components/spinner/Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
- package/lib/cjs/{src/components → components}/status/StatusDot.vue.js +3 -3
- package/lib/cjs/{src/components/status/StatusDot.vue_vue&type=script&lang.js → components/status/StatusDot.vue_vue_type_script_lang.js} +1 -13
- package/lib/cjs/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +25 -0
- package/lib/cjs/{src/components → components}/table/Table.vue.js +2 -2
- package/lib/cjs/{src/components/table/Table.vue_vue&type=script&lang.js → components/table/Table.vue_vue_type_script_lang.js} +6 -6
- package/lib/cjs/{src/components/table/Table.vue_vue&type=template&id=50d6ab12&lang.js → components/table/Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
- package/lib/cjs/{src/components → components}/table/TableBody.vue.js +2 -2
- package/lib/cjs/{src/components/table/TableBody.vue_vue&type=script&lang.js → components/table/TableBody.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/table/TableBody.vue_vue&type=template&id=fd21b336&lang.js → components/table/TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
- package/lib/cjs/{src/components → components}/table/TableCell.vue.js +2 -2
- package/lib/cjs/{src/components/table/TableCell.vue_vue&type=script&lang.js → components/table/TableCell.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/table/TableCell.vue_vue&type=template&id=6b8d1953&lang.js → components/table/TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
- package/lib/cjs/{src/components → components}/table/TableHead.vue.js +2 -2
- package/lib/cjs/{src/components/table/TableHead.vue_vue&type=script&lang.js → components/table/TableHead.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/table/TableHead.vue_vue&type=template&id=c753405c&lang.js → components/table/TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
- package/lib/cjs/{src/components → components}/table/TableHeader.vue.js +3 -3
- package/lib/cjs/{src/components/table/TableHeader.vue_vue&type=script&lang.js → components/table/TableHeader.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/table/TableHeader.vue_vue&type=template&id=34196e32&lang.js → components/table/TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +5 -5
- package/lib/cjs/{src/components → components}/table/TableRow.vue.js +3 -3
- package/lib/cjs/{src/components/table/TableRow.vue_vue&type=script&lang.js → components/table/TableRow.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/table/TableRow.vue_vue&type=template&id=4ffea48c&lang.js → components/table/TableRow.vue_vue_type_template_id_75239b39_lang.js} +5 -5
- package/lib/cjs/components/tabs/Tab.vue.js +8 -0
- package/lib/cjs/components/tabs/Tab.vue_vue_type_script_lang.js +62 -0
- package/lib/cjs/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +29 -0
- package/lib/cjs/components/tabs/Tabs.vue.js +8 -0
- package/lib/cjs/components/tabs/Tabs.vue_vue_type_script_lang.js +37 -0
- package/lib/cjs/{src/components/tabs/Tabs.vue_vue&type=template&id=17799e08&lang.js → components/tabs/Tabs.vue_vue_type_template_id_4f5b59bd_lang.js} +2 -2
- package/lib/cjs/components/tag/Tag.vue.js +8 -0
- package/lib/cjs/{src/components/tag/Tag.vue_vue&type=script&lang.js → components/tag/Tag.vue_vue_type_script_lang.js} +0 -18
- package/lib/cjs/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +77 -0
- package/lib/cjs/{src/components → components}/textarea/Textarea.vue.js +3 -3
- package/lib/cjs/components/textarea/Textarea.vue_vue_type_script_lang.js +113 -0
- package/lib/cjs/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +70 -0
- package/lib/cjs/{src/components → components}/toast/Toast.vue.js +2 -2
- package/lib/cjs/{src/components/toast/Toast.vue_vue&type=script&lang.js → components/toast/Toast.vue_vue_type_script_lang.js} +0 -0
- package/lib/cjs/{src/components/toast/Toast.vue_vue&type=template&id=0278d8f5&lang.js → components/toast/Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
- package/lib/cjs/components/toggle/Toggle.vue.js +8 -0
- package/lib/cjs/components/toggle/Toggle.vue_vue_type_script_lang.js +58 -0
- package/lib/cjs/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +96 -0
- package/lib/cjs/{src/components → components}/tooltip/Tooltip.vue.js +2 -2
- package/lib/cjs/{src/components/tooltip/Tooltip.vue_vue&type=script&lang.js → components/tooltip/Tooltip.vue_vue_type_script_lang.js} +2 -2
- package/lib/cjs/{src/components/tooltip/Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → components/tooltip/Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
- package/lib/cjs/composables/common.js +28 -0
- package/lib/cjs/composables/inputtable.js +162 -0
- package/lib/cjs/composables/interactive.js +41 -0
- package/lib/cjs/{src/index.js → index.js} +42 -37
- package/lib/esm/components/avatar/Avatar.vue.js +5 -0
- package/lib/esm/components/avatar/Avatar.vue_vue_type_script_lang.js +84 -0
- package/lib/esm/components/avatar/Avatar.vue_vue_type_template_id_d5090cb0_lang.js +46 -0
- package/lib/esm/components/button/Button.vue.js +5 -0
- package/lib/esm/{src/components/button/Button.vue_vue&type=script&lang.js → components/button/Button.vue_vue_type_script_lang.js} +15 -39
- package/lib/esm/components/button/Button.vue_vue_type_template_id_1be5b88c_lang.js +96 -0
- package/lib/esm/components/card/Card.vue.js +5 -0
- package/lib/esm/{src/components/card/Card.vue_vue&type=script&lang.js → components/card/Card.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/components/card/Card.vue_vue_type_template_id_6e221de0_lang.js +18 -0
- package/lib/esm/components/checkbox/Checkbox.vue.js +5 -0
- package/lib/esm/components/checkbox/Checkbox.vue_vue_type_script_lang.js +56 -0
- package/lib/esm/components/checkbox/Checkbox.vue_vue_type_template_id_d00d1178_lang.js +98 -0
- package/lib/esm/components/collapse/Collapse.vue.js +5 -0
- package/lib/esm/{src/components/collapse/Collapse.vue_vue&type=script&lang.js → components/collapse/Collapse.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/collapse/Collapse.vue_vue&type=template&id=65032827&lang.js → components/collapse/Collapse.vue_vue_type_template_id_65032827_lang.js} +0 -0
- package/lib/esm/components/colors.vue.js +9 -0
- package/lib/esm/components/colors.vue_vue_type_template_id_227ea690_lang.js +402 -0
- package/lib/esm/components/container/Container.vue.js +5 -0
- package/lib/esm/{src/components/container/Container.vue_vue&type=script&lang.js → components/container/Container.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/components/container/Container.vue_vue_type_template_id_1109578e_lang.js +12 -0
- package/lib/esm/components/divider/Divider.vue.js +5 -0
- package/lib/esm/{src/components/divider/Divider.vue_vue&type=script&lang.js → components/divider/Divider.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/components/divider/Divider.vue_vue_type_template_id_041f3bf1_lang.js +45 -0
- package/lib/esm/components/form/Form.vue.js +5 -0
- package/lib/esm/components/form/Form.vue_vue_type_script_lang.js +93 -0
- package/lib/esm/{src/components/form/Form.vue_vue&type=template&id=341983a2&lang.js → components/form/Form.vue_vue_type_template_id_bf90a49e_lang.js} +2 -2
- package/lib/esm/components/icon/Icon.vue.js +5 -0
- package/lib/esm/{src/components/icon/Icon.vue_vue&type=script&lang.js → components/icon/Icon.vue_vue_type_script_lang.js} +6 -5
- package/lib/esm/components/icon/Icon.vue_vue_type_template_id_4fe868d3_lang.js +28 -0
- package/lib/esm/components/image/Image.vue.js +5 -0
- package/lib/esm/components/image/Image.vue_vue_type_script_lang.js +26 -0
- package/lib/esm/components/image/Image.vue_vue_type_template_id_d7718e2c_lang.js +9 -0
- package/lib/esm/components/index.js +40 -0
- package/lib/esm/components/input/Input.vue.js +5 -0
- package/lib/esm/components/input/Input.vue_vue_type_script_lang.js +99 -0
- package/lib/esm/{src/components/input/Input.vue_vue&type=template&id=046941e3&lang.js → components/input/Input.vue_vue_type_template_id_0a66306d_lang.js} +45 -46
- package/lib/esm/components/link/Link.vue.js +5 -0
- package/lib/esm/{src/components/link/Link.vue_vue&type=script&lang.js → components/link/Link.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/link/Link.vue_vue&type=template&id=cd8b503c&lang.js → components/link/Link.vue_vue_type_template_id_291038eb_lang.js} +14 -14
- package/lib/esm/components/modal/Modal.vue.js +5 -0
- package/lib/esm/{src/components/modal/Modal.vue_vue&type=script&lang.js → components/modal/Modal.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/modal/Modal.vue_vue&type=template&id=31c76cbc&lang.js → components/modal/Modal.vue_vue_type_template_id_1597a9fe_lang.js} +1 -1
- package/lib/esm/components/note/Note.vue.js +5 -0
- package/lib/esm/{src/components/skeleton/Skeleton.vue_vue&type=script&lang.js → components/note/Note.vue_vue_type_script_lang.js} +7 -2
- package/lib/esm/{src/components/note/Note.vue_vue&type=template&id=ea427b4c&lang.js → components/note/Note.vue_vue_type_template_id_79616501_lang.js} +9 -23
- package/lib/esm/components/pagination/Pagination.vue.js +5 -0
- package/lib/esm/{src/components/pagination/Pagination.vue_vue&type=script&lang.js → components/pagination/Pagination.vue_vue_type_script_lang.js} +5 -5
- package/lib/esm/{src/components/pagination/Pagination.vue_vue&type=template&id=0f4659a9&lang.js → components/pagination/Pagination.vue_vue_type_template_id_7b1569fe_lang.js} +8 -8
- package/lib/esm/components/pagination/PaginationItem.vue.js +5 -0
- package/lib/esm/{src/components/pagination/PaginationItem.vue_vue&type=script&lang.js → components/pagination/PaginationItem.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/pagination/PaginationItem.vue_vue&type=template&id=a1d67888&lang.js → components/pagination/PaginationItem.vue_vue_type_template_id_a1d67888_lang.js} +0 -0
- package/lib/esm/components/popover/Popover.vue.js +6 -0
- package/lib/esm/{src/components/popover/Popover.vue_vue&type=script&lang.js → components/popover/Popover.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/popover/Popover.vue_vue&type=style&index=0&id=3d4ab1ae&lang.css.js → components/popover/Popover.vue_vue_type_style_index_0_id_ef94d0dc_lang.css.js} +1 -1
- package/lib/esm/{src/components/popover/Popover.vue_vue&type=template&id=3d4ab1ae&lang.js → components/popover/Popover.vue_vue_type_template_id_ef94d0dc_lang.js} +1 -1
- package/lib/esm/components/popover/PopoverContainer.vue.js +5 -0
- package/lib/esm/{src/components/popover/PopoverContainer.vue_vue&type=script&lang.js → components/popover/PopoverContainer.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/components/popover/PopoverContainer.vue_vue_type_template_id_49e694b6_lang.js +12 -0
- package/lib/esm/components/popover/PopoverItem.vue.js +5 -0
- package/lib/esm/{src/components/popover/PopoverItem.vue_vue&type=script&lang.js → components/popover/PopoverItem.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/popover/PopoverItem.vue_vue&type=template&id=33f77d45&lang.js → components/popover/PopoverItem.vue_vue_type_template_id_f493838c_lang.js} +10 -10
- package/lib/esm/components/progress/Progress.vue.js +5 -0
- package/lib/esm/{src/components/progress/Progress.vue_vue&type=script&lang.js → components/progress/Progress.vue_vue_type_script_lang.js} +2 -9
- package/lib/esm/{src/components/progress/Progress.vue_vue&type=template&id=a5bfeb16&lang.js → components/progress/Progress.vue_vue_type_template_id_73a39445_lang.js} +5 -21
- package/lib/esm/components/radio/Radio.vue.js +5 -0
- package/lib/esm/components/radio/Radio.vue_vue_type_script_lang.js +59 -0
- package/lib/esm/components/radio/Radio.vue_vue_type_template_id_7229826f_lang.js +116 -0
- package/lib/esm/components/select/Select.vue.js +5 -0
- package/lib/esm/components/select/Select.vue_vue_type_script_lang.js +60 -0
- package/lib/esm/components/select/Select.vue_vue_type_template_id_e15ccf42_lang.js +118 -0
- package/lib/esm/components/skeleton/Skeleton.vue.js +5 -0
- package/lib/esm/{src/components/tabs/Tabs.vue_vue&type=script&lang.js → components/skeleton/Skeleton.vue_vue_type_script_lang.js} +2 -2
- package/lib/esm/components/skeleton/Skeleton.vue_vue_type_template_id_a9c4d78c_lang.js +14 -0
- package/lib/esm/{src/components → components}/spacer/Spacer.vue.js +1 -1
- package/lib/esm/{src/components/spacer/Spacer.vue_vue&type=template&id=3c2aca79&lang.js → components/spacer/Spacer.vue_vue_type_template_id_3c2aca79_lang.js} +0 -0
- package/lib/esm/components/spinner/Spinner.vue.js +5 -0
- package/lib/esm/{src/components/spinner/Spinner.vue_vue&type=script&lang.js → components/spinner/Spinner.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/spinner/Spinner.vue_vue&type=template&id=435d3ecf&lang.js → components/spinner/Spinner.vue_vue_type_template_id_60c76aa5_lang.js} +4 -4
- package/lib/esm/components/status/StatusDot.vue.js +5 -0
- package/lib/esm/{src/components/status/StatusDot.vue_vue&type=script&lang.js → components/status/StatusDot.vue_vue_type_script_lang.js} +1 -13
- package/lib/esm/components/status/StatusDot.vue_vue_type_template_id_1d82aee7_lang.js +21 -0
- package/lib/esm/components/table/Table.vue.js +5 -0
- package/lib/esm/{src/components/table/Table.vue_vue&type=script&lang.js → components/table/Table.vue_vue_type_script_lang.js} +6 -6
- package/lib/esm/{src/components/table/Table.vue_vue&type=template&id=50d6ab12&lang.js → components/table/Table.vue_vue_type_template_id_50d6ab12_lang.js} +0 -0
- package/lib/esm/components/table/TableBody.vue.js +5 -0
- package/lib/esm/{src/components/table/TableBody.vue_vue&type=script&lang.js → components/table/TableBody.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/table/TableBody.vue_vue&type=template&id=fd21b336&lang.js → components/table/TableBody.vue_vue_type_template_id_fd21b336_lang.js} +0 -0
- package/lib/esm/components/table/TableCell.vue.js +5 -0
- package/lib/esm/{src/components/table/TableCell.vue_vue&type=script&lang.js → components/table/TableCell.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/table/TableCell.vue_vue&type=template&id=6b8d1953&lang.js → components/table/TableCell.vue_vue_type_template_id_6b8d1953_lang.js} +0 -0
- package/lib/esm/components/table/TableHead.vue.js +5 -0
- package/lib/esm/{src/components/table/TableHead.vue_vue&type=script&lang.js → components/table/TableHead.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/table/TableHead.vue_vue&type=template&id=c753405c&lang.js → components/table/TableHead.vue_vue_type_template_id_c753405c_lang.js} +0 -0
- package/lib/esm/components/table/TableHeader.vue.js +5 -0
- package/lib/esm/{src/components/table/TableHeader.vue_vue&type=script&lang.js → components/table/TableHeader.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/table/TableHeader.vue_vue&type=template&id=34196e32&lang.js → components/table/TableHeader.vue_vue_type_template_id_20f1eb1e_lang.js} +6 -6
- package/lib/esm/components/table/TableRow.vue.js +5 -0
- package/lib/esm/{src/components/table/TableRow.vue_vue&type=script&lang.js → components/table/TableRow.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/table/TableRow.vue_vue&type=template&id=4ffea48c&lang.js → components/table/TableRow.vue_vue_type_template_id_75239b39_lang.js} +6 -6
- package/lib/esm/components/tabs/Tab.vue.js +5 -0
- package/lib/esm/components/tabs/Tab.vue_vue_type_script_lang.js +60 -0
- package/lib/esm/components/tabs/Tab.vue_vue_type_template_id_3ad17bb5_lang.js +25 -0
- package/lib/esm/components/tabs/Tabs.vue.js +5 -0
- package/lib/esm/components/tabs/Tabs.vue_vue_type_script_lang.js +35 -0
- package/lib/esm/components/tabs/Tabs.vue_vue_type_template_id_4f5b59bd_lang.js +12 -0
- package/lib/esm/components/tag/Tag.vue.js +5 -0
- package/lib/esm/{src/components/tag/Tag.vue_vue&type=script&lang.js → components/tag/Tag.vue_vue_type_script_lang.js} +0 -18
- package/lib/esm/components/tag/Tag.vue_vue_type_template_id_3d8994a5_lang.js +73 -0
- package/lib/esm/components/textarea/Textarea.vue.js +5 -0
- package/lib/esm/components/textarea/Textarea.vue_vue_type_script_lang.js +111 -0
- package/lib/esm/components/textarea/Textarea.vue_vue_type_template_id_6ebcc37a_lang.js +66 -0
- package/lib/esm/components/toast/Toast.vue.js +5 -0
- package/lib/esm/{src/components/toast/Toast.vue_vue&type=script&lang.js → components/toast/Toast.vue_vue_type_script_lang.js} +0 -0
- package/lib/esm/{src/components/toast/Toast.vue_vue&type=template&id=0278d8f5&lang.js → components/toast/Toast.vue_vue_type_template_id_0278d8f5_lang.js} +0 -0
- package/lib/esm/components/toggle/Toggle.vue.js +5 -0
- package/lib/esm/components/toggle/Toggle.vue_vue_type_script_lang.js +56 -0
- package/lib/esm/components/toggle/Toggle.vue_vue_type_template_id_0dc1ddd9_lang.js +92 -0
- package/lib/esm/components/tooltip/Tooltip.vue.js +5 -0
- package/lib/esm/{src/components/tooltip/Tooltip.vue_vue&type=script&lang.js → components/tooltip/Tooltip.vue_vue_type_script_lang.js} +2 -2
- package/lib/esm/{src/components/tooltip/Tooltip.vue_vue&type=template&id=72e65c1a&lang.js → components/tooltip/Tooltip.vue_vue_type_template_id_72e65c1a_lang.js} +0 -0
- package/lib/esm/composables/common.js +23 -0
- package/lib/esm/composables/inputtable.js +155 -0
- package/lib/esm/composables/interactive.js +35 -0
- package/lib/esm/{src/index.js → index.js} +40 -37
- package/lib/tailwind.preset.js +5 -42
- package/lib/umd/index.js +1 -1
- package/package.json +11 -9
- package/src/components/avatar/Avatar.vue +120 -0
- package/src/components/button/Button.vue +156 -0
- package/src/components/card/Card.vue +30 -0
- package/src/components/checkbox/Checkbox.vue +128 -0
- package/src/components/collapse/Collapse.vue +118 -0
- package/src/components/colors.vue +396 -0
- package/src/components/container/Container.vue +21 -0
- package/src/components/divider/Divider.vue +56 -0
- package/src/components/form/Form.vue +101 -0
- package/src/components/icon/Icon.vue +46 -0
- package/src/components/image/Image.vue +30 -0
- package/src/components/index.js +40 -0
- package/src/components/input/Input.vue +195 -0
- package/src/components/link/Link.vue +89 -0
- package/src/components/modal/Modal.vue +111 -0
- package/src/components/note/Note.vue +74 -0
- package/src/components/pagination/Pagination.vue +74 -0
- package/src/components/pagination/PaginationItem.vue +35 -0
- package/src/components/popover/Popover.vue +173 -0
- package/src/components/popover/PopoverContainer.vue +28 -0
- package/src/components/popover/PopoverItem.vue +65 -0
- package/src/components/progress/Progress.vue +120 -0
- package/src/components/radio/Radio.vue +151 -0
- package/src/components/select/Select.vue +155 -0
- package/src/components/skeleton/Skeleton.vue +21 -0
- package/src/components/spacer/Spacer.vue +3 -0
- package/src/components/spinner/Spinner.vue +45 -0
- package/src/components/status/StatusDot.vue +41 -0
- package/src/components/table/Table.vue +157 -0
- package/src/components/table/TableBody.vue +11 -0
- package/src/components/table/TableCell.vue +90 -0
- package/src/components/table/TableHead.vue +13 -0
- package/src/components/table/TableHeader.vue +109 -0
- package/src/components/table/TableRow.vue +51 -0
- package/src/components/tabs/Tab.vue +81 -0
- package/src/components/tabs/Tabs.vue +44 -0
- package/src/components/tag/Tag.vue +93 -0
- package/src/components/textarea/Textarea.vue +166 -0
- package/src/components/toast/Toast.vue +139 -0
- package/src/components/toggle/Toggle.vue +128 -0
- package/src/components/tooltip/Tooltip.vue +22 -0
- package/src/composables/common.js +21 -0
- package/src/composables/inputtable.js +157 -0
- package/src/composables/interactive.js +36 -0
- package/src/index.js +16 -0
- package/src/nuxt.js +14 -0
- package/src/tailwind.preset.js +24 -0
- package/lib/cjs/src/components/avatar/Avatar.vue.js +0 -8
- package/lib/cjs/src/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -76
- package/lib/cjs/src/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -60
- package/lib/cjs/src/components/button/Button.vue.js +0 -8
- package/lib/cjs/src/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -142
- package/lib/cjs/src/components/card/Card.vue.js +0 -8
- package/lib/cjs/src/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -69
- package/lib/cjs/src/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -78
- package/lib/cjs/src/components/form/Form.vue.js +0 -8
- package/lib/cjs/src/components/form/Form.vue_vue&type=script&lang.js +0 -87
- package/lib/cjs/src/components/icon/Icon.vue.js +0 -8
- package/lib/cjs/src/components/input/Input.vue.js +0 -8
- package/lib/cjs/src/components/input/Input.vue_vue&type=script&lang.js +0 -210
- package/lib/cjs/src/components/link/Link.vue.js +0 -8
- package/lib/cjs/src/components/modal/Modal.vue.js +0 -8
- package/lib/cjs/src/components/note/Note.vue.js +0 -8
- package/lib/cjs/src/components/note/Note.vue_vue&type=script&lang.js +0 -36
- package/lib/cjs/src/components/popover/Popover.vue.js +0 -9
- package/lib/cjs/src/components/popover/PopoverContainer.vue.js +0 -8
- package/lib/cjs/src/components/radio/Radio.vue.js +0 -8
- package/lib/cjs/src/components/radio/Radio.vue_vue&type=script&lang.js +0 -76
- package/lib/cjs/src/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -100
- package/lib/cjs/src/components/select/Select.vue.js +0 -8
- package/lib/cjs/src/components/select/Select.vue_vue&type=script&lang.js +0 -150
- package/lib/cjs/src/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -97
- package/lib/cjs/src/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -40
- package/lib/cjs/src/components/tabs/Tab.vue.js +0 -8
- package/lib/cjs/src/components/tabs/Tab.vue_vue&type=script&lang.js +0 -29
- package/lib/cjs/src/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -29
- package/lib/cjs/src/components/tabs/Tabs.vue.js +0 -8
- package/lib/cjs/src/components/tag/Tag.vue.js +0 -8
- package/lib/cjs/src/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -87
- package/lib/cjs/src/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -202
- package/lib/cjs/src/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -68
- package/lib/cjs/src/components/toggle/Toggle.vue.js +0 -8
- package/lib/cjs/src/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -65
- package/lib/cjs/src/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -77
- package/lib/esm/src/components/avatar/Avatar.vue.js +0 -5
- package/lib/esm/src/components/avatar/Avatar.vue_vue&type=script&lang.js +0 -74
- package/lib/esm/src/components/avatar/Avatar.vue_vue&type=template&id=36a4d50f&lang.js +0 -56
- package/lib/esm/src/components/button/Button.vue.js +0 -5
- package/lib/esm/src/components/button/Button.vue_vue&type=template&id=365674ca&lang.js +0 -138
- package/lib/esm/src/components/card/Card.vue.js +0 -5
- package/lib/esm/src/components/card/Card.vue_vue&type=template&id=5a1806fe&lang.js +0 -18
- package/lib/esm/src/components/checkbox/Checkbox.vue.js +0 -5
- package/lib/esm/src/components/checkbox/Checkbox.vue_vue&type=script&lang.js +0 -67
- package/lib/esm/src/components/checkbox/Checkbox.vue_vue&type=template&id=bf794940&lang.js +0 -74
- package/lib/esm/src/components/collapse/Collapse.vue.js +0 -5
- package/lib/esm/src/components/container/Container.vue.js +0 -5
- package/lib/esm/src/components/container/Container.vue_vue&type=template&id=7b2991c1&lang.js +0 -12
- package/lib/esm/src/components/divider/Divider.vue.js +0 -5
- package/lib/esm/src/components/divider/Divider.vue_vue&type=template&id=61c5e3d4&lang.js +0 -45
- package/lib/esm/src/components/form/Form.vue.js +0 -5
- package/lib/esm/src/components/form/Form.vue_vue&type=script&lang.js +0 -85
- package/lib/esm/src/components/icon/Icon.vue.js +0 -5
- package/lib/esm/src/components/icon/Icon.vue_vue&type=template&id=2e35bbff&lang.js +0 -28
- package/lib/esm/src/components/index.js +0 -38
- package/lib/esm/src/components/input/Input.vue.js +0 -5
- package/lib/esm/src/components/input/Input.vue_vue&type=script&lang.js +0 -208
- package/lib/esm/src/components/link/Link.vue.js +0 -5
- package/lib/esm/src/components/modal/Modal.vue.js +0 -5
- package/lib/esm/src/components/note/Note.vue.js +0 -5
- package/lib/esm/src/components/note/Note.vue_vue&type=script&lang.js +0 -34
- package/lib/esm/src/components/pagination/Pagination.vue.js +0 -5
- package/lib/esm/src/components/pagination/PaginationItem.vue.js +0 -5
- package/lib/esm/src/components/popover/Popover.vue.js +0 -6
- package/lib/esm/src/components/popover/PopoverContainer.vue.js +0 -5
- package/lib/esm/src/components/popover/PopoverContainer.vue_vue&type=template&id=c3f5df12&lang.js +0 -12
- package/lib/esm/src/components/popover/PopoverItem.vue.js +0 -5
- package/lib/esm/src/components/progress/Progress.vue.js +0 -5
- package/lib/esm/src/components/radio/Radio.vue.js +0 -5
- package/lib/esm/src/components/radio/Radio.vue_vue&type=script&lang.js +0 -74
- package/lib/esm/src/components/radio/Radio.vue_vue&type=template&id=7736acd0&lang.js +0 -96
- package/lib/esm/src/components/select/Select.vue.js +0 -5
- package/lib/esm/src/components/select/Select.vue_vue&type=script&lang.js +0 -148
- package/lib/esm/src/components/select/Select.vue_vue&type=template&id=6ccf0009&lang.js +0 -93
- package/lib/esm/src/components/skeleton/Skeleton.vue.js +0 -5
- package/lib/esm/src/components/skeleton/Skeleton.vue_vue&type=template&id=f4226afe&lang.js +0 -18
- package/lib/esm/src/components/spinner/Spinner.vue.js +0 -5
- package/lib/esm/src/components/status/StatusDot.vue.js +0 -5
- package/lib/esm/src/components/status/StatusDot.vue_vue&type=template&id=75d1a520&lang.js +0 -36
- package/lib/esm/src/components/table/Table.vue.js +0 -5
- package/lib/esm/src/components/table/TableBody.vue.js +0 -5
- package/lib/esm/src/components/table/TableCell.vue.js +0 -5
- package/lib/esm/src/components/table/TableHead.vue.js +0 -5
- package/lib/esm/src/components/table/TableHeader.vue.js +0 -5
- package/lib/esm/src/components/table/TableRow.vue.js +0 -5
- package/lib/esm/src/components/tabs/Tab.vue.js +0 -5
- package/lib/esm/src/components/tabs/Tab.vue_vue&type=script&lang.js +0 -27
- package/lib/esm/src/components/tabs/Tab.vue_vue&type=template&id=42dce82e&lang.js +0 -25
- package/lib/esm/src/components/tabs/Tabs.vue.js +0 -5
- package/lib/esm/src/components/tabs/Tabs.vue_vue&type=template&id=17799e08&lang.js +0 -12
- package/lib/esm/src/components/tag/Tag.vue.js +0 -5
- package/lib/esm/src/components/tag/Tag.vue_vue&type=template&id=289ac1d7&lang.js +0 -83
- package/lib/esm/src/components/textarea/Textarea.vue.js +0 -5
- package/lib/esm/src/components/textarea/Textarea.vue_vue&type=script&lang.js +0 -200
- package/lib/esm/src/components/textarea/Textarea.vue_vue&type=template&id=9e7d494a&lang.js +0 -64
- package/lib/esm/src/components/toast/Toast.vue.js +0 -5
- package/lib/esm/src/components/toggle/Toggle.vue.js +0 -5
- package/lib/esm/src/components/toggle/Toggle.vue_vue&type=script&lang.js +0 -63
- package/lib/esm/src/components/toggle/Toggle.vue_vue&type=template&id=2dc56b20&lang.js +0 -73
- package/lib/esm/src/components/tooltip/Tooltip.vue.js +0 -5
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="inline-block relative xpopover"
|
|
4
|
+
:class="[
|
|
5
|
+
{ 'hover': hover,
|
|
6
|
+
'is-open': isOpen,
|
|
7
|
+
},
|
|
8
|
+
$attrs.class,
|
|
9
|
+
$attrs.staticClass,
|
|
10
|
+
]"
|
|
11
|
+
>
|
|
12
|
+
<div class="flex" @click="!hover ? toggle() : null">
|
|
13
|
+
<slot></slot>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<div
|
|
17
|
+
v-if="!hover"
|
|
18
|
+
class="fixed inset-0 opacity-0 z-40"
|
|
19
|
+
:class="[isOpen ? 'visible' : 'invisible']"
|
|
20
|
+
@click.self="close()"
|
|
21
|
+
></div>
|
|
22
|
+
|
|
23
|
+
<div
|
|
24
|
+
class="absolute w-fit bottom-0 left-0 right-0 sm:p-0 transform transition-transform z-50 xpopover-content whitespace-nowrap max-w-xs"
|
|
25
|
+
:class="[
|
|
26
|
+
{
|
|
27
|
+
// align-left
|
|
28
|
+
'left-0 right-auto': align === 'left' && ['bottom', 'top'].includes(position),
|
|
29
|
+
// align-center
|
|
30
|
+
'left-1/2 right-auto -translate-x-1/2': align === 'center' && ['bottom', 'top'].includes(position),
|
|
31
|
+
// align-right
|
|
32
|
+
'right-0 left-auto': align === 'right' && ['bottom', 'top'].includes(position),
|
|
33
|
+
// align-top
|
|
34
|
+
'top-0 bottom-auto': align === 'top' && ['left', 'right'].includes(position),
|
|
35
|
+
// align-middle
|
|
36
|
+
'-translate-y-1/2 top-1/2 bottom-auto': align === 'center' && ['left', 'right'].includes(position),
|
|
37
|
+
// align-bottom
|
|
38
|
+
'bottom-0': align === 'bottom' && ['left', 'right'].includes(position),
|
|
39
|
+
|
|
40
|
+
// position-top
|
|
41
|
+
'xpopover-top bottom-full pb-2': position === 'top',
|
|
42
|
+
// position-right
|
|
43
|
+
'xpopover-right left-full pl-2': position === 'right',
|
|
44
|
+
// position-bottom
|
|
45
|
+
'xpopover-bottom top-full bottom-0': position === 'bottom',
|
|
46
|
+
// position-left
|
|
47
|
+
'xpopover-left right-full left-auto pr-2': position === 'left',
|
|
48
|
+
}
|
|
49
|
+
]"
|
|
50
|
+
@click="dismissible ? close() : null"
|
|
51
|
+
>
|
|
52
|
+
<slot name="content"></slot>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
|
|
57
|
+
<script>
|
|
58
|
+
const validator = {
|
|
59
|
+
align: [
|
|
60
|
+
'bottom',
|
|
61
|
+
'center',
|
|
62
|
+
'left',
|
|
63
|
+
'right',
|
|
64
|
+
'top',
|
|
65
|
+
],
|
|
66
|
+
position: [
|
|
67
|
+
'bottom',
|
|
68
|
+
'left',
|
|
69
|
+
'right',
|
|
70
|
+
'top',
|
|
71
|
+
],
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default {
|
|
75
|
+
name: 'XPopover',
|
|
76
|
+
|
|
77
|
+
validator,
|
|
78
|
+
|
|
79
|
+
props: {
|
|
80
|
+
align: {
|
|
81
|
+
type: String,
|
|
82
|
+
default: 'center',
|
|
83
|
+
validator: (value) => validator.align.includes(value),
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
hover: {
|
|
87
|
+
type: Boolean,
|
|
88
|
+
default: false,
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
dismissible: {
|
|
92
|
+
type: Boolean,
|
|
93
|
+
default: true,
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
position: {
|
|
97
|
+
default: 'bottom',
|
|
98
|
+
type: String,
|
|
99
|
+
validator: (value) => validator.position.includes(value),
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
data() {
|
|
104
|
+
return {
|
|
105
|
+
isOpen: false,
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
methods: {
|
|
110
|
+
close() {
|
|
111
|
+
this.isOpen = false
|
|
112
|
+
this.$emit('close')
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
open() {
|
|
116
|
+
this.isOpen = true
|
|
117
|
+
this.$emit('open')
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
toggle() {
|
|
121
|
+
this.isOpen = !this.isOpen
|
|
122
|
+
this.$emit('toggle', this.isOpen)
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
}
|
|
126
|
+
</script>
|
|
127
|
+
|
|
128
|
+
<style lang="css">
|
|
129
|
+
.xpopover-content {
|
|
130
|
+
visibility: hidden;
|
|
131
|
+
transition-duration: .1s;
|
|
132
|
+
transition-timing-function: cubic-bezier(.4,0,1,1);
|
|
133
|
+
}
|
|
134
|
+
.xpopover-top {
|
|
135
|
+
--tw-translate-y: 0.5rem;
|
|
136
|
+
}
|
|
137
|
+
.xpopover-right {
|
|
138
|
+
--tw-translate-x: -0.5rem;
|
|
139
|
+
}
|
|
140
|
+
.xpopover-bottom {
|
|
141
|
+
--tw-translate-y: -0.25rem;
|
|
142
|
+
}
|
|
143
|
+
.xpopover-left {
|
|
144
|
+
--tw-translate-x: 0.5rem;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.xpopover.hover:hover .xpopover-content,
|
|
148
|
+
.xpopover.is-open .xpopover-content {
|
|
149
|
+
visibility: visible;
|
|
150
|
+
transition-duration: .15s;
|
|
151
|
+
transition-timing-function: cubic-bezier(0,0,.2,1);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.xpopover.hover:hover .xpopover-top,
|
|
155
|
+
.xpopover.is-open .xpopover-top {
|
|
156
|
+
--tw-translate-y: 0.25rem;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.xpopover.hover:hover .xpopover-right,
|
|
160
|
+
.xpopover.is-open .xpopover-right {
|
|
161
|
+
--tw-translate-x: 0px;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.xpopover.hover:hover .xpopover-bottom,
|
|
165
|
+
.xpopover.is-open .xpopover-bottom {
|
|
166
|
+
--tw-translate-y: 0.25rem;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.xpopover.hover:hover .xpopover-left,
|
|
170
|
+
.xpopover.is-open .xpopover-left {
|
|
171
|
+
--tw-translate-x: 0px;
|
|
172
|
+
}
|
|
173
|
+
</style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="tag"
|
|
4
|
+
class="inline-block w-full bg-white dark:bg-gray-700 shadow-lg rounded-md border-t border border-gray-200 dark:border-gray-800"
|
|
5
|
+
>
|
|
6
|
+
<slot></slot>
|
|
7
|
+
</component>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: 'XPopoverContainer',
|
|
13
|
+
|
|
14
|
+
props: {
|
|
15
|
+
tag: {
|
|
16
|
+
default: 'div',
|
|
17
|
+
type: String,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
created() {
|
|
22
|
+
if (this.$parent.$options.name !== 'XPopover') {
|
|
23
|
+
this.$destroy()
|
|
24
|
+
throw new Error('PopoverContainer must be wrap with Popover')
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="tag"
|
|
4
|
+
class="px-2 py-1 block rounded transition-colors duration-100 ease-in-out whitespace-nowrap"
|
|
5
|
+
:class="[
|
|
6
|
+
{
|
|
7
|
+
'flex items-center': $slots.prefix || $slots.suffix,
|
|
8
|
+
'hover:bg-gray-100 dark:hover:bg-gray-800': variant === 'base' && !disabled,
|
|
9
|
+
'hover:text-error-500 hover:bg-error-50': variant === 'error' && !disabled,
|
|
10
|
+
'opacity-70': disabled,
|
|
11
|
+
'cursor-pointer': !disabled,
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
]"
|
|
15
|
+
>
|
|
16
|
+
<span
|
|
17
|
+
v-if="$slots.prefix"
|
|
18
|
+
class="inline-flex items-center mr-2"
|
|
19
|
+
>
|
|
20
|
+
<slot name="prefix"></slot>
|
|
21
|
+
</span>
|
|
22
|
+
<span :class="{ 'flex-1': $slots.prefix || $slots.suffix }">
|
|
23
|
+
<slot></slot>
|
|
24
|
+
</span>
|
|
25
|
+
<span
|
|
26
|
+
v-if="$slots.suffix"
|
|
27
|
+
class="inline-flex items-center ml-1"
|
|
28
|
+
>
|
|
29
|
+
<slot name="suffix"></slot>
|
|
30
|
+
</span>
|
|
31
|
+
</component>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<script>
|
|
35
|
+
const validator = {
|
|
36
|
+
variant: [
|
|
37
|
+
'base',
|
|
38
|
+
'error',
|
|
39
|
+
],
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default {
|
|
43
|
+
name: 'XPopoverItem',
|
|
44
|
+
|
|
45
|
+
validator,
|
|
46
|
+
|
|
47
|
+
props: {
|
|
48
|
+
disabled: {
|
|
49
|
+
default: false,
|
|
50
|
+
type: Boolean,
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
variant: {
|
|
54
|
+
default: 'base',
|
|
55
|
+
type: String,
|
|
56
|
+
validator: (value) => validator.variant.includes(value),
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
tag: {
|
|
60
|
+
default: 'div',
|
|
61
|
+
type: String,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component :is="tag" class="w-full">
|
|
3
|
+
<div
|
|
4
|
+
v-if="variant === 'bar'"
|
|
5
|
+
class="rounded-lg bg-gray-200 dark:bg-gray-700 overflow-hidden"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
class="h-2 rounded-lg transition-all duration-200"
|
|
9
|
+
:class="[`bg-${color}-500`]"
|
|
10
|
+
:style="{
|
|
11
|
+
width: `${percentage}%`,
|
|
12
|
+
}"
|
|
13
|
+
></div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<svg
|
|
17
|
+
v-if="variant === 'circle'"
|
|
18
|
+
class="transform -rotate-90"
|
|
19
|
+
viewBox="0 0 100 100"
|
|
20
|
+
>
|
|
21
|
+
<circle
|
|
22
|
+
class="text-gray-200 dark:text-gray-700"
|
|
23
|
+
stroke="currentColor"
|
|
24
|
+
stroke-linejoin="round"
|
|
25
|
+
stroke-linecap="round"
|
|
26
|
+
stroke-width="4"
|
|
27
|
+
fill="none"
|
|
28
|
+
cx="50"
|
|
29
|
+
cy="50"
|
|
30
|
+
r="40"
|
|
31
|
+
/>
|
|
32
|
+
<circle
|
|
33
|
+
class="transition-all duration-200"
|
|
34
|
+
:class="[`text-${color}-500`]"
|
|
35
|
+
:style="{ strokeDasharray: `${circleProgress} 252` }"
|
|
36
|
+
stroke="currentColor"
|
|
37
|
+
stroke-linejoin="round"
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
stroke-width="4"
|
|
40
|
+
fill="none"
|
|
41
|
+
cx="50"
|
|
42
|
+
cy="50"
|
|
43
|
+
r="40"
|
|
44
|
+
/>
|
|
45
|
+
</svg>
|
|
46
|
+
|
|
47
|
+
<div
|
|
48
|
+
v-if="variant === 'score'"
|
|
49
|
+
class="space-x-1 inline-block"
|
|
50
|
+
>
|
|
51
|
+
<div
|
|
52
|
+
v-for="index in scoreLength"
|
|
53
|
+
:key="index"
|
|
54
|
+
class="rounded-sm h-2 w-3 inline-block"
|
|
55
|
+
:class="isScoreActive(index) ? [`bg-${color}-500`]: ['bg-gray-200 dark:bg-gray-700']"
|
|
56
|
+
></div>
|
|
57
|
+
</div>
|
|
58
|
+
</component>
|
|
59
|
+
</template>
|
|
60
|
+
|
|
61
|
+
<script>
|
|
62
|
+
const validator = {
|
|
63
|
+
variant: [
|
|
64
|
+
'bar',
|
|
65
|
+
'circle',
|
|
66
|
+
'score',
|
|
67
|
+
],
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default {
|
|
71
|
+
name: 'XProgress',
|
|
72
|
+
|
|
73
|
+
validator,
|
|
74
|
+
|
|
75
|
+
props: {
|
|
76
|
+
color: {
|
|
77
|
+
type: String,
|
|
78
|
+
default: 'primary',
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
percentage: {
|
|
82
|
+
type: Number,
|
|
83
|
+
default: 0,
|
|
84
|
+
validator: (val) => val >= 0 && val <= 100,
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
scoreLength: {
|
|
88
|
+
type: Number,
|
|
89
|
+
default: 3,
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
tag: {
|
|
93
|
+
type: String,
|
|
94
|
+
default: 'div',
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
variant: {
|
|
98
|
+
type: String,
|
|
99
|
+
default: 'bar',
|
|
100
|
+
validator: (value) => validator.variant.includes(value),
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
computed: {
|
|
105
|
+
circleProgress() {
|
|
106
|
+
const progressLimit = 251
|
|
107
|
+
|
|
108
|
+
return (progressLimit / 100) * this.percentage
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
methods: {
|
|
113
|
+
isScoreActive(item) {
|
|
114
|
+
if (this.percentage > (item - 1) * (100 / this.scoreLength)) return true
|
|
115
|
+
|
|
116
|
+
return false
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
}
|
|
120
|
+
</script>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<label
|
|
3
|
+
ref="focusRef"
|
|
4
|
+
class="inline-block mb-1 relative cursor-pointer focus:outline-none"
|
|
5
|
+
:class="{
|
|
6
|
+
['rounded border p-2 hover:border-gray-500 dark:hover:border-gray-500 transition-colors duration-150 ease-in-out']: bordered,
|
|
7
|
+
[`border-gray-300 dark:border-gray-700`]: bordered && !selected,
|
|
8
|
+
[`border-${color}-500 dark:border-${color}-500`]: bordered && selected && !disabled,
|
|
9
|
+
}"
|
|
10
|
+
:aria-checked="selected ? 'true' : 'false'"
|
|
11
|
+
:aria-disabled="disabled ? 'true' : null"
|
|
12
|
+
:tabindex="0"
|
|
13
|
+
@keypress.prevent.stop.enter.space="$emit('update:modelValue', value)"
|
|
14
|
+
>
|
|
15
|
+
<div
|
|
16
|
+
class="flex items-center"
|
|
17
|
+
:class="{ 'cursor-not-allowed': disabled }"
|
|
18
|
+
>
|
|
19
|
+
<input
|
|
20
|
+
v-model="selected"
|
|
21
|
+
type="radio"
|
|
22
|
+
class="invisible absolute"
|
|
23
|
+
:disabled="disabled || loading"
|
|
24
|
+
:name="name"
|
|
25
|
+
:required="required"
|
|
26
|
+
:value="modelValue"
|
|
27
|
+
/>
|
|
28
|
+
<div
|
|
29
|
+
class="rounded-full flex justify-center items-center flex-shrink-0"
|
|
30
|
+
:class="[
|
|
31
|
+
{
|
|
32
|
+
// shadow
|
|
33
|
+
'shadow': !flat && !loading,
|
|
34
|
+
[`shadow-lg shadow-${color}-500/50`]: !flat && glow && selected,
|
|
35
|
+
|
|
36
|
+
'h-4 w-4': size === 'sm' || size === 'xs',
|
|
37
|
+
'h-5 w-5': !['xs', 'sm', 'xl'].includes(size),
|
|
38
|
+
'h-6 w-6': size === 'xl',
|
|
39
|
+
},
|
|
40
|
+
disabled ? {
|
|
41
|
+
'bg-gray-500 border-gray-600 dark:border-gray-400': selected,
|
|
42
|
+
'bg-gray-200 border-gray-300 dark:border-gray-700': !selected,
|
|
43
|
+
} :
|
|
44
|
+
{
|
|
45
|
+
[`bg-${color}-500 border-${color}-500`]: selected && !loading,
|
|
46
|
+
'border bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-700': !selected && !loading,
|
|
47
|
+
}
|
|
48
|
+
]"
|
|
49
|
+
>
|
|
50
|
+
<x-spinner v-if="loading" :size="size" class="absolute" />
|
|
51
|
+
<svg
|
|
52
|
+
v-else
|
|
53
|
+
class="fill-current text-gray-100"
|
|
54
|
+
:class="{
|
|
55
|
+
'opacity-0': !selected,
|
|
56
|
+
'h-2 w-2': size === 'sm' || size === 'xs',
|
|
57
|
+
'h-3 w-3': !['xs', 'sm', 'xl'].includes(size),
|
|
58
|
+
'h-4 w-4': size === 'xl',
|
|
59
|
+
}"
|
|
60
|
+
viewBox="0 0 20 20"
|
|
61
|
+
>
|
|
62
|
+
<path d="M0 11l2-2 5 5L18 3l2 2L7 18z" />
|
|
63
|
+
</svg>
|
|
64
|
+
</div>
|
|
65
|
+
<span
|
|
66
|
+
v-if="label"
|
|
67
|
+
class="font-medium text-gray-800 dark:text-gray-200 pl-2"
|
|
68
|
+
:class="{
|
|
69
|
+
'text-xs': size === 'xs',
|
|
70
|
+
'text-sm': size === 'sm',
|
|
71
|
+
'text-lg': size === 'lg',
|
|
72
|
+
'text-xl': size === 'xl',
|
|
73
|
+
}"
|
|
74
|
+
v-text="label"
|
|
75
|
+
></span>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<div
|
|
79
|
+
v-if="$slots.default"
|
|
80
|
+
:class="{
|
|
81
|
+
'text-xs pl-6': size === 'xs',
|
|
82
|
+
'text-sm pl-6': size === 'sm',
|
|
83
|
+
'pl-7': !['xs', 'sm', 'lg', 'xl'].includes(size),
|
|
84
|
+
'text-lg pl-7': size === 'lg',
|
|
85
|
+
'text-lg pl-8': size === 'xl',
|
|
86
|
+
}"
|
|
87
|
+
>
|
|
88
|
+
<slot></slot>
|
|
89
|
+
</div>
|
|
90
|
+
<p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
|
|
91
|
+
</label>
|
|
92
|
+
</template>
|
|
93
|
+
|
|
94
|
+
<script>
|
|
95
|
+
import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
|
|
96
|
+
import XSpinner from '../spinner/Spinner.vue'
|
|
97
|
+
|
|
98
|
+
export default {
|
|
99
|
+
name: 'XRadio',
|
|
100
|
+
components: {
|
|
101
|
+
XSpinner,
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
validator: {
|
|
105
|
+
...withValidator(),
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
props: {
|
|
109
|
+
...withProps(),
|
|
110
|
+
bordered: {
|
|
111
|
+
type: Boolean,
|
|
112
|
+
default: false,
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
value: {
|
|
116
|
+
type: [String, Number, Boolean, Function, Object, Array],
|
|
117
|
+
default: null,
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
label: {
|
|
121
|
+
type: String,
|
|
122
|
+
default: null,
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
glow: {
|
|
126
|
+
type: Boolean,
|
|
127
|
+
default: false,
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
emits: withEmits(false),
|
|
132
|
+
|
|
133
|
+
setup(props, { attrs, emit }) {
|
|
134
|
+
return {
|
|
135
|
+
...useInputtable(props, { attrs, emit, useListeners: false }),
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
computed: {
|
|
140
|
+
selected: {
|
|
141
|
+
get() {
|
|
142
|
+
return this.value === this.modelValue
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
set() {
|
|
146
|
+
this.$emit('update:modelValue', this.value)
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
}
|
|
151
|
+
</script>
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<label class="inline-block mb-1 relative pb-2">
|
|
3
|
+
<p
|
|
4
|
+
v-if="label"
|
|
5
|
+
class="font-medium text-gray-800 dark:text-gray-200 mb-1"
|
|
6
|
+
:class="{
|
|
7
|
+
'text-xs': size === 'xs',
|
|
8
|
+
'text-sm': size === 'sm',
|
|
9
|
+
'text-lg': size === 'lg',
|
|
10
|
+
'text-xl': size === 'xl',
|
|
11
|
+
}"
|
|
12
|
+
v-text="label"
|
|
13
|
+
></p>
|
|
14
|
+
|
|
15
|
+
<div class="relative">
|
|
16
|
+
<select
|
|
17
|
+
ref="focusRef"
|
|
18
|
+
v-model="selected"
|
|
19
|
+
class="block appearance-none w-full border border-gray-300 dark:border-gray-700 pr-8 rounded-form leading-tight
|
|
20
|
+
focus:outline-none focus:border-primary-500 dark:focus:border-primary-500 transition-colors duration-150 ease-in-out"
|
|
21
|
+
:class="[
|
|
22
|
+
disabled
|
|
23
|
+
? 'bg-gray-200 dark:bg-gray-800 text-gray-800 dark:text-gray-200 cursor-not-allowed'
|
|
24
|
+
: 'bg-white dark:bg-gray-900',
|
|
25
|
+
{
|
|
26
|
+
// shadow
|
|
27
|
+
'shadow': !flat,
|
|
28
|
+
|
|
29
|
+
// size
|
|
30
|
+
'py-1': size === 'auto',
|
|
31
|
+
'px-2 py-1 text-xs': size === 'xs',
|
|
32
|
+
'px-2 py-1 text-sm': size === 'sm',
|
|
33
|
+
'px-3 py-2': !['auto', 'xs', 'sm', 'lg', 'xl'].includes(size),
|
|
34
|
+
'px-4 py-3 text-lg': size === 'lg',
|
|
35
|
+
'px-6 py-6 text-xl': size === 'xl',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
'text-gray-400 dark:text-gray-500': modelValue === '' || modelValue === null,
|
|
39
|
+
|
|
40
|
+
// error
|
|
41
|
+
'border-error-500 focus:border-error-500 dark:focus:border-error-500': errorInternal,
|
|
42
|
+
},
|
|
43
|
+
]"
|
|
44
|
+
:disabled="disabled || loading"
|
|
45
|
+
:name="name"
|
|
46
|
+
:readonly="readonly"
|
|
47
|
+
:value="modelValue"
|
|
48
|
+
v-on="inputListeners"
|
|
49
|
+
>
|
|
50
|
+
<option
|
|
51
|
+
v-if="placeholder"
|
|
52
|
+
disabled
|
|
53
|
+
value=""
|
|
54
|
+
>
|
|
55
|
+
{{ placeholder }}
|
|
56
|
+
</option>
|
|
57
|
+
<option
|
|
58
|
+
v-for="(option, index) in options"
|
|
59
|
+
:key="index"
|
|
60
|
+
:value="option.value"
|
|
61
|
+
:disabled="option.disabled"
|
|
62
|
+
>
|
|
63
|
+
{{ option.label }}
|
|
64
|
+
</option>
|
|
65
|
+
<slot></slot>
|
|
66
|
+
</select>
|
|
67
|
+
|
|
68
|
+
<div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2">
|
|
69
|
+
<x-spinner v-if="loading" :size="size" />
|
|
70
|
+
<svg
|
|
71
|
+
v-else
|
|
72
|
+
class="stroke-2"
|
|
73
|
+
:class="[
|
|
74
|
+
disabled ? 'text-gray-600 dark:text-gray-400': 'text-gray-700 dark:text-gray-300',
|
|
75
|
+
{
|
|
76
|
+
'h-3 w-3': size === 'sm' || size === 'xs',
|
|
77
|
+
'h-4 w-4': !['xs', 'sm', 'xl'].includes(size),
|
|
78
|
+
'h-5 w-5': size === 'xl',
|
|
79
|
+
}
|
|
80
|
+
]"
|
|
81
|
+
viewBox="0 0 24 24"
|
|
82
|
+
stroke="currentColor"
|
|
83
|
+
stroke-linejoin="round"
|
|
84
|
+
stroke-linecap="round"
|
|
85
|
+
fill="none"
|
|
86
|
+
>
|
|
87
|
+
<path d="M18 8L12 2L6 8" />
|
|
88
|
+
<path d="M18 16L12 22L6 16" />
|
|
89
|
+
</svg>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<p v-if="errorInternal" class="text-sm text-error-500 mt-1" v-text="errorInternal"></p>
|
|
94
|
+
</label>
|
|
95
|
+
</template>
|
|
96
|
+
|
|
97
|
+
<script>
|
|
98
|
+
import { withProps, withValidator, withEmits, useInputtable } from '../../composables/inputtable'
|
|
99
|
+
import XSpinner from '../spinner/Spinner.vue'
|
|
100
|
+
|
|
101
|
+
export default {
|
|
102
|
+
name: 'XSelect',
|
|
103
|
+
components: {
|
|
104
|
+
XSpinner,
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
validator: {
|
|
108
|
+
...withValidator(),
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
props: {
|
|
112
|
+
...withProps(),
|
|
113
|
+
|
|
114
|
+
placeholder: {
|
|
115
|
+
type: String,
|
|
116
|
+
default: null,
|
|
117
|
+
},
|
|
118
|
+
|
|
119
|
+
flat: {
|
|
120
|
+
type: Boolean,
|
|
121
|
+
default: false,
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
label: {
|
|
125
|
+
type: String,
|
|
126
|
+
default: null,
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
options: {
|
|
130
|
+
type: Array,
|
|
131
|
+
default: null,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
emits: withEmits(false),
|
|
136
|
+
|
|
137
|
+
setup(props, { attrs, emit }) {
|
|
138
|
+
return {
|
|
139
|
+
...useInputtable(props, { attrs, emit, useListeners: false }),
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
computed: {
|
|
144
|
+
selected: {
|
|
145
|
+
get() {
|
|
146
|
+
return this.modelValue
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
set(val) {
|
|
150
|
+
this.$emit('update:modelValue', val)
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
}
|
|
155
|
+
</script>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="tag"
|
|
4
|
+
class="animate-pulse bg-gray-300 dark:bg-gray-600 rounded-md"
|
|
5
|
+
>
|
|
6
|
+
​
|
|
7
|
+
</component>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: 'XSkeleton',
|
|
13
|
+
|
|
14
|
+
props: {
|
|
15
|
+
tag: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: 'div',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
</script>
|