@bigbinary/neetoui 6.7.4 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/Accordion.js +5 -6
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/ActionDropdown.js +16 -11
  4. package/dist/ActionDropdown.js.map +1 -1
  5. package/dist/Alert.js +23 -13
  6. package/dist/Alert.js.map +1 -1
  7. package/dist/Avatar.js +6 -6
  8. package/dist/Button.js +7 -8
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Callout.js +4 -5
  11. package/dist/Callout.js.map +1 -1
  12. package/dist/Checkbox.js +22 -13
  13. package/dist/Checkbox.js.map +1 -1
  14. package/dist/ColorPicker.js +20 -14
  15. package/dist/ColorPicker.js.map +1 -1
  16. package/dist/DatePicker.js +21 -12
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/DateTimePicker.js +27 -17
  19. package/dist/DateTimePicker.js.map +1 -1
  20. package/dist/Dropdown.js +18 -13
  21. package/dist/Dropdown.js.map +1 -1
  22. package/dist/Input.js +21 -12
  23. package/dist/Input.js.map +1 -1
  24. package/dist/Kbd.js +6 -6
  25. package/dist/Label.js +54 -18
  26. package/dist/Label.js.map +1 -1
  27. package/dist/Modal.js +23 -13
  28. package/dist/Modal.js.map +1 -1
  29. package/dist/MultiEmailInput.js +41 -16
  30. package/dist/MultiEmailInput.js.map +1 -1
  31. package/dist/NoData.js +7 -8
  32. package/dist/NoData.js.map +1 -1
  33. package/dist/Pagination.js +15 -10
  34. package/dist/Pagination.js.map +1 -1
  35. package/dist/Pane.js +23 -13
  36. package/dist/Pane.js.map +1 -1
  37. package/dist/Popover.js +7 -8
  38. package/dist/Popover.js.map +1 -1
  39. package/dist/ProgressBar.js +1 -1
  40. package/dist/Radio.js +22 -13
  41. package/dist/Radio.js.map +1 -1
  42. package/dist/Select.js +42 -14
  43. package/dist/Select.js.map +1 -1
  44. package/dist/Sidebar.js +16 -11
  45. package/dist/Sidebar.js.map +1 -1
  46. package/dist/Slider.js +22 -13
  47. package/dist/Slider.js.map +1 -1
  48. package/dist/Spinner.js +1 -1
  49. package/dist/Stepper.js +1 -1
  50. package/dist/Switch.js +22 -13
  51. package/dist/Switch.js.map +1 -1
  52. package/dist/Tab.js +4 -5
  53. package/dist/Tab.js.map +1 -1
  54. package/dist/Table.js +19 -14
  55. package/dist/Table.js.map +1 -1
  56. package/dist/Tag.js +3 -3
  57. package/dist/Textarea.js +22 -13
  58. package/dist/Textarea.js.map +1 -1
  59. package/dist/TimePicker.js +22 -13
  60. package/dist/TimePicker.js.map +1 -1
  61. package/dist/TimePickerInput.js +258 -21
  62. package/dist/TimePickerInput.js.map +1 -1
  63. package/dist/Toastr.js +15 -126
  64. package/dist/Toastr.js.map +1 -1
  65. package/dist/Tooltip.js +73 -7
  66. package/dist/Tooltip.js.map +1 -1
  67. package/dist/Tree.js +13 -8
  68. package/dist/Tree.js.map +1 -1
  69. package/dist/TreeSelect.js +21 -11
  70. package/dist/TreeSelect.js.map +1 -1
  71. package/dist/Typography.js +4 -5
  72. package/dist/Typography.js.map +1 -1
  73. package/dist/cjs/Accordion.js +25 -21
  74. package/dist/cjs/Accordion.js.map +1 -1
  75. package/dist/cjs/ActionDropdown.js +24 -16
  76. package/dist/cjs/ActionDropdown.js.map +1 -1
  77. package/dist/cjs/Alert.js +25 -14
  78. package/dist/cjs/Alert.js.map +1 -1
  79. package/dist/cjs/Avatar.js +17 -13
  80. package/dist/cjs/Avatar.js.map +1 -1
  81. package/dist/cjs/Button.js +17 -14
  82. package/dist/cjs/Button.js.map +1 -1
  83. package/dist/cjs/Callout.js +11 -8
  84. package/dist/cjs/Callout.js.map +1 -1
  85. package/dist/cjs/Checkbox.js +32 -20
  86. package/dist/cjs/Checkbox.js.map +1 -1
  87. package/dist/cjs/ColorPicker.js +33 -22
  88. package/dist/cjs/ColorPicker.js.map +1 -1
  89. package/dist/cjs/DatePicker.js +35 -21
  90. package/dist/cjs/DatePicker.js.map +1 -1
  91. package/dist/cjs/DateTimePicker.js +45 -29
  92. package/dist/cjs/DateTimePicker.js.map +1 -1
  93. package/dist/cjs/Dropdown.js +50 -39
  94. package/dist/cjs/Dropdown.js.map +1 -1
  95. package/dist/cjs/Input.js +39 -25
  96. package/dist/cjs/Input.js.map +1 -1
  97. package/dist/cjs/Kbd.js +13 -10
  98. package/dist/cjs/Kbd.js.map +1 -1
  99. package/dist/cjs/Label.js +61 -21
  100. package/dist/cjs/Label.js.map +1 -1
  101. package/dist/cjs/Modal.js +36 -21
  102. package/dist/cjs/Modal.js.map +1 -1
  103. package/dist/cjs/MultiEmailInput.js +71 -39
  104. package/dist/cjs/MultiEmailInput.js.map +1 -1
  105. package/dist/cjs/NoData.js +15 -13
  106. package/dist/cjs/NoData.js.map +1 -1
  107. package/dist/cjs/Pagination.js +24 -17
  108. package/dist/cjs/Pagination.js.map +1 -1
  109. package/dist/cjs/Pane.js +36 -21
  110. package/dist/cjs/Pane.js.map +1 -1
  111. package/dist/cjs/Popover.js +14 -12
  112. package/dist/cjs/Popover.js.map +1 -1
  113. package/dist/cjs/ProgressBar.js +3 -2
  114. package/dist/cjs/ProgressBar.js.map +1 -1
  115. package/dist/cjs/Radio.js +39 -25
  116. package/dist/cjs/Radio.js.map +1 -1
  117. package/dist/cjs/Select.js +91 -54
  118. package/dist/cjs/Select.js.map +1 -1
  119. package/dist/cjs/Sidebar.js +38 -28
  120. package/dist/cjs/Sidebar.js.map +1 -1
  121. package/dist/cjs/Slider.js +29 -17
  122. package/dist/cjs/Slider.js.map +1 -1
  123. package/dist/cjs/Spinner.js +3 -2
  124. package/dist/cjs/Spinner.js.map +1 -1
  125. package/dist/cjs/Stepper.js +7 -6
  126. package/dist/cjs/Stepper.js.map +1 -1
  127. package/dist/cjs/Switch.js +35 -23
  128. package/dist/cjs/Switch.js.map +1 -1
  129. package/dist/cjs/Tab.js +15 -12
  130. package/dist/cjs/Tab.js.map +1 -1
  131. package/dist/cjs/Table.js +55 -44
  132. package/dist/cjs/Table.js.map +1 -1
  133. package/dist/cjs/Tag.js +10 -7
  134. package/dist/cjs/Tag.js.map +1 -1
  135. package/dist/cjs/Textarea.js +38 -24
  136. package/dist/cjs/Textarea.js.map +1 -1
  137. package/dist/cjs/TimePicker.js +31 -18
  138. package/dist/cjs/TimePicker.js.map +1 -1
  139. package/dist/cjs/TimePickerInput.js +268 -22
  140. package/dist/cjs/TimePickerInput.js.map +1 -1
  141. package/dist/cjs/Toastr.js +32 -155
  142. package/dist/cjs/Toastr.js.map +1 -1
  143. package/dist/cjs/Tooltip.js +78 -8
  144. package/dist/cjs/Tooltip.js.map +1 -1
  145. package/dist/cjs/Tree.js +20 -12
  146. package/dist/cjs/Tree.js.map +1 -1
  147. package/dist/cjs/TreeSelect.js +30 -16
  148. package/dist/cjs/TreeSelect.js.map +1 -1
  149. package/dist/cjs/Typography.js +11 -8
  150. package/dist/cjs/Typography.js.map +1 -1
  151. package/dist/cjs/formik/ActionBlock.js +12 -11
  152. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  153. package/dist/cjs/formik/BlockNavigation.js +29 -16
  154. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  155. package/dist/cjs/formik/Button.js +11 -10
  156. package/dist/cjs/formik/Button.js.map +1 -1
  157. package/dist/cjs/formik/Checkbox.js +28 -16
  158. package/dist/cjs/formik/Checkbox.js.map +1 -1
  159. package/dist/cjs/formik/Form.js +29 -24
  160. package/dist/cjs/formik/Form.js.map +1 -1
  161. package/dist/cjs/formik/Input.js +27 -15
  162. package/dist/cjs/formik/Input.js.map +1 -1
  163. package/dist/cjs/formik/MultiEmailInput.js +47 -15
  164. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  165. package/dist/cjs/formik/Radio.js +31 -18
  166. package/dist/cjs/formik/Radio.js.map +1 -1
  167. package/dist/cjs/formik/Select.js +48 -16
  168. package/dist/cjs/formik/Select.js.map +1 -1
  169. package/dist/cjs/formik/Slider.js +31 -18
  170. package/dist/cjs/formik/Slider.js.map +1 -1
  171. package/dist/cjs/formik/Switch.js +28 -16
  172. package/dist/cjs/formik/Switch.js.map +1 -1
  173. package/dist/cjs/formik/Textarea.js +28 -16
  174. package/dist/cjs/formik/Textarea.js.map +1 -1
  175. package/dist/cjs/formik/TreeSelect.js +27 -14
  176. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  177. package/dist/cjs/formik/index.js +45 -16
  178. package/dist/cjs/formik/index.js.map +1 -1
  179. package/dist/cjs/index-f2e36d91.js +167 -0
  180. package/dist/cjs/index-f2e36d91.js.map +1 -0
  181. package/dist/cjs/index.css +1 -1
  182. package/dist/cjs/index.js +49 -20
  183. package/dist/cjs/index.js.map +1 -1
  184. package/dist/cjs/layouts.js +16 -11
  185. package/dist/cjs/layouts.js.map +1 -1
  186. package/dist/cjs/managers.js +2 -2
  187. package/dist/cjs/overlayManager.js +9 -4
  188. package/dist/cjs/overlayManager.js.map +1 -1
  189. package/dist/cjs/{react-select-creatable.esm-b39742a3.js → react-select-creatable.esm-23eddf9f.js} +130 -367
  190. package/dist/cjs/react-select-creatable.esm-23eddf9f.js.map +1 -0
  191. package/dist/cjs/{useOverlayManager-359ed795.js → useOverlayManager-1de0435e.js} +37 -75
  192. package/dist/cjs/useOverlayManager-1de0435e.js.map +1 -0
  193. package/dist/cjs/{useQueryParams-14f054b3.js → useQueryParams-a8ee2f76.js} +9 -5
  194. package/dist/cjs/useQueryParams-a8ee2f76.js.map +1 -0
  195. package/dist/formik/ActionBlock.js +7 -8
  196. package/dist/formik/ActionBlock.js.map +1 -1
  197. package/dist/formik/BlockNavigation.js +23 -13
  198. package/dist/formik/BlockNavigation.js.map +1 -1
  199. package/dist/formik/Button.js +7 -8
  200. package/dist/formik/Button.js.map +1 -1
  201. package/dist/formik/Checkbox.js +22 -13
  202. package/dist/formik/Checkbox.js.map +1 -1
  203. package/dist/formik/Form.js +13 -14
  204. package/dist/formik/Form.js.map +1 -1
  205. package/dist/formik/Input.js +21 -12
  206. package/dist/formik/Input.js.map +1 -1
  207. package/dist/formik/MultiEmailInput.js +41 -12
  208. package/dist/formik/MultiEmailInput.js.map +1 -1
  209. package/dist/formik/Radio.js +23 -14
  210. package/dist/formik/Radio.js.map +1 -1
  211. package/dist/formik/Select.js +40 -12
  212. package/dist/formik/Select.js.map +1 -1
  213. package/dist/formik/Slider.js +23 -14
  214. package/dist/formik/Slider.js.map +1 -1
  215. package/dist/formik/Switch.js +22 -13
  216. package/dist/formik/Switch.js.map +1 -1
  217. package/dist/formik/Textarea.js +22 -13
  218. package/dist/formik/Textarea.js.map +1 -1
  219. package/dist/formik/TreeSelect.js +21 -11
  220. package/dist/formik/TreeSelect.js.map +1 -1
  221. package/dist/formik/index.js +45 -16
  222. package/dist/formik/index.js.map +1 -1
  223. package/dist/index-9d5142b4.js +145 -0
  224. package/dist/index-9d5142b4.js.map +1 -0
  225. package/dist/index.css +1 -1
  226. package/dist/index.js +47 -18
  227. package/dist/index.js.map +1 -1
  228. package/dist/layouts.js +16 -11
  229. package/dist/layouts.js.map +1 -1
  230. package/dist/managers.js +2 -2
  231. package/dist/overlayManager.js +2 -2
  232. package/dist/{react-select-creatable.esm-93affeca.js → react-select-creatable.esm-ad71b0c0.js} +43 -289
  233. package/dist/react-select-creatable.esm-ad71b0c0.js.map +1 -0
  234. package/dist/{useOverlayManager-95a474d5.js → useOverlayManager-9d385819.js} +9 -54
  235. package/dist/useOverlayManager-9d385819.js.map +1 -0
  236. package/dist/{useQueryParams-4e7ddcf8.js → useQueryParams-dcb34865.js} +4 -4
  237. package/dist/{useQueryParams-4e7ddcf8.js.map → useQueryParams-dcb34865.js.map} +1 -1
  238. package/package.json +13 -6
  239. package/types/Label.d.ts +7 -0
  240. package/dist/cjs/createClass-80e17c6a.js +0 -31
  241. package/dist/cjs/createClass-80e17c6a.js.map +0 -1
  242. package/dist/cjs/defineProperty-ee86604b.js +0 -21
  243. package/dist/cjs/defineProperty-ee86604b.js.map +0 -1
  244. package/dist/cjs/extends-1b35a664.js +0 -19
  245. package/dist/cjs/extends-1b35a664.js.map +0 -1
  246. package/dist/cjs/index-302c3d37.js +0 -58
  247. package/dist/cjs/index-302c3d37.js.map +0 -1
  248. package/dist/cjs/index-5d74cfeb.js +0 -375
  249. package/dist/cjs/index-5d74cfeb.js.map +0 -1
  250. package/dist/cjs/index-6e09c7bc.js +0 -2211
  251. package/dist/cjs/index-6e09c7bc.js.map +0 -1
  252. package/dist/cjs/index-773961dd.js +0 -453
  253. package/dist/cjs/index-773961dd.js.map +0 -1
  254. package/dist/cjs/index-a8cc581e.js +0 -2383
  255. package/dist/cjs/index-a8cc581e.js.map +0 -1
  256. package/dist/cjs/index-becc6543.js +0 -262
  257. package/dist/cjs/index-becc6543.js.map +0 -1
  258. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
  259. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
  260. package/dist/cjs/react-select-creatable.esm-b39742a3.js.map +0 -1
  261. package/dist/cjs/slicedToArray-732a2048.js +0 -63
  262. package/dist/cjs/slicedToArray-732a2048.js.map +0 -1
  263. package/dist/cjs/toConsumableArray-418424fc.js +0 -23
  264. package/dist/cjs/toConsumableArray-418424fc.js.map +0 -1
  265. package/dist/cjs/toPropertyKey-bfa2e465.js +0 -31
  266. package/dist/cjs/toPropertyKey-bfa2e465.js.map +0 -1
  267. package/dist/cjs/useOverlayManager-359ed795.js.map +0 -1
  268. package/dist/cjs/useQueryParams-14f054b3.js.map +0 -1
  269. package/dist/createClass-601a36b2.js +0 -28
  270. package/dist/createClass-601a36b2.js.map +0 -1
  271. package/dist/defineProperty-e5245270.js +0 -19
  272. package/dist/defineProperty-e5245270.js.map +0 -1
  273. package/dist/extends-093996c9.js +0 -17
  274. package/dist/extends-093996c9.js.map +0 -1
  275. package/dist/index-34956d66.js +0 -372
  276. package/dist/index-34956d66.js.map +0 -1
  277. package/dist/index-3659771d.js +0 -56
  278. package/dist/index-3659771d.js.map +0 -1
  279. package/dist/index-661b9fd6.js +0 -253
  280. package/dist/index-661b9fd6.js.map +0 -1
  281. package/dist/index-7fae3611.js +0 -2381
  282. package/dist/index-7fae3611.js.map +0 -1
  283. package/dist/index-c442518b.js +0 -445
  284. package/dist/index-c442518b.js.map +0 -1
  285. package/dist/index-c8d9113c.js +0 -2193
  286. package/dist/index-c8d9113c.js.map +0 -1
  287. package/dist/objectWithoutProperties-a0edb288.js +0 -31
  288. package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
  289. package/dist/react-select-creatable.esm-93affeca.js.map +0 -1
  290. package/dist/slicedToArray-45fa766e.js +0 -57
  291. package/dist/slicedToArray-45fa766e.js.map +0 -1
  292. package/dist/toConsumableArray-1186e144.js +0 -20
  293. package/dist/toConsumableArray-1186e144.js.map +0 -1
  294. package/dist/toPropertyKey-bdc24cb9.js +0 -28
  295. package/dist/toPropertyKey-bdc24cb9.js.map +0 -1
  296. package/dist/useOverlayManager-95a474d5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../src/components/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst Checkbox = forwardRef(\n (\n {\n label = \"\",\n error = \"\",\n className = \"\",\n required = false,\n labelProps,\n children,\n ...otherProps\n },\n ref\n ) => {\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const renderLabel = label || children;\n\n return (\n <div className={classnames([\"neeto-ui-checkbox__wrapper\", className])}>\n <div className=\"neeto-ui-checkbox__container\">\n <input\n {...{ id, ref, required }}\n aria-invalid={!!error}\n className=\"neeto-ui-checkbox\"\n data-cy={`${hyphenize(renderLabel)}-checkbox-input`}\n name={id}\n type=\"checkbox\"\n {...otherProps}\n />\n {renderLabel && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(renderLabel)}-checkbox-label`}\n htmlFor={id}\n {...labelProps}\n >\n {renderLabel}\n </Label>\n )}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(renderLabel)}-checkbox-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * To specify a unique ID to the Checkbox component.\n */\n id: PropTypes.string,\n /**\n * To specify the text to be displayed next to the Checkbox.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the error message to be shown.\n */\n error: PropTypes.string,\n /**\n * To provide external classnames to Checkbox component.\n */\n className: PropTypes.string,\n /**\n * To specify whether the Checkbox is a required field or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the children label to be rendered inside the Checkbox.\n */\n children: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","_ref$label","label","_ref$error","error","_ref$className","className","_ref$required","required","labelProps","children","otherProps","_objectWithoutProperties","_excluded","id","useId","errorId","concat","renderLabel","React","createElement","classnames","_extends","hyphenize","name","type","Label","htmlFor","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUMA,IAAAA,QAAQ,gBAAGC,UAAU,CACzB,UAAAC,IAAA,EAUEC,GAAG,EACA;AAAA,EAAA,IAAAC,UAAA,GAAAF,IAAA,CATDG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,UAAA,GAAAJ,IAAA,CACVK,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,cAAA,GAAAN,IAAA,CACVO,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,aAAA,GAAAR,IAAA,CACdS,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,UAAU,GAAAV,IAAA,CAAVU,UAAU;IACVC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;AACLC,IAAAA,UAAU,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAIf,EAAA,IAAMC,EAAE,GAAGC,KAAK,CAACJ,UAAU,CAACG,EAAE,CAAC,CAAA;AAC/B,EAAA,IAAME,OAAO,GAAA,QAAA,CAAAC,MAAA,CAAYH,EAAE,CAAE,CAAA;AAC7B,EAAA,IAAMI,WAAW,GAAGhB,KAAK,IAAIQ,QAAQ,CAAA;EAErC,oBACES,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAEe,UAAU,CAAC,CAAC,4BAA4B,EAAEf,SAAS,CAAC,CAAA;GAClEa,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,eAC3Ca,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAAE,QAAA,CAAA;AACQR,IAAAA,EAAE,EAAFA,EAAE;AAAEd,IAAAA,GAAG,EAAHA,GAAG;AAAEQ,IAAAA,QAAQ,EAARA,QAAQ;IACvB,cAAc,EAAA,CAAC,CAACJ,KAAM;AACtBE,IAAAA,SAAS,EAAC,mBAAmB;AAC7B,IAAA,SAAA,EAAA,EAAA,CAAAW,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDM,IAAAA,IAAI,EAAEV,EAAG;AACTW,IAAAA,IAAI,EAAC,UAAA;GACDd,EAAAA,UAAU,CACd,CAAA,EACDO,WAAW,iBACVC,cAAA,CAAAC,aAAA,CAACM,KAAK,EAAAJ,QAAA,CAAA;AACEd,IAAAA,QAAQ,EAARA,QAAQ;AACd,IAAA,SAAA,EAAA,EAAA,CAAAS,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDS,IAAAA,OAAO,EAAEb,EAAAA;AAAG,GAAA,EACRL,UAAU,CAAA,EAEbS,WAAW,CAEf,CACG,EACL,CAAC,CAACd,KAAK,iBACNe,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEd,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAW,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDJ,IAAAA,EAAE,EAAEE,OAAAA;GAEHZ,EAAAA,KAAK,CAET,CACG,CAAA;AAEV,CAAC,EACF;AAEDP,QAAQ,CAAC+B,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../src/components/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst Checkbox = forwardRef(\n (\n {\n label = \"\",\n error = \"\",\n className = \"\",\n required = false,\n labelProps,\n children,\n ...otherProps\n },\n ref\n ) => {\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const renderLabel = label || children;\n\n return (\n <div className={classnames([\"neeto-ui-checkbox__wrapper\", className])}>\n <div className=\"neeto-ui-checkbox__container\">\n <input\n {...{ id, ref, required }}\n aria-invalid={!!error}\n className=\"neeto-ui-checkbox\"\n data-cy={`${hyphenize(renderLabel)}-checkbox-input`}\n name={id}\n type=\"checkbox\"\n {...otherProps}\n />\n {renderLabel && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(renderLabel)}-checkbox-label`}\n htmlFor={id}\n {...labelProps}\n >\n {renderLabel}\n </Label>\n )}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(renderLabel)}-checkbox-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * To specify a unique ID to the Checkbox component.\n */\n id: PropTypes.string,\n /**\n * To specify the text to be displayed next to the Checkbox.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the error message to be shown.\n */\n error: PropTypes.string,\n /**\n * To provide external classnames to Checkbox component.\n */\n className: PropTypes.string,\n /**\n * To specify whether the Checkbox is a required field or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the children label to be rendered inside the Checkbox.\n */\n children: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","_ref$label","label","_ref$error","error","_ref$className","className","_ref$required","required","labelProps","children","otherProps","_objectWithoutProperties","_excluded","id","useId","errorId","concat","renderLabel","React","createElement","classnames","_extends","hyphenize","name","type","Label","htmlFor","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUMA,IAAAA,QAAQ,gBAAGC,UAAU,CACzB,UAAAC,IAAA,EAUEC,GAAG,EACA;AAAA,EAAA,IAAAC,UAAA,GAAAF,IAAA,CATDG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,UAAA,GAAAJ,IAAA,CACVK,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,cAAA,GAAAN,IAAA,CACVO,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,aAAA,GAAAR,IAAA,CACdS,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,UAAU,GAAAV,IAAA,CAAVU,UAAU;IACVC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;AACLC,IAAAA,UAAU,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAIf,EAAA,IAAMC,EAAE,GAAGC,KAAK,CAACJ,UAAU,CAACG,EAAE,CAAC,CAAA;AAC/B,EAAA,IAAME,OAAO,GAAA,QAAA,CAAAC,MAAA,CAAYH,EAAE,CAAE,CAAA;AAC7B,EAAA,IAAMI,WAAW,GAAGhB,KAAK,IAAIQ,QAAQ,CAAA;EAErC,oBACES,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAEe,UAAU,CAAC,CAAC,4BAA4B,EAAEf,SAAS,CAAC,CAAA;GAClEa,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,eAC3Ca,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAAE,QAAA,CAAA;AACQR,IAAAA,EAAE,EAAFA,EAAE;AAAEd,IAAAA,GAAG,EAAHA,GAAG;AAAEQ,IAAAA,QAAQ,EAARA,QAAQ;IACvB,cAAc,EAAA,CAAC,CAACJ,KAAM;AACtBE,IAAAA,SAAS,EAAC,mBAAmB;AAC7B,IAAA,SAAA,EAAA,EAAA,CAAAW,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDM,IAAAA,IAAI,EAAEV,EAAG;AACTW,IAAAA,IAAI,EAAC,UAAA;GACDd,EAAAA,UAAU,CACd,CAAA,EACDO,WAAW,iBACVC,cAAA,CAAAC,aAAA,CAACM,KAAK,EAAAJ,QAAA,CAAA;AACEd,IAAAA,QAAQ,EAARA,QAAQ;AACd,IAAA,SAAA,EAAA,EAAA,CAAAS,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDS,IAAAA,OAAO,EAAEb,EAAAA;AAAG,GAAA,EACRL,UAAU,CAAA,EAEbS,WAAW,CAEf,CACG,EACL,CAAC,CAACd,KAAK,iBACNe,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEd,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAW,MAAA,CAAYM,SAAS,CAACL,WAAW,CAAC,EAAkB,iBAAA,CAAA;AACpDJ,IAAAA,EAAE,EAAEE,OAAAA;GAEHZ,EAAAA,KAAK,CAET,CACG,CAAA;AAEV,CAAC,EACF;AAEDP,QAAQ,CAAC+B,WAAW,GAAG,UAAU;;;;"}
@@ -1,25 +1,31 @@
1
- import { _ as _extends } from './extends-093996c9.js';
2
- import { _ as _asyncToGenerator, r as regenerator } from './index-34956d66.js';
3
- import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
4
5
  import React__default, { useMemo, useRef, useCallback, useEffect, useState } from 'react';
5
- import { c as classnames } from './index-3659771d.js';
6
+ import classnames from 'classnames';
6
7
  import { Focus, Down } from '@bigbinary/neeto-icons';
7
8
  import { HexColorInput, HexAlphaColorPicker, HexColorPicker } from 'react-colorful';
8
9
  import Button from './Button.js';
9
10
  import Dropdown from './Dropdown.js';
10
- import { n as noop } from './index-c8d9113c.js';
11
- import './defineProperty-e5245270.js';
12
- import './toPropertyKey-bdc24cb9.js';
13
- import './objectWithoutProperties-a0edb288.js';
11
+ import { n as noop } from './index-9d5142b4.js';
12
+ import '@babel/runtime/helpers/defineProperty';
13
+ import '@babel/runtime/helpers/objectWithoutProperties';
14
14
  import 'react-router-dom';
15
15
  import './motion-087daf52.js';
16
- import './index-c442518b.js';
16
+ import './Tooltip.js';
17
+ import '@tippyjs/react';
17
18
  import 'tippy.js';
18
- import 'react-dom';
19
19
  import 'ramda';
20
20
  import '@bigbinary/neeto-cist';
21
- import './createClass-601a36b2.js';
22
- import 'util';
21
+ import '@babel/runtime/helpers/classCallCheck';
22
+ import '@babel/runtime/helpers/createClass';
23
+ import 'dayjs';
24
+ import 'dayjs/plugin/localeData';
25
+ import 'dayjs/plugin/utc';
26
+ import 'dayjs/plugin/weekday';
27
+ import 'dayjs/plugin/weekOfYear';
28
+ import 'qs';
23
29
 
24
30
  var tinycolor$1 = {exports: {}};
25
31
 
@@ -1308,9 +1314,9 @@ var ColorPicker = function ColorPicker(_ref) {
1308
1314
  onChangeInternal(getColor(colorValue));
1309
1315
  };
1310
1316
  var pickColor = /*#__PURE__*/function () {
1311
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
1317
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
1312
1318
  var colorResponse, colorHex;
1313
- return regenerator.wrap(function _callee$(_context) {
1319
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
1314
1320
  while (1) switch (_context.prev = _context.next) {
1315
1321
  case 0:
1316
1322
  _context.prev = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sources":["../node_modules/tinycolor2/tinycolor.js","../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../node_modules/use-eye-dropper/lib/index.module.js","../src/components/ColorPicker/Palette.jsx","../src/components/ColorPicker/index.jsx"],"sourcesContent":["// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Palette = ({ color, colorList = [], onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette\">\n {colorList.map((item, index) => (\n <div\n data-testid=\"color-palette-item\"\n key={index}\n className={classnames(\"neeto-ui-color-palette__item\", {\n active: color && color.from === item.from && color.to === item.to,\n })}\n onClick={() => onChange(item.from, item.to)}\n >\n <div className={`bg-gradient-to-r from-${item.from} to-${item.to}`} />\n </div>\n ))}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, Focus } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n colorPaletteProps,\n dropdownProps,\n showEyeDropper = false,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onChangeInternal = onChange || setColorInternal;\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n return {\n hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),\n rgb: color.toRgb(),\n };\n };\n\n const onColorInputChange = hex => {\n const color = tinycolor(hex);\n const rgb = color.toRgb();\n isInputChanged.current = true;\n\n onChangeInternal({ hex, rgb });\n };\n\n const onPickerChange = hex => onChangeInternal(getColor(hex));\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n isInputChanged.current = false;\n onChangeInternal(getColor(colorValue));\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const colorHex = tinycolor(colorResponse.sRGBHex).toHexString();\n onPickerChange(colorHex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-400 border\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {colorPaletteProps && (\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\":\n !showPicker,\n })}\n >\n <Palette {...colorPaletteProps} />\n </div>\n )}\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onPickerChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-2 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={Focus}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the props to be passed to the Palette component.\n */\n colorPaletteProps: PropTypes.shape({\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n }),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be hidden.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","index","key","classnames","active","from","to","onClick","concat","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","colorPaletteProps","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","onChangeInternal","getColor","tinycolor","hex","toHex8String","toHexString","rgb","toRgb","onColorInputChange","current","onPickerChange","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","colorHex","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","style","backgroundColor","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","Fragment","Button","icon","Focus","HexColorInput","alpha"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","sources":["../node_modules/tinycolor2/tinycolor.js","../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../node_modules/use-eye-dropper/lib/index.module.js","../src/components/ColorPicker/Palette.jsx","../src/components/ColorPicker/index.jsx"],"sourcesContent":["// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Palette = ({ color, colorList = [], onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette\">\n {colorList.map((item, index) => (\n <div\n data-testid=\"color-palette-item\"\n key={index}\n className={classnames(\"neeto-ui-color-palette__item\", {\n active: color && color.from === item.from && color.to === item.to,\n })}\n onClick={() => onChange(item.from, item.to)}\n >\n <div className={`bg-gradient-to-r from-${item.from} to-${item.to}`} />\n </div>\n ))}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, Focus } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n colorPaletteProps,\n dropdownProps,\n showEyeDropper = false,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onChangeInternal = onChange || setColorInternal;\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n return {\n hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),\n rgb: color.toRgb(),\n };\n };\n\n const onColorInputChange = hex => {\n const color = tinycolor(hex);\n const rgb = color.toRgb();\n isInputChanged.current = true;\n\n onChangeInternal({ hex, rgb });\n };\n\n const onPickerChange = hex => onChangeInternal(getColor(hex));\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n isInputChanged.current = false;\n onChangeInternal(getColor(colorValue));\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const colorHex = tinycolor(colorResponse.sRGBHex).toHexString();\n onPickerChange(colorHex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-400 border\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {colorPaletteProps && (\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\":\n !showPicker,\n })}\n >\n <Palette {...colorPaletteProps} />\n </div>\n )}\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onPickerChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-2 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={Focus}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the props to be passed to the Palette component.\n */\n colorPaletteProps: PropTypes.shape({\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n }),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be hidden.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","index","key","classnames","active","from","to","onClick","concat","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","colorPaletteProps","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","onChangeInternal","getColor","tinycolor","hex","toHex8String","toHexString","rgb","toRgb","onColorInputChange","current","onPickerChange","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","colorHex","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","style","backgroundColor","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","Fragment","Button","icon","Focus","HexColorInput","alpha"],"mappings":"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"}