@wordpress/components 19.3.0 → 19.4.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 (308) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +8 -4
  4. package/build/base-field/hook.js +1 -1
  5. package/build/base-field/hook.js.map +1 -1
  6. package/build/button/deprecated.js +2 -1
  7. package/build/button/deprecated.js.map +1 -1
  8. package/build/button/index.js +2 -1
  9. package/build/button/index.js.map +1 -1
  10. package/build/card/card/component.js +1 -1
  11. package/build/card/card/component.js.map +1 -1
  12. package/build/card/card/hook.js +1 -1
  13. package/build/card/card/hook.js.map +1 -1
  14. package/build/card/card-body/hook.js +1 -1
  15. package/build/card/card-body/hook.js.map +1 -1
  16. package/build/card/card-divider/hook.js +1 -1
  17. package/build/card/card-divider/hook.js.map +1 -1
  18. package/build/card/card-footer/hook.js +1 -1
  19. package/build/card/card-footer/hook.js.map +1 -1
  20. package/build/card/card-header/hook.js +1 -1
  21. package/build/card/card-header/hook.js.map +1 -1
  22. package/build/card/card-media/hook.js +1 -1
  23. package/build/card/card-media/hook.js.map +1 -1
  24. package/build/circular-option-picker/index.js +2 -0
  25. package/build/circular-option-picker/index.js.map +1 -1
  26. package/build/color-indicator/index.js +2 -0
  27. package/build/color-indicator/index.js.map +1 -1
  28. package/build/color-palette/index.js +2 -0
  29. package/build/color-palette/index.js.map +1 -1
  30. package/build/color-picker/color-display.js.map +1 -1
  31. package/build/color-picker/color-input.js.map +1 -1
  32. package/build/color-picker/component.js +1 -1
  33. package/build/color-picker/component.js.map +1 -1
  34. package/build/color-picker/use-deprecated-props.js +2 -0
  35. package/build/color-picker/use-deprecated-props.js.map +1 -1
  36. package/build/date-time/time.js +1 -1
  37. package/build/date-time/time.js.map +1 -1
  38. package/build/dropdown/index.js +3 -3
  39. package/build/dropdown/index.js.map +1 -1
  40. package/build/elevation/hook.js +5 -5
  41. package/build/elevation/hook.js.map +1 -1
  42. package/build/flex/flex/hook.js +4 -4
  43. package/build/flex/flex/hook.js.map +1 -1
  44. package/build/grid/hook.js +2 -2
  45. package/build/grid/hook.js.map +1 -1
  46. package/build/item-group/item/hook.js +1 -1
  47. package/build/item-group/item/hook.js.map +1 -1
  48. package/build/modal/index.js +1 -12
  49. package/build/modal/index.js.map +1 -1
  50. package/build/navigator/context.js +2 -2
  51. package/build/navigator/context.js.map +1 -1
  52. package/build/navigator/navigator-provider/component.js +18 -25
  53. package/build/navigator/navigator-provider/component.js.map +1 -1
  54. package/build/navigator/navigator-screen/component.js +39 -13
  55. package/build/navigator/navigator-screen/component.js.map +1 -1
  56. package/build/navigator/use-navigator.js +4 -4
  57. package/build/navigator/use-navigator.js.map +1 -1
  58. package/build/placeholder/index.js +4 -4
  59. package/build/placeholder/index.js.map +1 -1
  60. package/build/scrollable/hook.js +1 -1
  61. package/build/scrollable/hook.js.map +1 -1
  62. package/build/slot-fill/bubbles-virtually/fill.js +11 -2
  63. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  64. package/build/spinner/index.js +44 -5
  65. package/build/spinner/index.js.map +1 -1
  66. package/build/spinner/styles.js +56 -0
  67. package/build/spinner/styles.js.map +1 -0
  68. package/build/surface/hook.js +1 -1
  69. package/build/surface/hook.js.map +1 -1
  70. package/build/text/hook.js +5 -5
  71. package/build/text/hook.js.map +1 -1
  72. package/build/tip/index.js +4 -8
  73. package/build/tip/index.js.map +1 -1
  74. package/build/toggle-group-control/toggle-group-control/component.js +1 -1
  75. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  76. package/build/tools-panel/tools-panel/hook.js +7 -7
  77. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  78. package/build/tools-panel/tools-panel-header/hook.js +3 -3
  79. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  80. package/build/tools-panel/tools-panel-item/hook.js +1 -1
  81. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  82. package/build/tree-grid/index.js +13 -6
  83. package/build/tree-grid/index.js.map +1 -1
  84. package/build/truncate/hook.js +2 -2
  85. package/build/truncate/hook.js.map +1 -1
  86. package/build/utils/config-values.js +1 -1
  87. package/build/utils/config-values.js.map +1 -1
  88. package/build-module/base-field/hook.js +1 -1
  89. package/build-module/base-field/hook.js.map +1 -1
  90. package/build-module/button/deprecated.js +2 -1
  91. package/build-module/button/deprecated.js.map +1 -1
  92. package/build-module/button/index.js +2 -1
  93. package/build-module/button/index.js.map +1 -1
  94. package/build-module/card/card/component.js +1 -1
  95. package/build-module/card/card/component.js.map +1 -1
  96. package/build-module/card/card/hook.js +1 -1
  97. package/build-module/card/card/hook.js.map +1 -1
  98. package/build-module/card/card-body/hook.js +1 -1
  99. package/build-module/card/card-body/hook.js.map +1 -1
  100. package/build-module/card/card-divider/hook.js +1 -1
  101. package/build-module/card/card-divider/hook.js.map +1 -1
  102. package/build-module/card/card-footer/hook.js +1 -1
  103. package/build-module/card/card-footer/hook.js.map +1 -1
  104. package/build-module/card/card-header/hook.js +1 -1
  105. package/build-module/card/card-header/hook.js.map +1 -1
  106. package/build-module/card/card-media/hook.js +1 -1
  107. package/build-module/card/card-media/hook.js.map +1 -1
  108. package/build-module/circular-option-picker/index.js +1 -0
  109. package/build-module/circular-option-picker/index.js.map +1 -1
  110. package/build-module/color-indicator/index.js +1 -0
  111. package/build-module/color-indicator/index.js.map +1 -1
  112. package/build-module/color-palette/index.js +1 -0
  113. package/build-module/color-palette/index.js.map +1 -1
  114. package/build-module/color-picker/color-display.js.map +1 -1
  115. package/build-module/color-picker/color-input.js.map +1 -1
  116. package/build-module/color-picker/component.js +1 -1
  117. package/build-module/color-picker/component.js.map +1 -1
  118. package/build-module/color-picker/use-deprecated-props.js +2 -0
  119. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  120. package/build-module/date-time/time.js +1 -1
  121. package/build-module/date-time/time.js.map +1 -1
  122. package/build-module/dropdown/index.js +3 -3
  123. package/build-module/dropdown/index.js.map +1 -1
  124. package/build-module/elevation/hook.js +5 -5
  125. package/build-module/elevation/hook.js.map +1 -1
  126. package/build-module/flex/flex/hook.js +4 -4
  127. package/build-module/flex/flex/hook.js.map +1 -1
  128. package/build-module/grid/hook.js +2 -2
  129. package/build-module/grid/hook.js.map +1 -1
  130. package/build-module/item-group/item/hook.js +1 -1
  131. package/build-module/item-group/item/hook.js.map +1 -1
  132. package/build-module/modal/index.js +1 -11
  133. package/build-module/modal/index.js.map +1 -1
  134. package/build-module/navigator/context.js +2 -2
  135. package/build-module/navigator/context.js.map +1 -1
  136. package/build-module/navigator/navigator-provider/component.js +18 -25
  137. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  138. package/build-module/navigator/navigator-screen/component.js +39 -15
  139. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  140. package/build-module/navigator/use-navigator.js +4 -4
  141. package/build-module/navigator/use-navigator.js.map +1 -1
  142. package/build-module/placeholder/index.js +4 -4
  143. package/build-module/placeholder/index.js.map +1 -1
  144. package/build-module/scrollable/hook.js +1 -1
  145. package/build-module/scrollable/hook.js.map +1 -1
  146. package/build-module/slot-fill/bubbles-virtually/fill.js +11 -2
  147. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  148. package/build-module/spinner/index.js +40 -5
  149. package/build-module/spinner/index.js.map +1 -1
  150. package/build-module/spinner/styles.js +49 -0
  151. package/build-module/spinner/styles.js.map +1 -0
  152. package/build-module/surface/hook.js +1 -1
  153. package/build-module/surface/hook.js.map +1 -1
  154. package/build-module/text/hook.js +5 -5
  155. package/build-module/text/hook.js.map +1 -1
  156. package/build-module/tip/index.js +4 -8
  157. package/build-module/tip/index.js.map +1 -1
  158. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -1
  159. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  160. package/build-module/tools-panel/tools-panel/hook.js +7 -7
  161. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  162. package/build-module/tools-panel/tools-panel-header/hook.js +3 -3
  163. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  164. package/build-module/tools-panel/tools-panel-item/hook.js +1 -1
  165. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  166. package/build-module/tree-grid/index.js +12 -6
  167. package/build-module/tree-grid/index.js.map +1 -1
  168. package/build-module/truncate/hook.js +2 -2
  169. package/build-module/truncate/hook.js.map +1 -1
  170. package/build-module/utils/config-values.js +1 -1
  171. package/build-module/utils/config-values.js.map +1 -1
  172. package/build-style/style-rtl.css +12 -2
  173. package/build-style/style.css +12 -2
  174. package/build-types/button/index.d.ts.map +1 -1
  175. package/build-types/circular-option-picker/index.d.ts +31 -0
  176. package/build-types/circular-option-picker/index.d.ts.map +1 -0
  177. package/build-types/color-palette/index.d.ts +16 -0
  178. package/build-types/color-palette/index.d.ts.map +1 -0
  179. package/build-types/color-palette/styles.d.ts +8 -0
  180. package/build-types/color-palette/styles.d.ts.map +1 -0
  181. package/build-types/color-picker/color-display.d.ts +14 -0
  182. package/build-types/color-picker/color-display.d.ts.map +1 -0
  183. package/build-types/color-picker/color-input.d.ts +14 -0
  184. package/build-types/color-picker/color-input.d.ts.map +1 -0
  185. package/build-types/color-picker/component.d.ts +11 -0
  186. package/build-types/color-picker/component.d.ts.map +1 -0
  187. package/build-types/color-picker/hex-input.d.ts +13 -0
  188. package/build-types/color-picker/hex-input.d.ts.map +1 -0
  189. package/build-types/color-picker/hsl-input.d.ts +13 -0
  190. package/build-types/color-picker/hsl-input.d.ts.map +1 -0
  191. package/build-types/color-picker/index.d.ts +5 -0
  192. package/build-types/color-picker/index.d.ts.map +1 -0
  193. package/build-types/color-picker/input-with-slider.d.ts +12 -0
  194. package/build-types/color-picker/input-with-slider.d.ts.map +1 -0
  195. package/build-types/color-picker/legacy-adapter.d.ts +6 -0
  196. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -0
  197. package/build-types/color-picker/picker.d.ts +10 -0
  198. package/build-types/color-picker/picker.d.ts.map +1 -0
  199. package/build-types/color-picker/rgb-input.d.ts +13 -0
  200. package/build-types/color-picker/rgb-input.d.ts.map +1 -0
  201. package/build-types/color-picker/styles.d.ts +76 -0
  202. package/build-types/color-picker/styles.d.ts.map +1 -0
  203. package/build-types/color-picker/types.d.ts +2 -0
  204. package/build-types/color-picker/types.d.ts.map +1 -0
  205. package/build-types/color-picker/use-deprecated-props.d.ts +49 -0
  206. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -0
  207. package/build-types/dropdown/index.d.ts +1 -13
  208. package/build-types/dropdown/index.d.ts.map +1 -1
  209. package/build-types/elevation/hook.d.ts.map +1 -1
  210. package/build-types/flex/flex/hook.d.ts.map +1 -1
  211. package/build-types/grid/hook.d.ts.map +1 -1
  212. package/build-types/navigator/navigator-provider/component.d.ts +4 -4
  213. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  214. package/build-types/navigator/navigator-screen/component.d.ts +4 -4
  215. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  216. package/build-types/navigator/types.d.ts +5 -3
  217. package/build-types/navigator/types.d.ts.map +1 -1
  218. package/build-types/resizable-box/index.d.ts +1 -1
  219. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  220. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  221. package/build-types/spinner/index.d.ts +18 -1
  222. package/build-types/spinner/index.d.ts.map +1 -1
  223. package/build-types/spinner/styles.d.ts +13 -0
  224. package/build-types/spinner/styles.d.ts.map +1 -0
  225. package/build-types/surface/hook.d.ts.map +1 -1
  226. package/build-types/text/hook.d.ts.map +1 -1
  227. package/build-types/tip/index.d.ts.map +1 -1
  228. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  229. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  230. package/build-types/unit-control/index.d.ts +3 -2
  231. package/build-types/unit-control/index.d.ts.map +1 -1
  232. package/build-types/unit-control/types.d.ts +2 -1
  233. package/build-types/unit-control/types.d.ts.map +1 -1
  234. package/build-types/utils/config-values.d.ts +1 -1
  235. package/package.json +16 -17
  236. package/src/base-field/hook.js +1 -1
  237. package/src/button/deprecated.js +1 -0
  238. package/src/button/index.js +1 -0
  239. package/src/card/card/component.js +1 -1
  240. package/src/card/card/hook.js +1 -1
  241. package/src/card/card-body/hook.js +1 -1
  242. package/src/card/card-divider/hook.js +1 -1
  243. package/src/card/card-footer/hook.js +1 -1
  244. package/src/card/card-header/hook.js +1 -1
  245. package/src/card/card-media/hook.js +1 -1
  246. package/src/circular-option-picker/index.js +1 -0
  247. package/src/color-indicator/index.js +2 -0
  248. package/src/color-palette/index.js +1 -0
  249. package/src/color-palette/test/__snapshots__/index.js.snap +0 -1
  250. package/src/color-picker/color-display.tsx +1 -1
  251. package/src/color-picker/color-input.tsx +1 -1
  252. package/src/color-picker/component.tsx +1 -1
  253. package/src/color-picker/use-deprecated-props.ts +2 -0
  254. package/src/combobox-control/stories/index.js +6 -2
  255. package/src/combobox-control/style.scss +2 -2
  256. package/src/date-time/README.md +4 -4
  257. package/src/date-time/test/time.js +2 -2
  258. package/src/date-time/time.js +2 -2
  259. package/src/dropdown/index.js +14 -13
  260. package/src/elevation/hook.js +1 -0
  261. package/src/flex/flex/hook.js +1 -0
  262. package/src/grid/hook.js +1 -0
  263. package/src/item-group/item/hook.ts +1 -1
  264. package/src/item-group/stories/index.js +2 -2
  265. package/src/mobile/link-settings/test/edit.native.js +5 -5
  266. package/src/modal/index.js +1 -10
  267. package/src/navigator/context.ts +2 -2
  268. package/src/navigator/navigator-provider/README.md +11 -9
  269. package/src/navigator/navigator-provider/component.tsx +16 -25
  270. package/src/navigator/navigator-screen/component.tsx +55 -15
  271. package/src/navigator/stories/index.js +19 -5
  272. package/src/navigator/test/index.js +77 -25
  273. package/src/navigator/types.ts +5 -3
  274. package/src/navigator/use-navigator.ts +3 -3
  275. package/src/placeholder/index.js +8 -6
  276. package/src/placeholder/style.scss +12 -0
  277. package/src/placeholder/test/index.js +18 -1
  278. package/src/scrollable/hook.js +1 -1
  279. package/src/slot-fill/bubbles-virtually/fill.js +12 -1
  280. package/src/spinner/README.md +10 -10
  281. package/src/spinner/index.js +42 -3
  282. package/src/spinner/stories/index.js +36 -3
  283. package/src/spinner/styles.js +47 -0
  284. package/src/surface/hook.js +1 -0
  285. package/src/text/hook.js +1 -0
  286. package/src/tip/index.js +2 -4
  287. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -1
  288. package/src/tools-panel/stories/index.js +20 -1
  289. package/src/tools-panel/test/__snapshots__/index.js.snap +0 -1
  290. package/src/tools-panel/test/index.js +31 -1
  291. package/src/tools-panel/tools-panel/hook.ts +14 -9
  292. package/src/tools-panel/tools-panel-header/hook.ts +3 -3
  293. package/src/tools-panel/tools-panel-item/hook.ts +1 -0
  294. package/src/tree-grid/index.js +19 -5
  295. package/src/truncate/hook.js +1 -1
  296. package/src/unit-control/types.ts +2 -1
  297. package/src/utils/config-values.js +1 -1
  298. package/src/utils/hooks/stories/use-cx.js +121 -44
  299. package/tsconfig.json +3 -0
  300. package/tsconfig.tsbuildinfo +1 -1
  301. package/build/spinner/styles/spinner-styles.js +0 -40
  302. package/build/spinner/styles/spinner-styles.js.map +0 -1
  303. package/build-module/spinner/styles/spinner-styles.js +0 -28
  304. package/build-module/spinner/styles/spinner-styles.js.map +0 -1
  305. package/build-types/spinner/styles/spinner-styles.d.ts +0 -5
  306. package/build-types/spinner/styles/spinner-styles.d.ts.map +0 -1
  307. package/src/spinner/styles/spinner-styles.js +0 -47
  308. package/src/ui/visually-hidden/README.md +0 -21
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/spinner/styles.js"],"names":["css","keyframes","COLORS","CONFIG","spinAnimation","StyledSpinner","spinnerSize","commonPathProps","SpinnerTrack","gray","SpinnerIndicator"],"mappings":";;;;AAAA;AACA;AACA;AAEA,SAASA,GAAT,EAAcC,SAAd,QAA+B,gBAA/B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,UAA/B;AAEA,MAAMC,aAAa,GAAGH,SAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,EAPA;AASA,OAAO,MAAMI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,aACfF,MAAM,CAACG,WADQ,gBAEdH,MAAM,CAACG,WAFO,yxDAAnB;AAUP,MAAMC,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAArB;AAKA,OAAO,MAAMC,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,GACrBD,eADqB,cAEbL,MAAM,CAACO,IAAP,CAAa,GAAb,CAFa,yqDAAlB;AAKP,OAAO,MAAMC,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,GACzBH,eADyB,6GAKYH,aALZ,yqDAAtB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\nimport { css, keyframes } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG } from '../utils';\n\nconst spinAnimation = keyframes`\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n `;\n\nexport const StyledSpinner = styled.svg`\n\twidth: ${ CONFIG.spinnerSize }px;\n\theight: ${ CONFIG.spinnerSize }px;\n\tdisplay: inline-block;\n\tmargin: 5px 11px 0;\n\tposition: relative;\n\tcolor: var( --wp-admin-theme-color );\n\toverflow: visible;\n`;\n\nconst commonPathProps = css`\n\tfill: transparent;\n\tstroke-width: 1.5px;\n`;\n\nexport const SpinnerTrack = styled.circle`\n\t${ commonPathProps };\n\tstroke: ${ COLORS.gray[ 300 ] };\n`;\n\nexport const SpinnerIndicator = styled.path`\n\t${ commonPathProps };\n\tstroke: currentColor;\n\tstroke-linecap: round;\n\ttransform-origin: 50% 50%;\n\tanimation: 1.4s linear infinite both ${ spinAnimation };\n`;\n"]}
@@ -34,7 +34,7 @@ export function useSurface(props) {
34
34
  borderTop
35
35
  });
36
36
  return cx(styles.Surface, sx.borders, styles.getVariant(variant, `${backgroundSize}px`, `${backgroundSize - 1}px`), className);
37
- }, [backgroundSize, borderBottom, borderLeft, borderRight, borderTop, className, variant]);
37
+ }, [backgroundSize, borderBottom, borderLeft, borderRight, borderTop, className, cx, variant]);
38
38
  return { ...otherProps,
39
39
  className: classes
40
40
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/surface/hook.js"],"names":["useMemo","useContextSystem","styles","useCx","useSurface","props","backgroundSize","borderBottom","borderLeft","borderRight","borderTop","className","variant","otherProps","cx","classes","sx","borders","getBorders","Surface","getVariant"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,OAAO,SAASC,UAAT,CAAqBC,KAArB,EAA6B;AACnC,QAAM;AACLC,IAAAA,cAAc,GAAG,EADZ;AAELC,IAAAA,YAAY,GAAG,KAFV;AAGLC,IAAAA,UAAU,GAAG,KAHR;AAILC,IAAAA,WAAW,GAAG,KAJT;AAKLC,IAAAA,SAAS,GAAG,KALP;AAMLC,IAAAA,SANK;AAOLC,IAAAA,OAAO,GAAG,SAPL;AAQL,OAAGC;AARE,MASFZ,gBAAgB,CAAEI,KAAF,EAAS,SAAT,CATpB;AAWA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,OAAO,GAAGf,OAAO,CAAE,MAAM;AAC9B,UAAMgB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACC,OAAH,GAAaf,MAAM,CAACgB,UAAP,CAAmB;AAC/BX,MAAAA,YAD+B;AAE/BC,MAAAA,UAF+B;AAG/BC,MAAAA,WAH+B;AAI/BC,MAAAA;AAJ+B,KAAnB,CAAb;AAOA,WAAOI,EAAE,CACRZ,MAAM,CAACiB,OADC,EAERH,EAAE,CAACC,OAFK,EAGRf,MAAM,CAACkB,UAAP,CACCR,OADD,EAEE,GAAGN,cAAgB,IAFrB,EAGE,GAAGA,cAAc,GAAG,CAAG,IAHzB,CAHQ,EAQRK,SARQ,CAAT;AAUA,GApBsB,EAoBpB,CACFL,cADE,EAEFC,YAFE,EAGFC,UAHE,EAIFC,WAJE,EAKFC,SALE,EAMFC,SANE,EAOFC,OAPE,CApBoB,CAAvB;AA8BA,SAAO,EAAE,GAAGC,UAAL;AAAiBF,IAAAA,SAAS,EAAEI;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\nexport function useSurface( props ) {\n\tconst {\n\t\tbackgroundSize = 12,\n\t\tborderBottom = false,\n\t\tborderLeft = false,\n\t\tborderRight = false,\n\t\tborderTop = false,\n\t\tclassName,\n\t\tvariant = 'primary',\n\t\t...otherProps\n\t} = useContextSystem( props, 'Surface' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tsx.borders = styles.getBorders( {\n\t\t\tborderBottom,\n\t\t\tborderLeft,\n\t\t\tborderRight,\n\t\t\tborderTop,\n\t\t} );\n\n\t\treturn cx(\n\t\t\tstyles.Surface,\n\t\t\tsx.borders,\n\t\t\tstyles.getVariant(\n\t\t\t\tvariant,\n\t\t\t\t`${ backgroundSize }px`,\n\t\t\t\t`${ backgroundSize - 1 }px`\n\t\t\t),\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tbackgroundSize,\n\t\tborderBottom,\n\t\tborderLeft,\n\t\tborderRight,\n\t\tborderTop,\n\t\tclassName,\n\t\tvariant,\n\t] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/surface/hook.js"],"names":["useMemo","useContextSystem","styles","useCx","useSurface","props","backgroundSize","borderBottom","borderLeft","borderRight","borderTop","className","variant","otherProps","cx","classes","sx","borders","getBorders","Surface","getVariant"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,OAAO,SAASC,UAAT,CAAqBC,KAArB,EAA6B;AACnC,QAAM;AACLC,IAAAA,cAAc,GAAG,EADZ;AAELC,IAAAA,YAAY,GAAG,KAFV;AAGLC,IAAAA,UAAU,GAAG,KAHR;AAILC,IAAAA,WAAW,GAAG,KAJT;AAKLC,IAAAA,SAAS,GAAG,KALP;AAMLC,IAAAA,SANK;AAOLC,IAAAA,OAAO,GAAG,SAPL;AAQL,OAAGC;AARE,MASFZ,gBAAgB,CAAEI,KAAF,EAAS,SAAT,CATpB;AAWA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,OAAO,GAAGf,OAAO,CAAE,MAAM;AAC9B,UAAMgB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACC,OAAH,GAAaf,MAAM,CAACgB,UAAP,CAAmB;AAC/BX,MAAAA,YAD+B;AAE/BC,MAAAA,UAF+B;AAG/BC,MAAAA,WAH+B;AAI/BC,MAAAA;AAJ+B,KAAnB,CAAb;AAOA,WAAOI,EAAE,CACRZ,MAAM,CAACiB,OADC,EAERH,EAAE,CAACC,OAFK,EAGRf,MAAM,CAACkB,UAAP,CACCR,OADD,EAEE,GAAGN,cAAgB,IAFrB,EAGE,GAAGA,cAAc,GAAG,CAAG,IAHzB,CAHQ,EAQRK,SARQ,CAAT;AAUA,GApBsB,EAoBpB,CACFL,cADE,EAEFC,YAFE,EAGFC,UAHE,EAIFC,WAJE,EAKFC,SALE,EAMFC,SANE,EAOFG,EAPE,EAQFF,OARE,CApBoB,CAAvB;AA+BA,SAAO,EAAE,GAAGC,UAAL;AAAiBF,IAAAA,SAAS,EAAEI;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\nexport function useSurface( props ) {\n\tconst {\n\t\tbackgroundSize = 12,\n\t\tborderBottom = false,\n\t\tborderLeft = false,\n\t\tborderRight = false,\n\t\tborderTop = false,\n\t\tclassName,\n\t\tvariant = 'primary',\n\t\t...otherProps\n\t} = useContextSystem( props, 'Surface' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tsx.borders = styles.getBorders( {\n\t\t\tborderBottom,\n\t\t\tborderLeft,\n\t\t\tborderRight,\n\t\t\tborderTop,\n\t\t} );\n\n\t\treturn cx(\n\t\t\tstyles.Surface,\n\t\t\tsx.borders,\n\t\t\tstyles.getVariant(\n\t\t\t\tvariant,\n\t\t\t\t`${ backgroundSize }px`,\n\t\t\t\t`${ backgroundSize - 1 }px`\n\t\t\t),\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tbackgroundSize,\n\t\tborderBottom,\n\t\tborderLeft,\n\t\tborderRight,\n\t\tborderTop,\n\t\tclassName,\n\t\tcx,\n\t\tvariant,\n\t] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
@@ -33,7 +33,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
33
33
  } : {
34
34
  name: "18bqwxz-sx-upperCase",
35
35
  styles: "text-transform:uppercase;label:sx-upperCase;",
36
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtHaUIiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90ZXh0L2hvb2suanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBpc1BsYWluT2JqZWN0IH0gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8sIENoaWxkcmVuLCBjbG9uZUVsZW1lbnQgfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBoYXNDb25uZWN0TmFtZXNwYWNlLCB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VUcnVuY2F0ZSB9IGZyb20gJy4uL3RydW5jYXRlJztcbmltcG9ydCB7IGdldE9wdGltYWxUZXh0U2hhZGUgfSBmcm9tICcuLi91aS91dGlscyc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgY3JlYXRlSGlnaGxpZ2h0ZXJUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZSB9IGZyb20gJy4uL3VpL3V0aWxzL2ZvbnQtc2l6ZSc7XG5pbXBvcnQgeyBDT05GSUcsIENPTE9SUyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldExpbmVIZWlnaHQgfSBmcm9tICcuL2dldC1saW5lLWhlaWdodCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4uL3VpL2NvbnRleHQnKS5Xb3JkUHJlc3NDb21wb25lbnRQcm9wczxpbXBvcnQoJy4vdHlwZXMnKS5Qcm9wcywgJ3NwYW4nPn0gcHJvcHNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVGV4dCggcHJvcHMgKSB7XG5cdGNvbnN0IHtcblx0XHRhZGp1c3RMaW5lSGVpZ2h0Rm9ySW5uZXJDb250cm9scyxcblx0XHRhbGlnbixcblx0XHRjaGlsZHJlbixcblx0XHRjbGFzc05hbWUsXG5cdFx0Y29sb3IsXG5cdFx0ZWxsaXBzaXplTW9kZSxcblx0XHRpc0Rlc3RydWN0aXZlID0gZmFsc2UsXG5cdFx0ZGlzcGxheSxcblx0XHRoaWdobGlnaHRFc2NhcGUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRDYXNlU2Vuc2l0aXZlID0gZmFsc2UsXG5cdFx0aGlnaGxpZ2h0V29yZHMsXG5cdFx0aGlnaGxpZ2h0U2FuaXRpemUsXG5cdFx0aXNCbG9jayA9IGZhbHNlLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodDogbGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHRydW5jYXRlID0gZmFsc2UsXG5cdFx0dXBwZXJDYXNlID0gZmFsc2UsXG5cdFx0dmFyaWFudCxcblx0XHR3ZWlnaHQgPSBDT05GSUcuZm9udFdlaWdodCxcblx0XHQuLi5vdGhlclByb3BzXG5cdH0gPSB1c2VDb250ZXh0U3lzdGVtKCBwcm9wcywgJ1RleHQnICk7XG5cblx0LyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuUmVhY3ROb2RlfSAqL1xuXHRsZXQgY29udGVudCA9IGNoaWxkcmVuO1xuXHRjb25zdCBpc0hpZ2hsaWdodGVyID0gQXJyYXkuaXNBcnJheSggaGlnaGxpZ2h0V29yZHMgKTtcblx0Y29uc3QgaXNDYXB0aW9uID0gc2l6ZSA9PT0gJ2NhcHRpb24nO1xuXG5cdGlmICggaXNIaWdobGlnaHRlciApIHtcblx0XHRpZiAoIHR5cGVvZiBjaGlsZHJlbiAhPT0gJ3N0cmluZycgKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxuXHRcdFx0XHQnYGNoaWxkcmVuYCBvZiBgVGV4dGAgbXVzdCBvbmx5IGJlIGBzdHJpbmdgIHR5cGVzIHdoZW4gYGhpZ2hsaWdodFdvcmRzYCBpcyBkZWZpbmVkJ1xuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb250ZW50ID0gY3JlYXRlSGlnaGxpZ2h0ZXJUZXh0KCB7XG5cdFx0XHRhdXRvRXNjYXBlOiBoaWdobGlnaHRFc2NhcGUsXG5cdFx0XHQvLyBEaXNhYmxlIHJlYXNvbjogV2UgbmVlZCB0byBkaXNhYmxlIHRoaXMgb3RoZXJ3aXNlIGl0IGVyYXNlcyB0aGUgY2FzdFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9iamVjdC1zaG9ydGhhbmRcblx0XHRcdGNoaWxkcmVuOiAvKiogQHR5cGUge3N0cmluZ30gKi8gKCBjaGlsZHJlbiApLFxuXHRcdFx0Y2FzZVNlbnNpdGl2ZTogaGlnaGxpZ2h0Q2FzZVNlbnNpdGl2ZSxcblx0XHRcdHNlYXJjaFdvcmRzOiBoaWdobGlnaHRXb3Jkcyxcblx0XHRcdHNhbml0aXplOiBoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHR9ICk7XG5cdH1cblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cblx0Y29uc3QgY2xhc3NlcyA9IHVzZU1lbW8oICgpID0+IHtcblx0XHRjb25zdCBzeCA9IHt9O1xuXG5cdFx0Y29uc3QgbGluZUhlaWdodCA9IGdldExpbmVIZWlnaHQoXG5cdFx0XHRhZGp1c3RMaW5lSGVpZ2h0Rm9ySW5uZXJDb250cm9scyxcblx0XHRcdGxpbmVIZWlnaHRQcm9wXG5cdFx0KTtcblxuXHRcdHN4LkJhc2UgPSBjc3MoIHtcblx0XHRcdGNvbG9yLFxuXHRcdFx0ZGlzcGxheSxcblx0XHRcdGZvbnRTaXplOiBnZXRGb250U2l6ZSggc2l6ZSApLFxuXHRcdFx0LyogZXNsaW50LWRpc2FibGUganNkb2MvdmFsaWQtdHlwZXMgKi9cblx0XHRcdGZvbnRXZWlnaHQ6IC8qKiBAdHlwZSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXNbJ2ZvbnRXZWlnaHQnXX0gKi8gKCB3ZWlnaHQgKSxcblx0XHRcdC8qIGVzbGludC1lbmFibGUganNkb2MvdmFsaWQtdHlwZXMgKi9cblx0XHRcdGxpbmVIZWlnaHQsXG5cdFx0XHRsZXR0ZXJTcGFjaW5nLFxuXHRcdFx0dGV4dEFsaWduOiBhbGlnbixcblx0XHR9ICk7XG5cblx0XHRzeC51cHBlckNhc2UgPSBjc3MoIHsgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScgfSApO1xuXG5cdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IG51bGw7XG5cblx0XHRpZiAoIG9wdGltaXplUmVhZGFiaWxpdHlGb3IgKSB7XG5cdFx0XHRjb25zdCBpc09wdGltYWxUZXh0Q29sb3JEYXJrID1cblx0XHRcdFx0Z2V0T3B0aW1hbFRleHRTaGFkZSggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApID09PSAnZGFyayc7XG5cblx0XHRcdHN4Lm9wdGltYWxUZXh0Q29sb3IgPSBpc09wdGltYWxUZXh0Q29sb3JEYXJrXG5cdFx0XHRcdD8gY3NzKCB7IGNvbG9yOiBDT0xPUlMuYmxhY2sgfSApXG5cdFx0XHRcdDogY3NzKCB7IGNvbG9yOiBDT0xPUlMud2hpdGUgfSApO1xuXHRcdH1cblxuXHRcdHJldHVybiBjeChcblx0XHRcdHN0eWxlcy5UZXh0LFxuXHRcdFx0c3guQmFzZSxcblx0XHRcdHN4Lm9wdGltYWxUZXh0Q29sb3IsXG5cdFx0XHRpc0Rlc3RydWN0aXZlICYmIHN0eWxlcy5kZXN0cnVjdGl2ZSxcblx0XHRcdCEhIGlzSGlnaGxpZ2h0ZXIgJiYgc3R5bGVzLmhpZ2hsaWdodGVyVGV4dCxcblx0XHRcdGlzQmxvY2sgJiYgc3R5bGVzLmJsb2NrLFxuXHRcdFx0aXNDYXB0aW9uICYmIHN0eWxlcy5tdXRlZCxcblx0XHRcdHZhcmlhbnQgJiYgc3R5bGVzWyB2YXJpYW50IF0sXG5cdFx0XHR1cHBlckNhc2UgJiYgc3gudXBwZXJDYXNlLFxuXHRcdFx0Y2xhc3NOYW1lXG5cdFx0KTtcblx0fSwgW1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRkaXNwbGF5LFxuXHRcdGlzQmxvY2ssXG5cdFx0aXNDYXB0aW9uLFxuXHRcdGlzRGVzdHJ1Y3RpdmUsXG5cdFx0aXNIaWdobGlnaHRlcixcblx0XHRsZXR0ZXJTcGFjaW5nLFxuXHRcdGxpbmVIZWlnaHRQcm9wLFxuXHRcdG9wdGltaXplUmVhZGFiaWxpdHlGb3IsXG5cdFx0c2l6ZSxcblx0XHR1cHBlckNhc2UsXG5cdFx0dmFyaWFudCxcblx0XHR3ZWlnaHQsXG5cdF0gKTtcblxuXHQvKiogQHR5cGUge3VuZGVmaW5lZCB8ICdhdXRvJyB8ICdub25lJ30gKi9cblx0bGV0IGZpbmFsRWxsaXBzaXplTW9kZTtcblx0aWYgKCB0cnVuY2F0ZSA9PT0gdHJ1ZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnYXV0byc7XG5cdH1cblx0aWYgKCB0cnVuY2F0ZSA9PT0gZmFsc2UgKSB7XG5cdFx0ZmluYWxFbGxpcHNpemVNb2RlID0gJ25vbmUnO1xuXHR9XG5cblx0Y29uc3QgZmluYWxDb21wb25lbnRQcm9wcyA9IHtcblx0XHQuLi5vdGhlclByb3BzLFxuXHRcdGNsYXNzTmFtZTogY2xhc3Nlcyxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpemVNb2RlOiBlbGxpcHNpemVNb2RlIHx8IGZpbmFsRWxsaXBzaXplTW9kZSxcblx0fTtcblxuXHRjb25zdCB0cnVuY2F0ZVByb3BzID0gdXNlVHJ1bmNhdGUoIGZpbmFsQ29tcG9uZW50UHJvcHMgKTtcblxuXHQvKipcblx0ICogRW5oYW5jZSBjaGlsZCBgPExpbmsgLz5gIGNvbXBvbmVudHMgdG8gaW5oZXJpdCBmb250IHNpemUuXG5cdCAqL1xuXHRpZiAoICEgdHJ1bmNhdGUgJiYgQXJyYXkuaXNBcnJheSggY2hpbGRyZW4gKSApIHtcblx0XHRjb250ZW50ID0gQ2hpbGRyZW4ubWFwKCBjaGlsZHJlbiwgKCBjaGlsZCApID0+IHtcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdGlmICggISBpc1BsYWluT2JqZWN0KCBjaGlsZCApIHx8ICEgKCAncHJvcHMnIGluIGNoaWxkICkgKSB7XG5cdFx0XHRcdHJldHVybiBjaGlsZDtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgaXNMaW5rID0gaGFzQ29ubmVjdE5hbWVzcGFjZSggY2hpbGQsIFsgJ0xpbmsnIF0gKTtcblx0XHRcdGlmICggaXNMaW5rICkge1xuXHRcdFx0XHRyZXR1cm4gY2xvbmVFbGVtZW50KCBjaGlsZCwge1xuXHRcdFx0XHRcdHNpemU6IGNoaWxkLnByb3BzLnNpemUgfHwgJ2luaGVyaXQnLFxuXHRcdFx0XHR9ICk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBjaGlsZDtcblx0XHR9ICk7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdC4uLnRydW5jYXRlUHJvcHMsXG5cdFx0Y2hpbGRyZW46IHRydW5jYXRlID8gdHJ1bmNhdGVQcm9wcy5jaGlsZHJlbiA6IGNvbnRlbnQsXG5cdH07XG59XG4iXX0= */",
36
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtHaUIiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy90ZXh0L2hvb2suanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBpc1BsYWluT2JqZWN0IH0gZnJvbSAnbG9kYXNoJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8sIENoaWxkcmVuLCBjbG9uZUVsZW1lbnQgfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBoYXNDb25uZWN0TmFtZXNwYWNlLCB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VUcnVuY2F0ZSB9IGZyb20gJy4uL3RydW5jYXRlJztcbmltcG9ydCB7IGdldE9wdGltYWxUZXh0U2hhZGUgfSBmcm9tICcuLi91aS91dGlscyc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgY3JlYXRlSGlnaGxpZ2h0ZXJUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZSB9IGZyb20gJy4uL3VpL3V0aWxzL2ZvbnQtc2l6ZSc7XG5pbXBvcnQgeyBDT05GSUcsIENPTE9SUyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldExpbmVIZWlnaHQgfSBmcm9tICcuL2dldC1saW5lLWhlaWdodCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4uL3VpL2NvbnRleHQnKS5Xb3JkUHJlc3NDb21wb25lbnRQcm9wczxpbXBvcnQoJy4vdHlwZXMnKS5Qcm9wcywgJ3NwYW4nPn0gcHJvcHNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVGV4dCggcHJvcHMgKSB7XG5cdGNvbnN0IHtcblx0XHRhZGp1c3RMaW5lSGVpZ2h0Rm9ySW5uZXJDb250cm9scyxcblx0XHRhbGlnbixcblx0XHRjaGlsZHJlbixcblx0XHRjbGFzc05hbWUsXG5cdFx0Y29sb3IsXG5cdFx0ZWxsaXBzaXplTW9kZSxcblx0XHRpc0Rlc3RydWN0aXZlID0gZmFsc2UsXG5cdFx0ZGlzcGxheSxcblx0XHRoaWdobGlnaHRFc2NhcGUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRDYXNlU2Vuc2l0aXZlID0gZmFsc2UsXG5cdFx0aGlnaGxpZ2h0V29yZHMsXG5cdFx0aGlnaGxpZ2h0U2FuaXRpemUsXG5cdFx0aXNCbG9jayA9IGZhbHNlLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodDogbGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHRydW5jYXRlID0gZmFsc2UsXG5cdFx0dXBwZXJDYXNlID0gZmFsc2UsXG5cdFx0dmFyaWFudCxcblx0XHR3ZWlnaHQgPSBDT05GSUcuZm9udFdlaWdodCxcblx0XHQuLi5vdGhlclByb3BzXG5cdH0gPSB1c2VDb250ZXh0U3lzdGVtKCBwcm9wcywgJ1RleHQnICk7XG5cblx0LyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuUmVhY3ROb2RlfSAqL1xuXHRsZXQgY29udGVudCA9IGNoaWxkcmVuO1xuXHRjb25zdCBpc0hpZ2hsaWdodGVyID0gQXJyYXkuaXNBcnJheSggaGlnaGxpZ2h0V29yZHMgKTtcblx0Y29uc3QgaXNDYXB0aW9uID0gc2l6ZSA9PT0gJ2NhcHRpb24nO1xuXG5cdGlmICggaXNIaWdobGlnaHRlciApIHtcblx0XHRpZiAoIHR5cGVvZiBjaGlsZHJlbiAhPT0gJ3N0cmluZycgKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxuXHRcdFx0XHQnYGNoaWxkcmVuYCBvZiBgVGV4dGAgbXVzdCBvbmx5IGJlIGBzdHJpbmdgIHR5cGVzIHdoZW4gYGhpZ2hsaWdodFdvcmRzYCBpcyBkZWZpbmVkJ1xuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb250ZW50ID0gY3JlYXRlSGlnaGxpZ2h0ZXJUZXh0KCB7XG5cdFx0XHRhdXRvRXNjYXBlOiBoaWdobGlnaHRFc2NhcGUsXG5cdFx0XHQvLyBEaXNhYmxlIHJlYXNvbjogV2UgbmVlZCB0byBkaXNhYmxlIHRoaXMgb3RoZXJ3aXNlIGl0IGVyYXNlcyB0aGUgY2FzdFxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9iamVjdC1zaG9ydGhhbmRcblx0XHRcdGNoaWxkcmVuOiAvKiogQHR5cGUge3N0cmluZ30gKi8gKCBjaGlsZHJlbiApLFxuXHRcdFx0Y2FzZVNlbnNpdGl2ZTogaGlnaGxpZ2h0Q2FzZVNlbnNpdGl2ZSxcblx0XHRcdHNlYXJjaFdvcmRzOiBoaWdobGlnaHRXb3Jkcyxcblx0XHRcdHNhbml0aXplOiBoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHR9ICk7XG5cdH1cblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cblx0Y29uc3QgY2xhc3NlcyA9IHVzZU1lbW8oICgpID0+IHtcblx0XHRjb25zdCBzeCA9IHt9O1xuXG5cdFx0Y29uc3QgbGluZUhlaWdodCA9IGdldExpbmVIZWlnaHQoXG5cdFx0XHRhZGp1c3RMaW5lSGVpZ2h0Rm9ySW5uZXJDb250cm9scyxcblx0XHRcdGxpbmVIZWlnaHRQcm9wXG5cdFx0KTtcblxuXHRcdHN4LkJhc2UgPSBjc3MoIHtcblx0XHRcdGNvbG9yLFxuXHRcdFx0ZGlzcGxheSxcblx0XHRcdGZvbnRTaXplOiBnZXRGb250U2l6ZSggc2l6ZSApLFxuXHRcdFx0LyogZXNsaW50LWRpc2FibGUganNkb2MvdmFsaWQtdHlwZXMgKi9cblx0XHRcdGZvbnRXZWlnaHQ6IC8qKiBAdHlwZSB7aW1wb3J0KCdyZWFjdCcpLkNTU1Byb3BlcnRpZXNbJ2ZvbnRXZWlnaHQnXX0gKi8gKCB3ZWlnaHQgKSxcblx0XHRcdC8qIGVzbGludC1lbmFibGUganNkb2MvdmFsaWQtdHlwZXMgKi9cblx0XHRcdGxpbmVIZWlnaHQsXG5cdFx0XHRsZXR0ZXJTcGFjaW5nLFxuXHRcdFx0dGV4dEFsaWduOiBhbGlnbixcblx0XHR9ICk7XG5cblx0XHRzeC51cHBlckNhc2UgPSBjc3MoIHsgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScgfSApO1xuXG5cdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IG51bGw7XG5cblx0XHRpZiAoIG9wdGltaXplUmVhZGFiaWxpdHlGb3IgKSB7XG5cdFx0XHRjb25zdCBpc09wdGltYWxUZXh0Q29sb3JEYXJrID1cblx0XHRcdFx0Z2V0T3B0aW1hbFRleHRTaGFkZSggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApID09PSAnZGFyayc7XG5cblx0XHRcdHN4Lm9wdGltYWxUZXh0Q29sb3IgPSBpc09wdGltYWxUZXh0Q29sb3JEYXJrXG5cdFx0XHRcdD8gY3NzKCB7IGNvbG9yOiBDT0xPUlMuYmxhY2sgfSApXG5cdFx0XHRcdDogY3NzKCB7IGNvbG9yOiBDT0xPUlMud2hpdGUgfSApO1xuXHRcdH1cblxuXHRcdHJldHVybiBjeChcblx0XHRcdHN0eWxlcy5UZXh0LFxuXHRcdFx0c3guQmFzZSxcblx0XHRcdHN4Lm9wdGltYWxUZXh0Q29sb3IsXG5cdFx0XHRpc0Rlc3RydWN0aXZlICYmIHN0eWxlcy5kZXN0cnVjdGl2ZSxcblx0XHRcdCEhIGlzSGlnaGxpZ2h0ZXIgJiYgc3R5bGVzLmhpZ2hsaWdodGVyVGV4dCxcblx0XHRcdGlzQmxvY2sgJiYgc3R5bGVzLmJsb2NrLFxuXHRcdFx0aXNDYXB0aW9uICYmIHN0eWxlcy5tdXRlZCxcblx0XHRcdHZhcmlhbnQgJiYgc3R5bGVzWyB2YXJpYW50IF0sXG5cdFx0XHR1cHBlckNhc2UgJiYgc3gudXBwZXJDYXNlLFxuXHRcdFx0Y2xhc3NOYW1lXG5cdFx0KTtcblx0fSwgW1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRjeCxcblx0XHRkaXNwbGF5LFxuXHRcdGlzQmxvY2ssXG5cdFx0aXNDYXB0aW9uLFxuXHRcdGlzRGVzdHJ1Y3RpdmUsXG5cdFx0aXNIaWdobGlnaHRlcixcblx0XHRsZXR0ZXJTcGFjaW5nLFxuXHRcdGxpbmVIZWlnaHRQcm9wLFxuXHRcdG9wdGltaXplUmVhZGFiaWxpdHlGb3IsXG5cdFx0c2l6ZSxcblx0XHR1cHBlckNhc2UsXG5cdFx0dmFyaWFudCxcblx0XHR3ZWlnaHQsXG5cdF0gKTtcblxuXHQvKiogQHR5cGUge3VuZGVmaW5lZCB8ICdhdXRvJyB8ICdub25lJ30gKi9cblx0bGV0IGZpbmFsRWxsaXBzaXplTW9kZTtcblx0aWYgKCB0cnVuY2F0ZSA9PT0gdHJ1ZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnYXV0byc7XG5cdH1cblx0aWYgKCB0cnVuY2F0ZSA9PT0gZmFsc2UgKSB7XG5cdFx0ZmluYWxFbGxpcHNpemVNb2RlID0gJ25vbmUnO1xuXHR9XG5cblx0Y29uc3QgZmluYWxDb21wb25lbnRQcm9wcyA9IHtcblx0XHQuLi5vdGhlclByb3BzLFxuXHRcdGNsYXNzTmFtZTogY2xhc3Nlcyxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpemVNb2RlOiBlbGxpcHNpemVNb2RlIHx8IGZpbmFsRWxsaXBzaXplTW9kZSxcblx0fTtcblxuXHRjb25zdCB0cnVuY2F0ZVByb3BzID0gdXNlVHJ1bmNhdGUoIGZpbmFsQ29tcG9uZW50UHJvcHMgKTtcblxuXHQvKipcblx0ICogRW5oYW5jZSBjaGlsZCBgPExpbmsgLz5gIGNvbXBvbmVudHMgdG8gaW5oZXJpdCBmb250IHNpemUuXG5cdCAqL1xuXHRpZiAoICEgdHJ1bmNhdGUgJiYgQXJyYXkuaXNBcnJheSggY2hpbGRyZW4gKSApIHtcblx0XHRjb250ZW50ID0gQ2hpbGRyZW4ubWFwKCBjaGlsZHJlbiwgKCBjaGlsZCApID0+IHtcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdGlmICggISBpc1BsYWluT2JqZWN0KCBjaGlsZCApIHx8ICEgKCAncHJvcHMnIGluIGNoaWxkICkgKSB7XG5cdFx0XHRcdHJldHVybiBjaGlsZDtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgaXNMaW5rID0gaGFzQ29ubmVjdE5hbWVzcGFjZSggY2hpbGQsIFsgJ0xpbmsnIF0gKTtcblx0XHRcdGlmICggaXNMaW5rICkge1xuXHRcdFx0XHRyZXR1cm4gY2xvbmVFbGVtZW50KCBjaGlsZCwge1xuXHRcdFx0XHRcdHNpemU6IGNoaWxkLnByb3BzLnNpemUgfHwgJ2luaGVyaXQnLFxuXHRcdFx0XHR9ICk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBjaGlsZDtcblx0XHR9ICk7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdC4uLnRydW5jYXRlUHJvcHMsXG5cdFx0Y2hpbGRyZW46IHRydW5jYXRlID8gdHJ1bmNhdGVQcm9wcy5jaGlsZHJlbiA6IGNvbnRlbnQsXG5cdH07XG59XG4iXX0= */",
37
37
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
38
  };
39
39
 
@@ -104,7 +104,7 @@ export default function useText(props) {
104
104
  lineHeight,
105
105
  letterSpacing,
106
106
  textAlign: align
107
- }, process.env.NODE_ENV === "production" ? "" : ";label:sx-Base;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNGWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */");
107
+ }, process.env.NODE_ENV === "production" ? "" : ";label:sx-Base;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNGWSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGN4LFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */");
108
108
  sx.upperCase = _ref;
109
109
  sx.optimalTextColor = null;
110
110
 
@@ -112,13 +112,13 @@ export default function useText(props) {
112
112
  const isOptimalTextColorDark = getOptimalTextShade(optimizeReadabilityFor) === 'dark';
113
113
  sx.optimalTextColor = isOptimalTextColorDark ? /*#__PURE__*/css({
114
114
  color: COLORS.black
115
- }, process.env.NODE_ENV === "production" ? "" : ";label:sx-optimalTextColor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHTSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */") : /*#__PURE__*/css({
115
+ }, process.env.NODE_ENV === "production" ? "" : ";label:sx-optimalTextColor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHTSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGN4LFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */") : /*#__PURE__*/css({
116
116
  color: COLORS.white
117
- }, process.env.NODE_ENV === "production" ? "" : ";label:sx-optimalTextColor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRHTSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */");
117
+ }, process.env.NODE_ENV === "production" ? "" : ";label:sx-optimalTextColor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdGV4dC9ob29rLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRHTSIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3RleHQvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgdXNlTWVtbywgQ2hpbGRyZW4sIGNsb25lRWxlbWVudCB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGhhc0Nvbm5lY3ROYW1lc3BhY2UsIHVzZUNvbnRleHRTeXN0ZW0gfSBmcm9tICcuLi91aS9jb250ZXh0JztcbmltcG9ydCB7IHVzZVRydW5jYXRlIH0gZnJvbSAnLi4vdHJ1bmNhdGUnO1xuaW1wb3J0IHsgZ2V0T3B0aW1hbFRleHRTaGFkZSB9IGZyb20gJy4uL3VpL3V0aWxzJztcbmltcG9ydCAqIGFzIHN0eWxlcyBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBjcmVhdGVIaWdobGlnaHRlclRleHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEZvbnRTaXplIH0gZnJvbSAnLi4vdWkvdXRpbHMvZm9udC1zaXplJztcbmltcG9ydCB7IENPTkZJRywgQ09MT1JTIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodCB9IGZyb20gJy4vZ2V0LWxpbmUtaGVpZ2h0JztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vdWkvY29udGV4dCcpLldvcmRQcmVzc0NvbXBvbmVudFByb3BzPGltcG9ydCgnLi90eXBlcycpLlByb3BzLCAnc3Bhbic+fSBwcm9wc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUZXh0KCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdGFsaWduLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGNsYXNzTmFtZSxcblx0XHRjb2xvcixcblx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdGlzRGVzdHJ1Y3RpdmUgPSBmYWxzZSxcblx0XHRkaXNwbGF5LFxuXHRcdGhpZ2hsaWdodEVzY2FwZSA9IGZhbHNlLFxuXHRcdGhpZ2hsaWdodENhc2VTZW5zaXRpdmUgPSBmYWxzZSxcblx0XHRoaWdobGlnaHRXb3Jkcyxcblx0XHRoaWdobGlnaHRTYW5pdGl6ZSxcblx0XHRpc0Jsb2NrID0gZmFsc2UsXG5cdFx0bGV0dGVyU3BhY2luZyxcblx0XHRsaW5lSGVpZ2h0OiBsaW5lSGVpZ2h0UHJvcCxcblx0XHRvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yLFxuXHRcdHNpemUsXG5cdFx0dHJ1bmNhdGUgPSBmYWxzZSxcblx0XHR1cHBlckNhc2UgPSBmYWxzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCA9IENPTkZJRy5mb250V2VpZ2h0LFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVGV4dCcgKTtcblxuXHQvKiogQHR5cGUge2ltcG9ydCgncmVhY3QnKS5SZWFjdE5vZGV9ICovXG5cdGxldCBjb250ZW50ID0gY2hpbGRyZW47XG5cdGNvbnN0IGlzSGlnaGxpZ2h0ZXIgPSBBcnJheS5pc0FycmF5KCBoaWdobGlnaHRXb3JkcyApO1xuXHRjb25zdCBpc0NhcHRpb24gPSBzaXplID09PSAnY2FwdGlvbic7XG5cblx0aWYgKCBpc0hpZ2hsaWdodGVyICkge1xuXHRcdGlmICggdHlwZW9mIGNoaWxkcmVuICE9PSAnc3RyaW5nJyApIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdgY2hpbGRyZW5gIG9mIGBUZXh0YCBtdXN0IG9ubHkgYmUgYHN0cmluZ2AgdHlwZXMgd2hlbiBgaGlnaGxpZ2h0V29yZHNgIGlzIGRlZmluZWQnXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnRlbnQgPSBjcmVhdGVIaWdobGlnaHRlclRleHQoIHtcblx0XHRcdGF1dG9Fc2NhcGU6IGhpZ2hsaWdodEVzY2FwZSxcblx0XHRcdC8vIERpc2FibGUgcmVhc29uOiBXZSBuZWVkIHRvIGRpc2FibGUgdGhpcyBvdGhlcndpc2UgaXQgZXJhc2VzIHRoZSBjYXN0XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LXNob3J0aGFuZFxuXHRcdFx0Y2hpbGRyZW46IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBoaWdobGlnaHRDYXNlU2Vuc2l0aXZlLFxuXHRcdFx0c2VhcmNoV29yZHM6IGhpZ2hsaWdodFdvcmRzLFxuXHRcdFx0c2FuaXRpemU6IGhpZ2hsaWdodFNhbml0aXplLFxuXHRcdH0gKTtcblx0fVxuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHN4ID0ge307XG5cblx0XHRjb25zdCBsaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodChcblx0XHRcdGFkanVzdExpbmVIZWlnaHRGb3JJbm5lckNvbnRyb2xzLFxuXHRcdFx0bGluZUhlaWdodFByb3Bcblx0XHQpO1xuXG5cdFx0c3guQmFzZSA9IGNzcygge1xuXHRcdFx0Y29sb3IsXG5cdFx0XHRkaXNwbGF5LFxuXHRcdFx0Zm9udFNpemU6IGdldEZvbnRTaXplKCBzaXplICksXG5cdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0Zm9udFdlaWdodDogLyoqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ1NTUHJvcGVydGllc1snZm9udFdlaWdodCddfSAqLyAoIHdlaWdodCApLFxuXHRcdFx0LyogZXNsaW50LWVuYWJsZSBqc2RvYy92YWxpZC10eXBlcyAqL1xuXHRcdFx0bGluZUhlaWdodCxcblx0XHRcdGxldHRlclNwYWNpbmcsXG5cdFx0XHR0ZXh0QWxpZ246IGFsaWduLFxuXHRcdH0gKTtcblxuXHRcdHN4LnVwcGVyQ2FzZSA9IGNzcyggeyB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyB9ICk7XG5cblx0XHRzeC5vcHRpbWFsVGV4dENvbG9yID0gbnVsbDtcblxuXHRcdGlmICggb3B0aW1pemVSZWFkYWJpbGl0eUZvciApIHtcblx0XHRcdGNvbnN0IGlzT3B0aW1hbFRleHRDb2xvckRhcmsgPVxuXHRcdFx0XHRnZXRPcHRpbWFsVGV4dFNoYWRlKCBvcHRpbWl6ZVJlYWRhYmlsaXR5Rm9yICkgPT09ICdkYXJrJztcblxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvciA9IGlzT3B0aW1hbFRleHRDb2xvckRhcmtcblx0XHRcdFx0PyBjc3MoIHsgY29sb3I6IENPTE9SUy5ibGFjayB9IClcblx0XHRcdFx0OiBjc3MoIHsgY29sb3I6IENPTE9SUy53aGl0ZSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c3R5bGVzLlRleHQsXG5cdFx0XHRzeC5CYXNlLFxuXHRcdFx0c3gub3B0aW1hbFRleHRDb2xvcixcblx0XHRcdGlzRGVzdHJ1Y3RpdmUgJiYgc3R5bGVzLmRlc3RydWN0aXZlLFxuXHRcdFx0ISEgaXNIaWdobGlnaHRlciAmJiBzdHlsZXMuaGlnaGxpZ2h0ZXJUZXh0LFxuXHRcdFx0aXNCbG9jayAmJiBzdHlsZXMuYmxvY2ssXG5cdFx0XHRpc0NhcHRpb24gJiYgc3R5bGVzLm11dGVkLFxuXHRcdFx0dmFyaWFudCAmJiBzdHlsZXNbIHZhcmlhbnQgXSxcblx0XHRcdHVwcGVyQ2FzZSAmJiBzeC51cHBlckNhc2UsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbXG5cdFx0YWRqdXN0TGluZUhlaWdodEZvcklubmVyQ29udHJvbHMsXG5cdFx0YWxpZ24sXG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNvbG9yLFxuXHRcdGN4LFxuXHRcdGRpc3BsYXksXG5cdFx0aXNCbG9jayxcblx0XHRpc0NhcHRpb24sXG5cdFx0aXNEZXN0cnVjdGl2ZSxcblx0XHRpc0hpZ2hsaWdodGVyLFxuXHRcdGxldHRlclNwYWNpbmcsXG5cdFx0bGluZUhlaWdodFByb3AsXG5cdFx0b3B0aW1pemVSZWFkYWJpbGl0eUZvcixcblx0XHRzaXplLFxuXHRcdHVwcGVyQ2FzZSxcblx0XHR2YXJpYW50LFxuXHRcdHdlaWdodCxcblx0XSApO1xuXG5cdC8qKiBAdHlwZSB7dW5kZWZpbmVkIHwgJ2F1dG8nIHwgJ25vbmUnfSAqL1xuXHRsZXQgZmluYWxFbGxpcHNpemVNb2RlO1xuXHRpZiAoIHRydW5jYXRlID09PSB0cnVlICkge1xuXHRcdGZpbmFsRWxsaXBzaXplTW9kZSA9ICdhdXRvJztcblx0fVxuXHRpZiAoIHRydW5jYXRlID09PSBmYWxzZSApIHtcblx0XHRmaW5hbEVsbGlwc2l6ZU1vZGUgPSAnbm9uZSc7XG5cdH1cblxuXHRjb25zdCBmaW5hbENvbXBvbmVudFByb3BzID0ge1xuXHRcdC4uLm90aGVyUHJvcHMsXG5cdFx0Y2xhc3NOYW1lOiBjbGFzc2VzLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2l6ZU1vZGU6IGVsbGlwc2l6ZU1vZGUgfHwgZmluYWxFbGxpcHNpemVNb2RlLFxuXHR9O1xuXG5cdGNvbnN0IHRydW5jYXRlUHJvcHMgPSB1c2VUcnVuY2F0ZSggZmluYWxDb21wb25lbnRQcm9wcyApO1xuXG5cdC8qKlxuXHQgKiBFbmhhbmNlIGNoaWxkIGA8TGluayAvPmAgY29tcG9uZW50cyB0byBpbmhlcml0IGZvbnQgc2l6ZS5cblx0ICovXG5cdGlmICggISB0cnVuY2F0ZSAmJiBBcnJheS5pc0FycmF5KCBjaGlsZHJlbiApICkge1xuXHRcdGNvbnRlbnQgPSBDaGlsZHJlbi5tYXAoIGNoaWxkcmVuLCAoIGNoaWxkICkgPT4ge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCAhIGlzUGxhaW5PYmplY3QoIGNoaWxkICkgfHwgISAoICdwcm9wcycgaW4gY2hpbGQgKSApIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpc0xpbmsgPSBoYXNDb25uZWN0TmFtZXNwYWNlKCBjaGlsZCwgWyAnTGluaycgXSApO1xuXHRcdFx0aWYgKCBpc0xpbmsgKSB7XG5cdFx0XHRcdHJldHVybiBjbG9uZUVsZW1lbnQoIGNoaWxkLCB7XG5cdFx0XHRcdFx0c2l6ZTogY2hpbGQucHJvcHMuc2l6ZSB8fCAnaW5oZXJpdCcsXG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGNoaWxkO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Li4udHJ1bmNhdGVQcm9wcyxcblx0XHRjaGlsZHJlbjogdHJ1bmNhdGUgPyB0cnVuY2F0ZVByb3BzLmNoaWxkcmVuIDogY29udGVudCxcblx0fTtcbn1cbiJdfQ== */");
118
118
  }
119
119
 
120
120
  return cx(styles.Text, sx.Base, sx.optimalTextColor, isDestructive && styles.destructive, !!isHighlighter && styles.highlighterText, isBlock && styles.block, isCaption && styles.muted, variant && styles[variant], upperCase && sx.upperCase, className);
121
- }, [adjustLineHeightForInnerControls, align, className, color, display, isBlock, isCaption, isDestructive, isHighlighter, letterSpacing, lineHeightProp, optimizeReadabilityFor, size, upperCase, variant, weight]);
121
+ }, [adjustLineHeightForInnerControls, align, className, color, cx, display, isBlock, isCaption, isDestructive, isHighlighter, letterSpacing, lineHeightProp, optimizeReadabilityFor, size, upperCase, variant, weight]);
122
122
  /** @type {undefined | 'auto' | 'none'} */
123
123
 
124
124
  let finalEllipsizeMode;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/text/hook.js"],"names":["css","isPlainObject","useMemo","Children","cloneElement","hasConnectNamespace","useContextSystem","useTruncate","getOptimalTextShade","styles","createHighlighterText","getFontSize","CONFIG","COLORS","getLineHeight","useCx","useText","props","adjustLineHeightForInnerControls","align","children","className","color","ellipsizeMode","isDestructive","display","highlightEscape","highlightCaseSensitive","highlightWords","highlightSanitize","isBlock","letterSpacing","lineHeight","lineHeightProp","optimizeReadabilityFor","size","truncate","upperCase","variant","weight","fontWeight","otherProps","content","isHighlighter","Array","isArray","isCaption","TypeError","autoEscape","caseSensitive","searchWords","sanitize","cx","classes","sx","Base","fontSize","textAlign","optimalTextColor","isOptimalTextColorDark","black","white","Text","destructive","highlighterText","block","muted","finalEllipsizeMode","finalComponentProps","truncateProps","map","child","isLink"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AACA,SAASC,aAAT,QAA8B,QAA9B;AAEA;AACA;AACA;;AACA,SAASC,OAAT,EAAkBC,QAAlB,EAA4BC,YAA5B,QAAgD,oBAAhD;AAEA;AACA;AACA;;AACA,SAASC,mBAAT,EAA8BC,gBAA9B,QAAsD,eAAtD;AACA,SAASC,WAAT,QAA4B,aAA5B;AACA,SAASC,mBAAT,QAAoC,aAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,qBAAT,QAAsC,SAAtC;AACA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,UAA/B;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;;;;;;;;;;;AACA,eAAe,SAASC,OAAT,CAAkBC,KAAlB,EAA0B;AACxC,QAAM;AACLC,IAAAA,gCADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,KALK;AAMLC,IAAAA,aANK;AAOLC,IAAAA,aAAa,GAAG,KAPX;AAQLC,IAAAA,OARK;AASLC,IAAAA,eAAe,GAAG,KATb;AAULC,IAAAA,sBAAsB,GAAG,KAVpB;AAWLC,IAAAA,cAXK;AAYLC,IAAAA,iBAZK;AAaLC,IAAAA,OAAO,GAAG,KAbL;AAcLC,IAAAA,aAdK;AAeLC,IAAAA,UAAU,EAAEC,cAfP;AAgBLC,IAAAA,sBAhBK;AAiBLC,IAAAA,IAjBK;AAkBLC,IAAAA,QAAQ,GAAG,KAlBN;AAmBLC,IAAAA,SAAS,GAAG,KAnBP;AAoBLC,IAAAA,OApBK;AAqBLC,IAAAA,MAAM,GAAG3B,MAAM,CAAC4B,UArBX;AAsBL,OAAGC;AAtBE,MAuBFnC,gBAAgB,CAAEW,KAAF,EAAS,MAAT,CAvBpB;AAyBA;;AACA,MAAIyB,OAAO,GAAGtB,QAAd;AACA,QAAMuB,aAAa,GAAGC,KAAK,CAACC,OAAN,CAAejB,cAAf,CAAtB;AACA,QAAMkB,SAAS,GAAGX,IAAI,KAAK,SAA3B;;AAEA,MAAKQ,aAAL,EAAqB;AACpB,QAAK,OAAOvB,QAAP,KAAoB,QAAzB,EAAoC;AACnC,YAAM,IAAI2B,SAAJ,CACL,mFADK,CAAN;AAGA;;AAEDL,IAAAA,OAAO,GAAGhC,qBAAqB,CAAE;AAChCsC,MAAAA,UAAU,EAAEtB,eADoB;AAEhC;AACA;AACAN,MAAAA,QAAQ;AAAE;AAAwBA,MAAAA,QAJF;AAKhC6B,MAAAA,aAAa,EAAEtB,sBALiB;AAMhCuB,MAAAA,WAAW,EAAEtB,cANmB;AAOhCuB,MAAAA,QAAQ,EAAEtB;AAPsB,KAAF,CAA/B;AASA;;AAED,QAAMuB,EAAE,GAAGrC,KAAK,EAAhB;AAEA,QAAMsC,OAAO,GAAGnD,OAAO,CAAE,MAAM;AAC9B,UAAMoD,EAAE,GAAG,EAAX;AAEA,UAAMtB,UAAU,GAAGlB,aAAa,CAC/BI,gCAD+B,EAE/Be,cAF+B,CAAhC;AAKAqB,IAAAA,EAAE,CAACC,IAAH,gBAAUvD,GAAG,CAAE;AACdsB,MAAAA,KADc;AAEdG,MAAAA,OAFc;AAGd+B,MAAAA,QAAQ,EAAE7C,WAAW,CAAEwB,IAAF,CAHP;;AAId;AACAK,MAAAA,UAAU;AAAE;AAA6DD,MAAAA,MAL3D;;AAMd;AACAP,MAAAA,UAPc;AAQdD,MAAAA,aARc;AASd0B,MAAAA,SAAS,EAAEtC;AATG,KAAF,6tNAAb;AAYAmC,IAAAA,EAAE,CAACjB,SAAH;AAEAiB,IAAAA,EAAE,CAACI,gBAAH,GAAsB,IAAtB;;AAEA,QAAKxB,sBAAL,EAA8B;AAC7B,YAAMyB,sBAAsB,GAC3BnD,mBAAmB,CAAE0B,sBAAF,CAAnB,KAAkD,MADnD;AAGAoB,MAAAA,EAAE,CAACI,gBAAH,GAAsBC,sBAAsB,gBACzC3D,GAAG,CAAE;AAAEsB,QAAAA,KAAK,EAAET,MAAM,CAAC+C;AAAhB,OAAF,yuNADsC,gBAEzC5D,GAAG,CAAE;AAAEsB,QAAAA,KAAK,EAAET,MAAM,CAACgD;AAAhB,OAAF,yuNAFN;AAGA;;AAED,WAAOT,EAAE,CACR3C,MAAM,CAACqD,IADC,EAERR,EAAE,CAACC,IAFK,EAGRD,EAAE,CAACI,gBAHK,EAIRlC,aAAa,IAAIf,MAAM,CAACsD,WAJhB,EAKR,CAAC,CAAEpB,aAAH,IAAoBlC,MAAM,CAACuD,eALnB,EAMRlC,OAAO,IAAIrB,MAAM,CAACwD,KANV,EAORnB,SAAS,IAAIrC,MAAM,CAACyD,KAPZ,EAQR5B,OAAO,IAAI7B,MAAM,CAAE6B,OAAF,CART,EASRD,SAAS,IAAIiB,EAAE,CAACjB,SATR,EAURhB,SAVQ,CAAT;AAYA,GA7CsB,EA6CpB,CACFH,gCADE,EAEFC,KAFE,EAGFE,SAHE,EAIFC,KAJE,EAKFG,OALE,EAMFK,OANE,EAOFgB,SAPE,EAQFtB,aARE,EASFmB,aATE,EAUFZ,aAVE,EAWFE,cAXE,EAYFC,sBAZE,EAaFC,IAbE,EAcFE,SAdE,EAeFC,OAfE,EAgBFC,MAhBE,CA7CoB,CAAvB;AAgEA;;AACA,MAAI4B,kBAAJ;;AACA,MAAK/B,QAAQ,KAAK,IAAlB,EAAyB;AACxB+B,IAAAA,kBAAkB,GAAG,MAArB;AACA;;AACD,MAAK/B,QAAQ,KAAK,KAAlB,EAA0B;AACzB+B,IAAAA,kBAAkB,GAAG,MAArB;AACA;;AAED,QAAMC,mBAAmB,GAAG,EAC3B,GAAG3B,UADwB;AAE3BpB,IAAAA,SAAS,EAAEgC,OAFgB;AAG3BjC,IAAAA,QAH2B;AAI3BG,IAAAA,aAAa,EAAEA,aAAa,IAAI4C;AAJL,GAA5B;AAOA,QAAME,aAAa,GAAG9D,WAAW,CAAE6D,mBAAF,CAAjC;AAEA;AACD;AACA;;AACC,MAAK,CAAEhC,QAAF,IAAcQ,KAAK,CAACC,OAAN,CAAezB,QAAf,CAAnB,EAA+C;AAC9CsB,IAAAA,OAAO,GAAGvC,QAAQ,CAACmE,GAAT,CAAclD,QAAd,EAA0BmD,KAAF,IAAa;AAC9C;AACA,UAAK,CAAEtE,aAAa,CAAEsE,KAAF,CAAf,IAA4B,EAAI,WAAWA,KAAf,CAAjC,EAA0D;AACzD,eAAOA,KAAP;AACA;;AAED,YAAMC,MAAM,GAAGnE,mBAAmB,CAAEkE,KAAF,EAAS,CAAE,MAAF,CAAT,CAAlC;;AACA,UAAKC,MAAL,EAAc;AACb,eAAOpE,YAAY,CAAEmE,KAAF,EAAS;AAC3BpC,UAAAA,IAAI,EAAEoC,KAAK,CAACtD,KAAN,CAAYkB,IAAZ,IAAoB;AADC,SAAT,CAAnB;AAGA;;AAED,aAAOoC,KAAP;AACA,KAdS,CAAV;AAeA;;AAED,SAAO,EACN,GAAGF,aADG;AAENjD,IAAAA,QAAQ,EAAEgB,QAAQ,GAAGiC,aAAa,CAACjD,QAAjB,GAA4BsB;AAFxC,GAAP;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport { isPlainObject } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, Children, cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { hasConnectNamespace, useContextSystem } from '../ui/context';\nimport { useTruncate } from '../truncate';\nimport { getOptimalTextShade } from '../ui/utils';\nimport * as styles from './styles';\nimport { createHighlighterText } from './utils';\nimport { getFontSize } from '../ui/utils/font-size';\nimport { CONFIG, COLORS } from '../utils';\nimport { getLineHeight } from './get-line-height';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useText( props ) {\n\tconst {\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tchildren,\n\t\tclassName,\n\t\tcolor,\n\t\tellipsizeMode,\n\t\tisDestructive = false,\n\t\tdisplay,\n\t\thighlightEscape = false,\n\t\thighlightCaseSensitive = false,\n\t\thighlightWords,\n\t\thighlightSanitize,\n\t\tisBlock = false,\n\t\tletterSpacing,\n\t\tlineHeight: lineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\ttruncate = false,\n\t\tupperCase = false,\n\t\tvariant,\n\t\tweight = CONFIG.fontWeight,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Text' );\n\n\t/** @type {import('react').ReactNode} */\n\tlet content = children;\n\tconst isHighlighter = Array.isArray( highlightWords );\n\tconst isCaption = size === 'caption';\n\n\tif ( isHighlighter ) {\n\t\tif ( typeof children !== 'string' ) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'`children` of `Text` must only be `string` types when `highlightWords` is defined'\n\t\t\t);\n\t\t}\n\n\t\tcontent = createHighlighterText( {\n\t\t\tautoEscape: highlightEscape,\n\t\t\t// Disable reason: We need to disable this otherwise it erases the cast\n\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\tchildren: /** @type {string} */ ( children ),\n\t\t\tcaseSensitive: highlightCaseSensitive,\n\t\t\tsearchWords: highlightWords,\n\t\t\tsanitize: highlightSanitize,\n\t\t} );\n\t}\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tconst lineHeight = getLineHeight(\n\t\t\tadjustLineHeightForInnerControls,\n\t\t\tlineHeightProp\n\t\t);\n\n\t\tsx.Base = css( {\n\t\t\tcolor,\n\t\t\tdisplay,\n\t\t\tfontSize: getFontSize( size ),\n\t\t\t/* eslint-disable jsdoc/valid-types */\n\t\t\tfontWeight: /** @type {import('react').CSSProperties['fontWeight']} */ ( weight ),\n\t\t\t/* eslint-enable jsdoc/valid-types */\n\t\t\tlineHeight,\n\t\t\tletterSpacing,\n\t\t\ttextAlign: align,\n\t\t} );\n\n\t\tsx.upperCase = css( { textTransform: 'uppercase' } );\n\n\t\tsx.optimalTextColor = null;\n\n\t\tif ( optimizeReadabilityFor ) {\n\t\t\tconst isOptimalTextColorDark =\n\t\t\t\tgetOptimalTextShade( optimizeReadabilityFor ) === 'dark';\n\n\t\t\tsx.optimalTextColor = isOptimalTextColorDark\n\t\t\t\t? css( { color: COLORS.black } )\n\t\t\t\t: css( { color: COLORS.white } );\n\t\t}\n\n\t\treturn cx(\n\t\t\tstyles.Text,\n\t\t\tsx.Base,\n\t\t\tsx.optimalTextColor,\n\t\t\tisDestructive && styles.destructive,\n\t\t\t!! isHighlighter && styles.highlighterText,\n\t\t\tisBlock && styles.block,\n\t\t\tisCaption && styles.muted,\n\t\t\tvariant && styles[ variant ],\n\t\t\tupperCase && sx.upperCase,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tclassName,\n\t\tcolor,\n\t\tdisplay,\n\t\tisBlock,\n\t\tisCaption,\n\t\tisDestructive,\n\t\tisHighlighter,\n\t\tletterSpacing,\n\t\tlineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\tupperCase,\n\t\tvariant,\n\t\tweight,\n\t] );\n\n\t/** @type {undefined | 'auto' | 'none'} */\n\tlet finalEllipsizeMode;\n\tif ( truncate === true ) {\n\t\tfinalEllipsizeMode = 'auto';\n\t}\n\tif ( truncate === false ) {\n\t\tfinalEllipsizeMode = 'none';\n\t}\n\n\tconst finalComponentProps = {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tchildren,\n\t\tellipsizeMode: ellipsizeMode || finalEllipsizeMode,\n\t};\n\n\tconst truncateProps = useTruncate( finalComponentProps );\n\n\t/**\n\t * Enhance child `<Link />` components to inherit font size.\n\t */\n\tif ( ! truncate && Array.isArray( children ) ) {\n\t\tcontent = Children.map( children, ( child ) => {\n\t\t\t// @ts-ignore\n\t\t\tif ( ! isPlainObject( child ) || ! ( 'props' in child ) ) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tconst isLink = hasConnectNamespace( child, [ 'Link' ] );\n\t\t\tif ( isLink ) {\n\t\t\t\treturn cloneElement( child, {\n\t\t\t\t\tsize: child.props.size || 'inherit',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn child;\n\t\t} );\n\t}\n\n\treturn {\n\t\t...truncateProps,\n\t\tchildren: truncate ? truncateProps.children : content,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/text/hook.js"],"names":["css","isPlainObject","useMemo","Children","cloneElement","hasConnectNamespace","useContextSystem","useTruncate","getOptimalTextShade","styles","createHighlighterText","getFontSize","CONFIG","COLORS","getLineHeight","useCx","useText","props","adjustLineHeightForInnerControls","align","children","className","color","ellipsizeMode","isDestructive","display","highlightEscape","highlightCaseSensitive","highlightWords","highlightSanitize","isBlock","letterSpacing","lineHeight","lineHeightProp","optimizeReadabilityFor","size","truncate","upperCase","variant","weight","fontWeight","otherProps","content","isHighlighter","Array","isArray","isCaption","TypeError","autoEscape","caseSensitive","searchWords","sanitize","cx","classes","sx","Base","fontSize","textAlign","optimalTextColor","isOptimalTextColorDark","black","white","Text","destructive","highlighterText","block","muted","finalEllipsizeMode","finalComponentProps","truncateProps","map","child","isLink"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport { isPlainObject } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, Children, cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { hasConnectNamespace, useContextSystem } from '../ui/context';\nimport { useTruncate } from '../truncate';\nimport { getOptimalTextShade } from '../ui/utils';\nimport * as styles from './styles';\nimport { createHighlighterText } from './utils';\nimport { getFontSize } from '../ui/utils/font-size';\nimport { CONFIG, COLORS } from '../utils';\nimport { getLineHeight } from './get-line-height';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useText( props ) {\n\tconst {\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tchildren,\n\t\tclassName,\n\t\tcolor,\n\t\tellipsizeMode,\n\t\tisDestructive = false,\n\t\tdisplay,\n\t\thighlightEscape = false,\n\t\thighlightCaseSensitive = false,\n\t\thighlightWords,\n\t\thighlightSanitize,\n\t\tisBlock = false,\n\t\tletterSpacing,\n\t\tlineHeight: lineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\ttruncate = false,\n\t\tupperCase = false,\n\t\tvariant,\n\t\tweight = CONFIG.fontWeight,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Text' );\n\n\t/** @type {import('react').ReactNode} */\n\tlet content = children;\n\tconst isHighlighter = Array.isArray( highlightWords );\n\tconst isCaption = size === 'caption';\n\n\tif ( isHighlighter ) {\n\t\tif ( typeof children !== 'string' ) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'`children` of `Text` must only be `string` types when `highlightWords` is defined'\n\t\t\t);\n\t\t}\n\n\t\tcontent = createHighlighterText( {\n\t\t\tautoEscape: highlightEscape,\n\t\t\t// Disable reason: We need to disable this otherwise it erases the cast\n\t\t\t// eslint-disable-next-line object-shorthand\n\t\t\tchildren: /** @type {string} */ ( children ),\n\t\t\tcaseSensitive: highlightCaseSensitive,\n\t\t\tsearchWords: highlightWords,\n\t\t\tsanitize: highlightSanitize,\n\t\t} );\n\t}\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tconst lineHeight = getLineHeight(\n\t\t\tadjustLineHeightForInnerControls,\n\t\t\tlineHeightProp\n\t\t);\n\n\t\tsx.Base = css( {\n\t\t\tcolor,\n\t\t\tdisplay,\n\t\t\tfontSize: getFontSize( size ),\n\t\t\t/* eslint-disable jsdoc/valid-types */\n\t\t\tfontWeight: /** @type {import('react').CSSProperties['fontWeight']} */ ( weight ),\n\t\t\t/* eslint-enable jsdoc/valid-types */\n\t\t\tlineHeight,\n\t\t\tletterSpacing,\n\t\t\ttextAlign: align,\n\t\t} );\n\n\t\tsx.upperCase = css( { textTransform: 'uppercase' } );\n\n\t\tsx.optimalTextColor = null;\n\n\t\tif ( optimizeReadabilityFor ) {\n\t\t\tconst isOptimalTextColorDark =\n\t\t\t\tgetOptimalTextShade( optimizeReadabilityFor ) === 'dark';\n\n\t\t\tsx.optimalTextColor = isOptimalTextColorDark\n\t\t\t\t? css( { color: COLORS.black } )\n\t\t\t\t: css( { color: COLORS.white } );\n\t\t}\n\n\t\treturn cx(\n\t\t\tstyles.Text,\n\t\t\tsx.Base,\n\t\t\tsx.optimalTextColor,\n\t\t\tisDestructive && styles.destructive,\n\t\t\t!! isHighlighter && styles.highlighterText,\n\t\t\tisBlock && styles.block,\n\t\t\tisCaption && styles.muted,\n\t\t\tvariant && styles[ variant ],\n\t\t\tupperCase && sx.upperCase,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tadjustLineHeightForInnerControls,\n\t\talign,\n\t\tclassName,\n\t\tcolor,\n\t\tcx,\n\t\tdisplay,\n\t\tisBlock,\n\t\tisCaption,\n\t\tisDestructive,\n\t\tisHighlighter,\n\t\tletterSpacing,\n\t\tlineHeightProp,\n\t\toptimizeReadabilityFor,\n\t\tsize,\n\t\tupperCase,\n\t\tvariant,\n\t\tweight,\n\t] );\n\n\t/** @type {undefined | 'auto' | 'none'} */\n\tlet finalEllipsizeMode;\n\tif ( truncate === true ) {\n\t\tfinalEllipsizeMode = 'auto';\n\t}\n\tif ( truncate === false ) {\n\t\tfinalEllipsizeMode = 'none';\n\t}\n\n\tconst finalComponentProps = {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tchildren,\n\t\tellipsizeMode: ellipsizeMode || finalEllipsizeMode,\n\t};\n\n\tconst truncateProps = useTruncate( finalComponentProps );\n\n\t/**\n\t * Enhance child `<Link />` components to inherit font size.\n\t */\n\tif ( ! truncate && Array.isArray( children ) ) {\n\t\tcontent = Children.map( children, ( child ) => {\n\t\t\t// @ts-ignore\n\t\t\tif ( ! isPlainObject( child ) || ! ( 'props' in child ) ) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tconst isLink = hasConnectNamespace( child, [ 'Link' ] );\n\t\t\tif ( isLink ) {\n\t\t\t\treturn cloneElement( child, {\n\t\t\t\t\tsize: child.props.size || 'inherit',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn child;\n\t\t} );\n\t}\n\n\treturn {\n\t\t...truncateProps,\n\t\tchildren: truncate ? truncateProps.children : content,\n\t};\n}\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { SVG, Path } from '@wordpress/primitives';
6
+ import { Icon, tip } from '@wordpress/icons';
7
7
  /**
8
8
  * @typedef Props
9
9
  * @property {import('react').ReactNode} children Children to render in the tip.
@@ -17,13 +17,9 @@ import { SVG, Path } from '@wordpress/primitives';
17
17
  function Tip(props) {
18
18
  return createElement("div", {
19
19
  className: "components-tip"
20
- }, createElement(SVG, {
21
- width: "24",
22
- height: "24",
23
- viewBox: "0 0 24 24"
24
- }, createElement(Path, {
25
- d: "M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z"
26
- })), createElement("p", null, props.children));
20
+ }, createElement(Icon, {
21
+ icon: tip
22
+ }), createElement("p", null, props.children));
27
23
  }
28
24
 
29
25
  export default Tip;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tip/index.js"],"names":["SVG","Path","Tip","props","children"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AACA,SAASC,GAAT,CAAcC,KAAd,EAAsB;AACrB,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,GAAD;AAAK,IAAA,KAAK,EAAC,IAAX;AAAgB,IAAA,MAAM,EAAC,IAAvB;AAA4B,IAAA,OAAO,EAAC;AAApC,KACC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAC;AAAR,IADD,CADD,EAIC,yBAAKA,KAAK,CAACC,QAAX,CAJD,CADD;AAQA;;AAED,eAAeF,GAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\n/**\n * @typedef Props\n * @property {import('react').ReactNode} children Children to render in the tip.\n */\n\n/**\n * @param {Props} props\n * @return {JSX.Element} Element\n */\nfunction Tip( props ) {\n\treturn (\n\t\t<div className=\"components-tip\">\n\t\t\t<SVG width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n\t\t\t\t<Path d=\"M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z\" />\n\t\t\t</SVG>\n\t\t\t<p>{ props.children }</p>\n\t\t</div>\n\t);\n}\n\nexport default Tip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tip/index.js"],"names":["Icon","tip","Tip","props","children"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,GAAf,QAA0B,kBAA1B;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AACA,SAASC,GAAT,CAAcC,KAAd,EAAsB;AACrB,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGF;AAAb,IADD,EAEC,yBAAKE,KAAK,CAACC,QAAX,CAFD,CADD;AAMA;;AAED,eAAeF,GAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon, tip } from '@wordpress/icons';\n\n/**\n * @typedef Props\n * @property {import('react').ReactNode} children Children to render in the tip.\n */\n\n/**\n * @param {Props} props\n * @return {JSX.Element} Element\n */\nfunction Tip( props ) {\n\treturn (\n\t\t<div className=\"components-tip\">\n\t\t\t<Icon icon={ tip } />\n\t\t\t<p>{ props.children }</p>\n\t\t</div>\n\t);\n}\n\nexport default Tip;\n"]}
@@ -60,7 +60,7 @@ function ToggleGroupControl(props, forwardedRef) {
60
60
  radio.setState(value);
61
61
  }
62
62
  }, [value]);
63
- const classes = useMemo(() => cx(styles.ToggleGroupControl, isBlock && styles.block, 'medium', className), [className, isBlock]);
63
+ const classes = useMemo(() => cx(styles.ToggleGroupControl, isBlock && styles.block, 'medium', className), [className, cx, isBlock]);
64
64
  return createElement(BaseControl, {
65
65
  help: help
66
66
  }, createElement(ToggleGroupControlContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"names":["RadioGroup","useRadioState","useRef","useMemo","useMergeRefs","useInstanceId","usePrevious","contextConnect","useContextSystem","useUpdateEffect","useCx","View","BaseControl","ToggleGroupControlContext","styles","noop","ToggleGroupControl","props","forwardedRef","className","isAdaptiveWidth","isBlock","label","hideLabelFromVision","help","onChange","value","children","otherProps","cx","containerRef","baseId","toString","radio","state","previousValue","setState","classes","block","ConnectedToggleGroupControl"],"mappings":";;;AAAA;AACA;AACA;AAEA;AACA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,QAA1C;AAEA;AACA;AACA;;AAEA,SAASC,MAAT,EAAiBC,OAAjB,QAAgC,oBAAhC;AACA,SAASC,YAAT,EAAuBC,aAAvB,EAAsCC,WAAtC,QAAyD,oBAAzD;AAEA;AACA;AACA;;AACA,SACCC,cADD,EAECC,gBAFD,QAIO,kBAJP;AAKA,SAASC,eAAT,EAA0BC,KAA1B,QAAuC,mBAAvC;AACA,SAASC,IAAT,QAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,oBAAxB;AAEA,OAAOC,yBAAP,MAAsC,YAAtC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;;AAEA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,kBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,eAAe,GAAG,KAFb;AAGLC,IAAAA,OAAO,GAAG,KAHL;AAILC,IAAAA,KAJK;AAKLC,IAAAA,mBAAmB,GAAG,KALjB;AAMLC,IAAAA,IANK;AAOLC,IAAAA,QAAQ,GAAGV,IAPN;AAQLW,IAAAA,KARK;AASLC,IAAAA,QATK;AAUL,OAAGC;AAVE,MAWFpB,gBAAgB,CAAES,KAAF,EAAS,oBAAT,CAXpB;AAYA,QAAMY,EAAE,GAAGnB,KAAK,EAAhB;AACA,QAAMoB,YAAY,GAAG5B,MAAM,EAA3B;AACA,QAAM6B,MAAM,GAAG1B,aAAa,CAC3BW,kBAD2B,EAE3B,sBAF2B,CAAb,CAGbgB,QAHa,EAAf;AAIA,QAAMC,KAAK,GAAGhC,aAAa,CAAE;AAC5B8B,IAAAA,MAD4B;AAE5BG,IAAAA,KAAK,EAAER;AAFqB,GAAF,CAA3B;AAIA,QAAMS,aAAa,GAAG7B,WAAW,CAAEoB,KAAF,CAAjC,CAvBC,CAyBD;;AACAjB,EAAAA,eAAe,CAAE,MAAM;AACtB;AACA;AACA,QAAK0B,aAAa,KAAKF,KAAK,CAACC,KAA7B,EAAqC;AACpCT,MAAAA,QAAQ,CAAEQ,KAAK,CAACC,KAAR,CAAR;AACA;AACD,GANc,EAMZ,CAAED,KAAK,CAACC,KAAR,CANY,CAAf,CA1BC,CAkCD;;AACAzB,EAAAA,eAAe,CAAE,MAAM;AACtB,QAAKiB,KAAK,KAAKO,KAAK,CAACC,KAArB,EAA6B;AAC5BD,MAAAA,KAAK,CAACG,QAAN,CAAgBV,KAAhB;AACA;AACD,GAJc,EAIZ,CAAEA,KAAF,CAJY,CAAf;AAMA,QAAMW,OAAO,GAAGlC,OAAO,CACtB,MACC0B,EAAE,CACDf,MAAM,CAACE,kBADN,EAEDK,OAAO,IAAIP,MAAM,CAACwB,KAFjB,EAGD,QAHC,EAIDnB,SAJC,CAFmB,EAQtB,CAAEA,SAAF,EAAaE,OAAb,CARsB,CAAvB;AAUA,SACC,cAAC,WAAD;AAAa,IAAA,IAAI,EAAGG;AAApB,KACC,cAAC,yBAAD,CAA2B,QAA3B;AACC,IAAA,KAAK,EAAG,EAAE,GAAGS,KAAL;AAAYZ,MAAAA,OAAO,EAAE,CAAED;AAAvB;AADT,KAGG,CAAEG,mBAAF,IACD,2BACC,cAAC,WAAD,CAAa,WAAb,QACGD,KADH,CADD,CAJF,EAUC,cAAC,UAAD,eACMW,KADN;AAEC,kBAAaX,KAFd;AAGC,IAAA,EAAE,EAAGX,IAHN;AAIC,IAAA,SAAS,EAAG0B;AAJb,KAKMT,UALN;AAMC,IAAA,GAAG,EAAGxB,YAAY,CAAE,CAAE0B,YAAF,EAAgBZ,YAAhB,CAAF;AANnB,MAQGS,QARH,CAVD,CADD,CADD;AAyBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMY,2BAA2B,GAAGhC,cAAc,CACjDS,kBADiD,EAEjD,oBAFiD,CAAlD;AAKA,eAAeuB,2BAAf","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { RadioGroup, useRadioState } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { useMergeRefs, useInstanceId, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useUpdateEffect, useCx } from '../../utils/hooks';\nimport { View } from '../../view';\nimport BaseControl from '../../base-control';\nimport type { ToggleGroupControlProps } from '../types';\nimport ToggleGroupControlContext from '../context';\nimport * as styles from './styles';\n\nconst noop = () => {};\n\nfunction ToggleGroupControl(\n\tprops: WordPressComponentProps< ToggleGroupControlProps, 'input' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst {\n\t\tclassName,\n\t\tisAdaptiveWidth = false,\n\t\tisBlock = false,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tonChange = noop,\n\t\tvalue,\n\t\tchildren,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToggleGroupControl' );\n\tconst cx = useCx();\n\tconst containerRef = useRef();\n\tconst baseId = useInstanceId(\n\t\tToggleGroupControl,\n\t\t'toggle-group-control'\n\t).toString();\n\tconst radio = useRadioState( {\n\t\tbaseId,\n\t\tstate: value,\n\t} );\n\tconst previousValue = usePrevious( value );\n\n\t// Propagate radio.state change\n\tuseUpdateEffect( () => {\n\t\t// Avoid calling onChange if radio state changed\n\t\t// from incoming value.\n\t\tif ( previousValue !== radio.state ) {\n\t\t\tonChange( radio.state );\n\t\t}\n\t}, [ radio.state ] );\n\n\t// Sync incoming value with radio.state\n\tuseUpdateEffect( () => {\n\t\tif ( value !== radio.state ) {\n\t\t\tradio.setState( value );\n\t\t}\n\t}, [ value ] );\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.ToggleGroupControl,\n\t\t\t\tisBlock && styles.block,\n\t\t\t\t'medium',\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, isBlock ]\n\t);\n\treturn (\n\t\t<BaseControl help={ help }>\n\t\t\t<ToggleGroupControlContext.Provider\n\t\t\t\tvalue={ { ...radio, isBlock: ! isAdaptiveWidth } }\n\t\t\t>\n\t\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<RadioGroup\n\t\t\t\t\t{ ...radio }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tas={ View }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\tref={ useMergeRefs( [ containerRef, forwardedRef ] ) }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</RadioGroup>\n\t\t\t</ToggleGroupControlContext.Provider>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `ToggleGroupControl` is a form component that lets users choose options\n * represented in horizontal segments. To render options for this control use\n * `ToggleGroupControlOption` component.\n *\n * Only use this control when you know for sure the labels of items inside won't\n * wrap. For items with longer labels, you can consider a `SelectControl` or a\n * `CustomSelectControl` component instead.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControl = contextConnect(\n\tToggleGroupControl,\n\t'ToggleGroupControl'\n);\n\nexport default ConnectedToggleGroupControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"names":["RadioGroup","useRadioState","useRef","useMemo","useMergeRefs","useInstanceId","usePrevious","contextConnect","useContextSystem","useUpdateEffect","useCx","View","BaseControl","ToggleGroupControlContext","styles","noop","ToggleGroupControl","props","forwardedRef","className","isAdaptiveWidth","isBlock","label","hideLabelFromVision","help","onChange","value","children","otherProps","cx","containerRef","baseId","toString","radio","state","previousValue","setState","classes","block","ConnectedToggleGroupControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { RadioGroup, useRadioState } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { useMergeRefs, useInstanceId, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useUpdateEffect, useCx } from '../../utils/hooks';\nimport { View } from '../../view';\nimport BaseControl from '../../base-control';\nimport type { ToggleGroupControlProps } from '../types';\nimport ToggleGroupControlContext from '../context';\nimport * as styles from './styles';\n\nconst noop = () => {};\n\nfunction ToggleGroupControl(\n\tprops: WordPressComponentProps< ToggleGroupControlProps, 'input' >,\n\tforwardedRef: Ref< any >\n) {\n\tconst {\n\t\tclassName,\n\t\tisAdaptiveWidth = false,\n\t\tisBlock = false,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tonChange = noop,\n\t\tvalue,\n\t\tchildren,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToggleGroupControl' );\n\tconst cx = useCx();\n\tconst containerRef = useRef();\n\tconst baseId = useInstanceId(\n\t\tToggleGroupControl,\n\t\t'toggle-group-control'\n\t).toString();\n\tconst radio = useRadioState( {\n\t\tbaseId,\n\t\tstate: value,\n\t} );\n\tconst previousValue = usePrevious( value );\n\n\t// Propagate radio.state change\n\tuseUpdateEffect( () => {\n\t\t// Avoid calling onChange if radio state changed\n\t\t// from incoming value.\n\t\tif ( previousValue !== radio.state ) {\n\t\t\tonChange( radio.state );\n\t\t}\n\t}, [ radio.state ] );\n\n\t// Sync incoming value with radio.state\n\tuseUpdateEffect( () => {\n\t\tif ( value !== radio.state ) {\n\t\t\tradio.setState( value );\n\t\t}\n\t}, [ value ] );\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.ToggleGroupControl,\n\t\t\t\tisBlock && styles.block,\n\t\t\t\t'medium',\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx, isBlock ]\n\t);\n\treturn (\n\t\t<BaseControl help={ help }>\n\t\t\t<ToggleGroupControlContext.Provider\n\t\t\t\tvalue={ { ...radio, isBlock: ! isAdaptiveWidth } }\n\t\t\t>\n\t\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<RadioGroup\n\t\t\t\t\t{ ...radio }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tas={ View }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\tref={ useMergeRefs( [ containerRef, forwardedRef ] ) }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</RadioGroup>\n\t\t\t</ToggleGroupControlContext.Provider>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `ToggleGroupControl` is a form component that lets users choose options\n * represented in horizontal segments. To render options for this control use\n * `ToggleGroupControlOption` component.\n *\n * Only use this control when you know for sure the labels of items inside won't\n * wrap. For items with longer labels, you can consider a `SelectControl` or a\n * `CustomSelectControl` component instead.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nconst ConnectedToggleGroupControl = contextConnect(\n\tToggleGroupControl,\n\t'ToggleGroupControl'\n);\n\nexport default ConnectedToggleGroupControl;\n"]}
@@ -40,6 +40,8 @@ const generateMenuItems = _ref => {
40
40
  return menuItems;
41
41
  };
42
42
 
43
+ const isMenuItemTypeEmpty = obj => obj && Object.keys(obj).length === 0;
44
+
43
45
  export function useToolsPanel(props) {
44
46
  const {
45
47
  className,
@@ -134,22 +136,20 @@ export function useToolsPanel(props) {
134
136
 
135
137
  const [areAllOptionalControlsHidden, setAreAllOptionalControlsHidden] = useState(false);
136
138
  useEffect(() => {
137
- if (menuItems.optional) {
138
- const optionalItems = Object.entries(menuItems.optional);
139
- const allControlsHidden = optionalItems.length > 0 && !optionalItems.some(_ref3 => {
139
+ if (isMenuItemTypeEmpty(menuItems === null || menuItems === void 0 ? void 0 : menuItems.default) && !isMenuItemTypeEmpty(menuItems === null || menuItems === void 0 ? void 0 : menuItems.optional)) {
140
+ const allControlsHidden = !Object.entries(menuItems.optional).some(_ref3 => {
140
141
  let [, isSelected] = _ref3;
141
142
  return isSelected;
142
143
  });
143
144
  setAreAllOptionalControlsHidden(allControlsHidden);
144
145
  }
145
- }, [menuItems.optional, setAreAllOptionalControlsHidden]);
146
+ }, [menuItems, setAreAllOptionalControlsHidden]);
146
147
  const cx = useCx();
147
148
  const classes = useMemo(() => {
148
- const hasDefaultMenuItems = (menuItems === null || menuItems === void 0 ? void 0 : menuItems.default) && !!Object.keys(menuItems === null || menuItems === void 0 ? void 0 : menuItems.default).length;
149
149
  const wrapperStyle = hasInnerWrapper && styles.ToolsPanelWithInnerWrapper(DEFAULT_COLUMNS);
150
- const emptyStyle = !hasDefaultMenuItems && areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
150
+ const emptyStyle = isMenuItemTypeEmpty(menuItems === null || menuItems === void 0 ? void 0 : menuItems.default) && areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
151
151
  return cx(styles.ToolsPanel, wrapperStyle, emptyStyle, className);
152
- }, [areAllOptionalControlsHidden, className, hasInnerWrapper, menuItems]); // Toggle the checked state of a menu item which is then used to determine
152
+ }, [areAllOptionalControlsHidden, className, cx, hasInnerWrapper, menuItems]); // Toggle the checked state of a menu item which is then used to determine
153
153
  // display of the item within the panel.
154
154
 
155
155
  const toggleItem = useCallback(label => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","currentMenuItems","menuItems","default","optional","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","undefined","useToolsPanel","props","className","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","isResetting","wasResetting","current","setPanelItems","registerPanelItem","item","items","newItems","existingIndex","findIndex","oldItem","splice","deregisterPanelItem","index","setMenuItems","prevState","flagItemCustomization","newState","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","optionalItems","Object","entries","allControlsHidden","length","some","isSelected","cx","classes","hasDefaultMenuItems","keys","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","newMenuItems","resetAllItems","filters","resetAllFilter","push","resetMenuItems","getFirstVisibleItemLabel","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","panelContext","hasMenuItems"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label already exists, do not overwrite its value.\n\t\t// This can cause default controls that have been flagged as customized to\n\t\t// lose their value.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value =\n\t\t\texistingItemValue !== undefined ? existingItemValue : hasValue();\n\n\t\tmenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\treturn menuItems;\n};\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper,\n\t\tshouldRenderPlaceholderItems,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\n\tconst registerPanelItem = useCallback(\n\t\t( item: ToolsPanelItem ) => {\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t\t// and optional groups.\n\t\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t\t( oldItem ) => oldItem.label === item.label\n\t\t\t\t);\n\t\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t\t}\n\t\t\t\treturn [ ...newItems, item ];\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback(\n\t\t( label: string ) => {\n\t\t\t// When switching selections between components injecting matching\n\t\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t\t// deregistration of the first panel doesn't occur until after the\n\t\t\t// registration of the next.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\tconst index = newItems.findIndex(\n\t\t\t\t\t( item ) => item.label === label\n\t\t\t\t);\n\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\t}\n\t\t\t\treturn newItems;\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tsetMenuItems( ( prevState ) => {\n\t\t\tconst items = generateMenuItems( {\n\t\t\t\tpanelItems,\n\t\t\t\tshouldReset: false,\n\t\t\t\tcurrentMenuItems: prevState,\n\t\t\t} );\n\t\t\treturn items;\n\t\t} );\n\t}, [ generateMenuItems, panelItems, setMenuItems ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t// we need to update that when their value is customized.\n\tconst flagItemCustomization = useCallback(\n\t\t( label: string, group: ToolsPanelMenuItemKey = 'default' ) => {\n\t\t\tsetMenuItems( ( items ) => {\n\t\t\t\tconst newState = {\n\t\t\t\t\t...items,\n\t\t\t\t\t[ group ]: {\n\t\t\t\t\t\t...items[ group ],\n\t\t\t\t\t\t[ label ]: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn newState;\n\t\t\t} );\n\t\t},\n\t\t[ setMenuItems ]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [\n\t\tareAllOptionalControlsHidden,\n\t\tsetAreAllOptionalControlsHidden,\n\t] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( menuItems.optional ) {\n\t\t\tconst optionalItems = Object.entries( menuItems.optional );\n\t\t\tconst allControlsHidden =\n\t\t\t\toptionalItems.length > 0 &&\n\t\t\t\t! optionalItems.some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems.optional, setAreAllOptionalControlsHidden ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst hasDefaultMenuItems =\n\t\t\tmenuItems?.default && !! Object.keys( menuItems?.default ).length;\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\t! hasDefaultMenuItems &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx( styles.ToolsPanel, wrapperStyle, emptyStyle, className );\n\t}, [\n\t\tareAllOptionalControlsHidden,\n\t\tclassName,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback(\n\t\t( label: string ) => {\n\t\t\tconst currentItem = panelItems.find(\n\t\t\t\t( item ) => item.label === label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tsetMenuItems( newMenuItems );\n\t\t},\n\t\t[ menuItems, panelItems, setMenuItems ]\n\t);\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\n\t\t\t// Collect available reset filters from panel items.\n\t\t\tconst filters: Array< () => void > = [];\n\t\t\tpanelItems.forEach( ( item ) => {\n\t\t\t\tif ( item.resetAllFilter ) {\n\t\t\t\t\tfilters.push( item.resetAllFilter );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tresetAll( filters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t}, [\n\t\tgenerateMenuItems,\n\t\tisResetting.current,\n\t\tpanelItems,\n\t\tresetAll,\n\t\tsetMenuItems,\n\t] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || !! optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems: !! panelItems.length,\n\t\t\tisResetting: isResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tisResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tpanelItems,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","currentMenuItems","menuItems","default","optional","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","undefined","isMenuItemTypeEmpty","obj","Object","keys","length","useToolsPanel","props","className","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","isResetting","wasResetting","current","setPanelItems","registerPanelItem","item","items","newItems","existingIndex","findIndex","oldItem","splice","deregisterPanelItem","index","setMenuItems","prevState","flagItemCustomization","newState","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","allControlsHidden","entries","some","isSelected","cx","classes","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","newMenuItems","resetAllItems","filters","resetAllFilter","push","resetMenuItems","getFirstVisibleItemLabel","optionalItems","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","panelContext","hasMenuItems"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label already exists, do not overwrite its value.\n\t\t// This can cause default controls that have been flagged as customized to\n\t\t// lose their value.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value =\n\t\t\texistingItemValue !== undefined ? existingItemValue : hasValue();\n\n\t\tmenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\treturn menuItems;\n};\n\nconst isMenuItemTypeEmpty = (\n\tobj?: ToolsPanelMenuItems[ ToolsPanelMenuItemKey ]\n) => obj && Object.keys( obj ).length === 0;\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper,\n\t\tshouldRenderPlaceholderItems,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\n\tconst registerPanelItem = useCallback(\n\t\t( item: ToolsPanelItem ) => {\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t\t// and optional groups.\n\t\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t\t( oldItem ) => oldItem.label === item.label\n\t\t\t\t);\n\t\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t\t}\n\t\t\t\treturn [ ...newItems, item ];\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback(\n\t\t( label: string ) => {\n\t\t\t// When switching selections between components injecting matching\n\t\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t\t// deregistration of the first panel doesn't occur until after the\n\t\t\t// registration of the next.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\tconst index = newItems.findIndex(\n\t\t\t\t\t( item ) => item.label === label\n\t\t\t\t);\n\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\t}\n\t\t\t\treturn newItems;\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tsetMenuItems( ( prevState ) => {\n\t\t\tconst items = generateMenuItems( {\n\t\t\t\tpanelItems,\n\t\t\t\tshouldReset: false,\n\t\t\t\tcurrentMenuItems: prevState,\n\t\t\t} );\n\t\t\treturn items;\n\t\t} );\n\t}, [ generateMenuItems, panelItems, setMenuItems ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t// we need to update that when their value is customized.\n\tconst flagItemCustomization = useCallback(\n\t\t( label: string, group: ToolsPanelMenuItemKey = 'default' ) => {\n\t\t\tsetMenuItems( ( items ) => {\n\t\t\t\tconst newState = {\n\t\t\t\t\t...items,\n\t\t\t\t\t[ group ]: {\n\t\t\t\t\t\t...items[ group ],\n\t\t\t\t\t\t[ label ]: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn newState;\n\t\t\t} );\n\t\t},\n\t\t[ setMenuItems ]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [\n\t\tareAllOptionalControlsHidden,\n\t\tsetAreAllOptionalControlsHidden,\n\t] = useState( false );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\t! isMenuItemTypeEmpty( menuItems?.optional )\n\t\t) {\n\t\t\tconst allControlsHidden = ! Object.entries(\n\t\t\t\tmenuItems.optional\n\t\t\t).some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems, setAreAllOptionalControlsHidden ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx( styles.ToolsPanel, wrapperStyle, emptyStyle, className );\n\t}, [\n\t\tareAllOptionalControlsHidden,\n\t\tclassName,\n\t\tcx,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback(\n\t\t( label: string ) => {\n\t\t\tconst currentItem = panelItems.find(\n\t\t\t\t( item ) => item.label === label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tsetMenuItems( newMenuItems );\n\t\t},\n\t\t[ menuItems, panelItems, setMenuItems ]\n\t);\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\n\t\t\t// Collect available reset filters from panel items.\n\t\t\tconst filters: Array< () => void > = [];\n\t\t\tpanelItems.forEach( ( item ) => {\n\t\t\t\tif ( item.resetAllFilter ) {\n\t\t\t\t\tfilters.push( item.resetAllFilter );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tresetAll( filters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t}, [\n\t\tgenerateMenuItems,\n\t\tisResetting.current,\n\t\tpanelItems,\n\t\tresetAll,\n\t\tsetMenuItems,\n\t] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || !! optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems: !! panelItems.length,\n\t\t\tisResetting: isResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tisResetting.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tpanelItems,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
@@ -18,13 +18,13 @@ export function useToolsPanelHeader(props) {
18
18
  const cx = useCx();
19
19
  const classes = useMemo(() => {
20
20
  return cx(styles.ToolsPanelHeader, className);
21
- }, [className]);
21
+ }, [className, cx]);
22
22
  const dropdownMenuClassName = useMemo(() => {
23
23
  return cx(styles.DropdownMenu);
24
- }, []);
24
+ }, [cx]);
25
25
  const headingClassName = useMemo(() => {
26
26
  return cx(styles.ToolsPanelHeading);
27
- }, []);
27
+ }, [cx]);
28
28
  const {
29
29
  menuItems,
30
30
  hasMenuItems,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/hook.ts"],"names":["useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelHeader","props","className","otherProps","cx","classes","ToolsPanelHeader","dropdownMenuClassName","DropdownMenu","headingClassName","ToolsPanelHeading","menuItems","hasMenuItems","areAllOptionalControlsHidden"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,0BAAtB;AAGA,OAAO,SAASC,mBAAT,CACNC,KADM,EAEL;AACD,QAAM;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,MAA+BL,gBAAgB,CACpDG,KADoD,EAEpD,kBAFoD,CAArD;AAKA,QAAMG,EAAE,GAAGL,KAAK,EAAhB;AACA,QAAMM,OAAO,GAAGV,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CAAER,MAAM,CAACU,gBAAT,EAA2BJ,SAA3B,CAAT;AACA,GAFsB,EAEpB,CAAEA,SAAF,CAFoB,CAAvB;AAIA,QAAMK,qBAAqB,GAAGZ,OAAO,CAAE,MAAM;AAC5C,WAAOS,EAAE,CAAER,MAAM,CAACY,YAAT,CAAT;AACA,GAFoC,EAElC,EAFkC,CAArC;AAIA,QAAMC,gBAAgB,GAAGd,OAAO,CAAE,MAAM;AACvC,WAAOS,EAAE,CAAER,MAAM,CAACc,iBAAT,CAAT;AACA,GAF+B,EAE7B,EAF6B,CAAhC;AAIA,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA;AAHK,MAIFhB,oBAAoB,EAJxB;AAMA,SAAO,EACN,GAAGM,UADG;AAENU,IAAAA,4BAFM;AAGNN,IAAAA,qBAHM;AAINK,IAAAA,YAJM;AAKNH,IAAAA,gBALM;AAMNE,IAAAA,SANM;AAONT,IAAAA,SAAS,EAAEG;AAPL,GAAP;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelHeaderProps } from '../types';\n\nexport function useToolsPanelHeader(\n\tprops: WordPressComponentProps< ToolsPanelHeaderProps, 'h2' >\n) {\n\tconst { className, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'ToolsPanelHeader'\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.ToolsPanelHeader, className );\n\t}, [ className ] );\n\n\tconst dropdownMenuClassName = useMemo( () => {\n\t\treturn cx( styles.DropdownMenu );\n\t}, [] );\n\n\tconst headingClassName = useMemo( () => {\n\t\treturn cx( styles.ToolsPanelHeading );\n\t}, [] );\n\n\tconst {\n\t\tmenuItems,\n\t\thasMenuItems,\n\t\tareAllOptionalControlsHidden,\n\t} = useToolsPanelContext();\n\n\treturn {\n\t\t...otherProps,\n\t\tareAllOptionalControlsHidden,\n\t\tdropdownMenuClassName,\n\t\thasMenuItems,\n\t\theadingClassName,\n\t\tmenuItems,\n\t\tclassName: classes,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/hook.ts"],"names":["useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelHeader","props","className","otherProps","cx","classes","ToolsPanelHeader","dropdownMenuClassName","DropdownMenu","headingClassName","ToolsPanelHeading","menuItems","hasMenuItems","areAllOptionalControlsHidden"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,0BAAtB;AAGA,OAAO,SAASC,mBAAT,CACNC,KADM,EAEL;AACD,QAAM;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,MAA+BL,gBAAgB,CACpDG,KADoD,EAEpD,kBAFoD,CAArD;AAKA,QAAMG,EAAE,GAAGL,KAAK,EAAhB;AACA,QAAMM,OAAO,GAAGV,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CAAER,MAAM,CAACU,gBAAT,EAA2BJ,SAA3B,CAAT;AACA,GAFsB,EAEpB,CAAEA,SAAF,EAAaE,EAAb,CAFoB,CAAvB;AAIA,QAAMG,qBAAqB,GAAGZ,OAAO,CAAE,MAAM;AAC5C,WAAOS,EAAE,CAAER,MAAM,CAACY,YAAT,CAAT;AACA,GAFoC,EAElC,CAAEJ,EAAF,CAFkC,CAArC;AAIA,QAAMK,gBAAgB,GAAGd,OAAO,CAAE,MAAM;AACvC,WAAOS,EAAE,CAAER,MAAM,CAACc,iBAAT,CAAT;AACA,GAF+B,EAE7B,CAAEN,EAAF,CAF6B,CAAhC;AAIA,QAAM;AACLO,IAAAA,SADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA;AAHK,MAIFhB,oBAAoB,EAJxB;AAMA,SAAO,EACN,GAAGM,UADG;AAENU,IAAAA,4BAFM;AAGNN,IAAAA,qBAHM;AAINK,IAAAA,YAJM;AAKNH,IAAAA,gBALM;AAMNE,IAAAA,SANM;AAONT,IAAAA,SAAS,EAAEG;AAPL,GAAP;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelHeaderProps } from '../types';\n\nexport function useToolsPanelHeader(\n\tprops: WordPressComponentProps< ToolsPanelHeaderProps, 'h2' >\n) {\n\tconst { className, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'ToolsPanelHeader'\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.ToolsPanelHeader, className );\n\t}, [ className, cx ] );\n\n\tconst dropdownMenuClassName = useMemo( () => {\n\t\treturn cx( styles.DropdownMenu );\n\t}, [ cx ] );\n\n\tconst headingClassName = useMemo( () => {\n\t\treturn cx( styles.ToolsPanelHeading );\n\t}, [ cx ] );\n\n\tconst {\n\t\tmenuItems,\n\t\thasMenuItems,\n\t\tareAllOptionalControlsHidden,\n\t} = useToolsPanelContext();\n\n\treturn {\n\t\t...otherProps,\n\t\tareAllOptionalControlsHidden,\n\t\tdropdownMenuClassName,\n\t\thasMenuItems,\n\t\theadingClassName,\n\t\tmenuItems,\n\t\tclassName: classes,\n\t};\n}\n"]}
@@ -100,7 +100,7 @@ export function useToolsPanelItem(props) {
100
100
  const firstItemStyle = firstDisplayedItem === label && __experimentalFirstVisibleItemClass;
101
101
  const lastItemStyle = lastDisplayedItem === label && __experimentalLastVisibleItemClass;
102
102
  return cx(styles.ToolsPanelItem, placeholderStyle, className, firstItemStyle, lastItemStyle);
103
- }, [isShown, shouldRenderPlaceholder, className, firstDisplayedItem, lastDisplayedItem, __experimentalFirstVisibleItemClass, __experimentalLastVisibleItemClass]);
103
+ }, [isShown, shouldRenderPlaceholder, className, cx, firstDisplayedItem, lastDisplayedItem, __experimentalFirstVisibleItemClass, __experimentalLastVisibleItemClass]);
104
104
  return { ...otherProps,
105
105
  isShown,
106
106
  shouldRenderPlaceholder,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","hasValueCallback","resetAllFilterCallback","previousPanelId","hasMatchingPanel","isValueSet","wasValueSet","menuGroup","isMenuItemChecked","wasMenuItemChecked","isShown","undefined","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","firstItemStyle","lastItemStyle","ToolsPanelItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [ panelId ] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tresetAllFilter: resetAllFilterCallback,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tresetAllFilterCallback,\n\t] );\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\n\t// If this item represents a default control it will need to notify the\n\t// panel when a custom value has been set.\n\tuseEffect( () => {\n\t\tif ( isShownByDefault && isValueSet && ! wasValueSet ) {\n\t\t\tflagItemCustomization( label );\n\t\t}\n\t}, [ isValueSet, wasValueSet, isShownByDefault, label ] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\tif ( isResetting || ! hasMatchingPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst placeholderStyle =\n\t\t\tshouldRenderPlaceholder &&\n\t\t\t! isShown &&\n\t\t\tstyles.ToolsPanelItemPlaceholder;\n\t\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tplaceholderStyle,\n\t\t\tclassName,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","hasValueCallback","resetAllFilterCallback","previousPanelId","hasMatchingPanel","isValueSet","wasValueSet","menuGroup","isMenuItemChecked","wasMenuItemChecked","isShown","undefined","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","firstItemStyle","lastItemStyle","ToolsPanelItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [ panelId ] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tresetAllFilter: resetAllFilterCallback,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tresetAllFilterCallback,\n\t] );\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\n\t// If this item represents a default control it will need to notify the\n\t// panel when a custom value has been set.\n\tuseEffect( () => {\n\t\tif ( isShownByDefault && isValueSet && ! wasValueSet ) {\n\t\t\tflagItemCustomization( label );\n\t\t}\n\t}, [ isValueSet, wasValueSet, isShownByDefault, label ] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\tif ( isResetting || ! hasMatchingPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst placeholderStyle =\n\t\t\tshouldRenderPlaceholder &&\n\t\t\t! isShown &&\n\t\t\tstyles.ToolsPanelItemPlaceholder;\n\t\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tplaceholderStyle,\n\t\t\tclassName,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tcx,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}