sprintify-ui 0.0.11 → 0.0.13

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 (96) hide show
  1. package/README.md +8 -7
  2. package/dist/sprintify-ui.es.js +5911 -3760
  3. package/dist/style.css +1 -1
  4. package/dist/tailwindcss/index.js +1 -2
  5. package/dist/types/src/components/BaseCharacterCounter.vue.d.ts +143 -0
  6. package/dist/types/src/components/BaseHasMany.vue.d.ts +277 -0
  7. package/dist/types/src/components/BaseInput.vue.d.ts +39 -5
  8. package/dist/types/src/components/BaseLoadingCover.vue.d.ts +72 -0
  9. package/dist/types/src/components/{BaseMediaLibraryItem.vue.d.ts → BaseMediaItem.vue.d.ts} +26 -4
  10. package/dist/types/src/components/BaseMediaLibrary.vue.d.ts +23 -15
  11. package/dist/types/src/components/BaseMediaPreview.vue.d.ts +97 -0
  12. package/dist/types/src/components/BaseModalCenter.vue.d.ts +8 -8
  13. package/dist/types/src/components/BaseModalSide.vue.d.ts +8 -8
  14. package/dist/types/src/components/BasePagination.vue.d.ts +105 -13
  15. package/dist/types/src/components/BaseSelect.vue.d.ts +130 -26
  16. package/dist/types/src/components/BaseSideNavigationItem.vue.d.ts +20 -1
  17. package/dist/types/src/components/BaseSwitch.vue.d.ts +15 -8
  18. package/dist/types/src/components/BaseTabItem.vue.d.ts +45 -4
  19. package/dist/types/src/components/BaseTagAutocomplete.vue.d.ts +25 -17
  20. package/dist/types/src/components/BaseTagAutocompleteFetch.vue.d.ts +37 -21
  21. package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +175 -21
  22. package/dist/types/src/components/index.d.ts +30 -1
  23. package/dist/types/src/index.d.ts +4 -0
  24. package/package.json +1 -1
  25. package/src/components/BaseAppDialogs.vue +2 -2
  26. package/src/components/BaseAppNotifications.vue +1 -1
  27. package/src/components/BaseAutocomplete.vue +16 -18
  28. package/src/components/BaseBelongsTo.vue +1 -0
  29. package/src/components/BaseCharacterCounter.stories.js +30 -0
  30. package/src/components/BaseCharacterCounter.vue +60 -0
  31. package/src/components/BaseClipboard.vue +1 -1
  32. package/src/components/BaseDataIterator.stories.js +2 -2
  33. package/src/components/BaseDataIterator.vue +32 -38
  34. package/src/components/BaseDataTable.stories.js +2 -2
  35. package/src/components/BaseFileUploader.vue +4 -0
  36. package/src/components/BaseHasMany.vue +92 -0
  37. package/src/components/BaseInput.stories.js +46 -0
  38. package/src/components/BaseInput.vue +10 -2
  39. package/src/components/BaseInputLabel.stories.js +31 -0
  40. package/src/components/BaseInputLabel.vue +1 -1
  41. package/src/components/BaseLoadingCover.stories.js +55 -0
  42. package/src/components/BaseLoadingCover.vue +19 -1
  43. package/src/components/BaseMediaItem.stories.js +41 -0
  44. package/src/components/BaseMediaItem.vue +71 -0
  45. package/src/components/BaseMediaLibrary.stories.js +80 -0
  46. package/src/components/BaseMediaLibrary.vue +67 -68
  47. package/src/components/BaseMediaPreview.stories.js +72 -0
  48. package/src/components/BaseMediaPreview.vue +90 -0
  49. package/src/components/BaseMenu.stories.js +125 -0
  50. package/src/components/BaseMenu.vue +1 -1
  51. package/src/components/BaseModalCenter.stories.js +61 -0
  52. package/src/components/BaseModalCenter.vue +2 -2
  53. package/src/components/BaseModalSide.stories.js +55 -0
  54. package/src/components/BaseModalSide.vue +2 -2
  55. package/src/components/BaseNavbar.stories.js +150 -0
  56. package/src/components/BaseNavbar.vue +3 -0
  57. package/src/components/BaseNavbarItem.vue +1 -0
  58. package/src/components/BaseNavbarItemContent.vue +3 -0
  59. package/src/components/BasePagination.stories.js +32 -0
  60. package/src/components/BasePagination.vue +126 -40
  61. package/src/components/BasePanel.stories.js +56 -0
  62. package/src/components/BasePassword.stories.js +36 -0
  63. package/src/components/BasePassword.vue +11 -5
  64. package/src/components/BaseProcessRing.stories.js +27 -0
  65. package/src/components/BaseReadMore.stories.js +30 -0
  66. package/src/components/BaseReadMore.vue +1 -1
  67. package/src/components/BaseSelect.stories.js +67 -0
  68. package/src/components/BaseSelect.vue +144 -44
  69. package/src/components/BaseSideNavigation.stories.js +55 -0
  70. package/src/components/BaseSideNavigation.vue +7 -2
  71. package/src/components/BaseSideNavigationItem.vue +21 -5
  72. package/src/components/BaseSkeleton.stories.js +36 -0
  73. package/src/components/BaseSwitch.stories.js +101 -0
  74. package/src/components/BaseSwitch.vue +90 -12
  75. package/src/components/BaseSystemAlert.stories.js +63 -0
  76. package/src/components/BaseTabItem.vue +29 -6
  77. package/src/components/BaseTable.vue +2 -2
  78. package/src/components/BaseTabs.stories.js +54 -0
  79. package/src/components/BaseTabs.vue +3 -3
  80. package/src/components/BaseTagAutocomplete.stories.js +129 -0
  81. package/src/components/BaseTagAutocomplete.vue +155 -57
  82. package/src/components/BaseTagAutocompleteFetch.stories.js +130 -0
  83. package/src/components/BaseTagAutocompleteFetch.vue +36 -25
  84. package/src/components/BaseTextarea.stories.js +35 -0
  85. package/src/components/BaseTextarea.vue +1 -1
  86. package/src/components/BaseTextareaAutoresize.stories.js +49 -0
  87. package/src/components/BaseTextareaAutoresize.vue +83 -87
  88. package/src/components/HasMany.stories.js +135 -0
  89. package/src/components/index.ts +58 -0
  90. package/src/lang/en.json +2 -1
  91. package/src/lang/fr.json +2 -1
  92. package/dist/types/src/components/BasePaginationSimple.vue.d.ts +0 -25
  93. package/dist/types/src/components/BaseWordCount.vue.d.ts +0 -31
  94. package/src/components/BaseMediaLibraryItem.vue +0 -92
  95. package/src/components/BasePaginationSimple.vue +0 -60
  96. package/src/components/BaseWordCount.vue +0 -36
@@ -9,8 +9,8 @@ declare const _default: {
9
9
  inputClass: string;
10
10
  placeholder: string;
11
11
  disabled: boolean;
12
+ queryKey: string;
12
13
  max: number;
13
- min: number;
14
14
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
15
15
  modelValue: {
16
16
  required: true;
@@ -44,20 +44,20 @@ declare const _default: {
44
44
  default: boolean;
45
45
  type: BooleanConstructor;
46
46
  };
47
- min: {
48
- default: undefined;
49
- type: NumberConstructor;
50
- };
51
47
  max: {
52
48
  default: undefined;
53
49
  type: NumberConstructor;
54
50
  };
51
+ queryKey: {
52
+ default: string;
53
+ type: StringConstructor;
54
+ };
55
55
  }>> & {
56
56
  onFocus?: ((...args: any[]) => any) | undefined;
57
57
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
58
58
  onTyping?: ((...args: any[]) => any) | undefined;
59
59
  onScrollBottom?: ((...args: any[]) => any) | undefined;
60
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "required" | "inputClass" | "placeholder" | "disabled" | "max" | "min">;
60
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "required" | "inputClass" | "placeholder" | "disabled" | "queryKey" | "max">;
61
61
  $attrs: {
62
62
  [x: string]: unknown;
63
63
  };
@@ -104,14 +104,14 @@ declare const _default: {
104
104
  default: boolean;
105
105
  type: BooleanConstructor;
106
106
  };
107
- min: {
108
- default: undefined;
109
- type: NumberConstructor;
110
- };
111
107
  max: {
112
108
  default: undefined;
113
109
  type: NumberConstructor;
114
110
  };
111
+ queryKey: {
112
+ default: string;
113
+ type: StringConstructor;
114
+ };
115
115
  }>> & {
116
116
  onFocus?: ((...args: any[]) => any) | undefined;
117
117
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -122,8 +122,8 @@ declare const _default: {
122
122
  inputClass: string;
123
123
  placeholder: string;
124
124
  disabled: boolean;
125
+ queryKey: string;
125
126
  max: number;
126
- min: number;
127
127
  }, {}, string> & {
128
128
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
129
129
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -177,14 +177,14 @@ declare const _default: {
177
177
  default: boolean;
178
178
  type: BooleanConstructor;
179
179
  };
180
- min: {
181
- default: undefined;
182
- type: NumberConstructor;
183
- };
184
180
  max: {
185
181
  default: undefined;
186
182
  type: NumberConstructor;
187
183
  };
184
+ queryKey: {
185
+ default: string;
186
+ type: StringConstructor;
187
+ };
188
188
  }>> & {
189
189
  onFocus?: ((...args: any[]) => any) | undefined;
190
190
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -227,14 +227,14 @@ declare const _default: {
227
227
  default: boolean;
228
228
  type: BooleanConstructor;
229
229
  };
230
- min: {
231
- default: undefined;
232
- type: NumberConstructor;
233
- };
234
230
  max: {
235
231
  default: undefined;
236
232
  type: NumberConstructor;
237
233
  };
234
+ queryKey: {
235
+ default: string;
236
+ type: StringConstructor;
237
+ };
238
238
  }>> & {
239
239
  onFocus?: ((...args: any[]) => any) | undefined;
240
240
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -245,7 +245,23 @@ declare const _default: {
245
245
  inputClass: string;
246
246
  placeholder: string;
247
247
  disabled: boolean;
248
+ queryKey: string;
248
249
  max: number;
249
- min: number;
250
- }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
250
+ }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
251
+ $slots: {
252
+ option: (_: {
253
+ option: Option;
254
+ selected: boolean;
255
+ active: boolean;
256
+ }) => any;
257
+ footer: (_: {
258
+ options: import("@/types/types").NormalizedOption[];
259
+ } & {
260
+ keywords: string;
261
+ }) => any;
262
+ empty: (_: {
263
+ firstSearch: boolean;
264
+ }) => any;
265
+ };
266
+ });
251
267
  export default _default;
@@ -1,4 +1,160 @@
1
- declare const _default: import("vue").DefineComponent<{
1
+ declare const _default: {
2
+ new (...args: any[]): {
3
+ $: import("vue").ComponentInternalInstance;
4
+ $data: {};
5
+ $props: Partial<{
6
+ modelValue: string;
7
+ placeholder: string;
8
+ disabled: boolean;
9
+ maxHeight: number;
10
+ submitOnEnter: boolean;
11
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
12
+ modelValue: {
13
+ default: string;
14
+ type: StringConstructor;
15
+ };
16
+ placeholder: {
17
+ default: string;
18
+ type: StringConstructor;
19
+ };
20
+ name: {
21
+ required: true;
22
+ type: StringConstructor;
23
+ };
24
+ maxHeight: {
25
+ default: number;
26
+ type: NumberConstructor;
27
+ };
28
+ /**
29
+ * Setting this to true will trigger the 'submit' event while pressing Enter.
30
+ * Users will be able to add a line break while pressing Shift + Enter.
31
+ */
32
+ submitOnEnter: {
33
+ default: boolean;
34
+ type: BooleanConstructor;
35
+ };
36
+ disabled: {
37
+ default: boolean;
38
+ type: BooleanConstructor;
39
+ };
40
+ }>> & {
41
+ onFocus?: ((...args: any[]) => any) | undefined;
42
+ onInput?: ((...args: any[]) => any) | undefined;
43
+ onSubmit?: ((...args: any[]) => any) | undefined;
44
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
45
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "modelValue" | "placeholder" | "disabled" | "maxHeight" | "submitOnEnter">;
46
+ $attrs: {
47
+ [x: string]: unknown;
48
+ };
49
+ $refs: {
50
+ [x: string]: unknown;
51
+ };
52
+ $slots: Readonly<{
53
+ [name: string]: import("vue").Slot | undefined;
54
+ }>;
55
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
56
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
57
+ $emit: (event: "input" | "submit" | "update:modelValue" | "focus", ...args: any[]) => void;
58
+ $el: any;
59
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
60
+ modelValue: {
61
+ default: string;
62
+ type: StringConstructor;
63
+ };
64
+ placeholder: {
65
+ default: string;
66
+ type: StringConstructor;
67
+ };
68
+ name: {
69
+ required: true;
70
+ type: StringConstructor;
71
+ };
72
+ maxHeight: {
73
+ default: number;
74
+ type: NumberConstructor;
75
+ };
76
+ /**
77
+ * Setting this to true will trigger the 'submit' event while pressing Enter.
78
+ * Users will be able to add a line break while pressing Shift + Enter.
79
+ */
80
+ submitOnEnter: {
81
+ default: boolean;
82
+ type: BooleanConstructor;
83
+ };
84
+ disabled: {
85
+ default: boolean;
86
+ type: BooleanConstructor;
87
+ };
88
+ }>> & {
89
+ onFocus?: ((...args: any[]) => any) | undefined;
90
+ onInput?: ((...args: any[]) => any) | undefined;
91
+ onSubmit?: ((...args: any[]) => any) | undefined;
92
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
93
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], string, {
94
+ modelValue: string;
95
+ placeholder: string;
96
+ disabled: boolean;
97
+ maxHeight: number;
98
+ submitOnEnter: boolean;
99
+ }, {}, string> & {
100
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
101
+ created?: ((() => void) | (() => void)[]) | undefined;
102
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
103
+ mounted?: ((() => void) | (() => void)[]) | undefined;
104
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
105
+ updated?: ((() => void) | (() => void)[]) | undefined;
106
+ activated?: ((() => void) | (() => void)[]) | undefined;
107
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
108
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
109
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
110
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
111
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
112
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
113
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
114
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
115
+ };
116
+ $forceUpdate: () => void;
117
+ $nextTick: typeof import("vue").nextTick;
118
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
119
+ } & Readonly<import("vue").ExtractPropTypes<{
120
+ modelValue: {
121
+ default: string;
122
+ type: StringConstructor;
123
+ };
124
+ placeholder: {
125
+ default: string;
126
+ type: StringConstructor;
127
+ };
128
+ name: {
129
+ required: true;
130
+ type: StringConstructor;
131
+ };
132
+ maxHeight: {
133
+ default: number;
134
+ type: NumberConstructor;
135
+ };
136
+ /**
137
+ * Setting this to true will trigger the 'submit' event while pressing Enter.
138
+ * Users will be able to add a line break while pressing Shift + Enter.
139
+ */
140
+ submitOnEnter: {
141
+ default: boolean;
142
+ type: BooleanConstructor;
143
+ };
144
+ disabled: {
145
+ default: boolean;
146
+ type: BooleanConstructor;
147
+ };
148
+ }>> & {
149
+ onFocus?: ((...args: any[]) => any) | undefined;
150
+ onInput?: ((...args: any[]) => any) | undefined;
151
+ onSubmit?: ((...args: any[]) => any) | undefined;
152
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
153
+ } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
154
+ __isFragment?: undefined;
155
+ __isTeleport?: undefined;
156
+ __isSuspense?: undefined;
157
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
2
158
  modelValue: {
3
159
  default: string;
4
160
  type: StringConstructor;
@@ -11,34 +167,32 @@ declare const _default: import("vue").DefineComponent<{
11
167
  required: true;
12
168
  type: StringConstructor;
13
169
  };
14
- }, {
15
- mobile: boolean;
16
- }, unknown, {}, {
17
- onInput(e: any): void;
18
- updateReplicatedValue(value: string): void;
19
- onKeyDown(event: any): void;
20
- onKeyUp(event: any): void;
21
- onFocus(event: any): void;
22
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], "input" | "submit" | "update:modelValue" | "focus", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
- modelValue: {
24
- default: string;
25
- type: StringConstructor;
170
+ maxHeight: {
171
+ default: number;
172
+ type: NumberConstructor;
26
173
  };
27
- placeholder: {
28
- default: string;
29
- type: StringConstructor;
174
+ /**
175
+ * Setting this to true will trigger the 'submit' event while pressing Enter.
176
+ * Users will be able to add a line break while pressing Shift + Enter.
177
+ */
178
+ submitOnEnter: {
179
+ default: boolean;
180
+ type: BooleanConstructor;
30
181
  };
31
- name: {
32
- required: true;
33
- type: StringConstructor;
182
+ disabled: {
183
+ default: boolean;
184
+ type: BooleanConstructor;
34
185
  };
35
186
  }>> & {
36
187
  onFocus?: ((...args: any[]) => any) | undefined;
37
188
  onInput?: ((...args: any[]) => any) | undefined;
38
189
  onSubmit?: ((...args: any[]) => any) | undefined;
39
190
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
40
- }, {
191
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "submit" | "update:modelValue" | "focus")[], "input" | "submit" | "update:modelValue" | "focus", {
41
192
  modelValue: string;
42
193
  placeholder: string;
43
- }>;
194
+ disabled: boolean;
195
+ maxHeight: number;
196
+ submitOnEnter: boolean;
197
+ }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
44
198
  export default _default;
@@ -12,6 +12,7 @@ import BaseBreadcrumbs from './BaseBreadcrumbs.vue';
12
12
  import BaseButton from './BaseButton.vue';
13
13
  import BaseCard from './BaseCard.vue';
14
14
  import BaseCardRow from './BaseCardRow.vue';
15
+ import BaseCharacterCounter from './BaseCharacterCounter.vue';
15
16
  import BaseClipboard from './BaseClipboard.vue';
16
17
  import BaseContainer from './BaseContainer.vue';
17
18
  import BaseCounter from './BaseCounter.vue';
@@ -24,10 +25,38 @@ import BaseDescriptionListItem from './BaseDescriptionListItem.vue';
24
25
  import BaseDialog from './BaseDialog.vue';
25
26
  import BaseFilePicker from './BaseFilePicker.vue';
26
27
  import BaseFileUploader from './BaseFileUploader.vue';
28
+ import BaseHasMany from './BaseHasMany.vue';
27
29
  import { Icon as BaseIcon } from '@iconify/vue';
30
+ import BaseInput from './BaseInput.vue';
31
+ import BaseInputLabel from './BaseInputLabel.vue';
28
32
  import BaseLoadingCover from './BaseLoadingCover.vue';
33
+ import BaseMediaItem from './BaseMediaItem.vue';
34
+ import BaseMediaLibrary from './BaseMediaLibrary.vue';
35
+ import BaseMediaPreview from './BaseMediaPreview.vue';
29
36
  import BaseMenu from './BaseMenu.vue';
30
37
  import BaseMenuItem from './BaseMenuItem.vue';
38
+ import BaseModalCenter from './BaseModalCenter.vue';
39
+ import BaseModalSide from './BaseModalSide.vue';
40
+ import BaseNavbar from './BaseNavbar.vue';
41
+ import BaseNavbarItem from './BaseNavbarItem.vue';
42
+ import BaseNavbarItemContent from './BaseNavbarItemContent.vue';
43
+ import BasePagination from './BasePagination.vue';
44
+ import BasePanel from './BasePanel.vue';
45
+ import BasePassword from './BasePassword.vue';
46
+ import BaseProcessRing from './BaseProcessRing.vue';
47
+ import BaseReadMore from './BaseReadMore.vue';
48
+ import BaseSelect from './BaseSelect.vue';
49
+ import BaseSideNavigation from './BaseSideNavigation.vue';
50
+ import BaseSideNavigationItem from './BaseSideNavigationItem.vue';
51
+ import BaseSkeleton from './BaseSkeleton.vue';
52
+ import BaseSwitch from './BaseSwitch.vue';
53
+ import BaseSystemAlert from './BaseSystemAlert.vue';
54
+ import BaseTabs from './BaseTabs.vue';
55
+ import BaseTabItem from './BaseTabItem.vue';
56
+ import BaseTagAutocomplete from './BaseTagAutocomplete.vue';
57
+ import BaseTagAutocompleteFetch from './BaseTagAutocompleteFetch.vue';
31
58
  import BaseTable from './BaseTable.vue';
32
59
  import BaseTableColumn from './BaseTableColumn.vue';
33
- export { BaseAlert, BaseApp, BaseAppDialogs, BaseAppNotifications, BaseAutocomplete, BaseAutocompleteFetch, BaseAvatar, BaseBadge, BaseBelongsTo, BaseBoolean, BaseBreadcrumbs, BaseButton, BaseCard, BaseCardRow, BaseClipboard, BaseContainer, BaseCounter, BaseDataIterator, BaseDataTable, BaseDatePicker, BaseDateSelect, BaseDescriptionList, BaseDescriptionListItem, BaseDialog, BaseFilePicker, BaseFileUploader, BaseIcon, BaseLoadingCover, BaseMenu, BaseMenuItem, BaseTable, BaseTableColumn, };
60
+ import BaseTextarea from './BaseTextarea.vue';
61
+ import BaseTextareaAutoresize from './BaseTextareaAutoresize.vue';
62
+ export { BaseAlert, BaseApp, BaseAppDialogs, BaseAppNotifications, BaseAutocomplete, BaseAutocompleteFetch, BaseAvatar, BaseBadge, BaseBelongsTo, BaseBoolean, BaseBreadcrumbs, BaseButton, BaseCard, BaseCardRow, BaseCharacterCounter, BaseClipboard, BaseContainer, BaseCounter, BaseDataIterator, BaseDataTable, BaseDatePicker, BaseDateSelect, BaseDescriptionList, BaseDescriptionListItem, BaseDialog, BaseFilePicker, BaseFileUploader, BaseHasMany, BaseIcon, BaseInput, BaseInputLabel, BaseLoadingCover, BaseMediaItem, BaseMediaLibrary, BaseMediaPreview, BaseMenu, BaseMenuItem, BaseModalCenter, BaseModalSide, BaseNavbar, BaseNavbarItem, BaseNavbarItemContent, BasePagination, BasePanel, BasePassword, BaseProcessRing, BaseReadMore, BaseSelect, BaseSideNavigation, BaseSideNavigationItem, BaseSkeleton, BaseSwitch, BaseSystemAlert, BaseTabs, BaseTabItem, BaseTagAutocomplete, BaseTagAutocompleteFetch, BaseTable, BaseTableColumn, BaseTextarea, BaseTextareaAutoresize, };
@@ -30,6 +30,7 @@ declare const messages: {
30
30
  month: string;
31
31
  next: string;
32
32
  next_month: string;
33
+ none: string;
33
34
  nothing_found: string;
34
35
  or: string;
35
36
  pagination_detail: string;
@@ -87,6 +88,7 @@ declare const messages: {
87
88
  month: string;
88
89
  next: string;
89
90
  next_month: string;
91
+ none: string;
90
92
  nothing_found: string;
91
93
  or: string;
92
94
  pagination_detail: string;
@@ -155,6 +157,7 @@ declare const config: {
155
157
  month: string;
156
158
  next: string;
157
159
  next_month: string;
160
+ none: string;
158
161
  nothing_found: string;
159
162
  or: string;
160
163
  pagination_detail: string;
@@ -212,6 +215,7 @@ declare const config: {
212
215
  month: string;
213
216
  next: string;
214
217
  next_month: string;
218
+ none: string;
215
219
  nothing_found: string;
216
220
  or: string;
217
221
  pagination_detail: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sprintify-ui",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "scripts": {
5
5
  "build": "rimraf dist && vue-tsc && vite build",
6
6
  "docs:dev": "vitepress dev docs",
@@ -11,7 +11,7 @@
11
11
  >
12
12
  <div
13
13
  v-if="dialogs.length"
14
- class="fixed inset-0 z-20 h-full w-full bg-black bg-opacity-60"
14
+ class="z-dialogs fixed inset-0 h-full w-full bg-black bg-opacity-60"
15
15
  />
16
16
  </Transition>
17
17
 
@@ -29,7 +29,7 @@
29
29
  v-for="dialog in dialogs"
30
30
  :key="dialog.id"
31
31
  scroll-lock-target
32
- class="fixed inset-0 z-20 transform overflow-y-auto"
32
+ class="z-dialogs fixed inset-0 transform overflow-y-auto"
33
33
  >
34
34
  <div
35
35
  class="flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0"
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <Teleport to="body">
3
3
  <div
4
- class="pointer-events-none fixed inset-0 flex items-end justify-end p-6 md:p-8"
4
+ class="pointer-events-none fixed inset-0 z-notifications flex items-end justify-end p-6 md:p-8"
5
5
  >
6
6
  <div class="w-full max-w-sm">
7
7
  <TransitionGroup
@@ -48,7 +48,7 @@
48
48
  <div class="relative">
49
49
  <div
50
50
  v-show="showDropdown"
51
- class="absolute top-1 z-[1] min-h-[110px] w-full overflow-hidden rounded border border-slate-300 bg-white shadow-md"
51
+ class="absolute top-1 z-menu min-h-[110px] w-full overflow-hidden rounded border border-slate-300 bg-white shadow-md"
52
52
  >
53
53
  <div
54
54
  ref="dropdown"
@@ -102,24 +102,22 @@
102
102
  </div>
103
103
  </div>
104
104
 
105
- <Transition>
106
- <div
107
- v-if="loading"
108
- class="absolute inset-0 h-full w-full space-y-1 bg-white p-2"
109
- >
110
- <div class="space-y-1">
111
- <BaseSkeleton class="h-7 w-full" delay="0ms"></BaseSkeleton>
112
- <BaseSkeleton
113
- class="h-7 w-full opacity-70"
114
- delay="50ms"
115
- ></BaseSkeleton>
116
- <BaseSkeleton
117
- class="h-7 w-full opacity-30"
118
- delay="100ms"
119
- ></BaseSkeleton>
120
- </div>
105
+ <div
106
+ v-if="loading"
107
+ class="absolute inset-0 h-full w-full space-y-1 bg-white p-2"
108
+ >
109
+ <div class="space-y-1">
110
+ <BaseSkeleton class="h-7 w-full" delay="0ms"></BaseSkeleton>
111
+ <BaseSkeleton
112
+ class="h-7 w-full opacity-70"
113
+ delay="50ms"
114
+ ></BaseSkeleton>
115
+ <BaseSkeleton
116
+ class="h-7 w-full opacity-30"
117
+ delay="100ms"
118
+ ></BaseSkeleton>
121
119
  </div>
122
- </Transition>
120
+ </div>
123
121
  </div>
124
122
  </div>
125
123
  </div>
@@ -111,6 +111,7 @@ watch(
111
111
  },
112
112
  { immediate: true }
113
113
  );
114
+
114
115
  function onUpdate(newModel: Selection) {
115
116
  if (!newModel) {
116
117
  model.value = null;
@@ -0,0 +1,30 @@
1
+ import BaseCharacterCounter from './BaseCharacterCounter.vue';
2
+ import BaseInput from './BaseInput.vue';
3
+
4
+ export default {
5
+ title: 'Components/BaseCharacterCounter',
6
+ component: BaseCharacterCounter,
7
+ args: {
8
+ text: 'Test',
9
+ max: 100,
10
+ min: 10,
11
+ },
12
+ };
13
+
14
+ const Template = (args) => ({
15
+ components: {
16
+ BaseCharacterCounter,
17
+ BaseInput,
18
+ },
19
+ setup() {
20
+ const text = ref('bla bla');
21
+ return { args, text };
22
+ },
23
+ template: `
24
+ <BaseInput v-model="text" name="test" class="w-full mb-1"></BaseInput>
25
+ <BaseCharacterCounter v-bind="args" :text="text" class="text-xs text-slate-500"></BaseCharacterCounter>
26
+ `,
27
+ });
28
+
29
+ export const Demo = Template.bind({});
30
+ Demo.args = {};
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <div>
3
+ <div
4
+ v-if="max && (!min || length >= min)"
5
+ :class="{
6
+ 'text-red-600': length > max,
7
+ }"
8
+ >
9
+ {{ length }}/{{ max }}
10
+ </div>
11
+ <div v-else-if="min && length < min" class="text-red-600">
12
+ {{ $t('sui.min_x_characters', { x: min }) }} ({{ length }}/{{ min }})
13
+ </div>
14
+ </div>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import { trim } from 'lodash';
19
+
20
+ const props = defineProps({
21
+ text: {
22
+ required: true,
23
+ type: String,
24
+ },
25
+ min: {
26
+ default: undefined,
27
+ type: Number,
28
+ },
29
+ max: {
30
+ default: undefined,
31
+ type: Number,
32
+ },
33
+ trim: {
34
+ default: true,
35
+ type: Boolean,
36
+ },
37
+ removeDoubleSpaces: {
38
+ default: true,
39
+ type: Boolean,
40
+ },
41
+ });
42
+
43
+ const trimmedText = computed(() => {
44
+ let text = props.text;
45
+
46
+ if (props.trim) {
47
+ text = trim(props.text);
48
+ }
49
+
50
+ if (props.removeDoubleSpaces) {
51
+ text = text.replace(/ +(?= )/g, '');
52
+ }
53
+
54
+ return text;
55
+ });
56
+
57
+ const length = computed(() => {
58
+ return trimmedText.value.length;
59
+ });
60
+ </script>
@@ -17,7 +17,7 @@
17
17
  >
18
18
  <div
19
19
  v-show="tooltipShown"
20
- class="pointer-events-none absolute left-full z-10 items-center"
20
+ class="pointer-events-none absolute left-full z-[1] items-center"
21
21
  >
22
22
  <div
23
23
  class="ml-2 whitespace-nowrap rounded bg-slate-900 bg-opacity-80 px-3 py-2 text-xs leading-tight text-white backdrop-blur"
@@ -60,9 +60,9 @@ const template = `
60
60
  <BaseSelect
61
61
  :model-value="query.type ?? null"
62
62
  class="w-full rounded border-slate-300"
63
+ placeholder="-"
63
64
  @update:model-value="updateQueryValue('type', $event)"
64
65
  >
65
- <option value="">-</option>
66
66
  <option value="video">
67
67
  Video
68
68
  </option>
@@ -78,9 +78,9 @@ const template = `
78
78
  <BaseSelect
79
79
  :model-value="query.access_level ?? null"
80
80
  class="w-full rounded border-slate-300"
81
+ placeholder="-"
81
82
  @update:model-value="updateQueryValue('access_level', $event)"
82
83
  >
83
- <option value="">-</option>
84
84
  <option value="public">
85
85
  Public
86
86
  </option>