@speckle/ui-components 2.25.8 → 2.26.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.
Files changed (31) hide show
  1. package/.cursor/rules/component-library.mdc +147 -0
  2. package/dist/AvatarEditor-00037f6e.cjs +2 -0
  3. package/dist/{AvatarEditor-0f54d404.cjs.map → AvatarEditor-00037f6e.cjs.map} +1 -1
  4. package/dist/{AvatarEditor-9f1741f8.js → AvatarEditor-fc5c4df2.js} +10 -11
  5. package/dist/{AvatarEditor-9f1741f8.js.map → AvatarEditor-fc5c4df2.js.map} +1 -1
  6. package/dist/components/common/PromoAlert.vue.d.ts +17 -0
  7. package/dist/components/form/Checkbox.vue.d.ts +9 -0
  8. package/dist/components/form/CodeInput.vue.d.ts +18 -6
  9. package/dist/components/form/DualRange.vue.d.ts +27 -0
  10. package/dist/components/form/RadioGroup.vue.d.ts +9 -15
  11. package/dist/components/form/Range.vue.d.ts +21 -0
  12. package/dist/components/form/TextInput.vue.d.ts +10 -1
  13. package/dist/components/form/select/Base.vue.d.ts +7 -7
  14. package/dist/components/form/select/Multi.vue.d.ts +7 -7
  15. package/dist/components/global/icon/Check.vue.d.ts +2 -0
  16. package/dist/components/layout/Disclosure.vue.d.ts +25 -3
  17. package/dist/components/layout/Menu.vue.d.ts +37 -262
  18. package/dist/components/user/AvatarEditor.vue.d.ts +2 -2
  19. package/dist/composables/form/textInput.d.ts +15 -1
  20. package/dist/composables/layout/menu.d.ts +6 -0
  21. package/dist/helpers/common/components.d.ts +9 -0
  22. package/dist/helpers/layout/components.d.ts +4 -2
  23. package/dist/lib.cjs +1 -1
  24. package/dist/lib.cjs.map +1 -1
  25. package/dist/lib.d.ts +6 -3
  26. package/dist/lib.js +3843 -2841
  27. package/dist/lib.js.map +1 -1
  28. package/dist/style.css +1 -1
  29. package/eslint.config.mjs +1 -1
  30. package/package.json +4 -5
  31. package/dist/AvatarEditor-0f54d404.cjs +0 -2
@@ -43,7 +43,7 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
43
43
  menuOpenDirection: "left" | "right";
44
44
  menuMaxHeightClasses: string;
45
45
  }> & Omit<{
46
- readonly disabled: Optional<boolean>;
46
+ readonly disabled: boolean;
47
47
  readonly label: string;
48
48
  readonly name: string;
49
49
  readonly search: boolean;
@@ -57,15 +57,16 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
57
57
  readonly multiple: boolean;
58
58
  readonly items: SingleItem[];
59
59
  readonly searchPlaceholder: string;
60
- readonly buttonStyle: Optional<"base" | "simple" | "tinted">;
61
- readonly hideCheckmarks: Optional<boolean>;
62
- readonly allowUnset: Optional<boolean>;
60
+ readonly buttonStyle: "base" | "simple" | "tinted";
61
+ readonly hideCheckmarks: boolean;
62
+ readonly allowUnset: boolean;
63
63
  readonly clearable: boolean;
64
64
  readonly fixedHeight: boolean;
65
65
  readonly fullyControlValue: boolean;
66
66
  readonly mountMenuOnBody: boolean;
67
67
  readonly menuOpenDirection: "left" | "right";
68
68
  readonly size?: Optional<"sm" | "base" | "lg" | "xl">;
69
+ readonly placeholder?: string | undefined;
69
70
  readonly modelValue?: ([{
70
71
  type: PropType<SingleItem | SingleItem[] | undefined>;
71
72
  default: undefined;
@@ -74,20 +75,19 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
74
75
  default: undefined;
75
76
  }) | undefined;
76
77
  readonly rules?: RuleExpression<SingleItem | SingleItem[] | undefined>;
78
+ readonly by?: string | undefined;
77
79
  readonly help?: Optional<string>;
78
- readonly placeholder?: string | undefined;
79
80
  readonly tooltipText?: string | undefined;
80
81
  readonly filterPredicate?: Optional<(item: SingleItem, searchString: string) => boolean>;
81
82
  readonly disabledItemPredicate?: Optional<(item: SingleItem) => boolean>;
82
83
  readonly getSearchResults?: Optional<(searchString: string) => MaybeAsync<SingleItem[]>>;
83
- readonly by?: string | undefined;
84
84
  readonly labelId?: string | undefined;
85
85
  readonly buttonId?: string | undefined;
86
86
  readonly disabledItemTooltip?: string | undefined;
87
87
  readonly menuMaxWidth?: number | undefined;
88
88
  readonly menuMaxHeightClasses?: string | undefined;
89
89
  readonly "onUpdate:modelValue"?: ((v: SingleItem | SingleItem[] | undefined) => any) | undefined;
90
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "multiple" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId" | "menuMaxWidth" | "menuOpenDirection" | "menuMaxHeightClasses">, "label" | "name" | "onUpdate:modelValue" | "placeholder" | "by" | "disabledItemTooltip" | ("size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "multiple" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId" | "menuMaxWidth" | "menuOpenDirection" | "menuMaxHeightClasses")> & {} & Partial<{}>> & import('vue').PublicProps;
90
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "multiple" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId" | "menuMaxWidth" | "menuOpenDirection" | "menuMaxHeightClasses">, "placeholder" | "label" | "name" | "onUpdate:modelValue" | "by" | "disabledItemTooltip" | ("size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "multiple" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId" | "menuMaxWidth" | "menuOpenDirection" | "menuMaxHeightClasses")> & {} & Partial<{}>> & import('vue').PublicProps;
91
91
  expose(exposed: import('vue').ShallowUnwrapRef<{
92
92
  triggerSearch: () => Promise<void>;
93
93
  }>): void;
@@ -39,7 +39,7 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
39
39
  labelId: string;
40
40
  buttonId: string;
41
41
  }> & Omit<{
42
- readonly disabled: Optional<boolean>;
42
+ readonly disabled: boolean;
43
43
  readonly label: string;
44
44
  readonly name: string;
45
45
  readonly search: boolean;
@@ -52,14 +52,15 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
52
52
  readonly showOptional: boolean;
53
53
  readonly items: SingleItem[];
54
54
  readonly searchPlaceholder: string;
55
- readonly buttonStyle: Optional<"base" | "simple" | "tinted">;
56
- readonly hideCheckmarks: Optional<boolean>;
57
- readonly allowUnset: Optional<boolean>;
55
+ readonly buttonStyle: "base" | "simple" | "tinted";
56
+ readonly hideCheckmarks: boolean;
57
+ readonly allowUnset: boolean;
58
58
  readonly clearable: boolean;
59
59
  readonly fixedHeight: boolean;
60
60
  readonly fullyControlValue: boolean;
61
61
  readonly mountMenuOnBody: boolean;
62
62
  readonly size?: Optional<"sm" | "base" | "lg" | "xl">;
63
+ readonly placeholder?: string | undefined;
63
64
  readonly modelValue?: ([{
64
65
  type: PropType<SingleItem | SingleItem[] | undefined>;
65
66
  default: undefined;
@@ -68,18 +69,17 @@ declare const _default: <SingleItem extends Record<string, unknown> | string | n
68
69
  default: undefined;
69
70
  }) | undefined;
70
71
  readonly rules?: RuleExpression<SingleItem | SingleItem[] | undefined>;
72
+ readonly by?: string | undefined;
71
73
  readonly help?: Optional<string>;
72
- readonly placeholder?: string | undefined;
73
74
  readonly tooltipText?: string | undefined;
74
75
  readonly filterPredicate?: Optional<(item: SingleItem, searchString: string) => boolean>;
75
76
  readonly disabledItemPredicate?: Optional<(item: SingleItem) => boolean>;
76
77
  readonly getSearchResults?: Optional<(searchString: string) => MaybeAsync<SingleItem[]>>;
77
- readonly by?: string | undefined;
78
78
  readonly labelId?: string | undefined;
79
79
  readonly buttonId?: string | undefined;
80
80
  readonly disabledItemTooltip?: string | undefined;
81
81
  readonly "onUpdate:modelValue"?: ((v: SingleItem | SingleItem[] | undefined) => any) | undefined;
82
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId">, "label" | "name" | "onUpdate:modelValue" | "placeholder" | "by" | "disabledItemTooltip" | ("size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId")> & {} & Partial<{}>> & import('vue').PublicProps;
82
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId">, "placeholder" | "label" | "name" | "onUpdate:modelValue" | "by" | "disabledItemTooltip" | ("size" | "disabled" | "search" | "modelValue" | "rules" | "validateOnMount" | "showRequired" | "labelPosition" | "validateOnValueUpdate" | "help" | "showLabel" | "useLabelInErrors" | "showOptional" | "tooltipText" | "items" | "filterPredicate" | "disabledItemPredicate" | "getSearchResults" | "searchPlaceholder" | "buttonStyle" | "hideCheckmarks" | "allowUnset" | "clearable" | "fixedHeight" | "fullyControlValue" | "mountMenuOnBody" | "labelId" | "buttonId")> & {} & Partial<{}>> & import('vue').PublicProps;
83
83
  expose(exposed: import('vue').ShallowUnwrapRef<{
84
84
  triggerSearch: () => Promise<void>;
85
85
  }>): void;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
+ export default _default;
@@ -1,24 +1,46 @@
1
1
  import { PropAnyComponent } from '../../helpers/common/components';
2
- type DisclosureColor = 'default' | 'danger' | 'success' | 'warning';
2
+ type DisclosureColor = 'default' | 'danger' | 'success' | 'warning' | 'subtle';
3
3
  type __VLS_Props = {
4
- title: string;
5
4
  /**
6
5
  * HeadlessUI icon component to use
7
6
  */
8
7
  icon?: PropAnyComponent;
9
8
  color?: DisclosureColor;
9
+ /**
10
+ * Whether to lazy load the panel contents only upon opening
11
+ */
12
+ lazyLoad?: boolean;
13
+ /**
14
+ * If edit mode enabled - it will exit mode when user unfocuses
15
+ */
16
+ exitEditModeOnBlur?: boolean;
10
17
  };
18
+ type __VLS_PublicProps = {
19
+ 'editTitle'?: boolean;
20
+ 'title'?: string;
21
+ 'open'?: boolean;
22
+ } & __VLS_Props;
11
23
  declare function __VLS_template(): {
12
24
  attrs: Partial<{}>;
13
25
  slots: {
26
+ 'title-actions'?(_: {}): any;
14
27
  default?(_: {}): any;
15
28
  };
16
29
  refs: {};
17
30
  rootEl: HTMLDivElement;
18
31
  };
19
32
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
33
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
34
+ "update:open": (value: boolean) => any;
35
+ "update:editTitle": (value: boolean) => any;
36
+ "update:title": (value: string) => any;
37
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
38
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
39
+ "onUpdate:editTitle"?: ((value: boolean) => any) | undefined;
40
+ "onUpdate:title"?: ((value: string) => any) | undefined;
41
+ }>, {
21
42
  color: DisclosureColor;
43
+ exitEditModeOnBlur: boolean;
22
44
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
23
45
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
46
  export default _default;
@@ -1,275 +1,50 @@
1
1
  import { HorizontalDirection } from '../../composables/common/window';
2
2
  import { LayoutMenuItem } from '../../helpers/layout/components';
3
- type __VLS_Props = {
4
- open?: boolean;
5
- /**
6
- * 2D array so that items can be grouped with dividers between them
7
- */
8
- items: LayoutMenuItem[][];
9
- size?: 'base' | 'lg';
10
- menuId?: string;
11
- /**
12
- * Preferable menu position/directed. This can change depending on available space.
13
- */
14
- menuPosition?: HorizontalDirection;
15
- mountMenuOnBody?: boolean;
16
- };
17
- declare function __VLS_template(): {
18
- attrs: Partial<{}>;
3
+ declare const _default: <MenuIds extends string = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
5
+ readonly "onUpdate:open"?: ((val: boolean) => any) | undefined;
6
+ readonly onChosen?: ((val: {
7
+ event: MouseEvent;
8
+ item: LayoutMenuItem<MenuIds>;
9
+ }) => any) | undefined;
10
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:open" | "onChosen"> & {
11
+ open?: boolean;
12
+ /**
13
+ * 2D array so that items can be grouped with dividers between them
14
+ */
15
+ items: LayoutMenuItem<MenuIds>[][];
16
+ size?: "base" | "lg" | number;
17
+ menuId?: string;
18
+ /**
19
+ * Preferable menu position/directed. This can change depending on available space.
20
+ */
21
+ menuPosition?: HorizontalDirection;
22
+ mountMenuOnBody?: boolean;
23
+ customMenuItemsClasses?: string[];
24
+ showTicks?: boolean | "right";
25
+ } & Partial<{}>> & import('vue').PublicProps;
26
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
27
+ attrs: any;
19
28
  slots: {
20
29
  default?(_: {
21
30
  toggle: () => void;
22
31
  open: boolean;
23
32
  }): any;
24
33
  item?(_: {
25
- item: LayoutMenuItem;
34
+ item: LayoutMenuItem<MenuIds>;
26
35
  }): any;
27
36
  };
28
- refs: {
29
- menuButton: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
30
- disabled: {
31
- type: BooleanConstructor;
32
- default: boolean;
33
- };
34
- as: {
35
- type: (ObjectConstructor | StringConstructor)[];
36
- default: string;
37
- };
38
- id: {
39
- type: StringConstructor;
40
- default: () => string;
41
- };
42
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
43
- [key: string]: any;
44
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
45
- [key: string]: any;
46
- }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
47
- id: string;
48
- as: string | Record<string, any>;
49
- disabled: boolean;
50
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
51
- P: {};
52
- B: {};
53
- D: {};
54
- C: {};
55
- M: {};
56
- Defaults: {};
57
- }, Readonly<import('vue').ExtractPropTypes<{
58
- disabled: {
59
- type: BooleanConstructor;
60
- default: boolean;
61
- };
62
- as: {
63
- type: (ObjectConstructor | StringConstructor)[];
64
- default: string;
65
- };
66
- id: {
67
- type: StringConstructor;
68
- default: () => string;
69
- };
70
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
71
- [key: string]: any;
72
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
73
- [key: string]: any;
74
- }>[] | null, {}, {}, {}, {
75
- id: string;
76
- as: string | Record<string, any>;
77
- disabled: boolean;
78
- }> | null;
79
- menuButtonWrapper: HTMLDivElement;
80
- menuItems: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
81
- as: {
82
- type: (ObjectConstructor | StringConstructor)[];
83
- default: string;
84
- };
85
- static: {
86
- type: BooleanConstructor;
87
- default: boolean;
88
- };
89
- unmount: {
90
- type: BooleanConstructor;
91
- default: boolean;
92
- };
93
- id: {
94
- type: StringConstructor;
95
- default: () => string;
96
- };
97
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
98
- [key: string]: any;
99
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
100
- [key: string]: any;
101
- }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
102
- id: string;
103
- as: string | Record<string, any>;
104
- unmount: boolean;
105
- static: boolean;
106
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
107
- P: {};
108
- B: {};
109
- D: {};
110
- C: {};
111
- M: {};
112
- Defaults: {};
113
- }, Readonly<import('vue').ExtractPropTypes<{
114
- as: {
115
- type: (ObjectConstructor | StringConstructor)[];
116
- default: string;
117
- };
118
- static: {
119
- type: BooleanConstructor;
120
- default: boolean;
121
- };
122
- unmount: {
123
- type: BooleanConstructor;
124
- default: boolean;
125
- };
126
- id: {
127
- type: StringConstructor;
128
- default: () => string;
129
- };
130
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
131
- [key: string]: any;
132
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
133
- [key: string]: any;
134
- }>[] | null, {}, {}, {}, {
135
- id: string;
136
- as: string | Record<string, any>;
137
- unmount: boolean;
138
- static: boolean;
139
- }> | null;
37
+ emit: {
38
+ (e: "update:open", val: boolean): void;
39
+ (e: "chosen", val: {
40
+ event: MouseEvent;
41
+ item: LayoutMenuItem<MenuIds>;
42
+ }): void;
140
43
  };
141
- rootEl: any;
44
+ }>) => import('vue').VNode & {
45
+ __ctx?: Awaited<typeof __VLS_setup>;
142
46
  };
143
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
144
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
145
- "update:open": (val: boolean) => any;
146
- chosen: (val: {
147
- event: MouseEvent;
148
- item: LayoutMenuItem<any>;
149
- }) => any;
150
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
151
- "onUpdate:open"?: ((val: boolean) => any) | undefined;
152
- onChosen?: ((val: {
153
- event: MouseEvent;
154
- item: LayoutMenuItem<any>;
155
- }) => any) | undefined;
156
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
157
- menuButton: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
158
- disabled: {
159
- type: BooleanConstructor;
160
- default: boolean;
161
- };
162
- as: {
163
- type: (ObjectConstructor | StringConstructor)[];
164
- default: string;
165
- };
166
- id: {
167
- type: StringConstructor;
168
- default: () => string;
169
- };
170
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
171
- [key: string]: any;
172
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
173
- [key: string]: any;
174
- }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
175
- id: string;
176
- as: string | Record<string, any>;
177
- disabled: boolean;
178
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
179
- P: {};
180
- B: {};
181
- D: {};
182
- C: {};
183
- M: {};
184
- Defaults: {};
185
- }, Readonly<import('vue').ExtractPropTypes<{
186
- disabled: {
187
- type: BooleanConstructor;
188
- default: boolean;
189
- };
190
- as: {
191
- type: (ObjectConstructor | StringConstructor)[];
192
- default: string;
193
- };
194
- id: {
195
- type: StringConstructor;
196
- default: () => string;
197
- };
198
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
199
- [key: string]: any;
200
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
201
- [key: string]: any;
202
- }>[] | null, {}, {}, {}, {
203
- id: string;
204
- as: string | Record<string, any>;
205
- disabled: boolean;
206
- }> | null;
207
- menuButtonWrapper: HTMLDivElement;
208
- menuItems: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
209
- as: {
210
- type: (ObjectConstructor | StringConstructor)[];
211
- default: string;
212
- };
213
- static: {
214
- type: BooleanConstructor;
215
- default: boolean;
216
- };
217
- unmount: {
218
- type: BooleanConstructor;
219
- default: boolean;
220
- };
221
- id: {
222
- type: StringConstructor;
223
- default: () => string;
224
- };
225
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
226
- [key: string]: any;
227
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
228
- [key: string]: any;
229
- }>[] | null, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
230
- id: string;
231
- as: string | Record<string, any>;
232
- unmount: boolean;
233
- static: boolean;
234
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
235
- P: {};
236
- B: {};
237
- D: {};
238
- C: {};
239
- M: {};
240
- Defaults: {};
241
- }, Readonly<import('vue').ExtractPropTypes<{
242
- as: {
243
- type: (ObjectConstructor | StringConstructor)[];
244
- default: string;
245
- };
246
- static: {
247
- type: BooleanConstructor;
248
- default: boolean;
249
- };
250
- unmount: {
251
- type: BooleanConstructor;
252
- default: boolean;
253
- };
254
- id: {
255
- type: StringConstructor;
256
- default: () => string;
257
- };
258
- }>>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
259
- [key: string]: any;
260
- }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
261
- [key: string]: any;
262
- }>[] | null, {}, {}, {}, {
263
- id: string;
264
- as: string | Record<string, any>;
265
- unmount: boolean;
266
- static: boolean;
267
- }> | null;
268
- }, any>;
269
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
270
47
  export default _default;
271
- type __VLS_WithTemplateSlots<T, S> = T & {
272
- new (): {
273
- $slots: S;
274
- };
275
- };
48
+ type __VLS_PrettifyLocal<T> = {
49
+ [K in keyof T]: T[K];
50
+ } & {};
@@ -66,7 +66,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
66
66
  $forceUpdate: () => void;
67
67
  $nextTick: typeof import('vue').nextTick;
68
68
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
69
- } & Readonly<{}> & Omit<Readonly<any>, "reset" | "move" | "flip" | "zoom" | "rotate" | "getResult" | "setCoordinates" | "refresh"> & import('vue').ShallowUnwrapRef<{
69
+ } & Readonly<{}> & Omit<Readonly<any>, "reset" | "rotate" | "move" | "flip" | "zoom" | "getResult" | "setCoordinates" | "refresh"> & import('vue').ShallowUnwrapRef<{
70
70
  getResult: () => import('vue-advanced-cropper').CropperResult;
71
71
  setCoordinates: (transform: import('vue-advanced-cropper').Transform | import('vue-advanced-cropper').Transform[]) => void;
72
72
  refresh: () => void;
@@ -132,7 +132,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
132
132
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
133
133
  } & Readonly<{
134
134
  [x: string]: any;
135
- }> & Omit<Readonly<any>, "reset" | "move" | "flip" | "zoom" | "rotate" | "getResult" | "setCoordinates" | "refresh"> & import('vue').ShallowUnwrapRef<{
135
+ }> & Omit<Readonly<any>, "reset" | "rotate" | "move" | "flip" | "zoom" | "getResult" | "setCoordinates" | "refresh"> & import('vue').ShallowUnwrapRef<{
136
136
  getResult: () => import('vue-advanced-cropper').CropperResult;
137
137
  setCoordinates: (transform: import('vue-advanced-cropper').Transform | import('vue-advanced-cropper').Transform[]) => void;
138
138
  refresh: () => void;
@@ -2,7 +2,7 @@ import { RuleExpression } from 'vee-validate';
2
2
  import { Ref, ToRefs } from 'vue';
3
3
  import { MaybeNullOrUndefined, Nullable } from '../../../../shared/dist/esm/index';
4
4
  import { LabelPosition } from './input';
5
- export type InputColor = 'page' | 'foundation' | 'transparent';
5
+ export type InputColor = 'page' | 'foundation' | 'transparent' | 'fully-transparent';
6
6
  /**
7
7
  * Common setup for text input & textarea fields
8
8
  */
@@ -69,6 +69,12 @@ export declare function useDebouncedTextInput(params?: {
69
69
  * Default: 1000 (ms)
70
70
  */
71
71
  debouncedBy?: number;
72
+ /**
73
+ * If enabled, value will only change on submit/enter, and just typing in values will never
74
+ * register.
75
+ * Default: false
76
+ */
77
+ disableDebouncedInput?: boolean;
72
78
  /**
73
79
  * Optionally pass in the model ref that should be used as the source of truth
74
80
  */
@@ -91,6 +97,10 @@ export declare function useDebouncedTextInput(params?: {
91
97
  * Set to true if you want to see debug output for how events fire and are handled
92
98
  */
93
99
  debug?: boolean | ((...logArgs: unknown[]) => void);
100
+ /**
101
+ * Callback function that gets called when a new value is actually written to the model
102
+ */
103
+ onWrite?: (val: string) => void;
94
104
  }): {
95
105
  on: {
96
106
  [x: string]: ((val: string | InputEvent) => void) | ((e: KeyboardEvent) => void);
@@ -102,5 +112,9 @@ export declare function useDebouncedTextInput(params?: {
102
112
  modelValue: string;
103
113
  }>;
104
114
  value: Ref<MaybeNullOrUndefined<string>, MaybeNullOrUndefined<string>>;
115
+ /**
116
+ * Force sync internal state from the source of truth
117
+ */
118
+ syncFromValue: () => void;
105
119
  };
106
120
  export {};
@@ -5,6 +5,8 @@ import { HorizontalDirection } from '../common/window';
5
5
  * Simplifies correctly and responsively positioning (dropdown/right-click/etc) menus so that they open
6
6
  * to the correct direction, can change directions if there's not enough space or even go full screen
7
7
  * if there's no space in either direction.
8
+ *
9
+ * Also supports updating vertical position, incase the menu would clip w/ the bottom of the screen
8
10
  */
9
11
  export declare const useBodyMountedMenuPositioning: (params: {
10
12
  /**
@@ -20,6 +22,10 @@ export declare const useBodyMountedMenuPositioning: (params: {
20
22
  * that just uses the button width.
21
23
  */
22
24
  menuWidth: ComputedRef<number | undefined>;
25
+ /**
26
+ * Optionally also control target menu height.
27
+ */
28
+ menuHeight?: ComputedRef<number | undefined>;
23
29
  }) => {
24
30
  menuStyle: ComputedRef<CSSProperties>;
25
31
  };
@@ -19,3 +19,12 @@ export type AlertAction = {
19
19
  externalUrl?: boolean;
20
20
  disabled?: boolean;
21
21
  };
22
+ export type FormRadioGroupItem<V extends string = string> = {
23
+ value: V;
24
+ title: string;
25
+ subtitle?: string;
26
+ introduction?: string;
27
+ icon?: ConcreteComponent;
28
+ help?: string;
29
+ disabled?: boolean;
30
+ };
@@ -1,6 +1,7 @@
1
1
  import { ConcreteComponent } from 'vue';
2
2
  import { FormButton } from '../../lib';
3
3
  import { PropAnyComponent } from '../common/components';
4
+ import { MaybeNullOrUndefined } from '../../../../shared/dist/esm/index';
4
5
  type FormButtonProps = InstanceType<typeof FormButton>['$props'];
5
6
  export declare enum GridListToggleValue {
6
7
  Grid = "grid",
@@ -23,9 +24,10 @@ export type LayoutMenuItem<I extends string = string> = {
23
24
  icon?: ConcreteComponent;
24
25
  title: string;
25
26
  id: I;
26
- disabled?: boolean;
27
- disabledTooltip?: string;
27
+ disabled?: MaybeNullOrUndefined<boolean>;
28
+ disabledTooltip?: MaybeNullOrUndefined<string>;
28
29
  color?: 'danger' | 'info';
30
+ active?: boolean;
29
31
  };
30
32
  export type LayoutDialogButton = {
31
33
  text: string;