@feathery/react 2.6.8 → 2.7.1

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 (314) hide show
  1. package/dist/Form/components/AIExtractionToast/ExtractionItem.d.ts +5 -5
  2. package/dist/Form/components/AIExtractionToast/icons.d.ts +7 -7
  3. package/dist/Form/components/AIExtractionToast/index.d.ts +8 -8
  4. package/dist/Form/components/AIExtractionToast/useAIExtractionToast.d.ts +64 -64
  5. package/dist/Form/components/DevNavBar.d.ts +1 -1
  6. package/dist/Form/components/ReactPortal.d.ts +2 -2
  7. package/dist/Form/definitions.d.ts +40 -40
  8. package/dist/Form/grid/CalendlyEmbed.d.ts +1 -1
  9. package/dist/Form/grid/Container/index.d.ts +19 -19
  10. package/dist/Form/grid/Element/index.d.ts +2 -2
  11. package/dist/Form/grid/Element/utils/address.d.ts +3 -3
  12. package/dist/Form/grid/Element/utils/utils.d.ts +13 -13
  13. package/dist/Form/grid/StyledContainer/hooks/index.d.ts +20 -20
  14. package/dist/Form/grid/StyledContainer/hooks/useFixedContainer.d.ts +1 -1
  15. package/dist/Form/grid/StyledContainer/index.d.ts +21 -21
  16. package/dist/Form/grid/StyledContainer/styles.d.ts +5 -5
  17. package/dist/Form/grid/StyledContainer/transform.d.ts +4 -4
  18. package/dist/Form/grid/StyledContainer/utils.d.ts +44 -44
  19. package/dist/Form/grid/index.d.ts +2 -2
  20. package/dist/Form/hooks/useCheckButtonAction.d.ts +6 -6
  21. package/dist/Form/hooks/useTrackUserInteraction.d.ts +2 -2
  22. package/dist/Form/index.d.ts +52 -52
  23. package/dist/Form/logic.d.ts +10 -10
  24. package/dist/Form/tests/testMocks.d.ts +6 -6
  25. package/dist/auth/LoginError.d.ts +3 -3
  26. package/dist/auth/LoginForm.d.ts +29 -29
  27. package/dist/auth/internal/AuthIntegrationInterface.d.ts +31 -31
  28. package/dist/auth/internal/useFormAuth.d.ts +10 -10
  29. package/dist/auth/internal/utils.d.ts +13 -13
  30. package/dist/auth/useAuthClient.d.ts +2 -2
  31. package/dist/auth/utils.d.ts +1 -1
  32. package/dist/elements/basic/ButtonElement.d.ts +2 -2
  33. package/dist/elements/basic/ImageElement.d.ts +3 -3
  34. package/dist/elements/basic/ProgressBarElement/components/SegmentBar.d.ts +2 -2
  35. package/dist/elements/basic/ProgressBarElement/components/SmoothBar.d.ts +2 -2
  36. package/dist/elements/basic/ProgressBarElement/index.d.ts +2 -2
  37. package/dist/elements/basic/TextElement.d.ts +2 -2
  38. package/dist/elements/basic/VideoElement.d.ts +2 -2
  39. package/dist/elements/components/ErrorInput.d.ts +2 -2
  40. package/dist/elements/components/FormControl.d.ts +10 -10
  41. package/dist/elements/components/FormOff.d.ts +10 -10
  42. package/dist/elements/components/InlineTooltip.d.ts +11 -11
  43. package/dist/elements/components/LoaderContainer.d.ts +10 -10
  44. package/dist/elements/components/Lottie.d.ts +2 -2
  45. package/dist/elements/components/Overlay.d.ts +15 -15
  46. package/dist/elements/components/Placeholder.d.ts +1 -1
  47. package/dist/elements/components/QuikFormViewer/transforms/form.d.ts +1 -1
  48. package/dist/elements/components/QuikFormViewer/transforms/header.d.ts +1 -1
  49. package/dist/elements/components/QuikFormViewer/transforms/sidebar.d.ts +6 -6
  50. package/dist/elements/components/QuikFormViewer.d.ts +9 -9
  51. package/dist/elements/components/Spinner.d.ts +4 -4
  52. package/dist/elements/components/TextHoverTooltip.d.ts +8 -8
  53. package/dist/elements/components/TextNodes.d.ts +4 -4
  54. package/dist/elements/components/Tooltip.d.ts +7 -7
  55. package/dist/elements/components/Watermark.d.ts +1 -1
  56. package/dist/elements/components/data/countries.d.ts +14 -14
  57. package/dist/elements/components/data/states/ae.d.ts +5 -5
  58. package/dist/elements/components/data/states/au.d.ts +5 -5
  59. package/dist/elements/components/data/states/br.d.ts +5 -5
  60. package/dist/elements/components/data/states/ca.d.ts +5 -5
  61. package/dist/elements/components/data/states/cl.d.ts +5 -5
  62. package/dist/elements/components/data/states/cn.d.ts +5 -5
  63. package/dist/elements/components/data/states/co.d.ts +5 -5
  64. package/dist/elements/components/data/states/eg.d.ts +5 -5
  65. package/dist/elements/components/data/states/es.d.ts +5 -5
  66. package/dist/elements/components/data/states/gb.d.ts +5 -5
  67. package/dist/elements/components/data/states/gt.d.ts +5 -5
  68. package/dist/elements/components/data/states/hk.d.ts +5 -5
  69. package/dist/elements/components/data/states/id.d.ts +5 -5
  70. package/dist/elements/components/data/states/ie.d.ts +5 -5
  71. package/dist/elements/components/data/states/in.d.ts +5 -5
  72. package/dist/elements/components/data/states/index.d.ts +6 -6
  73. package/dist/elements/components/data/states/it.d.ts +5 -5
  74. package/dist/elements/components/data/states/jp.d.ts +5 -5
  75. package/dist/elements/components/data/states/kr.d.ts +5 -5
  76. package/dist/elements/components/data/states/mx.d.ts +5 -5
  77. package/dist/elements/components/data/states/my.d.ts +5 -5
  78. package/dist/elements/components/data/states/ng.d.ts +5 -5
  79. package/dist/elements/components/data/states/nz.d.ts +5 -5
  80. package/dist/elements/components/data/states/pa.d.ts +5 -5
  81. package/dist/elements/components/data/states/pe.d.ts +5 -5
  82. package/dist/elements/components/data/states/ph.d.ts +5 -5
  83. package/dist/elements/components/data/states/pt.d.ts +5 -5
  84. package/dist/elements/components/data/states/ro.d.ts +5 -5
  85. package/dist/elements/components/data/states/ru.d.ts +5 -5
  86. package/dist/elements/components/data/states/th.d.ts +5 -5
  87. package/dist/elements/components/data/states/us.d.ts +9 -9
  88. package/dist/elements/components/data/states/za.d.ts +5 -5
  89. package/dist/elements/components/icons/Close.d.ts +6 -6
  90. package/dist/elements/components/icons/DiagonalArrow.d.ts +5 -5
  91. package/dist/elements/components/icons/DownloadIcon.d.ts +4 -4
  92. package/dist/elements/components/icons/FileUpload.d.ts +1 -1
  93. package/dist/elements/components/icons/FormClosed.d.ts +5 -5
  94. package/dist/elements/components/icons/Heart.d.ts +1 -1
  95. package/dist/elements/components/icons/Help.d.ts +4 -4
  96. package/dist/elements/components/icons/HideEyeIcon.d.ts +5 -5
  97. package/dist/elements/components/icons/LeftChevron.d.ts +1 -1
  98. package/dist/elements/components/icons/RatingStar.d.ts +1 -1
  99. package/dist/elements/components/icons/RightChevron.d.ts +1 -1
  100. package/dist/elements/components/icons/ShowEyeIcon.d.ts +5 -5
  101. package/dist/elements/components/icons/Warning.d.ts +5 -5
  102. package/dist/elements/components/icons/index.d.ts +11 -11
  103. package/dist/elements/components/skeletons/FieldSkeleton.d.ts +7 -7
  104. package/dist/elements/components/useBorder.d.ts +21 -21
  105. package/dist/elements/components/useTextEdit.d.ts +6 -5
  106. package/dist/elements/components/useTextEdit.d.ts.map +1 -1
  107. package/dist/elements/fields/AddressLine1Field/index.d.ts +4 -4
  108. package/dist/elements/fields/AddressLine1Field/tests/test-utils.d.ts +33 -34
  109. package/dist/elements/fields/AddressLine1Field/tests/test-utils.d.ts.map +1 -1
  110. package/dist/elements/fields/AddressLine1Field/utils.d.ts +2 -2
  111. package/dist/elements/fields/ButtonGroupField/index.d.ts +2 -2
  112. package/dist/elements/fields/ButtonGroupField/tests/test-utils.d.ts +45 -46
  113. package/dist/elements/fields/ButtonGroupField/tests/test-utils.d.ts.map +1 -1
  114. package/dist/elements/fields/CheckboxField/index.d.ts +5 -5
  115. package/dist/elements/fields/CheckboxField/tests/test-utils.d.ts +19 -20
  116. package/dist/elements/fields/CheckboxField/tests/test-utils.d.ts.map +1 -1
  117. package/dist/elements/fields/CheckboxGroupField/index.d.ts +2 -2
  118. package/dist/elements/fields/CheckboxGroupField/tests/test-utils.d.ts +59 -60
  119. package/dist/elements/fields/CheckboxGroupField/tests/test-utils.d.ts.map +1 -1
  120. package/dist/elements/fields/ColorPickerField/index.d.ts +2 -2
  121. package/dist/elements/fields/ColorPickerField/tests/test-utils.d.ts +20 -21
  122. package/dist/elements/fields/ColorPickerField/tests/test-utils.d.ts.map +1 -1
  123. package/dist/elements/fields/CustomField/Status.d.ts +8 -8
  124. package/dist/elements/fields/CustomField/index.d.ts +3 -3
  125. package/dist/elements/fields/CustomField/template.d.ts +1 -1
  126. package/dist/elements/fields/CustomField/useCustomComponentIframe.d.ts +15 -15
  127. package/dist/elements/fields/DateSelectorField/index.d.ts +22 -22
  128. package/dist/elements/fields/DateSelectorField/index.d.ts.map +1 -1
  129. package/dist/elements/fields/DateSelectorField/styles.d.ts +4 -4
  130. package/dist/elements/fields/DateSelectorField/tests/test-utils.d.ts +73 -74
  131. package/dist/elements/fields/DateSelectorField/tests/test-utils.d.ts.map +1 -1
  132. package/dist/elements/fields/DateSelectorField/useDateLocale.d.ts +7 -7
  133. package/dist/elements/fields/DateSelectorField/utils.d.ts +3 -3
  134. package/dist/elements/fields/DropdownField/index.d.ts +1 -1
  135. package/dist/elements/fields/DropdownField/tests/test-utils.d.ts +26 -28
  136. package/dist/elements/fields/DropdownField/tests/test-utils.d.ts.map +1 -1
  137. package/dist/elements/fields/DropdownMultiField/DropdownMultiFieldSelectComponents.d.ts +8 -8
  138. package/dist/elements/fields/DropdownMultiField/createDropdownSelect.d.ts +190 -190
  139. package/dist/elements/fields/DropdownMultiField/index.d.ts +1 -1
  140. package/dist/elements/fields/DropdownMultiField/optionNormalization.d.ts +9 -9
  141. package/dist/elements/fields/DropdownMultiField/selectStyles.d.ts +12 -12
  142. package/dist/elements/fields/DropdownMultiField/tests/test-utils.d.ts +46 -47
  143. package/dist/elements/fields/DropdownMultiField/tests/test-utils.d.ts.map +1 -1
  144. package/dist/elements/fields/DropdownMultiField/types.d.ts +49 -49
  145. package/dist/elements/fields/DropdownMultiField/useCollapsedSelectionManager.d.ts +46 -46
  146. package/dist/elements/fields/DropdownMultiField/useCollapsedValuesMeasurement.d.ts +19 -19
  147. package/dist/elements/fields/DropdownMultiField/useDropdownInteractions.d.ts +46 -46
  148. package/dist/elements/fields/DropdownMultiField/useDropdownOptions.d.ts +24 -24
  149. package/dist/elements/fields/DropdownMultiField/useSelectProps.d.ts +112 -112
  150. package/dist/elements/fields/FileUploadField/index.d.ts +2 -2
  151. package/dist/elements/fields/FileUploadField/tests/test-utils.d.ts +10 -10
  152. package/dist/elements/fields/MatrixField/index.d.ts +2 -2
  153. package/dist/elements/fields/MatrixField/tests/test-utils.d.ts +66 -67
  154. package/dist/elements/fields/MatrixField/tests/test-utils.d.ts.map +1 -1
  155. package/dist/elements/fields/PasswordField/index.d.ts +4 -4
  156. package/dist/elements/fields/PasswordField/tests/test-utils.d.ts +29 -30
  157. package/dist/elements/fields/PasswordField/tests/test-utils.d.ts.map +1 -1
  158. package/dist/elements/fields/PaymentMethodField.d.ts +4 -4
  159. package/dist/elements/fields/PhoneField/CountryDropdown.d.ts +3 -3
  160. package/dist/elements/fields/PhoneField/exampleNumbers.d.ts +2 -2
  161. package/dist/elements/fields/PhoneField/index.d.ts +4 -4
  162. package/dist/elements/fields/PhoneField/tests/test-utils.d.ts +85 -86
  163. package/dist/elements/fields/PhoneField/tests/test-utils.d.ts.map +1 -1
  164. package/dist/elements/fields/PhoneField/timeZoneCountries.d.ts +4 -4
  165. package/dist/elements/fields/PhoneField/validation.d.ts +3 -3
  166. package/dist/elements/fields/PinInputField/index.d.ts +2 -2
  167. package/dist/elements/fields/PinInputField/tests/test-utils.d.ts +78 -79
  168. package/dist/elements/fields/PinInputField/tests/test-utils.d.ts.map +1 -1
  169. package/dist/elements/fields/PinInputField/useOTPListener.d.ts +1 -1
  170. package/dist/elements/fields/QRScanner/constants.d.ts +14 -14
  171. package/dist/elements/fields/QRScanner/hooks/use-device-rotation.d.ts +11 -11
  172. package/dist/elements/fields/QRScanner/index.d.ts +2 -2
  173. package/dist/elements/fields/QRScanner/qrLoader.d.ts +2 -2
  174. package/dist/elements/fields/QRScanner/utils/local-storage.d.ts +5 -5
  175. package/dist/elements/fields/QRScanner/utils/select-camera.d.ts +9 -9
  176. package/dist/elements/fields/QRScanner/utils/supports-zoom.d.ts +8 -8
  177. package/dist/elements/fields/RadioButtonGroupField/index.d.ts +2 -2
  178. package/dist/elements/fields/RadioButtonGroupField/tests/test-utils.d.ts +54 -55
  179. package/dist/elements/fields/RadioButtonGroupField/tests/test-utils.d.ts.map +1 -1
  180. package/dist/elements/fields/RatingField/index.d.ts +1 -1
  181. package/dist/elements/fields/RatingField/tests/test-utils.d.ts +21 -22
  182. package/dist/elements/fields/RatingField/tests/test-utils.d.ts.map +1 -1
  183. package/dist/elements/fields/SignatureField/components/SignatureCanvas.d.ts +22 -22
  184. package/dist/elements/fields/SignatureField/components/SignatureModal.d.ts +12 -12
  185. package/dist/elements/fields/SignatureField/components/utils.d.ts +10 -10
  186. package/dist/elements/fields/SignatureField/index.d.ts +3 -3
  187. package/dist/elements/fields/SignatureField/translation.d.ts +17 -17
  188. package/dist/elements/fields/SliderField/index.d.ts +1 -1
  189. package/dist/elements/fields/SliderField/styles.d.ts +3 -3
  190. package/dist/elements/fields/SliderField/tests/test-utils.d.ts +21 -22
  191. package/dist/elements/fields/SliderField/tests/test-utils.d.ts.map +1 -1
  192. package/dist/elements/fields/TextArea/index.d.ts +4 -4
  193. package/dist/elements/fields/TextArea/tests/test-utils.d.ts +10 -10
  194. package/dist/elements/fields/TextField/TextAutocomplete.d.ts +15 -15
  195. package/dist/elements/fields/TextField/index.d.ts +4 -4
  196. package/dist/elements/fields/TextField/index.d.ts.map +1 -1
  197. package/dist/elements/fields/TextField/tests/test-utils.d.ts +10 -10
  198. package/dist/elements/fields/index.d.ts +27 -26
  199. package/dist/elements/fields/index.d.ts.map +1 -1
  200. package/dist/elements/fields/shared/tests/field-test-utils.d.ts +50 -51
  201. package/dist/elements/fields/shared/tests/field-test-utils.d.ts.map +1 -1
  202. package/dist/elements/index.d.ts +36 -36
  203. package/dist/elements/styles.d.ts +64 -64
  204. package/dist/elements/utils/fieldNormalization.d.ts +12 -12
  205. package/dist/fthry_FormControl.DxW_Bnm8.js +16 -0
  206. package/dist/fthry_InlineTooltip.CKU9xvD_.js +53 -0
  207. package/dist/fthry_Overlay.CAkqWcqE.js +228 -0
  208. package/dist/fthry_PaymentMethodField.DgbAXbj6.js +928 -0
  209. package/dist/fthry_Placeholder.Dns0M5df.js +14 -0
  210. package/dist/fthry_ShowEyeIcon.B5WMynZy.js +13 -0
  211. package/dist/fthry_index.3X-DqTfs.js +97 -0
  212. package/dist/fthry_index.B2eJWMcW.js +2000 -0
  213. package/dist/fthry_index.BMqtYXlU.js +8166 -0
  214. package/dist/fthry_index.BOBND5Kw.js +1427 -0
  215. package/dist/fthry_index.BOzMcNbx.js +1452 -0
  216. package/dist/fthry_index.BQObFcP7.js +15921 -0
  217. package/dist/fthry_index.CJrl9QNZ.js +888 -0
  218. package/dist/fthry_index.CcFhx1jU.js +73 -0
  219. package/dist/fthry_index.CcNVqQ7R.js +293 -0
  220. package/dist/fthry_index.CnVdemA5.js +1162 -0
  221. package/dist/fthry_index.CxRelutP.js +42 -0
  222. package/dist/fthry_index.D19e9CJD.js +1193 -0
  223. package/dist/fthry_index.D6UpFxPB.js +216 -0
  224. package/dist/fthry_index.DD4M0PFc.js +46 -0
  225. package/dist/fthry_index.DMgGgKWy.js +55 -0
  226. package/dist/fthry_index.DQB3aI2u.js +95 -0
  227. package/dist/fthry_index.DaJO430v.js +513 -0
  228. package/dist/fthry_index.DfiZRBo4.js +35 -0
  229. package/dist/fthry_index.Di1aadud.js +251 -0
  230. package/dist/fthry_index.DpFG-lbP.js +138 -0
  231. package/dist/fthry_index.DsECQjJb.js +131 -0
  232. package/dist/fthry_index.diObxaBS.js +60999 -0
  233. package/dist/fthry_index.ghZ0mkQF.js +98 -0
  234. package/dist/fthry_input.COhHyroj.js +3779 -0
  235. package/dist/fthry_script.D9CLkYzO.js +157 -0
  236. package/dist/fthry_styles.Bcy5cq6p.js +1654 -0
  237. package/dist/fthry_useElementSize.boD8p4bk.js +51 -0
  238. package/dist/fthry_useSalesforceSync.BNvWxPzE.js +44 -0
  239. package/dist/fthry_webfontloader.DEj1XG0u.js +57 -0
  240. package/dist/hooks/router.d.ts +14 -14
  241. package/dist/hooks/useElementSize.d.ts +7 -7
  242. package/dist/hooks/useLoader.d.ts +35 -35
  243. package/dist/hooks/useMounted.d.ts +2 -2
  244. package/dist/hooks/usePollFuserData.d.ts +1 -1
  245. package/dist/hooks/usePrevious.d.ts +2 -2
  246. package/dist/hooks/useSalesforceSync.d.ts +10 -10
  247. package/dist/index.d.ts +150 -149
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +9 -1
  250. package/dist/integrations/alloy.d.ts +2 -2
  251. package/dist/integrations/amplitude.d.ts +1 -1
  252. package/dist/integrations/argyle.d.ts +2 -2
  253. package/dist/integrations/calendly.d.ts +2 -2
  254. package/dist/integrations/firebase.d.ts +42 -42
  255. package/dist/integrations/flinks/index.d.ts +10 -10
  256. package/dist/integrations/flinks/utils.d.ts +12 -12
  257. package/dist/integrations/googleAnalytics.d.ts +3 -3
  258. package/dist/integrations/googleTagManager.d.ts +1 -1
  259. package/dist/integrations/heap.d.ts +2 -2
  260. package/dist/integrations/intercom.d.ts +2 -2
  261. package/dist/integrations/mixpanel.d.ts +2 -2
  262. package/dist/integrations/persona.d.ts +2 -2
  263. package/dist/integrations/plaid.d.ts +2 -2
  264. package/dist/integrations/recaptcha.d.ts +2 -2
  265. package/dist/integrations/rudderstack.d.ts +3 -3
  266. package/dist/integrations/schwab.d.ts +1 -1
  267. package/dist/integrations/segment.d.ts +1 -1
  268. package/dist/integrations/stripe/Cart.d.ts +19 -19
  269. package/dist/integrations/stripe/SimplifiedProduct.d.ts +39 -39
  270. package/dist/integrations/stripe/index.d.ts +1 -1
  271. package/dist/integrations/stripe/stripe.d.ts +97 -97
  272. package/dist/integrations/stytch.d.ts +19 -19
  273. package/dist/integrations/trustedform.d.ts +2 -2
  274. package/dist/integrations/utils.d.ts +14 -14
  275. package/dist/setupTests.d.ts +1 -1
  276. package/dist/types/Form.d.ts +80 -80
  277. package/dist/utils/DangerouslySetHTMLContent.d.ts +2 -2
  278. package/dist/utils/ShadowDomHtmlContent.d.ts +8 -8
  279. package/dist/utils/array.d.ts +11 -11
  280. package/dist/utils/browser.d.ts +23 -23
  281. package/dist/utils/callbackQueue.d.ts +10 -10
  282. package/dist/utils/document.d.ts +1 -1
  283. package/dist/utils/elementActions.d.ts +55 -55
  284. package/dist/utils/entities/Collaborator.d.ts +14 -14
  285. package/dist/utils/entities/Field.d.ts +129 -129
  286. package/dist/utils/error.d.ts +13 -13
  287. package/dist/utils/featheryClient/index.d.ts +103 -103
  288. package/dist/utils/featheryClient/integrationClient.d.ts +114 -114
  289. package/dist/utils/featheryClient/utils.d.ts +1 -1
  290. package/dist/utils/fieldHelperFunctions.d.ts +70 -70
  291. package/dist/utils/formContext.d.ts +104 -104
  292. package/dist/utils/formHelperFunctions.d.ts +44 -44
  293. package/dist/utils/hideAndRepeats.d.ts +27 -27
  294. package/dist/utils/hydration.d.ts +14 -14
  295. package/dist/utils/image.d.ts +39 -39
  296. package/dist/utils/init.d.ts +59 -59
  297. package/dist/utils/interactionState.d.ts +4 -4
  298. package/dist/utils/internalState.d.ts +91 -91
  299. package/dist/utils/logic.d.ts +50 -50
  300. package/dist/utils/offlineRequestHandler.d.ts +94 -94
  301. package/dist/utils/polyfills.d.ts +2 -2
  302. package/dist/utils/primitives.d.ts +14 -14
  303. package/dist/utils/random.d.ts +1 -1
  304. package/dist/utils/repeat.d.ts +38 -38
  305. package/dist/utils/sensitiveActions.d.ts +7 -7
  306. package/dist/utils/stepHelperFunctions.d.ts +22 -22
  307. package/dist/utils/styles.d.ts +5 -5
  308. package/dist/utils/validation.d.ts +58 -58
  309. package/package.json +17 -5
  310. package/umd/466.e3456c8b3407ad04ba56.js +1 -0
  311. package/umd/{DateSelectorField.b98c0ecb80f56e65cc69.js → DateSelectorField.bd5646949de71f571d04.js} +1 -1
  312. package/umd/{TextField.a3d8d42f6f8236d00f83.js → TextField.5a5296fe3ea60c4459f2.js} +1 -1
  313. package/umd/index.js +1 -1
  314. package/umd/796.e66d52ea21ef09c4eeaa.js +0 -1
@@ -0,0 +1,1162 @@
1
+ import { _ as __read, j as jsxs$1, a as __assign, b as jsx$1, k as FORM_Z_INDEX } from './fthry_index.diObxaBS.js';
2
+ import React__default, { useRef, useEffect, useCallback, useState, useMemo, Fragment } from 'react';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import 'react-dom/client';
5
+ import 'stream';
6
+ import 'events';
7
+ import 'buffer';
8
+ import 'util';
9
+ import 'react-dom';
10
+
11
+ function _extends() {
12
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
13
+ for (var i = 1; i < arguments.length; i++) {
14
+ var source = arguments[i];
15
+ for (var key in source) {
16
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
17
+ target[key] = source[key];
18
+ }
19
+ }
20
+ }
21
+ return target;
22
+ };
23
+ return _extends.apply(this, arguments);
24
+ }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) {
27
+ if (source == null) return {};
28
+ var target = {};
29
+ var sourceKeys = Object.keys(source);
30
+ var key, i;
31
+ for (i = 0; i < sourceKeys.length; i++) {
32
+ key = sourceKeys[i];
33
+ if (excluded.indexOf(key) >= 0) continue;
34
+ target[key] = source[key];
35
+ }
36
+ return target;
37
+ }
38
+
39
+ var RGB_MAX = 255;
40
+ var SV_MAX = 100;
41
+ /**
42
+ * ```js
43
+ * rgbaToHsva({ r: 255, g: 255, b: 255, a: 1 }) //=> { h: 0, s: 0, v: 100, a: 1 }
44
+ * ```
45
+ */
46
+ var rgbaToHsva = _ref => {
47
+ var {
48
+ r,
49
+ g,
50
+ b,
51
+ a
52
+ } = _ref;
53
+ var max = Math.max(r, g, b);
54
+ var delta = max - Math.min(r, g, b);
55
+
56
+ // prettier-ignore
57
+ var hh = delta ? max === r ? (g - b) / delta : max === g ? 2 + (b - r) / delta : 4 + (r - g) / delta : 0;
58
+ return {
59
+ h: 60 * (hh < 0 ? hh + 6 : hh),
60
+ s: max ? delta / max * SV_MAX : 0,
61
+ v: max / RGB_MAX * SV_MAX,
62
+ a
63
+ };
64
+ };
65
+ var hsvaToHslaString = hsva => {
66
+ var {
67
+ h,
68
+ s,
69
+ l,
70
+ a
71
+ } = hsvaToHsla(hsva);
72
+ return "hsla(" + h + ", " + s + "%, " + l + "%, " + a + ")";
73
+ };
74
+ var hsvaToHsla = _ref5 => {
75
+ var {
76
+ h,
77
+ s,
78
+ v,
79
+ a
80
+ } = _ref5;
81
+ var hh = (200 - s) * v / SV_MAX;
82
+ return {
83
+ h,
84
+ s: hh > 0 && hh < 200 ? s * v / SV_MAX / (hh <= SV_MAX ? hh : 200 - hh) * SV_MAX : 0,
85
+ l: hh / 2,
86
+ a
87
+ };
88
+ };
89
+ var rgbToHex = _ref7 => {
90
+ var {
91
+ r,
92
+ g,
93
+ b
94
+ } = _ref7;
95
+ var bin = r << 16 | g << 8 | b;
96
+ return "#" + (h => new Array(7 - h.length).join('0') + h)(bin.toString(16));
97
+ };
98
+ var rgbaToHexa = _ref8 => {
99
+ var {
100
+ r,
101
+ g,
102
+ b,
103
+ a
104
+ } = _ref8;
105
+ var alpha = typeof a === 'number' && (a * 255 | 1 << 8).toString(16).slice(1);
106
+ return "" + rgbToHex({
107
+ r,
108
+ g,
109
+ b
110
+ }) + (alpha ? alpha : '');
111
+ };
112
+ var hexToHsva = hex => rgbaToHsva(hexToRgba(hex));
113
+ var hexToRgba = hex => {
114
+ var htemp = hex.replace('#', '');
115
+ if (/^#?/.test(hex) && htemp.length === 3) {
116
+ hex = "#" + htemp.charAt(0) + htemp.charAt(0) + htemp.charAt(1) + htemp.charAt(1) + htemp.charAt(2) + htemp.charAt(2);
117
+ }
118
+ var reg = new RegExp("[A-Za-z0-9]{2}", 'g');
119
+ var [r, g, b = 0, a] = hex.match(reg).map(v => parseInt(v, 16));
120
+ return {
121
+ r,
122
+ g,
123
+ b,
124
+ a: (a != null ? a : 255) / RGB_MAX
125
+ };
126
+ };
127
+
128
+ /**
129
+ * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV
130
+ * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]
131
+ */
132
+ var hsvaToRgba = _ref9 => {
133
+ var {
134
+ h,
135
+ s,
136
+ v,
137
+ a
138
+ } = _ref9;
139
+ var _h = h / 60,
140
+ _s = s / SV_MAX,
141
+ _v = v / SV_MAX,
142
+ hi = Math.floor(_h) % 6;
143
+ var f = _h - Math.floor(_h),
144
+ _p = RGB_MAX * _v * (1 - _s),
145
+ _q = RGB_MAX * _v * (1 - _s * f),
146
+ _t = RGB_MAX * _v * (1 - _s * (1 - f));
147
+ _v *= RGB_MAX;
148
+ var rgba = {};
149
+ switch (hi) {
150
+ case 0:
151
+ rgba.r = _v;
152
+ rgba.g = _t;
153
+ rgba.b = _p;
154
+ break;
155
+ case 1:
156
+ rgba.r = _q;
157
+ rgba.g = _v;
158
+ rgba.b = _p;
159
+ break;
160
+ case 2:
161
+ rgba.r = _p;
162
+ rgba.g = _v;
163
+ rgba.b = _t;
164
+ break;
165
+ case 3:
166
+ rgba.r = _p;
167
+ rgba.g = _q;
168
+ rgba.b = _v;
169
+ break;
170
+ case 4:
171
+ rgba.r = _t;
172
+ rgba.g = _p;
173
+ rgba.b = _v;
174
+ break;
175
+ case 5:
176
+ rgba.r = _v;
177
+ rgba.g = _p;
178
+ rgba.b = _q;
179
+ break;
180
+ }
181
+ rgba.r = Math.round(rgba.r);
182
+ rgba.g = Math.round(rgba.g);
183
+ rgba.b = Math.round(rgba.b);
184
+ return _extends({}, rgba, {
185
+ a
186
+ });
187
+ };
188
+ var hsvaToRgbaString = hsva => {
189
+ var {
190
+ r,
191
+ g,
192
+ b,
193
+ a
194
+ } = hsvaToRgba(hsva);
195
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
196
+ };
197
+ var rgbaToRgb = _ref0 => {
198
+ var {
199
+ r,
200
+ g,
201
+ b
202
+ } = _ref0;
203
+ return {
204
+ r,
205
+ g,
206
+ b
207
+ };
208
+ };
209
+ var hslaToHsl = _ref1 => {
210
+ var {
211
+ h,
212
+ s,
213
+ l
214
+ } = _ref1;
215
+ return {
216
+ h,
217
+ s,
218
+ l
219
+ };
220
+ };
221
+ var hsvaToHex = hsva => rgbToHex(hsvaToRgba(hsva));
222
+ var hsvaToHsv = _ref10 => {
223
+ var {
224
+ h,
225
+ s,
226
+ v
227
+ } = _ref10;
228
+ return {
229
+ h,
230
+ s,
231
+ v
232
+ };
233
+ };
234
+
235
+ /**
236
+ * Converts RGB to XY. Based on formula from https://developers.meethue.com/develop/application-design-guidance/color-conversion-formulas-rgb-to-xy-and-back/
237
+ * @param color RGB color as an array [0-255, 0-255, 0-255]
238
+ */
239
+ var rgbToXY = _ref12 => {
240
+ var {
241
+ r,
242
+ g,
243
+ b
244
+ } = _ref12;
245
+ var translateColor = function translateColor(color) {
246
+ return color <= 0.04045 ? color / 12.92 : Math.pow((color + 0.055) / 1.055, 2.4);
247
+ };
248
+ var red = translateColor(r / 255);
249
+ var green = translateColor(g / 255);
250
+ var blue = translateColor(b / 255);
251
+ var xyz = {};
252
+ xyz.x = red * 0.4124 + green * 0.3576 + blue * 0.1805;
253
+ xyz.y = red * 0.2126 + green * 0.7152 + blue * 0.0722;
254
+ xyz.bri = red * 0.0193 + green * 0.1192 + blue * 0.9505;
255
+ return xyz;
256
+ };
257
+ var color = str => {
258
+ var rgb;
259
+ var hsl;
260
+ var hsv;
261
+ var rgba;
262
+ var hsla;
263
+ var hsva;
264
+ var xy;
265
+ var hex;
266
+ var hexa;
267
+ if (typeof str === 'string' && validHex$1(str)) {
268
+ hsva = hexToHsva(str);
269
+ hex = str;
270
+ } else if (typeof str !== 'string') {
271
+ hsva = str;
272
+ }
273
+ if (hsva) {
274
+ hsv = hsvaToHsv(hsva);
275
+ hsla = hsvaToHsla(hsva);
276
+ rgba = hsvaToRgba(hsva);
277
+ hexa = rgbaToHexa(rgba);
278
+ hex = hsvaToHex(hsva);
279
+ hsl = hslaToHsl(hsla);
280
+ rgb = rgbaToRgb(rgba);
281
+ xy = rgbToXY(rgb);
282
+ }
283
+ return {
284
+ rgb,
285
+ hsl,
286
+ hsv,
287
+ rgba,
288
+ hsla,
289
+ hsva,
290
+ hex,
291
+ hexa,
292
+ xy
293
+ };
294
+ };
295
+ var validHex$1 = hex => /^#?([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
296
+
297
+ // Saves incoming handler to the ref in order to avoid "useCallback hell"
298
+ function useEventCallback(handler) {
299
+ var callbackRef = useRef(handler);
300
+ useEffect(() => {
301
+ callbackRef.current = handler;
302
+ });
303
+ return useCallback((value, event) => callbackRef.current && callbackRef.current(value, event), []);
304
+ }
305
+
306
+ // Check if an event was triggered by touch
307
+ var isTouch = event => 'touches' in event;
308
+
309
+ // Browsers introduced an intervention, making touch events passive by default.
310
+ // This workaround removes `preventDefault` call from the touch handlers.
311
+ // https://github.com/facebook/react/issues/19651
312
+ var preventDefaultMove = event => {
313
+ !isTouch(event) && event.preventDefault && event.preventDefault();
314
+ };
315
+ // Clamps a value between an upper and lower bound.
316
+ // We use ternary operators because it makes the minified code
317
+ // 2 times shorter then `Math.min(Math.max(a,b),c)`
318
+ var clamp = function clamp(number, min, max) {
319
+ if (min === void 0) {
320
+ min = 0;
321
+ }
322
+ if (max === void 0) {
323
+ max = 1;
324
+ }
325
+ return number > max ? max : number < min ? min : number;
326
+ };
327
+ // Returns a relative position of the pointer inside the node's bounding box
328
+ var getRelativePosition = (node, event) => {
329
+ var rect = node.getBoundingClientRect();
330
+
331
+ // Get user's pointer position from `touches` array if it's a `TouchEvent`
332
+ var pointer = isTouch(event) ? event.touches[0] : event;
333
+ return {
334
+ left: clamp((pointer.pageX - (rect.left + window.pageXOffset)) / rect.width),
335
+ top: clamp((pointer.pageY - (rect.top + window.pageYOffset)) / rect.height),
336
+ width: rect.width,
337
+ height: rect.height,
338
+ x: pointer.pageX - (rect.left + window.pageXOffset),
339
+ y: pointer.pageY - (rect.top + window.pageYOffset)
340
+ };
341
+ };
342
+
343
+ var _excluded$8 = ["prefixCls", "className", "onMove", "onDown"];
344
+ var Interactive = /*#__PURE__*/React__default.forwardRef((props, ref) => {
345
+ var {
346
+ prefixCls = 'w-color-interactive',
347
+ className,
348
+ onMove,
349
+ onDown
350
+ } = props,
351
+ reset = _objectWithoutPropertiesLoose(props, _excluded$8);
352
+ var container = useRef(null);
353
+ var hasTouched = useRef(false);
354
+ var [isDragging, setDragging] = useState(false);
355
+ var onMoveCallback = useEventCallback(onMove);
356
+ var onKeyCallback = useEventCallback(onDown);
357
+
358
+ // Prevent mobile browsers from handling mouse events (conflicting with touch ones).
359
+ // If we detected a touch interaction before, we prefer reacting to touch events only.
360
+ var isValid = event => {
361
+ if (hasTouched.current && !isTouch(event)) return false;
362
+ hasTouched.current = isTouch(event);
363
+ return true;
364
+ };
365
+ var handleMove = useCallback(event => {
366
+ preventDefaultMove(event);
367
+ if (!container.current) return;
368
+ var isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0;
369
+ if (!isDown) {
370
+ setDragging(false);
371
+ return;
372
+ }
373
+ onMoveCallback == null || onMoveCallback(getRelativePosition(container.current, event), event);
374
+ }, [onMoveCallback]);
375
+ var handleMoveEnd = useCallback(() => setDragging(false), []);
376
+ var toggleDocumentEvents = useCallback(state => {
377
+ if (state) {
378
+ window.addEventListener(hasTouched.current ? 'touchmove' : 'mousemove', handleMove);
379
+ window.addEventListener(hasTouched.current ? 'touchend' : 'mouseup', handleMoveEnd);
380
+ } else {
381
+ window.removeEventListener('mousemove', handleMove);
382
+ window.removeEventListener('mouseup', handleMoveEnd);
383
+ window.removeEventListener('touchmove', handleMove);
384
+ window.removeEventListener('touchend', handleMoveEnd);
385
+ }
386
+ }, [handleMove, handleMoveEnd]);
387
+ useEffect(() => {
388
+ toggleDocumentEvents(isDragging);
389
+ return () => {
390
+ toggleDocumentEvents(false);
391
+ };
392
+ }, [isDragging, handleMove, handleMoveEnd, toggleDocumentEvents]);
393
+ var handleMoveStart = useCallback(event => {
394
+ preventDefaultMove(event.nativeEvent);
395
+ if (!isValid(event.nativeEvent)) return;
396
+ if (!container.current) return;
397
+ onKeyCallback == null || onKeyCallback(getRelativePosition(container.current, event.nativeEvent), event.nativeEvent);
398
+ setDragging(true);
399
+ }, [onKeyCallback]);
400
+ return /*#__PURE__*/jsx("div", _extends({}, reset, {
401
+ className: [prefixCls, className || ''].filter(Boolean).join(' '),
402
+ style: _extends({}, reset.style, {
403
+ touchAction: 'none'
404
+ }),
405
+ ref: container,
406
+ tabIndex: 0,
407
+ onMouseDown: handleMoveStart,
408
+ onTouchStart: handleMoveStart
409
+ }));
410
+ });
411
+ Interactive.displayName = 'Interactive';
412
+
413
+ var Pointer$1 = _ref => {
414
+ var {
415
+ className,
416
+ color,
417
+ left,
418
+ top,
419
+ prefixCls
420
+ } = _ref;
421
+ var style = {
422
+ position: 'absolute',
423
+ top,
424
+ left
425
+ };
426
+ var stylePointer = {
427
+ '--saturation-pointer-box-shadow': 'rgb(255 255 255) 0px 0px 0px 1.5px, rgb(0 0 0 / 30%) 0px 0px 1px 1px inset, rgb(0 0 0 / 40%) 0px 0px 1px 2px',
428
+ width: 6,
429
+ height: 6,
430
+ transform: 'translate(-3px, -3px)',
431
+ boxShadow: 'var(--saturation-pointer-box-shadow)',
432
+ borderRadius: '50%',
433
+ backgroundColor: color
434
+ };
435
+ return useMemo(() => /*#__PURE__*/jsx("div", {
436
+ className: prefixCls + "-pointer " + (className || ''),
437
+ style: style,
438
+ children: /*#__PURE__*/jsx("div", {
439
+ className: prefixCls + "-fill",
440
+ style: stylePointer
441
+ })
442
+ }), [top, left, color, className, prefixCls]);
443
+ };
444
+
445
+ var _excluded$7 = ["prefixCls", "radius", "pointer", "className", "hue", "style", "hsva", "onChange"];
446
+ var Saturation = /*#__PURE__*/React__default.forwardRef((props, ref) => {
447
+ var _hsva$h;
448
+ var {
449
+ prefixCls = 'w-color-saturation',
450
+ radius = 0,
451
+ pointer,
452
+ className,
453
+ hue = 0,
454
+ style,
455
+ hsva,
456
+ onChange
457
+ } = props,
458
+ other = _objectWithoutPropertiesLoose(props, _excluded$7);
459
+ var containerStyle = _extends({
460
+ width: 200,
461
+ height: 200,
462
+ borderRadius: radius
463
+ }, style, {
464
+ position: 'relative'
465
+ });
466
+ var handleChange = (interaction, event) => {
467
+ onChange && hsva && onChange({
468
+ h: hsva.h,
469
+ s: interaction.left * 100,
470
+ v: (1 - interaction.top) * 100,
471
+ a: hsva.a
472
+ // source: 'hsv',
473
+ });
474
+ };
475
+ var pointerElement = useMemo(() => {
476
+ if (!hsva) return null;
477
+ var comProps = {
478
+ top: 100 - hsva.v + "%",
479
+ left: hsva.s + "%",
480
+ color: hsvaToHslaString(hsva)
481
+ };
482
+ if (pointer && typeof pointer === 'function') {
483
+ return pointer(_extends({
484
+ prefixCls
485
+ }, comProps));
486
+ }
487
+ return /*#__PURE__*/jsx(Pointer$1, _extends({
488
+ prefixCls: prefixCls
489
+ }, comProps));
490
+ }, [hsva, pointer, prefixCls]);
491
+ return /*#__PURE__*/jsx(Interactive, _extends({
492
+ className: [prefixCls, className || ''].filter(Boolean).join(' ')
493
+ }, other, {
494
+ style: _extends({
495
+ position: 'absolute',
496
+ inset: 0,
497
+ cursor: 'crosshair',
498
+ backgroundImage: "linear-gradient(0deg, #000, transparent), linear-gradient(90deg, #fff, hsl(" + ((_hsva$h = hsva == null ? void 0 : hsva.h) != null ? _hsva$h : hue) + ", 100%, 50%))"
499
+ }, containerStyle),
500
+ ref: ref,
501
+ onMove: handleChange,
502
+ onDown: handleChange,
503
+ children: pointerElement
504
+ }));
505
+ });
506
+ Saturation.displayName = 'Saturation';
507
+
508
+ var _excluded$6 = ["className", "prefixCls", "left", "top", "style", "fillProps"];
509
+ var Pointer = _ref => {
510
+ var {
511
+ className,
512
+ prefixCls,
513
+ left,
514
+ top,
515
+ style,
516
+ fillProps
517
+ } = _ref,
518
+ reset = _objectWithoutPropertiesLoose(_ref, _excluded$6);
519
+ var styleWrapper = _extends({}, style, {
520
+ position: 'absolute',
521
+ left,
522
+ top
523
+ });
524
+ var stylePointer = _extends({
525
+ width: 18,
526
+ height: 18,
527
+ boxShadow: 'var(--alpha-pointer-box-shadow)',
528
+ borderRadius: '50%',
529
+ backgroundColor: 'var(--alpha-pointer-background-color)'
530
+ }, fillProps == null ? void 0 : fillProps.style, {
531
+ transform: left ? 'translate(-9px, -1px)' : 'translate(-1px, -9px)'
532
+ });
533
+ return /*#__PURE__*/jsx("div", _extends({
534
+ className: prefixCls + "-pointer " + (className || ''),
535
+ style: styleWrapper
536
+ }, reset, {
537
+ children: /*#__PURE__*/jsx("div", _extends({
538
+ className: prefixCls + "-fill"
539
+ }, fillProps, {
540
+ style: stylePointer
541
+ }))
542
+ }));
543
+ };
544
+
545
+ var _excluded$5 = ["prefixCls", "className", "hsva", "background", "bgProps", "innerProps", "pointerProps", "radius", "width", "height", "direction", "style", "onChange", "pointer"];
546
+ var BACKGROUND_IMG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==';
547
+ var Alpha = /*#__PURE__*/React__default.forwardRef((props, ref) => {
548
+ var {
549
+ prefixCls = 'w-color-alpha',
550
+ className,
551
+ hsva,
552
+ background,
553
+ bgProps = {},
554
+ innerProps = {},
555
+ pointerProps = {},
556
+ radius = 0,
557
+ width,
558
+ height = 16,
559
+ direction = 'horizontal',
560
+ style,
561
+ onChange,
562
+ pointer
563
+ } = props,
564
+ other = _objectWithoutPropertiesLoose(props, _excluded$5);
565
+ var handleChange = offset => {
566
+ onChange && onChange(_extends({}, hsva, {
567
+ a: direction === 'horizontal' ? offset.left : offset.top
568
+ }), offset);
569
+ };
570
+ var colorTo = hsvaToHslaString(Object.assign({}, hsva, {
571
+ a: 1
572
+ }));
573
+ var innerBackground = "linear-gradient(to " + (direction === 'horizontal' ? 'right' : 'bottom') + ", rgba(244, 67, 54, 0) 0%, " + colorTo + " 100%)";
574
+ var comProps = {};
575
+ if (direction === 'horizontal') {
576
+ comProps.left = hsva.a * 100 + "%";
577
+ } else {
578
+ comProps.top = hsva.a * 100 + "%";
579
+ }
580
+ var styleWrapper = _extends({
581
+ '--alpha-background-color': '#fff',
582
+ '--alpha-pointer-background-color': 'rgb(248, 248, 248)',
583
+ '--alpha-pointer-box-shadow': 'rgb(0 0 0 / 37%) 0px 1px 4px 0px',
584
+ borderRadius: radius,
585
+ background: "url(" + BACKGROUND_IMG + ") left center",
586
+ backgroundColor: 'var(--alpha-background-color)'
587
+ }, {
588
+ width,
589
+ height
590
+ }, style, {
591
+ position: 'relative'
592
+ });
593
+ var pointerElement = pointer && typeof pointer === 'function' ? pointer(_extends({
594
+ prefixCls
595
+ }, pointerProps, comProps)) : /*#__PURE__*/jsx(Pointer, _extends({}, pointerProps, {
596
+ prefixCls: prefixCls
597
+ }, comProps));
598
+ return /*#__PURE__*/jsxs("div", _extends({}, other, {
599
+ className: [prefixCls, prefixCls + "-" + direction, className || ''].filter(Boolean).join(' '),
600
+ style: styleWrapper,
601
+ ref: ref,
602
+ children: [/*#__PURE__*/jsx("div", _extends({}, bgProps, {
603
+ style: _extends({
604
+ inset: 0,
605
+ position: 'absolute',
606
+ background: background || innerBackground,
607
+ borderRadius: radius
608
+ }, bgProps.style)
609
+ })), /*#__PURE__*/jsx(Interactive, _extends({}, innerProps, {
610
+ style: _extends({}, innerProps.style, {
611
+ inset: 0,
612
+ zIndex: 1,
613
+ position: 'absolute'
614
+ }),
615
+ onMove: handleChange,
616
+ onDown: handleChange,
617
+ children: pointerElement
618
+ }))]
619
+ }));
620
+ });
621
+ Alpha.displayName = 'Alpha';
622
+
623
+ var _excluded$4 = ["prefixCls", "placement", "label", "value", "className", "style", "labelStyle", "inputStyle", "onChange", "onBlur", "renderInput"];
624
+ var validHex = hex => /^#?([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
625
+ var getNumberValue = value => Number(String(value).replace(/%/g, ''));
626
+ var EditableInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
627
+ var {
628
+ prefixCls = 'w-color-editable-input',
629
+ placement = 'bottom',
630
+ label,
631
+ value: initValue,
632
+ className,
633
+ style,
634
+ labelStyle,
635
+ inputStyle,
636
+ onChange,
637
+ onBlur,
638
+ renderInput
639
+ } = props,
640
+ other = _objectWithoutPropertiesLoose(props, _excluded$4);
641
+ var [value, setValue] = useState(initValue);
642
+ var isFocus = useRef(false);
643
+ useEffect(() => {
644
+ if (props.value !== value) {
645
+ if (!isFocus.current) {
646
+ setValue(props.value);
647
+ }
648
+ }
649
+ }, [props.value]);
650
+ function handleChange(evn, valInit) {
651
+ var value = (valInit || evn.target.value).trim().replace(/^#/, '');
652
+ if (validHex(value)) {
653
+ onChange && onChange(evn, value);
654
+ }
655
+ var val = getNumberValue(value);
656
+ if (!isNaN(val)) {
657
+ onChange && onChange(evn, val);
658
+ }
659
+ setValue(value);
660
+ }
661
+ function handleBlur(evn) {
662
+ isFocus.current = false;
663
+ setValue(props.value);
664
+ onBlur && onBlur(evn);
665
+ }
666
+ var placementStyle = {};
667
+ if (placement === 'bottom') {
668
+ placementStyle['flexDirection'] = 'column';
669
+ }
670
+ if (placement === 'top') {
671
+ placementStyle['flexDirection'] = 'column-reverse';
672
+ }
673
+ if (placement === 'left') {
674
+ placementStyle['flexDirection'] = 'row-reverse';
675
+ }
676
+ var wrapperStyle = _extends({
677
+ '--editable-input-label-color': 'rgb(153, 153, 153)',
678
+ '--editable-input-box-shadow': 'rgb(204 204 204) 0px 0px 0px 1px inset',
679
+ '--editable-input-color': '#666',
680
+ position: 'relative',
681
+ alignItems: 'center',
682
+ display: 'flex',
683
+ fontSize: 11
684
+ }, placementStyle, style);
685
+ var editableStyle = _extends({
686
+ width: '100%',
687
+ paddingTop: 2,
688
+ paddingBottom: 2,
689
+ paddingLeft: 3,
690
+ paddingRight: 3,
691
+ fontSize: 11,
692
+ background: 'transparent',
693
+ boxSizing: 'border-box',
694
+ border: 'none',
695
+ color: 'var(--editable-input-color)',
696
+ boxShadow: 'var(--editable-input-box-shadow)'
697
+ }, inputStyle);
698
+ var inputProps = _extends({
699
+ value,
700
+ onChange: handleChange,
701
+ onBlur: handleBlur,
702
+ autoComplete: 'off',
703
+ onFocus: () => isFocus.current = true
704
+ }, other, {
705
+ style: editableStyle
706
+ });
707
+ return /*#__PURE__*/jsxs("div", {
708
+ className: [prefixCls, className || ''].filter(Boolean).join(' '),
709
+ style: wrapperStyle,
710
+ children: [renderInput ? renderInput(inputProps, ref) : /*#__PURE__*/jsx("input", _extends({
711
+ ref: ref
712
+ }, inputProps)), label && /*#__PURE__*/jsx("span", {
713
+ style: _extends({
714
+ color: 'var(--editable-input-label-color)',
715
+ textTransform: 'capitalize'
716
+ }, labelStyle),
717
+ children: label
718
+ })]
719
+ });
720
+ });
721
+ EditableInput.displayName = 'EditableInput';
722
+
723
+ var _excluded$3 = ["prefixCls", "hsva", "placement", "rProps", "gProps", "bProps", "aProps", "className", "style", "onChange"];
724
+ var EditableInputRGBA = /*#__PURE__*/React__default.forwardRef((props, ref) => {
725
+ var {
726
+ prefixCls = 'w-color-editable-input-rgba',
727
+ hsva,
728
+ placement = 'bottom',
729
+ rProps = {},
730
+ gProps = {},
731
+ bProps = {},
732
+ aProps = {},
733
+ className,
734
+ style,
735
+ onChange
736
+ } = props,
737
+ other = _objectWithoutPropertiesLoose(props, _excluded$3);
738
+ var rgba = hsva ? hsvaToRgba(hsva) : {};
739
+ function handleBlur(evn) {
740
+ var value = Number(evn.target.value);
741
+ if (value && value > 255) {
742
+ evn.target.value = '255';
743
+ }
744
+ if (value && value < 0) {
745
+ evn.target.value = '0';
746
+ }
747
+ }
748
+ var handleChange = (value, type, evn) => {
749
+ if (typeof value === 'number') {
750
+ if (type === 'a') {
751
+ if (value < 0) value = 0;
752
+ if (value > 100) value = 100;
753
+ onChange && onChange(color(rgbaToHsva(_extends({}, rgba, {
754
+ a: value / 100
755
+ }))));
756
+ }
757
+ if (value > 255) {
758
+ value = 255;
759
+ evn.target.value = '255';
760
+ }
761
+ if (value < 0) {
762
+ value = 0;
763
+ evn.target.value = '0';
764
+ }
765
+ if (type === 'r') {
766
+ onChange && onChange(color(rgbaToHsva(_extends({}, rgba, {
767
+ r: value
768
+ }))));
769
+ }
770
+ if (type === 'g') {
771
+ onChange && onChange(color(rgbaToHsva(_extends({}, rgba, {
772
+ g: value
773
+ }))));
774
+ }
775
+ if (type === 'b') {
776
+ onChange && onChange(color(rgbaToHsva(_extends({}, rgba, {
777
+ b: value
778
+ }))));
779
+ }
780
+ }
781
+ };
782
+ return /*#__PURE__*/jsxs("div", _extends({
783
+ ref: ref,
784
+ className: [prefixCls, className || ''].filter(Boolean).join(' ')
785
+ }, other, {
786
+ style: _extends({
787
+ fontSize: 11,
788
+ display: 'flex'
789
+ }, style),
790
+ children: [/*#__PURE__*/jsx(EditableInput, _extends({
791
+ label: "R",
792
+ value: rgba.r || 0,
793
+ onBlur: handleBlur,
794
+ placement: placement,
795
+ onChange: (evn, val) => handleChange(val, 'r', evn)
796
+ }, rProps, {
797
+ style: _extends({}, rProps.style)
798
+ })), /*#__PURE__*/jsx(EditableInput, _extends({
799
+ label: "G",
800
+ value: rgba.g || 0,
801
+ onBlur: handleBlur,
802
+ placement: placement,
803
+ onChange: (evn, val) => handleChange(val, 'g', evn)
804
+ }, gProps, {
805
+ style: _extends({
806
+ marginLeft: 5
807
+ }, rProps.style)
808
+ })), /*#__PURE__*/jsx(EditableInput, _extends({
809
+ label: "B",
810
+ value: rgba.b || 0,
811
+ onBlur: handleBlur,
812
+ placement: placement,
813
+ onChange: (evn, val) => handleChange(val, 'b', evn)
814
+ }, bProps, {
815
+ style: _extends({
816
+ marginLeft: 5
817
+ }, bProps.style)
818
+ })), aProps && /*#__PURE__*/jsx(EditableInput, _extends({
819
+ label: "A",
820
+ value: rgba.a ? parseInt(String(rgba.a * 100), 10) : 0,
821
+ onBlur: handleBlur,
822
+ placement: placement,
823
+ onChange: (evn, val) => handleChange(val, 'a', evn)
824
+ }, aProps, {
825
+ style: _extends({
826
+ marginLeft: 5
827
+ }, aProps.style)
828
+ }))]
829
+ }));
830
+ });
831
+ EditableInputRGBA.displayName = 'EditableInputRGBA';
832
+
833
+ var _excluded$2 = ["prefixCls", "className", "hue", "onChange", "direction"];
834
+ var Hue = /*#__PURE__*/React__default.forwardRef((props, ref) => {
835
+ var {
836
+ prefixCls = 'w-color-hue',
837
+ className,
838
+ hue = 0,
839
+ onChange: _onChange,
840
+ direction = 'horizontal'
841
+ } = props,
842
+ other = _objectWithoutPropertiesLoose(props, _excluded$2);
843
+ return /*#__PURE__*/jsx(Alpha, _extends({
844
+ ref: ref,
845
+ className: prefixCls + " " + (className || '')
846
+ }, other, {
847
+ direction: direction,
848
+ background: "linear-gradient(to " + (direction === 'horizontal' ? 'right' : 'bottom') + ", rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)",
849
+ hsva: {
850
+ h: hue,
851
+ s: 100,
852
+ v: 100,
853
+ a: hue / 360
854
+ },
855
+ onChange: (_, interaction) => {
856
+ _onChange && _onChange({
857
+ h: direction === 'horizontal' ? 360 * interaction.left : 360 * interaction.top
858
+ });
859
+ }
860
+ }));
861
+ });
862
+ Hue.displayName = 'Hue';
863
+
864
+ var _excluded$1 = ["prefixCls", "className", "color", "colors", "style", "rectProps", "onChange", "addonAfter", "addonBefore", "rectRender"];
865
+ var Swatch = /*#__PURE__*/React__default.forwardRef((props, ref) => {
866
+ var {
867
+ prefixCls = 'w-color-swatch',
868
+ className,
869
+ color: color$1,
870
+ colors = [],
871
+ style,
872
+ rectProps = {},
873
+ onChange,
874
+ addonAfter,
875
+ addonBefore,
876
+ rectRender
877
+ } = props,
878
+ other = _objectWithoutPropertiesLoose(props, _excluded$1);
879
+ var rectStyle = _extends({
880
+ '--swatch-background-color': 'rgb(144, 19, 254)',
881
+ background: 'var(--swatch-background-color)',
882
+ height: 15,
883
+ width: 15,
884
+ marginRight: 5,
885
+ marginBottom: 5,
886
+ cursor: 'pointer',
887
+ position: 'relative',
888
+ outline: 'none',
889
+ borderRadius: 2
890
+ }, rectProps.style);
891
+ var handleClick = (hex, evn) => {
892
+ onChange && onChange(hexToHsva(hex), color(hexToHsva(hex)), evn);
893
+ };
894
+ return /*#__PURE__*/jsxs("div", _extends({
895
+ ref: ref
896
+ }, other, {
897
+ className: [prefixCls, className || ''].filter(Boolean).join(' '),
898
+ style: _extends({
899
+ display: 'flex',
900
+ flexWrap: 'wrap',
901
+ position: 'relative'
902
+ }, style),
903
+ children: [addonBefore && /*#__PURE__*/React__default.isValidElement(addonBefore) && addonBefore, colors && Array.isArray(colors) && colors.map((item, idx) => {
904
+ var title = '';
905
+ var background = '';
906
+ if (typeof item === 'string') {
907
+ title = item;
908
+ background = item;
909
+ }
910
+ if (typeof item === 'object' && item.color) {
911
+ title = item.title || item.color;
912
+ background = item.color;
913
+ }
914
+ var checked = color$1 && color$1.toLocaleLowerCase() === background.toLocaleLowerCase();
915
+ var render = rectRender && rectRender({
916
+ title,
917
+ color: background,
918
+ checked: !!checked,
919
+ style: _extends({}, rectStyle, {
920
+ background
921
+ }),
922
+ onClick: evn => handleClick(background, evn)
923
+ });
924
+ if (render) {
925
+ return /*#__PURE__*/jsx(Fragment, {
926
+ children: render
927
+ }, idx);
928
+ }
929
+ var child = rectProps.children && /*#__PURE__*/React__default.isValidElement(rectProps.children) ? /*#__PURE__*/React__default.cloneElement(rectProps.children, {
930
+ color: background,
931
+ checked
932
+ }) : null;
933
+ return /*#__PURE__*/jsx("div", _extends({
934
+ tabIndex: 0,
935
+ title: title,
936
+ onClick: evn => handleClick(background, evn)
937
+ }, rectProps, {
938
+ children: child,
939
+ style: _extends({}, rectStyle, {
940
+ background
941
+ })
942
+ }), idx);
943
+ }), addonAfter && /*#__PURE__*/React__default.isValidElement(addonAfter) && addonAfter]
944
+ }));
945
+ });
946
+ Swatch.displayName = 'Swatch';
947
+
948
+ var _excluded = ["prefixCls", "className", "onChange", "width", "presetColors", "color", "editableDisable", "disableAlpha", "style"];
949
+ var PRESET_COLORS = ['#D0021B', '#F5A623', '#f8e61b', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF'];
950
+ var Bar = props => /*#__PURE__*/jsx("div", {
951
+ style: {
952
+ boxShadow: 'rgb(0 0 0 / 60%) 0px 0px 2px',
953
+ width: 4,
954
+ top: 1,
955
+ bottom: 1,
956
+ left: props.left,
957
+ borderRadius: 1,
958
+ position: 'absolute',
959
+ backgroundColor: '#fff'
960
+ }
961
+ });
962
+ var Sketch = /*#__PURE__*/React__default.forwardRef((props, ref) => {
963
+ var {
964
+ prefixCls = 'w-color-sketch',
965
+ className,
966
+ onChange,
967
+ width = 218,
968
+ presetColors = PRESET_COLORS,
969
+ color: color$1,
970
+ editableDisable = true,
971
+ disableAlpha = false,
972
+ style
973
+ } = props,
974
+ other = _objectWithoutPropertiesLoose(props, _excluded);
975
+ var [hsva, setHsva] = useState({
976
+ h: 209,
977
+ s: 36,
978
+ v: 90,
979
+ a: 1
980
+ });
981
+ useEffect(() => {
982
+ if (typeof color$1 === 'string' && validHex$1(color$1)) {
983
+ setHsva(hexToHsva(color$1));
984
+ }
985
+ if (typeof color$1 === 'object') {
986
+ setHsva(color$1);
987
+ }
988
+ }, [color$1]);
989
+ var handleChange = hsv => {
990
+ setHsva(hsv);
991
+ onChange && onChange(color(hsv));
992
+ };
993
+ var handleHex = (value, evn) => {
994
+ if (typeof value === 'string' && validHex$1(value) && /(3|6)/.test(String(value.length))) {
995
+ handleChange(hexToHsva(value));
996
+ }
997
+ };
998
+ var handleAlphaChange = newAlpha => handleChange(_extends({}, hsva, {
999
+ a: newAlpha.a
1000
+ }));
1001
+ var handleSaturationChange = newColor => handleChange(_extends({}, hsva, newColor, {
1002
+ a: hsva.a
1003
+ }));
1004
+ var styleMain = _extends({
1005
+ '--sketch-background': 'rgb(255, 255, 255)',
1006
+ '--sketch-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px, rgb(0 0 0 / 15%) 0px 8px 16px',
1007
+ '--sketch-swatch-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px inset',
1008
+ '--sketch-alpha-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px inset, rgb(0 0 0 / 25%) 0px 0px 4px inset',
1009
+ '--sketch-swatch-border-top': '1px solid rgb(238, 238, 238)',
1010
+ background: 'var(--sketch-background)',
1011
+ borderRadius: 4,
1012
+ boxShadow: 'var(--sketch-box-shadow)',
1013
+ width
1014
+ }, style);
1015
+ var styleAlpha = {
1016
+ borderRadius: 2,
1017
+ background: hsvaToRgbaString(hsva),
1018
+ boxShadow: 'var(--sketch-alpha-box-shadow)'
1019
+ };
1020
+ var styleSwatch = {
1021
+ borderTop: 'var(--sketch-swatch-border-top)',
1022
+ paddingTop: 10,
1023
+ paddingLeft: 10
1024
+ };
1025
+ var styleSwatchRect = {
1026
+ marginRight: 10,
1027
+ marginBottom: 10,
1028
+ borderRadius: 3,
1029
+ boxShadow: 'var(--sketch-swatch-box-shadow)'
1030
+ };
1031
+ return /*#__PURE__*/jsxs("div", _extends({}, other, {
1032
+ className: prefixCls + " " + (className || ''),
1033
+ ref: ref,
1034
+ style: styleMain,
1035
+ children: [/*#__PURE__*/jsxs("div", {
1036
+ style: {
1037
+ padding: '10px 10px 8px'
1038
+ },
1039
+ children: [/*#__PURE__*/jsx(Saturation, {
1040
+ hsva: hsva,
1041
+ style: {
1042
+ width: 'auto',
1043
+ height: 150
1044
+ },
1045
+ onChange: handleSaturationChange
1046
+ }), /*#__PURE__*/jsxs("div", {
1047
+ style: {
1048
+ display: 'flex',
1049
+ marginTop: 4
1050
+ },
1051
+ children: [/*#__PURE__*/jsxs("div", {
1052
+ style: {
1053
+ flex: 1
1054
+ },
1055
+ children: [/*#__PURE__*/jsx(Hue, {
1056
+ width: "auto",
1057
+ height: 10,
1058
+ hue: hsva.h,
1059
+ pointer: Bar,
1060
+ innerProps: {
1061
+ style: {
1062
+ marginLeft: 1,
1063
+ marginRight: 5
1064
+ }
1065
+ },
1066
+ onChange: newHue => handleChange(_extends({}, hsva, newHue))
1067
+ }), !disableAlpha && /*#__PURE__*/jsx(Alpha, {
1068
+ width: "auto",
1069
+ height: 10,
1070
+ hsva: hsva,
1071
+ pointer: Bar,
1072
+ style: {
1073
+ marginTop: 4
1074
+ },
1075
+ innerProps: {
1076
+ style: {
1077
+ marginLeft: 1,
1078
+ marginRight: 5
1079
+ }
1080
+ },
1081
+ onChange: handleAlphaChange
1082
+ })]
1083
+ }), !disableAlpha && /*#__PURE__*/jsx(Alpha, {
1084
+ width: 24,
1085
+ height: 24,
1086
+ hsva: hsva,
1087
+ radius: 2,
1088
+ style: {
1089
+ marginLeft: 4
1090
+ },
1091
+ bgProps: {
1092
+ style: {
1093
+ background: 'transparent'
1094
+ }
1095
+ },
1096
+ innerProps: {
1097
+ style: styleAlpha
1098
+ },
1099
+ pointer: () => /*#__PURE__*/jsx(Fragment, {})
1100
+ })]
1101
+ })]
1102
+ }), editableDisable && /*#__PURE__*/jsxs("div", {
1103
+ style: {
1104
+ display: 'flex',
1105
+ margin: '0 10px 3px 10px'
1106
+ },
1107
+ children: [/*#__PURE__*/jsx(EditableInput, {
1108
+ label: "Hex",
1109
+ value: hsvaToHex(hsva).replace(/^#/, '').toLocaleUpperCase(),
1110
+ onChange: (evn, val) => handleHex(val),
1111
+ style: {
1112
+ minWidth: 58
1113
+ }
1114
+ }), /*#__PURE__*/jsx(EditableInputRGBA, {
1115
+ hsva: hsva,
1116
+ style: {
1117
+ marginLeft: 6
1118
+ },
1119
+ aProps: !disableAlpha ? {} : false,
1120
+ onChange: result => handleChange(result.hsva)
1121
+ })]
1122
+ }), presetColors && presetColors.length > 0 && /*#__PURE__*/jsx(Swatch, {
1123
+ style: styleSwatch,
1124
+ colors: presetColors,
1125
+ color: hsvaToHex(hsva),
1126
+ onChange: hsvColor => handleChange(hsvColor),
1127
+ rectProps: {
1128
+ style: styleSwatchRect
1129
+ }
1130
+ })]
1131
+ }));
1132
+ });
1133
+ Sketch.displayName = 'Sketch';
1134
+
1135
+ function alphaToHex(alpha) {
1136
+ var clampedAlpha = Math.max(0, Math.min(1, alpha));
1137
+ var hexVal = Math.round(clampedAlpha * 255);
1138
+ return hexVal.toString(16).toUpperCase().padStart(2, '0');
1139
+ }
1140
+ function ColorPickerField(_a) {
1141
+ var element = _a.element, fieldLabel = _a.fieldLabel, responsiveStyles = _a.responsiveStyles, _b = _a.fieldVal, fieldVal = _b === void 0 ? 'FFFFFFFF' : _b, editMode = _a.editMode, _c = _a.onChange, onChange = _c === void 0 ? function () { } : _c, _d = _a.elementProps, elementProps = _d === void 0 ? {} : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, children = _a.children;
1142
+ var _f = __read(useState(false), 2), showPicker = _f[0], setShowPicker = _f[1];
1143
+ return (jsxs$1("div", __assign({ css: __assign({ maxWidth: '100%', width: '100%', position: 'relative', pointerEvents: editMode || disabled ? 'none' : 'auto' }, responsiveStyles.getTarget('fc')) }, elementProps, { children: [children, fieldLabel, jsx$1("div", { css: __assign({ width: '100%', background: "#".concat(fieldVal), cursor: 'pointer' }, responsiveStyles.getTarget('field')), onClick: function () {
1144
+ if (!editMode && !disabled)
1145
+ setShowPicker(function (showPicker) { return !showPicker; });
1146
+ } }), showPicker ? (jsxs$1("div", __assign({ css: {
1147
+ position: 'absolute',
1148
+ zIndex: FORM_Z_INDEX + 1
1149
+ } }, { children: [jsx$1("div", { css: {
1150
+ position: 'fixed',
1151
+ top: '0px',
1152
+ right: '0px',
1153
+ bottom: '0px',
1154
+ left: '0px'
1155
+ }, onClick: function () { return setShowPicker(false); } }), jsx$1(Sketch, { "aria-label": element.properties.aria_label, color: "#".concat(fieldVal), onChange: function (color) {
1156
+ var hex = color.hex.substring(1, 7);
1157
+ var alpha = alphaToHex(color.rgba.a);
1158
+ onChange("".concat(hex).concat(alpha));
1159
+ } })] }))) : null] })));
1160
+ }
1161
+
1162
+ export { ColorPickerField as default };