@livestorm/ui-vue 2.0.5 → 3.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/README.md +6 -3
- package/dist/UiTimelineItem.vue_vue_type_style_index_0_lang-LpdvGf5X.mjs +6093 -0
- package/dist/components.mjs +105 -96
- package/dist/index.mjs +68 -64
- package/dist/layouts.mjs +15 -15
- package/dist/types/index.d.ts +5 -1
- package/dist/types/src/components/UiActionBar/UiActionBar.vue.d.ts +3 -1
- package/dist/types/src/components/UiActionBar/UiActionBarItem.vue.d.ts +18 -3
- package/dist/types/src/components/UiActionBar/types.d.ts +3 -1
- package/dist/types/src/components/UiButton/UiButton.vue.d.ts +17 -13
- package/dist/types/src/components/UiButtonGroup/UiButtonGroupItem.vue.d.ts +3 -0
- package/dist/types/src/components/UiButtonGroup/types.d.ts +1 -1
- package/dist/types/src/components/UiDropdown/UiDropdownItem.vue.d.ts +6 -4
- package/dist/types/src/components/UiInputEmoji/UiInputEmoji.vue.d.ts +45 -0
- package/dist/types/src/components/UiInputEmoji/index.d.ts +1 -0
- package/dist/types/src/components/UiInputRadio/UiInputRadio.vue.d.ts +67 -0
- package/dist/types/src/components/UiInputRadio/UiInputRadioGroup.vue.d.ts +81 -0
- package/dist/types/src/components/UiInputRadio/index.d.ts +3 -0
- package/dist/types/src/components/UiInputRadio/types.d.ts +19 -0
- package/dist/types/src/components/UiLoader/UiLoader.vue.d.ts +6 -5
- package/dist/types/src/components/UiLogo/UiLogo.vue.d.ts +9 -3
- package/dist/types/src/components/UiPage/UiPage.vue.d.ts +34 -0
- package/dist/types/src/components/UiProgress/UiProgress.vue.d.ts +1 -1
- package/dist/types/src/components/UiSwitch/UiSwitch.vue.d.ts +109 -0
- package/dist/types/src/components/UiSwitch/index.d.ts +2 -0
- package/dist/types/src/components/UiSwitch/types.d.ts +3 -0
- package/dist/types/src/components/UiTabs/UiTabs.vue.d.ts +5 -2
- package/dist/types/src/composables/useContentMode.d.ts +25 -0
- package/dist/types/src/composables/useIconSize.d.ts +11 -0
- package/dist/types/src/constants/sizes.d.ts +1 -1
- package/dist/ui-vue.css +1 -1
- package/index.d.ts +4 -0
- package/index.js +8 -0
- package/package.json +6 -3
- package/src/components/Toast/ToastMessage.vue +6 -6
- package/src/components/UiActionBar/UiActionBar.vue +11 -2
- package/src/components/UiActionBar/UiActionBarItem.vue +56 -32
- package/src/components/UiActionBar/types.ts +3 -1
- package/src/components/UiAvatar/UiAvatar.vue +1 -1
- package/src/components/UiBanner/UiBanner.vue +7 -7
- package/src/components/UiButton/UiButton.vue +9 -9
- package/src/components/UiButtonGroup/UiButtonGroup.vue +2 -0
- package/src/components/UiButtonGroup/UiButtonGroupItem.vue +12 -0
- package/src/components/UiButtonGroup/types.ts +1 -1
- package/src/components/UiCarousel/UiCarousel.vue +2 -2
- package/src/components/UiColorPicker/UiColorPicker.vue +5 -5
- package/src/components/UiDialog/MarketplaceHeaderExample.vue +2 -2
- package/src/components/UiDialog/UiDialogClose.vue +1 -1
- package/src/components/UiDropdown/UiDropdownContent.vue +2 -2
- package/src/components/UiDropdown/UiDropdownItem.vue +8 -1
- package/src/components/UiDropdown/UiDropdownTrigger.vue +6 -7
- package/src/components/UiFieldWrapper/UiFieldWrapper.vue +1 -1
- package/src/components/UiInputCheckbox/UiInputCheckbox.vue +2 -2
- package/src/components/UiInputEmoji/UiInputEmoji.vue +173 -0
- package/src/components/UiInputEmoji/index.ts +1 -0
- package/src/components/UiInputRadio/UiInputRadio.vue +374 -0
- package/src/components/UiInputRadio/UiInputRadioGroup.vue +156 -0
- package/src/components/UiInputRadio/index.ts +3 -0
- package/src/components/UiInputRadio/types.ts +25 -0
- package/src/components/UiLoader/UiLoader.vue +8 -10
- package/src/components/UiLogo/UiLogo.vue +41 -7
- package/src/components/UiMenu/UiMenuContent.vue +1 -1
- package/src/components/UiMenu/UiMenuGroup.vue +1 -1
- package/src/components/UiMenu/UiMenuItem.vue +1 -1
- package/src/components/UiMenu/UiMenuSubContent.vue +1 -1
- package/src/components/UiMenu/UiMenuSubTrigger.vue +2 -2
- package/src/components/UiPage/UiPage.vue +102 -34
- package/src/components/UiPageHeader/UiPageHeader.vue +29 -9
- package/src/components/UiRoomButton/UiRoomButton.vue +4 -4
- package/src/components/UiShell/UiShell.vue +1 -1
- package/src/components/UiSideMenu/UiSideMenu.vue +13 -10
- package/src/components/UiSideMenu/UiSideMenuItemContent.vue +2 -2
- package/src/components/UiStepper/UiStepperIndicator.vue +8 -11
- package/src/components/UiSwitch/UiSwitch.vue +359 -0
- package/src/components/UiSwitch/index.ts +2 -0
- package/src/components/UiSwitch/types.ts +5 -0
- package/src/components/UiTabs/UiTabs.vue +7 -4
- package/src/components/UiTextField/UiTextField.vue +6 -11
- package/src/components/UiTimeline/README.md +6 -6
- package/src/components/UiTimeline/UiTimelineItem.vue +3 -3
- package/src/composables/useContentMode.ts +53 -0
- package/src/composables/useIconSize.ts +28 -0
- package/src/constants/sizes.ts +1 -1
- package/src/global.d.ts +8 -0
- package/dist/UiTimelineItem.vue_vue_type_style_index_0_lang-DJFdCn2R.mjs +0 -5456
package/dist/layouts.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as I, computed as w, ref as C, onMounted as M, resolveComponent as E, createElementBlock as n, openBlock as t, createElementVNode as v, createCommentVNode as a, createBlock as y, resolveDynamicComponent as P, normalizeProps as z, guardReactiveProps as H, Fragment as
|
|
1
|
+
import { defineComponent as I, computed as w, ref as C, onMounted as M, resolveComponent as E, createElementBlock as n, openBlock as t, createElementVNode as v, createCommentVNode as a, createBlock as y, resolveDynamicComponent as P, normalizeProps as z, guardReactiveProps as H, Fragment as h, normalizeClass as b, normalizeStyle as N, toDisplayString as f, withKeys as S, withCtx as k, createTextVNode as B, getCurrentInstance as D, createVNode as L, Transition as V, TransitionGroup as A, renderList as R, unref as x, mergeProps as j } from "vue";
|
|
2
2
|
import { useResponsive as K } from "./responsive.mjs";
|
|
3
3
|
import { u as U } from "./toastDSV2-wMh-UMzW.mjs";
|
|
4
4
|
import { u as F } from "./useThemeAndModes-BzYwSOEv.mjs";
|
|
@@ -52,13 +52,13 @@ const G = ["data-testid"], O = {
|
|
|
52
52
|
if (e.customIcon) return e.customIcon;
|
|
53
53
|
switch (e.type) {
|
|
54
54
|
case "alert":
|
|
55
|
-
return "i-
|
|
55
|
+
return "i-ph-x-circle !text-text-danger-base";
|
|
56
56
|
case "warning":
|
|
57
|
-
return "i-
|
|
57
|
+
return "i-ph-warning !text-text-warning-base";
|
|
58
58
|
case "info":
|
|
59
|
-
return "i-
|
|
59
|
+
return "i-ph-info text-text-primary-base";
|
|
60
60
|
case "success":
|
|
61
|
-
return "i-
|
|
61
|
+
return "i-ph-check-circle text-text-success-base";
|
|
62
62
|
default:
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -98,8 +98,8 @@ const G = ["data-testid"], O = {
|
|
|
98
98
|
class: "flex-1 min-w-0"
|
|
99
99
|
}, [
|
|
100
100
|
(t(), y(P({ ...e.component }), z(H(e.componentProps)), null, 16))
|
|
101
|
-
], 512)) : (t(), n(
|
|
102
|
-
_.value ? (t(), n(
|
|
101
|
+
], 512)) : (t(), n(h, { key: 1 }, [
|
|
102
|
+
_.value ? (t(), n(h, { key: 0 }, [
|
|
103
103
|
u.time ? (t(), n("div", {
|
|
104
104
|
key: 0,
|
|
105
105
|
ref_key: "Toast",
|
|
@@ -125,7 +125,7 @@ const G = ["data-testid"], O = {
|
|
|
125
125
|
v("div", W, [
|
|
126
126
|
g.value ? (t(), n("div", {
|
|
127
127
|
key: 0,
|
|
128
|
-
class: b(["
|
|
128
|
+
class: b(["size-5 mr-3 shrink-0 mb-2 sm:mb-0", g.value])
|
|
129
129
|
}, null, 2)) : a("", !0)
|
|
130
130
|
]),
|
|
131
131
|
v("div", X, [
|
|
@@ -140,7 +140,7 @@ const G = ["data-testid"], O = {
|
|
|
140
140
|
"data-testid": `toast-close-${String(e.id)}`,
|
|
141
141
|
color: "neutral",
|
|
142
142
|
variant: "tertiary",
|
|
143
|
-
icon: "i-
|
|
143
|
+
icon: "i-ph-x",
|
|
144
144
|
size: "md",
|
|
145
145
|
"aria-label": "close",
|
|
146
146
|
class: "-top-[10px] -right-[2px] sm:row-start-1",
|
|
@@ -160,7 +160,7 @@ const G = ["data-testid"], O = {
|
|
|
160
160
|
class: "w-full sm:w-auto",
|
|
161
161
|
onClick: o[2] || (o[2] = (d) => s.$emit("confirm", d))
|
|
162
162
|
}, {
|
|
163
|
-
default:
|
|
163
|
+
default: k(() => [
|
|
164
164
|
B(f(e.confirmLabel), 1)
|
|
165
165
|
]),
|
|
166
166
|
_: 1
|
|
@@ -172,7 +172,7 @@ const G = ["data-testid"], O = {
|
|
|
172
172
|
class: "w-full sm:w-auto",
|
|
173
173
|
onClick: o[3] || (o[3] = (d) => s.$emit("cancel"))
|
|
174
174
|
}, {
|
|
175
|
-
default:
|
|
175
|
+
default: k(() => [
|
|
176
176
|
B(f(e.cancelLabel), 1)
|
|
177
177
|
]),
|
|
178
178
|
_: 1
|
|
@@ -196,12 +196,12 @@ const G = ["data-testid"], O = {
|
|
|
196
196
|
const i = r.getBoundingClientRect(), { style: s } = r;
|
|
197
197
|
s.top = `${i.top}px`, s.left = `${i.left}px`, s.width = `${i.width}px`, s.height = `${i.height}px`;
|
|
198
198
|
}
|
|
199
|
-
return (r, i) => (t(), n(
|
|
199
|
+
return (r, i) => (t(), n(h, null, [
|
|
200
200
|
L(V, {
|
|
201
201
|
duration: 200,
|
|
202
202
|
appear: ""
|
|
203
203
|
}, {
|
|
204
|
-
default:
|
|
204
|
+
default: k(() => [
|
|
205
205
|
_.value ? (t(), n("div", te)) : a("", !0)
|
|
206
206
|
]),
|
|
207
207
|
_: 1
|
|
@@ -212,8 +212,8 @@ const G = ["data-testid"], O = {
|
|
|
212
212
|
class: b([e.value?.mobile ? "m-4 right-0" : "m-8 max-w-md w-full", "fixed left-0 bottom-0 flex flex-col gap-2 z-max"]),
|
|
213
213
|
onBeforeLeave: T
|
|
214
214
|
}, {
|
|
215
|
-
default:
|
|
216
|
-
(t(!0), n(
|
|
215
|
+
default: k(() => [
|
|
216
|
+
(t(!0), n(h, null, R(x(l).slice(0, oe), (s) => (t(), n("div", {
|
|
217
217
|
key: s.id,
|
|
218
218
|
class: "w-full sm:max-w-[400px]"
|
|
219
219
|
}, [
|
package/dist/types/index.d.ts
CHANGED
|
@@ -29,6 +29,9 @@ import UiFieldWrapper from './src/components/UiFieldWrapper/UiFieldWrapper.vue';
|
|
|
29
29
|
import UiFormField from './src/components/UiForm/UiFormField.vue';
|
|
30
30
|
import UiHorizontalSeparator from './src/components/UiHorizontalSeparator/UiHorizontalSeparator.vue';
|
|
31
31
|
import UiInputCheckbox from './src/components/UiInputCheckbox/UiInputCheckbox.vue';
|
|
32
|
+
import UiInputEmoji from './src/components/UiInputEmoji/UiInputEmoji.vue';
|
|
33
|
+
import UiInputRadio from './src/components/UiInputRadio/UiInputRadio.vue';
|
|
34
|
+
import UiInputRadioGroup from './src/components/UiInputRadio/UiInputRadioGroup.vue';
|
|
32
35
|
import UiInputSelect from './src/components/UiInputSelect/UiInputSelect.vue';
|
|
33
36
|
import UiInputTextarea from './src/components/UiInputTextarea/UiInputTextarea.vue';
|
|
34
37
|
import UiLabel from './src/components/UiLabel/UiLabel.vue';
|
|
@@ -66,6 +69,7 @@ import UiStepperIndicator from './src/components/UiStepper/UiStepperIndicator.vu
|
|
|
66
69
|
import UiStepperItem from './src/components/UiStepper/UiStepperItem.vue';
|
|
67
70
|
import UiStepperSeparator from './src/components/UiStepper/UiStepperSeparator.vue';
|
|
68
71
|
import UiStepperTitle from './src/components/UiStepper/UiStepperTitle.vue';
|
|
72
|
+
import UiSwitch from './src/components/UiSwitch/UiSwitch.vue';
|
|
69
73
|
import UiTable from './src/components/UiTable/UiTable.vue';
|
|
70
74
|
import UiTableBody from './src/components/UiTable/UiTableBody.vue';
|
|
71
75
|
import UiTableCell from './src/components/UiTable/UiTableCell.vue';
|
|
@@ -81,4 +85,4 @@ import UiTooltip from './src/components/UiTooltip/UiTooltip.vue';
|
|
|
81
85
|
import UiTooltipContent from './src/components/UiTooltip/UiTooltipContent.vue';
|
|
82
86
|
import UiTooltipProvider from './src/components/UiTooltip/UiTooltipProvider.vue';
|
|
83
87
|
import UiTooltipTrigger from './src/components/UiTooltip/UiTooltipTrigger.vue';
|
|
84
|
-
export { UiActionBar, UiActionBarItem, UiActionBarSeparator, UiAnimatedLogo, UiAvatar, UiAvatarList, UiBadge, UiBanner, UiBreadcrumb, UiButton, UiButtonGroup, UiButtonGroupItem, UiCard, UiCarousel, UiColorField, UiColorPicker, UiDialog, UiDialogClose, UiDialogContent, UiDialogFooter, UiDialogTrigger, UiDropdown, UiDropdownContent, UiDropdownItem, UiDropdownSeparator, UiDropdownTrigger, UiEmptyState, UiFieldWrapper, UiFormField, UiHorizontalSeparator, UiInputCheckbox, UiInputSelect, UiInputTextarea, UiLabel, UiList, UiListItem, UiLoader, UiLogo, UiMenu, UiMenuContent, UiMenuGroup, UiMenuItem, UiMenuLabel, UiMenuSeparator, UiMenuSub, UiMenuSubContent, UiMenuSubTrigger, UiMenuTrigger, UiPage, UiPageHeader, UiPopover, UiPopoverAnchor, UiPopoverContent, UiPopoverTrigger, UiProgress, UiRoomButton, UiShell, UiSideMenu, UiSideMenuBottom, UiSideMenuItem, UiSideMenuItemContent, UiSideMenuTop, UiStepper, UiStepperDescription, UiStepperIndicator, UiStepperItem, UiStepperSeparator, UiStepperTitle, UiTable, UiTableBody, UiTableCell, UiTableHeader, UiTableHeaderCell, UiTableRow, UiTabs, UiTag, UiTextField, UiTimeline, UiTimelineItem, UiTooltip, UiTooltipContent, UiTooltipProvider, UiTooltipTrigger };
|
|
88
|
+
export { UiActionBar, UiActionBarItem, UiActionBarSeparator, UiAnimatedLogo, UiAvatar, UiAvatarList, UiBadge, UiBanner, UiBreadcrumb, UiButton, UiButtonGroup, UiButtonGroupItem, UiCard, UiCarousel, UiColorField, UiColorPicker, UiDialog, UiDialogClose, UiDialogContent, UiDialogFooter, UiDialogTrigger, UiDropdown, UiDropdownContent, UiDropdownItem, UiDropdownSeparator, UiDropdownTrigger, UiEmptyState, UiFieldWrapper, UiFormField, UiHorizontalSeparator, UiInputCheckbox, UiInputEmoji, UiInputRadio, UiInputRadioGroup, UiInputSelect, UiInputTextarea, UiLabel, UiList, UiListItem, UiLoader, UiLogo, UiMenu, UiMenuContent, UiMenuGroup, UiMenuItem, UiMenuLabel, UiMenuSeparator, UiMenuSub, UiMenuSubContent, UiMenuSubTrigger, UiMenuTrigger, UiPage, UiPageHeader, UiPopover, UiPopoverAnchor, UiPopoverContent, UiPopoverTrigger, UiProgress, UiRoomButton, UiShell, UiSideMenu, UiSideMenuBottom, UiSideMenuItem, UiSideMenuItemContent, UiSideMenuTop, UiStepper, UiStepperDescription, UiStepperIndicator, UiStepperItem, UiStepperSeparator, UiStepperTitle, UiSwitch, UiTable, UiTableBody, UiTableCell, UiTableHeader, UiTableHeaderCell, UiTableRow, UiTabs, UiTag, UiTextField, UiTimeline, UiTimelineItem, UiTooltip, UiTooltipContent, UiTooltipProvider, UiTooltipTrigger };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionBarOrientation, ActionBarPosition, ActionBarSize } from './types';
|
|
1
|
+
import type { ActionBarOrientation, ActionBarPosition, ActionBarSize, ActionBarTooltipSide } from './types';
|
|
2
2
|
interface UiActionBarProps {
|
|
3
3
|
/**
|
|
4
4
|
* Lays the items out in a horizontal bar (default) or a vertical rail,
|
|
@@ -22,6 +22,7 @@ interface UiActionBarProps {
|
|
|
22
22
|
* Accessible label for the toolbar landmark. Defaults to "Actions".
|
|
23
23
|
*/
|
|
24
24
|
ariaLabel?: string;
|
|
25
|
+
tooltipSide?: ActionBarTooltipSide;
|
|
25
26
|
}
|
|
26
27
|
declare var __VLS_1: {};
|
|
27
28
|
type __VLS_Slots = {} & {
|
|
@@ -33,6 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<UiActionBarProps, {}, {}
|
|
|
33
34
|
position: ActionBarPosition;
|
|
34
35
|
offset: number;
|
|
35
36
|
ariaLabel: string;
|
|
37
|
+
tooltipSide: ActionBarTooltipSide;
|
|
36
38
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
39
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
40
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { RouteLocationRaw } from 'vue-router';
|
|
2
2
|
interface UiActionBarItemProps {
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Icon class, e.g. `i-ph-trash`. Ignored when the `icon` slot is filled —
|
|
5
|
+
* use the slot for glyphs no icon class covers (emoji, an avatar, a dot).
|
|
6
|
+
*/
|
|
4
7
|
icon?: string;
|
|
5
8
|
/** Visible/accessible label. Required so icon-only items stay accessible. */
|
|
6
9
|
label: string;
|
|
7
10
|
/**
|
|
8
11
|
* Optional icon class rendered next to the label inside the hover tooltip —
|
|
9
|
-
* e.g. `i-
|
|
12
|
+
* e.g. `i-ph-arrow-square-out` to flag that the action opens in a new tab.
|
|
10
13
|
* Only shown for icon-only items (the tooltip is suppressed when
|
|
11
14
|
* `showLabel` is set).
|
|
12
15
|
*/
|
|
@@ -30,7 +33,13 @@ interface UiActionBarItemProps {
|
|
|
30
33
|
*/
|
|
31
34
|
active?: boolean;
|
|
32
35
|
}
|
|
33
|
-
declare
|
|
36
|
+
declare var __VLS_28: {}, __VLS_56: {};
|
|
37
|
+
type __VLS_Slots = {} & {
|
|
38
|
+
icon?: (props: typeof __VLS_28) => any;
|
|
39
|
+
} & {
|
|
40
|
+
icon?: (props: typeof __VLS_56) => any;
|
|
41
|
+
};
|
|
42
|
+
declare const __VLS_base: import("vue").DefineComponent<UiActionBarItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
43
|
click: (event: MouseEvent) => any;
|
|
35
44
|
}, string, import("vue").PublicProps, Readonly<UiActionBarItemProps> & Readonly<{
|
|
36
45
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
@@ -43,5 +52,11 @@ declare const __VLS_export: import("vue").DefineComponent<UiActionBarItemProps,
|
|
|
43
52
|
href: string;
|
|
44
53
|
active: boolean;
|
|
45
54
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
55
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
46
56
|
declare const _default: typeof __VLS_export;
|
|
47
57
|
export default _default;
|
|
58
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
59
|
+
new (): {
|
|
60
|
+
$slots: S;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ComputedRef, InjectionKey } from 'vue';
|
|
2
2
|
export type ActionBarOrientation = 'horizontal' | 'vertical';
|
|
3
|
-
export type ActionBarSize = 'sm' | 'md';
|
|
3
|
+
export type ActionBarSize = 'xs' | 'sm' | 'md';
|
|
4
4
|
export type ActionBarPosition = 'top-left' | 'top-right' | 'center-left' | 'center-right' | 'bottom-left' | 'bottom-right';
|
|
5
|
+
export type ActionBarTooltipSide = 'top' | 'right' | 'bottom' | 'left';
|
|
5
6
|
export interface ActionBarContext {
|
|
6
7
|
orientation: ComputedRef<ActionBarOrientation>;
|
|
7
8
|
size: ComputedRef<ActionBarSize>;
|
|
9
|
+
tooltipSide: ComputedRef<ActionBarTooltipSide | undefined>;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Injected by UiActionBar so child items and separators can adapt their
|
|
@@ -11,7 +11,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
11
11
|
default: string;
|
|
12
12
|
};
|
|
13
13
|
size: {
|
|
14
|
-
type:
|
|
14
|
+
type: () => Size;
|
|
15
15
|
default: string;
|
|
16
16
|
validator: (value: Size) => boolean;
|
|
17
17
|
};
|
|
@@ -98,33 +98,35 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
98
98
|
}>[] | undefined>;
|
|
99
99
|
hasLabel: import("vue").ComputedRef<boolean>;
|
|
100
100
|
isLink: import("vue").ComputedRef<boolean>;
|
|
101
|
-
iconSizeClasses: import("vue").ComputedRef<
|
|
102
|
-
'size-3': boolean;
|
|
103
|
-
'size-4': boolean;
|
|
104
|
-
'size-5': boolean;
|
|
105
|
-
}>;
|
|
101
|
+
iconSizeClasses: import("vue").ComputedRef<"size-3" | "size-4" | "size-5" | "size-6" | "size-7">;
|
|
106
102
|
buttonClasses: import("vue").ComputedRef<(string | {
|
|
103
|
+
'size-6': boolean;
|
|
107
104
|
'size-8': boolean;
|
|
108
105
|
'size-10': boolean;
|
|
109
106
|
'size-12': boolean;
|
|
110
107
|
'grid place-items-center'?: undefined;
|
|
108
|
+
'h-6 text-action-button-sm'?: undefined;
|
|
111
109
|
'h-8 text-action-button-sm'?: undefined;
|
|
112
110
|
'h-10 text-action-button-md'?: undefined;
|
|
113
111
|
'h-12 text-action-button-lg'?: undefined;
|
|
114
112
|
'inline-flex'?: undefined;
|
|
115
113
|
} | {
|
|
116
114
|
'grid place-items-center': boolean;
|
|
115
|
+
'size-6'?: undefined;
|
|
117
116
|
'size-8'?: undefined;
|
|
118
117
|
'size-10'?: undefined;
|
|
119
118
|
'size-12'?: undefined;
|
|
119
|
+
'h-6 text-action-button-sm'?: undefined;
|
|
120
120
|
'h-8 text-action-button-sm'?: undefined;
|
|
121
121
|
'h-10 text-action-button-md'?: undefined;
|
|
122
122
|
'h-12 text-action-button-lg'?: undefined;
|
|
123
123
|
'inline-flex'?: undefined;
|
|
124
124
|
} | {
|
|
125
|
+
'h-6 text-action-button-sm': boolean;
|
|
125
126
|
'h-8 text-action-button-sm': boolean;
|
|
126
127
|
'h-10 text-action-button-md': boolean;
|
|
127
128
|
'h-12 text-action-button-lg': boolean;
|
|
129
|
+
'size-6'?: undefined;
|
|
128
130
|
'size-8'?: undefined;
|
|
129
131
|
'size-10'?: undefined;
|
|
130
132
|
'size-12'?: undefined;
|
|
@@ -132,10 +134,12 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
132
134
|
'inline-flex'?: undefined;
|
|
133
135
|
} | {
|
|
134
136
|
'inline-flex': boolean;
|
|
137
|
+
'size-6'?: undefined;
|
|
135
138
|
'size-8'?: undefined;
|
|
136
139
|
'size-10'?: undefined;
|
|
137
140
|
'size-12'?: undefined;
|
|
138
141
|
'grid place-items-center'?: undefined;
|
|
142
|
+
'h-6 text-action-button-sm'?: undefined;
|
|
139
143
|
'h-8 text-action-button-sm'?: undefined;
|
|
140
144
|
'h-10 text-action-button-md'?: undefined;
|
|
141
145
|
'h-12 text-action-button-lg'?: undefined;
|
|
@@ -155,7 +159,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
155
159
|
default: string;
|
|
156
160
|
};
|
|
157
161
|
size: {
|
|
158
|
-
type:
|
|
162
|
+
type: () => Size;
|
|
159
163
|
default: string;
|
|
160
164
|
validator: (value: Size) => boolean;
|
|
161
165
|
};
|
|
@@ -213,7 +217,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
213
217
|
onMouseleave?: ((...args: any[]) => any) | undefined;
|
|
214
218
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
215
219
|
}>, {
|
|
216
|
-
size:
|
|
220
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
217
221
|
label: string;
|
|
218
222
|
type: string;
|
|
219
223
|
icon: string | boolean;
|
|
@@ -233,18 +237,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
233
237
|
}) => any;
|
|
234
238
|
UiLoader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
235
239
|
size: {
|
|
236
|
-
type:
|
|
240
|
+
type: () => Size;
|
|
237
241
|
default: string;
|
|
238
|
-
validator: (value:
|
|
242
|
+
validator: (value: Size) => boolean;
|
|
239
243
|
};
|
|
240
244
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
241
245
|
size: {
|
|
242
|
-
type:
|
|
246
|
+
type: () => Size;
|
|
243
247
|
default: string;
|
|
244
|
-
validator: (value:
|
|
248
|
+
validator: (value: Size) => boolean;
|
|
245
249
|
};
|
|
246
250
|
}>> & Readonly<{}>, {
|
|
247
|
-
size:
|
|
251
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
248
252
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
249
253
|
UiTooltip: {
|
|
250
254
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("../UiTooltip/UiTooltip.vue").UiTooltipProps> & Readonly<{
|
|
@@ -2,6 +2,8 @@ interface UiButtonGroupItemProps {
|
|
|
2
2
|
value: string;
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
ariaLabel?: string;
|
|
5
|
+
/** Icon class (e.g. "i-ph-text-align-left") rendered before the slot, sized per group size. */
|
|
6
|
+
icon?: string;
|
|
5
7
|
}
|
|
6
8
|
declare var __VLS_9: {};
|
|
7
9
|
type __VLS_Slots = {} & {
|
|
@@ -9,6 +11,7 @@ type __VLS_Slots = {} & {
|
|
|
9
11
|
};
|
|
10
12
|
declare const __VLS_base: import("vue").DefineComponent<UiButtonGroupItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiButtonGroupItemProps> & Readonly<{}>, {
|
|
11
13
|
ariaLabel: string;
|
|
14
|
+
icon: string;
|
|
12
15
|
disabled: boolean;
|
|
13
16
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
17
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComputedRef, InjectionKey } from 'vue';
|
|
2
|
-
export type ButtonGroupSize = 'sm' | 'md' | 'lg';
|
|
2
|
+
export type ButtonGroupSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
3
3
|
export type ButtonGroupColor = 'neutral' | 'neutral-invert' | 'primary' | 'success' | 'warning' | 'error';
|
|
4
4
|
export interface ButtonGroupRegister {
|
|
5
5
|
register(value: string, el: HTMLElement): void;
|
|
@@ -4,13 +4,15 @@ interface Props extends SelectItemProps {
|
|
|
4
4
|
description?: string;
|
|
5
5
|
icon?: string;
|
|
6
6
|
}
|
|
7
|
-
declare var
|
|
7
|
+
declare var __VLS_8: {}, __VLS_16: {}, __VLS_18: {}, __VLS_20: {};
|
|
8
8
|
type __VLS_Slots = {} & {
|
|
9
|
-
|
|
9
|
+
leading?: (props: typeof __VLS_8) => any;
|
|
10
10
|
} & {
|
|
11
|
-
|
|
11
|
+
title?: (props: typeof __VLS_16) => any;
|
|
12
12
|
} & {
|
|
13
|
-
|
|
13
|
+
description?: (props: typeof __VLS_18) => any;
|
|
14
|
+
} & {
|
|
15
|
+
right?: (props: typeof __VLS_20) => any;
|
|
14
16
|
};
|
|
15
17
|
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
16
18
|
title: string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
interface UiInputEmojiProps {
|
|
2
|
+
disabled?: boolean;
|
|
3
|
+
label?: string;
|
|
4
|
+
locale?: string;
|
|
5
|
+
searchPlaceholder?: string;
|
|
6
|
+
loadingLabel?: string;
|
|
7
|
+
emptyLabel?: string;
|
|
8
|
+
previewPlaceholder?: string;
|
|
9
|
+
skinToneLabel?: string;
|
|
10
|
+
sideOffset?: number;
|
|
11
|
+
open?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare var __VLS_14: {
|
|
14
|
+
open: boolean;
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_Slots = {} & {
|
|
18
|
+
default?: (props: typeof __VLS_14) => any;
|
|
19
|
+
};
|
|
20
|
+
declare const __VLS_base: import("vue").DefineComponent<UiInputEmojiProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
21
|
+
select: (emoji: string) => any;
|
|
22
|
+
"update:open": (value: boolean) => any;
|
|
23
|
+
}, string, import("vue").PublicProps, Readonly<UiInputEmojiProps> & Readonly<{
|
|
24
|
+
onSelect?: ((emoji: string) => any) | undefined;
|
|
25
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
26
|
+
}>, {
|
|
27
|
+
label: string;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
sideOffset: number;
|
|
30
|
+
open: boolean;
|
|
31
|
+
locale: string;
|
|
32
|
+
searchPlaceholder: string;
|
|
33
|
+
loadingLabel: string;
|
|
34
|
+
emptyLabel: string;
|
|
35
|
+
previewPlaceholder: string;
|
|
36
|
+
skinToneLabel: string;
|
|
37
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
39
|
+
declare const _default: typeof __VLS_export;
|
|
40
|
+
export default _default;
|
|
41
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
42
|
+
new (): {
|
|
43
|
+
$slots: S;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as UiInputEmoji } from './UiInputEmoji.vue';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { RadioValue, RadioVariant } from './types';
|
|
2
|
+
interface UiInputRadioProps {
|
|
3
|
+
/**
|
|
4
|
+
* The value this option represents. `null` is a valid value;
|
|
5
|
+
* object values must be reference-stable.
|
|
6
|
+
*/
|
|
7
|
+
value: RadioValue;
|
|
8
|
+
/**
|
|
9
|
+
* The label text
|
|
10
|
+
*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Description text below the label
|
|
14
|
+
*/
|
|
15
|
+
description?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Info tooltip for the label
|
|
18
|
+
*/
|
|
19
|
+
labelInfo?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Whether this option is disabled
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Layout orientation of the radio relative to the label
|
|
27
|
+
* @default 'horizontal'
|
|
28
|
+
*/
|
|
29
|
+
orientation?: 'horizontal' | 'vertical';
|
|
30
|
+
/**
|
|
31
|
+
* Visual variant: 'card' renders a selectable tile
|
|
32
|
+
* @default 'default'
|
|
33
|
+
*/
|
|
34
|
+
variant?: RadioVariant;
|
|
35
|
+
/**
|
|
36
|
+
* Radio id attribute
|
|
37
|
+
*/
|
|
38
|
+
id?: string;
|
|
39
|
+
}
|
|
40
|
+
declare var __VLS_22: {};
|
|
41
|
+
type __VLS_Slots = {} & {
|
|
42
|
+
label?: (props: typeof __VLS_22) => any;
|
|
43
|
+
};
|
|
44
|
+
declare const __VLS_base: import("vue").DefineComponent<UiInputRadioProps, {
|
|
45
|
+
focus: () => void | undefined;
|
|
46
|
+
blur: () => void | undefined;
|
|
47
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
48
|
+
select: (event: Event) => any;
|
|
49
|
+
}, string, import("vue").PublicProps, Readonly<UiInputRadioProps> & Readonly<{
|
|
50
|
+
onSelect?: ((event: Event) => any) | undefined;
|
|
51
|
+
}>, {
|
|
52
|
+
orientation: "horizontal" | "vertical";
|
|
53
|
+
label: string;
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
variant: RadioVariant;
|
|
56
|
+
description: string;
|
|
57
|
+
id: string;
|
|
58
|
+
labelInfo: string;
|
|
59
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
60
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
61
|
+
declare const _default: typeof __VLS_export;
|
|
62
|
+
export default _default;
|
|
63
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
64
|
+
new (): {
|
|
65
|
+
$slots: S;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { RadioSize, RadioValue } from './types';
|
|
2
|
+
interface UiInputRadioGroupProps {
|
|
3
|
+
/**
|
|
4
|
+
* The selected value. `undefined` means no selection;
|
|
5
|
+
* `null` is a valid option value.
|
|
6
|
+
*/
|
|
7
|
+
modelValue?: RadioValue;
|
|
8
|
+
/**
|
|
9
|
+
* Name attribute, submitted with the form via a hidden input
|
|
10
|
+
*/
|
|
11
|
+
name?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the whole group is disabled
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Whether arrow-key navigation loops from last item to first
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
loop?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether a selection is required
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
required?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the group is in an error state
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
error?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Error message displayed below the group
|
|
34
|
+
*/
|
|
35
|
+
errorMessage?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Size of the radio items
|
|
38
|
+
* @default 'md'
|
|
39
|
+
*/
|
|
40
|
+
size?: RadioSize;
|
|
41
|
+
/**
|
|
42
|
+
* Layout direction of the items. Also sets the group's `aria-orientation`
|
|
43
|
+
* and the arrow-key navigation axis to match.
|
|
44
|
+
* @default 'vertical'
|
|
45
|
+
*/
|
|
46
|
+
orientation?: 'vertical' | 'horizontal';
|
|
47
|
+
/**
|
|
48
|
+
* Whether the group stretches to fill its container instead of
|
|
49
|
+
* shrink-wrapping its items
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
fullWidth?: boolean;
|
|
53
|
+
}
|
|
54
|
+
declare var __VLS_9: {};
|
|
55
|
+
type __VLS_Slots = {} & {
|
|
56
|
+
default?: (props: typeof __VLS_9) => any;
|
|
57
|
+
};
|
|
58
|
+
declare const __VLS_base: import("vue").DefineComponent<UiInputRadioGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
59
|
+
"update:modelValue": (value: import("reka-ui").AcceptableValue) => any;
|
|
60
|
+
}, string, import("vue").PublicProps, Readonly<UiInputRadioGroupProps> & Readonly<{
|
|
61
|
+
"onUpdate:modelValue"?: ((value: import("reka-ui").AcceptableValue) => any) | undefined;
|
|
62
|
+
}>, {
|
|
63
|
+
orientation: "vertical" | "horizontal";
|
|
64
|
+
size: RadioSize;
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
required: boolean;
|
|
67
|
+
loop: boolean;
|
|
68
|
+
error: boolean;
|
|
69
|
+
name: string;
|
|
70
|
+
modelValue: RadioValue;
|
|
71
|
+
errorMessage: string;
|
|
72
|
+
fullWidth: boolean;
|
|
73
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
74
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
75
|
+
declare const _default: typeof __VLS_export;
|
|
76
|
+
export default _default;
|
|
77
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
78
|
+
new (): {
|
|
79
|
+
$slots: S;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { InjectionKey, Ref } from 'vue';
|
|
2
|
+
import type { AcceptableValue } from 'reka-ui';
|
|
3
|
+
export type RadioSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export type RadioVariant = 'default' | 'card';
|
|
5
|
+
/**
|
|
6
|
+
* Valid radio option values. `null` is a supported option value;
|
|
7
|
+
* `undefined` means "no selection". Object values must be reference-stable.
|
|
8
|
+
*/
|
|
9
|
+
export type RadioValue = AcceptableValue;
|
|
10
|
+
export interface RadioGroupContext {
|
|
11
|
+
/** Current group value (kept in sync in both controlled and uncontrolled mode) */
|
|
12
|
+
modelValue: Readonly<Ref<RadioValue | undefined>>;
|
|
13
|
+
error: Readonly<Ref<boolean>>;
|
|
14
|
+
size: Readonly<Ref<RadioSize>>;
|
|
15
|
+
disabled: Readonly<Ref<boolean>>;
|
|
16
|
+
/** id of the group error message, for aria-describedby on items */
|
|
17
|
+
messageId: Readonly<Ref<string | undefined>>;
|
|
18
|
+
}
|
|
19
|
+
export declare const RADIO_GROUP_KEY: InjectionKey<RadioGroupContext>;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { type Size } from '../../constants';
|
|
1
2
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
3
|
size: {
|
|
3
|
-
type:
|
|
4
|
+
type: () => Size;
|
|
4
5
|
default: string;
|
|
5
|
-
validator: (value:
|
|
6
|
+
validator: (value: Size) => boolean;
|
|
6
7
|
};
|
|
7
8
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
8
9
|
size: {
|
|
9
|
-
type:
|
|
10
|
+
type: () => Size;
|
|
10
11
|
default: string;
|
|
11
|
-
validator: (value:
|
|
12
|
+
validator: (value: Size) => boolean;
|
|
12
13
|
};
|
|
13
14
|
}>> & Readonly<{}>, {
|
|
14
|
-
size:
|
|
15
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
15
16
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
16
17
|
declare const _default: typeof __VLS_export;
|
|
17
18
|
export default _default;
|
|
@@ -5,14 +5,20 @@ interface Props {
|
|
|
5
5
|
width: number;
|
|
6
6
|
/** Follow the brand palette (--color-brand-800) instead of the Livestorm navy. */
|
|
7
7
|
themed?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Dark badge + white mark, for light backgrounds. `"auto"` inverts
|
|
10
|
+
* whenever the logo sits inside a light `data-colors-semantic` scope.
|
|
11
|
+
*/
|
|
12
|
+
inverted?: boolean | "auto";
|
|
10
13
|
/** When false, renders the static logo (the resting pose). */
|
|
11
14
|
animated?: boolean;
|
|
15
|
+
/** Accessible name announced for the logo. */
|
|
16
|
+
label?: string;
|
|
12
17
|
}
|
|
13
18
|
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
19
|
+
label: string;
|
|
14
20
|
variant: UiLogoVariant;
|
|
15
|
-
inverted: boolean;
|
|
21
|
+
inverted: boolean | "auto";
|
|
16
22
|
themed: boolean;
|
|
17
23
|
animated: boolean;
|
|
18
24
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|