@speckle/ui-components 2.14.7 → 2.14.8-alpha10

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 CHANGED
@@ -13,25 +13,6 @@ Speckle UI component library built with Vue 3 and relying on the Speckle Tailwin
13
13
 
14
14
  It's suggested that you also install the `@speckle/ui-components-nuxt` Nuxt module. It will ensure that all of the Vue components can be auto-imported like components in nuxt's `./components` directory. No need to import them manually anymore and you'll also get proper TS typing in your Vue templates out of the box!
15
15
 
16
- Additionally you should add the following to your `build.transpile` array in your nuxt config:
17
-
18
- ```js
19
- // nuxt.config.js
20
- export default {
21
- build: {
22
- transpile: [
23
- '@headlessui/vue',
24
- /^@heroicons\/vue/,
25
- '@vueuse/core',
26
- '@vueuse/shared',
27
- '@speckle/ui-components'
28
- ]
29
- }
30
- }
31
- ```
32
-
33
- This will ensure that some dependencies are transpiled properly so that they work correctly both during SSR & CSR.
34
-
35
16
  ### Troubleshooting
36
17
 
37
18
  #### Form validation doesn't work
@@ -0,0 +1,35 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ settings: {
4
+ type: __PropType<{
5
+ target?: string | undefined;
6
+ distance?: number | undefined;
7
+ top?: boolean | undefined;
8
+ identifier?: any;
9
+ firstload?: boolean | undefined;
10
+ } | undefined>;
11
+ required: false;
12
+ };
13
+ allowRetry: {
14
+ type: __PropType<boolean | undefined>;
15
+ required: false;
16
+ };
17
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "infinite"[], "infinite", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ settings: {
19
+ type: __PropType<{
20
+ target?: string | undefined;
21
+ distance?: number | undefined;
22
+ top?: boolean | undefined;
23
+ identifier?: any;
24
+ firstload?: boolean | undefined;
25
+ } | undefined>;
26
+ required: false;
27
+ };
28
+ allowRetry: {
29
+ type: __PropType<boolean | undefined>;
30
+ required: false;
31
+ };
32
+ }>> & {
33
+ onInfinite?: ((...args: any[]) => any) | undefined;
34
+ }, {}>;
35
+ export default _sfc_main;
@@ -0,0 +1,46 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ type AlertColor = 'success' | 'danger' | 'warning' | 'info';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ color: {
5
+ type: __PropType<AlertColor | undefined>;
6
+ required: false;
7
+ default: string;
8
+ };
9
+ withDismiss: {
10
+ type: __PropType<boolean | undefined>;
11
+ required: false;
12
+ };
13
+ actions: {
14
+ type: __PropType<{
15
+ title: string;
16
+ url?: string | undefined;
17
+ onClick?: (() => void) | undefined;
18
+ externalUrl?: boolean | undefined;
19
+ }[] | undefined>;
20
+ required: false;
21
+ };
22
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "dismiss"[], "dismiss", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
+ color: {
24
+ type: __PropType<AlertColor | undefined>;
25
+ required: false;
26
+ default: string;
27
+ };
28
+ withDismiss: {
29
+ type: __PropType<boolean | undefined>;
30
+ required: false;
31
+ };
32
+ actions: {
33
+ type: __PropType<{
34
+ title: string;
35
+ url?: string | undefined;
36
+ onClick?: (() => void) | undefined;
37
+ externalUrl?: boolean | undefined;
38
+ }[] | undefined>;
39
+ required: false;
40
+ };
41
+ }>> & {
42
+ onDismiss?: ((...args: any[]) => any) | undefined;
43
+ }, {
44
+ color: AlertColor | undefined;
45
+ }>;
46
+ export default _sfc_main;
@@ -1,4 +1,5 @@
1
1
  import type { PropType as __PropType } from 'vue';
2
+ import { StepsPadding } from '../../../composables/common/steps';
2
3
  import { BulletStepType, HorizontalOrVertical } from '../../../helpers/common/components';
3
4
  import { TailwindBreakpoints } from '../../../helpers/tailwind';
4
5
  declare const _sfc_main: import("vue").DefineComponent<{
@@ -30,6 +31,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
30
31
  type: __PropType<boolean | undefined>;
31
32
  required: false;
32
33
  };
34
+ stepsPadding: {
35
+ type: __PropType<StepsPadding | undefined>;
36
+ required: false;
37
+ };
33
38
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
34
39
  ariaLabel: {
35
40
  type: __PropType<string | undefined>;
@@ -59,6 +64,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
59
64
  type: __PropType<boolean | undefined>;
60
65
  required: false;
61
66
  };
67
+ stepsPadding: {
68
+ type: __PropType<StepsPadding | undefined>;
69
+ required: false;
70
+ };
62
71
  }>> & {
63
72
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
64
73
  }, {}>;
@@ -1,4 +1,5 @@
1
1
  import type { PropType as __PropType } from 'vue';
2
+ import { StepsPadding } from '../../../composables/common/steps';
2
3
  import { HorizontalOrVertical, NumberStepType } from '../../../helpers/common/components';
3
4
  import { TailwindBreakpoints } from '../../../helpers/tailwind';
4
5
  declare const _sfc_main: import("vue").DefineComponent<{
@@ -26,6 +27,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
26
27
  type: __PropType<boolean | undefined>;
27
28
  required: false;
28
29
  };
30
+ stepsPadding: {
31
+ type: __PropType<StepsPadding | undefined>;
32
+ required: false;
33
+ };
29
34
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
35
  ariaLabel: {
31
36
  type: __PropType<string | undefined>;
@@ -51,6 +56,10 @@ declare const _sfc_main: import("vue").DefineComponent<{
51
56
  type: __PropType<boolean | undefined>;
52
57
  required: false;
53
58
  };
59
+ stepsPadding: {
60
+ type: __PropType<StepsPadding | undefined>;
61
+ required: false;
62
+ };
54
63
  }>> & {
55
64
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
56
65
  }, {}>;
@@ -1,7 +1,7 @@
1
1
  import { ConcreteComponent, PropType } from 'vue';
2
2
  import { Nullable, Optional } from '@speckle/shared';
3
3
  type FormButtonSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl';
4
- type FormButtonColor = 'default' | 'invert' | 'danger' | 'warning' | 'success' | 'card' | 'secondary';
4
+ type FormButtonColor = 'default' | 'invert' | 'danger' | 'warning' | 'success' | 'card' | 'secondary' | 'info';
5
5
  declare const _sfc_main: import("vue").DefineComponent<{
6
6
  /**
7
7
  * URL to which to navigate - can be a relative (app) path or an absolute link for an external URL
@@ -1,7 +1,6 @@
1
1
  import { RuleExpression } from 'vee-validate';
2
2
  import { ConcreteComponent, PropType } from 'vue';
3
3
  import { Optional } from '@speckle/shared';
4
- type InputType = 'text' | 'email' | 'password' | 'url' | 'search';
5
4
  type InputSize = 'sm' | 'base' | 'lg' | 'xl';
6
5
  type InputColor = 'page' | 'foundation';
7
6
  declare const _sfc_main: import("vue").DefineComponent<{
@@ -9,7 +8,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
9
8
  * Input "type" value (changes behaviour & look)
10
9
  */
11
10
  type: {
12
- type: PropType<InputType>;
11
+ type: PropType<string>;
13
12
  default: string;
14
13
  };
15
14
  /**
@@ -142,7 +141,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
142
141
  * Input "type" value (changes behaviour & look)
143
142
  */
144
143
  type: {
145
- type: PropType<InputType>;
144
+ type: PropType<string>;
146
145
  default: string;
147
146
  };
148
147
  /**
@@ -276,7 +275,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
276
275
  onFocusin?: ((...args: any[]) => any) | undefined;
277
276
  onFocusout?: ((...args: any[]) => any) | undefined;
278
277
  }, {
279
- type: InputType;
278
+ type: string;
280
279
  size: InputSize;
281
280
  fullWidth: boolean;
282
281
  color: InputColor;
@@ -1,7 +1,7 @@
1
1
  import { PropType } from 'vue';
2
2
  import { MaybeAsync, Optional } from '@speckle/shared';
3
3
  import { RuleExpression } from 'vee-validate';
4
- type ButtonStyle = 'base' | 'simple';
4
+ type ButtonStyle = 'base' | 'simple' | 'tinted';
5
5
  type SingleItem = any;
6
6
  declare const _sfc_main: import("vue").DefineComponent<{
7
7
  multiple: {
@@ -95,7 +95,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
95
95
  * Validation stuff
96
96
  */
97
97
  rules: {
98
- type: PropType<RuleExpression<string>>;
98
+ type: PropType<RuleExpression<any>>;
99
99
  default: undefined;
100
100
  };
101
101
  /**
@@ -130,7 +130,9 @@ declare const _sfc_main: import("vue").DefineComponent<{
130
130
  type: BooleanConstructor;
131
131
  default: boolean;
132
132
  };
133
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
133
+ }, {
134
+ triggerSearch: () => Promise<void>;
135
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
134
136
  multiple: {
135
137
  type: BooleanConstructor;
136
138
  default: boolean;
@@ -222,7 +224,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
222
224
  * Validation stuff
223
225
  */
224
226
  rules: {
225
- type: PropType<RuleExpression<string>>;
227
+ type: PropType<RuleExpression<any>>;
226
228
  default: undefined;
227
229
  };
228
230
  /**
@@ -262,7 +264,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
262
264
  }, {
263
265
  disabled: Optional<boolean>;
264
266
  modelValue: any;
265
- rules: RuleExpression<string>;
267
+ rules: RuleExpression<any>;
266
268
  validateOnMount: boolean;
267
269
  showLabel: boolean;
268
270
  help: Optional<string>;
@@ -0,0 +1,41 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ type MaxWidthValue = 'sm' | 'md' | 'lg' | 'xl';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ open: {
5
+ type: __PropType<boolean>;
6
+ required: true;
7
+ };
8
+ maxWidth: {
9
+ type: __PropType<MaxWidthValue | undefined>;
10
+ required: false;
11
+ };
12
+ hideCloser: {
13
+ type: __PropType<boolean | undefined>;
14
+ required: false;
15
+ };
16
+ preventCloseOnClickOutside: {
17
+ type: __PropType<boolean | undefined>;
18
+ required: false;
19
+ };
20
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:open" | "fully-closed")[], "update:open" | "fully-closed", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
21
+ open: {
22
+ type: __PropType<boolean>;
23
+ required: true;
24
+ };
25
+ maxWidth: {
26
+ type: __PropType<MaxWidthValue | undefined>;
27
+ required: false;
28
+ };
29
+ hideCloser: {
30
+ type: __PropType<boolean | undefined>;
31
+ required: false;
32
+ };
33
+ preventCloseOnClickOutside: {
34
+ type: __PropType<boolean | undefined>;
35
+ required: false;
36
+ };
37
+ }>> & {
38
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
39
+ "onFully-closed"?: ((...args: any[]) => any) | undefined;
40
+ }, {}>;
41
+ export default _sfc_main;
@@ -0,0 +1,35 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { ConcreteComponent } from 'vue';
3
+ type DisclosureColor = 'default' | 'danger';
4
+ declare const _sfc_main: import("vue").DefineComponent<{
5
+ title: {
6
+ type: __PropType<string>;
7
+ required: true;
8
+ };
9
+ icon: {
10
+ type: __PropType<ConcreteComponent | undefined>;
11
+ required: false;
12
+ };
13
+ color: {
14
+ type: __PropType<DisclosureColor | undefined>;
15
+ required: false;
16
+ default: string;
17
+ };
18
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ title: {
20
+ type: __PropType<string>;
21
+ required: true;
22
+ };
23
+ icon: {
24
+ type: __PropType<ConcreteComponent | undefined>;
25
+ required: false;
26
+ };
27
+ color: {
28
+ type: __PropType<DisclosureColor | undefined>;
29
+ required: false;
30
+ default: string;
31
+ };
32
+ }>>, {
33
+ color: DisclosureColor | undefined;
34
+ }>;
35
+ export default _sfc_main;
@@ -0,0 +1,17 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { GridListToggleValue } from '../../helpers/layout/components';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ modelValue: {
5
+ type: __PropType<GridListToggleValue | undefined>;
6
+ required: false;
7
+ };
8
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "update:modelValue")[], "click" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
+ modelValue: {
10
+ type: __PropType<GridListToggleValue | undefined>;
11
+ required: false;
12
+ };
13
+ }>> & {
14
+ onClick?: ((...args: any[]) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
16
+ }, {}>;
17
+ export default _sfc_main;
@@ -0,0 +1,25 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { LayoutMenuItem } from '../../helpers/layout/components';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ open: {
5
+ type: __PropType<boolean | undefined>;
6
+ required: false;
7
+ };
8
+ items: {
9
+ type: __PropType<LayoutMenuItem[][]>;
10
+ required: true;
11
+ };
12
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:open" | "chosen")[], "update:open" | "chosen", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
13
+ open: {
14
+ type: __PropType<boolean | undefined>;
15
+ required: false;
16
+ };
17
+ items: {
18
+ type: __PropType<LayoutMenuItem[][]>;
19
+ required: true;
20
+ };
21
+ }>> & {
22
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
23
+ onChosen?: ((...args: any[]) => any) | undefined;
24
+ }, {}>;
25
+ export default _sfc_main;
@@ -0,0 +1,70 @@
1
+ declare const _sfc_main: import("vue").DefineComponent<{
2
+ /**
3
+ * Use a `<form/>` element as a wrapper that will emit 'submit' events out from the component when they occur
4
+ */
5
+ form: {
6
+ type: BooleanConstructor;
7
+ default: boolean;
8
+ };
9
+ /**
10
+ * Add a ring outline on hover
11
+ */
12
+ ring: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ /**
17
+ * Add a primary-colored glow on hover
18
+ */
19
+ fancyGlow: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ customPadding: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ noShadow: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "submit"[], "submit", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
+ /**
33
+ * Use a `<form/>` element as a wrapper that will emit 'submit' events out from the component when they occur
34
+ */
35
+ form: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
39
+ /**
40
+ * Add a ring outline on hover
41
+ */
42
+ ring: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ /**
47
+ * Add a primary-colored glow on hover
48
+ */
49
+ fancyGlow: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ customPadding: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ noShadow: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
61
+ }>> & {
62
+ onSubmit?: ((...args: any[]) => any) | undefined;
63
+ }, {
64
+ form: boolean;
65
+ ring: boolean;
66
+ fancyGlow: boolean;
67
+ customPadding: boolean;
68
+ noShadow: boolean;
69
+ }>;
70
+ export default _sfc_main;
@@ -0,0 +1,14 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import { LayoutTabItem } from '../../helpers/layout/components';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ items: {
5
+ type: __PropType<LayoutTabItem<any>[]>;
6
+ required: true;
7
+ };
8
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
+ items: {
10
+ type: __PropType<LayoutTabItem<any>[]>;
11
+ required: true;
12
+ };
13
+ }>>, {}>;
14
+ export default _sfc_main;
@@ -1,6 +1,7 @@
1
1
  import { ToRefs } from 'vue';
2
2
  import { HorizontalOrVertical, StepCoreType } from '../../helpers/common/components';
3
3
  import { TailwindBreakpoints } from '../../helpers/tailwind';
4
+ export type StepsPadding = 'base' | 'xs' | 'sm';
4
5
  export declare function useStepsInternals(params: {
5
6
  props: ToRefs<{
6
7
  orientation?: HorizontalOrVertical;
@@ -8,6 +9,7 @@ export declare function useStepsInternals(params: {
8
9
  modelValue?: number;
9
10
  goVerticalBelow?: TailwindBreakpoints;
10
11
  nonInteractive?: boolean;
12
+ stepsPadding?: StepsPadding;
11
13
  }>;
12
14
  emit: {
13
15
  (e: 'update:modelValue', val: number): void;
@@ -0,0 +1,26 @@
1
+ import { Nullable } from '@speckle/shared';
2
+ import { MaybeRef } from '@vueuse/core';
3
+ export declare enum ThrottleOrDebounce {
4
+ Throttle = 0,
5
+ Debounce = 1
6
+ }
7
+ export declare enum HorizontalDirection {
8
+ Left = 0,
9
+ Right = 1
10
+ }
11
+ export declare function useWindowResizeHandler(handler: (e: UIEvent) => void, options?: Partial<{
12
+ wait: number;
13
+ throttleOrDebounce: ThrottleOrDebounce;
14
+ }>): void;
15
+ export declare function useOnBeforeWindowUnload(handler: (e: BeforeUnloadEvent) => void): void;
16
+ export declare function useResponsiveHorizontalDirectionCalculation(params: {
17
+ el: MaybeRef<Nullable<HTMLElement>>;
18
+ defaultDirection?: HorizontalDirection;
19
+ /**
20
+ * Stop recalculation below this screen size. Defaults to el.width * 2
21
+ */
22
+ stopUpdatesBelowWidth?: MaybeRef<number>;
23
+ }): {
24
+ direction: import("vue").ComputedRef<HorizontalDirection>;
25
+ recalculateDirection: () => void;
26
+ };
@@ -0,0 +1,14 @@
1
+ export type InfiniteLoaderState = {
2
+ /**
3
+ * Informs the component that this loading has been successful
4
+ */
5
+ loaded: () => void;
6
+ /**
7
+ * Informs the component that all of the data has been loaded successfully
8
+ */
9
+ complete: () => void;
10
+ /**
11
+ * Inform the component that this loading failed, the content of the `error` slot will be displayed
12
+ */
13
+ error: () => void;
14
+ };
@@ -0,0 +1,13 @@
1
+ export declare enum GridListToggleValue {
2
+ Grid = "grid",
3
+ List = "list"
4
+ }
5
+ export type LayoutTabItem<I extends string = string> = {
6
+ title: string;
7
+ id: I;
8
+ };
9
+ export type LayoutMenuItem<I extends string = string> = {
10
+ title: string;
11
+ id: I;
12
+ disabled?: boolean;
13
+ };