@psnext/design-system 2.4.0 → 2.6.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 (493) hide show
  1. package/DESIGN.md +32 -4
  2. package/SKILL.md +1 -1
  3. package/dist/Header.cjs +3 -3
  4. package/dist/Header.cjs.map +1 -1
  5. package/dist/Header.js +3 -3
  6. package/dist/Header.js.map +1 -1
  7. package/dist/Mosaic.cjs +472 -0
  8. package/dist/Mosaic.cjs.map +1 -0
  9. package/dist/Mosaic.js +459 -0
  10. package/dist/Mosaic.js.map +1 -0
  11. package/dist/index.cjs +25 -4
  12. package/dist/index.d.cts +5 -5
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.ts +5 -5
  15. package/dist/index.js +10 -5
  16. package/dist/index10.d.cts +5 -5
  17. package/dist/index10.d.ts +6 -6
  18. package/dist/index11.d.cts +3 -3
  19. package/dist/index11.d.ts +3 -3
  20. package/dist/index12.d.cts +12 -12
  21. package/dist/index12.d.cts.map +1 -1
  22. package/dist/index12.d.ts +12 -12
  23. package/dist/index12.d.ts.map +1 -1
  24. package/dist/index13.d.cts +6 -6
  25. package/dist/index13.d.cts.map +1 -1
  26. package/dist/index13.d.ts +6 -6
  27. package/dist/index13.d.ts.map +1 -1
  28. package/dist/index14.d.cts +5 -5
  29. package/dist/index14.d.ts +5 -5
  30. package/dist/index15.d.cts +58 -23
  31. package/dist/index15.d.cts.map +1 -1
  32. package/dist/index15.d.ts +58 -23
  33. package/dist/index15.d.ts.map +1 -1
  34. package/dist/index16.d.cts +23 -32
  35. package/dist/index16.d.cts.map +1 -1
  36. package/dist/index16.d.ts +23 -32
  37. package/dist/index16.d.ts.map +1 -1
  38. package/dist/index17.d.cts +34 -15
  39. package/dist/index17.d.cts.map +1 -1
  40. package/dist/index17.d.ts +34 -15
  41. package/dist/index17.d.ts.map +1 -1
  42. package/dist/index18.d.cts +13 -67
  43. package/dist/index18.d.cts.map +1 -1
  44. package/dist/index18.d.ts +13 -67
  45. package/dist/index18.d.ts.map +1 -1
  46. package/dist/index19.d.cts +55 -48
  47. package/dist/index19.d.cts.map +1 -1
  48. package/dist/index19.d.ts +55 -48
  49. package/dist/index19.d.ts.map +1 -1
  50. package/dist/index2.d.cts +8 -8
  51. package/dist/index2.d.cts.map +1 -1
  52. package/dist/index2.d.ts +8 -8
  53. package/dist/index2.d.ts.map +1 -1
  54. package/dist/index20.d.cts +45 -75
  55. package/dist/index20.d.cts.map +1 -1
  56. package/dist/index20.d.ts +45 -75
  57. package/dist/index20.d.ts.map +1 -1
  58. package/dist/index21.d.cts +39 -28
  59. package/dist/index21.d.cts.map +1 -1
  60. package/dist/index21.d.ts +39 -28
  61. package/dist/index21.d.ts.map +1 -1
  62. package/dist/index22.d.cts +98 -44
  63. package/dist/index22.d.cts.map +1 -1
  64. package/dist/index22.d.ts +98 -44
  65. package/dist/index22.d.ts.map +1 -1
  66. package/dist/index23.d.cts +65 -68
  67. package/dist/index23.d.cts.map +1 -1
  68. package/dist/index23.d.ts +65 -68
  69. package/dist/index23.d.ts.map +1 -1
  70. package/dist/index24.d.cts +27 -42
  71. package/dist/index24.d.cts.map +1 -1
  72. package/dist/index24.d.ts +27 -42
  73. package/dist/index24.d.ts.map +1 -1
  74. package/dist/index25.d.cts +68 -11
  75. package/dist/index25.d.cts.map +1 -1
  76. package/dist/index25.d.ts +68 -11
  77. package/dist/index25.d.ts.map +1 -1
  78. package/dist/index26.d.cts +75 -56
  79. package/dist/index26.d.cts.map +1 -1
  80. package/dist/index26.d.ts +75 -56
  81. package/dist/index26.d.ts.map +1 -1
  82. package/dist/index27.d.cts +38 -60
  83. package/dist/index27.d.cts.map +1 -1
  84. package/dist/index27.d.ts +38 -60
  85. package/dist/index27.d.ts.map +1 -1
  86. package/dist/index28.d.cts +10 -30
  87. package/dist/index28.d.cts.map +1 -1
  88. package/dist/index28.d.ts +10 -30
  89. package/dist/index28.d.ts.map +1 -1
  90. package/dist/index29.d.cts +72 -17
  91. package/dist/index29.d.cts.map +1 -1
  92. package/dist/index29.d.ts +72 -17
  93. package/dist/index29.d.ts.map +1 -1
  94. package/dist/index3.d.cts +13 -13
  95. package/dist/index3.d.cts.map +1 -1
  96. package/dist/index3.d.ts +13 -13
  97. package/dist/index30.d.cts +46 -80
  98. package/dist/index30.d.cts.map +1 -1
  99. package/dist/index30.d.ts +46 -80
  100. package/dist/index30.d.ts.map +1 -1
  101. package/dist/index31.d.cts +64 -33
  102. package/dist/index31.d.cts.map +1 -1
  103. package/dist/index31.d.ts +64 -33
  104. package/dist/index31.d.ts.map +1 -1
  105. package/dist/index32.d.cts +29 -18
  106. package/dist/index32.d.cts.map +1 -1
  107. package/dist/index32.d.ts +29 -18
  108. package/dist/index32.d.ts.map +1 -1
  109. package/dist/index33.d.cts +17 -51
  110. package/dist/index33.d.cts.map +1 -1
  111. package/dist/index33.d.ts +17 -51
  112. package/dist/index33.d.ts.map +1 -1
  113. package/dist/index34.d.cts +81 -36
  114. package/dist/index34.d.cts.map +1 -1
  115. package/dist/index34.d.ts +81 -36
  116. package/dist/index34.d.ts.map +1 -1
  117. package/dist/index35.d.cts +32 -69
  118. package/dist/index35.d.cts.map +1 -1
  119. package/dist/index35.d.ts +32 -69
  120. package/dist/index35.d.ts.map +1 -1
  121. package/dist/index36.d.cts +20 -13
  122. package/dist/index36.d.cts.map +1 -1
  123. package/dist/index36.d.ts +20 -13
  124. package/dist/index36.d.ts.map +1 -1
  125. package/dist/index37.d.cts +51 -21
  126. package/dist/index37.d.cts.map +1 -1
  127. package/dist/index37.d.ts +51 -21
  128. package/dist/index37.d.ts.map +1 -1
  129. package/dist/index38.d.cts +38 -15
  130. package/dist/index38.d.cts.map +1 -1
  131. package/dist/index38.d.ts +38 -15
  132. package/dist/index38.d.ts.map +1 -1
  133. package/dist/index39.d.cts +53 -81
  134. package/dist/index39.d.cts.map +1 -1
  135. package/dist/index39.d.ts +53 -81
  136. package/dist/index39.d.ts.map +1 -1
  137. package/dist/index4.d.cts +2 -2
  138. package/dist/index4.d.ts +2 -2
  139. package/dist/index4.d.ts.map +1 -1
  140. package/dist/index40.d.cts +13 -16
  141. package/dist/index40.d.cts.map +1 -1
  142. package/dist/index40.d.ts +13 -16
  143. package/dist/index40.d.ts.map +1 -1
  144. package/dist/index41.d.cts +25 -52
  145. package/dist/index41.d.cts.map +1 -1
  146. package/dist/index41.d.ts +24 -51
  147. package/dist/index41.d.ts.map +1 -1
  148. package/dist/index42.d.cts +15 -40
  149. package/dist/index42.d.cts.map +1 -1
  150. package/dist/index42.d.ts +15 -40
  151. package/dist/index42.d.ts.map +1 -1
  152. package/dist/index43.d.cts +86 -77
  153. package/dist/index43.d.cts.map +1 -1
  154. package/dist/index43.d.ts +86 -77
  155. package/dist/index43.d.ts.map +1 -1
  156. package/dist/index44.d.cts +125 -1
  157. package/dist/index44.d.cts.map +1 -0
  158. package/dist/index44.d.ts +125 -1
  159. package/dist/index44.d.ts.map +1 -0
  160. package/dist/index45.d.cts +15 -41
  161. package/dist/index45.d.cts.map +1 -1
  162. package/dist/index45.d.ts +15 -41
  163. package/dist/index45.d.ts.map +1 -1
  164. package/dist/index46.d.cts +52 -24
  165. package/dist/index46.d.cts.map +1 -1
  166. package/dist/index46.d.ts +52 -24
  167. package/dist/index46.d.ts.map +1 -1
  168. package/dist/index47.d.cts +86 -31
  169. package/dist/index47.d.cts.map +1 -1
  170. package/dist/index47.d.ts +86 -31
  171. package/dist/index47.d.ts.map +1 -1
  172. package/dist/index48.d.cts +1 -25
  173. package/dist/index48.d.ts +1 -25
  174. package/dist/index49.d.cts +120 -14
  175. package/dist/index49.d.cts.map +1 -1
  176. package/dist/index49.d.ts +120 -14
  177. package/dist/index49.d.ts.map +1 -1
  178. package/dist/index5.d.cts +7 -7
  179. package/dist/index5.d.ts +7 -7
  180. package/dist/index50.d.cts +32 -53
  181. package/dist/index50.d.cts.map +1 -1
  182. package/dist/index50.d.ts +32 -53
  183. package/dist/index50.d.ts.map +1 -1
  184. package/dist/index51.d.cts +21 -56
  185. package/dist/index51.d.cts.map +1 -1
  186. package/dist/index51.d.ts +21 -56
  187. package/dist/index51.d.ts.map +1 -1
  188. package/dist/index52.d.cts +33 -23
  189. package/dist/index52.d.cts.map +1 -1
  190. package/dist/index52.d.ts +33 -23
  191. package/dist/index52.d.ts.map +1 -1
  192. package/dist/index53.d.cts +17 -201
  193. package/dist/index53.d.cts.map +1 -1
  194. package/dist/index53.d.ts +17 -201
  195. package/dist/index53.d.ts.map +1 -1
  196. package/dist/index54.d.cts +14 -19
  197. package/dist/index54.d.cts.map +1 -1
  198. package/dist/index54.d.ts +14 -19
  199. package/dist/index54.d.ts.map +1 -1
  200. package/dist/index55.d.cts +64 -23
  201. package/dist/index55.d.cts.map +1 -1
  202. package/dist/index55.d.ts +64 -23
  203. package/dist/index55.d.ts.map +1 -1
  204. package/dist/index56.d.cts +95 -22
  205. package/dist/index56.d.cts.map +1 -1
  206. package/dist/index56.d.ts +95 -22
  207. package/dist/index56.d.ts.map +1 -1
  208. package/dist/index57.d.cts +25 -6
  209. package/dist/index57.d.cts.map +1 -1
  210. package/dist/index57.d.ts +25 -6
  211. package/dist/index57.d.ts.map +1 -1
  212. package/dist/index58.d.cts +202 -43
  213. package/dist/index58.d.cts.map +1 -1
  214. package/dist/index58.d.ts +202 -43
  215. package/dist/index58.d.ts.map +1 -1
  216. package/dist/index59.d.cts +15 -40
  217. package/dist/index59.d.cts.map +1 -1
  218. package/dist/index59.d.ts +15 -40
  219. package/dist/index59.d.ts.map +1 -1
  220. package/dist/index6.d.cts +5 -5
  221. package/dist/index6.d.cts.map +1 -1
  222. package/dist/index6.d.ts +5 -5
  223. package/dist/index6.d.ts.map +1 -1
  224. package/dist/index60.d.cts +20 -55
  225. package/dist/index60.d.cts.map +1 -1
  226. package/dist/index60.d.ts +20 -55
  227. package/dist/index60.d.ts.map +1 -1
  228. package/dist/index61.d.cts +21 -41
  229. package/dist/index61.d.cts.map +1 -1
  230. package/dist/index61.d.ts +21 -41
  231. package/dist/index61.d.ts.map +1 -1
  232. package/dist/index62.d.cts +6 -18
  233. package/dist/index62.d.cts.map +1 -1
  234. package/dist/index62.d.ts +6 -18
  235. package/dist/index62.d.ts.map +1 -1
  236. package/dist/index63.d.cts +46 -41
  237. package/dist/index63.d.cts.map +1 -1
  238. package/dist/index63.d.ts +46 -41
  239. package/dist/index63.d.ts.map +1 -1
  240. package/dist/index64.d.cts +47 -19
  241. package/dist/index64.d.cts.map +1 -1
  242. package/dist/index64.d.ts +47 -19
  243. package/dist/index64.d.ts.map +1 -1
  244. package/dist/index65.d.cts +50 -35
  245. package/dist/index65.d.cts.map +1 -1
  246. package/dist/index65.d.ts +50 -35
  247. package/dist/index65.d.ts.map +1 -1
  248. package/dist/index66.d.cts +33 -13
  249. package/dist/index66.d.cts.map +1 -1
  250. package/dist/index66.d.ts +33 -13
  251. package/dist/index66.d.ts.map +1 -1
  252. package/dist/index67.d.cts +17 -84
  253. package/dist/index67.d.cts.map +1 -1
  254. package/dist/index67.d.ts +17 -84
  255. package/dist/index67.d.ts.map +1 -1
  256. package/dist/index68.d.cts +40 -14
  257. package/dist/index68.d.cts.map +1 -1
  258. package/dist/index68.d.ts +40 -14
  259. package/dist/index68.d.ts.map +1 -1
  260. package/dist/index69.d.cts +16 -30
  261. package/dist/index69.d.cts.map +1 -1
  262. package/dist/index69.d.ts +16 -30
  263. package/dist/index69.d.ts.map +1 -1
  264. package/dist/index7.d.cts +8 -8
  265. package/dist/index7.d.ts +8 -8
  266. package/dist/index70.d.cts +39 -27
  267. package/dist/index70.d.cts.map +1 -1
  268. package/dist/index70.d.ts +39 -27
  269. package/dist/index70.d.ts.map +1 -1
  270. package/dist/index71.d.cts +22 -79
  271. package/dist/index71.d.cts.map +1 -1
  272. package/dist/index71.d.ts +22 -79
  273. package/dist/index71.d.ts.map +1 -1
  274. package/dist/index72.d.cts +77 -264
  275. package/dist/index72.d.cts.map +1 -1
  276. package/dist/index72.d.ts +77 -264
  277. package/dist/index72.d.ts.map +1 -1
  278. package/dist/index73.d.cts +19 -0
  279. package/dist/index73.d.cts.map +1 -0
  280. package/dist/index73.d.ts +19 -0
  281. package/dist/index73.d.ts.map +1 -0
  282. package/dist/index74.d.cts +37 -0
  283. package/dist/index74.d.cts.map +1 -0
  284. package/dist/index74.d.ts +37 -0
  285. package/dist/index74.d.ts.map +1 -0
  286. package/dist/index75.d.cts +36 -0
  287. package/dist/index75.d.cts.map +1 -0
  288. package/dist/index75.d.ts +36 -0
  289. package/dist/index75.d.ts.map +1 -0
  290. package/dist/index76.d.cts +87 -0
  291. package/dist/index76.d.cts.map +1 -0
  292. package/dist/index76.d.ts +87 -0
  293. package/dist/index76.d.ts.map +1 -0
  294. package/dist/index77.d.cts +278 -0
  295. package/dist/index77.d.cts.map +1 -0
  296. package/dist/index77.d.ts +278 -0
  297. package/dist/index77.d.ts.map +1 -0
  298. package/dist/index8.d.cts +4 -4
  299. package/dist/index8.d.cts.map +1 -1
  300. package/dist/index8.d.ts +4 -4
  301. package/dist/index9.d.cts +2 -2
  302. package/dist/index9.d.ts +2 -2
  303. package/dist/index9.d.ts.map +1 -1
  304. package/dist/layouts/Container/index.d.cts +1 -1
  305. package/dist/layouts/Container/index.d.ts +1 -1
  306. package/dist/layouts/MultiColumn/index.d.cts +1 -1
  307. package/dist/layouts/MultiColumn/index.d.ts +1 -1
  308. package/dist/layouts/PageBackground/index.d.cts +1 -1
  309. package/dist/layouts/PageBackground/index.d.ts +1 -1
  310. package/dist/layouts/Stack/index.d.cts +1 -1
  311. package/dist/layouts/Stack/index.d.ts +1 -1
  312. package/dist/layouts/TwoColumn/index.d.cts +1 -1
  313. package/dist/layouts/TwoColumn/index.d.ts +1 -1
  314. package/dist/layouts/index.d.cts +5 -5
  315. package/dist/layouts/index.d.ts +5 -5
  316. package/dist/patterns/DataTable/index.d.cts +3 -3
  317. package/dist/patterns/DataTable/index.d.cts.map +1 -1
  318. package/dist/patterns/DataTable/index.d.ts +3 -3
  319. package/dist/patterns/DataTable/index.d.ts.map +1 -1
  320. package/dist/patterns/Footer/index.d.cts +7 -7
  321. package/dist/patterns/Footer/index.d.ts +7 -7
  322. package/dist/patterns/Footer/index.d.ts.map +1 -1
  323. package/dist/patterns/Header/index.d.cts +1 -1
  324. package/dist/patterns/Header/index.d.ts +1 -1
  325. package/dist/patterns/MediaObject/index.d.cts +14 -14
  326. package/dist/patterns/MediaObject/index.d.cts.map +1 -1
  327. package/dist/patterns/MediaObject/index.d.ts +14 -14
  328. package/dist/patterns/NavRail/index.d.cts +1 -1
  329. package/dist/patterns/NavRail/index.d.ts +1 -1
  330. package/dist/patterns/SectionCard/index.d.cts +2 -2
  331. package/dist/patterns/SectionCard/index.d.ts +2 -2
  332. package/dist/patterns/SectionCard/index.d.ts.map +1 -1
  333. package/dist/patterns/SectionHeading/index.d.cts +3 -3
  334. package/dist/patterns/SectionHeading/index.d.ts +3 -3
  335. package/dist/patterns/SectionHeading/index.d.ts.map +1 -1
  336. package/dist/patterns/index.d.cts +2 -2
  337. package/dist/patterns/index.d.ts +2 -2
  338. package/dist/primitives/Checkbox/index.cjs +1 -1
  339. package/dist/primitives/Checkbox/index.cjs.map +1 -1
  340. package/dist/primitives/Checkbox/index.d.cts +1 -1
  341. package/dist/primitives/Checkbox/index.d.ts +1 -1
  342. package/dist/primitives/Checkbox/index.js +1 -1
  343. package/dist/primitives/Checkbox/index.js.map +1 -1
  344. package/dist/primitives/CheckboxTree/index.d.cts +1 -1
  345. package/dist/primitives/CheckboxTree/index.d.ts +1 -1
  346. package/dist/primitives/CircularProgress/index.cjs +106 -0
  347. package/dist/primitives/CircularProgress/index.cjs.map +1 -0
  348. package/dist/primitives/CircularProgress/index.d.cts +2 -0
  349. package/dist/primitives/CircularProgress/index.d.ts +2 -0
  350. package/dist/primitives/CircularProgress/index.js +105 -0
  351. package/dist/primitives/CircularProgress/index.js.map +1 -0
  352. package/dist/primitives/Collapsible/index.d.cts +1 -1
  353. package/dist/primitives/Collapsible/index.d.ts +1 -1
  354. package/dist/primitives/Combobox/index.cjs +210 -0
  355. package/dist/primitives/Combobox/index.cjs.map +1 -0
  356. package/dist/primitives/Combobox/index.d.cts +2 -0
  357. package/dist/primitives/Combobox/index.d.ts +2 -0
  358. package/dist/primitives/Combobox/index.js +199 -0
  359. package/dist/primitives/Combobox/index.js.map +1 -0
  360. package/dist/primitives/Command/index.d.cts +1 -1
  361. package/dist/primitives/Command/index.d.ts +1 -1
  362. package/dist/primitives/ContextMenu/index.d.cts +1 -1
  363. package/dist/primitives/ContextMenu/index.d.ts +1 -1
  364. package/dist/primitives/Credits/index.d.cts +1 -1
  365. package/dist/primitives/Credits/index.d.ts +1 -1
  366. package/dist/primitives/Dialog/index.d.cts +1 -1
  367. package/dist/primitives/Dialog/index.d.ts +1 -1
  368. package/dist/primitives/Drawer/index.cjs +34 -2
  369. package/dist/primitives/Drawer/index.cjs.map +1 -1
  370. package/dist/primitives/Drawer/index.d.cts +1 -1
  371. package/dist/primitives/Drawer/index.d.ts +1 -1
  372. package/dist/primitives/Drawer/index.js +34 -2
  373. package/dist/primitives/Drawer/index.js.map +1 -1
  374. package/dist/primitives/DropdownMenu/index.d.cts +1 -1
  375. package/dist/primitives/DropdownMenu/index.d.ts +1 -1
  376. package/dist/primitives/Empty/index.d.cts +1 -1
  377. package/dist/primitives/Empty/index.d.ts +1 -1
  378. package/dist/primitives/Field/index.d.cts +1 -1
  379. package/dist/primitives/Field/index.d.ts +1 -1
  380. package/dist/primitives/FileUpload/index.cjs +354 -0
  381. package/dist/primitives/FileUpload/index.cjs.map +1 -0
  382. package/dist/primitives/FileUpload/index.d.cts +2 -0
  383. package/dist/primitives/FileUpload/index.d.ts +2 -0
  384. package/dist/primitives/FileUpload/index.js +351 -0
  385. package/dist/primitives/FileUpload/index.js.map +1 -0
  386. package/dist/primitives/Form/index.d.cts +1 -1
  387. package/dist/primitives/Form/index.d.ts +1 -1
  388. package/dist/primitives/Heading/index.d.cts +1 -1
  389. package/dist/primitives/Heading/index.d.ts +1 -1
  390. package/dist/primitives/HoverCard/index.d.cts +1 -1
  391. package/dist/primitives/HoverCard/index.d.ts +1 -1
  392. package/dist/primitives/Icon/index.d.cts +1 -1
  393. package/dist/primitives/Icon/index.d.ts +1 -1
  394. package/dist/primitives/InfoBanner/index.d.cts +1 -1
  395. package/dist/primitives/InfoBanner/index.d.ts +1 -1
  396. package/dist/primitives/Input/index.d.cts +1 -1
  397. package/dist/primitives/Input/index.d.ts +1 -1
  398. package/dist/primitives/InputGroup/index.d.cts +1 -1
  399. package/dist/primitives/InputGroup/index.d.ts +1 -1
  400. package/dist/primitives/InputOtp/index.d.cts +1 -1
  401. package/dist/primitives/InputOtp/index.d.ts +1 -1
  402. package/dist/primitives/Item/index.d.cts +1 -1
  403. package/dist/primitives/Item/index.d.ts +1 -1
  404. package/dist/primitives/Kbd/index.d.cts +1 -1
  405. package/dist/primitives/Kbd/index.d.ts +1 -1
  406. package/dist/primitives/Label/index.d.cts +1 -1
  407. package/dist/primitives/Label/index.d.ts +1 -1
  408. package/dist/primitives/Link/index.d.cts +1 -1
  409. package/dist/primitives/Link/index.d.ts +1 -1
  410. package/dist/primitives/Logo/index.d.cts +1 -1
  411. package/dist/primitives/Logo/index.d.ts +1 -1
  412. package/dist/primitives/Menubar/index.d.cts +1 -1
  413. package/dist/primitives/Menubar/index.d.ts +1 -1
  414. package/dist/primitives/Mosaic/index.cjs +4 -0
  415. package/dist/primitives/Mosaic/index.d.cts +2 -0
  416. package/dist/primitives/Mosaic/index.d.ts +2 -0
  417. package/dist/primitives/Mosaic/index.js +2 -0
  418. package/dist/primitives/NativeSelect/index.d.cts +1 -1
  419. package/dist/primitives/NativeSelect/index.d.ts +1 -1
  420. package/dist/primitives/NavRail/index.d.cts +2 -2
  421. package/dist/primitives/NavRail/index.d.ts +2 -2
  422. package/dist/primitives/NavigationMenu/index.d.cts +1 -1
  423. package/dist/primitives/NavigationMenu/index.d.ts +1 -1
  424. package/dist/primitives/NotchedCard/index.cjs +390 -0
  425. package/dist/primitives/NotchedCard/index.cjs.map +1 -0
  426. package/dist/primitives/NotchedCard/index.d.cts +2 -0
  427. package/dist/primitives/NotchedCard/index.d.ts +2 -0
  428. package/dist/primitives/NotchedCard/index.js +385 -0
  429. package/dist/primitives/NotchedCard/index.js.map +1 -0
  430. package/dist/primitives/Pagination/index.d.cts +1 -1
  431. package/dist/primitives/Pagination/index.d.ts +1 -1
  432. package/dist/primitives/Popover/index.d.cts +1 -1
  433. package/dist/primitives/Popover/index.d.ts +1 -1
  434. package/dist/primitives/Progress/index.d.cts +1 -1
  435. package/dist/primitives/Progress/index.d.ts +1 -1
  436. package/dist/primitives/RadioGroup/index.cjs +1 -1
  437. package/dist/primitives/RadioGroup/index.cjs.map +1 -1
  438. package/dist/primitives/RadioGroup/index.d.cts +1 -1
  439. package/dist/primitives/RadioGroup/index.d.ts +1 -1
  440. package/dist/primitives/RadioGroup/index.js +1 -1
  441. package/dist/primitives/RadioGroup/index.js.map +1 -1
  442. package/dist/primitives/Resizable/index.d.cts +1 -1
  443. package/dist/primitives/Resizable/index.d.ts +1 -1
  444. package/dist/primitives/ScrollArea/index.d.cts +1 -1
  445. package/dist/primitives/ScrollArea/index.d.ts +1 -1
  446. package/dist/primitives/Select/index.d.cts +1 -1
  447. package/dist/primitives/Select/index.d.ts +1 -1
  448. package/dist/primitives/Sheet/index.cjs +34 -2
  449. package/dist/primitives/Sheet/index.cjs.map +1 -1
  450. package/dist/primitives/Sheet/index.d.cts +1 -1
  451. package/dist/primitives/Sheet/index.d.ts +1 -1
  452. package/dist/primitives/Sheet/index.js +34 -2
  453. package/dist/primitives/Sheet/index.js.map +1 -1
  454. package/dist/primitives/Sidebar/index.d.cts +1 -1
  455. package/dist/primitives/Sidebar/index.d.ts +1 -1
  456. package/dist/primitives/Skeleton/index.d.cts +1 -1
  457. package/dist/primitives/Skeleton/index.d.ts +1 -1
  458. package/dist/primitives/Slider/index.d.cts +1 -1
  459. package/dist/primitives/Slider/index.d.ts +1 -1
  460. package/dist/primitives/Sonner/index.d.cts +1 -1
  461. package/dist/primitives/Sonner/index.d.ts +1 -1
  462. package/dist/primitives/Spinner/index.d.cts +1 -1
  463. package/dist/primitives/Spinner/index.d.ts +1 -1
  464. package/dist/primitives/Switch/index.d.cts +1 -1
  465. package/dist/primitives/Switch/index.d.ts +1 -1
  466. package/dist/primitives/Table/index.d.cts +1 -1
  467. package/dist/primitives/Table/index.d.ts +1 -1
  468. package/dist/primitives/Tabs/index.cjs +153 -10
  469. package/dist/primitives/Tabs/index.cjs.map +1 -1
  470. package/dist/primitives/Tabs/index.d.cts +1 -1
  471. package/dist/primitives/Tabs/index.d.ts +1 -1
  472. package/dist/primitives/Tabs/index.js +153 -10
  473. package/dist/primitives/Tabs/index.js.map +1 -1
  474. package/dist/primitives/Text/index.d.cts +1 -1
  475. package/dist/primitives/Text/index.d.ts +1 -1
  476. package/dist/primitives/Textarea/index.d.cts +1 -1
  477. package/dist/primitives/Textarea/index.d.ts +1 -1
  478. package/dist/primitives/ThemeProvider/index.d.cts +1 -1
  479. package/dist/primitives/ThemeProvider/index.d.ts +1 -1
  480. package/dist/primitives/Toggle/index.d.cts +1 -1
  481. package/dist/primitives/Toggle/index.d.ts +1 -1
  482. package/dist/primitives/ToggleGroup/index.d.cts +1 -1
  483. package/dist/primitives/ToggleGroup/index.d.ts +1 -1
  484. package/dist/primitives/Tooltip/index.d.cts +1 -1
  485. package/dist/primitives/Tooltip/index.d.ts +1 -1
  486. package/dist/primitives/index.cjs +25 -4
  487. package/dist/primitives/index.d.cts +56 -51
  488. package/dist/primitives/index.d.ts +56 -51
  489. package/dist/primitives/index.js +10 -5
  490. package/dist/styles/tokens/mode-dark.css +1 -1
  491. package/package.json +1 -1
  492. package/dist/index48.d.cts.map +0 -1
  493. package/dist/index48.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- import { a as MenubarItem, c as MenubarPortal, d as MenubarSeparator, f as MenubarShortcut, g as MenubarTrigger, h as MenubarSubTrigger, i as MenubarGroup, l as MenubarRadioGroup, m as MenubarSubContent, n as MenubarCheckboxItem, o as MenubarLabel, p as MenubarSub, r as MenubarContent, s as MenubarMenu, t as Menubar, u as MenubarRadioItem } from "../../index39.js";
1
+ import { a as MenubarItem, c as MenubarPortal, d as MenubarSeparator, f as MenubarShortcut, g as MenubarTrigger, h as MenubarSubTrigger, i as MenubarGroup, l as MenubarRadioGroup, m as MenubarSubContent, n as MenubarCheckboxItem, o as MenubarLabel, p as MenubarSub, r as MenubarContent, s as MenubarMenu, t as Menubar, u as MenubarRadioItem } from "../../index43.js";
2
2
  export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
@@ -0,0 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_Mosaic = require("../../Mosaic.cjs");
3
+ exports.Mosaic = require_Mosaic.Mosaic;
4
+ exports.MosaicWindow = require_Mosaic.MosaicWindow;
@@ -0,0 +1,2 @@
1
+ import { a as DropZone, c as MosaicNode, i as MosaicWindowProps, l as MosaicParent, n as MosaicProps, o as MosaicDirection, r as MosaicWindow, s as MosaicKey, t as Mosaic, u as MosaicPath } from "../../index44.cjs";
2
+ export { DropZone, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps };
@@ -0,0 +1,2 @@
1
+ import { a as DropZone, c as MosaicNode, i as MosaicWindowProps, l as MosaicParent, n as MosaicProps, o as MosaicDirection, r as MosaicWindow, s as MosaicKey, t as Mosaic, u as MosaicPath } from "../../index44.js";
2
+ export { DropZone, Mosaic, MosaicDirection, MosaicKey, MosaicNode, MosaicParent, MosaicPath, MosaicProps, MosaicWindow, MosaicWindowProps };
@@ -0,0 +1,2 @@
1
+ import { n as MosaicWindow, t as Mosaic } from "../../Mosaic.js";
2
+ export { Mosaic, MosaicWindow };
@@ -1,2 +1,2 @@
1
- import { n as nativeSelectVariants, t as NativeSelect } from "../../index40.cjs";
1
+ import { n as nativeSelectVariants, t as NativeSelect } from "../../index45.cjs";
2
2
  export { NativeSelect, nativeSelectVariants };
@@ -1,2 +1,2 @@
1
- import { n as nativeSelectVariants, t as NativeSelect } from "../../index40.js";
1
+ import { n as nativeSelectVariants, t as NativeSelect } from "../../index45.js";
2
2
  export { NativeSelect, nativeSelectVariants };
@@ -1,3 +1,3 @@
1
- import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index43.cjs";
2
- import "../../index44.cjs";
1
+ import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index47.cjs";
2
+ import "../../index48.cjs";
3
3
  export { NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps };
@@ -1,3 +1,3 @@
1
- import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index43.js";
2
- import "../../index44.js";
1
+ import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index47.js";
2
+ import "../../index48.js";
3
3
  export { NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps };
@@ -1,2 +1,2 @@
1
- import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../../index41.cjs";
1
+ import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../../index46.cjs";
2
2
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
@@ -1,2 +1,2 @@
1
- import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../../index41.js";
1
+ import { a as NavigationMenuLink, c as NavigationMenuViewport, i as NavigationMenuItem, l as navigationMenuTriggerStyle, n as NavigationMenuContent, o as NavigationMenuList, r as NavigationMenuIndicator, s as NavigationMenuTrigger, t as NavigationMenu } from "../../index46.js";
2
2
  export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
@@ -0,0 +1,390 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ const require_cn = require("../../cn.cjs");
4
+ let react = require("react");
5
+ react = require_chunk.__toESM(react);
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ //#region src/primitives/NotchedCard/NotchedCard.tsx
8
+ const CORNER_KEYS = [
9
+ "tl",
10
+ "tr",
11
+ "br",
12
+ "bl"
13
+ ];
14
+ const useIsoLayoutEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
15
+ const round2 = (v) => Math.round(v * 100) / 100;
16
+ /**
17
+ * Builds the notched outline as an SVG path, walking clockwise from the top
18
+ * edge. Convex turns sweep outward (sweep=1); the inner corner of each notch
19
+ * is a concave fillet (sweep=0). Exported for testing — not part of the
20
+ * typical component API.
21
+ */
22
+ function buildNotchedCardPath({ w, h, radius, notchRadius, notches }) {
23
+ if (w <= 0 || h <= 0) return "";
24
+ const R = Math.max(0, Math.min(radius, w / 2, h / 2));
25
+ const arc = (rr, x, y, sweep) => `A ${round2(rr)} ${round2(rr)} 0 0 ${sweep} ${round2(x)} ${round2(y)}`;
26
+ const line = (x, y) => `L ${round2(x)} ${round2(y)}`;
27
+ const pt = ([x, y]) => `${round2(x)} ${round2(y)}`;
28
+ const prep = (c) => {
29
+ if (!c || c.w <= 0 || c.h <= 0) return null;
30
+ const nw = Math.min(c.w, w - 2 * R);
31
+ const nh = Math.min(c.h, h - 2 * R);
32
+ if (nw <= R || nh <= R) return null;
33
+ return {
34
+ nw,
35
+ nh,
36
+ r: Math.max(0, Math.min(notchRadius, nw - R, nh - R))
37
+ };
38
+ };
39
+ const tl = prep(notches.tl);
40
+ const tr = prep(notches.tr);
41
+ const br = prep(notches.br);
42
+ const bl = prep(notches.bl);
43
+ const corner = {
44
+ tl: tl ? {
45
+ entry: [0, tl.nh + R],
46
+ exit: [tl.nw + R, 0],
47
+ cmds: [
48
+ arc(R, R, tl.nh, 1),
49
+ line(tl.nw - tl.r, tl.nh),
50
+ arc(tl.r, tl.nw, tl.nh - tl.r, 0),
51
+ line(tl.nw, R),
52
+ arc(R, tl.nw + R, 0, 1)
53
+ ]
54
+ } : {
55
+ entry: [0, R],
56
+ exit: [R, 0],
57
+ cmds: [arc(R, R, 0, 1)]
58
+ },
59
+ tr: tr ? {
60
+ entry: [w - tr.nw - R, 0],
61
+ exit: [w, tr.nh + R],
62
+ cmds: [
63
+ arc(R, w - tr.nw, R, 1),
64
+ line(w - tr.nw, tr.nh - tr.r),
65
+ arc(tr.r, w - tr.nw + tr.r, tr.nh, 0),
66
+ line(w - R, tr.nh),
67
+ arc(R, w, tr.nh + R, 1)
68
+ ]
69
+ } : {
70
+ entry: [w - R, 0],
71
+ exit: [w, R],
72
+ cmds: [arc(R, w, R, 1)]
73
+ },
74
+ br: br ? {
75
+ entry: [w, h - br.nh - R],
76
+ exit: [w - br.nw - R, h],
77
+ cmds: [
78
+ arc(R, w - R, h - br.nh, 1),
79
+ line(w - br.nw + br.r, h - br.nh),
80
+ arc(br.r, w - br.nw, h - br.nh + br.r, 0),
81
+ line(w - br.nw, h - R),
82
+ arc(R, w - br.nw - R, h, 1)
83
+ ]
84
+ } : {
85
+ entry: [w, h - R],
86
+ exit: [w - R, h],
87
+ cmds: [arc(R, w - R, h, 1)]
88
+ },
89
+ bl: bl ? {
90
+ entry: [bl.nw + R, h],
91
+ exit: [0, h - bl.nh - R],
92
+ cmds: [
93
+ arc(R, bl.nw, h - R, 1),
94
+ line(bl.nw, h - bl.nh + bl.r),
95
+ arc(bl.r, bl.nw - bl.r, h - bl.nh, 0),
96
+ line(R, h - bl.nh),
97
+ arc(R, 0, h - bl.nh - R, 1)
98
+ ]
99
+ } : {
100
+ entry: [R, h],
101
+ exit: [0, h - R],
102
+ cmds: [arc(R, 0, h - R, 1)]
103
+ }
104
+ };
105
+ return [
106
+ `M ${pt(corner.tl.exit)}`,
107
+ line(...corner.tr.entry),
108
+ ...corner.tr.cmds,
109
+ line(...corner.br.entry),
110
+ ...corner.br.cmds,
111
+ line(...corner.bl.entry),
112
+ ...corner.bl.cmds,
113
+ line(...corner.tl.entry),
114
+ ...corner.tl.cmds,
115
+ "Z"
116
+ ].join(" ");
117
+ }
118
+ const sameBox = (a, b) => a === b || !!a && !!b && a.w === b.w && a.h === b.h;
119
+ /**
120
+ * Style for an invisible float that reserves a side's notched corners inside
121
+ * the content flow, so flowing content wraps around the cutouts instead of
122
+ * running under them. `shape-inside` never shipped in any browser; a float
123
+ * with `shape-outside` is the standard equivalent. A top-only corner is just
124
+ * the float's own box; a bottom corner needs the float to span the content
125
+ * height with a polygon covering only the corner bands (joined by a zero-width
126
+ * "keyhole" along the box edge, which keeps the polygon simple and valid).
127
+ */
128
+ function sideSpacerStyle(side, rects, innerH) {
129
+ const top = rects.top && rects.top.w > 0 && rects.top.h > 0 ? rects.top : null;
130
+ const bottom = rects.bottom && rects.bottom.w > 0 && rects.bottom.h > 0 ? rects.bottom : null;
131
+ if (!top && !bottom) return null;
132
+ const base = {
133
+ float: side,
134
+ pointerEvents: "none"
135
+ };
136
+ if (!bottom) return {
137
+ ...base,
138
+ width: top.w,
139
+ height: top.h
140
+ };
141
+ const px = (v) => `${round2(v)}px`;
142
+ const bandTop = `calc(100% - ${px(bottom.h)})`;
143
+ const shape = side === "left" ? top ? `polygon(0 0, ${px(top.w)} 0, ${px(top.w)} ${px(top.h)}, 0 ${px(top.h)}, 0 ${bandTop}, ${px(bottom.w)} ${bandTop}, ${px(bottom.w)} 100%, 0 100%)` : `polygon(0 ${bandTop}, ${px(bottom.w)} ${bandTop}, ${px(bottom.w)} 100%, 0 100%)` : top ? `polygon(100% 0, calc(100% - ${px(top.w)}) 0, calc(100% - ${px(top.w)}) ${px(top.h)}, 100% ${px(top.h)}, 100% ${bandTop}, calc(100% - ${px(bottom.w)}) ${bandTop}, calc(100% - ${px(bottom.w)}) 100%, 100% 100%)` : `polygon(100% ${bandTop}, calc(100% - ${px(bottom.w)}) ${bandTop}, calc(100% - ${px(bottom.w)}) 100%, 100% 100%)`;
144
+ return {
145
+ ...base,
146
+ width: Math.max(top?.w ?? 0, bottom.w),
147
+ height: Math.max(innerH, (top?.h ?? 0) + bottom.h),
148
+ shapeOutside: shape
149
+ };
150
+ }
151
+ const notchedCardVariants = {
152
+ default: {
153
+ background: "bg-glass-none-bg",
154
+ shadow: "drop-shadow-sm",
155
+ text: "text-primary-txt",
156
+ borderedByDefault: true
157
+ },
158
+ muted: {
159
+ background: "bg-muted-bg",
160
+ shadow: "",
161
+ text: "text-primary-txt",
162
+ borderedByDefault: true
163
+ },
164
+ glass: {
165
+ background: "bg-glass-40-bg backdrop-blur-glass",
166
+ shadow: "",
167
+ text: "text-primary-txt",
168
+ borderedByDefault: false
169
+ },
170
+ brand: {
171
+ background: "bg-[image:linear-gradient(to_right,var(--theme-brand-700),var(--theme-brand-500-primary))]",
172
+ shadow: "",
173
+ text: "text-white",
174
+ borderedByDefault: false
175
+ },
176
+ inverted: {
177
+ background: "bg-primary-invert-bg",
178
+ shadow: "",
179
+ text: "text-primary-invert-txt",
180
+ borderedByDefault: false
181
+ }
182
+ };
183
+ /** Card with corner slots that notch the background around their content. */
184
+ function NotchedCard({ children, topLeftComponent, topRightComponent, bottomLeftComponent, bottomRightComponent, variant = "default", backgroundImage, backgroundImageOpacity = .8, radius = 16, notchRadius = 12, notchGap = 12, padding = 24, avoidNotches = true, bordered, className, backgroundClassName, contentClassName, style, ...props }) {
185
+ const rootRef = react.useRef(null);
186
+ const cornerRefs = {
187
+ tl: react.useRef(null),
188
+ tr: react.useRef(null),
189
+ br: react.useRef(null),
190
+ bl: react.useRef(null)
191
+ };
192
+ const contentRef = react.useRef(null);
193
+ const [box, setBox] = react.useState({
194
+ w: 0,
195
+ h: 0
196
+ });
197
+ const [contentH, setContentH] = react.useState(0);
198
+ const [sizes, setSizes] = react.useState({
199
+ tl: null,
200
+ tr: null,
201
+ br: null,
202
+ bl: null
203
+ });
204
+ const cornerSlots = [
205
+ [
206
+ "tl",
207
+ topLeftComponent,
208
+ {
209
+ top: 0,
210
+ left: 0
211
+ }
212
+ ],
213
+ [
214
+ "tr",
215
+ topRightComponent,
216
+ {
217
+ top: 0,
218
+ right: 0
219
+ }
220
+ ],
221
+ [
222
+ "br",
223
+ bottomRightComponent,
224
+ {
225
+ bottom: 0,
226
+ right: 0
227
+ }
228
+ ],
229
+ [
230
+ "bl",
231
+ bottomLeftComponent,
232
+ {
233
+ bottom: 0,
234
+ left: 0
235
+ }
236
+ ]
237
+ ];
238
+ const hasCorners = cornerSlots.some(([, node]) => node != null && node !== false);
239
+ const measure = react.useCallback(() => {
240
+ const root = rootRef.current;
241
+ if (!root) return;
242
+ setBox((prev) => {
243
+ const next = {
244
+ w: root.offsetWidth,
245
+ h: root.offsetHeight
246
+ };
247
+ return sameBox(prev, next) ? prev : next;
248
+ });
249
+ setContentH((prev) => {
250
+ const next = contentRef.current?.offsetHeight ?? 0;
251
+ return prev === next ? prev : next;
252
+ });
253
+ setSizes((prev) => {
254
+ const next = {};
255
+ let changed = false;
256
+ for (const k of CORNER_KEYS) {
257
+ const el = cornerRefs[k].current;
258
+ next[k] = el ? {
259
+ w: el.offsetWidth,
260
+ h: el.offsetHeight
261
+ } : null;
262
+ if (!sameBox(prev[k], next[k])) changed = true;
263
+ }
264
+ return changed ? next : prev;
265
+ });
266
+ }, []);
267
+ useIsoLayoutEffect(() => {
268
+ if (!hasCorners) return;
269
+ measure();
270
+ if (typeof ResizeObserver === "undefined") return;
271
+ const ro = new ResizeObserver(measure);
272
+ if (rootRef.current) ro.observe(rootRef.current);
273
+ if (contentRef.current) ro.observe(contentRef.current);
274
+ for (const k of CORNER_KEYS) {
275
+ const el = cornerRefs[k].current;
276
+ if (el) ro.observe(el);
277
+ }
278
+ return () => ro.disconnect();
279
+ }, [
280
+ measure,
281
+ hasCorners,
282
+ topLeftComponent,
283
+ topRightComponent,
284
+ bottomRightComponent,
285
+ bottomLeftComponent
286
+ ]);
287
+ const notches = Object.fromEntries(CORNER_KEYS.map((k) => [k, sizes[k] ? {
288
+ w: sizes[k].w + notchGap,
289
+ h: sizes[k].h + notchGap
290
+ } : null]));
291
+ const path = hasCorners ? buildNotchedCardPath({
292
+ w: box.w,
293
+ h: box.h,
294
+ radius,
295
+ notchRadius,
296
+ notches
297
+ }) : "";
298
+ const styles = notchedCardVariants[variant];
299
+ const showBorder = bordered ?? styles.borderedByDefault;
300
+ const inset = (v) => Math.max(0, (v ?? 0) - padding + notchGap);
301
+ const toRect = (notch) => notch ? {
302
+ w: inset(notch.w),
303
+ h: inset(notch.h)
304
+ } : null;
305
+ const spacerSides = [["left", {
306
+ top: toRect(notches.tl),
307
+ bottom: toRect(notches.bl)
308
+ }], ["right", {
309
+ top: toRect(notches.tr),
310
+ bottom: toRect(notches.br)
311
+ }]];
312
+ const innerH = Math.max(0, contentH - 2 * padding);
313
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
314
+ ref: rootRef,
315
+ "data-slot": "notched-card",
316
+ "data-variant": variant,
317
+ className: require_cn.cn("group relative isolate", styles.text, className),
318
+ style,
319
+ ...props,
320
+ children: [
321
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
322
+ "aria-hidden": true,
323
+ className: require_cn.cn("absolute inset-0 -z-10", styles.shadow),
324
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
325
+ "data-slot": "notched-card-background",
326
+ className: require_cn.cn("absolute inset-0 overflow-hidden", styles.background, backgroundClassName),
327
+ style: path ? {
328
+ clipPath: `path("${path}")`,
329
+ WebkitClipPath: `path("${path}")`
330
+ } : { borderRadius: radius },
331
+ children: backgroundImage && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
332
+ src: backgroundImage,
333
+ alt: "",
334
+ className: "absolute inset-0 size-full object-cover",
335
+ style: { opacity: backgroundImageOpacity }
336
+ })
337
+ })
338
+ }),
339
+ showBorder && (path ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
340
+ "aria-hidden": true,
341
+ "data-slot": "notched-card-border",
342
+ viewBox: `0 0 ${box.w} ${box.h}`,
343
+ width: box.w,
344
+ height: box.h,
345
+ className: "pointer-events-none absolute inset-0",
346
+ focusable: "false",
347
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
348
+ d: path,
349
+ fill: "none",
350
+ strokeWidth: 1,
351
+ className: "stroke-primary-border"
352
+ })
353
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
354
+ "aria-hidden": true,
355
+ "data-slot": "notched-card-border",
356
+ className: "pointer-events-none absolute inset-0 border border-primary-border",
357
+ style: { borderRadius: radius }
358
+ })),
359
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
360
+ ref: contentRef,
361
+ "data-slot": "notched-card-content",
362
+ className: require_cn.cn("relative", contentClassName),
363
+ style: { padding },
364
+ children: [avoidNotches && spacerSides.map(([side, rects]) => {
365
+ const spacerStyle = sideSpacerStyle(side, rects, innerH);
366
+ return spacerStyle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
367
+ "aria-hidden": true,
368
+ "data-slot": "notched-card-spacer",
369
+ "data-side": side,
370
+ style: spacerStyle
371
+ }, side) : null;
372
+ }), children]
373
+ }),
374
+ cornerSlots.map(([key, node, pos]) => node != null && node !== false ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
375
+ ref: cornerRefs[key],
376
+ "data-slot": "notched-card-corner",
377
+ "data-corner": key,
378
+ className: "absolute flex w-max items-center",
379
+ style: pos,
380
+ children: node
381
+ }, key) : null)
382
+ ]
383
+ });
384
+ }
385
+ //#endregion
386
+ exports.NotchedCard = NotchedCard;
387
+ exports.buildNotchedCardPath = buildNotchedCardPath;
388
+ exports.notchedCardVariants = notchedCardVariants;
389
+
390
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["React","cn"],"sources":["../../../src/primitives/NotchedCard/NotchedCard.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\n/* NotchedCard — a card whose background is a clipped shape. Any corner that\n receives content gets a rectangular bite taken out of the background, sized\n to that content, with a concave fillet at the inner corner. With no corner\n content it renders as a plain rounded rectangle (no measuring, no clip). */\n\nconst CORNER_KEYS = [\"tl\", \"tr\", \"br\", \"bl\"] as const;\ntype CornerKey = (typeof CORNER_KEYS)[number];\n\ntype CornerBox = { w: number; h: number };\ntype CornerSizes = Record<CornerKey, CornerBox | null>;\n\n// useLayoutEffect on the client, useEffect during SSR (avoids the React warning).\nconst useIsoLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\n\nconst round2 = (v: number) => Math.round(v * 100) / 100;\n\n/**\n * Builds the notched outline as an SVG path, walking clockwise from the top\n * edge. Convex turns sweep outward (sweep=1); the inner corner of each notch\n * is a concave fillet (sweep=0). Exported for testing — not part of the\n * typical component API.\n */\nfunction buildNotchedCardPath({\n w,\n h,\n radius,\n notchRadius,\n notches,\n}: {\n w: number;\n h: number;\n radius: number;\n notchRadius: number;\n notches: CornerSizes;\n}): string {\n if (w <= 0 || h <= 0) return \"\";\n\n const R = Math.max(0, Math.min(radius, w / 2, h / 2));\n const arc = (rr: number, x: number, y: number, sweep: 0 | 1) =>\n `A ${round2(rr)} ${round2(rr)} 0 0 ${sweep} ${round2(x)} ${round2(y)}`;\n const line = (x: number, y: number) => `L ${round2(x)} ${round2(y)}`;\n const pt = ([x, y]: readonly [number, number]) => `${round2(x)} ${round2(y)}`;\n\n // A notch only survives if there is room for it between the outer radii.\n const prep = (c: CornerBox | null) => {\n if (!c || c.w <= 0 || c.h <= 0) return null;\n const nw = Math.min(c.w, w - 2 * R);\n const nh = Math.min(c.h, h - 2 * R);\n if (nw <= R || nh <= R) return null;\n const r = Math.max(0, Math.min(notchRadius, nw - R, nh - R));\n return { nw, nh, r };\n };\n\n type Corner = {\n entry: readonly [number, number];\n exit: readonly [number, number];\n cmds: string[];\n };\n\n const tl = prep(notches.tl);\n const tr = prep(notches.tr);\n const br = prep(notches.br);\n const bl = prep(notches.bl);\n\n const corner: Record<CornerKey, Corner> = {\n tl: tl\n ? {\n entry: [0, tl.nh + R],\n exit: [tl.nw + R, 0],\n cmds: [\n arc(R, R, tl.nh, 1),\n line(tl.nw - tl.r, tl.nh),\n arc(tl.r, tl.nw, tl.nh - tl.r, 0),\n line(tl.nw, R),\n arc(R, tl.nw + R, 0, 1),\n ],\n }\n : { entry: [0, R], exit: [R, 0], cmds: [arc(R, R, 0, 1)] },\n tr: tr\n ? {\n entry: [w - tr.nw - R, 0],\n exit: [w, tr.nh + R],\n cmds: [\n arc(R, w - tr.nw, R, 1),\n line(w - tr.nw, tr.nh - tr.r),\n arc(tr.r, w - tr.nw + tr.r, tr.nh, 0),\n line(w - R, tr.nh),\n arc(R, w, tr.nh + R, 1),\n ],\n }\n : { entry: [w - R, 0], exit: [w, R], cmds: [arc(R, w, R, 1)] },\n br: br\n ? {\n entry: [w, h - br.nh - R],\n exit: [w - br.nw - R, h],\n cmds: [\n arc(R, w - R, h - br.nh, 1),\n line(w - br.nw + br.r, h - br.nh),\n arc(br.r, w - br.nw, h - br.nh + br.r, 0),\n line(w - br.nw, h - R),\n arc(R, w - br.nw - R, h, 1),\n ],\n }\n : { entry: [w, h - R], exit: [w - R, h], cmds: [arc(R, w - R, h, 1)] },\n bl: bl\n ? {\n entry: [bl.nw + R, h],\n exit: [0, h - bl.nh - R],\n cmds: [\n arc(R, bl.nw, h - R, 1),\n line(bl.nw, h - bl.nh + bl.r),\n arc(bl.r, bl.nw - bl.r, h - bl.nh, 0),\n line(R, h - bl.nh),\n arc(R, 0, h - bl.nh - R, 1),\n ],\n }\n : { entry: [R, h], exit: [0, h - R], cmds: [arc(R, 0, h - R, 1)] },\n };\n\n return [\n `M ${pt(corner.tl.exit)}`,\n line(...corner.tr.entry),\n ...corner.tr.cmds,\n line(...corner.br.entry),\n ...corner.br.cmds,\n line(...corner.bl.entry),\n ...corner.bl.cmds,\n line(...corner.tl.entry),\n ...corner.tl.cmds,\n \"Z\",\n ].join(\" \");\n}\n\nconst sameBox = (a: CornerBox | null, b: CornerBox | null) =>\n a === b || (!!a && !!b && a.w === b.w && a.h === b.h);\n\ntype SideRects = { top: CornerBox | null; bottom: CornerBox | null };\n\n/**\n * Style for an invisible float that reserves a side's notched corners inside\n * the content flow, so flowing content wraps around the cutouts instead of\n * running under them. `shape-inside` never shipped in any browser; a float\n * with `shape-outside` is the standard equivalent. A top-only corner is just\n * the float's own box; a bottom corner needs the float to span the content\n * height with a polygon covering only the corner bands (joined by a zero-width\n * \"keyhole\" along the box edge, which keeps the polygon simple and valid).\n */\nfunction sideSpacerStyle(\n side: \"left\" | \"right\",\n rects: SideRects,\n innerH: number,\n): React.CSSProperties | null {\n const top = rects.top && rects.top.w > 0 && rects.top.h > 0 ? rects.top : null;\n const bottom = rects.bottom && rects.bottom.w > 0 && rects.bottom.h > 0 ? rects.bottom : null;\n if (!top && !bottom) return null;\n\n const base: React.CSSProperties = { float: side, pointerEvents: \"none\" };\n if (!bottom) {\n // Type-narrowing: !bottom && the guard above means top is set.\n return { ...base, width: (top as CornerBox).w, height: (top as CornerBox).h };\n }\n\n const px = (v: number) => `${round2(v)}px`;\n const bandTop = `calc(100% - ${px(bottom.h)})`;\n const shape =\n side === \"left\"\n ? top\n ? `polygon(0 0, ${px(top.w)} 0, ${px(top.w)} ${px(top.h)}, 0 ${px(top.h)}, 0 ${bandTop}, ${px(bottom.w)} ${bandTop}, ${px(bottom.w)} 100%, 0 100%)`\n : `polygon(0 ${bandTop}, ${px(bottom.w)} ${bandTop}, ${px(bottom.w)} 100%, 0 100%)`\n : top\n ? `polygon(100% 0, calc(100% - ${px(top.w)}) 0, calc(100% - ${px(top.w)}) ${px(top.h)}, 100% ${px(top.h)}, 100% ${bandTop}, calc(100% - ${px(bottom.w)}) ${bandTop}, calc(100% - ${px(bottom.w)}) 100%, 100% 100%)`\n : `polygon(100% ${bandTop}, calc(100% - ${px(bottom.w)}) ${bandTop}, calc(100% - ${px(bottom.w)}) 100%, 100% 100%)`;\n\n return {\n ...base,\n width: Math.max(top?.w ?? 0, bottom.w),\n height: Math.max(innerH, (top?.h ?? 0) + bottom.h),\n shapeOutside: shape,\n };\n}\n\n// Variant fill goes on the clipped background layer; text colour goes on the\n// root so corner slots and content inherit it. Shadows must be drop-shadow\n// (a filter, applied to the layer's parent) — box-shadow gets clipped away.\nconst notchedCardVariants = {\n default: {\n background: \"bg-glass-none-bg\",\n shadow: \"drop-shadow-sm\",\n text: \"text-primary-txt\",\n borderedByDefault: true,\n },\n muted: {\n background: \"bg-muted-bg\",\n shadow: \"\",\n text: \"text-primary-txt\",\n borderedByDefault: true,\n },\n // Translucent glass over textured backgrounds — blur is part of the deal.\n glass: {\n background: \"bg-glass-40-bg backdrop-blur-glass\",\n shadow: \"\",\n text: \"text-primary-txt\",\n borderedByDefault: false,\n },\n // Active product's brand gradient, matching Card's brand variant.\n brand: {\n background:\n \"bg-[image:linear-gradient(to_right,var(--theme-brand-700),var(--theme-brand-500-primary))]\",\n shadow: \"\",\n text: \"text-white\",\n borderedByDefault: false,\n },\n inverted: {\n background: \"bg-primary-invert-bg\",\n shadow: \"\",\n text: \"text-primary-invert-txt\",\n borderedByDefault: false,\n },\n} as const;\n\ntype NotchedCardVariant = keyof typeof notchedCardVariants;\n\ntype NotchedCardProps = React.ComponentProps<\"div\"> & {\n /** Content pinned to the top-left corner; its footprint is notched out of the background. */\n topLeftComponent?: React.ReactNode;\n /** Content pinned to the top-right corner; its footprint is notched out of the background. */\n topRightComponent?: React.ReactNode;\n /** Content pinned to the bottom-left corner; its footprint is notched out of the background. */\n bottomLeftComponent?: React.ReactNode;\n /** Content pinned to the bottom-right corner; its footprint is notched out of the background. */\n bottomRightComponent?: React.ReactNode;\n /** Background fill of the card surface. Default `default` (solid surface). */\n variant?: NotchedCardVariant;\n /** Image URL rendered as the card's background (object-fit: cover), slightly transparent. */\n backgroundImage?: string;\n /** Opacity of the background image. Default `0.8`. */\n backgroundImageOpacity?: number;\n /** Outer corner radius in px. Default `16`. */\n radius?: number;\n /** Concave fillet radius at each notch's inner corner in px. Default `12`. */\n notchRadius?: number;\n /** Gutter in px between corner content and the background edge. Default `12`. */\n notchGap?: number;\n /** Content padding in px. Default `24`. */\n padding?: number;\n /** Keep flowing content out of the notched corners via invisible float\n spacers. Needs flow (block/inline) content — set `false` if\n `contentClassName` turns the wrapper into a flex/grid container.\n Default `true`. */\n avoidNotches?: boolean;\n /** Draw the outline stroke. Defaults per variant (`default`/`muted` on, others off). */\n bordered?: boolean;\n /** Extra classes for the clipped background layer — set the fill here (e.g.\n `bg-…`, gradients). The layer sits behind the content, so plain `hover:`\n variants never fire on it; the root carries the `group` marker — use\n `group-hover:bg-…` for hover fills (plain `hover:` works on `className`,\n which styles the root itself). */\n backgroundClassName?: string;\n /** Extra classes for the content wrapper. */\n contentClassName?: string;\n};\n\n/** Card with corner slots that notch the background around their content. */\nfunction NotchedCard({\n children,\n topLeftComponent,\n topRightComponent,\n bottomLeftComponent,\n bottomRightComponent,\n variant = \"default\",\n backgroundImage,\n backgroundImageOpacity = 0.8,\n radius = 16,\n notchRadius = 12,\n notchGap = 12,\n padding = 24,\n avoidNotches = true,\n bordered,\n className,\n backgroundClassName,\n contentClassName,\n style,\n ...props\n}: NotchedCardProps) {\n const rootRef = React.useRef<HTMLDivElement>(null);\n const tlRef = React.useRef<HTMLDivElement>(null);\n const trRef = React.useRef<HTMLDivElement>(null);\n const brRef = React.useRef<HTMLDivElement>(null);\n const blRef = React.useRef<HTMLDivElement>(null);\n const cornerRefs: Record<CornerKey, React.RefObject<HTMLDivElement>> = {\n tl: tlRef,\n tr: trRef,\n br: brRef,\n bl: blRef,\n };\n\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const [box, setBox] = React.useState<CornerBox>({ w: 0, h: 0 });\n const [contentH, setContentH] = React.useState(0);\n const [sizes, setSizes] = React.useState<CornerSizes>({\n tl: null,\n tr: null,\n br: null,\n bl: null,\n });\n\n const cornerSlots: Array<[CornerKey, React.ReactNode, React.CSSProperties]> = [\n [\"tl\", topLeftComponent, { top: 0, left: 0 }],\n [\"tr\", topRightComponent, { top: 0, right: 0 }],\n [\"br\", bottomRightComponent, { bottom: 0, right: 0 }],\n [\"bl\", bottomLeftComponent, { bottom: 0, left: 0 }],\n ];\n const hasCorners = cornerSlots.some(([, node]) => node != null && node !== false);\n\n const measure = React.useCallback(() => {\n const root = rootRef.current;\n if (!root) return;\n setBox((prev) => {\n const next = { w: root.offsetWidth, h: root.offsetHeight };\n return sameBox(prev, next) ? prev : next;\n });\n setContentH((prev) => {\n const next = contentRef.current?.offsetHeight ?? 0;\n return prev === next ? prev : next;\n });\n setSizes((prev) => {\n const next = {} as CornerSizes;\n let changed = false;\n for (const k of CORNER_KEYS) {\n const el = cornerRefs[k].current;\n next[k] = el ? { w: el.offsetWidth, h: el.offsetHeight } : null;\n if (!sameBox(prev[k], next[k])) changed = true;\n }\n return changed ? next : prev;\n });\n }, []);\n\n useIsoLayoutEffect(() => {\n if (!hasCorners) return;\n measure();\n if (typeof ResizeObserver === \"undefined\") return;\n const ro = new ResizeObserver(measure);\n if (rootRef.current) ro.observe(rootRef.current);\n if (contentRef.current) ro.observe(contentRef.current);\n for (const k of CORNER_KEYS) {\n const el = cornerRefs[k].current;\n if (el) ro.observe(el);\n }\n return () => ro.disconnect();\n }, [\n measure,\n hasCorners,\n topLeftComponent,\n topRightComponent,\n bottomRightComponent,\n bottomLeftComponent,\n ]);\n\n // Corner content box + gutter = the bite taken out of the background.\n const notches = Object.fromEntries(\n CORNER_KEYS.map((k) => [\n k,\n sizes[k]\n ? { w: (sizes[k] as CornerBox).w + notchGap, h: (sizes[k] as CornerBox).h + notchGap }\n : null,\n ]),\n ) as CornerSizes;\n\n const path = hasCorners\n ? buildNotchedCardPath({ w: box.w, h: box.h, radius, notchRadius, notches })\n : \"\";\n\n const styles = notchedCardVariants[variant];\n const showBorder = bordered ?? styles.borderedByDefault;\n\n // Notch footprints translated into content-box coordinates, extended by\n // `notchGap` so flowing content keeps a gutter from the cut edges.\n const inset = (v?: number) => Math.max(0, (v ?? 0) - padding + notchGap);\n const toRect = (notch: CornerBox | null) =>\n notch ? { w: inset(notch.w), h: inset(notch.h) } : null;\n const spacerSides: Array<[\"left\" | \"right\", SideRects]> = [\n [\"left\", { top: toRect(notches.tl), bottom: toRect(notches.bl) }],\n [\"right\", { top: toRect(notches.tr), bottom: toRect(notches.br) }],\n ];\n const innerH = Math.max(0, contentH - 2 * padding);\n\n return (\n <div\n ref={rootRef}\n data-slot=\"notched-card\"\n data-variant={variant}\n className={cn(\"group relative isolate\", styles.text, className)}\n style={style}\n {...props}\n >\n {/* Background layer — the only thing that gets clipped. The wrapper owns\n the drop-shadow filter: filters apply before clipping, so a shadow on\n the clipped element itself would be cut away with it. */}\n <div aria-hidden className={cn(\"absolute inset-0 -z-10\", styles.shadow)}>\n <div\n data-slot=\"notched-card-background\"\n className={cn(\"absolute inset-0 overflow-hidden\", styles.background, backgroundClassName)}\n style={\n path\n ? { clipPath: `path(\"${path}\")`, WebkitClipPath: `path(\"${path}\")` }\n : { borderRadius: radius }\n }\n >\n {backgroundImage && (\n <img\n src={backgroundImage}\n alt=\"\"\n className=\"absolute inset-0 size-full object-cover\"\n style={{ opacity: backgroundImageOpacity }}\n />\n )}\n </div>\n </div>\n\n {/* Outline — stroked (not clipped) so it follows the notches and stays crisp. */}\n {showBorder &&\n (path ? (\n <svg\n aria-hidden\n data-slot=\"notched-card-border\"\n viewBox={`0 0 ${box.w} ${box.h}`}\n width={box.w}\n height={box.h}\n className=\"pointer-events-none absolute inset-0\"\n focusable=\"false\"\n >\n <path d={path} fill=\"none\" strokeWidth={1} className=\"stroke-primary-border\" />\n </svg>\n ) : (\n <div\n aria-hidden\n data-slot=\"notched-card-border\"\n className=\"pointer-events-none absolute inset-0 border border-primary-border\"\n style={{ borderRadius: radius }}\n />\n ))}\n\n {/* Content — uniform padding; float spacers keep flowing content out of\n the notched corners. */}\n <div\n ref={contentRef}\n data-slot=\"notched-card-content\"\n className={cn(\"relative\", contentClassName)}\n style={{ padding }}\n >\n {avoidNotches &&\n spacerSides.map(([side, rects]) => {\n const spacerStyle = sideSpacerStyle(side, rects, innerH);\n return spacerStyle ? (\n <div\n key={side}\n aria-hidden\n data-slot=\"notched-card-spacer\"\n data-side={side}\n style={spacerStyle}\n />\n ) : null;\n })}\n {children}\n </div>\n\n {/* Corner slots — outside the background, inside the cutouts. */}\n {cornerSlots.map(([key, node, pos]) =>\n node != null && node !== false ? (\n <div\n key={key}\n ref={cornerRefs[key]}\n data-slot=\"notched-card-corner\"\n data-corner={key}\n className=\"absolute flex w-max items-center\"\n style={pos}\n >\n {node}\n </div>\n ) : null,\n )}\n </div>\n );\n}\n\nexport {\n NotchedCard,\n buildNotchedCardPath,\n notchedCardVariants,\n type NotchedCardProps,\n type NotchedCardVariant,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { a as notchedCardVariants, i as buildNotchedCardPath, n as NotchedCardProps, r as NotchedCardVariant, t as NotchedCard } from "../../index49.cjs";
2
+ export { NotchedCard, NotchedCardProps, NotchedCardVariant, buildNotchedCardPath, notchedCardVariants };
@@ -0,0 +1,2 @@
1
+ import { a as notchedCardVariants, i as buildNotchedCardPath, n as NotchedCardProps, r as NotchedCardVariant, t as NotchedCard } from "../../index49.js";
2
+ export { NotchedCard, NotchedCardProps, NotchedCardVariant, buildNotchedCardPath, notchedCardVariants };