design-system-next 2.11.15 → 2.11.17

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 (89) hide show
  1. package/dist/design-system-next.es.js +6255 -6111
  2. package/dist/design-system-next.es.js.gz +0 -0
  3. package/dist/design-system-next.umd.js +12 -12
  4. package/dist/design-system-next.umd.js.gz +0 -0
  5. package/dist/main.css +1 -1
  6. package/dist/main.css.gz +0 -0
  7. package/dist/package.json.d.ts +1 -1
  8. package/package.json +1 -1
  9. package/src/App.vue +1 -49
  10. package/src/assets/scripts/border-radius.ts +15 -15
  11. package/src/assets/scripts/colors.ts +134 -134
  12. package/src/assets/scripts/max-width.ts +11 -11
  13. package/src/assets/scripts/spacing.ts +23 -23
  14. package/src/assets/scripts/utilities.ts +15 -15
  15. package/src/components/accordion/accordion.ts +43 -43
  16. package/src/components/accordion/use-accordion.ts +43 -43
  17. package/src/components/avatar/avatar.ts +64 -64
  18. package/src/components/badge/badge.ts +43 -43
  19. package/src/components/banner/banner.ts +20 -20
  20. package/src/components/button/button.ts +72 -72
  21. package/src/components/button/button.vue +15 -15
  22. package/src/components/calendar/calendar.ts +89 -89
  23. package/src/components/card/card.ts +52 -52
  24. package/src/components/checkbox/checkbox.ts +45 -45
  25. package/src/components/chips/chips.ts +95 -95
  26. package/src/components/collapsible/collapsible.ts +21 -21
  27. package/src/components/collapsible/collapsible.vue +27 -27
  28. package/src/components/date-picker/__tests__/date-picker.test.ts +112 -112
  29. package/src/components/date-picker/date-picker.ts +157 -157
  30. package/src/components/date-picker/date-range-picker/date-range-picker.vue +1 -0
  31. package/src/components/dropdown/__tests__/dropdown-fixes.spec.ts +106 -106
  32. package/src/components/dropdown/__tests__/dropdown-value-types.spec.ts +213 -213
  33. package/src/components/dropdown/fix-multi-number.ts +92 -92
  34. package/src/components/dropdown/use-dropdown.ts +488 -488
  35. package/src/components/empty-state/empty-state.ts +50 -50
  36. package/src/components/file-upload/file-upload.ts +87 -87
  37. package/src/components/floating-action/floating-action.ts +12 -12
  38. package/src/components/input/input-contact-number/input-contact-number.ts +83 -83
  39. package/src/components/input/input-email/input-email.vue +17 -17
  40. package/src/components/input/input-password/use-input-password.ts +19 -19
  41. package/src/components/input/input-search/input-search.vue +13 -13
  42. package/src/components/input/input-url/input-url.vue +20 -20
  43. package/src/components/input/input-username/input-username.vue +17 -17
  44. package/src/components/input/input.vue +72 -72
  45. package/src/components/list/ladderized-list/ladderized-list.ts +39 -39
  46. package/src/components/list/list.vue +30 -20
  47. package/src/components/list/use-list.ts +1 -0
  48. package/src/components/logo/logo.ts +43 -43
  49. package/src/components/logo/logo.vue +14 -14
  50. package/src/components/logo/use-logo.ts +41 -41
  51. package/src/components/lozenge/lozenge.ts +61 -61
  52. package/src/components/modal/modal.ts +45 -45
  53. package/src/components/progress-bar/progress-bar.ts +39 -39
  54. package/src/components/radio/radio.ts +42 -42
  55. package/src/components/select/select.ts +144 -144
  56. package/src/components/sidenav/sidenav.ts +173 -173
  57. package/src/components/sidepanel/sidepanel.ts +100 -100
  58. package/src/components/sidepanel/sidepanel.vue +55 -55
  59. package/src/components/sidepanel/stacking-sidepanel/stacking-sidepanel.ts +16 -16
  60. package/src/components/sidepanel/stacking-sidepanel/stacking-sidepanel.vue +39 -39
  61. package/src/components/slider/slider.ts +38 -38
  62. package/src/components/snackbar/snack/snack.ts +71 -71
  63. package/src/components/snackbar/use-snackbar.ts +34 -34
  64. package/src/components/status/status.ts +19 -19
  65. package/src/components/status/status.vue +13 -13
  66. package/src/components/stepper/step/step.ts +47 -47
  67. package/src/components/stepper/stepper.ts +47 -47
  68. package/src/components/stepper/stepper.vue +34 -34
  69. package/src/components/switch/switch.ts +42 -42
  70. package/src/components/table/table-actions/table-actions.ts +42 -42
  71. package/src/components/table/table-actions/table-actions.vue +40 -40
  72. package/src/components/table/table-chips-title/table-chips-title.ts +27 -27
  73. package/src/components/table/table-chips-title/table-chips-title.vue +32 -32
  74. package/src/components/table/table-chips-title/use-table-chips-title.ts +22 -22
  75. package/src/components/table/table-lozenge-title/table-lozenge-title.ts +23 -23
  76. package/src/components/table/table-lozenge-title/table-lozenge-title.vue +26 -26
  77. package/src/components/table/table-lozenge-title/use-table-lozenge-title.ts +21 -21
  78. package/src/components/table/table-pagination/table-pagination.ts +63 -63
  79. package/src/components/table/table-pagination/table-pagination.vue +72 -72
  80. package/src/components/table/table.ts +173 -173
  81. package/src/components/tabs/tabs.ts +43 -43
  82. package/src/components/textarea/textarea.ts +72 -72
  83. package/src/components/textarea/textarea.vue +45 -45
  84. package/src/components/time-picker/time-picker.ts +69 -69
  85. package/src/components/tooltip/tooltip.ts +46 -46
  86. package/src/components/tooltip/use-tooltip.ts +13 -13
  87. package/src/examples/dropdown-number-multi-select.vue +76 -76
  88. package/src/stores/useSnackbarStore.ts +44 -44
  89. package/src/vite-env.d.ts +6 -0
@@ -1,76 +1,76 @@
1
- // Example usage of dropdown with primitive number values in multi-select mode
2
-
3
- <template>
4
- <div>
5
- <h2>Multiple Number Values Demo</h2>
6
- <p>Selected values: {{ displaySelection }}</p>
7
-
8
- <div class="dropdown-container">
9
- <spr-dropdown
10
- id="number-multi-dropdown"
11
- v-model="selectedNumbers"
12
- :menu-list="numberOptions"
13
- multi-select
14
- @update:model-value="handleSelectedItems"
15
- >
16
- <spr-input
17
- v-model="displayText"
18
- label="Select Numbers"
19
- readonly
20
- placeholder="Select numbers..."
21
- />
22
- </spr-dropdown>
23
- </div>
24
-
25
- <div class="mt-4">
26
- <h3>Current selection type:</h3>
27
- <pre>{{ typeof selectedNumbers[0] }}</pre>
28
-
29
- <h3>Current selection:</h3>
30
- {{ selectedNumbers }}
31
- </div>
32
- </div>
33
- </template>
34
-
35
- <script setup>
36
- import { ref, computed } from 'vue';
37
- import SprInput from "@/components/input/input.vue";
38
- import SprDropdown from "@/components/dropdown/dropdown.vue";
39
-
40
- // Define number options - raw number values
41
- const numberOptions = [
42
- { text: 'One', value: 1 },
43
- { text: 'Two', value: 2 },
44
- { text: 'Three', value: 3 },
45
- { text: 'Four', value: 4 },
46
- { text: 'Five', value: 5 }
47
- ];
48
-
49
- // Track selected numbers
50
- const selectedNumbers = ref([]);
51
- const displayText = ref('');
52
-
53
- // Display the selection summary
54
- const displaySelection = computed(() => {
55
- if (selectedNumbers.value.length === 0) {
56
- return 'None';
57
- }
58
- return selectedNumbers.value.join(', ');
59
- });
60
-
61
- // Handle selected items and update display text
62
- const handleSelectedItems = (items) => {
63
- // For multi-select, update display text to show selected items
64
- const selectedTexts = items.map(itemValue => {
65
- // Find corresponding text for each selected value
66
- const option = numberOptions.find(opt => opt.value === itemValue);
67
- return option ? option.text : itemValue;
68
- });
69
-
70
- // Update the input display text
71
- displayText.value = selectedTexts.join(', ');
72
-
73
- console.log('Selected values:', items);
74
- console.log('Type of first value:', typeof items[0]);
75
- };
76
- </script>
1
+ // Example usage of dropdown with primitive number values in multi-select mode
2
+
3
+ <template>
4
+ <div>
5
+ <h2>Multiple Number Values Demo</h2>
6
+ <p>Selected values: {{ displaySelection }}</p>
7
+
8
+ <div class="dropdown-container">
9
+ <spr-dropdown
10
+ id="number-multi-dropdown"
11
+ v-model="selectedNumbers"
12
+ :menu-list="numberOptions"
13
+ multi-select
14
+ @update:model-value="handleSelectedItems"
15
+ >
16
+ <spr-input
17
+ v-model="displayText"
18
+ label="Select Numbers"
19
+ readonly
20
+ placeholder="Select numbers..."
21
+ />
22
+ </spr-dropdown>
23
+ </div>
24
+
25
+ <div class="mt-4">
26
+ <h3>Current selection type:</h3>
27
+ <pre>{{ typeof selectedNumbers[0] }}</pre>
28
+
29
+ <h3>Current selection:</h3>
30
+ {{ selectedNumbers }}
31
+ </div>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { ref, computed } from 'vue';
37
+ import SprInput from "@/components/input/input.vue";
38
+ import SprDropdown from "@/components/dropdown/dropdown.vue";
39
+
40
+ // Define number options - raw number values
41
+ const numberOptions = [
42
+ { text: 'One', value: 1 },
43
+ { text: 'Two', value: 2 },
44
+ { text: 'Three', value: 3 },
45
+ { text: 'Four', value: 4 },
46
+ { text: 'Five', value: 5 }
47
+ ];
48
+
49
+ // Track selected numbers
50
+ const selectedNumbers = ref([]);
51
+ const displayText = ref('');
52
+
53
+ // Display the selection summary
54
+ const displaySelection = computed(() => {
55
+ if (selectedNumbers.value.length === 0) {
56
+ return 'None';
57
+ }
58
+ return selectedNumbers.value.join(', ');
59
+ });
60
+
61
+ // Handle selected items and update display text
62
+ const handleSelectedItems = (items) => {
63
+ // For multi-select, update display text to show selected items
64
+ const selectedTexts = items.map(itemValue => {
65
+ // Find corresponding text for each selected value
66
+ const option = numberOptions.find(opt => opt.value === itemValue);
67
+ return option ? option.text : itemValue;
68
+ });
69
+
70
+ // Update the input display text
71
+ displayText.value = selectedTexts.join(', ');
72
+
73
+ console.log('Selected values:', items);
74
+ console.log('Type of first value:', typeof items[0]);
75
+ };
76
+ </script>
@@ -1,44 +1,44 @@
1
- import { defineStore } from "pinia";
2
- import { SnackPropTypes } from "@/components/snackbar/snack/snack";
3
- import { ref, type Ref } from "vue";
4
-
5
- const createSnack = (payload: SnackPropTypes): SnackStoreTypes => ({
6
- ...payload,
7
- id: Math.random() * 1000,
8
- });
9
-
10
- export interface SnackStoreTypes extends SnackPropTypes {
11
- id: number,
12
- defaultAction?: () => void
13
- }
14
-
15
- export const useSnackbarStore = defineStore("snackbar-store", () => {
16
- const snacks: Ref<SnackStoreTypes[]> = ref([]);
17
-
18
- // Delete function for snacks
19
- const eatSnack = (snack: SnackStoreTypes) => {
20
- snacks.value = snacks.value.filter((s) => s.id !== snack.id);
21
- }
22
-
23
- const updateState = (payload: SnackPropTypes) => {
24
- const snack = createSnack(payload);
25
-
26
- // Add new snack to state array
27
- snacks.value.push({...snack, defaultAction: () => eatSnack(snack)});
28
-
29
- // At a certain duration, delete snack
30
- setTimeout(() => {
31
- eatSnack(snack);
32
- }, payload.duration || 4000);
33
- }
34
-
35
- const message = (payload: SnackPropTypes) => {
36
- updateState({ ...payload});
37
- }
38
-
39
- return {
40
- snacks,
41
- updateState,
42
- message,
43
- }
44
- });
1
+ import { defineStore } from "pinia";
2
+ import { SnackPropTypes } from "@/components/snackbar/snack/snack";
3
+ import { ref, type Ref } from "vue";
4
+
5
+ const createSnack = (payload: SnackPropTypes): SnackStoreTypes => ({
6
+ ...payload,
7
+ id: Math.random() * 1000,
8
+ });
9
+
10
+ export interface SnackStoreTypes extends SnackPropTypes {
11
+ id: number,
12
+ defaultAction?: () => void
13
+ }
14
+
15
+ export const useSnackbarStore = defineStore("snackbar-store", () => {
16
+ const snacks: Ref<SnackStoreTypes[]> = ref([]);
17
+
18
+ // Delete function for snacks
19
+ const eatSnack = (snack: SnackStoreTypes) => {
20
+ snacks.value = snacks.value.filter((s) => s.id !== snack.id);
21
+ }
22
+
23
+ const updateState = (payload: SnackPropTypes) => {
24
+ const snack = createSnack(payload);
25
+
26
+ // Add new snack to state array
27
+ snacks.value.push({...snack, defaultAction: () => eatSnack(snack)});
28
+
29
+ // At a certain duration, delete snack
30
+ setTimeout(() => {
31
+ eatSnack(snack);
32
+ }, payload.duration || 4000);
33
+ }
34
+
35
+ const message = (payload: SnackPropTypes) => {
36
+ updateState({ ...payload});
37
+ }
38
+
39
+ return {
40
+ snacks,
41
+ updateState,
42
+ message,
43
+ }
44
+ });
@@ -0,0 +1,6 @@
1
+ interface ImportMeta { readonly glob: ImportMetaGlob }
2
+
3
+ interface ImportMetaGlob {
4
+ (pattern: string, options?: { eager?: boolean }): Record<string, () => Promise<unknown>>
5
+ (pattern: string, options?: { eager: true }): Record<string, unknown>
6
+ }