@frontify/fondue-components 27.0.1 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/fondue-components.js +62 -56
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +1 -1
  4. package/dist/fondue-components100.js +23 -6
  5. package/dist/fondue-components100.js.map +1 -1
  6. package/dist/fondue-components101.js +34 -12
  7. package/dist/fondue-components101.js.map +1 -1
  8. package/dist/fondue-components102.js +10 -70
  9. package/dist/fondue-components102.js.map +1 -1
  10. package/dist/fondue-components103.js +67 -14
  11. package/dist/fondue-components103.js.map +1 -1
  12. package/dist/fondue-components104.js +15 -7
  13. package/dist/fondue-components104.js.map +1 -1
  14. package/dist/fondue-components105.js +25 -88
  15. package/dist/fondue-components105.js.map +1 -1
  16. package/dist/fondue-components106.js +18 -80
  17. package/dist/fondue-components106.js.map +1 -1
  18. package/dist/fondue-components107.js +24 -30
  19. package/dist/fondue-components107.js.map +1 -1
  20. package/dist/fondue-components108.js +8 -20
  21. package/dist/fondue-components108.js.map +1 -1
  22. package/dist/fondue-components109.js +30 -39
  23. package/dist/fondue-components109.js.map +1 -1
  24. package/dist/fondue-components11.js +3 -3
  25. package/dist/fondue-components110.js +10 -0
  26. package/dist/fondue-components110.js.map +1 -0
  27. package/dist/fondue-components111.js +8 -0
  28. package/dist/fondue-components111.js.map +1 -0
  29. package/dist/fondue-components112.js +8 -0
  30. package/dist/fondue-components112.js.map +1 -0
  31. package/dist/fondue-components113.js +20 -0
  32. package/dist/fondue-components113.js.map +1 -0
  33. package/dist/fondue-components114.js +17 -0
  34. package/dist/fondue-components114.js.map +1 -0
  35. package/dist/fondue-components115.js +18 -0
  36. package/dist/fondue-components115.js.map +1 -0
  37. package/dist/fondue-components116.js +114 -0
  38. package/dist/fondue-components116.js.map +1 -0
  39. package/dist/fondue-components117.js +16 -0
  40. package/dist/fondue-components117.js.map +1 -0
  41. package/dist/fondue-components118.js +20 -0
  42. package/dist/fondue-components118.js.map +1 -0
  43. package/dist/fondue-components119.js +16 -0
  44. package/dist/fondue-components119.js.map +1 -0
  45. package/dist/fondue-components12.js +7 -37
  46. package/dist/fondue-components12.js.map +1 -1
  47. package/dist/fondue-components120.js +130 -0
  48. package/dist/fondue-components120.js.map +1 -0
  49. package/dist/fondue-components121.js +14 -0
  50. package/dist/fondue-components121.js.map +1 -0
  51. package/dist/fondue-components122.js +39 -0
  52. package/dist/fondue-components122.js.map +1 -0
  53. package/dist/fondue-components123.js +220 -0
  54. package/dist/fondue-components123.js.map +1 -0
  55. package/dist/fondue-components124.js +22 -0
  56. package/dist/fondue-components124.js.map +1 -0
  57. package/dist/fondue-components125.js +20 -0
  58. package/dist/fondue-components125.js.map +1 -0
  59. package/dist/fondue-components126.js +154 -0
  60. package/dist/fondue-components126.js.map +1 -0
  61. package/dist/fondue-components127.js +48 -0
  62. package/dist/fondue-components127.js.map +1 -0
  63. package/dist/fondue-components128.js +173 -0
  64. package/dist/fondue-components128.js.map +1 -0
  65. package/dist/fondue-components129.js +63 -0
  66. package/dist/fondue-components129.js.map +1 -0
  67. package/dist/fondue-components13.js +59 -118
  68. package/dist/fondue-components13.js.map +1 -1
  69. package/dist/fondue-components130.js +12 -0
  70. package/dist/fondue-components130.js.map +1 -0
  71. package/dist/fondue-components131.js +259 -0
  72. package/dist/fondue-components131.js.map +1 -0
  73. package/dist/fondue-components132.js +32 -0
  74. package/dist/fondue-components132.js.map +1 -0
  75. package/dist/fondue-components134.js +44 -0
  76. package/dist/fondue-components134.js.map +1 -0
  77. package/dist/fondue-components135.js +9 -0
  78. package/dist/fondue-components135.js.map +1 -0
  79. package/dist/fondue-components136.js +15 -0
  80. package/dist/fondue-components136.js.map +1 -0
  81. package/dist/fondue-components137.js +74 -0
  82. package/dist/fondue-components137.js.map +1 -0
  83. package/dist/fondue-components138.js +18 -0
  84. package/dist/fondue-components138.js.map +1 -0
  85. package/dist/fondue-components139.js +10 -0
  86. package/dist/fondue-components139.js.map +1 -0
  87. package/dist/fondue-components14.js +21 -21
  88. package/dist/fondue-components14.js.map +1 -1
  89. package/dist/fondue-components140.js +92 -0
  90. package/dist/fondue-components140.js.map +1 -0
  91. package/dist/fondue-components141.js +84 -0
  92. package/dist/fondue-components141.js.map +1 -0
  93. package/dist/fondue-components142.js +34 -0
  94. package/dist/fondue-components142.js.map +1 -0
  95. package/dist/fondue-components143.js +22 -0
  96. package/dist/fondue-components143.js.map +1 -0
  97. package/dist/fondue-components144.js +73 -0
  98. package/dist/fondue-components144.js.map +1 -0
  99. package/dist/fondue-components145.js +1355 -0
  100. package/dist/fondue-components145.js.map +1 -0
  101. package/dist/fondue-components146.js +944 -0
  102. package/dist/fondue-components146.js.map +1 -0
  103. package/dist/fondue-components147.js +201 -0
  104. package/dist/fondue-components147.js.map +1 -0
  105. package/dist/fondue-components148.js +24 -0
  106. package/dist/fondue-components148.js.map +1 -0
  107. package/dist/fondue-components149.js +43 -0
  108. package/dist/fondue-components149.js.map +1 -0
  109. package/dist/fondue-components15.js +121 -45
  110. package/dist/fondue-components15.js.map +1 -1
  111. package/dist/fondue-components150.js +71 -0
  112. package/dist/fondue-components150.js.map +1 -0
  113. package/dist/fondue-components151.js +34 -0
  114. package/dist/fondue-components151.js.map +1 -0
  115. package/dist/fondue-components152.js +12 -0
  116. package/dist/fondue-components152.js.map +1 -0
  117. package/dist/fondue-components153.js +156 -0
  118. package/dist/fondue-components153.js.map +1 -0
  119. package/dist/fondue-components154.js +111 -0
  120. package/dist/fondue-components154.js.map +1 -0
  121. package/dist/fondue-components155.js +19 -0
  122. package/dist/fondue-components155.js.map +1 -0
  123. package/dist/fondue-components156.js +19 -0
  124. package/dist/fondue-components156.js.map +1 -0
  125. package/dist/fondue-components157.js +32 -0
  126. package/dist/fondue-components157.js.map +1 -0
  127. package/dist/fondue-components158.js +16 -0
  128. package/dist/fondue-components158.js.map +1 -0
  129. package/dist/fondue-components159.js +10 -0
  130. package/dist/fondue-components159.js.map +1 -0
  131. package/dist/fondue-components16.js +35 -41
  132. package/dist/fondue-components16.js.map +1 -1
  133. package/dist/fondue-components17.js +44 -56
  134. package/dist/fondue-components17.js.map +1 -1
  135. package/dist/fondue-components18.js +40 -41
  136. package/dist/fondue-components18.js.map +1 -1
  137. package/dist/fondue-components19.js +56 -19
  138. package/dist/fondue-components19.js.map +1 -1
  139. package/dist/fondue-components20.js +42 -45
  140. package/dist/fondue-components20.js.map +1 -1
  141. package/dist/fondue-components21.js +18 -71
  142. package/dist/fondue-components21.js.map +1 -1
  143. package/dist/fondue-components22.js +46 -17
  144. package/dist/fondue-components22.js.map +1 -1
  145. package/dist/fondue-components23.js +68 -75
  146. package/dist/fondue-components23.js.map +1 -1
  147. package/dist/fondue-components24.js +70 -32
  148. package/dist/fondue-components24.js.map +1 -1
  149. package/dist/fondue-components25.js +17 -54
  150. package/dist/fondue-components25.js.map +1 -1
  151. package/dist/fondue-components26.js +77 -23
  152. package/dist/fondue-components26.js.map +1 -1
  153. package/dist/fondue-components27.js +34 -53
  154. package/dist/fondue-components27.js.map +1 -1
  155. package/dist/fondue-components28.js +52 -97
  156. package/dist/fondue-components28.js.map +1 -1
  157. package/dist/fondue-components29.js +23 -33
  158. package/dist/fondue-components29.js.map +1 -1
  159. package/dist/fondue-components3.js +1 -1
  160. package/dist/fondue-components30.js +52 -193
  161. package/dist/fondue-components30.js.map +1 -1
  162. package/dist/fondue-components31.js +89 -135
  163. package/dist/fondue-components31.js.map +1 -1
  164. package/dist/fondue-components32.js +30 -130
  165. package/dist/fondue-components32.js.map +1 -1
  166. package/dist/fondue-components33.js +191 -27
  167. package/dist/fondue-components33.js.map +1 -1
  168. package/dist/fondue-components34.js +144 -79
  169. package/dist/fondue-components34.js.map +1 -1
  170. package/dist/fondue-components35.js +125 -116
  171. package/dist/fondue-components35.js.map +1 -1
  172. package/dist/fondue-components36.js +32 -37
  173. package/dist/fondue-components36.js.map +1 -1
  174. package/dist/fondue-components37.js +77 -52
  175. package/dist/fondue-components37.js.map +1 -1
  176. package/dist/fondue-components38.js +123 -20
  177. package/dist/fondue-components38.js.map +1 -1
  178. package/dist/fondue-components39.js +34 -21
  179. package/dist/fondue-components39.js.map +1 -1
  180. package/dist/fondue-components4.js +3 -3
  181. package/dist/fondue-components40.js +56 -7
  182. package/dist/fondue-components40.js.map +1 -1
  183. package/dist/fondue-components41.js +20 -8
  184. package/dist/fondue-components41.js.map +1 -1
  185. package/dist/fondue-components42.js +26 -41
  186. package/dist/fondue-components42.js.map +1 -1
  187. package/dist/fondue-components43.js +7 -4
  188. package/dist/fondue-components43.js.map +1 -1
  189. package/dist/fondue-components44.js +8 -4
  190. package/dist/fondue-components44.js.map +1 -1
  191. package/dist/fondue-components45.js +41 -13
  192. package/dist/fondue-components45.js.map +1 -1
  193. package/dist/fondue-components46.js +5 -32
  194. package/dist/fondue-components46.js.map +1 -1
  195. package/dist/fondue-components47.js +4 -53
  196. package/dist/fondue-components47.js.map +1 -1
  197. package/dist/fondue-components48.js +12 -130
  198. package/dist/fondue-components48.js.map +1 -1
  199. package/dist/fondue-components49.js +32 -21
  200. package/dist/fondue-components49.js.map +1 -1
  201. package/dist/fondue-components5.js +2 -2
  202. package/dist/fondue-components50.js +54 -53
  203. package/dist/fondue-components50.js.map +1 -1
  204. package/dist/fondue-components51.js +130 -7
  205. package/dist/fondue-components51.js.map +1 -1
  206. package/dist/fondue-components52.js +21 -13
  207. package/dist/fondue-components52.js.map +1 -1
  208. package/dist/fondue-components53.js +53 -17
  209. package/dist/fondue-components53.js.map +1 -1
  210. package/dist/fondue-components54.js +7 -4
  211. package/dist/fondue-components54.js.map +1 -1
  212. package/dist/fondue-components55.js +13 -18
  213. package/dist/fondue-components55.js.map +1 -1
  214. package/dist/fondue-components56.js +16 -18
  215. package/dist/fondue-components56.js.map +1 -1
  216. package/dist/fondue-components57.js +1 -1
  217. package/dist/fondue-components58.js +18 -13
  218. package/dist/fondue-components58.js.map +1 -1
  219. package/dist/fondue-components59.js +18 -4
  220. package/dist/fondue-components59.js.map +1 -1
  221. package/dist/fondue-components6.js +1 -1
  222. package/dist/fondue-components60.js +43 -17
  223. package/dist/fondue-components60.js.map +1 -1
  224. package/dist/fondue-components61.js +24 -10
  225. package/dist/fondue-components61.js.map +1 -1
  226. package/dist/fondue-components62.js +22 -36
  227. package/dist/fondue-components62.js.map +1 -1
  228. package/dist/fondue-components63.js +6 -6
  229. package/dist/fondue-components64.js +1 -1
  230. package/dist/fondue-components65.js +10 -10
  231. package/dist/fondue-components66.js +3 -7
  232. package/dist/fondue-components66.js.map +1 -1
  233. package/dist/fondue-components67.js +16 -11
  234. package/dist/fondue-components67.js.map +1 -1
  235. package/dist/fondue-components68.js +10 -4
  236. package/dist/fondue-components68.js.map +1 -1
  237. package/dist/fondue-components69.js +36 -24
  238. package/dist/fondue-components69.js.map +1 -1
  239. package/dist/fondue-components7.js +1 -1
  240. package/dist/fondue-components70.js +6 -16
  241. package/dist/fondue-components70.js.map +1 -1
  242. package/dist/fondue-components71.js +5 -20
  243. package/dist/fondue-components71.js.map +1 -1
  244. package/dist/fondue-components72.js +13 -20
  245. package/dist/fondue-components72.js.map +1 -1
  246. package/dist/fondue-components73.js +52 -20
  247. package/dist/fondue-components73.js.map +1 -1
  248. package/dist/fondue-components74.js +44 -20
  249. package/dist/fondue-components74.js.map +1 -1
  250. package/dist/fondue-components75.js +6 -19
  251. package/dist/fondue-components75.js.map +1 -1
  252. package/dist/fondue-components76.js +6 -8
  253. package/dist/fondue-components76.js.map +1 -1
  254. package/dist/fondue-components77.js +13 -11
  255. package/dist/fondue-components77.js.map +1 -1
  256. package/dist/fondue-components78.js +27 -10
  257. package/dist/fondue-components78.js.map +1 -1
  258. package/dist/fondue-components79.js +13 -7
  259. package/dist/fondue-components79.js.map +1 -1
  260. package/dist/fondue-components8.js +5 -5
  261. package/dist/fondue-components80.js +4 -12
  262. package/dist/fondue-components80.js.map +1 -1
  263. package/dist/fondue-components81.js +12 -22
  264. package/dist/fondue-components81.js.map +1 -1
  265. package/dist/fondue-components82.js +48 -34
  266. package/dist/fondue-components82.js.map +1 -1
  267. package/dist/fondue-components83.js +22 -10
  268. package/dist/fondue-components83.js.map +1 -1
  269. package/dist/fondue-components84.js +623 -62
  270. package/dist/fondue-components84.js.map +1 -1
  271. package/dist/fondue-components85.js +8 -14
  272. package/dist/fondue-components85.js.map +1 -1
  273. package/dist/fondue-components86.js +12 -24
  274. package/dist/fondue-components86.js.map +1 -1
  275. package/dist/fondue-components87.js +4 -18
  276. package/dist/fondue-components87.js.map +1 -1
  277. package/dist/fondue-components88.js +24 -24
  278. package/dist/fondue-components88.js.map +1 -1
  279. package/dist/fondue-components89.js +16 -8
  280. package/dist/fondue-components89.js.map +1 -1
  281. package/dist/fondue-components9.js +5 -5
  282. package/dist/fondue-components90.js +20 -26
  283. package/dist/fondue-components90.js.map +1 -1
  284. package/dist/fondue-components91.js +20 -7
  285. package/dist/fondue-components91.js.map +1 -1
  286. package/dist/fondue-components92.js +20 -5
  287. package/dist/fondue-components92.js.map +1 -1
  288. package/dist/fondue-components93.js +20 -5
  289. package/dist/fondue-components93.js.map +1 -1
  290. package/dist/fondue-components94.js +19 -17
  291. package/dist/fondue-components94.js.map +1 -1
  292. package/dist/fondue-components95.js +8 -217
  293. package/dist/fondue-components95.js.map +1 -1
  294. package/dist/fondue-components96.js +10 -18
  295. package/dist/fondue-components96.js.map +1 -1
  296. package/dist/fondue-components97.js +10 -16
  297. package/dist/fondue-components97.js.map +1 -1
  298. package/dist/fondue-components98.js +6 -150
  299. package/dist/fondue-components98.js.map +1 -1
  300. package/dist/fondue-components99.js +12 -44
  301. package/dist/fondue-components99.js.map +1 -1
  302. package/dist/index.d.ts +201 -26
  303. package/dist/style.css +1 -1
  304. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components19.js","sources":["../src/components/LoadingCircle/LoadingCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ForwardedRef } from 'react';\n\nimport styles from './styles/loadingCircleStyles.module.scss';\n\nexport type LoadingCircleProps = {\n /**\n * The variant of the loading circle.\n * @default 'progress'\n */\n variant?: 'progress' | 'success' | 'danger';\n /**\n * The size of the loading circle\n * @default \"medium\"\n */\n size?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large';\n 'data-test-id'?: string;\n};\n\nexport const LoadingCircle = forwardRef<HTMLDivElement, LoadingCircleProps>(\n (\n {\n variant = 'progress',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-circle-content',\n }: LoadingCircleProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n return (\n <div\n ref={ref}\n data-test-id={dataTestId}\n data-variant={variant}\n data-size={size}\n className={styles.root}\n ></div>\n );\n },\n);\nLoadingCircle.displayName = 'LoadingCircle';\n"],"names":["LoadingCircle","forwardRef","variant","size","dataTestId","ref","jsx","styles"],"mappings":";;;AAoBO,MAAMA,IAAgBC;AAAA,EACzB,CACI;AAAA,IACI,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,EAAA,GAEjCC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,gBAAcD;AAAA,MACd,gBAAcF;AAAA,MACd,aAAWC;AAAA,MACX,WAAWI,EAAO;AAAA,IAAA;AAAA,EAAA;AAIlC;AACAP,EAAc,cAAc;"}
1
+ {"version":3,"file":"fondue-components19.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode, type MouseEvent, useCallback } from 'react';\n\nimport { useFondueRouter } from '../RouterProvider/RouterProvider';\n\nimport styles from './styles/link.module.scss';\n\ntype LinkSize = 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';\ntype LinkWeight = 'regular' | 'medium' | 'bold';\ntype LinkColor = 'primary' | 'secondary' | 'error' | 'success' | 'warning' | 'highlight';\ntype LinkOnContainerColor = 'secondary' | 'disabled' | 'error' | 'success' | 'warning' | 'highlight';\ntype LinkWrap = 'wrap' | 'nowrap';\ntype LinkUnderline = 'auto' | 'always' | 'hover' | 'none';\n\nexport type LinkProps = {\n children?: ReactNode;\n /**\n * The link to navigate to when clicked\n */\n href: string;\n /**\n * Id of the element\n */\n id?: string;\n /**\n * Size of the text\n *\n * @default 'medium'\n */\n size?: LinkSize;\n /**\n * Weight of the font\n *\n * @default 'regular'\n */\n weight?: LinkWeight;\n /**\n * Color of the text\n *\n * @default 'primary'\n */\n color?: LinkColor;\n /**\n * The texts color when used within a container\n *\n * @description optional color prop that uses the inverse container color when accessibility contrast is needed\n **/\n onContainer?: LinkOnContainerColor;\n /**\n * Truncate the text if it overflows\n */\n truncate?: boolean;\n /**\n * Wrap the text if it overflows\n * @default 'nowrap'\n */\n wrap?: LinkWrap;\n /**\n * Underline behavior of the link\n * @default 'auto'\n */\n underline?: LinkUnderline;\n /**\n * The target attribute for the link\n * @default '_self'\n */\n target?: string;\n /**\n * The rel attribute for the link\n * @default 'noopener noreferrer'\n */\n rel?: string;\n className?: string;\n onPress?: (event: MouseEvent<HTMLAnchorElement>) => void;\n 'data-test-id'?: string;\n /**\n * Aria label for the component.\n */\n 'aria-label'?: string;\n /**\n * Aria labelled by for the component.\n */\n 'aria-labelledby'?: string;\n /**\n * Aria described by for the component.\n */\n 'aria-describedby'?: string;\n /**\n * Aria details for extend description of the component.\n */\n 'aria-details'?: string;\n /**\n * Disable the link\n *\n * @default false\n */\n disabled?: boolean;\n};\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n id,\n className,\n children,\n size = 'medium',\n weight = 'regular',\n truncate = false,\n wrap = 'nowrap',\n underline = 'auto',\n color = 'primary',\n href,\n onContainer,\n onPress,\n disabled = false,\n ...props\n },\n ref,\n ) => {\n const { navigate, useHref } = useFondueRouter();\n const resolvedHref = useHref(href);\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onPress?.(event);\n\n if (href) {\n event.preventDefault();\n navigate(href);\n }\n },\n [href, navigate, onPress, disabled],\n );\n\n const computedColor = disabled\n ? styles.disabled\n : styles[onContainer ? `color-on-container-${onContainer}` : `color-${color}`];\n\n return (\n <a\n id={id}\n className={[\n styles.root,\n styles[`size-${size}`],\n styles[`weight-${weight}`],\n styles[`wrap-${wrap}`],\n styles[`underline-${underline}`],\n truncate && styles.truncate,\n computedColor,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n href={disabled ? undefined : resolvedHref}\n onClick={handleClick}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : undefined}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\nLink.displayName = 'Link';\n"],"names":["Link","forwardRef","id","className","children","size","weight","truncate","wrap","underline","color","href","onContainer","onPress","disabled","props","ref","navigate","useHref","useFondueRouter","resolvedHref","handleClick","useCallback","event","computedColor","styles","jsx"],"mappings":";;;;AAoGO,MAAMA,IAAOC;AAAA,EAChB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAM,EAAE,UAAAC,GAAU,SAAAC,EAAA,IAAYC,EAAA,GACxBC,IAAeF,EAAQP,CAAI,GAE3BU,IAAcC;AAAA,MAChB,CAACC,MAAyC;AACtC,YAAIT,GAAU;AACV,UAAAS,EAAM,eAAA;AACN;AAAA,QACJ;AACA,QAAAV,KAAA,QAAAA,EAAUU,IAENZ,MACAY,EAAM,eAAA,GACNN,EAASN,CAAI;AAAA,MAErB;AAAA,MACA,CAACA,GAAMM,GAAUJ,GAASC,CAAQ;AAAA,IAAA,GAGhCU,IAAgBV,IAChBW,EAAO,WACPA,EAAOb,IAAc,sBAAsBA,CAAW,KAAK,SAASF,CAAK,EAAE;AAEjF,WACI,gBAAAgB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,IAAAxB;AAAA,QACA,WAAW;AAAA,UACPuB,EAAO;AAAA,UACPA,EAAO,QAAQpB,CAAI,EAAE;AAAA,UACrBoB,EAAO,UAAUnB,CAAM,EAAE;AAAA,UACzBmB,EAAO,QAAQjB,CAAI,EAAE;AAAA,UACrBiB,EAAO,aAAahB,CAAS,EAAE;AAAA,UAC/BF,KAAYkB,EAAO;AAAA,UACnBD;AAAA,UACArB;AAAA,QAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACb,KAAAa;AAAA,QACA,MAAMF,IAAW,SAAYM;AAAA,QAC7B,SAASC;AAAA,QACT,iBAAeP,KAAY;AAAA,QAC3B,UAAUA,IAAW,KAAK;AAAA,QACzB,GAAGC;AAAA,QAEH,UAAAX;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AACAJ,EAAK,cAAc;"}
@@ -1,50 +1,47 @@
1
- import { jsxs as p, jsx as t } from "react/jsx-runtime";
2
- import { IconCross as f } from "@frontify/fondue-icons";
3
- import { useTranslation as N } from "./fondue-components39.js";
4
- import a from "./fondue-components65.js";
5
- const x = ({
6
- "aria-label": o,
7
- "data-test-id": r = "notice",
8
- variant: n = "default",
9
- emphasis: d = "default",
10
- size: e = "medium",
11
- icon: i,
12
- action: s,
13
- onDismiss: l,
14
- className: c = "",
15
- children: m
16
- }) => {
17
- const { t: u } = N();
18
- return /* @__PURE__ */ p(
19
- "div",
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-progress";
3
+ import { forwardRef as c } from "react";
4
+ import d from "./fondue-components70.js";
5
+ const g = c(
6
+ ({
7
+ value: a,
8
+ max: r = 100,
9
+ rounded: e = !0,
10
+ variant: i = "default",
11
+ size: n = "medium",
12
+ "data-test-id": s = "fondue-loading-bar",
13
+ ...l
14
+ }, m) => /* @__PURE__ */ t(
15
+ o.Root,
20
16
  {
21
- "data-component": "notice",
22
- "data-variant": n,
23
- "data-emphasis": d,
24
- "data-size": e,
25
- "data-test-id": r,
26
- className: [a.root, c].filter(Boolean).join(" "),
27
- role: "status",
28
- "aria-live": "polite",
29
- children: [
30
- i ? /* @__PURE__ */ t("div", { className: a.icon, children: i }) : null,
31
- /* @__PURE__ */ t("div", { className: a.content, children: m }),
32
- s ? /* @__PURE__ */ t("div", { className: a.action, children: s }) : null,
33
- l ? /* @__PURE__ */ t(
34
- "button",
35
- {
36
- type: "button",
37
- "aria-label": o || u("Notice_dismiss"),
38
- className: a.dismiss,
39
- onClick: l,
40
- children: /* @__PURE__ */ t(f, { size: e === "large" ? "20" : "16" })
41
- }
42
- ) : null
43
- ]
17
+ ref: m,
18
+ "data-test-id": s,
19
+ className: d.container,
20
+ "data-rounded": e,
21
+ "data-size": n,
22
+ "data-variant": i,
23
+ "aria-busy": a !== r,
24
+ value: a,
25
+ max: r,
26
+ style: {
27
+ "--loading-bar-value": a,
28
+ "--loading-bar-max": r,
29
+ "--loading-bar-proportion": "calc(var(--loading-bar-value) / var(--loading-bar-max))"
30
+ },
31
+ ...l,
32
+ children: /* @__PURE__ */ t(
33
+ o.Indicator,
34
+ {
35
+ className: d.indicator,
36
+ "data-variant": i,
37
+ "data-indeterminate": a === null
38
+ }
39
+ )
44
40
  }
45
- );
46
- };
41
+ )
42
+ );
43
+ g.displayName = "LoadingBar";
47
44
  export {
48
- x as Notice
45
+ g as LoadingBar
49
46
  };
50
47
  //# sourceMappingURL=fondue-components20.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components20.js","sources":["../src/components/Notice/Notice.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from './styles/notice.module.scss';\n\ntype NoticeVariant = 'default' | 'highlight' | 'positive' | 'danger' | 'warning';\n\ntype NoticeEmphasis = 'default' | 'strong' | 'weak';\n\ntype NoticeSize = 'medium' | 'large';\n\nexport type NoticeProps = {\n /**\n * @default 'default'\n */\n variant?: NoticeVariant;\n /**\n * @default 'default'\n */\n emphasis?: NoticeEmphasis;\n /**\n * @default 'medium'\n */\n size?: NoticeSize;\n /**\n * Leading icon element\n */\n icon?: ReactNode;\n /**\n * Action element (typically a button)\n */\n action?: ReactNode;\n /**\n * Callback when the dismiss button is clicked\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Custom aria-label for the dismiss button\n */\n 'aria-label'?: string;\n /**\n * Test ID for the component\n */\n 'data-test-id'?: string;\n /**\n * Additional CSS class\n */\n className?: string;\n /**\n * Message content\n */\n children: ReactNode;\n};\n\nexport const Notice = ({\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'notice',\n variant = 'default',\n emphasis = 'default',\n size = 'medium',\n icon,\n action,\n onDismiss,\n className = '',\n children,\n}: NoticeProps) => {\n const { t } = useTranslation();\n\n return (\n <div\n data-component=\"notice\"\n data-variant={variant}\n data-emphasis={emphasis}\n data-size={size}\n data-test-id={dataTestId}\n className={[styles.root, className].filter(Boolean).join(' ')}\n role=\"status\"\n aria-live=\"polite\"\n >\n {icon ? <div className={styles.icon}>{icon}</div> : null}\n <div className={styles.content}>{children}</div>\n {action ? <div className={styles.action}>{action}</div> : null}\n {onDismiss ? (\n <button\n type=\"button\"\n aria-label={ariaLabel || t('Notice_dismiss')}\n className={styles.dismiss}\n onClick={onDismiss}\n >\n <IconCross size={size === 'large' ? '20' : '16'} />\n </button>\n ) : null}\n </div>\n );\n};\n"],"names":["Notice","ariaLabel","dataTestId","variant","emphasis","size","icon","action","onDismiss","className","children","t","useTranslation","jsxs","styles","jsx","IconCross"],"mappings":";;;;AA0DO,MAAMA,IAAS,CAAC;AAAA,EACnB,cAAcC;AAAA,EACd,gBAAgBC,IAAa;AAAA,EAC7B,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACJ,MAAmB;AACf,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AAEd,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,kBAAe;AAAA,MACf,gBAAcV;AAAA,MACd,iBAAeC;AAAA,MACf,aAAWC;AAAA,MACX,gBAAcH;AAAA,MACd,WAAW,CAACY,EAAO,MAAML,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC5D,MAAK;AAAA,MACL,aAAU;AAAA,MAET,UAAA;AAAA,QAAAH,sBAAQ,OAAA,EAAI,WAAWQ,EAAO,MAAO,aAAK,IAAS;AAAA,QACpD,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAO,SAAU,UAAAJ,GAAS;AAAA,QACzCH,IAAS,gBAAAQ,EAAC,OAAA,EAAI,WAAWD,EAAO,QAAS,aAAO,IAAS;AAAA,QACzDN,IACG,gBAAAO;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,cAAYd,KAAaU,EAAE,gBAAgB;AAAA,YAC3C,WAAWG,EAAO;AAAA,YAClB,SAASN;AAAA,YAET,4BAACQ,GAAA,EAAU,MAAMX,MAAS,UAAU,OAAO,KAAA,CAAM;AAAA,UAAA;AAAA,QAAA,IAErD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
1
+ {"version":3,"file":"fondue-components20.js","sources":["../src/components/LoadingBar/LoadingBar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as ProgressRadixPrimitive from '@radix-ui/react-progress';\nimport { forwardRef, type CSSProperties, type ElementRef, type ForwardedRef } from 'react';\n\nimport styles from './styles/loadingBar.module.scss';\n\nexport type LoadingBarProps = {\n /**\n * The current value of the loading bar. If `null`, the loading bar will be in an indeterminate state.\n * @default null\n */\n value: number | null;\n /**\n * The maximum value of the loading bar\n * @default 100\n */\n max?: number;\n /**\n * @default 'fondue-loading-bar'\n */\n 'data-test-id'?: string;\n /**\n * Add rounded corners to the loading bar\n * @default true\n */\n rounded?: boolean;\n /**\n * The style of the loading bar\n * @default \"default\"\n */\n variant?: 'default' | 'positive' | 'negative';\n /**\n * The size of the loading bar\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large' | 'x-large';\n /**\n * The label of the loading bar for accessibility purposes\n */\n getValueLabel?: (value: number, max: number) => string;\n} & ({ 'aria-label': string } | { 'aria-labelledby': string });\n\nexport const LoadingBar = forwardRef<ElementRef<typeof ProgressRadixPrimitive.Root>, LoadingBarProps>(\n (\n {\n value,\n max = 100,\n rounded = true,\n variant = 'default',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-bar',\n ...props\n }: LoadingBarProps,\n ref: ForwardedRef<ElementRef<typeof ProgressRadixPrimitive.Root>>,\n ) => {\n return (\n <ProgressRadixPrimitive.Root\n ref={ref}\n data-test-id={dataTestId}\n className={styles.container}\n data-rounded={rounded}\n data-size={size}\n data-variant={variant}\n aria-busy={value !== max}\n value={value}\n max={max}\n style={\n {\n '--loading-bar-value': value,\n '--loading-bar-max': max,\n '--loading-bar-proportion': 'calc(var(--loading-bar-value) / var(--loading-bar-max))',\n } as CSSProperties\n }\n {...props}\n >\n <ProgressRadixPrimitive.Indicator\n className={styles.indicator}\n data-variant={variant}\n data-indeterminate={value === null}\n />\n </ProgressRadixPrimitive.Root>\n );\n },\n);\nLoadingBar.displayName = 'LoadingBar';\n"],"names":["LoadingBar","forwardRef","value","max","rounded","variant","size","dataTestId","props","ref","jsx","ProgressRadixPrimitive","styles"],"mappings":";;;;AA2CO,MAAMA,IAAaC;AAAA,EACtB,CACI;AAAA,IACI,OAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,IAC7B,GAAGC;AAAA,EAAA,GAEPC,MAGI,gBAAAC;AAAA,IAACC,EAAuB;AAAA,IAAvB;AAAA,MACG,KAAAF;AAAA,MACA,gBAAcF;AAAA,MACd,WAAWK,EAAO;AAAA,MAClB,gBAAcR;AAAA,MACd,aAAWE;AAAA,MACX,gBAAcD;AAAA,MACd,aAAWH,MAAUC;AAAA,MACrB,OAAAD;AAAA,MACA,KAAAC;AAAA,MACA,OACI;AAAA,QACI,uBAAuBD;AAAA,QACvB,qBAAqBC;AAAA,QACrB,4BAA4B;AAAA,MAAA;AAAA,MAGnC,GAAGK;AAAA,MAEJ,UAAA,gBAAAE;AAAA,QAACC,EAAuB;AAAA,QAAvB;AAAA,UACG,WAAWC,EAAO;AAAA,UAClB,gBAAcP;AAAA,UACd,sBAAoBH,MAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAClC;AAAA,EAAA;AAIhB;AACAF,EAAW,cAAc;"}
@@ -1,77 +1,24 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import * as m from "@radix-ui/react-radio-group";
3
- import { useFondueTheme as B } from "./fondue-components36.js";
4
- import u from "./fondue-components66.js";
5
- const R = ({
6
- asChild: t,
7
- children: a,
8
- className: i,
9
- disabled: e,
10
- emphasis: r = "default",
11
- onValueChange: s,
12
- orientation: o,
13
- readOnly: d,
14
- required: f,
15
- value: p,
16
- "data-test-id": L
17
- }) => {
18
- const { dir: N } = B();
19
- return /* @__PURE__ */ n(
20
- m.Root,
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as i } from "react";
3
+ import d from "./fondue-components71.js";
4
+ const s = i(
5
+ ({
6
+ variant: t = "progress",
7
+ size: a = "medium",
8
+ "data-test-id": r = "fondue-loading-circle-content"
9
+ }, o) => /* @__PURE__ */ e(
10
+ "div",
21
11
  {
22
- "aria-readonly": d,
23
- asChild: t,
24
- className: [i, t ? void 0 : u.root].filter(Boolean).join(" "),
25
- "data-emphasis": r,
26
- "data-readonly": d,
27
- "data-test-id": L,
28
- dir: N,
29
- disabled: e,
30
- onValueChange: s,
31
- orientation: o,
32
- required: f,
33
- value: p,
34
- onFocus: (l) => {
35
- if (d)
36
- return l.preventDefault(), l.target.blur(), !1;
37
- },
38
- children: a
12
+ ref: o,
13
+ "data-test-id": r,
14
+ "data-variant": t,
15
+ "data-size": a,
16
+ className: d.root
39
17
  }
40
- );
41
- };
42
- R.displayName = "RadioList.Root";
43
- const c = ({
44
- readOnly: t,
45
- disabled: a,
46
- value: i,
47
- id: e,
48
- "data-test-id": r,
49
- ...s
50
- }) => /* @__PURE__ */ n(
51
- m.Item,
52
- {
53
- onFocus: (o) => {
54
- if (t)
55
- return o.preventDefault(), o.target.blur(), !1;
56
- },
57
- "aria-readonly": t,
58
- className: u.item,
59
- "data-readonly": t,
60
- "data-test-id": r,
61
- disabled: a,
62
- id: e,
63
- value: i,
64
- ...s,
65
- children: /* @__PURE__ */ n(m.Indicator, { className: u.indicator })
66
- }
18
+ )
67
19
  );
68
- c.displayName = "RadioList.RadioButton";
69
- const g = {
70
- Root: R,
71
- RadioButton: c
72
- };
20
+ s.displayName = "LoadingCircle";
73
21
  export {
74
- g as RadioList,
75
- R as RadioListRoot
22
+ s as LoadingCircle
76
23
  };
77
24
  //# sourceMappingURL=fondue-components21.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components21.js","sources":["../src/components/RadioList/RadioList.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadioGroupPrimitve from '@radix-ui/react-radio-group';\nimport { type ReactNode } from 'react';\n\nimport { useFondueTheme } from '#/components/ThemeProvider/ThemeProvider';\n\nimport styles from './styles/radiolist.module.scss';\n\ntype RadioListRootProps = {\n asChild?: boolean;\n children?: ReactNode;\n className?: string;\n disabled?: boolean;\n emphasis?: 'default' | 'highlight';\n onValueChange?: (value: string) => void;\n orientation?: 'vertical' | 'horizontal';\n readOnly?: boolean;\n required?: boolean;\n value?: string;\n 'data-test-id'?: string;\n};\nexport const RadioListRoot = ({\n asChild,\n children,\n className,\n disabled,\n emphasis = 'default',\n onValueChange,\n orientation,\n readOnly,\n required,\n value,\n 'data-test-id': dataTestId,\n}: RadioListRootProps) => {\n const { dir } = useFondueTheme();\n\n return (\n <RadioGroupPrimitve.Root\n aria-readonly={readOnly}\n asChild={asChild}\n className={[className, asChild ? undefined : styles.root].filter(Boolean).join(' ')}\n data-emphasis={emphasis}\n data-readonly={readOnly}\n data-test-id={dataTestId}\n dir={dir}\n disabled={disabled}\n onValueChange={onValueChange}\n orientation={orientation}\n required={required}\n value={value}\n onFocus={(event) => {\n if (readOnly) {\n event.preventDefault();\n event.target.blur();\n return false;\n }\n }}\n >\n {children}\n </RadioGroupPrimitve.Root>\n );\n};\nRadioListRoot.displayName = 'RadioList.Root';\n\ntype RadioListRadioButtonProps = {\n disabled?: boolean;\n id: string;\n value: string;\n readOnly?: boolean;\n 'data-test-id'?: string;\n} & React.ComponentProps<typeof RadioGroupPrimitve.Item>;\n\nconst RadioListRadioButton = ({\n readOnly,\n disabled,\n value,\n id,\n 'data-test-id': dataTestId,\n ...restProps\n}: RadioListRadioButtonProps) => {\n return (\n <RadioGroupPrimitve.Item\n onFocus={(event) => {\n if (readOnly) {\n event.preventDefault();\n event.target.blur();\n return false;\n }\n }}\n aria-readonly={readOnly}\n className={styles.item}\n data-readonly={readOnly}\n data-test-id={dataTestId}\n disabled={disabled}\n id={id}\n value={value}\n {...restProps}\n >\n <RadioGroupPrimitve.Indicator className={styles.indicator} />\n </RadioGroupPrimitve.Item>\n );\n};\nRadioListRadioButton.displayName = 'RadioList.RadioButton';\n\nexport const RadioList = {\n Root: RadioListRoot,\n RadioButton: RadioListRadioButton,\n};\n"],"names":["RadioListRoot","asChild","children","className","disabled","emphasis","onValueChange","orientation","readOnly","required","value","dataTestId","dir","useFondueTheme","jsx","RadioGroupPrimitve","styles","event","RadioListRadioButton","id","restProps","RadioList"],"mappings":";;;;AAsBO,MAAMA,IAAgB,CAAC;AAAA,EAC1B,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAgBC;AACpB,MAA0B;AACtB,QAAM,EAAE,KAAAC,EAAA,IAAQC,EAAA;AAEhB,SACI,gBAAAC;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACG,iBAAeP;AAAA,MACf,SAAAP;AAAA,MACA,WAAW,CAACE,GAAWF,IAAU,SAAYe,EAAO,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAClF,iBAAeX;AAAA,MACf,iBAAeG;AAAA,MACf,gBAAcG;AAAA,MACd,KAAAC;AAAA,MACA,UAAAR;AAAA,MACA,eAAAE;AAAA,MACA,aAAAC;AAAA,MACA,UAAAE;AAAA,MACA,OAAAC;AAAA,MACA,SAAS,CAACO,MAAU;AAChB,YAAIT;AACA,iBAAAS,EAAM,eAAA,GACNA,EAAM,OAAO,KAAA,GACN;AAAA,MAEf;AAAA,MAEC,UAAAf;AAAA,IAAA;AAAA,EAAA;AAGb;AACAF,EAAc,cAAc;AAU5B,MAAMkB,IAAuB,CAAC;AAAA,EAC1B,UAAAV;AAAA,EACA,UAAAJ;AAAA,EACA,OAAAM;AAAA,EACA,IAAAS;AAAA,EACA,gBAAgBR;AAAA,EAChB,GAAGS;AACP,MAEQ,gBAAAN;AAAA,EAACC,EAAmB;AAAA,EAAnB;AAAA,IACG,SAAS,CAACE,MAAU;AAChB,UAAIT;AACA,eAAAS,EAAM,eAAA,GACNA,EAAM,OAAO,KAAA,GACN;AAAA,IAEf;AAAA,IACA,iBAAeT;AAAA,IACf,WAAWQ,EAAO;AAAA,IAClB,iBAAeR;AAAA,IACf,gBAAcG;AAAA,IACd,UAAAP;AAAA,IACA,IAAAe;AAAA,IACA,OAAAT;AAAA,IACC,GAAGU;AAAA,IAEJ,4BAACL,EAAmB,WAAnB,EAA6B,WAAWC,EAAO,UAAA,CAAW;AAAA,EAAA;AAAA;AAIvEE,EAAqB,cAAc;AAE5B,MAAMG,IAAY;AAAA,EACrB,MAAMrB;AAAA,EACN,aAAakB;AACjB;"}
1
+ {"version":3,"file":"fondue-components21.js","sources":["../src/components/LoadingCircle/LoadingCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ForwardedRef } from 'react';\n\nimport styles from './styles/loadingCircleStyles.module.scss';\n\nexport type LoadingCircleProps = {\n /**\n * The variant of the loading circle.\n * @default 'progress'\n */\n variant?: 'progress' | 'success' | 'danger';\n /**\n * The size of the loading circle\n * @default \"medium\"\n */\n size?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large';\n 'data-test-id'?: string;\n};\n\nexport const LoadingCircle = forwardRef<HTMLDivElement, LoadingCircleProps>(\n (\n {\n variant = 'progress',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-circle-content',\n }: LoadingCircleProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n return (\n <div\n ref={ref}\n data-test-id={dataTestId}\n data-variant={variant}\n data-size={size}\n className={styles.root}\n ></div>\n );\n },\n);\nLoadingCircle.displayName = 'LoadingCircle';\n"],"names":["LoadingCircle","forwardRef","variant","size","dataTestId","ref","jsx","styles"],"mappings":";;;AAoBO,MAAMA,IAAgBC;AAAA,EACzB,CACI;AAAA,IACI,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,EAAA,GAEjCC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,gBAAcD;AAAA,MACd,gBAAcF;AAAA,MACd,aAAWC;AAAA,MACX,WAAWI,EAAO;AAAA,IAAA;AAAA,EAAA;AAIlC;AACAP,EAAc,cAAc;"}
@@ -1,21 +1,50 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { createContext as i, useContext as s, useMemo as m } from "react";
3
- const e = i({
4
- navigate: () => {
5
- throw new Error("RouterProvider: `navigate` function is not implemented");
6
- },
7
- // eslint-disable-next-line @eslint-react/no-unnecessary-use-prefix
8
- useHref: () => {
9
- throw new Error("RouterProvider: `useHref` function is not implemented");
10
- }
11
- });
12
- e.displayName = "RouterContext";
13
- const a = () => s(e), x = ({ children: r, navigate: t, useHref: o }) => {
14
- const n = m(() => ({ navigate: t, useHref: o }), [t, o]);
15
- return /* @__PURE__ */ u(e.Provider, { value: n, children: r });
1
+ import { jsxs as p, jsx as t } from "react/jsx-runtime";
2
+ import { IconCross as f } from "@frontify/fondue-icons";
3
+ import { useTranslation as N } from "./fondue-components42.js";
4
+ import a from "./fondue-components72.js";
5
+ const x = ({
6
+ "aria-label": o,
7
+ "data-test-id": r = "notice",
8
+ variant: n = "default",
9
+ emphasis: d = "default",
10
+ size: e = "medium",
11
+ icon: i,
12
+ action: s,
13
+ onDismiss: l,
14
+ className: c = "",
15
+ children: m
16
+ }) => {
17
+ const { t: u } = N();
18
+ return /* @__PURE__ */ p(
19
+ "div",
20
+ {
21
+ "data-component": "notice",
22
+ "data-variant": n,
23
+ "data-emphasis": d,
24
+ "data-size": e,
25
+ "data-test-id": r,
26
+ className: [a.root, c].filter(Boolean).join(" "),
27
+ role: "status",
28
+ "aria-live": "polite",
29
+ children: [
30
+ i ? /* @__PURE__ */ t("div", { className: a.icon, children: i }) : null,
31
+ /* @__PURE__ */ t("div", { className: a.content, children: m }),
32
+ s ? /* @__PURE__ */ t("div", { className: a.action, children: s }) : null,
33
+ l ? /* @__PURE__ */ t(
34
+ "button",
35
+ {
36
+ type: "button",
37
+ "aria-label": o || u("Notice_dismiss"),
38
+ className: a.dismiss,
39
+ onClick: l,
40
+ children: /* @__PURE__ */ t(f, { size: e === "large" ? "20" : "16" })
41
+ }
42
+ ) : null
43
+ ]
44
+ }
45
+ );
16
46
  };
17
47
  export {
18
- x as RouterProvider,
19
- a as useFondueRouter
48
+ x as Notice
20
49
  };
21
50
  //# sourceMappingURL=fondue-components22.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components22.js","sources":["../src/components/RouterProvider/RouterProvider.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createContext, useContext, useMemo, type ReactNode } from 'react';\n\nexport type RouterProviderProps = {\n children: ReactNode;\n /**\n * Function to navigate to a specific path\n */\n navigate: (path: string) => void;\n /**\n * Function to resolves a URL against the current location.\n */\n useHref: (path: string) => string;\n};\n\nconst RouterContext = createContext<{\n navigate: (path: string) => void;\n useHref: (path: string) => string;\n}>({\n navigate: () => {\n throw new Error('RouterProvider: `navigate` function is not implemented');\n },\n // eslint-disable-next-line @eslint-react/no-unnecessary-use-prefix\n useHref: () => {\n throw new Error('RouterProvider: `useHref` function is not implemented');\n },\n});\nRouterContext.displayName = 'RouterContext';\n\nexport const useFondueRouter = () => {\n return useContext(RouterContext);\n};\n\nexport const RouterProvider = ({ children, navigate, useHref }: RouterProviderProps) => {\n const contextValue = useMemo(() => ({ navigate, useHref }), [navigate, useHref]);\n\n return <RouterContext.Provider value={contextValue}>{children}</RouterContext.Provider>;\n};\n"],"names":["RouterContext","createContext","useFondueRouter","useContext","RouterProvider","children","navigate","useHref","contextValue","useMemo"],"mappings":";;AAgBA,MAAMA,IAAgBC,EAGnB;AAAA,EACC,UAAU,MAAM;AACZ,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC5E;AAAA;AAAA,EAEA,SAAS,MAAM;AACX,UAAM,IAAI,MAAM,uDAAuD;AAAA,EAC3E;AACJ,CAAC;AACDD,EAAc,cAAc;AAErB,MAAME,IAAkB,MACpBC,EAAWH,CAAa,GAGtBI,IAAiB,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,SAAAC,QAAmC;AACpF,QAAMC,IAAeC,EAAQ,OAAO,EAAE,UAAAH,GAAU,SAAAC,MAAY,CAACD,GAAUC,CAAO,CAAC;AAE/E,2BAAQP,EAAc,UAAd,EAAuB,OAAOQ,GAAe,UAAAH,GAAS;AAClE;"}
1
+ {"version":3,"file":"fondue-components22.js","sources":["../src/components/Notice/Notice.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from './styles/notice.module.scss';\n\ntype NoticeVariant = 'default' | 'highlight' | 'positive' | 'danger' | 'warning';\n\ntype NoticeEmphasis = 'default' | 'strong' | 'weak';\n\ntype NoticeSize = 'medium' | 'large';\n\nexport type NoticeProps = {\n /**\n * @default 'default'\n */\n variant?: NoticeVariant;\n /**\n * @default 'default'\n */\n emphasis?: NoticeEmphasis;\n /**\n * @default 'medium'\n */\n size?: NoticeSize;\n /**\n * Leading icon element\n */\n icon?: ReactNode;\n /**\n * Action element (typically a button)\n */\n action?: ReactNode;\n /**\n * Callback when the dismiss button is clicked\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Custom aria-label for the dismiss button\n */\n 'aria-label'?: string;\n /**\n * Test ID for the component\n */\n 'data-test-id'?: string;\n /**\n * Additional CSS class\n */\n className?: string;\n /**\n * Message content\n */\n children: ReactNode;\n};\n\nexport const Notice = ({\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'notice',\n variant = 'default',\n emphasis = 'default',\n size = 'medium',\n icon,\n action,\n onDismiss,\n className = '',\n children,\n}: NoticeProps) => {\n const { t } = useTranslation();\n\n return (\n <div\n data-component=\"notice\"\n data-variant={variant}\n data-emphasis={emphasis}\n data-size={size}\n data-test-id={dataTestId}\n className={[styles.root, className].filter(Boolean).join(' ')}\n role=\"status\"\n aria-live=\"polite\"\n >\n {icon ? <div className={styles.icon}>{icon}</div> : null}\n <div className={styles.content}>{children}</div>\n {action ? <div className={styles.action}>{action}</div> : null}\n {onDismiss ? (\n <button\n type=\"button\"\n aria-label={ariaLabel || t('Notice_dismiss')}\n className={styles.dismiss}\n onClick={onDismiss}\n >\n <IconCross size={size === 'large' ? '20' : '16'} />\n </button>\n ) : null}\n </div>\n );\n};\n"],"names":["Notice","ariaLabel","dataTestId","variant","emphasis","size","icon","action","onDismiss","className","children","t","useTranslation","jsxs","styles","jsx","IconCross"],"mappings":";;;;AA0DO,MAAMA,IAAS,CAAC;AAAA,EACnB,cAAcC;AAAA,EACd,gBAAgBC,IAAa;AAAA,EAC7B,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACJ,MAAmB;AACf,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AAEd,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,kBAAe;AAAA,MACf,gBAAcV;AAAA,MACd,iBAAeC;AAAA,MACf,aAAWC;AAAA,MACX,gBAAcH;AAAA,MACd,WAAW,CAACY,EAAO,MAAML,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC5D,MAAK;AAAA,MACL,aAAU;AAAA,MAET,UAAA;AAAA,QAAAH,sBAAQ,OAAA,EAAI,WAAWQ,EAAO,MAAO,aAAK,IAAS;AAAA,QACpD,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAO,SAAU,UAAAJ,GAAS;AAAA,QACzCH,IAAS,gBAAAQ,EAAC,OAAA,EAAI,WAAWD,EAAO,QAAS,aAAO,IAAS;AAAA,QACzDN,IACG,gBAAAO;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,cAAYd,KAAaU,EAAE,gBAAgB;AAAA,YAC3C,WAAWG,EAAO;AAAA,YAClB,SAASN;AAAA,YAET,4BAACQ,GAAA,EAAU,MAAMX,MAAS,UAAU,OAAO,KAAA,CAAM;AAAA,UAAA;AAAA,QAAA,IAErD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -1,80 +1,73 @@
1
- import { jsxs as h, jsx as l } from "react/jsx-runtime";
2
- import * as a from "@radix-ui/react-scroll-area";
3
- import { forwardRef as p } from "react";
4
- import { useFondueTheme as u } from "./fondue-components36.js";
5
- import o from "./fondue-components67.js";
1
+ import { jsx as m, jsxs as x } from "react/jsx-runtime";
2
+ import { AxisModifier as O } from "./fondue-components73.js";
3
+ import { DragDropProvider as g } from "@dnd-kit/react";
4
+ import { forwardRef as A, useMemo as H } from "react";
5
+ import { OrderableListItem as R } from "./fondue-components74.js";
6
+ import { OrderableListItemAction as y } from "./fondue-components75.js";
7
+ import { OrderableListItemDecorator as $ } from "./fondue-components76.js";
8
+ import { OrderableListItemDescription as h } from "./fondue-components77.js";
9
+ import { OrderableItemDragHandle as w, OrderableItemCustomHandle as E } from "./fondue-components78.js";
10
+ import { OrderableListItemTitle as M } from "./fondue-components79.js";
11
+ import { getItemTitle as N } from "./fondue-components80.js";
12
+ import { useAnnounceState as S, OrderableListAnnounceProvider as T } from "./fondue-components81.js";
13
+ import { useOrderedListItems as j } from "./fondue-components82.js";
14
+ import c from "./fondue-components83.js";
15
+ import { isSortable as P } from "./fondue-components84.js";
6
16
  const f = ({
7
- type: t = "hover",
8
- maxHeight: e = "100%",
9
- maxWidth: s = "100%",
10
- showShadow: c = !1,
11
- scrollbarGutter: i = "auto",
12
- padding: m,
13
- children: n,
14
- "data-test-id": r = "fondue-scroll-area"
15
- }, d) => {
16
- const { dir: b } = u();
17
- return /* @__PURE__ */ h(
18
- a.Root,
19
- {
20
- type: t,
21
- dir: b,
22
- className: o.root,
23
- style: { maxWidth: s },
24
- "data-component": "scroll-area",
25
- "data-test-id": r,
26
- children: [
27
- /* @__PURE__ */ l(
28
- a.Viewport,
29
- {
30
- ref: d,
31
- className: o.viewport,
32
- style: { maxHeight: e },
33
- "data-scroll-padding": m,
34
- "data-show-shadow": c,
35
- "data-scrollbar-type": t,
36
- "data-scrollbar-gutter": i,
37
- "data-test-id": `${r}-viewport`,
38
- children: n
39
- }
40
- ),
41
- /* @__PURE__ */ l(
42
- a.Scrollbar,
43
- {
44
- className: o.scrollbar,
45
- orientation: "vertical",
46
- "data-test-id": `${r}-vertical-scrollbar`,
47
- children: /* @__PURE__ */ l(
48
- a.Thumb,
49
- {
50
- className: o.thumb,
51
- "data-test-id": `${r}-vertical-scrollbar-thumb`
52
- }
53
- )
54
- }
55
- ),
56
- /* @__PURE__ */ l(
57
- a.Scrollbar,
58
- {
59
- className: o.scrollbar,
60
- orientation: "horizontal",
61
- "data-test-id": `${r}-horizontal-scrollbar`,
62
- children: /* @__PURE__ */ l(
63
- a.Thumb,
64
- {
65
- className: o.thumb,
66
- "data-test-id": `${r}-horizontal-scrollbar-thumb`
67
- }
68
- )
69
- }
70
- ),
71
- /* @__PURE__ */ l(a.Corner, { className: o.corner, "data-test-id": `${r}-corner` })
72
- ]
73
- }
17
+ children: p,
18
+ spacing: b = "comfortable",
19
+ direction: e = "vertical",
20
+ order: r = [],
21
+ onOrderChange: t,
22
+ "aria-label": u = "Sortable list"
23
+ }, I) => {
24
+ const D = j(p, r), { message: L, announce: l } = S(), v = H(
25
+ () => O.configure({ axis: e === "vertical" ? "x" : "y", value: 0 }),
26
+ [e]
74
27
  );
75
- }, N = p(f);
76
- N.displayName = "ScrollArea";
28
+ return /* @__PURE__ */ m(T, { value: l, children: /* @__PURE__ */ x(g, { onDragEnd: (d) => {
29
+ if (d.canceled)
30
+ return;
31
+ const { source: n } = d.operation;
32
+ if (P(n)) {
33
+ const { initialIndex: o, index: i } = n;
34
+ if (o !== i) {
35
+ const a = [...r], [s] = a.splice(o, 1);
36
+ s && (a.splice(i, 0, s), t == null || t(a), l(
37
+ `${N(s)} dropped, moved from position ${o + 1} to ${i + 1} of ${r.length}`
38
+ ));
39
+ }
40
+ }
41
+ }, modifiers: [v], children: [
42
+ /* @__PURE__ */ m(
43
+ "ul",
44
+ {
45
+ className: c.root,
46
+ "aria-roledescription": "sortable list",
47
+ "aria-label": u,
48
+ "data-spacing": b,
49
+ "data-direction": e,
50
+ "data-test-id": "fondue-orderable-list",
51
+ ref: I,
52
+ children: D
53
+ }
54
+ ),
55
+ /* @__PURE__ */ m("div", { "aria-live": "polite", "aria-atomic": "true", className: c.visuallyHidden, children: L })
56
+ ] }) });
57
+ };
58
+ f.displayName = "OrderableList";
59
+ const F = A(f), ee = {
60
+ Root: F,
61
+ Item: R,
62
+ ItemAction: y,
63
+ CustomHandle: E,
64
+ DragHandle: w,
65
+ ItemTitle: M,
66
+ ItemDescription: h,
67
+ ItemDecorator: $
68
+ };
77
69
  export {
78
- N as ScrollArea
70
+ ee as OrderableList,
71
+ f as OrderableListRoot
79
72
  };
80
73
  //# sourceMappingURL=fondue-components23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components23.js","sources":["../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { type ForwardedRef, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport { useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/scrollArea.module.scss';\n\nexport type ScrollAreaProps = {\n /**\n * \"auto\" visible when content is overflowing on the corresponding orientation.\n * \"always\" always visible regardless of whether the content is overflowing. Sets the scrollbar gutter to stable.\n * \"scroll\" visible when the user is scrolling along its corresponding orientation.\n * \"hover\" when the user is hovering over the scroll area.\n * @default 'hover'\n */\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n /**\n * Determines if the scrollbar should take up space in the content area\n * @default 'auto'\n */\n scrollbarGutter?: 'auto' | 'stable' | 'stable-horizontal' | 'stable-vertical';\n /**\n * Maximum height of the scroll area\n * @default '100%'\n */\n maxHeight?: string | number;\n /**\n * Minimum width of the scroll area\n * @default '100%'\n */\n maxWidth?: string | number;\n /**\n * Define the padding of the scroll area\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Determines if a inset shadow should be shown the edge of the component\n */\n showShadow?: boolean;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nconst ScrollAreaComponent = (\n {\n type = 'hover',\n maxHeight = '100%',\n maxWidth = '100%',\n showShadow = false,\n scrollbarGutter = 'auto',\n padding,\n children,\n 'data-test-id': dataTestId = 'fondue-scroll-area',\n }: ScrollAreaProps,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement => {\n const { dir } = useFondueTheme();\n\n return (\n <RadixScrollArea.Root\n type={type}\n dir={dir}\n className={styles.root}\n style={{ maxWidth }}\n data-component=\"scroll-area\"\n data-test-id={dataTestId}\n >\n <RadixScrollArea.Viewport\n ref={ref}\n className={styles.viewport}\n style={{ maxHeight }}\n data-scroll-padding={padding}\n data-show-shadow={showShadow}\n data-scrollbar-type={type}\n data-scrollbar-gutter={scrollbarGutter}\n data-test-id={`${dataTestId}-viewport`}\n >\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"vertical\"\n data-test-id={`${dataTestId}-vertical-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-vertical-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"horizontal\"\n data-test-id={`${dataTestId}-horizontal-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-horizontal-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={styles.corner} data-test-id={`${dataTestId}-corner`} />\n </RadixScrollArea.Root>\n );\n};\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(ScrollAreaComponent);\nScrollArea.displayName = 'ScrollArea';\n"],"names":["ScrollAreaComponent","type","maxHeight","maxWidth","showShadow","scrollbarGutter","padding","children","dataTestId","ref","dir","useFondueTheme","jsxs","RadixScrollArea","styles","jsx","ScrollArea","forwardRef"],"mappings":";;;;;AA8CA,MAAMA,IAAsB,CACxB;AAAA,EACI,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,iBAAAC,IAAkB;AAAA,EAClB,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,GACAC,MACe;AACf,QAAM,EAAE,KAAAC,EAAA,IAAQC,EAAA;AAEhB,SACI,gBAAAC;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACG,MAAAZ;AAAA,MACA,KAAAS;AAAA,MACA,WAAWI,EAAO;AAAA,MAClB,OAAO,EAAE,UAAAX,EAAA;AAAA,MACT,kBAAe;AAAA,MACf,gBAAcK;AAAA,MAEd,UAAA;AAAA,QAAA,gBAAAO;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,KAAAJ;AAAA,YACA,WAAWK,EAAO;AAAA,YAClB,OAAO,EAAE,WAAAZ,EAAA;AAAA,YACT,uBAAqBI;AAAA,YACrB,oBAAkBF;AAAA,YAClB,uBAAqBH;AAAA,YACrB,yBAAuBI;AAAA,YACvB,gBAAc,GAAGG,CAAU;AAAA,YAE1B,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,QAEL,gBAAAQ;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,WAAWC,EAAO;AAAA,YAClB,aAAY;AAAA,YACZ,gBAAc,GAAGN,CAAU;AAAA,YAE3B,UAAA,gBAAAO;AAAA,cAACF,EAAgB;AAAA,cAAhB;AAAA,gBACG,WAAWC,EAAO;AAAA,gBAClB,gBAAc,GAAGN,CAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,QAEJ,gBAAAO;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,WAAWC,EAAO;AAAA,YAClB,aAAY;AAAA,YACZ,gBAAc,GAAGN,CAAU;AAAA,YAE3B,UAAA,gBAAAO;AAAA,cAACF,EAAgB;AAAA,cAAhB;AAAA,gBACG,WAAWC,EAAO;AAAA,gBAClB,gBAAc,GAAGN,CAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,QAEJ,gBAAAO,EAACF,EAAgB,QAAhB,EAAuB,WAAWC,EAAO,QAAQ,gBAAc,GAAGN,CAAU,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpG,GAEaQ,IAAaC,EAA4CjB,CAAmB;AACzFgB,EAAW,cAAc;"}
1
+ {"version":3,"file":"fondue-components23.js","sources":["../src/components/OrderableList/OrderableList.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AxisModifier } from '@dnd-kit/abstract/modifiers';\nimport { DragDropProvider, type DragEndEvent } from '@dnd-kit/react';\nimport { isSortable } from '@dnd-kit/react/sortable';\nimport { forwardRef, useMemo, type ForwardedRef, type ReactNode } from 'react';\n\nimport { OrderableListItem } from './OrderableListItem';\nimport { OrderableListItemAction } from './OrderableListItemAction';\nimport { OrderableListItemDecorator } from './OrderableListItemDecorator';\nimport { OrderableListItemDescription } from './OrderableListItemDescription';\nimport { OrderableItemCustomHandle, OrderableItemDragHandle } from './OrderableListItemDragHandle';\nimport { OrderableListItemTitle } from './OrderableListItemTitle';\nimport { getItemTitle } from './helpers/getItemTitle';\nimport { OrderableListAnnounceProvider, useAnnounceState } from './hooks/useOrderableListAnnounce';\nimport { useOrderedListItems } from './hooks/useOrderedListItems';\nimport styles from './styles/orderable-list.module.scss';\n\ntype OrderableListItemSpacing = 'tight' | 'compact' | 'comfortable';\ntype OrderableListDirection = 'vertical' | 'horizontal';\ntype OrderableListProps = {\n children: ReactNode;\n spacing?: OrderableListItemSpacing;\n direction?: OrderableListDirection;\n order: string[];\n onOrderChange?: (order: string[]) => void;\n 'aria-label'?: string;\n};\n\nexport const OrderableListRoot = (\n {\n children,\n spacing = 'comfortable',\n direction = 'vertical',\n order = [],\n onOrderChange,\n 'aria-label': ariaLabel = 'Sortable list',\n }: OrderableListProps,\n ref: ForwardedRef<HTMLUListElement>,\n) => {\n const orderedItems = useOrderedListItems(children, order);\n const { message, announce } = useAnnounceState();\n\n // Lock the cross-axis to prevent drift: vertical lists lock x, horizontal lists lock y\n const axisModifier = useMemo(\n () => AxisModifier.configure({ axis: direction === 'vertical' ? 'x' : 'y', value: 0 }),\n [direction],\n );\n\n const handleDragEnd: DragEndEvent = (event) => {\n if (event.canceled) {\n return;\n }\n const { source } = event.operation;\n if (isSortable(source)) {\n const { initialIndex, index } = source;\n if (initialIndex !== index) {\n const newItems = [...order];\n const [removed] = newItems.splice(initialIndex, 1);\n if (removed) {\n newItems.splice(index, 0, removed);\n onOrderChange?.(newItems);\n announce(\n `${getItemTitle(removed)} dropped, moved from position ${initialIndex + 1} to ${index + 1} of ${order.length}`,\n );\n }\n }\n }\n };\n\n return (\n <OrderableListAnnounceProvider value={announce}>\n <DragDropProvider onDragEnd={handleDragEnd} modifiers={[axisModifier]}>\n <ul\n className={styles.root}\n aria-roledescription=\"sortable list\"\n aria-label={ariaLabel}\n data-spacing={spacing}\n data-direction={direction}\n data-test-id=\"fondue-orderable-list\"\n ref={ref}\n >\n {orderedItems}\n </ul>\n <div aria-live=\"polite\" aria-atomic=\"true\" className={styles.visuallyHidden}>\n {message}\n </div>\n </DragDropProvider>\n </OrderableListAnnounceProvider>\n );\n};\nOrderableListRoot.displayName = 'OrderableList';\nconst ForwardedRefOrderableListRoot = forwardRef<HTMLUListElement, OrderableListProps>(OrderableListRoot);\n\nexport const OrderableList: {\n Root: typeof ForwardedRefOrderableListRoot;\n Item: typeof OrderableListItem;\n ItemAction: typeof OrderableListItemAction;\n CustomHandle: typeof OrderableItemCustomHandle;\n DragHandle: typeof OrderableItemDragHandle;\n ItemTitle: typeof OrderableListItemTitle;\n ItemDescription: typeof OrderableListItemDescription;\n ItemDecorator: typeof OrderableListItemDecorator;\n} = {\n Root: ForwardedRefOrderableListRoot,\n Item: OrderableListItem,\n ItemAction: OrderableListItemAction,\n CustomHandle: OrderableItemCustomHandle,\n DragHandle: OrderableItemDragHandle,\n ItemTitle: OrderableListItemTitle,\n ItemDescription: OrderableListItemDescription,\n ItemDecorator: OrderableListItemDecorator,\n};\n"],"names":["OrderableListRoot","children","spacing","direction","order","onOrderChange","ariaLabel","ref","orderedItems","useOrderedListItems","message","announce","useAnnounceState","axisModifier","useMemo","AxisModifier","jsx","OrderableListAnnounceProvider","jsxs","DragDropProvider","event","source","isSortable","initialIndex","index","newItems","removed","getItemTitle","styles","ForwardedRefOrderableListRoot","forwardRef","OrderableList","OrderableListItem","OrderableListItemAction","OrderableItemCustomHandle","OrderableItemDragHandle","OrderableListItemTitle","OrderableListItemDescription","OrderableListItemDecorator"],"mappings":";;;;;;;;;;;;;;;AA6BO,MAAMA,IAAoB,CAC7B;AAAA,EACI,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,OAAAC,IAAQ,CAAA;AAAA,EACR,eAAAC;AAAA,EACA,cAAcC,IAAY;AAC9B,GACAC,MACC;AACD,QAAMC,IAAeC,EAAoBR,GAAUG,CAAK,GAClD,EAAE,SAAAM,GAAS,UAAAC,EAAA,IAAaC,EAAA,GAGxBC,IAAeC;AAAA,IACjB,MAAMC,EAAa,UAAU,EAAE,MAAMZ,MAAc,aAAa,MAAM,KAAK,OAAO,GAAG;AAAA,IACrF,CAACA,CAAS;AAAA,EAAA;AAwBd,SACI,gBAAAa,EAACC,GAAA,EAA8B,OAAON,GAClC,UAAA,gBAAAO,EAACC,GAAA,EAAiB,WAvBU,CAACC,MAAU;AAC3C,QAAIA,EAAM;AACN;AAEJ,UAAM,EAAE,QAAAC,MAAWD,EAAM;AACzB,QAAIE,EAAWD,CAAM,GAAG;AACpB,YAAM,EAAE,cAAAE,GAAc,OAAAC,EAAA,IAAUH;AAChC,UAAIE,MAAiBC,GAAO;AACxB,cAAMC,IAAW,CAAC,GAAGrB,CAAK,GACpB,CAACsB,CAAO,IAAID,EAAS,OAAOF,GAAc,CAAC;AACjD,QAAIG,MACAD,EAAS,OAAOD,GAAO,GAAGE,CAAO,GACjCrB,KAAA,QAAAA,EAAgBoB,IAChBd;AAAA,UACI,GAAGgB,EAAaD,CAAO,CAAC,iCAAiCH,IAAe,CAAC,OAAOC,IAAQ,CAAC,OAAOpB,EAAM,MAAM;AAAA,QAAA;AAAA,MAGxH;AAAA,IACJ;AAAA,EACJ,GAIoD,WAAW,CAACS,CAAY,GAChE,UAAA;AAAA,IAAA,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAWY,EAAO;AAAA,QAClB,wBAAqB;AAAA,QACrB,cAAYtB;AAAA,QACZ,gBAAcJ;AAAA,QACd,kBAAgBC;AAAA,QAChB,gBAAa;AAAA,QACb,KAAAI;AAAA,QAEC,UAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEL,gBAAAQ,EAAC,SAAI,aAAU,UAAS,eAAY,QAAO,WAAWY,EAAO,gBACxD,UAAAlB,EAAA,CACL;AAAA,EAAA,EAAA,CACJ,EAAA,CACJ;AAER;AACAV,EAAkB,cAAc;AAChC,MAAM6B,IAAgCC,EAAiD9B,CAAiB,GAE3F+B,KAST;AAAA,EACA,MAAMF;AAAA,EACN,MAAMG;AAAA,EACN,YAAYC;AAAA,EACZ,cAAcC;AAAA,EACd,YAAYC;AAAA,EACZ,WAAWC;AAAA,EACX,iBAAiBC;AAAA,EACjB,eAAeC;AACnB;"}