@hanzo/ui 8.27.91 → 8.29.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 (758) hide show
  1. package/NOTICE +25 -0
  2. package/README.md +1 -1
  3. package/dist/backends/gui/alert-dialog.cjs +24 -6
  4. package/dist/backends/gui/alert-dialog.d.ts +11 -3
  5. package/dist/backends/gui/alert-dialog.d.ts.map +1 -1
  6. package/dist/backends/gui/alert-dialog.js +24 -6
  7. package/dist/backends/gui/alert-dialog.js.map +1 -1
  8. package/dist/backends/gui/alert.cjs +32 -1
  9. package/dist/backends/gui/alert.d.ts +36 -3
  10. package/dist/backends/gui/alert.d.ts.map +1 -1
  11. package/dist/backends/gui/alert.js +32 -2
  12. package/dist/backends/gui/alert.js.map +1 -1
  13. package/dist/backends/gui/avatar-group.cjs +28 -0
  14. package/dist/backends/gui/avatar-group.d.ts +33 -0
  15. package/dist/backends/gui/avatar-group.d.ts.map +1 -0
  16. package/dist/backends/gui/avatar-group.js +26 -0
  17. package/dist/backends/gui/avatar-group.js.map +1 -0
  18. package/dist/backends/gui/avatar.cjs +53 -3
  19. package/dist/backends/gui/avatar.d.ts +46 -4
  20. package/dist/backends/gui/avatar.d.ts.map +1 -1
  21. package/dist/backends/gui/avatar.js +52 -3
  22. package/dist/backends/gui/avatar.js.map +1 -1
  23. package/dist/backends/gui/badge.cjs +40 -2
  24. package/dist/backends/gui/badge.d.ts +7 -2
  25. package/dist/backends/gui/badge.d.ts.map +1 -1
  26. package/dist/backends/gui/badge.js +40 -2
  27. package/dist/backends/gui/badge.js.map +1 -1
  28. package/dist/backends/gui/banner.cjs +40 -1
  29. package/dist/backends/gui/banner.d.ts +36 -3
  30. package/dist/backends/gui/banner.d.ts.map +1 -1
  31. package/dist/backends/gui/banner.js +42 -4
  32. package/dist/backends/gui/banner.js.map +1 -1
  33. package/dist/backends/gui/breadcrumb.cjs +28 -10
  34. package/dist/backends/gui/breadcrumb.d.ts +20 -11
  35. package/dist/backends/gui/breadcrumb.d.ts.map +1 -1
  36. package/dist/backends/gui/breadcrumb.js +28 -10
  37. package/dist/backends/gui/breadcrumb.js.map +1 -1
  38. package/dist/backends/gui/button-group.cjs +43 -0
  39. package/dist/backends/gui/button-group.d.ts +48 -0
  40. package/dist/backends/gui/button-group.d.ts.map +1 -0
  41. package/dist/backends/gui/button-group.js +40 -0
  42. package/dist/backends/gui/button-group.js.map +1 -0
  43. package/dist/backends/gui/button.cjs +177 -4
  44. package/dist/backends/gui/button.d.ts +69 -4
  45. package/dist/backends/gui/button.d.ts.map +1 -1
  46. package/dist/backends/gui/button.js +179 -6
  47. package/dist/backends/gui/button.js.map +1 -1
  48. package/dist/backends/gui/card.cjs +50 -21
  49. package/dist/backends/gui/card.d.ts +16 -7
  50. package/dist/backends/gui/card.d.ts.map +1 -1
  51. package/dist/backends/gui/card.js +50 -21
  52. package/dist/backends/gui/card.js.map +1 -1
  53. package/dist/backends/gui/checkbox.cjs +86 -14
  54. package/dist/backends/gui/checkbox.d.ts +30 -2
  55. package/dist/backends/gui/checkbox.d.ts.map +1 -1
  56. package/dist/backends/gui/checkbox.js +87 -15
  57. package/dist/backends/gui/checkbox.js.map +1 -1
  58. package/dist/backends/gui/chip.cjs +51 -0
  59. package/dist/backends/gui/chip.d.ts +47 -0
  60. package/dist/backends/gui/chip.d.ts.map +1 -0
  61. package/dist/backends/gui/chip.js +49 -0
  62. package/dist/backends/gui/chip.js.map +1 -0
  63. package/dist/backends/gui/choice.cjs +18 -3
  64. package/dist/backends/gui/choice.d.ts +10 -2
  65. package/dist/backends/gui/choice.d.ts.map +1 -1
  66. package/dist/backends/gui/choice.js +19 -4
  67. package/dist/backends/gui/choice.js.map +1 -1
  68. package/dist/backends/gui/code-editor.cjs +16 -5
  69. package/dist/backends/gui/code-editor.d.ts +18 -1
  70. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  71. package/dist/backends/gui/code-editor.js +16 -5
  72. package/dist/backends/gui/code-editor.js.map +1 -1
  73. package/dist/backends/gui/color-sample.cjs +24 -0
  74. package/dist/backends/gui/color-sample.d.ts +23 -0
  75. package/dist/backends/gui/color-sample.d.ts.map +1 -0
  76. package/dist/backends/gui/color-sample.js +22 -0
  77. package/dist/backends/gui/color-sample.js.map +1 -0
  78. package/dist/backends/gui/control.cjs +5 -3
  79. package/dist/backends/gui/control.d.ts +13 -3
  80. package/dist/backends/gui/control.d.ts.map +1 -1
  81. package/dist/backends/gui/control.js +5 -3
  82. package/dist/backends/gui/control.js.map +1 -1
  83. package/dist/backends/gui/country-select.cjs +69 -0
  84. package/dist/backends/gui/country-select.d.ts +30 -0
  85. package/dist/backends/gui/country-select.d.ts.map +1 -0
  86. package/dist/backends/gui/country-select.js +67 -0
  87. package/dist/backends/gui/country-select.js.map +1 -0
  88. package/dist/backends/gui/currency-picker.cjs +48 -0
  89. package/dist/backends/gui/currency-picker.d.ts +37 -0
  90. package/dist/backends/gui/currency-picker.d.ts.map +1 -0
  91. package/dist/backends/gui/currency-picker.js +46 -0
  92. package/dist/backends/gui/currency-picker.js.map +1 -0
  93. package/dist/backends/gui/density.cjs +32 -0
  94. package/dist/backends/gui/density.d.ts +27 -0
  95. package/dist/backends/gui/density.d.ts.map +1 -0
  96. package/dist/backends/gui/density.js +27 -0
  97. package/dist/backends/gui/density.js.map +1 -0
  98. package/dist/backends/gui/dialog.cjs +65 -7
  99. package/dist/backends/gui/dialog.d.ts +68 -3
  100. package/dist/backends/gui/dialog.d.ts.map +1 -1
  101. package/dist/backends/gui/dialog.js +63 -7
  102. package/dist/backends/gui/dialog.js.map +1 -1
  103. package/dist/backends/gui/dropdown-menu.cjs +361 -31
  104. package/dist/backends/gui/dropdown-menu.d.ts +151 -15
  105. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
  106. package/dist/backends/gui/dropdown-menu.js +353 -34
  107. package/dist/backends/gui/dropdown-menu.js.map +1 -1
  108. package/dist/backends/gui/feedback.cjs +78 -0
  109. package/dist/backends/gui/feedback.d.ts +46 -0
  110. package/dist/backends/gui/feedback.d.ts.map +1 -0
  111. package/dist/backends/gui/feedback.js +74 -0
  112. package/dist/backends/gui/feedback.js.map +1 -0
  113. package/dist/backends/gui/field.cjs +71 -14
  114. package/dist/backends/gui/field.d.ts +43 -3
  115. package/dist/backends/gui/field.d.ts.map +1 -1
  116. package/dist/backends/gui/field.js +69 -14
  117. package/dist/backends/gui/field.js.map +1 -1
  118. package/dist/backends/gui/flag.cjs +17 -0
  119. package/dist/backends/gui/flag.d.ts +9 -0
  120. package/dist/backends/gui/flag.d.ts.map +1 -0
  121. package/dist/backends/gui/flag.js +14 -0
  122. package/dist/backends/gui/flag.js.map +1 -0
  123. package/dist/backends/gui/grip.cjs +35 -3
  124. package/dist/backends/gui/grip.d.ts +16 -1
  125. package/dist/backends/gui/grip.d.ts.map +1 -1
  126. package/dist/backends/gui/grip.js +35 -3
  127. package/dist/backends/gui/grip.js.map +1 -1
  128. package/dist/backends/gui/heading.cjs +27 -0
  129. package/dist/backends/gui/heading.d.ts +8 -0
  130. package/dist/backends/gui/heading.d.ts.map +1 -0
  131. package/dist/backends/gui/heading.js +25 -0
  132. package/dist/backends/gui/heading.js.map +1 -0
  133. package/dist/backends/gui/hue.cjs +49 -0
  134. package/dist/backends/gui/hue.d.ts +18 -0
  135. package/dist/backends/gui/hue.d.ts.map +1 -0
  136. package/dist/backends/gui/hue.js +43 -0
  137. package/dist/backends/gui/hue.js.map +1 -0
  138. package/dist/backends/gui/icon-picker.cjs +194 -0
  139. package/dist/backends/gui/icon-picker.d.ts +51 -0
  140. package/dist/backends/gui/icon-picker.d.ts.map +1 -0
  141. package/dist/backends/gui/icon-picker.js +155 -0
  142. package/dist/backends/gui/icon-picker.js.map +1 -0
  143. package/dist/backends/gui/icon-tile.cjs +36 -0
  144. package/dist/backends/gui/icon-tile.d.ts +26 -0
  145. package/dist/backends/gui/icon-tile.d.ts.map +1 -0
  146. package/dist/backends/gui/icon-tile.js +32 -0
  147. package/dist/backends/gui/icon-tile.js.map +1 -0
  148. package/dist/backends/gui/icons.cjs +381 -0
  149. package/dist/backends/gui/icons.d.ts +53 -0
  150. package/dist/backends/gui/icons.d.ts.map +1 -0
  151. package/dist/backends/gui/icons.js +377 -0
  152. package/dist/backends/gui/icons.js.map +1 -0
  153. package/dist/backends/gui/image-input.cjs +78 -0
  154. package/dist/backends/gui/image-input.d.ts +32 -0
  155. package/dist/backends/gui/image-input.d.ts.map +1 -0
  156. package/dist/backends/gui/image-input.js +74 -0
  157. package/dist/backends/gui/image-input.js.map +1 -0
  158. package/dist/backends/gui/index.cjs +105 -7
  159. package/dist/backends/gui/index.d.ts +47 -2
  160. package/dist/backends/gui/index.d.ts.map +1 -1
  161. package/dist/backends/gui/index.js +37 -1
  162. package/dist/backends/gui/index.js.map +1 -1
  163. package/dist/backends/gui/input-group.cjs +49 -0
  164. package/dist/backends/gui/input-group.d.ts +46 -0
  165. package/dist/backends/gui/input-group.d.ts.map +1 -0
  166. package/dist/backends/gui/input-group.js +46 -0
  167. package/dist/backends/gui/input-group.js.map +1 -0
  168. package/dist/backends/gui/input.cjs +32 -4
  169. package/dist/backends/gui/input.d.ts +5 -1
  170. package/dist/backends/gui/input.d.ts.map +1 -1
  171. package/dist/backends/gui/input.js +33 -5
  172. package/dist/backends/gui/input.js.map +1 -1
  173. package/dist/backends/gui/item.cjs +34 -2
  174. package/dist/backends/gui/item.d.ts +21 -5
  175. package/dist/backends/gui/item.d.ts.map +1 -1
  176. package/dist/backends/gui/item.js +35 -3
  177. package/dist/backends/gui/item.js.map +1 -1
  178. package/dist/backends/gui/json-tree.cjs +103 -15
  179. package/dist/backends/gui/json-tree.d.ts +39 -3
  180. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  181. package/dist/backends/gui/json-tree.js +104 -16
  182. package/dist/backends/gui/json-tree.js.map +1 -1
  183. package/dist/backends/gui/kbd.cjs +18 -2
  184. package/dist/backends/gui/kbd.d.ts +5 -2
  185. package/dist/backends/gui/kbd.d.ts.map +1 -1
  186. package/dist/backends/gui/kbd.js +18 -2
  187. package/dist/backends/gui/kbd.js.map +1 -1
  188. package/dist/backends/gui/label.cjs +14 -3
  189. package/dist/backends/gui/label.d.ts +12 -3
  190. package/dist/backends/gui/label.d.ts.map +1 -1
  191. package/dist/backends/gui/label.js +14 -3
  192. package/dist/backends/gui/label.js.map +1 -1
  193. package/dist/backends/gui/layout.cjs +5 -1
  194. package/dist/backends/gui/layout.d.ts +1 -1
  195. package/dist/backends/gui/layout.d.ts.map +1 -1
  196. package/dist/backends/gui/layout.js +5 -1
  197. package/dist/backends/gui/layout.js.map +1 -1
  198. package/dist/backends/gui/number-field.cjs +163 -0
  199. package/dist/backends/gui/number-field.d.ts +34 -0
  200. package/dist/backends/gui/number-field.d.ts.map +1 -0
  201. package/dist/backends/gui/number-field.js +160 -0
  202. package/dist/backends/gui/number-field.js.map +1 -0
  203. package/dist/backends/gui/overflowing-list.cjs +79 -0
  204. package/dist/backends/gui/overflowing-list.d.ts +42 -0
  205. package/dist/backends/gui/overflowing-list.d.ts.map +1 -0
  206. package/dist/backends/gui/overflowing-list.js +76 -0
  207. package/dist/backends/gui/overflowing-list.js.map +1 -0
  208. package/dist/backends/gui/phone-country-picker.cjs +60 -0
  209. package/dist/backends/gui/phone-country-picker.d.ts +34 -0
  210. package/dist/backends/gui/phone-country-picker.d.ts.map +1 -0
  211. package/dist/backends/gui/phone-country-picker.js +57 -0
  212. package/dist/backends/gui/phone-country-picker.js.map +1 -0
  213. package/dist/backends/gui/popover.cjs +20 -4
  214. package/dist/backends/gui/popover.d.ts +12 -1
  215. package/dist/backends/gui/popover.d.ts.map +1 -1
  216. package/dist/backends/gui/popover.js +21 -5
  217. package/dist/backends/gui/popover.js.map +1 -1
  218. package/dist/backends/gui/progress-ring.cjs +38 -0
  219. package/dist/backends/gui/progress-ring.d.ts +37 -0
  220. package/dist/backends/gui/progress-ring.d.ts.map +1 -0
  221. package/dist/backends/gui/progress-ring.js +36 -0
  222. package/dist/backends/gui/progress-ring.js.map +1 -0
  223. package/dist/backends/gui/progress.cjs +31 -7
  224. package/dist/backends/gui/progress.d.ts +25 -3
  225. package/dist/backends/gui/progress.d.ts.map +1 -1
  226. package/dist/backends/gui/progress.js +32 -8
  227. package/dist/backends/gui/progress.js.map +1 -1
  228. package/dist/backends/gui/radio-group.cjs +28 -2
  229. package/dist/backends/gui/radio-group.d.ts +20 -2
  230. package/dist/backends/gui/radio-group.d.ts.map +1 -1
  231. package/dist/backends/gui/radio-group.js +28 -2
  232. package/dist/backends/gui/radio-group.js.map +1 -1
  233. package/dist/backends/gui/search-list.cjs +62 -0
  234. package/dist/backends/gui/search-list.d.ts +65 -0
  235. package/dist/backends/gui/search-list.d.ts.map +1 -0
  236. package/dist/backends/gui/search-list.js +58 -0
  237. package/dist/backends/gui/search-list.js.map +1 -0
  238. package/dist/backends/gui/select.cjs +50 -16
  239. package/dist/backends/gui/select.d.ts +12 -3
  240. package/dist/backends/gui/select.d.ts.map +1 -1
  241. package/dist/backends/gui/select.js +51 -17
  242. package/dist/backends/gui/select.js.map +1 -1
  243. package/dist/backends/gui/shortcut.cjs +122 -0
  244. package/dist/backends/gui/shortcut.d.ts +58 -0
  245. package/dist/backends/gui/shortcut.d.ts.map +1 -0
  246. package/dist/backends/gui/shortcut.js +115 -0
  247. package/dist/backends/gui/shortcut.js.map +1 -0
  248. package/dist/backends/gui/skeleton.cjs +41 -10
  249. package/dist/backends/gui/skeleton.d.ts +46 -8
  250. package/dist/backends/gui/skeleton.d.ts.map +1 -1
  251. package/dist/backends/gui/skeleton.js +39 -8
  252. package/dist/backends/gui/skeleton.js.map +1 -1
  253. package/dist/backends/gui/snippet.cjs +12 -1
  254. package/dist/backends/gui/snippet.d.ts +4 -2
  255. package/dist/backends/gui/snippet.d.ts.map +1 -1
  256. package/dist/backends/gui/snippet.js +12 -1
  257. package/dist/backends/gui/snippet.js.map +1 -1
  258. package/dist/backends/gui/spinner.cjs +8 -1
  259. package/dist/backends/gui/spinner.d.ts +11 -2
  260. package/dist/backends/gui/spinner.d.ts.map +1 -1
  261. package/dist/backends/gui/spinner.js +9 -2
  262. package/dist/backends/gui/spinner.js.map +1 -1
  263. package/dist/backends/gui/stack-icon.cjs +17 -0
  264. package/dist/backends/gui/stack-icon.d.ts +15 -0
  265. package/dist/backends/gui/stack-icon.d.ts.map +1 -0
  266. package/dist/backends/gui/stack-icon.js +15 -0
  267. package/dist/backends/gui/stack-icon.js.map +1 -0
  268. package/dist/backends/gui/status.cjs +38 -1
  269. package/dist/backends/gui/status.d.ts +16 -2
  270. package/dist/backends/gui/status.d.ts.map +1 -1
  271. package/dist/backends/gui/status.js +38 -2
  272. package/dist/backends/gui/status.js.map +1 -1
  273. package/dist/backends/gui/stepper.cjs +73 -3
  274. package/dist/backends/gui/stepper.d.ts +25 -1
  275. package/dist/backends/gui/stepper.d.ts.map +1 -1
  276. package/dist/backends/gui/stepper.js +71 -5
  277. package/dist/backends/gui/stepper.js.map +1 -1
  278. package/dist/backends/gui/switch.cjs +35 -20
  279. package/dist/backends/gui/switch.d.ts +12 -2
  280. package/dist/backends/gui/switch.d.ts.map +1 -1
  281. package/dist/backends/gui/switch.js +35 -20
  282. package/dist/backends/gui/switch.js.map +1 -1
  283. package/dist/backends/gui/tabs.cjs +63 -17
  284. package/dist/backends/gui/tabs.d.ts +35 -6
  285. package/dist/backends/gui/tabs.d.ts.map +1 -1
  286. package/dist/backends/gui/tabs.js +65 -19
  287. package/dist/backends/gui/tabs.js.map +1 -1
  288. package/dist/backends/gui/tag.cjs +48 -0
  289. package/dist/backends/gui/tag.d.ts +53 -0
  290. package/dist/backends/gui/tag.d.ts.map +1 -0
  291. package/dist/backends/gui/tag.js +46 -0
  292. package/dist/backends/gui/tag.js.map +1 -0
  293. package/dist/backends/gui/tags.cjs +9 -2
  294. package/dist/backends/gui/tags.d.ts +6 -5
  295. package/dist/backends/gui/tags.d.ts.map +1 -1
  296. package/dist/backends/gui/tags.js +9 -2
  297. package/dist/backends/gui/tags.js.map +1 -1
  298. package/dist/backends/gui/textarea.cjs +22 -6
  299. package/dist/backends/gui/textarea.d.ts +10 -1
  300. package/dist/backends/gui/textarea.d.ts.map +1 -1
  301. package/dist/backends/gui/textarea.js +22 -6
  302. package/dist/backends/gui/textarea.js.map +1 -1
  303. package/dist/backends/gui/toaster.cjs +167 -3
  304. package/dist/backends/gui/toaster.d.ts +28 -2
  305. package/dist/backends/gui/toaster.d.ts.map +1 -1
  306. package/dist/backends/gui/toaster.js +167 -5
  307. package/dist/backends/gui/toaster.js.map +1 -1
  308. package/dist/backends/gui/toggle-group.cjs +13 -0
  309. package/dist/backends/gui/toggle-group.d.ts +7 -1
  310. package/dist/backends/gui/toggle-group.d.ts.map +1 -1
  311. package/dist/backends/gui/toggle-group.js +13 -0
  312. package/dist/backends/gui/toggle-group.js.map +1 -1
  313. package/dist/backends/gui/tooltip.cjs +29 -6
  314. package/dist/backends/gui/tooltip.d.ts +23 -4
  315. package/dist/backends/gui/tooltip.d.ts.map +1 -1
  316. package/dist/backends/gui/tooltip.js +31 -8
  317. package/dist/backends/gui/tooltip.js.map +1 -1
  318. package/dist/backends/gui/truncated-text.cjs +102 -0
  319. package/dist/backends/gui/truncated-text.d.ts +55 -0
  320. package/dist/backends/gui/truncated-text.d.ts.map +1 -0
  321. package/dist/backends/gui/truncated-text.js +97 -0
  322. package/dist/backends/gui/truncated-text.js.map +1 -0
  323. package/dist/gallery/compound.cjs +60 -0
  324. package/dist/gallery/compound.d.ts +2 -0
  325. package/dist/gallery/compound.d.ts.map +1 -0
  326. package/dist/gallery/compound.js +58 -0
  327. package/dist/gallery/compound.js.map +1 -0
  328. package/dist/gallery/display.cjs +47 -0
  329. package/dist/gallery/display.d.ts +3 -0
  330. package/dist/gallery/display.d.ts.map +1 -0
  331. package/dist/gallery/display.js +45 -0
  332. package/dist/gallery/display.js.map +1 -0
  333. package/dist/gallery/feedback.cjs +38 -0
  334. package/dist/gallery/feedback.d.ts +2 -0
  335. package/dist/gallery/feedback.d.ts.map +1 -0
  336. package/dist/gallery/feedback.js +36 -0
  337. package/dist/gallery/feedback.js.map +1 -0
  338. package/dist/gallery/fields.cjs +53 -0
  339. package/dist/gallery/fields.d.ts +2 -0
  340. package/dist/gallery/fields.d.ts.map +1 -0
  341. package/dist/gallery/fields.js +51 -0
  342. package/dist/gallery/fields.js.map +1 -0
  343. package/dist/gallery/frames.cjs +47 -0
  344. package/dist/gallery/frames.d.ts +2 -0
  345. package/dist/gallery/frames.d.ts.map +1 -0
  346. package/dist/gallery/frames.js +45 -0
  347. package/dist/gallery/frames.js.map +1 -0
  348. package/dist/gallery/icons.cjs +19 -0
  349. package/dist/gallery/icons.d.ts +2 -0
  350. package/dist/gallery/icons.d.ts.map +1 -0
  351. package/dist/gallery/icons.js +17 -0
  352. package/dist/gallery/icons.js.map +1 -0
  353. package/dist/gallery/menus.cjs +64 -0
  354. package/dist/gallery/menus.d.ts +15 -0
  355. package/dist/gallery/menus.d.ts.map +1 -0
  356. package/dist/gallery/menus.js +58 -0
  357. package/dist/gallery/menus.js.map +1 -0
  358. package/dist/gallery/records.cjs +34 -0
  359. package/dist/gallery/records.d.ts +2 -0
  360. package/dist/gallery/records.d.ts.map +1 -0
  361. package/dist/gallery/records.js +32 -0
  362. package/dist/gallery/records.js.map +1 -0
  363. package/dist/gallery/section.cjs +17 -0
  364. package/dist/gallery/section.d.ts +10 -0
  365. package/dist/gallery/section.d.ts.map +1 -0
  366. package/dist/gallery/section.js +14 -0
  367. package/dist/gallery/section.js.map +1 -0
  368. package/dist/gallery.cjs +8 -14
  369. package/dist/gallery.d.ts.map +1 -1
  370. package/dist/gallery.html +1594 -256
  371. package/dist/gallery.js +3 -9
  372. package/dist/gallery.js.map +1 -1
  373. package/dist/gui-config.cjs +33 -4
  374. package/dist/gui-config.d.ts +11 -3
  375. package/dist/gui-config.d.ts.map +1 -1
  376. package/dist/gui-config.js +33 -4
  377. package/dist/gui-config.js.map +1 -1
  378. package/dist/index.cjs +73 -2
  379. package/dist/index.d.ts +5 -2
  380. package/dist/index.d.ts.map +1 -1
  381. package/dist/index.js +10 -1
  382. package/dist/index.js.map +1 -1
  383. package/dist/index.node.cjs +73 -2
  384. package/dist/index.node.js +10 -1
  385. package/dist/motion.cjs +25 -1
  386. package/dist/motion.d.ts +16 -1
  387. package/dist/motion.d.ts.map +1 -1
  388. package/dist/motion.js +24 -1
  389. package/dist/motion.js.map +1 -1
  390. package/dist/primitives/AvatarGroup.cjs +8 -0
  391. package/dist/primitives/AvatarGroup.d.ts +2 -0
  392. package/dist/primitives/AvatarGroup.d.ts.map +1 -0
  393. package/dist/primitives/AvatarGroup.js +5 -0
  394. package/dist/primitives/AvatarGroup.js.map +1 -0
  395. package/dist/primitives/BannerAction.cjs +8 -0
  396. package/dist/primitives/BannerAction.d.ts +2 -0
  397. package/dist/primitives/BannerAction.d.ts.map +1 -0
  398. package/dist/primitives/BannerAction.js +5 -0
  399. package/dist/primitives/BannerAction.js.map +1 -0
  400. package/dist/primitives/ButtonGroup.cjs +8 -0
  401. package/dist/primitives/ButtonGroup.d.ts +2 -0
  402. package/dist/primitives/ButtonGroup.d.ts.map +1 -0
  403. package/dist/primitives/ButtonGroup.js +5 -0
  404. package/dist/primitives/ButtonGroup.js.map +1 -0
  405. package/dist/primitives/ButtonGroupContext.cjs +8 -0
  406. package/dist/primitives/ButtonGroupContext.d.ts +2 -0
  407. package/dist/primitives/ButtonGroupContext.d.ts.map +1 -0
  408. package/dist/primitives/ButtonGroupContext.js +5 -0
  409. package/dist/primitives/ButtonGroupContext.js.map +1 -0
  410. package/dist/primitives/CONCEPTS.cjs +8 -0
  411. package/dist/primitives/CONCEPTS.d.ts +2 -0
  412. package/dist/primitives/CONCEPTS.d.ts.map +1 -0
  413. package/dist/primitives/CONCEPTS.js +5 -0
  414. package/dist/primitives/CONCEPTS.js.map +1 -0
  415. package/dist/primitives/CalloutAction.cjs +8 -0
  416. package/dist/primitives/CalloutAction.d.ts +2 -0
  417. package/dist/primitives/CalloutAction.d.ts.map +1 -0
  418. package/dist/primitives/CalloutAction.js +5 -0
  419. package/dist/primitives/CalloutAction.js.map +1 -0
  420. package/dist/primitives/Chip.cjs +8 -0
  421. package/dist/primitives/Chip.d.ts +2 -0
  422. package/dist/primitives/Chip.d.ts.map +1 -0
  423. package/dist/primitives/Chip.js +5 -0
  424. package/dist/primitives/Chip.js.map +1 -0
  425. package/dist/primitives/ColorSample.cjs +8 -0
  426. package/dist/primitives/ColorSample.d.ts +2 -0
  427. package/dist/primitives/ColorSample.d.ts.map +1 -0
  428. package/dist/primitives/ColorSample.js +5 -0
  429. package/dist/primitives/ColorSample.js.map +1 -0
  430. package/dist/primitives/CountrySelect.cjs +8 -0
  431. package/dist/primitives/CountrySelect.d.ts +2 -0
  432. package/dist/primitives/CountrySelect.d.ts.map +1 -0
  433. package/dist/primitives/CountrySelect.js +5 -0
  434. package/dist/primitives/CountrySelect.js.map +1 -0
  435. package/dist/primitives/CurrencyPicker.cjs +8 -0
  436. package/dist/primitives/CurrencyPicker.d.ts +2 -0
  437. package/dist/primitives/CurrencyPicker.d.ts.map +1 -0
  438. package/dist/primitives/CurrencyPicker.js +5 -0
  439. package/dist/primitives/CurrencyPicker.js.map +1 -0
  440. package/dist/primitives/Density.cjs +8 -0
  441. package/dist/primitives/Density.d.ts +2 -0
  442. package/dist/primitives/Density.d.ts.map +1 -0
  443. package/dist/primitives/Density.js +5 -0
  444. package/dist/primitives/Density.js.map +1 -0
  445. package/dist/primitives/DialogBody.cjs +8 -0
  446. package/dist/primitives/DialogBody.d.ts +2 -0
  447. package/dist/primitives/DialogBody.d.ts.map +1 -0
  448. package/dist/primitives/DialogBody.js +5 -0
  449. package/dist/primitives/DialogBody.js.map +1 -0
  450. package/dist/primitives/DropdownMenuBack.cjs +8 -0
  451. package/dist/primitives/DropdownMenuBack.d.ts +2 -0
  452. package/dist/primitives/DropdownMenuBack.d.ts.map +1 -0
  453. package/dist/primitives/DropdownMenuBack.js +5 -0
  454. package/dist/primitives/DropdownMenuBack.js.map +1 -0
  455. package/dist/primitives/DropdownMenuClose.cjs +8 -0
  456. package/dist/primitives/DropdownMenuClose.d.ts +2 -0
  457. package/dist/primitives/DropdownMenuClose.d.ts.map +1 -0
  458. package/dist/primitives/DropdownMenuClose.js +5 -0
  459. package/dist/primitives/DropdownMenuClose.js.map +1 -0
  460. package/dist/primitives/DropdownMenuEmpty.cjs +8 -0
  461. package/dist/primitives/DropdownMenuEmpty.d.ts +2 -0
  462. package/dist/primitives/DropdownMenuEmpty.d.ts.map +1 -0
  463. package/dist/primitives/DropdownMenuEmpty.js +5 -0
  464. package/dist/primitives/DropdownMenuEmpty.js.map +1 -0
  465. package/dist/primitives/DropdownMenuHeader.cjs +8 -0
  466. package/dist/primitives/DropdownMenuHeader.d.ts +2 -0
  467. package/dist/primitives/DropdownMenuHeader.d.ts.map +1 -0
  468. package/dist/primitives/DropdownMenuHeader.js +5 -0
  469. package/dist/primitives/DropdownMenuHeader.js.map +1 -0
  470. package/dist/primitives/DropdownMenuLoading.cjs +8 -0
  471. package/dist/primitives/DropdownMenuLoading.d.ts +2 -0
  472. package/dist/primitives/DropdownMenuLoading.d.ts.map +1 -0
  473. package/dist/primitives/DropdownMenuLoading.js +5 -0
  474. package/dist/primitives/DropdownMenuLoading.js.map +1 -0
  475. package/dist/primitives/DropdownMenuOptionItem.cjs +8 -0
  476. package/dist/primitives/DropdownMenuOptionItem.d.ts +2 -0
  477. package/dist/primitives/DropdownMenuOptionItem.d.ts.map +1 -0
  478. package/dist/primitives/DropdownMenuOptionItem.js +5 -0
  479. package/dist/primitives/DropdownMenuOptionItem.js.map +1 -0
  480. package/dist/primitives/DropdownMenuPage.cjs +8 -0
  481. package/dist/primitives/DropdownMenuPage.d.ts +2 -0
  482. package/dist/primitives/DropdownMenuPage.d.ts.map +1 -0
  483. package/dist/primitives/DropdownMenuPage.js +5 -0
  484. package/dist/primitives/DropdownMenuPage.js.map +1 -0
  485. package/dist/primitives/DropdownMenuSearch.cjs +8 -0
  486. package/dist/primitives/DropdownMenuSearch.d.ts +2 -0
  487. package/dist/primitives/DropdownMenuSearch.d.ts.map +1 -0
  488. package/dist/primitives/DropdownMenuSearch.js +5 -0
  489. package/dist/primitives/DropdownMenuSearch.js.map +1 -0
  490. package/dist/primitives/DropdownMenuSection.cjs +8 -0
  491. package/dist/primitives/DropdownMenuSection.d.ts +2 -0
  492. package/dist/primitives/DropdownMenuSection.d.ts.map +1 -0
  493. package/dist/primitives/DropdownMenuSection.js +5 -0
  494. package/dist/primitives/DropdownMenuSection.js.map +1 -0
  495. package/dist/primitives/DropdownMenuSelectionGroup.cjs +8 -0
  496. package/dist/primitives/DropdownMenuSelectionGroup.d.ts +2 -0
  497. package/dist/primitives/DropdownMenuSelectionGroup.d.ts.map +1 -0
  498. package/dist/primitives/DropdownMenuSelectionGroup.js +5 -0
  499. package/dist/primitives/DropdownMenuSelectionGroup.js.map +1 -0
  500. package/dist/primitives/DropdownMenuTitle.cjs +8 -0
  501. package/dist/primitives/DropdownMenuTitle.d.ts +2 -0
  502. package/dist/primitives/DropdownMenuTitle.d.ts.map +1 -0
  503. package/dist/primitives/DropdownMenuTitle.js +5 -0
  504. package/dist/primitives/DropdownMenuTitle.js.map +1 -0
  505. package/dist/primitives/FIELD_ICONS.cjs +8 -0
  506. package/dist/primitives/FIELD_ICONS.d.ts +2 -0
  507. package/dist/primitives/FIELD_ICONS.d.ts.map +1 -0
  508. package/dist/primitives/FIELD_ICONS.js +5 -0
  509. package/dist/primitives/FIELD_ICONS.js.map +1 -0
  510. package/dist/primitives/Glyph.cjs +8 -0
  511. package/dist/primitives/Glyph.d.ts +2 -0
  512. package/dist/primitives/Glyph.d.ts.map +1 -0
  513. package/dist/primitives/Glyph.js +5 -0
  514. package/dist/primitives/Glyph.js.map +1 -0
  515. package/dist/primitives/Heading.cjs +2 -2
  516. package/dist/primitives/Heading.d.ts +1 -1
  517. package/dist/primitives/Heading.d.ts.map +1 -1
  518. package/dist/primitives/Heading.js +1 -1
  519. package/dist/primitives/Heading.js.map +1 -1
  520. package/dist/primitives/IconPicker.cjs +8 -0
  521. package/dist/primitives/IconPicker.d.ts +2 -0
  522. package/dist/primitives/IconPicker.d.ts.map +1 -0
  523. package/dist/primitives/IconPicker.js +5 -0
  524. package/dist/primitives/IconPicker.js.map +1 -0
  525. package/dist/primitives/IconTile.cjs +8 -0
  526. package/dist/primitives/IconTile.d.ts +2 -0
  527. package/dist/primitives/IconTile.d.ts.map +1 -0
  528. package/dist/primitives/IconTile.js +5 -0
  529. package/dist/primitives/IconTile.js.map +1 -0
  530. package/dist/primitives/ImageInput.cjs +8 -0
  531. package/dist/primitives/ImageInput.d.ts +2 -0
  532. package/dist/primitives/ImageInput.d.ts.map +1 -0
  533. package/dist/primitives/ImageInput.js +5 -0
  534. package/dist/primitives/ImageInput.js.map +1 -0
  535. package/dist/primitives/InputGroup.cjs +8 -0
  536. package/dist/primitives/InputGroup.d.ts +2 -0
  537. package/dist/primitives/InputGroup.d.ts.map +1 -0
  538. package/dist/primitives/InputGroup.js +5 -0
  539. package/dist/primitives/InputGroup.js.map +1 -0
  540. package/dist/primitives/NumberField.cjs +8 -0
  541. package/dist/primitives/NumberField.d.ts +2 -0
  542. package/dist/primitives/NumberField.d.ts.map +1 -0
  543. package/dist/primitives/NumberField.js +5 -0
  544. package/dist/primitives/NumberField.js.map +1 -0
  545. package/dist/primitives/OverflowingList.cjs +8 -0
  546. package/dist/primitives/OverflowingList.d.ts +2 -0
  547. package/dist/primitives/OverflowingList.d.ts.map +1 -0
  548. package/dist/primitives/OverflowingList.js +5 -0
  549. package/dist/primitives/OverflowingList.js.map +1 -0
  550. package/dist/primitives/PhoneCountryPicker.cjs +8 -0
  551. package/dist/primitives/PhoneCountryPicker.d.ts +2 -0
  552. package/dist/primitives/PhoneCountryPicker.d.ts.map +1 -0
  553. package/dist/primitives/PhoneCountryPicker.js +5 -0
  554. package/dist/primitives/PhoneCountryPicker.js.map +1 -0
  555. package/dist/primitives/ProgressRing.cjs +8 -0
  556. package/dist/primitives/ProgressRing.d.ts +2 -0
  557. package/dist/primitives/ProgressRing.d.ts.map +1 -0
  558. package/dist/primitives/ProgressRing.js +5 -0
  559. package/dist/primitives/ProgressRing.js.map +1 -0
  560. package/dist/primitives/RadioCircle.cjs +8 -0
  561. package/dist/primitives/RadioCircle.d.ts +2 -0
  562. package/dist/primitives/RadioCircle.d.ts.map +1 -0
  563. package/dist/primitives/RadioCircle.js +5 -0
  564. package/dist/primitives/RadioCircle.js.map +1 -0
  565. package/dist/primitives/SKELETON_HEIGHT.cjs +8 -0
  566. package/dist/primitives/SKELETON_HEIGHT.d.ts +2 -0
  567. package/dist/primitives/SKELETON_HEIGHT.d.ts.map +1 -0
  568. package/dist/primitives/SKELETON_HEIGHT.js +5 -0
  569. package/dist/primitives/SKELETON_HEIGHT.js.map +1 -0
  570. package/dist/primitives/STATUS_COLOR.cjs +8 -0
  571. package/dist/primitives/STATUS_COLOR.d.ts +2 -0
  572. package/dist/primitives/STATUS_COLOR.d.ts.map +1 -0
  573. package/dist/primitives/STATUS_COLOR.js +5 -0
  574. package/dist/primitives/STATUS_COLOR.js.map +1 -0
  575. package/dist/primitives/STATUS_HUE.cjs +8 -0
  576. package/dist/primitives/STATUS_HUE.d.ts +2 -0
  577. package/dist/primitives/STATUS_HUE.d.ts.map +1 -0
  578. package/dist/primitives/STATUS_HUE.js +5 -0
  579. package/dist/primitives/STATUS_HUE.js.map +1 -0
  580. package/dist/primitives/STATUS_PAINT.cjs +8 -0
  581. package/dist/primitives/STATUS_PAINT.d.ts +2 -0
  582. package/dist/primitives/STATUS_PAINT.d.ts.map +1 -0
  583. package/dist/primitives/STATUS_PAINT.js +5 -0
  584. package/dist/primitives/STATUS_PAINT.js.map +1 -0
  585. package/dist/primitives/Shortcut.cjs +8 -0
  586. package/dist/primitives/Shortcut.d.ts +2 -0
  587. package/dist/primitives/Shortcut.d.ts.map +1 -0
  588. package/dist/primitives/Shortcut.js +5 -0
  589. package/dist/primitives/Shortcut.js.map +1 -0
  590. package/dist/primitives/StackIcon.cjs +8 -0
  591. package/dist/primitives/StackIcon.d.ts +2 -0
  592. package/dist/primitives/StackIcon.d.ts.map +1 -0
  593. package/dist/primitives/StackIcon.js +5 -0
  594. package/dist/primitives/StackIcon.js.map +1 -0
  595. package/dist/primitives/TABLER.cjs +8 -0
  596. package/dist/primitives/TABLER.d.ts +2 -0
  597. package/dist/primitives/TABLER.d.ts.map +1 -0
  598. package/dist/primitives/TABLER.js +5 -0
  599. package/dist/primitives/TABLER.js.map +1 -0
  600. package/dist/primitives/TOAST_DURATION.cjs +8 -0
  601. package/dist/primitives/TOAST_DURATION.d.ts +2 -0
  602. package/dist/primitives/TOAST_DURATION.d.ts.map +1 -0
  603. package/dist/primitives/TOAST_DURATION.js +5 -0
  604. package/dist/primitives/TOAST_DURATION.js.map +1 -0
  605. package/dist/primitives/Tag.cjs +8 -0
  606. package/dist/primitives/Tag.d.ts +2 -0
  607. package/dist/primitives/Tag.d.ts.map +1 -0
  608. package/dist/primitives/Tag.js +5 -0
  609. package/dist/primitives/Tag.js.map +1 -0
  610. package/dist/primitives/ToastCard.cjs +8 -0
  611. package/dist/primitives/ToastCard.d.ts +2 -0
  612. package/dist/primitives/ToastCard.d.ts.map +1 -0
  613. package/dist/primitives/ToastCard.js +5 -0
  614. package/dist/primitives/ToastCard.js.map +1 -0
  615. package/dist/primitives/ToastFace.cjs +8 -0
  616. package/dist/primitives/ToastFace.d.ts +2 -0
  617. package/dist/primitives/ToastFace.d.ts.map +1 -0
  618. package/dist/primitives/ToastFace.js +5 -0
  619. package/dist/primitives/ToastFace.js.map +1 -0
  620. package/dist/primitives/TruncatedText.cjs +8 -0
  621. package/dist/primitives/TruncatedText.d.ts +2 -0
  622. package/dist/primitives/TruncatedText.d.ts.map +1 -0
  623. package/dist/primitives/TruncatedText.js +5 -0
  624. package/dist/primitives/TruncatedText.js.map +1 -0
  625. package/dist/primitives/TruncatedTextProvider.cjs +8 -0
  626. package/dist/primitives/TruncatedTextProvider.d.ts +2 -0
  627. package/dist/primitives/TruncatedTextProvider.d.ts.map +1 -0
  628. package/dist/primitives/TruncatedTextProvider.js +5 -0
  629. package/dist/primitives/TruncatedTextProvider.js.map +1 -0
  630. package/dist/primitives/VisuallyHidden.cjs +8 -0
  631. package/dist/primitives/VisuallyHidden.d.ts +2 -0
  632. package/dist/primitives/VisuallyHidden.d.ts.map +1 -0
  633. package/dist/primitives/VisuallyHidden.js +5 -0
  634. package/dist/primitives/VisuallyHidden.js.map +1 -0
  635. package/dist/primitives/fieldSize.cjs +8 -0
  636. package/dist/primitives/fieldSize.d.ts +2 -0
  637. package/dist/primitives/fieldSize.d.ts.map +1 -0
  638. package/dist/primitives/fieldSize.js +5 -0
  639. package/dist/primitives/fieldSize.js.map +1 -0
  640. package/dist/primitives/flag.cjs +8 -0
  641. package/dist/primitives/flag.d.ts +2 -0
  642. package/dist/primitives/flag.d.ts.map +1 -0
  643. package/dist/primitives/flag.js +5 -0
  644. package/dist/primitives/flag.js.map +1 -0
  645. package/dist/primitives/formatShortcut.cjs +8 -0
  646. package/dist/primitives/formatShortcut.d.ts +2 -0
  647. package/dist/primitives/formatShortcut.d.ts.map +1 -0
  648. package/dist/primitives/formatShortcut.js +5 -0
  649. package/dist/primitives/formatShortcut.js.map +1 -0
  650. package/dist/primitives/iconWords.cjs +8 -0
  651. package/dist/primitives/iconWords.d.ts +2 -0
  652. package/dist/primitives/iconWords.d.ts.map +1 -0
  653. package/dist/primitives/iconWords.js +5 -0
  654. package/dist/primitives/iconWords.js.map +1 -0
  655. package/dist/primitives/initialOf.cjs +8 -0
  656. package/dist/primitives/initialOf.d.ts +2 -0
  657. package/dist/primitives/initialOf.d.ts.map +1 -0
  658. package/dist/primitives/initialOf.js +5 -0
  659. package/dist/primitives/initialOf.js.map +1 -0
  660. package/dist/primitives/loadIcons.cjs +8 -0
  661. package/dist/primitives/loadIcons.d.ts +2 -0
  662. package/dist/primitives/loadIcons.d.ts.map +1 -0
  663. package/dist/primitives/loadIcons.js +5 -0
  664. package/dist/primitives/loadIcons.js.map +1 -0
  665. package/dist/primitives/parseNumber.cjs +8 -0
  666. package/dist/primitives/parseNumber.d.ts +2 -0
  667. package/dist/primitives/parseNumber.d.ts.map +1 -0
  668. package/dist/primitives/parseNumber.js +5 -0
  669. package/dist/primitives/parseNumber.js.map +1 -0
  670. package/dist/primitives/resolveIcon.cjs +8 -0
  671. package/dist/primitives/resolveIcon.d.ts +2 -0
  672. package/dist/primitives/resolveIcon.d.ts.map +1 -0
  673. package/dist/primitives/resolveIcon.js +5 -0
  674. package/dist/primitives/resolveIcon.js.map +1 -0
  675. package/dist/primitives/speakShortcut.cjs +8 -0
  676. package/dist/primitives/speakShortcut.d.ts +2 -0
  677. package/dist/primitives/speakShortcut.d.ts.map +1 -0
  678. package/dist/primitives/speakShortcut.js +5 -0
  679. package/dist/primitives/speakShortcut.js.map +1 -0
  680. package/dist/primitives/tileTones.cjs +8 -0
  681. package/dist/primitives/tileTones.d.ts +2 -0
  682. package/dist/primitives/tileTones.d.ts.map +1 -0
  683. package/dist/primitives/tileTones.js +5 -0
  684. package/dist/primitives/tileTones.js.map +1 -0
  685. package/dist/primitives/useDensity.cjs +8 -0
  686. package/dist/primitives/useDensity.d.ts +2 -0
  687. package/dist/primitives/useDensity.d.ts.map +1 -0
  688. package/dist/primitives/useDensity.js +5 -0
  689. package/dist/primitives/useDensity.js.map +1 -0
  690. package/dist/primitives/useField.cjs +8 -0
  691. package/dist/primitives/useField.d.ts +2 -0
  692. package/dist/primitives/useField.d.ts.map +1 -0
  693. package/dist/primitives/useField.js +5 -0
  694. package/dist/primitives/useField.js.map +1 -0
  695. package/dist/primitives/useIcons.cjs +8 -0
  696. package/dist/primitives/useIcons.d.ts +2 -0
  697. package/dist/primitives/useIcons.d.ts.map +1 -0
  698. package/dist/primitives/useIcons.js +5 -0
  699. package/dist/primitives/useIcons.js.map +1 -0
  700. package/dist/product/ComboBox.cjs +25 -7
  701. package/dist/product/ComboBox.d.ts +3 -1
  702. package/dist/product/ComboBox.d.ts.map +1 -1
  703. package/dist/product/ComboBox.js +25 -7
  704. package/dist/product/ComboBox.js.map +1 -1
  705. package/dist/product/CommandMenu.cjs +137 -0
  706. package/dist/product/CommandMenu.d.ts +77 -0
  707. package/dist/product/CommandMenu.d.ts.map +1 -0
  708. package/dist/product/CommandMenu.js +134 -0
  709. package/dist/product/CommandMenu.js.map +1 -0
  710. package/dist/product/DetailPane.cjs +154 -12
  711. package/dist/product/DetailPane.d.ts +80 -2
  712. package/dist/product/DetailPane.d.ts.map +1 -1
  713. package/dist/product/DetailPane.js +153 -16
  714. package/dist/product/DetailPane.js.map +1 -1
  715. package/dist/product/Fact.cjs +6 -1
  716. package/dist/product/Fact.d.ts +16 -1
  717. package/dist/product/Fact.d.ts.map +1 -1
  718. package/dist/product/Fact.js +6 -1
  719. package/dist/product/Fact.js.map +1 -1
  720. package/dist/product/Field.cjs +14 -2
  721. package/dist/product/Field.d.ts +16 -1
  722. package/dist/product/Field.d.ts.map +1 -1
  723. package/dist/product/Field.js +14 -2
  724. package/dist/product/Field.js.map +1 -1
  725. package/dist/product/Filters.cjs +61 -9
  726. package/dist/product/Filters.d.ts +37 -6
  727. package/dist/product/Filters.d.ts.map +1 -1
  728. package/dist/product/Filters.js +62 -10
  729. package/dist/product/Filters.js.map +1 -1
  730. package/dist/product/MenuRow.cjs +81 -2
  731. package/dist/product/MenuRow.d.ts +76 -6
  732. package/dist/product/MenuRow.d.ts.map +1 -1
  733. package/dist/product/MenuRow.js +81 -4
  734. package/dist/product/MenuRow.js.map +1 -1
  735. package/dist/product/PrimaryButton.cjs +5 -1
  736. package/dist/product/PrimaryButton.d.ts +8 -0
  737. package/dist/product/PrimaryButton.d.ts.map +1 -1
  738. package/dist/product/PrimaryButton.js +5 -1
  739. package/dist/product/PrimaryButton.js.map +1 -1
  740. package/dist/product/Skeleton.cjs +7 -6
  741. package/dist/product/Skeleton.d.ts +3 -20
  742. package/dist/product/Skeleton.d.ts.map +1 -1
  743. package/dist/product/Skeleton.js +8 -7
  744. package/dist/product/Skeleton.js.map +1 -1
  745. package/dist/product/index.cjs +2 -0
  746. package/dist/product/index.d.ts +1 -0
  747. package/dist/product/index.d.ts.map +1 -1
  748. package/dist/product/index.js +2 -0
  749. package/dist/product/index.js.map +1 -1
  750. package/dist/settings/Section.cjs +11 -2
  751. package/dist/settings/Section.d.ts +8 -1
  752. package/dist/settings/Section.d.ts.map +1 -1
  753. package/dist/settings/Section.js +11 -2
  754. package/dist/settings/Section.js.map +1 -1
  755. package/dist/styles/motion.css +70 -0
  756. package/dist/styles.css +1460 -127
  757. package/dist/theme.css +944 -0
  758. package/package.json +2 -1
@@ -4,18 +4,37 @@
4
4
  * gui keeps the offset on the tooltip ROOT while the compound API spells it on
5
5
  * Content, as `sideOffset`. One value, one owner: the root holds it, Content
6
6
  * publishes into it — the same split `popover` resolves, for the same reason.
7
+ *
8
+ * The panel FOLLOWS THE THEME — a dark hint on a dark page, a light one on a
9
+ * light page (Hanzo's decision; twenty-ui's is a dark slab in both). It did not
10
+ * before, measured: gui's Tooltip frame carries a `t_Tooltip` sub-theme that
11
+ * inverts the ground, so on the dark page the hint was a light-grey slab
12
+ * (`--background` 85% lightness under glass) with near-black text, and on the
13
+ * light page a dark one. Naming the frame's component `Hint`, which no theme
14
+ * table carries, leaves it in the theme it was opened from. It takes twenty-ui's
15
+ * geometry (MIT, NOTICE): 4×6 padding, 12px text on
16
+ * a 16px line, 10px clear of its anchor, at most 300 wide, opening after 600ms.
17
+ * A title may lead with a 14px icon and carry a quieter description under it,
18
+ * line breaks kept.
7
19
  */
8
20
  import { Tooltip as GuiTooltip, TooltipGroup } from '@hanzo/gui';
9
- import { type ComponentProps } from 'react';
21
+ import { type ComponentProps, type ReactNode } from 'react';
10
22
  export type TooltipProps = Omit<ComponentProps<typeof GuiTooltip>, 'offset'> & {
11
23
  offset?: number;
12
24
  };
13
25
  export type TooltipContentProps = ComponentProps<typeof GuiTooltip.Content> & {
14
26
  sideOffset?: number;
27
+ /** A 14px icon before the title. */
28
+ startIcon?: ReactNode;
29
+ /** A quieter line under the title, line breaks kept. */
30
+ description?: ReactNode;
15
31
  };
16
- declare const Tooltip: ({ offset, ...props }: TooltipProps) => import("react").JSX.Element;
32
+ declare const Tooltip: ({ offset, delay, ...props }: TooltipProps) => import("react").JSX.Element;
17
33
  declare const TooltipTrigger: typeof GuiTooltip.Trigger;
18
- declare const TooltipProvider: typeof TooltipGroup;
19
- declare const TooltipContent: ({ sideOffset, children, ...props }: TooltipContentProps) => import("react").JSX.Element;
34
+ /** gui's `TooltipGroup`: the tooltips in it share one delay, 600ms unless told otherwise. */
35
+ declare const TooltipProvider: ({ delay, ...props }: Omit<ComponentProps<typeof TooltipGroup>, 'delay'> & {
36
+ delay?: ComponentProps<typeof TooltipGroup>['delay'];
37
+ }) => import("react").JSX.Element;
38
+ declare const TooltipContent: ({ sideOffset, startIcon, description, children, ...props }: TooltipContentProps) => import("react").JSX.Element;
20
39
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
21
40
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/tooltip.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,OAAO,CAAA;AAYd,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAClG,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErG,QAAA,MAAM,OAAO,yBAA2C,YAAY,gCAQnE,CAAA;AACD,QAAA,MAAM,cAAc,EAAE,OAAO,UAAU,CAAC,OAA4B,CAAA;AACpE,QAAA,MAAM,eAAe,EAAE,OAAO,YAA2B,CAAA;AAEzD,QAAA,MAAM,cAAc,uCAAwC,mBAAmB,gCAwB9E,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/tooltip.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAQ,OAAO,IAAI,UAAU,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAA;AACtF,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAed,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAClG,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,wDAAwD;IACxD,WAAW,CAAC,EAAE,SAAS,CAAA;CACxB,CAAA;AASD,QAAA,MAAM,OAAO,gCAAkD,YAAY,gCAS1E,CAAA;AACD,QAAA,MAAM,cAAc,EAAE,OAAO,UAAU,CAAC,OAA4B,CAAA;AAEpE,6FAA6F;AAC7F,QAAA,MAAM,eAAe,wBAAyC,IAAI,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,CAAC,CAAA;CAAE,gCAI1K,CAAA;AAED,QAAA,MAAM,cAAc,+DAAgE,mBAAmB,gCA4CtG,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}
@@ -1,27 +1,50 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * Tooltip — hover/focus hint. `TooltipProvider` is gui's `TooltipGroup`.
5
5
  *
6
6
  * gui keeps the offset on the tooltip ROOT while the compound API spells it on
7
7
  * Content, as `sideOffset`. One value, one owner: the root holds it, Content
8
8
  * publishes into it — the same split `popover` resolves, for the same reason.
9
+ *
10
+ * The panel FOLLOWS THE THEME — a dark hint on a dark page, a light one on a
11
+ * light page (Hanzo's decision; twenty-ui's is a dark slab in both). It did not
12
+ * before, measured: gui's Tooltip frame carries a `t_Tooltip` sub-theme that
13
+ * inverts the ground, so on the dark page the hint was a light-grey slab
14
+ * (`--background` 85% lightness under glass) with near-black text, and on the
15
+ * light page a dark one. Naming the frame's component `Hint`, which no theme
16
+ * table carries, leaves it in the theme it was opened from. It takes twenty-ui's
17
+ * geometry (MIT, NOTICE): 4×6 padding, 12px text on
18
+ * a 16px line, 10px clear of its anchor, at most 300 wide, opening after 600ms.
19
+ * A title may lead with a 14px icon and carry a quieter description under it,
20
+ * line breaks kept.
9
21
  */
10
- import { Tooltip as GuiTooltip, TooltipGroup } from '@hanzo/gui';
22
+ import { Text, Tooltip as GuiTooltip, TooltipGroup, XStack, YStack } from '@hanzo/gui';
11
23
  import { createContext, useCallback, useContext, useEffect, useState, } from 'react';
12
24
  import { PortalTheme, useThemeName } from '../../product/menu/portal-theme.js';
13
25
  import { ink } from './ink.js';
14
26
  import { slot } from './slot.js';
15
- const DEFAULT_OFFSET = 4;
27
+ const DEFAULT_OFFSET = 10;
28
+ /** How long a pointer rests before the hint opens, ms. */
29
+ const DEFAULT_DELAY = 600;
30
+ const MAX_W = 300;
16
31
  const Publish = /* @__PURE__ */ createContext(null);
17
- const Tooltip = ({ offset = DEFAULT_OFFSET, ...props }) => {
32
+ /**
33
+ * Whether a tooltip sits in a `TooltipProvider`. gui lets a tooltip's own
34
+ * `delay` override its group's, so a tooltip in a group must leave the delay
35
+ * unsaid for the group's to hold; one standing alone takes the 600ms default.
36
+ */
37
+ const Grouped = /* @__PURE__ */ createContext(false);
38
+ const Tooltip = ({ offset = DEFAULT_OFFSET, delay, ...props }) => {
18
39
  const [placed, setPlaced] = useState({});
19
40
  const publish = useCallback((p) => setPlaced((prev) => ({ ...prev, ...p })), []);
20
- return (_jsx(Publish.Provider, { value: publish, children: _jsx(GuiTooltip, { offset: placed.offset ?? offset, ...props }) }));
41
+ const grouped = useContext(Grouped);
42
+ return (_jsx(Publish.Provider, { value: publish, children: _jsx(GuiTooltip, { offset: placed.offset ?? offset, delay: delay ?? (grouped ? undefined : DEFAULT_DELAY), ...props }) }));
21
43
  };
22
44
  const TooltipTrigger = GuiTooltip.Trigger;
23
- const TooltipProvider = TooltipGroup;
24
- const TooltipContent = ({ sideOffset, children, ...props }) => {
45
+ /** gui's `TooltipGroup`: the tooltips in it share one delay, 600ms unless told otherwise. */
46
+ const TooltipProvider = ({ delay = DEFAULT_DELAY, ...props }) => (_jsx(Grouped.Provider, { value: true, children: _jsx(TooltipGroup, { delay: delay, ...props }) }));
47
+ const TooltipContent = ({ sideOffset, startIcon, description, children, ...props }) => {
25
48
  const themeName = useThemeName();
26
49
  const publish = useContext(Publish);
27
50
  // Only a Content that names an offset has anything to say about it; an absent
@@ -30,7 +53,7 @@ const TooltipContent = ({ sideOffset, children, ...props }) => {
30
53
  if (sideOffset !== undefined)
31
54
  publish?.({ offset: sideOffset });
32
55
  }, [publish, sideOffset]);
33
- return (_jsx(PortalTheme, { name: themeName, children: _jsx(GuiTooltip.Content, { ...slot('tooltip-content'), bg: "$panel", borderWidth: 1, borderColor: "$borderColor", rounded: "$3", px: "$3", py: "$1.5", ...props, children: ink(children, undefined, { size: '$1' }) }) }));
56
+ return (_jsx(PortalTheme, { name: themeName, children: _jsx(GuiTooltip.Content, { ...slot('tooltip-content'), componentName: "Hint", bg: "$panel", borderWidth: 1, borderColor: "$borderColor", rounded: "$3", px: "$1.5", py: "$1", maxW: MAX_W, ...props, children: startIcon || description ? (_jsxs(YStack, { gap: "$0.5", children: [_jsxs(XStack, { items: "center", gap: "$1", children: [startIcon ? _jsx(XStack, { shrink: 0, children: startIcon }) : null, ink(children, undefined, { size: '$1', fontWeight: '500' })] }), description ? (typeof description === 'string' ? (_jsx(Text, { ...slot('tooltip-description'), fontSize: "$1", lineHeight: "$1", color: "$aside", style: { whiteSpace: 'pre-line' }, children: description })) : (description)) : null] })) : (ink(children, undefined, { size: '$1' })) }) }));
34
57
  };
35
58
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
36
59
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/backends/gui/tooltip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,GAET,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,cAAc,GAAG,CAAC,CAAA;AAKxB,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAA+B,IAAI,CAAC,CAAA;AAKjF,MAAM,OAAO,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,KAAK,EAAgB,EAAE,EAAE;IACtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACxF,OAAO,CACL,KAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC9B,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,KAAM,KAAK,GAAI,GACzC,CACpB,CAAA;AACH,CAAC,CAAA;AACD,MAAM,cAAc,GAA8B,UAAU,CAAC,OAAO,CAAA;AACpE,MAAM,eAAe,GAAwB,YAAY,CAAA;AAEzD,MAAM,cAAc,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE;IACjF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,8EAA8E;IAC9E,mDAAmD;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,SAAS,YAC1B,KAAC,UAAU,CAAC,OAAO,OACb,IAAI,CAAC,iBAAiB,CAAC,EAC3B,EAAE,EAAC,QAAQ,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,MAAM,KACL,KAAK,YAER,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GACtB,GACT,CACf,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/backends/gui/tooltip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.overflows = void 0;
5
+ exports.TruncatedTextProvider = TruncatedTextProvider;
6
+ exports.TruncatedText = TruncatedText;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ /**
9
+ * TruncatedText — one line with an ellipsis, or N lines clamped, that shows the
10
+ * whole text in a tooltip only when it was actually cut.
11
+ *
12
+ * Every cell, chip label, navigation item and view name in a record surface is
13
+ * one of these, so the tooltip has to cost nothing when it is not needed: it
14
+ * measures (scroll size past client size) when the pointer enters or focus
15
+ * arrives, and the tooltip opens only if that measurement found an overflow. A
16
+ * text that fits never shows one. `TruncatedTextProvider` lets a host change the
17
+ * rule for a subtree — a table turns it `disabled` while it scrolls or edits, so
18
+ * a thousand cells carry no listeners at all.
19
+ *
20
+ * Re-expressed from twenty-ui's OverflowingTextWithTooltip and its mode provider
21
+ * (MIT, see NOTICE): 500ms delay, bottom placement, a 300px cap on the hint,
22
+ * focusable on request, `alwaysShowTooltip` for a hint that is wanted anyway.
23
+ * The tooltip is this package's own `Tooltip`; its look is the Tooltip's.
24
+ *
25
+ * Anchored, not triggered: a tooltip trigger stamps `aria-expanded` on its
26
+ * child, which a run of text may not carry (axe, aria-allowed-attr), and the
27
+ * hint discloses nothing — it repeats the text. So the text is the tooltip's
28
+ * ANCHOR and this component opens it itself, after the delay, on hover or focus.
29
+ */
30
+ const gui_1 = require("@hanzo/gui");
31
+ const react_1 = require("react");
32
+ const tooltip_1 = require("./tooltip.cjs");
33
+ const slot_1 = require("./slot.cjs");
34
+ const ModeContext = /* @__PURE__ */ (0, react_1.createContext)('measure-on-hover');
35
+ function TruncatedTextProvider({ mode, children }) {
36
+ return (0, jsx_runtime_1.jsx)(ModeContext.Provider, { value: mode, children: children });
37
+ }
38
+ /** Whether a rendered node holds more than it shows. False off the web, where there is no node to ask. */
39
+ const overflows = (node) => {
40
+ const el = node;
41
+ if (!el || typeof el.scrollWidth !== 'number')
42
+ return false;
43
+ return el.scrollWidth > (el.clientWidth ?? 0) || (el.scrollHeight ?? 0) > (el.clientHeight ?? 0);
44
+ };
45
+ exports.overflows = overflows;
46
+ const DELAY = 500;
47
+ const MAX_W = 300;
48
+ function TruncatedText({ text, lineClamp, tooltipContent, tooltipDelay = DELAY, tooltipPlace = 'bottom', isTooltipMultiline = false, alwaysShowTooltip = false, isFocusable = false, ...props }) {
49
+ const mode = (0, react_1.useContext)(ModeContext);
50
+ const [open, setOpen] = (0, react_1.useState)(false);
51
+ const [cut, setCut] = (0, react_1.useState)(false);
52
+ const node = (0, react_1.useRef)(null);
53
+ const timer = (0, react_1.useRef)(null);
54
+ const held = (0, react_1.useRef)(false);
55
+ (0, react_1.useEffect)(() => () => {
56
+ if (timer.current)
57
+ clearTimeout(timer.current);
58
+ }, []);
59
+ const lines = lineClamp && Number.isInteger(lineClamp) && lineClamp > 0 ? lineClamp : 1;
60
+ const host = (extra) => ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('truncated-text'), numberOfLines: lines, maxW: "100%", minW: 0, ...(lines > 1 ? { style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' } } : null), ...props, ...extra, children: text }));
61
+ if (mode === 'disabled' && !alwaysShowTooltip)
62
+ return host({});
63
+ const measure = (target) => {
64
+ node.current = target;
65
+ const over = (0, exports.overflows)(target);
66
+ setCut(over);
67
+ return over;
68
+ };
69
+ /** Arm the hint: measured now (hover mode) or when it opens (open mode), shown after the delay. */
70
+ const arm = (target, wait) => {
71
+ if (timer.current)
72
+ clearTimeout(timer.current);
73
+ const now = mode === 'measure-on-hover' ? measure(target) : ((node.current = target), false);
74
+ timer.current = setTimeout(() => {
75
+ const over = mode === 'measure-on-open' ? measure(node.current) : now;
76
+ if (alwaysShowTooltip || over)
77
+ setOpen(true);
78
+ }, wait);
79
+ };
80
+ const disarm = () => {
81
+ if (timer.current)
82
+ clearTimeout(timer.current);
83
+ timer.current = null;
84
+ if (!held.current)
85
+ setOpen(false);
86
+ };
87
+ return ((0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { open: open, onOpenChange: (next) => !next && setOpen(false), placement: tooltipPlace, children: [(0, jsx_runtime_1.jsx)(gui_1.Tooltip.Anchor, { asChild: true, children: host({
88
+ onPointerEnter: (e) => arm(e?.currentTarget, tooltipDelay),
89
+ onPointerLeave: disarm,
90
+ // Focus opens at once; the hint stays while the text holds focus.
91
+ onFocus: (e) => {
92
+ held.current = true;
93
+ arm(e?.currentTarget, 0);
94
+ },
95
+ onBlur: () => {
96
+ held.current = false;
97
+ disarm();
98
+ },
99
+ ...(isFocusable ? { tabIndex: 0, focusVisibleStyle: { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' } } : null),
100
+ ...(cut ? { cursor: 'pointer' } : null),
101
+ }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { maxW: MAX_W, children: isTooltipMultiline && typeof (tooltipContent ?? text) === 'string' ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", style: { whiteSpace: 'pre-wrap' }, children: tooltipContent ?? text })) : ((tooltipContent ?? text)) })] }));
102
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * TruncatedText — one line with an ellipsis, or N lines clamped, that shows the
3
+ * whole text in a tooltip only when it was actually cut.
4
+ *
5
+ * Every cell, chip label, navigation item and view name in a record surface is
6
+ * one of these, so the tooltip has to cost nothing when it is not needed: it
7
+ * measures (scroll size past client size) when the pointer enters or focus
8
+ * arrives, and the tooltip opens only if that measurement found an overflow. A
9
+ * text that fits never shows one. `TruncatedTextProvider` lets a host change the
10
+ * rule for a subtree — a table turns it `disabled` while it scrolls or edits, so
11
+ * a thousand cells carry no listeners at all.
12
+ *
13
+ * Re-expressed from twenty-ui's OverflowingTextWithTooltip and its mode provider
14
+ * (MIT, see NOTICE): 500ms delay, bottom placement, a 300px cap on the hint,
15
+ * focusable on request, `alwaysShowTooltip` for a hint that is wanted anyway.
16
+ * The tooltip is this package's own `Tooltip`; its look is the Tooltip's.
17
+ *
18
+ * Anchored, not triggered: a tooltip trigger stamps `aria-expanded` on its
19
+ * child, which a run of text may not carry (axe, aria-allowed-attr), and the
20
+ * hint discloses nothing — it repeats the text. So the text is the tooltip's
21
+ * ANCHOR and this component opens it itself, after the delay, on hover or focus.
22
+ */
23
+ import { SizableText } from '@hanzo/gui';
24
+ import { type ComponentProps, type ReactNode } from 'react';
25
+ /**
26
+ * `measure-on-hover` (default): the hint is armed by the last hover or focus
27
+ * that measured an overflow. `measure-on-open`: measured when it tries to open.
28
+ * `disabled`: no tooltip and no listeners.
29
+ */
30
+ export type TruncateMode = 'measure-on-hover' | 'measure-on-open' | 'disabled';
31
+ export declare function TruncatedTextProvider({ mode, children }: {
32
+ mode: TruncateMode;
33
+ children?: ReactNode;
34
+ }): import("react").JSX.Element;
35
+ /** Whether a rendered node holds more than it shows. False off the web, where there is no node to ask. */
36
+ export declare const overflows: (node: unknown) => boolean;
37
+ export type TruncatedTextProps = Omit<ComponentProps<typeof SizableText>, 'children'> & {
38
+ /** What is shown. A node needs `tooltipContent`, since the hint cannot be read off it. */
39
+ text: ReactNode;
40
+ /** Clamp to N lines (wrapping, breaking long words) instead of one line with an ellipsis. */
41
+ lineClamp?: number;
42
+ /** The hint, when it should say more or other than `text`. */
43
+ tooltipContent?: ReactNode;
44
+ /** Milliseconds before the hint opens. */
45
+ tooltipDelay?: number;
46
+ tooltipPlace?: 'top' | 'right' | 'bottom' | 'left';
47
+ /** Keep the hint's line breaks. */
48
+ isTooltipMultiline?: boolean;
49
+ /** Show the hint whether or not the text was cut. */
50
+ alwaysShowTooltip?: boolean;
51
+ /** A tab stop: focus measures and opens the hint, as a hover does. */
52
+ isFocusable?: boolean;
53
+ };
54
+ export declare function TruncatedText({ text, lineClamp, tooltipContent, tooltipDelay, tooltipPlace, isTooltipMultiline, alwaysShowTooltip, isFocusable, ...props }: TruncatedTextProps): import("react").JSX.Element;
55
+ //# sourceMappingURL=truncated-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/truncated-text.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAA;AAC/D,OAAO,EAA0D,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAInH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,UAAU,CAAA;AAI9E,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAErG;AAED,0GAA0G;AAC1G,eAAO,MAAM,SAAS,SAAU,OAAO,KAAG,OAIzC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG;IACtF,0FAA0F;IAC1F,IAAI,EAAE,SAAS,CAAA;IACf,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClD,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAKD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAS,EACT,cAAc,EACd,YAAoB,EACpB,YAAuB,EACvB,kBAA0B,EAC1B,iBAAyB,EACzB,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,+BAgFpB"}
@@ -0,0 +1,97 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * TruncatedText — one line with an ellipsis, or N lines clamped, that shows the
5
+ * whole text in a tooltip only when it was actually cut.
6
+ *
7
+ * Every cell, chip label, navigation item and view name in a record surface is
8
+ * one of these, so the tooltip has to cost nothing when it is not needed: it
9
+ * measures (scroll size past client size) when the pointer enters or focus
10
+ * arrives, and the tooltip opens only if that measurement found an overflow. A
11
+ * text that fits never shows one. `TruncatedTextProvider` lets a host change the
12
+ * rule for a subtree — a table turns it `disabled` while it scrolls or edits, so
13
+ * a thousand cells carry no listeners at all.
14
+ *
15
+ * Re-expressed from twenty-ui's OverflowingTextWithTooltip and its mode provider
16
+ * (MIT, see NOTICE): 500ms delay, bottom placement, a 300px cap on the hint,
17
+ * focusable on request, `alwaysShowTooltip` for a hint that is wanted anyway.
18
+ * The tooltip is this package's own `Tooltip`; its look is the Tooltip's.
19
+ *
20
+ * Anchored, not triggered: a tooltip trigger stamps `aria-expanded` on its
21
+ * child, which a run of text may not carry (axe, aria-allowed-attr), and the
22
+ * hint discloses nothing — it repeats the text. So the text is the tooltip's
23
+ * ANCHOR and this component opens it itself, after the delay, on hover or focus.
24
+ */
25
+ import { SizableText, Tooltip as GuiTooltip } from '@hanzo/gui';
26
+ import { createContext, useContext, useEffect, useRef, useState } from 'react';
27
+ import { Tooltip, TooltipContent } from './tooltip.js';
28
+ import { slot } from './slot.js';
29
+ const ModeContext = /* @__PURE__ */ createContext('measure-on-hover');
30
+ export function TruncatedTextProvider({ mode, children }) {
31
+ return _jsx(ModeContext.Provider, { value: mode, children: children });
32
+ }
33
+ /** Whether a rendered node holds more than it shows. False off the web, where there is no node to ask. */
34
+ export const overflows = (node) => {
35
+ const el = node;
36
+ if (!el || typeof el.scrollWidth !== 'number')
37
+ return false;
38
+ return el.scrollWidth > (el.clientWidth ?? 0) || (el.scrollHeight ?? 0) > (el.clientHeight ?? 0);
39
+ };
40
+ const DELAY = 500;
41
+ const MAX_W = 300;
42
+ export function TruncatedText({ text, lineClamp, tooltipContent, tooltipDelay = DELAY, tooltipPlace = 'bottom', isTooltipMultiline = false, alwaysShowTooltip = false, isFocusable = false, ...props }) {
43
+ const mode = useContext(ModeContext);
44
+ const [open, setOpen] = useState(false);
45
+ const [cut, setCut] = useState(false);
46
+ const node = useRef(null);
47
+ const timer = useRef(null);
48
+ const held = useRef(false);
49
+ useEffect(() => () => {
50
+ if (timer.current)
51
+ clearTimeout(timer.current);
52
+ }, []);
53
+ const lines = lineClamp && Number.isInteger(lineClamp) && lineClamp > 0 ? lineClamp : 1;
54
+ const host = (extra) => (_jsx(SizableText, { ...slot('truncated-text'), numberOfLines: lines, maxW: "100%", minW: 0, ...(lines > 1 ? { style: { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' } } : null), ...props, ...extra, children: text }));
55
+ if (mode === 'disabled' && !alwaysShowTooltip)
56
+ return host({});
57
+ const measure = (target) => {
58
+ node.current = target;
59
+ const over = overflows(target);
60
+ setCut(over);
61
+ return over;
62
+ };
63
+ /** Arm the hint: measured now (hover mode) or when it opens (open mode), shown after the delay. */
64
+ const arm = (target, wait) => {
65
+ if (timer.current)
66
+ clearTimeout(timer.current);
67
+ const now = mode === 'measure-on-hover' ? measure(target) : ((node.current = target), false);
68
+ timer.current = setTimeout(() => {
69
+ const over = mode === 'measure-on-open' ? measure(node.current) : now;
70
+ if (alwaysShowTooltip || over)
71
+ setOpen(true);
72
+ }, wait);
73
+ };
74
+ const disarm = () => {
75
+ if (timer.current)
76
+ clearTimeout(timer.current);
77
+ timer.current = null;
78
+ if (!held.current)
79
+ setOpen(false);
80
+ };
81
+ return (_jsxs(Tooltip, { open: open, onOpenChange: (next) => !next && setOpen(false), placement: tooltipPlace, children: [_jsx(GuiTooltip.Anchor, { asChild: true, children: host({
82
+ onPointerEnter: (e) => arm(e?.currentTarget, tooltipDelay),
83
+ onPointerLeave: disarm,
84
+ // Focus opens at once; the hint stays while the text holds focus.
85
+ onFocus: (e) => {
86
+ held.current = true;
87
+ arm(e?.currentTarget, 0);
88
+ },
89
+ onBlur: () => {
90
+ held.current = false;
91
+ disarm();
92
+ },
93
+ ...(isFocusable ? { tabIndex: 0, focusVisibleStyle: { outlineColor: '$outlineColor', outlineWidth: 2, outlineStyle: 'solid' } } : null),
94
+ ...(cut ? { cursor: 'pointer' } : null),
95
+ }) }), _jsx(TooltipContent, { maxW: MAX_W, children: isTooltipMultiline && typeof (tooltipContent ?? text) === 'string' ? (_jsx(SizableText, { size: "$1", style: { whiteSpace: 'pre-wrap' }, children: tooltipContent ?? text })) : ((tooltipContent ?? text)) })] }));
96
+ }
97
+ //# sourceMappingURL=truncated-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.js","sourceRoot":"","sources":["../../../src/backends/gui/truncated-text.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Compound = Compound;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ /**
7
+ * The record kit's compound controls in the gallery: grouped buttons and the
8
+ * Button axes they hand down, every tone on every variant that takes one, the
9
+ * loading positions — regular and compact. A module of the one gallery
10
+ * (`gallery/records.tsx` renders it), so the stylesheet generator, the render
11
+ * test and the consumer screenshots see these as they see everything else.
12
+ */
13
+ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
14
+ const section_1 = require("./section.cjs");
15
+ const button_1 = require("../backends/gui/button.cjs");
16
+ const button_group_1 = require("../backends/gui/button-group.cjs");
17
+ const density_1 = require("../backends/gui/density.cjs");
18
+ const number_field_1 = require("../backends/gui/number-field.cjs");
19
+ const input_1 = require("../backends/gui/input.cjs");
20
+ const input_group_1 = require("../backends/gui/input-group.cjs");
21
+ const currency_picker_1 = require("../backends/gui/currency-picker.cjs");
22
+ const phone_country_picker_1 = require("../backends/gui/phone-country-picker.cjs");
23
+ const country_select_1 = require("../backends/gui/country-select.cjs");
24
+ const PrimaryButton_1 = require("../product/PrimaryButton.cjs");
25
+ const Filters_1 = require("../product/Filters.cjs");
26
+ const image_input_1 = require("../backends/gui/image-input.cjs");
27
+ const ComboBox_1 = require("../product/ComboBox.cjs");
28
+ const NOOP = () => { };
29
+ /** Sample data: the pickers are data-free, so the gallery brings its own. */
30
+ const CURRENCIES = [
31
+ { code: 'USD', name: 'US Dollar', symbol: '$' },
32
+ { code: 'EUR', name: 'Euro', symbol: '€' },
33
+ { code: 'GBP', name: 'British Pound', symbol: '£' },
34
+ { code: 'JPY', name: 'Japanese Yen', symbol: '¥', disabled: true },
35
+ ];
36
+ const PHONES = [
37
+ { value: 'US', label: 'United States', callingCode: '1' },
38
+ { value: 'FR', label: 'France', callingCode: '33' },
39
+ { value: 'DE', label: 'Germany', callingCode: '49' },
40
+ ];
41
+ const COUNTRIES = [
42
+ { value: 'FR', label: 'France' },
43
+ { value: 'DE', label: 'Germany' },
44
+ { value: 'GB', label: 'United Kingdom of Great Britain and Northern Ireland' },
45
+ ];
46
+ const TONES = ['accent', 'danger', 'success'];
47
+ /** The variants a tone restates: outline-shaped, ghost, soft and solid. */
48
+ const TONED = ['default', 'outline', 'ghost', 'secondary', 'primary'];
49
+ function Compound() {
50
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(section_1.Section, { name: "button-group", children: [(0, jsx_runtime_1.jsxs)(button_group_1.ButtonGroup, { "aria-label": "Update view", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { children: "Update view" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "icon", "aria-label": "More update options", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 16 }) })] }), (0, jsx_runtime_1.jsxs)(button_group_1.ButtonGroup, { attached: false, "aria-label": "Unattached", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", children: "Day" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", children: "Week" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", children: "Month" })] }), (0, jsx_runtime_1.jsxs)(button_group_1.ButtonGroup, { framed: true, attached: false, size: "icon-2xs", variant: "ghost", "aria-label": "Zoom", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { "aria-label": "Zoom out", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Minus, {}) }), (0, jsx_runtime_1.jsx)(button_1.Button, { "aria-label": "Zoom in", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, {}) })] }), (0, jsx_runtime_1.jsxs)(button_group_1.ButtonGroup, { framed: true, size: "xs", variant: "ghost", "aria-label": "Cell actions", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { children: "Open" }), (0, jsx_runtime_1.jsx)(button_1.Button, { children: "Copy" })] })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "button-tone", children: [TONES.flatMap((tone) => TONED.map((variant) => ((0, jsx_runtime_1.jsx)(button_1.Button, { tone: tone, variant: variant, size: "sm", children: `${tone} ${variant}` }, `${tone}-${variant}`)))), (0, jsx_runtime_1.jsx)(button_1.Button, { tone: "danger", variant: "ghost", size: "icon-xs", "aria-label": "Delete", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Trash2, {}) })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "button-state", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", shortcut: ['Mod', 'Enter'], children: "Update view" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", variant: "ghost", shortcut: [['G'], ['P']], children: "Go to people" }), (0, jsx_runtime_1.jsx)(button_1.Button, { isLoading: true, loadingPosition: "center", children: "Saving" }), (0, jsx_runtime_1.jsx)(button_1.Button, { isLoading: true, loadingPosition: "end", variant: "outline", children: "Saving" }), (0, jsx_runtime_1.jsx)(button_1.Button, { elevated: true, children: "Continue" }), (0, jsx_runtime_1.jsx)(button_1.Button, { elevated: true, variant: "primary", children: "Continue" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "icon-sm", shape: "round", "aria-label": "Add", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { disabled: true, focusableWhenDisabled: true, onPress: NOOP, children: "Merge" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "icon-sm", variant: "ghost", tooltip: "Close side panel", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Minus, { size: 16 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { fullWidth: true, variant: "outline", children: "Full width" }), (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { children: "Get started" }), (0, jsx_runtime_1.jsx)(ComboBox_1.ComboBox, { value: "", onChange: NOOP, options: [{ value: 'kai-1' }, { value: 'enso-flash' }], placeholder: "Model" })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "number-field", children: [(0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Amount", defaultValue: 1234.5, locale: "en-US" }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Seats", defaultValue: 2, min: 1, max: 150, buttons: true }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Decimals", size: "sm", defaultValue: 2, min: 0, max: 100, buttons: true }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Limit", size: "xs", defaultValue: 10, buttons: true, readOnly: true }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Rate", size: "sm", defaultValue: 0.25, format: { style: 'percent' } }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Invalid", size: "sm", defaultValue: 3, "aria-invalid": true })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "pickers", children: [(0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { children: [(0, jsx_runtime_1.jsx)(currency_picker_1.CurrencyPicker, { currencies: CURRENCIES, defaultValue: "USD" }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Amount", defaultValue: 1200 })] }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { size: "sm", children: [(0, jsx_runtime_1.jsx)(currency_picker_1.CurrencyPicker, { currencies: CURRENCIES }), (0, jsx_runtime_1.jsx)(input_1.Input, { "aria-label": "Amount, no currency", placeholder: "0.00" })] }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { size: "sm", children: [(0, jsx_runtime_1.jsx)(phone_country_picker_1.PhoneCountryPicker, { countries: PHONES, defaultValue: "FR" }), (0, jsx_runtime_1.jsx)(input_1.Input, { "aria-label": "Phone number", placeholder: "6 12 34 56 78" })] }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { size: "xs", children: [(0, jsx_runtime_1.jsx)(phone_country_picker_1.PhoneCountryPicker, { countries: PHONES }), (0, jsx_runtime_1.jsx)(input_1.Input, { "aria-label": "Phone number, no country", placeholder: "Number" })] }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { size: "sm", children: [(0, jsx_runtime_1.jsx)(currency_picker_1.CurrencyPicker, { currencies: CURRENCIES, defaultValue: "EUR", disabled: true }), (0, jsx_runtime_1.jsx)(input_1.Input, { "aria-label": "Disabled amount", disabled: true, placeholder: "0.00" })] }), (0, jsx_runtime_1.jsx)(country_select_1.CountrySelect, { countries: COUNTRIES, defaultValue: "GB", label: "Country" }), (0, jsx_runtime_1.jsx)(country_select_1.CountrySelect, { countries: COUNTRIES, size: "sm", "aria-label": "Country, none" }), (0, jsx_runtime_1.jsx)(country_select_1.CountrySelect, { countries: [], size: "xs", "aria-label": "Country, empty" })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "segmented", children: [(0, jsx_runtime_1.jsx)(Filters_1.Segmented, { variant: "track", "aria-label": "When", options: [
51
+ { label: 'Send now', value: 'now' },
52
+ { label: 'Schedule', value: 'later' },
53
+ ], value: "now", onChange: NOOP }), (0, jsx_runtime_1.jsx)(Filters_1.Segmented, { variant: "track", trackSize: "sm", itemWidth: "content", "aria-label": "Layout", options: [
54
+ { label: '', value: 'table', icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Rows3, { size: 16 }), 'aria-label': 'Table' },
55
+ { label: '', value: 'kanban', icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Columns3, { size: 16 }), 'aria-label': 'Kanban' },
56
+ ], value: "kanban", onChange: NOOP }), (0, jsx_runtime_1.jsx)(Filters_1.Segmented, { variant: "track", disabled: true, "aria-label": "Disabled choice", options: [
57
+ { label: 'Left', value: 'l' },
58
+ { label: 'Right', value: 'r' },
59
+ ], value: "l", onChange: NOOP })] }), (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "image-input", children: [(0, jsx_runtime_1.jsx)(image_input_1.ImageInput, { title: "Logo", helperText: "PNG or JPG, up to 2MB" }), (0, jsx_runtime_1.jsx)(image_input_1.ImageInput, { title: "Photo", src: "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", alt: "" }), (0, jsx_runtime_1.jsx)(image_input_1.ImageInput, { title: "Uploading", isUploading: true }), (0, jsx_runtime_1.jsx)(image_input_1.ImageInput, { title: "Broken", errorMessage: "That file is too large" }), (0, jsx_runtime_1.jsx)(image_input_1.ImageInput, { title: "Off", disabled: true })] }), (0, jsx_runtime_1.jsx)(density_1.Density, { value: "compact", children: (0, jsx_runtime_1.jsxs)(section_1.Section, { name: "button-group-compact", children: [(0, jsx_runtime_1.jsxs)(button_group_1.ButtonGroup, { "aria-label": "Update view, compact", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { children: "Update view" }), (0, jsx_runtime_1.jsx)(button_1.Button, { size: "icon-sm", "aria-label": "More update options", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 14 }) })] }), (0, jsx_runtime_1.jsx)(button_1.Button, { tone: "danger", variant: "outline", children: "Delete" }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Compact amount", defaultValue: 42, buttons: true }), (0, jsx_runtime_1.jsxs)(input_group_1.InputGroup, { children: [(0, jsx_runtime_1.jsx)(currency_picker_1.CurrencyPicker, { currencies: CURRENCIES, defaultValue: "GBP" }), (0, jsx_runtime_1.jsx)(number_field_1.NumberField, { "aria-label": "Compact grouped amount", defaultValue: 99 })] }), (0, jsx_runtime_1.jsx)(country_select_1.CountrySelect, { countries: COUNTRIES, defaultValue: "DE", "aria-label": "Compact country" }), (0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { children: "Continue" }), (0, jsx_runtime_1.jsx)(ComboBox_1.ComboBox, { value: "", onChange: NOOP, options: [{ value: 'kai-1' }, { value: 'enso-flash' }], placeholder: "Model" })] }) })] }));
60
+ }
@@ -0,0 +1,2 @@
1
+ export declare function Compound(): import("react").JSX.Element;
2
+ //# sourceMappingURL=compound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compound.d.ts","sourceRoot":"","sources":["../../src/gallery/compound.tsx"],"names":[],"mappings":"AAiDA,wBAAgB,QAAQ,gCAiLvB"}
@@ -0,0 +1,58 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * The record kit's compound controls in the gallery: grouped buttons and the
5
+ * Button axes they hand down, every tone on every variant that takes one, the
6
+ * loading positions — regular and compact. A module of the one gallery
7
+ * (`gallery/records.tsx` renders it), so the stylesheet generator, the render
8
+ * test and the consumer screenshots see these as they see everything else.
9
+ */
10
+ import { ChevronDown, Columns3, Minus, Plus, Rows3, Trash2 } from '@hanzogui/lucide-icons-2';
11
+ import { Section } from './section.js';
12
+ import { Button } from '../backends/gui/button.js';
13
+ import { ButtonGroup } from '../backends/gui/button-group.js';
14
+ import { Density } from '../backends/gui/density.js';
15
+ import { NumberField } from '../backends/gui/number-field.js';
16
+ import { Input } from '../backends/gui/input.js';
17
+ import { InputGroup } from '../backends/gui/input-group.js';
18
+ import { CurrencyPicker } from '../backends/gui/currency-picker.js';
19
+ import { PhoneCountryPicker } from '../backends/gui/phone-country-picker.js';
20
+ import { CountrySelect } from '../backends/gui/country-select.js';
21
+ import { PrimaryButton } from '../product/PrimaryButton.js';
22
+ import { Segmented } from '../product/Filters.js';
23
+ import { ImageInput } from '../backends/gui/image-input.js';
24
+ import { ComboBox } from '../product/ComboBox.js';
25
+ const NOOP = () => { };
26
+ /** Sample data: the pickers are data-free, so the gallery brings its own. */
27
+ const CURRENCIES = [
28
+ { code: 'USD', name: 'US Dollar', symbol: '$' },
29
+ { code: 'EUR', name: 'Euro', symbol: '€' },
30
+ { code: 'GBP', name: 'British Pound', symbol: '£' },
31
+ { code: 'JPY', name: 'Japanese Yen', symbol: '¥', disabled: true },
32
+ ];
33
+ const PHONES = [
34
+ { value: 'US', label: 'United States', callingCode: '1' },
35
+ { value: 'FR', label: 'France', callingCode: '33' },
36
+ { value: 'DE', label: 'Germany', callingCode: '49' },
37
+ ];
38
+ const COUNTRIES = [
39
+ { value: 'FR', label: 'France' },
40
+ { value: 'DE', label: 'Germany' },
41
+ { value: 'GB', label: 'United Kingdom of Great Britain and Northern Ireland' },
42
+ ];
43
+ const TONES = ['accent', 'danger', 'success'];
44
+ /** The variants a tone restates: outline-shaped, ghost, soft and solid. */
45
+ const TONED = ['default', 'outline', 'ghost', 'secondary', 'primary'];
46
+ export function Compound() {
47
+ return (_jsxs(_Fragment, { children: [_jsxs(Section, { name: "button-group", children: [_jsxs(ButtonGroup, { "aria-label": "Update view", children: [_jsx(Button, { children: "Update view" }), _jsx(Button, { size: "icon", "aria-label": "More update options", children: _jsx(ChevronDown, { size: 16 }) })] }), _jsxs(ButtonGroup, { attached: false, "aria-label": "Unattached", children: [_jsx(Button, { size: "sm", children: "Day" }), _jsx(Button, { size: "sm", children: "Week" }), _jsx(Button, { size: "sm", children: "Month" })] }), _jsxs(ButtonGroup, { framed: true, attached: false, size: "icon-2xs", variant: "ghost", "aria-label": "Zoom", children: [_jsx(Button, { "aria-label": "Zoom out", children: _jsx(Minus, {}) }), _jsx(Button, { "aria-label": "Zoom in", children: _jsx(Plus, {}) })] }), _jsxs(ButtonGroup, { framed: true, size: "xs", variant: "ghost", "aria-label": "Cell actions", children: [_jsx(Button, { children: "Open" }), _jsx(Button, { children: "Copy" })] })] }), _jsxs(Section, { name: "button-tone", children: [TONES.flatMap((tone) => TONED.map((variant) => (_jsx(Button, { tone: tone, variant: variant, size: "sm", children: `${tone} ${variant}` }, `${tone}-${variant}`)))), _jsx(Button, { tone: "danger", variant: "ghost", size: "icon-xs", "aria-label": "Delete", children: _jsx(Trash2, {}) })] }), _jsxs(Section, { name: "button-state", children: [_jsx(Button, { size: "sm", shortcut: ['Mod', 'Enter'], children: "Update view" }), _jsx(Button, { size: "sm", variant: "ghost", shortcut: [['G'], ['P']], children: "Go to people" }), _jsx(Button, { isLoading: true, loadingPosition: "center", children: "Saving" }), _jsx(Button, { isLoading: true, loadingPosition: "end", variant: "outline", children: "Saving" }), _jsx(Button, { elevated: true, children: "Continue" }), _jsx(Button, { elevated: true, variant: "primary", children: "Continue" }), _jsx(Button, { size: "icon-sm", shape: "round", "aria-label": "Add", children: _jsx(Plus, { size: 16 }) }), _jsx(Button, { disabled: true, focusableWhenDisabled: true, onPress: NOOP, children: "Merge" }), _jsx(Button, { size: "icon-sm", variant: "ghost", tooltip: "Close side panel", children: _jsx(Minus, { size: 16 }) }), _jsx(Button, { fullWidth: true, variant: "outline", children: "Full width" }), _jsx(PrimaryButton, { children: "Get started" }), _jsx(ComboBox, { value: "", onChange: NOOP, options: [{ value: 'kai-1' }, { value: 'enso-flash' }], placeholder: "Model" })] }), _jsxs(Section, { name: "number-field", children: [_jsx(NumberField, { "aria-label": "Amount", defaultValue: 1234.5, locale: "en-US" }), _jsx(NumberField, { "aria-label": "Seats", defaultValue: 2, min: 1, max: 150, buttons: true }), _jsx(NumberField, { "aria-label": "Decimals", size: "sm", defaultValue: 2, min: 0, max: 100, buttons: true }), _jsx(NumberField, { "aria-label": "Limit", size: "xs", defaultValue: 10, buttons: true, readOnly: true }), _jsx(NumberField, { "aria-label": "Rate", size: "sm", defaultValue: 0.25, format: { style: 'percent' } }), _jsx(NumberField, { "aria-label": "Invalid", size: "sm", defaultValue: 3, "aria-invalid": true })] }), _jsxs(Section, { name: "pickers", children: [_jsxs(InputGroup, { children: [_jsx(CurrencyPicker, { currencies: CURRENCIES, defaultValue: "USD" }), _jsx(NumberField, { "aria-label": "Amount", defaultValue: 1200 })] }), _jsxs(InputGroup, { size: "sm", children: [_jsx(CurrencyPicker, { currencies: CURRENCIES }), _jsx(Input, { "aria-label": "Amount, no currency", placeholder: "0.00" })] }), _jsxs(InputGroup, { size: "sm", children: [_jsx(PhoneCountryPicker, { countries: PHONES, defaultValue: "FR" }), _jsx(Input, { "aria-label": "Phone number", placeholder: "6 12 34 56 78" })] }), _jsxs(InputGroup, { size: "xs", children: [_jsx(PhoneCountryPicker, { countries: PHONES }), _jsx(Input, { "aria-label": "Phone number, no country", placeholder: "Number" })] }), _jsxs(InputGroup, { size: "sm", children: [_jsx(CurrencyPicker, { currencies: CURRENCIES, defaultValue: "EUR", disabled: true }), _jsx(Input, { "aria-label": "Disabled amount", disabled: true, placeholder: "0.00" })] }), _jsx(CountrySelect, { countries: COUNTRIES, defaultValue: "GB", label: "Country" }), _jsx(CountrySelect, { countries: COUNTRIES, size: "sm", "aria-label": "Country, none" }), _jsx(CountrySelect, { countries: [], size: "xs", "aria-label": "Country, empty" })] }), _jsxs(Section, { name: "segmented", children: [_jsx(Segmented, { variant: "track", "aria-label": "When", options: [
48
+ { label: 'Send now', value: 'now' },
49
+ { label: 'Schedule', value: 'later' },
50
+ ], value: "now", onChange: NOOP }), _jsx(Segmented, { variant: "track", trackSize: "sm", itemWidth: "content", "aria-label": "Layout", options: [
51
+ { label: '', value: 'table', icon: _jsx(Rows3, { size: 16 }), 'aria-label': 'Table' },
52
+ { label: '', value: 'kanban', icon: _jsx(Columns3, { size: 16 }), 'aria-label': 'Kanban' },
53
+ ], value: "kanban", onChange: NOOP }), _jsx(Segmented, { variant: "track", disabled: true, "aria-label": "Disabled choice", options: [
54
+ { label: 'Left', value: 'l' },
55
+ { label: 'Right', value: 'r' },
56
+ ], value: "l", onChange: NOOP })] }), _jsxs(Section, { name: "image-input", children: [_jsx(ImageInput, { title: "Logo", helperText: "PNG or JPG, up to 2MB" }), _jsx(ImageInput, { title: "Photo", src: "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", alt: "" }), _jsx(ImageInput, { title: "Uploading", isUploading: true }), _jsx(ImageInput, { title: "Broken", errorMessage: "That file is too large" }), _jsx(ImageInput, { title: "Off", disabled: true })] }), _jsx(Density, { value: "compact", children: _jsxs(Section, { name: "button-group-compact", children: [_jsxs(ButtonGroup, { "aria-label": "Update view, compact", children: [_jsx(Button, { children: "Update view" }), _jsx(Button, { size: "icon-sm", "aria-label": "More update options", children: _jsx(ChevronDown, { size: 14 }) })] }), _jsx(Button, { tone: "danger", variant: "outline", children: "Delete" }), _jsx(NumberField, { "aria-label": "Compact amount", defaultValue: 42, buttons: true }), _jsxs(InputGroup, { children: [_jsx(CurrencyPicker, { currencies: CURRENCIES, defaultValue: "GBP" }), _jsx(NumberField, { "aria-label": "Compact grouped amount", defaultValue: 99 })] }), _jsx(CountrySelect, { countries: COUNTRIES, defaultValue: "DE", "aria-label": "Compact country" }), _jsx(PrimaryButton, { children: "Continue" }), _jsx(ComboBox, { value: "", onChange: NOOP, options: [{ value: 'kai-1' }, { value: 'enso-flash' }], placeholder: "Model" })] }) })] }));
57
+ }
58
+ //# sourceMappingURL=compound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compound.js","sourceRoot":"","sources":["../../src/gallery/compound.tsx"],"names":[],"mappings":"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"}