sprintify-ui 0.7.4 → 0.7.6

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 (88) hide show
  1. package/dist/sprintify-ui.es.js +4401 -4343
  2. package/dist/style.css +1 -1
  3. package/dist/types/components/BaseAddressForm.vue.d.ts +2 -2
  4. package/dist/types/components/BaseAutocomplete.vue.d.ts +3 -3
  5. package/dist/types/components/BaseAutocompleteDrawer.vue.d.ts +3 -3
  6. package/dist/types/components/BaseAutocompleteFetch.vue.d.ts +3 -3
  7. package/dist/types/components/BaseBadge.vue.d.ts +3 -3
  8. package/dist/types/components/BaseBelongsTo.vue.d.ts +3 -3
  9. package/dist/types/components/BaseBelongsToFetch.vue.d.ts +3 -3
  10. package/dist/types/components/BaseButton.vue.d.ts +6 -0
  11. package/dist/types/components/BaseButtonGroup.vue.d.ts +3 -3
  12. package/dist/types/components/BaseCardRow.vue.d.ts +3 -3
  13. package/dist/types/components/BaseColor.vue.d.ts +3 -3
  14. package/dist/types/components/BaseContainer.vue.d.ts +47 -30
  15. package/dist/types/components/BaseDataIterator.vue.d.ts +3 -3
  16. package/dist/types/components/BaseDataIteratorSectionColumns.vue.d.ts +12 -12
  17. package/dist/types/components/BaseDataTable.vue.d.ts +3 -3
  18. package/dist/types/components/BaseDataTableRowAction.vue.d.ts +2 -2
  19. package/dist/types/components/BaseDataTableTemplate.vue.d.ts +3 -3
  20. package/dist/types/components/BaseDatePicker.vue.d.ts +2 -2
  21. package/dist/types/components/BaseDateSelect.vue.d.ts +3 -3
  22. package/dist/types/components/BaseField.vue.d.ts +3 -3
  23. package/dist/types/components/BaseInput.vue.d.ts +3 -3
  24. package/dist/types/components/BaseInputError.vue.d.ts +3 -3
  25. package/dist/types/components/BaseInputLabel.vue.d.ts +3 -3
  26. package/dist/types/components/BaseJsonReader.vue.d.ts +2 -2
  27. package/dist/types/components/BaseMenu.vue.d.ts +1 -1
  28. package/dist/types/components/BasePassword.vue.d.ts +3 -3
  29. package/dist/types/components/BaseRichText.vue.d.ts +3 -3
  30. package/dist/types/components/BaseSelect.vue.d.ts +3 -3
  31. package/dist/types/components/BaseSwitch.vue.d.ts +3 -3
  32. package/dist/types/components/BaseTableColumn.vue.d.ts +1 -1
  33. package/dist/types/components/BaseTagAutocomplete.vue.d.ts +3 -3
  34. package/dist/types/components/BaseTextarea.vue.d.ts +3 -3
  35. package/dist/types/components/BaseTextareaAutoresize.vue.d.ts +3 -3
  36. package/dist/types/components/BaseTimePicker.vue.d.ts +3 -3
  37. package/dist/types/composables/field.d.ts +1 -1
  38. package/dist/types/composables/inputSize.d.ts +1 -1
  39. package/dist/types/utils/sizeBehaviors.d.ts +4 -0
  40. package/dist/types/utils/sizes.d.ts +15 -0
  41. package/package.json +1 -1
  42. package/src/assets/base-rich-text.css +101 -0
  43. package/src/components/BaseAddressForm.stories.js +2 -1
  44. package/src/components/BaseAddressForm.vue +2 -0
  45. package/src/components/BaseAutocomplete.stories.js +1 -3
  46. package/src/components/BaseAutocompleteFetch.stories.js +1 -3
  47. package/src/components/BaseBadge.stories.js +11 -4
  48. package/src/components/BaseBadge.vue +7 -4
  49. package/src/components/BaseBelongsTo.stories.js +1 -3
  50. package/src/components/BaseBelongsToFetch.stories.js +1 -4
  51. package/src/components/BaseButton.stories.js +1 -8
  52. package/src/components/BaseButton.vue +29 -21
  53. package/src/components/BaseButtonGroup.stories.js +1 -3
  54. package/src/components/BaseButtonGroup.vue +2 -0
  55. package/src/components/BaseColor.stories.js +1 -3
  56. package/src/components/BaseContainer.vue +55 -41
  57. package/src/components/BaseDataIterator.stories.js +1 -2
  58. package/src/components/BaseDataIteratorSectionButton.vue +1 -1
  59. package/src/components/BaseDatePicker.stories.js +1 -4
  60. package/src/components/BaseDatePicker.vue +4 -0
  61. package/src/components/BaseDateSelect.stories.js +1 -4
  62. package/src/components/BaseDateSelect.vue +2 -0
  63. package/src/components/BaseHasMany.stories.js +1 -3
  64. package/src/components/BaseInput.stories.js +1 -1
  65. package/src/components/BaseInput.vue +6 -0
  66. package/src/components/BaseInputError.vue +2 -0
  67. package/src/components/BaseInputLabel.vue +2 -0
  68. package/src/components/BaseJsonReader.stories.js +1 -2
  69. package/src/components/BaseJsonReaderItem.vue +8 -0
  70. package/src/components/BasePassword.stories.js +1 -3
  71. package/src/components/BaseRichText.stories.js +1 -2
  72. package/src/components/BaseRichText.vue +4 -1
  73. package/src/components/BaseSelect.stories.js +1 -2
  74. package/src/components/BaseSelect.vue +2 -0
  75. package/src/components/BaseShortcut.stories.js +2 -4
  76. package/src/components/BaseSwitch.stories.js +1 -3
  77. package/src/components/BaseTagAutocomplete.stories.js +1 -3
  78. package/src/components/BaseTagAutocomplete.vue +12 -0
  79. package/src/components/BaseTagAutocompleteFetch.stories.js +1 -3
  80. package/src/components/BaseTextarea.stories.js +1 -4
  81. package/src/components/BaseTextarea.vue +2 -0
  82. package/src/components/BaseTextareaAutoresize.stories.js +1 -4
  83. package/src/components/BaseTextareaAutoresize.vue +6 -4
  84. package/src/components/BaseTimePicker.stories.js +1 -4
  85. package/src/components/BaseTimePicker.vue +22 -18
  86. package/src/stories/PageInputSizes.vue +16 -18
  87. package/src/utils/sizeBehaviors.ts +4 -0
  88. package/src/utils/sizes.ts +18 -3
@@ -156,7 +156,7 @@ const props = defineProps({
156
156
  type: String,
157
157
  },
158
158
  placeholder: {
159
- default () {
159
+ default() {
160
160
  return t('sui.click_or_select_time');
161
161
  },
162
162
  type: String,
@@ -198,18 +198,18 @@ const { nameInternal, hasErrorInternal, emitUpdate, sizeInternal } =
198
198
  emit: emit,
199
199
  });
200
200
 
201
- const timeRegex = computed(() => {
202
- if (props.disabledSeconds) {
203
- return new RegExp(
204
- `^([01]?[0-9]|2[0-3]):([0-5][0-9])$`
205
- );
206
- }
207
-
201
+ const timeRegex = computed(() => {
202
+ if (props.disabledSeconds) {
208
203
  return new RegExp(
209
- `^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$`
204
+ `^([01]?[0-9]|2[0-3]):([0-5][0-9])$`
210
205
  );
211
- });
212
- // const timeRegex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
206
+ }
207
+
208
+ return new RegExp(
209
+ `^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$`
210
+ );
211
+ });
212
+ // const timeRegex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
213
213
  const modelValueFormatted = computed((): string | string[] | null => {
214
214
  if (!props.modelValue) {
215
215
  return null;
@@ -232,6 +232,8 @@ const classes = computed(() => {
232
232
  'xs': 'pl-[1.54rem] pr-5',
233
233
  'sm': 'pl-[2.1rem] pr-6',
234
234
  'md': 'pl-10 pr-7',
235
+ 'lg': 'pl-10 pr-7',
236
+ 'xl': 'pl-11 pr-7',
235
237
  }[sizeInternal.value];
236
238
 
237
239
  const paddingRight = props.modelValue ? padding : 'pr-0';
@@ -265,6 +267,8 @@ const iconWrapClasses = computed(() => {
265
267
  'xs': 'pl-2',
266
268
  'sm': 'pl-2.5',
267
269
  'md': 'pl-3',
270
+ 'lg': 'pl-3',
271
+ 'xl': 'pl-3',
268
272
  }[sizeInternal.value];
269
273
 
270
274
  return twMerge(
@@ -316,7 +320,7 @@ const minutes = computed(() => generateValues(60, props.minuteStep));
316
320
  const seconds = computed(() => generateValues(60, props.secondStep));
317
321
 
318
322
  function selectTime(time: string, type: string) {
319
-
323
+
320
324
  if (type === 'hour') {
321
325
  hourValue.value = time;
322
326
  }
@@ -328,7 +332,7 @@ function selectTime(time: string, type: string) {
328
332
  }
329
333
 
330
334
  if (props.disabledSeconds) {
331
- secondValue.value = '00';
335
+ secondValue.value = '00';
332
336
  }
333
337
  }
334
338
 
@@ -336,7 +340,7 @@ function ok(close: () => void) {
336
340
  let time = `${hourValue.value}:${minuteValue.value}:${secondValue.value}`;
337
341
 
338
342
  if (props.disabledSeconds) {
339
- time = `${hourValue.value}:${minuteValue.value}`;
343
+ time = `${hourValue.value}:${minuteValue.value}`;
340
344
  }
341
345
 
342
346
  if (!timeRegex.value.test(time)) {
@@ -358,7 +362,7 @@ function now(close: () => void) {
358
362
  let time = `${hourValue.value}:${minuteValue.value}:${secondValue.value}`;
359
363
 
360
364
  if (props.disabledSeconds) {
361
- time = `${hourValue.value}:${minuteValue.value}`;
365
+ time = `${hourValue.value}:${minuteValue.value}`;
362
366
  }
363
367
 
364
368
  emitUpdate(time);
@@ -367,9 +371,9 @@ function now(close: () => void) {
367
371
  }
368
372
 
369
373
  const clearSelectedValues = () => {
370
- hourValue.value = null;
371
- minuteValue.value = null;
372
- secondValue.value = null;
374
+ hourValue.value = null;
375
+ minuteValue.value = null;
376
+ secondValue.value = null;
373
377
  };
374
378
 
375
379
  </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="p-5 flex flex-col gap-4 overflow-x-scroll overflow-y-visible pb-[400px]">
3
3
  <div
4
- v-for="size in sizes"
4
+ v-for="(sizeObj, size) in sizes"
5
5
  :key="size"
6
6
  >
7
7
  <div class="flex gap-1">
@@ -140,7 +140,7 @@
140
140
  </div>
141
141
 
142
142
  <div
143
- v-for="size in sizes"
143
+ v-for="(sizeObj, size) in sizes"
144
144
  :key="size"
145
145
  class="flex flex-col gap-3"
146
146
  >
@@ -157,7 +157,7 @@
157
157
  </div>
158
158
 
159
159
  <div
160
- v-for="size in sizes"
160
+ v-for="(sizeObj, size) in sizes"
161
161
  :key="size"
162
162
  class="flex flex-col gap-3"
163
163
  >
@@ -176,7 +176,7 @@
176
176
  </template>
177
177
 
178
178
  <script lang="ts" setup>
179
- import { Size } from '@/utils/sizes';
179
+ import { sizes } from '@/utils/sizes';
180
180
  import BaseField from '@/components/BaseField.vue';
181
181
  import BaseSelect from '@/components/BaseSelect.vue';
182
182
  import BaseAutocomplete from '@/components/BaseAutocomplete.vue';
@@ -195,8 +195,6 @@ import BaseDatePicker from '@/components/BaseDatePicker.vue';
195
195
  import BaseDateSelect from '@/components/BaseDateSelect.vue';
196
196
  import BaseTimePicker from '@/components/BaseTimePicker.vue';
197
197
 
198
- const sizes = ref<Size[]>(['xs', 'sm', 'md']);
199
-
200
198
  const text = ref('');
201
199
  const number = ref('');
202
200
 
@@ -214,18 +212,18 @@ const colors = ref([]);
214
212
  const date = ref(null);
215
213
 
216
214
  const options = [
217
- { label: 'Dark Vader', value: 'dark_vader', type: 'sith' },
218
- { label: 'Darth Maul', value: 'darth_maul', type: 'sith' },
219
- { label: 'Dark Sidious', value: 'dark_sidious', type: 'sith' },
220
- { label: 'Obi Wan Kenobi', value: 'obiwan', type: 'jedi' },
221
- { label: 'Anakin Skywalker', value: 'anakin', type: 'jedi' },
222
- { label: 'Mace Windu', value: 'windu', type: 'jedi' },
223
- { label: 'Padme Amidala', value: 'padme', type: 'jedi' },
224
- { label: 'Princesse Leila', value: 'leila', type: 'jedi' },
225
- { label: 'Qui Gon Gin', value: 'quigon', type: 'jedi' },
226
- { label: 'Chewbaca', value: 'chewbaca', type: 'jedi' },
227
- { label: 'C3P0', value: 'c3p0', type: 'jedi' },
228
- { label: 'R2D2', value: 'r2d2', type: 'jedi' },
215
+ { label: 'Dark Vader', value: 'dark_vader', type: 'sith' },
216
+ { label: 'Darth Maul', value: 'darth_maul', type: 'sith' },
217
+ { label: 'Dark Sidious', value: 'dark_sidious', type: 'sith' },
218
+ { label: 'Obi Wan Kenobi', value: 'obiwan', type: 'jedi' },
219
+ { label: 'Anakin Skywalker', value: 'anakin', type: 'jedi' },
220
+ { label: 'Mace Windu', value: 'windu', type: 'jedi' },
221
+ { label: 'Padme Amidala', value: 'padme', type: 'jedi' },
222
+ { label: 'Princesse Leila', value: 'leila', type: 'jedi' },
223
+ { label: 'Qui Gon Gin', value: 'quigon', type: 'jedi' },
224
+ { label: 'Chewbaca', value: 'chewbaca', type: 'jedi' },
225
+ { label: 'C3P0', value: 'c3p0', type: 'jedi' },
226
+ { label: 'R2D2', value: 'r2d2', type: 'jedi' },
229
227
  ];
230
228
 
231
229
  </script>
@@ -0,0 +1,4 @@
1
+ export enum SizeBehavior {
2
+ default = 'default',
3
+ input = 'input',
4
+ }
@@ -2,18 +2,33 @@ const sizes = {
2
2
  xs: {
3
3
  fontSize: 'text-xs',
4
4
  height: 'h-control-xs',
5
- iconSize: 'h-[0.9rem] w-[0.9rem]'
5
+ iconSize: 'h-[0.9rem] w-[0.9rem]',
6
+ buttonClass: 'btn-xs',
6
7
  },
7
8
  sm: {
8
9
  fontSize: 'text-sm',
9
10
  height: 'h-control-sm',
10
- iconSize: 'h-[1.125rem] w-[1.125rem]'
11
+ iconSize: 'h-[1.125rem] w-[1.125rem]',
12
+ buttonClass: 'btn-sm',
11
13
  },
12
14
  md: {
13
15
  fontSize: 'text-base',
14
16
  height: 'h-control-md',
15
- iconSize: 'h-5 w-5'
17
+ iconSize: 'h-5 w-5',
18
+ buttonClass: 'btn-md',
16
19
  },
20
+ lg: {
21
+ fontSize: 'text-lg',
22
+ height: 'h-control-lg',
23
+ iconSize: 'h-6 w-6',
24
+ buttonClass: 'btn-lg',
25
+ },
26
+ xl: {
27
+ fontSize: 'text-xl',
28
+ height: 'h-control-xl',
29
+ iconSize: 'h-7 w-7',
30
+ buttonClass: 'btn-xl',
31
+ }
17
32
  };
18
33
 
19
34
  type Size = keyof typeof sizes;