@wix/patterns-fields 1.106.0 → 1.108.0

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 (189) hide show
  1. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  2. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  3. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  4. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  5. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  6. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  7. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  8. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  9. package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
  10. package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
  11. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  12. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  13. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  14. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  15. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  16. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  17. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  18. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  19. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.js +40 -38
  20. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.js.map +1 -1
  21. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  22. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  23. package/dist/cjs/components/image/image-view-field.js +4 -5
  24. package/dist/cjs/components/image/image-view-field.js.map +1 -1
  25. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  26. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  27. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  28. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  29. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  30. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  31. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  32. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  33. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  34. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  35. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  36. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  37. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  38. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  39. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
  40. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  42. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  43. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
  44. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  45. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  46. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  47. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  48. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  49. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  50. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  51. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  52. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  53. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  54. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  55. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  56. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  57. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  58. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  59. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  60. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  61. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
  62. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  63. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  64. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  65. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  66. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  67. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  68. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  69. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  70. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  71. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  72. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  73. package/dist/cjs/styles.global.css +1 -1
  74. package/dist/cjs/utils/get-image-source.js +5 -2
  75. package/dist/cjs/utils/get-image-source.js.map +1 -1
  76. package/dist/cjs/utils/get-image-url.js +3 -1
  77. package/dist/cjs/utils/get-image-url.js.map +1 -1
  78. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  79. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  80. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  81. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  82. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  83. package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
  84. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  85. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  86. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  87. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  88. package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
  89. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  90. package/dist/esm/components/field-validation-settings/field-validation-settings-input.js +9 -7
  91. package/dist/esm/components/field-validation-settings/field-validation-settings-input.js.map +1 -1
  92. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  93. package/dist/esm/components/image/image-view-field.js +1 -2
  94. package/dist/esm/components/image/image-view-field.js.map +1 -1
  95. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  96. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  97. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  98. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  99. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  100. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  101. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  102. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  103. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  104. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
  105. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  106. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
  107. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  108. package/dist/esm/components/reference/cell-reference-input.st.css.js.map +1 -1
  109. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  110. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  111. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  112. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  113. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  114. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  115. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  116. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  117. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  118. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  119. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  120. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  121. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  122. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  123. package/dist/esm/components/text/text-view.st.css.js +2 -2
  124. package/dist/esm/components/text/text-view.st.css.js.map +1 -1
  125. package/dist/esm/styles.global.css +1 -1
  126. package/dist/esm/utils/get-image-source.js +7 -2
  127. package/dist/esm/utils/get-image-source.js.map +1 -1
  128. package/dist/esm/utils/get-image-url.js +2 -1
  129. package/dist/esm/utils/get-image-url.js.map +1 -1
  130. package/dist/types/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
  131. package/dist/types/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
  132. package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
  133. package/dist/types/components/field-validation-settings/field-validation-settings-input.d.ts +4 -1
  134. package/dist/types/components/field-validation-settings/field-validation-settings-input.d.ts.map +1 -1
  135. package/dist/types/components/image/image-view-field.d.ts.map +1 -1
  136. package/dist/types/components/media-control/cell-media-edit-shell.st.css.d.ts.map +1 -1
  137. package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  138. package/dist/types/components/reference/cell-reference-input.st.css.d.ts.map +1 -1
  139. package/dist/types/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.d.ts.map +1 -1
  140. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  141. package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
  142. package/dist/types/utils/get-image-source.d.ts +1 -1
  143. package/dist/types/utils/get-image-source.d.ts.map +1 -1
  144. package/dist/types/utils/get-image-url.d.ts +1 -1
  145. package/dist/types/utils/get-image-url.d.ts.map +1 -1
  146. package/package.json +4 -4
  147. package/src/__tests__/components/field-validation-settings/field-validation-settings-input.spec.tsx +122 -2
  148. package/src/__tests__/components/image/form-image-input.spec.tsx +13 -1
  149. package/src/__tests__/components/image/image-view-field.spec.tsx +10 -0
  150. package/src/__tests__/utils/get-image-url.spec.ts +20 -0
  151. package/src/components/address/input/address-input.st.css.ts +2 -2
  152. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  153. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  154. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  155. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  156. package/src/components/color-view/color-view.st.css.ts +2 -2
  157. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  158. package/src/components/document/form-document-field.st.css.ts +2 -2
  159. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  160. package/src/components/field-validation-settings/field-validation-settings-input.tsx +11 -5
  161. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  162. package/src/components/image/image-view-field.tsx +1 -2
  163. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  164. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  165. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  166. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  167. package/src/components/media-image/media-image.st.css.ts +3 -3
  168. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  169. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  170. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  171. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  172. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  173. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  174. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  175. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  176. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  177. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  178. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  179. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  180. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  181. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  182. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  183. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  184. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  185. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  186. package/src/components/text/text-view.st.css.ts +2 -2
  187. package/src/styles.global.css +1 -1
  188. package/src/utils/get-image-source.ts +8 -3
  189. package/src/utils/get-image-url.ts +3 -2
@@ -71,6 +71,7 @@ interface RenderInputOptions {
71
71
  rules?: readonly FieldValidationRuleConfig[];
72
72
  readOnly?: boolean;
73
73
  invalid?: boolean;
74
+ showValidationErrors?: boolean;
74
75
  disabledRules?: readonly FieldValidationRuleConfig['type'][];
75
76
  exclusiveSpecificValues?: boolean;
76
77
  }
@@ -81,13 +82,18 @@ const renderInput = (
81
82
  rules = allRules,
82
83
  readOnly,
83
84
  invalid,
85
+ showValidationErrors,
84
86
  disabledRules,
85
87
  exclusiveSpecificValues,
86
88
  }: RenderInputOptions = {},
87
89
  ) => {
88
90
  const onChange = jest.fn<void, [FieldValidationSettingsValue]>();
89
91
 
90
- const TestInput = () => {
92
+ const TestInput = ({
93
+ showValidationErrors,
94
+ }: {
95
+ showValidationErrors?: boolean;
96
+ }) => {
91
97
  const [data, setData] = useState(initialData);
92
98
  return (
93
99
  <FieldValidationSettingsInput
@@ -96,6 +102,7 @@ const renderInput = (
96
102
  rules={rules}
97
103
  readOnly={readOnly}
98
104
  invalid={invalid}
105
+ showValidationErrors={showValidationErrors}
99
106
  disabledRules={disabledRules}
100
107
  exclusiveSpecificValues={exclusiveSpecificValues}
101
108
  onChange={(nextData) => {
@@ -106,10 +113,15 @@ const renderInput = (
106
113
  );
107
114
  };
108
115
 
109
- const result = render(<TestInput />, { wrapper: PatternsFieldsTestProvider });
116
+ const result = render(
117
+ <TestInput showValidationErrors={showValidationErrors} />,
118
+ { wrapper: PatternsFieldsTestProvider },
119
+ );
110
120
 
111
121
  return {
112
122
  ...result,
123
+ setErrorVisibility: (visible: boolean) =>
124
+ result.rerender(<TestInput showValidationErrors={visible} />),
113
125
  driver: testkitFactory({
114
126
  wrapper: result.container,
115
127
  dataHook: 'validation',
@@ -119,6 +131,114 @@ const renderInput = (
119
131
  };
120
132
 
121
133
  describe('FieldValidationSettingsInput', () => {
134
+ describe('controlled error visibility', () => {
135
+ it.each([
136
+ {
137
+ label: 'minimum',
138
+ data: { charactersLimit: { min: -1 } },
139
+ input: 'min',
140
+ },
141
+ { label: 'maximum', data: { charactersLimit: { max: 0 } }, input: 'max' },
142
+ {
143
+ label: 'range order',
144
+ data: { charactersLimit: { min: 20, max: 2 } },
145
+ input: 'max',
146
+ },
147
+ {
148
+ label: 'blank value',
149
+ data: { specificValues: [{ id: 'a', value: '' }] },
150
+ input: 'value',
151
+ },
152
+ {
153
+ label: 'duplicate value',
154
+ data: {
155
+ specificValues: [
156
+ { id: 'a', value: 'same' },
157
+ { id: 'b', value: 'same' },
158
+ ],
159
+ },
160
+ input: 'duplicate',
161
+ },
162
+ { label: 'invalid pattern', data: { pattern: '[' }, input: 'pattern' },
163
+ {
164
+ label: 'unsafe pattern',
165
+ data: { pattern: '^(a+)+$' },
166
+ input: 'pattern',
167
+ },
168
+ ])(
169
+ 'defers $label feedback until requested without changing the draft',
170
+ async ({ data, input }) => {
171
+ const { driver, onChange, setErrorVisibility } = renderInput(data, {
172
+ showValidationErrors: false,
173
+ });
174
+ const control =
175
+ input === 'min'
176
+ ? driver.getMinCharactersInput()
177
+ : input === 'max'
178
+ ? driver.getMaxCharactersInput()
179
+ : input === 'value' || input === 'duplicate'
180
+ ? driver.getSpecificValueInput(input === 'duplicate' ? 1 : 0)
181
+ : driver.getPatternInput();
182
+ expect(await control.hasStatus('error')).toBe(false);
183
+ setErrorVisibility(true);
184
+ expect(await control.hasStatus('error')).toBe(true);
185
+ setErrorVisibility(false);
186
+ expect(await control.hasStatus('error')).toBe(false);
187
+ expect(onChange).not.toHaveBeenCalled();
188
+ },
189
+ );
190
+
191
+ it('defers the caller-invalid state for empty enabled rules', async () => {
192
+ const { driver, setErrorVisibility } = renderInput(
193
+ { charactersLimit: {}, pattern: '' },
194
+ { invalid: true, showValidationErrors: false },
195
+ );
196
+ expect(await driver.getMinCharactersInput().hasStatus('error')).toBe(
197
+ false,
198
+ );
199
+ expect(await driver.getMaxCharactersInput().hasStatus('error')).toBe(
200
+ false,
201
+ );
202
+ expect(await driver.getPatternInput().hasStatus('error')).toBe(false);
203
+ setErrorVisibility(true);
204
+ expect(await driver.getMinCharactersInput().hasStatus('error')).toBe(
205
+ true,
206
+ );
207
+ expect(await driver.getMaxCharactersInput().hasStatus('error')).toBe(
208
+ true,
209
+ );
210
+ expect(await driver.getPatternInput().hasStatus('error')).toBe(true);
211
+ });
212
+
213
+ it('keeps rule availability and its explanation when errors are hidden', async () => {
214
+ const { driver } = renderInput(
215
+ { specificValues: [{ id: 'a', value: '' }] },
216
+ { showValidationErrors: false },
217
+ );
218
+ expect(await driver.getCharactersLimitToggle().isDisabled()).toBe(true);
219
+ expect(
220
+ await driver.getExclusiveRulesExplanation('characters-limit').exists(),
221
+ ).toBe(true);
222
+ expect(await driver.getSpecificValueInput(0).hasStatus('error')).toBe(
223
+ false,
224
+ );
225
+ });
226
+
227
+ it('updates feedback as a pattern is corrected after errors become visible', async () => {
228
+ const { driver, setErrorVisibility, onChange } = renderInput(
229
+ { pattern: '[' },
230
+ { showValidationErrors: false },
231
+ );
232
+ setErrorVisibility(true);
233
+ expect(await driver.getPatternInput().getStatusMessage()).toBe(
234
+ 'Enter a valid regular expression.',
235
+ );
236
+ await driver.getPatternInput().enterText('^valid$');
237
+ expect(await driver.getPatternInput().hasStatus('error')).toBe(false);
238
+ expect(onChange).toHaveBeenLastCalledWith({ pattern: '^valid$' });
239
+ });
240
+ });
241
+
122
242
  it.each(ruleCombinations)(
123
243
  'renders exactly the configured rule combination: %j',
124
244
  async (...rules) => {
@@ -42,6 +42,19 @@ describe('FormImageInput field', () => {
42
42
  );
43
43
  });
44
44
 
45
+ it('renders a structured image in the item form', async () => {
46
+ const image = {
47
+ uri: 'wix:image://v1/913019_d5425b6817dc4739bd0f3a494d4ec00b~mv2.jpg/photo.jpg#originWidth=4668&originHeight=4669',
48
+ url: 'https://example.com/fallback.jpg',
49
+ width: 4668,
50
+ height: 4669,
51
+ };
52
+ const driver = setup({ initialValue: image as unknown as string });
53
+ expect(await driver.tk.getImageUrl()).toContain(
54
+ '913019_d5425b6817dc4739bd0f3a494d4ec00b~mv2.jpg',
55
+ );
56
+ });
57
+
45
58
  it('renders the image when the value is a bare media id', async () => {
46
59
  const driver = setup({
47
60
  initialValue: 'dafa67_9aa1f03ed7274a7795d2f2e18a245ac7~mv2.jpg',
@@ -93,5 +106,4 @@ describe('FormImageInput field', () => {
93
106
  ?.contains(active),
94
107
  ).toBe(true);
95
108
  });
96
-
97
109
  });
@@ -17,6 +17,16 @@ const renderField = (
17
17
  );
18
18
 
19
19
  describe('ImageViewField', () => {
20
+ it('renders a structured image in the read-only field', () => {
21
+ renderField({ value: { uri: WIX_MEDIA_URI }, displayName: 'Photo' });
22
+ expect(screen.getByAltText('Photo')).toHaveAttribute(
23
+ 'src',
24
+ expect.stringContaining(
25
+ 'dafa67_9aa1f03ed7274a7795d2f2e18a245ac7~mv2.jpg',
26
+ ),
27
+ );
28
+ });
29
+
20
30
  it('renders a placeholder dash when value is not a string', () => {
21
31
  renderField({ value: undefined });
22
32
  expect(screen.getByText('-')).toBeInTheDocument();
@@ -4,6 +4,26 @@ const MEDIA_ID = 'dafa67_9aa1f03ed7274a7795d2f2e18a245ac7~mv2.jpg';
4
4
  const WIX_STATIC = `https://static.wixstatic.com/media/${MEDIA_ID}`;
5
5
 
6
6
  describe('getImageUrl', () => {
7
+ it('resolves a structured image using its URI first', () => {
8
+ expect(
9
+ getImageUrl({
10
+ uri: `wix:image://v1/${MEDIA_ID}/photo.jpg`,
11
+ url: 'https://example.com/fallback.jpg',
12
+ }),
13
+ ).toBe(WIX_STATIC);
14
+ });
15
+
16
+ it('falls back to the URL of a structured image', () => {
17
+ expect(getImageUrl({ url: WIX_STATIC })).toBe(WIX_STATIC);
18
+ });
19
+
20
+ it.each([{}, 42, false, { uri: 42, url: {} }])(
21
+ 'ignores unsupported image values',
22
+ (value) => {
23
+ expect(getImageUrl(value)).toBeUndefined();
24
+ },
25
+ );
26
+
7
27
  it('returns undefined for empty values', () => {
8
28
  expect(getImageUrl(undefined)).toBeUndefined();
9
29
  expect(getImageUrl(null)).toBeUndefined();
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "addressinput3563313791";
8
+ var _namespace_ = "addressinput1753982187";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"addressinput3563313791__root","tableAddressInput":"addressinput3563313791__tableAddressInput"};
16
+ export var classes = {"root":"addressinput1753982187__root","tableAddressInput":"addressinput1753982187__tableAddressInput"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "actionsmenu569615331";
8
+ var _namespace_ = "actionsmenu132710167";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"actionsmenu569615331__root","action":"actionsmenu569615331__action"};
16
+ export var classes = {"root":"actionsmenu132710167__root","action":"actionsmenu132710167__action"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formaudiofield356707707";
8
+ var _namespace_ = "formaudiofield2070924690";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"formaudiofield356707707__root","addItem":"formaudiofield356707707__addItem","mediaTitle":"formaudiofield356707707__mediaTitle"};
16
+ export var classes = {"root":"formaudiofield2070924690__root","addItem":"formaudiofield2070924690__addItem","mediaTitle":"formaudiofield2070924690__mediaTitle"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "audioplayer1156907405";
8
+ var _namespace_ = "audioplayer3409967597";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"audioplayer1156907405__root"};
16
+ export var classes = {"root":"audioplayer3409967597__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellcolorview4192293911";
8
+ var _namespace_ = "cellcolorview3646440040";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"cellcolorview4192293911__root","hashPrefix":"cellcolorview4192293911__hashPrefix"};
16
+ export var classes = {"root":"cellcolorview3646440040__root","hashPrefix":"cellcolorview3646440040__hashPrefix"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "colorview3155115473";
8
+ var _namespace_ = "colorview1258591125";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"colorview3155115473__root","view":"colorview3155115473__view","fillPreview":"colorview3155115473__fillPreview"};
16
+ export var classes = {"root":"colorview1258591125__root","view":"colorview1258591125__view","fillPreview":"colorview1258591125__fillPreview"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "deletedialog4088908994";
8
+ var _namespace_ = "deletedialog744307190";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"deletedialog4088908994__root","layout":"deletedialog4088908994__layout"};
16
+ export var classes = {"root":"deletedialog744307190__root","layout":"deletedialog744307190__layout"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formdocumentfield567415095";
8
+ var _namespace_ = "formdocumentfield2402620674";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"formdocumentfield567415095__root","viewWrapper":"formdocumentfield567415095__viewWrapper","textWidth":"formdocumentfield567415095__textWidth","documentLoader":"formdocumentfield567415095__documentLoader","addDocument":"formdocumentfield567415095__addDocument","addItemWrapper":"formdocumentfield567415095__addItemWrapper"};
16
+ export var classes = {"root":"formdocumentfield2402620674__root","viewWrapper":"formdocumentfield2402620674__viewWrapper","textWidth":"formdocumentfield2402620674__textWidth","documentLoader":"formdocumentfield2402620674__documentLoader","addDocument":"formdocumentfield2402620674__addDocument","addItemWrapper":"formdocumentfield2402620674__addItemWrapper"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "exclamation1051403069";
8
+ var _namespace_ = "exclamation3341739339";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"exclamation1051403069__root","exclamation":"exclamation1051403069__exclamation","actions":"exclamation1051403069__actions","action":"exclamation1051403069__action"};
16
+ export var classes = {"root":"exclamation3341739339__root","exclamation":"exclamation3341739339__exclamation","actions":"exclamation3341739339__actions","action":"exclamation3341739339__action"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -30,6 +30,9 @@ export interface FieldValidationSettingsInputProps
30
30
  'autoFocus' | 'onBlur'
31
31
  > {
32
32
  rules: readonly FieldValidationRuleConfig[];
33
+ /** Show error styling/messages, including caller-supplied `invalid` state.
34
+ * Defaults to true. Does not alter validity or rule availability. */
35
+ showValidationErrors?: boolean;
33
36
  /** Rules the caller has fixed and the user can't toggle, independent of `readOnly`. */
34
37
  disabledRules?: readonly FieldValidationRule[];
35
38
  /** Whether `specificValues` rejects `charactersLimit`/`pattern` on the same
@@ -81,6 +84,7 @@ export const FieldValidationSettingsInput = ({
81
84
  rules,
82
85
  disabledRules,
83
86
  exclusiveSpecificValues = true,
87
+ showValidationErrors = true,
84
88
  }: FieldValidationSettingsInputProps) => {
85
89
  const isRuleDisabled = (rule: FieldValidationRule) =>
86
90
  Boolean(readOnly) || Boolean(disabledRules?.includes(rule));
@@ -92,6 +96,7 @@ export const FieldValidationSettingsInput = ({
92
96
  exclusiveSpecificValues,
93
97
  },
94
98
  );
99
+ const errorViolations = showValidationErrors ? violations : [];
95
100
  const supportsSpecificValues = rules.some(
96
101
  ({ type }) => type === 'specificValues',
97
102
  );
@@ -107,6 +112,7 @@ export const FieldValidationSettingsInput = ({
107
112
  // Other violations put an error on a control; `exclusiveRules` renders only as
108
113
  // text under the rule, so it leaves `invalid` unattributed.
109
114
  const hasUnattributedInvalidState =
115
+ showValidationErrors &&
110
116
  Boolean(invalid) &&
111
117
  violations.every(({ type }) => type === 'exclusiveRules');
112
118
  const isBlockedByExclusivity = (rule: FieldValidationRule) => {
@@ -186,19 +192,19 @@ export const FieldValidationSettingsInput = ({
186
192
  const renderCharactersLimit = (
187
193
  rule: CharactersLimitFieldValidationRuleConfig,
188
194
  ) => {
189
- const minViolation = violations.find(
195
+ const minViolation = errorViolations.find(
190
196
  (violation) =>
191
197
  violation.rule === 'charactersLimit' &&
192
198
  violation.type === 'outOfBounds' &&
193
199
  violation.bound === 'min',
194
200
  );
195
- const maxOutOfBoundsViolation = violations.find(
201
+ const maxOutOfBoundsViolation = errorViolations.find(
196
202
  (violation) =>
197
203
  violation.rule === 'charactersLimit' &&
198
204
  violation.type === 'outOfBounds' &&
199
205
  violation.bound === 'max',
200
206
  );
201
- const maxBelowMinViolation = violations.find(
207
+ const maxBelowMinViolation = errorViolations.find(
202
208
  (violation) =>
203
209
  violation.rule === 'charactersLimit' &&
204
210
  violation.type === 'maxBelowMin',
@@ -324,7 +330,7 @@ export const FieldValidationSettingsInput = ({
324
330
  {hasSpecificValues && (
325
331
  <Box direction="vertical" gap="SP2">
326
332
  {data.specificValues?.map((option, index) => {
327
- const optionViolation = violations.find(
333
+ const optionViolation = errorViolations.find(
328
334
  (violation) =>
329
335
  violation.rule === 'specificValues' &&
330
336
  'optionId' in violation &&
@@ -411,7 +417,7 @@ export const FieldValidationSettingsInput = ({
411
417
  );
412
418
 
413
419
  const renderPattern = (rule: PatternFieldValidationRuleConfig) => {
414
- const patternViolation = violations.find(
420
+ const patternViolation = errorViolations.find(
415
421
  (violation) =>
416
422
  violation.rule === 'pattern' &&
417
423
  (violation.type === 'invalidPattern' ||
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "highlightedtext3229524057";
8
+ var _namespace_ = "highlightedtext3372272020";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,8 +13,8 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"highlightedtext3229524057__root","substring":"highlightedtext3229524057__substring"};
17
- export var keyframes = {"highlighted":"highlightedtext3229524057__highlighted","highlighted-match":"highlightedtext3229524057__highlighted-match"};
16
+ export var classes = {"root":"highlightedtext3372272020__root","substring":"highlightedtext3372272020__substring"};
17
+ export var keyframes = {"highlighted":"highlightedtext3372272020__highlighted","highlighted-match":"highlightedtext3372272020__highlighted-match"};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
@@ -18,8 +18,7 @@ export const ImageViewField: React.FC<ImageViewFieldProps> = ({
18
18
  displayName,
19
19
  id,
20
20
  }) => {
21
- const imageValue = typeof value === 'string' ? value : undefined;
22
- const imageUrl = getImageUrl(imageValue);
21
+ const imageUrl = getImageUrl(value);
23
22
 
24
23
  if (!imageUrl) {
25
24
  return <Text>-</Text>;
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "thumbnailreplaceoverlay2008665341";
8
+ var _namespace_ = "thumbnailreplaceoverlay2032633141";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"thumbnailreplaceoverlay2008665341__root","icon":"thumbnailreplaceoverlay2008665341__icon"};
16
+ export var classes = {"root":"thumbnailreplaceoverlay2032633141__root","icon":"thumbnailreplaceoverlay2032633141__icon"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmediaeditshell2419159734";
8
+ var _namespace_ = "cellmediaeditshell235224359";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"cellmediaeditshell2419159734__root"};
16
+ export var classes = {"root":"cellmediaeditshell235224359__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "pasteurlbutton3954228839";
8
+ var _namespace_ = "pasteurlbutton2373892225";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"pasteurlbutton3954228839__root","iconButtonTooltip":"pasteurlbutton3954228839__iconButtonTooltip","iconButton":"pasteurlbutton3954228839__iconButton"};
16
+ export var classes = {"root":"pasteurlbutton2373892225__root","iconButtonTooltip":"pasteurlbutton2373892225__iconButtonTooltip","iconButton":"pasteurlbutton2373892225__iconButton"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formmediagalleryfield2517936608";
8
+ var _namespace_ = "formmediagalleryfield668604997";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"formmediagalleryfield2517936608__root","container":"formmediagalleryfield2517936608__container","viewBox":"formmediagalleryfield2517936608__viewBox","addItemWrapper":"formmediagalleryfield2517936608__addItemWrapper","addItem":"formmediagalleryfield2517936608__addItem","overlay":"formmediagalleryfield2517936608__overlay","image":"formmediagalleryfield2517936608__image","previewImage":"formmediagalleryfield2517936608__previewImage","previewVideo":"formmediagalleryfield2517936608__previewVideo"};
16
+ export var classes = {"root":"formmediagalleryfield668604997__root","container":"formmediagalleryfield668604997__container","viewBox":"formmediagalleryfield668604997__viewBox","addItemWrapper":"formmediagalleryfield668604997__addItemWrapper","addItem":"formmediagalleryfield668604997__addItem","overlay":"formmediagalleryfield668604997__overlay","image":"formmediagalleryfield668604997__image","previewImage":"formmediagalleryfield668604997__previewImage","previewVideo":"formmediagalleryfield668604997__previewVideo"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediaimage1035920699";
8
+ var _namespace_ = "mediaimage1816130638";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,12 +13,12 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"mediaimage1035920699__root"};
16
+ export var classes = {"root":"mediaimage1816130638__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
21
- export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage1035920699-from","to":"--mediaimage1035920699-to"};
21
+ export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage1816130638-from","to":"--mediaimage1816130638-to"};
22
22
 
23
23
 
24
24
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "overlay1512312462";
8
+ var _namespace_ = "overlay1530238555";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"overlay1512312462__root","iconOverlay":"overlay1512312462__iconOverlay"};
16
+ export var classes = {"root":"overlay1530238555__root","iconOverlay":"overlay1530238555__iconOverlay"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediatag1786029818";
8
+ var _namespace_ = "mediatag1357066181";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"mediatag1786029818__root"};
16
+ export var classes = {"root":"mediatag1357066181__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};