tide-design-system 2.4.4 → 2.4.7

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 (58) hide show
  1. package/.storybook/main.ts +1 -0
  2. package/dist/css/reset.css +1 -1
  3. package/dist/css/utilities-responsive.css +0 -546
  4. package/dist/style.css +1 -1
  5. package/dist/tide-design-system.cjs +2 -2
  6. package/dist/tide-design-system.esm.d.ts +85 -11
  7. package/dist/tide-design-system.esm.js +1769 -1617
  8. package/dist/utilities/storybook.ts +6 -2
  9. package/dist/utilities/validation.ts +1 -1
  10. package/index.ts +10 -5
  11. package/package.json +1 -1
  12. package/src/assets/css/reset.css +1 -1
  13. package/src/assets/css/utilities-responsive.css +0 -546
  14. package/src/components/InternalBaseLink.vue +11 -0
  15. package/src/components/TideAlert.vue +46 -3
  16. package/src/components/TideBreadCrumbs.vue +3 -2
  17. package/src/components/TideButton.vue +17 -4
  18. package/src/components/TideButtonIcon.vue +15 -2
  19. package/src/components/TideButtonPagination.vue +16 -16
  20. package/src/components/TideButtonSegmented.vue +1 -0
  21. package/src/components/TideCard.vue +12 -2
  22. package/src/components/TideCarousel.vue +10 -5
  23. package/src/components/TideChipAction.vue +7 -1
  24. package/src/components/TideChipFilter.vue +1 -0
  25. package/src/components/TideChipInput.vue +1 -0
  26. package/src/components/TideIcon.vue +8 -9
  27. package/src/components/TideImage.vue +9 -9
  28. package/src/components/TideInputText.vue +2 -0
  29. package/src/components/TideInputTextDeprecated.vue +2 -0
  30. package/src/components/TideInputTextarea.vue +2 -2
  31. package/src/components/TideLink.vue +7 -1
  32. package/src/components/TideMenuItem.vue +83 -0
  33. package/src/components/TideModal.vue +91 -85
  34. package/src/components/TideSeoLinks.vue +3 -2
  35. package/src/components/TideSheet.vue +5 -3
  36. package/src/components/TideSwitch.vue +1 -0
  37. package/src/composables/useTideConfig.ts +23 -0
  38. package/src/stories/TideAlert.stories.ts +37 -1
  39. package/src/stories/TideButtonPagination.stories.ts +6 -6
  40. package/src/stories/TideCarousel.stories.ts +0 -1
  41. package/src/stories/TideInputCheckbox.stories.ts +58 -23
  42. package/src/stories/TideInputRadio.stories.ts +39 -30
  43. package/src/stories/TideInputSelect.stories.ts +51 -27
  44. package/src/stories/TideInputText.stories.ts +83 -23
  45. package/src/stories/TideInputTextarea.stories.ts +66 -17
  46. package/src/stories/TideLink.stories.ts +1 -14
  47. package/src/stories/TideMenuItem.stories.ts +117 -0
  48. package/src/stories/TidePagination.stories.ts +2 -2
  49. package/src/stories/TidePopover.stories.ts +1 -1
  50. package/src/types/Badge.ts +4 -0
  51. package/src/types/Element.ts +2 -2
  52. package/src/types/Formatted.ts +1 -0
  53. package/src/types/Storybook.ts +4 -6
  54. package/src/types/Type.ts +6 -0
  55. package/src/types/Validation.ts +1 -0
  56. package/src/utilities/storybook.ts +6 -2
  57. package/src/utilities/validation.ts +1 -1
  58. package/tests/InternalBaseLink.spec.ts +61 -0
@@ -1,4 +1,4 @@
1
- import { ELEMENT, ELEMENT_TEXT_AS_ICON } from '@/types/Element';
1
+ import { ELEMENT, ELEMENT_BROAD } from '@/types/Element';
2
2
  import { BOOLEAN, BOOLEAN_UNREQUIRED, NoneAsEmpty, NoneAsUndefined } from '@/types/Storybook';
3
3
  import { CSS } from '@/types/Styles';
4
4
  import { formatKebabCase } from '@/utilities/format';
@@ -61,6 +61,7 @@ export const change = {
61
61
  isEmit: true,
62
62
  name: 'change',
63
63
  table: {
64
+ category: 'Events',
64
65
  defaultValue: { summary: 'None' },
65
66
  type: { summary: '() => void' },
66
67
  },
@@ -71,6 +72,7 @@ export const click = {
71
72
  description: 'JS code or function to execute on click event',
72
73
  isEmit: true,
73
74
  table: {
75
+ category: 'Events',
74
76
  defaultValue: { summary: 'None' },
75
77
  type: { summary: '() => void' },
76
78
  },
@@ -81,6 +83,7 @@ export const close = {
81
83
  description: 'JS code or function to execute on close event',
82
84
  isEmit: true,
83
85
  table: {
86
+ category: 'Events',
84
87
  defaultValue: { summary: 'None' },
85
88
  type: { summary: '() => void' },
86
89
  },
@@ -90,6 +93,7 @@ export const dataTrack = {
90
93
  control: 'text',
91
94
  description: 'Data attribute for external tracking',
92
95
  table: {
96
+ category: 'Native',
93
97
  defaultValue: { summary: 'None' },
94
98
  type: { summary: 'string' },
95
99
  },
@@ -252,7 +256,7 @@ export const formatSnippet = (code: string, context: StoryContext) => {
252
256
  if (
253
257
  isClick &&
254
258
  value &&
255
- (!args.element || args.element === ELEMENT.BUTTON || args.element === ELEMENT_TEXT_AS_ICON.BUTTON)
259
+ (!args.element || args.element === ELEMENT.BUTTON || args.element === ELEMENT_BROAD.BUTTON)
256
260
  ) {
257
261
  return `@click="${value}"`;
258
262
  }
@@ -70,7 +70,7 @@ export const getFieldValidationResult = ({
70
70
  }
71
71
 
72
72
  // all other prop-based errors come last
73
- if (required && value.value.trim() === '') {
73
+ if (required && value.value?.trim() === '') {
74
74
  return VALIDATION_RESULT.REQUIRED;
75
75
  }
76
76
 
package/index.ts CHANGED
@@ -15,6 +15,7 @@ import TideChipFilter from '@/components/TideChipFilter.vue';
15
15
  import TideChipInput from '@/components/TideChipInput.vue';
16
16
  import TideColumns from '@/components/TideColumns.vue';
17
17
  import TideDivider from '@/components/TideDivider.vue';
18
+ import TideForm from '@/components/TideForm.vue';
18
19
  import TideIcon from '@/components/TideIcon.vue';
19
20
  import TideImage from '@/components/TideImage.vue';
20
21
  import TideImageBackground from '@/components/TideImageBackground.vue';
@@ -30,18 +31,20 @@ import TideInputTextDeprecated from '@/components/TideInputTextDeprecated.vue';
30
31
  import TideInputTextarea from '@/components/TideInputTextarea.vue';
31
32
  import TideInputTextareaDeprecated from '@/components/TideInputTextareaDeprecated.vue';
32
33
  import TideLink from '@/components/TideLink.vue';
34
+ import TideMenuItem from '@/components/TideMenuItem.vue';
33
35
  import TideModal from '@/components/TideModal.vue';
34
36
  import TidePagination from '@/components/TidePagination.vue';
35
37
  import TidePopover from '@/components/TidePopover.vue';
36
38
  import TideSeoLinks from '@/components/TideSeoLinks.vue';
37
39
  import TideSheet from '@/components/TideSheet.vue';
38
40
  import TideSwitch from '@/components/TideSwitch.vue';
41
+ import { provideTideConfig } from '@/composables/useTideConfig';
39
42
  import { useTideForm } from '@/composables/useTideForm';
40
43
  import { ALERT } from '@/types/Alert';
41
44
  import { BADGE_COLOR, BADGE_COLOR_DETAILS, BADGE_TRUSTED } from '@/types/Badge';
42
45
  import { BREAKPOINT, MEDIA } from '@/types/Breakpoint';
43
46
  import { TYPE_CARD } from '@/types/Card';
44
- import { ELEMENT, ELEMENT_TEXT_AS_ICON } from '@/types/Element';
47
+ import { ELEMENT, ELEMENT_BROAD } from '@/types/Element';
45
48
  import { FORMAT, FORMAT_REGEX } from '@/types/Formatted';
46
49
  import { ICON, ICON_REALM } from '@/types/Icon';
47
50
  import { OBJECT_FIT } from '@/types/Image';
@@ -59,7 +62,7 @@ import type { BadgeTrustedYears } from '@/types/Badge';
59
62
  import type { BreadCrumb } from '@/types/BreadCrumb';
60
63
  import type { Breakpoint, Media } from '@/types/Breakpoint';
61
64
  import type { CardType } from '@/types/Card';
62
- import type { Element, ElementTextAsIcon } from '@/types/Element';
65
+ import type { Element, ElementBroad } from '@/types/Element';
63
66
  import type { FormValueTransformer } from '@/types/Form';
64
67
  import type { TextInput } from '@/types/FormDeprecated';
65
68
  import type { Formatted } from '@/types/Formatted';
@@ -86,7 +89,7 @@ export type {
86
89
  Breakpoint,
87
90
  CardType,
88
91
  Element,
89
- ElementTextAsIcon,
92
+ ElementBroad,
90
93
  FormValueTransformer,
91
94
  Formatted,
92
95
  Icon,
@@ -120,7 +123,7 @@ export {
120
123
  BREAKPOINT,
121
124
  CSS,
122
125
  ELEMENT,
123
- ELEMENT_TEXT_AS_ICON,
126
+ ELEMENT_BROAD,
124
127
  FORMAT,
125
128
  FORMAT_REGEX,
126
129
  ICON,
@@ -139,7 +142,7 @@ export {
139
142
  VALIDATOR,
140
143
  };
141
144
 
142
- export { useTideForm };
145
+ export { useTideForm, provideTideConfig };
143
146
 
144
147
  export {
145
148
  TideAccordionItem,
@@ -159,6 +162,7 @@ export {
159
162
  TideChipInput,
160
163
  TideColumns,
161
164
  TideDivider,
165
+ TideForm,
162
166
  TideIcon,
163
167
  TideImage,
164
168
  TideImageBackground,
@@ -174,6 +178,7 @@ export {
174
178
  TideInputTextarea,
175
179
  TideInputTextareaDeprecated,
176
180
  TideLink,
181
+ TideMenuItem,
177
182
  TideModal,
178
183
  TidePagination,
179
184
  TidePopover,
package/package.json CHANGED
@@ -63,7 +63,7 @@
63
63
  "main": "dist/tide-design-system.cjs",
64
64
  "module": "dist/tide-design-system.esm.js",
65
65
  "types": "dist/tide-design-system.esm.d.ts",
66
- "version": "2.4.4",
66
+ "version": "2.4.7",
67
67
  "dependencies": {
68
68
  "@floating-ui/vue": "^1.1.6"
69
69
  }
@@ -25,7 +25,7 @@ body {
25
25
  border: 0;
26
26
  padding: 0;
27
27
  color: inherit;
28
- font-family: Montserrat;
28
+ font-family: Montserrat, system-ui, sans-serif;
29
29
  font-weight: inherit;
30
30
  line-height: inherit;
31
31
  -webkit-font-smoothing: antialiased;