@imposium-hub/components 2.13.6 → 2.13.8-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 (289) hide show
  1. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.d.ts +9 -0
  2. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.js +2 -2
  3. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.js.map +1 -1
  4. package/dist/cjs/components/button-group-field/ButtonGroupField.d.ts +9 -0
  5. package/dist/cjs/components/button-group-field/ButtonGroupField.js +38 -20
  6. package/dist/cjs/components/button-group-field/ButtonGroupField.js.map +1 -1
  7. package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +8 -0
  8. package/dist/cjs/components/checkbox-field/CheckboxField.js +2 -2
  9. package/dist/cjs/components/checkbox-field/CheckboxField.js.map +1 -1
  10. package/dist/cjs/components/color-field/ColorField.d.ts +8 -0
  11. package/dist/cjs/components/color-field/ColorField.js +2 -2
  12. package/dist/cjs/components/color-field/ColorField.js.map +1 -1
  13. package/dist/cjs/components/config-variable-button/ConfigVariableButton.d.ts +43 -0
  14. package/dist/cjs/components/config-variable-button/ConfigVariableButton.js +106 -0
  15. package/dist/cjs/components/config-variable-button/ConfigVariableButton.js.map +1 -0
  16. package/dist/cjs/components/controlled-list/ControlledList.d.ts +6 -2
  17. package/dist/cjs/components/controlled-list/ControlledList.js +22 -6
  18. package/dist/cjs/components/controlled-list/ControlledList.js.map +1 -1
  19. package/dist/cjs/components/data-table/Paginator.js +1 -1
  20. package/dist/cjs/components/data-table/Paginator.js.map +1 -1
  21. package/dist/cjs/components/dropdown/dropdown.stories.js +1 -1
  22. package/dist/cjs/components/dropdown/dropdown.stories.js.map +1 -1
  23. package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +11 -0
  24. package/dist/cjs/components/field-wrapper/FieldWrapper.js +25 -6
  25. package/dist/cjs/components/field-wrapper/FieldWrapper.js.map +1 -1
  26. package/dist/cjs/components/font-field/FontField.d.ts +20 -0
  27. package/dist/cjs/components/font-field/FontField.js +47 -0
  28. package/dist/cjs/components/font-field/FontField.js.map +1 -0
  29. package/dist/cjs/components/icon-toggle/IconToggle.d.ts +16 -0
  30. package/dist/cjs/components/icon-toggle/IconToggle.js +24 -0
  31. package/dist/cjs/components/icon-toggle/IconToggle.js.map +1 -0
  32. package/dist/cjs/components/number-field/NumberField.d.ts +9 -0
  33. package/dist/cjs/components/number-field/NumberField.js +2 -5
  34. package/dist/cjs/components/number-field/NumberField.js.map +1 -1
  35. package/dist/cjs/components/select-field/SelectField.d.ts +8 -0
  36. package/dist/cjs/components/select-field/SelectField.js +2 -2
  37. package/dist/cjs/components/select-field/SelectField.js.map +1 -1
  38. package/dist/cjs/components/slider-field/SliderField.d.ts +9 -0
  39. package/dist/cjs/components/slider-field/SliderField.js +2 -2
  40. package/dist/cjs/components/slider-field/SliderField.js.map +1 -1
  41. package/dist/cjs/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +19 -0
  42. package/dist/cjs/components/text-area-autocomplete/TextAreaAutocomplete.js +27 -0
  43. package/dist/cjs/components/text-area-autocomplete/TextAreaAutocomplete.js.map +1 -0
  44. package/dist/cjs/components/variables-dropdown/VariableDropdown.d.ts +12 -0
  45. package/dist/cjs/components/variables-dropdown/VariableDropdown.js +66 -0
  46. package/dist/cjs/components/variables-dropdown/VariableDropdown.js.map +1 -0
  47. package/dist/cjs/constants/copy.d.ts +3 -0
  48. package/dist/cjs/constants/copy.js +4 -1
  49. package/dist/cjs/constants/copy.js.map +1 -1
  50. package/dist/cjs/constants/fonts.d.ts +6 -0
  51. package/dist/cjs/constants/fonts.js +300 -0
  52. package/dist/cjs/constants/fonts.js.map +1 -0
  53. package/dist/cjs/constants/icons.d.ts +2 -0
  54. package/dist/cjs/constants/icons.js +3 -1
  55. package/dist/cjs/constants/icons.js.map +1 -1
  56. package/dist/cjs/constants/variables.d.ts +4 -0
  57. package/dist/cjs/constants/variables.js +13 -1
  58. package/dist/cjs/constants/variables.js.map +1 -1
  59. package/dist/cjs/index.d.ts +6 -2
  60. package/dist/cjs/index.js +9 -1
  61. package/dist/cjs/index.js.map +1 -1
  62. package/dist/cjs/interfaces/field.d.ts +0 -0
  63. package/dist/cjs/interfaces/field.js +1 -0
  64. package/dist/cjs/interfaces/field.js.map +1 -0
  65. package/dist/cjs/utils/override.d.ts +11 -0
  66. package/dist/cjs/utils/override.js +15 -0
  67. package/dist/cjs/utils/override.js.map +1 -0
  68. package/dist/esm/components/advanced-number-field/AdvancedNumberField.d.ts +9 -0
  69. package/dist/esm/components/advanced-number-field/AdvancedNumberField.js +2 -2
  70. package/dist/esm/components/advanced-number-field/AdvancedNumberField.js.map +1 -1
  71. package/dist/esm/components/button-group-field/ButtonGroupField.d.ts +9 -0
  72. package/dist/esm/components/button-group-field/ButtonGroupField.js +38 -20
  73. package/dist/esm/components/button-group-field/ButtonGroupField.js.map +1 -1
  74. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +8 -0
  75. package/dist/esm/components/checkbox-field/CheckboxField.js +2 -2
  76. package/dist/esm/components/checkbox-field/CheckboxField.js.map +1 -1
  77. package/dist/esm/components/color-field/ColorField.d.ts +8 -0
  78. package/dist/esm/components/color-field/ColorField.js +2 -2
  79. package/dist/esm/components/color-field/ColorField.js.map +1 -1
  80. package/dist/esm/components/config-variable-button/ConfigVariableButton.d.ts +43 -0
  81. package/dist/esm/components/config-variable-button/ConfigVariableButton.js +49 -0
  82. package/dist/esm/components/config-variable-button/ConfigVariableButton.js.map +1 -0
  83. package/dist/esm/components/controlled-list/ControlledList.d.ts +6 -2
  84. package/dist/esm/components/controlled-list/ControlledList.js +24 -7
  85. package/dist/esm/components/controlled-list/ControlledList.js.map +1 -1
  86. package/dist/esm/components/data-table/Paginator.js +1 -1
  87. package/dist/esm/components/data-table/Paginator.js.map +1 -1
  88. package/dist/esm/components/dropdown/dropdown.stories.js +1 -1
  89. package/dist/esm/components/dropdown/dropdown.stories.js.map +1 -1
  90. package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +11 -0
  91. package/dist/esm/components/field-wrapper/FieldWrapper.js +24 -6
  92. package/dist/esm/components/field-wrapper/FieldWrapper.js.map +1 -1
  93. package/dist/esm/components/font-field/FontField.d.ts +20 -0
  94. package/dist/esm/components/font-field/FontField.js +17 -0
  95. package/dist/esm/components/font-field/FontField.js.map +1 -0
  96. package/dist/esm/components/icon-toggle/IconToggle.d.ts +16 -0
  97. package/dist/esm/components/icon-toggle/IconToggle.js +18 -0
  98. package/dist/esm/components/icon-toggle/IconToggle.js.map +1 -0
  99. package/dist/esm/components/number-field/NumberField.d.ts +9 -0
  100. package/dist/esm/components/number-field/NumberField.js +2 -5
  101. package/dist/esm/components/number-field/NumberField.js.map +1 -1
  102. package/dist/esm/components/select-field/SelectField.d.ts +8 -0
  103. package/dist/esm/components/select-field/SelectField.js +2 -2
  104. package/dist/esm/components/select-field/SelectField.js.map +1 -1
  105. package/dist/esm/components/slider-field/SliderField.d.ts +9 -0
  106. package/dist/esm/components/slider-field/SliderField.js +2 -2
  107. package/dist/esm/components/slider-field/SliderField.js.map +1 -1
  108. package/dist/esm/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +19 -0
  109. package/dist/esm/components/text-area-autocomplete/TextAreaAutocomplete.js +20 -0
  110. package/dist/esm/components/text-area-autocomplete/TextAreaAutocomplete.js.map +1 -0
  111. package/dist/esm/components/variables-dropdown/VariableDropdown.d.ts +12 -0
  112. package/dist/esm/components/variables-dropdown/VariableDropdown.js +50 -0
  113. package/dist/esm/components/variables-dropdown/VariableDropdown.js.map +1 -0
  114. package/dist/esm/constants/copy.d.ts +3 -0
  115. package/dist/esm/constants/copy.js +3 -0
  116. package/dist/esm/constants/copy.js.map +1 -1
  117. package/dist/esm/constants/fonts.d.ts +6 -0
  118. package/dist/esm/constants/fonts.js +297 -0
  119. package/dist/esm/constants/fonts.js.map +1 -0
  120. package/dist/esm/constants/icons.d.ts +2 -0
  121. package/dist/esm/constants/icons.js +4 -2
  122. package/dist/esm/constants/icons.js.map +1 -1
  123. package/dist/esm/constants/variables.d.ts +4 -0
  124. package/dist/esm/constants/variables.js +11 -0
  125. package/dist/esm/constants/variables.js.map +1 -1
  126. package/dist/esm/index.d.ts +6 -2
  127. package/dist/esm/index.js +5 -1
  128. package/dist/esm/index.js.map +1 -1
  129. package/dist/esm/interfaces/field.d.ts +0 -0
  130. package/dist/esm/interfaces/field.js +1 -0
  131. package/dist/esm/interfaces/field.js.map +1 -0
  132. package/dist/esm/utils/override.d.ts +11 -0
  133. package/dist/esm/utils/override.js +9 -0
  134. package/dist/esm/utils/override.js.map +1 -0
  135. package/dist/styles.css +130 -13
  136. package/dist/styles.less +369 -209
  137. package/less/components/button.less +5 -1
  138. package/less/components/controlled-list.less +122 -13
  139. package/less/components/dropdown.less +3 -0
  140. package/less/components/font-picker.less +18 -14
  141. package/less/components/form-field.less +224 -182
  142. package/package.json +3 -1
  143. package/src/components/advanced-number-field/AdvancedNumberField.tsx +33 -4
  144. package/src/components/button-group-field/ButtonGroupField.tsx +110 -39
  145. package/src/components/checkbox-field/CheckboxField.tsx +36 -3
  146. package/src/components/color-field/ColorField.tsx +29 -4
  147. package/src/components/config-variable-button/ConfigVariableButton.tsx +144 -0
  148. package/src/components/controlled-list/ControlledList.tsx +68 -14
  149. package/src/components/data-table/Paginator.tsx +1 -1
  150. package/src/components/field-wrapper/FieldWrapper.tsx +80 -6
  151. package/src/components/font-field/FontField.tsx +78 -0
  152. package/src/components/icon-toggle/IconToggle.tsx +63 -0
  153. package/src/components/number-field/NumberField.tsx +34 -8
  154. package/src/components/select-field/SelectField.tsx +29 -4
  155. package/src/components/slider-field/SliderField.tsx +32 -2
  156. package/src/components/text-area-autocomplete/TextAreaAutocomplete.tsx +80 -0
  157. package/src/components/variables-dropdown/VariableDropdown.tsx +98 -0
  158. package/src/constants/copy.ts +4 -0
  159. package/src/constants/fonts.ts +296 -0
  160. package/src/constants/icons.tsx +6 -1
  161. package/src/constants/variables.ts +16 -0
  162. package/src/index.ts +11 -2
  163. package/dist/cjs/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  164. package/dist/cjs/components/app-wrapper/AppWrapperV2.js +0 -266
  165. package/dist/cjs/components/app-wrapper/AppWrapperV2.js.map +0 -1
  166. package/dist/cjs/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  167. package/dist/cjs/components/app-wrapper/AppWrapperV3.js +0 -195
  168. package/dist/cjs/components/app-wrapper/AppWrapperV3.js.map +0 -1
  169. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  170. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -243
  171. package/dist/cjs/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  172. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  173. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js +0 -255
  174. package/dist/cjs/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  175. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  176. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -243
  177. package/dist/cjs/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  178. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  179. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -251
  180. package/dist/cjs/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  181. package/dist/cjs/components/auth-gate/AuthGate.d.ts +0 -2
  182. package/dist/cjs/components/auth-gate/AuthGate.js +0 -105
  183. package/dist/cjs/components/auth-gate/AuthGate.js.map +0 -1
  184. package/dist/cjs/components/edit-guide-modal/EditGuideModal.d.ts +0 -8
  185. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js +0 -132
  186. package/dist/cjs/components/edit-guide-modal/EditGuideModal.js.map +0 -1
  187. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +0 -8
  188. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +0 -104
  189. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +0 -1
  190. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  191. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js +0 -91
  192. package/dist/cjs/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  193. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +0 -7
  194. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js +0 -48
  195. package/dist/cjs/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +0 -1
  196. package/dist/cjs/components/header/Header_BACKUP_73021.d.ts +0 -33
  197. package/dist/cjs/components/header/Header_BACKUP_73021.js +0 -393
  198. package/dist/cjs/components/header/Header_BACKUP_73021.js.map +0 -1
  199. package/dist/cjs/components/header/Header_BASE_73021.d.ts +0 -29
  200. package/dist/cjs/components/header/Header_BASE_73021.js +0 -376
  201. package/dist/cjs/components/header/Header_BASE_73021.js.map +0 -1
  202. package/dist/cjs/components/header/Header_LOCAL_73021.d.ts +0 -33
  203. package/dist/cjs/components/header/Header_LOCAL_73021.js +0 -382
  204. package/dist/cjs/components/header/Header_LOCAL_73021.js.map +0 -1
  205. package/dist/cjs/components/header/Header_REMOTE_73021.d.ts +0 -30
  206. package/dist/cjs/components/header/Header_REMOTE_73021.js +0 -386
  207. package/dist/cjs/components/header/Header_REMOTE_73021.js.map +0 -1
  208. package/dist/cjs/components/header/StoryDropdown.d.ts +0 -6
  209. package/dist/cjs/components/header/StoryDropdown.js +0 -111
  210. package/dist/cjs/components/header/StoryDropdown.js.map +0 -1
  211. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  212. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js +0 -213
  213. package/dist/cjs/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
  214. package/dist/cjs/redux/actions/auth.d.ts +0 -9
  215. package/dist/cjs/redux/actions/auth.js +0 -30
  216. package/dist/cjs/redux/actions/auth.js.map +0 -1
  217. package/dist/cjs/redux/reducers/auth.d.ts +0 -3
  218. package/dist/cjs/redux/reducers/auth.js +0 -67
  219. package/dist/cjs/redux/reducers/auth.js.map +0 -1
  220. package/dist/cjs/services/Auth0.d.ts +0 -18
  221. package/dist/cjs/services/Auth0.js +0 -102
  222. package/dist/cjs/services/Auth0.js.map +0 -1
  223. package/dist/cjs/services/Session.d.ts +0 -26
  224. package/dist/cjs/services/Session.js +0 -155
  225. package/dist/cjs/services/Session.js.map +0 -1
  226. package/dist/esm/components/app-wrapper/AppWrapperV2.d.ts +0 -26
  227. package/dist/esm/components/app-wrapper/AppWrapperV2.js +0 -142
  228. package/dist/esm/components/app-wrapper/AppWrapperV2.js.map +0 -1
  229. package/dist/esm/components/app-wrapper/AppWrapperV3.d.ts +0 -19
  230. package/dist/esm/components/app-wrapper/AppWrapperV3.js +0 -88
  231. package/dist/esm/components/app-wrapper/AppWrapperV3.js.map +0 -1
  232. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.d.ts +0 -27
  233. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js +0 -194
  234. package/dist/esm/components/app-wrapper/AppWrapper_BACKUP_73190.js.map +0 -1
  235. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.d.ts +0 -28
  236. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js +0 -208
  237. package/dist/esm/components/app-wrapper/AppWrapper_BASE_73190.js.map +0 -1
  238. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.d.ts +0 -27
  239. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js +0 -194
  240. package/dist/esm/components/app-wrapper/AppWrapper_LOCAL_73190.js.map +0 -1
  241. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.d.ts +0 -28
  242. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js +0 -204
  243. package/dist/esm/components/app-wrapper/AppWrapper_REMOTE_73190.js.map +0 -1
  244. package/dist/esm/components/auth-gate/AuthGate.d.ts +0 -2
  245. package/dist/esm/components/auth-gate/AuthGate.js +0 -59
  246. package/dist/esm/components/auth-gate/AuthGate.js.map +0 -1
  247. package/dist/esm/components/edit-guide-modal/EditGuideModal.d.ts +0 -8
  248. package/dist/esm/components/edit-guide-modal/EditGuideModal.js +0 -65
  249. package/dist/esm/components/edit-guide-modal/EditGuideModal.js.map +0 -1
  250. package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +0 -8
  251. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +0 -72
  252. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +0 -1
  253. package/dist/esm/components/error-message-preview/ErrorMessagePreview.d.ts +0 -15
  254. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js +0 -35
  255. package/dist/esm/components/error-message-preview/ErrorMessagePreview.js.map +0 -1
  256. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.d.ts +0 -7
  257. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js +0 -10
  258. package/dist/esm/components/feature-flag-wrapper/FeatureFlagWrapper.js.map +0 -1
  259. package/dist/esm/components/header/Header_BACKUP_73021.d.ts +0 -33
  260. package/dist/esm/components/header/Header_BACKUP_73021.js +0 -336
  261. package/dist/esm/components/header/Header_BACKUP_73021.js.map +0 -1
  262. package/dist/esm/components/header/Header_BASE_73021.d.ts +0 -29
  263. package/dist/esm/components/header/Header_BASE_73021.js +0 -322
  264. package/dist/esm/components/header/Header_BASE_73021.js.map +0 -1
  265. package/dist/esm/components/header/Header_LOCAL_73021.d.ts +0 -33
  266. package/dist/esm/components/header/Header_LOCAL_73021.js +0 -328
  267. package/dist/esm/components/header/Header_LOCAL_73021.js.map +0 -1
  268. package/dist/esm/components/header/Header_REMOTE_73021.d.ts +0 -30
  269. package/dist/esm/components/header/Header_REMOTE_73021.js +0 -329
  270. package/dist/esm/components/header/Header_REMOTE_73021.js.map +0 -1
  271. package/dist/esm/components/header/StoryDropdown.d.ts +0 -6
  272. package/dist/esm/components/header/StoryDropdown.js +0 -82
  273. package/dist/esm/components/header/StoryDropdown.js.map +0 -1
  274. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.d.ts +0 -11
  275. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js +0 -141
  276. package/dist/esm/components/replace-files-modal/ReplaceFilesModal.js.map +0 -1
  277. package/dist/esm/redux/actions/auth.d.ts +0 -9
  278. package/dist/esm/redux/actions/auth.js +0 -25
  279. package/dist/esm/redux/actions/auth.js.map +0 -1
  280. package/dist/esm/redux/reducers/auth.d.ts +0 -3
  281. package/dist/esm/redux/reducers/auth.js +0 -27
  282. package/dist/esm/redux/reducers/auth.js.map +0 -1
  283. package/dist/esm/services/Auth0.d.ts +0 -18
  284. package/dist/esm/services/Auth0.js +0 -68
  285. package/dist/esm/services/Auth0.js.map +0 -1
  286. package/dist/esm/services/Session.d.ts +0 -26
  287. package/dist/esm/services/Session.js +0 -107
  288. package/dist/esm/services/Session.js.map +0 -1
  289. /package/src/components/dropdown/{dropdown.stories.tsx → Dropdown.stories.tsx} +0 -0
@@ -1,6 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import FieldWrapper from '../field-wrapper/FieldWrapper';
3
3
  import { IToolTipConfig, renderTooltip, renderTooltipProps } from '../Tooltip';
4
+ import { getOverrideHandler } from '../../constants/variables';
5
+ import Button from '../button/Button';
6
+ import { ICON_TIMES } from '../../constants/icons';
4
7
 
5
8
  interface IButtonGroupOption {
6
9
  value: string | boolean;
@@ -22,6 +25,15 @@ interface IButtonGroupFieldProps {
22
25
  labelPosition?: string;
23
26
  labelWidth?: string | number;
24
27
  disabled?: boolean;
28
+
29
+ override?: any;
30
+ showCopyPropIds?: boolean;
31
+ propKey?: string;
32
+ setOverride?(e): void;
33
+ removeOverride?(): void;
34
+ inventory?: any;
35
+ onClose?(e: boolean): void;
36
+ activeOverride?: string;
25
37
  }
26
38
 
27
39
  class ButtonGroupField extends React.PureComponent<IButtonGroupFieldProps> {
@@ -50,55 +62,114 @@ class ButtonGroupField extends React.PureComponent<IButtonGroupFieldProps> {
50
62
  }
51
63
  };
52
64
 
65
+ public renderRemoveButton() {
66
+ const { removeOverride } = this.props;
67
+ return (
68
+ <div className='item'>
69
+ <div className='buttons'>
70
+ <Button
71
+ style='subtle'
72
+ color='danger'
73
+ onClick={() => removeOverride()}>
74
+ {ICON_TIMES}
75
+ </Button>
76
+ </div>
77
+ </div>
78
+ );
79
+ }
80
+
53
81
  public render = (): JSX.Element => {
54
- const { value, label, options, width, tooltip, info, labelPosition, labelWidth, disabled } =
55
- this.props;
82
+ const {
83
+ options,
84
+ width,
85
+ tooltip,
86
+ info,
87
+ labelPosition,
88
+ labelWidth,
89
+ disabled,
90
+ propKey,
91
+ showCopyPropIds,
92
+ inventory,
93
+ override,
94
+ setOverride,
95
+ onClose,
96
+ onChange,
97
+ activeOverride,
98
+ removeOverride
99
+ } = this.props;
100
+
56
101
  const optionStyle: any = { width: `${100 / options.length}%` };
57
102
 
103
+ const inputField = () => {
104
+ const { hasOverride, previewItem } = getOverrideHandler(propKey, override, inventory);
105
+ const value = hasOverride ? previewItem : this.props.value;
106
+ return (
107
+ <div className={`${hasOverride ? 'override_variable text' : ''}`}>
108
+ <div className='button-group'>
109
+ {options.map((option, i) => {
110
+ const optionKey = option.value;
111
+ const optionLabel = option.label;
112
+ const icon = option.icon ? option.icon : null;
113
+ const tooltipId = `${optionKey}-${i}`;
114
+ const activeOption = optionKey === value;
115
+ const activeClass = activeOption
116
+ ? 'active'
117
+ : disabled
118
+ ? 'disabled'
119
+ : '';
120
+ const onClick = !activeOption
121
+ ? () => {
122
+ onChange(optionKey);
123
+ }
124
+ : null;
125
+
126
+ return (
127
+ <div
128
+ key={`option-${optionKey}`}
129
+ style={optionStyle}
130
+ className={`button-group-option ${activeClass} ${
131
+ hasOverride ? 'disabled' : ''
132
+ }`}
133
+ {...renderTooltipProps(tooltipId, option.tooltip)}
134
+ onClick={
135
+ typeof option.onDoubleClick === 'function'
136
+ ? () =>
137
+ this.handleMultipleClicks(
138
+ onClick,
139
+ option.onDoubleClick
140
+ )
141
+ : onClick
142
+ }>
143
+ {!icon ? optionLabel : icon}
144
+ {renderTooltip(tooltipId, option.tooltip)}
145
+ </div>
146
+ );
147
+ })}
148
+ </div>
149
+ </div>
150
+ );
151
+ };
152
+
58
153
  return (
59
154
  <FieldWrapper
60
155
  customClass='button-group-field'
61
- label={label}
156
+ label={this.props.label}
62
157
  tooltip={tooltip}
63
158
  info={info}
64
159
  labelPosition={labelPosition}
65
160
  width={width}
66
- labelWidth={labelWidth}>
67
- <div className='button-group'>
68
- {options.map((option, i) => {
69
- const optionKey = option.value;
70
- const optionLabel = option.label;
71
- const icon = option.icon ? option.icon : null;
72
- const tooltipId = `${optionKey}-${i}`;
73
- const activeOption = optionKey === value;
74
- const activeClass = activeOption ? 'active' : disabled ? 'disabled' : '';
75
- const onClick = !activeOption
76
- ? () => {
77
- this.props.onChange(optionKey);
78
- }
79
- : null;
80
-
81
- return (
82
- <div
83
- key={`option-${optionKey}`}
84
- style={optionStyle}
85
- className={`button-group-option ${activeClass}`}
86
- {...renderTooltipProps(tooltipId, option.tooltip)}
87
- onClick={
88
- typeof option.onDoubleClick === 'function'
89
- ? () =>
90
- this.handleMultipleClicks(
91
- onClick,
92
- option.onDoubleClick
93
- )
94
- : onClick
95
- }>
96
- {!icon ? optionLabel : icon}
97
- {renderTooltip(tooltipId, option.tooltip)}
98
- </div>
99
- );
100
- })}
101
- </div>
161
+ labelWidth={labelWidth}
162
+ propKey={propKey}
163
+ showCopyPropIds={showCopyPropIds}
164
+ inventory={inventory}
165
+ setOverride={setOverride}
166
+ onClose={onClose}
167
+ activeOverride={activeOverride}
168
+ removeOverride={removeOverride}
169
+ override={override}
170
+ type='text'
171
+ buttonGroup={true}>
172
+ {inputField()}
102
173
  </FieldWrapper>
103
174
  );
104
175
  };
@@ -13,6 +13,15 @@ interface ICheckboxFieldProps {
13
13
  info?: string;
14
14
  labelPosition?: string;
15
15
  labelWidth?: string | number;
16
+
17
+ override?: any;
18
+ showCopyPropIds?: boolean;
19
+ propKey?: string;
20
+ setOverride?(e): void;
21
+ removeOverride?(): void;
22
+ inventory?: any;
23
+ onClose?(e: boolean): void;
24
+ activeOverride?: string;
16
25
  }
17
26
 
18
27
  class CheckboxField extends React.PureComponent<ICheckboxFieldProps> {
@@ -28,18 +37,42 @@ class CheckboxField extends React.PureComponent<ICheckboxFieldProps> {
28
37
  }
29
38
 
30
39
  public render() {
31
- const { value, label, width, tooltip, info, labelPosition, labelWidth } = this.props;
40
+ const {
41
+ value,
42
+ width,
43
+ tooltip,
44
+ info,
45
+ labelPosition,
46
+ labelWidth,
47
+ showCopyPropIds,
48
+ propKey,
49
+ override,
50
+ inventory,
51
+ setOverride,
52
+ removeOverride,
53
+ onClose,
54
+ activeOverride
55
+ } = this.props;
32
56
  const icon = value === true ? ICON_CHECK : null;
33
57
 
34
58
  return (
35
59
  <FieldWrapper
36
60
  customClass='checkbox-field'
37
- label={label}
61
+ label={this.props.label}
38
62
  tooltip={tooltip}
39
63
  info={info}
40
64
  labelPosition={labelPosition}
41
65
  labelWidth={labelWidth}
42
- width={width}>
66
+ width={width}
67
+ propKey={propKey}
68
+ showCopyPropIds={showCopyPropIds}
69
+ inventory={inventory}
70
+ setOverride={setOverride}
71
+ onClose={onClose}
72
+ activeOverride={activeOverride}
73
+ removeOverride={removeOverride}
74
+ override={override}
75
+ type='boolean'>
43
76
  <div
44
77
  className='checkbox'
45
78
  onClick={(e) => this.toggle(e)}>
@@ -19,6 +19,15 @@ interface IColorFieldProps {
19
19
  pickerPosition?: string;
20
20
  labelWidth?: string | number;
21
21
  disabled?: boolean;
22
+
23
+ override?: any;
24
+ showCopyPropIds?: boolean;
25
+ propKey?: string;
26
+ setOverride?(e): void;
27
+ removeOverride?(): void;
28
+ inventory?: any;
29
+ onClose?(e: boolean): void;
30
+ activeOverride?: string;
22
31
  }
23
32
 
24
33
  interface IColorFieldState {
@@ -103,7 +112,6 @@ class ColorField extends React.PureComponent<IColorFieldProps, IColorFieldState>
103
112
 
104
113
  public render() {
105
114
  const {
106
- label,
107
115
  width,
108
116
  buttons,
109
117
  tooltip,
@@ -114,7 +122,15 @@ class ColorField extends React.PureComponent<IColorFieldProps, IColorFieldState>
114
122
  labelPosition,
115
123
  pickerPosition,
116
124
  labelWidth,
117
- disabled
125
+ disabled,
126
+ override,
127
+ showCopyPropIds,
128
+ propKey,
129
+ inventory,
130
+ setOverride,
131
+ removeOverride,
132
+ onClose,
133
+ activeOverride
118
134
  } = this.props;
119
135
  const { pickerOpen } = this.state;
120
136
  const disableAlpha = !enableAlpha;
@@ -141,13 +157,22 @@ class ColorField extends React.PureComponent<IColorFieldProps, IColorFieldState>
141
157
  return (
142
158
  <FieldWrapper
143
159
  customClass='color-field'
144
- label={label}
160
+ label={this.props.label}
145
161
  tooltip={tooltip}
146
162
  buttons={buttons}
147
163
  info={info}
148
164
  labelPosition={labelPosition}
149
165
  labelWidth={labelWidth}
150
- width={width}>
166
+ width={width}
167
+ propKey={propKey}
168
+ showCopyPropIds={showCopyPropIds}
169
+ inventory={inventory}
170
+ setOverride={setOverride}
171
+ onClose={onClose}
172
+ activeOverride={activeOverride}
173
+ removeOverride={removeOverride}
174
+ override={override}
175
+ type='color'>
151
176
  <div style={transparentBg}>
152
177
  <div
153
178
  className='swatch'
@@ -0,0 +1,144 @@
1
+ import React, { useState, useRef } from 'react';
2
+ import { ICON_BRACKET_CURLY } from '../../constants/icons';
3
+ import Button from '../button/Button';
4
+ import ImposiumDropdown from '../dropdown/Dropdown';
5
+ import moize from 'moize';
6
+ import VariableDropDown from '../variables-dropdown/VariableDropdown';
7
+ import { ControlListType } from '../controlled-list/ControlledList';
8
+
9
+ interface IConfigVariableButtonProps {
10
+ type: ControlListType;
11
+ icon?: any;
12
+ inventory: any;
13
+ setOverride?(e): void;
14
+ onClose?(e): void;
15
+ removeOverride?(): void;
16
+ activeOverride?: string;
17
+ }
18
+
19
+ const ConfigVariableButton: React.FC<IConfigVariableButtonProps> = ({
20
+ type,
21
+ inventory,
22
+ setOverride,
23
+ onClose,
24
+ activeOverride,
25
+ removeOverride,
26
+ icon
27
+ }) => {
28
+ const [show, setShow] = useState(false);
29
+ const variablesButtonRef = useRef();
30
+
31
+ const close = () => {
32
+ setShow(!show);
33
+ if (onClose) {
34
+ onClose(!show);
35
+ }
36
+ };
37
+
38
+ const setOverrideHandler = (o) => {
39
+ setOverride(o);
40
+ setShow(!show);
41
+ };
42
+
43
+ const removeOverrideHandler = () => {
44
+ removeOverride();
45
+ setShow(!show);
46
+ };
47
+
48
+ return (
49
+ <>
50
+ <Button
51
+ tooltip='Configure Variables'
52
+ customClass={icon ? 'icon-toggle' : ''}
53
+ onClick={() => {
54
+ close();
55
+ }}
56
+ buttonRef={variablesButtonRef}
57
+ size='small'
58
+ style='subtle'>
59
+ {ICON_BRACKET_CURLY}
60
+ </Button>
61
+
62
+ <ImposiumDropdown
63
+ key='variables-dropdown'
64
+ position='bottomleft'
65
+ show={show}
66
+ toggleRef={variablesButtonRef}
67
+ customClass='variables'
68
+ onOutsideClick={() => close()}>
69
+ <VariableDropDown
70
+ returnVariables={show}
71
+ type={type}
72
+ inventory={inventory}
73
+ setOverride={setOverrideHandler}
74
+ removeOverride={removeOverrideHandler}
75
+ activeOverride={activeOverride}
76
+ />
77
+ </ImposiumDropdown>
78
+ </>
79
+ );
80
+ };
81
+
82
+ const mGetConfigVariableButton = (
83
+ enabled,
84
+ type,
85
+ inventory,
86
+ setOverride,
87
+ onClose,
88
+ icon,
89
+ activeOverride,
90
+ removeOverride
91
+ ) => {
92
+ if (enabled || activeOverride !== undefined) {
93
+ return (
94
+ <ConfigVariableButton
95
+ type={type}
96
+ inventory={inventory}
97
+ setOverride={(o) => setOverride(o)}
98
+ onClose={(o) => {
99
+ if (enabled) onClose(o);
100
+ }}
101
+ icon={icon}
102
+ activeOverride={activeOverride}
103
+ removeOverride={removeOverride}
104
+ />
105
+ );
106
+ } else {
107
+ return null;
108
+ }
109
+ };
110
+
111
+ export const getConfigVariableButton = moize(mGetConfigVariableButton);
112
+
113
+ export const fieldLabel = (
114
+ labelText,
115
+ propKey,
116
+ showCopyPropIds,
117
+ type: string,
118
+ inventory,
119
+ setOverride,
120
+ onClose,
121
+ activeOverride,
122
+ removeOverride,
123
+ icon?
124
+ ) => {
125
+ const label = propKey ? (
126
+ <span>
127
+ {labelText}
128
+ {getConfigVariableButton(
129
+ showCopyPropIds,
130
+ type,
131
+ inventory,
132
+ (o) => setOverride(o),
133
+ (o) => onClose(o),
134
+ icon,
135
+ activeOverride,
136
+ removeOverride
137
+ )}
138
+ </span>
139
+ ) : (
140
+ labelText
141
+ );
142
+
143
+ return label;
144
+ };
@@ -1,17 +1,23 @@
1
1
  import * as React from 'react';
2
2
  import Button from '../button/Button';
3
- import { ICON_TIMES } from '../../constants/icons';
3
+ import { ICON_BRACKET_CURLY, ICON_CHECK, ICON_TIMES } from '../../constants/icons';
4
+
5
+ export type ControlListType = 'text' | 'number' | 'color' | 'textarea' | 'boolean' | 'icon';
4
6
 
5
7
  interface IControlledListProps {
6
8
  items?: any[];
7
9
  removable?: boolean;
8
10
  onRemove?(index): void;
11
+ type?: ControlListType;
12
+ content?: any;
13
+ propKey?: string;
14
+ previewMultiplier?: number;
9
15
  }
10
16
 
11
17
  class ControlledList extends React.PureComponent<IControlledListProps> {
12
- private inputRef: any;
13
-
14
- private submitHandler: any;
18
+ constructor(props: IControlledListProps) {
19
+ super(props);
20
+ }
15
21
 
16
22
  public renderRemoveButton(index) {
17
23
  const { removable } = this.props;
@@ -31,19 +37,67 @@ class ControlledList extends React.PureComponent<IControlledListProps> {
31
37
  }
32
38
 
33
39
  public render() {
34
- const { items } = this.props;
40
+ const { items, type, content, previewMultiplier } = this.props;
35
41
  let buttons: JSX.Element[];
36
-
37
42
  if (items) {
38
43
  buttons = items.map((item, i) => {
39
- return (
40
- <div
41
- className='item'
42
- key={`item-${i}`}>
43
- {item}
44
- {this.renderRemoveButton(i)}
45
- </div>
46
- );
44
+ switch (type) {
45
+ case 'text':
46
+ case 'number':
47
+ const previewValue =
48
+ typeof item === 'number' ? `${item * previewMultiplier}` : item;
49
+ return (
50
+ <div
51
+ className='item'
52
+ key={`item-${i}`}>
53
+ <input
54
+ type='text'
55
+ value={
56
+ previewValue ? `{{ ${previewValue} }}` : 'PREVIEW NOT SET'
57
+ }
58
+ readOnly
59
+ />
60
+ </div>
61
+ );
62
+ case 'textarea':
63
+ return (
64
+ <div
65
+ className='item textarea rta'
66
+ key={`item-${i}`}>
67
+ <textarea
68
+ className='rta__textarea'
69
+ value={item}
70
+ disabled={true}
71
+ />
72
+ </div>
73
+ );
74
+ case 'boolean':
75
+ const icon = content ? ICON_BRACKET_CURLY : item ? ICON_CHECK : null;
76
+ return (
77
+ <div
78
+ className={`item ${content ? 'icon-toggle' : 'checkbox'}`}
79
+ key={`item-${i}`}>
80
+ {icon}
81
+ </div>
82
+ );
83
+ case 'color':
84
+ return (
85
+ <div
86
+ className='item color'
87
+ key={`item-${i}`}
88
+ style={{ backgroundColor: item }}
89
+ />
90
+ );
91
+ default:
92
+ return (
93
+ <div
94
+ className='item'
95
+ key={`item-${i}`}>
96
+ {item}
97
+ {this.renderRemoveButton(i)}
98
+ </div>
99
+ );
100
+ }
47
101
  });
48
102
  }
49
103
 
@@ -134,7 +134,7 @@ const Paginator: React.FC<IPaginatorProps> = ({
134
134
  style='subtle'
135
135
  size='small'
136
136
  tooltip='Go to next page'
137
- disabled={(!canNextPage || !useSimplePagination) && !hasMore}
137
+ disabled={useSimplePagination ? !hasMore : !canNextPage}
138
138
  onClick={() => {
139
139
  if (!useSimplePagination && !hasMore) {
140
140
  nextPage();