@itguy614/clean-ui 0.9.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
- package/dist/clean-ui.css +1 -1
- package/dist/components/CuiAccordion.vue.js +7 -0
- package/dist/components/CuiAccordion.vue2.js +55 -0
- package/dist/components/CuiAccordionItem.vue.js +7 -0
- package/dist/components/CuiAccordionItem.vue2.js +91 -0
- package/dist/components/CuiAlert.vue.js +7 -0
- package/dist/components/CuiAlert.vue2.js +110 -0
- package/dist/components/CuiAvatar.vue.js +99 -0
- package/dist/components/CuiAvatar.vue3.js +5 -0
- package/dist/components/CuiAvatarGroup.vue.js +22 -0
- package/dist/components/CuiAvatarGroup.vue3.js +5 -0
- package/dist/components/CuiBackdrop.vue.js +7 -0
- package/dist/components/CuiBackdrop.vue2.js +49 -0
- package/dist/components/CuiBadge.vue.js +7 -0
- package/dist/components/CuiBadge.vue2.js +79 -0
- package/dist/components/CuiBanner.vue.js +81 -0
- package/dist/components/CuiBanner.vue2.js +4 -0
- package/dist/components/CuiBreadcrumb.vue.js +7 -0
- package/dist/components/CuiBreadcrumb.vue2.js +29 -0
- package/dist/components/CuiBreadcrumbItem.vue.js +7 -0
- package/dist/components/CuiBreadcrumbItem.vue2.js +46 -0
- package/dist/components/CuiButton.vue.js +7 -0
- package/dist/components/CuiButton.vue2.js +133 -0
- package/dist/components/CuiButtonGroup.vue.js +7 -0
- package/dist/components/CuiButtonGroup.vue2.js +21 -0
- package/dist/components/CuiCard.vue.js +35 -0
- package/dist/components/CuiCard.vue2.js +4 -0
- package/dist/components/CuiCardBody.vue.js +20 -0
- package/dist/components/CuiCardBody.vue2.js +4 -0
- package/dist/components/CuiCardFooter.vue.js +32 -0
- package/dist/components/CuiCardFooter.vue2.js +4 -0
- package/dist/components/CuiCardHeader.vue.js +51 -0
- package/dist/components/CuiCardHeader.vue2.js +4 -0
- package/dist/components/CuiCardMedia.vue.js +7 -0
- package/dist/components/CuiCardMedia.vue2.js +38 -0
- package/dist/components/CuiCheckbox.vue.js +7 -0
- package/dist/components/CuiCheckbox.vue2.js +105 -0
- package/dist/components/CuiCheckboxGroup.vue.js +7 -0
- package/dist/components/CuiCheckboxGroup.vue2.js +59 -0
- package/dist/components/CuiCodeBlock.vue.js +129 -0
- package/dist/components/CuiCodeBlock.vue2.js +4 -0
- package/dist/components/CuiColorPicker.vue.js +348 -0
- package/dist/components/CuiColorPicker.vue2.js +4 -0
- package/dist/components/CuiCombobox.vue.js +332 -0
- package/dist/components/CuiCombobox.vue2.js +4 -0
- package/dist/components/CuiConfigProvider.vue.js +18 -0
- package/dist/components/CuiConfigProvider.vue2.js +4 -0
- package/dist/components/CuiConfirmDialog.vue.js +208 -0
- package/dist/components/CuiConfirmDialog.vue2.js +4 -0
- package/dist/components/CuiContainer.vue.js +35 -0
- package/dist/components/CuiContainer.vue2.js +4 -0
- package/dist/components/CuiContextMenu.vue.js +7 -0
- package/dist/components/CuiContextMenu.vue2.js +136 -0
- package/dist/components/CuiCopyButton.vue.js +63 -0
- package/dist/components/CuiCopyButton.vue2.js +4 -0
- package/dist/components/CuiDataGrid.vue.js +176 -0
- package/dist/components/CuiDataGrid.vue3.js +5 -0
- package/dist/components/CuiDataGridActiveFilters.vue.js +47 -0
- package/dist/components/CuiDataGridActiveFilters.vue3.js +5 -0
- package/dist/components/CuiDataGridBulkBar.vue.d.ts.map +1 -1
- package/dist/components/CuiDataGridBulkBar.vue.js +70 -0
- package/dist/components/CuiDataGridBulkBar.vue3.js +5 -0
- package/dist/components/CuiDataGridCardView.vue.js +31 -0
- package/dist/components/CuiDataGridCardView.vue2.js +4 -0
- package/dist/components/CuiDataGridColumnManager.vue.js +86 -0
- package/dist/components/CuiDataGridColumnManager.vue2.js +4 -0
- package/dist/components/CuiDataGridFilterPanel.vue.js +181 -0
- package/dist/components/CuiDataGridFilterPanel.vue3.js +5 -0
- package/dist/components/CuiDataGridPagination.vue.js +28 -0
- package/dist/components/CuiDataGridPagination.vue2.js +4 -0
- package/dist/components/CuiDataGridSearch.vue.js +69 -0
- package/dist/components/CuiDataGridSearch.vue2.js +4 -0
- package/dist/components/CuiDataGridTable.vue.js +336 -0
- package/dist/components/CuiDataGridTable.vue2.js +4 -0
- package/dist/components/CuiDataGridToolbar.vue.js +73 -0
- package/dist/components/CuiDataGridToolbar.vue3.js +5 -0
- package/dist/components/CuiDataGridViewManager.vue.js +209 -0
- package/dist/components/CuiDataGridViewManager.vue2.js +4 -0
- package/dist/components/CuiDataGridViewToggle.vue.js +43 -0
- package/dist/components/CuiDataGridViewToggle.vue3.js +5 -0
- package/dist/components/CuiDatePicker.vue.js +382 -0
- package/dist/components/CuiDatePicker.vue2.js +4 -0
- package/dist/components/CuiDateRangePicker.vue.js +376 -0
- package/dist/components/CuiDateRangePicker.vue2.js +4 -0
- package/dist/components/CuiDivider.vue.js +124 -0
- package/dist/components/CuiDivider.vue2.js +4 -0
- package/dist/components/CuiDropdown.vue.js +7 -0
- package/dist/components/CuiDropdown.vue2.js +110 -0
- package/dist/components/CuiDropdownCheckItem.vue.js +7 -0
- package/dist/components/CuiDropdownCheckItem.vue2.js +45 -0
- package/dist/components/CuiDropdownDivider.vue.js +14 -0
- package/dist/components/CuiDropdownHeader.vue.js +16 -0
- package/dist/components/CuiDropdownItem.vue.js +7 -0
- package/dist/components/CuiDropdownItem.vue2.js +55 -0
- package/dist/components/CuiDropdownMenu.vue.js +7 -0
- package/dist/components/CuiDropdownMenu.vue2.js +79 -0
- package/dist/components/CuiDropdownRadioGroup.vue.js +23 -0
- package/dist/components/CuiDropdownRadioGroup.vue2.js +4 -0
- package/dist/components/CuiDropdownRadioItem.vue.js +7 -0
- package/dist/components/CuiDropdownRadioItem.vue2.js +43 -0
- package/dist/components/CuiDropdownSub.vue.js +7 -0
- package/dist/components/CuiDropdownSub.vue2.js +91 -0
- package/dist/components/CuiDropdownTrigger.vue.js +7 -0
- package/dist/components/CuiDropdownTrigger.vue2.js +25 -0
- package/dist/components/CuiEmptyState.vue.js +7 -0
- package/dist/components/CuiEmptyState.vue2.js +70 -0
- package/dist/components/CuiFieldset.vue.js +7 -0
- package/dist/components/CuiFieldset.vue2.js +79 -0
- package/dist/components/CuiFileUpload.vue.js +254 -0
- package/dist/components/CuiFileUpload.vue2.js +4 -0
- package/dist/components/CuiFlex.vue.js +7 -0
- package/dist/components/CuiFlex.vue2.js +72 -0
- package/dist/components/CuiFlexItem.vue.js +35 -0
- package/dist/components/CuiFlexItem.vue2.js +4 -0
- package/dist/components/CuiForm.vue.js +116 -0
- package/dist/components/CuiForm.vue2.js +4 -0
- package/dist/components/CuiFormField.vue.js +7 -0
- package/dist/components/CuiFormField.vue2.js +73 -0
- package/dist/components/CuiGrid.vue.js +7 -0
- package/dist/components/CuiGrid.vue2.js +51 -0
- package/dist/components/CuiGridItem.vue.js +30 -0
- package/dist/components/CuiGridItem.vue2.js +4 -0
- package/dist/components/CuiIcon.vue.js +7 -0
- package/dist/components/CuiIcon.vue2.js +72 -0
- package/dist/components/CuiInput.vue.js +7 -0
- package/dist/components/CuiInput.vue2.js +148 -0
- package/dist/components/CuiInputStepper.vue.js +189 -0
- package/dist/components/CuiInputStepper.vue2.js +4 -0
- package/dist/components/CuiKbd.vue.js +44 -0
- package/dist/components/CuiKbd.vue2.js +4 -0
- package/dist/components/CuiMaskedInput.vue.js +256 -0
- package/dist/components/CuiMaskedInput.vue2.js +4 -0
- package/dist/components/CuiModal.vue.js +7 -0
- package/dist/components/CuiModal.vue2.js +98 -0
- package/dist/components/CuiModalBody.vue.js +50 -0
- package/dist/components/CuiModalBody.vue2.js +4 -0
- package/dist/components/CuiModalFooter.vue.js +36 -0
- package/dist/components/CuiModalFooter.vue2.js +4 -0
- package/dist/components/CuiModalHeader.vue.js +85 -0
- package/dist/components/CuiModalHeader.vue2.js +4 -0
- package/dist/components/CuiPagination.vue.js +7 -0
- package/dist/components/CuiPagination.vue2.js +136 -0
- package/dist/components/CuiPopover.vue.js +227 -0
- package/dist/components/CuiPopover.vue2.js +4 -0
- package/dist/components/CuiProgress.vue.js +7 -0
- package/dist/components/CuiProgress.vue2.js +132 -0
- package/dist/components/CuiRadio.vue.d.ts.map +1 -1
- package/dist/components/CuiRadio.vue.js +7 -0
- package/dist/components/CuiRadio.vue2.js +139 -0
- package/dist/components/CuiRadioGroup.vue.js +7 -0
- package/dist/components/CuiRadioGroup.vue2.js +78 -0
- package/dist/components/CuiRating.vue.js +129 -0
- package/dist/components/CuiRating.vue2.js +4 -0
- package/dist/components/CuiResizablePanels.vue.js +147 -0
- package/dist/components/CuiResizablePanels.vue2.js +4 -0
- package/dist/components/CuiSelect.vue.d.ts.map +1 -1
- package/dist/components/CuiSelect.vue.js +7 -0
- package/dist/components/CuiSelect.vue2.js +359 -0
- package/dist/components/CuiSkeleton.vue.js +7 -0
- package/dist/components/CuiSkeleton.vue2.js +80 -0
- package/dist/components/CuiSlideover.vue.js +109 -0
- package/dist/components/CuiSlideover.vue2.js +4 -0
- package/dist/components/CuiSlider.vue.js +156 -0
- package/dist/components/CuiSlider.vue2.js +4 -0
- package/dist/components/CuiSpacer.vue.js +32 -0
- package/dist/components/CuiSpacer.vue2.js +4 -0
- package/dist/components/CuiSpinner.vue.js +99 -0
- package/dist/components/CuiSpinner.vue3.js +5 -0
- package/dist/components/CuiStack.vue.js +30 -0
- package/dist/components/CuiStack.vue2.js +4 -0
- package/dist/components/CuiStepper.vue.js +153 -0
- package/dist/components/CuiStepper.vue2.js +4 -0
- package/dist/components/CuiTab.vue.js +7 -0
- package/dist/components/CuiTab.vue2.js +73 -0
- package/dist/components/CuiTable.vue.js +90 -0
- package/dist/components/CuiTable.vue3.js +5 -0
- package/dist/components/CuiTableBody.vue.js +18 -0
- package/dist/components/CuiTableBody.vue2.js +4 -0
- package/dist/components/CuiTableCell.vue.js +36 -0
- package/dist/components/CuiTableCell.vue2.js +4 -0
- package/dist/components/CuiTableFoot.vue.js +18 -0
- package/dist/components/CuiTableFoot.vue2.js +4 -0
- package/dist/components/CuiTableHead.vue.js +18 -0
- package/dist/components/CuiTableHead.vue2.js +4 -0
- package/dist/components/CuiTableRow.vue.js +23 -0
- package/dist/components/CuiTableRow.vue2.js +4 -0
- package/dist/components/CuiTabs.vue.js +7 -0
- package/dist/components/CuiTabs.vue2.js +124 -0
- package/dist/components/CuiTagInput.vue.js +296 -0
- package/dist/components/CuiTagInput.vue2.js +4 -0
- package/dist/components/CuiTextarea.vue.js +7 -0
- package/dist/components/CuiTextarea.vue2.js +112 -0
- package/dist/components/CuiTimePicker.vue.js +193 -0
- package/dist/components/CuiTimePicker.vue2.js +4 -0
- package/dist/components/CuiTimeline.vue.js +25 -0
- package/dist/components/CuiTimeline.vue2.js +4 -0
- package/dist/components/CuiTimelineItem.vue.js +113 -0
- package/dist/components/CuiTimelineItem.vue2.js +4 -0
- package/dist/components/CuiToast.vue.js +7 -0
- package/dist/components/CuiToast.vue2.js +129 -0
- package/dist/components/CuiToastProvider.vue.js +7 -0
- package/dist/components/CuiToastProvider.vue2.js +87 -0
- package/dist/components/CuiToggle.vue.d.ts.map +1 -1
- package/dist/components/CuiToggle.vue.js +7 -0
- package/dist/components/CuiToggle.vue2.js +116 -0
- package/dist/components/CuiToggleGroup.vue.js +7 -0
- package/dist/components/CuiToggleGroup.vue2.js +59 -0
- package/dist/components/CuiTooltip.vue.js +7 -0
- package/dist/components/CuiTooltip.vue2.js +128 -0
- package/dist/components/CuiTransferList.vue.js +442 -0
- package/dist/components/CuiTransferList.vue2.js +4 -0
- package/dist/components/CuiTreeNode.vue.js +180 -0
- package/dist/components/CuiTreeNode.vue2.js +4 -0
- package/dist/components/CuiTreeView.vue.js +73 -0
- package/dist/components/CuiTreeView.vue2.js +4 -0
- package/dist/components/accordion-context.js +4 -0
- package/dist/components/breadcrumb-context.js +4 -0
- package/dist/components/config-context.js +4 -0
- package/dist/components/data-grid-context.js +4 -0
- package/dist/components/dropdown-context.js +30 -0
- package/dist/components/form-context.js +4 -0
- package/dist/components/multi-select-group-context.js +5 -0
- package/dist/components/radio-context.js +4 -0
- package/dist/components/table-context.js +5 -0
- package/dist/components/tabs-context.js +4 -0
- package/dist/components/toast-context.js +45 -0
- package/dist/composables/useBreakpoint.js +34 -0
- package/dist/composables/useClickOutside.js +14 -0
- package/dist/composables/useCopyToClipboard.js +25 -0
- package/dist/composables/useDataGrid.js +269 -0
- package/dist/composables/useDataGridInertia.js +35 -0
- package/dist/composables/useDataGridViews.js +67 -0
- package/dist/composables/useDensity.js +42 -0
- package/dist/composables/useLayoutContext.js +21 -0
- package/dist/composables/useMessages.js +10 -0
- package/dist/composables/useOverlay.js +57 -0
- package/dist/composables/usePopover.js +53 -0
- package/dist/composables/useScrollShadows.js +56 -0
- package/dist/composables/useTheme.js +57 -0
- package/dist/composables/useToast.js +23 -0
- package/dist/composables/useVirtualScroll.js +69 -0
- package/dist/index.js +290 -0
- package/dist/messages.js +57 -0
- package/dist/ssr-theme-init.js +13 -0
- package/dist/utils/color.js +195 -0
- package/dist/utils/colorIconMap.js +11 -0
- package/dist/utils/date.js +114 -0
- package/dist/utils/liveRegion.js +12 -0
- package/dist/utils/resolvers.js +28 -0
- package/dist/utils/responsive.js +68 -0
- package/dist/utils/sizing.js +39 -0
- package/package.json +8 -7
- package/dist/clean-ui.js +0 -11937
- package/dist/clean-ui.umd.cjs +0 -11
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { openBlock as e, createElementBlock as o } from "vue";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import r from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const c = {}, t = {
|
|
5
|
+
class: "cui-dropdown-divider",
|
|
6
|
+
role: "separator"
|
|
7
|
+
};
|
|
8
|
+
function d(i, n) {
|
|
9
|
+
return e(), o("div", t);
|
|
10
|
+
}
|
|
11
|
+
const p = /* @__PURE__ */ r(c, [["render", d], ["__scopeId", "data-v-de1ceea6"]]);
|
|
12
|
+
export {
|
|
13
|
+
p as default
|
|
14
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { openBlock as o, createElementBlock as r, renderSlot as t } from "vue";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import n from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const d = {}, c = {
|
|
5
|
+
class: "cui-dropdown-header",
|
|
6
|
+
role: "presentation"
|
|
7
|
+
};
|
|
8
|
+
function s(e, a) {
|
|
9
|
+
return o(), r("div", c, [
|
|
10
|
+
t(e.$slots, "default", {}, void 0, !0)
|
|
11
|
+
]);
|
|
12
|
+
}
|
|
13
|
+
const f = /* @__PURE__ */ n(d, [["render", s], ["__scopeId", "data-v-d5eb081a"]]);
|
|
14
|
+
export {
|
|
15
|
+
f as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineComponent as p, inject as h, withDirectives as b, openBlock as o, createElementBlock as i, normalizeClass as w, renderSlot as l, createCommentVNode as s, createElementVNode as a, toDisplayString as r, vShow as y } from "vue";
|
|
2
|
+
import { DropdownContextKey as _ } from "./dropdown-context.js";
|
|
3
|
+
const k = ["aria-disabled", "tabindex"], v = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "cui-dropdown-item__icon"
|
|
6
|
+
}, C = { class: "cui-dropdown-item__body" }, S = { class: "cui-dropdown-item__label" }, B = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "cui-dropdown-item__desc"
|
|
9
|
+
}, D = {
|
|
10
|
+
key: 1,
|
|
11
|
+
class: "cui-dropdown-item__shortcut"
|
|
12
|
+
}, N = /* @__PURE__ */ p({
|
|
13
|
+
__name: "CuiDropdownItem",
|
|
14
|
+
props: {
|
|
15
|
+
shortcut: {},
|
|
16
|
+
description: {},
|
|
17
|
+
closeOnSelect: { type: Boolean, default: !0 },
|
|
18
|
+
hidden: { type: Boolean, default: !1 },
|
|
19
|
+
disabled: { type: Boolean, default: !1 }
|
|
20
|
+
},
|
|
21
|
+
emits: ["select"],
|
|
22
|
+
setup(e, { emit: u }) {
|
|
23
|
+
const d = e, m = u, n = h(_);
|
|
24
|
+
function c() {
|
|
25
|
+
d.disabled || (m("select"), d.closeOnSelect && (n == null || n.closeAll()));
|
|
26
|
+
}
|
|
27
|
+
function f(t) {
|
|
28
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), c());
|
|
29
|
+
}
|
|
30
|
+
return (t, E) => b((o(), i("div", {
|
|
31
|
+
class: w(["cui-dropdown-item", { "cui-dropdown-item--disabled": e.disabled }]),
|
|
32
|
+
role: "menuitem",
|
|
33
|
+
"aria-disabled": e.disabled || void 0,
|
|
34
|
+
tabindex: e.disabled ? -1 : 0,
|
|
35
|
+
onClick: c,
|
|
36
|
+
onKeydown: f
|
|
37
|
+
}, [
|
|
38
|
+
t.$slots.icon ? (o(), i("span", v, [
|
|
39
|
+
l(t.$slots, "icon", {}, void 0, !0)
|
|
40
|
+
])) : s("", !0),
|
|
41
|
+
a("span", C, [
|
|
42
|
+
a("span", S, [
|
|
43
|
+
l(t.$slots, "default", {}, void 0, !0)
|
|
44
|
+
]),
|
|
45
|
+
e.description ? (o(), i("span", B, r(e.description), 1)) : s("", !0)
|
|
46
|
+
]),
|
|
47
|
+
e.shortcut ? (o(), i("span", D, r(e.shortcut), 1)) : s("", !0)
|
|
48
|
+
], 42, k)), [
|
|
49
|
+
[y, !e.hidden]
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
export {
|
|
54
|
+
N as default
|
|
55
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { defineComponent as h, inject as E, ref as p, watch as A, nextTick as C, onMounted as D, onUnmounted as _, computed as b, openBlock as w, createBlock as S, Teleport as z, unref as d, createElementBlock as F, normalizeStyle as L, normalizeClass as O, renderSlot as q, createCommentVNode as B } from "vue";
|
|
2
|
+
import { DropdownContextKey as R, computeDropdownPosition as W } from "./dropdown-context.js";
|
|
3
|
+
const K = ["data-cui-dropdown-owner"], T = /* @__PURE__ */ h({
|
|
4
|
+
__name: "CuiDropdownMenu",
|
|
5
|
+
props: {
|
|
6
|
+
minWidth: { default: "12rem" }
|
|
7
|
+
},
|
|
8
|
+
setup(y) {
|
|
9
|
+
const e = E(R), u = p(), c = p({});
|
|
10
|
+
function m() {
|
|
11
|
+
if (e != null && e.triggerEl.value) {
|
|
12
|
+
const { styles: n } = W(e.triggerEl.value, e.placement.value);
|
|
13
|
+
c.value = n;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
A(
|
|
17
|
+
() => e == null ? void 0 : e.isOpen.value,
|
|
18
|
+
(n) => {
|
|
19
|
+
n && (m(), C(() => {
|
|
20
|
+
var t;
|
|
21
|
+
const o = (t = u.value) == null ? void 0 : t.querySelector(
|
|
22
|
+
'[role="menuitem"]:not([aria-disabled="true"])'
|
|
23
|
+
);
|
|
24
|
+
o == null || o.focus();
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
let r = null;
|
|
29
|
+
function a() {
|
|
30
|
+
!(e != null && e.isOpen.value) || e != null && e.isClosing.value || (r && cancelAnimationFrame(r), r = requestAnimationFrame(m));
|
|
31
|
+
}
|
|
32
|
+
D(() => {
|
|
33
|
+
window.addEventListener("scroll", a, !0), window.addEventListener("resize", a);
|
|
34
|
+
}), _(() => {
|
|
35
|
+
window.removeEventListener("scroll", a, !0), window.removeEventListener("resize", a), r && cancelAnimationFrame(r);
|
|
36
|
+
});
|
|
37
|
+
function g(n) {
|
|
38
|
+
var i, l, f, v;
|
|
39
|
+
if (!u.value) return;
|
|
40
|
+
const o = Array.from(u.value.querySelectorAll(
|
|
41
|
+
'[role="menuitem"]:not([aria-disabled="true"]), [role="menuitemcheckbox"]:not([aria-disabled="true"]), [role="menuitemradio"]:not([aria-disabled="true"])'
|
|
42
|
+
)), t = o.indexOf(document.activeElement);
|
|
43
|
+
if (n.key === "ArrowDown") {
|
|
44
|
+
n.preventDefault();
|
|
45
|
+
const s = t < o.length - 1 ? t + 1 : 0;
|
|
46
|
+
(i = o[s]) == null || i.focus();
|
|
47
|
+
} else if (n.key === "ArrowUp") {
|
|
48
|
+
n.preventDefault();
|
|
49
|
+
const s = t > 0 ? t - 1 : o.length - 1;
|
|
50
|
+
(l = o[s]) == null || l.focus();
|
|
51
|
+
} else n.key === "Home" ? (n.preventDefault(), (f = o[0]) == null || f.focus()) : n.key === "End" && (n.preventDefault(), (v = o[o.length - 1]) == null || v.focus());
|
|
52
|
+
}
|
|
53
|
+
const k = b(() => {
|
|
54
|
+
var o;
|
|
55
|
+
const n = (o = e == null ? void 0 : e.triggerEl.value) == null ? void 0 : o.closest("[data-cui-dropdown-id]");
|
|
56
|
+
return (n == null ? void 0 : n.getAttribute("data-cui-dropdown-id")) ?? "";
|
|
57
|
+
});
|
|
58
|
+
return (n, o) => {
|
|
59
|
+
var t, i, l;
|
|
60
|
+
return w(), S(z, { to: "body" }, [
|
|
61
|
+
(t = d(e)) != null && t.isOpen.value || (i = d(e)) != null && i.isClosing.value ? (w(), F("div", {
|
|
62
|
+
key: 0,
|
|
63
|
+
ref_key: "menuRef",
|
|
64
|
+
ref: u,
|
|
65
|
+
class: O(["cui-dropdown-menu", { "cui-dropdown-menu--closing": (l = d(e)) == null ? void 0 : l.isClosing.value }]),
|
|
66
|
+
"data-cui-dropdown-owner": k.value,
|
|
67
|
+
style: L({ ...c.value, minWidth: y.minWidth }),
|
|
68
|
+
role: "menu",
|
|
69
|
+
onKeydown: g
|
|
70
|
+
}, [
|
|
71
|
+
q(n.$slots, "default", {}, void 0, !0)
|
|
72
|
+
], 46, K)) : B("", !0)
|
|
73
|
+
]);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
export {
|
|
78
|
+
T as default
|
|
79
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineComponent as d, provide as p, toRef as a, openBlock as m, createElementBlock as n, renderSlot as u } from "vue";
|
|
2
|
+
import { DropdownRadioKey as s } from "./dropdown-context.js";
|
|
3
|
+
const i = { role: "group" }, V = /* @__PURE__ */ d({
|
|
4
|
+
__name: "CuiDropdownRadioGroup",
|
|
5
|
+
props: {
|
|
6
|
+
modelValue: {}
|
|
7
|
+
},
|
|
8
|
+
emits: ["update:modelValue"],
|
|
9
|
+
setup(o, { emit: t }) {
|
|
10
|
+
const r = o, l = t;
|
|
11
|
+
return p(s, {
|
|
12
|
+
modelValue: a(r, "modelValue"),
|
|
13
|
+
select(e) {
|
|
14
|
+
l("update:modelValue", e);
|
|
15
|
+
}
|
|
16
|
+
}), (e, c) => (m(), n("div", i, [
|
|
17
|
+
u(e.$slots, "default")
|
|
18
|
+
]));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
export {
|
|
22
|
+
V as default
|
|
23
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineComponent as r, inject as s, computed as m, openBlock as n, createElementBlock as u, normalizeClass as f, createElementVNode as l, createBlock as p, createCommentVNode as b, renderSlot as k } from "vue";
|
|
2
|
+
import v from "./CuiIcon.vue.js";
|
|
3
|
+
import { DropdownRadioKey as _ } from "./dropdown-context.js";
|
|
4
|
+
const h = ["aria-checked", "aria-disabled", "tabindex"], w = { class: "cui-dropdown-radio-item__check" }, y = { class: "cui-dropdown-radio-item__label" }, E = /* @__PURE__ */ r({
|
|
5
|
+
__name: "CuiDropdownRadioItem",
|
|
6
|
+
props: {
|
|
7
|
+
value: {},
|
|
8
|
+
disabled: { type: Boolean, default: !1 }
|
|
9
|
+
},
|
|
10
|
+
setup(a) {
|
|
11
|
+
const i = a, e = s(_), d = m(() => (e == null ? void 0 : e.modelValue.value) === i.value);
|
|
12
|
+
function t() {
|
|
13
|
+
i.disabled || e == null || e.select(i.value);
|
|
14
|
+
}
|
|
15
|
+
function c(o) {
|
|
16
|
+
(o.key === "Enter" || o.key === " ") && (o.preventDefault(), t());
|
|
17
|
+
}
|
|
18
|
+
return (o, C) => (n(), u("div", {
|
|
19
|
+
class: f(["cui-dropdown-radio-item", { "cui-dropdown-radio-item--disabled": a.disabled }]),
|
|
20
|
+
role: "menuitemradio",
|
|
21
|
+
"aria-checked": d.value,
|
|
22
|
+
"aria-disabled": a.disabled || void 0,
|
|
23
|
+
tabindex: a.disabled ? -1 : 0,
|
|
24
|
+
onClick: t,
|
|
25
|
+
onKeydown: c
|
|
26
|
+
}, [
|
|
27
|
+
l("span", w, [
|
|
28
|
+
d.value ? (n(), p(v, {
|
|
29
|
+
key: 0,
|
|
30
|
+
name: "circle",
|
|
31
|
+
size: "0.5rem",
|
|
32
|
+
weight: "fill"
|
|
33
|
+
})) : b("", !0)
|
|
34
|
+
]),
|
|
35
|
+
l("span", y, [
|
|
36
|
+
k(o.$slots, "default", {}, void 0, !0)
|
|
37
|
+
])
|
|
38
|
+
], 42, h));
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
export {
|
|
42
|
+
E as default
|
|
43
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { defineComponent as M, inject as S, computed as D, ref as f, onUnmounted as B, openBlock as s, createElementBlock as v, createElementVNode as w, normalizeClass as E, renderSlot as m, createCommentVNode as h, createVNode as P, createBlock as $, Teleport as z, normalizeStyle as N } from "vue";
|
|
2
|
+
import R from "./CuiIcon.vue.js";
|
|
3
|
+
import { DropdownContextKey as V, computeDropdownPosition as A } from "./dropdown-context.js";
|
|
4
|
+
const C = ["aria-expanded", "aria-disabled", "tabindex"], K = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "cui-dropdown-sub__icon"
|
|
7
|
+
}, L = { class: "cui-dropdown-sub__label" }, q = /* @__PURE__ */ M({
|
|
8
|
+
__name: "CuiDropdownSub",
|
|
9
|
+
props: {
|
|
10
|
+
trigger: {},
|
|
11
|
+
disabled: { type: Boolean, default: !1 }
|
|
12
|
+
},
|
|
13
|
+
setup(r) {
|
|
14
|
+
const p = r, o = S(V), u = D(() => p.trigger ?? (o == null ? void 0 : o.trigger.value) ?? "click"), i = f(!1), a = f(), g = f({});
|
|
15
|
+
let n = null, l = null;
|
|
16
|
+
const d = o == null ? void 0 : o.registerSubMenu(() => t());
|
|
17
|
+
B(() => d == null ? void 0 : d());
|
|
18
|
+
function c() {
|
|
19
|
+
if (!p.disabled) {
|
|
20
|
+
if (l && (clearTimeout(l), l = null), o == null || o.closeSiblingSubMenus(() => t()), a.value) {
|
|
21
|
+
const { styles: e } = A(a.value, "right");
|
|
22
|
+
g.value = e;
|
|
23
|
+
}
|
|
24
|
+
i.value = !0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function t() {
|
|
28
|
+
n && (clearTimeout(n), n = null), i.value = !1;
|
|
29
|
+
}
|
|
30
|
+
function y() {
|
|
31
|
+
i.value ? t() : c();
|
|
32
|
+
}
|
|
33
|
+
function b() {
|
|
34
|
+
(u.value === "hover" || u.value === "hover-focus") && (l && (clearTimeout(l), l = null), n = setTimeout(c, 150));
|
|
35
|
+
}
|
|
36
|
+
function _() {
|
|
37
|
+
(u.value === "hover" || u.value === "hover-focus") && (n && (clearTimeout(n), n = null), l = setTimeout(t, 200));
|
|
38
|
+
}
|
|
39
|
+
function k() {
|
|
40
|
+
u.value === "click" && y();
|
|
41
|
+
}
|
|
42
|
+
function T(e) {
|
|
43
|
+
e.key === "ArrowRight" && !i.value ? (e.preventDefault(), e.stopPropagation(), c()) : e.key === "ArrowLeft" && i.value ? (e.preventDefault(), e.stopPropagation(), t()) : e.key === "Escape" && i.value && (e.stopPropagation(), t());
|
|
44
|
+
}
|
|
45
|
+
return (e, j) => (s(), v("div", {
|
|
46
|
+
class: "cui-dropdown-sub",
|
|
47
|
+
onMouseenter: b,
|
|
48
|
+
onMouseleave: _,
|
|
49
|
+
onKeydown: T
|
|
50
|
+
}, [
|
|
51
|
+
w("div", {
|
|
52
|
+
ref_key: "triggerRef",
|
|
53
|
+
ref: a,
|
|
54
|
+
class: E(["cui-dropdown-sub__trigger", { "cui-dropdown-sub__trigger--disabled": r.disabled, "cui-dropdown-sub__trigger--open": i.value }]),
|
|
55
|
+
role: "menuitem",
|
|
56
|
+
"aria-haspopup": "true",
|
|
57
|
+
"aria-expanded": i.value,
|
|
58
|
+
"aria-disabled": r.disabled || void 0,
|
|
59
|
+
tabindex: r.disabled ? -1 : 0,
|
|
60
|
+
onClick: k
|
|
61
|
+
}, [
|
|
62
|
+
e.$slots.icon ? (s(), v("span", K, [
|
|
63
|
+
m(e.$slots, "icon", {}, void 0, !0)
|
|
64
|
+
])) : h("", !0),
|
|
65
|
+
w("span", L, [
|
|
66
|
+
m(e.$slots, "default", {}, void 0, !0)
|
|
67
|
+
]),
|
|
68
|
+
P(R, {
|
|
69
|
+
name: "caret-right",
|
|
70
|
+
size: "0.75rem",
|
|
71
|
+
class: "cui-dropdown-sub__arrow"
|
|
72
|
+
})
|
|
73
|
+
], 10, C),
|
|
74
|
+
(s(), $(z, { to: "body" }, [
|
|
75
|
+
i.value ? (s(), v("div", {
|
|
76
|
+
key: 0,
|
|
77
|
+
class: "cui-dropdown-sub__menu",
|
|
78
|
+
style: N(g.value),
|
|
79
|
+
role: "menu",
|
|
80
|
+
onMouseenter: b,
|
|
81
|
+
onMouseleave: _
|
|
82
|
+
}, [
|
|
83
|
+
m(e.$slots, "menu", {}, void 0, !0)
|
|
84
|
+
], 36)) : h("", !0)
|
|
85
|
+
]))
|
|
86
|
+
], 32));
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
export {
|
|
90
|
+
q as default
|
|
91
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineComponent as n, inject as i, ref as l, onMounted as c, openBlock as u, createElementBlock as a, renderSlot as f } from "vue";
|
|
2
|
+
import { DropdownContextKey as d } from "./dropdown-context.js";
|
|
3
|
+
const _ = /* @__PURE__ */ n({
|
|
4
|
+
__name: "CuiDropdownTrigger",
|
|
5
|
+
setup(p) {
|
|
6
|
+
const e = i(d), o = l();
|
|
7
|
+
c(() => {
|
|
8
|
+
e && o.value && (e.triggerEl.value = o.value);
|
|
9
|
+
});
|
|
10
|
+
function r() {
|
|
11
|
+
(e == null ? void 0 : e.trigger.value) === "click" && e.toggle();
|
|
12
|
+
}
|
|
13
|
+
return (t, s) => (u(), a("div", {
|
|
14
|
+
ref_key: "el",
|
|
15
|
+
ref: o,
|
|
16
|
+
class: "cui-dropdown-trigger",
|
|
17
|
+
onClick: r
|
|
18
|
+
}, [
|
|
19
|
+
f(t.$slots, "default", {}, void 0, !0)
|
|
20
|
+
], 512));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
_ as default
|
|
25
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { defineComponent as p, computed as m, withDirectives as f, openBlock as c, createElementBlock as o, normalizeStyle as s, renderSlot as r, createElementVNode as h, createVNode as g, createCommentVNode as l, toDisplayString as d, vShow as S } from "vue";
|
|
2
|
+
import { clampSize as z, scaleDensity as n } from "../utils/sizing.js";
|
|
3
|
+
import F from "./CuiIcon.vue.js";
|
|
4
|
+
const k = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "cui-empty-state__icon-area"
|
|
7
|
+
}, $ = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "cui-empty-state__actions"
|
|
10
|
+
}, M = /* @__PURE__ */ p({
|
|
11
|
+
__name: "CuiEmptyState",
|
|
12
|
+
props: {
|
|
13
|
+
icon: {},
|
|
14
|
+
title: {},
|
|
15
|
+
description: {},
|
|
16
|
+
hidden: { type: Boolean, default: !1 },
|
|
17
|
+
color: { default: "primary" },
|
|
18
|
+
size: { default: "md" }
|
|
19
|
+
},
|
|
20
|
+
setup(e) {
|
|
21
|
+
const u = ["sm", "md", "lg"], a = e, y = {
|
|
22
|
+
sm: { circle: "2.5rem", icon: "1.25rem", titleFont: "1rem", descFont: "0.8125rem", gap: n("0.75rem"), descMaxWidth: "20rem" },
|
|
23
|
+
md: { circle: "3.5rem", icon: "1.75rem", titleFont: "1.125rem", descFont: "0.875rem", gap: n("1rem"), descMaxWidth: "24rem" },
|
|
24
|
+
lg: { circle: "4.5rem", icon: "2rem", titleFont: "1.25rem", descFont: "1rem", gap: n("1.25rem"), descMaxWidth: "28rem" }
|
|
25
|
+
}, t = m(() => y[z(a.size, u)]), v = m(() => ({
|
|
26
|
+
width: t.value.circle,
|
|
27
|
+
height: t.value.circle,
|
|
28
|
+
background: `var(--cui-${a.color}-bg)`,
|
|
29
|
+
color: `var(--cui-${a.color})`
|
|
30
|
+
}));
|
|
31
|
+
return (i, C) => f((c(), o("div", {
|
|
32
|
+
class: "cui-empty-state",
|
|
33
|
+
style: s({ gap: t.value.gap })
|
|
34
|
+
}, [
|
|
35
|
+
e.icon || i.$slots.icon ? (c(), o("div", k, [
|
|
36
|
+
r(i.$slots, "icon", {}, () => [
|
|
37
|
+
h("div", {
|
|
38
|
+
class: "cui-empty-state__circle",
|
|
39
|
+
style: s(v.value)
|
|
40
|
+
}, [
|
|
41
|
+
g(F, {
|
|
42
|
+
name: e.icon,
|
|
43
|
+
size: t.value.icon
|
|
44
|
+
}, null, 8, ["name", "size"])
|
|
45
|
+
], 4)
|
|
46
|
+
], !0)
|
|
47
|
+
])) : l("", !0),
|
|
48
|
+
r(i.$slots, "default", {}, () => [
|
|
49
|
+
e.title ? (c(), o("div", {
|
|
50
|
+
key: 0,
|
|
51
|
+
class: "cui-empty-state__title",
|
|
52
|
+
style: s({ fontSize: t.value.titleFont })
|
|
53
|
+
}, d(e.title), 5)) : l("", !0),
|
|
54
|
+
e.description ? (c(), o("div", {
|
|
55
|
+
key: 1,
|
|
56
|
+
class: "cui-empty-state__description",
|
|
57
|
+
style: s({ fontSize: t.value.descFont, maxWidth: t.value.descMaxWidth })
|
|
58
|
+
}, d(e.description), 5)) : l("", !0)
|
|
59
|
+
], !0),
|
|
60
|
+
i.$slots.actions ? (c(), o("div", $, [
|
|
61
|
+
r(i.$slots, "actions", {}, void 0, !0)
|
|
62
|
+
])) : l("", !0)
|
|
63
|
+
], 4)), [
|
|
64
|
+
[S, !e.hidden]
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
export {
|
|
69
|
+
M as default
|
|
70
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { defineComponent as h, ref as k, watch as y, computed as x, withDirectives as B, openBlock as o, createElementBlock as c, normalizeStyle as C, normalizeClass as i, createElementVNode as s, createBlock as $, createCommentVNode as r, toDisplayString as u, renderSlot as S, vShow as w } from "vue";
|
|
2
|
+
import z from "./CuiIcon.vue.js";
|
|
3
|
+
const E = ["disabled"], D = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "cui-fieldset__description"
|
|
6
|
+
}, V = /* @__PURE__ */ h({
|
|
7
|
+
__name: "CuiFieldset",
|
|
8
|
+
props: {
|
|
9
|
+
legend: {},
|
|
10
|
+
description: {},
|
|
11
|
+
variant: { default: "outline" },
|
|
12
|
+
rounded: { default: "md" },
|
|
13
|
+
collapsible: { type: Boolean, default: !1 },
|
|
14
|
+
expanded: { type: Boolean, default: !0 },
|
|
15
|
+
hidden: { type: Boolean, default: !1 },
|
|
16
|
+
color: { default: "surface" },
|
|
17
|
+
disabled: { type: Boolean, default: !1 }
|
|
18
|
+
},
|
|
19
|
+
emits: ["update:expanded"],
|
|
20
|
+
setup(e, { emit: f }) {
|
|
21
|
+
const a = e, b = f, l = k(a.expanded);
|
|
22
|
+
y(
|
|
23
|
+
() => a.expanded,
|
|
24
|
+
(t) => {
|
|
25
|
+
l.value = t;
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
function v() {
|
|
29
|
+
a.collapsible && (l.value = !l.value, b("update:expanded", l.value));
|
|
30
|
+
}
|
|
31
|
+
const m = {
|
|
32
|
+
none: "0",
|
|
33
|
+
sm: "0.25rem",
|
|
34
|
+
md: "var(--cui-button-radius, 0.375rem)",
|
|
35
|
+
lg: "0.5rem",
|
|
36
|
+
full: "9999px"
|
|
37
|
+
}, p = x(() => {
|
|
38
|
+
const t = a.color, n = t === "surface" ? "var(--cui-border)" : `var(--cui-${t}-border)`, g = t === "surface" ? "var(--cui-surface-bg)" : `var(--cui-${t}-bg)`, d = {
|
|
39
|
+
borderRadius: m[a.rounded]
|
|
40
|
+
};
|
|
41
|
+
return a.variant === "ghost" ? (d.border = "none", d.background = "transparent") : a.variant === "subtle" ? (d.border = `1px solid ${n}`, d.background = g) : (d.border = `1px solid ${n}`, d.background = "transparent"), d;
|
|
42
|
+
});
|
|
43
|
+
return (t, n) => B((o(), c("fieldset", {
|
|
44
|
+
class: i(["cui-fieldset", [
|
|
45
|
+
`cui-fieldset--${e.variant}`,
|
|
46
|
+
{
|
|
47
|
+
"cui-fieldset--collapsed": e.collapsible && !l.value,
|
|
48
|
+
"cui-fieldset--disabled": e.disabled
|
|
49
|
+
}
|
|
50
|
+
]]),
|
|
51
|
+
style: C(p.value),
|
|
52
|
+
disabled: e.disabled || void 0
|
|
53
|
+
}, [
|
|
54
|
+
s("legend", {
|
|
55
|
+
class: i(["cui-fieldset__legend", { "cui-fieldset__legend--clickable": e.collapsible }]),
|
|
56
|
+
onClick: v
|
|
57
|
+
}, [
|
|
58
|
+
e.collapsible ? (o(), $(z, {
|
|
59
|
+
key: 0,
|
|
60
|
+
name: "caret-down",
|
|
61
|
+
size: "1rem",
|
|
62
|
+
class: i(["cui-fieldset__chevron", { "cui-fieldset__chevron--collapsed": !l.value }])
|
|
63
|
+
}, null, 8, ["class"])) : r("", !0),
|
|
64
|
+
s("span", null, u(e.legend), 1)
|
|
65
|
+
], 2),
|
|
66
|
+
e.description && l.value ? (o(), c("div", D, u(e.description), 1)) : r("", !0),
|
|
67
|
+
s("div", {
|
|
68
|
+
class: i(["cui-fieldset__content", { "cui-fieldset__content--hidden": e.collapsible && !l.value }])
|
|
69
|
+
}, [
|
|
70
|
+
S(t.$slots, "default", {}, void 0, !0)
|
|
71
|
+
], 2)
|
|
72
|
+
], 14, E)), [
|
|
73
|
+
[w, !e.hidden]
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
export {
|
|
78
|
+
V as default
|
|
79
|
+
};
|