@choice-ui/react 1.7.5 → 1.7.7

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 (335) hide show
  1. package/dist/components/colors/dist/index.d.ts +878 -0
  2. package/dist/components/colors/scripts/build-worker.d.ts +1 -0
  3. package/dist/components/colors/src/check-color-contrast/check-color-contrast-boundary.d.ts +14 -0
  4. package/dist/components/colors/src/check-color-contrast/check-color-contrast-boundary.js +403 -0
  5. package/dist/components/colors/src/check-color-contrast/check-color-contrast-toolbar.d.ts +12 -0
  6. package/dist/components/colors/src/check-color-contrast/check-color-contrast-toolbar.js +285 -0
  7. package/dist/components/colors/src/check-color-contrast/index.d.ts +2 -0
  8. package/dist/components/colors/src/color-area/color-area.d.ts +24 -0
  9. package/dist/components/colors/src/color-area/color-area.js +228 -0
  10. package/dist/components/colors/src/color-area/index.d.ts +1 -0
  11. package/dist/components/colors/src/color-area/tv.d.ts +34 -0
  12. package/dist/components/colors/src/color-area/tv.js +22 -0
  13. package/dist/components/colors/src/color-channel-field/color-channel-field.d.ts +22 -0
  14. package/dist/components/colors/src/color-channel-field/color-channel-field.js +110 -0
  15. package/dist/components/colors/src/color-channel-field/color-channel-input.d.ts +20 -0
  16. package/dist/components/colors/src/color-channel-field/color-channel-input.js +261 -0
  17. package/dist/components/colors/src/color-channel-field/index.d.ts +1 -0
  18. package/dist/components/colors/src/color-channel-field/tv.d.ts +101 -0
  19. package/dist/components/colors/src/color-channel-field/tv.js +85 -0
  20. package/dist/components/colors/src/color-gradients-paint/color-gradient-combined.d.ts +16 -0
  21. package/dist/components/colors/src/color-gradients-paint/color-gradient-combined.js +54 -0
  22. package/dist/components/colors/src/color-gradients-paint/color-gradient-control.d.ts +18 -0
  23. package/dist/components/colors/src/color-gradients-paint/color-gradient-control.js +149 -0
  24. package/dist/components/colors/src/color-gradients-paint/color-gradient-list.d.ts +20 -0
  25. package/dist/components/colors/src/color-gradients-paint/color-gradient-list.js +111 -0
  26. package/dist/components/colors/src/color-gradients-paint/color-gradient-slider.d.ts +18 -0
  27. package/dist/components/colors/src/color-gradients-paint/color-gradient-slider.js +281 -0
  28. package/dist/components/colors/src/color-gradients-paint/color-gradients-paint.d.ts +17 -0
  29. package/dist/components/colors/src/color-gradients-paint/color-gradients-paint.js +162 -0
  30. package/dist/components/colors/src/color-gradients-paint/color-gradients-toolbar.d.ts +10 -0
  31. package/dist/components/colors/src/color-gradients-paint/color-gradients-toolbar.js +62 -0
  32. package/dist/components/colors/src/color-gradients-paint/index.d.ts +3 -0
  33. package/dist/components/colors/src/color-image-paint/color-image-paint.d.ts +13 -0
  34. package/dist/components/colors/src/color-image-paint/color-image-paint.js +236 -0
  35. package/dist/components/colors/src/color-image-paint/color-image-toolbar.d.ts +9 -0
  36. package/dist/components/colors/src/color-image-paint/color-image-toolbar.js +52 -0
  37. package/dist/components/colors/src/color-image-paint/index.d.ts +1 -0
  38. package/dist/components/colors/src/color-image-paint/tv.d.ts +89 -0
  39. package/dist/components/colors/src/color-image-paint/tv.js +45 -0
  40. package/dist/components/colors/src/color-picker-content/color-picker-content.d.ts +18 -0
  41. package/dist/components/colors/src/color-picker-content/color-picker-content.js +58 -0
  42. package/dist/components/colors/src/color-picker-content/color-picker-custom-content.d.ts +16 -0
  43. package/dist/components/colors/src/color-picker-content/color-picker-custom-content.js +75 -0
  44. package/dist/components/colors/src/color-picker-content/index.d.ts +1 -0
  45. package/dist/components/colors/src/color-picker-content/paint-type-selector.d.ts +13 -0
  46. package/dist/components/colors/src/color-picker-content/paint-type-selector.js +50 -0
  47. package/dist/components/colors/src/color-picker-content/tv.d.ts +31 -0
  48. package/dist/components/colors/src/color-picker-content/tv.js +13 -0
  49. package/dist/components/colors/src/color-picker-popover/color-paints-type.d.ts +15 -0
  50. package/dist/components/colors/src/color-picker-popover/color-paints-type.js +56 -0
  51. package/dist/components/colors/src/color-picker-popover/color-picker-popover.d.ts +26 -0
  52. package/dist/components/colors/src/color-picker-popover/color-picker-popover.js +116 -0
  53. package/dist/components/colors/src/color-picker-popover/color-picker-tabs.d.ts +14 -0
  54. package/dist/components/colors/src/color-picker-popover/color-picker-tabs.js +47 -0
  55. package/dist/components/colors/src/color-picker-popover/color-picker-title.d.ts +14 -0
  56. package/dist/components/colors/src/color-picker-popover/color-picker-title.js +30 -0
  57. package/dist/components/colors/src/color-picker-popover/index.d.ts +3 -0
  58. package/dist/components/colors/src/color-picker-popover/tv.d.ts +37 -0
  59. package/dist/components/colors/src/color-slider/color-slider.d.ts +19 -0
  60. package/dist/components/colors/src/color-slider/color-slider.js +185 -0
  61. package/dist/components/colors/src/color-slider/index.d.ts +1 -0
  62. package/dist/components/colors/src/color-slider/tv.d.ts +31 -0
  63. package/dist/components/colors/src/color-slider/tv.js +21 -0
  64. package/dist/components/colors/src/color-solid-paint/color-native-picker.d.ts +8 -0
  65. package/dist/components/colors/src/color-solid-paint/color-native-picker.js +63 -0
  66. package/dist/components/colors/src/color-solid-paint/color-solid-paint.d.ts +25 -0
  67. package/dist/components/colors/src/color-solid-paint/color-solid-paint.js +295 -0
  68. package/dist/components/colors/src/color-solid-paint/index.d.ts +3 -0
  69. package/dist/components/colors/src/color-solid-paint/solid-paint-alpha-slider.d.ts +10 -0
  70. package/dist/components/colors/src/color-solid-paint/solid-paint-alpha-slider.js +20 -0
  71. package/dist/components/colors/src/color-solid-paint/solid-paint-area.d.ts +17 -0
  72. package/dist/components/colors/src/color-solid-paint/solid-paint-area.js +131 -0
  73. package/dist/components/colors/src/color-solid-paint/solid-paint-channel-field.d.ts +20 -0
  74. package/dist/components/colors/src/color-solid-paint/solid-paint-channel-field.js +147 -0
  75. package/dist/components/colors/src/color-solid-paint/solid-paint-hue-slider.d.ts +14 -0
  76. package/dist/components/colors/src/color-solid-paint/solid-paint-hue-slider.js +46 -0
  77. package/dist/components/colors/src/color-solid-paint/solid-paint-library-item.d.ts +8 -0
  78. package/dist/components/colors/src/color-solid-paint/tv.d.ts +79 -0
  79. package/dist/components/colors/src/color-solid-paint/tv.js +39 -0
  80. package/dist/components/colors/src/color-swatch/color-swatch.d.ts +15 -0
  81. package/dist/components/colors/src/color-swatch/color-swatch.js +111 -0
  82. package/dist/components/colors/src/color-swatch/index.d.ts +1 -0
  83. package/dist/components/colors/src/contents/color-space.d.ts +19 -0
  84. package/dist/components/colors/src/contents/color-space.js +16 -0
  85. package/dist/components/colors/src/contents/colors.d.ts +42 -0
  86. package/dist/components/colors/src/contents/colors.js +24 -0
  87. package/dist/components/colors/src/contents/index.d.ts +3 -0
  88. package/dist/components/colors/src/contents/translation.d.ts +100 -0
  89. package/dist/components/colors/src/contents/translation.js +94 -0
  90. package/dist/components/colors/src/context/colots-context.d.ts +24 -0
  91. package/dist/components/colors/src/context/colots-context.js +62 -0
  92. package/dist/components/colors/src/context/index.d.ts +1 -0
  93. package/dist/components/colors/src/fill-input/alpha-input.d.ts +12 -0
  94. package/dist/components/colors/src/fill-input/alpha-input.js +48 -0
  95. package/dist/components/colors/src/fill-input/color-input.d.ts +31 -0
  96. package/dist/components/colors/src/fill-input/color-input.js +115 -0
  97. package/dist/components/colors/src/fill-input/gradient-item.d.ts +25 -0
  98. package/dist/components/colors/src/fill-input/gradient-item.js +103 -0
  99. package/dist/components/colors/src/fill-input/image-item.d.ts +25 -0
  100. package/dist/components/colors/src/fill-input/image-item.js +89 -0
  101. package/dist/components/colors/src/fill-input/index.d.ts +5 -0
  102. package/dist/components/colors/src/fill-input/tv.d.ts +221 -0
  103. package/dist/components/colors/src/fill-input/tv.js +205 -0
  104. package/dist/components/colors/src/fill-input/variable-item.d.ts +22 -0
  105. package/dist/components/colors/src/fill-input/variable-item.js +105 -0
  106. package/dist/components/colors/src/hex-input/hex-input.d.ts +10 -0
  107. package/dist/components/colors/src/hex-input/hex-input.js +182 -0
  108. package/dist/components/colors/src/hex-input/index.d.ts +1 -0
  109. package/dist/components/colors/src/hex-input/tv.d.ts +1 -0
  110. package/dist/components/colors/src/hex-input/tv.js +12 -0
  111. package/dist/components/colors/src/hooks/index.d.ts +10 -0
  112. package/dist/components/colors/src/hooks/use-color-contrast-recommendation.d.ts +36 -0
  113. package/dist/components/colors/src/hooks/use-color-contrast-recommendation.js +502 -0
  114. package/dist/components/colors/src/hooks/use-color-parser.d.ts +10 -0
  115. package/dist/components/colors/src/hooks/use-color-parser.js +146 -0
  116. package/dist/components/colors/src/hooks/use-color-picker.d.ts +45 -0
  117. package/dist/components/colors/src/hooks/use-color-picker.js +117 -0
  118. package/dist/components/colors/src/hooks/use-color-profile.d.ts +2 -0
  119. package/dist/components/colors/src/hooks/use-color-profile.js +27 -0
  120. package/dist/components/colors/src/hooks/use-cursor.d.ts +1 -0
  121. package/dist/components/colors/src/hooks/use-cursor.js +25 -0
  122. package/dist/components/colors/src/hooks/use-features.d.ts +21 -0
  123. package/dist/components/colors/src/hooks/use-features.js +73 -0
  124. package/dist/components/colors/src/hooks/use-image-filter-style.d.ts +9 -0
  125. package/dist/components/colors/src/hooks/use-image-filter-style.js +25 -0
  126. package/dist/components/colors/src/hooks/use-image-processor.d.ts +10 -0
  127. package/dist/components/colors/src/hooks/use-image-processor.js +121 -0
  128. package/dist/components/colors/src/hooks/use-paint-state.d.ts +16 -0
  129. package/dist/components/colors/src/hooks/use-paint-state.js +37 -0
  130. package/dist/components/colors/src/hooks/use-rgb-color-handler.d.ts +21 -0
  131. package/dist/components/colors/src/hooks/use-rgb-color-handler.js +58 -0
  132. package/dist/components/colors/src/index.d.ts +38 -0
  133. package/dist/components/colors/src/libraries/components/virtualized-grid-row.d.ts +36 -0
  134. package/dist/components/colors/src/libraries/components/virtualized-grid-row.js +53 -0
  135. package/dist/components/colors/src/libraries/components/virtualized-header.d.ts +9 -0
  136. package/dist/components/colors/src/libraries/components/virtualized-header.js +30 -0
  137. package/dist/components/colors/src/libraries/hooks/index.d.ts +2 -0
  138. package/dist/components/colors/src/libraries/hooks/use-category-options.d.ts +11 -0
  139. package/dist/components/colors/src/libraries/hooks/use-category-options.js +27 -0
  140. package/dist/components/colors/src/libraries/hooks/use-palette-color.d.ts +19 -0
  141. package/dist/components/colors/src/libraries/hooks/use-palette-color.js +41 -0
  142. package/dist/components/colors/src/libraries/index.d.ts +8 -0
  143. package/dist/components/colors/src/libraries/libraries-content.d.ts +8 -0
  144. package/dist/components/colors/src/libraries/libraries-empty-content.d.ts +5 -0
  145. package/dist/components/colors/src/libraries/libraries-header.d.ts +18 -0
  146. package/dist/components/colors/src/libraries/libraries-header.js +111 -0
  147. package/dist/components/colors/src/libraries/libraries-search-empty-content.d.ts +1 -0
  148. package/dist/components/colors/src/libraries/libraries-search-input.d.ts +6 -0
  149. package/dist/components/colors/src/libraries/libraries.d.ts +42 -0
  150. package/dist/components/colors/src/libraries/libraries.js +461 -0
  151. package/dist/components/colors/src/libraries/library-color-swatch.d.ts +21 -0
  152. package/dist/components/colors/src/libraries/library-item/index.d.ts +4 -0
  153. package/dist/components/colors/src/libraries/library-item/library-item.d.ts +21 -0
  154. package/dist/components/colors/src/libraries/library-item/library-item.js +151 -0
  155. package/dist/components/colors/src/libraries/library-item/library-list-item.d.ts +6 -0
  156. package/dist/components/colors/src/libraries/library-item/style-items.d.ts +17 -0
  157. package/dist/components/colors/src/libraries/library-item/style-items.js +63 -0
  158. package/dist/components/colors/src/libraries/library-item/variable-items.d.ts +19 -0
  159. package/dist/components/colors/src/libraries/library-item/variable-items.js +47 -0
  160. package/dist/components/colors/src/libraries/tv.d.ts +198 -0
  161. package/dist/components/colors/src/libraries/tv.js +141 -0
  162. package/dist/components/colors/src/simple-color-picker/index.d.ts +1 -0
  163. package/dist/components/colors/src/simple-color-picker/simple-color-picker.d.ts +17 -0
  164. package/dist/components/colors/src/simple-color-picker/simple-color-picker.js +153 -0
  165. package/dist/components/colors/src/types/base.d.ts +5 -0
  166. package/dist/components/colors/src/types/colors.d.ts +139 -0
  167. package/dist/components/colors/src/types/effect.d.ts +18 -0
  168. package/dist/components/colors/src/types/fill.d.ts +15 -0
  169. package/dist/components/colors/src/types/fonts.d.ts +38 -0
  170. package/dist/components/colors/src/types/index.d.ts +7 -0
  171. package/dist/components/colors/src/types/libraries.d.ts +7 -0
  172. package/dist/components/colors/src/types/paint.d.ts +139 -0
  173. package/dist/components/colors/src/types/style.d.ts +51 -0
  174. package/dist/components/colors/src/types/testing-library.d.ts +0 -0
  175. package/dist/components/colors/src/types/util.d.ts +26 -0
  176. package/dist/components/colors/src/types/variable.d.ts +27 -0
  177. package/dist/components/colors/src/utils/background.d.ts +12 -0
  178. package/dist/components/colors/src/utils/background.js +216 -0
  179. package/dist/components/colors/src/utils/color-profile-storage.d.ts +29 -0
  180. package/dist/components/colors/src/utils/color.d.ts +20 -0
  181. package/dist/components/colors/src/utils/color.js +45 -0
  182. package/dist/components/colors/src/utils/colors-convert.d.ts +18 -0
  183. package/dist/components/colors/src/utils/colors-convert.js +138 -0
  184. package/dist/components/colors/src/utils/contrast-utils.d.ts +27 -0
  185. package/dist/components/colors/src/utils/contrast-utils.js +25 -0
  186. package/dist/components/colors/src/utils/cursor.d.ts +1 -0
  187. package/dist/components/colors/src/utils/index.d.ts +7 -0
  188. package/dist/components/colors/src/utils/math.d.ts +9 -0
  189. package/dist/components/colors/src/utils/position.d.ts +33 -0
  190. package/dist/components/colors/src/utils/position.js +60 -0
  191. package/dist/components/colors/src/utils/validate.d.ts +10 -0
  192. package/dist/components/colors/src/workers/boundary-calculator.worker.bundled.d.ts +2 -0
  193. package/dist/components/colors/src/workers/boundary-calculator.worker.bundled.js +36 -0
  194. package/dist/components/colors/src/workers/boundary-calculator.worker.d.ts +1 -0
  195. package/dist/components/colors/src/workers/index.d.ts +1 -0
  196. package/dist/components/colors/tsup.config.d.ts +2 -0
  197. package/dist/components/comments/dist/index.d.ts +3 -0
  198. package/dist/components/comments/src/comment-input/comment-input.d.ts +3 -0
  199. package/dist/components/comments/src/comment-input/comment-input.js +8 -2
  200. package/dist/components/comments/src/comment-input/components/comment-input-footer.d.ts +3 -0
  201. package/dist/components/comments/src/comment-input/components/comment-input-footer.js +10 -9
  202. package/dist/components/comments/src/comment-input/components/comment-input-renderers.js +1 -1
  203. package/dist/components/index.d.ts +1 -0
  204. package/dist/components/modal/dist/index.js +1 -2
  205. package/dist/components/modal/src/tv.js +1 -2
  206. package/dist/components/numeric-input/dist/index.js +3 -4
  207. package/dist/components/numeric-input/src/tv.js +3 -4
  208. package/dist/components/otp-input/src/tv.js +1 -2
  209. package/dist/components/panel/src/tv.js +15 -16
  210. package/dist/components/skeleton/src/tv.js +1 -2
  211. package/dist/components/text-field/dist/index.js +1 -2
  212. package/dist/components/text-field/src/tv.js +1 -2
  213. package/dist/components/textarea/src/tv.d.ts +9 -3
  214. package/dist/components/textarea/src/tv.js +3 -1
  215. package/dist/components/toggle-button/dist/index.js +602 -0
  216. package/dist/index.js +69 -0
  217. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/index.js +119 -0
  218. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/Color.js +42 -0
  219. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/chroma.js +9 -0
  220. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/colorbrewer.js +57 -0
  221. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/w3cx11.js +159 -0
  222. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/average.js +82 -0
  223. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/bezier.js +68 -0
  224. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/blend.js +43 -0
  225. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/cubehelix.js +81 -0
  226. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/mix.js +20 -0
  227. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/random.js +13 -0
  228. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/scale.js +325 -0
  229. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/_hsx.js +54 -0
  230. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hcg.js +10 -0
  231. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsi.js +10 -0
  232. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsl.js +10 -0
  233. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsv.js +10 -0
  234. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/index.js +4 -0
  235. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lab.js +17 -0
  236. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lch.js +11 -0
  237. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lrgb.js +17 -0
  238. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/num.js +12 -0
  239. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklab.js +17 -0
  240. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklch.js +10 -0
  241. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/rgb.js +16 -0
  242. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.js +20 -0
  243. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/index.js +25 -0
  244. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.js +18 -0
  245. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/css2rgb.js +169 -0
  246. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/hsl2css.js +20 -0
  247. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/index.js +23 -0
  248. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lab2css.js +19 -0
  249. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lch2css.js +19 -0
  250. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklab2css.js +17 -0
  251. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklch2css.js +17 -0
  252. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/rgb2css.js +53 -0
  253. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/gl/index.js +21 -0
  254. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/hcg2rgb.js +48 -0
  255. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/index.js +25 -0
  256. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/rgb2hcg.js +24 -0
  257. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/hex2rgb.js +37 -0
  258. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/index.js +23 -0
  259. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/rgb2hex.js +31 -0
  260. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/hsi2rgb.js +36 -0
  261. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/index.js +25 -0
  262. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/rgb2hsi.js +28 -0
  263. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/hsl2rgb.js +35 -0
  264. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/index.js +25 -0
  265. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/rgb2hsl.js +29 -0
  266. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/hsv2rgb.js +46 -0
  267. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/index.js +25 -0
  268. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/rgb2hsv.js +27 -0
  269. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/input.js +7 -0
  270. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/index.js +28 -0
  271. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab-constants.js +106 -0
  272. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab2rgb.js +59 -0
  273. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/rgb2lab.js +51 -0
  274. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/hcl2rgb.js +10 -0
  275. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/index.js +35 -0
  276. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lab2lch.js +13 -0
  277. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2lab.js +12 -0
  278. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2rgb.js +14 -0
  279. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/rgb2lch.js +13 -0
  280. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/named/index.js +26 -0
  281. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/index.js +23 -0
  282. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/num2rgb.js +13 -0
  283. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/rgb2num.js +9 -0
  284. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/index.js +25 -0
  285. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/oklab2rgb.js +31 -0
  286. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/rgb2oklab.js +30 -0
  287. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/index.js +25 -0
  288. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/oklch2rgb.js +14 -0
  289. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/rgb2oklch.js +13 -0
  290. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/rgb/index.js +34 -0
  291. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/index.js +16 -0
  292. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/rgb2temperature.js +25 -0
  293. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/temperature2rgb.js +18 -0
  294. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/alpha.js +12 -0
  295. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/clipped.js +4 -0
  296. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/darken.js +14 -0
  297. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/get.js +12 -0
  298. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/luminance.js +38 -0
  299. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/mix.js +5 -0
  300. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/premultiply.js +11 -0
  301. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/saturate.js +13 -0
  302. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/set.js +42 -0
  303. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/shade.js +9 -0
  304. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/analyze.js +161 -0
  305. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/clip_rgb.js +17 -0
  306. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrast.js +12 -0
  307. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrastAPCA.js +43 -0
  308. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/delta-e.js +48 -0
  309. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/distance.js +16 -0
  310. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/index.js +24 -0
  311. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/last.js +10 -0
  312. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/limit.js +7 -0
  313. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/multiply-matrices.js +29 -0
  314. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/scales.js +16 -0
  315. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/type.js +20 -0
  316. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/unpack.js +11 -0
  317. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/valid.js +12 -0
  318. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/version.js +4 -0
  319. package/dist/node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.js +1317 -0
  320. package/dist/styles/components.css +226 -0
  321. package/dist/tailwind.css +1 -0
  322. package/package.json +32 -20
  323. package/dist/components/modal/src/styles/style.module.css +0 -4
  324. package/dist/components/modal/src/styles/style.module.css.js +0 -8
  325. package/dist/components/numeric-input/src/styles/style.module.css +0 -45
  326. package/dist/components/numeric-input/src/styles/style.module.css.js +0 -12
  327. package/dist/components/otp-input/src/styles/style.module.css +0 -15
  328. package/dist/components/otp-input/src/styles/style.module.css.js +0 -8
  329. package/dist/components/panel/src/styles/style.module.css +0 -103
  330. package/dist/components/panel/src/styles/style.module.css.js +0 -23
  331. package/dist/components/skeleton/src/styles/style.module.css +0 -18
  332. package/dist/components/skeleton/src/styles/style.module.css.js +0 -8
  333. package/dist/components/text-field/src/styles/style.module.css +0 -31
  334. package/dist/components/text-field/src/styles/style.module.css.js +0 -8
  335. package/dist/components/virtual-select/dist/index.d.ts +0 -48
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { BoundaryCalculationResult, BoundaryInfo, ChannelFieldSpace, PaintState, RecommendedPoint } from '../types/colors';
2
+ interface CheckColorContrastBoundaryProps {
3
+ boundaryData: BoundaryCalculationResult;
4
+ colorSpace: ChannelFieldSpace;
5
+ foregroundAlpha?: number;
6
+ height?: number;
7
+ paintState: PaintState;
8
+ recommendedPoint: RecommendedPoint | null;
9
+ showRecommendedPoint?: boolean;
10
+ updateRecommendedPoint: () => RecommendedPoint | null;
11
+ width?: number;
12
+ }
13
+ export declare const CheckColorContrastBoundary: import('react').NamedExoticComponent<CheckColorContrastBoundaryProps>;
14
+ export type { BoundaryCalculationResult, BoundaryInfo };
@@ -0,0 +1,403 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { motion } from "framer-motion";
3
+ import { memo, useRef, useState, useEffect, useMemo } from "react";
4
+ import tinycolor from "tinycolor2";
5
+ import { COLOR_SPACES } from "../contents/color-space.js";
6
+ const lerp = (start, end, t) => start * (1 - t) + end * t;
7
+ const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
8
+ const CheckColorContrastBoundary = memo(function CheckColorContrastBoundary2(props) {
9
+ const {
10
+ width = 0,
11
+ height = 0,
12
+ foregroundAlpha = 1,
13
+ showRecommendedPoint = false,
14
+ recommendedPoint,
15
+ boundaryData,
16
+ updateRecommendedPoint,
17
+ colorSpace,
18
+ paintState
19
+ } = props;
20
+ const boundaryCanvasRef = useRef(null);
21
+ const pointCanvasRef = useRef(null);
22
+ const isHSL = colorSpace === COLOR_SPACES.HSL;
23
+ const hue = paintState.h;
24
+ const saturation = isHSL ? paintState.hsl_s : paintState.hsv_s;
25
+ const luminance = isHSL ? paintState.l : paintState.v;
26
+ const roundedHue = Math.round(hue);
27
+ const [animatedPointPos, setAnimatedPointPos] = useState(null);
28
+ const animationFrameId = useRef(null);
29
+ const animationStateRef = useRef({ startTime: null, startPos: null, targetPos: null, duration: 50 });
30
+ useEffect(() => {
31
+ if (showRecommendedPoint) {
32
+ updateRecommendedPoint();
33
+ }
34
+ }, [showRecommendedPoint]);
35
+ const runAnimationLoop = () => {
36
+ const state = animationStateRef.current;
37
+ if (!state.startTime || !state.startPos || !state.targetPos) {
38
+ return;
39
+ }
40
+ const elapsed = performance.now() - state.startTime;
41
+ const progress = Math.min(elapsed / state.duration, 1);
42
+ const easedProgress = easeOutCubic(progress);
43
+ const currentX = lerp(state.startPos.x, state.targetPos.x, easedProgress);
44
+ const currentY = lerp(state.startPos.y, state.targetPos.y, easedProgress);
45
+ setAnimatedPointPos({ x: currentX, y: currentY });
46
+ if (progress < 1) {
47
+ animationFrameId.current = requestAnimationFrame(runAnimationLoop);
48
+ } else {
49
+ animationFrameId.current = null;
50
+ state.startTime = null;
51
+ }
52
+ };
53
+ useEffect(() => {
54
+ const stopAnimation = () => {
55
+ if (animationFrameId.current) {
56
+ cancelAnimationFrame(animationFrameId.current);
57
+ animationFrameId.current = null;
58
+ }
59
+ animationStateRef.current.startTime = null;
60
+ };
61
+ if (showRecommendedPoint && recommendedPoint) {
62
+ const targetPos = { x: recommendedPoint.x, y: recommendedPoint.y };
63
+ let startPos = animatedPointPos;
64
+ if (!startPos) {
65
+ const startSat = isHSL ? paintState.hsl_s : paintState.hsv_s;
66
+ const startVal = isHSL ? paintState.l : paintState.v;
67
+ startPos = {
68
+ x: startSat * width,
69
+ y: (1 - startVal) * height
70
+ };
71
+ }
72
+ if (!animationStateRef.current.startTime && (Math.abs(startPos.x - targetPos.x) > 0.1 || Math.abs(startPos.y - targetPos.y) > 0.1)) {
73
+ stopAnimation();
74
+ animationStateRef.current.startPos = startPos;
75
+ animationStateRef.current.targetPos = targetPos;
76
+ animationStateRef.current.startTime = performance.now();
77
+ setAnimatedPointPos(startPos);
78
+ animationFrameId.current = requestAnimationFrame(runAnimationLoop);
79
+ } else if (!animationStateRef.current.startTime) {
80
+ setAnimatedPointPos(targetPos);
81
+ }
82
+ } else {
83
+ stopAnimation();
84
+ setAnimatedPointPos(null);
85
+ }
86
+ return stopAnimation;
87
+ }, [showRecommendedPoint, recommendedPoint, width, height, isHSL, saturation, luminance]);
88
+ const boundaryPaths = useMemo(() => {
89
+ var _a, _b;
90
+ if (!boundaryData || width <= 0 || height <= 0) {
91
+ return null;
92
+ }
93
+ const { lowerBoundary, upperBoundary } = boundaryData;
94
+ if (!lowerBoundary && !upperBoundary) {
95
+ return null;
96
+ }
97
+ const paths = {
98
+ lowerPath: null,
99
+ upperPath: null
100
+ };
101
+ if ((_a = lowerBoundary == null ? void 0 : lowerBoundary.bezierSegments) == null ? void 0 : _a.length) {
102
+ const segments = lowerBoundary.bezierSegments;
103
+ let pathD = `M${segments[0].start[0]},${segments[0].start[1]}`;
104
+ for (const segment of segments) {
105
+ pathD += ` C${segment.cp1[0]},${segment.cp1[1]} ${segment.cp2[0]},${segment.cp2[1]} ${segment.end[0]},${segment.end[1]}`;
106
+ }
107
+ pathD += ` L${width},${height} L0,${height} Z`;
108
+ paths.lowerPath = pathD;
109
+ }
110
+ if ((_b = upperBoundary == null ? void 0 : upperBoundary.bezierSegments) == null ? void 0 : _b.length) {
111
+ const segments = upperBoundary.bezierSegments;
112
+ let pathD = `M${segments[0].start[0]},${segments[0].start[1]}`;
113
+ for (const segment of segments) {
114
+ pathD += ` C${segment.cp1[0]},${segment.cp1[1]} ${segment.cp2[0]},${segment.cp2[1]} ${segment.end[0]},${segment.end[1]}`;
115
+ }
116
+ pathD += ` L${width},0 L0,0 Z`;
117
+ paths.upperPath = pathD;
118
+ }
119
+ return paths;
120
+ }, [boundaryData, width, height]);
121
+ useEffect(() => {
122
+ if (width <= 0 || height <= 0 || !boundaryData) return;
123
+ const { lowerBoundary, upperBoundary } = boundaryData;
124
+ if (!lowerBoundary && !upperBoundary) return;
125
+ const canvas = boundaryCanvasRef.current;
126
+ if (!canvas) return;
127
+ const dpr = window.devicePixelRatio || 1;
128
+ const canvasWidth = width + 6;
129
+ const canvasHeight = height + 6;
130
+ canvas.width = canvasWidth * dpr;
131
+ canvas.height = canvasHeight * dpr;
132
+ const ctx = canvas.getContext("2d");
133
+ if (!ctx) return;
134
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
135
+ ctx.scale(dpr, dpr);
136
+ ctx.translate(3, 3);
137
+ ctx.imageSmoothingEnabled = true;
138
+ ctx.imageSmoothingQuality = "high";
139
+ ctx.save();
140
+ ctx.beginPath();
141
+ if (lowerBoundary && upperBoundary) {
142
+ const lowerSegments = lowerBoundary.bezierSegments;
143
+ const upperSegments = upperBoundary.bezierSegments;
144
+ if ((lowerSegments == null ? void 0 : lowerSegments.length) && (upperSegments == null ? void 0 : upperSegments.length)) {
145
+ const upperAvgY = upperSegments.reduce((sum, seg) => sum + seg.start[1] + seg.end[1], 0) / (upperSegments.length * 2);
146
+ const lowerAvgY = lowerSegments.reduce((sum, seg) => sum + seg.start[1] + seg.end[1], 0) / (lowerSegments.length * 2);
147
+ const edgeThreshold = 5;
148
+ if (upperAvgY < edgeThreshold) {
149
+ ctx.moveTo(lowerSegments[0].start[0], lowerSegments[0].start[1]);
150
+ for (const segment of lowerSegments) {
151
+ ctx.bezierCurveTo(
152
+ segment.cp1[0],
153
+ segment.cp1[1],
154
+ segment.cp2[0],
155
+ segment.cp2[1],
156
+ segment.end[0],
157
+ segment.end[1]
158
+ );
159
+ }
160
+ ctx.lineTo(width, height);
161
+ ctx.lineTo(0, height);
162
+ ctx.closePath();
163
+ } else if (lowerAvgY > height - edgeThreshold) {
164
+ ctx.moveTo(upperSegments[0].start[0], upperSegments[0].start[1]);
165
+ for (const segment of upperSegments) {
166
+ ctx.bezierCurveTo(
167
+ segment.cp1[0],
168
+ segment.cp1[1],
169
+ segment.cp2[0],
170
+ segment.cp2[1],
171
+ segment.end[0],
172
+ segment.end[1]
173
+ );
174
+ }
175
+ ctx.lineTo(width, 0);
176
+ ctx.lineTo(0, 0);
177
+ ctx.closePath();
178
+ } else {
179
+ ctx.moveTo(upperSegments[0].start[0], upperSegments[0].start[1]);
180
+ for (const segment of upperSegments) {
181
+ ctx.bezierCurveTo(
182
+ segment.cp1[0],
183
+ segment.cp1[1],
184
+ segment.cp2[0],
185
+ segment.cp2[1],
186
+ segment.end[0],
187
+ segment.end[1]
188
+ );
189
+ }
190
+ const lastLowerSegment = lowerSegments[lowerSegments.length - 1];
191
+ ctx.lineTo(lastLowerSegment.end[0], lastLowerSegment.end[1]);
192
+ for (let i = lowerSegments.length - 1; i >= 0; i--) {
193
+ const segment = lowerSegments[i];
194
+ ctx.bezierCurveTo(
195
+ segment.cp2[0],
196
+ segment.cp2[1],
197
+ segment.cp1[0],
198
+ segment.cp1[1],
199
+ segment.start[0],
200
+ segment.start[1]
201
+ );
202
+ }
203
+ ctx.closePath();
204
+ }
205
+ }
206
+ } else if (lowerBoundary) {
207
+ const lowerSegments = lowerBoundary.bezierSegments;
208
+ if (lowerSegments == null ? void 0 : lowerSegments.length) {
209
+ ctx.moveTo(lowerSegments[0].start[0], lowerSegments[0].start[1]);
210
+ for (const segment of lowerSegments) {
211
+ ctx.bezierCurveTo(
212
+ segment.cp1[0],
213
+ segment.cp1[1],
214
+ segment.cp2[0],
215
+ segment.cp2[1],
216
+ segment.end[0],
217
+ segment.end[1]
218
+ );
219
+ }
220
+ ctx.lineTo(width, height);
221
+ ctx.lineTo(0, height);
222
+ ctx.closePath();
223
+ } else {
224
+ const lowerPoints = lowerBoundary.simplifiedPoints;
225
+ if ((lowerPoints == null ? void 0 : lowerPoints.length) >= 2) {
226
+ ctx.moveTo(lowerPoints[0][0], lowerPoints[0][1]);
227
+ for (let i = 1; i < lowerPoints.length; i++) {
228
+ ctx.lineTo(lowerPoints[i][0], lowerPoints[i][1]);
229
+ }
230
+ ctx.lineTo(width, height);
231
+ ctx.lineTo(0, height);
232
+ ctx.closePath();
233
+ } else {
234
+ ctx.moveTo(0, height);
235
+ ctx.lineTo(width, height);
236
+ ctx.lineTo(width, 0);
237
+ ctx.lineTo(0, 0);
238
+ ctx.closePath();
239
+ }
240
+ }
241
+ } else if (upperBoundary) {
242
+ const upperSegments = upperBoundary.bezierSegments;
243
+ if (upperSegments == null ? void 0 : upperSegments.length) {
244
+ ctx.moveTo(upperSegments[0].start[0], upperSegments[0].start[1]);
245
+ for (const segment of upperSegments) {
246
+ ctx.bezierCurveTo(
247
+ segment.cp1[0],
248
+ segment.cp1[1],
249
+ segment.cp2[0],
250
+ segment.cp2[1],
251
+ segment.end[0],
252
+ segment.end[1]
253
+ );
254
+ }
255
+ ctx.lineTo(width, 0);
256
+ ctx.lineTo(0, 0);
257
+ ctx.closePath();
258
+ } else {
259
+ const upperPoints = upperBoundary.simplifiedPoints;
260
+ if ((upperPoints == null ? void 0 : upperPoints.length) >= 2) {
261
+ ctx.moveTo(upperPoints[0][0], upperPoints[0][1]);
262
+ for (let i = 1; i < upperPoints.length; i++) {
263
+ ctx.lineTo(upperPoints[i][0], upperPoints[i][1]);
264
+ }
265
+ ctx.lineTo(width, 0);
266
+ ctx.lineTo(0, 0);
267
+ ctx.closePath();
268
+ }
269
+ }
270
+ }
271
+ ctx.clip();
272
+ ctx.fillStyle = "rgba(255, 255, 255, 0.25)";
273
+ const dotSize = 1;
274
+ const dotSpacing = 6;
275
+ for (let x = dotSpacing / 2; x < width; x += dotSpacing) {
276
+ for (let y = dotSpacing / 2; y < height; y += dotSpacing) {
277
+ ctx.beginPath();
278
+ ctx.arc(x, y, dotSize, 0, Math.PI * 2);
279
+ ctx.fill();
280
+ }
281
+ }
282
+ ctx.restore();
283
+ const drawBoundaryLine = (boundary) => {
284
+ var _a, _b;
285
+ if (!boundary) return;
286
+ if ((_a = boundary.bezierSegments) == null ? void 0 : _a.length) {
287
+ const segments = boundary.bezierSegments;
288
+ ctx.beginPath();
289
+ ctx.moveTo(segments[0].start[0], segments[0].start[1]);
290
+ for (const segment of segments) {
291
+ ctx.bezierCurveTo(
292
+ segment.cp1[0],
293
+ segment.cp1[1],
294
+ segment.cp2[0],
295
+ segment.cp2[1],
296
+ segment.end[0],
297
+ segment.end[1]
298
+ );
299
+ }
300
+ } else if (((_b = boundary.simplifiedPoints) == null ? void 0 : _b.length) >= 2) {
301
+ const points = boundary.simplifiedPoints;
302
+ ctx.beginPath();
303
+ ctx.moveTo(points[0][0], points[0][1]);
304
+ for (let i = 1; i < points.length; i++) {
305
+ ctx.lineTo(points[i][0], points[i][1]);
306
+ }
307
+ } else {
308
+ return;
309
+ }
310
+ ctx.lineWidth = 1;
311
+ ctx.strokeStyle = "white";
312
+ ctx.lineJoin = "round";
313
+ ctx.lineCap = "round";
314
+ ctx.shadowColor = "rgba(0, 0, 0, 0.15)";
315
+ ctx.shadowBlur = 1;
316
+ ctx.shadowOffsetY = 0.5;
317
+ ctx.stroke();
318
+ ctx.shadowColor = "transparent";
319
+ };
320
+ drawBoundaryLine(lowerBoundary);
321
+ drawBoundaryLine(upperBoundary);
322
+ }, [width, height, roundedHue, foregroundAlpha, isHSL, boundaryData, boundaryPaths]);
323
+ useEffect(() => {
324
+ const canvas = pointCanvasRef.current;
325
+ if (!canvas || !canvas.getContext) return;
326
+ const ctx = canvas.getContext("2d");
327
+ if (!ctx) return;
328
+ const dpr = window.devicePixelRatio || 1;
329
+ const canvasWidth = width + 6;
330
+ const canvasHeight = height + 6;
331
+ canvas.width = canvasWidth * dpr;
332
+ canvas.height = canvasHeight * dpr;
333
+ if (!animatedPointPos || width <= 0 || height <= 0) return;
334
+ ctx.scale(dpr, dpr);
335
+ const { x, y } = animatedPointPos;
336
+ const drawX = x + 3;
337
+ const drawY = y + 3;
338
+ ctx.beginPath();
339
+ ctx.arc(drawX, drawY, 6, 0, Math.PI * 2);
340
+ ctx.fillStyle = "white";
341
+ ctx.shadowColor = "rgba(0, 0, 0, 0.2)";
342
+ ctx.shadowBlur = 2;
343
+ ctx.shadowOffsetY = 1;
344
+ ctx.fill();
345
+ ctx.beginPath();
346
+ ctx.arc(drawX, drawY, 4, 0, Math.PI * 2);
347
+ ctx.shadowColor = "transparent";
348
+ let innerColor = "black";
349
+ if (recommendedPoint) {
350
+ const s = recommendedPoint.slX;
351
+ const yValue = recommendedPoint.slY;
352
+ let color;
353
+ if (isHSL) {
354
+ color = tinycolor({ h: roundedHue, s, l: yValue, a: foregroundAlpha });
355
+ } else {
356
+ color = tinycolor({ h: roundedHue, s, v: yValue, a: foregroundAlpha });
357
+ }
358
+ if (color == null ? void 0 : color.isValid()) {
359
+ innerColor = color.toRgbString();
360
+ }
361
+ }
362
+ ctx.fillStyle = innerColor;
363
+ ctx.fill();
364
+ }, [animatedPointPos, recommendedPoint, roundedHue, foregroundAlpha, isHSL, width, height]);
365
+ if (width <= 0 || height <= 0) return null;
366
+ return /* @__PURE__ */ jsxs(
367
+ motion.div,
368
+ {
369
+ className: "pointer-events-none absolute inset-0 block overflow-hidden",
370
+ initial: { opacity: 0 },
371
+ animate: { opacity: 1 },
372
+ exit: { opacity: 0 },
373
+ transition: { duration: 0.5 },
374
+ children: [
375
+ /* @__PURE__ */ jsx(
376
+ "canvas",
377
+ {
378
+ className: "absolute -inset-[3px] block overflow-hidden",
379
+ ref: boundaryCanvasRef,
380
+ style: {
381
+ width: `${width + 6}px`,
382
+ height: `${height + 6}px`
383
+ }
384
+ }
385
+ ),
386
+ /* @__PURE__ */ jsx(
387
+ "canvas",
388
+ {
389
+ className: "absolute -inset-[3px] block overflow-hidden",
390
+ ref: pointCanvasRef,
391
+ style: {
392
+ width: `${width + 6}px`,
393
+ height: `${height + 6}px`
394
+ }
395
+ }
396
+ )
397
+ ]
398
+ }
399
+ );
400
+ });
401
+ export {
402
+ CheckColorContrastBoundary
403
+ };
@@ -0,0 +1,12 @@
1
+ import { ColorContrast } from '../types/colors';
2
+ import { ColorContrastLabels } from '../types/paint';
3
+ interface CheckColorContrastToolbarProps {
4
+ applyRecommendedPoint?: () => boolean;
5
+ checkColorContrast?: ColorContrast;
6
+ className?: string;
7
+ containerWidth?: number;
8
+ labels?: ColorContrastLabels;
9
+ onStandardHovered?: (hovered: boolean) => void;
10
+ }
11
+ export declare const CheckColorContrastToolbar: (props: CheckColorContrastToolbarProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};