@gspa/ui 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-B3TkBTvG.js +205 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-DZxttvYH.cjs +1 -0
- package/dist/DataTable.css +1 -0
- package/dist/DataTableToolBar.css +1 -0
- package/dist/FormField.vue_vue_type_script_setup_true_lang-DimMUyA-.js +205 -0
- package/dist/FormField.vue_vue_type_script_setup_true_lang-mEO-VA6R.cjs +1 -0
- package/dist/Header.css +1 -0
- package/dist/Input.vue_vue_type_script_setup_true_lang-C1OQn24h.cjs +1 -0
- package/dist/Input.vue_vue_type_script_setup_true_lang-CpBoY97r.js +137 -0
- package/dist/Loader.css +1 -0
- package/dist/ReminderConfig.css +1 -0
- package/dist/ReusableForm.css +1 -0
- package/dist/Sidebar.css +1 -0
- package/dist/Toast.css +1 -0
- package/dist/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/components/Accordion.cjs +1 -0
- package/dist/components/Accordion.js +192 -0
- package/dist/components/AccordionItem.cjs +1 -0
- package/dist/components/AccordionItem.js +109 -0
- package/dist/components/AddReminderModal.cjs +1 -0
- package/dist/components/AddReminderModal.js +107 -0
- package/dist/components/Alert.cjs +1 -0
- package/dist/components/Alert.js +227 -0
- package/dist/components/Avatar.cjs +1 -0
- package/dist/components/Avatar.js +86 -0
- package/dist/components/Badge.cjs +1 -0
- package/dist/components/Badge.js +109 -0
- package/dist/components/Breadcrumb.cjs +1 -0
- package/dist/components/Breadcrumb.js +72 -0
- package/dist/components/Button.cjs +1 -0
- package/dist/components/Button.js +4 -0
- package/dist/components/ButtonGroup.cjs +1 -0
- package/dist/components/ButtonGroup.js +46 -0
- package/dist/components/Calendar.cjs +1 -0
- package/dist/components/Calendar.js +341 -0
- package/dist/components/Card.cjs +1 -0
- package/dist/components/Card.js +316 -0
- package/dist/components/CardBody.cjs +1 -0
- package/dist/components/CardBody.js +34 -0
- package/dist/components/CardContent.cjs +1 -0
- package/dist/components/CardContent.js +17 -0
- package/dist/components/CardFooter.cjs +1 -0
- package/dist/components/CardFooter.js +34 -0
- package/dist/components/CardHeader.cjs +1 -0
- package/dist/components/CardHeader.js +91 -0
- package/dist/components/CardTitle.cjs +1 -0
- package/dist/components/CardTitle.js +17 -0
- package/dist/components/Checkbox.cjs +1 -0
- package/dist/components/Checkbox.js +185 -0
- package/dist/components/CircularProgress.cjs +1 -0
- package/dist/components/CircularProgress.js +141 -0
- package/dist/components/DataTable.cjs +1 -0
- package/dist/components/DataTable.js +863 -0
- package/dist/components/DataTableCell.cjs +1 -0
- package/dist/components/DataTableCell.js +95 -0
- package/dist/components/DataTableFilters.cjs +1 -0
- package/dist/components/DataTableFilters.js +519 -0
- package/dist/components/DataTableHeader.cjs +1 -0
- package/dist/components/DataTableHeader.js +116 -0
- package/dist/components/DataTablePagination.cjs +1 -0
- package/dist/components/DataTablePagination.js +290 -0
- package/dist/components/DataTableRow.cjs +1 -0
- package/dist/components/DataTableRow.js +199 -0
- package/dist/components/DataTableToolBar.cjs +1 -0
- package/dist/components/DataTableToolBar.js +477 -0
- package/dist/components/DatePicker.cjs +1 -0
- package/dist/components/DatePicker.js +401 -0
- package/dist/components/Divider.cjs +1 -0
- package/dist/components/Divider.js +103 -0
- package/dist/components/Dropdown.cjs +1 -0
- package/dist/components/Dropdown.js +104 -0
- package/dist/components/DropdownItem.cjs +1 -0
- package/dist/components/DropdownItem.js +60 -0
- package/dist/components/EventsCalendar.cjs +1 -0
- package/dist/components/EventsCalendar.js +863 -0
- package/dist/components/FileUpload.cjs +1 -0
- package/dist/components/FileUpload.js +195 -0
- package/dist/components/FilterDrawer.cjs +1 -0
- package/dist/components/FilterDrawer.js +412 -0
- package/dist/components/Footer.cjs +1 -0
- package/dist/components/Footer.js +157 -0
- package/dist/components/FormField.cjs +1 -0
- package/dist/components/FormField.js +4 -0
- package/dist/components/Graph.cjs +1 -0
- package/dist/components/Graph.js +164 -0
- package/dist/components/GraphFilters.cjs +1 -0
- package/dist/components/GraphFilters.js +305 -0
- package/dist/components/Header.cjs +1 -0
- package/dist/components/Header.js +674 -0
- package/dist/components/Icon.cjs +1 -0
- package/dist/components/Icon.js +58 -0
- package/dist/components/Image.cjs +1 -0
- package/dist/components/Image.js +112 -0
- package/dist/components/Input.cjs +1 -0
- package/dist/components/Input.js +4 -0
- package/dist/components/InputGroup.cjs +1 -0
- package/dist/components/InputGroup.js +45 -0
- package/dist/components/Label.cjs +1 -0
- package/dist/components/Label.js +46 -0
- package/dist/components/Link.cjs +1 -0
- package/dist/components/Link.js +119 -0
- package/dist/components/ListItem.cjs +1 -0
- package/dist/components/ListItem.js +89 -0
- package/dist/components/Loader.cjs +1 -0
- package/dist/components/Loader.js +154 -0
- package/dist/components/Logo.cjs +1 -0
- package/dist/components/Logo.js +67 -0
- package/dist/components/MenuItem.cjs +1 -0
- package/dist/components/MenuItem.js +66 -0
- package/dist/components/Modal.cjs +1 -0
- package/dist/components/Modal.js +110 -0
- package/dist/components/ModalBody.cjs +1 -0
- package/dist/components/ModalBody.js +33 -0
- package/dist/components/ModalFooter.cjs +1 -0
- package/dist/components/ModalFooter.js +33 -0
- package/dist/components/ModalHeader.cjs +1 -0
- package/dist/components/ModalHeader.js +24 -0
- package/dist/components/MultiSelect.cjs +1 -0
- package/dist/components/MultiSelect.js +211 -0
- package/dist/components/Notification.cjs +1 -0
- package/dist/components/Notification.js +121 -0
- package/dist/components/Option.cjs +1 -0
- package/dist/components/Option.js +44 -0
- package/dist/components/Progress.cjs +1 -0
- package/dist/components/Progress.js +77 -0
- package/dist/components/ProgressBar.cjs +1 -0
- package/dist/components/ProgressBar.js +101 -0
- package/dist/components/Radio.cjs +1 -0
- package/dist/components/Radio.js +81 -0
- package/dist/components/RailNav.cjs +1 -0
- package/dist/components/RailNav.js +124 -0
- package/dist/components/ReminderConfig.cjs +1 -0
- package/dist/components/ReminderConfig.js +375 -0
- package/dist/components/ReusableForm.cjs +1 -0
- package/dist/components/ReusableForm.js +686 -0
- package/dist/components/ReusableFormModal.cjs +1 -0
- package/dist/components/ReusableFormModal.js +112 -0
- package/dist/components/RightDrawer.cjs +1 -0
- package/dist/components/RightDrawer.js +143 -0
- package/dist/components/Search.cjs +1 -0
- package/dist/components/Search.js +252 -0
- package/dist/components/Select.cjs +1 -0
- package/dist/components/Select.js +243 -0
- package/dist/components/Sidebar.cjs +1 -0
- package/dist/components/Sidebar.js +372 -0
- package/dist/components/Slider.cjs +1 -0
- package/dist/components/Slider.js +42 -0
- package/dist/components/Spinner.cjs +1 -0
- package/dist/components/Spinner.js +87 -0
- package/dist/components/Stepper.cjs +1 -0
- package/dist/components/Stepper.js +12 -0
- package/dist/components/StepperItem.cjs +1 -0
- package/dist/components/StepperItem.js +33 -0
- package/dist/components/Switch.cjs +1 -0
- package/dist/components/Switch.js +112 -0
- package/dist/components/Tab.cjs +1 -0
- package/dist/components/Tab.js +134 -0
- package/dist/components/TabPanel.cjs +1 -0
- package/dist/components/TabPanel.js +49 -0
- package/dist/components/Text.cjs +1 -0
- package/dist/components/Text.js +84 -0
- package/dist/components/Textarea.cjs +1 -0
- package/dist/components/Textarea.js +102 -0
- package/dist/components/ThemeConfigurator.cjs +1 -0
- package/dist/components/ThemeConfigurator.js +73 -0
- package/dist/components/Timeline.cjs +1 -0
- package/dist/components/Timeline.js +24 -0
- package/dist/components/TimelineItem.cjs +1 -0
- package/dist/components/TimelineItem.js +63 -0
- package/dist/components/Toast.cjs +1 -0
- package/dist/components/Toast.js +231 -0
- package/dist/components/Tooltip.cjs +1 -0
- package/dist/components/Tooltip.js +124 -0
- package/dist/components/Typography.cjs +1 -0
- package/dist/components/Typography.js +267 -0
- package/dist/components/charts/BarChart.cjs +1 -0
- package/dist/components/charts/BarChart.js +323 -0
- package/dist/components/charts/LineChart.cjs +1 -0
- package/dist/components/charts/LineChart.js +322 -0
- package/dist/components/charts/PieChart.cjs +1 -0
- package/dist/components/charts/PieChart.js +311 -0
- package/dist/components/charts/StackedBarChart.cjs +1 -0
- package/dist/components/charts/StackedBarChart.js +348 -0
- package/dist/components/widgets/DashboardWidget.cjs +1 -0
- package/dist/components/widgets/DashboardWidget.js +309 -0
- package/dist/directives/tooltip.cjs +47 -0
- package/dist/directives/tooltip.js +115 -0
- package/dist/gspa-ui.css +1 -1
- package/dist/index.cjs +1 -0
- package/dist/index.esm.js +315 -19546
- package/dist/layouts/AuthLayout.cjs +1 -0
- package/dist/layouts/AuthLayout.js +188 -0
- package/dist/layouts/DashboardLayout.cjs +1 -0
- package/dist/layouts/DashboardLayout.js +244 -0
- package/dist/layouts/DefaultLayout.cjs +1 -0
- package/dist/layouts/DefaultLayout.js +94 -0
- package/dist/layouts/ErrorLayout.cjs +1 -0
- package/dist/layouts/ErrorLayout.js +452 -0
- package/dist/lib/auth.cjs +1 -0
- package/dist/lib/auth.js +4 -0
- package/dist/lib/form-field.cjs +1 -0
- package/dist/lib/form-field.js +4 -0
- package/dist/lib/icon.cjs +1 -0
- package/dist/lib/icon.js +4 -0
- package/dist/lib/theme.cjs +1 -0
- package/dist/lib/theme.js +145 -0
- package/dist/lib/toast.cjs +1 -0
- package/dist/lib/toast.js +81 -0
- package/dist/src/components/Alert.vue.d.ts.map +1 -1
- package/dist/src/components/Button.vue.d.ts +127 -29
- package/dist/src/components/Button.vue.d.ts.map +1 -1
- package/dist/src/components/Checkbox.vue.d.ts +2 -2
- package/dist/src/components/DataTable.vue.d.ts +1 -1
- package/dist/src/components/FormField.vue.d.ts +106 -38
- package/dist/src/components/FormField.vue.d.ts.map +1 -1
- package/dist/src/components/Icon.vue.d.ts.map +1 -1
- package/dist/src/components/Input.vue.d.ts +137 -33
- package/dist/src/components/Input.vue.d.ts.map +1 -1
- package/dist/src/components/ReusableForm.vue.d.ts +1 -1
- package/dist/src/components/ReusableForm.vue.d.ts.map +1 -1
- package/dist/src/components/ReusableFormModal.vue.d.ts +1 -1
- package/dist/src/components/Textarea.vue.d.ts +2 -2
- package/dist/src/index.d.ts +9 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/layouts/AuthLayout.vue.d.ts +2 -0
- package/dist/src/layouts/AuthLayout.vue.d.ts.map +1 -1
- package/dist/src/lib/form-field.d.ts +2 -0
- package/dist/src/lib/form-field.d.ts.map +1 -0
- package/dist/src/lib/icon.d.ts +2 -0
- package/dist/src/lib/icon.d.ts.map +1 -0
- package/dist/src/lib/theme.d.ts +4 -0
- package/dist/src/lib/theme.d.ts.map +1 -1
- package/dist/src/types.d.ts +44 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/styles/auth-layout.css +1 -0
- package/dist/styles/button.css +1 -0
- package/dist/styles/form-field.css +1 -0
- package/dist/styles/input.css +1 -0
- package/dist/styles/tokens.css +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/cn.cjs +1 -0
- package/dist/utils/cn.js +7 -0
- package/package.json +45 -8
- package/dist/index.js +0 -605
- package/dist/src/__tests__/Alert.spec.d.ts +0 -2
- package/dist/src/__tests__/Alert.spec.d.ts.map +0 -1
- package/dist/src/__tests__/App.spec.d.ts +0 -2
- package/dist/src/__tests__/App.spec.d.ts.map +0 -1
- package/dist/src/__tests__/AuthLayout.spec.d.ts +0 -2
- package/dist/src/__tests__/AuthLayout.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Badge.spec.d.ts +0 -2
- package/dist/src/__tests__/Badge.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Button.spec.d.ts +0 -2
- package/dist/src/__tests__/Button.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Card.spec.d.ts +0 -2
- package/dist/src/__tests__/Card.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Checkbox.spec.d.ts +0 -2
- package/dist/src/__tests__/Checkbox.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Dropdown.spec.d.ts +0 -2
- package/dist/src/__tests__/Dropdown.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Input.spec.d.ts +0 -2
- package/dist/src/__tests__/Input.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Modal.spec.d.ts +0 -2
- package/dist/src/__tests__/Modal.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Radio.spec.d.ts +0 -2
- package/dist/src/__tests__/Radio.spec.d.ts.map +0 -1
- package/dist/src/__tests__/ReusableForm.spec.d.ts +0 -2
- package/dist/src/__tests__/ReusableForm.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Tabs.spec.d.ts +0 -2
- package/dist/src/__tests__/Tabs.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/CardIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/CardIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/FormIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/FormIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts.map +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { computed as v, createElementBlock as t, createCommentVNode as d, openBlock as l, normalizeStyle as s, normalizeClass as f, createElementVNode as r, toDisplayString as y, Fragment as u, renderList as c } from "vue";
|
|
2
|
+
import { _ as b } from "../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
3
|
+
const x = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "loader__backdrop"
|
|
6
|
+
}, _ = { class: "loader__container" }, k = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "loader__text loader__text--top"
|
|
9
|
+
}, g = {
|
|
10
|
+
key: 1,
|
|
11
|
+
class: "loader__spin"
|
|
12
|
+
}, p = {
|
|
13
|
+
key: 2,
|
|
14
|
+
class: "loader__pulse"
|
|
15
|
+
}, h = {
|
|
16
|
+
key: 3,
|
|
17
|
+
class: "loader__bounce"
|
|
18
|
+
}, S = {
|
|
19
|
+
key: 4,
|
|
20
|
+
class: "loader__ripple"
|
|
21
|
+
}, $ = {
|
|
22
|
+
key: 5,
|
|
23
|
+
class: "loader__bars"
|
|
24
|
+
}, B = {
|
|
25
|
+
key: 6,
|
|
26
|
+
class: "loader__dots"
|
|
27
|
+
}, D = {
|
|
28
|
+
key: 7,
|
|
29
|
+
class: "loader__ring"
|
|
30
|
+
}, z = {
|
|
31
|
+
key: 8,
|
|
32
|
+
class: "loader__spinner-text"
|
|
33
|
+
}, C = {
|
|
34
|
+
key: 9,
|
|
35
|
+
class: "loader__text loader__text--bottom"
|
|
36
|
+
}, L = {
|
|
37
|
+
__name: "Loader",
|
|
38
|
+
props: {
|
|
39
|
+
loading: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: !0
|
|
42
|
+
},
|
|
43
|
+
type: {
|
|
44
|
+
type: String,
|
|
45
|
+
default: "spin",
|
|
46
|
+
validator: (e) => [
|
|
47
|
+
"spin",
|
|
48
|
+
"pulse",
|
|
49
|
+
"bounce",
|
|
50
|
+
"ripple",
|
|
51
|
+
"bars",
|
|
52
|
+
"dots",
|
|
53
|
+
"ring",
|
|
54
|
+
"spinner-text"
|
|
55
|
+
].includes(e)
|
|
56
|
+
},
|
|
57
|
+
size: {
|
|
58
|
+
type: String,
|
|
59
|
+
default: "medium",
|
|
60
|
+
validator: (e) => ["small", "medium", "large", "xl", "2xl", "3xl"].includes(e)
|
|
61
|
+
},
|
|
62
|
+
color: {
|
|
63
|
+
type: String,
|
|
64
|
+
default: "var(--ui-primary)"
|
|
65
|
+
},
|
|
66
|
+
backgroundColor: {
|
|
67
|
+
type: String,
|
|
68
|
+
default: "color-mix(in oklab, var(--ui-surface), transparent 8%)"
|
|
69
|
+
},
|
|
70
|
+
blur: {
|
|
71
|
+
type: [Number, String],
|
|
72
|
+
default: 0
|
|
73
|
+
},
|
|
74
|
+
text: {
|
|
75
|
+
type: String,
|
|
76
|
+
default: ""
|
|
77
|
+
},
|
|
78
|
+
textPosition: {
|
|
79
|
+
type: String,
|
|
80
|
+
default: "bottom",
|
|
81
|
+
validator: (e) => ["top", "bottom"].includes(e)
|
|
82
|
+
},
|
|
83
|
+
overlay: {
|
|
84
|
+
type: Boolean,
|
|
85
|
+
default: !1
|
|
86
|
+
},
|
|
87
|
+
fullscreen: {
|
|
88
|
+
type: Boolean,
|
|
89
|
+
default: !1
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
setup(e) {
|
|
93
|
+
const o = e, m = v(() => {
|
|
94
|
+
if (o.blur === null || o.blur === void 0 || o.blur === "") return "0px";
|
|
95
|
+
if (typeof o.blur == "number") return `${o.blur}px`;
|
|
96
|
+
const n = o.blur.trim();
|
|
97
|
+
return n ? /^-?\d*\.?\d+$/.test(n) ? `${n}px` : n : "0px";
|
|
98
|
+
});
|
|
99
|
+
return (n, i) => e.loading ? (l(), t("div", {
|
|
100
|
+
key: 0,
|
|
101
|
+
class: f([
|
|
102
|
+
"loader",
|
|
103
|
+
`loader--${e.type}`,
|
|
104
|
+
`loader--${e.size}`,
|
|
105
|
+
e.overlay && !e.fullscreen ? "loader--overlay" : "",
|
|
106
|
+
e.fullscreen ? "loader--fullscreen" : ""
|
|
107
|
+
]),
|
|
108
|
+
style: s({
|
|
109
|
+
"--loader-color": e.color,
|
|
110
|
+
"--loader-bg": e.backgroundColor,
|
|
111
|
+
"--loader-blur": m.value
|
|
112
|
+
})
|
|
113
|
+
}, [
|
|
114
|
+
e.overlay || e.fullscreen ? (l(), t("div", x)) : d("", !0),
|
|
115
|
+
r("div", _, [
|
|
116
|
+
e.text && e.textPosition === "top" ? (l(), t("div", k, y(e.text), 1)) : d("", !0),
|
|
117
|
+
e.type === "spin" ? (l(), t("div", g)) : e.type === "pulse" ? (l(), t("div", p)) : e.type === "bounce" ? (l(), t("div", h, [
|
|
118
|
+
(l(), t(u, null, c(3, (a) => r("div", {
|
|
119
|
+
key: a,
|
|
120
|
+
class: "loader__bounce-dot",
|
|
121
|
+
style: s({ animationDelay: `${(a - 1) * 0.1}s` })
|
|
122
|
+
}, null, 4)), 64))
|
|
123
|
+
])) : e.type === "ripple" ? (l(), t("div", S, [
|
|
124
|
+
(l(), t(u, null, c(2, (a) => r("div", {
|
|
125
|
+
key: a,
|
|
126
|
+
class: "loader__ripple-ring",
|
|
127
|
+
style: s({ animationDelay: `${(a - 1) * 0.5}s` })
|
|
128
|
+
}, null, 4)), 64))
|
|
129
|
+
])) : e.type === "bars" ? (l(), t("div", $, [
|
|
130
|
+
(l(), t(u, null, c(5, (a) => r("div", {
|
|
131
|
+
key: a,
|
|
132
|
+
class: "loader__bar",
|
|
133
|
+
style: s({ animationDelay: `${(a - 1) * 0.1}s` })
|
|
134
|
+
}, null, 4)), 64))
|
|
135
|
+
])) : e.type === "dots" ? (l(), t("div", B, [
|
|
136
|
+
(l(), t(u, null, c(3, (a) => r("div", {
|
|
137
|
+
key: a,
|
|
138
|
+
class: "loader__dot",
|
|
139
|
+
style: s({ animationDelay: `${(a - 1) * 0.16}s` })
|
|
140
|
+
}, null, 4)), 64))
|
|
141
|
+
])) : e.type === "ring" ? (l(), t("div", D, [...i[0] || (i[0] = [
|
|
142
|
+
r("div", { class: "loader__ring-track" }, null, -1),
|
|
143
|
+
r("div", { class: "loader__ring-fill" }, null, -1)
|
|
144
|
+
])])) : e.type === "spinner-text" ? (l(), t("div", z, [...i[1] || (i[1] = [
|
|
145
|
+
r("div", { class: "loader__spinner" }, null, -1)
|
|
146
|
+
])])) : d("", !0),
|
|
147
|
+
e.text && e.textPosition === "bottom" ? (l(), t("div", C, y(e.text), 1)) : d("", !0)
|
|
148
|
+
])
|
|
149
|
+
], 6)) : d("", !0);
|
|
150
|
+
}
|
|
151
|
+
}, V = /* @__PURE__ */ b(L, [["__scopeId", "data-v-4cf22c8b"]]);
|
|
152
|
+
export {
|
|
153
|
+
V as default
|
|
154
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("class-variance-authority"),s=require("../utils/cn.cjs"),r=["src","alt"],u={__name:"Logo",props:{src:String,alt:String,text:String,size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","minimal"].includes(t)},class:String},setup(t){const l=t,a=i.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),c=e.computed(()=>s.cn(a({size:l.size}),l.class)),n=e.computed(()=>s.cn("h-full w-auto object-contain")),o=e.computed(()=>s.cn("font-bold ui-text",{"text-lg":l.size==="sm","text-xl":l.size==="md","text-2xl":l.size==="lg","text-3xl":l.size==="xl"}));return(m,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(n.value)},null,10,r)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(o.value)},e.toDisplayString(t.text||"Logo"),3))],2))}};exports.default=u;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { computed as s, createElementBlock as l, openBlock as a, normalizeClass as i, toDisplayString as d } from "vue";
|
|
2
|
+
import { cva as g } from "class-variance-authority";
|
|
3
|
+
import { cn as o } from "../utils/cn.js";
|
|
4
|
+
const u = ["src", "alt"], S = {
|
|
5
|
+
__name: "Logo",
|
|
6
|
+
props: {
|
|
7
|
+
src: String,
|
|
8
|
+
alt: String,
|
|
9
|
+
text: String,
|
|
10
|
+
size: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "md",
|
|
13
|
+
validator: (t) => ["sm", "md", "lg", "xl"].includes(t)
|
|
14
|
+
},
|
|
15
|
+
variant: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: "default",
|
|
18
|
+
validator: (t) => ["default", "minimal"].includes(t)
|
|
19
|
+
},
|
|
20
|
+
class: String
|
|
21
|
+
},
|
|
22
|
+
setup(t) {
|
|
23
|
+
const e = t, n = g(
|
|
24
|
+
"flex items-center",
|
|
25
|
+
{
|
|
26
|
+
variants: {
|
|
27
|
+
size: {
|
|
28
|
+
sm: "h-6",
|
|
29
|
+
md: "h-8",
|
|
30
|
+
lg: "h-10",
|
|
31
|
+
xl: "h-12"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
), c = s(
|
|
36
|
+
() => o(n({ size: e.size }), e.class)
|
|
37
|
+
), r = s(
|
|
38
|
+
() => o("h-full w-auto object-contain")
|
|
39
|
+
), m = s(
|
|
40
|
+
() => o(
|
|
41
|
+
"font-bold ui-text",
|
|
42
|
+
{
|
|
43
|
+
"text-lg": e.size === "sm",
|
|
44
|
+
"text-xl": e.size === "md",
|
|
45
|
+
"text-2xl": e.size === "lg",
|
|
46
|
+
"text-3xl": e.size === "xl"
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
);
|
|
50
|
+
return (x, f) => (a(), l("div", {
|
|
51
|
+
class: i(c.value)
|
|
52
|
+
}, [
|
|
53
|
+
t.src ? (a(), l("img", {
|
|
54
|
+
key: 0,
|
|
55
|
+
src: t.src,
|
|
56
|
+
alt: t.alt || "Logo",
|
|
57
|
+
class: i(r.value)
|
|
58
|
+
}, null, 10, u)) : (a(), l("div", {
|
|
59
|
+
key: 1,
|
|
60
|
+
class: i(m.value)
|
|
61
|
+
}, d(t.text || "Logo"), 3))
|
|
62
|
+
], 2));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
S as default
|
|
67
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("class-variance-authority"),d=require("../utils/cn.cjs"),o=require("./Icon.cjs"),m={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},f={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:r}){const n=t,c=r,i=u.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-(--ui-surface) focus:text-(--ui-text) data-[disabled]:pointer-events-none data-[disabled]:opacity-50 w-full text-left",{variants:{variant:{default:"hover:bg-(--ui-surface) hover:text-(--ui-text)",danger:"ui-danger hover:bg-(--ui-danger-soft) hover:text-(--ui-danger)"}}}),l=e.computed(()=>d.cn(i({variant:n.variant}))),s=a=>{n.disabled||c("click",a)};return(a,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(o.default,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",m,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(o.default,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}};exports.default=f;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { computed as m, createBlock as n, openBlock as t, resolveDynamicComponent as f, normalizeClass as h, withCtx as v, createCommentVNode as i, renderSlot as g, createElementBlock as b, toDisplayString as x } from "vue";
|
|
2
|
+
import { cva as k } from "class-variance-authority";
|
|
3
|
+
import { cn as y } from "../utils/cn.js";
|
|
4
|
+
import r from "./Icon.js";
|
|
5
|
+
const S = {
|
|
6
|
+
key: 1,
|
|
7
|
+
class: "ml-auto text-xs tracking-widest opacity-60"
|
|
8
|
+
}, V = {
|
|
9
|
+
__name: "MenuItem",
|
|
10
|
+
props: {
|
|
11
|
+
href: String,
|
|
12
|
+
icon: String,
|
|
13
|
+
shortcut: String,
|
|
14
|
+
disabled: Boolean,
|
|
15
|
+
hasSubmenu: Boolean,
|
|
16
|
+
variant: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: "default",
|
|
19
|
+
validator: (e) => ["default", "danger"].includes(e)
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
emits: ["click"],
|
|
23
|
+
setup(e, { emit: s }) {
|
|
24
|
+
const o = e, l = s, c = k(
|
|
25
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-(--ui-surface) focus:text-(--ui-text) data-[disabled]:pointer-events-none data-[disabled]:opacity-50 w-full text-left",
|
|
26
|
+
{
|
|
27
|
+
variants: {
|
|
28
|
+
variant: {
|
|
29
|
+
default: "hover:bg-(--ui-surface) hover:text-(--ui-text)",
|
|
30
|
+
danger: "ui-danger hover:bg-(--ui-danger-soft) hover:text-(--ui-danger)"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
), u = m(
|
|
35
|
+
() => y(c({ variant: o.variant }))
|
|
36
|
+
), d = (a) => {
|
|
37
|
+
o.disabled || l("click", a);
|
|
38
|
+
};
|
|
39
|
+
return (a, C) => (t(), n(f(e.href ? "a" : "button"), {
|
|
40
|
+
href: e.href,
|
|
41
|
+
class: h(u.value),
|
|
42
|
+
disabled: e.disabled,
|
|
43
|
+
role: "menuitem",
|
|
44
|
+
onClick: d
|
|
45
|
+
}, {
|
|
46
|
+
default: v(() => [
|
|
47
|
+
e.icon ? (t(), n(r, {
|
|
48
|
+
key: 0,
|
|
49
|
+
name: e.icon,
|
|
50
|
+
class: "mr-2 h-4 w-4"
|
|
51
|
+
}, null, 8, ["name"])) : i("", !0),
|
|
52
|
+
g(a.$slots, "default"),
|
|
53
|
+
e.shortcut ? (t(), b("span", S, x(e.shortcut), 1)) : i("", !0),
|
|
54
|
+
e.hasSubmenu ? (t(), n(r, {
|
|
55
|
+
key: 2,
|
|
56
|
+
name: "chevron-right",
|
|
57
|
+
class: "ml-auto h-4 w-4"
|
|
58
|
+
})) : i("", !0)
|
|
59
|
+
]),
|
|
60
|
+
_: 3
|
|
61
|
+
}, 8, ["href", "class", "disabled"]));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export {
|
|
65
|
+
V as default
|
|
66
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("class-variance-authority"),m=require("../utils/cn.cjs"),x=require("./Icon.cjs"),f={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:l=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(l)},class:{type:String,default:""},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(l,{emit:r}){const c=d.cva("ui-surface-soft ui-border relative w-full max-h-[100vh] overflow-y-auto rounded-xl shadow-lg duration-200 p-4 overflow-hidden",{variants:{size:{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl","6xl":"max-w-6xl","7xl":"max-w-7xl","8xl":"max-w-8xl",full:"max-w-full"}},defaultVariants:{size:"6xl"}}),a=l,i=r,s=()=>{i("update:modelValue",!1),i("close")},u=o=>{a.closeOnBackdrop&&o.target===o.currentTarget&&!a.resizable&&s()};let t=null;return e.watch(()=>a.modelValue,o=>{o?(t=n=>{n.key==="Escape"&&s()},document.addEventListener("keydown",t)):t&&(document.removeEventListener("keydown",t),t=null)},{immediate:!0}),e.onUnmounted(()=>{t&&(document.removeEventListener("keydown",t),t=null)}),(o,n)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[l.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fixed inset-0 z-9999 backdrop-blur-2xs flex items-center justify-center",{"pointer-events-none":l.resizable}]),onClick:u},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(m.cn)(e.unref(c)({size:l.size}),a.class,l.resizable?"resize overflow-hidden pointer-events-auto relative":"")),style:e.normalizeStyle(l.resizable?"min-width: 400px; min-height: 700px; resize: both;":"")},[l.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:s},[e.createVNode(x.default,{icon:"x",class:"h-4 w-4"}),n[0]||(n[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")],6)],2)):e.createCommentVNode("",!0)]),_:3})]))}};exports.default=f;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { watch as y, onUnmounted as v, createBlock as h, openBlock as n, Teleport as k, createVNode as r, Transition as g, withCtx as z, createElementBlock as c, createCommentVNode as d, normalizeClass as m, createElementVNode as u, normalizeStyle as b, unref as x, renderSlot as B } from "vue";
|
|
2
|
+
import { cva as C } from "class-variance-authority";
|
|
3
|
+
import { cn as V } from "../utils/cn.js";
|
|
4
|
+
import E from "./Icon.js";
|
|
5
|
+
const M = {
|
|
6
|
+
__name: "Modal",
|
|
7
|
+
props: {
|
|
8
|
+
modelValue: Boolean,
|
|
9
|
+
showClose: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: !0
|
|
12
|
+
},
|
|
13
|
+
closeOnBackdrop: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: !0
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: "4xl",
|
|
20
|
+
validator: (e) => ["sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "7xl", "8xl", "full"].includes(e)
|
|
21
|
+
},
|
|
22
|
+
class: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: ""
|
|
25
|
+
},
|
|
26
|
+
resizable: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: !1
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
emits: ["update:modelValue", "close"],
|
|
32
|
+
setup(e, { emit: f }) {
|
|
33
|
+
const p = C(
|
|
34
|
+
"ui-surface-soft ui-border relative w-full max-h-[100vh] overflow-y-auto rounded-xl shadow-lg duration-200 p-4 overflow-hidden",
|
|
35
|
+
{
|
|
36
|
+
variants: {
|
|
37
|
+
size: {
|
|
38
|
+
sm: "max-w-sm",
|
|
39
|
+
md: "max-w-md",
|
|
40
|
+
lg: "max-w-lg",
|
|
41
|
+
xl: "max-w-xl",
|
|
42
|
+
"2xl": "max-w-2xl",
|
|
43
|
+
"3xl": "max-w-3xl",
|
|
44
|
+
"4xl": "max-w-4xl",
|
|
45
|
+
"5xl": "max-w-5xl",
|
|
46
|
+
"6xl": "max-w-6xl",
|
|
47
|
+
"7xl": "max-w-7xl",
|
|
48
|
+
"8xl": "max-w-8xl",
|
|
49
|
+
full: "max-w-full"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
size: "6xl"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
), a = e, i = f, s = () => {
|
|
57
|
+
i("update:modelValue", !1), i("close");
|
|
58
|
+
}, w = (t) => {
|
|
59
|
+
a.closeOnBackdrop && t.target === t.currentTarget && !a.resizable && s();
|
|
60
|
+
};
|
|
61
|
+
let l = null;
|
|
62
|
+
return y(() => a.modelValue, (t) => {
|
|
63
|
+
t ? (l = (o) => {
|
|
64
|
+
o.key === "Escape" && s();
|
|
65
|
+
}, document.addEventListener("keydown", l)) : l && (document.removeEventListener("keydown", l), l = null);
|
|
66
|
+
}, { immediate: !0 }), v(() => {
|
|
67
|
+
l && (document.removeEventListener("keydown", l), l = null);
|
|
68
|
+
}), (t, o) => (n(), h(k, { to: "body" }, [
|
|
69
|
+
r(g, {
|
|
70
|
+
"enter-active-class": "transition-opacity duration-300",
|
|
71
|
+
"enter-from-class": "opacity-0",
|
|
72
|
+
"enter-to-class": "opacity-100",
|
|
73
|
+
"leave-active-class": "transition-opacity duration-300",
|
|
74
|
+
"leave-from-class": "opacity-100",
|
|
75
|
+
"leave-to-class": "opacity-0"
|
|
76
|
+
}, {
|
|
77
|
+
default: z(() => [
|
|
78
|
+
e.modelValue ? (n(), c("div", {
|
|
79
|
+
key: 0,
|
|
80
|
+
class: m(["fixed inset-0 z-9999 backdrop-blur-2xs flex items-center justify-center", { "pointer-events-none": e.resizable }]),
|
|
81
|
+
onClick: w
|
|
82
|
+
}, [
|
|
83
|
+
u("div", {
|
|
84
|
+
class: m(x(V)(x(p)({ size: e.size }), a.class, e.resizable ? "resize overflow-hidden pointer-events-auto relative" : "")),
|
|
85
|
+
style: b(e.resizable ? "min-width: 400px; min-height: 700px; resize: both;" : "")
|
|
86
|
+
}, [
|
|
87
|
+
e.showClose ? (n(), c("button", {
|
|
88
|
+
key: 0,
|
|
89
|
+
"aria-label": "Close",
|
|
90
|
+
class: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
91
|
+
onClick: s
|
|
92
|
+
}, [
|
|
93
|
+
r(E, {
|
|
94
|
+
icon: "x",
|
|
95
|
+
class: "h-4 w-4"
|
|
96
|
+
}),
|
|
97
|
+
o[0] || (o[0] = u("span", { class: "sr-only" }, "Close", -1))
|
|
98
|
+
])) : d("", !0),
|
|
99
|
+
B(t.$slots, "default")
|
|
100
|
+
], 6)
|
|
101
|
+
], 2)) : d("", !0)
|
|
102
|
+
]),
|
|
103
|
+
_: 3
|
|
104
|
+
})
|
|
105
|
+
]));
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
export {
|
|
109
|
+
M as default
|
|
110
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("class-variance-authority"),c=require("../utils/cn.cjs"),l={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const a=t,r=n.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),s=e.computed(()=>c.cn(r({variant:a.variant})));return(o,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value)},[e.renderSlot(o.$slots,"default")],2))}};exports.default=l;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { computed as n, createElementBlock as s, openBlock as c, normalizeClass as l, renderSlot as p } from "vue";
|
|
2
|
+
import { cva as d } from "class-variance-authority";
|
|
3
|
+
import { cn as i } from "../utils/cn.js";
|
|
4
|
+
const y = {
|
|
5
|
+
__name: "ModalBody",
|
|
6
|
+
props: {
|
|
7
|
+
variant: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: "default",
|
|
10
|
+
validator: (a) => ["default", "compact"].includes(a)
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
setup(a) {
|
|
14
|
+
const t = a, o = d("", {
|
|
15
|
+
variants: {
|
|
16
|
+
variant: {
|
|
17
|
+
default: "py-4",
|
|
18
|
+
compact: "py-2"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}), e = n(
|
|
22
|
+
() => i(o({ variant: t.variant }))
|
|
23
|
+
);
|
|
24
|
+
return (r, m) => (c(), s("div", {
|
|
25
|
+
class: l(e.value)
|
|
26
|
+
}, [
|
|
27
|
+
p(r.$slots, "default")
|
|
28
|
+
], 2));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
y as default
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("class-variance-authority"),l=require("../utils/cn.cjs"),c={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const r=t,a=o.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),s=e.computed(()=>l.cn(a({variant:r.variant})));return(n,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value)},[e.renderSlot(n.$slots,"default")],2))}};exports.default=c;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { computed as s, createElementBlock as n, openBlock as l, normalizeClass as c, renderSlot as f } from "vue";
|
|
2
|
+
import { cva as i } from "class-variance-authority";
|
|
3
|
+
import { cn as p } from "../utils/cn.js";
|
|
4
|
+
const _ = {
|
|
5
|
+
__name: "ModalFooter",
|
|
6
|
+
props: {
|
|
7
|
+
variant: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: "default",
|
|
10
|
+
validator: (e) => ["default", "center"].includes(e)
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
setup(e) {
|
|
14
|
+
const t = e, r = i("flex gap-2 pt-4", {
|
|
15
|
+
variants: {
|
|
16
|
+
variant: {
|
|
17
|
+
default: "flex-col-reverse sm:flex-row sm:justify-end",
|
|
18
|
+
center: "justify-center"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}), a = s(
|
|
22
|
+
() => p(r({ variant: t.variant }))
|
|
23
|
+
);
|
|
24
|
+
return (o, u) => (l(), n("div", {
|
|
25
|
+
class: c(a.value)
|
|
26
|
+
}, [
|
|
27
|
+
f(o.$slots, "default")
|
|
28
|
+
], 2));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
_ as default
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l={class:"flex flex-col space-y-1.5 text-center sm:text-left"},n={key:0,class:"text-lg font-semibold leading-none tracking-tight"},c={key:1,class:"text-sm ui-text"},i={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(o,s)=>(e.openBlock(),e.createElementBlock("div",l,[t.title?(e.openBlock(),e.createElementBlock("h2",n,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",c,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")]))}};exports.default=i;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createElementBlock as e, openBlock as i, createCommentVNode as n, renderSlot as l, toDisplayString as o } from "vue";
|
|
2
|
+
const c = { class: "flex flex-col space-y-1.5 text-center sm:text-left" }, r = {
|
|
3
|
+
key: 0,
|
|
4
|
+
class: "text-lg font-semibold leading-none tracking-tight"
|
|
5
|
+
}, a = {
|
|
6
|
+
key: 1,
|
|
7
|
+
class: "text-sm ui-text"
|
|
8
|
+
}, f = {
|
|
9
|
+
__name: "ModalHeader",
|
|
10
|
+
props: {
|
|
11
|
+
title: String,
|
|
12
|
+
description: String
|
|
13
|
+
},
|
|
14
|
+
setup(t) {
|
|
15
|
+
return (s, d) => (i(), e("div", c, [
|
|
16
|
+
t.title ? (i(), e("h2", r, o(t.title), 1)) : n("", !0),
|
|
17
|
+
t.description ? (i(), e("p", a, o(t.description), 1)) : n("", !0),
|
|
18
|
+
l(s.$slots, "default")
|
|
19
|
+
]));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
f as default
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),I=require("./Badge.cjs"),L={class:"relative"},T=["id","disabled"],z={key:0,class:"ui-text-muted"},H={key:1,class:"flex flex-wrap gap-1.5"},R={class:"px-3 py-2.5 border-b ui-border-strong ui-surface-muted"},P=["onClick"],W={class:"flex items-center gap-3"},A=["checked"],$={key:1,class:"px-4 py-6 text-sm ui-text text-center"},c=12,v=4,V=320,q=180,G=10050,K={__name:"MultiSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,required:!0,validator:r=>r.every(m=>m.value!==void 0&&m.label)},id:{type:String,default:null},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Select options"},hasError:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(r,{emit:m}){const l=r,D=m,a=e.ref(!1),u=e.ref(""),k=e.ref(null),s=e.ref([...l.options]),d=e.ref(null),y=e.ref(null),x=e.ref({}),b=e.computed(()=>l.options.filter(t=>l.modelValue.includes(t.value)).map(t=>t.label)),h=()=>{a.value=!1,u.value="",s.value=[...l.options]},i=()=>{if(!d.value||!a.value)return;const t=d.value.getBoundingClientRect(),o=window.innerWidth,n=window.innerHeight,p=Math.max(0,n-t.bottom-v-c),B=Math.max(0,t.top-v-c),E=B>p,O=Math.max(Math.min(V,E?B:p),Math.min(q,V)),S=Math.max(0,o-c*2),w=Math.min(t.width,S);let f=t.left;f+w>o-c&&(f=o-c-w),f<c&&(f=c),x.value={position:"fixed",left:`${f}px`,width:`${w}px`,maxHeight:`${O}px`,zIndex:G,...E?{bottom:`${n-t.top+v}px`}:{top:`${t.bottom+v}px`}}},N=()=>{l.disabled||(a.value?h():(a.value=!0,e.nextTick(()=>{i(),k.value?.focus()})))},M=t=>{let o;l.modelValue.includes(t)?o=l.modelValue.filter(n=>n!==t):o=[...l.modelValue,t],D("update:modelValue",o),e.nextTick(()=>{i()})},_=()=>{if(!u.value.trim())s.value=[...l.options];else{const t=u.value.toLowerCase();s.value=l.options.filter(o=>o.label.toLowerCase().includes(t))}},C=t=>{t.key==="Escape"&&h()},g=t=>{if(!d.value)return;const o=t.target;if(!o)return;const n=y.value&&y.value.contains(o),p=d.value.contains(o);!n&&!p&&h()};return e.onMounted(()=>{document.addEventListener("click",g),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i)}),e.onUnmounted(()=>{document.removeEventListener("click",g),window.removeEventListener("scroll",i,!0),window.removeEventListener("resize",i)}),e.watch(()=>l.options,t=>{s.value=[...t]},{immediate:!0}),e.watch(()=>l.modelValue,()=>{a.value&&e.nextTick(()=>{i()})}),e.watch(s,()=>{a.value&&e.nextTick(()=>{i()})}),e.watch(a,t=>{t&&i()}),(t,o)=>(e.openBlock(),e.createElementBlock("div",L,[e.createElementVNode("button",{id:r.id,ref_key:"buttonRef",ref:d,type:"button",disabled:r.disabled,class:e.normalizeClass(["w-full px-3 py-2.5 text-left border rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) ui-surface min-h-[42px]",r.hasError?"border-(--ui-danger)":"ui-border-strong ",r.disabled?"ui-surface-muted cursor-not-allowed opacity-50":"hover:border-(--ui-border-strong)"]),onClick:N,onKeydown:C},[b.value.length===0?(e.openBlock(),e.createElementBlock("div",z,e.toDisplayString(r.placeholder||"Select options"),1)):(e.openBlock(),e.createElementBlock("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,n=>(e.openBlock(),e.createBlock(I.default,{key:n,variant:"primary",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1024))),128))])),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["absolute right-3 top-1/2 -translate-y-1/2 h-5 w-5 ui-text pointer-events-none transition-transform duration-200",{"rotate-180":a.value}]),fill:"currentColor",viewBox:"0 0 20 20"},[...o[3]||(o[3]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"},null,-1)])],2))],42,T),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:y,style:e.normalizeStyle(x.value),"data-multiselect-dropdown":"",class:"shadow-lg rounded-md text-base ring-1 ring-(--ui-border-strong) ring-opacity-5 overflow-hidden focus:outline-none ui-surface flex flex-col overscroll-contain"},[e.createElementVNode("div",R,[e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:k,"onUpdate:modelValue":o[0]||(o[0]=n=>u.value=n),type:"text",placeholder:"Search options...",class:"w-full px-3 py-2 text-sm border ui-border-strong rounded-md focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent ui-surface placeholder:text-(--ui-text-muted)",onInput:_,onKeydown:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},null,544),[[e.vModelText,u.value]])]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"overflow-y-auto py-1 flex-1 overscroll-contain",onWheel:o[2]||(o[2]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n.value,type:"button",class:e.normalizeClass(["cursor-pointer select-none relative py-2.5 pl-3 pr-9 w-full text-left hover:bg-(--ui-primary-soft) focus:bg-(--ui-primary-soft) focus:outline-none transition-colors duration-150",{"ui-primary-soft":r.modelValue.includes(n.value)}]),onClick:p=>M(n.value)},[e.createElementVNode("div",W,[e.createElementVNode("input",{type:"checkbox",checked:r.modelValue.includes(n.value),class:"h-4 w-4 ui-primary focus:ring-(--ui-primary) ui-border-strong rounded cursor-pointer pointer-events-none",readonly:"",tabindex:"-1"},null,8,A),e.createElementVNode("span",{class:e.normalizeClass(["block font-normal truncate",{"ui-primary font-medium":r.modelValue.includes(n.value)}])},e.toDisplayString(n.label),3)])],10,P))),128))],32)):(e.openBlock(),e.createElementBlock("div",$," No options found "))],4)):e.createCommentVNode("",!0)]),_:1})]))]))}};exports.default=K;
|