@thewhatmatters/wmds 0.2.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 (720) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/CONSUMING.md +352 -0
  3. package/LICENSE +21 -0
  4. package/README.md +65 -0
  5. package/bin/wmds-check.mjs +173 -0
  6. package/dist/cluster.css +14 -0
  7. package/dist/collapse.css +24 -0
  8. package/dist/colors.css +282 -0
  9. package/dist/components/atoms/Avatar/Avatar.d.ts +22 -0
  10. package/dist/components/atoms/Avatar/Avatar.d.ts.map +1 -0
  11. package/dist/components/atoms/Avatar/Avatar.js +52 -0
  12. package/dist/components/atoms/Avatar/avatarStyles.d.ts +23 -0
  13. package/dist/components/atoms/Avatar/avatarStyles.d.ts.map +1 -0
  14. package/dist/components/atoms/Avatar/avatarStyles.js +48 -0
  15. package/dist/components/atoms/Badge/Badge.d.ts +47 -0
  16. package/dist/components/atoms/Badge/Badge.d.ts.map +1 -0
  17. package/dist/components/atoms/Badge/Badge.js +68 -0
  18. package/dist/components/atoms/Badge/BadgeIcon.d.ts +7 -0
  19. package/dist/components/atoms/Badge/BadgeIcon.d.ts.map +1 -0
  20. package/dist/components/atoms/Badge/BadgeIcon.js +14 -0
  21. package/dist/components/atoms/Badge/BadgeSegmentCount.d.ts +6 -0
  22. package/dist/components/atoms/Badge/BadgeSegmentCount.d.ts.map +1 -0
  23. package/dist/components/atoms/Badge/BadgeSegmentCount.js +13 -0
  24. package/dist/components/atoms/Badge/badgeStyles.d.ts +37 -0
  25. package/dist/components/atoms/Badge/badgeStyles.d.ts.map +1 -0
  26. package/dist/components/atoms/Badge/badgeStyles.js +46 -0
  27. package/dist/components/atoms/Button/Button.d.ts +77 -0
  28. package/dist/components/atoms/Button/Button.d.ts.map +1 -0
  29. package/dist/components/atoms/Button/Button.js +138 -0
  30. package/dist/components/atoms/Button/ButtonBadge.d.ts +5 -0
  31. package/dist/components/atoms/Button/ButtonBadge.d.ts.map +1 -0
  32. package/dist/components/atoms/Button/ButtonBadge.js +14 -0
  33. package/dist/components/atoms/Button/ButtonIcon.d.ts +8 -0
  34. package/dist/components/atoms/Button/ButtonIcon.d.ts.map +1 -0
  35. package/dist/components/atoms/Button/ButtonIcon.js +14 -0
  36. package/dist/components/atoms/Button/ButtonSpinner.d.ts +6 -0
  37. package/dist/components/atoms/Button/ButtonSpinner.d.ts.map +1 -0
  38. package/dist/components/atoms/Button/ButtonSpinner.js +13 -0
  39. package/dist/components/atoms/Button/ButtonStatusButton.d.ts +23 -0
  40. package/dist/components/atoms/Button/ButtonStatusButton.d.ts.map +1 -0
  41. package/dist/components/atoms/Button/ButtonStatusButton.js +43 -0
  42. package/dist/components/atoms/Button/ButtonStatusContent.d.ts +10 -0
  43. package/dist/components/atoms/Button/ButtonStatusContent.d.ts.map +1 -0
  44. package/dist/components/atoms/Button/ButtonStatusContent.js +92 -0
  45. package/dist/components/atoms/Button/buttonStatusMotion.d.ts +40 -0
  46. package/dist/components/atoms/Button/buttonStatusMotion.d.ts.map +1 -0
  47. package/dist/components/atoms/Button/buttonStatusMotion.js +100 -0
  48. package/dist/components/atoms/Button/buttonStatusStyles.d.ts +21 -0
  49. package/dist/components/atoms/Button/buttonStatusStyles.d.ts.map +1 -0
  50. package/dist/components/atoms/Button/buttonStatusStyles.js +39 -0
  51. package/dist/components/atoms/Button/buttonStyles.d.ts +47 -0
  52. package/dist/components/atoms/Button/buttonStyles.d.ts.map +1 -0
  53. package/dist/components/atoms/Button/buttonStyles.js +54 -0
  54. package/dist/components/atoms/Checkbox/Checkbox.d.ts +31 -0
  55. package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -0
  56. package/dist/components/atoms/Checkbox/Checkbox.js +101 -0
  57. package/dist/components/atoms/Checkbox/checkboxStyles.d.ts +37 -0
  58. package/dist/components/atoms/Checkbox/checkboxStyles.d.ts.map +1 -0
  59. package/dist/components/atoms/Checkbox/checkboxStyles.js +42 -0
  60. package/dist/components/atoms/IconButton/IconButton.d.ts +49 -0
  61. package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -0
  62. package/dist/components/atoms/IconButton/IconButton.js +84 -0
  63. package/dist/components/atoms/IconButton/iconButtonStyles.d.ts +17 -0
  64. package/dist/components/atoms/IconButton/iconButtonStyles.d.ts.map +1 -0
  65. package/dist/components/atoms/IconButton/iconButtonStyles.js +13 -0
  66. package/dist/components/atoms/Input/Input.d.ts +37 -0
  67. package/dist/components/atoms/Input/Input.d.ts.map +1 -0
  68. package/dist/components/atoms/Input/Input.js +105 -0
  69. package/dist/components/atoms/Input/inputShellStyles.d.ts +99 -0
  70. package/dist/components/atoms/Input/inputShellStyles.d.ts.map +1 -0
  71. package/dist/components/atoms/Input/inputShellStyles.js +119 -0
  72. package/dist/components/atoms/Kbd/Kbd.d.ts +18 -0
  73. package/dist/components/atoms/Kbd/Kbd.d.ts.map +1 -0
  74. package/dist/components/atoms/Kbd/Kbd.js +15 -0
  75. package/dist/components/atoms/Kbd/kbdStyles.d.ts +5 -0
  76. package/dist/components/atoms/Kbd/kbdStyles.d.ts.map +1 -0
  77. package/dist/components/atoms/Kbd/kbdStyles.js +8 -0
  78. package/dist/components/atoms/Kbd/useKbdChoiceKeys.d.ts +21 -0
  79. package/dist/components/atoms/Kbd/useKbdChoiceKeys.d.ts.map +1 -0
  80. package/dist/components/atoms/Kbd/useKbdChoiceKeys.js +18 -0
  81. package/dist/components/atoms/Radio/Radio.d.ts +26 -0
  82. package/dist/components/atoms/Radio/Radio.d.ts.map +1 -0
  83. package/dist/components/atoms/Radio/Radio.js +84 -0
  84. package/dist/components/atoms/Radio/radioStyles.d.ts +28 -0
  85. package/dist/components/atoms/Radio/radioStyles.d.ts.map +1 -0
  86. package/dist/components/atoms/Radio/radioStyles.js +36 -0
  87. package/dist/components/atoms/RiveHand/RiveHand.d.ts +44 -0
  88. package/dist/components/atoms/RiveHand/RiveHand.d.ts.map +1 -0
  89. package/dist/components/atoms/RiveHand/RiveHand.js +254 -0
  90. package/dist/components/atoms/RiveHand/riveHandUtils.d.ts +168 -0
  91. package/dist/components/atoms/RiveHand/riveHandUtils.d.ts.map +1 -0
  92. package/dist/components/atoms/RiveHand/riveHandUtils.js +123 -0
  93. package/dist/components/atoms/Skeleton/Skeleton.d.ts +28 -0
  94. package/dist/components/atoms/Skeleton/Skeleton.d.ts.map +1 -0
  95. package/dist/components/atoms/Skeleton/Skeleton.js +32 -0
  96. package/dist/components/atoms/Skeleton/skeletonStyles.d.ts +23 -0
  97. package/dist/components/atoms/Skeleton/skeletonStyles.d.ts.map +1 -0
  98. package/dist/components/atoms/Skeleton/skeletonStyles.js +30 -0
  99. package/dist/components/atoms/Status/Status.d.ts +40 -0
  100. package/dist/components/atoms/Status/Status.d.ts.map +1 -0
  101. package/dist/components/atoms/Status/Status.js +84 -0
  102. package/dist/components/atoms/Status/statusDotStyles.d.ts +10 -0
  103. package/dist/components/atoms/Status/statusDotStyles.d.ts.map +1 -0
  104. package/dist/components/atoms/Status/statusDotStyles.js +17 -0
  105. package/dist/components/atoms/Status/statusRingStyles.d.ts +12 -0
  106. package/dist/components/atoms/Status/statusRingStyles.d.ts.map +1 -0
  107. package/dist/components/atoms/Status/statusRingStyles.js +6 -0
  108. package/dist/components/atoms/Switch/Switch.d.ts +27 -0
  109. package/dist/components/atoms/Switch/Switch.d.ts.map +1 -0
  110. package/dist/components/atoms/Switch/Switch.js +109 -0
  111. package/dist/components/atoms/Switch/switchStyles.d.ts +36 -0
  112. package/dist/components/atoms/Switch/switchStyles.d.ts.map +1 -0
  113. package/dist/components/atoms/Switch/switchStyles.js +39 -0
  114. package/dist/components/atoms/TextArea/TextArea.d.ts +37 -0
  115. package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -0
  116. package/dist/components/atoms/TextArea/TextArea.js +115 -0
  117. package/dist/components/atoms/TextArea/textareaShellStyles.d.ts +41 -0
  118. package/dist/components/atoms/TextArea/textareaShellStyles.d.ts.map +1 -0
  119. package/dist/components/atoms/TextArea/textareaShellStyles.js +71 -0
  120. package/dist/components/atoms/TextLink/TextLink.d.ts +14 -0
  121. package/dist/components/atoms/TextLink/TextLink.d.ts.map +1 -0
  122. package/dist/components/atoms/TextLink/TextLink.js +26 -0
  123. package/dist/components/atoms/TextLink/textLinkStyles.d.ts +3 -0
  124. package/dist/components/atoms/TextLink/textLinkStyles.d.ts.map +1 -0
  125. package/dist/components/atoms/TextLink/textLinkStyles.js +6 -0
  126. package/dist/components/atoms/TextSequenceShape/TextSequenceShape.d.ts +21 -0
  127. package/dist/components/atoms/TextSequenceShape/TextSequenceShape.d.ts.map +1 -0
  128. package/dist/components/atoms/TextSequenceShape/TextSequenceShape.js +175 -0
  129. package/dist/components/atoms/TextSequenceShape/textSequenceShapeStyles.d.ts +28 -0
  130. package/dist/components/atoms/TextSequenceShape/textSequenceShapeStyles.d.ts.map +1 -0
  131. package/dist/components/atoms/TextSequenceShape/textSequenceShapeStyles.js +39 -0
  132. package/dist/components/atoms/Tooltip/Tooltip.d.ts +63 -0
  133. package/dist/components/atoms/Tooltip/Tooltip.d.ts.map +1 -0
  134. package/dist/components/atoms/Tooltip/Tooltip.js +82 -0
  135. package/dist/components/atoms/Tooltip/tooltipStyles.d.ts +4 -0
  136. package/dist/components/atoms/Tooltip/tooltipStyles.d.ts.map +1 -0
  137. package/dist/components/atoms/Tooltip/tooltipStyles.js +15 -0
  138. package/dist/components/atoms/inputShared/InputStatusBanner.d.ts +13 -0
  139. package/dist/components/atoms/inputShared/InputStatusBanner.d.ts.map +1 -0
  140. package/dist/components/atoms/inputShared/InputStatusBanner.js +24 -0
  141. package/dist/components/atoms/inputShared/InputTrailingAffordance.d.ts +8 -0
  142. package/dist/components/atoms/inputShared/InputTrailingAffordance.d.ts.map +1 -0
  143. package/dist/components/atoms/inputShared/InputTrailingAffordance.js +26 -0
  144. package/dist/components/molecules/Accordion/Accordion.d.ts +36 -0
  145. package/dist/components/molecules/Accordion/Accordion.d.ts.map +1 -0
  146. package/dist/components/molecules/Accordion/Accordion.js +82 -0
  147. package/dist/components/molecules/Accordion/accordionStyles.d.ts +45 -0
  148. package/dist/components/molecules/Accordion/accordionStyles.d.ts.map +1 -0
  149. package/dist/components/molecules/Accordion/accordionStyles.js +12 -0
  150. package/dist/components/molecules/CalEmbed/CalEmbed.d.ts +58 -0
  151. package/dist/components/molecules/CalEmbed/CalEmbed.d.ts.map +1 -0
  152. package/dist/components/molecules/CalEmbed/CalEmbed.js +50 -0
  153. package/dist/components/molecules/CalEmbed/calEmbedStyles.d.ts +5 -0
  154. package/dist/components/molecules/CalEmbed/calEmbedStyles.d.ts.map +1 -0
  155. package/dist/components/molecules/CalEmbed/calEmbedStyles.js +5 -0
  156. package/dist/components/molecules/Card/Card.d.ts +53 -0
  157. package/dist/components/molecules/Card/Card.d.ts.map +1 -0
  158. package/dist/components/molecules/Card/Card.js +72 -0
  159. package/dist/components/molecules/Card/cardStyles.d.ts +82 -0
  160. package/dist/components/molecules/Card/cardStyles.d.ts.map +1 -0
  161. package/dist/components/molecules/Card/cardStyles.js +60 -0
  162. package/dist/components/molecules/ChatQa/ChatQa.d.ts +25 -0
  163. package/dist/components/molecules/ChatQa/ChatQa.d.ts.map +1 -0
  164. package/dist/components/molecules/ChatQa/ChatQa.js +23 -0
  165. package/dist/components/molecules/ChatQa/chatQaStyles.d.ts +9 -0
  166. package/dist/components/molecules/ChatQa/chatQaStyles.d.ts.map +1 -0
  167. package/dist/components/molecules/ChatQa/chatQaStyles.js +5 -0
  168. package/dist/components/molecules/CheckboxGroup/CheckboxGroup.d.ts +29 -0
  169. package/dist/components/molecules/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  170. package/dist/components/molecules/CheckboxGroup/CheckboxGroup.js +76 -0
  171. package/dist/components/molecules/CheckboxGroup/CheckboxGroupContext.d.ts +14 -0
  172. package/dist/components/molecules/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -0
  173. package/dist/components/molecules/CheckboxGroup/CheckboxGroupContext.js +17 -0
  174. package/dist/components/molecules/CheckboxGroup/CheckboxGroupItem.d.ts +12 -0
  175. package/dist/components/molecules/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -0
  176. package/dist/components/molecules/CheckboxGroup/CheckboxGroupItem.js +23 -0
  177. package/dist/components/molecules/CheckboxGroup/checkboxGroupStyles.d.ts +16 -0
  178. package/dist/components/molecules/CheckboxGroup/checkboxGroupStyles.d.ts.map +1 -0
  179. package/dist/components/molecules/CheckboxGroup/checkboxGroupStyles.js +15 -0
  180. package/dist/components/molecules/Chip/Chip.d.ts +32 -0
  181. package/dist/components/molecules/Chip/Chip.d.ts.map +1 -0
  182. package/dist/components/molecules/Chip/Chip.js +116 -0
  183. package/dist/components/molecules/Chip/ChipFilterGroup.d.ts +30 -0
  184. package/dist/components/molecules/Chip/ChipFilterGroup.d.ts.map +1 -0
  185. package/dist/components/molecules/Chip/ChipFilterGroup.js +45 -0
  186. package/dist/components/molecules/Chip/chipStyles.d.ts +12 -0
  187. package/dist/components/molecules/Chip/chipStyles.d.ts.map +1 -0
  188. package/dist/components/molecules/Chip/chipStyles.js +23 -0
  189. package/dist/components/molecules/DisplayControls/DisplayControls.d.ts +27 -0
  190. package/dist/components/molecules/DisplayControls/DisplayControls.d.ts.map +1 -0
  191. package/dist/components/molecules/DisplayControls/DisplayControls.js +76 -0
  192. package/dist/components/molecules/DisplayControls/displayControlsState.d.ts +6 -0
  193. package/dist/components/molecules/DisplayControls/displayControlsState.d.ts.map +1 -0
  194. package/dist/components/molecules/DisplayControls/displayControlsState.js +18 -0
  195. package/dist/components/molecules/DisplayControls/displayControlsStyles.d.ts +4 -0
  196. package/dist/components/molecules/DisplayControls/displayControlsStyles.d.ts.map +1 -0
  197. package/dist/components/molecules/DisplayControls/displayControlsStyles.js +5 -0
  198. package/dist/components/molecules/Dropdown/Dropdown.d.ts +9 -0
  199. package/dist/components/molecules/Dropdown/Dropdown.d.ts.map +1 -0
  200. package/dist/components/molecules/Dropdown/Dropdown.js +10 -0
  201. package/dist/components/molecules/Dropdown/DropdownItem.d.ts +23 -0
  202. package/dist/components/molecules/Dropdown/DropdownItem.d.ts.map +1 -0
  203. package/dist/components/molecules/Dropdown/DropdownItem.js +36 -0
  204. package/dist/components/molecules/Dropdown/DropdownMenu.d.ts +10 -0
  205. package/dist/components/molecules/Dropdown/DropdownMenu.d.ts.map +1 -0
  206. package/dist/components/molecules/Dropdown/DropdownMenu.js +14 -0
  207. package/dist/components/molecules/Dropdown/dropdownMenuPosition.d.ts +25 -0
  208. package/dist/components/molecules/Dropdown/dropdownMenuPosition.d.ts.map +1 -0
  209. package/dist/components/molecules/Dropdown/dropdownMenuPosition.js +56 -0
  210. package/dist/components/molecules/Dropdown/dropdownStyles.d.ts +31 -0
  211. package/dist/components/molecules/Dropdown/dropdownStyles.d.ts.map +1 -0
  212. package/dist/components/molecules/Dropdown/dropdownStyles.js +8 -0
  213. package/dist/components/molecules/Field/Field.d.ts +25 -0
  214. package/dist/components/molecules/Field/Field.d.ts.map +1 -0
  215. package/dist/components/molecules/Field/Field.js +80 -0
  216. package/dist/components/molecules/Field/fieldStyles.d.ts +16 -0
  217. package/dist/components/molecules/Field/fieldStyles.d.ts.map +1 -0
  218. package/dist/components/molecules/Field/fieldStyles.js +11 -0
  219. package/dist/components/molecules/FloatingActionButton/FloatingActionButton.d.ts +22 -0
  220. package/dist/components/molecules/FloatingActionButton/FloatingActionButton.d.ts.map +1 -0
  221. package/dist/components/molecules/FloatingActionButton/FloatingActionButton.js +135 -0
  222. package/dist/components/molecules/FloatingActionButton/floatingActionButtonStyles.d.ts +9 -0
  223. package/dist/components/molecules/FloatingActionButton/floatingActionButtonStyles.d.ts.map +1 -0
  224. package/dist/components/molecules/FloatingActionButton/floatingActionButtonStyles.js +7 -0
  225. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts +32 -0
  226. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts.map +1 -0
  227. package/dist/components/molecules/HeroIntro/HeroIntro.js +24 -0
  228. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts +30 -0
  229. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts.map +1 -0
  230. package/dist/components/molecules/HeroIntro/heroIntroStyles.js +5 -0
  231. package/dist/components/molecules/IntakeForm/IntakeForm.d.ts +30 -0
  232. package/dist/components/molecules/IntakeForm/IntakeForm.d.ts.map +1 -0
  233. package/dist/components/molecules/IntakeForm/IntakeForm.js +137 -0
  234. package/dist/components/molecules/IntakeForm/intakeFormStyles.d.ts +3 -0
  235. package/dist/components/molecules/IntakeForm/intakeFormStyles.d.ts.map +1 -0
  236. package/dist/components/molecules/IntakeForm/intakeFormStyles.js +5 -0
  237. package/dist/components/molecules/NavList/NavList.d.ts +55 -0
  238. package/dist/components/molecules/NavList/NavList.d.ts.map +1 -0
  239. package/dist/components/molecules/NavList/NavList.js +103 -0
  240. package/dist/components/molecules/NavList/navListStyles.d.ts +15 -0
  241. package/dist/components/molecules/NavList/navListStyles.d.ts.map +1 -0
  242. package/dist/components/molecules/NavList/navListStyles.js +11 -0
  243. package/dist/components/molecules/PageHeader/PageHeader.d.ts +24 -0
  244. package/dist/components/molecules/PageHeader/PageHeader.d.ts.map +1 -0
  245. package/dist/components/molecules/PageHeader/PageHeader.js +43 -0
  246. package/dist/components/molecules/PageHeader/pageHeaderStyles.d.ts +9 -0
  247. package/dist/components/molecules/PageHeader/pageHeaderStyles.d.ts.map +1 -0
  248. package/dist/components/molecules/PageHeader/pageHeaderStyles.js +20 -0
  249. package/dist/components/molecules/PillGroup/PillGroup.d.ts +31 -0
  250. package/dist/components/molecules/PillGroup/PillGroup.d.ts.map +1 -0
  251. package/dist/components/molecules/PillGroup/PillGroup.js +53 -0
  252. package/dist/components/molecules/PillGroup/pillGroupStyles.d.ts +13 -0
  253. package/dist/components/molecules/PillGroup/pillGroupStyles.d.ts.map +1 -0
  254. package/dist/components/molecules/PillGroup/pillGroupStyles.js +7 -0
  255. package/dist/components/molecules/PromptBar/PromptBar.d.ts +33 -0
  256. package/dist/components/molecules/PromptBar/PromptBar.d.ts.map +1 -0
  257. package/dist/components/molecules/PromptBar/PromptBar.js +56 -0
  258. package/dist/components/molecules/PromptBar/promptBarStyles.d.ts +24 -0
  259. package/dist/components/molecules/PromptBar/promptBarStyles.d.ts.map +1 -0
  260. package/dist/components/molecules/PromptBar/promptBarStyles.js +6 -0
  261. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts +34 -0
  262. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts.map +1 -0
  263. package/dist/components/molecules/RadioGroup/RadioGroup.js +76 -0
  264. package/dist/components/molecules/RadioGroup/RadioGroupContext.d.ts +16 -0
  265. package/dist/components/molecules/RadioGroup/RadioGroupContext.d.ts.map +1 -0
  266. package/dist/components/molecules/RadioGroup/RadioGroupContext.js +23 -0
  267. package/dist/components/molecules/RadioGroup/RadioGroupItem.d.ts +12 -0
  268. package/dist/components/molecules/RadioGroup/RadioGroupItem.d.ts.map +1 -0
  269. package/dist/components/molecules/RadioGroup/RadioGroupItem.js +21 -0
  270. package/dist/components/molecules/RadioGroup/radioGroupStyles.d.ts +16 -0
  271. package/dist/components/molecules/RadioGroup/radioGroupStyles.d.ts.map +1 -0
  272. package/dist/components/molecules/RadioGroup/radioGroupStyles.js +15 -0
  273. package/dist/components/molecules/Search/Search.d.ts +24 -0
  274. package/dist/components/molecules/Search/Search.d.ts.map +1 -0
  275. package/dist/components/molecules/Search/Search.js +33 -0
  276. package/dist/components/molecules/Search/searchStyles.d.ts +10 -0
  277. package/dist/components/molecules/Search/searchStyles.d.ts.map +1 -0
  278. package/dist/components/molecules/Search/searchStyles.js +15 -0
  279. package/dist/components/molecules/SegmentedControl/SegmentedControl.d.ts +25 -0
  280. package/dist/components/molecules/SegmentedControl/SegmentedControl.d.ts.map +1 -0
  281. package/dist/components/molecules/SegmentedControl/SegmentedControl.js +36 -0
  282. package/dist/components/molecules/SegmentedControl/SegmentedControlContext.d.ts +16 -0
  283. package/dist/components/molecules/SegmentedControl/SegmentedControlContext.d.ts.map +1 -0
  284. package/dist/components/molecules/SegmentedControl/SegmentedControlContext.js +18 -0
  285. package/dist/components/molecules/SegmentedControl/SegmentedControlItem.d.ts +25 -0
  286. package/dist/components/molecules/SegmentedControl/SegmentedControlItem.d.ts.map +1 -0
  287. package/dist/components/molecules/SegmentedControl/SegmentedControlItem.js +55 -0
  288. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts +31 -0
  289. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts.map +1 -0
  290. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.js +28 -0
  291. package/dist/components/molecules/Select/Select.d.ts +34 -0
  292. package/dist/components/molecules/Select/Select.d.ts.map +1 -0
  293. package/dist/components/molecules/Select/Select.js +161 -0
  294. package/dist/components/molecules/Select/selectMenuPosition.d.ts +11 -0
  295. package/dist/components/molecules/Select/selectMenuPosition.d.ts.map +1 -0
  296. package/dist/components/molecules/Select/selectMenuPosition.js +14 -0
  297. package/dist/components/molecules/Select/selectStyles.d.ts +21 -0
  298. package/dist/components/molecules/Select/selectStyles.d.ts.map +1 -0
  299. package/dist/components/molecules/Select/selectStyles.js +21 -0
  300. package/dist/components/molecules/SelectableCard/SelectableCard.d.ts +33 -0
  301. package/dist/components/molecules/SelectableCard/SelectableCard.d.ts.map +1 -0
  302. package/dist/components/molecules/SelectableCard/SelectableCard.js +84 -0
  303. package/dist/components/molecules/SelectableCard/selectableCardStyles.d.ts +14 -0
  304. package/dist/components/molecules/SelectableCard/selectableCardStyles.d.ts.map +1 -0
  305. package/dist/components/molecules/SelectableCard/selectableCardStyles.js +7 -0
  306. package/dist/components/molecules/Stat/Stat.d.ts +47 -0
  307. package/dist/components/molecules/Stat/Stat.d.ts.map +1 -0
  308. package/dist/components/molecules/Stat/Stat.js +76 -0
  309. package/dist/components/molecules/Stat/statStyles.d.ts +23 -0
  310. package/dist/components/molecules/Stat/statStyles.d.ts.map +1 -0
  311. package/dist/components/molecules/Stat/statStyles.js +37 -0
  312. package/dist/components/molecules/StepProgress/StepProgress.d.ts +21 -0
  313. package/dist/components/molecules/StepProgress/StepProgress.d.ts.map +1 -0
  314. package/dist/components/molecules/StepProgress/StepProgress.js +44 -0
  315. package/dist/components/molecules/StepProgress/stepProgressStyles.d.ts +7 -0
  316. package/dist/components/molecules/StepProgress/stepProgressStyles.d.ts.map +1 -0
  317. package/dist/components/molecules/StepProgress/stepProgressStyles.js +7 -0
  318. package/dist/components/molecules/TaskRows/TaskRows.d.ts +67 -0
  319. package/dist/components/molecules/TaskRows/TaskRows.d.ts.map +1 -0
  320. package/dist/components/molecules/TaskRows/TaskRows.js +164 -0
  321. package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts +32 -0
  322. package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts.map +1 -0
  323. package/dist/components/molecules/TaskRows/taskRowsStyles.js +16 -0
  324. package/dist/components/molecules/TextSequence/TextSequence.d.ts +47 -0
  325. package/dist/components/molecules/TextSequence/TextSequence.d.ts.map +1 -0
  326. package/dist/components/molecules/TextSequence/TextSequence.js +242 -0
  327. package/dist/components/molecules/TextSequence/textSequenceStyles.d.ts +10 -0
  328. package/dist/components/molecules/TextSequence/textSequenceStyles.d.ts.map +1 -0
  329. package/dist/components/molecules/TextSequence/textSequenceStyles.js +5 -0
  330. package/dist/components/organisms/Chart/Chart.d.ts +76 -0
  331. package/dist/components/organisms/Chart/Chart.d.ts.map +1 -0
  332. package/dist/components/organisms/Chart/Chart.js +152 -0
  333. package/dist/components/organisms/Chart/ChartCartesian.d.ts +54 -0
  334. package/dist/components/organisms/Chart/ChartCartesian.d.ts.map +1 -0
  335. package/dist/components/organisms/Chart/ChartCartesian.js +479 -0
  336. package/dist/components/organisms/Chart/ChartDistributionStrip.d.ts +24 -0
  337. package/dist/components/organisms/Chart/ChartDistributionStrip.d.ts.map +1 -0
  338. package/dist/components/organisms/Chart/ChartDistributionStrip.js +156 -0
  339. package/dist/components/organisms/Chart/ChartHeatmap.d.ts +24 -0
  340. package/dist/components/organisms/Chart/ChartHeatmap.d.ts.map +1 -0
  341. package/dist/components/organisms/Chart/ChartHeatmap.js +163 -0
  342. package/dist/components/organisms/Chart/ChartHoverTooltip.d.ts +13 -0
  343. package/dist/components/organisms/Chart/ChartHoverTooltip.d.ts.map +1 -0
  344. package/dist/components/organisms/Chart/ChartHoverTooltip.js +29 -0
  345. package/dist/components/organisms/Chart/ChartLegend.d.ts +13 -0
  346. package/dist/components/organisms/Chart/ChartLegend.d.ts.map +1 -0
  347. package/dist/components/organisms/Chart/ChartLegend.js +30 -0
  348. package/dist/components/organisms/Chart/ChartLoading.d.ts +12 -0
  349. package/dist/components/organisms/Chart/ChartLoading.d.ts.map +1 -0
  350. package/dist/components/organisms/Chart/ChartLoading.js +24 -0
  351. package/dist/components/organisms/Chart/ChartRankedBars.d.ts +18 -0
  352. package/dist/components/organisms/Chart/ChartRankedBars.d.ts.map +1 -0
  353. package/dist/components/organisms/Chart/ChartRankedBars.js +52 -0
  354. package/dist/components/organisms/Chart/ChartTooltipContent.d.ts +19 -0
  355. package/dist/components/organisms/Chart/ChartTooltipContent.d.ts.map +1 -0
  356. package/dist/components/organisms/Chart/ChartTooltipContent.js +36 -0
  357. package/dist/components/organisms/Chart/ChartUnitGrid.d.ts +17 -0
  358. package/dist/components/organisms/Chart/ChartUnitGrid.d.ts.map +1 -0
  359. package/dist/components/organisms/Chart/ChartUnitGrid.js +95 -0
  360. package/dist/components/organisms/Chart/chartCartesianContext.d.ts +50 -0
  361. package/dist/components/organisms/Chart/chartCartesianContext.d.ts.map +1 -0
  362. package/dist/components/organisms/Chart/chartCartesianContext.js +18 -0
  363. package/dist/components/organisms/Chart/chartCartesianGaps.d.ts +74 -0
  364. package/dist/components/organisms/Chart/chartCartesianGaps.d.ts.map +1 -0
  365. package/dist/components/organisms/Chart/chartCartesianGaps.js +92 -0
  366. package/dist/components/organisms/Chart/chartCartesianMotion.d.ts +11 -0
  367. package/dist/components/organisms/Chart/chartCartesianMotion.d.ts.map +1 -0
  368. package/dist/components/organisms/Chart/chartCartesianMotion.js +15 -0
  369. package/dist/components/organisms/Chart/chartExploration.d.ts +8 -0
  370. package/dist/components/organisms/Chart/chartExploration.d.ts.map +1 -0
  371. package/dist/components/organisms/Chart/chartExploration.js +31 -0
  372. package/dist/components/organisms/Chart/chartSegmentedBarMotion.d.ts +12 -0
  373. package/dist/components/organisms/Chart/chartSegmentedBarMotion.d.ts.map +1 -0
  374. package/dist/components/organisms/Chart/chartSegmentedBarMotion.js +9 -0
  375. package/dist/components/organisms/Chart/chartStyles.d.ts +93 -0
  376. package/dist/components/organisms/Chart/chartStyles.d.ts.map +1 -0
  377. package/dist/components/organisms/Chart/chartStyles.js +11 -0
  378. package/dist/components/organisms/Confetti/Confetti.d.ts +35 -0
  379. package/dist/components/organisms/Confetti/Confetti.d.ts.map +1 -0
  380. package/dist/components/organisms/Confetti/Confetti.js +96 -0
  381. package/dist/components/organisms/Confetti/confettiPhysics.d.ts +116 -0
  382. package/dist/components/organisms/Confetti/confettiPhysics.d.ts.map +1 -0
  383. package/dist/components/organisms/Confetti/confettiPhysics.js +121 -0
  384. package/dist/components/organisms/Confetti/confettiStyles.d.ts +3 -0
  385. package/dist/components/organisms/Confetti/confettiStyles.d.ts.map +1 -0
  386. package/dist/components/organisms/Confetti/confettiStyles.js +5 -0
  387. package/dist/components/organisms/Dialog/AlertDialog.d.ts +31 -0
  388. package/dist/components/organisms/Dialog/AlertDialog.d.ts.map +1 -0
  389. package/dist/components/organisms/Dialog/AlertDialog.js +80 -0
  390. package/dist/components/organisms/Dialog/Dialog.d.ts +54 -0
  391. package/dist/components/organisms/Dialog/Dialog.d.ts.map +1 -0
  392. package/dist/components/organisms/Dialog/Dialog.js +158 -0
  393. package/dist/components/organisms/Dialog/DialogContext.d.ts +22 -0
  394. package/dist/components/organisms/Dialog/DialogContext.d.ts.map +1 -0
  395. package/dist/components/organisms/Dialog/DialogContext.js +25 -0
  396. package/dist/components/organisms/Dialog/OverlayPanelHeader.d.ts +21 -0
  397. package/dist/components/organisms/Dialog/OverlayPanelHeader.d.ts.map +1 -0
  398. package/dist/components/organisms/Dialog/OverlayPanelHeader.js +50 -0
  399. package/dist/components/organisms/Dialog/dialogStyles.d.ts +66 -0
  400. package/dist/components/organisms/Dialog/dialogStyles.d.ts.map +1 -0
  401. package/dist/components/organisms/Dialog/dialogStyles.js +24 -0
  402. package/dist/components/organisms/FooterReveal/FooterReveal.d.ts +78 -0
  403. package/dist/components/organisms/FooterReveal/FooterReveal.d.ts.map +1 -0
  404. package/dist/components/organisms/FooterReveal/FooterReveal.js +208 -0
  405. package/dist/components/organisms/FooterReveal/FooterRevealRuled.d.ts +40 -0
  406. package/dist/components/organisms/FooterReveal/FooterRevealRuled.d.ts.map +1 -0
  407. package/dist/components/organisms/FooterReveal/FooterRevealRuled.js +120 -0
  408. package/dist/components/organisms/FooterReveal/footerRevealAt.d.ts +8 -0
  409. package/dist/components/organisms/FooterReveal/footerRevealAt.d.ts.map +1 -0
  410. package/dist/components/organisms/FooterReveal/footerRevealAt.js +7 -0
  411. package/dist/components/organisms/FooterReveal/footerRevealStyles.d.ts +142 -0
  412. package/dist/components/organisms/FooterReveal/footerRevealStyles.d.ts.map +1 -0
  413. package/dist/components/organisms/FooterReveal/footerRevealStyles.js +12 -0
  414. package/dist/components/organisms/FooterReveal/footerRevealWordmark.d.ts +37 -0
  415. package/dist/components/organisms/FooterReveal/footerRevealWordmark.d.ts.map +1 -0
  416. package/dist/components/organisms/FooterReveal/footerRevealWordmark.js +51 -0
  417. package/dist/components/organisms/HeroTileStack/HeroTileStack.d.ts +62 -0
  418. package/dist/components/organisms/HeroTileStack/HeroTileStack.d.ts.map +1 -0
  419. package/dist/components/organisms/HeroTileStack/HeroTileStack.js +257 -0
  420. package/dist/components/organisms/HeroTileStack/heroTileScatter.d.ts +120 -0
  421. package/dist/components/organisms/HeroTileStack/heroTileScatter.d.ts.map +1 -0
  422. package/dist/components/organisms/HeroTileStack/heroTileScatter.js +83 -0
  423. package/dist/components/organisms/HeroTileStack/heroTileStackStyles.d.ts +33 -0
  424. package/dist/components/organisms/HeroTileStack/heroTileStackStyles.d.ts.map +1 -0
  425. package/dist/components/organisms/HeroTileStack/heroTileStackStyles.js +11 -0
  426. package/dist/components/organisms/IntakeConfirmation/IntakeConfirmation.d.ts +33 -0
  427. package/dist/components/organisms/IntakeConfirmation/IntakeConfirmation.d.ts.map +1 -0
  428. package/dist/components/organisms/IntakeConfirmation/IntakeConfirmation.js +77 -0
  429. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.d.ts +22 -0
  430. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.d.ts.map +1 -0
  431. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.js +25 -0
  432. package/dist/components/organisms/IntakeModal/IntakeModal.d.ts +33 -0
  433. package/dist/components/organisms/IntakeModal/IntakeModal.d.ts.map +1 -0
  434. package/dist/components/organisms/IntakeModal/IntakeModal.js +108 -0
  435. package/dist/components/organisms/IntakeModal/intakeModalStyles.d.ts +14 -0
  436. package/dist/components/organisms/IntakeModal/intakeModalStyles.d.ts.map +1 -0
  437. package/dist/components/organisms/IntakeModal/intakeModalStyles.js +7 -0
  438. package/dist/components/organisms/MoreMenu/MoreMenu.d.ts +28 -0
  439. package/dist/components/organisms/MoreMenu/MoreMenu.d.ts.map +1 -0
  440. package/dist/components/organisms/MoreMenu/MoreMenu.js +133 -0
  441. package/dist/components/organisms/MoreMenu/moreMenuStyles.d.ts +3 -0
  442. package/dist/components/organisms/MoreMenu/moreMenuStyles.d.ts.map +1 -0
  443. package/dist/components/organisms/MoreMenu/moreMenuStyles.js +5 -0
  444. package/dist/components/organisms/Panel/Panel.d.ts +40 -0
  445. package/dist/components/organisms/Panel/Panel.d.ts.map +1 -0
  446. package/dist/components/organisms/Panel/Panel.js +135 -0
  447. package/dist/components/organisms/Panel/PanelContext.d.ts +19 -0
  448. package/dist/components/organisms/Panel/PanelContext.d.ts.map +1 -0
  449. package/dist/components/organisms/Panel/PanelContext.js +25 -0
  450. package/dist/components/organisms/Panel/panelStyles.d.ts +17 -0
  451. package/dist/components/organisms/Panel/panelStyles.d.ts.map +1 -0
  452. package/dist/components/organisms/Panel/panelStyles.js +25 -0
  453. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontal.d.ts +74 -0
  454. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontal.d.ts.map +1 -0
  455. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontal.js +163 -0
  456. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontalIntro.d.ts +41 -0
  457. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontalIntro.d.ts.map +1 -0
  458. package/dist/components/organisms/ScrollHorizontal/ScrollHorizontalIntro.js +40 -0
  459. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalIntroContext.d.ts +3 -0
  460. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalIntroContext.d.ts.map +1 -0
  461. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalIntroContext.js +6 -0
  462. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalMath.d.ts +167 -0
  463. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalMath.d.ts.map +1 -0
  464. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalMath.js +136 -0
  465. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalStyles.d.ts +84 -0
  466. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalStyles.d.ts.map +1 -0
  467. package/dist/components/organisms/ScrollHorizontal/scrollHorizontalStyles.js +79 -0
  468. package/dist/components/organisms/Sheet/Sheet.d.ts +44 -0
  469. package/dist/components/organisms/Sheet/Sheet.d.ts.map +1 -0
  470. package/dist/components/organisms/Sheet/Sheet.js +152 -0
  471. package/dist/components/organisms/Sheet/SheetContext.d.ts +20 -0
  472. package/dist/components/organisms/Sheet/SheetContext.d.ts.map +1 -0
  473. package/dist/components/organisms/Sheet/SheetContext.js +25 -0
  474. package/dist/components/organisms/Sheet/sheetStyles.d.ts +30 -0
  475. package/dist/components/organisms/Sheet/sheetStyles.d.ts.map +1 -0
  476. package/dist/components/organisms/Sheet/sheetStyles.js +72 -0
  477. package/dist/components/organisms/SiteNav/SiteNav.d.ts +170 -0
  478. package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -0
  479. package/dist/components/organisms/SiteNav/SiteNav.js +536 -0
  480. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts +128 -0
  481. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts.map +1 -0
  482. package/dist/components/organisms/SiteNav/siteNavStyles.js +25 -0
  483. package/dist/components/organisms/SiteNav/useSiteNavCollapse.d.ts +18 -0
  484. package/dist/components/organisms/SiteNav/useSiteNavCollapse.d.ts.map +1 -0
  485. package/dist/components/organisms/SiteNav/useSiteNavCollapse.js +34 -0
  486. package/dist/components/organisms/Tab/Tab.d.ts +27 -0
  487. package/dist/components/organisms/Tab/Tab.d.ts.map +1 -0
  488. package/dist/components/organisms/Tab/Tab.js +223 -0
  489. package/dist/components/organisms/Tab/tabOverflow.d.ts +14 -0
  490. package/dist/components/organisms/Tab/tabOverflow.d.ts.map +1 -0
  491. package/dist/components/organisms/Tab/tabOverflow.js +26 -0
  492. package/dist/components/organisms/Tab/tabStyles.d.ts +16 -0
  493. package/dist/components/organisms/Tab/tabStyles.d.ts.map +1 -0
  494. package/dist/components/organisms/Tab/tabStyles.js +17 -0
  495. package/dist/components/organisms/Toast/Toast.d.ts +17 -0
  496. package/dist/components/organisms/Toast/Toast.d.ts.map +1 -0
  497. package/dist/components/organisms/Toast/Toast.js +150 -0
  498. package/dist/components/organisms/Toast/toastStore.d.ts +41 -0
  499. package/dist/components/organisms/Toast/toastStore.d.ts.map +1 -0
  500. package/dist/components/organisms/Toast/toastStore.js +60 -0
  501. package/dist/components/organisms/Toast/toastStyles.d.ts +11 -0
  502. package/dist/components/organisms/Toast/toastStyles.d.ts.map +1 -0
  503. package/dist/components/organisms/Toast/toastStyles.js +21 -0
  504. package/dist/files/geist-cyrillic-ext-wght-normal.woff2 +0 -0
  505. package/dist/files/geist-cyrillic-wght-normal.woff2 +0 -0
  506. package/dist/files/geist-latin-ext-wght-normal.woff2 +0 -0
  507. package/dist/files/geist-latin-wght-normal.woff2 +0 -0
  508. package/dist/files/geist-mono-cyrillic-ext-wght-normal.woff2 +0 -0
  509. package/dist/files/geist-mono-cyrillic-wght-normal.woff2 +0 -0
  510. package/dist/files/geist-mono-latin-ext-wght-normal.woff2 +0 -0
  511. package/dist/files/geist-mono-latin-wght-normal.woff2 +0 -0
  512. package/dist/files/geist-mono-symbols2-wght-normal.woff2 +0 -0
  513. package/dist/files/geist-mono-vietnamese-wght-normal.woff2 +0 -0
  514. package/dist/files/geist-vietnamese-wght-normal.woff2 +0 -0
  515. package/dist/fonts.css +124 -0
  516. package/dist/grid.css +214 -0
  517. package/dist/index.d.ts +73 -0
  518. package/dist/index.d.ts.map +1 -0
  519. package/dist/index.js +122 -0
  520. package/dist/lib/GridOverlay.d.ts +23 -0
  521. package/dist/lib/GridOverlay.d.ts.map +1 -0
  522. package/dist/lib/GridOverlay.js +78 -0
  523. package/dist/lib/backgroundPatterns.d.ts +27 -0
  524. package/dist/lib/backgroundPatterns.d.ts.map +1 -0
  525. package/dist/lib/backgroundPatterns.js +21 -0
  526. package/dist/lib/chartSampleData.d.ts +20 -0
  527. package/dist/lib/chartSampleData.d.ts.map +1 -0
  528. package/dist/lib/chartTheme.d.ts +367 -0
  529. package/dist/lib/chartTheme.d.ts.map +1 -0
  530. package/dist/lib/chartTheme.js +329 -0
  531. package/dist/lib/clusterScale.d.ts +48 -0
  532. package/dist/lib/clusterScale.d.ts.map +1 -0
  533. package/dist/lib/clusterScale.js +48 -0
  534. package/dist/lib/cn.d.ts +3 -0
  535. package/dist/lib/cn.d.ts.map +1 -0
  536. package/dist/lib/cn.js +7 -0
  537. package/dist/lib/compositionAudit.d.ts +59 -0
  538. package/dist/lib/compositionAudit.d.ts.map +1 -0
  539. package/dist/lib/dialogOverlay.d.ts +7 -0
  540. package/dist/lib/dialogOverlay.d.ts.map +1 -0
  541. package/dist/lib/dialogOverlay.js +41 -0
  542. package/dist/lib/displayCascade.d.ts +27 -0
  543. package/dist/lib/displayCascade.d.ts.map +1 -0
  544. package/dist/lib/gridOverlayUtils.d.ts +34 -0
  545. package/dist/lib/gridOverlayUtils.d.ts.map +1 -0
  546. package/dist/lib/gridOverlayUtils.js +43 -0
  547. package/dist/lib/insetWell.d.ts +19 -0
  548. package/dist/lib/insetWell.d.ts.map +1 -0
  549. package/dist/lib/insetWell.js +5 -0
  550. package/dist/lib/motion.d.ts +81 -0
  551. package/dist/lib/motion.d.ts.map +1 -0
  552. package/dist/lib/motion.js +119 -0
  553. package/dist/lib/segmentedControl.d.ts +9 -0
  554. package/dist/lib/segmentedControl.d.ts.map +1 -0
  555. package/dist/lib/segmentedControl.js +6 -0
  556. package/dist/lib/semanticVariants.d.ts +5 -0
  557. package/dist/lib/semanticVariants.d.ts.map +1 -0
  558. package/dist/lib/shadows.d.ts +17 -0
  559. package/dist/lib/shadows.d.ts.map +1 -0
  560. package/dist/lib/storyCopySource.d.ts +16 -0
  561. package/dist/lib/storyCopySource.d.ts.map +1 -0
  562. package/dist/lib/tableLayout/index.d.ts +4 -0
  563. package/dist/lib/tableLayout/index.d.ts.map +1 -0
  564. package/dist/lib/tableLayout/tableLayout.d.ts +24 -0
  565. package/dist/lib/tableLayout/tableLayout.d.ts.map +1 -0
  566. package/dist/lib/tableLayout/tableMeasurer.d.ts +21 -0
  567. package/dist/lib/tableLayout/tableMeasurer.d.ts.map +1 -0
  568. package/dist/lib/tableLayout/useTableLayout.d.ts +6 -0
  569. package/dist/lib/tableLayout/useTableLayout.d.ts.map +1 -0
  570. package/dist/lib/typography.d.ts +93 -0
  571. package/dist/lib/typography.d.ts.map +1 -0
  572. package/dist/lib/typography.js +170 -0
  573. package/dist/lib/useScrollThreshold.d.ts +22 -0
  574. package/dist/lib/useScrollThreshold.d.ts.map +1 -0
  575. package/dist/lib/useScrollThreshold.js +29 -0
  576. package/dist/lib/viewports.d.ts +120 -0
  577. package/dist/lib/viewports.d.ts.map +1 -0
  578. package/dist/motion.css +73 -0
  579. package/dist/patterns.css +37 -0
  580. package/dist/scrollFade.css +380 -0
  581. package/dist/shape.css +8 -0
  582. package/dist/sources.css +70 -0
  583. package/dist/stateColors.css +73 -0
  584. package/dist/styles.css +2 -0
  585. package/dist/theme.css +200 -0
  586. package/dist/typography.css +224 -0
  587. package/docs/README.md +27 -0
  588. package/docs/component-contracts.md +27 -0
  589. package/docs/components.md +61 -0
  590. package/docs/consumer-agents.md +34 -0
  591. package/docs/exports.json +803 -0
  592. package/docs/patterns/components-avatar--dropdown-row.tsx +20 -0
  593. package/docs/patterns/components-badge--with-avatar.tsx +28 -0
  594. package/docs/patterns/components-button-button--destructive-action.tsx +7 -0
  595. package/docs/patterns/components-button-button--ghost-action.tsx +7 -0
  596. package/docs/patterns/components-button-button--inverse-action.tsx +7 -0
  597. package/docs/patterns/components-button-button--link-render.tsx +14 -0
  598. package/docs/patterns/components-button-button--multi-state-badge.tsx +16 -0
  599. package/docs/patterns/components-button-button--outline-mono.tsx +10 -0
  600. package/docs/patterns/components-button-button--primary-action.tsx +7 -0
  601. package/docs/patterns/components-button-button--row-hug.tsx +15 -0
  602. package/docs/patterns/components-button-button--row-layout.tsx +14 -0
  603. package/docs/patterns/components-button-button--secondary-action.tsx +7 -0
  604. package/docs/patterns/components-button-button--suggestion-pills.tsx +17 -0
  605. package/docs/patterns/components-button-button--with-count.tsx +9 -0
  606. package/docs/patterns/components-button-button--with-icon.tsx +22 -0
  607. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +22 -0
  608. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +25 -0
  609. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +44 -0
  610. package/docs/patterns/components-card-card--headerless-media.tsx +23 -0
  611. package/docs/patterns/components-card-card--outlined-layout.tsx +16 -0
  612. package/docs/patterns/components-card-card--pinned-height.tsx +39 -0
  613. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +48 -0
  614. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +26 -0
  615. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +25 -0
  616. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +44 -0
  617. package/docs/patterns/components-chart--occupancy-in-card.tsx +49 -0
  618. package/docs/patterns/components-chart--post-reach-distribution.tsx +21 -0
  619. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +16 -0
  620. package/docs/patterns/components-chart--unit-grid-composition.tsx +22 -0
  621. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +25 -0
  622. package/docs/patterns/components-checkbox-checkbox--default.tsx +17 -0
  623. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +18 -0
  624. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +21 -0
  625. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +28 -0
  626. package/docs/patterns/components-dialog--default-dialog.tsx +39 -0
  627. package/docs/patterns/components-dialog--form-dialog.tsx +41 -0
  628. package/docs/patterns/components-displaycontrols--page-utilities.tsx +36 -0
  629. package/docs/patterns/components-field--horizontal-input.tsx +9 -0
  630. package/docs/patterns/components-field--horizontal-text-area.tsx +9 -0
  631. package/docs/patterns/components-field--multi-control.tsx +10 -0
  632. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +94 -0
  633. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +121 -0
  634. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +114 -0
  635. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +76 -0
  636. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +42 -0
  637. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +123 -0
  638. package/docs/patterns/components-herointro--two-line-intro.tsx +15 -0
  639. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +72 -0
  640. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +84 -0
  641. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +92 -0
  642. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +20 -0
  643. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +13 -0
  644. package/docs/patterns/components-intakeform--about-you-pattern.tsx +12 -0
  645. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +32 -0
  646. package/docs/patterns/components-kbd--command-row.tsx +13 -0
  647. package/docs/patterns/components-kbd--numbered-choices.tsx +53 -0
  648. package/docs/patterns/components-kbd--shortcut.tsx +11 -0
  649. package/docs/patterns/components-moremenu--action-menu.tsx +36 -0
  650. package/docs/patterns/components-moremenu--in-card-header.tsx +72 -0
  651. package/docs/patterns/components-navlist--side-nav-settings.tsx +58 -0
  652. package/docs/patterns/components-pageheader--app-header-pattern.tsx +40 -0
  653. package/docs/patterns/components-pageheader--page-section-header.tsx +20 -0
  654. package/docs/patterns/components-pageheader--toolbar-header.tsx +37 -0
  655. package/docs/patterns/components-panel--end-detail-rail.tsx +65 -0
  656. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +22 -0
  657. package/docs/patterns/components-promptbar--pattern-marketing-composer.tsx +37 -0
  658. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +20 -0
  659. package/docs/patterns/components-radio-radiogroup--default.tsx +21 -0
  660. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +22 -0
  661. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +42 -0
  662. package/docs/patterns/components-sheet--bottom-sheet.tsx +40 -0
  663. package/docs/patterns/components-sheet--end-sheet.tsx +33 -0
  664. package/docs/patterns/components-sitenav--brand-and-cta.tsx +17 -0
  665. package/docs/patterns/components-sitenav--centered-links.tsx +20 -0
  666. package/docs/patterns/components-sitenav--compact.tsx +24 -0
  667. package/docs/patterns/components-sitenav--marketing-header.tsx +80 -0
  668. package/docs/patterns/components-sitenav--mega-menu.tsx +51 -0
  669. package/docs/patterns/components-stat--insights-row.tsx +28 -0
  670. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +9 -0
  671. package/docs/patterns/components-switch--default.tsx +17 -0
  672. package/docs/patterns/components-switch--settings-row.tsx +19 -0
  673. package/docs/patterns/components-tab--settings-pages.tsx +21 -0
  674. package/docs/patterns/components-taskrows--action-details.tsx +40 -0
  675. package/docs/patterns/components-taskrows--capsules.tsx +14 -0
  676. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +30 -0
  677. package/docs/patterns/components-taskrows--controlled-expand.tsx +31 -0
  678. package/docs/patterns/components-taskrows--custom-slots.tsx +21 -0
  679. package/docs/patterns/components-taskrows--status-list.tsx +23 -0
  680. package/docs/patterns/components-taskrows--tag-chips.tsx +19 -0
  681. package/docs/patterns/components-textlink--external-destination.tsx +9 -0
  682. package/docs/patterns/components-textlink--inline-prose.tsx +9 -0
  683. package/docs/patterns/components-textlink--supporting-copy.tsx +9 -0
  684. package/docs/patterns/components-textsequence--default.tsx +16 -0
  685. package/docs/patterns/components-textsequence--reduced-motion.tsx +16 -0
  686. package/docs/patterns/components-textsequence--shapes.tsx +40 -0
  687. package/docs/patterns/components-toast--stacked-notifications.tsx +31 -0
  688. package/docs/patterns/components-tooltip--controlled.tsx +20 -0
  689. package/docs/patterns/components-tooltip--disabled-control.tsx +20 -0
  690. package/docs/patterns/components-tooltip--icon-action.tsx +21 -0
  691. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +17 -0
  692. package/docs/patterns/components-tooltip--placement.tsx +12 -0
  693. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +24 -0
  694. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +25 -0
  695. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +78 -0
  696. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +140 -0
  697. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +81 -0
  698. package/docs/patterns/index.json +1006 -0
  699. package/docs/patterns/sites-pitchkit-account-settings--account-settings-owner.tsx +265 -0
  700. package/docs/patterns/sites-pitchkit-creator-identity--creator-identity-owner-settings.tsx +154 -0
  701. package/docs/patterns/sites-pitchkit-creator-identity--creator-identity-public.tsx +96 -0
  702. package/docs/patterns/sites-pitchkit-insights-and-kit--creator-insights-loading.tsx +1006 -0
  703. package/docs/patterns/sites-pitchkit-insights-and-kit--creator-insights.tsx +1031 -0
  704. package/docs/patterns/sites-pitchkit-insights-and-kit--insufficient-audience-data.tsx +1015 -0
  705. package/docs/patterns/sites-pitchkit-insights-and-kit--insufficient-reach-and-audience-data.tsx +1017 -0
  706. package/docs/patterns/sites-pitchkit-insights-and-kit--insufficient-reach-data.tsx +1033 -0
  707. package/docs/patterns/sites-pitchkit-insights-and-kit--owner-pitch-kit.tsx +838 -0
  708. package/docs/patterns/sites-pitchkit-insights-and-kit--shareable-pitch-kit.tsx +608 -0
  709. package/docs/patterns/sites-pitchkit-intro--intro-owner.tsx +161 -0
  710. package/docs/patterns/sites-pitchkit-intro--intro-public.tsx +111 -0
  711. package/docs/patterns/sites-pitchkit-past-brands--past-brands-owner.tsx +611 -0
  712. package/docs/patterns/sites-pitchkit-past-brands--past-brands-public.tsx +299 -0
  713. package/docs/patterns/sites-pitchkit-theme-picker--theme-picker-owner.tsx +832 -0
  714. package/docs/patterns/sites-whatmatters-intake--start-a-project-pattern.tsx +234 -0
  715. package/docs/patterns/sites-whatmatters-marketing-landing--marketing-landing.tsx +87 -0
  716. package/docs/patterns/sites-whatmatters-prompt-chat--landing-to-chat.tsx +899 -0
  717. package/docs/patterns/sites-whatmatters-rfp-submitted--rfp-submitted.tsx +302 -0
  718. package/package.json +123 -0
  719. package/public/rive/CREDITS.md +13 -0
  720. package/public/rive/interactive-icon-set.riv +0 -0
@@ -0,0 +1,611 @@
1
+ // @thewhatmatters/wmds@0.2.0 · Pattern — past brands (owner)
2
+ // Storybook: Sites/PitchKit/Past brands → Pattern — past brands (owner) (?path=/story/sites-pitchkit-past-brands--past-brands-owner)
3
+ // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
+
5
+ import { useLayoutEffect, useRef, useState, type CSSProperties } from "react";
6
+ import { ChevronDown, ChevronUp, GripVertical, Pencil, Plus, Trash2 } from "lucide-react";
7
+ import {
8
+ Avatar,
9
+ Button,
10
+ ButtonIcon,
11
+ Card,
12
+ Chip,
13
+ Dialog,
14
+ IconButton,
15
+ Input,
16
+ MoreMenu,
17
+ Select,
18
+ cardTitleClasses,
19
+ dialogFooterActionsClasses,
20
+ } from "@thewhatmatters/wmds";
21
+
22
+ const compactNumber = new Intl.NumberFormat("en", {
23
+ notation: "compact",
24
+ maximumFractionDigits: 1,
25
+ });
26
+
27
+
28
+ export interface PitchKitCreatorIdentity {
29
+ displayName?: string;
30
+ /** Without the @ — shown as @handle, shared as /k/[handle]. */
31
+ handle: string;
32
+ profilePictureUrl?: string;
33
+ followersCount?: number;
34
+ professionalAccount?: "Business" | "Creator";
35
+ connected?: boolean;
36
+ lastSyncedLabel?: string;
37
+ }
38
+
39
+ function CreatorIdentityStrip({
40
+ identity,
41
+ nameAs = "h1",
42
+ showProfessionalChip = false,
43
+ }: {
44
+ identity: PitchKitCreatorIdentity;
45
+ nameAs?: "h1" | "p";
46
+ showProfessionalChip?: boolean;
47
+ }) {
48
+ const NameTag = nameAs;
49
+ const avatarName = identity.displayName ?? identity.handle;
50
+ const handleLabel = `@${identity.handle}`;
51
+ const followerLabel =
52
+ identity.followersCount == null
53
+ ? null
54
+ : `${compactNumber.format(identity.followersCount)} followers`;
55
+ const meta = [handleLabel, followerLabel].filter(Boolean).join(" · ");
56
+ const showTitleRow =
57
+ identity.displayName != null ||
58
+ (showProfessionalChip && identity.professionalAccount != null);
59
+
60
+ return (
61
+ <div className="flex flex-wrap items-center gap-4">
62
+ <Avatar
63
+ name={avatarName}
64
+ src={identity.profilePictureUrl}
65
+ size="lg"
66
+ />
67
+ <div className="flex min-w-0 flex-col gap-1">
68
+ {showTitleRow ? (
69
+ <div className="flex flex-wrap items-center gap-2">
70
+ {identity.displayName != null ? (
71
+ <NameTag className="type-heading-2 text-fg">
72
+ {identity.displayName}
73
+ </NameTag>
74
+ ) : null}
75
+ {showProfessionalChip && identity.professionalAccount != null ? (
76
+ <Chip readOnly size="sm">
77
+ {identity.professionalAccount}
78
+ </Chip>
79
+ ) : null}
80
+ </div>
81
+ ) : null}
82
+ <p className="type-body text-fg text-muted">{meta}</p>
83
+ </div>
84
+ </div>
85
+ );
86
+ }
87
+
88
+
89
+ export interface PitchKitPastBrand {
90
+ id: string;
91
+ name: string;
92
+ /** Curated mark key — missing or unknown keys use a letter Avatar. */
93
+ logo_key?: string;
94
+ result_label?: string;
95
+ }
96
+
97
+ const PITCHKIT_BRAND_RESULT_MAX = 24;
98
+ const PITCHKIT_BRAND_LOGO_LETTER = "letter";
99
+
100
+ const pitchKitBrandLogoKeys = [
101
+ "nike", "adidas", "apple", "google", "meta", "amazon", "spotify", "netflix",
102
+ "sephora", "glossier", "nordstrom", "target", "walmart", "starbucks",
103
+ "coca-cola", "pepsi", "samsung", "microsoft", "adobe", "shopify",
104
+ "uber", "airbnb", "disney", "lululemon", "reebok", "puma",
105
+ "dior", "chanel", "bmw", "ford", "chase", "visa",
106
+ ];
107
+
108
+ const pastBrandLogoKeySet = new Set(pitchKitBrandLogoKeys);
109
+
110
+ function resolvePastBrandLogoKey(logoKey: string | null | undefined) {
111
+ if (logoKey == null || logoKey === "" || logoKey === PITCHKIT_BRAND_LOGO_LETTER) {
112
+ return undefined;
113
+ }
114
+ return pastBrandLogoKeySet.has(logoKey) ? logoKey : undefined;
115
+ }
116
+
117
+ function pastBrandLogoMonogram(logoKey: string) {
118
+ const parts = logoKey.split("-");
119
+ if (parts.length > 1) {
120
+ return parts.map((part) => part.charAt(0).toUpperCase()).join("").slice(0, 2);
121
+ }
122
+ return logoKey.slice(0, 1).toUpperCase();
123
+ }
124
+
125
+ function normalizePastBrandResult(value: string | null | undefined) {
126
+ const trimmed = value?.trim() ?? "";
127
+ if (trimmed.length === 0) return undefined;
128
+ return trimmed.slice(0, PITCHKIT_BRAND_RESULT_MAX);
129
+ }
130
+
131
+ function BrandMark({ name, logoKey }: { name: string; logoKey?: string }) {
132
+ const resolved = resolvePastBrandLogoKey(logoKey);
133
+ if (resolved == null) {
134
+ return <Avatar name={name} size="sm" />;
135
+ }
136
+
137
+ return (
138
+ <span className="flex size-6 shrink-0 items-center justify-center rounded-full bg-fg type-supporting text-muted font-medium uppercase leading-none text-bg" role="img" aria-label={name}>
139
+ <span aria-hidden>{pastBrandLogoMonogram(resolved)}</span>
140
+ </span>
141
+ );
142
+ }
143
+
144
+ function BrandResultChip({ label }: { label?: string }) {
145
+ const result = normalizePastBrandResult(label);
146
+ if (result == null) return null;
147
+ return <Chip readOnly size="sm">{result}</Chip>;
148
+ }
149
+
150
+ function BrandLockup({ brand }: { brand: PitchKitPastBrand }) {
151
+ return (
152
+ <div className="flex min-w-0 items-center gap-3">
153
+ <BrandMark name={brand.name} logoKey={brand.logo_key} />
154
+ <h3 className="type-label text-fg">{brand.name}</h3>
155
+ <BrandResultChip label={brand.result_label} />
156
+ </div>
157
+ );
158
+ }
159
+
160
+ function PastBrandCard({ brand, className }: { brand: PitchKitPastBrand; className: string }) {
161
+ return (
162
+ <Card variant="outlined" shape="rounded" className={className}>
163
+ <Card.Header start={<BrandLockup brand={brand} />} />
164
+ </Card>
165
+ );
166
+ }
167
+
168
+ function PastBrandsRail({ brands }: { brands: readonly PitchKitPastBrand[] }) {
169
+ const hostRef = useRef<HTMLDivElement>(null);
170
+ const measureRef = useRef<HTMLUListElement>(null);
171
+ const [overflows, setOverflows] = useState(false);
172
+ const [reduceMotion, setReduceMotion] = useState(false);
173
+
174
+ useLayoutEffect(() => {
175
+ const media = window.matchMedia("(prefers-reduced-motion: reduce)");
176
+ const updateMotion = () => setReduceMotion(media.matches);
177
+ updateMotion();
178
+ media.addEventListener("change", updateMotion);
179
+ return () => media.removeEventListener("change", updateMotion);
180
+ }, []);
181
+
182
+ useLayoutEffect(() => {
183
+ const host = hostRef.current;
184
+ const measure = measureRef.current;
185
+ if (host == null || measure == null) return;
186
+
187
+ const update = () => {
188
+ setOverflows(measure.scrollWidth > host.clientWidth + 1);
189
+ };
190
+ update();
191
+ const observer = new ResizeObserver(update);
192
+ observer.observe(host);
193
+ observer.observe(measure);
194
+ return () => observer.disconnect();
195
+ }, [brands]);
196
+
197
+ const duration = Math.max(16, brands.length * 4);
198
+ const showMarquee = overflows && !reduceMotion;
199
+
200
+ return (
201
+ <div
202
+ ref={hostRef}
203
+ className="relative col-span-full min-w-0"
204
+ data-overflow={showMarquee ? "true" : "false"}
205
+ >
206
+ <ul ref={measureRef} className="pointer-events-none invisible absolute flex w-max items-center gap-3" aria-hidden>
207
+ {brands.map((brand) => (
208
+ <li key={`${brand.id}-measure`}>
209
+ <PastBrandCard brand={brand} className="w-max max-w-full shrink-0" />
210
+ </li>
211
+ ))}
212
+ </ul>
213
+ {reduceMotion ? (
214
+ <ul className="flex min-w-0 flex-wrap items-center gap-3" aria-label="Past brands">
215
+ {brands.map((brand) => (
216
+ <li key={brand.id}>
217
+ <PastBrandCard brand={brand} className="w-max max-w-full shrink-0" />
218
+ </li>
219
+ ))}
220
+ </ul>
221
+ ) : showMarquee ? (
222
+ <>
223
+ <ul className="sr-only" aria-label="Past brands">
224
+ {brands.map((brand) => {
225
+ const result = normalizePastBrandResult(brand.result_label);
226
+ return (
227
+ <li key={brand.id}>
228
+ {result == null ? brand.name : `${brand.name}, ${result}`}
229
+ </li>
230
+ );
231
+ })}
232
+ </ul>
233
+ <div className="group overflow-hidden" aria-hidden>
234
+ <div
235
+ className="marquee-track flex w-max items-center"
236
+ style={{ "--marquee-duration": `${duration}s` } as CSSProperties}
237
+ >
238
+ <ul className="flex min-w-0 items-center gap-3">
239
+ {brands.map((brand) => (
240
+ <li key={`${brand.id}-loop-a`}>
241
+ <PastBrandCard brand={brand} className="w-max max-w-full shrink-0" />
242
+ </li>
243
+ ))}
244
+ </ul>
245
+ <ul className="flex min-w-0 items-center gap-3">
246
+ {brands.map((brand) => (
247
+ <li key={`${brand.id}-loop-b`}>
248
+ <PastBrandCard brand={brand} className="w-max max-w-full shrink-0" />
249
+ </li>
250
+ ))}
251
+ </ul>
252
+ </div>
253
+ </div>
254
+ </>
255
+ ) : (
256
+ <ul className="flex min-w-0 items-center gap-3" aria-label="Past brands">
257
+ {brands.map((brand) => (
258
+ <li key={brand.id}>
259
+ <PastBrandCard brand={brand} className="w-max max-w-full shrink-0" />
260
+ </li>
261
+ ))}
262
+ </ul>
263
+ )}
264
+ </div>
265
+ );
266
+ }
267
+
268
+ export function PublicPastBrands({ brands }: { brands: readonly PitchKitPastBrand[] }) {
269
+ if (brands.length === 0) return null;
270
+
271
+ return (
272
+ <section className="band min-w-0 gap-y-4">
273
+ <div className="col-span-full flex flex-wrap items-end justify-between gap-3">
274
+ <h2 className={cardTitleClasses}>Past brands</h2>
275
+ </div>
276
+ <PastBrandsRail brands={brands} />
277
+ </section>
278
+ );
279
+ }
280
+
281
+
282
+ const PITCHKIT_BRANDS_MAX = 8;
283
+ const PITCHKIT_BRAND_NAME_MAX = 40;
284
+ const PITCHKIT_BRAND_RESULT_HINTS =
285
+ "+12% CTR · 3.2x ROAS · 1.4M views · Sold out in 48h · Series A launch";
286
+
287
+ function pastBrandLogoKeyLabel(logoKey: string) {
288
+ return logoKey
289
+ .split("-")
290
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
291
+ .join("-");
292
+ }
293
+
294
+ function pastBrandResultIssues(value: string) {
295
+ if (/[\n\r]/.test(value)) return "Keep the result on one line.";
296
+ if (/https?:\/\/|www\./i.test(value)) return "Links are not allowed in a result.";
297
+ if (/(^|[\s])@[a-z0-9._]+/i.test(value)) return "@handles are not allowed in a result.";
298
+ const emojiCount = value.match(/\p{Extended_Pictographic}/gu)?.length ?? 0;
299
+ if (emojiCount >= 3) return "Skip emoji spam — use a short phrase.";
300
+ return undefined;
301
+ }
302
+
303
+ function OwnerPastBrands({
304
+ brands,
305
+ onBrandsChange,
306
+ }: {
307
+ brands: PitchKitPastBrand[];
308
+ onBrandsChange: (brands: PitchKitPastBrand[]) => void;
309
+ }) {
310
+ const [dialogOpen, setDialogOpen] = useState(false);
311
+ const [draftName, setDraftName] = useState("");
312
+ const [draftResult, setDraftResult] = useState("");
313
+ const [draftLogoKey, setDraftLogoKey] = useState(PITCHKIT_BRAND_LOGO_LETTER);
314
+ const [editingId, setEditingId] = useState<string | null>(null);
315
+ const [draggingId, setDraggingId] = useState<string | null>(null);
316
+ const canAdd = brands.length < PITCHKIT_BRANDS_MAX;
317
+ const trimmedDraft = draftName.trim();
318
+ const resultIssue = pastBrandResultIssues(draftResult);
319
+ const canSubmit = trimmedDraft.length > 0 && resultIssue == null;
320
+
321
+ function openAdd() {
322
+ if (!canAdd) return;
323
+ setEditingId(null);
324
+ setDraftName("");
325
+ setDraftResult("");
326
+ setDraftLogoKey(PITCHKIT_BRAND_LOGO_LETTER);
327
+ setDialogOpen(true);
328
+ }
329
+
330
+ function openEdit(brand: PitchKitPastBrand) {
331
+ setEditingId(brand.id);
332
+ setDraftName(brand.name);
333
+ setDraftResult(brand.result_label ?? "");
334
+ setDraftLogoKey(resolvePastBrandLogoKey(brand.logo_key) ?? PITCHKIT_BRAND_LOGO_LETTER);
335
+ setDialogOpen(true);
336
+ }
337
+
338
+ function closeDialog() {
339
+ setDialogOpen(false);
340
+ setEditingId(null);
341
+ setDraftName("");
342
+ setDraftResult("");
343
+ setDraftLogoKey(PITCHKIT_BRAND_LOGO_LETTER);
344
+ }
345
+
346
+ function nextBrandFields() {
347
+ const logo_key = resolvePastBrandLogoKey(draftLogoKey);
348
+ const result_label = normalizePastBrandResult(draftResult);
349
+ return {
350
+ name: trimmedDraft,
351
+ ...(logo_key == null ? {} : { logo_key }),
352
+ ...(result_label == null ? {} : { result_label }),
353
+ };
354
+ }
355
+
356
+ function submitBrand() {
357
+ if (!canSubmit) return;
358
+ const fields = nextBrandFields();
359
+ if (editingId == null) {
360
+ if (!canAdd) return;
361
+ onBrandsChange([...brands, { id: crypto.randomUUID(), ...fields }]);
362
+ } else {
363
+ onBrandsChange(
364
+ brands.map((brand) =>
365
+ brand.id === editingId ? { ...brand, ...fields } : brand,
366
+ ),
367
+ );
368
+ }
369
+ closeDialog();
370
+ }
371
+
372
+ function moveBrand(id: string, direction: -1 | 1) {
373
+ const index = brands.findIndex((brand) => brand.id === id);
374
+ const nextIndex = index + direction;
375
+ if (index < 0 || nextIndex < 0 || nextIndex >= brands.length) return;
376
+ const next = [...brands];
377
+ const [item] = next.splice(index, 1);
378
+ next.splice(nextIndex, 0, item);
379
+ onBrandsChange(next);
380
+ }
381
+
382
+ function reorderBrand(sourceId: string, targetId: string) {
383
+ if (sourceId === targetId) return;
384
+ const from = brands.findIndex((brand) => brand.id === sourceId);
385
+ const to = brands.findIndex((brand) => brand.id === targetId);
386
+ if (from < 0 || to < 0) return;
387
+ const next = [...brands];
388
+ const [item] = next.splice(from, 1);
389
+ next.splice(to, 0, item);
390
+ onBrandsChange(next);
391
+ }
392
+
393
+ return (
394
+ <section className="band min-w-0 gap-y-4">
395
+ <div className="col-span-full flex flex-wrap items-end justify-between gap-3">
396
+ <h2 className={cardTitleClasses}>Past brands</h2>
397
+ {brands.length > 0 && canAdd ? (
398
+ <Button role="secondary" size="sm" onClick={openAdd}>
399
+ Add
400
+ </Button>
401
+ ) : null}
402
+ </div>
403
+ {brands.length === 0 ? (
404
+ <Button role="ghost" onClick={openAdd}>
405
+ Add brands you&apos;ve worked with
406
+ </Button>
407
+ ) : (
408
+ <div className="flex col-span-full min-w-0 flex-col gap-3">
409
+ {brands.map((brand, index) => {
410
+ const hasResult = normalizePastBrandResult(brand.result_label) != null;
411
+ return (
412
+ <Card
413
+ key={brand.id}
414
+ variant="outlined"
415
+ shape="rounded"
416
+ className="col-span-full min-w-0"
417
+ draggable
418
+ onDragStart={() => setDraggingId(brand.id)}
419
+ onDragOver={(event) => event.preventDefault()}
420
+ onDrop={() => {
421
+ if (draggingId != null) reorderBrand(draggingId, brand.id);
422
+ setDraggingId(null);
423
+ }}
424
+ onDragEnd={() => setDraggingId(null)}
425
+ >
426
+ <Card.Header
427
+ start={
428
+ <div className="flex min-w-0 items-center gap-3">
429
+ <span className="flex shrink-0 items-center">
430
+ <ButtonIcon size="sm">
431
+ <GripVertical />
432
+ </ButtonIcon>
433
+ <IconButton
434
+ size="xs"
435
+ icon={<ChevronUp />}
436
+ aria-label={`Move ${brand.name} up`}
437
+ disabled={index === 0}
438
+ onClick={() => moveBrand(brand.id, -1)}
439
+ />
440
+ <IconButton
441
+ size="xs"
442
+ icon={<ChevronDown />}
443
+ aria-label={`Move ${brand.name} down`}
444
+ disabled={index === brands.length - 1}
445
+ onClick={() => moveBrand(brand.id, 1)}
446
+ />
447
+ </span>
448
+ <BrandMark name={brand.name} logoKey={brand.logo_key} />
449
+ <h3 className="type-label text-fg">{brand.name}</h3>
450
+ <BrandResultChip label={brand.result_label} />
451
+ </div>
452
+ }
453
+ end={
454
+ <MoreMenu
455
+ aria-label={`Manage ${brand.name}`}
456
+ size="xs"
457
+ items={[
458
+ {
459
+ id: "edit",
460
+ label: "Edit",
461
+ start: (
462
+ <ButtonIcon size="sm">
463
+ <Pencil />
464
+ </ButtonIcon>
465
+ ),
466
+ },
467
+ hasResult
468
+ ? { id: "clear-result", label: "Clear result" }
469
+ : {
470
+ id: "add-result",
471
+ label: "Add result",
472
+ start: (
473
+ <ButtonIcon size="sm">
474
+ <Plus />
475
+ </ButtonIcon>
476
+ ),
477
+ },
478
+ {
479
+ id: "remove",
480
+ label: "Remove",
481
+ start: (
482
+ <ButtonIcon size="sm">
483
+ <Trash2 />
484
+ </ButtonIcon>
485
+ ),
486
+ },
487
+ ]}
488
+ onAction={(actionId) => {
489
+ if (actionId === "edit" || actionId === "add-result") openEdit(brand);
490
+ if (actionId === "clear-result") {
491
+ onBrandsChange(
492
+ brands.map((item) => {
493
+ if (item.id !== brand.id) return item;
494
+ return {
495
+ id: item.id,
496
+ name: item.name,
497
+ ...(item.logo_key == null ? {} : { logo_key: item.logo_key }),
498
+ };
499
+ }),
500
+ );
501
+ }
502
+ if (actionId === "remove") {
503
+ onBrandsChange(brands.filter((item) => item.id !== brand.id));
504
+ }
505
+ }}
506
+ />
507
+ }
508
+ />
509
+ </Card>
510
+ );
511
+ })}
512
+ </div>
513
+ )}
514
+ <Dialog open={dialogOpen} onOpenChange={(open) => (open ? setDialogOpen(true) : closeDialog())}>
515
+ <Dialog.Content
516
+ title="Past brands"
517
+ footer={
518
+ <div className={dialogFooterActionsClasses}>
519
+ <Button size="sm" role="secondary" onClick={closeDialog}>
520
+ Cancel
521
+ </Button>
522
+ <Button
523
+ size="sm"
524
+ role="primary"
525
+ disabled={!canSubmit}
526
+ onClick={submitBrand}
527
+ >
528
+ {editingId == null ? "Add" : "Save"}
529
+ </Button>
530
+ </div>
531
+ }
532
+ >
533
+ <div className="flex w-full min-w-0 flex-col gap-4">
534
+ <Input
535
+ label="Brand name"
536
+ value={draftName}
537
+ maxLength={PITCHKIT_BRAND_NAME_MAX}
538
+ onChange={(event) => setDraftName(event.target.value)}
539
+ />
540
+ <Input
541
+ label="Result"
542
+ description={PITCHKIT_BRAND_RESULT_HINTS}
543
+ placeholder="Optional short phrase"
544
+ value={draftResult}
545
+ maxLength={PITCHKIT_BRAND_RESULT_MAX}
546
+ status={resultIssue == null ? undefined : "error"}
547
+ message={resultIssue}
548
+ onChange={(event) => setDraftResult(event.target.value)}
549
+ />
550
+ <Select
551
+ label="Logo"
552
+ description="Optional curated mark. Missing or unknown keys use a letter Avatar."
553
+ options={[
554
+ { value: PITCHKIT_BRAND_LOGO_LETTER, label: "Letter avatar" },
555
+ ...pitchKitBrandLogoKeys.map((key) => ({
556
+ value: key,
557
+ label: pastBrandLogoKeyLabel(key),
558
+ })),
559
+ ]}
560
+ value={draftLogoKey}
561
+ onValueChange={setDraftLogoKey}
562
+ />
563
+ </div>
564
+ </Dialog.Content>
565
+ </Dialog>
566
+ </section>
567
+ );
568
+ }
569
+
570
+ export function PastBrandsOwnerPage({
571
+ identity,
572
+ brands,
573
+ onBrandsChange,
574
+ }: {
575
+ identity: PitchKitCreatorIdentity;
576
+ brands: PitchKitPastBrand[];
577
+ onBrandsChange: (brands: PitchKitPastBrand[]) => void;
578
+ }) {
579
+ return (
580
+ <main className="grid-page min-h-screen bg-body [--grid-column-gap:8px] [--grid-max:1140px] [padding-bottom:44px]">
581
+ <div className="band pb-4">
582
+ <header className="col-span-full grid grid-cols-[1fr_auto_1fr] items-center gap-3">
583
+ <span className="type-heading-4 text-fg text-fg">PitchKit</span>
584
+ <span />
585
+ <span className="justify-self-end">
586
+ <Avatar
587
+ name={identity.displayName ?? identity.handle}
588
+ src={identity.profilePictureUrl}
589
+ size="md"
590
+ />
591
+ </span>
592
+ </header>
593
+ </div>
594
+
595
+ <div className="band pt-6 sm:pt-8">
596
+ <div className="band min-w-0 gap-y-6 sm:gap-y-8">
597
+ <section className="col-span-full border-b border-border pb-6">
598
+ <div className="flex min-w-0 flex-col gap-3">
599
+ <CreatorIdentityStrip
600
+ identity={identity}
601
+ nameAs="h1"
602
+ showProfessionalChip
603
+ />
604
+ </div>
605
+ </section>
606
+ <OwnerPastBrands brands={brands} onBrandsChange={onBrandsChange} />
607
+ </div>
608
+ </div>
609
+ </main>
610
+ );
611
+ }