asma-ui-core 3.44.0 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/asma-ui-core.css +1 -1
  2. package/dist/components/custom/module/header-layout/ToolbarActionGroup.js +2 -2
  3. package/dist/components/custom/module/module-title/StyledModuleTitle.module.js +1 -1
  4. package/dist/components/custom/widget/widget/StyledWidget.module.js +8 -8
  5. package/dist/components/custom/widget/widget-title/StyledWidgetTitle.module.js +1 -1
  6. package/dist/components/data-display/ai-disclosure/StyledAIDisclosure.js +7 -5
  7. package/dist/components/data-display/badge/StyledBadge.js +53 -23
  8. package/dist/components/data-display/chip/StyledChip.js +62 -59
  9. package/dist/components/data-display/chip/chipPadding.js +44 -0
  10. package/dist/components/data-display/form-label/components/StyledFormLabel.js +18 -10
  11. package/dist/components/data-display/form-label/styles/StyledFormLabel.module.js +4 -4
  12. package/dist/components/data-display/interactive-chip/StyledInteractiveChip.js +35 -39
  13. package/dist/components/data-display/interactive-chip/StyledInteractiveChip.module.js +4 -0
  14. package/dist/components/data-display/tooltip/StyledTooltip.js +51 -33
  15. package/dist/components/data-display/typography/StyledTypography.js +62 -4
  16. package/dist/components/feedback/dialog/StyledDialog.js +102 -39
  17. package/dist/components/feedback/dialog/StyledDialog.module.js +2 -9
  18. package/dist/components/feedback/dialog/StyledDialogActions.js +16 -16
  19. package/dist/components/feedback/dialog/StyledDialogContent.js +18 -14
  20. package/dist/components/feedback/dialog/StyledDialogTitle.js +18 -13
  21. package/dist/components/feedback/empty-page/StyledEmptyPage.js +4 -4
  22. package/dist/components/feedback/filtered-empty-state/StyledFilteredEmptyState.js +7 -7
  23. package/dist/components/feedback/minimizable-dialog/MinimizableDialog.js +123 -114
  24. package/dist/components/feedback/minimizable-dialog/components/CloseBtn.js +6 -5
  25. package/dist/components/feedback/minimizable-dialog/components/FullscreenBtn.js +13 -12
  26. package/dist/components/feedback/minimizable-dialog/components/MinimizeBtn.js +15 -13
  27. package/dist/components/feedback/minimizable-dialog/v2/MinimizableDialogV2.js +67 -61
  28. package/dist/components/feedback/snack-bar/StyledAlert.js +95 -14
  29. package/dist/components/feedback/snack-bar/StyledSnackbar.js +34 -8
  30. package/dist/components/feedback/snack-bar/components/StyledDefaultSnackbar.js +32 -33
  31. package/dist/components/feedback/snack-bar/components/StyledDefaultSnackbar.module.js +16 -16
  32. package/dist/components/icons/check-icon/CheckIcon.js +8 -7
  33. package/dist/components/inputs/button/StyledButton.js +22 -18
  34. package/dist/components/inputs/button/StyledButton.module.js +5 -5
  35. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.js +61 -55
  36. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.module.js +12 -11
  37. package/dist/components/inputs/dynamic-select/components/DynamicInteractiveChipGroup.js +54 -50
  38. package/dist/components/inputs/dynamic-select/components/DynamicSelectAutocomplete.js +107 -99
  39. package/dist/components/inputs/field-styles.js +8 -0
  40. package/dist/components/inputs/input-field/StyledInputField.js +188 -83
  41. package/dist/components/inputs/input-field/StyledInputField.module.js +10 -0
  42. package/dist/components/inputs/label/StyledLabel.js +19 -11
  43. package/dist/components/inputs/label/StyledLabel.module.js +1 -1
  44. package/dist/components/inputs/radio-button/base-ui/RadioGroupContext.js +6 -0
  45. package/dist/components/inputs/radio-button/base-ui/StyledRadio.js +43 -28
  46. package/dist/components/inputs/radio-button/base-ui/StyledRadio.module.js +7 -6
  47. package/dist/components/inputs/radio-button/base-ui/StyledRadioGroup.js +37 -24
  48. package/dist/components/inputs/search-field/StyledSearchField.js +49 -43
  49. package/dist/components/inputs/select/StyledSelect.js +170 -45
  50. package/dist/components/inputs/select/StyledSelectItem.js +19 -23
  51. package/dist/components/inputs/select-autocomplete/StyledSelectAutocomplete.js +228 -150
  52. package/dist/components/inputs/slider/StyledSlider.js +100 -52
  53. package/dist/components/inputs/slider/StyledSlider.module.js +10 -0
  54. package/dist/components/inputs/switch/base-ui/StyledSwitch.js +45 -38
  55. package/dist/components/inputs/switch/base-ui/StyledSwitch.module.js +4 -4
  56. package/dist/components/inputs/textarea/StyledTextarea.js +44 -43
  57. package/dist/components/inputs/textarea/StyledTextarea.module.js +1 -1
  58. package/dist/components/miscellaneous/FormControlContext.js +6 -0
  59. package/dist/components/miscellaneous/StyledFormControl.js +42 -21
  60. package/dist/components/miscellaneous/StyledFormControlLabel.js +29 -15
  61. package/dist/components/miscellaneous/StyledFormGroup.js +16 -4
  62. package/dist/components/miscellaneous/StyledFormHelperText.js +12 -4
  63. package/dist/components/miscellaneous/StyledInputLabel.js +20 -4
  64. package/dist/components/mui-compat/Avatar.js +34 -0
  65. package/dist/components/mui-compat/ClickAwayListener.js +42 -0
  66. package/dist/components/mui-compat/Container.js +24 -0
  67. package/dist/components/mui-compat/Fade.js +29 -0
  68. package/dist/components/mui-compat/Fade.module.js +9 -0
  69. package/dist/components/mui-compat/FormLabel.js +22 -0
  70. package/dist/components/mui-compat/Paper.js +44 -0
  71. package/dist/components/mui-compat/Popper.js +35 -0
  72. package/dist/components/mui-compat/Skeleton.js +27 -0
  73. package/dist/components/mui-compat/Stack.js +24 -0
  74. package/dist/components/navigation/drawer/StyledDrawer.js +45 -4
  75. package/dist/components/navigation/link/StyledLink.module.js +5 -5
  76. package/dist/components/navigation/listbox/Listbox.js +7 -7
  77. package/dist/components/navigation/menu/StyledMenu.js +28 -11
  78. package/dist/components/navigation/menu/StyledMenuItem.js +21 -19
  79. package/dist/components/navigation/menu/StyledMenuList.js +34 -4
  80. package/dist/components/navigation/tabs/StyledTab.js +28 -13
  81. package/dist/components/navigation/tabs/StyledTabs.js +115 -66
  82. package/dist/components/navigation/tabs/TabsContext.js +6 -0
  83. package/dist/components/utils/accordion/base-ui/AccordionContext.js +10 -0
  84. package/dist/components/utils/accordion/base-ui/StyledAccordion.js +28 -21
  85. package/dist/components/utils/accordion/base-ui/StyledAccordion.module.js +7 -7
  86. package/dist/components/utils/accordion/base-ui/StyledAccordionDetails.js +28 -14
  87. package/dist/components/utils/accordion/base-ui/StyledAccordionSummary.js +34 -27
  88. package/dist/components/utils/copy-wrapper/CopyButton.js +8 -7
  89. package/dist/components/utils/copy-wrapper/CopyWrapper.js +23 -20
  90. package/dist/components/utils/filter-menu/StyledFilterButton.js +14 -13
  91. package/dist/components/utils/filter-menu/StyledFilterMenu.js +16 -15
  92. package/dist/components/utils/popover/StyledPopover.js +51 -15
  93. package/dist/components/utils/virtual-list/VirtualList.js +46 -0
  94. package/dist/datetime/components/date-picker/StyledDatePicker.js +17 -17
  95. package/dist/datetime/components/date-picker/components/BaseDatePickerInput.js +98 -99
  96. package/dist/datetime/components/date-picker/components/DatePickerButton.js +11 -9
  97. package/dist/datetime/components/date-picker/components/StyledCalendarPicker.js +11 -11
  98. package/dist/datetime/components/date-picker/components/StyledCalendarPicker.module.js +20 -20
  99. package/dist/datetime/components/date-picker/components/StyledCalendarPickerCaption.js +8 -7
  100. package/dist/datetime/components/date-picker/components/StyledCalendarPickerFooter.js +13 -14
  101. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectMonth.js +17 -24
  102. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectYear.js +7 -8
  103. package/dist/datetime/components/date-picker/components/StyledDayPicker.js +4 -5
  104. package/dist/datetime/components/date-picker/helpers.js +7 -7
  105. package/dist/datetime/components/date-picker/hooks/useDatePickerMask.js +3 -7
  106. package/dist/datetime/components/time-picker/StyledTimePicker.js +25 -25
  107. package/dist/datetime/components/time-picker/StyledTimePicker.module.js +6 -6
  108. package/dist/datetime/components/time-picker/TimePickerInput.js +56 -50
  109. package/dist/datetime/components/time-picker/TimePickerPopper.js +22 -19
  110. package/dist/datetime/components/time-picker/components/TimePickerColumn.js +12 -12
  111. package/dist/datetime/components/time-picker/helpers/getTimeFromValue.js +3 -3
  112. package/dist/datetime/helpers/cn.js +4 -5
  113. package/dist/datetime/hooks/useWindowWidthSize.hook.js +1 -1
  114. package/dist/helpers/arrays.js +4 -0
  115. package/dist/helpers/classOverride.js +12 -0
  116. package/dist/helpers/cn.js +4 -5
  117. package/dist/helpers/inputMask.js +58 -0
  118. package/dist/helpers/sx.js +46 -0
  119. package/dist/hooks/useFocusTrap.hook.js +34 -0
  120. package/dist/hooks/useTopLayer.hook.js +25 -0
  121. package/dist/index.js +185 -175
  122. package/dist/src/api-surface.test.d.ts +1 -0
  123. package/dist/src/components/custom/module/header-layout/DynamicToolbar.d.ts +10 -0
  124. package/dist/src/components/custom/module/module-title/StyledModuleTitle.d.ts +4 -0
  125. package/dist/src/components/custom/widget/widget/StyledWidget.d.ts +8 -0
  126. package/dist/src/components/custom/widget/widget-header/StyledWidgetHeader.d.ts +4 -0
  127. package/dist/src/components/custom/widget/widget-title/StyledWidgetTitle.d.ts +4 -0
  128. package/dist/src/components/data-display/ai-disclosure/StyledAIDisclosure.d.ts +7 -0
  129. package/dist/src/components/data-display/badge/StyledBadge.d.ts +40 -2
  130. package/dist/src/components/data-display/chip/StyledChip.d.ts +74 -5
  131. package/dist/src/components/data-display/chip/chipPadding.d.ts +3 -0
  132. package/dist/src/components/data-display/form-label/types.d.ts +11 -0
  133. package/dist/src/components/data-display/interactive-chip/StyledInteractiveChip.d.ts +22 -4
  134. package/dist/src/components/data-display/tooltip/StyledTooltip.d.ts +43 -1
  135. package/dist/src/components/data-display/typography/StyledTypography.d.ts +32 -1
  136. package/dist/src/components/feedback/dialog/StyledDialog.d.ts +60 -4
  137. package/dist/src/components/feedback/dialog/StyledDialogActions.d.ts +12 -2
  138. package/dist/src/components/feedback/dialog/StyledDialogContent.d.ts +12 -2
  139. package/dist/src/components/feedback/dialog/StyledDialogTitle.d.ts +10 -2
  140. package/dist/src/components/feedback/empty-page/StyledEmptyPage.d.ts +6 -0
  141. package/dist/src/components/feedback/filtered-empty-state/StyledFilteredEmptyState.d.ts +7 -0
  142. package/dist/src/components/feedback/loading/StyledLoading.d.ts +9 -0
  143. package/dist/src/components/feedback/minimizable-dialog/v2/types.d.ts +13 -0
  144. package/dist/src/components/feedback/minimizable-dialog/v2/useControlledProps.d.ts +4 -2
  145. package/dist/src/components/feedback/minimizable-dialog/v2/useTranslations.d.ts +17 -12
  146. package/dist/src/components/feedback/snack-bar/SnackbarProvider.d.ts +1 -1
  147. package/dist/src/components/feedback/snack-bar/StyledAlert.d.ts +41 -2
  148. package/dist/src/components/feedback/snack-bar/StyledAlertSnackbar.d.ts +1 -1
  149. package/dist/src/components/feedback/snack-bar/StyledSnackbar.d.ts +25 -2
  150. package/dist/src/components/feedback/snack-bar/components/StyledDefaultSnackbar.d.ts +10 -1
  151. package/dist/src/components/feedback/snack-bar/components/StyledInfoSnackbar.d.ts +1 -1
  152. package/dist/src/components/feedback/snack-bar/components/types.d.ts +1 -1
  153. package/dist/src/components/inputs/button/StyledButton.d.ts +15 -1
  154. package/dist/src/components/inputs/checkbox/base-ui/StyledCheckbox.d.ts +33 -4
  155. package/dist/src/components/inputs/dynamic-select/StyledDynamicSelect.d.ts +16 -0
  156. package/dist/src/components/inputs/dynamic-select/types.d.ts +25 -14
  157. package/dist/src/components/inputs/field-styles.d.ts +27 -0
  158. package/dist/src/components/inputs/input-field/StyledInputField.d.ts +85 -10
  159. package/dist/src/components/inputs/input-field/index.d.ts +1 -1
  160. package/dist/src/components/inputs/label/StyledLabel.d.ts +13 -0
  161. package/dist/src/components/inputs/radio-button/base-ui/RadioGroupContext.d.ts +10 -0
  162. package/dist/src/components/inputs/radio-button/base-ui/StyledRadio.d.ts +60 -5
  163. package/dist/src/components/inputs/radio-button/base-ui/StyledRadioGroup.d.ts +30 -7
  164. package/dist/src/components/inputs/search-field/StyledSearchField.d.ts +9 -1
  165. package/dist/src/components/inputs/select/StyledSelect.d.ts +70 -16
  166. package/dist/src/components/inputs/select/StyledSelectItem.d.ts +14 -2
  167. package/dist/src/components/inputs/select/index.d.ts +0 -1
  168. package/dist/src/components/inputs/select-autocomplete/StyledSelectAutocomplete.d.ts +120 -17
  169. package/dist/src/components/inputs/slider/StyledSlider.d.ts +66 -3
  170. package/dist/src/components/inputs/switch/base-ui/StyledSwitch.d.ts +44 -4
  171. package/dist/src/components/inputs/textarea/StyledTextarea.d.ts +19 -0
  172. package/dist/src/components/miscellaneous/FormControlContext.d.ts +14 -0
  173. package/dist/src/components/miscellaneous/StyledFormControl.d.ts +27 -2
  174. package/dist/src/components/miscellaneous/StyledFormControlLabel.d.ts +21 -2
  175. package/dist/src/components/miscellaneous/StyledFormGroup.d.ts +11 -2
  176. package/dist/src/components/miscellaneous/StyledFormHelperText.d.ts +12 -2
  177. package/dist/src/components/miscellaneous/StyledInputLabel.d.ts +20 -2
  178. package/dist/src/components/mui-compat/Avatar.d.ts +6 -0
  179. package/dist/src/components/mui-compat/ClickAwayListener.d.ts +19 -0
  180. package/dist/src/components/mui-compat/Container.d.ts +6 -0
  181. package/dist/src/components/mui-compat/Fade.d.ts +21 -0
  182. package/dist/src/components/mui-compat/FormLabel.d.ts +6 -0
  183. package/dist/src/components/mui-compat/Paper.d.ts +6 -0
  184. package/dist/src/components/mui-compat/Popper.d.ts +29 -0
  185. package/dist/src/components/mui-compat/Skeleton.d.ts +7 -0
  186. package/dist/src/components/mui-compat/Stack.d.ts +7 -0
  187. package/dist/src/components/mui-compat/index.d.ts +9 -0
  188. package/dist/src/components/mui-compat/types.d.ts +46 -0
  189. package/dist/src/components/navigation/drawer/StyledDrawer.d.ts +33 -2
  190. package/dist/src/components/navigation/link/StyledLink.d.ts +13 -0
  191. package/dist/src/components/navigation/menu/StyledMenu.d.ts +33 -2
  192. package/dist/src/components/navigation/menu/StyledMenuItem.d.ts +35 -2
  193. package/dist/src/components/navigation/menu/StyledMenuList.d.ts +16 -2
  194. package/dist/src/components/navigation/menu/index.d.ts +0 -1
  195. package/dist/src/components/navigation/tabs/StyledTab.d.ts +27 -3
  196. package/dist/src/components/navigation/tabs/StyledTabs.d.ts +22 -7
  197. package/dist/src/components/navigation/tabs/TabsContext.d.ts +11 -0
  198. package/dist/src/components/utils/accordion/base-ui/AccordionContext.d.ts +10 -0
  199. package/dist/src/components/utils/accordion/base-ui/StyledAccordion.d.ts +9 -3
  200. package/dist/src/components/utils/accordion/base-ui/StyledAccordionDetails.d.ts +5 -0
  201. package/dist/src/components/utils/accordion/base-ui/StyledAccordionSummary.d.ts +16 -4
  202. package/dist/src/components/utils/copy-wrapper/CopyWrapper.d.ts +6 -1
  203. package/dist/src/components/utils/filter-menu/StyledFilterButton.d.ts +4 -0
  204. package/dist/src/components/utils/filter-menu/StyledFilterMenu.d.ts +8 -2
  205. package/dist/src/components/utils/popover/StyledPopover.d.ts +39 -2
  206. package/dist/src/components/utils/virtual-list/VirtualList.d.ts +32 -0
  207. package/dist/src/components/utils/virtual-list/index.d.ts +1 -0
  208. package/dist/src/datetime/components/date-picker/StyledDatePicker.d.ts +11 -0
  209. package/dist/src/datetime/components/date-picker/components/DatePickerButton.d.ts +2 -0
  210. package/dist/src/datetime/components/date-picker/components/StyledCalendarPicker.d.ts +1 -1
  211. package/dist/src/datetime/components/date-picker/components/StyledDayPicker.d.ts +1 -1
  212. package/dist/src/datetime/components/date-picker/hooks/useDatePickerMask.d.ts +1 -2
  213. package/dist/src/datetime/components/date-picker/hooks/useDatePickerValidation.d.ts +7 -5
  214. package/dist/src/datetime/components/time-picker/StyledTimePicker.d.ts +10 -0
  215. package/dist/src/datetime/components/time-picker/TimePickerInput.d.ts +1 -1
  216. package/dist/src/datetime/components/time-picker/TimePickerPopper.d.ts +1 -1
  217. package/dist/src/datetime/components/time-picker/types.d.ts +1 -2
  218. package/dist/src/datetime/hooks/useToggleMenuVisibility.hook.d.ts +6 -4
  219. package/dist/src/datetime/shared-components/StyledFormControl.d.ts +1 -2
  220. package/dist/src/datetime/shared-components/StyledInputField.d.ts +1 -12
  221. package/dist/src/datetime/shared-components/StyledSelect.d.ts +1 -16
  222. package/dist/src/datetime/shared-components/StyledSelectItem.d.ts +1 -2
  223. package/dist/src/datetime/shared-components/StyledTooltip.d.ts +1 -2
  224. package/dist/src/helpers/applyImportantPadding.d.ts +8 -0
  225. package/dist/src/helpers/arrays.d.ts +2 -0
  226. package/dist/src/helpers/arrays.test.d.ts +1 -0
  227. package/dist/src/helpers/classOverride.d.ts +21 -0
  228. package/dist/src/helpers/classOverride.test.d.ts +1 -0
  229. package/dist/src/helpers/inputMask.d.ts +40 -0
  230. package/dist/src/helpers/inputMask.test.d.ts +1 -0
  231. package/dist/src/helpers/sx.d.ts +2 -0
  232. package/dist/src/helpers/sx.test.d.ts +1 -0
  233. package/dist/src/hooks/useFocusTrap.hook.d.ts +10 -0
  234. package/dist/src/hooks/useTopLayer.hook.d.ts +49 -0
  235. package/dist/src/index.d.ts +2 -1
  236. package/dist/src/table/components/columns/helpers/useElementHeightPx.d.ts +6 -3
  237. package/dist/src/table/components/columns/helpers/useProxyHorizontalScrollSync.d.ts +9 -6
  238. package/dist/src/table/hooks/useToggleMenuVisibility.hook.d.ts +6 -4
  239. package/dist/src/table/hooks/useTranslations.d.ts +15 -8
  240. package/dist/src/table/shared-components/StyledCheckbox.d.ts +7 -4
  241. package/dist/src/table/shared-components/StyledMenuItem.d.ts +18 -2
  242. package/dist/src/table/shared-components/menu-item/index.d.ts +13 -2
  243. package/dist/src/table/shared-components/tooltip/index.d.ts +5 -1
  244. package/dist/src/table/types.d.ts +1 -1
  245. package/dist/table/components/Fetching.js +4 -4
  246. package/dist/table/components/StyledTable.module.js +48 -48
  247. package/dist/table/components/TableRow.js +7 -7
  248. package/dist/table/components/TableSkeleton.js +6 -6
  249. package/dist/table/components/columns/action-column/actionColumn.js +14 -11
  250. package/dist/table/components/columns/action-column/components/HeaderActionMenu.js +52 -49
  251. package/dist/table/components/columns/action-column/components/RowActionMenu.js +40 -36
  252. package/dist/table/components/columns/expandColumn.js +12 -9
  253. package/dist/table/components/table-footer/TablePagination.js +28 -25
  254. package/dist/table/components/table-footer/TableRowCountSelect.js +31 -28
  255. package/dist/table/components/table-header/TableHeaderCell.js +54 -45
  256. package/dist/table/custom-features/focus-rows/FocusRowsFeature.js +29 -25
  257. package/dist/table/helpers/cn.js +4 -5
  258. package/dist/table/hooks/useColumnVirtualizer.js +1 -1
  259. package/dist/table/hooks/usePersistedPageSize.js +6 -6
  260. package/dist/table/hooks/useTranslations.js +6 -4
  261. package/dist/table/hooks/useWindowWidthSize.hook.js +1 -1
  262. package/dist/table/shared-components/StyledCheckbox.js +54 -55
  263. package/dist/table/shared-components/StyledCheckbox.module.js +9 -9
  264. package/dist/table/shared-components/StyledMenuItem.js +14 -17
  265. package/dist/table/shared-components/button/StyledButton.module.js +8 -8
  266. package/dist/table/shared-components/menu-item/index.js +15 -16
  267. package/dist/table/shared-components/tooltip/index.js +4 -23
  268. package/package.json +9 -18
  269. package/src/styles/components-colors/inputVariables.css +59 -57
  270. package/src/styles/index.css +38 -0
  271. package/dist/components/feedback/dialog/StyledDialogActions.module.js +0 -8
  272. package/dist/components/feedback/dialog/StyledDialogContent.module.js +0 -4
  273. package/dist/components/feedback/dialog/StyledDialogTitle.module.js +0 -4
  274. package/dist/components/icons/arrow-expand/ArrowExpand.js +0 -18
  275. package/dist/components/icons/arrow-expand/index.js +0 -1
  276. package/dist/components/icons/arrow-shrink/ArrowShrink.js +0 -18
  277. package/dist/components/icons/arrow-shrink/index.js +0 -1
  278. package/dist/components/inputs/checkbox/StyledCheckbox.js +0 -20
  279. package/dist/components/inputs/radio-button/StyledRadio.js +0 -17
  280. package/dist/datetime/components/date-picker/components/HelperTextWithTooltip.js +0 -39
  281. package/dist/datetime/shared-components/ExpandIcon.js +0 -18
  282. package/dist/datetime/shared-components/StyledFormControl.js +0 -23
  283. package/dist/datetime/shared-components/StyledInputField.js +0 -47
  284. package/dist/datetime/shared-components/StyledSelect.js +0 -47
  285. package/dist/datetime/shared-components/StyledSelectItem.js +0 -13
  286. package/dist/datetime/shared-components/StyledTooltip.js +0 -32
  287. package/dist/src/components/icons/arrow-expand/ArrowExpand.d.ts +0 -2
  288. package/dist/src/components/icons/arrow-expand/index.d.ts +0 -1
  289. package/dist/src/components/icons/arrow-shrink/ArrowShrink.d.ts +0 -2
  290. package/dist/src/components/icons/arrow-shrink/index.d.ts +0 -1
  291. package/dist/src/components/inputs/checkbox/StyledCheckbox.d.ts +0 -4
  292. package/dist/src/components/inputs/radio-button/StyledRadio.d.ts +0 -4
  293. package/dist/src/components/inputs/radio-button/StyledRadioGroup.d.ts +0 -4
  294. package/dist/src/components/inputs/switch/StyledSwitch.d.ts +0 -5
  295. package/dist/src/components/utils/accordion/StyledAccordion.d.ts +0 -2
  296. package/dist/src/components/utils/accordion/StyledAccordionDetails.d.ts +0 -2
  297. package/dist/src/components/utils/accordion/StyledAccordionSummary.d.ts +0 -8
  298. package/dist/src/datetime/components/date-picker/components/HelperTextWithTooltip.d.ts +0 -5
@@ -1,17 +1,46 @@
1
- import { default as React, SVGProps } from 'react';
2
- import { Checkbox } from '@base-ui/react/checkbox';
1
+ import { default as React, ChangeEvent, SVGProps } from 'react';
2
+ /**
3
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#15385-19713
4
+ * Figma "Checkbox" (box 20px, 40px touch). Figma **Type** (Unchecked/Indeterminate/Checked) ←
5
+ * `checked`/`indeterminate`; Figma **State** (Enabled/Hovered/Focused/Disabled/Read-only) ← native
6
+ * hover/focus + `disabled`/`readOnly`/`error`. Checked/indeterminate box = `gama-500` #168181,
7
+ * unchecked border = `delta-500`; Error = box border `error-500` #e10700 (node 41325-207511/207527).
8
+ */
3
9
  type StyledCheckboxProps = {
10
+ /** @figmaProp none — test hook */
4
11
  dataTest: string;
12
+ /** @figmaProp none — app size (Figma box is 20px) */
5
13
  size?: 'small' | 'medium';
14
+ /** @figmaProp Type = true→"Checked" | false→"Unchecked" */
6
15
  checked?: boolean;
16
+ /** @figmaProp Type = true→"Indeterminate" */
7
17
  indeterminate?: boolean;
18
+ /** @figmaProp State = true→"Error" (box border → error-500) */
19
+ error?: boolean;
8
20
  disableRipple?: boolean;
9
21
  hideWrapper?: boolean;
10
22
  className?: string;
11
23
  checkboxClassName?: string;
12
- onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
13
- } & Omit<React.ComponentProps<typeof Checkbox.Root>, 'children'>;
24
+ onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
25
+ /**
26
+ * Renders the identical visual box (same classes/data-attrs — no visual change) with NO real
27
+ * `<input>` at all, for use as a pure state indicator inside a widget that already owns
28
+ * selection itself (e.g. a multi-select `role="option"` row, whose own `aria-selected` is the
29
+ * real accessible state). A real `<input type="checkbox">` there is a genuine axe
30
+ * `nested-interactive` violation (a focusable, semantically-interactive element nested inside a
31
+ * non-focusable widget descendant) — `aria-hidden`/`tabIndex={-1}` do NOT satisfy that check, only
32
+ * removing the input does. Do not use this for a checkbox that is itself the control (nothing else
33
+ * would let a keyboard/AT user operate it).
34
+ */
35
+ decorative?: boolean;
36
+ } & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'checked' | 'type'>;
14
37
  export declare const IndeterminateIcon: (props: SVGProps<SVGSVGElement>) => JSX.Element;
15
38
  export declare const CheckIcon: (props: SVGProps<SVGSVGElement>) => JSX.Element;
39
+ /**
40
+ * Native `<input type="checkbox">` checkbox (replaces `@base-ui/react`). A visually-hidden input
41
+ * carries state + a11y; the visual box, ripple, and indeterminate bar come from the SCSS module
42
+ * (kept: `@keyframes`/pseudo-elements aren't Tailwind-expressible — GUD-003), whose `data-*`
43
+ * selectors are driven from React here. Public props unchanged. TASK-201.
44
+ */
16
45
  export declare const StyledCheckbox: React.FC<StyledCheckboxProps>;
17
46
  export {};
@@ -3,6 +3,22 @@ import { StyledDynamicSelectComponent } from './types';
3
3
  * A smart, adaptive select input that automatically chooses the best UI representation
4
4
  * based on the number of options provided.
5
5
  *
6
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#31009-173666
7
+ * Figma **"Dynamic select"** has no single component — it is a *reference table* mapping the
8
+ * option count (columns: **≤5**, **>5 & ≤10**, **>10**) × selection mode (rows: **Single**,
9
+ * **Multiple**) to a representation, which this component's thresholds reproduce exactly:
10
+ * - **≤5 → Chips select** (`DynamicInteractiveChipGroup`): `StyledInteractiveChip` radio (single)
11
+ * or checkbox (multiple) chips; long labels stack vertically; "Clear selection" link + helper row.
12
+ * - **>5 & ≤10 → Select (dropdown)**: outlined `StyledInputField` trigger + `Menus` list, typing
13
+ * disabled (caret hidden, keyboard blocked).
14
+ * - **>10 → Autocomplete**: same trigger + scrollable `Menus` list with type-ahead search.
15
+ * Each representation is composed from components already aligned to their own Figma nodes (Chip
16
+ * `13248-31089`, Input field `15561-37391`, Menus `16073-19226`, Autocomplete `20474-27966`), so
17
+ * parity here is the mode routing + the shared title/clear/helper chrome, not a bespoke visual.
18
+ * Title = Body Base SemiBold 16 `text-icon/title-label` #363e4a (delta-800); dropdown option =
19
+ * Menus item (`text-icon/body` delta-700, hover delta-50, selected gama-50). Non-annotated props
20
+ * are behavioral / MUI `Autocomplete` API-parity.
21
+ *
6
22
  * **Rendering strategy:**
7
23
  * - `1–5 options` → renders as an interactive chip group (`DynamicInteractiveChipGroup`).
8
24
  * Chips behave as radio buttons (single) or checkboxes (multiple).
@@ -1,4 +1,4 @@
1
- import { AutocompleteProps } from '@mui/material';
1
+ import { StyledSelectAutocompleteProps } from '../select-autocomplete';
2
2
  import { default as React } from 'react';
3
3
  export type DynamicSelectOptionPrimitive = string | number | boolean;
4
4
  export type DynamicSelectOptionObject = {
@@ -8,42 +8,46 @@ export type DynamicSelectOptionObject = {
8
8
  } & object;
9
9
  export type DynamicSelectOption = DynamicSelectOptionPrimitive | (DynamicSelectOptionObject & object);
10
10
  interface SingleDynamicSelectProps<TOption extends DynamicSelectOption> {
11
+ /** @figmaProp Selection mode = "Single select" row (radio chips / single-value field). */
11
12
  multiple?: false;
13
+ /** @figmaProp Filled — the single selected option (fills the field / checks the chip). */
12
14
  value: TOption | null;
13
15
  onChange: (value: TOption | null) => void;
14
16
  }
15
17
  interface MultipleDynamicSelectProps<TOption extends DynamicSelectOption> {
18
+ /** @figmaProp Selection mode = "Multiple select" row (checkbox chips / tag chips + `+`). */
16
19
  multiple: true;
20
+ /** @figmaProp Filled — selected options (tag chips in the field / checked chips). */
17
21
  value: TOption[] | null;
18
22
  onChange: (value: TOption[] | null) => void;
19
23
  }
20
24
  interface DynamicSelectCommonProps<TOption extends DynamicSelectOption> {
21
- /** Unique identifier used as the root `data-test` attribute for QA selectors. */
25
+ /** @figmaProp none test hook */
22
26
  dataTest: string;
23
- /** The full list of selectable options. Determines which UI is rendered: 15chip group, 0 or 6+ → autocomplete. */
27
+ /** @figmaProp option-count column 1–5 Chips select, 610Select (dropdown), 11+ → Autocomplete. */
24
28
  options: TOption[];
25
- /** When `true`, the component is non-interactive and only shows selected value(s) as plain chip(s). */
29
+ /** @figmaProp State = true→"Read-only" (non-interactive; selected value(s) shown as plain chips). */
26
30
  readOnly?: boolean;
27
31
  /** Prevents the built-in clear button from appearing even when a value is set. Applies to autocomplete only. */
28
32
  disableClearable?: boolean;
29
- /** Optional label rendered above the input/chip group. */
33
+ /** @figmaProp Title (Body Base SemiBold 16, text-icon/title-label delta-800) above the control. */
30
34
  title?: string;
31
- /** Controls the visual size of chips and buttons. Defaults to `'medium'`. */
35
+ /** @figmaProp none app size (chips/buttons). Defaults to `'medium'`. */
32
36
  size?: 'small' | 'medium';
33
37
  /** Placeholder text shown in the autocomplete input when no value is selected. */
34
38
  placeholder?: string;
35
- /** Disables all interactions. */
39
+ /** @figmaProp State = true→"Disabled" */
36
40
  disabled?: boolean;
37
- /** Text shown in the autocomplete dropdown when no options match the search query. */
41
+ /** @figmaProp Empty-state text in the dropdown when no options match the search. */
38
42
  noOptionsText?: string;
39
- /** When `true`, shows the error style and renders an error icon next to the helper text. */
43
+ /** @figmaProp State = true→"Error" (error border/icon + red helper row). */
40
44
  error?: boolean;
41
45
  /**
42
- * When `true`, hides the "Clear selection" button in the chip group.
46
+ * @figmaProp Required hides the chip-group "Clear selection" link (must keep a value).
43
47
  * Use this when the field must always have a value.
44
48
  */
45
49
  required?: boolean;
46
- /** Supplementary text rendered below the input. Shown as-is, or falls back to `'Required'` when `error=true` and no text is provided. */
50
+ /** @figmaProp Helper text (Helper 14/lh20; falls back to "Required" when `error` and no text). */
47
51
  helperText?: React.ReactNode;
48
52
  /** Completely removes the helper text block below the autocomplete */
49
53
  disableHelperText?: boolean;
@@ -58,8 +62,8 @@ interface DynamicSelectCommonProps<TOption extends DynamicSelectOption> {
58
62
  */
59
63
  labelKey?: TOption extends object ? keyof TOption : never;
60
64
  /**
61
- * Custom label renderer. When provided, its return value is used instead of the
62
- * plain string resolved from `labelKey`. Useful for rich content (icons, avatars, etc.).
65
+ * @figmaProp Complex label rich option content (the Figma "Complex with long labels and
66
+ * helper text" rows: title + description, avatars, icons). Overrides the `labelKey` string.
63
67
  */
64
68
  renderLabel?: (option: TOption) => React.ReactNode;
65
69
  /**
@@ -69,8 +73,15 @@ interface DynamicSelectCommonProps<TOption extends DynamicSelectOption> {
69
73
  getOptionTooltip?: (option: TOption) => React.ReactNode;
70
74
  /** Node prepended inside the autocomplete text input (e.g. a search icon). */
71
75
  startAdornment?: React.ReactNode;
76
+ /**
77
+ * Forwarded to the underlying autocomplete text input (autocomplete variant only), so
78
+ * validation/side-effects belong on the field itself instead of a wrapper element — e.g.
79
+ * clear an error `onFocus`, validate `onBlur`. Merged with the field's own focus handling.
80
+ */
81
+ onFocus?: React.FocusEventHandler<HTMLInputElement>;
82
+ onBlur?: React.FocusEventHandler<HTMLInputElement>;
72
83
  /** Escape hatch to pass any MUI `Autocomplete` prop directly. Applied on top of internal defaults in the autocomplete variant. */
73
- autocompleteProps?: Partial<AutocompleteProps<TOption, boolean | undefined, boolean | undefined, boolean | undefined>>;
84
+ autocompleteProps?: Partial<StyledSelectAutocompleteProps<TOption, boolean | undefined, boolean | undefined, boolean | undefined>>;
74
85
  /**
75
86
  * When `true`, renders loading skeletons (chip group) or disables the input (autocomplete)
76
87
  * while data is being fetched.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared outlined-field styling so `StyledInputField`, `StyledInputLabel` (+ `StyledFormControl`)
3
+ * and `StyledSelect` render an identical border + floating label without MUI. TASK-401.
4
+ */
5
+ export type FieldSize = 'small' | 'medium';
6
+ interface FieldState {
7
+ focused?: boolean;
8
+ error?: boolean;
9
+ disabled?: boolean;
10
+ readOnly?: boolean;
11
+ }
12
+ /** The border overlay (an absolutely-positioned sibling so width changes never reflow the input). */
13
+ export declare const outlineClass: ({ focused, error, disabled, readOnly }: FieldState) => string;
14
+ /** MUI-compatible fieldset outline used by text fields with floating labels. */
15
+ export declare const notchedOutlineClass: ({ focused, error, disabled, readOnly, notched, }: FieldState & {
16
+ notched?: boolean;
17
+ }) => string;
18
+ export declare const notchedLegendClass: (shrink: boolean) => string;
19
+ /**
20
+ * The floating label. `shrink` lifts it onto the top border (outside the 40px input box).
21
+ * Resting state centers in the field as a placeholder surrogate.
22
+ */
23
+ export declare const floatingLabelClass: ({ shrink, focused, error, disabled, readOnly, }: FieldState & {
24
+ shrink: boolean;
25
+ size?: FieldSize;
26
+ }) => string;
27
+ export {};
@@ -1,14 +1,89 @@
1
- import { TextFieldProps } from '@mui/material';
1
+ import { ChangeEvent, CSSProperties, FocusEvent, HTMLAttributes, InputHTMLAttributes, ReactNode, Ref } from 'react';
2
+ import { FieldSize } from '../field-styles';
3
+ interface InputSlot {
4
+ startAdornment?: ReactNode;
5
+ endAdornment?: ReactNode;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ ref?: Ref<HTMLInputElement | HTMLDivElement>;
9
+ [key: string]: unknown;
10
+ }
11
+ type HtmlInputSlot = InputHTMLAttributes<HTMLInputElement> & {
12
+ ref?: Ref<HTMLInputElement>;
13
+ };
2
14
  /**
3
- *
4
- * @inputRef
5
- * inputRef to get Node of Input Element inside
6
- *
7
- * type='mui-input' is temporary, remove it after deleting antd from all projects. Antd lib overwrites styles for type[text]
15
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#15561-37391
16
+ * Figma "Input field" component. The Figma **State** property (Enabled/Hovered/Active-Focused/
17
+ * Error/Disabled/Read only) is driven by native focus/hover + the `error`/`disabled`/`readOnly`
18
+ * props; **Filled** (on/off) is derived from `value`/`defaultValue`. **Unify** and **Mixed state**
19
+ * are Figma-authoring properties with no React counterpart. Non-annotated props are behavioral /
20
+ * MUI `TextField` API-parity (DEC-003).
8
21
  */
9
- export declare const StyledInputField: React.FC<TextFieldProps & {
22
+ export interface StyledInputFieldProps {
23
+ /** @figmaProp none — test hook */
24
+ dataTest: string;
25
+ /** @figmaProp Label element (floating) */
26
+ label?: ReactNode;
27
+ /** @figmaProp Filled = (value != '')→"on" | else→"off" */
28
+ value?: string | number;
29
+ /** @figmaProp Filled = (defaultValue != '')→"on" | else→"off" */
30
+ defaultValue?: string | number;
31
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
32
+ onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
33
+ onFocus?: (event: FocusEvent<HTMLInputElement>) => void;
34
+ /** @figmaProp State = true→"Error" */
35
+ error?: boolean;
36
+ /** @figmaProp Helper text element */
37
+ helperText?: ReactNode;
38
+ /** @figmaProp State = true→"Disabled" */
39
+ disabled?: boolean;
40
+ /** @figmaProp State = true→"Read only" */
41
+ readOnly?: boolean;
42
+ required?: boolean;
10
43
  allowClear?: boolean;
11
44
  onClear?: () => void;
12
- readOnly?: boolean;
13
- dataTest: string;
14
- }>;
45
+ type?: string;
46
+ placeholder?: string;
47
+ name?: string;
48
+ id?: string;
49
+ autoComplete?: string;
50
+ autoFocus?: boolean;
51
+ multiline?: boolean;
52
+ rows?: number;
53
+ minRows?: number;
54
+ maxRows?: number;
55
+ size?: FieldSize;
56
+ /** Accepted for API parity; the design always renders outlined. */
57
+ variant?: string;
58
+ fullWidth?: boolean;
59
+ className?: string;
60
+ style?: CSSProperties;
61
+ sx?: unknown;
62
+ inputRef?: Ref<HTMLInputElement | HTMLTextAreaElement>;
63
+ slotProps?: {
64
+ input?: InputSlot;
65
+ htmlInput?: HtmlInputSlot;
66
+ inputLabel?: HTMLAttributes<HTMLLabelElement> & Record<string, unknown>;
67
+ formHelperText?: {
68
+ sx?: unknown;
69
+ className?: string;
70
+ hideErrorIcon?: boolean;
71
+ };
72
+ };
73
+ /** Legacy MUI adornment slot (still used by ~22 call sites). */
74
+ InputProps?: InputSlot;
75
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
76
+ /** Forwarded to the field root (MUI `TextField` parity); e.g. to stop clicks bubbling to a sortable header. */
77
+ onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
78
+ }
79
+ /**
80
+ * Outlined text field with a floating label (replaces MUI `TextField`). Self-contained: manages its
81
+ * own focus/value state to drive the shared field styling ([[field-styles]]); supports multiline,
82
+ * start/end adornments, an optional clear button, and error/helper text. Public props preserved
83
+ * (DEC-003). TASK-401.
84
+ *
85
+ * ponytail: `variant` is accepted but always renders outlined, and multiline uses fixed `rows`
86
+ * (no auto-grow to `maxRows`) — known ceilings; Chromatic in CI is the visual gate.
87
+ */
88
+ export declare const StyledInputField: ({ dataTest, label, value, defaultValue, onChange, onBlur, onFocus, error, helperText, disabled, readOnly, required, allowClear, onClear, type, placeholder, name, id, autoComplete, autoFocus, multiline, rows, minRows, maxRows, size, fullWidth, className, style, sx, inputRef, slotProps, InputProps, onKeyDown, onClick, variant: _variant, }: StyledInputFieldProps) => JSX.Element;
89
+ export {};
@@ -1,2 +1,2 @@
1
1
  export * from './StyledInputField';
2
- export { type TextFieldProps } from '@mui/material';
2
+ export type { StyledInputFieldProps as TextFieldProps } from './StyledInputField';
@@ -1,9 +1,22 @@
1
1
  import { CSSProperties, FC, MouseEvent, ReactNode } from 'react';
2
+ /**
3
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#15181-43701 (Design-System · "Label / Highlighting")
4
+ *
5
+ * Small uppercase highlighting/status pill: h16, px6, radius 3, X-small Semibold uppercase
6
+ * (11/12, ls 0.55px). The generic default is a gama label; highlighting variants
7
+ * (Good/Attention/Warning/Urgent = success/warning/orange/error -300 + black text) are applied by
8
+ * the consumer via `className`/`style` (Type is not a component property here).
9
+ */
2
10
  export interface StyledLabelProps {
11
+ /** @figmaProp none — the label text (auto-uppercased) */
3
12
  children: ReactNode;
13
+ /** @figmaProp none — behavioral */
4
14
  onClick?: (event: MouseEvent<HTMLDivElement>) => void;
15
+ /** @figmaProp Type — highlighting colour (bg/text) is applied here (success/warning/orange/error -300) */
5
16
  className?: string;
17
+ /** @figmaProp none — test hook */
6
18
  dataTest: string;
19
+ /** @figmaProp none — inline colour override for highlighting variants */
7
20
  style?: CSSProperties;
8
21
  }
9
22
  export declare const StyledLabel: FC<StyledLabelProps>;
@@ -0,0 +1,10 @@
1
+ export type RadioValue = string | number | boolean | null;
2
+ export interface RadioGroupContextValue {
3
+ name: string;
4
+ value?: RadioValue;
5
+ disabled?: boolean;
6
+ onSelect: (value: RadioValue) => void;
7
+ }
8
+ /** Shared state for the native radio group (replaces `@base-ui/react`'s RadioGroup context). */
9
+ export declare const RadioGroupContext: import('node_modules/@types/react').Context<RadioGroupContextValue | null>;
10
+ export declare const useRadioGroupContext: () => RadioGroupContextValue | null;
@@ -1,10 +1,65 @@
1
- import { default as React } from 'react';
2
- import { Radio } from '@base-ui/react/radio';
1
+ import { default as React, ChangeEvent, InputHTMLAttributes } from 'react';
2
+ import { RadioValue } from './RadioGroupContext';
3
+ /**
4
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#15385-19720
5
+ * Figma "Radio" / `_BASE_Radiobutton` (circle 20px, 40px touch). Figma **Selected** (on/off) ←
6
+ * `checked` (or the surrounding `StyledRadioGroup`); Figma **State** (Enabled/Hovered/Focused/
7
+ * Pressed/Error/Disabled/Read-only) ← native hover/focus + `error`/`disabled`/`readOnly`. Checked
8
+ * ring + dot = `gama-500` #168181, unchecked border = `delta-500`, disabled = `delta-300`,
9
+ * read-only = unchecked ring `delta-300` / checked ring+dot `delta-500` (node 35046-162573/162576).
10
+ */
3
11
  export type StyledRadioProps = {
4
- value?: string | number | boolean;
12
+ /** @figmaProp none — the group value this radio represents */
13
+ value?: RadioValue;
14
+ /** @figmaProp none — test hook */
5
15
  dataTest?: string;
6
16
  className?: string;
17
+ /** @figmaProp none — app size (Figma circle is 20px) */
7
18
  size?: 'small' | 'medium';
19
+ /** @figmaProp State = true→"Error" */
8
20
  error?: boolean;
9
- } & Omit<React.ComponentProps<typeof Radio.Root>, 'value' | 'className'>;
10
- export declare const StyledRadio: React.ForwardRefExoticComponent<Omit<StyledRadioProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
21
+ /** @figmaProp State = true→"Read-only" (unchecked ring delta-300 / checked ring+dot delta-500) */
22
+ readOnly?: boolean;
23
+ /** @figmaProp Selected = true→"on" | false→"off" */
24
+ checked?: boolean;
25
+ onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
26
+ /**
27
+ * Renders the identical visual circle/dot (same classes/data-attrs — no visual change) with NO
28
+ * real `<input>` at all, for use as a pure state indicator inside a widget that already owns
29
+ * selection itself (e.g. `StyledInteractiveChip`, whose `clickable` chip handles the click — this
30
+ * radio is `pointer-events-none` there already). A real `<input type="radio">` nested inside
31
+ * that chip's `role="button"` is a genuine axe `nested-interactive` violation; see
32
+ * `StyledCheckbox`'s identical `decorative` prop for the full rationale.
33
+ */
34
+ decorative?: boolean;
35
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'className' | 'size' | 'checked' | 'onChange' | 'type'>;
36
+ /**
37
+ * Native `<input type="radio">` (replaces `@base-ui/react`). Uses the surrounding
38
+ * `StyledRadioGroup` context for name/selection when present, else the standalone `checked` prop.
39
+ * SCSS module (ripple/pseudo-elements — GUD-003) is driven via `data-*` from React. TASK-201.
40
+ */
41
+ export declare const StyledRadio: React.ForwardRefExoticComponent<{
42
+ /** @figmaProp none — the group value this radio represents */
43
+ value?: RadioValue;
44
+ /** @figmaProp none — test hook */
45
+ dataTest?: string;
46
+ className?: string;
47
+ /** @figmaProp none — app size (Figma circle is 20px) */
48
+ size?: "small" | "medium";
49
+ /** @figmaProp State = true→"Error" */
50
+ error?: boolean;
51
+ /** @figmaProp State = true→"Read-only" (unchecked ring delta-300 / checked ring+dot delta-500) */
52
+ readOnly?: boolean;
53
+ /** @figmaProp Selected = true→"on" | false→"off" */
54
+ checked?: boolean;
55
+ onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
56
+ /**
57
+ * Renders the identical visual circle/dot (same classes/data-attrs — no visual change) with NO
58
+ * real `<input>` at all, for use as a pure state indicator inside a widget that already owns
59
+ * selection itself (e.g. `StyledInteractiveChip`, whose `clickable` chip handles the click — this
60
+ * radio is `pointer-events-none` there already). A real `<input type="radio">` nested inside
61
+ * that chip's `role="button"` is a genuine axe `nested-interactive` violation; see
62
+ * `StyledCheckbox`'s identical `decorative` prop for the full rationale.
63
+ */
64
+ decorative?: boolean;
65
+ } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "className" | "onChange" | "size" | "type" | "checked"> & React.RefAttributes<HTMLInputElement>>;
@@ -1,14 +1,37 @@
1
- import { default as React } from 'react';
2
- import { RadioGroup } from '@base-ui/react/radio-group';
1
+ import { default as React, HTMLAttributes } from 'react';
2
+ import { RadioValue } from './RadioGroupContext';
3
3
  export type StyledRadioGroupProps = {
4
- value?: string | number | boolean | null;
5
- defaultValue?: string | number | boolean | null;
6
- onValueChange?: (value: string | number | boolean | null) => void;
4
+ value?: RadioValue;
5
+ defaultValue?: RadioValue;
6
+ onValueChange?: (value: RadioValue) => void;
7
7
  disabled?: boolean;
8
+ /** Non-interactive but not visually disabled (e.g. a submitted/read-only questionnaire): the
9
+ * current selection is shown but can't change. */
10
+ readOnly?: boolean;
8
11
  dataTest?: string;
9
12
  error?: boolean;
10
13
  errorText?: string;
11
14
  helperText?: string;
12
15
  children: React.ReactNode;
13
- } & Omit<React.ComponentProps<typeof RadioGroup>, 'children' | 'defaultValue' | 'value'>;
14
- export declare const StyledRadioGroup: React.ForwardRefExoticComponent<Omit<StyledRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
+ name?: string;
17
+ } & Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'>;
18
+ /**
19
+ * Native radio group (replaces `@base-ui/react`): a `role="radiogroup"` container that shares
20
+ * name/selection with its `StyledRadio` children via context, controlled or uncontrolled, plus the
21
+ * error/helper text row. TASK-201.
22
+ */
23
+ export declare const StyledRadioGroup: React.ForwardRefExoticComponent<{
24
+ value?: RadioValue;
25
+ defaultValue?: RadioValue;
26
+ onValueChange?: (value: RadioValue) => void;
27
+ disabled?: boolean;
28
+ /** Non-interactive but not visually disabled (e.g. a submitted/read-only questionnaire): the
29
+ * current selection is shown but can't change. */
30
+ readOnly?: boolean;
31
+ dataTest?: string;
32
+ error?: boolean;
33
+ errorText?: string;
34
+ helperText?: string;
35
+ children: React.ReactNode;
36
+ name?: string;
37
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,6 +1,14 @@
1
- import { StyledInputField, TextFieldProps } from '../../../index.ts';
1
+ import { TextFieldProps } from '../../../index.ts';
2
2
  import { FC, ComponentProps } from 'react';
3
+ import { StyledInputField } from '../input-field/StyledInputField';
3
4
  export type StyledSearchFieldProps = ComponentProps<typeof StyledInputField> & {
4
5
  label: Required<TextFieldProps['label']>;
5
6
  };
7
+ /**
8
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#28496-138521 (rest) · #27857-162809 (focused/filled)
9
+ * Figma Search field: at rest the label is an in-field placeholder (Body Base 16, placeholder
10
+ * delta-500) with Icon-left (8px + 24px icon + 8px) inside the 40px outlined field — no floating
11
+ * label. On focus/filled the icon hides, the label floats (Small 12, gama-500), and a clear icon
12
+ * may appear on the right.
13
+ */
6
14
  export declare const StyledSearchField: FC<StyledSearchFieldProps>;
@@ -1,19 +1,73 @@
1
- import { SelectProps } from '@mui/material';
2
- export type StyledSelectProps = SelectProps & {
3
- allowClear?: boolean;
4
- errorText?: string;
1
+ import { CSSProperties, FocusEventHandler, ReactNode } from 'react';
2
+ import { FieldSize } from '../field-styles';
3
+ export interface SelectChangeEvent<T = unknown> {
4
+ target: {
5
+ value: T;
6
+ name?: string;
7
+ };
8
+ }
9
+ /**
10
+ * @figmaNode wXrXt5uKNNzV2DnQCgyYZH#15561-37391
11
+ * The trigger is the outlined **Input field** (shared `field-styles`: 40px, focus gama-400, hover
12
+ * gama-300); the dropdown is **Menus** (node 16073-19226). Figma field **State** (Enabled/Hovered/
13
+ * Focused/Error/Disabled/Read-only) ← open/focus + `error`/`disabled`/`readOnly`; **Filled** ← `value`.
14
+ * Non-annotated props are behavioral / MUI `Select` API-parity (DEC-003).
15
+ */
16
+ export interface StyledSelectProps {
17
+ /** @figmaProp none — test hook */
5
18
  dataTest: string;
6
- };
19
+ /** @figmaProp Filled + trigger display value */
20
+ value?: unknown;
21
+ /** @figmaProp Filled (initial, uncontrolled) */
22
+ defaultValue?: unknown;
23
+ onChange?: (event: SelectChangeEvent, child: ReactNode) => void;
24
+ /**
25
+ * @figmaProp none — accepted for MUI `Select` / DEC-003 drop-in parity, but **no longer affects
26
+ * rendering**: the trigger value is Body Base 16px and the field is 40px at every size (a smaller
27
+ * size only changed text before; Figma field text is 16/lh24 regardless). Kept so `size="small"`
28
+ * call sites still compile. Ignored on purpose (not destructured).
29
+ */
30
+ size?: FieldSize;
31
+ /** @figmaProp State = true→"Error" */
32
+ error?: boolean;
33
+ errorText?: string;
34
+ /** @figmaProp Clear (trigger clear button) */
35
+ allowClear?: boolean;
36
+ /** @figmaProp State = true→"Disabled" */
37
+ disabled?: boolean;
38
+ /** @figmaProp State = true→"Read-only" */
39
+ readOnly?: boolean;
40
+ name?: string;
41
+ /** @figmaProp Placeholder text (resting) */
42
+ placeholder?: string;
43
+ displayEmpty?: boolean;
44
+ multiple?: boolean;
45
+ renderValue?: (value: unknown) => ReactNode;
46
+ fullWidth?: boolean;
47
+ className?: string;
48
+ style?: CSSProperties;
49
+ /** Accepted for API parity; `standard` renders borderless (calendar month/year dropdowns).
50
+ * `string & {}` keeps 'outlined'/'standard' as autocomplete hints without TS treating them as
51
+ * redundant against the `string` fallback (other MUI variant values are accepted and ignored). */
52
+ variant?: 'outlined' | 'standard' | (string & {});
53
+ sx?: unknown;
54
+ /** Sets `aria-labelledby` on the trigger — the field's real accessible-name source when a
55
+ * visible label sits outside the control (MUI `Select` parity; genuinely wired, unlike `size`
56
+ * above). Without it (and no `name`/placeholder/value text), the trigger has no accessible name
57
+ * at all — a common gap when a floating/external label isn't referenced. */
58
+ labelId?: string;
59
+ children?: ReactNode;
60
+ MenuProps?: {
61
+ className?: string;
62
+ };
63
+ /** Forwarded to the trigger button, merged with the internal focus tracking (e.g. validate on blur). */
64
+ onFocus?: FocusEventHandler<HTMLButtonElement>;
65
+ onBlur?: FocusEventHandler<HTMLButtonElement>;
66
+ }
7
67
  /**
8
- *
9
- * @usage
10
- * use StyleSelect only inside StyledFormControl
11
- *
12
- * @size
13
- * control the size through StyledFormControl
14
- *
15
- * @inputRef
16
- * inputRef to get Node of Input Element inside
17
- *
68
+ * Single-select dropdown (replaces MUI `Select`) — a trigger styled as the outlined field plus a
69
+ * portalled `role="listbox"`. Reports open/filled into a surrounding `StyledFormControl` so its
70
+ * `StyledInputLabel` floats. Public props preserved (DEC-003). Use inside `StyledFormControl`.
71
+ * TASK-402.
18
72
  */
19
- export declare const StyledSelect: React.FC<StyledSelectProps>;
73
+ export declare const StyledSelect: ({ dataTest, value, defaultValue, onChange, error, errorText, allowClear, disabled, readOnly, name, placeholder, displayEmpty, multiple, renderValue, fullWidth, className, style, sx, variant, children, MenuProps, onFocus, onBlur, labelId, }: StyledSelectProps) => JSX.Element;
@@ -1,2 +1,14 @@
1
- import { MenuItemProps } from '@mui/material';
2
- export declare const StyledSelectItem: (item: MenuItemProps) => JSX.Element;
1
+ import { MouseEvent, ReactNode } from 'react';
2
+ export interface StyledSelectItemProps {
3
+ value?: unknown;
4
+ children?: ReactNode;
5
+ selected?: boolean;
6
+ disabled?: boolean;
7
+ className?: string;
8
+ onClick?: (event: MouseEvent<HTMLLIElement>) => void;
9
+ }
10
+ /**
11
+ * Option row for `StyledSelect` (replaces MUI `MenuItem` in the select context). `role="option"`
12
+ * with a leading check column for the selected state. Public props preserved (DEC-003). TASK-402.
13
+ */
14
+ export declare const StyledSelectItem: ({ children, selected, disabled, className, onClick, }: StyledSelectItemProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
1
  export * from './StyledSelect';
2
2
  export * from './StyledSelectItem';
3
- export { type SelectChangeEvent } from '@mui/material';