@mich8060/unified-design-system 0.1.10

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 (454) hide show
  1. package/LICENSE +21 -0
  2. package/README.lib.md +103 -0
  3. package/README.md +265 -0
  4. package/dist/LICENSE +21 -0
  5. package/dist/README.md +103 -0
  6. package/dist/package.json +49 -0
  7. package/dist/styles.css +20544 -0
  8. package/dist/uds-components.es.js +67031 -0
  9. package/dist/uds-components.es.js.map +1 -0
  10. package/dist/uds-components.umd.js +67048 -0
  11. package/dist/uds-components.umd.js.map +1 -0
  12. package/package.json +158 -0
  13. package/src/styles/_typography.scss +932 -0
  14. package/src/styles/_utilities.scss +3738 -0
  15. package/src/styles/_variables.scss +620 -0
  16. package/src/styles/prism-custom.css +204 -0
  17. package/src/styles/prism-custom.scss +205 -0
  18. package/src/styles/tokens.css +1463 -0
  19. package/src/styles/tokens.scss +1116 -0
  20. package/src/ui/Accordion/Accordion.ai.md +69 -0
  21. package/src/ui/Accordion/Accordion.scss +87 -0
  22. package/src/ui/Accordion/Accordion.spec.ts +25 -0
  23. package/src/ui/Accordion/Accordion.stories.tsx +46 -0
  24. package/src/ui/Accordion/Accordion.test.tsx +54 -0
  25. package/src/ui/Accordion/Accordion.tsx +73 -0
  26. package/src/ui/Accordion/Accordion.types.ts +15 -0
  27. package/src/ui/Accordion/index.js +1 -0
  28. package/src/ui/ActionMenu/ActionMenu.ai.md +106 -0
  29. package/src/ui/ActionMenu/ActionMenu.jsx +437 -0
  30. package/src/ui/ActionMenu/ActionMenu.scss +252 -0
  31. package/src/ui/ActionMenu/ActionMenu.spec.ts +12 -0
  32. package/src/ui/ActionMenu/ActionMenu.stories.jsx +14 -0
  33. package/src/ui/ActionMenu/ActionMenu.stories.tsx +124 -0
  34. package/src/ui/ActionMenu/ActionMenu.test.tsx +1 -0
  35. package/src/ui/ActionMenu/ActionMenu.tsx +6 -0
  36. package/src/ui/ActionMenu/ActionMenu.types.ts +3 -0
  37. package/src/ui/ActionMenu/index.js +1 -0
  38. package/src/ui/Avatar/Avatar.ai.md +54 -0
  39. package/src/ui/Avatar/Avatar.jsx +49 -0
  40. package/src/ui/Avatar/Avatar.scss +87 -0
  41. package/src/ui/Avatar/Avatar.spec.ts +12 -0
  42. package/src/ui/Avatar/Avatar.stories.jsx +14 -0
  43. package/src/ui/Avatar/Avatar.stories.tsx +14 -0
  44. package/src/ui/Avatar/Avatar.test.tsx +1 -0
  45. package/src/ui/Avatar/Avatar.tsx +6 -0
  46. package/src/ui/Avatar/Avatar.types.ts +3 -0
  47. package/src/ui/Avatar/index.js +1 -0
  48. package/src/ui/Badge/Badge.ai.md +37 -0
  49. package/src/ui/Badge/Badge.jsx +64 -0
  50. package/src/ui/Badge/Badge.scss +84 -0
  51. package/src/ui/Badge/Badge.spec.ts +12 -0
  52. package/src/ui/Badge/Badge.stories.jsx +14 -0
  53. package/src/ui/Badge/Badge.stories.tsx +14 -0
  54. package/src/ui/Badge/Badge.test.tsx +1 -0
  55. package/src/ui/Badge/Badge.tsx +6 -0
  56. package/src/ui/Badge/Badge.types.ts +3 -0
  57. package/src/ui/Badge/index.js +1 -0
  58. package/src/ui/Branding/Branding.ai.md +81 -0
  59. package/src/ui/Branding/Branding.jsx +127 -0
  60. package/src/ui/Branding/Branding.scss +57 -0
  61. package/src/ui/Branding/Branding.spec.ts +12 -0
  62. package/src/ui/Branding/Branding.stories.jsx +14 -0
  63. package/src/ui/Branding/Branding.stories.tsx +14 -0
  64. package/src/ui/Branding/Branding.test.tsx +1 -0
  65. package/src/ui/Branding/Branding.tsx +6 -0
  66. package/src/ui/Branding/Branding.types.ts +3 -0
  67. package/src/ui/Branding/index.js +1 -0
  68. package/src/ui/Breadcrumb/Breadcrumb.ai.md +50 -0
  69. package/src/ui/Breadcrumb/Breadcrumb.jsx +167 -0
  70. package/src/ui/Breadcrumb/Breadcrumb.scss +46 -0
  71. package/src/ui/Breadcrumb/Breadcrumb.spec.ts +12 -0
  72. package/src/ui/Breadcrumb/Breadcrumb.stories.jsx +26 -0
  73. package/src/ui/Breadcrumb/Breadcrumb.stories.tsx +14 -0
  74. package/src/ui/Breadcrumb/Breadcrumb.test.tsx +1 -0
  75. package/src/ui/Breadcrumb/Breadcrumb.tsx +6 -0
  76. package/src/ui/Breadcrumb/Breadcrumb.types.ts +3 -0
  77. package/src/ui/Breadcrumb/index.js +2 -0
  78. package/src/ui/Button/Button.ai.md +122 -0
  79. package/src/ui/Button/Button.figma.tsx +49 -0
  80. package/src/ui/Button/Button.scss +188 -0
  81. package/src/ui/Button/Button.spec.ts +52 -0
  82. package/src/ui/Button/Button.stories.tsx +199 -0
  83. package/src/ui/Button/Button.test.tsx +85 -0
  84. package/src/ui/Button/Button.tsx +131 -0
  85. package/src/ui/Button/Button.types.ts +32 -0
  86. package/src/ui/Button/index.js +1 -0
  87. package/src/ui/Calendar/Calendar.ai.md +151 -0
  88. package/src/ui/Calendar/Calendar.jsx +504 -0
  89. package/src/ui/Calendar/Calendar.scss +451 -0
  90. package/src/ui/Calendar/Calendar.spec.ts +12 -0
  91. package/src/ui/Calendar/Calendar.stories.jsx +14 -0
  92. package/src/ui/Calendar/Calendar.stories.tsx +14 -0
  93. package/src/ui/Calendar/Calendar.test.tsx +1 -0
  94. package/src/ui/Calendar/Calendar.tsx +6 -0
  95. package/src/ui/Calendar/Calendar.types.ts +3 -0
  96. package/src/ui/Calendar/index.js +1 -0
  97. package/src/ui/Card/Card.ai.md +41 -0
  98. package/src/ui/Card/Card.jsx +25 -0
  99. package/src/ui/Card/Card.scss +47 -0
  100. package/src/ui/Card/Card.spec.ts +12 -0
  101. package/src/ui/Card/Card.stories.jsx +28 -0
  102. package/src/ui/Card/Card.stories.tsx +14 -0
  103. package/src/ui/Card/Card.test.tsx +1 -0
  104. package/src/ui/Card/Card.tsx +6 -0
  105. package/src/ui/Card/Card.types.ts +3 -0
  106. package/src/ui/Card/index.js +1 -0
  107. package/src/ui/Checkbox/Checkbox.ai.md +50 -0
  108. package/src/ui/Checkbox/Checkbox.jsx +73 -0
  109. package/src/ui/Checkbox/Checkbox.scss +115 -0
  110. package/src/ui/Checkbox/Checkbox.spec.ts +12 -0
  111. package/src/ui/Checkbox/Checkbox.stories.jsx +14 -0
  112. package/src/ui/Checkbox/Checkbox.stories.tsx +14 -0
  113. package/src/ui/Checkbox/Checkbox.test.tsx +1 -0
  114. package/src/ui/Checkbox/Checkbox.tsx +6 -0
  115. package/src/ui/Checkbox/Checkbox.types.ts +3 -0
  116. package/src/ui/Checkbox/index.js +1 -0
  117. package/src/ui/Chip/Chip.ai.md +43 -0
  118. package/src/ui/Chip/Chip.jsx +102 -0
  119. package/src/ui/Chip/Chip.scss +118 -0
  120. package/src/ui/Chip/Chip.spec.ts +12 -0
  121. package/src/ui/Chip/Chip.stories.jsx +14 -0
  122. package/src/ui/Chip/Chip.stories.tsx +14 -0
  123. package/src/ui/Chip/Chip.test.tsx +1 -0
  124. package/src/ui/Chip/Chip.tsx +6 -0
  125. package/src/ui/Chip/Chip.types.ts +3 -0
  126. package/src/ui/Chip/index.js +1 -0
  127. package/src/ui/Datepicker/Datepicker.ai.md +45 -0
  128. package/src/ui/Datepicker/Datepicker.jsx +330 -0
  129. package/src/ui/Datepicker/Datepicker.scss +206 -0
  130. package/src/ui/Datepicker/Datepicker.spec.ts +12 -0
  131. package/src/ui/Datepicker/Datepicker.stories.jsx +14 -0
  132. package/src/ui/Datepicker/Datepicker.stories.tsx +14 -0
  133. package/src/ui/Datepicker/Datepicker.test.tsx +1 -0
  134. package/src/ui/Datepicker/Datepicker.tsx +6 -0
  135. package/src/ui/Datepicker/Datepicker.types.ts +3 -0
  136. package/src/ui/Datepicker/index.js +2 -0
  137. package/src/ui/Divider/Divider.ai.md +34 -0
  138. package/src/ui/Divider/Divider.jsx +89 -0
  139. package/src/ui/Divider/Divider.scss +116 -0
  140. package/src/ui/Divider/Divider.spec.ts +12 -0
  141. package/src/ui/Divider/Divider.stories.jsx +14 -0
  142. package/src/ui/Divider/Divider.stories.tsx +14 -0
  143. package/src/ui/Divider/Divider.test.tsx +1 -0
  144. package/src/ui/Divider/Divider.tsx +6 -0
  145. package/src/ui/Divider/Divider.types.ts +3 -0
  146. package/src/ui/Divider/index.js +1 -0
  147. package/src/ui/DotStatus/DotStatus.ai.md +36 -0
  148. package/src/ui/DotStatus/DotStatus.jsx +64 -0
  149. package/src/ui/DotStatus/DotStatus.scss +87 -0
  150. package/src/ui/DotStatus/DotStatus.spec.ts +12 -0
  151. package/src/ui/DotStatus/DotStatus.stories.jsx +14 -0
  152. package/src/ui/DotStatus/DotStatus.stories.tsx +14 -0
  153. package/src/ui/DotStatus/DotStatus.test.tsx +1 -0
  154. package/src/ui/DotStatus/DotStatus.tsx +6 -0
  155. package/src/ui/DotStatus/DotStatus.types.ts +3 -0
  156. package/src/ui/DotStatus/index.js +1 -0
  157. package/src/ui/Dropdown/Dropdown.ai.md +118 -0
  158. package/src/ui/Dropdown/Dropdown.scss +129 -0
  159. package/src/ui/Dropdown/Dropdown.spec.ts +54 -0
  160. package/src/ui/Dropdown/Dropdown.stories.tsx +59 -0
  161. package/src/ui/Dropdown/Dropdown.test.tsx +37 -0
  162. package/src/ui/Dropdown/Dropdown.tsx +119 -0
  163. package/src/ui/Dropdown/Dropdown.types.ts +25 -0
  164. package/src/ui/Dropdown/index.js +1 -0
  165. package/src/ui/EventCard/EventCard.ai.md +101 -0
  166. package/src/ui/EventCard/EventCard.jsx +92 -0
  167. package/src/ui/EventCard/EventCard.scss +186 -0
  168. package/src/ui/EventCard/EventCard.spec.ts +12 -0
  169. package/src/ui/EventCard/EventCard.stories.jsx +14 -0
  170. package/src/ui/EventCard/EventCard.stories.tsx +14 -0
  171. package/src/ui/EventCard/EventCard.test.tsx +1 -0
  172. package/src/ui/EventCard/EventCard.tsx +6 -0
  173. package/src/ui/EventCard/EventCard.types.ts +3 -0
  174. package/src/ui/EventCard/index.js +1 -0
  175. package/src/ui/Field/Field.ai.md +69 -0
  176. package/src/ui/Field/Field.jsx +89 -0
  177. package/src/ui/Field/Field.scss +76 -0
  178. package/src/ui/Field/Field.spec.ts +12 -0
  179. package/src/ui/Field/Field.stories.jsx +14 -0
  180. package/src/ui/Field/Field.stories.tsx +14 -0
  181. package/src/ui/Field/Field.test.tsx +1 -0
  182. package/src/ui/Field/Field.tsx +6 -0
  183. package/src/ui/Field/Field.types.ts +3 -0
  184. package/src/ui/Field/index.js +1 -0
  185. package/src/ui/FileUpload/FileUpload.ai.md +38 -0
  186. package/src/ui/FileUpload/FileUpload.figma.tsx +28 -0
  187. package/src/ui/FileUpload/FileUpload.jsx +153 -0
  188. package/src/ui/FileUpload/FileUpload.scss +78 -0
  189. package/src/ui/FileUpload/FileUpload.spec.ts +12 -0
  190. package/src/ui/FileUpload/FileUpload.stories.jsx +14 -0
  191. package/src/ui/FileUpload/FileUpload.stories.tsx +14 -0
  192. package/src/ui/FileUpload/FileUpload.test.tsx +1 -0
  193. package/src/ui/FileUpload/FileUpload.tsx +6 -0
  194. package/src/ui/FileUpload/FileUpload.types.ts +3 -0
  195. package/src/ui/FileUpload/index.js +2 -0
  196. package/src/ui/Flex/Flex.ai.md +130 -0
  197. package/src/ui/Flex/Flex.jsx +53 -0
  198. package/src/ui/Flex/Flex.scss +119 -0
  199. package/src/ui/Flex/Flex.spec.ts +12 -0
  200. package/src/ui/Flex/Flex.stories.jsx +14 -0
  201. package/src/ui/Flex/Flex.stories.tsx +14 -0
  202. package/src/ui/Flex/Flex.test.tsx +1 -0
  203. package/src/ui/Flex/Flex.tsx +6 -0
  204. package/src/ui/Flex/Flex.types.ts +3 -0
  205. package/src/ui/Flex/index.js +1 -0
  206. package/src/ui/Icon/Icon.ai.md +46 -0
  207. package/src/ui/Icon/Icon.figma.tsx +22 -0
  208. package/src/ui/Icon/Icon.jsx +47 -0
  209. package/src/ui/Icon/Icon.scss +1 -0
  210. package/src/ui/Icon/Icon.spec.ts +12 -0
  211. package/src/ui/Icon/Icon.stories.jsx +14 -0
  212. package/src/ui/Icon/Icon.stories.tsx +14 -0
  213. package/src/ui/Icon/Icon.test.tsx +1 -0
  214. package/src/ui/Icon/Icon.tsx +6 -0
  215. package/src/ui/Icon/Icon.types.ts +3 -0
  216. package/src/ui/Icon/index.js +1 -0
  217. package/src/ui/ImageAspect/ImageAspect.ai.md +37 -0
  218. package/src/ui/ImageAspect/ImageAspect.jsx +56 -0
  219. package/src/ui/ImageAspect/ImageAspect.scss +62 -0
  220. package/src/ui/ImageAspect/ImageAspect.spec.ts +12 -0
  221. package/src/ui/ImageAspect/ImageAspect.stories.jsx +14 -0
  222. package/src/ui/ImageAspect/ImageAspect.stories.tsx +14 -0
  223. package/src/ui/ImageAspect/ImageAspect.test.tsx +1 -0
  224. package/src/ui/ImageAspect/ImageAspect.tsx +6 -0
  225. package/src/ui/ImageAspect/ImageAspect.types.ts +3 -0
  226. package/src/ui/ImageAspect/index.js +1 -0
  227. package/src/ui/Input/Input.ai.md +89 -0
  228. package/src/ui/Input/Input.figma.tsx +35 -0
  229. package/src/ui/Input/Input.scss +126 -0
  230. package/src/ui/Input/Input.spec.ts +54 -0
  231. package/src/ui/Input/Input.stories.tsx +72 -0
  232. package/src/ui/Input/Input.test.tsx +70 -0
  233. package/src/ui/Input/Input.tsx +91 -0
  234. package/src/ui/Input/Input.types.ts +22 -0
  235. package/src/ui/Input/index.js +2 -0
  236. package/src/ui/Key/Key.ai.md +31 -0
  237. package/src/ui/Key/Key.jsx +37 -0
  238. package/src/ui/Key/Key.scss +31 -0
  239. package/src/ui/Key/Key.spec.ts +12 -0
  240. package/src/ui/Key/Key.stories.jsx +14 -0
  241. package/src/ui/Key/Key.stories.tsx +14 -0
  242. package/src/ui/Key/Key.test.tsx +1 -0
  243. package/src/ui/Key/Key.tsx +6 -0
  244. package/src/ui/Key/Key.types.ts +3 -0
  245. package/src/ui/Key/index.js +1 -0
  246. package/src/ui/Menu/Menu.jsx +232 -0
  247. package/src/ui/Menu/Menu.scss +370 -0
  248. package/src/ui/Menu/Menu.spec.ts +12 -0
  249. package/src/ui/Menu/Menu.stories.jsx +41 -0
  250. package/src/ui/Menu/Menu.stories.tsx +14 -0
  251. package/src/ui/Menu/Menu.test.tsx +1 -0
  252. package/src/ui/Menu/Menu.tsx +6 -0
  253. package/src/ui/Menu/Menu.types.ts +3 -0
  254. package/src/ui/Menu/index.js +1 -0
  255. package/src/ui/MicroCalendar/MicroCalendar.ai.md +35 -0
  256. package/src/ui/MicroCalendar/MicroCalendar.jsx +393 -0
  257. package/src/ui/MicroCalendar/MicroCalendar.scss +289 -0
  258. package/src/ui/MicroCalendar/MicroCalendar.spec.ts +12 -0
  259. package/src/ui/MicroCalendar/MicroCalendar.stories.jsx +14 -0
  260. package/src/ui/MicroCalendar/MicroCalendar.stories.tsx +14 -0
  261. package/src/ui/MicroCalendar/MicroCalendar.test.tsx +1 -0
  262. package/src/ui/MicroCalendar/MicroCalendar.tsx +6 -0
  263. package/src/ui/MicroCalendar/MicroCalendar.types.ts +3 -0
  264. package/src/ui/MicroCalendar/index.js +1 -0
  265. package/src/ui/Modal/Modal.ai.md +150 -0
  266. package/src/ui/Modal/Modal.jsx +173 -0
  267. package/src/ui/Modal/Modal.scss +179 -0
  268. package/src/ui/Modal/Modal.spec.ts +12 -0
  269. package/src/ui/Modal/Modal.stories.jsx +14 -0
  270. package/src/ui/Modal/Modal.stories.tsx +14 -0
  271. package/src/ui/Modal/Modal.test.tsx +1 -0
  272. package/src/ui/Modal/Modal.tsx +6 -0
  273. package/src/ui/Modal/Modal.types.ts +3 -0
  274. package/src/ui/Modal/index.js +1 -0
  275. package/src/ui/Pagination/Pagination.ai.md +30 -0
  276. package/src/ui/Pagination/Pagination.jsx +237 -0
  277. package/src/ui/Pagination/Pagination.scss +182 -0
  278. package/src/ui/Pagination/Pagination.spec.ts +12 -0
  279. package/src/ui/Pagination/Pagination.stories.jsx +14 -0
  280. package/src/ui/Pagination/Pagination.stories.tsx +14 -0
  281. package/src/ui/Pagination/Pagination.test.tsx +1 -0
  282. package/src/ui/Pagination/Pagination.tsx +6 -0
  283. package/src/ui/Pagination/Pagination.types.ts +3 -0
  284. package/src/ui/Pagination/index.js +1 -0
  285. package/src/ui/PillToggle/PillToggle.ai.md +44 -0
  286. package/src/ui/PillToggle/PillToggle.jsx +56 -0
  287. package/src/ui/PillToggle/PillToggle.scss +84 -0
  288. package/src/ui/PillToggle/PillToggle.spec.ts +12 -0
  289. package/src/ui/PillToggle/PillToggle.stories.jsx +14 -0
  290. package/src/ui/PillToggle/PillToggle.stories.tsx +14 -0
  291. package/src/ui/PillToggle/PillToggle.test.tsx +1 -0
  292. package/src/ui/PillToggle/PillToggle.tsx +6 -0
  293. package/src/ui/PillToggle/PillToggle.types.ts +3 -0
  294. package/src/ui/PillToggle/index.js +1 -0
  295. package/src/ui/Playground/Playground.ai.md +96 -0
  296. package/src/ui/Playground/Playground.jsx +524 -0
  297. package/src/ui/Playground/Playground.scss +310 -0
  298. package/src/ui/Playground/Playground.spec.ts +12 -0
  299. package/src/ui/Playground/Playground.stories.jsx +14 -0
  300. package/src/ui/Playground/Playground.stories.tsx +14 -0
  301. package/src/ui/Playground/Playground.test.tsx +1 -0
  302. package/src/ui/Playground/Playground.tsx +6 -0
  303. package/src/ui/Playground/Playground.types.ts +3 -0
  304. package/src/ui/Playground/index.js +2 -0
  305. package/src/ui/ProgressCircle/ProgressCircle.ai.md +36 -0
  306. package/src/ui/ProgressCircle/ProgressCircle.jsx +147 -0
  307. package/src/ui/ProgressCircle/ProgressCircle.scss +143 -0
  308. package/src/ui/ProgressCircle/ProgressCircle.spec.ts +12 -0
  309. package/src/ui/ProgressCircle/ProgressCircle.stories.jsx +14 -0
  310. package/src/ui/ProgressCircle/ProgressCircle.stories.tsx +14 -0
  311. package/src/ui/ProgressCircle/ProgressCircle.test.tsx +1 -0
  312. package/src/ui/ProgressCircle/ProgressCircle.tsx +6 -0
  313. package/src/ui/ProgressCircle/ProgressCircle.types.ts +3 -0
  314. package/src/ui/ProgressCircle/index.js +1 -0
  315. package/src/ui/ProgressIndicator/ProgressIndicator.ai.md +27 -0
  316. package/src/ui/ProgressIndicator/ProgressIndicator.jsx +92 -0
  317. package/src/ui/ProgressIndicator/ProgressIndicator.scss +133 -0
  318. package/src/ui/ProgressIndicator/ProgressIndicator.spec.ts +12 -0
  319. package/src/ui/ProgressIndicator/ProgressIndicator.stories.jsx +14 -0
  320. package/src/ui/ProgressIndicator/ProgressIndicator.stories.tsx +14 -0
  321. package/src/ui/ProgressIndicator/ProgressIndicator.test.tsx +1 -0
  322. package/src/ui/ProgressIndicator/ProgressIndicator.tsx +6 -0
  323. package/src/ui/ProgressIndicator/ProgressIndicator.types.ts +3 -0
  324. package/src/ui/ProgressIndicator/index.js +1 -0
  325. package/src/ui/Radio/Radio.ai.md +53 -0
  326. package/src/ui/Radio/Radio.jsx +57 -0
  327. package/src/ui/Radio/Radio.scss +89 -0
  328. package/src/ui/Radio/Radio.spec.ts +12 -0
  329. package/src/ui/Radio/Radio.stories.jsx +14 -0
  330. package/src/ui/Radio/Radio.stories.tsx +14 -0
  331. package/src/ui/Radio/Radio.test.tsx +1 -0
  332. package/src/ui/Radio/Radio.tsx +6 -0
  333. package/src/ui/Radio/Radio.types.ts +3 -0
  334. package/src/ui/Radio/index.js +1 -0
  335. package/src/ui/Slider/Slider.ai.md +33 -0
  336. package/src/ui/Slider/Slider.jsx +283 -0
  337. package/src/ui/Slider/Slider.scss +156 -0
  338. package/src/ui/Slider/Slider.spec.ts +12 -0
  339. package/src/ui/Slider/Slider.stories.jsx +14 -0
  340. package/src/ui/Slider/Slider.stories.tsx +14 -0
  341. package/src/ui/Slider/Slider.test.tsx +1 -0
  342. package/src/ui/Slider/Slider.tsx +6 -0
  343. package/src/ui/Slider/Slider.types.ts +3 -0
  344. package/src/ui/Slider/index.js +1 -0
  345. package/src/ui/Status/Status.ai.md +36 -0
  346. package/src/ui/Status/Status.jsx +66 -0
  347. package/src/ui/Status/Status.scss +90 -0
  348. package/src/ui/Status/Status.spec.ts +12 -0
  349. package/src/ui/Status/Status.stories.jsx +14 -0
  350. package/src/ui/Status/Status.stories.tsx +14 -0
  351. package/src/ui/Status/Status.test.tsx +1 -0
  352. package/src/ui/Status/Status.tsx +6 -0
  353. package/src/ui/Status/Status.types.ts +3 -0
  354. package/src/ui/Status/index.js +1 -0
  355. package/src/ui/Steps/Steps.ai.md +56 -0
  356. package/src/ui/Steps/Steps.jsx +201 -0
  357. package/src/ui/Steps/Steps.scss +240 -0
  358. package/src/ui/Steps/Steps.spec.ts +12 -0
  359. package/src/ui/Steps/Steps.stories.jsx +14 -0
  360. package/src/ui/Steps/Steps.stories.tsx +14 -0
  361. package/src/ui/Steps/Steps.test.tsx +1 -0
  362. package/src/ui/Steps/Steps.tsx +6 -0
  363. package/src/ui/Steps/Steps.types.ts +3 -0
  364. package/src/ui/Steps/index.js +1 -0
  365. package/src/ui/Table/Table.ai.md +108 -0
  366. package/src/ui/Table/Table.jsx +143 -0
  367. package/src/ui/Table/Table.scss +90 -0
  368. package/src/ui/Table/Table.spec.ts +12 -0
  369. package/src/ui/Table/Table.stories.jsx +14 -0
  370. package/src/ui/Table/Table.stories.tsx +14 -0
  371. package/src/ui/Table/Table.test.tsx +1 -0
  372. package/src/ui/Table/Table.tsx +6 -0
  373. package/src/ui/Table/Table.types.ts +3 -0
  374. package/src/ui/Table/index.js +1 -0
  375. package/src/ui/Tabs/TabItem.jsx +80 -0
  376. package/src/ui/Tabs/Tabs.ai.md +52 -0
  377. package/src/ui/Tabs/Tabs.figma.tsx +30 -0
  378. package/src/ui/Tabs/Tabs.jsx +318 -0
  379. package/src/ui/Tabs/Tabs.scss +164 -0
  380. package/src/ui/Tabs/Tabs.spec.ts +12 -0
  381. package/src/ui/Tabs/Tabs.stories.jsx +18 -0
  382. package/src/ui/Tabs/Tabs.stories.tsx +14 -0
  383. package/src/ui/Tabs/Tabs.test.tsx +1 -0
  384. package/src/ui/Tabs/Tabs.tsx +6 -0
  385. package/src/ui/Tabs/Tabs.types.ts +3 -0
  386. package/src/ui/Tabs/index.js +3 -0
  387. package/src/ui/Tag/Tag.ai.md +59 -0
  388. package/src/ui/Tag/Tag.figma.tsx +29 -0
  389. package/src/ui/Tag/Tag.jsx +93 -0
  390. package/src/ui/Tag/Tag.scss +258 -0
  391. package/src/ui/Tag/Tag.spec.ts +12 -0
  392. package/src/ui/Tag/Tag.stories.jsx +14 -0
  393. package/src/ui/Tag/Tag.stories.tsx +14 -0
  394. package/src/ui/Tag/Tag.test.tsx +1 -0
  395. package/src/ui/Tag/Tag.tsx +6 -0
  396. package/src/ui/Tag/Tag.types.ts +3 -0
  397. package/src/ui/Tag/index.js +2 -0
  398. package/src/ui/Textarea/Textarea.ai.md +40 -0
  399. package/src/ui/Textarea/Textarea.figma.tsx +35 -0
  400. package/src/ui/Textarea/Textarea.jsx +68 -0
  401. package/src/ui/Textarea/Textarea.scss +71 -0
  402. package/src/ui/Textarea/Textarea.spec.ts +12 -0
  403. package/src/ui/Textarea/Textarea.stories.jsx +14 -0
  404. package/src/ui/Textarea/Textarea.stories.tsx +14 -0
  405. package/src/ui/Textarea/Textarea.test.tsx +1 -0
  406. package/src/ui/Textarea/Textarea.tsx +6 -0
  407. package/src/ui/Textarea/Textarea.types.ts +3 -0
  408. package/src/ui/Textarea/index.js +2 -0
  409. package/src/ui/Toast/Toast.ai.md +47 -0
  410. package/src/ui/Toast/Toast.jsx +75 -0
  411. package/src/ui/Toast/Toast.scss +132 -0
  412. package/src/ui/Toast/Toast.spec.ts +12 -0
  413. package/src/ui/Toast/Toast.stories.jsx +14 -0
  414. package/src/ui/Toast/Toast.stories.tsx +14 -0
  415. package/src/ui/Toast/Toast.test.tsx +1 -0
  416. package/src/ui/Toast/Toast.tsx +6 -0
  417. package/src/ui/Toast/Toast.types.ts +3 -0
  418. package/src/ui/Toast/index.js +2 -0
  419. package/src/ui/Toggle/Toggle.ai.md +37 -0
  420. package/src/ui/Toggle/Toggle.jsx +73 -0
  421. package/src/ui/Toggle/Toggle.scss +139 -0
  422. package/src/ui/Toggle/Toggle.spec.ts +12 -0
  423. package/src/ui/Toggle/Toggle.stories.jsx +14 -0
  424. package/src/ui/Toggle/Toggle.stories.tsx +14 -0
  425. package/src/ui/Toggle/Toggle.test.tsx +1 -0
  426. package/src/ui/Toggle/Toggle.tsx +6 -0
  427. package/src/ui/Toggle/Toggle.types.ts +3 -0
  428. package/src/ui/Toggle/index.js +1 -0
  429. package/src/ui/Tooltip/Tooltip.ai.md +33 -0
  430. package/src/ui/Tooltip/Tooltip.figma.tsx +24 -0
  431. package/src/ui/Tooltip/Tooltip.jsx +125 -0
  432. package/src/ui/Tooltip/Tooltip.scss +80 -0
  433. package/src/ui/Tooltip/Tooltip.spec.ts +12 -0
  434. package/src/ui/Tooltip/Tooltip.stories.jsx +14 -0
  435. package/src/ui/Tooltip/Tooltip.stories.tsx +14 -0
  436. package/src/ui/Tooltip/Tooltip.test.tsx +1 -0
  437. package/src/ui/Tooltip/Tooltip.tsx +6 -0
  438. package/src/ui/Tooltip/Tooltip.types.ts +3 -0
  439. package/src/ui/Tooltip/index.js +2 -0
  440. package/src/ui/UDS/UDS.jsx +52 -0
  441. package/src/ui/UDS/UDS.scss +49 -0
  442. package/src/ui/UDS/UDS.spec.ts +12 -0
  443. package/src/ui/UDS/UDS.stories.jsx +22 -0
  444. package/src/ui/UDS/UDS.stories.tsx +14 -0
  445. package/src/ui/UDS/UDS.test.tsx +1 -0
  446. package/src/ui/UDS/UDS.tsx +6 -0
  447. package/src/ui/UDS/UDS.types.ts +3 -0
  448. package/src/ui/UDS/index.js +1 -0
  449. package/src/ui/_spec/createMetaFromSpec.ts +35 -0
  450. package/src/ui/_spec/createStoryArgsFromSpec.ts +8 -0
  451. package/src/ui/_spec/generated/spec-props-reference.md +55 -0
  452. package/src/ui/_spec/specStorySync.test.ts +73 -0
  453. package/src/ui/_spec/types.ts +21 -0
  454. package/src/ui/index.js +66 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 CHG Healthcare
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.lib.md ADDED
@@ -0,0 +1,103 @@
1
+ # @chg/uds-components
2
+
3
+ CHG Healthcare Unified Design System - React Component Library
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @chg/uds-components
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```jsx
14
+ import { Button, Chip, Avatar, Badge } from "@chg/uds-components";
15
+ import "@chg/uds-components/styles.css"; // Required for component styles
16
+
17
+ function App() {
18
+ return (
19
+ <div>
20
+ <Button appearance="primary">Click Me</Button>
21
+ <Chip label="Tag" />
22
+ <Avatar initials="JD" />
23
+ <Badge count={5} variant="red" />
24
+ </div>
25
+ );
26
+ }
27
+ ```
28
+
29
+ ## Available Components
30
+
31
+ ### Layout & Structure
32
+ - `Accordion`, `AccordionItem` - Expandable content sections
33
+ - `Card` - Content container with styling
34
+ - `Divider` - Visual separator
35
+ - `Flex` - Flexbox layout helper
36
+ - `ImageAspect` - Maintains image aspect ratios
37
+ - `Steps` - Step indicator for multi-step flows
38
+ - `Table` - Data table component
39
+ - `Tabs`, `TabItem` - Tabbed navigation
40
+
41
+ ### Navigation
42
+ - `ActionMenu` - Dropdown action menu with keyboard support
43
+ - `Breadcrumb` - Navigation breadcrumbs
44
+ - `Dropdown` - Dropdown select component
45
+ - `Menu` - Navigation menu
46
+ - `Pagination` - Page navigation
47
+
48
+ ### Form Controls
49
+ - `Button` - Primary interaction element
50
+ - `Checkbox` - Checkbox input
51
+ - `Chip` - Tag/filter chips
52
+ - `Datepicker` - Date selection
53
+ - `Field` - Form field wrapper
54
+ - `FileUpload` - File upload component
55
+ - `Input` - Text input field
56
+ - `PillToggle` - Toggle button group
57
+ - `Radio` - Radio button input
58
+ - `Slider` - Range slider
59
+ - `Textarea` - Multi-line text input
60
+ - `Toggle` - On/off toggle switch
61
+
62
+ ### Data Display
63
+ - `Avatar` - User avatar with image or initials
64
+ - `Badge` - Notification badge
65
+ - `DotStatus` - Status dot indicator
66
+ - `Icon` - Phosphor icon wrapper
67
+ - `Key` - Keyboard shortcut display
68
+ - `ProgressCircle` - Circular progress indicator
69
+ - `ProgressIndicator` - Linear progress bar
70
+ - `Status` - Status indicator component
71
+ - `Tag` - Categorization tags
72
+
73
+ ### Feedback
74
+ - `Toast` - Notification toast messages
75
+ - `Tooltip` - Hover tooltips
76
+
77
+ ### Branding
78
+ - `Branding` - Logo and brand assets
79
+
80
+ ## Design Tokens
81
+
82
+ The component library uses CSS custom properties (variables) for theming. Import the styles to get all design tokens:
83
+
84
+ ```css
85
+ @import "@chg/uds-components/styles.css";
86
+ ```
87
+
88
+ Or include them in your build:
89
+
90
+ ```scss
91
+ @use "@chg/uds-components/styles.css";
92
+ ```
93
+
94
+ ## Peer Dependencies
95
+
96
+ This library requires:
97
+ - `react` >= 17.0.0
98
+ - `react-dom` >= 17.0.0
99
+ - `react-router-dom` (optional, only needed for Card and Breadcrumb components)
100
+
101
+ ## License
102
+
103
+ MIT
package/README.md ADDED
@@ -0,0 +1,265 @@
1
+ # CHG Design System (UDS)
2
+
3
+ A unified design system for CHG Healthcare brands, featuring React components, design tokens synced from Figma, and comprehensive documentation.
4
+
5
+ ## Overview
6
+
7
+ This design system provides:
8
+
9
+ - **40+ React Components** — Fully styled, accessible UI components
10
+ - **Design Tokens** — Colors, spacing, typography, and more synced directly from Figma
11
+ - **Multi-Brand Support** — Theming for CompHealth, Connect, LocumSmart, Modio, and Weatherby
12
+ - **Figma Code Connect** — Bridge between design and development
13
+ - **Documentation Site** — Interactive component demos and usage guidelines
14
+
15
+ ## Getting Started
16
+
17
+ ### Prerequisites
18
+
19
+ - Node.js 18+
20
+ - npm or yarn
21
+
22
+ ### Installation
23
+
24
+ ```bash
25
+ # Install dependencies
26
+ npm install
27
+
28
+ # Start the documentation site
29
+ npm start
30
+ ```
31
+
32
+ The development server runs at [http://localhost:3000](http://localhost:3000).
33
+
34
+ ## Available Scripts
35
+
36
+ ### Development
37
+
38
+ | Command | Description |
39
+ |---------|-------------|
40
+ | `npm start` | Start the documentation site in development mode |
41
+ | `npm test` | Run tests in watch mode |
42
+ | `npm run sass:watch` | Watch and compile SCSS files |
43
+ | `npm run docs:spec-props` | Generate props reference docs from component specs |
44
+
45
+ ### Design Tokens
46
+
47
+ | Command | Description |
48
+ |---------|-------------|
49
+ | `npm run tokens:generate` | Fetch and generate tokens from Figma |
50
+ | `npm run tokens:validate` | Validate token references |
51
+ | `npm run tokens:compile` | Compile SCSS tokens to CSS |
52
+ | `npm run tokens:watch` | Watch and compile token changes |
53
+
54
+ ### Library Build
55
+
56
+ | Command | Description |
57
+ |---------|-------------|
58
+ | `npm run build:lib` | Build the component library for distribution |
59
+ | `npm run build:lib:watch` | Build library in watch mode |
60
+ | `npm run publish:lib` | Publish the library package |
61
+
62
+ ### Figma Code Connect
63
+
64
+ | Command | Description |
65
+ |---------|-------------|
66
+ | `npm run codeconnect:publish` | Publish Code Connect mappings to Figma |
67
+ | `npm run codeconnect:unpublish` | Remove Code Connect mappings |
68
+
69
+ ### Production
70
+
71
+ | Command | Description |
72
+ |---------|-------------|
73
+ | `npm run build` | Build the documentation site for production |
74
+
75
+ ## Project Structure
76
+
77
+ ```
78
+ ├── src/
79
+ │ ├── ui/ # Component library
80
+ │ │ ├── Accordion/
81
+ │ │ ├── Button/
82
+ │ │ ├── Card/
83
+ │ │ └── ...
84
+ │ ├── pages/ # Documentation pages
85
+ │ ├── styles/ # Global styles and tokens
86
+ │ │ ├── _variables.scss # Generated Figma variables
87
+ │ │ ├── tokens.scss # CSS custom properties
88
+ │ │ └── _typography.scss # Typography utilities
89
+ │ └── assets/ # Images and static assets
90
+ ├── scripts/
91
+ │ ├── index.js # Token generation script
92
+ │ ├── validate.js # Token validation
93
+ │ └── publish-lib.js # Library publishing
94
+ ├── dist/ # Built library output
95
+ └── build/ # Built documentation site
96
+ ```
97
+
98
+ ## Components
99
+
100
+ The design system includes a comprehensive set of components:
101
+
102
+ **Form Controls:** Button, Checkbox, Datepicker, Dropdown, Field, FileUpload, Input, Radio, Slider, Textarea, Toggle
103
+
104
+ **Data Display:** Accordion, Avatar, Badge, Card, Chip, DotStatus, Icon, ImageAspect, Key, Status, Table, Tag, Tooltip
105
+
106
+ **Navigation:** ActionMenu, Breadcrumb, Menu, Pagination, PillToggle, Steps, Tabs
107
+
108
+ **Feedback:** ProgressCircle, ProgressIndicator, Toast
109
+
110
+ **Layout:** Divider, Flex
111
+
112
+ ## Design Tokens
113
+
114
+ Tokens are synced from Figma and include:
115
+
116
+ - **Colors** — Brand colors, semantic colors, neutrals
117
+ - **Spacing** — Consistent spacing scale
118
+ - **Typography** — Font families, sizes, weights, line heights
119
+ - **Border Radius** — Corner radius values
120
+ - **Shadows** — Elevation and depth
121
+ - **Animation** — Timing and duration values
122
+
123
+ ### Syncing Tokens from Figma
124
+
125
+ 1. Create a `.env` file with your Figma credentials:
126
+
127
+ ```env
128
+ FIGMA_ACCESS_TOKEN=your_figma_token
129
+ FIGMA_FILE_KEY=your_file_key
130
+ ```
131
+
132
+ 2. Run the token generation script:
133
+
134
+ ```bash
135
+ npm run tokens:generate
136
+ ```
137
+
138
+ ## Using the Component Library
139
+
140
+ ### Installation in Your Project
141
+
142
+ ```bash
143
+ npm install @chg/uds-components
144
+ ```
145
+
146
+ ### Usage
147
+
148
+ ```jsx
149
+ import { Button, Card, Input } from '@chg/uds-components';
150
+ import '@chg/uds-components/styles.css';
151
+
152
+ function App() {
153
+ return (
154
+ <Card>
155
+ <Input label="Email" type="email" />
156
+ <Button variant="primary">Submit</Button>
157
+ </Card>
158
+ );
159
+ }
160
+ ```
161
+
162
+ ## AI Context Files
163
+
164
+ Every component in the design system ships with a dedicated `.ai.md` file that provides structured, AI-friendly documentation. These files are the fastest way for any AI assistant to understand a component's API, usage patterns, and constraints.
165
+
166
+ ### File Location
167
+
168
+ All AI context files follow a predictable convention:
169
+
170
+ ```
171
+ src/ui/<ComponentName>/<ComponentName>.ai.md
172
+ ```
173
+
174
+ To discover every available file, glob for `src/ui/**/*.ai.md`.
175
+
176
+ ### What Each File Contains
177
+
178
+ | Section | Description |
179
+ |---------|-------------|
180
+ | **When to Use** | The component's intended purpose and scenarios |
181
+ | **Props** | Full props table with types, defaults, and accepted values |
182
+ | **Examples** | Code snippets from basic usage to advanced composition |
183
+ | **Composition** | How the component works alongside other components |
184
+ | **Do's and Don'ts** | Common pitfalls and best practices |
185
+ | **Accessibility** | ARIA roles, keyboard interaction, and screen reader notes |
186
+
187
+ ### How to Use (for AI Agents)
188
+
189
+ 1. **Before writing code that uses a component**, read its `.ai.md` file. It contains the exact prop names, valid values, and import paths you need.
190
+ 2. **When combining components**, read the `.ai.md` for each one. The "Composition" sections describe how they interoperate (e.g., `Field` wrapping `Input`, `Table` rendering `Tag` cells).
191
+ 3. **When choosing between components**, compare the "When to Use" sections across candidates (e.g., `Chip` vs `Tag` vs `Badge`).
192
+ 4. **When styling**, check the `.ai.md` for documented CSS class names and design token references, then consult `src/styles/tokens.css` for token values.
193
+
194
+ ### Complete File Manifest
195
+
196
+ | Component | Path |
197
+ |-----------|------|
198
+ | Accordion | `src/ui/Accordion/Accordion.ai.md` |
199
+ | ActionMenu | `src/ui/ActionMenu/ActionMenu.ai.md` |
200
+ | Avatar | `src/ui/Avatar/Avatar.ai.md` |
201
+ | Badge | `src/ui/Badge/Badge.ai.md` |
202
+ | Branding | `src/ui/Branding/Branding.ai.md` |
203
+ | Breadcrumb | `src/ui/Breadcrumb/Breadcrumb.ai.md` |
204
+ | Button | `src/ui/Button/Button.ai.md` |
205
+ | Calendar | `src/ui/Calendar/Calendar.ai.md` |
206
+ | Card | `src/ui/Card/Card.ai.md` |
207
+ | Checkbox | `src/ui/Checkbox/Checkbox.ai.md` |
208
+ | Chip | `src/ui/Chip/Chip.ai.md` |
209
+ | Datepicker | `src/ui/Datepicker/Datepicker.ai.md` |
210
+ | Divider | `src/ui/Divider/Divider.ai.md` |
211
+ | DotStatus | `src/ui/DotStatus/DotStatus.ai.md` |
212
+ | Dropdown | `src/ui/Dropdown/Dropdown.ai.md` |
213
+ | EventCard | `src/ui/EventCard/EventCard.ai.md` |
214
+ | Field | `src/ui/Field/Field.ai.md` |
215
+ | FileUpload | `src/ui/FileUpload/FileUpload.ai.md` |
216
+ | Flex | `src/ui/Flex/Flex.ai.md` |
217
+ | Icon | `src/ui/Icon/Icon.ai.md` |
218
+ | ImageAspect | `src/ui/ImageAspect/ImageAspect.ai.md` |
219
+ | Input | `src/ui/Input/Input.ai.md` |
220
+ | Key | `src/ui/Key/Key.ai.md` |
221
+ | Menu | `src/ui/Menu/Menu.ai.md` |
222
+ | MicroCalendar | `src/ui/MicroCalendar/MicroCalendar.ai.md` |
223
+ | Modal | `src/ui/Modal/Modal.ai.md` |
224
+ | Pagination | `src/ui/Pagination/Pagination.ai.md` |
225
+ | PillToggle | `src/ui/PillToggle/PillToggle.ai.md` |
226
+ | Playground | `src/ui/Playground/Playground.ai.md` |
227
+ | ProgressCircle | `src/ui/ProgressCircle/ProgressCircle.ai.md` |
228
+ | ProgressIndicator | `src/ui/ProgressIndicator/ProgressIndicator.ai.md` |
229
+ | Radio | `src/ui/Radio/Radio.ai.md` |
230
+ | Slider | `src/ui/Slider/Slider.ai.md` |
231
+ | Status | `src/ui/Status/Status.ai.md` |
232
+ | Steps | `src/ui/Steps/Steps.ai.md` |
233
+ | Table | `src/ui/Table/Table.ai.md` |
234
+ | Tabs | `src/ui/Tabs/Tabs.ai.md` |
235
+ | Tag | `src/ui/Tag/Tag.ai.md` |
236
+ | Textarea | `src/ui/Textarea/Textarea.ai.md` |
237
+ | Toast | `src/ui/Toast/Toast.ai.md` |
238
+ | Toggle | `src/ui/Toggle/Toggle.ai.md` |
239
+ | Tooltip | `src/ui/Tooltip/Tooltip.ai.md` |
240
+
241
+ ### Key Conventions
242
+
243
+ - **Design tokens** — All styling uses CSS custom properties prefixed `--uds-` (colors, spacing, typography, radius, shadows, animation). See `src/styles/tokens.css`.
244
+ - **BEM class naming** — Components use `uds-<component>`, `uds-<component>__<element>`, `uds-<component>--<modifier>`.
245
+ - **Icons** — Use the `Icon` component with Phosphor icon names: `<Icon name="House" size={20} />`. All [Phosphor icons](https://phosphoricons.com/) are available.
246
+ - **Form fields** — Always wrap inputs with `<Field>` for labels, validation messages, and helper text.
247
+ - **Multi-brand** — The system supports multiple CHG brands. Tokens adapt automatically when the brand attribute changes.
248
+
249
+ ## Browser Support
250
+
251
+ - Chrome (last 2 versions)
252
+ - Firefox (last 2 versions)
253
+ - Safari (last 2 versions)
254
+ - Edge (last 2 versions)
255
+
256
+ ## Contributing
257
+
258
+ 1. Create a feature branch from `main`
259
+ 2. Make your changes
260
+ 3. Ensure tests pass and components render correctly
261
+ 4. Submit a pull request
262
+
263
+ ## License
264
+
265
+ See [LICENSE](./LICENSE) for details.
package/dist/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 CHG Healthcare
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/dist/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # @chg/uds-components
2
+
3
+ CHG Healthcare Unified Design System - React Component Library
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @chg/uds-components
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```jsx
14
+ import { Button, Chip, Avatar, Badge } from "@chg/uds-components";
15
+ import "@chg/uds-components/styles.css"; // Required for component styles
16
+
17
+ function App() {
18
+ return (
19
+ <div>
20
+ <Button appearance="primary">Click Me</Button>
21
+ <Chip label="Tag" />
22
+ <Avatar initials="JD" />
23
+ <Badge count={5} variant="red" />
24
+ </div>
25
+ );
26
+ }
27
+ ```
28
+
29
+ ## Available Components
30
+
31
+ ### Layout & Structure
32
+ - `Accordion`, `AccordionItem` - Expandable content sections
33
+ - `Card` - Content container with styling
34
+ - `Divider` - Visual separator
35
+ - `Flex` - Flexbox layout helper
36
+ - `ImageAspect` - Maintains image aspect ratios
37
+ - `Steps` - Step indicator for multi-step flows
38
+ - `Table` - Data table component
39
+ - `Tabs`, `TabItem` - Tabbed navigation
40
+
41
+ ### Navigation
42
+ - `ActionMenu` - Dropdown action menu with keyboard support
43
+ - `Breadcrumb` - Navigation breadcrumbs
44
+ - `Dropdown` - Dropdown select component
45
+ - `Menu` - Navigation menu
46
+ - `Pagination` - Page navigation
47
+
48
+ ### Form Controls
49
+ - `Button` - Primary interaction element
50
+ - `Checkbox` - Checkbox input
51
+ - `Chip` - Tag/filter chips
52
+ - `Datepicker` - Date selection
53
+ - `Field` - Form field wrapper
54
+ - `FileUpload` - File upload component
55
+ - `Input` - Text input field
56
+ - `PillToggle` - Toggle button group
57
+ - `Radio` - Radio button input
58
+ - `Slider` - Range slider
59
+ - `Textarea` - Multi-line text input
60
+ - `Toggle` - On/off toggle switch
61
+
62
+ ### Data Display
63
+ - `Avatar` - User avatar with image or initials
64
+ - `Badge` - Notification badge
65
+ - `DotStatus` - Status dot indicator
66
+ - `Icon` - Phosphor icon wrapper
67
+ - `Key` - Keyboard shortcut display
68
+ - `ProgressCircle` - Circular progress indicator
69
+ - `ProgressIndicator` - Linear progress bar
70
+ - `Status` - Status indicator component
71
+ - `Tag` - Categorization tags
72
+
73
+ ### Feedback
74
+ - `Toast` - Notification toast messages
75
+ - `Tooltip` - Hover tooltips
76
+
77
+ ### Branding
78
+ - `Branding` - Logo and brand assets
79
+
80
+ ## Design Tokens
81
+
82
+ The component library uses CSS custom properties (variables) for theming. Import the styles to get all design tokens:
83
+
84
+ ```css
85
+ @import "@chg/uds-components/styles.css";
86
+ ```
87
+
88
+ Or include them in your build:
89
+
90
+ ```scss
91
+ @use "@chg/uds-components/styles.css";
92
+ ```
93
+
94
+ ## Peer Dependencies
95
+
96
+ This library requires:
97
+ - `react` >= 17.0.0
98
+ - `react-dom` >= 17.0.0
99
+ - `react-router-dom` (optional, only needed for Card and Breadcrumb components)
100
+
101
+ ## License
102
+
103
+ MIT
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@chg/uds-components",
3
+ "version": "1.0.0",
4
+ "description": "CHG Healthcare Unified Design System - React Component Library",
5
+ "author": "Michael Stevens",
6
+ "license": "MIT",
7
+ "main": "uds-components.umd.js",
8
+ "module": "uds-components.es.js",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./uds-components.es.js",
12
+ "require": "./uds-components.umd.js"
13
+ },
14
+ "./styles.css": "./styles.css"
15
+ },
16
+ "files": [
17
+ "uds-components.es.js",
18
+ "uds-components.es.js.map",
19
+ "uds-components.umd.js",
20
+ "uds-components.umd.js.map",
21
+ "styles.css",
22
+ "README.md"
23
+ ],
24
+ "sideEffects": [
25
+ "**/*.css",
26
+ "**/*.scss"
27
+ ],
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/chg-healthcare/uds-components.git"
31
+ },
32
+ "keywords": [
33
+ "react",
34
+ "components",
35
+ "ui",
36
+ "design-system",
37
+ "uds",
38
+ "chg"
39
+ ],
40
+ "peerDependencies": {
41
+ "react": ">=17.0.0",
42
+ "react-dom": ">=17.0.0"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "react-router-dom": {
46
+ "optional": true
47
+ }
48
+ }
49
+ }