@protonradio/proton-ui 0.11.10 → 0.11.11

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 (487) hide show
  1. package/README.md +148 -148
  2. package/dist/_virtual/jsx-runtime.cjs.js +2 -0
  3. package/dist/_virtual/jsx-runtime.cjs.js.map +1 -0
  4. package/dist/_virtual/jsx-runtime.es.js +5 -0
  5. package/dist/_virtual/jsx-runtime.es.js.map +1 -0
  6. package/dist/_virtual/react-jsx-runtime.development.cjs.js +2 -0
  7. package/dist/_virtual/react-jsx-runtime.development.cjs.js.map +1 -0
  8. package/dist/_virtual/react-jsx-runtime.development.es.js +5 -0
  9. package/dist/_virtual/react-jsx-runtime.development.es.js.map +1 -0
  10. package/dist/_virtual/react-jsx-runtime.production.min.cjs.js +2 -0
  11. package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +1 -0
  12. package/dist/_virtual/react-jsx-runtime.production.min.es.js +5 -0
  13. package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +1 -0
  14. package/dist/assets/svg/icons.svg.cjs.js +2 -0
  15. package/dist/assets/svg/icons.svg.cjs.js.map +1 -0
  16. package/dist/assets/svg/icons.svg.es.js +5 -0
  17. package/dist/assets/svg/icons.svg.es.js.map +1 -0
  18. package/dist/components/ActionMenu/ActionMenu.cjs.js +2 -0
  19. package/dist/components/ActionMenu/ActionMenu.cjs.js.map +1 -0
  20. package/dist/components/ActionMenu/ActionMenu.es.js +277 -0
  21. package/dist/components/ActionMenu/ActionMenu.es.js.map +1 -0
  22. package/dist/components/Badge/Badge.cjs.js +2 -0
  23. package/dist/components/Badge/Badge.cjs.js.map +1 -0
  24. package/dist/components/Badge/Badge.es.js +25 -0
  25. package/dist/components/Badge/Badge.es.js.map +1 -0
  26. package/dist/components/Banner/Banner.cjs.js +2 -0
  27. package/dist/components/Banner/Banner.cjs.js.map +1 -0
  28. package/dist/components/Banner/Banner.es.js +131 -0
  29. package/dist/components/Banner/Banner.es.js.map +1 -0
  30. package/dist/components/Button/Button.cjs.js +2 -0
  31. package/dist/components/Button/Button.cjs.js.map +1 -0
  32. package/dist/components/Button/Button.es.js +99 -0
  33. package/dist/components/Button/Button.es.js.map +1 -0
  34. package/dist/components/ButtonGroup/ButtonGroup.cjs.js +2 -0
  35. package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +1 -0
  36. package/dist/components/ButtonGroup/ButtonGroup.es.js +51 -0
  37. package/dist/components/ButtonGroup/ButtonGroup.es.js.map +1 -0
  38. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +2 -0
  39. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +1 -0
  40. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +80 -0
  41. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +1 -0
  42. package/dist/components/DataTable/DataTable.cjs.js +2 -0
  43. package/dist/components/DataTable/DataTable.cjs.js.map +1 -0
  44. package/dist/components/DataTable/DataTable.es.js +137 -0
  45. package/dist/components/DataTable/DataTable.es.js.map +1 -0
  46. package/dist/components/Dialog/Dialog.cjs.js +2 -0
  47. package/dist/components/Dialog/Dialog.cjs.js.map +1 -0
  48. package/dist/components/Dialog/Dialog.es.js +15 -0
  49. package/dist/components/Dialog/Dialog.es.js.map +1 -0
  50. package/dist/components/Elevation/Elevation.cjs.js +2 -0
  51. package/dist/components/Elevation/Elevation.cjs.js.map +1 -0
  52. package/dist/components/Elevation/Elevation.es.js +33 -0
  53. package/dist/components/Elevation/Elevation.es.js.map +1 -0
  54. package/dist/components/Icon/Icon.cjs.js +2 -0
  55. package/dist/components/Icon/Icon.cjs.js.map +1 -0
  56. package/dist/components/Icon/Icon.es.js +42 -0
  57. package/dist/components/Icon/Icon.es.js.map +1 -0
  58. package/dist/components/ImageBackground/ImageBackground.cjs.js +2 -0
  59. package/dist/components/ImageBackground/ImageBackground.cjs.js.map +1 -0
  60. package/dist/components/ImageBackground/ImageBackground.es.js +55 -0
  61. package/dist/components/ImageBackground/ImageBackground.es.js.map +1 -0
  62. package/dist/components/Input/BaseInput/Input.cjs.js +2 -0
  63. package/dist/components/Input/BaseInput/Input.cjs.js.map +1 -0
  64. package/dist/components/Input/BaseInput/Input.es.js +186 -0
  65. package/dist/components/Input/BaseInput/Input.es.js.map +1 -0
  66. package/dist/components/Input/CopyInput/CopyInput.cjs.js +2 -0
  67. package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +1 -0
  68. package/dist/components/Input/CopyInput/CopyInput.es.js +83 -0
  69. package/dist/components/Input/CopyInput/CopyInput.es.js.map +1 -0
  70. package/dist/components/Input/SearchInput/SearchInput.cjs.js +2 -0
  71. package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +1 -0
  72. package/dist/components/Input/SearchInput/SearchInput.es.js +118 -0
  73. package/dist/components/Input/SearchInput/SearchInput.es.js.map +1 -0
  74. package/dist/components/Menu/MenuTrigger.cjs.js +2 -0
  75. package/dist/components/Menu/MenuTrigger.cjs.js.map +1 -0
  76. package/dist/components/Menu/MenuTrigger.es.js +89 -0
  77. package/dist/components/Menu/MenuTrigger.es.js.map +1 -0
  78. package/dist/components/Menu/PopoverMenu.cjs.js +2 -0
  79. package/dist/components/Menu/PopoverMenu.cjs.js.map +1 -0
  80. package/dist/components/Menu/PopoverMenu.es.js +122 -0
  81. package/dist/components/Menu/PopoverMenu.es.js.map +1 -0
  82. package/dist/components/Modal/Modal.cjs.js +2 -0
  83. package/dist/components/Modal/Modal.cjs.js.map +1 -0
  84. package/dist/components/Modal/Modal.es.js +122 -0
  85. package/dist/components/Modal/Modal.es.js.map +1 -0
  86. package/dist/components/Popover/Popover.cjs.js +2 -0
  87. package/dist/components/Popover/Popover.cjs.js.map +1 -0
  88. package/dist/components/Popover/Popover.es.js +54 -0
  89. package/dist/components/Popover/Popover.es.js.map +1 -0
  90. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +2 -0
  91. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +1 -0
  92. package/dist/components/ScreenOverlay/ScreenOverlay.es.js +44 -0
  93. package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +1 -0
  94. package/dist/components/Select/Select.cjs.js +2 -0
  95. package/dist/components/Select/Select.cjs.js.map +1 -0
  96. package/dist/components/Select/Select.es.js +228 -0
  97. package/dist/components/Select/Select.es.js.map +1 -0
  98. package/dist/components/Switch/Switch.cjs.js +2 -0
  99. package/dist/components/Switch/Switch.cjs.js.map +1 -0
  100. package/dist/components/Switch/Switch.es.js +40 -0
  101. package/dist/components/Switch/Switch.es.js.map +1 -0
  102. package/dist/components/Table/Collection/CompoundComponents.cjs.js +2 -0
  103. package/dist/components/Table/Collection/CompoundComponents.cjs.js.map +1 -0
  104. package/dist/components/Table/Collection/CompoundComponents.es.js +9 -0
  105. package/dist/components/Table/Collection/CompoundComponents.es.js.map +1 -0
  106. package/dist/components/Table/Collection/collectionParser.cjs.js +2 -0
  107. package/dist/components/Table/Collection/collectionParser.cjs.js.map +1 -0
  108. package/dist/components/Table/Collection/collectionParser.es.js +54 -0
  109. package/dist/components/Table/Collection/collectionParser.es.js.map +1 -0
  110. package/dist/components/Table/Collection/useTableCollection.cjs.js +2 -0
  111. package/dist/components/Table/Collection/useTableCollection.cjs.js.map +1 -0
  112. package/dist/components/Table/Collection/useTableCollection.es.js +59 -0
  113. package/dist/components/Table/Collection/useTableCollection.es.js.map +1 -0
  114. package/dist/components/Table/Table.cjs.js +2 -0
  115. package/dist/components/Table/Table.cjs.js.map +1 -0
  116. package/dist/components/Table/Table.es.js +89 -0
  117. package/dist/components/Table/Table.es.js.map +1 -0
  118. package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js +2 -0
  119. package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +1 -0
  120. package/dist/components/Text/TextEllipsis/TextEllipsis.es.js +30 -0
  121. package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +1 -0
  122. package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js +2 -0
  123. package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +1 -0
  124. package/dist/components/Text/TextEmphasis/TextEmphasis.es.js +54 -0
  125. package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +1 -0
  126. package/dist/components/ThemeProvider.cjs.js +2 -0
  127. package/dist/components/ThemeProvider.cjs.js.map +1 -0
  128. package/dist/components/ThemeProvider.es.js +42 -0
  129. package/dist/components/ThemeProvider.es.js.map +1 -0
  130. package/dist/components/Tombstone/Tombstone.cjs.js +2 -0
  131. package/dist/components/Tombstone/Tombstone.cjs.js.map +1 -0
  132. package/dist/components/Tombstone/Tombstone.es.js +35 -0
  133. package/dist/components/Tombstone/Tombstone.es.js.map +1 -0
  134. package/dist/components/Tooltip/Tooltip.cjs.js +2 -0
  135. package/dist/components/Tooltip/Tooltip.cjs.js.map +1 -0
  136. package/dist/components/Tooltip/Tooltip.es.js +78 -0
  137. package/dist/components/Tooltip/Tooltip.es.js.map +1 -0
  138. package/dist/components/Waveform/Waveform.cjs.js +2 -0
  139. package/dist/components/Waveform/Waveform.cjs.js.map +1 -0
  140. package/dist/components/Waveform/Waveform.es.js +163 -0
  141. package/dist/components/Waveform/Waveform.es.js.map +1 -0
  142. package/dist/components/Waveform/WaveformBar.cjs.js +2 -0
  143. package/dist/components/Waveform/WaveformBar.cjs.js.map +1 -0
  144. package/dist/components/Waveform/WaveformBar.es.js +74 -0
  145. package/dist/components/Waveform/WaveformBar.es.js.map +1 -0
  146. package/dist/constants/breakpoint.cjs.js +2 -0
  147. package/dist/constants/breakpoint.cjs.js.map +1 -0
  148. package/dist/{breakpoint-9y1_8U_b.mjs → constants/breakpoint.es.js} +2 -2
  149. package/dist/constants/breakpoint.es.js.map +1 -0
  150. package/dist/constants/placement.cjs.js +2 -0
  151. package/dist/constants/placement.cjs.js.map +1 -0
  152. package/dist/constants/placement.es.js +28 -0
  153. package/dist/constants/placement.es.js.map +1 -0
  154. package/dist/constants.cjs.js +1 -1
  155. package/dist/constants.cjs.js.map +1 -1
  156. package/dist/constants.es.js +3 -26
  157. package/dist/constants.es.js.map +1 -1
  158. package/dist/dark.cjs.js +1 -1
  159. package/dist/dark.cjs.js.map +1 -1
  160. package/dist/dark.es.js +8 -55
  161. package/dist/dark.es.js.map +1 -1
  162. package/dist/design/colors.cjs.js +2 -0
  163. package/dist/design/colors.cjs.js.map +1 -0
  164. package/dist/{colors-CWaj9dFz.mjs → design/colors.es.js} +7 -7
  165. package/dist/design/colors.es.js.map +1 -0
  166. package/dist/design/darkTheme/colors.cjs.js +2 -0
  167. package/dist/design/darkTheme/colors.cjs.js.map +1 -0
  168. package/dist/{colors-Ceyo4oCJ.mjs → design/darkTheme/colors.es.js} +13 -13
  169. package/dist/design/darkTheme/colors.es.js.map +1 -0
  170. package/dist/design/darkTheme/stylesheet.cjs.js +2 -0
  171. package/dist/design/darkTheme/stylesheet.cjs.js.map +1 -0
  172. package/dist/design/darkTheme/stylesheet.es.js +52 -0
  173. package/dist/design/darkTheme/stylesheet.es.js.map +1 -0
  174. package/dist/design/generateStylesheet.cjs.js +2 -0
  175. package/dist/design/generateStylesheet.cjs.js.map +1 -0
  176. package/dist/design/generateStylesheet.es.js +26 -0
  177. package/dist/design/generateStylesheet.es.js.map +1 -0
  178. package/dist/design/lightTheme/colors.cjs.js +2 -0
  179. package/dist/design/lightTheme/colors.cjs.js.map +1 -0
  180. package/dist/{colors-DMkDnu4U.mjs → design/lightTheme/colors.es.js} +11 -11
  181. package/dist/design/lightTheme/colors.es.js.map +1 -0
  182. package/dist/design/lightTheme/stylesheet.cjs.js +2 -0
  183. package/dist/design/lightTheme/stylesheet.cjs.js.map +1 -0
  184. package/dist/design/lightTheme/stylesheet.es.js +52 -0
  185. package/dist/design/lightTheme/stylesheet.es.js.map +1 -0
  186. package/dist/design/theme.cjs.js +2 -0
  187. package/dist/design/theme.cjs.js.map +1 -0
  188. package/dist/design/theme.es.js +12 -0
  189. package/dist/design/theme.es.js.map +1 -0
  190. package/dist/hooks/useBreakpoint.cjs.js +2 -0
  191. package/dist/hooks/useBreakpoint.cjs.js.map +1 -0
  192. package/dist/hooks/useBreakpoint.es.js +17 -0
  193. package/dist/hooks/useBreakpoint.es.js.map +1 -0
  194. package/dist/hooks/useIsClosing.cjs.js +2 -0
  195. package/dist/hooks/useIsClosing.cjs.js.map +1 -0
  196. package/dist/hooks/useIsClosing.es.js +30 -0
  197. package/dist/hooks/useIsClosing.es.js.map +1 -0
  198. package/dist/hooks/useLockBodyScroll.cjs.js +2 -0
  199. package/dist/hooks/useLockBodyScroll.cjs.js.map +1 -0
  200. package/dist/hooks/useLockBodyScroll.es.js +14 -0
  201. package/dist/hooks/useLockBodyScroll.es.js.map +1 -0
  202. package/dist/hooks/usePalette.cjs.js +2 -0
  203. package/dist/hooks/usePalette.cjs.js.map +1 -0
  204. package/dist/hooks/usePalette.es.js +37 -0
  205. package/dist/hooks/usePalette.es.js.map +1 -0
  206. package/dist/hooks.cjs.js +1 -1
  207. package/dist/hooks.cjs.js.map +1 -1
  208. package/dist/hooks.es.js +8 -37
  209. package/dist/hooks.es.js.map +1 -1
  210. package/dist/icons.svg +10 -10
  211. package/dist/index.cjs.js +1 -36
  212. package/dist/index.cjs.js.map +1 -1
  213. package/dist/index.d.ts +0 -1
  214. package/dist/index.es.js +60 -5421
  215. package/dist/index.es.js.map +1 -1
  216. package/dist/light.cjs.js +1 -1
  217. package/dist/light.cjs.js.map +1 -1
  218. package/dist/light.es.js +8 -55
  219. package/dist/light.es.js.map +1 -1
  220. package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js +2 -0
  221. package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js.map +1 -0
  222. package/dist/node_modules/@react-aria/button/dist/useButton.es.js +55 -0
  223. package/dist/node_modules/@react-aria/button/dist/useButton.es.js.map +1 -0
  224. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +2 -0
  225. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +1 -0
  226. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +44 -0
  227. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +1 -0
  228. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +2 -0
  229. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +1 -0
  230. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +437 -0
  231. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +1 -0
  232. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +2 -0
  233. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +1 -0
  234. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +78 -0
  235. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +1 -0
  236. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +2 -0
  237. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +1 -0
  238. package/dist/node_modules/@react-aria/i18n/dist/context.es.js +11 -0
  239. package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +1 -0
  240. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +2 -0
  241. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +1 -0
  242. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +30 -0
  243. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +1 -0
  244. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +2 -0
  245. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +1 -0
  246. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +45 -0
  247. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +1 -0
  248. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +2 -0
  249. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +1 -0
  250. package/dist/node_modules/@react-aria/interactions/dist/context.es.js +10 -0
  251. package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +1 -0
  252. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +2 -0
  253. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +1 -0
  254. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +29 -0
  255. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +1 -0
  256. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +2 -0
  257. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +1 -0
  258. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +15 -0
  259. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +1 -0
  260. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +2 -0
  261. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +1 -0
  262. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +35 -0
  263. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +1 -0
  264. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +2 -0
  265. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +1 -0
  266. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +30 -0
  267. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +1 -0
  268. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +2 -0
  269. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +1 -0
  270. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +63 -0
  271. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +1 -0
  272. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +2 -0
  273. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +1 -0
  274. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +56 -0
  275. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +1 -0
  276. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +2 -0
  277. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +1 -0
  278. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +42 -0
  279. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +1 -0
  280. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js +2 -0
  281. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js.map +1 -0
  282. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js +51 -0
  283. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js.map +1 -0
  284. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +2 -0
  285. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +1 -0
  286. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +13 -0
  287. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +1 -0
  288. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +8 -0
  289. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +1 -0
  290. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +386 -0
  291. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +1 -0
  292. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +2 -0
  293. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +1 -0
  294. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +92 -0
  295. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +1 -0
  296. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +2 -0
  297. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +1 -0
  298. package/dist/node_modules/@react-aria/label/dist/useField.es.js +36 -0
  299. package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +1 -0
  300. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +2 -0
  301. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +1 -0
  302. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +23 -0
  303. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +1 -0
  304. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +2 -0
  305. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +1 -0
  306. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +16 -0
  307. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +1 -0
  308. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js +2 -0
  309. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js.map +1 -0
  310. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js +70 -0
  311. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js.map +1 -0
  312. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js +2 -0
  313. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js.map +1 -0
  314. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js +32 -0
  315. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js.map +1 -0
  316. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js +2 -0
  317. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js.map +1 -0
  318. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js +53 -0
  319. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js.map +1 -0
  320. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js +2 -0
  321. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js.map +1 -0
  322. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js +100 -0
  323. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js.map +1 -0
  324. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +2 -0
  325. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +1 -0
  326. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +70 -0
  327. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +1 -0
  328. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +2 -0
  329. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +1 -0
  330. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +80 -0
  331. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +1 -0
  332. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +2 -0
  333. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +1 -0
  334. package/dist/node_modules/@react-aria/radio/dist/utils.es.js +5 -0
  335. package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +1 -0
  336. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +2 -0
  337. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +1 -0
  338. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +19 -0
  339. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +1 -0
  340. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +2 -0
  341. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +1 -0
  342. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +20 -0
  343. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +1 -0
  344. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +2 -0
  345. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +1 -0
  346. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +60 -0
  347. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +1 -0
  348. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +2 -0
  349. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +1 -0
  350. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +41 -0
  351. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +1 -0
  352. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +2 -0
  353. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +1 -0
  354. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +110 -0
  355. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +1 -0
  356. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js +2 -0
  357. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js.map +1 -0
  358. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js +30 -0
  359. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js.map +1 -0
  360. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +2 -0
  361. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +1 -0
  362. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +35 -0
  363. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +1 -0
  364. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +2 -0
  365. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +1 -0
  366. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +22 -0
  367. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +1 -0
  368. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +2 -0
  369. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +1 -0
  370. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +31 -0
  371. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +1 -0
  372. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +2 -0
  373. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +1 -0
  374. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +9 -0
  375. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +1 -0
  376. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +2 -0
  377. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +1 -0
  378. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +8 -0
  379. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +1 -0
  380. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +2 -0
  381. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +1 -0
  382. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +13 -0
  383. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +1 -0
  384. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +2 -0
  385. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +1 -0
  386. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +9 -0
  387. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +1 -0
  388. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +2 -0
  389. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +1 -0
  390. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +11 -0
  391. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +1 -0
  392. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +2 -0
  393. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +1 -0
  394. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +9 -0
  395. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +1 -0
  396. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +2 -0
  397. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +1 -0
  398. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +11 -0
  399. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +1 -0
  400. package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js +2 -0
  401. package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +1 -0
  402. package/dist/node_modules/color2k/dist/index.exports.import.es.es.js +171 -0
  403. package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +1 -0
  404. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +23 -0
  405. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +1 -0
  406. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +609 -0
  407. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +1 -0
  408. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +10 -0
  409. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +1 -0
  410. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +29 -0
  411. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +1 -0
  412. package/dist/node_modules/react/jsx-runtime.cjs.js +2 -0
  413. package/dist/node_modules/react/jsx-runtime.cjs.js.map +1 -0
  414. package/dist/node_modules/react/jsx-runtime.es.js +9 -0
  415. package/dist/node_modules/react/jsx-runtime.es.js.map +1 -0
  416. package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js +2 -0
  417. package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js.map +1 -0
  418. package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js +37 -0
  419. package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js.map +1 -0
  420. package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js +2 -0
  421. package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js.map +1 -0
  422. package/dist/node_modules/react-aria-components/dist/Tooltip.es.js +98 -0
  423. package/dist/node_modules/react-aria-components/dist/Tooltip.es.js.map +1 -0
  424. package/dist/node_modules/react-aria-components/dist/utils.cjs.js +2 -0
  425. package/dist/node_modules/react-aria-components/dist/utils.cjs.js.map +1 -0
  426. package/dist/node_modules/react-aria-components/dist/utils.es.js +89 -0
  427. package/dist/node_modules/react-aria-components/dist/utils.es.js.map +1 -0
  428. package/dist/theme.cjs.js +1 -1
  429. package/dist/theme.cjs.js.map +1 -1
  430. package/dist/theme.es.js +9 -15
  431. package/dist/theme.es.js.map +1 -1
  432. package/dist/utils/color2k.cjs.js +2 -0
  433. package/dist/utils/color2k.cjs.js.map +1 -0
  434. package/dist/utils/color2k.es.js +14 -0
  435. package/dist/utils/color2k.es.js.map +1 -0
  436. package/dist/utils/copy.cjs.js +2 -0
  437. package/dist/utils/copy.cjs.js.map +1 -0
  438. package/dist/utils/copy.es.js +31 -0
  439. package/dist/utils/copy.es.js.map +1 -0
  440. package/dist/utils/image.cjs.js +2 -0
  441. package/dist/utils/image.cjs.js.map +1 -0
  442. package/dist/utils/image.es.js +28 -0
  443. package/dist/utils/image.es.js.map +1 -0
  444. package/dist/utils/navigation.cjs.js +2 -0
  445. package/dist/utils/navigation.cjs.js.map +1 -0
  446. package/dist/utils/navigation.es.js +12 -0
  447. package/dist/utils/navigation.es.js.map +1 -0
  448. package/dist/utils/palette.cjs.js +2 -0
  449. package/dist/utils/palette.cjs.js.map +1 -0
  450. package/dist/utils/palette.es.js +183 -0
  451. package/dist/utils/palette.es.js.map +1 -0
  452. package/dist/utils/string.cjs.js +2 -0
  453. package/dist/utils/string.cjs.js.map +1 -0
  454. package/dist/utils/string.es.js +8 -0
  455. package/dist/utils/string.es.js.map +1 -0
  456. package/dist/utils.cjs.js +1 -1
  457. package/dist/utils.es.js +19 -15
  458. package/dist/utils.es.js.map +1 -1
  459. package/package.json +140 -140
  460. package/dist/breakpoint-9y1_8U_b.mjs.map +0 -1
  461. package/dist/breakpoint-DtqbboOa.js +0 -2
  462. package/dist/breakpoint-DtqbboOa.js.map +0 -1
  463. package/dist/color2k-CpDB_dpw.mjs +0 -168
  464. package/dist/color2k-CpDB_dpw.mjs.map +0 -1
  465. package/dist/color2k-DCgwXUem.js +0 -2
  466. package/dist/color2k-DCgwXUem.js.map +0 -1
  467. package/dist/colors-CWaj9dFz.mjs.map +0 -1
  468. package/dist/colors-CebzFjpe.js +0 -2
  469. package/dist/colors-CebzFjpe.js.map +0 -1
  470. package/dist/colors-Ceyo4oCJ.mjs.map +0 -1
  471. package/dist/colors-CmSJBHaf.js +0 -2
  472. package/dist/colors-CmSJBHaf.js.map +0 -1
  473. package/dist/colors-DL1dYffC.js +0 -2
  474. package/dist/colors-DL1dYffC.js.map +0 -1
  475. package/dist/colors-DMkDnu4U.mjs.map +0 -1
  476. package/dist/image-CUSfY1_T.js +0 -2
  477. package/dist/image-CUSfY1_T.js.map +0 -1
  478. package/dist/image-DFyN0Kd9.mjs +0 -207
  479. package/dist/image-DFyN0Kd9.mjs.map +0 -1
  480. package/dist/navigation-BB0MBIiR.js +0 -2
  481. package/dist/navigation-BB0MBIiR.js.map +0 -1
  482. package/dist/navigation-Bj7Pex9j.mjs +0 -43
  483. package/dist/navigation-Bj7Pex9j.mjs.map +0 -1
  484. package/dist/useBreakpoint-CjRyGKN-.mjs +0 -53
  485. package/dist/useBreakpoint-CjRyGKN-.mjs.map +0 -1
  486. package/dist/useBreakpoint-DA-JqOu3.js +0 -2
  487. package/dist/useBreakpoint-DA-JqOu3.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.es.js","sources":["../../../../node_modules/react-aria-components/dist/utils.mjs"],"sourcesContent":["import {useObjectRef as $iETbY$useObjectRef, mergeRefs as $iETbY$mergeRefs, mergeProps as $iETbY$mergeProps, useLayoutEffect as $iETbY$useLayoutEffect} from \"@react-aria/utils\";\nimport $iETbY$react, {useMemo as $iETbY$useMemo, useContext as $iETbY$useContext, useState as $iETbY$useState, useRef as $iETbY$useRef, useCallback as $iETbY$useCallback} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $64fa3d84918910a7$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $iETbY$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $64fa3d84918910a7$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values } = props;\n return (0, $iETbY$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName !== null && computedClassName !== void 0 ? computedClassName : defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren !== null && computedChildren !== void 0 ? computedChildren : defaultChildren,\n 'data-rac': ''\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values\n ]);\n}\nfunction $64fa3d84918910a7$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $64fa3d84918910a7$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $iETbY$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let slotKey = slot || $64fa3d84918910a7$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n let errorMessage = slot ? `Invalid slot \"${slot}\".` : 'A slot prop is required.';\n throw new Error(`${errorMessage} Valid slot names are ${availableSlots}.`);\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $64fa3d84918910a7$export$fabf2dc03a41866e(context, props.slot) || {};\n // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $iETbY$useObjectRef)((0, $iETbY$useMemo)(()=>(0, $iETbY$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $iETbY$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(initialState = true) {\n // Initial state is typically based on the parent having an aria-label or aria-labelledby.\n // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect\n let [hasSlot, setHasSlot] = (0, $iETbY$useState)(initialState);\n let hasRun = (0, $iETbY$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $iETbY$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $iETbY$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $64fa3d84918910a7$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$64fa3d84918910a7$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $64fa3d84918910a7$export$2881499e37b75b9a as Provider, $64fa3d84918910a7$export$4d86445c2cf5e3 as useRenderProps, $64fa3d84918910a7$export$c245e6201fed2f75 as composeRenderProps, $64fa3d84918910a7$export$fabf2dc03a41866e as useSlottedContext, $64fa3d84918910a7$export$29f1550f4b0d4415 as useContextProps, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8 as useSlot, $64fa3d84918910a7$export$ef03459518577ad4 as removeDataAttributes};\n//# sourceMappingURL=utils.module.js.map\n"],"names":["$64fa3d84918910a7$export$c62b8e45d58ddad9","$64fa3d84918910a7$export$2881499e37b75b9a","values","children","Context","value","$iETbY$react","$64fa3d84918910a7$export$4d86445c2cf5e3","props","className","style","defaultClassName","defaultChildren","defaultStyle","$iETbY$useMemo","computedClassName","computedStyle","computedChildren","$64fa3d84918910a7$export$fabf2dc03a41866e","context","slot","ctx","$iETbY$useContext","slotKey","availableSlots","p","errorMessage","$64fa3d84918910a7$export$29f1550f4b0d4415","ref","contextRef","contextProps","mergedRef","$iETbY$useObjectRef","$iETbY$mergeRefs","mergedProps","$iETbY$mergeProps","renderProps","contextStyle"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/theme.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("./colors-CmSJBHaf.js"),A={DARK:"dark",LIGHT:"light"},E={[A.DARK]:"proton-ui__theme--dark",[A.LIGHT]:"proton-ui__theme--light"};exports.BACKGROUNDS=S.BACKGROUNDS;exports.BRAND=S.BRAND;exports.BRAND_PRIMARY_SCALE=S.BRAND_PRIMARY_SCALE;exports.DANGER=S.DANGER;exports.SUCCESS=S.SUCCESS;exports.WARNING=S.WARNING;exports.THEMES=A;exports.THEME_CLASSES=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("./design/colors.cjs.js"),A=require("./design/theme.cjs.js");exports.BACKGROUNDS=S.BACKGROUNDS;exports.BRAND=S.BRAND;exports.BRAND_PRIMARY_SCALE=S.BRAND_PRIMARY_SCALE;exports.DANGER=S.DANGER;exports.SUCCESS=S.SUCCESS;exports.WARNING=S.WARNING;exports.THEMES=A.THEMES;exports.THEME_CLASSES=A.THEME_CLASSES;
2
2
  //# sourceMappingURL=theme.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.cjs.js","sources":["../src/design/theme.ts"],"sourcesContent":["export const THEMES = {\n DARK: \"dark\",\n LIGHT: \"light\",\n} as const;\n\nexport const THEME_CLASSES = {\n [THEMES.DARK]: \"proton-ui__theme--dark\",\n [THEMES.LIGHT]: \"proton-ui__theme--light\",\n};"],"names":["THEMES","THEME_CLASSES"],"mappings":"wHAAaA,EAAS,CACpB,KAAM,OACN,MAAO,OACT,EAEaC,EAAgB,CAC3B,CAACD,EAAO,IAAI,EAAG,yBACf,CAACA,EAAO,KAAK,EAAG,yBAClB"}
1
+ {"version":3,"file":"theme.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/theme.es.js CHANGED
@@ -1,19 +1,13 @@
1
- import { B as o, a as R, b as s, D as E, S as r, W as D } from "./colors-CWaj9dFz.mjs";
2
- const t = {
3
- DARK: "dark",
4
- LIGHT: "light"
5
- }, A = {
6
- [t.DARK]: "proton-ui__theme--dark",
7
- [t.LIGHT]: "proton-ui__theme--light"
8
- };
1
+ import { BACKGROUNDS as E, BRAND as R, BRAND_PRIMARY_SCALE as N, DANGER as C, SUCCESS as o, WARNING as r } from "./design/colors.es.js";
2
+ import { THEMES as B, THEME_CLASSES as G } from "./design/theme.es.js";
9
3
  export {
10
- o as BACKGROUNDS,
4
+ E as BACKGROUNDS,
11
5
  R as BRAND,
12
- s as BRAND_PRIMARY_SCALE,
13
- E as DANGER,
14
- r as SUCCESS,
15
- t as THEMES,
16
- A as THEME_CLASSES,
17
- D as WARNING
6
+ N as BRAND_PRIMARY_SCALE,
7
+ C as DANGER,
8
+ o as SUCCESS,
9
+ B as THEMES,
10
+ G as THEME_CLASSES,
11
+ r as WARNING
18
12
  };
19
13
  //# sourceMappingURL=theme.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.es.js","sources":["../src/design/theme.ts"],"sourcesContent":["export const THEMES = {\n DARK: \"dark\",\n LIGHT: \"light\",\n} as const;\n\nexport const THEME_CLASSES = {\n [THEMES.DARK]: \"proton-ui__theme--dark\",\n [THEMES.LIGHT]: \"proton-ui__theme--light\",\n};"],"names":["THEMES","THEME_CLASSES"],"mappings":";AAAO,MAAMA,IAAS;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AACT,GAEaC,IAAgB;AAAA,EAC3B,CAACD,EAAO,IAAI,GAAG;AAAA,EACf,CAACA,EAAO,KAAK,GAAG;AAClB;"}
1
+ {"version":3,"file":"theme.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../node_modules/color2k/dist/index.exports.import.es.cjs.js"),a=(t,r)=>r===void 0?`rgb(${t[0]}, ${t[1]}, ${t[2]})`:`rgba(${t[0]}, ${t[1]}, ${t[2]}, ${r})`,n=(t,r)=>e.toRgba(e.transparentize(t,r)),o=(t,r)=>e.toRgba(e.saturate(t,r)),s=(t,r)=>e.toRgba(e.desaturate(t,r));exports.darken=e.darken;exports.lighten=e.lighten;exports.toHex=e.toHex;exports.toRgba=e.toRgba;exports.arrayToRgbString=a;exports.desaturate=s;exports.saturate=o;exports.transparentize=n;
2
+ //# sourceMappingURL=color2k.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color2k.cjs.js","sources":["../../src/utils/color2k.ts"],"sourcesContent":["import {\r\n desaturate as _desaturate,\r\n saturate as _saturate,\r\n transparentize as _transparentize,\r\n toRgba,\r\n} from \"color2k\";\r\n\r\n// Include any functions we wish to expose from color2k\r\nexport { darken, lighten, toHex, toRgba } from \"color2k\";\r\n\r\nexport type RGBArray = [number, number, number];\r\n\r\n/**\r\n * Converts an RGB array to a CSS string representation.\r\n * @param rgb - The RGB array to convert.\r\n * @param opacity - Optional opacity value.\r\n * @returns A CSS string representation of the RGB array, using `rgb()`, or `rgba()` if an opacity value is provided.\r\n */\r\nexport const arrayToRgbString = (rgb: RGBArray, opacity?: number): string => {\r\n return opacity === undefined\r\n ? `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`\r\n : `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opacity})`;\r\n};\r\n\r\n/**\r\n * Transparentizes an input color.\r\n *\r\n * @param color - The color string to transparentize.\r\n * @param amount - The amount to increase the opacity of the color by, given as a decimal between 0 and 1.\r\n * @returns An RGBA color string.\r\n */\r\nexport const transparentize = (color: string, amount: number): string => {\r\n return toRgba(_transparentize(color, amount));\r\n};\r\n\r\n/**\r\n * Saturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to saturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const saturate = (color: string, amount: number): string => {\r\n return toRgba(_saturate(color, amount));\r\n};\r\n\r\n/**\r\n * Desaturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to desaturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const desaturate = (color: string, amount: number): string => {\r\n return toRgba(_desaturate(color, amount));\r\n};\r\n"],"names":["arrayToRgbString","rgb","opacity","transparentize","color","amount","toRgba","_transparentize","saturate","_saturate","desaturate","_desaturate"],"mappings":"+JAkBaA,EAAmB,CAACC,EAAeC,IACvCA,IAAY,OACf,OAAOD,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,IACnC,QAAQA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKC,CAAO,IAUzCC,EAAiB,CAACC,EAAeC,IACrCC,EAAO,OAAAC,EAAA,eAAgBH,EAAOC,CAAM,CAAC,EAUjCG,EAAW,CAACJ,EAAeC,IAC/BC,EAAO,OAAAG,EAAA,SAAUL,EAAOC,CAAM,CAAC,EAU3BK,EAAa,CAACN,EAAeC,IACjCC,EAAO,OAAAK,EAAA,WAAYP,EAAOC,CAAM,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { toRgba as a, transparentize as e, saturate as n, desaturate as s } from "../node_modules/color2k/dist/index.exports.import.es.es.js";
2
+ import { darken as m, lighten as x, toHex as z } from "../node_modules/color2k/dist/index.exports.import.es.es.js";
3
+ const u = (t, r) => r === void 0 ? `rgb(${t[0]}, ${t[1]}, ${t[2]})` : `rgba(${t[0]}, ${t[1]}, ${t[2]}, ${r})`, $ = (t, r) => a(e(t, r)), i = (t, r) => a(n(t, r)), d = (t, r) => a(s(t, r));
4
+ export {
5
+ u as arrayToRgbString,
6
+ m as darken,
7
+ d as desaturate,
8
+ x as lighten,
9
+ i as saturate,
10
+ z as toHex,
11
+ a as toRgba,
12
+ $ as transparentize
13
+ };
14
+ //# sourceMappingURL=color2k.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color2k.es.js","sources":["../../src/utils/color2k.ts"],"sourcesContent":["import {\r\n desaturate as _desaturate,\r\n saturate as _saturate,\r\n transparentize as _transparentize,\r\n toRgba,\r\n} from \"color2k\";\r\n\r\n// Include any functions we wish to expose from color2k\r\nexport { darken, lighten, toHex, toRgba } from \"color2k\";\r\n\r\nexport type RGBArray = [number, number, number];\r\n\r\n/**\r\n * Converts an RGB array to a CSS string representation.\r\n * @param rgb - The RGB array to convert.\r\n * @param opacity - Optional opacity value.\r\n * @returns A CSS string representation of the RGB array, using `rgb()`, or `rgba()` if an opacity value is provided.\r\n */\r\nexport const arrayToRgbString = (rgb: RGBArray, opacity?: number): string => {\r\n return opacity === undefined\r\n ? `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`\r\n : `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opacity})`;\r\n};\r\n\r\n/**\r\n * Transparentizes an input color.\r\n *\r\n * @param color - The color string to transparentize.\r\n * @param amount - The amount to increase the opacity of the color by, given as a decimal between 0 and 1.\r\n * @returns An RGBA color string.\r\n */\r\nexport const transparentize = (color: string, amount: number): string => {\r\n return toRgba(_transparentize(color, amount));\r\n};\r\n\r\n/**\r\n * Saturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to saturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const saturate = (color: string, amount: number): string => {\r\n return toRgba(_saturate(color, amount));\r\n};\r\n\r\n/**\r\n * Desaturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to desaturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const desaturate = (color: string, amount: number): string => {\r\n return toRgba(_desaturate(color, amount));\r\n};\r\n"],"names":["arrayToRgbString","rgb","opacity","transparentize","color","amount","toRgba","_transparentize","saturate","_saturate","desaturate","_desaturate"],"mappings":";;AAkBa,MAAAA,IAAmB,CAACC,GAAeC,MACvCA,MAAY,SACf,OAAOD,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,MACnC,QAAQA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKA,EAAI,CAAC,CAAC,KAAKC,CAAO,KAUzCC,IAAiB,CAACC,GAAeC,MACrCC,EAAOC,EAAgBH,GAAOC,CAAM,CAAC,GAUjCG,IAAW,CAACJ,GAAeC,MAC/BC,EAAOG,EAAUL,GAAOC,CAAM,CAAC,GAU3BK,IAAa,CAACN,GAAeC,MACjCC,EAAOK,EAAYP,GAAOC,CAAM,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=async(o,t)=>{let e=!1;if(navigator.clipboard)try{await navigator.clipboard.writeText(o),e=!0}catch(c){t?t==null||t(c):console.error(c)}else e=s(o);return e||(t?t==null||t(new Error("Failed to copy to clipboard")):console.error("Failed to copy to clipboard")),e},s=(o,{target:t=document.body}={})=>{if(typeof o!="string")throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof o}\`.`);const e=document.createElement("textarea"),c=document.activeElement;e.value=o,e.setAttribute("readonly",""),e.style.contain="strict",e.style.position="absolute",e.style.left="-9999px",e.style.fontSize="12pt";const a=document.getSelection(),l=a.rangeCount>0&&a.getRangeAt(0);t.append(e),e.select(),e.selectionStart=0,e.selectionEnd=o.length;let n=!1;try{n=document.execCommand("copy")}catch{}return e.remove(),l&&(a.removeAllRanges(),a.addRange(l)),c instanceof HTMLElement&&c.focus(),n};exports.copyTextToClipboard=i;
2
+ //# sourceMappingURL=copy.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.cjs.js","sources":["../../src/utils/copy.ts"],"sourcesContent":["export const copyTextToClipboard = async (\r\n text: string,\r\n onError?: (error: Error) => void\r\n): Promise<boolean> => {\r\n let copySuccess = false;\r\n if (navigator.clipboard) {\r\n try {\r\n await navigator.clipboard.writeText(text);\r\n copySuccess = true;\r\n } catch (error) {\r\n onError ? onError?.(error) : console.error(error);\r\n }\r\n } else {\r\n copySuccess = DEPRECATED_copyTextToClipboard(text);\r\n }\r\n if (!copySuccess) {\r\n onError ? onError?.(new Error(\"Failed to copy to clipboard\")) : console.error(\"Failed to copy to clipboard\");\r\n }\r\n return copySuccess;\r\n};\r\n\r\n/**\r\n * Fallback legacy function to copy text to clipboard for browsers that don't support navigator.clipboard.writeText\r\n * @reference https://github.com/sindresorhus/copy-text-to-clipboard/blob/main/index.js\r\n * @deprecated Use navigator.clipboard.writeText instead\r\n */\r\nconst DEPRECATED_copyTextToClipboard = (\r\n text,\r\n { target = document.body } = {}\r\n) => {\r\n if (typeof text !== \"string\") {\r\n throw new TypeError(\r\n `Expected parameter \\`text\\` to be a \\`string\\`, got \\`${typeof text}\\`.`\r\n );\r\n }\r\n\r\n const element = document.createElement(\"textarea\");\r\n const previouslyFocusedElement = document.activeElement;\r\n\r\n element.value = text;\r\n\r\n // Prevent keyboard from showing on mobile\r\n element.setAttribute(\"readonly\", \"\");\r\n\r\n element.style.contain = \"strict\";\r\n element.style.position = \"absolute\";\r\n element.style.left = \"-9999px\";\r\n element.style.fontSize = \"12pt\"; // Prevent zooming on iOS\r\n\r\n const selection = document.getSelection();\r\n const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);\r\n\r\n target.append(element);\r\n element.select();\r\n\r\n // Explicit selection workaround for iOS\r\n element.selectionStart = 0;\r\n element.selectionEnd = text.length;\r\n\r\n let isSuccess = false;\r\n try {\r\n isSuccess = document.execCommand(\"copy\");\r\n } catch {}\r\n\r\n element.remove();\r\n\r\n if (originalRange) {\r\n selection.removeAllRanges();\r\n selection.addRange(originalRange);\r\n }\r\n\r\n // Get the focus back on the previously focused element, if any\r\n if (previouslyFocusedElement instanceof HTMLElement) {\r\n previouslyFocusedElement.focus();\r\n }\r\n\r\n return isSuccess;\r\n};\r\n"],"names":["copyTextToClipboard","text","onError","copySuccess","error","DEPRECATED_copyTextToClipboard","target","element","previouslyFocusedElement","selection","originalRange","isSuccess"],"mappings":"gFAAa,MAAAA,EAAsB,MACjCC,EACAC,IACqB,CACrB,IAAIC,EAAc,GAClB,GAAI,UAAU,UACR,GAAA,CACI,MAAA,UAAU,UAAU,UAAUF,CAAI,EAC1BE,EAAA,SACPC,EAAO,CACdF,EAAUA,GAAA,MAAAA,EAAUE,GAAS,QAAQ,MAAMA,CAAK,CAClD,MAEAD,EAAcE,EAA+BJ,CAAI,EAEnD,OAAKE,IACOD,EAAAA,GAAA,MAAAA,EAAU,IAAI,MAAM,6BAA6B,GAAK,QAAQ,MAAM,6BAA6B,GAEtGC,CACT,EAOME,EAAiC,CACrCJ,EACA,CAAE,OAAAK,EAAS,SAAS,IAAS,EAAA,KAC1B,CACC,GAAA,OAAOL,GAAS,SAClB,MAAM,IAAI,UACR,yDAAyD,OAAOA,CAAI,KAAA,EAIlE,MAAAM,EAAU,SAAS,cAAc,UAAU,EAC3CC,EAA2B,SAAS,cAE1CD,EAAQ,MAAQN,EAGRM,EAAA,aAAa,WAAY,EAAE,EAEnCA,EAAQ,MAAM,QAAU,SACxBA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,KAAO,UACrBA,EAAQ,MAAM,SAAW,OAEnB,MAAAE,EAAY,SAAS,eACrBC,EAAgBD,EAAU,WAAa,GAAKA,EAAU,WAAW,CAAC,EAExEH,EAAO,OAAOC,CAAO,EACrBA,EAAQ,OAAO,EAGfA,EAAQ,eAAiB,EACzBA,EAAQ,aAAeN,EAAK,OAE5B,IAAIU,EAAY,GACZ,GAAA,CACUA,EAAA,SAAS,YAAY,MAAM,CAAA,MACjC,CAAC,CAET,OAAAJ,EAAQ,OAAO,EAEXG,IACFD,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAa,GAI9BF,aAAoC,aACtCA,EAAyB,MAAM,EAG1BG,CACT"}
@@ -0,0 +1,31 @@
1
+ const i = async (c, t) => {
2
+ let e = !1;
3
+ if (navigator.clipboard)
4
+ try {
5
+ await navigator.clipboard.writeText(c), e = !0;
6
+ } catch (o) {
7
+ t ? t == null || t(o) : console.error(o);
8
+ }
9
+ else
10
+ e = s(c);
11
+ return e || (t ? t == null || t(new Error("Failed to copy to clipboard")) : console.error("Failed to copy to clipboard")), e;
12
+ }, s = (c, { target: t = document.body } = {}) => {
13
+ if (typeof c != "string")
14
+ throw new TypeError(
15
+ `Expected parameter \`text\` to be a \`string\`, got \`${typeof c}\`.`
16
+ );
17
+ const e = document.createElement("textarea"), o = document.activeElement;
18
+ e.value = c, e.setAttribute("readonly", ""), e.style.contain = "strict", e.style.position = "absolute", e.style.left = "-9999px", e.style.fontSize = "12pt";
19
+ const a = document.getSelection(), l = a.rangeCount > 0 && a.getRangeAt(0);
20
+ t.append(e), e.select(), e.selectionStart = 0, e.selectionEnd = c.length;
21
+ let n = !1;
22
+ try {
23
+ n = document.execCommand("copy");
24
+ } catch {
25
+ }
26
+ return e.remove(), l && (a.removeAllRanges(), a.addRange(l)), o instanceof HTMLElement && o.focus(), n;
27
+ };
28
+ export {
29
+ i as copyTextToClipboard
30
+ };
31
+ //# sourceMappingURL=copy.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.es.js","sources":["../../src/utils/copy.ts"],"sourcesContent":["export const copyTextToClipboard = async (\r\n text: string,\r\n onError?: (error: Error) => void\r\n): Promise<boolean> => {\r\n let copySuccess = false;\r\n if (navigator.clipboard) {\r\n try {\r\n await navigator.clipboard.writeText(text);\r\n copySuccess = true;\r\n } catch (error) {\r\n onError ? onError?.(error) : console.error(error);\r\n }\r\n } else {\r\n copySuccess = DEPRECATED_copyTextToClipboard(text);\r\n }\r\n if (!copySuccess) {\r\n onError ? onError?.(new Error(\"Failed to copy to clipboard\")) : console.error(\"Failed to copy to clipboard\");\r\n }\r\n return copySuccess;\r\n};\r\n\r\n/**\r\n * Fallback legacy function to copy text to clipboard for browsers that don't support navigator.clipboard.writeText\r\n * @reference https://github.com/sindresorhus/copy-text-to-clipboard/blob/main/index.js\r\n * @deprecated Use navigator.clipboard.writeText instead\r\n */\r\nconst DEPRECATED_copyTextToClipboard = (\r\n text,\r\n { target = document.body } = {}\r\n) => {\r\n if (typeof text !== \"string\") {\r\n throw new TypeError(\r\n `Expected parameter \\`text\\` to be a \\`string\\`, got \\`${typeof text}\\`.`\r\n );\r\n }\r\n\r\n const element = document.createElement(\"textarea\");\r\n const previouslyFocusedElement = document.activeElement;\r\n\r\n element.value = text;\r\n\r\n // Prevent keyboard from showing on mobile\r\n element.setAttribute(\"readonly\", \"\");\r\n\r\n element.style.contain = \"strict\";\r\n element.style.position = \"absolute\";\r\n element.style.left = \"-9999px\";\r\n element.style.fontSize = \"12pt\"; // Prevent zooming on iOS\r\n\r\n const selection = document.getSelection();\r\n const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);\r\n\r\n target.append(element);\r\n element.select();\r\n\r\n // Explicit selection workaround for iOS\r\n element.selectionStart = 0;\r\n element.selectionEnd = text.length;\r\n\r\n let isSuccess = false;\r\n try {\r\n isSuccess = document.execCommand(\"copy\");\r\n } catch {}\r\n\r\n element.remove();\r\n\r\n if (originalRange) {\r\n selection.removeAllRanges();\r\n selection.addRange(originalRange);\r\n }\r\n\r\n // Get the focus back on the previously focused element, if any\r\n if (previouslyFocusedElement instanceof HTMLElement) {\r\n previouslyFocusedElement.focus();\r\n }\r\n\r\n return isSuccess;\r\n};\r\n"],"names":["copyTextToClipboard","text","onError","copySuccess","error","DEPRECATED_copyTextToClipboard","target","element","previouslyFocusedElement","selection","originalRange","isSuccess"],"mappings":"AAAa,MAAAA,IAAsB,OACjCC,GACAC,MACqB;AACrB,MAAIC,IAAc;AAClB,MAAI,UAAU;AACR,QAAA;AACI,YAAA,UAAU,UAAU,UAAUF,CAAI,GAC1BE,IAAA;AAAA,aACPC,GAAO;AACd,MAAAF,IAAUA,KAAA,QAAAA,EAAUE,KAAS,QAAQ,MAAMA,CAAK;AAAA,IAClD;AAAA;AAEA,IAAAD,IAAcE,EAA+BJ,CAAI;AAEnD,SAAKE,MACOD,IAAAA,KAAA,QAAAA,EAAU,IAAI,MAAM,6BAA6B,KAAK,QAAQ,MAAM,6BAA6B,IAEtGC;AACT,GAOME,IAAiC,CACrCJ,GACA,EAAE,QAAAK,IAAS,SAAS,KAAS,IAAA,OAC1B;AACC,MAAA,OAAOL,KAAS;AAClB,UAAM,IAAI;AAAA,MACR,yDAAyD,OAAOA,CAAI;AAAA,IAAA;AAIlE,QAAAM,IAAU,SAAS,cAAc,UAAU,GAC3CC,IAA2B,SAAS;AAE1C,EAAAD,EAAQ,QAAQN,GAGRM,EAAA,aAAa,YAAY,EAAE,GAEnCA,EAAQ,MAAM,UAAU,UACxBA,EAAQ,MAAM,WAAW,YACzBA,EAAQ,MAAM,OAAO,WACrBA,EAAQ,MAAM,WAAW;AAEnB,QAAAE,IAAY,SAAS,gBACrBC,IAAgBD,EAAU,aAAa,KAAKA,EAAU,WAAW,CAAC;AAExE,EAAAH,EAAO,OAAOC,CAAO,GACrBA,EAAQ,OAAO,GAGfA,EAAQ,iBAAiB,GACzBA,EAAQ,eAAeN,EAAK;AAE5B,MAAIU,IAAY;AACZ,MAAA;AACU,IAAAA,IAAA,SAAS,YAAY,MAAM;AAAA,EAAA,QACjC;AAAA,EAAC;AAET,SAAAJ,EAAQ,OAAO,GAEXG,MACFD,EAAU,gBAAgB,GAC1BA,EAAU,SAASC,CAAa,IAI9BF,aAAoC,eACtCA,EAAyB,MAAM,GAG1BG;AACT;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("colorthief");function i(o){return o instanceof HTMLImageElement?Promise.resolve(c(o)):a(o)}function c(o){try{return new t().getColor(o)}catch{return[255,255,255]}}function a(o){return new Promise((r,n)=>{const e=document.createElement("img");e.crossOrigin="anonymous",e.onload=()=>{try{const l=new t().getColor(e);r(l)}catch{r([255,255,255])}},e.onerror=()=>n(new Error("Failed to load image")),e.src=o})}exports.getDominantColor=i;
2
+ //# sourceMappingURL=image.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.cjs.js","sources":["../../src/utils/image.ts"],"sourcesContent":["import ColorThief from \"colorthief\";\r\nimport type { RGBArray } from \"../design/types\";\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromImage(image));\r\n } else {\r\n return getDominantColorFromImageUrl(image);\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImage(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImageUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n"],"names":["getDominantColor","image","getDominantColorFromImage","getDominantColorFromImageUrl","ColorThief","url","resolve","reject","imgElement","baseColor"],"mappings":"8GAWO,SAASA,EACdC,EACmB,CACnB,OAAIA,aAAiB,iBACZ,QAAQ,QAAQC,EAA0BD,CAAK,CAAC,EAEhDE,EAA6BF,CAAK,CAE7C,CAEA,SAASC,EAA0BD,EAAmC,CAChE,GAAA,CAGK,OAFY,IAAIG,IACM,SAASH,CAAK,CACpC,MACD,CACC,MAAA,CAAC,IAAK,IAAK,GAAG,CACvB,CACF,CAEA,SAASE,EAA6BE,EAAgC,CACpE,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CAChC,MAAAC,EAAa,SAAS,cAAc,KAAK,EAC/CA,EAAW,YAAc,YAEzBA,EAAW,OAAS,IAAM,CACpB,GAAA,CACF,MAAMC,EAAY,IAAIL,EAAW,EAAE,SAASI,CAAU,EACtDF,EAAQG,CAAS,CAAA,MACX,CACNH,EAAQ,CAAC,IAAK,IAAK,GAAG,CAAC,CACzB,CAAA,EAGFE,EAAW,QAAU,IAAMD,EAAO,IAAI,MAAM,sBAAsB,CAAC,EACnEC,EAAW,IAAMH,CAAA,CAClB,CACH"}
@@ -0,0 +1,28 @@
1
+ import t from "colorthief";
2
+ function a(o) {
3
+ return o instanceof HTMLImageElement ? Promise.resolve(c(o)) : i(o);
4
+ }
5
+ function c(o) {
6
+ try {
7
+ return new t().getColor(o);
8
+ } catch {
9
+ return [255, 255, 255];
10
+ }
11
+ }
12
+ function i(o) {
13
+ return new Promise((e, n) => {
14
+ const r = document.createElement("img");
15
+ r.crossOrigin = "anonymous", r.onload = () => {
16
+ try {
17
+ const l = new t().getColor(r);
18
+ e(l);
19
+ } catch {
20
+ e([255, 255, 255]);
21
+ }
22
+ }, r.onerror = () => n(new Error("Failed to load image")), r.src = o;
23
+ });
24
+ }
25
+ export {
26
+ a as getDominantColor
27
+ };
28
+ //# sourceMappingURL=image.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.es.js","sources":["../../src/utils/image.ts"],"sourcesContent":["import ColorThief from \"colorthief\";\r\nimport type { RGBArray } from \"../design/types\";\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromImage(image));\r\n } else {\r\n return getDominantColorFromImageUrl(image);\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImage(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImageUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n"],"names":["getDominantColor","image","getDominantColorFromImage","getDominantColorFromImageUrl","ColorThief","url","resolve","reject","imgElement","baseColor"],"mappings":";AAWO,SAASA,EACdC,GACmB;AACnB,SAAIA,aAAiB,mBACZ,QAAQ,QAAQC,EAA0BD,CAAK,CAAC,IAEhDE,EAA6BF,CAAK;AAE7C;AAEA,SAASC,EAA0BD,GAAmC;AAChE,MAAA;AAGK,WAFY,IAAIG,IACM,SAASH,CAAK;AAAA,EACpC,QACD;AACC,WAAA,CAAC,KAAK,KAAK,GAAG;AAAA,EACvB;AACF;AAEA,SAASE,EAA6BE,GAAgC;AACpE,SAAO,IAAI,QAAQ,CAACC,GAASC,MAAW;AAChC,UAAAC,IAAa,SAAS,cAAc,KAAK;AAC/C,IAAAA,EAAW,cAAc,aAEzBA,EAAW,SAAS,MAAM;AACpB,UAAA;AACF,cAAMC,IAAY,IAAIL,EAAW,EAAE,SAASI,CAAU;AACtD,QAAAF,EAAQG,CAAS;AAAA,MAAA,QACX;AACN,QAAAH,EAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,MACzB;AAAA,IAAA,GAGFE,EAAW,UAAU,MAAMD,EAAO,IAAI,MAAM,sBAAsB,CAAC,GACnEC,EAAW,MAAMH;AAAA,EAAA,CAClB;AACH;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=t=>t.startsWith("http"),r=(t,e)=>{if(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.button&&t.button!==0)return;t.preventDefault();const n=e.startsWith("/")?e:`/${e}`;window.history.pushState({},"",n),window.dispatchEvent(new PopStateEvent("popstate"))};exports.handleInternalNavigation=r;exports.isUrlExternal=a;
2
+ //# sourceMappingURL=navigation.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.cjs.js","sources":["../../src/utils/navigation.ts"],"sourcesContent":["/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["isUrlExternal","url","handleInternalNavigation","e","to","resolvedPath"],"mappings":"gFAGa,MAAAA,EAAiBC,GACrBA,EAAI,WAAW,MAAM,EAcjBC,EAA2B,CACtCC,EACAC,IACG,CAOH,GALID,EAAE,SAAWA,EAAE,QAAUA,EAAE,SAAWA,EAAE,UAKxCA,EAAE,QAAUA,EAAE,SAAW,EAC3B,OAGFA,EAAE,eAAe,EAGjB,MAAME,EAAeD,EAAG,WAAW,GAAG,EAAIA,EAAK,IAAIA,CAAE,GACrD,OAAO,QAAQ,UAAU,CAAC,EAAG,GAAIC,CAAY,EAC7C,OAAO,cAAc,IAAI,cAAc,UAAU,CAAC,CACpD"}
@@ -0,0 +1,12 @@
1
+ const r = (t) => t.startsWith("http"), a = (t, n) => {
2
+ if (t.metaKey || t.altKey || t.ctrlKey || t.shiftKey || t.button && t.button !== 0)
3
+ return;
4
+ t.preventDefault();
5
+ const e = n.startsWith("/") ? n : `/${n}`;
6
+ window.history.pushState({}, "", e), window.dispatchEvent(new PopStateEvent("popstate"));
7
+ };
8
+ export {
9
+ a as handleInternalNavigation,
10
+ r as isUrlExternal
11
+ };
12
+ //# sourceMappingURL=navigation.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.es.js","sources":["../../src/utils/navigation.ts"],"sourcesContent":["/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["isUrlExternal","url","handleInternalNavigation","e","to","resolvedPath"],"mappings":"AAGa,MAAAA,IAAgB,CAACC,MACrBA,EAAI,WAAW,MAAM,GAcjBC,IAA2B,CACtCC,GACAC,MACG;AAOH,MALID,EAAE,WAAWA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAKxCA,EAAE,UAAUA,EAAE,WAAW;AAC3B;AAGF,EAAAA,EAAE,eAAe;AAGjB,QAAME,IAAeD,EAAG,WAAW,GAAG,IAAIA,IAAK,IAAIA,CAAE;AACrD,SAAO,QAAQ,UAAU,CAAC,GAAG,IAAIC,CAAY,GAC7C,OAAO,cAAc,IAAI,cAAc,UAAU,CAAC;AACpD;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../node_modules/color2k/dist/index.exports.import.es.cjs.js"),s=require("./color2k.cjs.js"),G=require("../design/lightTheme/colors.cjs.js"),R=require("../design/darkTheme/colors.cjs.js"),g=i=>{const r=s.arrayToRgbString(i),e=t.getScale("#FFFFFF",r,"#000000"),n=Array.from({length:12},(A,I)=>{const d=e(I/11);return s.desaturate(d,.0085)}),m=n.map(A=>s.saturate(_(A),.005)),L=t.toRgba(s.saturate(t.adjustHue(r,180),1)),o=t.getScale("#FFFFFF",L,"#000000"),c=Array.from({length:12},(A,I)=>{const d=o(I/11);return s.desaturate(d,.1)}),u=c.map(A=>s.desaturate(_(A),.22)),S=D(s.saturate(m[5],.115)),E=s.desaturate(u[4],.02);return{BASE_COLOR:s.arrayToRgbString(i),BRAND:{PRIMARY:S,PRIMARY_LIGHT:a(S,.25,{min:.6,max:.8}),PRIMARY_SUPER_LIGHT:a(S,.15,{min:.8,max:.9}),SECONDARY:E,SECONDARY_LIGHT:a(E,.25,{min:.6,max:.8}),SECONDARY_SUPER_LIGHT:a(E,.15,{min:.8,max:.9})},PRIMARY:{SUPER_DARK:a(l(n[9]),-.6,{min:0,max:.02}),DARK:a(l(n[8]),-.4,{min:.01,max:.02}),MEDIUM:a(m[7],-.2,{min:0,max:.11}),MEDIUM_LIGHT:a(s.desaturate(m[6],.1),.08),LIGHT:a(s.saturate(m[5],.1),.16),LIGHTEST:a(s.saturate(m[3],.2),.12,{min:.5,max:.9}),SUPER_LIGHT:a(m[1],.02,{min:.76,max:.92}),WHITE:a(m[1],.11,{min:.9,max:.98})},SECONDARY:{SUPER_DARK:a(l(c[9]),-.6,{min:0,max:.02}),DARK:a(l(c[8]),-.4,{min:.01,max:.02}),MEDIUM:a(u[7],-.2,{min:0,max:.11}),MEDIUM_LIGHT:a(u[6],.1),LIGHT:a(s.saturate(u[5],.1),.16),LIGHTEST:a(s.saturate(u[3],.2),.12,{min:.5,max:.9}),SUPER_LIGHT:a(u[1],.02,{min:.76,max:.92}),WHITE:a(u[1],.11,{min:.9,max:.98})},GRAYSCALE:{SUPER_DARK:R.DARK_GRAYSCALE.SUPER_DARK,DARK:R.DARK_GRAYSCALE.DARK,MEDIUM:R.DARK_GRAYSCALE.MEDIUM,MEDIUM_LIGHT:R.DARK_GRAYSCALE.MEDIUM_LIGHT,LIGHT:R.DARK_GRAYSCALE.LIGHT,LIGHTEST:R.DARK_GRAYSCALE.LIGHTEST,SUPER_LIGHT:R.DARK_GRAYSCALE.SUPER_LIGHT,WHITE:R.DARK_GRAYSCALE.WHITE}}},a=(i,r,e={min:.03,max:.97})=>{let n=i,m=t.getLuminance(n);if(e.min<0&&(e.min=0),e.max>1&&(e.max=1),e.min>=e.max)throw new Error("Invalid range: min must be less than max");if(r>0){const o=e.max-m;if(o<=0)return t.toRgba(n);const c=r*(o/(1-m));n=t.lighten(n,c)}else if(r<0){const o=m-e.min;if(o<=0)return t.toRgba(n);const c=r*(o/m);n=t.darken(n,Math.abs(c))}const L=t.getLuminance(n);return(L>e.max||L<e.min)&&(n=T(n,e)),t.toRgba(n)},T=(i,r)=>{let e=i,n=t.getLuminance(e);for(;n>r.max;)e=t.darken(e,.05),n=t.getLuminance(e);for(;n<r.min;)e=t.lighten(e,.05),n=t.getLuminance(e);return t.toRgba(e)},l=i=>{for(;t.hasBadContrast(i,"readable",G.LIGHT_GRAYSCALE.DARK);)i=t.lighten(i,.01);return t.toRgba(i)},D=i=>{for(;t.hasBadContrast(G.LIGHT_GRAYSCALE.SUPER_LIGHT,"readable",i);)i=t.darken(i,.01);return t.toRgba(i)},_=i=>{let r=i,e=t.getLuminance(t.toRgba(r)),n=0;const m=6;for(;e<.16&&n<m;)n++,r=t.lighten(r,.1),e=t.getLuminance(t.toRgba(r));for(;e>.6&&n<m;)n++,r=t.darken(r,.1),e=t.getLuminance(t.toRgba(r));return t.toRgba(r)};exports.generatePalette=g;
2
+ //# sourceMappingURL=palette.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.cjs.js","sources":["../../src/utils/palette.ts"],"sourcesContent":["import {\r\n adjustHue,\r\n darken,\r\n getLuminance,\r\n getScale,\r\n hasBadContrast,\r\n lighten,\r\n toRgba,\r\n} from \"color2k\";\r\nimport { ProtonPalette, RGBArray } from \"../design/types\";\r\nimport { arrayToRgbString, desaturate, saturate } from \"./color2k\";\r\nimport { LIGHT_GRAYSCALE } from \"../design/lightTheme/colors\";\r\nimport { DARK_GRAYSCALE } from \"../design/darkTheme/colors\";\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): ProtonPalette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n const brandSecondary = desaturate(adjustedSecondaryScale[4], 0.02);\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(brandPrimary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n SECONDARY: brandSecondary,\r\n SECONDARY_LIGHT: lightenWithinRange(brandSecondary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(brandSecondary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(primaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n //interactive components\r\n MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedPrimaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedPrimaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(secondaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n // interactive components\r\n MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(adjustedSecondaryScale[6], 0.1),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedSecondaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedSecondaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedSecondaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n //TODO: make theme aware grayscale color scale\r\n //Can we remove the basecolor after this?\r\n GRAYSCALE: {\r\n SUPER_DARK: DARK_GRAYSCALE.SUPER_DARK,\r\n DARK: DARK_GRAYSCALE.DARK,\r\n MEDIUM: DARK_GRAYSCALE.MEDIUM,\r\n MEDIUM_LIGHT: DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n LIGHT: DARK_GRAYSCALE.LIGHT,\r\n LIGHTEST: DARK_GRAYSCALE.LIGHTEST,\r\n SUPER_LIGHT: DARK_GRAYSCALE.SUPER_LIGHT,\r\n WHITE: DARK_GRAYSCALE.WHITE,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", LIGHT_GRAYSCALE.DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(LIGHT_GRAYSCALE.SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n"],"names":["generatePalette","baseColor","primaryRgba","arrayToRgbString","primaryScaleFunc","getScale","primaryScale","_","i","color","desaturate","adjustedPrimaryScale","saturate","adjustBrightnessForLuminance","secondaryColor","toRgba","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","brandSecondary","lightenWithinRange","lightenForContrast","DARK_GRAYSCALE","amount","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","LIGHT_GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS"],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import { toRgba as r, adjustHue as F, getLuminance as c, lighten as A, darken as L, hasBadContrast as P, getScale as _ } from "../node_modules/color2k/dist/index.exports.import.es.es.js";
2
+ import { desaturate as u, saturate as E, arrayToRgbString as D } from "./color2k.es.js";
3
+ import { LIGHT_GRAYSCALE as U } from "../design/lightTheme/colors.es.js";
4
+ import { DARK_GRAYSCALE as s } from "../design/darkTheme/colors.es.js";
5
+ const K = (m) => {
6
+ const e = D(m), n = _("#FFFFFF", e, "#000000"), t = Array.from({ length: 12 }, (l, x) => {
7
+ const G = n(x / 11);
8
+ return u(G, 85e-4);
9
+ }), i = t.map(
10
+ (l) => E(h(l), 5e-3)
11
+ ), S = r(E(F(e, 180), 1)), o = _("#FFFFFF", S, "#000000"), R = Array.from({ length: 12 }, (l, x) => {
12
+ const G = o(x / 11);
13
+ return u(G, 0.1);
14
+ }), I = R.map(
15
+ (l) => u(h(l), 0.22)
16
+ ), d = f(
17
+ E(i[5], 0.115)
18
+ ), H = u(I[4], 0.02);
19
+ return {
20
+ BASE_COLOR: D(m),
21
+ BRAND: {
22
+ PRIMARY: d,
23
+ PRIMARY_LIGHT: a(d, 0.25, {
24
+ min: 0.6,
25
+ max: 0.8
26
+ }),
27
+ PRIMARY_SUPER_LIGHT: a(d, 0.15, {
28
+ min: 0.8,
29
+ max: 0.9
30
+ }),
31
+ SECONDARY: H,
32
+ SECONDARY_LIGHT: a(H, 0.25, {
33
+ min: 0.6,
34
+ max: 0.8
35
+ }),
36
+ SECONDARY_SUPER_LIGHT: a(H, 0.15, {
37
+ min: 0.8,
38
+ max: 0.9
39
+ })
40
+ },
41
+ PRIMARY: {
42
+ //backgrounds
43
+ SUPER_DARK: a(
44
+ T(t[9]),
45
+ -0.6,
46
+ {
47
+ min: 0,
48
+ max: 0.02
49
+ }
50
+ ),
51
+ DARK: a(T(t[8]), -0.4, {
52
+ min: 0.01,
53
+ max: 0.02
54
+ }),
55
+ //interactive components
56
+ MEDIUM: a(i[7], -0.2, {
57
+ min: 0,
58
+ max: 0.11
59
+ }),
60
+ //borders and seperators
61
+ MEDIUM_LIGHT: a(
62
+ u(i[6], 0.1),
63
+ 0.08
64
+ ),
65
+ //solid colors
66
+ LIGHT: a(E(i[5], 0.1), 0.16),
67
+ //accessible text
68
+ LIGHTEST: a(
69
+ E(i[3], 0.2),
70
+ 0.12,
71
+ {
72
+ min: 0.5,
73
+ max: 0.9
74
+ }
75
+ ),
76
+ SUPER_LIGHT: a(i[1], 0.02, {
77
+ min: 0.76,
78
+ max: 0.92
79
+ }),
80
+ WHITE: a(i[1], 0.11, {
81
+ min: 0.9,
82
+ max: 0.98
83
+ })
84
+ },
85
+ SECONDARY: {
86
+ //backgrounds
87
+ SUPER_DARK: a(
88
+ T(R[9]),
89
+ -0.6,
90
+ {
91
+ min: 0,
92
+ max: 0.02
93
+ }
94
+ ),
95
+ DARK: a(T(R[8]), -0.4, {
96
+ min: 0.01,
97
+ max: 0.02
98
+ }),
99
+ // interactive components
100
+ MEDIUM: a(I[7], -0.2, {
101
+ min: 0,
102
+ max: 0.11
103
+ }),
104
+ //borders and seperators
105
+ MEDIUM_LIGHT: a(I[6], 0.1),
106
+ //solid colors
107
+ LIGHT: a(E(I[5], 0.1), 0.16),
108
+ //accessible text
109
+ LIGHTEST: a(
110
+ E(I[3], 0.2),
111
+ 0.12,
112
+ {
113
+ min: 0.5,
114
+ max: 0.9
115
+ }
116
+ ),
117
+ SUPER_LIGHT: a(I[1], 0.02, {
118
+ min: 0.76,
119
+ max: 0.92
120
+ }),
121
+ WHITE: a(I[1], 0.11, {
122
+ min: 0.9,
123
+ max: 0.98
124
+ })
125
+ },
126
+ //TODO: make theme aware grayscale color scale
127
+ //Can we remove the basecolor after this?
128
+ GRAYSCALE: {
129
+ SUPER_DARK: s.SUPER_DARK,
130
+ DARK: s.DARK,
131
+ MEDIUM: s.MEDIUM,
132
+ MEDIUM_LIGHT: s.MEDIUM_LIGHT,
133
+ LIGHT: s.LIGHT,
134
+ LIGHTEST: s.LIGHTEST,
135
+ SUPER_LIGHT: s.SUPER_LIGHT,
136
+ WHITE: s.WHITE
137
+ }
138
+ };
139
+ }, a = (m, e, n = { min: 0.03, max: 0.97 }) => {
140
+ let t = m, i = c(t);
141
+ if (n.min < 0 && (n.min = 0), n.max > 1 && (n.max = 1), n.min >= n.max)
142
+ throw new Error("Invalid range: min must be less than max");
143
+ if (e > 0) {
144
+ const o = n.max - i;
145
+ if (o <= 0) return r(t);
146
+ const R = e * (o / (1 - i));
147
+ t = A(t, R);
148
+ } else if (e < 0) {
149
+ const o = i - n.min;
150
+ if (o <= 0) return r(t);
151
+ const R = e * (o / i);
152
+ t = L(t, Math.abs(R));
153
+ }
154
+ const S = c(t);
155
+ return (S > n.max || S < n.min) && (t = M(t, n)), r(t);
156
+ }, M = (m, e) => {
157
+ let n = m, t = c(n);
158
+ for (; t > e.max; )
159
+ n = L(n, 0.05), t = c(n);
160
+ for (; t < e.min; )
161
+ n = A(n, 0.05), t = c(n);
162
+ return r(n);
163
+ }, T = (m) => {
164
+ for (; P(m, "readable", U.DARK); )
165
+ m = A(m, 0.01);
166
+ return r(m);
167
+ }, f = (m) => {
168
+ for (; P(U.SUPER_LIGHT, "readable", m); )
169
+ m = L(m, 0.01);
170
+ return r(m);
171
+ }, h = (m) => {
172
+ let e = m, n = c(r(e)), t = 0;
173
+ const i = 6;
174
+ for (; n < 0.16 && t < i; )
175
+ t++, e = A(e, 0.1), n = c(r(e));
176
+ for (; n > 0.6 && t < i; )
177
+ t++, e = L(e, 0.1), n = c(r(e));
178
+ return r(e);
179
+ };
180
+ export {
181
+ K as generatePalette
182
+ };
183
+ //# sourceMappingURL=palette.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.es.js","sources":["../../src/utils/palette.ts"],"sourcesContent":["import {\r\n adjustHue,\r\n darken,\r\n getLuminance,\r\n getScale,\r\n hasBadContrast,\r\n lighten,\r\n toRgba,\r\n} from \"color2k\";\r\nimport { ProtonPalette, RGBArray } from \"../design/types\";\r\nimport { arrayToRgbString, desaturate, saturate } from \"./color2k\";\r\nimport { LIGHT_GRAYSCALE } from \"../design/lightTheme/colors\";\r\nimport { DARK_GRAYSCALE } from \"../design/darkTheme/colors\";\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): ProtonPalette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n const brandSecondary = desaturate(adjustedSecondaryScale[4], 0.02);\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(brandPrimary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n SECONDARY: brandSecondary,\r\n SECONDARY_LIGHT: lightenWithinRange(brandSecondary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(brandSecondary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(primaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n //interactive components\r\n MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedPrimaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedPrimaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n DARK: lightenWithinRange(lightenForContrast(secondaryScale[8]), -0.4, {\r\n min: 0.01,\r\n max: 0.02,\r\n }),\r\n // interactive components\r\n MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n MEDIUM_LIGHT: lightenWithinRange(adjustedSecondaryScale[6], 0.1),\r\n //solid colors\r\n LIGHT: lightenWithinRange(saturate(adjustedSecondaryScale[5], 0.1), 0.16),\r\n //accessible text\r\n LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SUPER_LIGHT: lightenWithinRange(adjustedSecondaryScale[1], 0.02, {\r\n min: 0.76,\r\n max: 0.92,\r\n }),\r\n WHITE: lightenWithinRange(adjustedSecondaryScale[1], 0.11, {\r\n min: 0.9,\r\n max: 0.98,\r\n }),\r\n },\r\n //TODO: make theme aware grayscale color scale\r\n //Can we remove the basecolor after this?\r\n GRAYSCALE: {\r\n SUPER_DARK: DARK_GRAYSCALE.SUPER_DARK,\r\n DARK: DARK_GRAYSCALE.DARK,\r\n MEDIUM: DARK_GRAYSCALE.MEDIUM,\r\n MEDIUM_LIGHT: DARK_GRAYSCALE.MEDIUM_LIGHT,\r\n LIGHT: DARK_GRAYSCALE.LIGHT,\r\n LIGHTEST: DARK_GRAYSCALE.LIGHTEST,\r\n SUPER_LIGHT: DARK_GRAYSCALE.SUPER_LIGHT,\r\n WHITE: DARK_GRAYSCALE.WHITE,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", LIGHT_GRAYSCALE.DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(LIGHT_GRAYSCALE.SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n"],"names":["generatePalette","baseColor","primaryRgba","arrayToRgbString","primaryScaleFunc","getScale","primaryScale","_","i","color","desaturate","adjustedPrimaryScale","saturate","adjustBrightnessForLuminance","secondaryColor","toRgba","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","brandSecondary","lightenWithinRange","lightenForContrast","DARK_GRAYSCALE","amount","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","LIGHT_GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function n(...t){return t.filter(e).join(" ")}const e=t=>typeof t=="string"||t instanceof String;exports.csx=n;
2
+ //# sourceMappingURL=string.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.cjs.js","sources":["../../src/utils/string.ts"],"sourcesContent":["/**\r\n * Concatenates class names into a single string, filtering out non-string values.\r\n */\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\nconst isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n"],"names":["csx","classnames","isString","x"],"mappings":"gFAGO,SAASA,KAAOC,EAA+B,CACpD,OAAOA,EAAW,OAAOC,CAAQ,EAAE,KAAK,GAAG,CAC7C,CAEA,MAAMA,EAAYC,GAChB,OAAOA,GAAM,UAAYA,aAAa"}
@@ -0,0 +1,8 @@
1
+ function i(...n) {
2
+ return n.filter(t).join(" ");
3
+ }
4
+ const t = (n) => typeof n == "string" || n instanceof String;
5
+ export {
6
+ i as csx
7
+ };
8
+ //# sourceMappingURL=string.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.es.js","sources":["../../src/utils/string.ts"],"sourcesContent":["/**\r\n * Concatenates class names into a single string, filtering out non-string values.\r\n */\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\nconst isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n"],"names":["csx","classnames","isString","x"],"mappings":"AAGO,SAASA,KAAOC,GAA+B;AACpD,SAAOA,EAAW,OAAOC,CAAQ,EAAE,KAAK,GAAG;AAC7C;AAEA,MAAMA,IAAW,CAACC,MAChB,OAAOA,KAAM,YAAYA,aAAa;"}
package/dist/utils.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./color2k-DCgwXUem.js"),t=require("./navigation-BB0MBIiR.js"),a=require("./image-CUSfY1_T.js");exports.arrayToRgbString=e.arrayToRgbString;exports.darken=e.darken;exports.desaturate=e.desaturate;exports.lighten=e.lighten;exports.saturate=e.saturate;exports.toHex=e.toHex;exports.toRgba=e.toRgba;exports.transparentize=e.transparentize;exports.copyTextToClipboard=t.copyTextToClipboard;exports.csx=t.csx;exports.handleInternalNavigation=t.handleInternalNavigation;exports.isUrlExternal=t.isUrlExternal;exports.generatePalette=a.generatePalette;exports.getDominantColor=a.getDominantColor;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/color2k.cjs.js"),a=require("./utils/string.cjs.js"),n=require("./utils/palette.cjs.js"),o=require("./utils/copy.cjs.js"),i=require("./utils/image.cjs.js"),r=require("./utils/navigation.cjs.js"),t=require("./node_modules/color2k/dist/index.exports.import.es.cjs.js");exports.arrayToRgbString=e.arrayToRgbString;exports.desaturate=e.desaturate;exports.saturate=e.saturate;exports.transparentize=e.transparentize;exports.csx=a.csx;exports.generatePalette=n.generatePalette;exports.copyTextToClipboard=o.copyTextToClipboard;exports.getDominantColor=i.getDominantColor;exports.handleInternalNavigation=r.handleInternalNavigation;exports.isUrlExternal=r.isUrlExternal;exports.darken=t.darken;exports.lighten=t.lighten;exports.toHex=t.toHex;exports.toRgba=t.toRgba;
2
2
  //# sourceMappingURL=utils.cjs.js.map
package/dist/utils.es.js CHANGED
@@ -1,20 +1,24 @@
1
- import { a as e, b as r, d as s, l as o, s as n, c as i, e as l, t as g } from "./color2k-CpDB_dpw.mjs";
2
- import { a as p, c as d, h as b, i as c } from "./navigation-Bj7Pex9j.mjs";
3
- import { g as f, a as h } from "./image-DFyN0Kd9.mjs";
1
+ import { arrayToRgbString as e, desaturate as o, saturate as a, transparentize as n } from "./utils/color2k.es.js";
2
+ import { csx as p } from "./utils/string.es.js";
3
+ import { generatePalette as l } from "./utils/palette.es.js";
4
+ import { copyTextToClipboard as f } from "./utils/copy.es.js";
5
+ import { getDominantColor as s } from "./utils/image.es.js";
6
+ import { handleInternalNavigation as b, isUrlExternal as T } from "./utils/navigation.es.js";
7
+ import { darken as h, lighten as u, toHex as y, toRgba as C } from "./node_modules/color2k/dist/index.exports.import.es.es.js";
4
8
  export {
5
9
  e as arrayToRgbString,
6
- p as copyTextToClipboard,
7
- d as csx,
8
- r as darken,
9
- s as desaturate,
10
- f as generatePalette,
11
- h as getDominantColor,
10
+ f as copyTextToClipboard,
11
+ p as csx,
12
+ h as darken,
13
+ o as desaturate,
14
+ l as generatePalette,
15
+ s as getDominantColor,
12
16
  b as handleInternalNavigation,
13
- c as isUrlExternal,
14
- o as lighten,
15
- n as saturate,
16
- i as toHex,
17
- l as toRgba,
18
- g as transparentize
17
+ T as isUrlExternal,
18
+ u as lighten,
19
+ a as saturate,
20
+ y as toHex,
21
+ C as toRgba,
22
+ n as transparentize
19
23
  };
20
24
  //# sourceMappingURL=utils.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"utils.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}