@smwb/ui-react 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (872) hide show
  1. package/AI_LESS_OVERRIDES.md +192 -0
  2. package/AI_THEMING.md +155 -0
  3. package/LICENSE +21 -0
  4. package/README.md +209 -0
  5. package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -0
  6. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -0
  7. package/dist/assets/styles/less/components/appLayout/appLayout.entry.css +1 -0
  8. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -0
  9. package/dist/assets/styles/less/components/badge/badge.entry.css +1 -0
  10. package/dist/assets/styles/less/components/bottomBar/bottomBar.entry.css +1 -0
  11. package/dist/assets/styles/less/components/breadcrumbs/breadcrumbs.entry.css +1 -0
  12. package/dist/assets/styles/less/components/button/button.entry.css +1 -0
  13. package/dist/assets/styles/less/components/buttonGroup/buttonGroup.entry.css +1 -0
  14. package/dist/assets/styles/less/components/card/card.entry.css +1 -0
  15. package/dist/assets/styles/less/components/carousel/carousel.entry.css +1 -0
  16. package/dist/assets/styles/less/components/chat/chat.entry.css +1 -0
  17. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -0
  18. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -0
  19. package/dist/assets/styles/less/components/datePicker/dataPicker.entry.css +1 -0
  20. package/dist/assets/styles/less/components/divider/divider.entry.css +1 -0
  21. package/dist/assets/styles/less/components/expansionPanel/expansionPanel.entry.css +1 -0
  22. package/dist/assets/styles/less/components/floatingButton/floatingButton.entry.css +1 -0
  23. package/dist/assets/styles/less/components/grid/grid.entry.css +1 -0
  24. package/dist/assets/styles/less/components/icon/icon.entry.css +1 -0
  25. package/dist/assets/styles/less/components/imagesList/imagesList.entry.css +1 -0
  26. package/dist/assets/styles/less/components/imagesList/imagesListItem/imagesListItem.entry.css +1 -0
  27. package/dist/assets/styles/less/components/list/list.entry.css +1 -0
  28. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -0
  29. package/dist/assets/styles/less/components/message/message.entry.css +1 -0
  30. package/dist/assets/styles/less/components/modal/modal.entry.css +1 -0
  31. package/dist/assets/styles/less/components/page/page.entry.css +1 -0
  32. package/dist/assets/styles/less/components/pageHeader/pageHeader.entry.css +1 -0
  33. package/dist/assets/styles/less/components/pagination/pagination.entry.css +1 -0
  34. package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -0
  35. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -0
  36. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -0
  37. package/dist/assets/styles/less/components/ripple/ripple.entry.css +1 -0
  38. package/dist/assets/styles/less/components/screenDivider/screenDivider.entry.css +1 -0
  39. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -0
  40. package/dist/assets/styles/less/components/sheet/sheet.entry.css +1 -0
  41. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -0
  42. package/dist/assets/styles/less/components/skeleton/skeleton.entry.css +1 -0
  43. package/dist/assets/styles/less/components/slider/slider.entry.css +1 -0
  44. package/dist/assets/styles/less/components/snackbar/snackbar.entry.css +1 -0
  45. package/dist/assets/styles/less/components/stack/stack.entry.css +1 -0
  46. package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -0
  47. package/dist/assets/styles/less/components/table/table.entry.css +1 -0
  48. package/dist/assets/styles/less/components/table/tablePagination/tablePagination.entry.css +1 -0
  49. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -0
  50. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -0
  51. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -0
  52. package/dist/assets/styles/less/components/timePicker/timePicker.entry.css +1 -0
  53. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -0
  54. package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -0
  55. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -0
  56. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -0
  57. package/dist/components/base/animateHeight/animateHeight.d.ts +30 -0
  58. package/dist/components/base/animateHeight/animateHeight.js +118 -0
  59. package/dist/components/base/animateHeight/animateHeight.js.map +1 -0
  60. package/dist/components/base/animateHeight/index.d.ts +1 -0
  61. package/dist/components/base/icon/icon.d.ts +28 -0
  62. package/dist/components/base/icon/icon.js +27 -0
  63. package/dist/components/base/icon/icon.js.map +1 -0
  64. package/dist/components/base/icon/index.d.ts +2 -0
  65. package/dist/components/base/ripple/index.d.ts +2 -0
  66. package/dist/components/base/ripple/ripple.d.ts +21 -0
  67. package/dist/components/base/ripple/ripple.js +42 -0
  68. package/dist/components/base/ripple/ripple.js.map +1 -0
  69. package/dist/components/clickAwayListener/clickAwayListener.d.ts +14 -0
  70. package/dist/components/clickAwayListener/clickAwayListener.js +67 -0
  71. package/dist/components/clickAwayListener/clickAwayListener.js.map +1 -0
  72. package/dist/components/clickAwayListener/index.d.ts +2 -0
  73. package/dist/components/dataDisplay/accordion/accordion.d.ts +21 -0
  74. package/dist/components/dataDisplay/accordion/accordion.js +62 -0
  75. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -0
  76. package/dist/components/dataDisplay/accordion/index.d.ts +2 -0
  77. package/dist/components/dataDisplay/avatar/avatar.d.ts +31 -0
  78. package/dist/components/dataDisplay/avatar/avatar.js +49 -0
  79. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -0
  80. package/dist/components/dataDisplay/avatar/index.d.ts +2 -0
  81. package/dist/components/dataDisplay/badge/badge.d.ts +19 -0
  82. package/dist/components/dataDisplay/badge/badge.js +39 -0
  83. package/dist/components/dataDisplay/badge/badge.js.map +1 -0
  84. package/dist/components/dataDisplay/badge/index.d.ts +2 -0
  85. package/dist/components/dataDisplay/card/card.d.ts +15 -0
  86. package/dist/components/dataDisplay/card/card.js +36 -0
  87. package/dist/components/dataDisplay/card/card.js.map +1 -0
  88. package/dist/components/dataDisplay/card/index.d.ts +2 -0
  89. package/dist/components/dataDisplay/carousel/carousel.d.ts +22 -0
  90. package/dist/components/dataDisplay/carousel/carousel.js +179 -0
  91. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -0
  92. package/dist/components/dataDisplay/carousel/index.d.ts +2 -0
  93. package/dist/components/dataDisplay/carousel/utils.d.ts +13 -0
  94. package/dist/components/dataDisplay/carousel/utils.js +57 -0
  95. package/dist/components/dataDisplay/carousel/utils.js.map +1 -0
  96. package/dist/components/dataDisplay/chat/chat.d.ts +50 -0
  97. package/dist/components/dataDisplay/chat/chat.js +183 -0
  98. package/dist/components/dataDisplay/chat/chat.js.map +1 -0
  99. package/dist/components/dataDisplay/chat/chatAttachmentImage.d.ts +7 -0
  100. package/dist/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
  101. package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
  102. package/dist/components/dataDisplay/chat/chatAttachments.d.ts +8 -0
  103. package/dist/components/dataDisplay/chat/chatAttachments.js +26 -0
  104. package/dist/components/dataDisplay/chat/chatAttachments.js.map +1 -0
  105. package/dist/components/dataDisplay/chat/chatComposer.d.ts +15 -0
  106. package/dist/components/dataDisplay/chat/chatComposer.js +154 -0
  107. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -0
  108. package/dist/components/dataDisplay/chat/chatHeader.d.ts +14 -0
  109. package/dist/components/dataDisplay/chat/chatHeader.js +52 -0
  110. package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -0
  111. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +8 -0
  112. package/dist/components/dataDisplay/chat/chatIconButton.js +47 -0
  113. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -0
  114. package/dist/components/dataDisplay/chat/chatLayout.d.ts +20 -0
  115. package/dist/components/dataDisplay/chat/chatLayout.js +102 -0
  116. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -0
  117. package/dist/components/dataDisplay/chat/chatMessageAvatar.d.ts +8 -0
  118. package/dist/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
  119. package/dist/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
  120. package/dist/components/dataDisplay/chat/chatMessageBubble.d.ts +20 -0
  121. package/dist/components/dataDisplay/chat/chatMessageBubble.js +60 -0
  122. package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
  123. package/dist/components/dataDisplay/chat/chatMessageIncoming.d.ts +7 -0
  124. package/dist/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
  125. package/dist/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
  126. package/dist/components/dataDisplay/chat/chatMessageItem.d.ts +9 -0
  127. package/dist/components/dataDisplay/chat/chatMessageItem.js +62 -0
  128. package/dist/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
  129. package/dist/components/dataDisplay/chat/chatMessageOutgoing.d.ts +7 -0
  130. package/dist/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
  131. package/dist/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
  132. package/dist/components/dataDisplay/chat/chatMessageSkeleton.d.ts +8 -0
  133. package/dist/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
  134. package/dist/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
  135. package/dist/components/dataDisplay/chat/chatMessageStatus.d.ts +11 -0
  136. package/dist/components/dataDisplay/chat/chatMessageStatus.js +37 -0
  137. package/dist/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
  138. package/dist/components/dataDisplay/chat/chatMessageSystem.d.ts +7 -0
  139. package/dist/components/dataDisplay/chat/chatMessageSystem.js +13 -0
  140. package/dist/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
  141. package/dist/components/dataDisplay/chat/chatMessages.d.ts +14 -0
  142. package/dist/components/dataDisplay/chat/chatMessages.js +73 -0
  143. package/dist/components/dataDisplay/chat/chatMessages.js.map +1 -0
  144. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +17 -0
  145. package/dist/components/dataDisplay/chat/chatShell.d.ts +16 -0
  146. package/dist/components/dataDisplay/chat/chatShell.js +63 -0
  147. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -0
  148. package/dist/components/dataDisplay/chat/index.d.ts +44 -0
  149. package/dist/components/dataDisplay/chat/types.d.ts +53 -0
  150. package/dist/components/dataDisplay/chat/types.js +19 -0
  151. package/dist/components/dataDisplay/chat/types.js.map +1 -0
  152. package/dist/components/dataDisplay/chat/useChatFileUpload.d.ts +19 -0
  153. package/dist/components/dataDisplay/chat/useChatFileUpload.js +42 -0
  154. package/dist/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
  155. package/dist/components/dataDisplay/chat/useChatInfiniteScroll.d.ts +11 -0
  156. package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
  157. package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
  158. package/dist/components/dataDisplay/chat/useChatStickToBottom.d.ts +11 -0
  159. package/dist/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
  160. package/dist/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
  161. package/dist/components/dataDisplay/chat/utils.d.ts +26 -0
  162. package/dist/components/dataDisplay/chat/utils.js +61 -0
  163. package/dist/components/dataDisplay/chat/utils.js.map +1 -0
  164. package/dist/components/dataDisplay/chip/chip.d.ts +24 -0
  165. package/dist/components/dataDisplay/chip/chip.js +99 -0
  166. package/dist/components/dataDisplay/chip/chip.js.map +1 -0
  167. package/dist/components/dataDisplay/chip/index.d.ts +2 -0
  168. package/dist/components/dataDisplay/expansionPanel/expansionPanel.d.ts +56 -0
  169. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +174 -0
  170. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
  171. package/dist/components/dataDisplay/expansionPanel/index.d.ts +2 -0
  172. package/dist/components/dataDisplay/imagesList/imagesList.d.ts +15 -0
  173. package/dist/components/dataDisplay/imagesList/imagesList.js +21 -0
  174. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -0
  175. package/dist/components/dataDisplay/imagesList/imagesList.types.d.ts +6 -0
  176. package/dist/components/dataDisplay/imagesList/imagesListContext.d.ts +5 -0
  177. package/dist/components/dataDisplay/imagesList/imagesListContext.js +8 -0
  178. package/dist/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
  179. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.d.ts +14 -0
  180. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +55 -0
  181. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
  182. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +7 -0
  183. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
  184. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
  185. package/dist/components/dataDisplay/imagesList/index.d.ts +6 -0
  186. package/dist/components/dataDisplay/list/index.d.ts +4 -0
  187. package/dist/components/dataDisplay/list/list.d.ts +12 -0
  188. package/dist/components/dataDisplay/list/list.js +25 -0
  189. package/dist/components/dataDisplay/list/list.js.map +1 -0
  190. package/dist/components/dataDisplay/list/listItem.d.ts +17 -0
  191. package/dist/components/dataDisplay/list/listItem.js +37 -0
  192. package/dist/components/dataDisplay/list/listItem.js.map +1 -0
  193. package/dist/components/dataDisplay/table/index.d.ts +14 -0
  194. package/dist/components/dataDisplay/table/table.d.ts +17 -0
  195. package/dist/components/dataDisplay/table/table.js +38 -0
  196. package/dist/components/dataDisplay/table/table.js.map +1 -0
  197. package/dist/components/dataDisplay/table/tableBody.d.ts +6 -0
  198. package/dist/components/dataDisplay/table/tableBody.js +7 -0
  199. package/dist/components/dataDisplay/table/tableBody.js.map +1 -0
  200. package/dist/components/dataDisplay/table/tableCell.d.ts +7 -0
  201. package/dist/components/dataDisplay/table/tableCell.js +7 -0
  202. package/dist/components/dataDisplay/table/tableCell.js.map +1 -0
  203. package/dist/components/dataDisplay/table/tableHead.d.ts +6 -0
  204. package/dist/components/dataDisplay/table/tableHead.js +7 -0
  205. package/dist/components/dataDisplay/table/tableHead.js.map +1 -0
  206. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +18 -0
  207. package/dist/components/dataDisplay/table/tableHeadCell.js +47 -0
  208. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -0
  209. package/dist/components/dataDisplay/table/tablePagination/tablePagination.d.ts +19 -0
  210. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +41 -0
  211. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
  212. package/dist/components/dataDisplay/table/tableRow.d.ts +10 -0
  213. package/dist/components/dataDisplay/table/tableRow.js +20 -0
  214. package/dist/components/dataDisplay/table/tableRow.js.map +1 -0
  215. package/dist/components/dataDisplay/treeView/index.d.ts +2 -0
  216. package/dist/components/dataDisplay/treeView/treeView.d.ts +39 -0
  217. package/dist/components/dataDisplay/treeView/treeView.js +116 -0
  218. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -0
  219. package/dist/components/dataDisplay/typography/index.d.ts +2 -0
  220. package/dist/components/dataDisplay/typography/typography.d.ts +19 -0
  221. package/dist/components/dataDisplay/typography/typography.js +45 -0
  222. package/dist/components/dataDisplay/typography/typography.js.map +1 -0
  223. package/dist/components/feedBack/message/index.d.ts +2 -0
  224. package/dist/components/feedBack/message/message.d.ts +22 -0
  225. package/dist/components/feedBack/message/message.js +32 -0
  226. package/dist/components/feedBack/message/message.js.map +1 -0
  227. package/dist/components/feedBack/modal/index.d.ts +2 -0
  228. package/dist/components/feedBack/modal/modal.d.ts +39 -0
  229. package/dist/components/feedBack/modal/modal.js +107 -0
  230. package/dist/components/feedBack/modal/modal.js.map +1 -0
  231. package/dist/components/feedBack/progressIndicator/index.d.ts +2 -0
  232. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +21 -0
  233. package/dist/components/feedBack/progressIndicator/progressIndicator.js +52 -0
  234. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
  235. package/dist/components/feedBack/skeleton/index.d.ts +2 -0
  236. package/dist/components/feedBack/skeleton/skeleton.d.ts +20 -0
  237. package/dist/components/feedBack/skeleton/skeleton.js +48 -0
  238. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -0
  239. package/dist/components/feedBack/snackbar/index.d.ts +2 -0
  240. package/dist/components/feedBack/snackbar/snackbar.d.ts +40 -0
  241. package/dist/components/feedBack/snackbar/snackbar.js +195 -0
  242. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -0
  243. package/dist/components/feedBack/snackbar/useSnackbarsPortal.d.ts +3 -0
  244. package/dist/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
  245. package/dist/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
  246. package/dist/components/feedBack/tooltip/index.d.ts +2 -0
  247. package/dist/components/feedBack/tooltip/tooltip.d.ts +22 -0
  248. package/dist/components/feedBack/tooltip/tooltip.js +64 -0
  249. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -0
  250. package/dist/components/inputs/button/button.d.ts +60 -0
  251. package/dist/components/inputs/button/button.js +83 -0
  252. package/dist/components/inputs/button/button.js.map +1 -0
  253. package/dist/components/inputs/button/index.d.ts +2 -0
  254. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +14 -0
  255. package/dist/components/inputs/buttonGroups/buttonGroup.js +53 -0
  256. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
  257. package/dist/components/inputs/buttonGroups/index.d.ts +2 -0
  258. package/dist/components/inputs/checkbox/checkbox.d.ts +21 -0
  259. package/dist/components/inputs/checkbox/checkbox.js +74 -0
  260. package/dist/components/inputs/checkbox/checkbox.js.map +1 -0
  261. package/dist/components/inputs/checkbox/index.d.ts +2 -0
  262. package/dist/components/inputs/datePicker/dataPickerDays.d.ts +9 -0
  263. package/dist/components/inputs/datePicker/dataPickerDays.js +59 -0
  264. package/dist/components/inputs/datePicker/dataPickerDays.js.map +1 -0
  265. package/dist/components/inputs/datePicker/dataPickerHeader.d.ts +11 -0
  266. package/dist/components/inputs/datePicker/dataPickerHeader.js +57 -0
  267. package/dist/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
  268. package/dist/components/inputs/datePicker/dataPickerInput.d.ts +6 -0
  269. package/dist/components/inputs/datePicker/dataPickerInput.js +37 -0
  270. package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -0
  271. package/dist/components/inputs/datePicker/dateFormat.d.ts +3 -0
  272. package/dist/components/inputs/datePicker/dateFormat.js +58 -0
  273. package/dist/components/inputs/datePicker/dateFormat.js.map +1 -0
  274. package/dist/components/inputs/datePicker/datePicker.d.ts +42 -0
  275. package/dist/components/inputs/datePicker/datePicker.js +229 -0
  276. package/dist/components/inputs/datePicker/datePicker.js.map +1 -0
  277. package/dist/components/inputs/datePicker/datePickerActionLabel.d.ts +12 -0
  278. package/dist/components/inputs/datePicker/datePickerActionLabel.js +42 -0
  279. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
  280. package/dist/components/inputs/datePicker/datePickerDay.d.ts +13 -0
  281. package/dist/components/inputs/datePicker/datePickerDay.js +62 -0
  282. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -0
  283. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +6 -0
  284. package/dist/components/inputs/datePicker/datePickerIconButton.js +44 -0
  285. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
  286. package/dist/components/inputs/datePicker/datePickerList.d.ts +11 -0
  287. package/dist/components/inputs/datePicker/datePickerList.js +38 -0
  288. package/dist/components/inputs/datePicker/datePickerList.js.map +1 -0
  289. package/dist/components/inputs/datePicker/index.d.ts +16 -0
  290. package/dist/components/inputs/datePicker/useDateInput.d.ts +14 -0
  291. package/dist/components/inputs/datePicker/useDateInput.js +35 -0
  292. package/dist/components/inputs/datePicker/useDateInput.js.map +1 -0
  293. package/dist/components/inputs/datePicker/utils.d.ts +37 -0
  294. package/dist/components/inputs/datePicker/utils.js +179 -0
  295. package/dist/components/inputs/datePicker/utils.js.map +1 -0
  296. package/dist/components/inputs/dateTimePicker/dateTimeFormat.d.ts +3 -0
  297. package/dist/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
  298. package/dist/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
  299. package/dist/components/inputs/dateTimePicker/dateTimePicker.d.ts +28 -0
  300. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
  301. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
  302. package/dist/components/inputs/dateTimePicker/dateTimePickerInput.d.ts +6 -0
  303. package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
  304. package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
  305. package/dist/components/inputs/dateTimePicker/index.d.ts +6 -0
  306. package/dist/components/inputs/dateTimePicker/useDateTimeInput.d.ts +15 -0
  307. package/dist/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
  308. package/dist/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
  309. package/dist/components/inputs/fileDrop/countPreview.d.ts +7 -0
  310. package/dist/components/inputs/fileDrop/fileDrop.d.ts +16 -0
  311. package/dist/components/inputs/fileDrop/preview.d.ts +8 -0
  312. package/dist/components/inputs/fileDrop/previewWrapper.d.ts +9 -0
  313. package/dist/components/inputs/fileDrop/utils.d.ts +1 -0
  314. package/dist/components/inputs/fileInput/fileInput.d.ts +16 -0
  315. package/dist/components/inputs/floatingButton/floatingButton.d.ts +11 -0
  316. package/dist/components/inputs/floatingButton/floatingButton.js +42 -0
  317. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -0
  318. package/dist/components/inputs/floatingButton/index.d.ts +2 -0
  319. package/dist/components/inputs/radioButton/index.d.ts +2 -0
  320. package/dist/components/inputs/radioButton/radioButton.d.ts +19 -0
  321. package/dist/components/inputs/radioButton/radioButton.js +69 -0
  322. package/dist/components/inputs/radioButton/radioButton.js.map +1 -0
  323. package/dist/components/inputs/rating/index.d.ts +2 -0
  324. package/dist/components/inputs/rating/rating.d.ts +31 -0
  325. package/dist/components/inputs/rating/rating.js +85 -0
  326. package/dist/components/inputs/rating/rating.js.map +1 -0
  327. package/dist/components/inputs/selectField/dropdownMenu.d.ts +40 -0
  328. package/dist/components/inputs/selectField/dropdownMenu.js +134 -0
  329. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -0
  330. package/dist/components/inputs/selectField/index.d.ts +2 -0
  331. package/dist/components/inputs/selectField/selectField.d.ts +50 -0
  332. package/dist/components/inputs/selectField/selectField.js +232 -0
  333. package/dist/components/inputs/selectField/selectField.js.map +1 -0
  334. package/dist/components/inputs/slider/index.d.ts +2 -0
  335. package/dist/components/inputs/slider/slider.d.ts +35 -0
  336. package/dist/components/inputs/slider/slider.js +314 -0
  337. package/dist/components/inputs/slider/slider.js.map +1 -0
  338. package/dist/components/inputs/slider/utils.d.ts +11 -0
  339. package/dist/components/inputs/slider/utils.js +40 -0
  340. package/dist/components/inputs/slider/utils.js.map +1 -0
  341. package/dist/components/inputs/textField/index.d.ts +6 -0
  342. package/dist/components/inputs/textField/textField.d.ts +26 -0
  343. package/dist/components/inputs/textField/textField.js +126 -0
  344. package/dist/components/inputs/textField/textField.js.map +1 -0
  345. package/dist/components/inputs/textField/textFieldAdornment.d.ts +8 -0
  346. package/dist/components/inputs/textField/textFieldAdornment.js +25 -0
  347. package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -0
  348. package/dist/components/inputs/textField/textFieldWrapper.d.ts +20 -0
  349. package/dist/components/inputs/textField/textFieldWrapper.js +50 -0
  350. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -0
  351. package/dist/components/inputs/textField/utils.d.ts +7 -0
  352. package/dist/components/inputs/textField/utils.js +11 -0
  353. package/dist/components/inputs/textField/utils.js.map +1 -0
  354. package/dist/components/inputs/timePicker/index.d.ts +11 -0
  355. package/dist/components/inputs/timePicker/timeFormat.d.ts +4 -0
  356. package/dist/components/inputs/timePicker/timeFormat.js +61 -0
  357. package/dist/components/inputs/timePicker/timeFormat.js.map +1 -0
  358. package/dist/components/inputs/timePicker/timePicker.d.ts +18 -0
  359. package/dist/components/inputs/timePicker/timePicker.js +114 -0
  360. package/dist/components/inputs/timePicker/timePicker.js.map +1 -0
  361. package/dist/components/inputs/timePicker/timePickerColumns.d.ts +7 -0
  362. package/dist/components/inputs/timePicker/timePickerColumns.js +32 -0
  363. package/dist/components/inputs/timePicker/timePickerColumns.js.map +1 -0
  364. package/dist/components/inputs/timePicker/timePickerInput.d.ts +6 -0
  365. package/dist/components/inputs/timePicker/timePickerInput.js +37 -0
  366. package/dist/components/inputs/timePicker/timePickerInput.js.map +1 -0
  367. package/dist/components/inputs/timePicker/timePickerList.d.ts +11 -0
  368. package/dist/components/inputs/timePicker/timePickerList.js +43 -0
  369. package/dist/components/inputs/timePicker/timePickerList.js.map +1 -0
  370. package/dist/components/inputs/timePicker/timeUtils.d.ts +23 -0
  371. package/dist/components/inputs/timePicker/timeUtils.js +93 -0
  372. package/dist/components/inputs/timePicker/timeUtils.js.map +1 -0
  373. package/dist/components/inputs/timePicker/useTimeInput.d.ts +13 -0
  374. package/dist/components/inputs/timePicker/useTimeInput.js +37 -0
  375. package/dist/components/inputs/timePicker/useTimeInput.js.map +1 -0
  376. package/dist/components/inputs/toggle/index.d.ts +2 -0
  377. package/dist/components/inputs/toggle/toggle.d.ts +20 -0
  378. package/dist/components/inputs/toggle/toggle.js +70 -0
  379. package/dist/components/inputs/toggle/toggle.js.map +1 -0
  380. package/dist/components/layout/appLayout/appLayout.d.ts +32 -0
  381. package/dist/components/layout/appLayout/appLayout.js +75 -0
  382. package/dist/components/layout/appLayout/appLayout.js.map +1 -0
  383. package/dist/components/layout/appLayout/index.d.ts +2 -0
  384. package/dist/components/layout/divider/divider.d.ts +21 -0
  385. package/dist/components/layout/divider/divider.js +58 -0
  386. package/dist/components/layout/divider/divider.js.map +1 -0
  387. package/dist/components/layout/divider/index.d.ts +2 -0
  388. package/dist/components/layout/grid/grid.d.ts +61 -0
  389. package/dist/components/layout/grid/grid.js +59 -0
  390. package/dist/components/layout/grid/grid.js.map +1 -0
  391. package/dist/components/layout/grid/index.d.ts +2 -0
  392. package/dist/components/layout/page/index.d.ts +2 -0
  393. package/dist/components/layout/page/page.d.ts +15 -0
  394. package/dist/components/layout/page/page.js +22 -0
  395. package/dist/components/layout/page/page.js.map +1 -0
  396. package/dist/components/layout/pageHeader/index.d.ts +2 -0
  397. package/dist/components/layout/pageHeader/pageHeader.d.ts +14 -0
  398. package/dist/components/layout/pageHeader/pageHeader.js +31 -0
  399. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -0
  400. package/dist/components/layout/screenDivider/index.d.ts +2 -0
  401. package/dist/components/layout/screenDivider/screenDivider.d.ts +17 -0
  402. package/dist/components/layout/screenDivider/screenDivider.js +89 -0
  403. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -0
  404. package/dist/components/layout/sheet/index.d.ts +2 -0
  405. package/dist/components/layout/sheet/sheet.d.ts +36 -0
  406. package/dist/components/layout/sheet/sheet.js +218 -0
  407. package/dist/components/layout/sheet/sheet.js.map +1 -0
  408. package/dist/components/layout/stack/index.d.ts +2 -0
  409. package/dist/components/layout/stack/stack.d.ts +17 -0
  410. package/dist/components/layout/stack/stack.js +34 -0
  411. package/dist/components/layout/stack/stack.js.map +1 -0
  412. package/dist/components/navigation/appBar/appBar.d.ts +18 -0
  413. package/dist/components/navigation/appBar/appBar.js +48 -0
  414. package/dist/components/navigation/appBar/appBar.js.map +1 -0
  415. package/dist/components/navigation/appBar/index.d.ts +2 -0
  416. package/dist/components/navigation/bottomBar/bottomBar.d.ts +14 -0
  417. package/dist/components/navigation/bottomBar/bottomBar.js +106 -0
  418. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -0
  419. package/dist/components/navigation/bottomBar/index.d.ts +2 -0
  420. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +22 -0
  421. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +53 -0
  422. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
  423. package/dist/components/navigation/breadcrumbs/index.d.ts +2 -0
  424. package/dist/components/navigation/menu/index.d.ts +6 -0
  425. package/dist/components/navigation/menu/menu.d.ts +10 -0
  426. package/dist/components/navigation/menu/menu.js +15 -0
  427. package/dist/components/navigation/menu/menu.js.map +1 -0
  428. package/dist/components/navigation/menu/menuComponent.d.ts +3 -0
  429. package/dist/components/navigation/menu/menuComponent.js +13 -0
  430. package/dist/components/navigation/menu/menuComponent.js.map +1 -0
  431. package/dist/components/navigation/menu/menuContext.d.ts +8 -0
  432. package/dist/components/navigation/menu/menuContext.js +14 -0
  433. package/dist/components/navigation/menu/menuContext.js.map +1 -0
  434. package/dist/components/navigation/menu/menuDivider.d.ts +3 -0
  435. package/dist/components/navigation/menu/menuDivider.js +19 -0
  436. package/dist/components/navigation/menu/menuDivider.js.map +1 -0
  437. package/dist/components/navigation/menu/menuFloating.d.ts +12 -0
  438. package/dist/components/navigation/menu/menuFloating.js +50 -0
  439. package/dist/components/navigation/menu/menuFloating.js.map +1 -0
  440. package/dist/components/navigation/menu/menuItem.d.ts +16 -0
  441. package/dist/components/navigation/menu/menuItem.js +68 -0
  442. package/dist/components/navigation/menu/menuItem.js.map +1 -0
  443. package/dist/components/navigation/menu/menuItemIcon.d.ts +5 -0
  444. package/dist/components/navigation/menu/menuItemIcon.js +16 -0
  445. package/dist/components/navigation/menu/menuItemIcon.js.map +1 -0
  446. package/dist/components/navigation/menu/menuItemText.d.ts +7 -0
  447. package/dist/components/navigation/menu/menuItemText.js +15 -0
  448. package/dist/components/navigation/menu/menuItemText.js.map +1 -0
  449. package/dist/components/navigation/menu/menuList.d.ts +3 -0
  450. package/dist/components/navigation/menu/menuList.js +30 -0
  451. package/dist/components/navigation/menu/menuList.js.map +1 -0
  452. package/dist/components/navigation/menu/menuSubmenu.d.ts +16 -0
  453. package/dist/components/navigation/menu/menuSubmenu.js +70 -0
  454. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -0
  455. package/dist/components/navigation/pagination/index.d.ts +2 -0
  456. package/dist/components/navigation/pagination/pagination.d.ts +27 -0
  457. package/dist/components/navigation/pagination/pagination.js +107 -0
  458. package/dist/components/navigation/pagination/pagination.js.map +1 -0
  459. package/dist/components/navigation/sidebar/index.d.ts +2 -0
  460. package/dist/components/navigation/sidebar/sidebar.d.ts +33 -0
  461. package/dist/components/navigation/sidebar/sidebar.js +106 -0
  462. package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
  463. package/dist/components/navigation/stepper/index.d.ts +2 -0
  464. package/dist/components/navigation/stepper/stepper.d.ts +25 -0
  465. package/dist/components/navigation/stepper/stepper.js +61 -0
  466. package/dist/components/navigation/stepper/stepper.js.map +1 -0
  467. package/dist/components/navigation/tabs/index.d.ts +4 -0
  468. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  469. package/dist/components/navigation/tabs/tab/tab.js +54 -0
  470. package/dist/components/navigation/tabs/tab/tab.js.map +1 -0
  471. package/dist/components/navigation/tabs/tabs.d.ts +15 -0
  472. package/dist/components/navigation/tabs/tabs.js +137 -0
  473. package/dist/components/navigation/tabs/tabs.js.map +1 -0
  474. package/dist/connects/rt/index.d.ts +2 -0
  475. package/dist/connects/rt/table/draggableHeader.d.ts +13 -0
  476. package/dist/connects/rt/table/headerCellRenderer.d.ts +8 -0
  477. package/dist/connects/rt/table/index.d.ts +3 -0
  478. package/dist/connects/rt/table/table.d.ts +39 -0
  479. package/dist/connects/rt/table/utils.d.ts +7 -0
  480. package/dist/headless/components/base/animateHeight/animateHeight.js +118 -0
  481. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -0
  482. package/dist/headless/components/base/icon/icon.js +26 -0
  483. package/dist/headless/components/base/icon/icon.js.map +1 -0
  484. package/dist/headless/components/base/ripple/ripple.js +41 -0
  485. package/dist/headless/components/base/ripple/ripple.js.map +1 -0
  486. package/dist/headless/components/clickAwayListener/clickAwayListener.js +67 -0
  487. package/dist/headless/components/clickAwayListener/clickAwayListener.js.map +1 -0
  488. package/dist/headless/components/dataDisplay/accordion/accordion.js +61 -0
  489. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -0
  490. package/dist/headless/components/dataDisplay/avatar/avatar.js +48 -0
  491. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -0
  492. package/dist/headless/components/dataDisplay/badge/badge.js +38 -0
  493. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -0
  494. package/dist/headless/components/dataDisplay/card/card.js +35 -0
  495. package/dist/headless/components/dataDisplay/card/card.js.map +1 -0
  496. package/dist/headless/components/dataDisplay/carousel/carousel.js +178 -0
  497. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -0
  498. package/dist/headless/components/dataDisplay/carousel/utils.js +57 -0
  499. package/dist/headless/components/dataDisplay/carousel/utils.js.map +1 -0
  500. package/dist/headless/components/dataDisplay/chat/chat.js +182 -0
  501. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -0
  502. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
  503. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
  504. package/dist/headless/components/dataDisplay/chat/chatAttachments.js +26 -0
  505. package/dist/headless/components/dataDisplay/chat/chatAttachments.js.map +1 -0
  506. package/dist/headless/components/dataDisplay/chat/chatComposer.js +154 -0
  507. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -0
  508. package/dist/headless/components/dataDisplay/chat/chatHeader.js +52 -0
  509. package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -0
  510. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +47 -0
  511. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -0
  512. package/dist/headless/components/dataDisplay/chat/chatLayout.js +102 -0
  513. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -0
  514. package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
  515. package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
  516. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +60 -0
  517. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
  518. package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
  519. package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
  520. package/dist/headless/components/dataDisplay/chat/chatMessageItem.js +62 -0
  521. package/dist/headless/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
  522. package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
  523. package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
  524. package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
  525. package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
  526. package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js +37 -0
  527. package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
  528. package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js +13 -0
  529. package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
  530. package/dist/headless/components/dataDisplay/chat/chatMessages.js +73 -0
  531. package/dist/headless/components/dataDisplay/chat/chatMessages.js.map +1 -0
  532. package/dist/headless/components/dataDisplay/chat/chatShell.js +63 -0
  533. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -0
  534. package/dist/headless/components/dataDisplay/chat/types.js +19 -0
  535. package/dist/headless/components/dataDisplay/chat/types.js.map +1 -0
  536. package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js +42 -0
  537. package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
  538. package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
  539. package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
  540. package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
  541. package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
  542. package/dist/headless/components/dataDisplay/chat/utils.js +61 -0
  543. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -0
  544. package/dist/headless/components/dataDisplay/chip/chip.js +98 -0
  545. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -0
  546. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +173 -0
  547. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
  548. package/dist/headless/components/dataDisplay/imagesList/imagesList.js +20 -0
  549. package/dist/headless/components/dataDisplay/imagesList/imagesList.js.map +1 -0
  550. package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js +8 -0
  551. package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
  552. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +54 -0
  553. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
  554. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
  555. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
  556. package/dist/headless/components/dataDisplay/list/list.js +24 -0
  557. package/dist/headless/components/dataDisplay/list/list.js.map +1 -0
  558. package/dist/headless/components/dataDisplay/list/listItem.js +37 -0
  559. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -0
  560. package/dist/headless/components/dataDisplay/table/table.js +37 -0
  561. package/dist/headless/components/dataDisplay/table/table.js.map +1 -0
  562. package/dist/headless/components/dataDisplay/table/tableBody.js +7 -0
  563. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -0
  564. package/dist/headless/components/dataDisplay/table/tableCell.js +7 -0
  565. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -0
  566. package/dist/headless/components/dataDisplay/table/tableHead.js +7 -0
  567. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -0
  568. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +47 -0
  569. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -0
  570. package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
  571. package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
  572. package/dist/headless/components/dataDisplay/table/tableRow.js +20 -0
  573. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -0
  574. package/dist/headless/components/dataDisplay/treeView/treeView.js +115 -0
  575. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -0
  576. package/dist/headless/components/dataDisplay/typography/typography.js +44 -0
  577. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -0
  578. package/dist/headless/components/feedBack/message/message.js +31 -0
  579. package/dist/headless/components/feedBack/message/message.js.map +1 -0
  580. package/dist/headless/components/feedBack/modal/modal.js +106 -0
  581. package/dist/headless/components/feedBack/modal/modal.js.map +1 -0
  582. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +51 -0
  583. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
  584. package/dist/headless/components/feedBack/skeleton/skeleton.js +47 -0
  585. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -0
  586. package/dist/headless/components/feedBack/snackbar/snackbar.js +194 -0
  587. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -0
  588. package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
  589. package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
  590. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -0
  591. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -0
  592. package/dist/headless/components/inputs/button/button.js +82 -0
  593. package/dist/headless/components/inputs/button/button.js.map +1 -0
  594. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +52 -0
  595. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
  596. package/dist/headless/components/inputs/checkbox/checkbox.js +73 -0
  597. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -0
  598. package/dist/headless/components/inputs/datePicker/dataPickerDays.js +59 -0
  599. package/dist/headless/components/inputs/datePicker/dataPickerDays.js.map +1 -0
  600. package/dist/headless/components/inputs/datePicker/dataPickerHeader.js +57 -0
  601. package/dist/headless/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
  602. package/dist/headless/components/inputs/datePicker/dataPickerInput.js +37 -0
  603. package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -0
  604. package/dist/headless/components/inputs/datePicker/dateFormat.js +58 -0
  605. package/dist/headless/components/inputs/datePicker/dateFormat.js.map +1 -0
  606. package/dist/headless/components/inputs/datePicker/datePicker.js +228 -0
  607. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -0
  608. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +42 -0
  609. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
  610. package/dist/headless/components/inputs/datePicker/datePickerDay.js +62 -0
  611. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -0
  612. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +44 -0
  613. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
  614. package/dist/headless/components/inputs/datePicker/datePickerList.js +38 -0
  615. package/dist/headless/components/inputs/datePicker/datePickerList.js.map +1 -0
  616. package/dist/headless/components/inputs/datePicker/useDateInput.js +35 -0
  617. package/dist/headless/components/inputs/datePicker/useDateInput.js.map +1 -0
  618. package/dist/headless/components/inputs/datePicker/utils.js +179 -0
  619. package/dist/headless/components/inputs/datePicker/utils.js.map +1 -0
  620. package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
  621. package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
  622. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
  623. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
  624. package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
  625. package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
  626. package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
  627. package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
  628. package/dist/headless/components/inputs/floatingButton/floatingButton.js +41 -0
  629. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -0
  630. package/dist/headless/components/inputs/radioButton/radioButton.js +68 -0
  631. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -0
  632. package/dist/headless/components/inputs/rating/rating.js +84 -0
  633. package/dist/headless/components/inputs/rating/rating.js.map +1 -0
  634. package/dist/headless/components/inputs/selectField/dropdownMenu.js +134 -0
  635. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -0
  636. package/dist/headless/components/inputs/selectField/selectField.js +231 -0
  637. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -0
  638. package/dist/headless/components/inputs/slider/slider.js +313 -0
  639. package/dist/headless/components/inputs/slider/slider.js.map +1 -0
  640. package/dist/headless/components/inputs/slider/utils.js +40 -0
  641. package/dist/headless/components/inputs/slider/utils.js.map +1 -0
  642. package/dist/headless/components/inputs/textField/textField.js +125 -0
  643. package/dist/headless/components/inputs/textField/textField.js.map +1 -0
  644. package/dist/headless/components/inputs/textField/textFieldAdornment.js +25 -0
  645. package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -0
  646. package/dist/headless/components/inputs/textField/textFieldWrapper.js +50 -0
  647. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -0
  648. package/dist/headless/components/inputs/textField/utils.js +11 -0
  649. package/dist/headless/components/inputs/textField/utils.js.map +1 -0
  650. package/dist/headless/components/inputs/timePicker/timeFormat.js +61 -0
  651. package/dist/headless/components/inputs/timePicker/timeFormat.js.map +1 -0
  652. package/dist/headless/components/inputs/timePicker/timePicker.js +113 -0
  653. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -0
  654. package/dist/headless/components/inputs/timePicker/timePickerColumns.js +32 -0
  655. package/dist/headless/components/inputs/timePicker/timePickerColumns.js.map +1 -0
  656. package/dist/headless/components/inputs/timePicker/timePickerInput.js +37 -0
  657. package/dist/headless/components/inputs/timePicker/timePickerInput.js.map +1 -0
  658. package/dist/headless/components/inputs/timePicker/timePickerList.js +43 -0
  659. package/dist/headless/components/inputs/timePicker/timePickerList.js.map +1 -0
  660. package/dist/headless/components/inputs/timePicker/timeUtils.js +93 -0
  661. package/dist/headless/components/inputs/timePicker/timeUtils.js.map +1 -0
  662. package/dist/headless/components/inputs/timePicker/useTimeInput.js +37 -0
  663. package/dist/headless/components/inputs/timePicker/useTimeInput.js.map +1 -0
  664. package/dist/headless/components/inputs/toggle/toggle.js +69 -0
  665. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -0
  666. package/dist/headless/components/layout/appLayout/appLayout.js +74 -0
  667. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -0
  668. package/dist/headless/components/layout/divider/divider.js +57 -0
  669. package/dist/headless/components/layout/divider/divider.js.map +1 -0
  670. package/dist/headless/components/layout/grid/grid.js +58 -0
  671. package/dist/headless/components/layout/grid/grid.js.map +1 -0
  672. package/dist/headless/components/layout/page/page.js +21 -0
  673. package/dist/headless/components/layout/page/page.js.map +1 -0
  674. package/dist/headless/components/layout/pageHeader/pageHeader.js +30 -0
  675. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -0
  676. package/dist/headless/components/layout/screenDivider/screenDivider.js +88 -0
  677. package/dist/headless/components/layout/screenDivider/screenDivider.js.map +1 -0
  678. package/dist/headless/components/layout/sheet/sheet.js +217 -0
  679. package/dist/headless/components/layout/sheet/sheet.js.map +1 -0
  680. package/dist/headless/components/layout/stack/stack.js +33 -0
  681. package/dist/headless/components/layout/stack/stack.js.map +1 -0
  682. package/dist/headless/components/navigation/appBar/appBar.js +47 -0
  683. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -0
  684. package/dist/headless/components/navigation/bottomBar/bottomBar.js +105 -0
  685. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -0
  686. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +52 -0
  687. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
  688. package/dist/headless/components/navigation/menu/menu.js +14 -0
  689. package/dist/headless/components/navigation/menu/menu.js.map +1 -0
  690. package/dist/headless/components/navigation/menu/menuComponent.js +13 -0
  691. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -0
  692. package/dist/headless/components/navigation/menu/menuContext.js +14 -0
  693. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -0
  694. package/dist/headless/components/navigation/menu/menuDivider.js +19 -0
  695. package/dist/headless/components/navigation/menu/menuDivider.js.map +1 -0
  696. package/dist/headless/components/navigation/menu/menuFloating.js +50 -0
  697. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -0
  698. package/dist/headless/components/navigation/menu/menuItem.js +68 -0
  699. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -0
  700. package/dist/headless/components/navigation/menu/menuItemIcon.js +16 -0
  701. package/dist/headless/components/navigation/menu/menuItemIcon.js.map +1 -0
  702. package/dist/headless/components/navigation/menu/menuItemText.js +15 -0
  703. package/dist/headless/components/navigation/menu/menuItemText.js.map +1 -0
  704. package/dist/headless/components/navigation/menu/menuList.js +30 -0
  705. package/dist/headless/components/navigation/menu/menuList.js.map +1 -0
  706. package/dist/headless/components/navigation/menu/menuSubmenu.js +70 -0
  707. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -0
  708. package/dist/headless/components/navigation/pagination/pagination.js +106 -0
  709. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -0
  710. package/dist/headless/components/navigation/sidebar/sidebar.js +105 -0
  711. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -0
  712. package/dist/headless/components/navigation/stepper/stepper.js +60 -0
  713. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -0
  714. package/dist/headless/components/navigation/tabs/tab/tab.js +53 -0
  715. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -0
  716. package/dist/headless/components/navigation/tabs/tabs.js +136 -0
  717. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -0
  718. package/dist/headless/hooks/useControllableState.js +24 -0
  719. package/dist/headless/hooks/useControllableState.js.map +1 -0
  720. package/dist/headless/hooks/useEventCallback.js +11 -0
  721. package/dist/headless/hooks/useEventCallback.js.map +1 -0
  722. package/dist/headless/hooks/useFocusTrap.js +38 -0
  723. package/dist/headless/hooks/useFocusTrap.js.map +1 -0
  724. package/dist/headless/hooks/useForkRef.js +13 -0
  725. package/dist/headless/hooks/useForkRef.js.map +1 -0
  726. package/dist/headless/hooks/useId.js +9 -0
  727. package/dist/headless/hooks/useId.js.map +1 -0
  728. package/dist/headless/hooks/useModalState.js +13 -0
  729. package/dist/headless/hooks/useModalState.js.map +1 -0
  730. package/dist/headless/hooks/useObservable.js +9 -0
  731. package/dist/headless/hooks/useObservable.js.map +1 -0
  732. package/dist/headless/hooks/useRovingTabIndex.js +35 -0
  733. package/dist/headless/hooks/useRovingTabIndex.js.map +1 -0
  734. package/dist/headless/hooks/useSafeLayoutEffect.js +6 -0
  735. package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -0
  736. package/dist/headless/hooks/useTheme.js +37 -0
  737. package/dist/headless/hooks/useTheme.js.map +1 -0
  738. package/dist/headless/hooks/useVirtualList.js +25 -0
  739. package/dist/headless/hooks/useVirtualList.js.map +1 -0
  740. package/dist/headless/index.js +242 -0
  741. package/dist/headless/index.js.map +1 -0
  742. package/dist/headless/utils/animate.js +30 -0
  743. package/dist/headless/utils/animate.js.map +1 -0
  744. package/dist/headless/utils/debounce.js +15 -0
  745. package/dist/headless/utils/debounce.js.map +1 -0
  746. package/dist/headless/utils/floating.js +13 -0
  747. package/dist/headless/utils/floating.js.map +1 -0
  748. package/dist/headless/utils/observable.js +24 -0
  749. package/dist/headless/utils/observable.js.map +1 -0
  750. package/dist/headless/utils/setRef.js +7 -0
  751. package/dist/headless/utils/setRef.js.map +1 -0
  752. package/dist/headless/utils/throttle.js +18 -0
  753. package/dist/headless/utils/throttle.js.map +1 -0
  754. package/dist/hooks/useControllableState.d.ts +21 -0
  755. package/dist/hooks/useControllableState.js +24 -0
  756. package/dist/hooks/useControllableState.js.map +1 -0
  757. package/dist/hooks/useEventCallback.d.ts +4 -0
  758. package/dist/hooks/useEventCallback.js +11 -0
  759. package/dist/hooks/useEventCallback.js.map +1 -0
  760. package/dist/hooks/useFocusTrap.d.ts +15 -0
  761. package/dist/hooks/useFocusTrap.js +38 -0
  762. package/dist/hooks/useFocusTrap.js.map +1 -0
  763. package/dist/hooks/useForkRef.d.ts +2 -0
  764. package/dist/hooks/useForkRef.js +13 -0
  765. package/dist/hooks/useForkRef.js.map +1 -0
  766. package/dist/hooks/useId.d.ts +9 -0
  767. package/dist/hooks/useId.js +9 -0
  768. package/dist/hooks/useId.js.map +1 -0
  769. package/dist/hooks/useMediaQuery.d.ts +1 -0
  770. package/dist/hooks/useModalState.d.ts +5 -0
  771. package/dist/hooks/useModalState.js +13 -0
  772. package/dist/hooks/useModalState.js.map +1 -0
  773. package/dist/hooks/useObservable.d.ts +2 -0
  774. package/dist/hooks/useObservable.js +9 -0
  775. package/dist/hooks/useObservable.js.map +1 -0
  776. package/dist/hooks/useRovingTabIndex.d.ts +22 -0
  777. package/dist/hooks/useRovingTabIndex.js +35 -0
  778. package/dist/hooks/useRovingTabIndex.js.map +1 -0
  779. package/dist/hooks/useSafeLayoutEffect.d.ts +2 -0
  780. package/dist/hooks/useSafeLayoutEffect.js +6 -0
  781. package/dist/hooks/useSafeLayoutEffect.js.map +1 -0
  782. package/dist/hooks/useTheme.d.ts +9 -0
  783. package/dist/hooks/useTheme.js +37 -0
  784. package/dist/hooks/useTheme.js.map +1 -0
  785. package/dist/hooks/useThrottleCallback.d.ts +1 -0
  786. package/dist/hooks/useVirtualList.d.ts +34 -0
  787. package/dist/hooks/useVirtualList.js +25 -0
  788. package/dist/hooks/useVirtualList.js.map +1 -0
  789. package/dist/index.cjs +3 -0
  790. package/dist/index.cjs.map +1 -0
  791. package/dist/index.d.ts +113 -0
  792. package/dist/index.js +242 -0
  793. package/dist/index.js.map +1 -0
  794. package/dist/react-table/components/base/icon/icon.js +26 -0
  795. package/dist/react-table/components/base/icon/icon.js.map +1 -0
  796. package/dist/react-table/components/dataDisplay/table/table.js +37 -0
  797. package/dist/react-table/components/dataDisplay/table/table.js.map +1 -0
  798. package/dist/react-table/components/dataDisplay/table/tableBody.js +7 -0
  799. package/dist/react-table/components/dataDisplay/table/tableBody.js.map +1 -0
  800. package/dist/react-table/components/dataDisplay/table/tableCell.js +7 -0
  801. package/dist/react-table/components/dataDisplay/table/tableCell.js.map +1 -0
  802. package/dist/react-table/components/dataDisplay/table/tableHead.js +7 -0
  803. package/dist/react-table/components/dataDisplay/table/tableHead.js.map +1 -0
  804. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +47 -0
  805. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +1 -0
  806. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
  807. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
  808. package/dist/react-table/components/dataDisplay/table/tableRow.js +20 -0
  809. package/dist/react-table/components/dataDisplay/table/tableRow.js.map +1 -0
  810. package/dist/react-table/components/feedBack/message/message.js +31 -0
  811. package/dist/react-table/components/feedBack/message/message.js.map +1 -0
  812. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +51 -0
  813. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
  814. package/dist/react-table/components/inputs/textField/textField.js +125 -0
  815. package/dist/react-table/components/inputs/textField/textField.js.map +1 -0
  816. package/dist/react-table/components/inputs/textField/textFieldAdornment.js +25 -0
  817. package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +1 -0
  818. package/dist/react-table/components/inputs/textField/textFieldWrapper.js +50 -0
  819. package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +1 -0
  820. package/dist/react-table/components/inputs/textField/utils.js +11 -0
  821. package/dist/react-table/components/inputs/textField/utils.js.map +1 -0
  822. package/dist/react-table/connects/rt/table/draggableHeader.js +44 -0
  823. package/dist/react-table/connects/rt/table/draggableHeader.js.map +1 -0
  824. package/dist/react-table/connects/rt/table/headerCellRenderer.js +14 -0
  825. package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +1 -0
  826. package/dist/react-table/connects/rt/table/table.js +180 -0
  827. package/dist/react-table/connects/rt/table/table.js.map +1 -0
  828. package/dist/react-table/connects/rt/table/utils.js +22 -0
  829. package/dist/react-table/connects/rt/table/utils.js.map +1 -0
  830. package/dist/react-table/hooks/useForkRef.js +13 -0
  831. package/dist/react-table/hooks/useForkRef.js.map +1 -0
  832. package/dist/react-table/hooks/useSafeLayoutEffect.js +6 -0
  833. package/dist/react-table/hooks/useSafeLayoutEffect.js.map +1 -0
  834. package/dist/react-table/react-table.js +7 -0
  835. package/dist/react-table/react-table.js.map +1 -0
  836. package/dist/react-table/utils/setRef.js +7 -0
  837. package/dist/react-table/utils/setRef.js.map +1 -0
  838. package/dist/react-table.d.ts +3 -0
  839. package/dist/storybook/storyPlay.d.ts +19 -0
  840. package/dist/templates/summer-ui/components/authCard/authCard.d.ts +8 -0
  841. package/dist/templates/summer-ui/components/authCard/index.d.ts +2 -0
  842. package/dist/templates/summer-ui/components/authLayout/authLayout.d.ts +3 -0
  843. package/dist/templates/summer-ui/components/authLayout/index.d.ts +2 -0
  844. package/dist/templates/summer-ui/components/authProvider/authProvider.d.ts +8 -0
  845. package/dist/templates/summer-ui/components/authProvider/index.d.ts +2 -0
  846. package/dist/templates/summer-ui/components/link/index.d.ts +2 -0
  847. package/dist/templates/summer-ui/components/link/link.d.ts +7 -0
  848. package/dist/templates/summer-ui/index.d.ts +1 -0
  849. package/dist/templates/summer-ui/messages/en.d.ts +30 -0
  850. package/dist/templates/summer-ui/messages/index.d.ts +31 -0
  851. package/dist/utils/animate.d.ts +8 -0
  852. package/dist/utils/animate.js +30 -0
  853. package/dist/utils/animate.js.map +1 -0
  854. package/dist/utils/debounce.d.ts +5 -0
  855. package/dist/utils/debounce.js +15 -0
  856. package/dist/utils/debounce.js.map +1 -0
  857. package/dist/utils/floating.d.ts +9 -0
  858. package/dist/utils/floating.js +13 -0
  859. package/dist/utils/floating.js.map +1 -0
  860. package/dist/utils/observable.d.ts +10 -0
  861. package/dist/utils/observable.js +24 -0
  862. package/dist/utils/observable.js.map +1 -0
  863. package/dist/utils/setRef.d.ts +2 -0
  864. package/dist/utils/setRef.js +7 -0
  865. package/dist/utils/setRef.js.map +1 -0
  866. package/dist/utils/throttle.d.ts +5 -0
  867. package/dist/utils/throttle.js +18 -0
  868. package/dist/utils/throttle.js.map +1 -0
  869. package/dist/utils/types/extractPropertyNamesByType.d.ts +3 -0
  870. package/dist/utils/types/ifEquals.d.ts +1 -0
  871. package/dist/utils/types/writableKeys.d.ts +8 -0
  872. package/package.json +146 -0
@@ -0,0 +1,192 @@
1
+ <!--
2
+ AUDIENCE: AI agent (not human). Dense, exact, copy-paste ready.
3
+ TOPIC: compile-time customization of @smwb/ui-react via Less overrides.
4
+ Companion: AI_THEMING.md (runtime CSS vars + component props).
5
+ -->
6
+
7
+ # AI_LESS_OVERRIDES — Less override mechanism
8
+
9
+ ## Resolution model (READ FIRST)
10
+
11
+ The published aggregate stylesheet is compiled from `@smwb/ui-styles/less/components.less`
12
+ into the standalone `@smwb/ui-css` package (`dist/ui.css`) at build time
13
+ (`npm -w @smwb/ui-css run build`).
14
+
15
+ Import order (`@smwb/ui-styles/less/theme.less`):
16
+
17
+ ```
18
+ site/globals/site.variables.less
19
+ default/globals/default.variables.less
20
+ variables.less (maps @vars → :root{--smui-*})
21
+ @{themesFolder}/@{theme}/variables.less (optional theme)
22
+ theme.config (optional, client-supplied — imported LAST)
23
+ ```
24
+
25
+ The `foundation` layer is imported FIRST via
26
+ `@smwb/ui-styles/less/components.less` → `@smwb/ui-styles/less/foundation.less`:
27
+ `palette → spacing → radius → elevation → breakpoints → sizing`.
28
+
29
+ **Less is last-declaration-wins at root scope** (lazy eval). Every
30
+ `@var` resolves to its LAST assignment in the whole compilation.
31
+ `theme.config` is imported LAST (after `default.variables.less` and
32
+ `variables.less`) precisely so a consumer's reassignment wins over the
33
+ defaults. Component CSS reads these via lazy evaluation, so the final
34
+ assignment wins even though component rules are emitted earlier. To
35
+ override a token, assign it again in `theme.config`; the sanctioned
36
+ hook is `theme.config`.
37
+
38
+ ### How a consumer overrides (the only supported entry point)
39
+
40
+ 1. Create a Less file, e.g. `theme.config`, resolvable from
41
+ `@smwb/ui-styles/less/` (build with `lessc` include paths or copy alongside).
42
+ `theme.less` does `@import (optional) "theme.config";` — absent file
43
+ is a no-op.
44
+ 2. Put `@token: <value>;` lines in it. Recompile.
45
+
46
+ ```less
47
+ // theme.config (consumer)
48
+ @smui-spacing-unit: 8px; // double every gap/padding/margin
49
+ @smui-radius-md: 2px; // sharper corners library-wide
50
+ @primaryColor: @md-teal-500; // pull brand from the MD palette
51
+ @cardPadding: @smui-space-xxl;
52
+ ```
53
+
54
+ `site.variables.less` (`@smwb/ui-styles/less/site/globals/site.variables.less`)
55
+ is an in-repo equivalent hook (currently only doc comments) for
56
+ first-party theming.
57
+
58
+ ## Token catalog (authoritative files)
59
+
60
+ | Layer | File | Tokens |
61
+ |---|---|---|
62
+ | MD palette | `@smwb/ui-styles/less/foundation/palette.less` | `@md-<color>-<shade>` |
63
+ | Spacing | `@smwb/ui-styles/less/foundation/spacing.less` | `@smui-spacing-unit`, `@smui-space-*` + mixins |
64
+ | Radius | `@smwb/ui-styles/less/foundation/radius.less` | `@smui-radius-*` |
65
+ | Elevation | `@smwb/ui-styles/less/foundation/elevation.less` | `@smui-elevation-*` + mixin |
66
+ | Breakpoints | `@smwb/ui-styles/less/foundation/breakpoints.less` | `@smui-bp-*`, `@xs..@xl` + media mixins |
67
+ | Control sizing | `@smwb/ui-styles/less/foundation/sizing.less` | `@smui-control-*`, `@smui-selection-*`, `@smui-icon-*` |
68
+ | Semantic colors + per-component vars | `@smwb/ui-styles/less/default/globals/default.variables.less` | `@primaryColor`, `@secondaryColor`, `@errorColor`, … and component vars |
69
+ | Dark theme vars | same file, `*Dark` suffixed | e.g. `@primaryColorDark` |
70
+ | Runtime exposure | `@smwb/ui-styles/less/variables.less` | `:root { --smui-* }` |
71
+
72
+ To enumerate any group exactly, grep the source (always current):
73
+
74
+ ```
75
+ grep -oE '@smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/foundation/*.less | sort -u
76
+ grep -oE '@md-[a-zA-Z]+-[a-z0-9]+' @smwb/ui-styles/less/foundation/palette.less | sort -u
77
+ grep -oE '^@[a-zA-Z][a-zA-Z0-9]+:' @smwb/ui-styles/less/default/globals/default.variables.less
78
+ ```
79
+
80
+ ### MD palette (`@md-<color>-<shade>`)
81
+
82
+ Colors: `red pink purple deepPurple indigo blue lightBlue cyan teal
83
+ green lightGreen lime yellow amber orange deepOrange brown grey
84
+ blueGrey`. Shades: `50 100 200 300 400 500 600 700 800 900`; accents
85
+ `a100 a200 a400 a700` (most colors). Plus `@md-white`, `@md-black`.
86
+ Example: `@md-blue-700`, `@md-amber-a200`.
87
+
88
+ ### Spacing scale + mixins (`foundation/spacing.less`)
89
+
90
+ - Base unit: `@smui-spacing-unit: 4px;`
91
+ - Numeric: `@smui-space-0,1,2,3,4,5,6,8,10,12,16` (= unit×n).
92
+ - Named: `@smui-space-none|xxs|xs|sm|md|lg|xl|xxl|xxxl`
93
+ (2,4,8,12,16,20,24,32 px).
94
+ - Property mixins (consume keyword OR raw length):
95
+ `.smwb-gap(@s)`, `.smwb-row-gap(@s)`, `.smwb-column-gap(@s)`,
96
+ `.smwb-inset(@s)` (=padding), `.smwb-padding(@a[;@b[;@c[;@d]]])`,
97
+ `.smwb-margin(@a[;…])`. Keyword resolver: `.smwb-resolve-space`.
98
+
99
+ ### Radius (`foundation/radius.less`)
100
+
101
+ `@smui-radius-none|xs|sm|md|lg|xl|xxl|pill|circle`
102
+ (0,2,4,8,12,16,28,9999px,50%).
103
+
104
+ ### Elevation (`foundation/elevation.less`)
105
+
106
+ `@smui-elevation-0,1,2,3,4,6,8,9,12,16,24` (Material umbra/penumbra/
107
+ ambient stacks). Mixin: `.smwb-elevation(@dp)` (e.g. `.smwb-elevation(2)`).
108
+
109
+ ### Breakpoints + media mixins (`foundation/breakpoints.less`)
110
+
111
+ `@smui-bp-xs=0, -sm=420px, -md=768px, -lg=1024px, -xl=1200px`.
112
+ Legacy aliases `@xs..@xl` map to these (used by Grid).
113
+ Detached-ruleset mixins:
114
+
115
+ ```less
116
+ .smwb-media-up(md; { .x { gap: @smui-space-xl; } });
117
+ .smwb-media-down(sm; { .x { padding: @smui-space-sm; } });
118
+ .smwb-media-between(sm; lg; { .x { display: none; } });
119
+ ```
120
+
121
+ ### Control sizing (`foundation/sizing.less`)
122
+
123
+ `@smui-control-h-sm|md|lg` (32/40/48), `@smui-control-px-sm|md|lg`,
124
+ `@smui-control-font-sm|md|lg`, `@smui-selection-sm|md|lg` (16/18/22),
125
+ `@smui-icon-sm|md|lg` (18/20/24). Component `size` props map to
126
+ `*_size-sm|md|lg` classes that read these.
127
+
128
+ ### Semantic colors (`default.variables.less`)
129
+
130
+ Base: `@primaryColor @secondaryColor @errorColor @successColor
131
+ @warningColor @infoColor` (+ `@onXColor` foregrounds). Each has
132
+ `@<name>ColorHover|Active|Focus`. Dark variants are `*Dark`-suffixed
133
+ and exposed under `:root[data-theme="dark"]`.
134
+
135
+ ### Per-component spacing/appearance variables
136
+
137
+ `default.variables.less` defines a “Component spacing tokens” section:
138
+ `@<component><Role>` (e.g. `@cardPadding`, `@buttonGap`,
139
+ `@menuItemPaddingX`, `@chipGap`, `@modalHeaderPadding`,
140
+ `@tabPaddingX`, …). On-grid values reference the spacing scale;
141
+ off-grid ones are literals tagged `// off-grid`. Authoritative list:
142
+
143
+ ```
144
+ grep -nE '^@[a-z][A-Za-z0-9]+:' @smwb/ui-styles/less/default/globals/default.variables.less
145
+ ```
146
+
147
+ ## Recipes
148
+
149
+ ```less
150
+ // 1. Rescale entire UI density
151
+ @smui-spacing-unit: 6px;
152
+
153
+ // 2. Flatter corners everywhere
154
+ @smui-radius-md: 2px; @smui-radius-lg: 4px; @smui-radius-xl: 6px;
155
+
156
+ // 3. Rebrand from the MD palette (cascades to all primary usages)
157
+ @primaryColor: @md-indigo-600;
158
+ @primaryContainer: @md-indigo-50;
159
+
160
+ // 4. Retune ONE component without touching others
161
+ @cardPadding: @smui-space-xxl;
162
+ @tooltipBg: @md-blueGrey-800;
163
+
164
+ // 5. Soften elevation globally
165
+ @smui-elevation-2: @smui-elevation-1;
166
+
167
+ // 6. Mobile tweak via media mixin (in a component .less or override)
168
+ .smwb-media-down(sm; { .smwb-appbar { padding: 0 @smui-space-sm; } });
169
+ ```
170
+
171
+ ## Rules for an AI editing this library
172
+
173
+ - New shared scale value → add to the matching `foundation/*.less`
174
+ (single source); never hardcode px/hex in component `.less`.
175
+ - Use `//` comments in foundation files (Less strips them; `/* */`
176
+ leak into shipped CSS and bloat it).
177
+ - Component spacing/color → add a `@<component><Role>` var in
178
+ `default.variables.less`, reference it from the component `.less`.
179
+ - Runtime-overridable token → also expose `--smui-*` in
180
+ `@smwb/ui-styles/less/variables.less` (both light and `data-theme="dark"`).
181
+ - NEVER apply a Less colour function (`rgba`/`lighten`/`darken`/`fade`/
182
+ `mix`/…) to an overridable theme token (`@primaryColor`,
183
+ `@onSurfaceColor`, `@errorColor`, …): a consumer's `theme.config` may
184
+ set it to a `var(--…)` string, which Less colour functions cannot
185
+ evaluate. Use CSS `color-mix()` with Less interpolation instead, e.g.
186
+ `~"color-mix(in srgb, @{primaryColor} 8%, transparent)"` (overlay) or
187
+ `~"color-mix(in srgb, #fff 4%, @{primaryColor})"` (tint). This works
188
+ for both hex defaults and `var()` overrides.
189
+ - After any `.less` change in `@smwb/ui-styles`: rebuild the aggregate
190
+ (`npm -w @smwb/ui-css run build`), then diff the emitted
191
+ `packages/ui-css/dist/ui.css` vs baseline — non-additive changes to
192
+ existing rules are regressions.
package/AI_THEMING.md ADDED
@@ -0,0 +1,155 @@
1
+ <!--
2
+ AUDIENCE: AI agent (not human). Dense, exact, copy-paste ready.
3
+ TOPIC: changing component appearance in @smwb/ui-react — at runtime
4
+ (CSS custom properties) and via component props.
5
+ Companion: AI_LESS_OVERRIDES.md (compile-time Less tokens).
6
+ -->
7
+
8
+ # AI_THEMING — change component appearance
9
+
10
+ Three independent layers, cheapest first:
11
+
12
+ 1. **Runtime CSS custom properties** (`--smui-*`) — no rebuild, switch
13
+ live (incl. dark mode).
14
+ 2. **Component props** — `size`, `color`, `variant`, etc. per component.
15
+ 3. **Compile-time Less tokens** — see `AI_LESS_OVERRIDES.md`.
16
+
17
+ ## 1. Runtime: CSS custom properties
18
+
19
+ `@smwb/ui-styles/less/variables.less` emits two blocks into the shipped CSS:
20
+
21
+ ```css
22
+ :root { --smui-primaryColor: …; --smui-space-md: 12px; … }
23
+ :root[data-theme="dark"] { --smui-primaryColor: …; … }
24
+ ```
25
+
26
+ - **Dark mode**: set `document.documentElement.dataset.theme = "dark"`
27
+ (or `<html data-theme="dark">`). Storybook does this via the Theme
28
+ global. The library hook `useTheme()` (exported) toggles + persists.
29
+ - **Override any token at runtime** by setting the custom property on
30
+ `:root` or any subtree (cascades):
31
+
32
+ ```css
33
+ :root { --smui-primaryColor: #00695c; --smui-radius-md: 2px; }
34
+ .dense-area { --smui-space-md: 8px; --smui-space-lg: 12px; }
35
+ ```
36
+
37
+ Authoritative list of runtime-overridable props:
38
+
39
+ ```
40
+ grep -oE '--smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/variables.less | sort -u
41
+ ```
42
+
43
+ Groups exposed: `--smui-primaryColor*`, full semantic set
44
+ (`--smui-secondaryColor`, `--smui-errorColor*`, `--smui-successColor*`,
45
+ `--smui-warningColor*`, `--smui-infoColor*`, `--smui-on<Name>Color`),
46
+ surface/text (`--smui-surfaceBackground`, `--smui-onSurfaceColor`,
47
+ `--smui-dividerColor`, …), per-component (`--smui-tooltipBg`,
48
+ `--smui-menuTextColor`, `--smui-tableBorderColor`, …), spacing
49
+ (`--smui-space-*`, `--smui-spacing-unit`), `--smui-radius-*`,
50
+ `--smui-elevation-*`, `--smui-bp-*`.
51
+
52
+ ## 2. Component props (appearance)
53
+
54
+ Standardized vocabulary (rollout in progress across the library):
55
+
56
+ - `size?: "small" | "medium" | "large"` — control density. Emits
57
+ `*_size-sm|md|lg`, reads `@smui-control-*` (see AI_LESS_OVERRIDES).
58
+ - `color?: "primary" | "secondary" | "error" | "success" | "warning"
59
+ | "info"` — semantic color, resolves through `--smui-<name>Color*`.
60
+ - `variant?: …` — structural style; component-specific values.
61
+
62
+ Authoritative per-component prop surface = the exported `*Props`
63
+ interface in each `src/components/<cat>/<name>/<name>.tsx`. Inspect:
64
+
65
+ ```
66
+ grep -nE 'export interface .*Props|size\?|color\?|variant\?' \
67
+ src/components/<cat>/<name>/<name>.tsx
68
+ ```
69
+
70
+ Representative current values:
71
+
72
+ | Component | variant | color | size | other appearance props |
73
+ |---|---|---|---|---|
74
+ | Button | contained\|text\|outlined | (colorTheme:primary) | small\|medium\|large | `fullWidth`, `icon`, `iconProps` |
75
+ | FloatingButton | default\|extended | primary\|secondary\|error\|success\|warning\|info | small\|medium\|large | `type` |
76
+ | Chip | filled\|outlined | — | — | `icon`, `deleteIcon`, `selected` |
77
+ | TextField | outlined\|filled | — | — | `startAdornment`, `endAdornment`, `inline`, `fullWidth` |
78
+ | SelectField | outlined\|filled | — | — | `chips`, `search`, `endAdornment`, `optionRenderer` |
79
+ | Card | filled\|elevated\|outlined | — | — | `disabled` |
80
+ | Avatar | circular\|rounded\|square | (`color` = bg of fallback) | small\|medium\|large \| px | — |
81
+ | Badge | inside\|outside | primary\|success\|danger | — | `vertical`, `horizontal` |
82
+ | Skeleton | text\|circular\|rounded\|rectangular | — | (`width`/`height`) | `animation` |
83
+ | Pagination | — | — | small\|medium | `showFirstButton`, `showLastButton` |
84
+ | Message | outlined\|filled\|left-accent | (`type`: success/error/warning/info) | — | `onClose` |
85
+ | Modal | — | — | small\|large\|fullscreen | `backdrop`, `animation` |
86
+ | ProgressIndicator | circular\|linear | — | — | `type` det/indet, `progressValue` |
87
+ | Divider | fullWidth\|inset\|middle | — | — | `orientation`, `textAlign` |
88
+ | Slider | continuous\|discrete | — | — | `withTicks`, `valueField` |
89
+ | Tabs/Tab | — | — | — | `scrollable`, `stacked`, `icon` |
90
+
91
+ (The exported `*Props` interface is the source of truth; this table is
92
+ a navigational summary, not exhaustive.)
93
+
94
+ ## 3. Per-component Less variables
95
+
96
+ Each component reads `@<component><Role>` vars from
97
+ `@smwb/ui-styles/less/default/globals/default.variables.less` and `--smui-*`
98
+ runtime props. To change a single component’s look without affecting
99
+ others, override its var (compile-time) or its `--smui-*` (runtime).
100
+
101
+ Find a component’s knobs:
102
+
103
+ ```
104
+ # Less vars it consumes
105
+ grep -oE '@[a-z][A-Za-z0-9]+' @smwb/ui-styles/less/components/<name>/<name>.less | sort -u
106
+ # runtime props it consumes
107
+ grep -oE 'var\(--smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/components/<name>/<name>.less | sort -u
108
+ ```
109
+
110
+ ## Recipes — “change the look of component X”
111
+
112
+ ```less
113
+ // A. Card: bigger padding + rounded (compile-time, one component)
114
+ @cardPadding: @smui-space-xxl;
115
+ @cardBorderRadius: @smui-radius-xl;
116
+ ```
117
+
118
+ ```css
119
+ /* B. Tooltip: dark slate, at runtime, no rebuild */
120
+ :root { --smui-tooltipBg: #37474f; --smui-tooltipTextColor: #fff; }
121
+ ```
122
+
123
+ ```tsx
124
+ // C. FloatingButton: semantic color + size via props
125
+ <FloatingButton color="success" size="large" variant="extended">Save</FloatingButton>
126
+ ```
127
+
128
+ ```css
129
+ /* D. Scope a denser theme to a region (runtime, cascades) */
130
+ .compact { --smui-space-md: 8px; --smui-space-lg: 12px;
131
+ --smui-control-h-md: 32px; }
132
+ ```
133
+
134
+ ```less
135
+ // E. Whole-library rebrand (compile-time) — see AI_LESS_OVERRIDES recipes
136
+ @primaryColor: @md-deepPurple-600;
137
+ ```
138
+
139
+ ```tsx
140
+ // F. Live dark mode toggle
141
+ import { useTheme } from "@smwb/ui-react";
142
+ const { theme, toggleTheme } = useTheme(); // sets <html data-theme>
143
+ ```
144
+
145
+ ## Decision rule for an AI
146
+
147
+ - Need a live/per-subtree/per-user change, no rebuild → **runtime
148
+ `--smui-*`** (layer 1).
149
+ - Per-instance variation in app code → **component prop** (layer 2).
150
+ - Library-wide default change shipped in CSS → **Less token** in
151
+ `foundation/*` or `default.variables.less` (layer 3,
152
+ see `AI_LESS_OVERRIDES.md`), then rebuild the aggregate
153
+ (`npm -w @smwb/ui-css run build`) + baseline diff.
154
+ - Never hardcode hex/px in app CSS targeting `.smwb-*` internals;
155
+ prefer the token of the correct layer.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2022 - Summerweb LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,209 @@
1
+ # @smwb/ui-react
2
+
3
+ TypeScript React component library based on [Material Design](https://m3.material.io/), with
4
+ runtime light/dark theming and LESS-based customization. Part of the `@smwb` design-system monorepo.
5
+
6
+ ![license](https://img.shields.io/badge/license-MIT-blue.svg)
7
+
8
+ ## The `@smwb` packages
9
+
10
+ | Package | What it is |
11
+ | --- | --- |
12
+ | **`@smwb/ui-react`** | This package — React components. |
13
+ | `@smwb/ui-solid` | SolidJS port, same design system and class names. |
14
+ | `@smwb/ui-styles` | Framework-agnostic **LESS source** + design tokens (`smwb-*`). |
15
+ | `@smwb/ui-css` | **Prebuilt aggregate stylesheet** (`import "@smwb/ui-css"`). |
16
+ | `@smwb/ui-mcp-react` | MCP server exposing this catalog to AI tools. |
17
+
18
+ ## Component catalog
19
+
20
+ - **Storybook (production):** https://summerweb.ru/ui
21
+ - **Local:** `npm run storybook` → http://localhost:6006
22
+
23
+ ## Installation
24
+
25
+ Published on [npm](https://www.npmjs.com/package/@smwb/ui-react) as `@smwb/ui-react`.
26
+
27
+ **Requirements:** Node.js ≥ 20, React and React DOM ≥ 18 (peer dependencies).
28
+
29
+ ```sh
30
+ npm install @smwb/ui-react
31
+ ```
32
+
33
+ ## Getting started
34
+
35
+ ```tsx
36
+ import { Button } from "@smwb/ui-react";
37
+
38
+ function App() {
39
+ return <Button>Hello World</Button>;
40
+ }
41
+ ```
42
+
43
+ In ESM builds each imported component **pulls in its own CSS automatically** (tree-shakeable) —
44
+ nothing else to import for the default theme.
45
+
46
+ ## Styles
47
+
48
+ Three ways to get the CSS, pick one:
49
+
50
+ 1. **Auto-injected per-component CSS** (default, ESM) — import components and their styles come
51
+ along. Tree-shaken: you only ship CSS for what you use.
52
+ 2. **Full prebuilt stylesheet** — one file with every component, from `@smwb/ui-css`
53
+ (recommended for CJS or when you need a fixed global cascade order):
54
+ ```tsx
55
+ import "@smwb/ui-css";
56
+ ```
57
+ Optional CSS reset: `import "@smwb/ui-styles/normalize.css";`.
58
+ 3. **Custom LESS bundle** compiled from `@smwb/ui-styles` — see [Theming](#customization-and-theming).
59
+
60
+ ### Headless entry (compile one LESS bundle yourself)
61
+
62
+ For apps that compile a single themed LESS bundle instead of per-chunk CSS injection:
63
+
64
+ ```tsx
65
+ import "@smwb/ui-styles/normalize.css";
66
+ import "@smwb/ui-styles/components.less";
67
+ import { Button, TextField } from "@smwb/ui-react/headless";
68
+ ```
69
+
70
+ ### Selective LESS bundle (only the components you use)
71
+
72
+ Compile a minimal stylesheet from `@smwb/ui-styles`:
73
+
74
+ ```less
75
+ @import (less) "node_modules/@smwb/ui-styles/less/headless-base.less";
76
+ @import (less) "node_modules/@smwb/ui-styles/less/components/button/button.entry.less";
77
+ @import (less) "node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less";
78
+ ```
79
+
80
+ - `headless-base.less` = foundation tokens + `:root` / dark CSS variables (import once).
81
+ - One `*.entry.less` per component (each resolves LESS variables via `_prelude.less`).
82
+ - A component's required entries **and** their dependencies are listed by the MCP tool
83
+ `get_component_props` (see `@smwb/ui-mcp-react`) under each component's `styles` block.
84
+ - Import `<name>.entry.less`, never the bare `components/<name>/<name>.less`.
85
+
86
+ ### TanStack Table adapter
87
+
88
+ ```tsx
89
+ import { ReactTable } from "@smwb/ui-react/react-table";
90
+ ```
91
+
92
+ Targets [@tanstack/react-table](https://tanstack.com/table) v8 (install it in your app). See
93
+ Storybook → **Connects / react-table**.
94
+
95
+ ## Customization and theming
96
+
97
+ Pick the shallowest layer that solves the task:
98
+
99
+ | Goal | Approach | Rebuild CSS? |
100
+ | --- | --- | --- |
101
+ | Toggle light/dark, tweak a few colors live | CSS variables `--smui-*` + `data-theme` | No |
102
+ | One component instance looks different | Component props (`color`, `size`, `variant`, …) | No |
103
+ | New brand, density, or defaults library-wide | LESS overrides via `theme.config` on `@smwb/ui-styles` | Yes |
104
+
105
+ Full token catalogs and recipes: [`AI_THEMING.md`](./AI_THEMING.md) (runtime + props),
106
+ [`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md) (compile-time LESS).
107
+
108
+ ### Light and dark mode
109
+
110
+ Tokens are exposed on `:root` and `:root[data-theme="dark"]` as `--smui-*`.
111
+
112
+ ```tsx
113
+ import { useTheme, Theme } from "@smwb/ui-react";
114
+
115
+ function ThemeToggle() {
116
+ const { theme, setTheme } = useTheme(); // persists + syncs <html data-theme>
117
+ return (
118
+ <button type="button" onClick={() => setTheme(theme === Theme.dark ? Theme.light : Theme.dark)}>
119
+ {theme === Theme.dark ? "Light" : "Dark"}
120
+ </button>
121
+ );
122
+ }
123
+ ```
124
+
125
+ Or set the attribute yourself (`<html data-theme="dark">`). Without it, `useTheme` follows
126
+ `prefers-color-scheme`.
127
+
128
+ ### Runtime overrides (no rebuild)
129
+
130
+ ```css
131
+ :root {
132
+ --smui-primaryColor: #00695c;
133
+ --smui-radius-md: 2px;
134
+ }
135
+ .settings-panel { --smui-space-md: 8px; } /* scoped, cascades */
136
+ ```
137
+
138
+ Prefer `--smui-*` tokens over targeting internal `.smwb-*` classes (implementation detail).
139
+
140
+ ### Per-component appearance (props)
141
+
142
+ ```tsx
143
+ <Button variant="outlined" color="primary" size="large">Save</Button>
144
+ <FloatingButton color="success" size="large" />
145
+ <Message type="error" variant="filled" />
146
+ ```
147
+
148
+ ### Compile-time overrides (`theme.config`)
149
+
150
+ For library-wide changes, add a `theme.config` (see [`theme.config.example`](./theme.config.example))
151
+ and compile `@smwb/ui-styles/components.less`:
152
+
153
+ ```less
154
+ // theme.config
155
+ @theme: "summer"; // or "material"
156
+ @themesFolder: "node_modules/@smwb/ui-styles/less/themes";
157
+
158
+ @primaryColor: @md-teal-600;
159
+ @smui-spacing-unit: 8px;
160
+ @smui-radius-md: 2px;
161
+ ```
162
+
163
+ ```sh
164
+ lessc -rp=/ ./node_modules/@smwb/ui-styles/less/components.less ./src/app.css
165
+ ```
166
+
167
+ `theme.config` is imported last, so your reassignments win. Token catalog and rules:
168
+ [`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md).
169
+
170
+ ## MCP server (component catalog for AI tools)
171
+
172
+ The catalog is exposed to AI assistants by a **separate package, [`@smwb/ui-mcp-react`](https://www.npmjs.com/package/@smwb/ui-mcp-react)** — a stdio MCP server (no HTTP port). Tools:
173
+
174
+ | Tool | Purpose |
175
+ | --- | --- |
176
+ | `search_components` | Find components by name, id, description, or prop keywords |
177
+ | `get_component_props` | Full metadata for one component (props + required LESS imports) |
178
+ | `search_customization` | Global theming options and per-component customization |
179
+ | `get_customization` | What and how to customize a component or global topic |
180
+
181
+ Run it from npm:
182
+
183
+ ```sh
184
+ npx -y @smwb/ui-mcp-react
185
+ ```
186
+
187
+ Cursor (`.cursor/mcp.json`) or Claude Desktop config:
188
+
189
+ ```json
190
+ {
191
+ "mcpServers": {
192
+ "smwb-ui-react": {
193
+ "command": "npx",
194
+ "args": ["-y", "@smwb/ui-mcp-react"]
195
+ }
196
+ }
197
+ }
198
+ ```
199
+
200
+ ## Documentation for AI assistants
201
+
202
+ | File | Topic |
203
+ | --- | --- |
204
+ | [`AI_THEMING.md`](./AI_THEMING.md) | Runtime theming: `--smui-*` variables, `useTheme`, `color` / `size` / `variant` props |
205
+ | [`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md) | Compile-time LESS overrides: token catalog, `theme.config`, custom stylesheet |
206
+
207
+ ## License
208
+
209
+ [MIT](./LICENSE)
@@ -0,0 +1 @@
1
+ .smwb-accordion{display:flex;flex-direction:column;align-self:flex-start;box-shadow:0 2px 2px -1px #0003,0 1px 2px #00000024,0 1px 11px #0000001f}.smwb-accordion__header{background-color:var(--smui-appBarBg);color:var(--smui-appBarContentColor);height:65px;display:flex;align-items:center;padding:0 16px;cursor:pointer;gap:15px;width:100%}.smwb-accordion__header arrow-icon{flex-shrink:0}.smwb-accordion__title{white-space:nowrap}.smwb-accordion__content{background-color:var(--smui-surfaceBackground)}.smwb-accordion__arrow-icon{transform:rotate(0);transition:transform .3s ease-in-out;margin-left:auto}.smwb-accordion__arrow-icon_opened{transform:rotate(-180deg)}
@@ -0,0 +1 @@
1
+ .smwb-appbar{padding:0 16px;display:flex;align-items:center;inset:0 0 auto;min-width:100%;background-color:var(--smui-appBarBg);color:var(--smui-appBarContentColor);font-size:1rem;height:65px}.smwb-appbar.smwb-bottom{bottom:0;top:auto}.smwb-appbar.smwb-relative{position:relative}.smwb-appbar.smwb-static{position:static}.smwb-appbar.smwb-sticky{position:sticky}.smwb-appbar.smwb-fixed{position:fixed}.smwb-appbar.smwb-absolute{position:absolute}.smwb-appbar.smwb-dense{padding:12px;height:48px}.smwb-appbar__inner{display:flex;align-items:center;width:100%;justify-content:space-between;flex-wrap:nowrap}.smwb-appbar__left{display:flex;align-items:center;gap:10px;white-space:nowrap}.smwb-appbar__right{white-space:nowrap}.smwb-appbar__mid{width:100%;display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap}.smwb-appbar__mid.smwb-middle{align-items:center}.smwb-appbar__mid.smwb-right{align-items:flex-end}.smwb-appbar__mid.smwb-left{align-items:flex-start}.smwb-appbar_color-primary{background-color:var(--smui-primaryColor);color:var(--smui-onPrimaryColor)}.smwb-appbar_color-secondary{background-color:var(--smui-secondaryColor);color:var(--smui-onSecondaryColor)}.smwb-appbar_color-error{background-color:var(--smui-errorColor);color:var(--smui-onErrorColor)}.smwb-appbar_color-success{background-color:var(--smui-successColor);color:var(--smui-onSuccessColor)}.smwb-appbar_color-warning{background-color:var(--smui-warningColor);color:var(--smui-onWarningColor)}.smwb-appbar_color-info{background-color:var(--smui-infoColor);color:var(--smui-onInfoColor)}
@@ -0,0 +1 @@
1
+ .smwb-app-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:var(--smui-pageBackground);color:var(--smui-onSurfaceColor)}.smwb-app-layout__header{flex-shrink:0;z-index:10}.smwb-app-layout_sticky-header .smwb-app-layout__header{position:sticky;top:0}.smwb-app-layout__body{position:relative;display:flex;flex:1 1 auto;min-height:0}.smwb-app-layout__sidebar{position:relative;flex:0 0 var(--smui-app-sidebar-w, 260px);width:var(--smui-app-sidebar-w, 260px);overflow-y:auto;transition:flex-basis .2s ease-in-out,width .2s ease-in-out}.smwb-app-layout__sidebar>.smwb-sidebar{position:static;top:auto;left:auto;width:100%;height:100%;min-height:0}.smwb-app-layout__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow-x:hidden}.smwb-app-layout__footer{margin-top:auto;flex-shrink:0;border-top:1px solid var(--smui-dividerColor)}@media(max-width:767.98px){.smwb-app-layout__sidebar{position:absolute;top:0;bottom:0;left:0;z-index:20}}.smwb-app-layout__collapse{display:flex;justify-content:flex-end;padding:8px}.smwb-app-layout_collapsed .smwb-app-layout__collapse{justify-content:center}.smwb-app-layout__collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;cursor:pointer;color:var(--smui-onSurfaceColor);background-color:transparent;transition:background-color .15s ease-in-out}.smwb-app-layout__collapse-btn:hover{background-color:var(--smui-onSurfaceHover)}.smwb-app-layout__collapse-btn:active{background-color:var(--smui-onSurfaceActive)}.smwb-app-layout__collapse-btn:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:2px}
@@ -0,0 +1 @@
1
+ .smwb-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;user-select:none;width:40px;height:40px;font-size:16px;font-weight:500;line-height:1;color:var(--smui-onPrimaryColor);background-color:var(--smui-primaryColor)}.smwb-avatar_small{width:24px;height:24px;font-size:9.6px}.smwb-avatar_large{width:56px;height:56px;font-size:22.4px}.smwb-avatar_circular{border-radius:50%}.smwb-avatar_rounded{border-radius:12px}.smwb-avatar_square{border-radius:0}.smwb-avatar__img{width:100%;height:100%;object-fit:cover;color:transparent;text-align:center}.smwb-avatar__fallback{display:inline-flex;align-items:center;justify-content:center}.smwb-avatar-group{display:inline-flex;flex-direction:row-reverse;align-items:center}.smwb-avatar-group .smwb-avatar{border:2px solid var(--smui-surfaceBackground);box-sizing:content-box}.smwb-avatar-group .smwb-avatar:not(:last-child){margin-left:-8px}.smwb-avatar-group__surplus{background-color:var(--smui-surfaceVariant);color:var(--smui-onSurfaceVariant);font-size:.8rem}
@@ -0,0 +1 @@
1
+ .smwb-badge{border-radius:10px;z-index:2;font-weight:500;font-size:.75rem;padding:0 6px;color:#fff;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:20px;min-width:20px}.smwb-badge_outside{position:absolute}.smwb-badge_outside_top{top:0}.smwb-badge_outside_top_left{transform:scale(1) translate(-50%,-50%);left:-2px}.smwb-badge_outside_top_right{right:-2px;transform:scale(1) translate(50%,-50%)}.smwb-badge_outside_bottom{bottom:0}.smwb-badge_outside_bottom_right{right:-2px;transform:scale(1) translate(50%,50%)}.smwb-badge_outside_bottom_left{transform:scale(1) translate(-50%,50%);left:-2px}.smwb-badge_inside{position:static}.smwb-badge_success{background-color:var(--smui-successColor)}.smwb-badge_danger{background-color:var(--smui-errorColor)}.smwb-badge_primary{background-color:var(--smui-primaryColor)}.smwb-badge_no-content{padding:0;width:8px;height:8px;min-width:auto}.smwb-badge__wrapper{position:relative;display:inline-flex;align-items:center}
@@ -0,0 +1 @@
1
+ .smwb-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:2;color:var(--smui-onSurfaceVariant);background-color:var(--smui-surfaceBackground);box-shadow:0 -2px 6px #00000026;padding-bottom:env(safe-area-inset-bottom,0)}.smwb-bottom-bar__nav{display:flex;align-items:stretch;width:100%;min-height:56px}.smwb-bottom-bar__item{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:0;background:transparent;color:var(--smui-primaryTextColor);cursor:pointer;text-decoration:none;transition:background-color .2s ease-in-out}.smwb-bottom-bar__item:hover{background-color:var(--smui-onSurfaceHover)}.smwb-bottom-bar__item:active{background-color:var(--smui-onSurfaceActive)}.smwb-bottom-bar__item:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:-2px}.smwb-bottom-bar__item_active{color:var(--smui-primaryColor);background-color:var(--smui-navItemActiveBg)}.smwb-bottom-bar__item_active .smwb-bottom-bar__item-icon,.smwb-bottom-bar__item_active .smwb-bottom-bar__item-title{color:var(--smui-primaryColor)}.smwb-bottom-bar__item_active:hover{background-color:var(--smui-primaryColorHover)}.smwb-bottom-bar__item_active:active{background-color:var(--smui-primaryColorActive)}.smwb-bottom-bar__item-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.smwb-bottom-bar__item-title{font-size:.75rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
@@ -0,0 +1 @@
1
+ .smwb-breadcrumbs{color:var(--smui-onSurfaceVariant);font-size:.875rem}.smwb-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.smwb-breadcrumbs__item{display:inline-flex;align-items:center}.smwb-breadcrumbs__item a{color:inherit;text-decoration:none;transition:color .15s ease-in-out}.smwb-breadcrumbs__item a:hover{color:var(--smui-primaryColor);text-decoration:underline}.smwb-breadcrumbs__item:last-child{color:var(--smui-onSurfaceColor);font-weight:500}.smwb-breadcrumbs__separator{display:inline-flex;align-items:center;user-select:none;opacity:.6}.smwb-breadcrumbs__expand{border:0;background-color:var(--smui-onSurfaceHover);color:inherit;cursor:pointer;border-radius:4px;padding:0 4px;line-height:1.4;transition:background-color .15s ease-in-out}.smwb-breadcrumbs__expand:hover{background-color:var(--smui-onSurfaceActive)}
@@ -0,0 +1 @@
1
+ .smwb-button{gap:8px;overflow:hidden;font-weight:500;cursor:pointer;transition:all .2s ease-out;display:inline-flex;align-items:center;justify-content:center;border-radius:24px;letter-spacing:1px;vertical-align:middle;word-spacing:0;line-height:1.5;min-width:64px;position:relative;align-self:flex-start}.smwb-button:disabled,.smwb-button.smwb-disabled{color:var(--smui-disabledTextColor);pointer-events:none;border-color:var(--smui-buttonDisabledBg)}.smwb-button:disabled.smwb-contained,.smwb-button.smwb-disabled.smwb-contained{background-color:var(--smui-buttonDisabledBg);color:var(--smui-disabledTextColor)}.smwb-button.smwb-full-width{width:100%}.smwb-button.smwb-small{font-size:13px;padding:4px 10px}.smwb-button.smwb-medium{font-size:14px;padding:6px 14px}.smwb-button.smwb-large{font-size:15px;padding:8px 22px}.smwb-button.smwb-contained{color:var(--smui-onPrimaryColor);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button.smwb-contained.smwb-primary:not(.smwb-disabled){background-color:var(--smui-primaryColor)}.smwb-button.smwb-contained.smwb-primary:hover{background-color:var(--smui-buttonContainedHoverBg);box-shadow:0 4px 22px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button.smwb-contained.smwb-primary:disabled{background-color:var(--smui-buttonDisabledBg)}.smwb-button.smwb-contained.smwb-primary:focus{background-color:var(--smui-buttonContainedFocusBg)}.smwb-button.smwb-contained.smwb-primary:active{background-color:var(--smui-buttonContainedActiveBg)}.smwb-button.smwb-outlined{background-color:transparent;border:1px solid var(--smui-outlineColor)}.smwb-button.smwb-outlined.smwb-primary:not(.smwb-disabled){color:var(--smui-primaryColor)}.smwb-button.smwb-outlined:hover{background-color:var(--smui-buttonOutlinedHoverBg)}.smwb-button.smwb-outlined:focus{background-color:var(--smui-buttonOutlinedFocusBg)}.smwb-button.smwb-outlined:active{background-color:var(--smui-buttonOutlinedActiveBg);border:1px solid var(--smui-primaryColor)}.smwb-button.smwb-outlined:disabled,.smwb-button.smwb-outlined.smwb-disabled{background-color:transparent;color:var(--smui-disabledTextColor);border-color:var(--smui-buttonDisabledBg)}.smwb-button.smwb-text{background-color:transparent}.smwb-button.smwb-text.smwb-primary:not(.smwb-disabled){color:var(--smui-primaryColor)}.smwb-button.smwb-text.smwb-primary:disabled{background-color:transparent}.smwb-button.smwb-text.smwb-primary:hover{background-color:var(--smui-buttonOutlinedHoverBg)}.smwb-button.smwb-text.smwb-primary:focus{background-color:var(--smui-buttonOutlinedFocusBg)}.smwb-button.smwb-text.smwb-primary:active{background-color:var(--smui-buttonOutlinedActiveBg)}.smwb-button.smwb-text:disabled{background-color:transparent;color:var(--smui-disabledTextColor);border-color:var(--smui-buttonDisabledBg)}.smwb-button *{pointer-events:none}.smwb-button_color-secondary.smwb-contained{background-color:var(--smui-secondaryColor);color:var(--smui-onSecondaryColor)}.smwb-button_color-secondary.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 88%,#000)}.smwb-button_color-secondary.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 78%,#000)}.smwb-button_color-secondary.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 78%,#000)}.smwb-button_color-secondary.smwb-outlined{color:var(--smui-secondaryColor);border-color:var(--smui-secondaryColor)}.smwb-button_color-secondary.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-secondaryColorHover)}.smwb-button_color-secondary.smwb-text{color:var(--smui-secondaryColor)}.smwb-button_color-secondary.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-secondaryColorHover)}.smwb-button_color-error.smwb-contained{background-color:var(--smui-errorColor);color:var(--smui-onErrorColor)}.smwb-button_color-error.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 88%,#000)}.smwb-button_color-error.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 78%,#000)}.smwb-button_color-error.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 78%,#000)}.smwb-button_color-error.smwb-outlined{color:var(--smui-errorColor);border-color:var(--smui-errorColor)}.smwb-button_color-error.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-errorColorHover)}.smwb-button_color-error.smwb-text{color:var(--smui-errorColor)}.smwb-button_color-error.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-errorColorHover)}.smwb-button_color-success.smwb-contained{background-color:var(--smui-successColor);color:var(--smui-onSuccessColor)}.smwb-button_color-success.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 88%,#000)}.smwb-button_color-success.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 78%,#000)}.smwb-button_color-success.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 78%,#000)}.smwb-button_color-success.smwb-outlined{color:var(--smui-successColor);border-color:var(--smui-successColor)}.smwb-button_color-success.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-successColorHover)}.smwb-button_color-success.smwb-text{color:var(--smui-successColor)}.smwb-button_color-success.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-successColorHover)}.smwb-button_color-warning.smwb-contained{background-color:var(--smui-warningColor);color:var(--smui-onWarningColor)}.smwb-button_color-warning.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 88%,#000)}.smwb-button_color-warning.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 78%,#000)}.smwb-button_color-warning.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 78%,#000)}.smwb-button_color-warning.smwb-outlined{color:var(--smui-warningColor);border-color:var(--smui-warningColor)}.smwb-button_color-warning.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-warningColorHover)}.smwb-button_color-warning.smwb-text{color:var(--smui-warningColor)}.smwb-button_color-warning.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-warningColorHover)}.smwb-button_color-info.smwb-contained{background-color:var(--smui-infoColor);color:var(--smui-onInfoColor)}.smwb-button_color-info.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 88%,#000)}.smwb-button_color-info.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 78%,#000)}.smwb-button_color-info.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 78%,#000)}.smwb-button_color-info.smwb-outlined{color:var(--smui-infoColor);border-color:var(--smui-infoColor)}.smwb-button_color-info.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-infoColorHover)}.smwb-button_color-info.smwb-text{color:var(--smui-infoColor)}.smwb-button_color-info.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-infoColorHover)}
@@ -0,0 +1 @@
1
+ .smwb-button-group{display:inline-flex;border-radius:24px}.smwb-button-group.smwb-vertical{flex-direction:column}.smwb-button-group.smwb-contained{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button-group.smwb-full-width{width:100%}.smwb-button-group__grouped{align-self:stretch;min-width:40px}.smwb-contained .smwb-button-group__grouped{box-shadow:none}.smwb-horizontal .smwb-button-group__grouped:not(:first-of-type){border-top-left-radius:0;border-bottom-left-radius:0}.smwb-horizontal .smwb-button-group__grouped:not(:first-of-type).smwb-outlined{margin-left:-1px}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type){border-top-right-radius:0;border-bottom-right-radius:0}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-outlined{border-right-color:transparent}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-contained{border-right:1px solid color-mix(in srgb,#fff 12%,var(--smui-primaryColor))}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-text{border-right:1px solid var(--smui-primaryColor)}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-text,.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-contained{border-right:1px solid var(--smui-disabledBgColor)}.smwb-vertical .smwb-button-group__grouped:not(:first-of-type){border-top-right-radius:0;border-top-left-radius:0}.smwb-vertical .smwb-button-group__grouped:not(:first-of-type).smwb-outlined{margin-top:-1px}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type){border-bottom-right-radius:0;border-bottom-left-radius:0}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-outlined{border-bottom-color:transparent}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-contained{border-bottom:1px solid color-mix(in srgb,#fff 12%,var(--smui-primaryColor))}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-text{border-bottom:1px solid color-mix(in srgb,var(--smui-primaryColor) 50%,transparent)}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-text,.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-contained{border-bottom:1px solid var(--smui-disabledBgColor)}
@@ -0,0 +1 @@
1
+ .smwb-card{background-color:var(--smui-surfaceBackground);padding:16px;border-radius:12px;color:var(--smui-onSurfaceColor);transition:all .25s ease-in-out;line-height:1.5;display:flex;flex-direction:column}.smwb-card_elevated{box-shadow:0 2px 1px -1px #0003,0 1px 1px #0000001c,0 1px 3px #0000001c}.smwb-card_elevated:hover{box-shadow:0 2px 10px -1px #0003,0 1px 4px #0000001c,0 1px 4px #0000001c}.smwb-card_elevated:active{background-color:var(--smui-onSurfaceHover)}.smwb-card_outlined{border:1px solid var(--smui-outlineColor)}.smwb-card_outlined:hover{background-color:var(--smui-onSurfaceHover);box-shadow:0 2px 4px -1px #0000001c,0 1px 4px #0000001c,0 1px 11px #0000001c}.smwb-card_outlined:active{background-color:var(--smui-onSurfaceHover)}.smwb-card_filled{background-color:var(--smui-surfaceVariant)}.smwb-card_filled:hover{box-shadow:0 2px 10px -1px #00000024,0 1px 4px #0000001c,0 1px 4px #0000001c}.smwb-card_filled:active{background-color:var(--smui-onSurfaceActive)}.smwb-card_disabled{pointer-events:none;opacity:.38}.smwb-card__title{font-size:1.25rem;font-weight:500}.smwb-card__footer{margin-top:12px}.smwb-card_interactive{cursor:pointer}.smwb-card_interactive:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:2px}
@@ -0,0 +1 @@
1
+ .smwb-carousel{max-width:412px}.smwb-carousel__inner{position:relative}.smwb-carousel__track{text-align:center;overflow:hidden;cursor:pointer;margin-left:-4px;margin-right:-4px;touch-action:pan-y}.smwb-carousel__layer{width:100%;height:100%;display:flex;will-change:transform}.smwb-carousel__slide{flex-shrink:0;padding-left:4px;padding-right:4px}.smwb-carousel__slide-inner{border-radius:28px;overflow:hidden;will-change:width}.smwb-carousel__slide-inner img{height:205px;aspect-ratio:.9;object-fit:cover;width:100%;user-select:none}.smwb-carousel__navigation{display:flex;justify-content:center}.smwb-carousel__navigation .current{background-color:var(--smui-onPrimaryContainerActive)}.smwb-carousel__navigation__dot{margin:3px;width:10px;height:10px;border-radius:50%;border:1px solid var(--smui-onPrimaryContainer)}.smwb-carousel__arrow{cursor:pointer;position:absolute;background:var(--smui-onPrimaryContainerActive);color:var(--smui-onPrimaryContainer);border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center}