@choice-ui/react 1.7.6 → 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 (308) 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/index.d.ts +1 -0
  198. package/dist/components/textarea/src/tv.d.ts +9 -3
  199. package/dist/components/textarea/src/tv.js +3 -1
  200. package/dist/components/toggle-button/dist/index.js +602 -0
  201. package/dist/index.js +69 -0
  202. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/index.js +119 -0
  203. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/Color.js +42 -0
  204. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/chroma.js +9 -0
  205. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/colorbrewer.js +57 -0
  206. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/colors/w3cx11.js +159 -0
  207. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/average.js +82 -0
  208. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/bezier.js +68 -0
  209. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/blend.js +43 -0
  210. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/cubehelix.js +81 -0
  211. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/mix.js +20 -0
  212. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/random.js +13 -0
  213. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/generator/scale.js +325 -0
  214. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/_hsx.js +54 -0
  215. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hcg.js +10 -0
  216. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsi.js +10 -0
  217. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsl.js +10 -0
  218. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/hsv.js +10 -0
  219. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/index.js +4 -0
  220. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lab.js +17 -0
  221. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lch.js +11 -0
  222. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/lrgb.js +17 -0
  223. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/num.js +12 -0
  224. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklab.js +17 -0
  225. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/oklch.js +10 -0
  226. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/interpolator/rgb.js +16 -0
  227. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.js +20 -0
  228. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/index.js +25 -0
  229. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.js +18 -0
  230. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/css2rgb.js +169 -0
  231. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/hsl2css.js +20 -0
  232. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/index.js +23 -0
  233. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lab2css.js +19 -0
  234. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/lch2css.js +19 -0
  235. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklab2css.js +17 -0
  236. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/oklch2css.js +17 -0
  237. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/css/rgb2css.js +53 -0
  238. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/gl/index.js +21 -0
  239. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/hcg2rgb.js +48 -0
  240. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/index.js +25 -0
  241. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hcg/rgb2hcg.js +24 -0
  242. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/hex2rgb.js +37 -0
  243. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/index.js +23 -0
  244. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hex/rgb2hex.js +31 -0
  245. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/hsi2rgb.js +36 -0
  246. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/index.js +25 -0
  247. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsi/rgb2hsi.js +28 -0
  248. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/hsl2rgb.js +35 -0
  249. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/index.js +25 -0
  250. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsl/rgb2hsl.js +29 -0
  251. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/hsv2rgb.js +46 -0
  252. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/index.js +25 -0
  253. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/hsv/rgb2hsv.js +27 -0
  254. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/input.js +7 -0
  255. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/index.js +28 -0
  256. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab-constants.js +106 -0
  257. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/lab2rgb.js +59 -0
  258. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lab/rgb2lab.js +51 -0
  259. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/hcl2rgb.js +10 -0
  260. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/index.js +35 -0
  261. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lab2lch.js +13 -0
  262. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2lab.js +12 -0
  263. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/lch2rgb.js +14 -0
  264. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/lch/rgb2lch.js +13 -0
  265. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/named/index.js +26 -0
  266. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/index.js +23 -0
  267. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/num2rgb.js +13 -0
  268. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/num/rgb2num.js +9 -0
  269. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/index.js +25 -0
  270. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/oklab2rgb.js +31 -0
  271. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklab/rgb2oklab.js +30 -0
  272. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/index.js +25 -0
  273. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/oklch2rgb.js +14 -0
  274. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/oklch/rgb2oklch.js +13 -0
  275. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/rgb/index.js +34 -0
  276. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/index.js +16 -0
  277. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/rgb2temperature.js +25 -0
  278. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/io/temp/temperature2rgb.js +18 -0
  279. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/alpha.js +12 -0
  280. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/clipped.js +4 -0
  281. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/darken.js +14 -0
  282. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/get.js +12 -0
  283. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/luminance.js +38 -0
  284. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/mix.js +5 -0
  285. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/premultiply.js +11 -0
  286. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/saturate.js +13 -0
  287. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/set.js +42 -0
  288. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/ops/shade.js +9 -0
  289. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/analyze.js +161 -0
  290. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/clip_rgb.js +17 -0
  291. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrast.js +12 -0
  292. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/contrastAPCA.js +43 -0
  293. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/delta-e.js +48 -0
  294. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/distance.js +16 -0
  295. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/index.js +24 -0
  296. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/last.js +10 -0
  297. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/limit.js +7 -0
  298. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/multiply-matrices.js +29 -0
  299. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/scales.js +16 -0
  300. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/type.js +20 -0
  301. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/unpack.js +11 -0
  302. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/utils/valid.js +12 -0
  303. package/dist/node_modules/.pnpm/chroma-js@3.2.0/node_modules/chroma-js/src/version.js +4 -0
  304. package/dist/node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.js +1317 -0
  305. package/dist/styles/components.css +40 -0
  306. package/dist/tailwind.css +1 -0
  307. package/package.json +32 -20
  308. package/dist/components/virtual-select/dist/index.d.ts +0 -48
@@ -0,0 +1,602 @@
1
+ import { Tooltip } from "../../tooltip/dist/index.js";
2
+ import { forwardRef, useId, createContext, memo, useState, useMemo, useRef, useCallback, useContext, useLayoutEffect, useEffect } from "react";
3
+ import { jsxs, jsx } from "react/jsx-runtime";
4
+ import { tcv, tcx } from "../../../shared/utils/tcx/tcx.js";
5
+ var __create = Object.create;
6
+ var __defProp = Object.defineProperty;
7
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
+ var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __commonJS = (cb, mod) => function __require() {
12
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ __defProp(target, "default", { value: mod, enumerable: true }),
28
+ mod
29
+ ));
30
+ var require_lodash = __commonJS({
31
+ "../../../../../node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js"(exports$1, module) {
32
+ var FUNC_ERROR_TEXT = "Expected a function";
33
+ var NAN = 0 / 0;
34
+ var symbolTag = "[object Symbol]";
35
+ var reTrim = /^\s+|\s+$/g;
36
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
37
+ var reIsBinary = /^0b[01]+$/i;
38
+ var reIsOctal = /^0o[0-7]+$/i;
39
+ var freeParseInt = parseInt;
40
+ var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
41
+ var freeSelf = typeof self == "object" && self && self.Object === Object && self;
42
+ var root = freeGlobal || freeSelf || Function("return this")();
43
+ var objectProto = Object.prototype;
44
+ var objectToString = objectProto.toString;
45
+ var nativeMax = Math.max;
46
+ var nativeMin = Math.min;
47
+ var now = function() {
48
+ return root.Date.now();
49
+ };
50
+ function debounce2(func, wait, options) {
51
+ var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
52
+ if (typeof func != "function") {
53
+ throw new TypeError(FUNC_ERROR_TEXT);
54
+ }
55
+ wait = toNumber(wait) || 0;
56
+ if (isObject(options)) {
57
+ leading = !!options.leading;
58
+ maxing = "maxWait" in options;
59
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
60
+ trailing = "trailing" in options ? !!options.trailing : trailing;
61
+ }
62
+ function invokeFunc(time) {
63
+ var args = lastArgs, thisArg = lastThis;
64
+ lastArgs = lastThis = void 0;
65
+ lastInvokeTime = time;
66
+ result = func.apply(thisArg, args);
67
+ return result;
68
+ }
69
+ function leadingEdge(time) {
70
+ lastInvokeTime = time;
71
+ timerId = setTimeout(timerExpired, wait);
72
+ return leading ? invokeFunc(time) : result;
73
+ }
74
+ function remainingWait(time) {
75
+ var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result2 = wait - timeSinceLastCall;
76
+ return maxing ? nativeMin(result2, maxWait - timeSinceLastInvoke) : result2;
77
+ }
78
+ function shouldInvoke(time) {
79
+ var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
80
+ return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
81
+ }
82
+ function timerExpired() {
83
+ var time = now();
84
+ if (shouldInvoke(time)) {
85
+ return trailingEdge(time);
86
+ }
87
+ timerId = setTimeout(timerExpired, remainingWait(time));
88
+ }
89
+ function trailingEdge(time) {
90
+ timerId = void 0;
91
+ if (trailing && lastArgs) {
92
+ return invokeFunc(time);
93
+ }
94
+ lastArgs = lastThis = void 0;
95
+ return result;
96
+ }
97
+ function cancel() {
98
+ if (timerId !== void 0) {
99
+ clearTimeout(timerId);
100
+ }
101
+ lastInvokeTime = 0;
102
+ lastArgs = lastCallTime = lastThis = timerId = void 0;
103
+ }
104
+ function flush() {
105
+ return timerId === void 0 ? result : trailingEdge(now());
106
+ }
107
+ function debounced() {
108
+ var time = now(), isInvoking = shouldInvoke(time);
109
+ lastArgs = arguments;
110
+ lastThis = this;
111
+ lastCallTime = time;
112
+ if (isInvoking) {
113
+ if (timerId === void 0) {
114
+ return leadingEdge(lastCallTime);
115
+ }
116
+ if (maxing) {
117
+ timerId = setTimeout(timerExpired, wait);
118
+ return invokeFunc(lastCallTime);
119
+ }
120
+ }
121
+ if (timerId === void 0) {
122
+ timerId = setTimeout(timerExpired, wait);
123
+ }
124
+ return result;
125
+ }
126
+ debounced.cancel = cancel;
127
+ debounced.flush = flush;
128
+ return debounced;
129
+ }
130
+ function isObject(value) {
131
+ var type = typeof value;
132
+ return !!value && (type == "object" || type == "function");
133
+ }
134
+ function isObjectLike(value) {
135
+ return !!value && typeof value == "object";
136
+ }
137
+ function isSymbol(value) {
138
+ return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
139
+ }
140
+ function toNumber(value) {
141
+ if (typeof value == "number") {
142
+ return value;
143
+ }
144
+ if (isSymbol(value)) {
145
+ return NAN;
146
+ }
147
+ if (isObject(value)) {
148
+ var other = typeof value.valueOf == "function" ? value.valueOf() : value;
149
+ value = isObject(other) ? other + "" : other;
150
+ }
151
+ if (typeof value != "string") {
152
+ return value === 0 ? value : +value;
153
+ }
154
+ value = value.replace(reTrim, "");
155
+ var isBinary = reIsBinary.test(value);
156
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
157
+ }
158
+ module.exports = debounce2;
159
+ }
160
+ });
161
+ var toggleButtonTv = tcv({
162
+ slots: {
163
+ root: ["relative rounded-md"],
164
+ input: ["absolute inset-0 h-full w-full", "peer pointer-events-auto appearance-none opacity-0"],
165
+ label: [
166
+ "absolute inset-0 flex h-full w-full rounded-[inherit]",
167
+ "items-center justify-center select-none",
168
+ "border border-solid border-transparent",
169
+ "peer-focus-visible:border-selected-boundary"
170
+ ]
171
+ },
172
+ variants: {
173
+ variant: {
174
+ default: {},
175
+ secondary: {},
176
+ highlight: {},
177
+ reset: {}
178
+ },
179
+ size: {
180
+ default: { root: "h-6 w-6" },
181
+ large: { root: "h-8 w-8" }
182
+ },
183
+ checked: {
184
+ true: {},
185
+ false: {}
186
+ },
187
+ disabled: {
188
+ true: {
189
+ root: "text-secondary-foreground"
190
+ },
191
+ false: {}
192
+ },
193
+ active: {
194
+ true: {},
195
+ false: {}
196
+ },
197
+ focused: {
198
+ true: { label: "border-selected-boundary" },
199
+ false: {}
200
+ },
201
+ event: {
202
+ click: {},
203
+ mousedown: {}
204
+ }
205
+ },
206
+ compoundVariants: [
207
+ {
208
+ variant: ["default", "highlight"],
209
+ active: false,
210
+ disabled: false,
211
+ class: {
212
+ root: "hover:bg-secondary-background"
213
+ }
214
+ },
215
+ {
216
+ variant: "default",
217
+ active: false,
218
+ event: "click",
219
+ disabled: false,
220
+ class: {
221
+ root: "active:bg-tertiary-background"
222
+ }
223
+ },
224
+ {
225
+ variant: ["highlight", "secondary"],
226
+ active: false,
227
+ checked: false,
228
+ disabled: false,
229
+ event: "click",
230
+ class: {
231
+ root: "active:bg-tertiary-background"
232
+ }
233
+ },
234
+ {
235
+ variant: ["highlight", "secondary"],
236
+ active: false,
237
+ checked: true,
238
+ disabled: false,
239
+ event: "click",
240
+ class: {
241
+ root: "active:bg-accent-background/10"
242
+ }
243
+ },
244
+ {
245
+ variant: ["default", "highlight"],
246
+ active: true,
247
+ disabled: false,
248
+ class: {
249
+ root: "bg-tertiary-background"
250
+ }
251
+ },
252
+ {
253
+ variant: "secondary",
254
+ checked: false,
255
+ focused: false,
256
+ disabled: false,
257
+ class: {
258
+ label: "border-default-boundary hover:bg-secondary-background"
259
+ }
260
+ },
261
+ {
262
+ variant: "secondary",
263
+ active: true,
264
+ disabled: false,
265
+ checked: false,
266
+ class: {
267
+ root: "bg-secondary-background"
268
+ }
269
+ },
270
+ {
271
+ variant: ["highlight", "secondary"],
272
+ active: true,
273
+ disabled: false,
274
+ checked: true,
275
+ class: {
276
+ root: "bg-accent-background/10 text-accent-foreground"
277
+ }
278
+ },
279
+ {
280
+ variant: ["highlight", "secondary"],
281
+ checked: true,
282
+ disabled: false,
283
+ active: false,
284
+ class: {
285
+ root: "bg-accent-background/10 text-accent-foreground hover:bg-accent-background/5"
286
+ }
287
+ },
288
+ {
289
+ variant: ["highlight", "secondary"],
290
+ checked: true,
291
+ disabled: true,
292
+ class: {
293
+ root: "bg-tertiary-background"
294
+ }
295
+ }
296
+ ],
297
+ defaultVariants: {
298
+ checked: false,
299
+ disabled: false,
300
+ variant: "default",
301
+ size: "default",
302
+ event: "click",
303
+ active: false,
304
+ focused: false
305
+ }
306
+ });
307
+ var toggleGroupTv = tcv({
308
+ slots: {
309
+ root: ["flex gap-1"]
310
+ },
311
+ variants: {
312
+ orientation: {
313
+ horizontal: {
314
+ root: "flex-row"
315
+ },
316
+ vertical: {
317
+ root: "flex-col"
318
+ }
319
+ },
320
+ disabled: {
321
+ true: {
322
+ root: "opacity-50 pointer-events-none"
323
+ },
324
+ false: {}
325
+ },
326
+ multiple: {
327
+ true: {},
328
+ false: {}
329
+ }
330
+ },
331
+ defaultVariants: {
332
+ orientation: "horizontal",
333
+ disabled: false,
334
+ multiple: false
335
+ }
336
+ });
337
+ var ToggleButton = forwardRef(
338
+ function ToggleButton2(props, ref) {
339
+ const {
340
+ className,
341
+ variant = "default",
342
+ size = "default",
343
+ children,
344
+ disabled,
345
+ readOnly = false,
346
+ active,
347
+ focused,
348
+ value,
349
+ tooltip,
350
+ event = "click",
351
+ "aria-label": ariaLabel,
352
+ "aria-describedby": ariaDescribedby,
353
+ onChange,
354
+ onMouseDown,
355
+ onContextMenu,
356
+ ...rest
357
+ } = props;
358
+ const id = useId();
359
+ const descriptionId = useId();
360
+ const tv = toggleButtonTv({
361
+ checked: value,
362
+ disabled,
363
+ variant,
364
+ active,
365
+ focused,
366
+ event,
367
+ size
368
+ });
369
+ const button = /* @__PURE__ */ jsxs(
370
+ "div",
371
+ {
372
+ className: tcx(tv.root(), className),
373
+ role: "presentation",
374
+ onContextMenu,
375
+ children: [
376
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: value ? "Enabled" : "Disabled" }),
377
+ /* @__PURE__ */ jsx(
378
+ "input",
379
+ {
380
+ ref,
381
+ id,
382
+ className: tv.input(),
383
+ tabIndex: 0,
384
+ type: "checkbox",
385
+ checked: value,
386
+ disabled: disabled || readOnly,
387
+ onChange: (e) => {
388
+ if (!readOnly) {
389
+ onChange == null ? void 0 : onChange(e.target.checked);
390
+ }
391
+ },
392
+ "aria-checked": value,
393
+ "aria-disabled": disabled || readOnly,
394
+ "aria-label": ariaLabel || (typeof children === "string" ? children : void 0),
395
+ "aria-describedby": ariaDescribedby || (children ? descriptionId : void 0),
396
+ ...rest
397
+ }
398
+ ),
399
+ /* @__PURE__ */ jsx(
400
+ "label",
401
+ {
402
+ htmlFor: id,
403
+ id: descriptionId,
404
+ className: tv.label(),
405
+ onMouseDown: (e) => {
406
+ if (readOnly) return;
407
+ if (event === "mousedown") {
408
+ e.preventDefault();
409
+ onMouseDown == null ? void 0 : onMouseDown(e);
410
+ if (!disabled) {
411
+ onChange == null ? void 0 : onChange(!value);
412
+ }
413
+ const clickHandler = (e2) => {
414
+ e2.preventDefault();
415
+ e2.stopPropagation();
416
+ document.removeEventListener("click", clickHandler, true);
417
+ };
418
+ document.addEventListener("click", clickHandler, true);
419
+ }
420
+ },
421
+ children
422
+ }
423
+ )
424
+ ]
425
+ }
426
+ );
427
+ return tooltip ? /* @__PURE__ */ jsx(Tooltip, { ...tooltip, children: button }) : button;
428
+ }
429
+ );
430
+ ToggleButton.displayName = "ToggleButton";
431
+ __toESM(require_lodash());
432
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
433
+ function useEventCallback(fn) {
434
+ const ref = useRef(() => {
435
+ throw new Error("Cannot call an event handler while rendering.");
436
+ });
437
+ useIsomorphicLayoutEffect(() => {
438
+ ref.current = fn;
439
+ }, [fn]);
440
+ return useCallback((...args) => {
441
+ var _a;
442
+ return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);
443
+ }, [ref]);
444
+ }
445
+ var ToggleGroupContext = createContext(null);
446
+ function useToggleGroupContext() {
447
+ const context = useContext(ToggleGroupContext);
448
+ if (!context) {
449
+ throw new Error("ToggleButton must be used within a ToggleGroup");
450
+ }
451
+ return context;
452
+ }
453
+ var ToggleGroupItem = memo(
454
+ forwardRef(function ToggleGroupItem2(props, ref) {
455
+ const { value: itemValue, className, disabled, children, ...rest } = props;
456
+ const {
457
+ value: groupValue,
458
+ onChange,
459
+ disabled: groupDisabled,
460
+ readOnly: groupReadOnly,
461
+ multiple
462
+ } = useToggleGroupContext();
463
+ const isPressed = multiple ? groupValue.includes(itemValue) : groupValue[0] === itemValue;
464
+ const handleChange = useEventCallback((checked) => {
465
+ if (groupReadOnly) return;
466
+ if (multiple) {
467
+ const newValue = checked ? [...groupValue, itemValue] : groupValue.filter((v) => v !== itemValue);
468
+ onChange(newValue);
469
+ } else {
470
+ onChange(checked ? [itemValue] : []);
471
+ }
472
+ });
473
+ return /* @__PURE__ */ jsx(
474
+ ToggleButton,
475
+ {
476
+ value: isPressed,
477
+ active: isPressed,
478
+ disabled: disabled || groupDisabled,
479
+ readOnly: groupReadOnly,
480
+ onChange: handleChange,
481
+ className,
482
+ ...rest,
483
+ ref,
484
+ children
485
+ }
486
+ );
487
+ })
488
+ );
489
+ ToggleGroupItem.displayName = "ToggleGroup.Item";
490
+ var ToggleGroupBase = forwardRef(
491
+ function ToggleGroup(props, ref) {
492
+ const {
493
+ className,
494
+ children,
495
+ defaultValue,
496
+ value: controlledValue,
497
+ onChange,
498
+ disabled = false,
499
+ readOnly = false,
500
+ multiple = false,
501
+ orientation = "horizontal",
502
+ loopFocus = true,
503
+ ...rest
504
+ } = props;
505
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue || []);
506
+ const isControlled = controlledValue !== void 0;
507
+ const value = isControlled ? controlledValue : uncontrolledValue;
508
+ const handleChange = useEventCallback((newValue) => {
509
+ if (readOnly) return;
510
+ if (!isControlled) {
511
+ setUncontrolledValue(newValue);
512
+ }
513
+ onChange == null ? void 0 : onChange(newValue);
514
+ });
515
+ const contextValue = useMemo(
516
+ () => ({
517
+ value,
518
+ onChange: handleChange,
519
+ disabled,
520
+ readOnly,
521
+ multiple,
522
+ orientation,
523
+ loopFocus
524
+ }),
525
+ [value, handleChange, disabled, readOnly, multiple, orientation, loopFocus]
526
+ );
527
+ const containerRef = useRef(null);
528
+ const getItems = useCallback(() => {
529
+ if (!containerRef.current) return [];
530
+ return Array.from(
531
+ containerRef.current.querySelectorAll('input[type="checkbox"]')
532
+ );
533
+ }, []);
534
+ const handleKeyDown = useEventCallback((e) => {
535
+ var _a;
536
+ if (readOnly || disabled) return;
537
+ const items = getItems();
538
+ if (items.length === 0) return;
539
+ const currentIndex = items.findIndex((item) => item === document.activeElement);
540
+ if (currentIndex === -1) return;
541
+ let nextIndex = currentIndex;
542
+ if (orientation === "horizontal") {
543
+ if (e.key === "ArrowLeft") {
544
+ nextIndex = currentIndex > 0 ? currentIndex - 1 : loopFocus ? items.length - 1 : currentIndex;
545
+ e.preventDefault();
546
+ } else if (e.key === "ArrowRight") {
547
+ nextIndex = currentIndex < items.length - 1 ? currentIndex + 1 : loopFocus ? 0 : currentIndex;
548
+ e.preventDefault();
549
+ }
550
+ } else {
551
+ if (e.key === "ArrowUp") {
552
+ nextIndex = currentIndex > 0 ? currentIndex - 1 : loopFocus ? items.length - 1 : currentIndex;
553
+ e.preventDefault();
554
+ } else if (e.key === "ArrowDown") {
555
+ nextIndex = currentIndex < items.length - 1 ? currentIndex + 1 : loopFocus ? 0 : currentIndex;
556
+ e.preventDefault();
557
+ }
558
+ }
559
+ if (nextIndex !== currentIndex) {
560
+ (_a = items[nextIndex]) == null ? void 0 : _a.focus();
561
+ }
562
+ });
563
+ const tv = toggleGroupTv({
564
+ orientation,
565
+ disabled,
566
+ multiple
567
+ });
568
+ const setRefs = useCallback(
569
+ (node) => {
570
+ containerRef.current = node;
571
+ if (typeof ref === "function") {
572
+ ref(node);
573
+ } else if (ref && "current" in ref) {
574
+ ref.current = node;
575
+ }
576
+ },
577
+ [ref]
578
+ );
579
+ return /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
580
+ "div",
581
+ {
582
+ ref: setRefs,
583
+ className: tcx(tv.root(), className),
584
+ role: "group",
585
+ "data-orientation": orientation,
586
+ "data-disabled": disabled ? "" : void 0,
587
+ "data-multiple": multiple ? "" : void 0,
588
+ onKeyDown: handleKeyDown,
589
+ ...rest,
590
+ children
591
+ }
592
+ ) });
593
+ }
594
+ );
595
+ var MemoizedToggleGroup = memo(ToggleGroupBase);
596
+ var ToggleGroup2 = MemoizedToggleGroup;
597
+ ToggleGroup2.Item = ToggleGroupItem;
598
+ ToggleGroup2.displayName = "ToggleGroup";
599
+ export {
600
+ ToggleButton,
601
+ ToggleGroup2 as ToggleGroup
602
+ };