@protonradio/proton-ui 0.11.7 → 0.11.8

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 (484) hide show
  1. package/dist/{constants/breakpoint.es.js → breakpoint-9y1_8U_b.mjs} +2 -2
  2. package/dist/breakpoint-9y1_8U_b.mjs.map +1 -0
  3. package/dist/breakpoint-DtqbboOa.js +2 -0
  4. package/dist/breakpoint-DtqbboOa.js.map +1 -0
  5. package/dist/color2k-CpDB_dpw.mjs +168 -0
  6. package/dist/color2k-CpDB_dpw.mjs.map +1 -0
  7. package/dist/color2k-DCgwXUem.js +2 -0
  8. package/dist/color2k-DCgwXUem.js.map +1 -0
  9. package/dist/{design/colors.es.js → colors-CWaj9dFz.mjs} +7 -7
  10. package/dist/colors-CWaj9dFz.mjs.map +1 -0
  11. package/dist/colors-CebzFjpe.js +2 -0
  12. package/dist/{design/darkTheme/colors.es.js.map → colors-CebzFjpe.js.map} +1 -1
  13. package/dist/{design/darkTheme/colors.es.js → colors-Ceyo4oCJ.mjs} +13 -13
  14. package/dist/{design/darkTheme/colors.cjs.js.map → colors-Ceyo4oCJ.mjs.map} +1 -1
  15. package/dist/colors-CmSJBHaf.js +2 -0
  16. package/dist/colors-CmSJBHaf.js.map +1 -0
  17. package/dist/colors-DL1dYffC.js +2 -0
  18. package/dist/{design/lightTheme/colors.es.js.map → colors-DL1dYffC.js.map} +1 -1
  19. package/dist/{design/lightTheme/colors.es.js → colors-DMkDnu4U.mjs} +11 -11
  20. package/dist/{design/lightTheme/colors.cjs.js.map → colors-DMkDnu4U.mjs.map} +1 -1
  21. package/dist/constants.cjs.js +1 -1
  22. package/dist/constants.cjs.js.map +1 -1
  23. package/dist/constants.es.js +26 -3
  24. package/dist/constants.es.js.map +1 -1
  25. package/dist/dark.cjs.js +1 -1
  26. package/dist/dark.cjs.js.map +1 -1
  27. package/dist/dark.es.js +55 -8
  28. package/dist/dark.es.js.map +1 -1
  29. package/dist/hooks.cjs.js +1 -1
  30. package/dist/hooks.cjs.js.map +1 -1
  31. package/dist/hooks.es.js +37 -8
  32. package/dist/hooks.es.js.map +1 -1
  33. package/dist/image-CUSfY1_T.js +2 -0
  34. package/dist/image-CUSfY1_T.js.map +1 -0
  35. package/dist/image-DFyN0Kd9.mjs +207 -0
  36. package/dist/image-DFyN0Kd9.mjs.map +1 -0
  37. package/dist/index.cjs.js +30 -1
  38. package/dist/index.cjs.js.map +1 -1
  39. package/dist/index.es.js +5340 -60
  40. package/dist/index.es.js.map +1 -1
  41. package/dist/light.cjs.js +1 -1
  42. package/dist/light.cjs.js.map +1 -1
  43. package/dist/light.es.js +55 -8
  44. package/dist/light.es.js.map +1 -1
  45. package/dist/navigation-BB0MBIiR.js +2 -0
  46. package/dist/navigation-BB0MBIiR.js.map +1 -0
  47. package/dist/navigation-Bj7Pex9j.mjs +43 -0
  48. package/dist/navigation-Bj7Pex9j.mjs.map +1 -0
  49. package/dist/theme.cjs.js +1 -1
  50. package/dist/theme.cjs.js.map +1 -1
  51. package/dist/theme.es.js +15 -9
  52. package/dist/theme.es.js.map +1 -1
  53. package/dist/useBreakpoint-CjRyGKN-.mjs +53 -0
  54. package/dist/useBreakpoint-CjRyGKN-.mjs.map +1 -0
  55. package/dist/useBreakpoint-DA-JqOu3.js +2 -0
  56. package/dist/useBreakpoint-DA-JqOu3.js.map +1 -0
  57. package/dist/utils.cjs.js +1 -1
  58. package/dist/utils.es.js +15 -19
  59. package/dist/utils.es.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/_virtual/jsx-runtime.cjs.js +0 -2
  62. package/dist/_virtual/jsx-runtime.cjs.js.map +0 -1
  63. package/dist/_virtual/jsx-runtime.es.js +0 -5
  64. package/dist/_virtual/jsx-runtime.es.js.map +0 -1
  65. package/dist/_virtual/react-jsx-runtime.development.cjs.js +0 -2
  66. package/dist/_virtual/react-jsx-runtime.development.cjs.js.map +0 -1
  67. package/dist/_virtual/react-jsx-runtime.development.es.js +0 -5
  68. package/dist/_virtual/react-jsx-runtime.development.es.js.map +0 -1
  69. package/dist/_virtual/react-jsx-runtime.production.min.cjs.js +0 -2
  70. package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +0 -1
  71. package/dist/_virtual/react-jsx-runtime.production.min.es.js +0 -5
  72. package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +0 -1
  73. package/dist/assets/svg/icons.svg.cjs.js +0 -2
  74. package/dist/assets/svg/icons.svg.cjs.js.map +0 -1
  75. package/dist/assets/svg/icons.svg.es.js +0 -5
  76. package/dist/assets/svg/icons.svg.es.js.map +0 -1
  77. package/dist/components/ActionMenu/ActionMenu.cjs.js +0 -2
  78. package/dist/components/ActionMenu/ActionMenu.cjs.js.map +0 -1
  79. package/dist/components/ActionMenu/ActionMenu.es.js +0 -262
  80. package/dist/components/ActionMenu/ActionMenu.es.js.map +0 -1
  81. package/dist/components/Badge/Badge.cjs.js +0 -2
  82. package/dist/components/Badge/Badge.cjs.js.map +0 -1
  83. package/dist/components/Badge/Badge.es.js +0 -25
  84. package/dist/components/Badge/Badge.es.js.map +0 -1
  85. package/dist/components/Banner/Banner.cjs.js +0 -2
  86. package/dist/components/Banner/Banner.cjs.js.map +0 -1
  87. package/dist/components/Banner/Banner.es.js +0 -131
  88. package/dist/components/Banner/Banner.es.js.map +0 -1
  89. package/dist/components/Button/Button.cjs.js +0 -2
  90. package/dist/components/Button/Button.cjs.js.map +0 -1
  91. package/dist/components/Button/Button.es.js +0 -99
  92. package/dist/components/Button/Button.es.js.map +0 -1
  93. package/dist/components/ButtonGroup/ButtonGroup.cjs.js +0 -2
  94. package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +0 -1
  95. package/dist/components/ButtonGroup/ButtonGroup.es.js +0 -51
  96. package/dist/components/ButtonGroup/ButtonGroup.es.js.map +0 -1
  97. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +0 -2
  98. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +0 -1
  99. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +0 -80
  100. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +0 -1
  101. package/dist/components/DataTable/DataTable.cjs.js +0 -2
  102. package/dist/components/DataTable/DataTable.cjs.js.map +0 -1
  103. package/dist/components/DataTable/DataTable.es.js +0 -137
  104. package/dist/components/DataTable/DataTable.es.js.map +0 -1
  105. package/dist/components/Dialog/Dialog.cjs.js +0 -2
  106. package/dist/components/Dialog/Dialog.cjs.js.map +0 -1
  107. package/dist/components/Dialog/Dialog.es.js +0 -15
  108. package/dist/components/Dialog/Dialog.es.js.map +0 -1
  109. package/dist/components/Elevation/Elevation.cjs.js +0 -2
  110. package/dist/components/Elevation/Elevation.cjs.js.map +0 -1
  111. package/dist/components/Elevation/Elevation.es.js +0 -33
  112. package/dist/components/Elevation/Elevation.es.js.map +0 -1
  113. package/dist/components/Icon/Icon.cjs.js +0 -2
  114. package/dist/components/Icon/Icon.cjs.js.map +0 -1
  115. package/dist/components/Icon/Icon.es.js +0 -42
  116. package/dist/components/Icon/Icon.es.js.map +0 -1
  117. package/dist/components/ImageBackground/ImageBackground.cjs.js +0 -2
  118. package/dist/components/ImageBackground/ImageBackground.cjs.js.map +0 -1
  119. package/dist/components/ImageBackground/ImageBackground.es.js +0 -55
  120. package/dist/components/ImageBackground/ImageBackground.es.js.map +0 -1
  121. package/dist/components/Input/BaseInput/Input.cjs.js +0 -2
  122. package/dist/components/Input/BaseInput/Input.cjs.js.map +0 -1
  123. package/dist/components/Input/BaseInput/Input.es.js +0 -182
  124. package/dist/components/Input/BaseInput/Input.es.js.map +0 -1
  125. package/dist/components/Input/CopyInput/CopyInput.cjs.js +0 -2
  126. package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +0 -1
  127. package/dist/components/Input/CopyInput/CopyInput.es.js +0 -83
  128. package/dist/components/Input/CopyInput/CopyInput.es.js.map +0 -1
  129. package/dist/components/Input/SearchInput/SearchInput.cjs.js +0 -2
  130. package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +0 -1
  131. package/dist/components/Input/SearchInput/SearchInput.es.js +0 -118
  132. package/dist/components/Input/SearchInput/SearchInput.es.js.map +0 -1
  133. package/dist/components/Menu/MenuTrigger.cjs.js +0 -2
  134. package/dist/components/Menu/MenuTrigger.cjs.js.map +0 -1
  135. package/dist/components/Menu/MenuTrigger.es.js +0 -89
  136. package/dist/components/Menu/MenuTrigger.es.js.map +0 -1
  137. package/dist/components/Menu/PopoverMenu.cjs.js +0 -2
  138. package/dist/components/Menu/PopoverMenu.cjs.js.map +0 -1
  139. package/dist/components/Menu/PopoverMenu.es.js +0 -122
  140. package/dist/components/Menu/PopoverMenu.es.js.map +0 -1
  141. package/dist/components/Modal/Modal.cjs.js +0 -2
  142. package/dist/components/Modal/Modal.cjs.js.map +0 -1
  143. package/dist/components/Modal/Modal.es.js +0 -122
  144. package/dist/components/Modal/Modal.es.js.map +0 -1
  145. package/dist/components/Popover/Popover.cjs.js +0 -2
  146. package/dist/components/Popover/Popover.cjs.js.map +0 -1
  147. package/dist/components/Popover/Popover.es.js +0 -54
  148. package/dist/components/Popover/Popover.es.js.map +0 -1
  149. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +0 -2
  150. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +0 -1
  151. package/dist/components/ScreenOverlay/ScreenOverlay.es.js +0 -44
  152. package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +0 -1
  153. package/dist/components/Select/Select.cjs.js +0 -2
  154. package/dist/components/Select/Select.cjs.js.map +0 -1
  155. package/dist/components/Select/Select.es.js +0 -224
  156. package/dist/components/Select/Select.es.js.map +0 -1
  157. package/dist/components/Switch/Switch.cjs.js +0 -2
  158. package/dist/components/Switch/Switch.cjs.js.map +0 -1
  159. package/dist/components/Switch/Switch.es.js +0 -40
  160. package/dist/components/Switch/Switch.es.js.map +0 -1
  161. package/dist/components/Table/Collection/CompoundComponents.cjs.js +0 -2
  162. package/dist/components/Table/Collection/CompoundComponents.cjs.js.map +0 -1
  163. package/dist/components/Table/Collection/CompoundComponents.es.js +0 -9
  164. package/dist/components/Table/Collection/CompoundComponents.es.js.map +0 -1
  165. package/dist/components/Table/Collection/collectionParser.cjs.js +0 -2
  166. package/dist/components/Table/Collection/collectionParser.cjs.js.map +0 -1
  167. package/dist/components/Table/Collection/collectionParser.es.js +0 -54
  168. package/dist/components/Table/Collection/collectionParser.es.js.map +0 -1
  169. package/dist/components/Table/Collection/useTableCollection.cjs.js +0 -2
  170. package/dist/components/Table/Collection/useTableCollection.cjs.js.map +0 -1
  171. package/dist/components/Table/Collection/useTableCollection.es.js +0 -59
  172. package/dist/components/Table/Collection/useTableCollection.es.js.map +0 -1
  173. package/dist/components/Table/Table.cjs.js +0 -2
  174. package/dist/components/Table/Table.cjs.js.map +0 -1
  175. package/dist/components/Table/Table.es.js +0 -89
  176. package/dist/components/Table/Table.es.js.map +0 -1
  177. package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js +0 -2
  178. package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +0 -1
  179. package/dist/components/Text/TextEllipsis/TextEllipsis.es.js +0 -30
  180. package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +0 -1
  181. package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js +0 -2
  182. package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +0 -1
  183. package/dist/components/Text/TextEmphasis/TextEmphasis.es.js +0 -54
  184. package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +0 -1
  185. package/dist/components/ThemeProvider.cjs.js +0 -2
  186. package/dist/components/ThemeProvider.cjs.js.map +0 -1
  187. package/dist/components/ThemeProvider.es.js +0 -43
  188. package/dist/components/ThemeProvider.es.js.map +0 -1
  189. package/dist/components/Tombstone/Tombstone.cjs.js +0 -2
  190. package/dist/components/Tombstone/Tombstone.cjs.js.map +0 -1
  191. package/dist/components/Tombstone/Tombstone.es.js +0 -35
  192. package/dist/components/Tombstone/Tombstone.es.js.map +0 -1
  193. package/dist/components/Tooltip/Tooltip.cjs.js +0 -2
  194. package/dist/components/Tooltip/Tooltip.cjs.js.map +0 -1
  195. package/dist/components/Tooltip/Tooltip.es.js +0 -78
  196. package/dist/components/Tooltip/Tooltip.es.js.map +0 -1
  197. package/dist/components/Waveform/Waveform.cjs.js +0 -2
  198. package/dist/components/Waveform/Waveform.cjs.js.map +0 -1
  199. package/dist/components/Waveform/Waveform.es.js +0 -163
  200. package/dist/components/Waveform/Waveform.es.js.map +0 -1
  201. package/dist/components/Waveform/WaveformBar.cjs.js +0 -2
  202. package/dist/components/Waveform/WaveformBar.cjs.js.map +0 -1
  203. package/dist/components/Waveform/WaveformBar.es.js +0 -74
  204. package/dist/components/Waveform/WaveformBar.es.js.map +0 -1
  205. package/dist/constants/breakpoint.cjs.js +0 -2
  206. package/dist/constants/breakpoint.cjs.js.map +0 -1
  207. package/dist/constants/breakpoint.es.js.map +0 -1
  208. package/dist/constants/placement.cjs.js +0 -2
  209. package/dist/constants/placement.cjs.js.map +0 -1
  210. package/dist/constants/placement.es.js +0 -28
  211. package/dist/constants/placement.es.js.map +0 -1
  212. package/dist/design/colors.cjs.js +0 -2
  213. package/dist/design/colors.cjs.js.map +0 -1
  214. package/dist/design/colors.es.js.map +0 -1
  215. package/dist/design/darkTheme/colors.cjs.js +0 -2
  216. package/dist/design/darkTheme/stylesheet.cjs.js +0 -2
  217. package/dist/design/darkTheme/stylesheet.cjs.js.map +0 -1
  218. package/dist/design/darkTheme/stylesheet.es.js +0 -52
  219. package/dist/design/darkTheme/stylesheet.es.js.map +0 -1
  220. package/dist/design/generateStylesheet.cjs.js +0 -2
  221. package/dist/design/generateStylesheet.cjs.js.map +0 -1
  222. package/dist/design/generateStylesheet.es.js +0 -26
  223. package/dist/design/generateStylesheet.es.js.map +0 -1
  224. package/dist/design/lightTheme/colors.cjs.js +0 -2
  225. package/dist/design/lightTheme/stylesheet.cjs.js +0 -2
  226. package/dist/design/lightTheme/stylesheet.cjs.js.map +0 -1
  227. package/dist/design/lightTheme/stylesheet.es.js +0 -52
  228. package/dist/design/lightTheme/stylesheet.es.js.map +0 -1
  229. package/dist/design/theme.cjs.js +0 -2
  230. package/dist/design/theme.cjs.js.map +0 -1
  231. package/dist/design/theme.es.js +0 -12
  232. package/dist/design/theme.es.js.map +0 -1
  233. package/dist/hooks/useBreakpoint.cjs.js +0 -2
  234. package/dist/hooks/useBreakpoint.cjs.js.map +0 -1
  235. package/dist/hooks/useBreakpoint.es.js +0 -17
  236. package/dist/hooks/useBreakpoint.es.js.map +0 -1
  237. package/dist/hooks/useIsClosing.cjs.js +0 -2
  238. package/dist/hooks/useIsClosing.cjs.js.map +0 -1
  239. package/dist/hooks/useIsClosing.es.js +0 -30
  240. package/dist/hooks/useIsClosing.es.js.map +0 -1
  241. package/dist/hooks/useLockBodyScroll.cjs.js +0 -2
  242. package/dist/hooks/useLockBodyScroll.cjs.js.map +0 -1
  243. package/dist/hooks/useLockBodyScroll.es.js +0 -14
  244. package/dist/hooks/useLockBodyScroll.es.js.map +0 -1
  245. package/dist/hooks/usePalette.cjs.js +0 -2
  246. package/dist/hooks/usePalette.cjs.js.map +0 -1
  247. package/dist/hooks/usePalette.es.js +0 -37
  248. package/dist/hooks/usePalette.es.js.map +0 -1
  249. package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js +0 -2
  250. package/dist/node_modules/@react-aria/button/dist/useButton.cjs.js.map +0 -1
  251. package/dist/node_modules/@react-aria/button/dist/useButton.es.js +0 -47
  252. package/dist/node_modules/@react-aria/button/dist/useButton.es.js.map +0 -1
  253. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +0 -2
  254. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +0 -1
  255. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +0 -44
  256. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +0 -1
  257. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +0 -2
  258. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +0 -1
  259. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +0 -423
  260. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +0 -1
  261. package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js +0 -2
  262. package/dist/node_modules/@react-aria/focus/dist/isElementVisible.cjs.js.map +0 -1
  263. package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js +0 -23
  264. package/dist/node_modules/@react-aria/focus/dist/isElementVisible.es.js.map +0 -1
  265. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +0 -2
  266. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +0 -1
  267. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +0 -76
  268. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +0 -1
  269. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +0 -2
  270. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +0 -1
  271. package/dist/node_modules/@react-aria/i18n/dist/context.es.js +0 -11
  272. package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +0 -1
  273. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +0 -2
  274. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +0 -1
  275. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +0 -30
  276. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +0 -1
  277. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +0 -2
  278. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +0 -1
  279. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +0 -45
  280. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +0 -1
  281. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +0 -2
  282. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +0 -1
  283. package/dist/node_modules/@react-aria/interactions/dist/context.es.js +0 -10
  284. package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +0 -1
  285. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +0 -2
  286. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +0 -1
  287. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +0 -29
  288. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +0 -1
  289. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +0 -2
  290. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +0 -1
  291. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +0 -15
  292. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +0 -1
  293. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +0 -2
  294. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +0 -1
  295. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +0 -35
  296. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +0 -1
  297. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +0 -2
  298. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +0 -1
  299. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +0 -30
  300. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +0 -1
  301. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +0 -2
  302. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +0 -1
  303. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +0 -63
  304. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +0 -1
  305. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +0 -2
  306. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +0 -1
  307. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +0 -56
  308. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +0 -1
  309. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +0 -2
  310. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +0 -1
  311. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +0 -42
  312. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +0 -1
  313. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js +0 -2
  314. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.cjs.js.map +0 -1
  315. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js +0 -51
  316. package/dist/node_modules/@react-aria/interactions/dist/useInteractOutside.es.js.map +0 -1
  317. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +0 -2
  318. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +0 -1
  319. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +0 -13
  320. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +0 -1
  321. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +0 -2
  322. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +0 -1
  323. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +0 -375
  324. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +0 -1
  325. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +0 -2
  326. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +0 -1
  327. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +0 -92
  328. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +0 -1
  329. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +0 -2
  330. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +0 -1
  331. package/dist/node_modules/@react-aria/label/dist/useField.es.js +0 -36
  332. package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +0 -1
  333. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +0 -2
  334. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +0 -1
  335. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +0 -23
  336. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +0 -1
  337. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +0 -2
  338. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +0 -1
  339. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +0 -16
  340. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +0 -1
  341. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js +0 -2
  342. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.cjs.js.map +0 -1
  343. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js +0 -64
  344. package/dist/node_modules/@react-aria/overlays/dist/ariaHideOutside.es.js.map +0 -1
  345. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js +0 -2
  346. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.cjs.js.map +0 -1
  347. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js +0 -30
  348. package/dist/node_modules/@react-aria/overlays/dist/useModalOverlay.es.js.map +0 -1
  349. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js +0 -2
  350. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.cjs.js.map +0 -1
  351. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js +0 -53
  352. package/dist/node_modules/@react-aria/overlays/dist/useOverlay.es.js.map +0 -1
  353. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js +0 -2
  354. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs.js.map +0 -1
  355. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js +0 -98
  356. package/dist/node_modules/@react-aria/overlays/dist/usePreventScroll.es.js.map +0 -1
  357. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +0 -2
  358. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +0 -1
  359. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +0 -58
  360. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +0 -1
  361. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +0 -2
  362. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +0 -1
  363. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +0 -78
  364. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +0 -1
  365. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +0 -2
  366. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +0 -1
  367. package/dist/node_modules/@react-aria/radio/dist/utils.es.js +0 -5
  368. package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +0 -1
  369. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +0 -2
  370. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +0 -1
  371. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +0 -19
  372. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +0 -1
  373. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +0 -2
  374. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +0 -1
  375. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +0 -20
  376. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +0 -1
  377. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +0 -2
  378. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +0 -1
  379. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +0 -48
  380. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +0 -1
  381. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +0 -2
  382. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +0 -1
  383. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +0 -41
  384. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +0 -1
  385. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +0 -2
  386. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +0 -1
  387. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +0 -110
  388. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +0 -1
  389. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js +0 -2
  390. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.cjs.js.map +0 -1
  391. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js +0 -30
  392. package/dist/node_modules/@react-stately/overlays/dist/useOverlayTriggerState.es.js.map +0 -1
  393. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +0 -2
  394. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +0 -1
  395. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +0 -33
  396. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +0 -1
  397. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +0 -2
  398. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +0 -1
  399. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +0 -19
  400. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +0 -1
  401. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +0 -2
  402. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +0 -1
  403. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +0 -31
  404. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +0 -1
  405. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +0 -2
  406. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +0 -1
  407. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +0 -9
  408. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +0 -1
  409. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +0 -2
  410. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +0 -1
  411. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +0 -8
  412. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +0 -1
  413. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +0 -2
  414. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +0 -1
  415. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +0 -13
  416. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +0 -1
  417. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +0 -2
  418. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +0 -1
  419. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +0 -9
  420. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +0 -1
  421. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +0 -2
  422. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +0 -1
  423. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +0 -11
  424. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +0 -1
  425. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +0 -2
  426. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +0 -1
  427. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +0 -9
  428. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +0 -1
  429. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +0 -2
  430. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +0 -1
  431. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +0 -11
  432. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +0 -1
  433. package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js +0 -2
  434. package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +0 -1
  435. package/dist/node_modules/color2k/dist/index.exports.import.es.es.js +0 -171
  436. package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +0 -1
  437. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +0 -23
  438. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +0 -1
  439. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +0 -609
  440. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +0 -1
  441. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +0 -10
  442. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +0 -1
  443. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +0 -29
  444. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +0 -1
  445. package/dist/node_modules/react/jsx-runtime.cjs.js +0 -2
  446. package/dist/node_modules/react/jsx-runtime.cjs.js.map +0 -1
  447. package/dist/node_modules/react/jsx-runtime.es.js +0 -9
  448. package/dist/node_modules/react/jsx-runtime.es.js.map +0 -1
  449. package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js +0 -2
  450. package/dist/node_modules/react-aria-components/dist/OverlayArrow.cjs.js.map +0 -1
  451. package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js +0 -37
  452. package/dist/node_modules/react-aria-components/dist/OverlayArrow.es.js.map +0 -1
  453. package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js +0 -2
  454. package/dist/node_modules/react-aria-components/dist/Tooltip.cjs.js.map +0 -1
  455. package/dist/node_modules/react-aria-components/dist/Tooltip.es.js +0 -97
  456. package/dist/node_modules/react-aria-components/dist/Tooltip.es.js.map +0 -1
  457. package/dist/node_modules/react-aria-components/dist/utils.cjs.js +0 -2
  458. package/dist/node_modules/react-aria-components/dist/utils.cjs.js.map +0 -1
  459. package/dist/node_modules/react-aria-components/dist/utils.es.js +0 -89
  460. package/dist/node_modules/react-aria-components/dist/utils.es.js.map +0 -1
  461. package/dist/utils/color2k.cjs.js +0 -2
  462. package/dist/utils/color2k.cjs.js.map +0 -1
  463. package/dist/utils/color2k.es.js +0 -14
  464. package/dist/utils/color2k.es.js.map +0 -1
  465. package/dist/utils/copy.cjs.js +0 -2
  466. package/dist/utils/copy.cjs.js.map +0 -1
  467. package/dist/utils/copy.es.js +0 -31
  468. package/dist/utils/copy.es.js.map +0 -1
  469. package/dist/utils/image.cjs.js +0 -2
  470. package/dist/utils/image.cjs.js.map +0 -1
  471. package/dist/utils/image.es.js +0 -28
  472. package/dist/utils/image.es.js.map +0 -1
  473. package/dist/utils/navigation.cjs.js +0 -2
  474. package/dist/utils/navigation.cjs.js.map +0 -1
  475. package/dist/utils/navigation.es.js +0 -12
  476. package/dist/utils/navigation.es.js.map +0 -1
  477. package/dist/utils/palette.cjs.js +0 -2
  478. package/dist/utils/palette.cjs.js.map +0 -1
  479. package/dist/utils/palette.es.js +0 -183
  480. package/dist/utils/palette.es.js.map +0 -1
  481. package/dist/utils/string.cjs.js +0 -2
  482. package/dist/utils/string.cjs.js.map +0 -1
  483. package/dist/utils/string.es.js +0 -8
  484. package/dist/utils/string.es.js.map +0 -1
@@ -1,54 +0,0 @@
1
- import { Children as t, isValidElement as a } from "react";
2
- import { TableHeader as b, TableColumn as k, TableBody as T, TableRow as h, TableCell as E } from "./CompoundComponents.es.js";
3
- function s(c, r) {
4
- return c.type === r;
5
- }
6
- function H(c) {
7
- const r = [], i = [];
8
- return t.forEach(c, (n) => {
9
- if (a(n)) {
10
- if (s(n, b)) {
11
- const p = n.props;
12
- t.forEach(p.children, (e) => {
13
- if (a(e) && s(e, k)) {
14
- const o = e.props;
15
- r.push({
16
- key: o.id,
17
- header: o.children,
18
- isHidden: p.isHidden || !1,
19
- ariaSort: o["aria-sort"]
20
- });
21
- }
22
- });
23
- }
24
- if (s(n, T)) {
25
- const p = n.props;
26
- t.forEach(p.children, (e) => {
27
- if (a(e) && s(e, h)) {
28
- const o = e.props, u = [];
29
- let y = 0;
30
- t.forEach(o.children, (l) => {
31
- var m;
32
- if (a(l) && s(l, E)) {
33
- const f = l.props, d = f.columnKey || ((m = r[y]) == null ? void 0 : m.key);
34
- d && u.push({
35
- columnKey: d,
36
- value: f.children,
37
- colSpan: f.colSpan
38
- }), y++;
39
- }
40
- }), i.push({
41
- key: e.key || o.key || String(i.length),
42
- cells: u,
43
- onClick: o.onClick
44
- });
45
- }
46
- });
47
- }
48
- }
49
- }), { columns: r, rows: i };
50
- }
51
- export {
52
- H as parseTableChildren
53
- };
54
- //# sourceMappingURL=collectionParser.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collectionParser.es.js","sources":["../../../../src/components/Table/Collection/collectionParser.ts"],"sourcesContent":["import {\r\n Children,\r\n isValidElement,\r\n ReactElement,\r\n ReactNode,\r\n ComponentType,\r\n} from \"react\";\r\n\r\nimport {\r\n TableHeader,\r\n TableColumn as TableColumnComp,\r\n TableBody,\r\n TableRow as TableRowComp,\r\n TableCell as TableCellComp,\r\n type TableHeaderProps,\r\n type TableColumnProps,\r\n type TableBodyProps,\r\n type TableRowProps,\r\n type TableCellProps,\r\n} from \"./CompoundComponents\";\r\nimport type {\r\n TableColumnData,\r\n TableData,\r\n TableRowData,\r\n TableCellData,\r\n} from \"../types\";\r\n\r\nfunction isComponentType(\r\n element: ReactElement,\r\n componentType: ComponentType<any>\r\n): boolean {\r\n return element.type === componentType;\r\n}\r\n\r\n/**\r\n * Parses JSX table structure into collection data format\r\n */\r\nexport function parseTableChildren(children: ReactNode): TableData {\r\n const columns: TableColumnData[] = [];\r\n const rows: TableRowData[] = [];\r\n\r\n Children.forEach(children, (child) => {\r\n if (!isValidElement(child)) return;\r\n\r\n // Parse columns from header\r\n if (isComponentType(child, TableHeader)) {\r\n const headerProps = child.props as TableHeaderProps;\r\n\r\n Children.forEach(headerProps.children, (columnChild) => {\r\n if (\r\n isValidElement(columnChild) &&\r\n isComponentType(columnChild, TableColumnComp)\r\n ) {\r\n const columnProps = columnChild.props as TableColumnProps;\r\n columns.push({\r\n key: columnProps.id,\r\n header: columnProps.children,\r\n isHidden: headerProps.isHidden || false,\r\n ariaSort: columnProps[\"aria-sort\"],\r\n });\r\n }\r\n });\r\n }\r\n\r\n // Parse rows from body\r\n if (isComponentType(child, TableBody)) {\r\n const bodyProps = child.props as TableBodyProps;\r\n Children.forEach(bodyProps.children, (rowChild) => {\r\n if (\r\n isValidElement(rowChild) &&\r\n isComponentType(rowChild, TableRowComp)\r\n ) {\r\n const rowProps = rowChild.props as TableRowProps;\r\n const cells: TableCellData[] = [];\r\n\r\n let cellIndex = 0;\r\n Children.forEach(rowProps.children, (cellChild) => {\r\n if (\r\n isValidElement(cellChild) &&\r\n isComponentType(cellChild, TableCellComp)\r\n ) {\r\n const cellProps = cellChild.props as TableCellProps;\r\n\r\n // Map cell to column by index if no explicit columnKey\r\n const columnKey = cellProps.columnKey || columns[cellIndex]?.key;\r\n\r\n if (columnKey) {\r\n cells.push({\r\n columnKey,\r\n value: cellProps.children,\r\n colSpan: cellProps.colSpan,\r\n });\r\n }\r\n cellIndex++;\r\n }\r\n });\r\n\r\n rows.push({\r\n key:\r\n (rowChild.key as string) || rowProps.key || String(rows.length),\r\n cells,\r\n onClick: rowProps.onClick,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n return { columns, rows };\r\n}\r\n"],"names":["isComponentType","element","componentType","parseTableChildren","children","columns","rows","Children","child","isValidElement","TableHeader","headerProps","columnChild","TableColumnComp","columnProps","TableBody","bodyProps","rowChild","TableRowComp","rowProps","cells","cellIndex","cellChild","TableCellComp","cellProps","columnKey","_a"],"mappings":";;AA2BA,SAASA,EACPC,GACAC,GACS;AACT,SAAOD,EAAQ,SAASC;AAC1B;AAKO,SAASC,EAAmBC,GAAgC;AACjE,QAAMC,IAA6B,CAAA,GAC7BC,IAAuB,CAAA;AAEpB,SAAAC,EAAA,QAAQH,GAAU,CAACI,MAAU;AAChC,QAACC,EAAeD,CAAK,GAGrB;AAAA,UAAAR,EAAgBQ,GAAOE,CAAW,GAAG;AACvC,cAAMC,IAAcH,EAAM;AAE1B,QAAAD,EAAS,QAAQI,EAAY,UAAU,CAACC,MAAgB;AACtD,cACEH,EAAeG,CAAW,KAC1BZ,EAAgBY,GAAaC,CAAe,GAC5C;AACA,kBAAMC,IAAcF,EAAY;AAChC,YAAAP,EAAQ,KAAK;AAAA,cACX,KAAKS,EAAY;AAAA,cACjB,QAAQA,EAAY;AAAA,cACpB,UAAUH,EAAY,YAAY;AAAA,cAClC,UAAUG,EAAY,WAAW;AAAA,YAAA,CAClC;AAAA,UACH;AAAA,QAAA,CACD;AAAA,MACH;AAGI,UAAAd,EAAgBQ,GAAOO,CAAS,GAAG;AACrC,cAAMC,IAAYR,EAAM;AACxB,QAAAD,EAAS,QAAQS,EAAU,UAAU,CAACC,MAAa;AACjD,cACER,EAAeQ,CAAQ,KACvBjB,EAAgBiB,GAAUC,CAAY,GACtC;AACA,kBAAMC,IAAWF,EAAS,OACpBG,IAAyB,CAAA;AAE/B,gBAAIC,IAAY;AAChB,YAAAd,EAAS,QAAQY,EAAS,UAAU,CAACG,MAAc;;AACjD,kBACEb,EAAea,CAAS,KACxBtB,EAAgBsB,GAAWC,CAAa,GACxC;AACA,sBAAMC,IAAYF,EAAU,OAGtBG,IAAYD,EAAU,eAAaE,IAAArB,EAAQgB,CAAS,MAAjB,gBAAAK,EAAoB;AAE7D,gBAAID,KACFL,EAAM,KAAK;AAAA,kBACT,WAAAK;AAAA,kBACA,OAAOD,EAAU;AAAA,kBACjB,SAASA,EAAU;AAAA,gBAAA,CACpB,GAEHH;AAAA,cACF;AAAA,YAAA,CACD,GAEDf,EAAK,KAAK;AAAA,cACR,KACGW,EAAS,OAAkBE,EAAS,OAAO,OAAOb,EAAK,MAAM;AAAA,cAChE,OAAAc;AAAA,cACA,SAASD,EAAS;AAAA,YAAA,CACnB;AAAA,UACH;AAAA,QAAA,CACD;AAAA,MACH;AAAA;AAAA,EAAA,CACD,GAEM,EAAE,SAAAd,GAAS,MAAAC;AACpB;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react");function y(e){var c;const r=n.useMemo(()=>{const o=new Map;return e.rows.forEach((s,x)=>{o.set(s.key,x)}),o},[e.rows]),i=n.useMemo(()=>o=>{const s=r.get(o);return s===void 0?null:e.rows[s]},[e.rows,r]),m=n.useMemo(()=>o=>{const s=r.get(o);return s===void 0||s>=e.rows.length-1?null:e.rows[s+1]},[e.rows,r]),w=n.useMemo(()=>o=>{const s=r.get(o);return s===void 0||s<=0?null:e.rows[s-1]},[e.rows,r]),g=n.useMemo(()=>o=>r.get(o)??-1,[r]),M=n.useMemo(()=>e.rows[0]||null,[e.rows]),f=n.useMemo(()=>e.rows[e.rows.length-1]||null,[e.rows]),u=e.rows.length,l=((c=e.columns[0])==null?void 0:c.isHidden)||!1,t=!l,I=n.useMemo(()=>u+(t?1:0),[u,t]),b=n.useMemo(()=>o=>o+(t?2:1),[t]);return{columns:e.columns,rows:e.rows,size:u,firstItem:M,lastItem:f,isHeaderHidden:l,hasVisibleHeader:t,getTotalRowCount:I,getRowAriaIndex:b,getItemByKey:i,getItemAfter:m,getItemBefore:w,getItemIndex:g}}exports.useTableCollection=y;
2
- //# sourceMappingURL=useTableCollection.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableCollection.cjs.js","sources":["../../../../src/components/Table/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo } from \"react\";\r\nimport type { TableData, TableRowData } from \"../types\";\r\n\r\n/**\r\n * Hook for managing table data structure and providing navigation methods\r\n */\r\nexport function useTableCollection(data: TableData) {\r\n const keyToIndexMap = useMemo(() => {\r\n const map = new Map<string | number, number>();\r\n data.rows.forEach((row, index) => {\r\n map.set(row.key, index);\r\n });\r\n return map;\r\n }, [data.rows]);\r\n\r\n const getItemByKey = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined) return null;\r\n return data.rows[index];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemAfter = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined || index >= data.rows.length - 1) return null;\r\n return data.rows[index + 1];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemBefore = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined || index <= 0) return null;\r\n return data.rows[index - 1];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemIndex = useMemo(\r\n () =>\r\n (key: string | number): number => {\r\n return keyToIndexMap.get(key) ?? -1;\r\n },\r\n [keyToIndexMap]\r\n );\r\n\r\n // Computed values\r\n const firstItem = useMemo(() => data.rows[0] || null, [data.rows]);\r\n const lastItem = useMemo(\r\n () => data.rows[data.rows.length - 1] || null,\r\n [data.rows]\r\n );\r\n const size = data.rows.length;\r\n\r\n // ARIA helpers\r\n const isHeaderHidden = data.columns[0]?.isHidden || false;\r\n const hasVisibleHeader = !isHeaderHidden;\r\n\r\n const getTotalRowCount = useMemo(() => {\r\n return size + (hasVisibleHeader ? 1 : 0);\r\n }, [size, hasVisibleHeader]);\r\n\r\n const getRowAriaIndex = useMemo(\r\n () => (rowIndex: number) => {\r\n return rowIndex + (hasVisibleHeader ? 2 : 1); // +2 if header exists and visible, +1 if not\r\n },\r\n [hasVisibleHeader]\r\n );\r\n\r\n return {\r\n // Data\r\n columns: data.columns,\r\n rows: data.rows,\r\n size,\r\n firstItem,\r\n lastItem,\r\n\r\n // ARIA helpers\r\n isHeaderHidden,\r\n hasVisibleHeader,\r\n getTotalRowCount,\r\n getRowAriaIndex,\r\n\r\n // Navigation functions\r\n getItemByKey,\r\n getItemAfter,\r\n getItemBefore,\r\n getItemIndex,\r\n };\r\n}\r\n\r\nexport type TableCollection = ReturnType<typeof useTableCollection>;\r\n"],"names":["useTableCollection","data","keyToIndexMap","useMemo","map","row","index","getItemByKey","key","getItemAfter","getItemBefore","getItemIndex","firstItem","lastItem","size","isHeaderHidden","_a","hasVisibleHeader","getTotalRowCount","getRowAriaIndex","rowIndex"],"mappings":"yGAMO,SAASA,EAAmBC,EAAiB,OAC5C,MAAAC,EAAgBC,EAAAA,QAAQ,IAAM,CAC5B,MAAAC,MAAU,IAChB,OAAAH,EAAK,KAAK,QAAQ,CAACI,EAAKC,IAAU,CAC5BF,EAAA,IAAIC,EAAI,IAAKC,CAAK,CAAA,CACvB,EACMF,CAAA,EACN,CAACH,EAAK,IAAI,CAAC,EAERM,EAAeJ,EAAA,QACnB,IACGK,GAA8C,CACvC,MAAAF,EAAQJ,EAAc,IAAIM,CAAG,EAC/B,OAAAF,IAAU,OAAkB,KACzBL,EAAK,KAAKK,CAAK,CACxB,EACF,CAACL,EAAK,KAAMC,CAAa,CAAA,EAGrBO,EAAeN,EAAA,QACnB,IACGK,GAA8C,CACvC,MAAAF,EAAQJ,EAAc,IAAIM,CAAG,EACnC,OAAIF,IAAU,QAAaA,GAASL,EAAK,KAAK,OAAS,EAAU,KAC1DA,EAAK,KAAKK,EAAQ,CAAC,CAC5B,EACF,CAACL,EAAK,KAAMC,CAAa,CAAA,EAGrBQ,EAAgBP,EAAA,QACpB,IACGK,GAA8C,CACvC,MAAAF,EAAQJ,EAAc,IAAIM,CAAG,EACnC,OAAIF,IAAU,QAAaA,GAAS,EAAU,KACvCL,EAAK,KAAKK,EAAQ,CAAC,CAC5B,EACF,CAACL,EAAK,KAAMC,CAAa,CAAA,EAGrBS,EAAeR,EAAA,QACnB,IACGK,GACQN,EAAc,IAAIM,CAAG,GAAK,GAErC,CAACN,CAAa,CAAA,EAIVU,EAAYT,EAAAA,QAAQ,IAAMF,EAAK,KAAK,CAAC,GAAK,KAAM,CAACA,EAAK,IAAI,CAAC,EAC3DY,EAAWV,EAAA,QACf,IAAMF,EAAK,KAAKA,EAAK,KAAK,OAAS,CAAC,GAAK,KACzC,CAACA,EAAK,IAAI,CAAA,EAENa,EAAOb,EAAK,KAAK,OAGjBc,IAAiBC,EAAAf,EAAK,QAAQ,CAAC,IAAd,YAAAe,EAAiB,WAAY,GAC9CC,EAAmB,CAACF,EAEpBG,EAAmBf,EAAAA,QAAQ,IACxBW,GAAQG,EAAmB,EAAI,GACrC,CAACH,EAAMG,CAAgB,CAAC,EAErBE,EAAkBhB,EAAA,QACtB,IAAOiB,GACEA,GAAYH,EAAmB,EAAI,GAE5C,CAACA,CAAgB,CAAA,EAGZ,MAAA,CAEL,QAAShB,EAAK,QACd,KAAMA,EAAK,KACX,KAAAa,EACA,UAAAF,EACA,SAAAC,EAGA,eAAAE,EACA,iBAAAE,EACA,iBAAAC,EACA,gBAAAC,EAGA,aAAAZ,EACA,aAAAE,EACA,cAAAC,EACA,aAAAC,CAAA,CAEJ"}
@@ -1,59 +0,0 @@
1
- import { useMemo as r } from "react";
2
- function H(e) {
3
- var c;
4
- const s = r(() => {
5
- const o = /* @__PURE__ */ new Map();
6
- return e.rows.forEach((n, p) => {
7
- o.set(n.key, p);
8
- }), o;
9
- }, [e.rows]), i = r(
10
- () => (o) => {
11
- const n = s.get(o);
12
- return n === void 0 ? null : e.rows[n];
13
- },
14
- [e.rows, s]
15
- ), w = r(
16
- () => (o) => {
17
- const n = s.get(o);
18
- return n === void 0 || n >= e.rows.length - 1 ? null : e.rows[n + 1];
19
- },
20
- [e.rows, s]
21
- ), g = r(
22
- () => (o) => {
23
- const n = s.get(o);
24
- return n === void 0 || n <= 0 ? null : e.rows[n - 1];
25
- },
26
- [e.rows, s]
27
- ), m = r(
28
- () => (o) => s.get(o) ?? -1,
29
- [s]
30
- ), f = r(() => e.rows[0] || null, [e.rows]), I = r(
31
- () => e.rows[e.rows.length - 1] || null,
32
- [e.rows]
33
- ), l = e.rows.length, u = ((c = e.columns[0]) == null ? void 0 : c.isHidden) || !1, t = !u, x = r(() => l + (t ? 1 : 0), [l, t]), h = r(
34
- () => (o) => o + (t ? 2 : 1),
35
- [t]
36
- );
37
- return {
38
- // Data
39
- columns: e.columns,
40
- rows: e.rows,
41
- size: l,
42
- firstItem: f,
43
- lastItem: I,
44
- // ARIA helpers
45
- isHeaderHidden: u,
46
- hasVisibleHeader: t,
47
- getTotalRowCount: x,
48
- getRowAriaIndex: h,
49
- // Navigation functions
50
- getItemByKey: i,
51
- getItemAfter: w,
52
- getItemBefore: g,
53
- getItemIndex: m
54
- };
55
- }
56
- export {
57
- H as useTableCollection
58
- };
59
- //# sourceMappingURL=useTableCollection.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableCollection.es.js","sources":["../../../../src/components/Table/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo } from \"react\";\r\nimport type { TableData, TableRowData } from \"../types\";\r\n\r\n/**\r\n * Hook for managing table data structure and providing navigation methods\r\n */\r\nexport function useTableCollection(data: TableData) {\r\n const keyToIndexMap = useMemo(() => {\r\n const map = new Map<string | number, number>();\r\n data.rows.forEach((row, index) => {\r\n map.set(row.key, index);\r\n });\r\n return map;\r\n }, [data.rows]);\r\n\r\n const getItemByKey = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined) return null;\r\n return data.rows[index];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemAfter = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined || index >= data.rows.length - 1) return null;\r\n return data.rows[index + 1];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemBefore = useMemo(\r\n () =>\r\n (key: string | number): TableRowData | null => {\r\n const index = keyToIndexMap.get(key);\r\n if (index === undefined || index <= 0) return null;\r\n return data.rows[index - 1];\r\n },\r\n [data.rows, keyToIndexMap]\r\n );\r\n\r\n const getItemIndex = useMemo(\r\n () =>\r\n (key: string | number): number => {\r\n return keyToIndexMap.get(key) ?? -1;\r\n },\r\n [keyToIndexMap]\r\n );\r\n\r\n // Computed values\r\n const firstItem = useMemo(() => data.rows[0] || null, [data.rows]);\r\n const lastItem = useMemo(\r\n () => data.rows[data.rows.length - 1] || null,\r\n [data.rows]\r\n );\r\n const size = data.rows.length;\r\n\r\n // ARIA helpers\r\n const isHeaderHidden = data.columns[0]?.isHidden || false;\r\n const hasVisibleHeader = !isHeaderHidden;\r\n\r\n const getTotalRowCount = useMemo(() => {\r\n return size + (hasVisibleHeader ? 1 : 0);\r\n }, [size, hasVisibleHeader]);\r\n\r\n const getRowAriaIndex = useMemo(\r\n () => (rowIndex: number) => {\r\n return rowIndex + (hasVisibleHeader ? 2 : 1); // +2 if header exists and visible, +1 if not\r\n },\r\n [hasVisibleHeader]\r\n );\r\n\r\n return {\r\n // Data\r\n columns: data.columns,\r\n rows: data.rows,\r\n size,\r\n firstItem,\r\n lastItem,\r\n\r\n // ARIA helpers\r\n isHeaderHidden,\r\n hasVisibleHeader,\r\n getTotalRowCount,\r\n getRowAriaIndex,\r\n\r\n // Navigation functions\r\n getItemByKey,\r\n getItemAfter,\r\n getItemBefore,\r\n getItemIndex,\r\n };\r\n}\r\n\r\nexport type TableCollection = ReturnType<typeof useTableCollection>;\r\n"],"names":["useTableCollection","data","keyToIndexMap","useMemo","map","row","index","getItemByKey","key","getItemAfter","getItemBefore","getItemIndex","firstItem","lastItem","size","isHeaderHidden","_a","hasVisibleHeader","getTotalRowCount","getRowAriaIndex","rowIndex"],"mappings":";AAMO,SAASA,EAAmBC,GAAiB;;AAC5C,QAAAC,IAAgBC,EAAQ,MAAM;AAC5B,UAAAC,wBAAU;AAChB,WAAAH,EAAK,KAAK,QAAQ,CAACI,GAAKC,MAAU;AAC5B,MAAAF,EAAA,IAAIC,EAAI,KAAKC,CAAK;AAAA,IAAA,CACvB,GACMF;AAAA,EAAA,GACN,CAACH,EAAK,IAAI,CAAC,GAERM,IAAeJ;AAAA,IACnB,MACE,CAACK,MAA8C;AACvC,YAAAF,IAAQJ,EAAc,IAAIM,CAAG;AAC/B,aAAAF,MAAU,SAAkB,OACzBL,EAAK,KAAKK,CAAK;AAAA,IACxB;AAAA,IACF,CAACL,EAAK,MAAMC,CAAa;AAAA,EAAA,GAGrBO,IAAeN;AAAA,IACnB,MACE,CAACK,MAA8C;AACvC,YAAAF,IAAQJ,EAAc,IAAIM,CAAG;AACnC,aAAIF,MAAU,UAAaA,KAASL,EAAK,KAAK,SAAS,IAAU,OAC1DA,EAAK,KAAKK,IAAQ,CAAC;AAAA,IAC5B;AAAA,IACF,CAACL,EAAK,MAAMC,CAAa;AAAA,EAAA,GAGrBQ,IAAgBP;AAAA,IACpB,MACE,CAACK,MAA8C;AACvC,YAAAF,IAAQJ,EAAc,IAAIM,CAAG;AACnC,aAAIF,MAAU,UAAaA,KAAS,IAAU,OACvCL,EAAK,KAAKK,IAAQ,CAAC;AAAA,IAC5B;AAAA,IACF,CAACL,EAAK,MAAMC,CAAa;AAAA,EAAA,GAGrBS,IAAeR;AAAA,IACnB,MACE,CAACK,MACQN,EAAc,IAAIM,CAAG,KAAK;AAAA,IAErC,CAACN,CAAa;AAAA,EAAA,GAIVU,IAAYT,EAAQ,MAAMF,EAAK,KAAK,CAAC,KAAK,MAAM,CAACA,EAAK,IAAI,CAAC,GAC3DY,IAAWV;AAAA,IACf,MAAMF,EAAK,KAAKA,EAAK,KAAK,SAAS,CAAC,KAAK;AAAA,IACzC,CAACA,EAAK,IAAI;AAAA,EAAA,GAENa,IAAOb,EAAK,KAAK,QAGjBc,MAAiBC,IAAAf,EAAK,QAAQ,CAAC,MAAd,gBAAAe,EAAiB,aAAY,IAC9CC,IAAmB,CAACF,GAEpBG,IAAmBf,EAAQ,MACxBW,KAAQG,IAAmB,IAAI,IACrC,CAACH,GAAMG,CAAgB,CAAC,GAErBE,IAAkBhB;AAAA,IACtB,MAAM,CAACiB,MACEA,KAAYH,IAAmB,IAAI;AAAA,IAE5C,CAACA,CAAgB;AAAA,EAAA;AAGZ,SAAA;AAAA;AAAA,IAEL,SAAShB,EAAK;AAAA,IACd,MAAMA,EAAK;AAAA,IACX,MAAAa;AAAA,IACA,WAAAF;AAAA,IACA,UAAAC;AAAA;AAAA,IAGA,gBAAAE;AAAA,IACA,kBAAAE;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA;AAAA,IAGA,cAAAZ;AAAA,IACA,cAAAE;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA;AAEJ;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../node_modules/react/jsx-runtime.cjs.js"),p=require("react"),x=require("./Collection/collectionParser.cjs.js"),t=require("./Collection/CompoundComponents.cjs.js"),b=require("./Collection/useTableCollection.cjs.js");;/* empty css */const m=({children:i,name:c})=>{const d=p.useMemo(()=>x.parseTableChildren(i),[i]),a=b.useTableCollection(d);return o.jsxRuntimeExports.jsxs("table",{className:"proton-Table",role:"table","aria-rowcount":a.getTotalRowCount,"aria-colcount":a.columns.length,"aria-label":c,children:[o.jsxRuntimeExports.jsx("caption",{className:"proton-Table__caption",children:c}),o.jsxRuntimeExports.jsx("thead",{className:"proton-Table__rowGroup--header",role:"rowgroup",style:a.isHeaderHidden?{display:"none"}:void 0,children:o.jsxRuntimeExports.jsx("tr",{className:"proton-Table__header-row",role:"row","aria-rowindex":1,children:a.columns.map((e,s)=>o.jsxRuntimeExports.jsx("th",{className:"proton-Table__header",role:"columnheader",scope:"col","aria-colindex":s+1,"aria-sort":e.ariaSort,children:e.header},e.key))})}),o.jsxRuntimeExports.jsx("tbody",{className:"proton-Table__body",role:"rowgroup",children:a.rows.map((e,s)=>o.jsxRuntimeExports.jsx("tr",{className:"proton-Table__row",role:"row","aria-rowindex":a.getRowAriaIndex(s),onClick:e==null?void 0:e.onClick,tabIndex:e!=null&&e.onClick?0:void 0,onKeyDown:e!=null&&e.onClick?l=>{var r;(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),(r=e.onClick)==null||r.call(e))}:void 0,children:a.columns.map((l,r)=>{const n=e.cells.find(u=>u.columnKey===l.key);return o.jsxRuntimeExports.jsx("td",{className:"proton-Table__cell",role:"cell","aria-colindex":r+1,colSpan:n==null?void 0:n.colSpan,children:(n==null?void 0:n.value)||""},l.key)})},e.key))})]})},T=Object.assign(m,{Header:t.TableHeader,Column:t.TableColumn,Body:t.TableBody,Row:t.TableRow,Cell:t.TableCell});exports.Table=T;
2
- //# sourceMappingURL=Table.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table.cjs.js","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["import { ReactElement, useMemo } from \"react\";\r\nimport { parseTableChildren } from \"./Collection/collectionParser\";\r\nimport {\r\n TableHeader,\r\n TableColumn,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n TableHeaderProps,\r\n TableColumnProps,\r\n TableBodyProps,\r\n TableRowProps,\r\n TableCellProps,\r\n} from \"./Collection/CompoundComponents\";\r\nimport { useTableCollection } from \"./Collection/useTableCollection\";\r\nimport type {\r\n TableData,\r\n TableColumnData,\r\n TableRowData,\r\n TableCellData,\r\n} from \"./types\";\r\nimport \"./Table.css\";\r\n\r\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\r\n\r\nexport interface TableProps {\r\n children: [ReactElement<TableHeaderProps>, ReactElement<TableBodyProps>];\r\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\r\n name: string;\r\n}\r\n\r\nconst TableComponent = ({ children, name }: TableProps) => {\r\n const tableData: TableData = useMemo(\r\n () => parseTableChildren(children),\r\n [children]\r\n );\r\n const collection = useTableCollection(tableData);\r\n\r\n return (\r\n <table\r\n className=\"proton-Table\"\r\n role=\"table\"\r\n aria-rowcount={collection.getTotalRowCount}\r\n aria-colcount={collection.columns.length}\r\n aria-label={name}\r\n >\r\n <caption className=\"proton-Table__caption\">{name}</caption>\r\n\r\n {/* Header */}\r\n <thead\r\n className=\"proton-Table__rowGroup--header\"\r\n role=\"rowgroup\"\r\n style={collection.isHeaderHidden ? { display: \"none\" } : undefined}\r\n >\r\n <tr className=\"proton-Table__header-row\" role=\"row\" aria-rowindex={1}>\r\n {collection.columns.map((column, index) => (\r\n <th\r\n key={column.key}\r\n className=\"proton-Table__header\"\r\n role=\"columnheader\"\r\n scope=\"col\"\r\n aria-colindex={index + 1}\r\n aria-sort={column.ariaSort}\r\n >\r\n {column.header}\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n\r\n {/* Body */}\r\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\r\n {collection.rows.map((row, rowIndex) => (\r\n <tr\r\n key={row.key}\r\n className=\"proton-Table__row\"\r\n role=\"row\"\r\n aria-rowindex={collection.getRowAriaIndex(rowIndex)}\r\n onClick={row?.onClick}\r\n tabIndex={row?.onClick ? 0 : undefined}\r\n onKeyDown={\r\n row?.onClick\r\n ? (e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n // Enable keyboard navigation\r\n e.preventDefault();\r\n row.onClick?.();\r\n }\r\n }\r\n : undefined\r\n }\r\n >\r\n {collection.columns.map((column, colIndex) => {\r\n const cell = row.cells.find((c) => c.columnKey === column.key);\r\n return (\r\n <td\r\n key={column.key}\r\n className=\"proton-Table__cell\"\r\n role=\"cell\"\r\n aria-colindex={colIndex + 1}\r\n colSpan={cell?.colSpan}\r\n >\r\n {cell?.value || \"\"}\r\n </td>\r\n );\r\n })}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n );\r\n};\r\n\r\n/**\r\n * Base Table component that renders data in rows and columns using collections.\r\n *\r\n * - Built-in keyboard navigation for interactive rows.\r\n * - Full ARIA table semantics with proper roles, labels, and indices.\r\n *\r\n * API:\r\n * - {@link TableProps}\r\n *\r\n * @example\r\n * ```tsx\r\n * <Table caption=\"Employee Directory\">\r\n * <Table.Header>\r\n * <Table.Column id=\"name\">Name</Table.Column>\r\n * </Table.Header>\r\n * <Table.Body>\r\n * <Table.Row key=\"1\">\r\n * <Table.Cell>Joe</Table.Cell>\r\n * </Table.Row>\r\n * </Table.Body>\r\n * </Table>\r\n * ```\r\n */\r\nconst Table = Object.assign(TableComponent, {\r\n /** Table header: {@link TableHeaderProps} */\r\n Header: TableHeader,\r\n /** Table column: {@link TableColumnProps} */\r\n Column: TableColumn,\r\n /** Table body: {@link TableBodyProps} */\r\n Body: TableBody,\r\n /** Table row: {@link TableRowProps} */\r\n Row: TableRow,\r\n /** Table cell: {@link TableCellProps} */\r\n Cell: TableCell,\r\n});\r\n\r\nexport { Table };\r\nexport type {\r\n TableHeaderProps,\r\n TableColumnProps,\r\n TableBodyProps,\r\n TableRowProps,\r\n TableCellProps,\r\n};\r\n"],"names":["TableComponent","children","name","tableData","useMemo","parseTableChildren","collection","useTableCollection","jsxs","jsx","column","index","row","rowIndex","e","_a","colIndex","cell","c","Table","TableHeader","TableColumn","TableBody","TableRow","TableCell"],"mappings":"0VA+BA,MAAMA,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAuB,CACzD,MAAMC,EAAuBC,EAAA,QAC3B,IAAMC,EAAAA,mBAAmBJ,CAAQ,EACjC,CAACA,CAAQ,CAAA,EAELK,EAAaC,qBAAmBJ,CAAS,EAG7C,OAAAK,EAAA,kBAAA,KAAC,QAAA,CACC,UAAU,eACV,KAAK,QACL,gBAAeF,EAAW,iBAC1B,gBAAeA,EAAW,QAAQ,OAClC,aAAYJ,EAEZ,SAAA,CAACO,EAAA,kBAAA,IAAA,UAAA,CAAQ,UAAU,wBAAyB,SAAKP,EAAA,EAGjDO,EAAA,kBAAA,IAAC,QAAA,CACC,UAAU,iCACV,KAAK,WACL,MAAOH,EAAW,eAAiB,CAAE,QAAS,MAAW,EAAA,OAEzD,SAACG,EAAA,kBAAA,IAAA,KAAA,CAAG,UAAU,2BAA2B,KAAK,MAAM,gBAAe,EAChE,SAAWH,EAAA,QAAQ,IAAI,CAACI,EAAQC,IAC/BF,EAAA,kBAAA,IAAC,KAAA,CAEC,UAAU,uBACV,KAAK,eACL,MAAM,MACN,gBAAeE,EAAQ,EACvB,YAAWD,EAAO,SAEjB,SAAOA,EAAA,MAAA,EAPHA,EAAO,GASf,CAAA,EACH,CAAA,CACF,EAGAD,EAAAA,kBAAAA,IAAC,QAAM,CAAA,UAAU,qBAAqB,KAAK,WACxC,SAAAH,EAAW,KAAK,IAAI,CAACM,EAAKC,IACzBJ,EAAA,kBAAA,IAAC,KAAA,CAEC,UAAU,oBACV,KAAK,MACL,gBAAeH,EAAW,gBAAgBO,CAAQ,EAClD,QAASD,GAAA,YAAAA,EAAK,QACd,SAAUA,GAAA,MAAAA,EAAK,QAAU,EAAI,OAC7B,UACEA,GAAA,MAAAA,EAAK,QACAE,GAAM,QACDA,EAAE,MAAQ,SAAWA,EAAE,MAAQ,OAEjCA,EAAE,eAAe,GACjBC,EAAAH,EAAI,UAAJ,MAAAG,EAAA,KAAAH,GAGJ,EAAA,OAGL,SAAWN,EAAA,QAAQ,IAAI,CAACI,EAAQM,IAAa,CACtC,MAAAC,EAAOL,EAAI,MAAM,KAAMM,GAAMA,EAAE,YAAcR,EAAO,GAAG,EAE3D,OAAAD,EAAA,kBAAA,IAAC,KAAA,CAEC,UAAU,qBACV,KAAK,OACL,gBAAeO,EAAW,EAC1B,QAASC,GAAA,YAAAA,EAAM,QAEd,2BAAM,QAAS,EAAA,EANXP,EAAO,GAAA,CAOd,CAEH,CAAA,EA/BIE,EAAI,GAiCZ,CAAA,EACH,CAAA,CAAA,CAAA,CAGN,EAyBMO,EAAQ,OAAO,OAAOnB,EAAgB,CAE1C,OAAQoB,EAAA,YAER,OAAQC,EAAA,YAER,KAAMC,EAAA,UAEN,IAAKC,EAAA,SAEL,KAAMC,EAAA,SACR,CAAC"}
@@ -1,89 +0,0 @@
1
- import { j as a } from "../../node_modules/react/jsx-runtime.es.js";
2
- import { useMemo as p } from "react";
3
- import { parseTableChildren as m } from "./Collection/collectionParser.es.js";
4
- import { TableHeader as b, TableColumn as T, TableBody as u, TableRow as x, TableCell as h } from "./Collection/CompoundComponents.es.js";
5
- import { useTableCollection as y } from "./Collection/useTableCollection.es.js";
6
- /* empty css */
7
- const _ = ({ children: s, name: i }) => {
8
- const c = p(
9
- () => m(s),
10
- [s]
11
- ), o = y(c);
12
- return /* @__PURE__ */ a.jsxs(
13
- "table",
14
- {
15
- className: "proton-Table",
16
- role: "table",
17
- "aria-rowcount": o.getTotalRowCount,
18
- "aria-colcount": o.columns.length,
19
- "aria-label": i,
20
- children: [
21
- /* @__PURE__ */ a.jsx("caption", { className: "proton-Table__caption", children: i }),
22
- /* @__PURE__ */ a.jsx(
23
- "thead",
24
- {
25
- className: "proton-Table__rowGroup--header",
26
- role: "rowgroup",
27
- style: o.isHeaderHidden ? { display: "none" } : void 0,
28
- children: /* @__PURE__ */ a.jsx("tr", { className: "proton-Table__header-row", role: "row", "aria-rowindex": 1, children: o.columns.map((e, t) => /* @__PURE__ */ a.jsx(
29
- "th",
30
- {
31
- className: "proton-Table__header",
32
- role: "columnheader",
33
- scope: "col",
34
- "aria-colindex": t + 1,
35
- "aria-sort": e.ariaSort,
36
- children: e.header
37
- },
38
- e.key
39
- )) })
40
- }
41
- ),
42
- /* @__PURE__ */ a.jsx("tbody", { className: "proton-Table__body", role: "rowgroup", children: o.rows.map((e, t) => /* @__PURE__ */ a.jsx(
43
- "tr",
44
- {
45
- className: "proton-Table__row",
46
- role: "row",
47
- "aria-rowindex": o.getRowAriaIndex(t),
48
- onClick: e == null ? void 0 : e.onClick,
49
- tabIndex: e != null && e.onClick ? 0 : void 0,
50
- onKeyDown: e != null && e.onClick ? (l) => {
51
- var r;
52
- (l.key === "Enter" || l.key === " ") && (l.preventDefault(), (r = e.onClick) == null || r.call(e));
53
- } : void 0,
54
- children: o.columns.map((l, r) => {
55
- const n = e.cells.find((d) => d.columnKey === l.key);
56
- return /* @__PURE__ */ a.jsx(
57
- "td",
58
- {
59
- className: "proton-Table__cell",
60
- role: "cell",
61
- "aria-colindex": r + 1,
62
- colSpan: n == null ? void 0 : n.colSpan,
63
- children: (n == null ? void 0 : n.value) || ""
64
- },
65
- l.key
66
- );
67
- })
68
- },
69
- e.key
70
- )) })
71
- ]
72
- }
73
- );
74
- }, v = Object.assign(_, {
75
- /** Table header: {@link TableHeaderProps} */
76
- Header: b,
77
- /** Table column: {@link TableColumnProps} */
78
- Column: T,
79
- /** Table body: {@link TableBodyProps} */
80
- Body: u,
81
- /** Table row: {@link TableRowProps} */
82
- Row: x,
83
- /** Table cell: {@link TableCellProps} */
84
- Cell: h
85
- });
86
- export {
87
- v as Table
88
- };
89
- //# sourceMappingURL=Table.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Table.es.js","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["import { ReactElement, useMemo } from \"react\";\r\nimport { parseTableChildren } from \"./Collection/collectionParser\";\r\nimport {\r\n TableHeader,\r\n TableColumn,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n TableHeaderProps,\r\n TableColumnProps,\r\n TableBodyProps,\r\n TableRowProps,\r\n TableCellProps,\r\n} from \"./Collection/CompoundComponents\";\r\nimport { useTableCollection } from \"./Collection/useTableCollection\";\r\nimport type {\r\n TableData,\r\n TableColumnData,\r\n TableRowData,\r\n TableCellData,\r\n} from \"./types\";\r\nimport \"./Table.css\";\r\n\r\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\r\n\r\nexport interface TableProps {\r\n children: [ReactElement<TableHeaderProps>, ReactElement<TableBodyProps>];\r\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\r\n name: string;\r\n}\r\n\r\nconst TableComponent = ({ children, name }: TableProps) => {\r\n const tableData: TableData = useMemo(\r\n () => parseTableChildren(children),\r\n [children]\r\n );\r\n const collection = useTableCollection(tableData);\r\n\r\n return (\r\n <table\r\n className=\"proton-Table\"\r\n role=\"table\"\r\n aria-rowcount={collection.getTotalRowCount}\r\n aria-colcount={collection.columns.length}\r\n aria-label={name}\r\n >\r\n <caption className=\"proton-Table__caption\">{name}</caption>\r\n\r\n {/* Header */}\r\n <thead\r\n className=\"proton-Table__rowGroup--header\"\r\n role=\"rowgroup\"\r\n style={collection.isHeaderHidden ? { display: \"none\" } : undefined}\r\n >\r\n <tr className=\"proton-Table__header-row\" role=\"row\" aria-rowindex={1}>\r\n {collection.columns.map((column, index) => (\r\n <th\r\n key={column.key}\r\n className=\"proton-Table__header\"\r\n role=\"columnheader\"\r\n scope=\"col\"\r\n aria-colindex={index + 1}\r\n aria-sort={column.ariaSort}\r\n >\r\n {column.header}\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n\r\n {/* Body */}\r\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\r\n {collection.rows.map((row, rowIndex) => (\r\n <tr\r\n key={row.key}\r\n className=\"proton-Table__row\"\r\n role=\"row\"\r\n aria-rowindex={collection.getRowAriaIndex(rowIndex)}\r\n onClick={row?.onClick}\r\n tabIndex={row?.onClick ? 0 : undefined}\r\n onKeyDown={\r\n row?.onClick\r\n ? (e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n // Enable keyboard navigation\r\n e.preventDefault();\r\n row.onClick?.();\r\n }\r\n }\r\n : undefined\r\n }\r\n >\r\n {collection.columns.map((column, colIndex) => {\r\n const cell = row.cells.find((c) => c.columnKey === column.key);\r\n return (\r\n <td\r\n key={column.key}\r\n className=\"proton-Table__cell\"\r\n role=\"cell\"\r\n aria-colindex={colIndex + 1}\r\n colSpan={cell?.colSpan}\r\n >\r\n {cell?.value || \"\"}\r\n </td>\r\n );\r\n })}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n );\r\n};\r\n\r\n/**\r\n * Base Table component that renders data in rows and columns using collections.\r\n *\r\n * - Built-in keyboard navigation for interactive rows.\r\n * - Full ARIA table semantics with proper roles, labels, and indices.\r\n *\r\n * API:\r\n * - {@link TableProps}\r\n *\r\n * @example\r\n * ```tsx\r\n * <Table caption=\"Employee Directory\">\r\n * <Table.Header>\r\n * <Table.Column id=\"name\">Name</Table.Column>\r\n * </Table.Header>\r\n * <Table.Body>\r\n * <Table.Row key=\"1\">\r\n * <Table.Cell>Joe</Table.Cell>\r\n * </Table.Row>\r\n * </Table.Body>\r\n * </Table>\r\n * ```\r\n */\r\nconst Table = Object.assign(TableComponent, {\r\n /** Table header: {@link TableHeaderProps} */\r\n Header: TableHeader,\r\n /** Table column: {@link TableColumnProps} */\r\n Column: TableColumn,\r\n /** Table body: {@link TableBodyProps} */\r\n Body: TableBody,\r\n /** Table row: {@link TableRowProps} */\r\n Row: TableRow,\r\n /** Table cell: {@link TableCellProps} */\r\n Cell: TableCell,\r\n});\r\n\r\nexport { Table };\r\nexport type {\r\n TableHeaderProps,\r\n TableColumnProps,\r\n TableBodyProps,\r\n TableRowProps,\r\n TableCellProps,\r\n};\r\n"],"names":["TableComponent","children","name","tableData","useMemo","parseTableChildren","collection","useTableCollection","jsxs","jsx","column","index","row","rowIndex","e","_a","colIndex","cell","c","Table","TableHeader","TableColumn","TableBody","TableRow","TableCell"],"mappings":";;;;;;AA+BA,MAAMA,IAAiB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAuB;AACzD,QAAMC,IAAuBC;AAAA,IAC3B,MAAMC,EAAmBJ,CAAQ;AAAA,IACjC,CAACA,CAAQ;AAAA,EAAA,GAELK,IAAaC,EAAmBJ,CAAS;AAG7C,SAAAK,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,iBAAeF,EAAW;AAAA,MAC1B,iBAAeA,EAAW,QAAQ;AAAA,MAClC,cAAYJ;AAAA,MAEZ,UAAA;AAAA,QAACO,gBAAAA,EAAA,IAAA,WAAA,EAAQ,WAAU,yBAAyB,UAAKP,GAAA;AAAA,QAGjDO,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAOH,EAAW,iBAAiB,EAAE,SAAS,OAAW,IAAA;AAAA,YAEzD,UAACG,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAU,4BAA2B,MAAK,OAAM,iBAAe,GAChE,UAAWH,EAAA,QAAQ,IAAI,CAACI,GAAQC,MAC/BF,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAU;AAAA,gBACV,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,iBAAeE,IAAQ;AAAA,gBACvB,aAAWD,EAAO;AAAA,gBAEjB,UAAOA,EAAA;AAAA,cAAA;AAAA,cAPHA,EAAO;AAAA,YASf,CAAA,GACH;AAAA,UAAA;AAAA,QACF;AAAA,QAGAD,gBAAAA,EAAAA,IAAC,SAAM,EAAA,WAAU,sBAAqB,MAAK,YACxC,UAAAH,EAAW,KAAK,IAAI,CAACM,GAAKC,MACzBJ,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,iBAAeH,EAAW,gBAAgBO,CAAQ;AAAA,YAClD,SAASD,KAAA,gBAAAA,EAAK;AAAA,YACd,UAAUA,KAAA,QAAAA,EAAK,UAAU,IAAI;AAAA,YAC7B,WACEA,KAAA,QAAAA,EAAK,UACD,CAACE,MAAM;;AACL,eAAIA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SAEjCA,EAAE,eAAe,IACjBC,IAAAH,EAAI,YAAJ,QAAAG,EAAA,KAAAH;AAAA,YAGJ,IAAA;AAAA,YAGL,UAAWN,EAAA,QAAQ,IAAI,CAACI,GAAQM,MAAa;AACtC,oBAAAC,IAAOL,EAAI,MAAM,KAAK,CAACM,MAAMA,EAAE,cAAcR,EAAO,GAAG;AAE3D,qBAAAD,gBAAAA,EAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,iBAAeO,IAAW;AAAA,kBAC1B,SAASC,KAAA,gBAAAA,EAAM;AAAA,kBAEd,kCAAM,UAAS;AAAA,gBAAA;AAAA,gBANXP,EAAO;AAAA,cAAA;AAAA,YAOd,CAEH;AAAA,UAAA;AAAA,UA/BIE,EAAI;AAAA,QAiCZ,CAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAyBMO,IAAQ,OAAO,OAAOnB,GAAgB;AAAA;AAAA,EAE1C,QAAQoB;AAAA;AAAA,EAER,QAAQC;AAAA;AAAA,EAER,MAAMC;AAAA;AAAA,EAEN,KAAKC;AAAA;AAAA,EAEL,MAAMC;AACR,CAAC;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../node_modules/react/jsx-runtime.cjs.js");;/* empty css */const o=require("../../../utils/string.cjs.js"),p=({children:e,maxWidth:i,singleLine:s=!0,lines:t=1,title:l,"data-testid":r})=>n.jsxRuntimeExports.jsx("div",{className:o.csx("proton-TextEllipsis",s||t===1?"proton-TextEllipsis--single-line":t>1?"proton-TextEllipsis--multi-line":""),style:{maxWidth:i,WebkitLineClamp:t},title:l,"data-testid":r,children:e});exports.TextEllipsis=p;
2
- //# sourceMappingURL=TextEllipsis.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEllipsis.cjs.js","sources":["../../../../src/components/Text/TextEllipsis/TextEllipsis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport { csx } from \"../../../utils\";\r\nimport \"./TextEllipsis.css\";\r\n\r\ninterface TextEllipsisProps {\r\n /**\r\n * The content to display within the text ellipsis.\r\n */\r\n children: ReactNode;\r\n\r\n /**\r\n * The maximum width of the text container in any valid CSS unit (px, rem, em, %, etc.).\r\n * When the container width is less than this value, text will be truncated with an ellipsis.\r\n */\r\n maxWidth?: string | number;\r\n\r\n /**\r\n * Whether to truncate the text to a single line. Default is true.\r\n * If false, the text will wrap to multiple lines.\r\n */\r\n singleLine?: boolean;\r\n\r\n /**\r\n * The number of lines to show before truncating with an ellipsis.\r\n * Only applies when singleLine is false.\r\n */\r\n lines?: number;\r\n\r\n /**\r\n * The title attribute to show on hover. If not provided and singleLine is true,\r\n * the children will be used as the title (if children is a string).\r\n */\r\n title?: string;\r\n\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with an ellipsis when it overflows its container.\r\n *\r\n * API:\r\n * - {@link TextEllipsisProps}\r\n */\r\nexport const TextEllipsis = ({\r\n children,\r\n maxWidth,\r\n singleLine = true,\r\n lines = 1,\r\n title,\r\n \"data-testid\": testId,\r\n}: TextEllipsisProps) => {\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-TextEllipsis\",\r\n singleLine || lines === 1\r\n ? \"proton-TextEllipsis--single-line\"\r\n : lines > 1\r\n ? \"proton-TextEllipsis--multi-line\"\r\n : \"\"\r\n )}\r\n style={{\r\n maxWidth: maxWidth,\r\n WebkitLineClamp: lines,\r\n }}\r\n title={title}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n"],"names":["TextEllipsis","children","maxWidth","singleLine","lines","title","testId","jsx","csx"],"mappings":"uOAgDaA,EAAe,CAAC,CAC3B,SAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,GACb,MAAAC,EAAQ,EACR,MAAAC,EACA,cAAeC,CACjB,IAEIC,EAAA,kBAAA,IAAC,MAAA,CACC,UAAWC,EAAA,IACT,sBACAL,GAAcC,IAAU,EACpB,mCACAA,EAAQ,EACN,kCACA,EACR,EACA,MAAO,CACL,SAAAF,EACA,gBAAiBE,CACnB,EACA,MAAAC,EACA,cAAaC,EAEZ,SAAAL,CAAA,CAAA"}
@@ -1,30 +0,0 @@
1
- import { j as p } from "../../../node_modules/react/jsx-runtime.es.js";
2
- /* empty css */
3
- import { csx as r } from "../../../utils/string.es.js";
4
- const n = ({
5
- children: i,
6
- maxWidth: s,
7
- singleLine: e = !0,
8
- lines: t = 1,
9
- title: o,
10
- "data-testid": l
11
- }) => /* @__PURE__ */ p.jsx(
12
- "div",
13
- {
14
- className: r(
15
- "proton-TextEllipsis",
16
- e || t === 1 ? "proton-TextEllipsis--single-line" : t > 1 ? "proton-TextEllipsis--multi-line" : ""
17
- ),
18
- style: {
19
- maxWidth: s,
20
- WebkitLineClamp: t
21
- },
22
- title: o,
23
- "data-testid": l,
24
- children: i
25
- }
26
- );
27
- export {
28
- n as TextEllipsis
29
- };
30
- //# sourceMappingURL=TextEllipsis.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEllipsis.es.js","sources":["../../../../src/components/Text/TextEllipsis/TextEllipsis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport { csx } from \"../../../utils\";\r\nimport \"./TextEllipsis.css\";\r\n\r\ninterface TextEllipsisProps {\r\n /**\r\n * The content to display within the text ellipsis.\r\n */\r\n children: ReactNode;\r\n\r\n /**\r\n * The maximum width of the text container in any valid CSS unit (px, rem, em, %, etc.).\r\n * When the container width is less than this value, text will be truncated with an ellipsis.\r\n */\r\n maxWidth?: string | number;\r\n\r\n /**\r\n * Whether to truncate the text to a single line. Default is true.\r\n * If false, the text will wrap to multiple lines.\r\n */\r\n singleLine?: boolean;\r\n\r\n /**\r\n * The number of lines to show before truncating with an ellipsis.\r\n * Only applies when singleLine is false.\r\n */\r\n lines?: number;\r\n\r\n /**\r\n * The title attribute to show on hover. If not provided and singleLine is true,\r\n * the children will be used as the title (if children is a string).\r\n */\r\n title?: string;\r\n\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with an ellipsis when it overflows its container.\r\n *\r\n * API:\r\n * - {@link TextEllipsisProps}\r\n */\r\nexport const TextEllipsis = ({\r\n children,\r\n maxWidth,\r\n singleLine = true,\r\n lines = 1,\r\n title,\r\n \"data-testid\": testId,\r\n}: TextEllipsisProps) => {\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-TextEllipsis\",\r\n singleLine || lines === 1\r\n ? \"proton-TextEllipsis--single-line\"\r\n : lines > 1\r\n ? \"proton-TextEllipsis--multi-line\"\r\n : \"\"\r\n )}\r\n style={{\r\n maxWidth: maxWidth,\r\n WebkitLineClamp: lines,\r\n }}\r\n title={title}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n"],"names":["TextEllipsis","children","maxWidth","singleLine","lines","title","testId","jsx","csx"],"mappings":";;;AAgDO,MAAMA,IAAe,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,eAAeC;AACjB,MAEIC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAL,KAAcC,MAAU,IACpB,qCACAA,IAAQ,IACN,oCACA;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,UAAAF;AAAA,MACA,iBAAiBE;AAAA,IACnB;AAAA,IACA,OAAAC;AAAA,IACA,eAAaC;AAAA,IAEZ,UAAAL;AAAA,EAAA;AAAA;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../node_modules/react/jsx-runtime.cjs.js");;/* empty css */const m=require("../../ThemeProvider.cjs.js"),u=require("../../Tooltip/Tooltip.cjs.js"),x=require("../../../utils/navigation.cjs.js"),c=require("../../../utils/string.cjs.js"),p=({to:e,children:n,tooltipProps:s,"data-testid":i})=>{const{className:a}=m.useTheme(),o=s?t.jsxRuntimeExports.jsx(u.TooltipTrigger,{delay:50,closeDelay:75,...s,children:n}):n;if(e){const r=x.isUrlExternal(e);return t.jsxRuntimeExports.jsx("span",{className:c.csx("proton-TextEmphasis",s&&"proton-TextEmphasis--tooltip",a),children:t.jsxRuntimeExports.jsx("a",{"data-testid":i,href:e,target:r?"_blank":void 0,rel:r?"noopener noreferrer":void 0,onClick:r?void 0:l=>x.handleInternalNavigation(l,e),children:o})})}return t.jsxRuntimeExports.jsx("span",{className:c.csx("proton-TextEmphasis",s&&"proton-TextEmphasis--tooltip",a),"data-testid":i,children:o})};exports.TextEmphasis=p;
2
- //# sourceMappingURL=TextEmphasis.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEmphasis.cjs.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { TooltipTrigger, TooltipTriggerProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipTriggerProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n * - extends {@link React.HTMLAttributes}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <TooltipTrigger delay={50} closeDelay={75} {...tooltipProps}>\r\n {children}\r\n </TooltipTrigger>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","TooltipTrigger","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":"uWAuCaA,EAAe,CAAC,CAC3B,GAAAC,EACA,SAAAC,EACA,aAAAC,EACA,cAAeC,CACjB,IAAyB,CACvB,KAAM,CAAE,UAAWC,CAAe,EAAIC,EAAS,SAAA,EAEzCC,EAAUJ,EACdK,EAAA,kBAAA,IAACC,EAAe,eAAA,CAAA,MAAO,GAAI,WAAY,GAAK,GAAGN,EAC5C,SAAAD,CACH,CAAA,EAEAA,EAGF,GAAID,EAAI,CACA,MAAAS,EAAaC,gBAAcV,CAAE,EAEjC,OAAAO,EAAA,kBAAA,IAAC,OAAA,CACC,UAAWI,EAAA,IACT,sBACAT,GAAgB,+BAChBE,CACF,EAEA,SAAAG,EAAA,kBAAA,IAAC,IAAA,CACC,cAAaJ,EACb,KAAMH,EACN,OAAQS,EAAa,SAAW,OAChC,IAAKA,EAAa,sBAAwB,OAC1C,QACGA,EAAsD,OAAxCG,GAAMC,EAAyB,yBAAAD,EAAGZ,CAAE,EAGpD,SAAAM,CAAA,CACH,CAAA,CAAA,CAGN,CAGE,OAAAC,EAAA,kBAAA,IAAC,OAAA,CACC,UAAWI,EAAA,IACT,sBACAT,GAAgB,+BAChBE,CACF,EACA,cAAaD,EAEZ,SAAAG,CAAA,CAAA,CAGP"}
@@ -1,54 +0,0 @@
1
- import { j as s } from "../../../node_modules/react/jsx-runtime.es.js";
2
- /* empty css */
3
- import { useTheme as p } from "../../ThemeProvider.es.js";
4
- import { TooltipTrigger as x } from "../../Tooltip/Tooltip.es.js";
5
- import { isUrlExternal as c, handleInternalNavigation as d } from "../../../utils/navigation.es.js";
6
- import { csx as m } from "../../../utils/string.es.js";
7
- const g = ({
8
- to: e,
9
- children: a,
10
- tooltipProps: t,
11
- "data-testid": o
12
- }) => {
13
- const { className: n } = p(), i = t ? /* @__PURE__ */ s.jsx(x, { delay: 50, closeDelay: 75, ...t, children: a }) : a;
14
- if (e) {
15
- const r = c(e);
16
- return /* @__PURE__ */ s.jsx(
17
- "span",
18
- {
19
- className: m(
20
- "proton-TextEmphasis",
21
- t && "proton-TextEmphasis--tooltip",
22
- n
23
- ),
24
- children: /* @__PURE__ */ s.jsx(
25
- "a",
26
- {
27
- "data-testid": o,
28
- href: e,
29
- target: r ? "_blank" : void 0,
30
- rel: r ? "noopener noreferrer" : void 0,
31
- onClick: r ? void 0 : (l) => d(l, e),
32
- children: i
33
- }
34
- )
35
- }
36
- );
37
- }
38
- return /* @__PURE__ */ s.jsx(
39
- "span",
40
- {
41
- className: m(
42
- "proton-TextEmphasis",
43
- t && "proton-TextEmphasis--tooltip",
44
- n
45
- ),
46
- "data-testid": o,
47
- children: i
48
- }
49
- );
50
- };
51
- export {
52
- g as TextEmphasis
53
- };
54
- //# sourceMappingURL=TextEmphasis.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEmphasis.es.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { TooltipTrigger, TooltipTriggerProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipTriggerProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n * - extends {@link React.HTMLAttributes}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <TooltipTrigger delay={50} closeDelay={75} {...tooltipProps}>\r\n {children}\r\n </TooltipTrigger>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","TooltipTrigger","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":";;;;;;AAuCO,MAAMA,IAAe,CAAC;AAAA,EAC3B,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAeC;AACjB,MAAyB;AACvB,QAAM,EAAE,WAAWC,EAAe,IAAIC,EAAS,GAEzCC,IAAUJ,IACdK,gBAAAA,EAAA,IAACC,GAAe,EAAA,OAAO,IAAI,YAAY,IAAK,GAAGN,GAC5C,UAAAD,EACH,CAAA,IAEAA;AAGF,MAAID,GAAI;AACA,UAAAS,IAAaC,EAAcV,CAAE;AAEjC,WAAAO,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,UACAT,KAAgB;AAAA,UAChBE;AAAA,QACF;AAAA,QAEA,UAAAG,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAaJ;AAAA,YACb,MAAMH;AAAA,YACN,QAAQS,IAAa,WAAW;AAAA,YAChC,KAAKA,IAAa,wBAAwB;AAAA,YAC1C,SACGA,IAAsD,SAAzC,CAACG,MAAMC,EAAyBD,GAAGZ,CAAE;AAAA,YAGpD,UAAAM;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AAGE,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWI;AAAA,QACT;AAAA,QACAT,KAAgB;AAAA,QAChBE;AAAA,MACF;AAAA,MACA,eAAaD;AAAA,MAEZ,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../node_modules/react/jsx-runtime.cjs.js"),s=require("react"),h=require("../design/lightTheme/colors.cjs.js"),l=require("../design/generateStylesheet.cjs.js"),d=require("../design/theme.cjs.js"),i=s.createContext(void 0),T=()=>{const e=s.useContext(i);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},x=({theme:e,children:u,palette:r=h.LIGHT_PALETTE})=>{const t=s.useRef(null),o=d.THEME_CLASSES[e],n=s.useMemo(()=>l.generateStylesheet(r,e),[r,e]);return s.useEffect(()=>{t.current&&(t.current.className=o,Object.entries(n).forEach(([a,m])=>{t.current.style.setProperty(a,m)}))},[e,o,r,n]),c.jsxRuntimeExports.jsx(i.Provider,{value:{theme:e,style:n,palette:r,className:o,hasPalette:!!r,themeProviderRef:t},children:c.jsxRuntimeExports.jsx("div",{ref:t,children:u})})};exports.ThemeProvider=x;exports.useTheme=T;
2
- //# sourceMappingURL=ThemeProvider.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider.cjs.js","sources":["../../src/components/ThemeProvider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, {\r\n createContext,\r\n ReactNode,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n} from \"react\";\r\n\r\nimport { THEME_CLASSES } from \"../design\";\r\nimport { LIGHT_PALETTE } from \"../design/lightTheme/colors\";\r\nimport { ProtonPalette, ProtonStyleSheet, ProtonTheme } from \"../design/types\";\r\nimport { generateStylesheet } from \"../design/generateStylesheet\";\r\n\r\ninterface ThemeContextType {\r\n theme: ProtonTheme;\r\n className: string;\r\n style: ProtonStyleSheet;\r\n palette: ProtonPalette;\r\n hasPalette?: boolean;\r\n themeProviderRef?: React.RefObject<HTMLDivElement>;\r\n}\r\n\r\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\r\n\r\nexport const useTheme = () => {\r\n const context = useContext(ThemeContext);\r\n if (context === undefined) {\r\n throw new Error(\"useTheme must be used within a ThemeProvider\");\r\n }\r\n return context;\r\n};\r\n\r\ninterface ThemeProviderProps {\r\n theme: ProtonTheme;\r\n children: ReactNode;\r\n palette?: ProtonPalette;\r\n}\r\n\r\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\r\n theme,\r\n children,\r\n palette = LIGHT_PALETTE,\r\n}) => {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const themeClass = THEME_CLASSES[theme];\r\n const themeVariables = useMemo(\r\n () => generateStylesheet(palette, theme),\r\n [palette, theme]\r\n );\r\n\r\n useEffect(() => {\r\n // Apply the theme class and css variables to the container div so that it is only scoped\r\n // to the ThemeProvider children.\r\n if (containerRef.current) {\r\n containerRef.current.className = themeClass;\r\n\r\n Object.entries(themeVariables).forEach(([key, value]) => {\r\n containerRef.current!.style.setProperty(key, value as string);\r\n });\r\n }\r\n }, [theme, themeClass, palette, themeVariables]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{\r\n theme,\r\n style: themeVariables,\r\n palette,\r\n className: themeClass,\r\n hasPalette: Boolean(palette),\r\n themeProviderRef: containerRef,\r\n }}\r\n >\r\n <div ref={containerRef}>{children}</div>\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n"],"names":["ThemeContext","createContext","useTheme","context","useContext","ThemeProvider","theme","children","palette","LIGHT_PALETTE","containerRef","useRef","themeClass","THEME_CLASSES","themeVariables","useMemo","generateStylesheet","useEffect","key","value","jsx"],"mappings":"oSAyBMA,EAAeC,EAAAA,cAA4C,MAAS,EAE7DC,EAAW,IAAM,CACtB,MAAAC,EAAUC,aAAWJ,CAAY,EACvC,GAAIG,IAAY,OACR,MAAA,IAAI,MAAM,8CAA8C,EAEzD,OAAAA,CACT,EAQaE,EAA8C,CAAC,CAAA,MAC1DC,EACA,SAAAC,EACA,QAAAC,EAAUC,EAAA,aACZ,IAAM,CACE,MAAAC,EAAeC,SAAuB,IAAI,EAC1CC,EAAaC,gBAAcP,CAAK,EAChCQ,EAAiBC,EAAA,QACrB,IAAMC,EAAmB,mBAAAR,EAASF,CAAK,EACvC,CAACE,EAASF,CAAK,CAAA,EAGjBW,OAAAA,EAAAA,UAAU,IAAM,CAGVP,EAAa,UACfA,EAAa,QAAQ,UAAYE,EAE1B,OAAA,QAAQE,CAAc,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CACvDT,EAAa,QAAS,MAAM,YAAYQ,EAAKC,CAAe,CAAA,CAC7D,IAEF,CAACb,EAAOM,EAAYJ,EAASM,CAAc,CAAC,EAG7CM,EAAA,kBAAA,IAACpB,EAAa,SAAb,CACC,MAAO,CAAA,MACLM,EACA,MAAOQ,EACP,QAAAN,EACA,UAAWI,EACX,WAAY,EAAQJ,EACpB,iBAAkBE,CACpB,EAEA,SAACU,EAAA,kBAAA,IAAA,MAAA,CAAI,IAAKV,EAAe,SAAAH,EAAS,CAAA,CAAA,CAGxC"}
@@ -1,43 +0,0 @@
1
- import { j as n } from "../node_modules/react/jsx-runtime.es.js";
2
- import { createContext as f, useContext as a, useRef as h, useMemo as d, useEffect as l } from "react";
3
- import { LIGHT_PALETTE as x } from "../design/lightTheme/colors.es.js";
4
- import { generateStylesheet as E } from "../design/generateStylesheet.es.js";
5
- import { THEME_CLASSES as T } from "../design/theme.es.js";
6
- const i = f(void 0), y = () => {
7
- const e = a(i);
8
- if (e === void 0)
9
- throw new Error("useTheme must be used within a ThemeProvider");
10
- return e;
11
- }, R = ({
12
- theme: e,
13
- children: c,
14
- palette: r = x
15
- }) => {
16
- const o = h(null), t = T[e], s = d(
17
- () => E(r, e),
18
- [r, e]
19
- );
20
- return l(() => {
21
- o.current && (o.current.className = t, Object.entries(s).forEach(([m, u]) => {
22
- o.current.style.setProperty(m, u);
23
- }));
24
- }, [e, t, r, s]), /* @__PURE__ */ n.jsx(
25
- i.Provider,
26
- {
27
- value: {
28
- theme: e,
29
- style: s,
30
- palette: r,
31
- className: t,
32
- hasPalette: !!r,
33
- themeProviderRef: o
34
- },
35
- children: /* @__PURE__ */ n.jsx("div", { ref: o, children: c })
36
- }
37
- );
38
- };
39
- export {
40
- R as ThemeProvider,
41
- y as useTheme
42
- };
43
- //# sourceMappingURL=ThemeProvider.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider.es.js","sources":["../../src/components/ThemeProvider.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, {\r\n createContext,\r\n ReactNode,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n} from \"react\";\r\n\r\nimport { THEME_CLASSES } from \"../design\";\r\nimport { LIGHT_PALETTE } from \"../design/lightTheme/colors\";\r\nimport { ProtonPalette, ProtonStyleSheet, ProtonTheme } from \"../design/types\";\r\nimport { generateStylesheet } from \"../design/generateStylesheet\";\r\n\r\ninterface ThemeContextType {\r\n theme: ProtonTheme;\r\n className: string;\r\n style: ProtonStyleSheet;\r\n palette: ProtonPalette;\r\n hasPalette?: boolean;\r\n themeProviderRef?: React.RefObject<HTMLDivElement>;\r\n}\r\n\r\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\r\n\r\nexport const useTheme = () => {\r\n const context = useContext(ThemeContext);\r\n if (context === undefined) {\r\n throw new Error(\"useTheme must be used within a ThemeProvider\");\r\n }\r\n return context;\r\n};\r\n\r\ninterface ThemeProviderProps {\r\n theme: ProtonTheme;\r\n children: ReactNode;\r\n palette?: ProtonPalette;\r\n}\r\n\r\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\r\n theme,\r\n children,\r\n palette = LIGHT_PALETTE,\r\n}) => {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const themeClass = THEME_CLASSES[theme];\r\n const themeVariables = useMemo(\r\n () => generateStylesheet(palette, theme),\r\n [palette, theme]\r\n );\r\n\r\n useEffect(() => {\r\n // Apply the theme class and css variables to the container div so that it is only scoped\r\n // to the ThemeProvider children.\r\n if (containerRef.current) {\r\n containerRef.current.className = themeClass;\r\n\r\n Object.entries(themeVariables).forEach(([key, value]) => {\r\n containerRef.current!.style.setProperty(key, value as string);\r\n });\r\n }\r\n }, [theme, themeClass, palette, themeVariables]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{\r\n theme,\r\n style: themeVariables,\r\n palette,\r\n className: themeClass,\r\n hasPalette: Boolean(palette),\r\n themeProviderRef: containerRef,\r\n }}\r\n >\r\n <div ref={containerRef}>{children}</div>\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n"],"names":["ThemeContext","createContext","useTheme","context","useContext","ThemeProvider","theme","children","palette","LIGHT_PALETTE","containerRef","useRef","themeClass","THEME_CLASSES","themeVariables","useMemo","generateStylesheet","useEffect","key","value","jsx"],"mappings":";;;;;AAyBA,MAAMA,IAAeC,EAA4C,MAAS,GAE7DC,IAAW,MAAM;AACtB,QAAAC,IAAUC,EAAWJ,CAAY;AACvC,MAAIG,MAAY;AACR,UAAA,IAAI,MAAM,8CAA8C;AAEzD,SAAAA;AACT,GAQaE,IAA8C,CAAC;AAAA,EAC1D,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAUC;AACZ,MAAM;AACE,QAAAC,IAAeC,EAAuB,IAAI,GAC1CC,IAAaC,EAAcP,CAAK,GAChCQ,IAAiBC;AAAA,IACrB,MAAMC,EAAmBR,GAASF,CAAK;AAAA,IACvC,CAACE,GAASF,CAAK;AAAA,EAAA;AAGjB,SAAAW,EAAU,MAAM;AAGd,IAAIP,EAAa,YACfA,EAAa,QAAQ,YAAYE,GAE1B,OAAA,QAAQE,CAAc,EAAE,QAAQ,CAAC,CAACI,GAAKC,CAAK,MAAM;AACvD,MAAAT,EAAa,QAAS,MAAM,YAAYQ,GAAKC,CAAe;AAAA,IAAA,CAC7D;AAAA,KAEF,CAACb,GAAOM,GAAYJ,GAASM,CAAc,CAAC,GAG7CM,gBAAAA,EAAA;AAAA,IAACpB,EAAa;AAAA,IAAb;AAAA,MACC,OAAO;AAAA,QACL,OAAAM;AAAA,QACA,OAAOQ;AAAA,QACP,SAAAN;AAAA,QACA,WAAWI;AAAA,QACX,YAAY,EAAQJ;AAAA,QACpB,kBAAkBE;AAAA,MACpB;AAAA,MAEA,UAACU,gBAAAA,EAAA,IAAA,OAAA,EAAI,KAAKV,GAAe,UAAAH,GAAS;AAAA,IAAA;AAAA,EAAA;AAGxC;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../node_modules/react/jsx-runtime.cjs.js");;/* empty css */const u=require("../ThemeProvider.cjs.js"),t=require("../../utils/color2k.cjs.js"),i=require("../../utils/string.cjs.js"),a=({width:o="100%",height:s="1.5rem",borderRadius:r="4px"})=>{const{hasPalette:n,palette:e}=u.useTheme(),m={"--tombstone-custom-background":e.PRIMARY.MEDIUM,"--tombstone-custom-primary":t.transparentize(e.PRIMARY.DARK,.9),"--tombstone-custom-secondary":t.transparentize(e.SECONDARY.DARK,.7)};return c.jsxRuntimeExports.jsx("div",{className:i.csx("proton-Tombstone",n&&"proton-Tombstone--custom"),style:{...m,width:o,height:s,borderRadius:r}})};exports.Tombstone=a;
2
- //# sourceMappingURL=Tombstone.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tombstone.cjs.js","sources":["../../../src/components/Tombstone/Tombstone.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport \"./Tombstone.css\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx, transparentize } from \"../../utils\";\r\n\r\nexport interface TombstoneProps {\r\n /**\r\n * The border radius of the tombstone.\r\n * @default \"4px\"\r\n */\r\n borderRadius?: string;\r\n /**\r\n * The height of the tombstone.\r\n * @default \"1.5rem\"\r\n */\r\n height?: string;\r\n /**\r\n * The width of the tombstone.\r\n * @default \"100%\"\r\n */\r\n width?: string;\r\n}\r\n\r\n/**\r\n * A component that displays a loading tombstone. For use as a placeholder while loading content.\r\n *\r\n * API:\r\n * - {@link TombstoneProps}\r\n */\r\nexport const Tombstone = ({\r\n width = \"100%\",\r\n height = \"1.5rem\",\r\n borderRadius = \"4px\",\r\n}: TombstoneProps) => {\r\n const { hasPalette, palette } = useTheme();\r\n\r\n const style = {\r\n \"--tombstone-custom-background\": palette.PRIMARY.MEDIUM,\r\n \"--tombstone-custom-primary\": transparentize(palette.PRIMARY.DARK, 0.9),\r\n \"--tombstone-custom-secondary\": transparentize(palette.SECONDARY.DARK, 0.7),\r\n } as React.CSSProperties;\r\n\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-Tombstone\",\r\n hasPalette && \"proton-Tombstone--custom\"\r\n )}\r\n style={{\r\n ...style,\r\n width,\r\n height,\r\n borderRadius,\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["Tombstone","width","height","borderRadius","hasPalette","palette","useTheme","style","transparentize","jsx","csx"],"mappings":"2SA8BaA,EAAY,CAAC,CACxB,MAAAC,EAAQ,OACR,OAAAC,EAAS,SACT,aAAAC,EAAe,KACjB,IAAsB,CACpB,KAAM,CAAE,WAAAC,EAAY,QAAAC,CAAQ,EAAIC,EAAS,SAAA,EAEnCC,EAAQ,CACZ,gCAAiCF,EAAQ,QAAQ,OACjD,6BAA8BG,EAAAA,eAAeH,EAAQ,QAAQ,KAAM,EAAG,EACtE,+BAAgCG,EAAAA,eAAeH,EAAQ,UAAU,KAAM,EAAG,CAAA,EAI1E,OAAAI,EAAA,kBAAA,IAAC,MAAA,CACC,UAAWC,EAAA,IACT,mBACAN,GAAc,0BAChB,EACA,MAAO,CACL,GAAGG,EACH,MAAAN,EACA,OAAAC,EACA,aAAAC,CACF,CAAA,CAAA,CAGN"}
@@ -1,35 +0,0 @@
1
- import { j as p } from "../../node_modules/react/jsx-runtime.es.js";
2
- /* empty css */
3
- import { useTheme as a } from "../ThemeProvider.es.js";
4
- import { transparentize as t } from "../../utils/color2k.es.js";
5
- import { csx as c } from "../../utils/string.es.js";
6
- const l = ({
7
- width: s = "100%",
8
- height: m = "1.5rem",
9
- borderRadius: e = "4px"
10
- }) => {
11
- const { hasPalette: r, palette: o } = a(), n = {
12
- "--tombstone-custom-background": o.PRIMARY.MEDIUM,
13
- "--tombstone-custom-primary": t(o.PRIMARY.DARK, 0.9),
14
- "--tombstone-custom-secondary": t(o.SECONDARY.DARK, 0.7)
15
- };
16
- return /* @__PURE__ */ p.jsx(
17
- "div",
18
- {
19
- className: c(
20
- "proton-Tombstone",
21
- r && "proton-Tombstone--custom"
22
- ),
23
- style: {
24
- ...n,
25
- width: s,
26
- height: m,
27
- borderRadius: e
28
- }
29
- }
30
- );
31
- };
32
- export {
33
- l as Tombstone
34
- };
35
- //# sourceMappingURL=Tombstone.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tombstone.es.js","sources":["../../../src/components/Tombstone/Tombstone.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport \"./Tombstone.css\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx, transparentize } from \"../../utils\";\r\n\r\nexport interface TombstoneProps {\r\n /**\r\n * The border radius of the tombstone.\r\n * @default \"4px\"\r\n */\r\n borderRadius?: string;\r\n /**\r\n * The height of the tombstone.\r\n * @default \"1.5rem\"\r\n */\r\n height?: string;\r\n /**\r\n * The width of the tombstone.\r\n * @default \"100%\"\r\n */\r\n width?: string;\r\n}\r\n\r\n/**\r\n * A component that displays a loading tombstone. For use as a placeholder while loading content.\r\n *\r\n * API:\r\n * - {@link TombstoneProps}\r\n */\r\nexport const Tombstone = ({\r\n width = \"100%\",\r\n height = \"1.5rem\",\r\n borderRadius = \"4px\",\r\n}: TombstoneProps) => {\r\n const { hasPalette, palette } = useTheme();\r\n\r\n const style = {\r\n \"--tombstone-custom-background\": palette.PRIMARY.MEDIUM,\r\n \"--tombstone-custom-primary\": transparentize(palette.PRIMARY.DARK, 0.9),\r\n \"--tombstone-custom-secondary\": transparentize(palette.SECONDARY.DARK, 0.7),\r\n } as React.CSSProperties;\r\n\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-Tombstone\",\r\n hasPalette && \"proton-Tombstone--custom\"\r\n )}\r\n style={{\r\n ...style,\r\n width,\r\n height,\r\n borderRadius,\r\n }}\r\n />\r\n );\r\n};\r\n"],"names":["Tombstone","width","height","borderRadius","hasPalette","palette","useTheme","style","transparentize","jsx","csx"],"mappings":";;;;;AA8BO,MAAMA,IAAY,CAAC;AAAA,EACxB,OAAAC,IAAQ;AAAA,EACR,QAAAC,IAAS;AAAA,EACT,cAAAC,IAAe;AACjB,MAAsB;AACpB,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAQ,IAAIC,EAAS,GAEnCC,IAAQ;AAAA,IACZ,iCAAiCF,EAAQ,QAAQ;AAAA,IACjD,8BAA8BG,EAAeH,EAAQ,QAAQ,MAAM,GAAG;AAAA,IACtE,gCAAgCG,EAAeH,EAAQ,UAAU,MAAM,GAAG;AAAA,EAAA;AAI1E,SAAAI,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAN,KAAc;AAAA,MAChB;AAAA,MACA,OAAO;AAAA,QACL,GAAGG;AAAA,QACH,OAAAN;AAAA,QACA,QAAAC;AAAA,QACA,cAAAC;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../node_modules/react/jsx-runtime.cjs.js"),h=require("../../node_modules/react-aria-components/dist/OverlayArrow.cjs.js"),T=require("../../node_modules/react-aria-components/dist/Tooltip.cjs.js"),R=require("react-aria"),a=require("react"),d=require("../ThemeProvider.cjs.js");;/* empty css */;/* empty css */const m=require("../../utils/string.cjs.js");function v({children:t,arrow:n,...u}){const{style:r,className:o}=d.useTheme();return e.jsxRuntimeExports.jsxs(T.Tooltip,{...u,className:m.csx("proton__Tooltip","proton-Dialog",o),style:r,children:[n&&e.jsxRuntimeExports.jsx(h.OverlayArrow,{className:m.csx("proton__TooltipArrow",o),children:e.jsxRuntimeExports.jsx("svg",{width:8,height:8,viewBox:"0 0 8 8",children:e.jsxRuntimeExports.jsx("path",{d:"M0 0 L4 4 L8 0"})})}),t]})}function E({children:t,delay:n=500,closeDelay:u=500,isDisabled:r,defaultOpen:o,onOpenChange:x,disableTriggerClick:p,content:j,...g}){const[l,s]=a.useState(!1),i=a.useRef(!1),f=a.useRef(!1);return j===""?null:e.jsxRuntimeExports.jsxs(T.TooltipTrigger,{delay:n,closeDelay:u,isDisabled:r,isOpen:l,defaultOpen:o,onOpenChange:c=>{c&&!i.current&&(f.current=!0),x&&x(c),i.current||s(c),i.current=!1},children:[p?e.jsxRuntimeExports.jsx("span",{className:"proton__TooltipTrigger","aria-label":"Show tooltip",children:t}):e.jsxRuntimeExports.jsx(R.Focusable,{children:e.jsxRuntimeExports.jsx("div",{role:"button","aria-label":"Show tooltip",className:"proton__TooltipTrigger","data-hovered":l,onMouseEnter:()=>{r||s(!0)},onMouseLeave:()=>{r||s(!1)},onClick:()=>{p||r||f.current||(i.current=!0,s(!l))},children:t})}),e.jsxRuntimeExports.jsx(v,{...g,children:j})]})}exports.TooltipTrigger=E;
2
- //# sourceMappingURL=Tooltip.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tooltip.cjs.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {\r\n Tooltip as AriaTooltip,\r\n TooltipProps as AriaTooltipProps,\r\n TooltipTrigger as AriaTooltipTrigger,\r\n Focusable,\r\n OverlayArrow,\r\n TooltipTriggerComponentProps,\r\n} from \"react-aria-components\";\r\n\r\nimport { useRef, useState } from \"react\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\n\r\nimport { csx } from \"../../utils\";\r\nimport \"../Dialog/Dialog.css\";\r\nimport \"./Tooltip.css\";\r\n\r\nexport interface TooltipProps extends Omit<AriaTooltipProps, \"children\"> {\r\n children: React.ReactNode;\r\n arrow?: boolean;\r\n}\r\n\r\nfunction Tooltip({ children, arrow, ...props }: TooltipProps) {\r\n const { style, className } = useTheme();\r\n\r\n return (\r\n <AriaTooltip\r\n {...props}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n >\r\n {arrow && (\r\n <OverlayArrow className={csx(\"proton__TooltipArrow\", className)}>\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </OverlayArrow>\r\n )}\r\n\r\n {children}\r\n </AriaTooltip>\r\n );\r\n}\r\n\r\nexport interface TooltipTriggerProps\r\n extends TooltipProps,\r\n TooltipTriggerComponentProps {\r\n children: React.ReactNode;\r\n /**\r\n * The content to display in the tooltip. Zero-length titles string are never displayed.\r\n */\r\n content: string | React.ReactNode;\r\n /**\r\n * Whether to disable the trigger click feature.\r\n */\r\n disableTriggerClick?: boolean;\r\n}\r\n\r\n/**\r\n * Proton's TooltipTrigger component deviates from the Aria TooltipTrigger in that on mobile,\r\n * the trigger also opens the tooltip on click as well as hover & focus. This is to improve\r\n * accessibility and usability on mobile.\r\n *\r\n * If you wish to disable the trigger click feature, you can set the `disableTriggerClick` prop.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n *\r\n * API:\r\n * - {@link TooltipTriggerProps}\r\n * - extends {@link TooltipProps}\r\n * - extends {@link TooltipTriggerComponentProps}\r\n *\r\n * @example\r\n * ```tsx\r\n <TooltipTrigger content={...} placement=\"top\" arrow isDisabled={disabled}>\r\n {children}\r\n </TooltipTrigger>\r\n * ```\r\n */\r\nexport function TooltipTrigger({\r\n children,\r\n // trigger props\r\n delay = 500,\r\n closeDelay = 500,\r\n isDisabled,\r\n defaultOpen,\r\n onOpenChange,\r\n disableTriggerClick,\r\n // tooltip props\r\n content,\r\n ...tooltipProps\r\n}: TooltipTriggerProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const triggerClickRef = useRef<boolean>(false);\r\n const hasHovered = useRef<boolean>(false);\r\n\r\n if (content === \"\") return null;\r\n\r\n return (\r\n <AriaTooltipTrigger\r\n delay={delay}\r\n closeDelay={closeDelay}\r\n isDisabled={isDisabled}\r\n isOpen={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={(openState) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n }}\r\n >\r\n {disableTriggerClick ? (\r\n <span className=\"proton__TooltipTrigger\" aria-label=\"Show tooltip\">\r\n {children}\r\n </span>\r\n ) : (\r\n <Focusable>\r\n <div\r\n role=\"button\"\r\n aria-label=\"Show tooltip\"\r\n className=\"proton__TooltipTrigger\"\r\n data-hovered={isOpen}\r\n onMouseEnter={() => {\r\n if (!isDisabled) {\r\n setIsOpen(true);\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n if (!isDisabled) {\r\n setIsOpen(false);\r\n }\r\n }}\r\n onClick={() => {\r\n if (disableTriggerClick || isDisabled) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </Focusable>\r\n )}\r\n <Tooltip {...tooltipProps}>{content}</Tooltip>\r\n </AriaTooltipTrigger>\r\n );\r\n}\r\n"],"names":["Tooltip","children","arrow","props","style","className","useTheme","jsxs","AriaTooltip","csx","jsx","OverlayArrow","TooltipTrigger","delay","closeDelay","isDisabled","defaultOpen","onOpenChange","disableTriggerClick","content","tooltipProps","isOpen","setIsOpen","useState","triggerClickRef","useRef","hasHovered","AriaTooltipTrigger","openState","Focusable"],"mappings":"4eAuBA,SAASA,EAAQ,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,GAAuB,CAC5D,KAAM,CAAE,MAAAC,EAAO,UAAAC,CAAU,EAAIC,EAAS,SAAA,EAGpC,OAAAC,EAAA,kBAAA,KAACC,EAAA,QAAA,CACE,GAAGL,EACJ,UAAWM,EAAA,IAAI,kBAAmB,gBAAiBJ,CAAS,EAC5D,MAAAD,EAEC,SAAA,CACCF,GAAAQ,EAAA,kBAAA,IAACC,gBAAa,UAAWF,EAAA,IAAI,uBAAwBJ,CAAS,EAC5D,iCAAC,MAAI,CAAA,MAAO,EAAG,OAAQ,EAAG,QAAQ,UAChC,SAAAK,EAAAA,kBAAAA,IAAC,QAAK,EAAE,iBAAiB,EAC3B,CACF,CAAA,EAGDT,CAAA,CAAA,CAAA,CAGP,CAoCO,SAASW,EAAe,CAC7B,SAAAX,EAEA,MAAAY,EAAQ,IACR,WAAAC,EAAa,IACb,WAAAC,EACA,YAAAC,EACA,aAAAC,EACA,oBAAAC,EAEA,QAAAC,EACA,GAAGC,CACL,EAAwB,CACtB,KAAM,CAACC,EAAQC,CAAS,EAAIC,WAAS,EAAK,EACpCC,EAAkBC,SAAgB,EAAK,EACvCC,EAAaD,SAAgB,EAAK,EAEpC,OAAAN,IAAY,GAAW,KAGzBZ,EAAA,kBAAA,KAACoB,EAAA,eAAA,CACC,MAAAd,EACA,WAAAC,EACA,WAAAC,EACA,OAAAM,EACA,YAAAL,EACA,aAAeY,GAAc,CAGvBA,GAAa,CAACJ,EAAgB,YAAoB,QAAU,IAE5DP,KAA2BW,CAAS,EAInCJ,EAAgB,SAASF,EAAUM,CAAS,EACjDJ,EAAgB,QAAU,EAC5B,EAEC,SAAA,CACCN,EAAAR,EAAAA,kBAAAA,IAAC,QAAK,UAAU,yBAAyB,aAAW,eACjD,SAAAT,CACH,CAAA,EAEAS,EAAAA,kBAAAA,IAACmB,EAAAA,UACC,CAAA,SAAAnB,EAAA,kBAAA,IAAC,MAAA,CACC,KAAK,SACL,aAAW,eACX,UAAU,yBACV,eAAcW,EACd,aAAc,IAAM,CACbN,GACHO,EAAU,EAAI,CAElB,EACA,aAAc,IAAM,CACbP,GACHO,EAAU,EAAK,CAEnB,EACA,QAAS,IAAM,CACTJ,GAAuBH,GAIvBW,EAAW,UAEfF,EAAgB,QAAU,GAC1BF,EAAU,CAACD,CAAM,EACnB,EAEC,SAAApB,CAAA,CAAA,EAEL,EAEDS,EAAA,kBAAA,IAAAV,EAAA,CAAS,GAAGoB,EAAe,SAAQD,CAAA,CAAA,CAAA,CAAA,CAAA,CAG1C"}