@qijenchen/design-system 0.1.0-beta.8 → 0.1.0-beta.80

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 (1356) hide show
  1. package/CLAUDE.md +200 -0
  2. package/README.md +10 -9
  3. package/cli-init.mjs +90 -0
  4. package/dist/components/Accordion/accordion.d.ts +1 -1
  5. package/dist/components/Accordion/accordion.d.ts.map +1 -1
  6. package/dist/components/Accordion/accordion.js +4 -1
  7. package/dist/components/Accordion/accordion.js.map +1 -1
  8. package/dist/components/Accordion/index.d.ts +2 -0
  9. package/dist/components/Accordion/index.d.ts.map +1 -0
  10. package/dist/components/Accordion/index.js +9 -0
  11. package/dist/components/Accordion/index.js.map +1 -0
  12. package/dist/components/Alert/alert.d.ts +2 -2
  13. package/dist/components/Alert/alert.d.ts.map +1 -1
  14. package/dist/components/Alert/alert.js +8 -7
  15. package/dist/components/Alert/alert.js.map +1 -1
  16. package/dist/components/Alert/index.d.ts +2 -0
  17. package/dist/components/Alert/index.d.ts.map +1 -0
  18. package/dist/components/Alert/index.js +7 -0
  19. package/dist/components/Alert/index.js.map +1 -0
  20. package/dist/components/AppShell/_demo-helpers.d.ts +3 -1
  21. package/dist/components/AppShell/_demo-helpers.d.ts.map +1 -1
  22. package/dist/components/AppShell/app-shell.d.ts +2 -2
  23. package/dist/components/AppShell/app-shell.d.ts.map +1 -1
  24. package/dist/components/AppShell/app-shell.js +9 -8
  25. package/dist/components/AppShell/app-shell.js.map +1 -1
  26. package/dist/components/AppShell/index.d.ts +2 -0
  27. package/dist/components/AppShell/index.d.ts.map +1 -0
  28. package/dist/components/AppShell/index.js +7 -0
  29. package/dist/components/AppShell/index.js.map +1 -0
  30. package/dist/components/AspectRatio/aspect-ratio.d.ts +1 -1
  31. package/dist/components/AspectRatio/aspect-ratio.d.ts.map +1 -1
  32. package/dist/components/AspectRatio/aspect-ratio.js +4 -2
  33. package/dist/components/AspectRatio/aspect-ratio.js.map +1 -1
  34. package/dist/components/AspectRatio/index.d.ts +2 -0
  35. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  36. package/dist/components/AspectRatio/index.js +6 -0
  37. package/dist/components/AspectRatio/index.js.map +1 -0
  38. package/dist/components/Avatar/avatar.d.ts +12 -6
  39. package/dist/components/Avatar/avatar.d.ts.map +1 -1
  40. package/dist/components/Avatar/avatar.js +12 -23
  41. package/dist/components/Avatar/avatar.js.map +1 -1
  42. package/dist/components/Avatar/index.d.ts +2 -0
  43. package/dist/components/Avatar/index.d.ts.map +1 -0
  44. package/dist/components/Avatar/index.js +6 -0
  45. package/dist/components/Avatar/index.js.map +1 -0
  46. package/dist/components/Badge/badge.d.ts +20 -8
  47. package/dist/components/Badge/badge.d.ts.map +1 -1
  48. package/dist/components/Badge/badge.js +7 -5
  49. package/dist/components/Badge/badge.js.map +1 -1
  50. package/dist/components/Badge/index.d.ts +2 -0
  51. package/dist/components/Badge/index.d.ts.map +1 -0
  52. package/dist/components/Badge/index.js +7 -0
  53. package/dist/components/Badge/index.js.map +1 -0
  54. package/dist/components/Breadcrumb/breadcrumb.d.ts +1 -1
  55. package/dist/components/Breadcrumb/breadcrumb.js.map +1 -1
  56. package/dist/components/Breadcrumb/index.d.ts +2 -0
  57. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  58. package/dist/components/Breadcrumb/index.js +12 -0
  59. package/dist/components/Breadcrumb/index.js.map +1 -0
  60. package/dist/components/BulkActionBar/bulk-action-bar.d.ts +2 -2
  61. package/dist/components/BulkActionBar/bulk-action-bar.d.ts.map +1 -1
  62. package/dist/components/BulkActionBar/bulk-action-bar.js +3 -3
  63. package/dist/components/BulkActionBar/bulk-action-bar.js.map +1 -1
  64. package/dist/components/BulkActionBar/index.d.ts +2 -0
  65. package/dist/components/BulkActionBar/index.d.ts.map +1 -0
  66. package/dist/components/BulkActionBar/index.js +7 -0
  67. package/dist/components/BulkActionBar/index.js.map +1 -0
  68. package/dist/components/Button/button.d.ts +7 -7
  69. package/dist/components/Button/button.d.ts.map +1 -1
  70. package/dist/components/Button/button.js +13 -10
  71. package/dist/components/Button/button.js.map +1 -1
  72. package/dist/components/Button/index.d.ts +2 -0
  73. package/dist/components/Button/index.d.ts.map +1 -0
  74. package/dist/components/Button/index.js +8 -0
  75. package/dist/components/Button/index.js.map +1 -0
  76. package/dist/components/Calendar/calendar.d.ts +9 -5
  77. package/dist/components/Calendar/calendar.d.ts.map +1 -1
  78. package/dist/components/Calendar/calendar.js +88 -76
  79. package/dist/components/Calendar/calendar.js.map +1 -1
  80. package/dist/components/Calendar/index.d.ts +2 -0
  81. package/dist/components/Calendar/index.d.ts.map +1 -0
  82. package/dist/components/Calendar/index.js +6 -0
  83. package/dist/components/Calendar/index.js.map +1 -0
  84. package/dist/components/Carousel/carousel.d.ts.map +1 -1
  85. package/dist/components/Carousel/carousel.js +11 -6
  86. package/dist/components/Carousel/carousel.js.map +1 -1
  87. package/dist/components/Carousel/index.d.ts +2 -0
  88. package/dist/components/Carousel/index.d.ts.map +1 -0
  89. package/dist/components/Carousel/index.js +11 -0
  90. package/dist/components/Carousel/index.js.map +1 -0
  91. package/dist/components/Chart/chart.d.ts +2 -2
  92. package/dist/components/Chart/chart.d.ts.map +1 -1
  93. package/dist/components/Chart/chart.js +3 -1
  94. package/dist/components/Chart/chart.js.map +1 -1
  95. package/dist/components/Chart/index.d.ts +2 -0
  96. package/dist/components/Chart/index.d.ts.map +1 -0
  97. package/dist/components/Chart/index.js +11 -0
  98. package/dist/components/Chart/index.js.map +1 -0
  99. package/dist/components/Checkbox/checkbox-group.d.ts +2 -1
  100. package/dist/components/Checkbox/checkbox-group.d.ts.map +1 -1
  101. package/dist/components/Checkbox/checkbox-group.js.map +1 -1
  102. package/dist/components/Checkbox/checkbox.d.ts +13 -7
  103. package/dist/components/Checkbox/checkbox.d.ts.map +1 -1
  104. package/dist/components/Checkbox/checkbox.js +49 -15
  105. package/dist/components/Checkbox/checkbox.js.map +1 -1
  106. package/dist/components/Checkbox/index.d.ts +2 -0
  107. package/dist/components/Checkbox/index.d.ts.map +1 -0
  108. package/dist/components/Checkbox/index.js +7 -0
  109. package/dist/components/Checkbox/index.js.map +1 -0
  110. package/dist/components/Chip/chip.d.ts +6 -6
  111. package/dist/components/Chip/chip.js +4 -3
  112. package/dist/components/Chip/chip.js.map +1 -1
  113. package/dist/components/Chip/index.d.ts +2 -0
  114. package/dist/components/Chip/index.d.ts.map +1 -0
  115. package/dist/components/Chip/index.js +8 -0
  116. package/dist/components/Chip/index.js.map +1 -0
  117. package/dist/components/CircularProgress/circular-progress.d.ts +2 -3
  118. package/dist/components/CircularProgress/circular-progress.d.ts.map +1 -1
  119. package/dist/components/CircularProgress/circular-progress.js +4 -3
  120. package/dist/components/CircularProgress/circular-progress.js.map +1 -1
  121. package/dist/components/CircularProgress/index.d.ts +2 -0
  122. package/dist/components/CircularProgress/index.d.ts.map +1 -0
  123. package/dist/components/CircularProgress/index.js +6 -0
  124. package/dist/components/CircularProgress/index.js.map +1 -0
  125. package/dist/components/Coachmark/coachmark-story-helpers.d.ts +22 -0
  126. package/dist/components/Coachmark/coachmark-story-helpers.d.ts.map +1 -0
  127. package/dist/components/Coachmark/coachmark.d.ts +4 -4
  128. package/dist/components/Coachmark/coachmark.d.ts.map +1 -1
  129. package/dist/components/Coachmark/coachmark.js +9 -4
  130. package/dist/components/Coachmark/coachmark.js.map +1 -1
  131. package/dist/components/Coachmark/index.d.ts +2 -0
  132. package/dist/components/Coachmark/index.d.ts.map +1 -0
  133. package/dist/components/Coachmark/index.js +6 -0
  134. package/dist/components/Coachmark/index.js.map +1 -0
  135. package/dist/components/Combobox/combobox.d.ts +16 -7
  136. package/dist/components/Combobox/combobox.d.ts.map +1 -1
  137. package/dist/components/Combobox/combobox.js +74 -39
  138. package/dist/components/Combobox/combobox.js.map +1 -1
  139. package/dist/components/Combobox/index.d.ts +2 -0
  140. package/dist/components/Combobox/index.d.ts.map +1 -0
  141. package/dist/components/Combobox/index.js +6 -0
  142. package/dist/components/Combobox/index.js.map +1 -0
  143. package/dist/components/Command/command.d.ts +5 -1
  144. package/dist/components/Command/command.d.ts.map +1 -1
  145. package/dist/components/Command/command.js +6 -6
  146. package/dist/components/Command/command.js.map +1 -1
  147. package/dist/components/Command/index.d.ts +2 -0
  148. package/dist/components/Command/index.d.ts.map +1 -0
  149. package/dist/components/Command/index.js +14 -0
  150. package/dist/components/Command/index.js.map +1 -0
  151. package/dist/components/DataTable/cell-registry.d.ts.map +1 -1
  152. package/dist/components/DataTable/cell-registry.js +6 -5
  153. package/dist/components/DataTable/cell-registry.js.map +1 -1
  154. package/dist/components/DataTable/data-table.d.ts +29 -8
  155. package/dist/components/DataTable/data-table.d.ts.map +1 -1
  156. package/dist/components/DataTable/data-table.js +69 -39
  157. package/dist/components/DataTable/data-table.js.map +1 -1
  158. package/dist/components/DataTable/filter-operators.d.ts +1 -1
  159. package/dist/components/DataTable/filter-tree.d.ts +1 -1
  160. package/dist/components/DataTable/index.d.ts +2 -0
  161. package/dist/components/DataTable/index.d.ts.map +1 -0
  162. package/dist/components/DataTable/index.js +8 -0
  163. package/dist/components/DataTable/index.js.map +1 -0
  164. package/dist/components/DateGrid/date-grid.d.ts +21 -17
  165. package/dist/components/DateGrid/date-grid.d.ts.map +1 -1
  166. package/dist/components/DateGrid/date-grid.js +2 -2
  167. package/dist/components/DateGrid/date-grid.js.map +1 -1
  168. package/dist/components/DateGrid/index.d.ts +2 -0
  169. package/dist/components/DateGrid/index.d.ts.map +1 -0
  170. package/dist/components/DateGrid/index.js +6 -0
  171. package/dist/components/DateGrid/index.js.map +1 -0
  172. package/dist/components/DatePicker/date-picker.d.ts.map +1 -1
  173. package/dist/components/DatePicker/date-picker.js +29 -18
  174. package/dist/components/DatePicker/date-picker.js.map +1 -1
  175. package/dist/components/DatePicker/index.d.ts +2 -0
  176. package/dist/components/DatePicker/index.d.ts.map +1 -0
  177. package/dist/components/DatePicker/index.js +8 -0
  178. package/dist/components/DatePicker/index.js.map +1 -0
  179. package/dist/components/DescriptionList/description-list.d.ts +3 -3
  180. package/dist/components/DescriptionList/description-list.js +4 -3
  181. package/dist/components/DescriptionList/description-list.js.map +1 -1
  182. package/dist/components/DescriptionList/index.d.ts +2 -0
  183. package/dist/components/DescriptionList/index.d.ts.map +1 -0
  184. package/dist/components/DescriptionList/index.js +7 -0
  185. package/dist/components/DescriptionList/index.js.map +1 -0
  186. package/dist/components/Dialog/dialog.d.ts.map +1 -1
  187. package/dist/components/Dialog/dialog.js.map +1 -1
  188. package/dist/components/Dialog/index.d.ts +2 -0
  189. package/dist/components/Dialog/index.d.ts.map +1 -0
  190. package/dist/components/Dialog/index.js +16 -0
  191. package/dist/components/Dialog/index.js.map +1 -0
  192. package/dist/components/DropdownMenu/dropdown-menu.d.ts +3 -2
  193. package/dist/components/DropdownMenu/dropdown-menu.d.ts.map +1 -1
  194. package/dist/components/DropdownMenu/dropdown-menu.js +3 -4
  195. package/dist/components/DropdownMenu/dropdown-menu.js.map +1 -1
  196. package/dist/components/DropdownMenu/index.d.ts +2 -0
  197. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  198. package/dist/components/DropdownMenu/index.js +21 -0
  199. package/dist/components/DropdownMenu/index.js.map +1 -0
  200. package/dist/components/Empty/empty.d.ts +11 -3
  201. package/dist/components/Empty/empty.d.ts.map +1 -1
  202. package/dist/components/Empty/empty.js +6 -6
  203. package/dist/components/Empty/empty.js.map +1 -1
  204. package/dist/components/Empty/index.d.ts +2 -0
  205. package/dist/components/Empty/index.d.ts.map +1 -0
  206. package/dist/components/Empty/index.js +6 -0
  207. package/dist/components/Empty/index.js.map +1 -0
  208. package/dist/components/Field/field-context.d.ts +49 -0
  209. package/dist/components/Field/field-context.d.ts.map +1 -1
  210. package/dist/components/Field/field-context.js +42 -0
  211. package/dist/components/Field/field-context.js.map +1 -1
  212. package/dist/components/Field/field-types.js.map +1 -1
  213. package/dist/components/Field/field-wrapper.js +5 -5
  214. package/dist/components/Field/field-wrapper.js.map +1 -1
  215. package/dist/components/Field/field.d.ts +4 -2
  216. package/dist/components/Field/field.d.ts.map +1 -1
  217. package/dist/components/Field/field.js +1 -0
  218. package/dist/components/Field/field.js.map +1 -1
  219. package/dist/components/Field/index.d.ts +2 -0
  220. package/dist/components/Field/index.d.ts.map +1 -0
  221. package/dist/components/Field/index.js +12 -0
  222. package/dist/components/Field/index.js.map +1 -0
  223. package/dist/components/Field/use-form-validation.d.ts +88 -0
  224. package/dist/components/Field/use-form-validation.d.ts.map +1 -0
  225. package/dist/components/Field/use-form-validation.js +127 -0
  226. package/dist/components/Field/use-form-validation.js.map +1 -0
  227. package/dist/components/FieldControlGroup/field-control-group.d.ts +5 -5
  228. package/dist/components/FieldControlGroup/field-control-group.d.ts.map +1 -1
  229. package/dist/components/FieldControlGroup/field-control-group.js +1 -1
  230. package/dist/components/FieldControlGroup/field-control-group.js.map +1 -1
  231. package/dist/components/FieldControlGroup/index.d.ts +2 -0
  232. package/dist/components/FieldControlGroup/index.d.ts.map +1 -0
  233. package/dist/components/FieldControlGroup/index.js +6 -0
  234. package/dist/components/FieldControlGroup/index.js.map +1 -0
  235. package/dist/components/FileItem/file-item.d.ts +12 -2
  236. package/dist/components/FileItem/file-item.d.ts.map +1 -1
  237. package/dist/components/FileItem/file-item.js +20 -6
  238. package/dist/components/FileItem/file-item.js.map +1 -1
  239. package/dist/components/FileItem/index.d.ts +2 -0
  240. package/dist/components/FileItem/index.d.ts.map +1 -0
  241. package/dist/components/FileItem/index.js +6 -0
  242. package/dist/components/FileItem/index.js.map +1 -0
  243. package/dist/components/FileUpload/file-upload.d.ts +32 -13
  244. package/dist/components/FileUpload/file-upload.d.ts.map +1 -1
  245. package/dist/components/FileUpload/file-upload.js +62 -18
  246. package/dist/components/FileUpload/file-upload.js.map +1 -1
  247. package/dist/components/FileUpload/index.d.ts +2 -0
  248. package/dist/components/FileUpload/index.d.ts.map +1 -0
  249. package/dist/components/FileUpload/index.js +6 -0
  250. package/dist/components/FileUpload/index.js.map +1 -0
  251. package/dist/components/FileViewer/file-viewer.d.ts +2 -2
  252. package/dist/components/FileViewer/file-viewer.d.ts.map +1 -1
  253. package/dist/components/FileViewer/file-viewer.js +28 -19
  254. package/dist/components/FileViewer/file-viewer.js.map +1 -1
  255. package/dist/components/FileViewer/index.d.ts +2 -0
  256. package/dist/components/FileViewer/index.d.ts.map +1 -0
  257. package/dist/components/FileViewer/index.js +7 -0
  258. package/dist/components/FileViewer/index.js.map +1 -0
  259. package/dist/components/HoverCard/hover-card.d.ts +7 -3
  260. package/dist/components/HoverCard/hover-card.d.ts.map +1 -1
  261. package/dist/components/HoverCard/hover-card.js +4 -3
  262. package/dist/components/HoverCard/hover-card.js.map +1 -1
  263. package/dist/components/HoverCard/index.d.ts +2 -0
  264. package/dist/components/HoverCard/index.d.ts.map +1 -0
  265. package/dist/components/HoverCard/index.js +8 -0
  266. package/dist/components/HoverCard/index.js.map +1 -0
  267. package/dist/components/Input/index.d.ts +2 -0
  268. package/dist/components/Input/index.d.ts.map +1 -0
  269. package/dist/components/Input/index.js +6 -0
  270. package/dist/components/Input/index.js.map +1 -0
  271. package/dist/components/Input/input.d.ts +5 -2
  272. package/dist/components/Input/input.d.ts.map +1 -1
  273. package/dist/components/Input/input.js +10 -8
  274. package/dist/components/Input/input.js.map +1 -1
  275. package/dist/components/LinkInput/index.d.ts +2 -0
  276. package/dist/components/LinkInput/index.d.ts.map +1 -0
  277. package/dist/components/LinkInput/index.js +6 -0
  278. package/dist/components/LinkInput/index.js.map +1 -0
  279. package/dist/components/LinkInput/link-input.d.ts.map +1 -1
  280. package/dist/components/LinkInput/link-input.js +8 -8
  281. package/dist/components/LinkInput/link-input.js.map +1 -1
  282. package/dist/components/Menu/index.d.ts +2 -0
  283. package/dist/components/Menu/index.d.ts.map +1 -0
  284. package/dist/components/Menu/index.js +9 -0
  285. package/dist/components/Menu/index.js.map +1 -0
  286. package/dist/components/Menu/menu-item.d.ts +6 -2
  287. package/dist/components/Menu/menu-item.d.ts.map +1 -1
  288. package/dist/components/Menu/menu-item.js +2 -1
  289. package/dist/components/Menu/menu-item.js.map +1 -1
  290. package/dist/components/Notice/index.d.ts +2 -0
  291. package/dist/components/Notice/index.d.ts.map +1 -0
  292. package/dist/components/Notice/index.js +8 -0
  293. package/dist/components/Notice/index.js.map +1 -0
  294. package/dist/components/Notice/notice.d.ts +13 -6
  295. package/dist/components/Notice/notice.d.ts.map +1 -1
  296. package/dist/components/Notice/notice.js +16 -6
  297. package/dist/components/Notice/notice.js.map +1 -1
  298. package/dist/components/NumberInput/index.d.ts +2 -0
  299. package/dist/components/NumberInput/index.d.ts.map +1 -0
  300. package/dist/components/NumberInput/index.js +7 -0
  301. package/dist/components/NumberInput/index.js.map +1 -0
  302. package/dist/components/NumberInput/number-input.d.ts.map +1 -1
  303. package/dist/components/NumberInput/number-input.js +8 -7
  304. package/dist/components/NumberInput/number-input.js.map +1 -1
  305. package/dist/components/OverflowIndicator/index.d.ts +2 -0
  306. package/dist/components/OverflowIndicator/index.d.ts.map +1 -0
  307. package/dist/components/OverflowIndicator/index.js +6 -0
  308. package/dist/components/OverflowIndicator/index.js.map +1 -0
  309. package/dist/components/OverflowIndicator/overflow-indicator.d.ts +5 -1
  310. package/dist/components/OverflowIndicator/overflow-indicator.d.ts.map +1 -1
  311. package/dist/components/OverflowIndicator/overflow-indicator.js +13 -6
  312. package/dist/components/OverflowIndicator/overflow-indicator.js.map +1 -1
  313. package/dist/components/PeoplePicker/index.d.ts +2 -0
  314. package/dist/components/PeoplePicker/index.d.ts.map +1 -0
  315. package/dist/components/PeoplePicker/index.js +9 -0
  316. package/dist/components/PeoplePicker/index.js.map +1 -0
  317. package/dist/components/PeoplePicker/people-picker-helpers.d.ts.map +1 -1
  318. package/dist/components/PeoplePicker/people-picker-helpers.js +2 -2
  319. package/dist/components/PeoplePicker/people-picker-helpers.js.map +1 -1
  320. package/dist/components/PeoplePicker/people-picker.d.ts.map +1 -1
  321. package/dist/components/PeoplePicker/people-picker.js +21 -17
  322. package/dist/components/PeoplePicker/people-picker.js.map +1 -1
  323. package/dist/components/PeoplePicker/person-display.d.ts +7 -7
  324. package/dist/components/PeoplePicker/person-display.d.ts.map +1 -1
  325. package/dist/components/PeoplePicker/person-display.js +9 -9
  326. package/dist/components/PeoplePicker/person-display.js.map +1 -1
  327. package/dist/components/Popover/index.d.ts +2 -0
  328. package/dist/components/Popover/index.d.ts.map +1 -0
  329. package/dist/components/Popover/index.js +14 -0
  330. package/dist/components/Popover/index.js.map +1 -0
  331. package/dist/components/Popover/popover.d.ts +2 -2
  332. package/dist/components/Popover/popover.d.ts.map +1 -1
  333. package/dist/components/Popover/popover.js +12 -12
  334. package/dist/components/Popover/popover.js.map +1 -1
  335. package/dist/components/ProfileCard/index.d.ts +2 -0
  336. package/dist/components/ProfileCard/index.d.ts.map +1 -0
  337. package/dist/components/ProfileCard/index.js +8 -0
  338. package/dist/components/ProfileCard/index.js.map +1 -0
  339. package/dist/components/{NameCard/name-card.d.ts → ProfileCard/profile-card.d.ts} +26 -20
  340. package/dist/components/ProfileCard/profile-card.d.ts.map +1 -0
  341. package/dist/components/{NameCard/name-card.js → ProfileCard/profile-card.js} +11 -10
  342. package/dist/components/ProfileCard/profile-card.js.map +1 -0
  343. package/dist/components/ProgressBar/index.d.ts +2 -0
  344. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  345. package/dist/components/ProgressBar/index.js +6 -0
  346. package/dist/components/ProgressBar/index.js.map +1 -0
  347. package/dist/components/ProgressBar/progress-bar.d.ts +2 -2
  348. package/dist/components/ProgressBar/progress-bar.js +3 -3
  349. package/dist/components/ProgressBar/progress-bar.js.map +1 -1
  350. package/dist/components/RadioGroup/index.d.ts +2 -0
  351. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  352. package/dist/components/RadioGroup/index.js +8 -0
  353. package/dist/components/RadioGroup/index.js.map +1 -0
  354. package/dist/components/RadioGroup/radio-group.d.ts +15 -9
  355. package/dist/components/RadioGroup/radio-group.d.ts.map +1 -1
  356. package/dist/components/RadioGroup/radio-group.js +71 -33
  357. package/dist/components/RadioGroup/radio-group.js.map +1 -1
  358. package/dist/components/Rating/index.d.ts +2 -0
  359. package/dist/components/Rating/index.d.ts.map +1 -0
  360. package/dist/components/Rating/index.js +6 -0
  361. package/dist/components/Rating/index.js.map +1 -0
  362. package/dist/components/Rating/rating.d.ts +6 -2
  363. package/dist/components/Rating/rating.d.ts.map +1 -1
  364. package/dist/components/Rating/rating.js +10 -7
  365. package/dist/components/Rating/rating.js.map +1 -1
  366. package/dist/components/ScrollArea/index.d.ts +2 -0
  367. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  368. package/dist/components/ScrollArea/index.js +7 -0
  369. package/dist/components/ScrollArea/index.js.map +1 -0
  370. package/dist/components/ScrollArea/scroll-area.d.ts +1 -1
  371. package/dist/components/ScrollArea/scroll-area.js +2 -2
  372. package/dist/components/ScrollArea/scroll-area.js.map +1 -1
  373. package/dist/components/SegmentedControl/index.d.ts +2 -0
  374. package/dist/components/SegmentedControl/index.d.ts.map +1 -0
  375. package/dist/components/SegmentedControl/index.js +9 -0
  376. package/dist/components/SegmentedControl/index.js.map +1 -0
  377. package/dist/components/SegmentedControl/segmented-control.d.ts +2 -2
  378. package/dist/components/SegmentedControl/segmented-control.d.ts.map +1 -1
  379. package/dist/components/SegmentedControl/segmented-control.js +8 -10
  380. package/dist/components/SegmentedControl/segmented-control.js.map +1 -1
  381. package/dist/components/Select/index.d.ts +2 -0
  382. package/dist/components/Select/index.d.ts.map +1 -0
  383. package/dist/components/Select/index.js +6 -0
  384. package/dist/components/Select/index.js.map +1 -0
  385. package/dist/components/Select/select.d.ts.map +1 -1
  386. package/dist/components/Select/select.js +30 -18
  387. package/dist/components/Select/select.js.map +1 -1
  388. package/dist/components/SelectMenu/index.d.ts +2 -0
  389. package/dist/components/SelectMenu/index.d.ts.map +1 -0
  390. package/dist/components/SelectMenu/index.js +6 -0
  391. package/dist/components/SelectMenu/index.js.map +1 -0
  392. package/dist/components/SelectMenu/select-menu.d.ts +10 -5
  393. package/dist/components/SelectMenu/select-menu.d.ts.map +1 -1
  394. package/dist/components/SelectMenu/select-menu.js +12 -4
  395. package/dist/components/SelectMenu/select-menu.js.map +1 -1
  396. package/dist/components/SelectionControl/index.d.ts +2 -0
  397. package/dist/components/SelectionControl/index.d.ts.map +1 -0
  398. package/dist/components/SelectionControl/index.js +7 -0
  399. package/dist/components/SelectionControl/index.js.map +1 -0
  400. package/dist/components/SelectionControl/selection-item.d.ts +5 -1
  401. package/dist/components/SelectionControl/selection-item.d.ts.map +1 -1
  402. package/dist/components/SelectionControl/selection-item.js +3 -1
  403. package/dist/components/SelectionControl/selection-item.js.map +1 -1
  404. package/dist/components/Separator/index.d.ts +2 -0
  405. package/dist/components/Separator/index.d.ts.map +1 -0
  406. package/dist/components/Separator/index.js +6 -0
  407. package/dist/components/Separator/index.js.map +1 -0
  408. package/dist/components/Separator/separator.d.ts +2 -2
  409. package/dist/components/Separator/separator.js +4 -3
  410. package/dist/components/Separator/separator.js.map +1 -1
  411. package/dist/components/Sheet/index.d.ts +2 -0
  412. package/dist/components/Sheet/index.d.ts.map +1 -0
  413. package/dist/components/Sheet/index.js +17 -0
  414. package/dist/components/Sheet/index.js.map +1 -0
  415. package/dist/components/Sheet/sheet.d.ts +6 -5
  416. package/dist/components/Sheet/sheet.d.ts.map +1 -1
  417. package/dist/components/Sheet/sheet.js +1 -1
  418. package/dist/components/Sheet/sheet.js.map +1 -1
  419. package/dist/components/Sidebar/index.d.ts +2 -0
  420. package/dist/components/Sidebar/index.d.ts.map +1 -0
  421. package/dist/components/Sidebar/index.js +24 -0
  422. package/dist/components/Sidebar/index.js.map +1 -0
  423. package/dist/components/Sidebar/sidebar.d.ts +2 -2
  424. package/dist/components/Sidebar/sidebar.d.ts.map +1 -1
  425. package/dist/components/Sidebar/sidebar.js +9 -5
  426. package/dist/components/Sidebar/sidebar.js.map +1 -1
  427. package/dist/components/Skeleton/index.d.ts +2 -0
  428. package/dist/components/Skeleton/index.d.ts.map +1 -0
  429. package/dist/components/Skeleton/index.js +6 -0
  430. package/dist/components/Skeleton/index.js.map +1 -0
  431. package/dist/components/Skeleton/skeleton.d.ts +1 -1
  432. package/dist/components/Skeleton/skeleton.js +2 -1
  433. package/dist/components/Skeleton/skeleton.js.map +1 -1
  434. package/dist/components/Slider/index.d.ts +2 -0
  435. package/dist/components/Slider/index.d.ts.map +1 -0
  436. package/dist/components/Slider/index.js +7 -0
  437. package/dist/components/Slider/index.js.map +1 -0
  438. package/dist/components/Slider/slider.d.ts +6 -6
  439. package/dist/components/Slider/slider.d.ts.map +1 -1
  440. package/dist/components/Slider/slider.js +25 -10
  441. package/dist/components/Slider/slider.js.map +1 -1
  442. package/dist/components/Steps/index.d.ts +2 -0
  443. package/dist/components/Steps/index.d.ts.map +1 -0
  444. package/dist/components/Steps/index.js +12 -0
  445. package/dist/components/Steps/index.js.map +1 -0
  446. package/dist/components/Steps/steps.d.ts +2 -2
  447. package/dist/components/Steps/steps.d.ts.map +1 -1
  448. package/dist/components/Steps/steps.js +48 -23
  449. package/dist/components/Steps/steps.js.map +1 -1
  450. package/dist/components/Switch/index.d.ts +2 -0
  451. package/dist/components/Switch/index.d.ts.map +1 -0
  452. package/dist/components/Switch/index.js +7 -0
  453. package/dist/components/Switch/index.js.map +1 -0
  454. package/dist/components/Switch/switch.d.ts +16 -14
  455. package/dist/components/Switch/switch.d.ts.map +1 -1
  456. package/dist/components/Switch/switch.js +46 -17
  457. package/dist/components/Switch/switch.js.map +1 -1
  458. package/dist/components/Tabs/index.d.ts +2 -0
  459. package/dist/components/Tabs/index.d.ts.map +1 -0
  460. package/dist/components/Tabs/index.js +10 -0
  461. package/dist/components/Tabs/index.js.map +1 -0
  462. package/dist/components/Tabs/tabs.d.ts +5 -5
  463. package/dist/components/Tabs/tabs.d.ts.map +1 -1
  464. package/dist/components/Tabs/tabs.js +14 -7
  465. package/dist/components/Tabs/tabs.js.map +1 -1
  466. package/dist/components/Tag/index.d.ts +2 -0
  467. package/dist/components/Tag/index.d.ts.map +1 -0
  468. package/dist/components/Tag/index.js +7 -0
  469. package/dist/components/Tag/index.js.map +1 -0
  470. package/dist/components/Tag/tag.d.ts +37 -23
  471. package/dist/components/Tag/tag.d.ts.map +1 -1
  472. package/dist/components/Tag/tag.js +39 -44
  473. package/dist/components/Tag/tag.js.map +1 -1
  474. package/dist/components/Textarea/index.d.ts +2 -0
  475. package/dist/components/Textarea/index.d.ts.map +1 -0
  476. package/dist/components/Textarea/index.js +7 -0
  477. package/dist/components/Textarea/index.js.map +1 -0
  478. package/dist/components/Textarea/textarea.d.ts +5 -10
  479. package/dist/components/Textarea/textarea.d.ts.map +1 -1
  480. package/dist/components/Textarea/textarea.js +14 -12
  481. package/dist/components/Textarea/textarea.js.map +1 -1
  482. package/dist/components/TimePicker/index.d.ts +2 -0
  483. package/dist/components/TimePicker/index.d.ts.map +1 -0
  484. package/dist/components/TimePicker/index.js +6 -0
  485. package/dist/components/TimePicker/index.js.map +1 -0
  486. package/dist/components/TimePicker/time-columns.d.ts.map +1 -1
  487. package/dist/components/TimePicker/time-columns.js +4 -1
  488. package/dist/components/TimePicker/time-columns.js.map +1 -1
  489. package/dist/components/TimePicker/time-picker.d.ts +2 -1
  490. package/dist/components/TimePicker/time-picker.d.ts.map +1 -1
  491. package/dist/components/TimePicker/time-picker.js +33 -32
  492. package/dist/components/TimePicker/time-picker.js.map +1 -1
  493. package/dist/components/Toast/index.d.ts +2 -0
  494. package/dist/components/Toast/index.d.ts.map +1 -0
  495. package/dist/components/Toast/index.js +7 -0
  496. package/dist/components/Toast/index.js.map +1 -0
  497. package/dist/components/Toast/toast.d.ts +1 -1
  498. package/dist/components/Toast/toast.js +2 -2
  499. package/dist/components/Toast/toast.js.map +1 -1
  500. package/dist/components/Tooltip/index.d.ts +2 -0
  501. package/dist/components/Tooltip/index.d.ts.map +1 -0
  502. package/dist/components/Tooltip/index.js +9 -0
  503. package/dist/components/Tooltip/index.js.map +1 -0
  504. package/dist/components/Tooltip/tooltip.d.ts +1 -1
  505. package/dist/components/Tooltip/tooltip.d.ts.map +1 -1
  506. package/dist/components/Tooltip/tooltip.js +2 -1
  507. package/dist/components/Tooltip/tooltip.js.map +1 -1
  508. package/dist/components/TreeView/index.d.ts +2 -0
  509. package/dist/components/TreeView/index.d.ts.map +1 -0
  510. package/dist/components/TreeView/index.js +8 -0
  511. package/dist/components/TreeView/index.js.map +1 -0
  512. package/dist/components/TreeView/tree-view.d.ts +11 -11
  513. package/dist/components/TreeView/tree-view.d.ts.map +1 -1
  514. package/dist/components/TreeView/tree-view.js +36 -9
  515. package/dist/components/TreeView/tree-view.js.map +1 -1
  516. package/dist/hooks/use-overflow-items.d.ts +10 -6
  517. package/dist/hooks/use-overflow-items.d.ts.map +1 -1
  518. package/dist/hooks/use-overflow-items.js.map +1 -1
  519. package/dist/index.d.ts +57 -67
  520. package/dist/index.d.ts.map +1 -1
  521. package/dist/index.js +29 -59
  522. package/dist/index.js.map +1 -1
  523. package/dist/lib/utils.d.ts.map +1 -1
  524. package/dist/lib/utils.js +3 -1
  525. package/dist/lib/utils.js.map +1 -1
  526. package/dist/node_modules/react-hook-form/dist/index.esm.js +1950 -0
  527. package/dist/node_modules/react-hook-form/dist/index.esm.js.map +1 -0
  528. package/dist/patterns/element-anatomy/index.d.ts +2 -0
  529. package/dist/patterns/element-anatomy/index.d.ts.map +1 -0
  530. package/dist/patterns/element-anatomy/index.js +20 -0
  531. package/dist/patterns/element-anatomy/index.js.map +1 -0
  532. package/dist/patterns/element-anatomy/item-anatomy.d.ts +9 -5
  533. package/dist/patterns/element-anatomy/item-anatomy.d.ts.map +1 -1
  534. package/dist/patterns/element-anatomy/item-anatomy.js +1 -1
  535. package/dist/patterns/element-anatomy/item-anatomy.js.map +1 -1
  536. package/dist/patterns/header-canonical/chrome-header.d.ts +13 -4
  537. package/dist/patterns/header-canonical/chrome-header.d.ts.map +1 -1
  538. package/dist/patterns/header-canonical/chrome-header.js +4 -2
  539. package/dist/patterns/header-canonical/chrome-header.js.map +1 -1
  540. package/dist/patterns/header-canonical/index.d.ts +2 -0
  541. package/dist/patterns/header-canonical/index.d.ts.map +1 -0
  542. package/dist/patterns/header-canonical/index.js +6 -0
  543. package/dist/patterns/header-canonical/index.js.map +1 -0
  544. package/dist/patterns/horizontal-overflow/index.d.ts +2 -0
  545. package/dist/patterns/horizontal-overflow/index.d.ts.map +1 -0
  546. package/dist/patterns/horizontal-overflow/index.js +14 -0
  547. package/dist/patterns/horizontal-overflow/index.js.map +1 -0
  548. package/dist/patterns/overlay-surface/index.d.ts +2 -0
  549. package/dist/patterns/overlay-surface/index.d.ts.map +1 -0
  550. package/dist/patterns/overlay-surface/index.js +8 -0
  551. package/dist/patterns/overlay-surface/index.js.map +1 -0
  552. package/dist/patterns/overlay-surface/overlay-surface.d.ts +11 -2
  553. package/dist/patterns/overlay-surface/overlay-surface.d.ts.map +1 -1
  554. package/dist/patterns/overlay-surface/overlay-surface.js +5 -2
  555. package/dist/patterns/overlay-surface/overlay-surface.js.map +1 -1
  556. package/dist/patterns/resize-handle/index.d.ts +2 -0
  557. package/dist/patterns/resize-handle/index.d.ts.map +1 -0
  558. package/dist/patterns/resize-handle/index.js +5 -0
  559. package/dist/patterns/resize-handle/index.js.map +1 -0
  560. package/dist/story-governance/category-matrix.d.ts +35 -0
  561. package/dist/story-governance/category-matrix.d.ts.map +1 -0
  562. package/dist/tokens/categorical-color.d.ts +60 -0
  563. package/dist/tokens/categorical-color.d.ts.map +1 -0
  564. package/dist/tokens/categorical-color.js +110 -0
  565. package/dist/tokens/categorical-color.js.map +1 -0
  566. package/dist/tokens/motion/motion.d.ts +1 -1
  567. package/dist/tokens/motion/motion.d.ts.map +1 -1
  568. package/dist/tokens/motion/motion.js.map +1 -1
  569. package/dist/tokens/uiSize/icon-size.d.ts +1 -2
  570. package/dist/tokens/uiSize/icon-size.d.ts.map +1 -1
  571. package/ds-canonical/commands/README.md +26 -0
  572. package/ds-canonical/commands/gov-status.md +79 -0
  573. package/ds-canonical/fork/governance.lock +222 -0
  574. package/ds-canonical/fork/hooks/block_prototype_imports.py +111 -0
  575. package/ds-canonical/fork/hooks/check_chrome_header_avatar_canonical.sh +95 -0
  576. package/ds-canonical/fork/hooks/check_consumer_app_invariants.sh +349 -0
  577. package/ds-canonical/fork/hooks/check_ds_anchor_preflight.sh +132 -0
  578. package/ds-canonical/fork/hooks/check_escape_marker_abuse.sh +140 -0
  579. package/ds-canonical/fork/hooks/check_field_family_invariants.sh +250 -0
  580. package/ds-canonical/fork/hooks/check_fork_product_quality.sh +36 -0
  581. package/ds-canonical/fork/hooks/check_item_list_gap.sh +54 -0
  582. package/ds-canonical/fork/hooks/check_layout_space_magic_numbers.sh +96 -0
  583. package/ds-canonical/fork/hooks/check_opacity_token_usage.sh +149 -0
  584. package/ds-canonical/fork/hooks/check_pattern_invariants.sh +196 -0
  585. package/ds-canonical/fork/hooks/check_sidebar_menu_button_implicit_wrap.sh +86 -0
  586. package/ds-canonical/fork/hooks/check_tabs_content_chrome_body_double_gap.sh +183 -0
  587. package/ds-canonical/fork/hooks/check_tailwind_wildcard_in_docs.sh +79 -0
  588. package/ds-canonical/fork/hooks/inject_deploy_url_after_push.sh +238 -0
  589. package/ds-canonical/fork/launchers/fork-governance-dispatcher.sh +44 -0
  590. package/ds-canonical/fork/launchers/inject_fork_governance_preamble.sh +54 -0
  591. package/ds-canonical/fork/launchers/settings-hooks.json +58 -0
  592. package/ds-canonical/fork/manifest.json +98 -0
  593. package/ds-canonical/fork/preamble.md +495 -0
  594. package/ds-canonical/fork/skills/bug-fix-rhythm/SKILL.md +183 -0
  595. package/ds-canonical/fork/skills/code-quality-audit/SKILL.md +65 -0
  596. package/ds-canonical/fork/skills/delivery-handoff/SKILL.md +229 -0
  597. package/ds-canonical/fork/skills/delivery-handoff/references/flow-diagram.md +180 -0
  598. package/ds-canonical/fork/skills/delivery-handoff/references/handoff-template.md +177 -0
  599. package/ds-canonical/fork/skills/delivery-handoff/references/inventory-checklist.md +196 -0
  600. package/ds-canonical/fork/skills/performance-audit/SKILL.md +107 -0
  601. package/ds-canonical/fork/skills/product-ui-audit/SKILL.md +232 -0
  602. package/ds-canonical/fork/skills/product-ui-audit/references/audit-checks.md +246 -0
  603. package/ds-canonical/fork/skills/product-ui-audit/references/common-misuses.md +329 -0
  604. package/ds-canonical/fork/skills/product-ui-audit/references/report-template.md +159 -0
  605. package/ds-canonical/fork/skills/propose-options/SKILL.md +177 -0
  606. package/ds-canonical/fork/skills/prototype/SKILL.md +244 -0
  607. package/ds-canonical/fork/skills/prototype/references/audit-checks.md +38 -0
  608. package/ds-canonical/fork/skills/prototype/references/benchmark-sources.md +94 -0
  609. package/ds-canonical/fork/skills/prototype/references/checkpoints.md +191 -0
  610. package/ds-canonical/fork/skills/prototype/references/evaluation-matrix.md +141 -0
  611. package/ds-canonical/fork/skills/prototype/references/ooux-template.md +198 -0
  612. package/ds-canonical/fork/skills/prototype/references/proposal-template.md +229 -0
  613. package/ds-canonical/fork/skills/scan-similar-bugs/SKILL.md +200 -0
  614. package/ds-canonical/fork/skills/ux-audit/SKILL.md +130 -0
  615. package/ds-canonical/fork/skills/visual-audit/SKILL.md +247 -0
  616. package/ds-canonical/fork/skills/visual-audit/output/.gitkeep +0 -0
  617. package/ds-canonical/fork/skills/visual-audit/references/audit-architecture.md +101 -0
  618. package/ds-canonical/fork/skills/visual-audit/references/visual-checklist.md +297 -0
  619. package/ds-canonical/fork/skills/visual-audit/references/world-class-benchmarks.md +198 -0
  620. package/ds-canonical/hooks/README.md +145 -0
  621. package/ds-canonical/hooks/_log-fire.sh +46 -0
  622. package/ds-canonical/hooks/auto_regen_ds_barrel.sh +58 -0
  623. package/ds-canonical/hooks/block_prototype_imports.py +111 -0
  624. package/ds-canonical/hooks/check_audit_post_report_validator.sh +156 -0
  625. package/ds-canonical/hooks/check_audit_sample_escape.sh +76 -0
  626. package/ds-canonical/hooks/check_benchmark_citation.sh +106 -0
  627. package/ds-canonical/hooks/check_canonical_propagation.sh +189 -0
  628. package/ds-canonical/hooks/check_chrome_header_avatar_canonical.sh +95 -0
  629. package/ds-canonical/hooks/check_codex_brief_invariants.sh +115 -0
  630. package/ds-canonical/hooks/check_codex_collab_5step.sh +108 -0
  631. package/ds-canonical/hooks/check_consumer_app_invariants.sh +349 -0
  632. package/ds-canonical/hooks/check_datatable_invariants.sh +180 -0
  633. package/ds-canonical/hooks/check_dim_count_drift.sh +72 -0
  634. package/ds-canonical/hooks/check_ds_anchor_preflight.sh +132 -0
  635. package/ds-canonical/hooks/check_escape_marker_abuse.sh +140 -0
  636. package/ds-canonical/hooks/check_field_controls_contracts.sh +137 -0
  637. package/ds-canonical/hooks/check_field_family_invariants.sh +250 -0
  638. package/ds-canonical/hooks/check_file_size_budget.sh +60 -0
  639. package/ds-canonical/hooks/check_full_story_visual_interaction_sweep.sh +71 -0
  640. package/ds-canonical/hooks/check_item_list_gap.sh +54 -0
  641. package/ds-canonical/hooks/check_layout_space_magic_numbers.sh +96 -0
  642. package/ds-canonical/hooks/check_main_branch_workbench.sh +93 -0
  643. package/ds-canonical/hooks/check_naming_and_abstraction.sh +165 -0
  644. package/ds-canonical/hooks/check_opacity_token_usage.sh +149 -0
  645. package/ds-canonical/hooks/check_orphan_ds_css.sh +66 -0
  646. package/ds-canonical/hooks/check_overlay_open_focus_escape_probe.sh +75 -0
  647. package/ds-canonical/hooks/check_pattern_invariants.sh +196 -0
  648. package/ds-canonical/hooks/check_peoplepicker_ssot_drift.sh +56 -0
  649. package/ds-canonical/hooks/check_pixel_quantified_audit.sh +53 -0
  650. package/ds-canonical/hooks/check_plugin_fork_health.sh +137 -0
  651. package/ds-canonical/hooks/check_post_main_ssot_propagate.sh +90 -0
  652. package/ds-canonical/hooks/check_propose_discipline.sh +147 -0
  653. package/ds-canonical/hooks/check_propose_pre_grep_verify.sh +70 -0
  654. package/ds-canonical/hooks/check_propose_without_benchmark.sh +63 -0
  655. package/ds-canonical/hooks/check_select_all_canonical.sh +58 -0
  656. package/ds-canonical/hooks/check_sidebar_menu_button_implicit_wrap.sh +86 -0
  657. package/ds-canonical/hooks/check_solo_workflow.sh +317 -0
  658. package/ds-canonical/hooks/check_spec_class_drift.sh +88 -0
  659. package/ds-canonical/hooks/check_story_invariants.sh +748 -0
  660. package/ds-canonical/hooks/check_storybook_addon_packaging.sh +151 -0
  661. package/ds-canonical/hooks/check_substantive_edit_approval_preflight.sh +110 -0
  662. package/ds-canonical/hooks/check_tabs_content_chrome_body_double_gap.sh +183 -0
  663. package/ds-canonical/hooks/check_tailwind_wildcard_in_docs.sh +79 -0
  664. package/ds-canonical/hooks/check_wrapper_primitive_schema_drift.sh +104 -0
  665. package/ds-canonical/hooks/chrome_header_dispatcher.sh +56 -0
  666. package/ds-canonical/hooks/enforce_home_charter.sh +44 -0
  667. package/ds-canonical/hooks/inject_deploy_url_after_push.sh +238 -0
  668. package/ds-canonical/hooks/inject_pending_self_audit.sh +248 -0
  669. package/ds-canonical/hooks/lib/_app_shell_primary_header_consistency.sh +100 -0
  670. package/ds-canonical/hooks/lib/_approval_re.sh +33 -0
  671. package/ds-canonical/hooks/lib/_chrome_header_handcraft.sh +75 -0
  672. package/ds-canonical/hooks/lib/_code_quality.sh +73 -0
  673. package/ds-canonical/hooks/lib/_cva_default_sync.sh +69 -0
  674. package/ds-canonical/hooks/lib/_governance_coverage_check.sh +49 -0
  675. package/ds-canonical/hooks/lib/_hardcoded_strings.sh +163 -0
  676. package/ds-canonical/hooks/lib/_header_with_tabs_border.sh +87 -0
  677. package/ds-canonical/hooks/lib/_layout_space_canonical.sh +56 -0
  678. package/ds-canonical/hooks/lib/_overlay_handcraft.sh +162 -0
  679. package/ds-canonical/hooks/lib/_person_data_richness.sh +42 -0
  680. package/ds-canonical/hooks/lib/_story_compile_drift.sh +48 -0
  681. package/ds-canonical/hooks/lib/_tab_lg_chrome_header_equal.sh +70 -0
  682. package/ds-canonical/hooks/lib/_token_hygiene.sh +104 -0
  683. package/ds-canonical/hooks/log_governance_fires.sh +50 -0
  684. package/ds-canonical/hooks/log_skill_invokes.sh +41 -0
  685. package/ds-canonical/hooks/post_edit_dispatcher.sh +62 -0
  686. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_addon_subdir_ship.sh +76 -0
  687. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_consumer_app_story_title.sh +81 -0
  688. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_consumer_ds_primitive_misuse.sh +120 -0
  689. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_consumer_no_ds_catalog.sh +101 -0
  690. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_consumer_story_baseline.sh +76 -0
  691. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_data_table_size_num_to_meta_width.sh +68 -0
  692. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_fork_user_plugin_install.sh +79 -0
  693. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_plugin_freshness.sh +68 -0
  694. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_propose_cite_required.sh +88 -0
  695. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_propose_plain_chinese.sh +74 -0
  696. package/ds-canonical/hooks/retired/2026-06-11-prune-merge/check_storybook_addon_preset_cjs.sh +87 -0
  697. package/ds-canonical/hooks/retired/check_anatomy_section_numbering.sh +106 -0
  698. package/ds-canonical/hooks/retired/check_avatar_hovercard.sh +90 -0
  699. package/ds-canonical/hooks/retired/check_button_icon_literal.sh.retired-2026-04-28 +38 -0
  700. package/ds-canonical/hooks/retired/check_container_breathing.sh +142 -0
  701. package/ds-canonical/hooks/retired/check_governance_compliance.sh +61 -0
  702. package/ds-canonical/hooks/retired/check_icon_only_padding_formula.sh +104 -0
  703. package/ds-canonical/hooks/retired/check_item_content_primitive.sh +150 -0
  704. package/ds-canonical/hooks/retired/check_item_list_gap.sh +153 -0
  705. package/ds-canonical/hooks/retired/check_sideoffset_canonical.sh +65 -0
  706. package/ds-canonical/hooks/retired/check_spec_iteration_tag.sh +87 -0
  707. package/ds-canonical/hooks/retired/check_ssot_consultation.sh +88 -0
  708. package/ds-canonical/hooks/retired/check_sync_update.sh +20 -0
  709. package/ds-canonical/hooks/retired/check_third_party_dom_verified.sh +95 -0
  710. package/ds-canonical/hooks/retired/enforce_home_charter.sh +125 -0
  711. package/ds-canonical/hooks/retired/post_edit_canonical_interrogate.sh +109 -0
  712. package/ds-canonical/hooks/retired/pre_edit_spec_check.sh +68 -0
  713. package/ds-canonical/hooks/retired/pre_new_component_spec.sh +39 -0
  714. package/ds-canonical/hooks/retired/pre_write_subsumption_check.sh +112 -0
  715. package/ds-canonical/hooks/retired/stop_meta_self_audit.sh.retired-2026-05-13 +76 -0
  716. package/ds-canonical/hooks/retired/tests/test_check_anatomy_section_numbering.sh +14 -0
  717. package/ds-canonical/hooks/retired/tests/test_check_avatar_hovercard.sh +15 -0
  718. package/ds-canonical/hooks/retired/tests/test_check_container_breathing.sh +15 -0
  719. package/ds-canonical/hooks/retired/tests/test_check_governance_compliance.sh +15 -0
  720. package/ds-canonical/hooks/retired/tests/test_check_icon_only_padding_formula.sh +79 -0
  721. package/ds-canonical/hooks/retired/tests/test_check_item_content_primitive.sh +15 -0
  722. package/ds-canonical/hooks/retired/tests/test_check_item_list_gap.sh +163 -0
  723. package/ds-canonical/hooks/retired/tests/test_check_sideoffset_canonical.sh +15 -0
  724. package/ds-canonical/hooks/retired/tests/test_check_spec_iteration_tag.sh +15 -0
  725. package/ds-canonical/hooks/retired/tests/test_check_ssot_consultation.sh +15 -0
  726. package/ds-canonical/hooks/retired/tests/test_check_sync_update.sh +14 -0
  727. package/ds-canonical/hooks/retired/tests/test_check_third_party_dom_verified.sh +15 -0
  728. package/ds-canonical/hooks/retired/tests/test_enforce_home_charter.sh +15 -0
  729. package/ds-canonical/hooks/retired/tests/test_pre_edit_spec_check.sh +15 -0
  730. package/ds-canonical/hooks/retired/tests/test_pre_new_component_spec.sh +15 -0
  731. package/ds-canonical/hooks/retired/tests/test_pre_write_subsumption_check.sh +63 -0
  732. package/ds-canonical/hooks/session_start_governance_check.sh +310 -0
  733. package/ds-canonical/hooks/stop_passive_logging.sh +322 -0
  734. package/ds-canonical/hooks/stop_self_audit.sh +516 -0
  735. package/ds-canonical/hooks/tests/KNOWN-BROKEN.md +15 -0
  736. package/ds-canonical/hooks/tests/run-all.sh +76 -0
  737. package/ds-canonical/hooks/tests/test_auto_regen_ds_barrel.sh +180 -0
  738. package/ds-canonical/hooks/tests/test_block_prototype_imports.sh +143 -0
  739. package/ds-canonical/hooks/tests/test_check_addon_subdir_ship.sh +171 -0
  740. package/ds-canonical/hooks/tests/test_check_app_shell_primary_header_consistency.sh +196 -0
  741. package/ds-canonical/hooks/tests/test_check_audit_post_report_validator.sh +127 -0
  742. package/ds-canonical/hooks/tests/test_check_audit_sample_escape.sh +93 -0
  743. package/ds-canonical/hooks/tests/test_check_benchmark_citation.sh +115 -0
  744. package/ds-canonical/hooks/tests/test_check_canonical_propagation.sh +133 -0
  745. package/ds-canonical/hooks/tests/test_check_chrome_header_avatar_canonical.sh +198 -0
  746. package/ds-canonical/hooks/tests/test_check_chrome_header_handcraft.sh +146 -0
  747. package/ds-canonical/hooks/tests/test_check_code_quality.sh +15 -0
  748. package/ds-canonical/hooks/tests/test_check_codex_brief_invariants.sh +208 -0
  749. package/ds-canonical/hooks/tests/test_check_codex_collab_5step.sh +96 -0
  750. package/ds-canonical/hooks/tests/test_check_consumer_app_invariants.sh +12 -0
  751. package/ds-canonical/hooks/tests/test_check_consumer_app_story_title.sh +164 -0
  752. package/ds-canonical/hooks/tests/test_check_consumer_ds_primitive_misuse.sh +240 -0
  753. package/ds-canonical/hooks/tests/test_check_consumer_no_ds_catalog.sh +214 -0
  754. package/ds-canonical/hooks/tests/test_check_consumer_story_baseline.sh +202 -0
  755. package/ds-canonical/hooks/tests/test_check_cva_default_sync.sh +15 -0
  756. package/ds-canonical/hooks/tests/test_check_data_table_size_num_to_meta_width.sh +53 -0
  757. package/ds-canonical/hooks/tests/test_check_datatable_invariants.sh +122 -0
  758. package/ds-canonical/hooks/tests/test_check_dim_count_drift.sh +98 -0
  759. package/ds-canonical/hooks/tests/test_check_ds_anchor_preflight.sh +104 -0
  760. package/ds-canonical/hooks/tests/test_check_escape_marker_abuse.sh +192 -0
  761. package/ds-canonical/hooks/tests/test_check_field_controls_contracts.sh +126 -0
  762. package/ds-canonical/hooks/tests/test_check_field_family_invariants.sh +203 -0
  763. package/ds-canonical/hooks/tests/test_check_file_size_budget.sh +32 -0
  764. package/ds-canonical/hooks/tests/test_check_fork_user_plugin_install.sh +46 -0
  765. package/ds-canonical/hooks/tests/test_check_full_story_visual_interaction_sweep.sh +190 -0
  766. package/ds-canonical/hooks/tests/test_check_hardcoded_strings.sh +14 -0
  767. package/ds-canonical/hooks/tests/test_check_header_with_tabs_border.sh +110 -0
  768. package/ds-canonical/hooks/tests/test_check_item_list_gap.sh +44 -0
  769. package/ds-canonical/hooks/tests/test_check_layout_space_canonical.sh +73 -0
  770. package/ds-canonical/hooks/tests/test_check_layout_space_magic_numbers.sh +206 -0
  771. package/ds-canonical/hooks/tests/test_check_main_branch_workbench.sh +147 -0
  772. package/ds-canonical/hooks/tests/test_check_naming_and_abstraction.sh +136 -0
  773. package/ds-canonical/hooks/tests/test_check_opacity_token_usage.sh +110 -0
  774. package/ds-canonical/hooks/tests/test_check_orphan_ds_css.sh +212 -0
  775. package/ds-canonical/hooks/tests/test_check_overlay_handcraft.sh +126 -0
  776. package/ds-canonical/hooks/tests/test_check_overlay_open_focus_escape_probe.sh +191 -0
  777. package/ds-canonical/hooks/tests/test_check_pattern_invariants.sh +148 -0
  778. package/ds-canonical/hooks/tests/test_check_peoplepicker_ssot_drift.sh +108 -0
  779. package/ds-canonical/hooks/tests/test_check_person_data_richness.sh +58 -0
  780. package/ds-canonical/hooks/tests/test_check_pixel_quantified_audit.sh +142 -0
  781. package/ds-canonical/hooks/tests/test_check_plugin_fork_health.sh +9 -0
  782. package/ds-canonical/hooks/tests/test_check_propose_cite_required.sh +181 -0
  783. package/ds-canonical/hooks/tests/test_check_propose_discipline.sh +10 -0
  784. package/ds-canonical/hooks/tests/test_check_propose_plain_chinese.sh +127 -0
  785. package/ds-canonical/hooks/tests/test_check_propose_pre_grep_verify.sh +117 -0
  786. package/ds-canonical/hooks/tests/test_check_propose_without_benchmark.sh +55 -0
  787. package/ds-canonical/hooks/tests/test_check_select_all_canonical.sh +125 -0
  788. package/ds-canonical/hooks/tests/test_check_sidebar_menu_button_implicit_wrap.sh +224 -0
  789. package/ds-canonical/hooks/tests/test_check_solo_workflow.sh +201 -0
  790. package/ds-canonical/hooks/tests/test_check_spec_class_drift.sh +135 -0
  791. package/ds-canonical/hooks/tests/test_check_story_anatomy.sh.broken +197 -0
  792. package/ds-canonical/hooks/tests/test_check_story_category.sh.broken +187 -0
  793. package/ds-canonical/hooks/tests/test_check_story_compile_drift.sh +15 -0
  794. package/ds-canonical/hooks/tests/test_check_story_invariants.sh +384 -0
  795. package/ds-canonical/hooks/tests/test_check_story_name_jargon.sh.broken +53 -0
  796. package/ds-canonical/hooks/tests/test_check_story_slot_split.sh +156 -0
  797. package/ds-canonical/hooks/tests/test_check_storybook_addon_packaging.sh +10 -0
  798. package/ds-canonical/hooks/tests/test_check_storybook_addon_preset_cjs.sh +200 -0
  799. package/ds-canonical/hooks/tests/test_check_substantive_edit_approval_preflight.sh +176 -0
  800. package/ds-canonical/hooks/tests/test_check_tab_lg_chrome_header_equal.sh +141 -0
  801. package/ds-canonical/hooks/tests/test_check_tailwind_wildcard_in_docs.sh +182 -0
  802. package/ds-canonical/hooks/tests/test_check_token_hygiene.sh +21 -0
  803. package/ds-canonical/hooks/tests/test_check_wrapper_primitive_schema_drift.sh +169 -0
  804. package/ds-canonical/hooks/tests/test_enforce_home_charter.sh +77 -0
  805. package/ds-canonical/hooks/tests/test_inject_deploy_url_after_push.sh +193 -0
  806. package/ds-canonical/hooks/tests/test_inject_pending_self_audit.sh +125 -0
  807. package/ds-canonical/hooks/tests/test_log_governance_fires.sh +10 -0
  808. package/ds-canonical/hooks/tests/test_log_skill_invokes.sh +7 -0
  809. package/ds-canonical/hooks/tests/test_post_edit_dispatcher.sh +108 -0
  810. package/ds-canonical/hooks/tests/test_session_start_governance_check.sh +154 -0
  811. package/ds-canonical/hooks/tests/test_stop_capture_metrics.sh +95 -0
  812. package/ds-canonical/hooks/tests/test_stop_governance_drift_check.sh.broken +125 -0
  813. package/ds-canonical/hooks/tests/test_stop_harvest_corrections.sh +10 -0
  814. package/ds-canonical/hooks/tests/test_stop_passive_logging.sh +100 -0
  815. package/ds-canonical/hooks/tests/test_stop_self_audit.sh +98 -0
  816. package/ds-canonical/hooks/tests/test_stop_tsc_sanity.sh +10 -0
  817. package/ds-canonical/references/README.md +46 -0
  818. package/ds-canonical/references/audit-coverage-vs-24-checklist.md +74 -0
  819. package/ds-canonical/references/build-ui-canonicals.md +72 -0
  820. package/ds-canonical/references/composition-fidelity.md +47 -0
  821. package/ds-canonical/references/cva-patterns.md +41 -0
  822. package/ds-canonical/references/drag-canonical.md +331 -0
  823. package/ds-canonical/references/item-anatomy-recipe.md +225 -0
  824. package/ds-canonical/references/naming-conventions.md +57 -0
  825. package/ds-canonical/references/principle-dim-map.json +513 -0
  826. package/ds-canonical/references/props-naming.md +59 -0
  827. package/ds-canonical/references/scenario-definition.md +146 -0
  828. package/ds-canonical/references/spec-rules.md +58 -0
  829. package/ds-canonical/references/ssot-consultation.md +63 -0
  830. package/ds-canonical/references/ssot-index.md +40 -0
  831. package/ds-canonical/references/story-baseline-registry.json +107 -0
  832. package/ds-canonical/references/structural-token-retention.md +42 -0
  833. package/ds-canonical/references/tailwind-gotchas.md +87 -0
  834. package/ds-canonical/references/ui-dev-rules.md +81 -0
  835. package/ds-canonical/rules/README.md +34 -0
  836. package/ds-canonical/rules/meta-patterns.md +87 -0
  837. package/ds-canonical/rules/self-verify.md +56 -0
  838. package/ds-canonical/rules/spec-rules.md +25 -0
  839. package/ds-canonical/rules/story-rules.md +67 -0
  840. package/ds-canonical/rules/ui-development.md +92 -0
  841. package/ds-canonical/skills/README.md +88 -0
  842. package/ds-canonical/skills/bug-fix-rhythm/SKILL.md +181 -0
  843. package/ds-canonical/skills/code-quality-audit/SKILL.md +63 -0
  844. package/ds-canonical/skills/codex-collab/SKILL.md +249 -0
  845. package/ds-canonical/skills/codex-collab/references/brief-template.md +48 -0
  846. package/ds-canonical/skills/codex-collab/references/transport.md +58 -0
  847. package/ds-canonical/skills/codify-corrections/SKILL.md +184 -0
  848. package/ds-canonical/skills/codify-principle/SKILL.md +151 -0
  849. package/ds-canonical/skills/component-quality-gate/SKILL.md +102 -0
  850. package/ds-canonical/skills/component-quality-gate/references/checklist.md +79 -0
  851. package/ds-canonical/skills/deep-audit-cross-codex/SKILL.md +254 -0
  852. package/ds-canonical/skills/deep-audit-cross-codex/references/phase-a-workflow.md +123 -0
  853. package/ds-canonical/skills/deep-audit-cross-codex/references/phase-b-codex-brief.md +186 -0
  854. package/ds-canonical/skills/deep-audit-cross-codex/references/skill-relationships-antipatterns-benchmarks.md +30 -0
  855. package/ds-canonical/skills/deep-audit-cross-codex/references/triage-rubric.md +69 -0
  856. package/ds-canonical/skills/deep-audit-cross-codex/references/upstream-directives-r-mapping.md +33 -0
  857. package/ds-canonical/skills/delivery-handoff/SKILL.md +229 -0
  858. package/ds-canonical/skills/delivery-handoff/references/flow-diagram.md +180 -0
  859. package/ds-canonical/skills/delivery-handoff/references/handoff-template.md +177 -0
  860. package/ds-canonical/skills/delivery-handoff/references/inventory-checklist.md +196 -0
  861. package/ds-canonical/skills/design-system-audit/SKILL.md +386 -0
  862. package/ds-canonical/skills/design-system-audit/references/audit-prompts.md +1325 -0
  863. package/ds-canonical/skills/design-system-audit/references/checkpoints.md +240 -0
  864. package/ds-canonical/skills/design-system-audit/references/historical-bugs.md +240 -0
  865. package/ds-canonical/skills/design-system-audit/references/principle-audit-protocol.md +378 -0
  866. package/ds-canonical/skills/design-system-audit/references/rule-placement.md +175 -0
  867. package/ds-canonical/skills/ensure-canonical/SKILL.md +196 -0
  868. package/ds-canonical/skills/governance-health/SKILL.md +147 -0
  869. package/ds-canonical/skills/knowledge-prune/SKILL.md +250 -0
  870. package/ds-canonical/skills/knowledge-prune/references/phase-z-cross-repo-ssot-propagation.md +11 -0
  871. package/ds-canonical/skills/knowledge-prune/references/prune-dimensions-d5-d10.md +55 -0
  872. package/ds-canonical/skills/knowledge-prune/references/world-class-prune-alignment.md +7 -0
  873. package/ds-canonical/skills/new-component/SKILL.md +170 -0
  874. package/ds-canonical/skills/new-component/references/new-component-checklist.md +85 -0
  875. package/ds-canonical/skills/performance-audit/SKILL.md +107 -0
  876. package/ds-canonical/skills/product-ui-audit/SKILL.md +230 -0
  877. package/ds-canonical/skills/product-ui-audit/references/audit-checks.md +246 -0
  878. package/ds-canonical/skills/product-ui-audit/references/common-misuses.md +329 -0
  879. package/ds-canonical/skills/product-ui-audit/references/report-template.md +159 -0
  880. package/ds-canonical/skills/propose-options/SKILL.md +177 -0
  881. package/ds-canonical/skills/prototype/SKILL.md +244 -0
  882. package/ds-canonical/skills/prototype/references/audit-checks.md +37 -0
  883. package/ds-canonical/skills/prototype/references/benchmark-sources.md +94 -0
  884. package/ds-canonical/skills/prototype/references/checkpoints.md +191 -0
  885. package/ds-canonical/skills/prototype/references/evaluation-matrix.md +141 -0
  886. package/ds-canonical/skills/prototype/references/ooux-template.md +198 -0
  887. package/ds-canonical/skills/prototype/references/proposal-template.md +229 -0
  888. package/ds-canonical/skills/scan-similar-bugs/SKILL.md +198 -0
  889. package/ds-canonical/skills/story-auto-compile-migrate/SKILL.md +159 -0
  890. package/ds-canonical/skills/story-writing/SKILL.md +122 -0
  891. package/ds-canonical/skills/story-writing/references/anatomy-standard.md +217 -0
  892. package/ds-canonical/skills/story-writing/references/category-templates.md +174 -0
  893. package/ds-canonical/skills/story-writing/references/example-selection.md +70 -0
  894. package/ds-canonical/skills/story-writing/references/self-check.md +20 -0
  895. package/ds-canonical/skills/ux-audit/SKILL.md +130 -0
  896. package/ds-canonical/skills/visual-audit/SKILL.md +245 -0
  897. package/ds-canonical/skills/visual-audit/output/.gitkeep +0 -0
  898. package/ds-canonical/skills/visual-audit/references/audit-architecture.md +100 -0
  899. package/ds-canonical/skills/visual-audit/references/visual-checklist.md +297 -0
  900. package/ds-canonical/skills/visual-audit/references/world-class-benchmarks.md +198 -0
  901. package/ds-canonical/templates/_README.md +23 -0
  902. package/ds-canonical/templates/dashboard-app.tsx +161 -0
  903. package/ds-story-manifest.json +1684 -0
  904. package/llms-full.txt +414 -0
  905. package/llms.txt +70 -0
  906. package/package.json +31 -8
  907. package/src/components/Accordion/accordion.anatomy.stories.tsx +496 -0
  908. package/src/components/Accordion/accordion.principles.stories.tsx +360 -0
  909. package/src/components/Accordion/accordion.spec.md +131 -0
  910. package/src/components/Accordion/accordion.stories.tsx +190 -0
  911. package/src/components/Accordion/accordion.tsx +4 -1
  912. package/src/components/Accordion/index.ts +5 -0
  913. package/src/components/Alert/alert.anatomy.stories.tsx +238 -0
  914. package/src/components/Alert/alert.principles.stories.tsx +220 -0
  915. package/src/components/Alert/alert.spec.md +202 -0
  916. package/src/components/Alert/alert.stories.tsx +139 -0
  917. package/src/components/Alert/alert.tsx +9 -6
  918. package/src/components/Alert/index.ts +5 -0
  919. package/src/components/AppShell/_demo-helpers.tsx +87 -11
  920. package/src/components/AppShell/app-shell.anatomy.stories.tsx +176 -0
  921. package/src/components/AppShell/app-shell.principles.stories.tsx +140 -0
  922. package/src/components/AppShell/app-shell.spec.md +357 -0
  923. package/src/components/AppShell/app-shell.stories.tsx +442 -0
  924. package/src/components/AppShell/app-shell.tsx +15 -9
  925. package/src/components/AppShell/index.ts +5 -0
  926. package/src/components/AspectRatio/aspect-ratio.anatomy.stories.tsx +208 -0
  927. package/src/components/AspectRatio/aspect-ratio.principles.stories.tsx +303 -0
  928. package/src/components/AspectRatio/aspect-ratio.spec.md +148 -0
  929. package/src/components/AspectRatio/aspect-ratio.stories.tsx +170 -0
  930. package/src/components/AspectRatio/aspect-ratio.tsx +4 -2
  931. package/src/components/AspectRatio/index.ts +5 -0
  932. package/src/components/Avatar/avatar.anatomy.stories.tsx +701 -0
  933. package/src/components/Avatar/avatar.principles.stories.tsx +245 -0
  934. package/src/components/Avatar/avatar.spec.md +312 -0
  935. package/src/components/Avatar/avatar.stories.tsx +135 -0
  936. package/src/components/Avatar/avatar.tsx +45 -46
  937. package/src/components/Avatar/index.ts +5 -0
  938. package/src/components/Badge/badge.anatomy.stories.tsx +591 -0
  939. package/src/components/Badge/badge.principles.stories.tsx +391 -0
  940. package/src/components/Badge/badge.spec.md +398 -0
  941. package/src/components/Badge/badge.stories.tsx +80 -0
  942. package/src/components/Badge/badge.tsx +34 -13
  943. package/src/components/Badge/index.ts +5 -0
  944. package/src/components/Breadcrumb/breadcrumb.anatomy.stories.tsx +458 -0
  945. package/src/components/Breadcrumb/breadcrumb.principles.stories.tsx +343 -0
  946. package/src/components/Breadcrumb/breadcrumb.spec.md +268 -0
  947. package/src/components/Breadcrumb/breadcrumb.stories.tsx +307 -0
  948. package/src/components/Breadcrumb/breadcrumb.tsx +2 -2
  949. package/src/components/Breadcrumb/index.ts +5 -0
  950. package/src/components/BulkActionBar/bulk-action-bar.anatomy.stories.tsx +224 -0
  951. package/src/components/BulkActionBar/bulk-action-bar.principles.stories.tsx +242 -0
  952. package/src/components/BulkActionBar/bulk-action-bar.spec.md +226 -0
  953. package/src/components/BulkActionBar/bulk-action-bar.stories.tsx +136 -0
  954. package/src/components/BulkActionBar/bulk-action-bar.tsx +13 -11
  955. package/src/components/BulkActionBar/index.ts +5 -0
  956. package/src/components/Button/button.anatomy.stories.tsx +710 -0
  957. package/src/components/Button/button.principles.stories.tsx +370 -0
  958. package/src/components/Button/button.spec.md +463 -0
  959. package/src/components/Button/button.stories.tsx +362 -0
  960. package/src/components/Button/button.tsx +25 -28
  961. package/src/components/Button/index.ts +5 -0
  962. package/src/components/Calendar/calendar.anatomy.stories.tsx +218 -0
  963. package/src/components/Calendar/calendar.principles.stories.tsx +143 -0
  964. package/src/components/Calendar/calendar.spec.md +264 -0
  965. package/src/components/Calendar/calendar.stories.tsx +88 -0
  966. package/src/components/Calendar/calendar.tsx +54 -40
  967. package/src/components/Calendar/index.ts +5 -0
  968. package/src/components/Carousel/carousel.anatomy.stories.tsx +516 -0
  969. package/src/components/Carousel/carousel.principles.stories.tsx +330 -0
  970. package/src/components/Carousel/carousel.spec.md +273 -0
  971. package/src/components/Carousel/carousel.stories.tsx +121 -0
  972. package/src/components/Carousel/carousel.tsx +26 -7
  973. package/src/components/Carousel/index.ts +5 -0
  974. package/src/components/Chart/chart.anatomy.stories.tsx +307 -0
  975. package/src/components/Chart/chart.principles.stories.tsx +436 -0
  976. package/src/components/Chart/chart.spec.md +174 -0
  977. package/src/components/Chart/chart.stories.tsx +268 -0
  978. package/src/components/Chart/chart.tsx +5 -2
  979. package/src/components/Chart/index.ts +5 -0
  980. package/src/components/Checkbox/checkbox-group.tsx +2 -1
  981. package/src/components/Checkbox/checkbox.anatomy.stories.tsx +626 -0
  982. package/src/components/Checkbox/checkbox.principles.stories.tsx +216 -0
  983. package/src/components/Checkbox/checkbox.spec.md +372 -0
  984. package/src/components/Checkbox/checkbox.stories.tsx +114 -0
  985. package/src/components/Checkbox/checkbox.tsx +80 -22
  986. package/src/components/Checkbox/index.ts +5 -0
  987. package/src/components/Chip/chip.anatomy.stories.tsx +422 -0
  988. package/src/components/Chip/chip.principles.stories.tsx +228 -0
  989. package/src/components/Chip/chip.spec.md +237 -0
  990. package/src/components/Chip/chip.stories.tsx +88 -0
  991. package/src/components/Chip/chip.tsx +6 -6
  992. package/src/components/Chip/index.ts +5 -0
  993. package/src/components/CircularProgress/circular-progress.anatomy.stories.tsx +176 -0
  994. package/src/components/CircularProgress/circular-progress.principles.stories.tsx +258 -0
  995. package/src/components/CircularProgress/circular-progress.spec.md +267 -0
  996. package/src/components/CircularProgress/circular-progress.stories.tsx +153 -0
  997. package/src/components/CircularProgress/circular-progress.tsx +4 -5
  998. package/src/components/CircularProgress/index.ts +5 -0
  999. package/src/components/Coachmark/coachmark-story-helpers.tsx +39 -0
  1000. package/src/components/Coachmark/coachmark.anatomy.stories.tsx +356 -0
  1001. package/src/components/Coachmark/coachmark.principles.stories.tsx +355 -0
  1002. package/src/components/Coachmark/coachmark.spec.md +238 -0
  1003. package/src/components/Coachmark/coachmark.stories.tsx +214 -0
  1004. package/src/components/Coachmark/coachmark.tsx +16 -7
  1005. package/src/components/Coachmark/index.ts +5 -0
  1006. package/src/components/Combobox/combobox.anatomy.stories.tsx +919 -0
  1007. package/src/components/Combobox/combobox.principles.stories.tsx +239 -0
  1008. package/src/components/Combobox/combobox.spec.md +202 -0
  1009. package/src/components/Combobox/combobox.stories.tsx +184 -0
  1010. package/src/components/Combobox/combobox.tsx +86 -39
  1011. package/src/components/Combobox/index.ts +5 -0
  1012. package/src/components/Command/command.anatomy.stories.tsx +107 -0
  1013. package/src/components/Command/command.principles.stories.tsx +88 -0
  1014. package/src/components/Command/command.spec.md +181 -0
  1015. package/src/components/Command/command.stories.tsx +280 -0
  1016. package/src/components/Command/command.tsx +13 -8
  1017. package/src/components/Command/index.ts +5 -0
  1018. package/src/components/DataTable/cell-registry.tsx +19 -6
  1019. package/src/components/DataTable/data-table-filter-panel.tsx +8 -8
  1020. package/src/components/DataTable/data-table-sort-manager.tsx +4 -4
  1021. package/src/components/DataTable/data-table.anatomy.stories.tsx +519 -0
  1022. package/src/components/DataTable/data-table.css +1 -1
  1023. package/src/components/DataTable/data-table.principles.stories.tsx +265 -0
  1024. package/src/components/DataTable/data-table.spec.md +540 -0
  1025. package/src/components/DataTable/data-table.stories.tsx +1941 -0
  1026. package/src/components/DataTable/data-table.tsx +121 -53
  1027. package/src/components/DataTable/filter-operators.spec.md +267 -0
  1028. package/src/components/DataTable/filter-operators.ts +1 -1
  1029. package/src/components/DataTable/filter-tree.ts +2 -2
  1030. package/src/components/DataTable/index.ts +5 -0
  1031. package/src/components/DateGrid/date-grid.anatomy.stories.tsx +583 -0
  1032. package/src/components/DateGrid/date-grid.principles.stories.tsx +338 -0
  1033. package/src/components/DateGrid/date-grid.spec.md +218 -0
  1034. package/src/components/DateGrid/date-grid.stories.tsx +195 -0
  1035. package/src/components/DateGrid/date-grid.tsx +22 -18
  1036. package/src/components/DateGrid/index.ts +5 -0
  1037. package/src/components/DatePicker/date-picker.anatomy.stories.tsx +952 -0
  1038. package/src/components/DatePicker/date-picker.principles.stories.tsx +205 -0
  1039. package/src/components/DatePicker/date-picker.spec.md +337 -0
  1040. package/src/components/DatePicker/date-picker.stories.tsx +323 -0
  1041. package/src/components/DatePicker/date-picker.tsx +46 -22
  1042. package/src/components/DatePicker/index.ts +5 -0
  1043. package/src/components/DescriptionList/description-list.anatomy.stories.tsx +252 -0
  1044. package/src/components/DescriptionList/description-list.principles.stories.tsx +309 -0
  1045. package/src/components/DescriptionList/description-list.spec.md +220 -0
  1046. package/src/components/DescriptionList/description-list.stories.tsx +112 -0
  1047. package/src/components/DescriptionList/description-list.tsx +3 -3
  1048. package/src/components/DescriptionList/index.ts +5 -0
  1049. package/src/components/Dialog/dialog.anatomy.stories.tsx +484 -0
  1050. package/src/components/Dialog/dialog.principles.stories.tsx +313 -0
  1051. package/src/components/Dialog/dialog.spec.md +216 -0
  1052. package/src/components/Dialog/dialog.stories.tsx +483 -0
  1053. package/src/components/Dialog/dialog.tsx +9 -9
  1054. package/src/components/Dialog/index.ts +5 -0
  1055. package/src/components/DropdownMenu/dropdown-menu.anatomy.stories.tsx +969 -0
  1056. package/src/components/DropdownMenu/dropdown-menu.principles.stories.tsx +339 -0
  1057. package/src/components/DropdownMenu/dropdown-menu.spec.md +260 -0
  1058. package/src/components/DropdownMenu/dropdown-menu.stories.tsx +286 -0
  1059. package/src/components/DropdownMenu/dropdown-menu.tsx +29 -7
  1060. package/src/components/DropdownMenu/index.ts +5 -0
  1061. package/src/components/Empty/empty.anatomy.stories.tsx +275 -0
  1062. package/src/components/Empty/empty.principles.stories.tsx +314 -0
  1063. package/src/components/Empty/empty.spec.md +216 -0
  1064. package/src/components/Empty/empty.stories.tsx +80 -0
  1065. package/src/components/Empty/empty.tsx +16 -7
  1066. package/src/components/Empty/index.ts +5 -0
  1067. package/src/components/Field/field-context.ts +98 -0
  1068. package/src/components/Field/field-controls.spec.md +382 -0
  1069. package/src/components/Field/field-types.ts +1 -1
  1070. package/src/components/Field/field-wrapper.tsx +6 -6
  1071. package/src/components/Field/field.anatomy.stories.tsx +544 -0
  1072. package/src/components/Field/field.principles.stories.tsx +278 -0
  1073. package/src/components/Field/field.spec.md +460 -0
  1074. package/src/components/Field/field.stories.tsx +716 -0
  1075. package/src/components/Field/field.tsx +12 -5
  1076. package/src/components/Field/form-validation.spec.md +172 -0
  1077. package/src/components/Field/index.ts +5 -0
  1078. package/src/components/Field/use-form-validation.ts +242 -0
  1079. package/src/components/FieldControlGroup/field-control-group.anatomy.stories.tsx +118 -0
  1080. package/src/components/FieldControlGroup/field-control-group.principles.stories.tsx +121 -0
  1081. package/src/components/FieldControlGroup/field-control-group.spec.md +195 -0
  1082. package/src/components/FieldControlGroup/field-control-group.stories.tsx +161 -0
  1083. package/src/components/FieldControlGroup/field-control-group.tsx +9 -8
  1084. package/src/components/FieldControlGroup/index.ts +5 -0
  1085. package/src/components/FileItem/file-item.anatomy.stories.tsx +344 -0
  1086. package/src/components/FileItem/file-item.principles.stories.tsx +276 -0
  1087. package/src/components/FileItem/file-item.spec.md +491 -0
  1088. package/src/components/FileItem/file-item.stories.tsx +265 -0
  1089. package/src/components/FileItem/file-item.tsx +37 -13
  1090. package/src/components/FileItem/index.ts +5 -0
  1091. package/src/components/FileUpload/file-upload.anatomy.stories.tsx +446 -0
  1092. package/src/components/FileUpload/file-upload.principles.stories.tsx +312 -0
  1093. package/src/components/FileUpload/file-upload.spec.md +163 -0
  1094. package/src/components/FileUpload/file-upload.stories.tsx +167 -0
  1095. package/src/components/FileUpload/file-upload.tsx +78 -27
  1096. package/src/components/FileUpload/index.ts +5 -0
  1097. package/src/components/FileViewer/file-viewer.anatomy.stories.tsx +1127 -0
  1098. package/src/components/FileViewer/file-viewer.principles.stories.tsx +636 -0
  1099. package/src/components/FileViewer/file-viewer.spec.md +368 -0
  1100. package/src/components/FileViewer/file-viewer.stories.tsx +407 -0
  1101. package/src/components/FileViewer/file-viewer.tsx +58 -28
  1102. package/src/components/FileViewer/index.ts +5 -0
  1103. package/src/components/HoverCard/hover-card.anatomy.stories.tsx +145 -0
  1104. package/src/components/HoverCard/hover-card.principles.stories.tsx +222 -0
  1105. package/src/components/HoverCard/hover-card.spec.md +167 -0
  1106. package/src/components/HoverCard/hover-card.stories.tsx +304 -0
  1107. package/src/components/HoverCard/hover-card.tsx +15 -4
  1108. package/src/components/HoverCard/index.ts +5 -0
  1109. package/src/components/Input/index.ts +5 -0
  1110. package/src/components/Input/input.anatomy.stories.tsx +763 -0
  1111. package/src/components/Input/input.principles.stories.tsx +265 -0
  1112. package/src/components/Input/input.spec.md +207 -0
  1113. package/src/components/Input/input.stories.tsx +133 -0
  1114. package/src/components/Input/input.tsx +17 -14
  1115. package/src/components/LinkInput/index.ts +5 -0
  1116. package/src/components/LinkInput/link-input.anatomy.stories.tsx +746 -0
  1117. package/src/components/LinkInput/link-input.principles.stories.tsx +182 -0
  1118. package/src/components/LinkInput/link-input.spec.md +144 -0
  1119. package/src/components/LinkInput/link-input.stories.tsx +132 -0
  1120. package/src/components/LinkInput/link-input.tsx +9 -8
  1121. package/src/components/Menu/index.ts +5 -0
  1122. package/src/components/Menu/menu-item.anatomy.stories.tsx +780 -0
  1123. package/src/components/Menu/menu-item.principles.stories.tsx +81 -0
  1124. package/src/components/Menu/menu-item.spec.md +304 -0
  1125. package/src/components/Menu/menu-item.stories.tsx +214 -0
  1126. package/src/components/Menu/menu-item.tsx +8 -3
  1127. package/src/components/Notice/index.ts +5 -0
  1128. package/src/components/Notice/notice.anatomy.stories.tsx +610 -0
  1129. package/src/components/Notice/notice.principles.stories.tsx +102 -0
  1130. package/src/components/Notice/notice.spec.md +158 -0
  1131. package/src/components/Notice/notice.stories.tsx +257 -0
  1132. package/src/components/Notice/notice.tsx +26 -10
  1133. package/src/components/NumberInput/index.ts +5 -0
  1134. package/src/components/NumberInput/number-input.anatomy.stories.tsx +787 -0
  1135. package/src/components/NumberInput/number-input.principles.stories.tsx +199 -0
  1136. package/src/components/NumberInput/number-input.spec.md +144 -0
  1137. package/src/components/NumberInput/number-input.stories.tsx +142 -0
  1138. package/src/components/NumberInput/number-input.tsx +9 -10
  1139. package/src/components/OverflowIndicator/index.ts +5 -0
  1140. package/src/components/OverflowIndicator/overflow-indicator.anatomy.stories.tsx +549 -0
  1141. package/src/components/OverflowIndicator/overflow-indicator.principles.stories.tsx +77 -0
  1142. package/src/components/OverflowIndicator/overflow-indicator.spec.md +127 -0
  1143. package/src/components/OverflowIndicator/overflow-indicator.stories.tsx +238 -0
  1144. package/src/components/OverflowIndicator/overflow-indicator.tsx +19 -6
  1145. package/src/components/PeoplePicker/index.ts +5 -0
  1146. package/src/components/PeoplePicker/people-picker-helpers.ts +5 -5
  1147. package/src/components/PeoplePicker/people-picker.anatomy.stories.tsx +427 -0
  1148. package/src/components/PeoplePicker/people-picker.principles.stories.tsx +192 -0
  1149. package/src/components/PeoplePicker/people-picker.spec.md +292 -0
  1150. package/src/components/PeoplePicker/people-picker.stories.tsx +162 -0
  1151. package/src/components/PeoplePicker/people-picker.tsx +31 -22
  1152. package/src/components/PeoplePicker/person-display.tsx +30 -29
  1153. package/src/components/Popover/index.ts +5 -0
  1154. package/src/components/Popover/popover.anatomy.stories.tsx +279 -0
  1155. package/src/components/Popover/popover.principles.stories.tsx +295 -0
  1156. package/src/components/Popover/popover.spec.md +209 -0
  1157. package/src/components/Popover/popover.stories.tsx +116 -0
  1158. package/src/components/Popover/popover.tsx +17 -14
  1159. package/src/components/ProfileCard/index.ts +5 -0
  1160. package/src/components/ProfileCard/profile-card.anatomy.stories.tsx +504 -0
  1161. package/src/components/ProfileCard/profile-card.principles.stories.tsx +225 -0
  1162. package/src/components/ProfileCard/profile-card.spec.md +191 -0
  1163. package/src/components/ProfileCard/profile-card.stories.tsx +53 -0
  1164. package/src/components/{NameCard/name-card.tsx → ProfileCard/profile-card.tsx} +36 -30
  1165. package/src/components/ProgressBar/index.ts +5 -0
  1166. package/src/components/ProgressBar/progress-bar.anatomy.stories.tsx +438 -0
  1167. package/src/components/ProgressBar/progress-bar.principles.stories.tsx +339 -0
  1168. package/src/components/ProgressBar/progress-bar.spec.md +240 -0
  1169. package/src/components/ProgressBar/progress-bar.stories.tsx +119 -0
  1170. package/src/components/ProgressBar/progress-bar.tsx +4 -4
  1171. package/src/components/RadioGroup/index.ts +5 -0
  1172. package/src/components/RadioGroup/radio-group.anatomy.stories.tsx +681 -0
  1173. package/src/components/RadioGroup/radio-group.principles.stories.tsx +163 -0
  1174. package/src/components/RadioGroup/radio-group.spec.md +149 -0
  1175. package/src/components/RadioGroup/radio-group.stories.tsx +101 -0
  1176. package/src/components/RadioGroup/radio-group.tsx +114 -57
  1177. package/src/components/Rating/index.ts +5 -0
  1178. package/src/components/Rating/rating.anatomy.stories.tsx +495 -0
  1179. package/src/components/Rating/rating.principles.stories.tsx +296 -0
  1180. package/src/components/Rating/rating.spec.md +214 -0
  1181. package/src/components/Rating/rating.stories.tsx +133 -0
  1182. package/src/components/Rating/rating.tsx +29 -14
  1183. package/src/components/ScrollArea/index.ts +5 -0
  1184. package/src/components/ScrollArea/scroll-area.anatomy.stories.tsx +451 -0
  1185. package/src/components/ScrollArea/scroll-area.principles.stories.tsx +331 -0
  1186. package/src/components/ScrollArea/scroll-area.spec.md +143 -0
  1187. package/src/components/ScrollArea/scroll-area.stories.tsx +243 -0
  1188. package/src/components/ScrollArea/scroll-area.tsx +2 -2
  1189. package/src/components/SegmentedControl/index.ts +5 -0
  1190. package/src/components/SegmentedControl/segmented-control.anatomy.stories.tsx +295 -0
  1191. package/src/components/SegmentedControl/segmented-control.principles.stories.tsx +281 -0
  1192. package/src/components/SegmentedControl/segmented-control.spec.md +297 -0
  1193. package/src/components/SegmentedControl/segmented-control.stories.tsx +33 -0
  1194. package/src/components/SegmentedControl/segmented-control.tsx +9 -10
  1195. package/src/components/Select/index.ts +5 -0
  1196. package/src/components/Select/select.anatomy.stories.tsx +828 -0
  1197. package/src/components/Select/select.principles.stories.tsx +311 -0
  1198. package/src/components/Select/select.spec.md +337 -0
  1199. package/src/components/Select/select.stories.tsx +198 -0
  1200. package/src/components/Select/select.tsx +37 -16
  1201. package/src/components/SelectMenu/index.ts +5 -0
  1202. package/src/components/SelectMenu/select-menu.anatomy.stories.tsx +812 -0
  1203. package/src/components/SelectMenu/select-menu.principles.stories.tsx +107 -0
  1204. package/src/components/SelectMenu/select-menu.spec.md +229 -0
  1205. package/src/components/SelectMenu/select-menu.stories.tsx +155 -0
  1206. package/src/components/SelectMenu/select-menu.tsx +34 -9
  1207. package/src/components/SelectionControl/index.ts +5 -0
  1208. package/src/components/SelectionControl/selection-item.anatomy.stories.tsx +571 -0
  1209. package/src/components/SelectionControl/selection-item.principles.stories.tsx +77 -0
  1210. package/src/components/SelectionControl/selection-item.spec.md +141 -0
  1211. package/src/components/SelectionControl/selection-item.stories.tsx +137 -0
  1212. package/src/components/SelectionControl/selection-item.tsx +8 -2
  1213. package/src/components/Separator/index.ts +5 -0
  1214. package/src/components/Separator/separator.anatomy.stories.tsx +125 -0
  1215. package/src/components/Separator/separator.principles.stories.tsx +141 -0
  1216. package/src/components/Separator/separator.spec.md +115 -0
  1217. package/src/components/Separator/separator.stories.tsx +127 -0
  1218. package/src/components/Separator/separator.tsx +2 -2
  1219. package/src/components/Sheet/index.ts +5 -0
  1220. package/src/components/Sheet/sheet.anatomy.stories.tsx +269 -0
  1221. package/src/components/Sheet/sheet.principles.stories.tsx +351 -0
  1222. package/src/components/Sheet/sheet.spec.md +146 -0
  1223. package/src/components/Sheet/sheet.stories.tsx +168 -0
  1224. package/src/components/Sheet/sheet.tsx +7 -6
  1225. package/src/components/Sidebar/index.ts +5 -0
  1226. package/src/components/Sidebar/sidebar.anatomy.stories.tsx +772 -0
  1227. package/src/components/Sidebar/sidebar.principles.stories.tsx +505 -0
  1228. package/src/components/Sidebar/sidebar.spec.md +724 -0
  1229. package/src/components/Sidebar/sidebar.stories.tsx +498 -0
  1230. package/src/components/Sidebar/sidebar.tsx +20 -9
  1231. package/src/components/Skeleton/index.ts +5 -0
  1232. package/src/components/Skeleton/skeleton.anatomy.stories.tsx +145 -0
  1233. package/src/components/Skeleton/skeleton.principles.stories.tsx +234 -0
  1234. package/src/components/Skeleton/skeleton.spec.md +106 -0
  1235. package/src/components/Skeleton/skeleton.stories.tsx +137 -0
  1236. package/src/components/Skeleton/skeleton.tsx +1 -1
  1237. package/src/components/Slider/index.ts +5 -0
  1238. package/src/components/Slider/slider.anatomy.stories.tsx +236 -0
  1239. package/src/components/Slider/slider.principles.stories.tsx +250 -0
  1240. package/src/components/Slider/slider.spec.md +358 -0
  1241. package/src/components/Slider/slider.stories.tsx +99 -0
  1242. package/src/components/Slider/slider.tsx +54 -16
  1243. package/src/components/Steps/index.ts +5 -0
  1244. package/src/components/Steps/steps.anatomy.stories.tsx +448 -0
  1245. package/src/components/Steps/steps.principles.stories.tsx +300 -0
  1246. package/src/components/Steps/steps.spec.md +479 -0
  1247. package/src/components/Steps/steps.stories.tsx +335 -0
  1248. package/src/components/Steps/steps.tsx +56 -26
  1249. package/src/components/Switch/index.ts +5 -0
  1250. package/src/components/Switch/switch.anatomy.stories.tsx +227 -0
  1251. package/src/components/Switch/switch.principles.stories.tsx +174 -0
  1252. package/src/components/Switch/switch.spec.md +238 -0
  1253. package/src/components/Switch/switch.stories.tsx +107 -0
  1254. package/src/components/Switch/switch.tsx +69 -32
  1255. package/src/components/Tabs/index.ts +5 -0
  1256. package/src/components/Tabs/tabs.anatomy.stories.tsx +414 -0
  1257. package/src/components/Tabs/tabs.principles.stories.tsx +257 -0
  1258. package/src/components/Tabs/tabs.spec.md +331 -0
  1259. package/src/components/Tabs/tabs.stories.tsx +155 -0
  1260. package/src/components/Tabs/tabs.tsx +17 -10
  1261. package/src/components/Tag/index.ts +5 -0
  1262. package/src/components/Tag/tag.anatomy.stories.tsx +664 -0
  1263. package/src/components/Tag/tag.principles.stories.tsx +270 -0
  1264. package/src/components/Tag/tag.spec.md +324 -0
  1265. package/src/components/Tag/tag.stories.tsx +69 -0
  1266. package/src/components/Tag/tag.tsx +55 -57
  1267. package/src/components/Textarea/index.ts +5 -0
  1268. package/src/components/Textarea/textarea.anatomy.stories.tsx +304 -0
  1269. package/src/components/Textarea/textarea.principles.stories.tsx +175 -0
  1270. package/src/components/Textarea/textarea.spec.md +162 -0
  1271. package/src/components/Textarea/textarea.stories.tsx +53 -0
  1272. package/src/components/Textarea/textarea.tsx +20 -18
  1273. package/src/components/TimePicker/index.ts +5 -0
  1274. package/src/components/TimePicker/time-columns.tsx +8 -1
  1275. package/src/components/TimePicker/time-picker.anatomy.stories.tsx +281 -0
  1276. package/src/components/TimePicker/time-picker.principles.stories.tsx +140 -0
  1277. package/src/components/TimePicker/time-picker.spec.md +290 -0
  1278. package/src/components/TimePicker/time-picker.stories.tsx +193 -0
  1279. package/src/components/TimePicker/time-picker.tsx +41 -23
  1280. package/src/components/Toast/index.ts +5 -0
  1281. package/src/components/Toast/toast.anatomy.stories.tsx +324 -0
  1282. package/src/components/Toast/toast.principles.stories.tsx +217 -0
  1283. package/src/components/Toast/toast.spec.md +181 -0
  1284. package/src/components/Toast/toast.stories.tsx +125 -0
  1285. package/src/components/Toast/toast.tsx +2 -2
  1286. package/src/components/Tooltip/index.ts +5 -0
  1287. package/src/components/Tooltip/tooltip.anatomy.stories.tsx +413 -0
  1288. package/src/components/Tooltip/tooltip.principles.stories.tsx +204 -0
  1289. package/src/components/Tooltip/tooltip.spec.md +142 -0
  1290. package/src/components/Tooltip/tooltip.stories.tsx +116 -0
  1291. package/src/components/Tooltip/tooltip.tsx +4 -1
  1292. package/src/components/TreeView/index.ts +5 -0
  1293. package/src/components/TreeView/tree-view.anatomy.stories.tsx +426 -0
  1294. package/src/components/TreeView/tree-view.principles.stories.tsx +190 -0
  1295. package/src/components/TreeView/tree-view.spec.md +390 -0
  1296. package/src/components/TreeView/tree-view.stories.tsx +299 -0
  1297. package/src/components/TreeView/tree-view.tsx +63 -26
  1298. package/src/hooks/use-overflow-items.ts +10 -6
  1299. package/src/index.ts +73 -69
  1300. package/src/lib/utils.ts +2 -1
  1301. package/src/patterns/README.md +15 -11
  1302. package/src/patterns/action-bar/action-bar.spec.md +465 -0
  1303. package/src/patterns/action-bar/action-bar.stories.tsx +612 -0
  1304. package/src/patterns/element-anatomy/element-anatomy.spec.md +217 -0
  1305. package/src/patterns/element-anatomy/index.ts +5 -0
  1306. package/src/patterns/element-anatomy/inline-action.spec.md +320 -0
  1307. package/src/patterns/element-anatomy/item-anatomy.spec.md +1051 -0
  1308. package/src/patterns/element-anatomy/item-anatomy.stories.tsx +1622 -0
  1309. package/src/patterns/element-anatomy/item-anatomy.tsx +9 -5
  1310. package/src/patterns/header-canonical/chrome-header.tsx +16 -5
  1311. package/src/patterns/header-canonical/header-canonical.css +2 -2
  1312. package/src/patterns/header-canonical/header-canonical.spec.md +326 -0
  1313. package/src/patterns/header-canonical/header-canonical.stories.tsx +150 -0
  1314. package/src/patterns/header-canonical/index.ts +5 -0
  1315. package/src/patterns/horizontal-overflow/horizontal-overflow.spec.md +211 -0
  1316. package/src/patterns/horizontal-overflow/index.ts +5 -0
  1317. package/src/patterns/overlay-surface/index.ts +5 -0
  1318. package/src/patterns/overlay-surface/overlay-surface.spec.md +442 -0
  1319. package/src/patterns/overlay-surface/overlay-surface.tsx +26 -11
  1320. package/src/patterns/resize-handle/index.ts +5 -0
  1321. package/src/patterns/resize-handle/resize-handle.spec.md +120 -0
  1322. package/src/patterns/resize-handle/resize-handle.stories.tsx +71 -0
  1323. package/src/story-governance/category-matrix.json +132 -0
  1324. package/src/story-governance/category-matrix.ts +55 -0
  1325. package/src/styles/base.css +92 -0
  1326. package/src/styles/tokens.css +11 -0
  1327. package/src/tokens/README.md +7 -2
  1328. package/src/tokens/categorical-color.ts +164 -0
  1329. package/src/tokens/color/color.spec.md +801 -0
  1330. package/src/tokens/color/color.stories.tsx +363 -0
  1331. package/src/tokens/color/primitives.css +7 -0
  1332. package/src/tokens/color/semantic.css +28 -13
  1333. package/src/tokens/density/density.spec.md +128 -0
  1334. package/src/tokens/density/density.stories.tsx +240 -0
  1335. package/src/tokens/elevation/elevation.spec.md +78 -0
  1336. package/src/tokens/elevation/elevation.stories.tsx +98 -0
  1337. package/src/tokens/layoutSpace/layoutSpace.css +1 -1
  1338. package/src/tokens/layoutSpace/layoutSpace.spec.md +324 -0
  1339. package/src/tokens/layoutSpace/layoutSpace.stories.tsx +75 -0
  1340. package/src/tokens/motion/motion.css +2 -2
  1341. package/src/tokens/motion/motion.spec.md +105 -0
  1342. package/src/tokens/motion/motion.ts +1 -1
  1343. package/src/tokens/opacity/opacity.spec.md +73 -0
  1344. package/src/tokens/opacity/opacity.stories.tsx +69 -0
  1345. package/src/tokens/orphan-tokens.spec.md +128 -0
  1346. package/src/tokens/radius/radius.spec.md +126 -0
  1347. package/src/tokens/radius/radius.stories.tsx +86 -0
  1348. package/src/tokens/token-system.spec.md +240 -0
  1349. package/src/tokens/typography/typography.spec.md +204 -0
  1350. package/src/tokens/typography/typography.stories.tsx +133 -0
  1351. package/src/tokens/uiSize/icon-size.ts +1 -2
  1352. package/src/tokens/uiSize/uiSize.css +21 -0
  1353. package/src/tokens/uiSize/uiSize.spec.md +465 -0
  1354. package/src/tokens/utility-registry.json +124 -0
  1355. package/dist/components/NameCard/name-card.d.ts.map +0 -1
  1356. package/dist/components/NameCard/name-card.js.map +0 -1
@@ -0,0 +1,1950 @@
1
+ import React__default from "react";
2
+ var isCheckBoxInput = (element) => element.type === "checkbox";
3
+ var isDateObject = (value) => value instanceof Date;
4
+ var isNullOrUndefined = (value) => value == null;
5
+ const isObjectType = (value) => typeof value === "object";
6
+ var isObject = (value) => !isNullOrUndefined(value) && !Array.isArray(value) && isObjectType(value) && !isDateObject(value);
7
+ var getEventValue = (event) => isObject(event) && event.target ? isCheckBoxInput(event.target) ? event.target.checked : event.target.value : event;
8
+ var isNameInFieldArray = (names, name) => name.split(".").some((part, index, arr) => !isNaN(Number(part)) && names.has(arr.slice(0, index).join(".")));
9
+ var isPlainObject = (tempObject) => {
10
+ const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;
11
+ return isObject(prototypeCopy) && prototypeCopy.hasOwnProperty("isPrototypeOf");
12
+ };
13
+ var isWeb = typeof window !== "undefined" && typeof window.HTMLElement !== "undefined" && typeof document !== "undefined";
14
+ function cloneObject(data) {
15
+ if (data instanceof Date) {
16
+ return new Date(data);
17
+ }
18
+ const isFileListInstance = typeof FileList !== "undefined" && data instanceof FileList;
19
+ if (isWeb && (data instanceof Blob || isFileListInstance)) {
20
+ return data;
21
+ }
22
+ const isArray = Array.isArray(data);
23
+ if (!isArray && !(isObject(data) && isPlainObject(data))) {
24
+ return data;
25
+ }
26
+ const copy = isArray ? [] : Object.create(Object.getPrototypeOf(data));
27
+ for (const key in data) {
28
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
29
+ copy[key] = cloneObject(data[key]);
30
+ }
31
+ }
32
+ return copy;
33
+ }
34
+ const EVENTS = {
35
+ BLUR: "blur",
36
+ FOCUS_OUT: "focusout",
37
+ SUBMIT: "submit",
38
+ TRIGGER: "trigger",
39
+ VALID: "valid"
40
+ };
41
+ const VALIDATION_MODE = {
42
+ onBlur: "onBlur",
43
+ onChange: "onChange",
44
+ onSubmit: "onSubmit",
45
+ onTouched: "onTouched",
46
+ all: "all"
47
+ };
48
+ const INPUT_VALIDATION_RULES = {
49
+ max: "max",
50
+ min: "min",
51
+ maxLength: "maxLength",
52
+ minLength: "minLength",
53
+ pattern: "pattern",
54
+ required: "required",
55
+ validate: "validate"
56
+ };
57
+ const ROOT_ERROR_TYPE = "root";
58
+ const PROTOTYPE_KEYWORDS = ["__proto__", "constructor", "prototype"];
59
+ const IS_KEY_RE = /^\w*$/;
60
+ var isKey = (value) => IS_KEY_RE.test(value);
61
+ var isUndefined = (val) => val === void 0;
62
+ const FIELD_PATH_RE = /[.[\]'"]/;
63
+ var stringToPath = (input) => input.split(FIELD_PATH_RE).filter(Boolean);
64
+ var get = (object, path, defaultValue) => {
65
+ if (!path || !isObject(object)) {
66
+ return defaultValue;
67
+ }
68
+ const paths = isKey(path) ? [path] : stringToPath(path);
69
+ if (paths.some((key) => PROTOTYPE_KEYWORDS.includes(key))) {
70
+ return defaultValue;
71
+ }
72
+ const result = paths.reduce((result2, key) => {
73
+ return isNullOrUndefined(result2) ? void 0 : result2[key];
74
+ }, object);
75
+ return isUndefined(result) || result === object ? isUndefined(object[path]) ? defaultValue : object[path] : result;
76
+ };
77
+ var isBoolean = (value) => typeof value === "boolean";
78
+ var isFunction = (value) => typeof value === "function";
79
+ var set = (object, path, value) => {
80
+ let index = -1;
81
+ const tempPath = isKey(path) ? [path] : stringToPath(path);
82
+ const length = tempPath.length;
83
+ const lastIndex = length - 1;
84
+ while (++index < length) {
85
+ const key = tempPath[index];
86
+ let newValue = value;
87
+ if (index !== lastIndex) {
88
+ const objValue = object[key];
89
+ newValue = isObject(objValue) || Array.isArray(objValue) ? objValue : !isNaN(+tempPath[index + 1]) ? [] : {};
90
+ }
91
+ if (PROTOTYPE_KEYWORDS.includes(key)) {
92
+ return;
93
+ }
94
+ object[key] = newValue;
95
+ object = object[key];
96
+ }
97
+ };
98
+ const HookFormControlContext = React__default.createContext(null);
99
+ HookFormControlContext.displayName = "HookFormControlContext";
100
+ var getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {
101
+ const result = {};
102
+ for (const key in formState) {
103
+ Object.defineProperty(result, key, {
104
+ get: () => {
105
+ const _key = key;
106
+ if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {
107
+ control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;
108
+ }
109
+ return formState[_key];
110
+ }
111
+ });
112
+ }
113
+ return result;
114
+ };
115
+ const useIsomorphicLayoutEffect = isWeb ? React__default.useLayoutEffect : React__default.useEffect;
116
+ var isString = (value) => typeof value === "string";
117
+ var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {
118
+ if (isString(names)) {
119
+ isGlobal && _names.watch.add(names);
120
+ return get(formValues, names, defaultValue);
121
+ }
122
+ if (Array.isArray(names)) {
123
+ return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));
124
+ }
125
+ isGlobal && (_names.watchAll = true);
126
+ return formValues;
127
+ };
128
+ var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
129
+ const isEmptyObjectWithCustomPrototype = (object, keys) => keys.length === 0 && !Array.isArray(object) && !isPlainObject(object);
130
+ function deepEqual(object1, object2, visited = /* @__PURE__ */ new WeakMap()) {
131
+ if (object1 === object2) {
132
+ return true;
133
+ }
134
+ if (isPrimitive(object1) || isPrimitive(object2)) {
135
+ return Object.is(object1, object2);
136
+ }
137
+ if (isDateObject(object1) && isDateObject(object2)) {
138
+ return Object.is(object1.getTime(), object2.getTime());
139
+ }
140
+ const keys1 = Object.keys(object1);
141
+ const keys2 = Object.keys(object2);
142
+ if (keys1.length !== keys2.length) {
143
+ return false;
144
+ }
145
+ if (isEmptyObjectWithCustomPrototype(object1, keys1) || isEmptyObjectWithCustomPrototype(object2, keys2)) {
146
+ return Object.is(object1, object2);
147
+ }
148
+ if (!keys1.length && Array.isArray(object1) !== Array.isArray(object2)) {
149
+ return false;
150
+ }
151
+ const visitedPairs = visited.get(object1);
152
+ if (visitedPairs && visitedPairs.has(object2)) {
153
+ return true;
154
+ }
155
+ if (visitedPairs) {
156
+ visitedPairs.add(object2);
157
+ } else {
158
+ const ws = /* @__PURE__ */ new WeakSet();
159
+ ws.add(object2);
160
+ visited.set(object1, ws);
161
+ }
162
+ for (const key of keys1) {
163
+ const val1 = object1[key];
164
+ if (!(key in object2)) {
165
+ return false;
166
+ }
167
+ if (key !== "ref") {
168
+ const val2 = object2[key];
169
+ if (isDateObject(val1) && isDateObject(val2) || (isObject(val1) || Array.isArray(val1)) && (isObject(val2) || Array.isArray(val2)) ? !deepEqual(val1, val2, visited) : !Object.is(val1, val2)) {
170
+ return false;
171
+ }
172
+ }
173
+ }
174
+ return true;
175
+ }
176
+ const HookFormContext = React__default.createContext(null);
177
+ HookFormContext.displayName = "HookFormContext";
178
+ var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria ? {
179
+ ...errors[name],
180
+ types: {
181
+ ...errors[name] && errors[name].types ? errors[name].types : {},
182
+ [type]: message || true
183
+ }
184
+ } : {};
185
+ var compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];
186
+ var convertToArrayPayload = (value) => Array.isArray(value) ? value : [value];
187
+ var createSubject = () => {
188
+ let _observers = [];
189
+ const next = (value) => {
190
+ for (const observer of _observers) {
191
+ observer.next && observer.next(value);
192
+ }
193
+ };
194
+ const subscribe = (observer) => {
195
+ _observers.push(observer);
196
+ return {
197
+ unsubscribe: () => {
198
+ _observers = _observers.filter((o) => o !== observer);
199
+ }
200
+ };
201
+ };
202
+ const unsubscribe = () => {
203
+ _observers = [];
204
+ };
205
+ return {
206
+ get observers() {
207
+ return _observers;
208
+ },
209
+ next,
210
+ subscribe,
211
+ unsubscribe
212
+ };
213
+ };
214
+ function extractFormValues(fieldsState, formValues) {
215
+ const values = {};
216
+ for (const key in fieldsState) {
217
+ if (fieldsState.hasOwnProperty(key)) {
218
+ const fieldState = fieldsState[key];
219
+ const fieldValue = formValues[key];
220
+ if (fieldState && isObject(fieldState) && fieldValue) {
221
+ const nestedFieldsState = extractFormValues(fieldState, fieldValue);
222
+ if (isObject(nestedFieldsState)) {
223
+ values[key] = nestedFieldsState;
224
+ }
225
+ } else if (fieldsState[key]) {
226
+ values[key] = fieldValue;
227
+ }
228
+ }
229
+ }
230
+ return values;
231
+ }
232
+ var isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;
233
+ var isFileInput = (element) => element.type === "file";
234
+ var isHTMLElement = (value) => {
235
+ if (!isWeb) {
236
+ return false;
237
+ }
238
+ const owner = value ? value.ownerDocument : 0;
239
+ return value instanceof (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement);
240
+ };
241
+ var isMultipleSelect = (element) => element.type === `select-multiple`;
242
+ var isRadioInput = (element) => element.type === "radio";
243
+ var isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);
244
+ var live = (ref) => isHTMLElement(ref) && ref.isConnected;
245
+ function baseGet(object, updatePath) {
246
+ const length = updatePath.slice(0, -1).length;
247
+ let index = 0;
248
+ while (index < length) {
249
+ if (isNullOrUndefined(object)) {
250
+ object = void 0;
251
+ break;
252
+ }
253
+ object = object[updatePath[index]];
254
+ index++;
255
+ }
256
+ return object;
257
+ }
258
+ function isEmptyArray(obj) {
259
+ for (const key in obj) {
260
+ if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {
261
+ return false;
262
+ }
263
+ }
264
+ return true;
265
+ }
266
+ function unset(object, path) {
267
+ if (isString(path) && Object.prototype.hasOwnProperty.call(object, path)) {
268
+ delete object[path];
269
+ return object;
270
+ }
271
+ const paths = Array.isArray(path) ? path : isKey(path) ? [path] : stringToPath(path);
272
+ const childObject = paths.length === 1 ? object : baseGet(object, paths);
273
+ const index = paths.length - 1;
274
+ const key = paths[index];
275
+ if (childObject) {
276
+ delete childObject[key];
277
+ }
278
+ if (index !== 0 && (isObject(childObject) && isEmptyObject(childObject) || Array.isArray(childObject) && isEmptyArray(childObject))) {
279
+ unset(object, paths.slice(0, -1));
280
+ }
281
+ return object;
282
+ }
283
+ var objectHasFunction = (data) => {
284
+ for (const key in data) {
285
+ if (isFunction(data[key])) {
286
+ return true;
287
+ }
288
+ }
289
+ return false;
290
+ };
291
+ function isTraversable(value) {
292
+ return Array.isArray(value) || isObject(value) && !objectHasFunction(value);
293
+ }
294
+ function markFieldsDirty(data, fields = {}) {
295
+ for (const key in data) {
296
+ const value = data[key];
297
+ if (isTraversable(value)) {
298
+ fields[key] = Array.isArray(value) ? [] : {};
299
+ markFieldsDirty(value, fields[key]);
300
+ } else if (!isUndefined(value)) {
301
+ fields[key] = true;
302
+ }
303
+ }
304
+ return fields;
305
+ }
306
+ function pruneDirtyFields(value) {
307
+ if (value === false) {
308
+ return void 0;
309
+ }
310
+ if (value === true) {
311
+ return true;
312
+ }
313
+ if (Array.isArray(value)) {
314
+ const result = value.map((value2) => pruneDirtyFields(value2));
315
+ return result.some((value2) => value2 !== void 0) ? result : void 0;
316
+ }
317
+ if (isObject(value)) {
318
+ const result = {};
319
+ for (const key in value) {
320
+ const pruned = pruneDirtyFields(value[key]);
321
+ if (!isUndefined(pruned)) {
322
+ result[key] = pruned;
323
+ }
324
+ }
325
+ return Object.keys(result).length ? result : void 0;
326
+ }
327
+ return void 0;
328
+ }
329
+ function getDirtyFields(data, formValues, dirtyFieldsFromValues) {
330
+ if (!dirtyFieldsFromValues) {
331
+ dirtyFieldsFromValues = markFieldsDirty(formValues);
332
+ }
333
+ for (const key in data) {
334
+ const value = data[key];
335
+ if (isTraversable(value)) {
336
+ if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {
337
+ dirtyFieldsFromValues[key] = markFieldsDirty(value, Array.isArray(value) ? [] : {});
338
+ } else {
339
+ getDirtyFields(value, isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
340
+ }
341
+ } else {
342
+ const formValue = formValues[key];
343
+ dirtyFieldsFromValues[key] = !deepEqual(value, formValue);
344
+ }
345
+ }
346
+ return pruneDirtyFields(dirtyFieldsFromValues) || {};
347
+ }
348
+ const defaultResult = {
349
+ value: false,
350
+ isValid: false
351
+ };
352
+ const validResult = { value: true, isValid: true };
353
+ var getCheckboxValue = (options) => {
354
+ if (Array.isArray(options)) {
355
+ if (options.length > 1) {
356
+ const values = options.filter((option) => option && option.checked && !option.disabled).map((option) => option.value);
357
+ return { value: values, isValid: !!values.length };
358
+ }
359
+ return options[0].checked && !options[0].disabled ? (
360
+ // @ts-expect-error expected to work in the browser
361
+ options[0].attributes && !isUndefined(options[0].attributes.value) ? isUndefined(options[0].value) || options[0].value === "" ? validResult : { value: options[0].value, isValid: true } : validResult
362
+ ) : defaultResult;
363
+ }
364
+ return defaultResult;
365
+ };
366
+ var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value) ? value : valueAsNumber ? value === "" ? NaN : value ? +value : value : valueAsDate && isString(value) ? new Date(value) : setValueAs ? setValueAs(value) : value;
367
+ const defaultReturn = {
368
+ isValid: false,
369
+ value: null
370
+ };
371
+ var getRadioValue = (options) => Array.isArray(options) ? options.reduce((previous, option) => option && option.checked && !option.disabled ? {
372
+ isValid: true,
373
+ value: option.value
374
+ } : previous, defaultReturn) : defaultReturn;
375
+ function getFieldValue(_f) {
376
+ const ref = _f.ref;
377
+ if (isFileInput(ref)) {
378
+ return ref.files;
379
+ }
380
+ if (isRadioInput(ref)) {
381
+ return getRadioValue(_f.refs).value;
382
+ }
383
+ if (isMultipleSelect(ref)) {
384
+ return [...ref.selectedOptions].map(({ value }) => value);
385
+ }
386
+ if (isCheckBoxInput(ref)) {
387
+ return getCheckboxValue(_f.refs).value;
388
+ }
389
+ return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);
390
+ }
391
+ var getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {
392
+ const fields = {};
393
+ for (const name of fieldsNames) {
394
+ const field = get(_fields, name);
395
+ field && set(fields, name, field._f);
396
+ }
397
+ return {
398
+ criteriaMode,
399
+ names: [...fieldsNames],
400
+ fields,
401
+ shouldUseNativeValidation
402
+ };
403
+ };
404
+ var isRegex = (value) => value instanceof RegExp;
405
+ var getRuleValue = (rule) => isUndefined(rule) ? rule : isRegex(rule) ? rule.source : isObject(rule) ? isRegex(rule.value) ? rule.value.source : rule.value : rule;
406
+ var getValidationModes = (mode) => ({
407
+ isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,
408
+ isOnBlur: mode === VALIDATION_MODE.onBlur,
409
+ isOnChange: mode === VALIDATION_MODE.onChange,
410
+ isOnAll: mode === VALIDATION_MODE.all,
411
+ isOnTouch: mode === VALIDATION_MODE.onTouched
412
+ });
413
+ const ASYNC_FUNCTION = "AsyncFunction";
414
+ var hasPromiseValidation = (fieldReference) => {
415
+ if (!fieldReference || !fieldReference.validate)
416
+ return false;
417
+ if (isFunction(fieldReference.validate)) {
418
+ return fieldReference.validate.constructor.name === ASYNC_FUNCTION;
419
+ }
420
+ if (isObject(fieldReference.validate)) {
421
+ for (const key in fieldReference.validate) {
422
+ if (fieldReference.validate[key].constructor.name === ASYNC_FUNCTION) {
423
+ return true;
424
+ }
425
+ }
426
+ }
427
+ return false;
428
+ };
429
+ var hasValidation = (options) => options.mount && (options.required || options.min || options.max || options.maxLength || options.minLength || options.pattern || options.validate);
430
+ var isWatched = (name, _names, isBlurEvent) => {
431
+ if (isBlurEvent)
432
+ return false;
433
+ if (_names.watchAll || _names.watch.has(name))
434
+ return true;
435
+ for (const watchName of _names.watch) {
436
+ if (name.startsWith(watchName) && name.charAt(watchName.length) === ".")
437
+ return true;
438
+ }
439
+ return false;
440
+ };
441
+ const iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {
442
+ for (const key of fieldsNames || Object.keys(fields)) {
443
+ const field = get(fields, key);
444
+ if (field) {
445
+ const { _f, ...currentField } = field;
446
+ if (_f) {
447
+ if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {
448
+ return true;
449
+ } else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {
450
+ return true;
451
+ } else {
452
+ if (iterateFieldsByAction(currentField, action)) {
453
+ break;
454
+ }
455
+ }
456
+ } else if (isObject(currentField)) {
457
+ if (iterateFieldsByAction(currentField, action)) {
458
+ break;
459
+ }
460
+ }
461
+ }
462
+ }
463
+ return;
464
+ };
465
+ function schemaErrorLookup(errors, _fields, name) {
466
+ const error = get(errors, name);
467
+ if (error || isKey(name)) {
468
+ return {
469
+ error,
470
+ name
471
+ };
472
+ }
473
+ const names = name.split(".");
474
+ while (names.length) {
475
+ const fieldName = names.join(".");
476
+ const field = get(_fields, fieldName);
477
+ const foundError = get(errors, fieldName);
478
+ if (field && !Array.isArray(field) && name !== fieldName) {
479
+ return { name };
480
+ }
481
+ if (foundError && foundError.type) {
482
+ return {
483
+ name: fieldName,
484
+ error: foundError
485
+ };
486
+ }
487
+ if (foundError && foundError.root && foundError.root.type) {
488
+ return {
489
+ name: `${fieldName}.root`,
490
+ error: foundError.root
491
+ };
492
+ }
493
+ names.pop();
494
+ }
495
+ return {
496
+ name
497
+ };
498
+ }
499
+ var shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {
500
+ updateFormState(formStateData);
501
+ const { name, ...formState } = formStateData;
502
+ const keys = Object.keys(formState);
503
+ return !keys.length || isRoot && keys.length >= Object.keys(_proxyFormState).length || keys.find((key) => _proxyFormState[key] === (!isRoot || VALIDATION_MODE.all));
504
+ };
505
+ var shouldSubscribeByName = (name, signalName, exact) => !name || !signalName || name === signalName || convertToArrayPayload(name).some((currentName) => currentName && (exact ? currentName === signalName : currentName.startsWith(signalName) || signalName.startsWith(currentName)));
506
+ var skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {
507
+ if (mode.isOnAll) {
508
+ return false;
509
+ } else if (!isSubmitted && mode.isOnTouch) {
510
+ return !(isTouched || isBlurEvent);
511
+ } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {
512
+ return !isBlurEvent;
513
+ } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {
514
+ return isBlurEvent;
515
+ }
516
+ return true;
517
+ };
518
+ var unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);
519
+ var updateFieldArrayRootError = (errors, error, name) => {
520
+ const existingErrors = get(errors, name);
521
+ const fieldArrayErrors = Array.isArray(existingErrors) ? existingErrors : [];
522
+ set(fieldArrayErrors, ROOT_ERROR_TYPE, error[name]);
523
+ set(errors, name, fieldArrayErrors);
524
+ return errors;
525
+ };
526
+ function getValidateError(result, ref, type = "validate") {
527
+ if (isString(result) || Array.isArray(result) && result.every(isString) || isBoolean(result) && !result) {
528
+ return {
529
+ type,
530
+ message: isString(result) ? result : "",
531
+ ref
532
+ };
533
+ }
534
+ }
535
+ var getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData) ? validationData : {
536
+ value: validationData,
537
+ message: ""
538
+ };
539
+ var validateField = async (field, disabledFieldNames, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {
540
+ const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount } = field._f;
541
+ const inputValue = get(formValues, name);
542
+ if (!mount || disabledFieldNames.has(name)) {
543
+ return {};
544
+ }
545
+ const inputRef = refs ? refs[0] : ref;
546
+ const setCustomValidity = (message) => {
547
+ if (shouldUseNativeValidation && inputRef.reportValidity) {
548
+ const validityMessage = isBoolean(message) ? "" : message || "";
549
+ if (refs) {
550
+ refs.forEach((ref2) => ref2.setCustomValidity(validityMessage));
551
+ } else {
552
+ inputRef.setCustomValidity(validityMessage);
553
+ }
554
+ inputRef.reportValidity();
555
+ }
556
+ };
557
+ const error = {};
558
+ const isRadio = isRadioInput(ref);
559
+ const isCheckBox = isCheckBoxInput(ref);
560
+ const isRadioOrCheckbox2 = isRadio || isCheckBox;
561
+ const isEmpty = (valueAsNumber || isFileInput(ref)) && isUndefined(ref.value) && isUndefined(inputValue) || isHTMLElement(ref) && ref.value === "" || inputValue === "" || Array.isArray(inputValue) && !inputValue.length;
562
+ const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);
563
+ const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {
564
+ const message = exceedMax ? maxLengthMessage : minLengthMessage;
565
+ error[name] = {
566
+ type: exceedMax ? maxType : minType,
567
+ message,
568
+ ref,
569
+ ...appendErrorsCurry(exceedMax ? maxType : minType, message)
570
+ };
571
+ };
572
+ if (isFieldArray ? !Array.isArray(inputValue) || !inputValue.length : required && (!isRadioOrCheckbox2 && (isEmpty || isNullOrUndefined(inputValue)) || isBoolean(inputValue) && !inputValue || isCheckBox && !getCheckboxValue(refs).isValid || isRadio && !getRadioValue(refs).isValid)) {
573
+ const { value, message } = isString(required) ? { value: !!required, message: required } : getValueAndMessage(required);
574
+ if (value) {
575
+ error[name] = {
576
+ type: INPUT_VALIDATION_RULES.required,
577
+ message,
578
+ ref: inputRef,
579
+ ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message)
580
+ };
581
+ if (!validateAllFieldCriteria) {
582
+ setCustomValidity(message);
583
+ return error;
584
+ }
585
+ }
586
+ }
587
+ if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {
588
+ let exceedMax;
589
+ let exceedMin;
590
+ const maxOutput = getValueAndMessage(max);
591
+ const minOutput = getValueAndMessage(min);
592
+ if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {
593
+ const valueNumber = ref.valueAsNumber || (inputValue ? +inputValue : inputValue);
594
+ if (!isNullOrUndefined(maxOutput.value)) {
595
+ exceedMax = valueNumber > maxOutput.value;
596
+ }
597
+ if (!isNullOrUndefined(minOutput.value)) {
598
+ exceedMin = valueNumber < minOutput.value;
599
+ }
600
+ } else {
601
+ const valueDate = ref.valueAsDate || new Date(inputValue);
602
+ const convertTimeToDate = (time) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + time);
603
+ const isTime = ref.type == "time";
604
+ const isWeek = ref.type == "week";
605
+ if (isString(maxOutput.value) && inputValue) {
606
+ exceedMax = isTime ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value) : isWeek ? inputValue > maxOutput.value : valueDate > new Date(maxOutput.value);
607
+ }
608
+ if (isString(minOutput.value) && inputValue) {
609
+ exceedMin = isTime ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value) : isWeek ? inputValue < minOutput.value : valueDate < new Date(minOutput.value);
610
+ }
611
+ }
612
+ if (exceedMax || exceedMin) {
613
+ getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);
614
+ if (!validateAllFieldCriteria) {
615
+ setCustomValidity(error[name].message);
616
+ return error;
617
+ }
618
+ }
619
+ }
620
+ if ((maxLength || minLength) && !isEmpty && (isString(inputValue) || isFieldArray && Array.isArray(inputValue))) {
621
+ const maxLengthOutput = getValueAndMessage(maxLength);
622
+ const minLengthOutput = getValueAndMessage(minLength);
623
+ const exceedMax = !isNullOrUndefined(maxLengthOutput.value) && inputValue.length > +maxLengthOutput.value;
624
+ const exceedMin = !isNullOrUndefined(minLengthOutput.value) && inputValue.length < +minLengthOutput.value;
625
+ if (exceedMax || exceedMin) {
626
+ getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);
627
+ if (!validateAllFieldCriteria) {
628
+ setCustomValidity(error[name].message);
629
+ return error;
630
+ }
631
+ }
632
+ }
633
+ if (pattern && !isEmpty && isString(inputValue)) {
634
+ const { value: patternValue, message } = getValueAndMessage(pattern);
635
+ if (isRegex(patternValue) && !inputValue.match(patternValue)) {
636
+ error[name] = {
637
+ type: INPUT_VALIDATION_RULES.pattern,
638
+ message,
639
+ ref,
640
+ ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message)
641
+ };
642
+ if (!validateAllFieldCriteria) {
643
+ setCustomValidity(message);
644
+ return error;
645
+ }
646
+ }
647
+ }
648
+ if (validate) {
649
+ if (isFunction(validate)) {
650
+ const result = await validate(inputValue, formValues);
651
+ const validateError = getValidateError(result, inputRef);
652
+ if (validateError) {
653
+ error[name] = {
654
+ ...validateError,
655
+ ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message)
656
+ };
657
+ if (!validateAllFieldCriteria) {
658
+ setCustomValidity(validateError.message);
659
+ return error;
660
+ }
661
+ }
662
+ } else if (isObject(validate)) {
663
+ let validationResult = {};
664
+ for (const key in validate) {
665
+ if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {
666
+ break;
667
+ }
668
+ const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);
669
+ if (validateError) {
670
+ validationResult = {
671
+ ...validateError,
672
+ ...appendErrorsCurry(key, validateError.message)
673
+ };
674
+ setCustomValidity(validateError.message);
675
+ if (validateAllFieldCriteria) {
676
+ error[name] = validationResult;
677
+ }
678
+ }
679
+ }
680
+ if (!isEmptyObject(validationResult)) {
681
+ error[name] = {
682
+ ref: inputRef,
683
+ ...validationResult
684
+ };
685
+ if (!validateAllFieldCriteria) {
686
+ return error;
687
+ }
688
+ }
689
+ }
690
+ }
691
+ setCustomValidity(true);
692
+ return error;
693
+ };
694
+ const defaultOptions = {
695
+ mode: VALIDATION_MODE.onSubmit,
696
+ reValidateMode: VALIDATION_MODE.onChange,
697
+ shouldFocusError: true
698
+ };
699
+ const FORM_ERROR_TYPE = "form";
700
+ const DEFAULT_FORM_STATE = {
701
+ submitCount: 0,
702
+ isDirty: false,
703
+ isReady: false,
704
+ isValidating: false,
705
+ isSubmitted: false,
706
+ isSubmitting: false,
707
+ isSubmitSuccessful: false,
708
+ isValid: false,
709
+ touchedFields: {},
710
+ dirtyFields: {},
711
+ validatingFields: {}
712
+ };
713
+ function createFormControl(props = {}) {
714
+ let _options = {
715
+ ...defaultOptions,
716
+ ...props
717
+ };
718
+ let _formState = {
719
+ ...cloneObject(DEFAULT_FORM_STATE),
720
+ isLoading: isFunction(_options.defaultValues),
721
+ errors: _options.errors || {},
722
+ disabled: _options.disabled || false
723
+ };
724
+ let _fields = {};
725
+ let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values) ? cloneObject(_options.defaultValues || _options.values) || {} : {};
726
+ let _formValues = _options.shouldUnregister ? {} : cloneObject(_defaultValues);
727
+ let _state = {
728
+ action: false,
729
+ mount: false,
730
+ watch: false,
731
+ keepIsValid: false
732
+ };
733
+ let _names = {
734
+ mount: /* @__PURE__ */ new Set(),
735
+ disabled: /* @__PURE__ */ new Set(),
736
+ unMount: /* @__PURE__ */ new Set(),
737
+ array: /* @__PURE__ */ new Set(),
738
+ watch: /* @__PURE__ */ new Set(),
739
+ registerName: /* @__PURE__ */ new Set()
740
+ };
741
+ let delayErrorCallback;
742
+ let timer = 0;
743
+ let _valuesSubscriberCount = 0;
744
+ let _validationModeBeforeSubmit = getValidationModes(_options.mode);
745
+ let _validationModeAfterSubmit = getValidationModes(_options.reValidateMode);
746
+ const defaultProxyFormState = {
747
+ isDirty: false,
748
+ dirtyFields: false,
749
+ validatingFields: false,
750
+ touchedFields: false,
751
+ isValidating: false,
752
+ isValid: false,
753
+ errors: false
754
+ };
755
+ const _proxyFormState = {
756
+ ...defaultProxyFormState
757
+ };
758
+ let _proxySubscribeFormState = {
759
+ ..._proxyFormState
760
+ };
761
+ const _subjects = {
762
+ array: createSubject(),
763
+ state: createSubject()
764
+ };
765
+ const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;
766
+ const debounce = (callback) => (wait) => {
767
+ clearTimeout(timer);
768
+ timer = setTimeout(callback, wait);
769
+ };
770
+ const _setValid = async (shouldUpdateValid) => {
771
+ if (_state.keepIsValid) {
772
+ return;
773
+ }
774
+ if (!_options.disabled && (_proxyFormState.isValid || _proxySubscribeFormState.isValid || shouldUpdateValid)) {
775
+ let isValid;
776
+ if (_options.resolver) {
777
+ isValid = isEmptyObject((await _runSchema()).errors);
778
+ _updateIsValidating();
779
+ } else {
780
+ isValid = await executeBuiltInValidation({
781
+ fields: _fields,
782
+ onlyCheckValid: true,
783
+ eventType: EVENTS.VALID
784
+ });
785
+ }
786
+ if (isValid !== _formState.isValid) {
787
+ _subjects.state.next({
788
+ isValid
789
+ });
790
+ }
791
+ }
792
+ };
793
+ const _updateIsValidating = (names, isValidating) => {
794
+ if (!_options.disabled && (_proxyFormState.isValidating || _proxyFormState.validatingFields || _proxySubscribeFormState.isValidating || _proxySubscribeFormState.validatingFields)) {
795
+ (names || Array.from(_names.mount)).forEach((name) => {
796
+ if (name) {
797
+ isValidating ? set(_formState.validatingFields, name, isValidating) : unset(_formState.validatingFields, name);
798
+ }
799
+ });
800
+ _subjects.state.next({
801
+ validatingFields: _formState.validatingFields,
802
+ isValidating: !isEmptyObject(_formState.validatingFields)
803
+ });
804
+ }
805
+ };
806
+ const _updateDirtyFields = () => {
807
+ _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);
808
+ };
809
+ const _setFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
810
+ if (args && method && !_options.disabled) {
811
+ _state.action = true;
812
+ if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {
813
+ const fieldValues = method(get(_fields, name), args.argA, args.argB);
814
+ shouldSetValues && set(_fields, name, fieldValues);
815
+ }
816
+ if (shouldUpdateFieldsAndState && Array.isArray(get(_formState.errors, name))) {
817
+ const errors = method(get(_formState.errors, name), args.argA, args.argB);
818
+ shouldSetValues && set(_formState.errors, name, errors);
819
+ unsetEmptyArray(_formState.errors, name);
820
+ }
821
+ if ((_proxyFormState.touchedFields || _proxySubscribeFormState.touchedFields) && shouldUpdateFieldsAndState && Array.isArray(get(_formState.touchedFields, name))) {
822
+ const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);
823
+ shouldSetValues && set(_formState.touchedFields, name, touchedFields);
824
+ }
825
+ if (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) {
826
+ _updateDirtyFields();
827
+ }
828
+ _subjects.state.next({
829
+ name,
830
+ isDirty: _getDirty(name, values),
831
+ dirtyFields: _formState.dirtyFields,
832
+ errors: _formState.errors,
833
+ isValid: _formState.isValid
834
+ });
835
+ } else {
836
+ set(_formValues, name, values);
837
+ }
838
+ };
839
+ const updateErrors = (name, error) => {
840
+ set(_formState.errors, name, error);
841
+ _formState.errors = { ..._formState.errors };
842
+ _subjects.state.next({
843
+ errors: _formState.errors
844
+ });
845
+ };
846
+ const _setErrors = (errors) => {
847
+ _formState.errors = errors;
848
+ _subjects.state.next({
849
+ errors: _formState.errors,
850
+ isValid: false
851
+ });
852
+ };
853
+ const hasExplicitNullIntermediate = (name) => {
854
+ const segments = isKey(name) ? [name] : stringToPath(name);
855
+ let formValues = _formValues;
856
+ let defaultValues = _defaultValues;
857
+ for (let i = 0; i < segments.length - 1; i++) {
858
+ const key = segments[i];
859
+ formValues = isNullOrUndefined(formValues) ? formValues : formValues[key];
860
+ defaultValues = isNullOrUndefined(defaultValues) ? defaultValues : defaultValues[key];
861
+ if (formValues === null && defaultValues !== null) {
862
+ return true;
863
+ }
864
+ }
865
+ return false;
866
+ };
867
+ const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {
868
+ const field = get(_fields, name);
869
+ if (field) {
870
+ if (hasExplicitNullIntermediate(name)) {
871
+ return;
872
+ }
873
+ const wasUnsetInFormValues = isUndefined(get(_formValues, name));
874
+ const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);
875
+ isUndefined(defaultValue) || ref && ref.defaultChecked || shouldSkipSetValueAs ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f)) : setFieldValue(name, defaultValue);
876
+ if (_state.mount && !_state.action) {
877
+ _setValid();
878
+ if (wasUnsetInFormValues && _formState.isDirty && (_proxyFormState.isDirty || _proxySubscribeFormState.isDirty)) {
879
+ const isDirty = _getDirty();
880
+ if (!isDirty) {
881
+ _formState.isDirty = false;
882
+ _subjects.state.next({ ..._formState });
883
+ }
884
+ }
885
+ if (props.shouldUnregister && wasUnsetInFormValues && !isUndefined(get(_formValues, name)) && isWatched(name, _names)) {
886
+ _state.watch = true;
887
+ }
888
+ }
889
+ }
890
+ };
891
+ const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {
892
+ let shouldUpdateField = false;
893
+ let isPreviousDirty = false;
894
+ const output = {
895
+ name
896
+ };
897
+ if (!_options.disabled) {
898
+ if (!isBlurEvent || shouldDirty) {
899
+ const isCurrentFieldPristine = deepEqual(get(_defaultValues, name), fieldValue);
900
+ if (_proxyFormState.isDirty || _proxySubscribeFormState.isDirty) {
901
+ isPreviousDirty = _formState.isDirty;
902
+ _formState.isDirty = output.isDirty = !isCurrentFieldPristine || _getDirty();
903
+ shouldUpdateField = isPreviousDirty !== output.isDirty;
904
+ }
905
+ isPreviousDirty = !!get(_formState.dirtyFields, name);
906
+ if (isCurrentFieldPristine !== _formState.isDirty) {
907
+ _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);
908
+ } else {
909
+ isCurrentFieldPristine ? unset(_formState.dirtyFields, name) : set(_formState.dirtyFields, name, true);
910
+ }
911
+ output.dirtyFields = _formState.dirtyFields;
912
+ shouldUpdateField = shouldUpdateField || (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) && isPreviousDirty !== !isCurrentFieldPristine;
913
+ }
914
+ if (isBlurEvent) {
915
+ const isPreviousFieldTouched = get(_formState.touchedFields, name);
916
+ if (!isPreviousFieldTouched) {
917
+ set(_formState.touchedFields, name, isBlurEvent);
918
+ output.touchedFields = _formState.touchedFields;
919
+ shouldUpdateField = shouldUpdateField || (_proxyFormState.touchedFields || _proxySubscribeFormState.touchedFields) && isPreviousFieldTouched !== isBlurEvent;
920
+ }
921
+ }
922
+ shouldUpdateField && shouldRender && _subjects.state.next(output);
923
+ }
924
+ return shouldUpdateField ? output : {};
925
+ };
926
+ const shouldRenderByError = (name, isValid, error, fieldState) => {
927
+ const previousFieldError = get(_formState.errors, name);
928
+ const shouldUpdateValid = (_proxyFormState.isValid || _proxySubscribeFormState.isValid) && isBoolean(isValid) && _formState.isValid !== isValid;
929
+ if (_options.delayError && error) {
930
+ delayErrorCallback = debounce(() => updateErrors(name, error));
931
+ delayErrorCallback(_options.delayError);
932
+ } else {
933
+ clearTimeout(timer);
934
+ delayErrorCallback = null;
935
+ error ? set(_formState.errors, name, error) : unset(_formState.errors, name);
936
+ _formState.errors = { ..._formState.errors };
937
+ }
938
+ if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) || !isEmptyObject(fieldState) || shouldUpdateValid) {
939
+ const updatedFormState = {
940
+ ...fieldState,
941
+ ...shouldUpdateValid && isBoolean(isValid) ? { isValid } : {},
942
+ errors: _formState.errors,
943
+ name
944
+ };
945
+ _formState = {
946
+ ..._formState,
947
+ ...updatedFormState
948
+ };
949
+ _subjects.state.next(updatedFormState);
950
+ }
951
+ };
952
+ const _runSchema = async (name) => {
953
+ _updateIsValidating(name, true);
954
+ return await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));
955
+ };
956
+ const executeSchemaAndUpdateState = async (names) => {
957
+ const { errors } = await _runSchema(names);
958
+ _updateIsValidating(names);
959
+ if (names) {
960
+ for (const name of names) {
961
+ const error = get(errors, name);
962
+ error ? _names.array.has(name) && isObject(error) && !Object.keys(error).some((key) => !Number.isNaN(Number(key))) ? updateFieldArrayRootError(_formState.errors, { [name]: error }, name) : set(_formState.errors, name, error) : unset(_formState.errors, name);
963
+ }
964
+ _formState.errors = { ..._formState.errors };
965
+ } else {
966
+ _formState.errors = errors;
967
+ }
968
+ return errors;
969
+ };
970
+ const validateForm = async ({ name, eventType }) => {
971
+ if (props.validate) {
972
+ const result = await props.validate({
973
+ formValues: _formValues,
974
+ formState: _formState,
975
+ name,
976
+ eventType
977
+ });
978
+ if (isObject(result)) {
979
+ for (const key in result) {
980
+ const error = result[key];
981
+ if (error) {
982
+ setError(`${FORM_ERROR_TYPE}.${key}`, {
983
+ message: isString(error.message) ? error.message : "",
984
+ type: error.type || INPUT_VALIDATION_RULES.validate
985
+ });
986
+ }
987
+ }
988
+ } else if (isString(result) || !result) {
989
+ setError(FORM_ERROR_TYPE, {
990
+ message: result || "",
991
+ type: INPUT_VALIDATION_RULES.validate
992
+ });
993
+ } else {
994
+ clearErrors(FORM_ERROR_TYPE);
995
+ }
996
+ return result;
997
+ }
998
+ return true;
999
+ };
1000
+ const executeBuiltInValidation = async ({ fields, onlyCheckValid, name, eventType, context = {
1001
+ valid: true,
1002
+ runRootValidation: false
1003
+ } }) => {
1004
+ if (props.validate) {
1005
+ context.runRootValidation = true;
1006
+ const result = await validateForm({
1007
+ name,
1008
+ eventType
1009
+ });
1010
+ if (!result) {
1011
+ context.valid = false;
1012
+ if (onlyCheckValid) {
1013
+ return context.valid;
1014
+ }
1015
+ }
1016
+ }
1017
+ for (const name2 in fields) {
1018
+ const field = fields[name2];
1019
+ if (field) {
1020
+ const { _f, ...fieldValue } = field;
1021
+ if (_f) {
1022
+ const isFieldArrayRoot = _names.array.has(_f.name);
1023
+ const isPromiseFunction = field._f && hasPromiseValidation(field._f);
1024
+ const shouldTrackIsValidatingState = _proxyFormState.validatingFields || _proxyFormState.isValidating || _proxySubscribeFormState.validatingFields || _proxySubscribeFormState.isValidating;
1025
+ if (isPromiseFunction && shouldTrackIsValidatingState) {
1026
+ _updateIsValidating([_f.name], true);
1027
+ }
1028
+ const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !onlyCheckValid, isFieldArrayRoot);
1029
+ if (isPromiseFunction && shouldTrackIsValidatingState) {
1030
+ _updateIsValidating([_f.name]);
1031
+ }
1032
+ if (fieldError[_f.name]) {
1033
+ context.valid = false;
1034
+ if (onlyCheckValid) {
1035
+ break;
1036
+ }
1037
+ }
1038
+ !onlyCheckValid && (get(fieldError, _f.name) ? isFieldArrayRoot ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name) : set(_formState.errors, _f.name, fieldError[_f.name]) : unset(_formState.errors, _f.name));
1039
+ if (props.shouldUseNativeValidation && fieldError[_f.name]) {
1040
+ break;
1041
+ }
1042
+ }
1043
+ !isEmptyObject(fieldValue) && await executeBuiltInValidation({
1044
+ context,
1045
+ onlyCheckValid,
1046
+ fields: fieldValue,
1047
+ name: name2,
1048
+ eventType
1049
+ });
1050
+ }
1051
+ }
1052
+ return context.valid;
1053
+ };
1054
+ const _removeUnmounted = () => {
1055
+ for (const name of _names.unMount) {
1056
+ const field = get(_fields, name);
1057
+ field && (field._f.refs ? field._f.refs.every((ref) => !live(ref)) : !live(field._f.ref)) && unregister(name);
1058
+ }
1059
+ _names.unMount = /* @__PURE__ */ new Set();
1060
+ };
1061
+ const _getDirty = (name, data) => !_options.disabled && (name && data && set(_formValues, name, data), !deepEqual(_state.mount ? _formValues : _defaultValues, _defaultValues));
1062
+ const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {
1063
+ ..._state.mount ? _formValues : isUndefined(defaultValue) ? _defaultValues : isString(names) ? { [names]: defaultValue } : defaultValue
1064
+ }, isGlobal, defaultValue);
1065
+ const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get(_defaultValues, name, []) : []));
1066
+ const setFieldValue = (name, value, options = {}, skipClone = false, skipRender = false) => {
1067
+ const field = get(_fields, name);
1068
+ let fieldValue = value;
1069
+ if (field) {
1070
+ const fieldReference = field._f;
1071
+ if (fieldReference) {
1072
+ !fieldReference.disabled && set(_formValues, name, getFieldValueAs(value, fieldReference));
1073
+ fieldValue = isHTMLElement(fieldReference.ref) && isNullOrUndefined(value) ? "" : value;
1074
+ if (isMultipleSelect(fieldReference.ref)) {
1075
+ [...fieldReference.ref.options].forEach((optionRef) => optionRef.selected = fieldValue.includes(optionRef.value));
1076
+ } else if (fieldReference.refs) {
1077
+ if (isCheckBoxInput(fieldReference.ref)) {
1078
+ fieldReference.refs.forEach((checkboxRef) => {
1079
+ if (!checkboxRef.defaultChecked || !checkboxRef.disabled) {
1080
+ if (Array.isArray(fieldValue)) {
1081
+ checkboxRef.checked = !!fieldValue.find((data) => data === checkboxRef.value);
1082
+ } else {
1083
+ checkboxRef.checked = fieldValue === checkboxRef.value || !!fieldValue;
1084
+ }
1085
+ }
1086
+ });
1087
+ } else {
1088
+ fieldReference.refs.forEach((radioRef) => radioRef.checked = radioRef.value === fieldValue);
1089
+ }
1090
+ } else if (isFileInput(fieldReference.ref)) {
1091
+ fieldReference.ref.value = "";
1092
+ } else {
1093
+ fieldReference.ref.value = fieldValue;
1094
+ if (!fieldReference.ref.type && !skipRender) {
1095
+ _subjects.state.next({
1096
+ name,
1097
+ values: skipClone ? _formValues : cloneObject(_formValues)
1098
+ });
1099
+ }
1100
+ }
1101
+ }
1102
+ }
1103
+ (options.shouldDirty || options.shouldTouch) && updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, !skipRender);
1104
+ options.shouldValidate && trigger(name);
1105
+ };
1106
+ const setFieldValues = (name, value, options, skipClone = false, skipRender = false) => {
1107
+ for (const fieldKey in value) {
1108
+ if (!value.hasOwnProperty(fieldKey)) {
1109
+ return;
1110
+ }
1111
+ const fieldValue = value[fieldKey];
1112
+ const fieldName = name + "." + fieldKey;
1113
+ const field = get(_fields, fieldName);
1114
+ (_names.array.has(name) || isObject(fieldValue) || field && !field._f) && !isDateObject(fieldValue) ? setFieldValues(fieldName, fieldValue, options, skipClone, skipRender) : setFieldValue(fieldName, fieldValue, options, skipClone, skipRender);
1115
+ }
1116
+ };
1117
+ const _setValue = (name, value, options, skipClone, skipStateEmit = false) => {
1118
+ const field = get(_fields, name);
1119
+ const isFieldArray = _names.array.has(name);
1120
+ const cloneValue = skipClone ? value : cloneObject(value);
1121
+ const previousValue = get(_formValues, name);
1122
+ const isValueUnchanged = deepEqual(previousValue, cloneValue);
1123
+ if (!isValueUnchanged) {
1124
+ set(_formValues, name, cloneValue);
1125
+ }
1126
+ if (isFieldArray) {
1127
+ _subjects.array.next({
1128
+ name,
1129
+ values: skipClone ? _formValues : cloneObject(_formValues)
1130
+ });
1131
+ if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields || _proxySubscribeFormState.isDirty || _proxySubscribeFormState.dirtyFields) && options.shouldDirty) {
1132
+ _updateDirtyFields();
1133
+ if (!skipStateEmit) {
1134
+ _subjects.state.next({
1135
+ name,
1136
+ dirtyFields: _formState.dirtyFields,
1137
+ isDirty: _getDirty(name, cloneValue)
1138
+ });
1139
+ }
1140
+ }
1141
+ } else {
1142
+ const isEmpty = Array.isArray(cloneValue) && !cloneValue.length || isEmptyObject(cloneValue);
1143
+ if (!field || field._f || isNullOrUndefined(cloneValue) || isEmpty) {
1144
+ setFieldValue(name, cloneValue, options, skipClone, skipStateEmit);
1145
+ } else {
1146
+ setFieldValues(name, cloneValue, options, skipClone, skipStateEmit);
1147
+ }
1148
+ }
1149
+ if (!isValueUnchanged && !skipStateEmit) {
1150
+ const watched = isWatched(name, _names);
1151
+ const values = skipClone ? _formValues : cloneObject(_formValues);
1152
+ _subjects.state.next({
1153
+ ...watched && _formState,
1154
+ name: _state.mount || watched ? name : void 0,
1155
+ values
1156
+ });
1157
+ }
1158
+ };
1159
+ const setValue = (name, value, options = {}) => _setValue(name, value, options, false);
1160
+ const setValues = (formValues, options = {}) => {
1161
+ const updatedFormValues = isFunction(formValues) ? formValues(_formValues) : formValues;
1162
+ if (!deepEqual(_formValues, updatedFormValues)) {
1163
+ _formValues = {
1164
+ ..._formValues,
1165
+ ...updatedFormValues
1166
+ };
1167
+ for (const fieldName of _names.mount) {
1168
+ _setValue(fieldName, get(updatedFormValues, fieldName), options, true, true);
1169
+ }
1170
+ _subjects.state.next({
1171
+ ..._formState,
1172
+ name: void 0,
1173
+ type: void 0,
1174
+ ..._valuesSubscriberCount ? { values: _formValues } : {}
1175
+ });
1176
+ if (options.shouldValidate) {
1177
+ _setValid();
1178
+ }
1179
+ }
1180
+ };
1181
+ const onChange = async (event) => {
1182
+ _state.mount = true;
1183
+ const target = event.target;
1184
+ let name = target.name;
1185
+ let isFieldValueUpdated = true;
1186
+ const field = get(_fields, name);
1187
+ const _updateIsFieldValueUpdated = (fieldValue) => {
1188
+ isFieldValueUpdated = Number.isNaN(fieldValue) || isDateObject(fieldValue) && isNaN(fieldValue.getTime()) || deepEqual(fieldValue, get(_formValues, name, fieldValue));
1189
+ };
1190
+ if (field) {
1191
+ let error;
1192
+ let isValid;
1193
+ const fieldValue = target.type ? getFieldValue(field._f) : getEventValue(event);
1194
+ const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;
1195
+ const hasNoValidationEffect = !hasValidation(field._f) && !props.validate && !_options.resolver && !get(_formState.errors, name) && !field._f.deps;
1196
+ const shouldSkipValidation = hasNoValidationEffect || skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, _validationModeAfterSubmit, _validationModeBeforeSubmit);
1197
+ const watched = isWatched(name, _names, isBlurEvent);
1198
+ set(_formValues, name, fieldValue);
1199
+ if (isBlurEvent) {
1200
+ if (!target || !target.readOnly) {
1201
+ field._f.onBlur && field._f.onBlur(event);
1202
+ delayErrorCallback && delayErrorCallback(0);
1203
+ }
1204
+ } else if (field._f.onChange) {
1205
+ field._f.onChange(event);
1206
+ }
1207
+ const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent);
1208
+ const shouldRender = !isEmptyObject(fieldState) || watched;
1209
+ !isBlurEvent && _subjects.state.next({
1210
+ name,
1211
+ type: event.type,
1212
+ ..._valuesSubscriberCount ? { values: cloneObject(_formValues) } : {}
1213
+ });
1214
+ if (shouldSkipValidation) {
1215
+ if ((!hasNoValidationEffect || !_formState.isValid) && (_proxyFormState.isValid || _proxySubscribeFormState.isValid)) {
1216
+ if (_options.mode === "onBlur") {
1217
+ if (isBlurEvent) {
1218
+ _setValid();
1219
+ }
1220
+ } else if (!isBlurEvent) {
1221
+ _setValid();
1222
+ }
1223
+ }
1224
+ return shouldRender && _subjects.state.next({ name, ...watched ? {} : fieldState });
1225
+ }
1226
+ if (!_options.resolver && props.validate) {
1227
+ await validateForm({
1228
+ name,
1229
+ eventType: event.type
1230
+ });
1231
+ }
1232
+ !isBlurEvent && watched && _subjects.state.next({ ..._formState });
1233
+ if (_options.resolver) {
1234
+ const { errors } = await _runSchema([name]);
1235
+ _updateIsValidating([name]);
1236
+ _updateIsFieldValueUpdated(fieldValue);
1237
+ if (!isFieldValueUpdated) {
1238
+ !isEmptyObject(fieldState) && _subjects.state.next(fieldState);
1239
+ return;
1240
+ }
1241
+ const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);
1242
+ const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);
1243
+ error = errorLookupResult.error;
1244
+ name = errorLookupResult.name;
1245
+ isValid = isEmptyObject(errors);
1246
+ } else {
1247
+ _updateIsValidating([name], true);
1248
+ error = (await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];
1249
+ _updateIsValidating([name]);
1250
+ _updateIsFieldValueUpdated(fieldValue);
1251
+ if (isFieldValueUpdated) {
1252
+ if (error) {
1253
+ isValid = false;
1254
+ } else if (_proxyFormState.isValid || _proxySubscribeFormState.isValid) {
1255
+ isValid = await executeBuiltInValidation({
1256
+ fields: _fields,
1257
+ onlyCheckValid: true,
1258
+ name,
1259
+ eventType: event.type
1260
+ });
1261
+ }
1262
+ }
1263
+ }
1264
+ if (isFieldValueUpdated) {
1265
+ field._f.deps && (!Array.isArray(field._f.deps) || field._f.deps.length > 0) && trigger(field._f.deps);
1266
+ shouldRenderByError(name, isValid, error, fieldState);
1267
+ }
1268
+ }
1269
+ };
1270
+ const _focusInput = (ref, key) => {
1271
+ if (get(_formState.errors, key) && ref.focus) {
1272
+ ref.focus();
1273
+ return 1;
1274
+ }
1275
+ return;
1276
+ };
1277
+ const trigger = async (name, options = {}) => {
1278
+ let isValid;
1279
+ let validationResult;
1280
+ const fieldNames = convertToArrayPayload(name);
1281
+ if (_options.resolver) {
1282
+ const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);
1283
+ isValid = isEmptyObject(errors);
1284
+ validationResult = name ? !fieldNames.some((name2) => get(errors, name2)) : isValid;
1285
+ } else if (name) {
1286
+ validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {
1287
+ const field = get(_fields, fieldName);
1288
+ return await executeBuiltInValidation({
1289
+ fields: field && field._f ? { [fieldName]: field } : field,
1290
+ eventType: EVENTS.TRIGGER
1291
+ });
1292
+ }))).every(Boolean);
1293
+ !(!validationResult && !_formState.isValid) && _setValid();
1294
+ } else {
1295
+ validationResult = isValid = await executeBuiltInValidation({
1296
+ fields: _fields,
1297
+ name,
1298
+ eventType: EVENTS.TRIGGER
1299
+ });
1300
+ }
1301
+ _subjects.state.next({
1302
+ ...!isString(name) || (_proxyFormState.isValid || _proxySubscribeFormState.isValid) && isValid !== _formState.isValid ? {} : { name },
1303
+ ..._options.resolver || !name ? { isValid } : {},
1304
+ errors: _formState.errors
1305
+ });
1306
+ options.shouldFocus && !validationResult && iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);
1307
+ return validationResult;
1308
+ };
1309
+ const getValues = (fieldNames, config) => {
1310
+ let values = {
1311
+ ..._state.mount ? _formValues : _defaultValues
1312
+ };
1313
+ if (config) {
1314
+ values = extractFormValues(config.dirtyFields ? _formState.dirtyFields : _formState.touchedFields, values);
1315
+ }
1316
+ return isUndefined(fieldNames) ? values : isString(fieldNames) ? get(values, fieldNames) : fieldNames.map((name) => get(values, name));
1317
+ };
1318
+ const getFieldState = (name, formState) => ({
1319
+ invalid: !!get((formState || _formState).errors, name),
1320
+ isDirty: !!get((formState || _formState).dirtyFields, name),
1321
+ error: get((formState || _formState).errors, name),
1322
+ isValidating: !!get(_formState.validatingFields, name),
1323
+ isTouched: !!get((formState || _formState).touchedFields, name)
1324
+ });
1325
+ const clearErrors = (name) => {
1326
+ const names = name ? convertToArrayPayload(name) : void 0;
1327
+ names === null || names === void 0 ? void 0 : names.forEach((inputName) => unset(_formState.errors, inputName));
1328
+ if (names) {
1329
+ names.forEach((inputName) => {
1330
+ _subjects.state.next({
1331
+ name: inputName,
1332
+ errors: _formState.errors
1333
+ });
1334
+ });
1335
+ } else {
1336
+ _subjects.state.next({
1337
+ errors: {}
1338
+ });
1339
+ }
1340
+ };
1341
+ const setError = (name, error, options) => {
1342
+ const ref = (get(_fields, name, { _f: {} })._f || {}).ref;
1343
+ const currentError = get(_formState.errors, name) || {};
1344
+ const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;
1345
+ set(_formState.errors, name, {
1346
+ ...restOfErrorTree,
1347
+ ...error,
1348
+ ref
1349
+ });
1350
+ _subjects.state.next({
1351
+ name,
1352
+ errors: _formState.errors,
1353
+ isValid: false
1354
+ });
1355
+ options && options.shouldFocus && ref && ref.focus && ref.focus();
1356
+ };
1357
+ const watch = (name, defaultValue) => {
1358
+ if (isFunction(name)) {
1359
+ _valuesSubscriberCount++;
1360
+ const { unsubscribe } = _subjects.state.subscribe({
1361
+ next: (payload) => "values" in payload && name(payload.values || _getWatch(void 0, defaultValue), payload)
1362
+ });
1363
+ let called = false;
1364
+ return {
1365
+ unsubscribe: () => {
1366
+ if (called) {
1367
+ return;
1368
+ }
1369
+ called = true;
1370
+ _valuesSubscriberCount--;
1371
+ unsubscribe();
1372
+ }
1373
+ };
1374
+ }
1375
+ return _getWatch(name, defaultValue, true);
1376
+ };
1377
+ const _subscribe = (props2) => {
1378
+ var _a;
1379
+ const needsValues = !!((_a = props2.formState) === null || _a === void 0 ? void 0 : _a.values);
1380
+ if (needsValues) {
1381
+ _valuesSubscriberCount++;
1382
+ }
1383
+ const { unsubscribe } = _subjects.state.subscribe({
1384
+ next: (formState) => {
1385
+ if (shouldSubscribeByName(props2.name, formState.name, props2.exact) && shouldRenderFormState(formState, props2.formState || _proxyFormState, _setFormState, props2.reRenderRoot)) {
1386
+ const snapshot = { ..._formValues };
1387
+ props2.callback({
1388
+ values: snapshot,
1389
+ ..._formState,
1390
+ ...formState,
1391
+ defaultValues: _defaultValues
1392
+ });
1393
+ }
1394
+ }
1395
+ });
1396
+ if (!needsValues) {
1397
+ return unsubscribe;
1398
+ }
1399
+ let called = false;
1400
+ return () => {
1401
+ if (called) {
1402
+ return;
1403
+ }
1404
+ called = true;
1405
+ _valuesSubscriberCount--;
1406
+ unsubscribe();
1407
+ };
1408
+ };
1409
+ const subscribe = (props2) => {
1410
+ _state.mount = true;
1411
+ _proxySubscribeFormState = {
1412
+ ..._proxySubscribeFormState,
1413
+ ...props2.formState
1414
+ };
1415
+ return _subscribe({
1416
+ ...props2,
1417
+ formState: {
1418
+ ...defaultProxyFormState,
1419
+ ...props2.formState
1420
+ }
1421
+ });
1422
+ };
1423
+ const unregister = (name, options = {}) => {
1424
+ for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {
1425
+ _names.mount.delete(fieldName);
1426
+ _names.array.delete(fieldName);
1427
+ if (!options.keepValue) {
1428
+ unset(_fields, fieldName);
1429
+ unset(_formValues, fieldName);
1430
+ }
1431
+ !options.keepError && unset(_formState.errors, fieldName);
1432
+ !options.keepDirty && unset(_formState.dirtyFields, fieldName);
1433
+ !options.keepTouched && unset(_formState.touchedFields, fieldName);
1434
+ !options.keepIsValidating && unset(_formState.validatingFields, fieldName);
1435
+ !_options.shouldUnregister && !options.keepDefaultValue && unset(_defaultValues, fieldName);
1436
+ }
1437
+ _subjects.state.next({
1438
+ values: cloneObject(_formValues)
1439
+ });
1440
+ _subjects.state.next({
1441
+ ..._formState,
1442
+ ...!options.keepDirty ? {} : { isDirty: _getDirty() }
1443
+ });
1444
+ !options.keepIsValid && _setValid();
1445
+ };
1446
+ const _setDisabledField = ({ disabled, name }) => {
1447
+ if (isBoolean(disabled) && _state.mount || !!disabled || _names.disabled.has(name)) {
1448
+ const wasDisabled = _names.disabled.has(name);
1449
+ const isDisabled = !!disabled;
1450
+ const disabledStateChanged = wasDisabled !== isDisabled;
1451
+ disabled ? _names.disabled.add(name) : _names.disabled.delete(name);
1452
+ disabledStateChanged && _state.mount && !_state.action && _setValid();
1453
+ }
1454
+ };
1455
+ const register = (name, options = {}) => {
1456
+ let field = get(_fields, name);
1457
+ const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);
1458
+ const shouldRevalidateRemount = !_names.registerName.has(name) && field && field._f && !field._f.mount;
1459
+ set(_fields, name, {
1460
+ ...field || {},
1461
+ _f: {
1462
+ ...field && field._f ? field._f : { ref: { name } },
1463
+ name,
1464
+ mount: true,
1465
+ ...options
1466
+ }
1467
+ });
1468
+ _names.mount.add(name);
1469
+ if (field && !shouldRevalidateRemount) {
1470
+ _setDisabledField({
1471
+ disabled: isBoolean(options.disabled) ? options.disabled : _options.disabled,
1472
+ name
1473
+ });
1474
+ } else {
1475
+ updateValidAndValue(name, true, options.value);
1476
+ }
1477
+ return {
1478
+ ...disabledIsDefined ? { disabled: options.disabled || _options.disabled } : {},
1479
+ ..._options.progressive ? {
1480
+ required: !!options.required,
1481
+ min: getRuleValue(options.min),
1482
+ max: getRuleValue(options.max),
1483
+ minLength: getRuleValue(options.minLength),
1484
+ maxLength: getRuleValue(options.maxLength),
1485
+ pattern: getRuleValue(options.pattern)
1486
+ } : {},
1487
+ name,
1488
+ onChange,
1489
+ onBlur: onChange,
1490
+ ref: (ref) => {
1491
+ if (ref) {
1492
+ _names.registerName.add(name);
1493
+ register(name, options);
1494
+ _names.registerName.delete(name);
1495
+ field = get(_fields, name);
1496
+ const fieldRef = isUndefined(ref.value) ? ref.querySelectorAll ? ref.querySelectorAll("input,select,textarea")[0] || ref : ref : ref;
1497
+ const radioOrCheckbox = isRadioOrCheckbox(fieldRef);
1498
+ const refs = field._f.refs || [];
1499
+ if (radioOrCheckbox ? refs.find((option) => option === fieldRef) : fieldRef === field._f.ref) {
1500
+ return;
1501
+ }
1502
+ set(_fields, name, {
1503
+ _f: {
1504
+ ...field._f,
1505
+ ...radioOrCheckbox ? {
1506
+ refs: [
1507
+ ...refs.filter(live),
1508
+ fieldRef,
1509
+ ...Array.isArray(get(_defaultValues, name)) ? [{}] : []
1510
+ ],
1511
+ ref: { type: fieldRef.type, name }
1512
+ } : { ref: fieldRef }
1513
+ }
1514
+ });
1515
+ updateValidAndValue(name, false, void 0, fieldRef);
1516
+ } else {
1517
+ field = get(_fields, name, {});
1518
+ if (field._f) {
1519
+ field._f.mount = false;
1520
+ }
1521
+ (_options.shouldUnregister || options.shouldUnregister) && !(isNameInFieldArray(_names.array, name) && _state.action) && _names.unMount.add(name);
1522
+ }
1523
+ }
1524
+ };
1525
+ };
1526
+ const _focusError = () => _options.shouldFocusError && !_options.shouldUseNativeValidation && iterateFieldsByAction(_fields, _focusInput, _names.mount);
1527
+ const _disableForm = (disabled) => {
1528
+ if (isBoolean(disabled)) {
1529
+ _subjects.state.next({ disabled });
1530
+ iterateFieldsByAction(_fields, (ref, name) => {
1531
+ const currentField = get(_fields, name);
1532
+ if (currentField) {
1533
+ ref.disabled = currentField._f.disabled || disabled;
1534
+ if (Array.isArray(currentField._f.refs)) {
1535
+ currentField._f.refs.forEach((inputRef) => {
1536
+ inputRef.disabled = currentField._f.disabled || disabled;
1537
+ });
1538
+ }
1539
+ }
1540
+ }, 0, false);
1541
+ }
1542
+ };
1543
+ const handleSubmit = (onValid, onInvalid) => async (e) => {
1544
+ let onValidError = void 0;
1545
+ if (e) {
1546
+ e.preventDefault && e.preventDefault();
1547
+ e.persist && e.persist();
1548
+ }
1549
+ let fieldValues = cloneObject(_formValues);
1550
+ _subjects.state.next({
1551
+ isSubmitting: true
1552
+ });
1553
+ if (_options.resolver) {
1554
+ const { errors, values } = await _runSchema();
1555
+ _updateIsValidating();
1556
+ _formState.errors = errors;
1557
+ fieldValues = cloneObject(values);
1558
+ } else {
1559
+ await executeBuiltInValidation({
1560
+ fields: _fields,
1561
+ eventType: EVENTS.SUBMIT
1562
+ });
1563
+ }
1564
+ if (_names.disabled.size) {
1565
+ for (const name of _names.disabled) {
1566
+ unset(fieldValues, name);
1567
+ }
1568
+ }
1569
+ unset(_formState.errors, ROOT_ERROR_TYPE);
1570
+ if (isEmptyObject(_formState.errors)) {
1571
+ _subjects.state.next({
1572
+ errors: {}
1573
+ });
1574
+ try {
1575
+ await onValid(fieldValues, e);
1576
+ } catch (error) {
1577
+ onValidError = error;
1578
+ }
1579
+ } else {
1580
+ if (onInvalid) {
1581
+ await onInvalid({ ..._formState.errors }, e);
1582
+ }
1583
+ _focusError();
1584
+ setTimeout(_focusError);
1585
+ }
1586
+ _subjects.state.next({
1587
+ isSubmitted: true,
1588
+ isSubmitting: false,
1589
+ isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,
1590
+ submitCount: _formState.submitCount + 1,
1591
+ errors: _formState.errors
1592
+ });
1593
+ if (onValidError) {
1594
+ throw onValidError;
1595
+ }
1596
+ };
1597
+ const resetField = (name, options = {}) => {
1598
+ if (get(_fields, name)) {
1599
+ if (isUndefined(options.defaultValue)) {
1600
+ setValue(name, cloneObject(get(_defaultValues, name)));
1601
+ } else {
1602
+ setValue(name, options.defaultValue);
1603
+ set(_defaultValues, name, cloneObject(options.defaultValue));
1604
+ }
1605
+ if (!options.keepTouched) {
1606
+ unset(_formState.touchedFields, name);
1607
+ }
1608
+ if (!options.keepDirty) {
1609
+ unset(_formState.dirtyFields, name);
1610
+ _formState.isDirty = options.defaultValue ? _getDirty(name, cloneObject(get(_defaultValues, name))) : _getDirty();
1611
+ }
1612
+ if (!options.keepError) {
1613
+ unset(_formState.errors, name);
1614
+ _proxyFormState.isValid && _setValid();
1615
+ }
1616
+ _subjects.state.next({ ..._formState });
1617
+ }
1618
+ };
1619
+ const _reset = (formValues, keepStateOptions = {}) => {
1620
+ const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;
1621
+ const cloneUpdatedValues = cloneObject(updatedValues);
1622
+ const isEmptyResetValues = isEmptyObject(formValues);
1623
+ const values = cloneUpdatedValues;
1624
+ if (!keepStateOptions.keepDefaultValues) {
1625
+ _defaultValues = updatedValues;
1626
+ }
1627
+ if (!keepStateOptions.keepValues) {
1628
+ if (keepStateOptions.keepDirtyValues) {
1629
+ const fieldsToCheck = /* @__PURE__ */ new Set([
1630
+ ..._names.mount,
1631
+ ...Object.keys(getDirtyFields(_defaultValues, _formValues))
1632
+ ]);
1633
+ for (const fieldName of Array.from(fieldsToCheck)) {
1634
+ const isDirty = get(_formState.dirtyFields, fieldName);
1635
+ const existingValue = get(_formValues, fieldName);
1636
+ const newValue = get(values, fieldName);
1637
+ if (isDirty && !isUndefined(existingValue)) {
1638
+ set(values, fieldName, existingValue);
1639
+ } else if (!isDirty && !isUndefined(newValue)) {
1640
+ setValue(fieldName, newValue);
1641
+ }
1642
+ }
1643
+ } else {
1644
+ if (isWeb && isUndefined(formValues)) {
1645
+ for (const name of _names.mount) {
1646
+ const field = get(_fields, name);
1647
+ if (field && field._f) {
1648
+ const fieldReference = Array.isArray(field._f.refs) ? field._f.refs[0] : field._f.ref;
1649
+ if (isHTMLElement(fieldReference)) {
1650
+ const form = fieldReference.closest("form");
1651
+ if (form) {
1652
+ form.reset();
1653
+ break;
1654
+ }
1655
+ }
1656
+ }
1657
+ }
1658
+ }
1659
+ if (keepStateOptions.keepFieldsRef) {
1660
+ for (const fieldName of _names.mount) {
1661
+ setValue(fieldName, get(values, fieldName));
1662
+ }
1663
+ } else {
1664
+ _fields = {};
1665
+ }
1666
+ }
1667
+ if (_options.shouldUnregister) {
1668
+ _formValues = keepStateOptions.keepDefaultValues ? cloneObject(_defaultValues) : {};
1669
+ if (keepStateOptions.keepFieldsRef) {
1670
+ for (const fieldName of _names.mount) {
1671
+ set(_formValues, fieldName, get(values, fieldName));
1672
+ }
1673
+ }
1674
+ } else {
1675
+ _formValues = cloneObject(values);
1676
+ }
1677
+ _subjects.array.next({
1678
+ values: { ...values }
1679
+ });
1680
+ _subjects.state.next({
1681
+ values: { ...values }
1682
+ });
1683
+ }
1684
+ _names = {
1685
+ mount: keepStateOptions.keepDirtyValues ? _names.mount : /* @__PURE__ */ new Set(),
1686
+ unMount: /* @__PURE__ */ new Set(),
1687
+ array: /* @__PURE__ */ new Set(),
1688
+ registerName: /* @__PURE__ */ new Set(),
1689
+ disabled: /* @__PURE__ */ new Set(),
1690
+ watch: /* @__PURE__ */ new Set(),
1691
+ watchAll: false,
1692
+ focus: ""
1693
+ };
1694
+ _state.mount = !_proxyFormState.isValid || !!keepStateOptions.keepIsValid || !!keepStateOptions.keepDirtyValues || !_options.shouldUnregister && !isEmptyObject(values);
1695
+ _state.watch = !!_options.shouldUnregister;
1696
+ _state.keepIsValid = !!keepStateOptions.keepIsValid;
1697
+ _state.action = false;
1698
+ if (!keepStateOptions.keepErrors) {
1699
+ _formState.errors = {};
1700
+ }
1701
+ _subjects.state.next({
1702
+ submitCount: keepStateOptions.keepSubmitCount ? _formState.submitCount : 0,
1703
+ isDirty: isEmptyResetValues ? false : keepStateOptions.keepDirty ? _formState.isDirty : keepStateOptions.keepValues ? _getDirty() : !!(keepStateOptions.keepDefaultValues && !deepEqual(formValues, _defaultValues)),
1704
+ isSubmitted: keepStateOptions.keepIsSubmitted ? _formState.isSubmitted : false,
1705
+ dirtyFields: isEmptyResetValues ? {} : keepStateOptions.keepDirtyValues ? keepStateOptions.keepDefaultValues && _formValues ? getDirtyFields(_defaultValues, _formValues) : _formState.dirtyFields : keepStateOptions.keepDefaultValues && formValues ? getDirtyFields(_defaultValues, formValues) : keepStateOptions.keepDirty ? _formState.dirtyFields : {},
1706
+ touchedFields: keepStateOptions.keepTouched ? _formState.touchedFields : {},
1707
+ errors: keepStateOptions.keepErrors ? _formState.errors : {},
1708
+ isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful ? _formState.isSubmitSuccessful : false,
1709
+ isSubmitting: false,
1710
+ defaultValues: _defaultValues
1711
+ });
1712
+ };
1713
+ const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues) ? formValues(_formValues) : formValues, { ..._options.resetOptions, ...keepStateOptions });
1714
+ const setFocus = (name, options = {}) => {
1715
+ const field = get(_fields, name);
1716
+ const fieldReference = field && field._f;
1717
+ if (fieldReference) {
1718
+ const fieldRef = fieldReference.refs ? fieldReference.refs[0] : fieldReference.ref;
1719
+ if (fieldRef.focus) {
1720
+ setTimeout(() => {
1721
+ fieldRef.focus();
1722
+ options.shouldSelect && isFunction(fieldRef.select) && fieldRef.select();
1723
+ });
1724
+ }
1725
+ }
1726
+ };
1727
+ const _setFormState = (updatedFormState) => {
1728
+ _formState = {
1729
+ ..._formState,
1730
+ ...updatedFormState
1731
+ };
1732
+ };
1733
+ const _resetDefaultValues = () => isFunction(_options.defaultValues) && _options.defaultValues().then((values) => {
1734
+ reset(values, _options.resetOptions);
1735
+ _subjects.state.next({
1736
+ isLoading: false
1737
+ });
1738
+ });
1739
+ const resetDefaultValues = (values, options = {}) => {
1740
+ _defaultValues = cloneObject(values);
1741
+ if (!options.keepDirty) {
1742
+ const newDirtyFields = getDirtyFields(_defaultValues, _formValues);
1743
+ _formState.dirtyFields = newDirtyFields;
1744
+ _formState.isDirty = !isEmptyObject(newDirtyFields);
1745
+ }
1746
+ if (!options.keepIsValid) {
1747
+ _setValid();
1748
+ }
1749
+ _subjects.state.next({
1750
+ ..._formState,
1751
+ defaultValues: _defaultValues
1752
+ });
1753
+ };
1754
+ const methods = {
1755
+ control: {
1756
+ register,
1757
+ unregister,
1758
+ getFieldState,
1759
+ handleSubmit,
1760
+ setError,
1761
+ _subscribe,
1762
+ _runSchema,
1763
+ _updateIsValidating,
1764
+ _focusError,
1765
+ _getWatch,
1766
+ _getDirty,
1767
+ _setValid,
1768
+ _setFieldArray,
1769
+ _setDisabledField,
1770
+ _setErrors,
1771
+ _getFieldArray,
1772
+ _reset,
1773
+ _resetDefaultValues,
1774
+ _removeUnmounted,
1775
+ _disableForm,
1776
+ _subjects,
1777
+ _proxyFormState,
1778
+ get _fields() {
1779
+ return _fields;
1780
+ },
1781
+ get _formValues() {
1782
+ return _formValues;
1783
+ },
1784
+ get _state() {
1785
+ return _state;
1786
+ },
1787
+ set _state(value) {
1788
+ _state = value;
1789
+ },
1790
+ get _defaultValues() {
1791
+ return _defaultValues;
1792
+ },
1793
+ get _names() {
1794
+ return _names;
1795
+ },
1796
+ set _names(value) {
1797
+ _names = value;
1798
+ },
1799
+ get _formState() {
1800
+ return _formState;
1801
+ },
1802
+ get _options() {
1803
+ return _options;
1804
+ },
1805
+ set _options(value) {
1806
+ _options = {
1807
+ ..._options,
1808
+ ...value
1809
+ };
1810
+ _validationModeBeforeSubmit = getValidationModes(_options.mode);
1811
+ _validationModeAfterSubmit = getValidationModes(_options.reValidateMode);
1812
+ }
1813
+ },
1814
+ subscribe,
1815
+ trigger,
1816
+ register,
1817
+ handleSubmit,
1818
+ watch,
1819
+ setValue,
1820
+ setValues,
1821
+ getValues,
1822
+ reset,
1823
+ resetField,
1824
+ resetDefaultValues,
1825
+ clearErrors,
1826
+ unregister,
1827
+ setError,
1828
+ setFocus,
1829
+ getFieldState
1830
+ };
1831
+ return {
1832
+ ...methods,
1833
+ formControl: methods
1834
+ };
1835
+ }
1836
+ function useForm(props = {}) {
1837
+ const _formControl = React__default.useRef(void 0);
1838
+ const _values = React__default.useRef(void 0);
1839
+ const _formControlProp = React__default.useRef(props.formControl);
1840
+ const [formState, updateFormState] = React__default.useState(() => ({
1841
+ ...cloneObject(DEFAULT_FORM_STATE),
1842
+ isLoading: isFunction(props.defaultValues),
1843
+ errors: props.errors || {},
1844
+ disabled: props.disabled || false,
1845
+ defaultValues: isFunction(props.defaultValues) ? void 0 : props.defaultValues
1846
+ }));
1847
+ if (!_formControl.current || props.formControl && _formControlProp.current !== props.formControl) {
1848
+ _formControlProp.current = props.formControl;
1849
+ if (props.formControl) {
1850
+ _formControl.current = {
1851
+ ...props.formControl,
1852
+ formState
1853
+ };
1854
+ if (props.defaultValues && !isFunction(props.defaultValues)) {
1855
+ props.formControl.reset(props.defaultValues, props.resetOptions);
1856
+ }
1857
+ } else {
1858
+ const { formControl, ...rest } = createFormControl(props);
1859
+ _formControl.current = {
1860
+ ...rest,
1861
+ formState
1862
+ };
1863
+ }
1864
+ }
1865
+ const control = _formControl.current.control;
1866
+ control._options = props;
1867
+ useIsomorphicLayoutEffect(() => {
1868
+ const sub = control._subscribe({
1869
+ formState: control._proxyFormState,
1870
+ callback: () => updateFormState({
1871
+ ...control._formState,
1872
+ defaultValues: control._defaultValues
1873
+ }),
1874
+ reRenderRoot: true
1875
+ });
1876
+ updateFormState((data) => ({
1877
+ ...data,
1878
+ isReady: true
1879
+ }));
1880
+ control._formState.isReady = true;
1881
+ return sub;
1882
+ }, [control]);
1883
+ React__default.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
1884
+ React__default.useEffect(() => {
1885
+ if (props.mode) {
1886
+ control._options.mode = props.mode;
1887
+ }
1888
+ if (props.reValidateMode) {
1889
+ control._options.reValidateMode = props.reValidateMode;
1890
+ }
1891
+ }, [control, props.mode, props.reValidateMode]);
1892
+ React__default.useEffect(() => {
1893
+ if (props.errors) {
1894
+ control._setErrors(props.errors);
1895
+ control._focusError();
1896
+ }
1897
+ }, [control, props.errors]);
1898
+ React__default.useEffect(() => {
1899
+ props.shouldUnregister && control._subjects.state.next({
1900
+ values: control._getWatch()
1901
+ });
1902
+ }, [control, props.shouldUnregister]);
1903
+ React__default.useEffect(() => {
1904
+ if (control._proxyFormState.isDirty) {
1905
+ const isDirty = control._getDirty();
1906
+ if (isDirty !== formState.isDirty) {
1907
+ control._subjects.state.next({
1908
+ isDirty
1909
+ });
1910
+ }
1911
+ }
1912
+ }, [control, formState.isDirty]);
1913
+ React__default.useEffect(() => {
1914
+ var _a;
1915
+ if (props.values && !deepEqual(props.values, _values.current)) {
1916
+ control._reset(props.values, {
1917
+ keepFieldsRef: true,
1918
+ ...control._options.resetOptions
1919
+ });
1920
+ if (!((_a = control._options.resetOptions) === null || _a === void 0 ? void 0 : _a.keepIsValid)) {
1921
+ control._setValid();
1922
+ }
1923
+ _values.current = props.values;
1924
+ updateFormState((state) => ({ ...state }));
1925
+ } else {
1926
+ control._resetDefaultValues();
1927
+ }
1928
+ }, [control, props.values]);
1929
+ React__default.useEffect(() => {
1930
+ if (!control._state.mount) {
1931
+ control._setValid();
1932
+ control._state.mount = true;
1933
+ }
1934
+ if (control._state.watch) {
1935
+ control._state.watch = false;
1936
+ control._subjects.state.next({ ...control._formState });
1937
+ }
1938
+ control._removeUnmounted();
1939
+ });
1940
+ _formControl.current.formState = React__default.useMemo(() => getProxyFormState(formState, control), [control, formState]);
1941
+ return _formControl.current;
1942
+ }
1943
+ export {
1944
+ appendErrors,
1945
+ createFormControl,
1946
+ get,
1947
+ set,
1948
+ useForm
1949
+ };
1950
+ //# sourceMappingURL=index.esm.js.map