@bspk/ui 1.0.1 → 1.1.12

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 (677) hide show
  1. package/README.md +5 -0
  2. package/{Avatar.d.ts → dist/Avatar.d.ts} +2 -2
  3. package/dist/Avatar.js +27 -0
  4. package/dist/Avatar.js.map +1 -0
  5. package/{Badge.d.ts → dist/Badge.d.ts} +2 -2
  6. package/dist/Badge.js +16 -0
  7. package/dist/Badge.js.map +1 -0
  8. package/{BannerAlert.d.ts → dist/BannerAlert.d.ts} +4 -4
  9. package/dist/BannerAlert.js +20 -0
  10. package/dist/BannerAlert.js.map +1 -0
  11. package/{Button.d.ts → dist/Button.d.ts} +1 -1
  12. package/dist/Button.js +30 -0
  13. package/dist/Button.js.map +1 -0
  14. package/{Card.d.ts → dist/Card.d.ts} +2 -2
  15. package/dist/Card.js +18 -0
  16. package/dist/Card.js.map +1 -0
  17. package/{Checkbox.d.ts → dist/Checkbox.d.ts} +2 -2
  18. package/dist/Checkbox.js +32 -0
  19. package/dist/Checkbox.js.map +1 -0
  20. package/{CheckboxGroup.d.ts → dist/CheckboxGroup.d.ts} +1 -1
  21. package/dist/CheckboxGroup.js +16 -0
  22. package/dist/CheckboxGroup.js.map +1 -0
  23. package/{CheckboxOption.d.ts → dist/CheckboxOption.d.ts} +1 -1
  24. package/dist/CheckboxOption.js +14 -0
  25. package/dist/CheckboxOption.js.map +1 -0
  26. package/{Chip.d.ts → dist/Chip.d.ts} +2 -2
  27. package/dist/Chip.js +22 -0
  28. package/dist/Chip.js.map +1 -0
  29. package/{Dialog.d.ts → dist/Dialog.d.ts} +2 -2
  30. package/dist/Dialog.js +70 -0
  31. package/dist/Dialog.js.map +1 -0
  32. package/{Divider.d.ts → dist/Divider.d.ts} +2 -2
  33. package/dist/Divider.js +26 -0
  34. package/dist/Divider.js.map +1 -0
  35. package/{Dropdown.d.ts → dist/Dropdown.d.ts} +2 -2
  36. package/dist/Dropdown.js +37 -0
  37. package/dist/Dropdown.js.map +1 -0
  38. package/{DropdownField.d.ts → dist/DropdownField.d.ts} +1 -1
  39. package/{DropdownField.js → dist/DropdownField.js} +5 -7
  40. package/dist/DropdownField.js.map +1 -0
  41. package/{EmptyState.d.ts → dist/EmptyState.d.ts} +7 -1
  42. package/dist/EmptyState.js +18 -0
  43. package/dist/EmptyState.js.map +1 -0
  44. package/{Fab.d.ts → dist/Fab.d.ts} +2 -2
  45. package/dist/Fab.js +24 -0
  46. package/dist/Fab.js.map +1 -0
  47. package/{FormField.d.ts → dist/FormField.d.ts} +2 -2
  48. package/dist/FormField.js +27 -0
  49. package/dist/FormField.js.map +1 -0
  50. package/{Img.d.ts → dist/Img.d.ts} +1 -1
  51. package/dist/Img.js +12 -0
  52. package/dist/Img.js.map +1 -0
  53. package/{InlineAlert.d.ts → dist/InlineAlert.d.ts} +2 -2
  54. package/dist/InlineAlert.js +27 -0
  55. package/dist/InlineAlert.js.map +1 -0
  56. package/{Layout.d.ts → dist/Layout.d.ts} +1 -1
  57. package/{Layout.js → dist/Layout.js} +3 -5
  58. package/dist/Layout.js.map +1 -0
  59. package/{Link.d.ts → dist/Link.d.ts} +2 -2
  60. package/dist/Link.js +17 -0
  61. package/dist/Link.js.map +1 -0
  62. package/{ListItem.d.ts → dist/ListItem.d.ts} +3 -3
  63. package/dist/ListItem.js +93 -0
  64. package/dist/ListItem.js.map +1 -0
  65. package/{Menu.d.ts → dist/Menu.d.ts} +2 -2
  66. package/dist/Menu.js +62 -0
  67. package/dist/Menu.js.map +1 -0
  68. package/{MenuButton.d.ts → dist/MenuButton.d.ts} +2 -2
  69. package/dist/MenuButton.js +15 -0
  70. package/dist/MenuButton.js.map +1 -0
  71. package/{Modal.d.ts → dist/Modal.d.ts} +2 -2
  72. package/dist/Modal.js +32 -0
  73. package/dist/Modal.js.map +1 -0
  74. package/{NumberField.d.ts → dist/NumberField.d.ts} +1 -1
  75. package/{NumberField.js → dist/NumberField.js} +5 -7
  76. package/dist/NumberField.js.map +1 -0
  77. package/{NumberInput.d.ts → dist/NumberInput.d.ts} +2 -2
  78. package/dist/NumberInput.js +64 -0
  79. package/dist/NumberInput.js.map +1 -0
  80. package/{Popover.d.ts → dist/Popover.d.ts} +2 -2
  81. package/dist/Popover.js +46 -0
  82. package/dist/Popover.js.map +1 -0
  83. package/{Portal.js → dist/Portal.js} +4 -5
  84. package/dist/Portal.js.map +1 -0
  85. package/{ProgressBar.d.ts → dist/ProgressBar.d.ts} +2 -2
  86. package/dist/ProgressBar.js +17 -0
  87. package/dist/ProgressBar.js.map +1 -0
  88. package/{ProgressCircle.d.ts → dist/ProgressCircle.d.ts} +3 -3
  89. package/dist/ProgressCircle.js +30 -0
  90. package/dist/ProgressCircle.js.map +1 -0
  91. package/{ProgressionStepper.d.ts → dist/ProgressionStepper.d.ts} +2 -2
  92. package/dist/ProgressionStepper.js +24 -0
  93. package/dist/ProgressionStepper.js.map +1 -0
  94. package/{ProgressionStepperBar.d.ts → dist/ProgressionStepperBar.d.ts} +7 -3
  95. package/dist/ProgressionStepperBar.js +15 -0
  96. package/dist/ProgressionStepperBar.js.map +1 -0
  97. package/{Radio.d.ts → dist/Radio.d.ts} +2 -2
  98. package/dist/Radio.js +18 -0
  99. package/dist/Radio.js.map +1 -0
  100. package/{RadioGroup.d.ts → dist/RadioGroup.d.ts} +1 -1
  101. package/dist/RadioGroup.js +16 -0
  102. package/dist/RadioGroup.js.map +1 -0
  103. package/{RadioOption.d.ts → dist/RadioOption.d.ts} +1 -1
  104. package/dist/RadioOption.js +14 -0
  105. package/dist/RadioOption.js.map +1 -0
  106. package/{SearchBar.d.ts → dist/SearchBar.d.ts} +2 -2
  107. package/{SearchBar.js → dist/SearchBar.js} +13 -19
  108. package/dist/SearchBar.js.map +1 -0
  109. package/{SegmentedControl.d.ts → dist/SegmentedControl.d.ts} +2 -2
  110. package/dist/SegmentedControl.js +22 -0
  111. package/dist/SegmentedControl.js.map +1 -0
  112. package/dist/Skeleton.d.ts +45 -0
  113. package/dist/Skeleton.js +25 -0
  114. package/dist/Skeleton.js.map +1 -0
  115. package/{StylesProviderAnywhere.d.ts → dist/StylesProviderAnywhere.d.ts} +4 -1
  116. package/dist/StylesProviderAnywhere.js +15 -0
  117. package/dist/StylesProviderAnywhere.js.map +1 -0
  118. package/{StylesProviderBetterHomesGardens.d.ts → dist/StylesProviderBetterHomesGardens.d.ts} +4 -1
  119. package/dist/StylesProviderBetterHomesGardens.js +15 -0
  120. package/dist/StylesProviderBetterHomesGardens.js.map +1 -0
  121. package/{StylesProviderCartus.d.ts → dist/StylesProviderCartus.d.ts} +4 -1
  122. package/dist/StylesProviderCartus.js +15 -0
  123. package/dist/StylesProviderCartus.js.map +1 -0
  124. package/{StylesProviderCentury21.d.ts → dist/StylesProviderCentury21.d.ts} +4 -1
  125. package/dist/StylesProviderCentury21.js +15 -0
  126. package/dist/StylesProviderCentury21.js.map +1 -0
  127. package/{StylesProviderColdwellBanker.d.ts → dist/StylesProviderColdwellBanker.d.ts} +4 -1
  128. package/dist/StylesProviderColdwellBanker.js +15 -0
  129. package/dist/StylesProviderColdwellBanker.js.map +1 -0
  130. package/{StylesProviderCorcoran.d.ts → dist/StylesProviderCorcoran.d.ts} +4 -1
  131. package/dist/StylesProviderCorcoran.js +15 -0
  132. package/dist/StylesProviderCorcoran.js.map +1 -0
  133. package/{StylesProviderDenaliBoss.d.ts → dist/StylesProviderDenaliBoss.d.ts} +4 -1
  134. package/dist/StylesProviderDenaliBoss.js +15 -0
  135. package/dist/StylesProviderDenaliBoss.js.map +1 -0
  136. package/{StylesProviderEra.d.ts → dist/StylesProviderEra.d.ts} +4 -1
  137. package/dist/StylesProviderEra.js +15 -0
  138. package/dist/StylesProviderEra.js.map +1 -0
  139. package/{StylesProviderSothebys.d.ts → dist/StylesProviderSothebys.d.ts} +4 -1
  140. package/dist/StylesProviderSothebys.js +15 -0
  141. package/dist/StylesProviderSothebys.js.map +1 -0
  142. package/{Switch.d.ts → dist/Switch.d.ts} +2 -2
  143. package/dist/Switch.js +21 -0
  144. package/dist/Switch.js.map +1 -0
  145. package/{SwitchGroup.d.ts → dist/SwitchGroup.d.ts} +1 -1
  146. package/dist/SwitchGroup.js +16 -0
  147. package/dist/SwitchGroup.js.map +1 -0
  148. package/{SwitchOption.d.ts → dist/SwitchOption.d.ts} +1 -1
  149. package/dist/SwitchOption.js +14 -0
  150. package/dist/SwitchOption.js.map +1 -0
  151. package/{TabGroup.d.ts → dist/TabGroup.d.ts} +2 -2
  152. package/dist/TabGroup.js +22 -0
  153. package/dist/TabGroup.js.map +1 -0
  154. package/{Table.d.ts → dist/Table.d.ts} +2 -2
  155. package/dist/Table.js +20 -0
  156. package/dist/Table.js.map +1 -0
  157. package/{Tag.d.ts → dist/Tag.d.ts} +2 -2
  158. package/dist/Tag.js +15 -0
  159. package/dist/Tag.js.map +1 -0
  160. package/{TextField.d.ts → dist/TextField.d.ts} +1 -1
  161. package/dist/TextField.js +17 -0
  162. package/dist/TextField.js.map +1 -0
  163. package/{TextInput.d.ts → dist/TextInput.d.ts} +2 -2
  164. package/dist/TextInput.js +23 -0
  165. package/dist/TextInput.js.map +1 -0
  166. package/{Textarea.d.ts → dist/Textarea.d.ts} +2 -2
  167. package/dist/Textarea.js +39 -0
  168. package/dist/Textarea.js.map +1 -0
  169. package/{TextareaField.d.ts → dist/TextareaField.d.ts} +1 -1
  170. package/dist/TextareaField.js +24 -0
  171. package/dist/TextareaField.js.map +1 -0
  172. package/{ToggleOption.d.ts → dist/ToggleOption.d.ts} +2 -2
  173. package/dist/ToggleOption.js +14 -0
  174. package/dist/ToggleOption.js.map +1 -0
  175. package/{Tooltip.d.ts → dist/Tooltip.d.ts} +2 -2
  176. package/dist/Tooltip.js +42 -0
  177. package/dist/Tooltip.js.map +1 -0
  178. package/{TopNavigation.d.ts → dist/TopNavigation.d.ts} +2 -2
  179. package/dist/TopNavigation.js +14 -0
  180. package/dist/TopNavigation.js.map +1 -0
  181. package/{Txt.d.ts → dist/Txt.d.ts} +1 -1
  182. package/{Txt.js → dist/Txt.js} +3 -8
  183. package/dist/Txt.js.map +1 -0
  184. package/dist/avatar.css +1 -0
  185. package/dist/badge.css +1 -0
  186. package/dist/banner-alert.css +1 -0
  187. package/dist/base.css +1 -0
  188. package/dist/button.css +1 -0
  189. package/dist/card.css +1 -0
  190. package/dist/checkbox.css +1 -0
  191. package/dist/chip.css +1 -0
  192. package/dist/colors.css +1 -0
  193. package/dist/dialog.css +1 -0
  194. package/dist/divider.css +1 -0
  195. package/dist/dropdown.css +1 -0
  196. package/dist/fab.css +1 -0
  197. package/dist/form-field.css +1 -0
  198. package/{hooks → dist/hooks}/useCheckboxGroupState.d.ts +1 -1
  199. package/{hooks → dist/hooks}/useCheckboxGroupState.js +3 -6
  200. package/dist/hooks/useCheckboxGroupState.js.map +1 -0
  201. package/{hooks → dist/hooks}/useCheckboxState.js +2 -5
  202. package/dist/hooks/useCheckboxState.js.map +1 -0
  203. package/{hooks → dist/hooks}/useFloating.js +5 -8
  204. package/dist/hooks/useFloating.js.map +1 -0
  205. package/{hooks → dist/hooks}/useFloatingMenu.js +6 -9
  206. package/dist/hooks/useFloatingMenu.js.map +1 -0
  207. package/{hooks → dist/hooks}/useId.js +4 -7
  208. package/dist/hooks/useId.js.map +1 -0
  209. package/{hooks → dist/hooks}/useKeyboardNavigation.js +4 -7
  210. package/dist/hooks/useKeyboardNavigation.js.map +1 -0
  211. package/{hooks → dist/hooks}/useLongPress.js +3 -6
  212. package/dist/hooks/useLongPress.js.map +1 -0
  213. package/{hooks → dist/hooks}/useModalState.js +3 -6
  214. package/dist/hooks/useModalState.js.map +1 -0
  215. package/{hooks → dist/hooks}/useNavOptions.js +4 -7
  216. package/dist/hooks/useNavOptions.js.map +1 -0
  217. package/{hooks → dist/hooks}/useOutsideClick.js +2 -5
  218. package/dist/hooks/useOutsideClick.js.map +1 -0
  219. package/{hooks → dist/hooks}/useRadioState.js +2 -5
  220. package/dist/hooks/useRadioState.js.map +1 -0
  221. package/{hooks → dist/hooks}/useSwitchGroupState.d.ts +1 -1
  222. package/{hooks → dist/hooks}/useSwitchGroupState.js +3 -6
  223. package/dist/hooks/useSwitchGroupState.js.map +1 -0
  224. package/{hooks → dist/hooks}/useTimeout.js +2 -5
  225. package/dist/hooks/useTimeout.js.map +1 -0
  226. package/{hooks → dist/hooks}/useValidChildren.js +4 -7
  227. package/dist/hooks/useValidChildren.js.map +1 -0
  228. package/{index.js → dist/index.js} +2 -4
  229. package/dist/index.js.map +1 -0
  230. package/dist/inline-alert.css +1 -0
  231. package/dist/link.css +1 -0
  232. package/dist/list-item.css +1 -0
  233. package/dist/menu-button.css +1 -0
  234. package/dist/menu.css +1 -0
  235. package/dist/modal.css +1 -0
  236. package/dist/number-input.css +1 -0
  237. package/dist/popover.css +1 -0
  238. package/dist/progress-bar.css +1 -0
  239. package/dist/progress-circle.css +1 -0
  240. package/dist/progression-stepper-bar.css +1 -0
  241. package/dist/progression-stepper.css +1 -0
  242. package/dist/radio.css +1 -0
  243. package/dist/search-bar.css +1 -0
  244. package/dist/segmented-control.css +1 -0
  245. package/dist/skeleton.css +6 -0
  246. package/dist/switch.css +1 -0
  247. package/dist/tab-group.css +1 -0
  248. package/dist/table.css +1 -0
  249. package/dist/tag.css +1 -0
  250. package/dist/text-input.css +1 -0
  251. package/dist/textarea.css +4 -0
  252. package/dist/toggle-option.css +1 -0
  253. package/dist/tooltip.css +1 -0
  254. package/dist/top-navigation.css +1 -0
  255. package/{utils → dist/utils}/children.js +9 -12
  256. package/dist/utils/children.js.map +1 -0
  257. package/dist/utils/colorVariants.d.ts +7 -0
  258. package/dist/utils/colorVariants.js +22 -0
  259. package/dist/utils/colorVariants.js.map +1 -0
  260. package/{utils → dist/utils}/errors.d.ts +1 -1
  261. package/{utils → dist/utils}/errors.js +20 -12
  262. package/dist/utils/errors.js.map +1 -0
  263. package/{utils → dist/utils}/getValidNode.js +2 -5
  264. package/dist/utils/getValidNode.js.map +1 -0
  265. package/{utils → dist/utils}/keyboard.js +2 -4
  266. package/dist/utils/keyboard.js.map +1 -0
  267. package/dist/utils/placeholder.test.d.ts +1 -0
  268. package/dist/utils/placeholder.test.js +7 -0
  269. package/dist/utils/placeholder.test.js.map +1 -0
  270. package/{utils → dist/utils}/ref.js +2 -4
  271. package/dist/utils/ref.js.map +1 -0
  272. package/{utils → dist/utils}/scrollElementIntoView.js +2 -4
  273. package/dist/utils/scrollElementIntoView.js.map +1 -0
  274. package/{utils → dist/utils}/srOnly.js +2 -4
  275. package/dist/utils/srOnly.js.map +1 -0
  276. package/dist/utils/styleAdd.d.ts +1 -0
  277. package/dist/utils/styleAdd.js +11 -0
  278. package/dist/utils/styleAdd.js.map +1 -0
  279. package/{utils → dist/utils}/tryIntPsrse.js +2 -4
  280. package/dist/utils/tryIntPsrse.js.map +1 -0
  281. package/dist/utils/txtVariants.d.ts +7 -0
  282. package/{utils → dist/utils}/txtVariants.js +7 -4
  283. package/dist/utils/txtVariants.js.map +1 -0
  284. package/meta-types.ts +46 -0
  285. package/meta.ts +465 -0
  286. package/package.json +31 -20
  287. package/src/Avatar.tsx +3 -61
  288. package/src/Badge.tsx +2 -30
  289. package/src/BannerAlert.tsx +6 -119
  290. package/src/Button.tsx +3 -228
  291. package/src/Card.tsx +2 -22
  292. package/src/Checkbox.tsx +2 -94
  293. package/src/CheckboxGroup.tsx +2 -2
  294. package/src/CheckboxOption.tsx +3 -3
  295. package/src/Chip.tsx +2 -68
  296. package/src/Dialog.tsx +2 -154
  297. package/src/Divider.tsx +2 -54
  298. package/src/Dropdown.tsx +2 -119
  299. package/src/DropdownField.tsx +3 -2
  300. package/src/EmptyState.tsx +10 -4
  301. package/src/Fab.tsx +2 -125
  302. package/src/FormField.tsx +2 -15
  303. package/src/Img.tsx +1 -9
  304. package/src/InlineAlert.tsx +2 -48
  305. package/src/Layout.tsx +1 -0
  306. package/src/Link.tsx +2 -23
  307. package/src/ListItem.tsx +3 -118
  308. package/src/Menu.tsx +3 -41
  309. package/src/MenuButton.tsx +2 -17
  310. package/src/Modal.tsx +3 -24
  311. package/src/NumberField.tsx +3 -2
  312. package/src/NumberInput.tsx +2 -126
  313. package/src/Popover.tsx +3 -110
  314. package/src/Portal.tsx +1 -0
  315. package/src/ProgressBar.tsx +2 -49
  316. package/src/ProgressCircle.tsx +2 -57
  317. package/src/ProgressionStepper.tsx +2 -175
  318. package/src/ProgressionStepperBar.tsx +7 -44
  319. package/src/Radio.tsx +2 -82
  320. package/src/RadioGroup.tsx +2 -2
  321. package/src/RadioOption.tsx +3 -3
  322. package/src/SearchBar.tsx +4 -10
  323. package/src/SegmentedControl.tsx +2 -116
  324. package/src/Skeleton.tsx +40 -56
  325. package/src/StylesProviderAnywhere.tsx +4 -18
  326. package/src/StylesProviderBetterHomesGardens.tsx +4 -18
  327. package/src/StylesProviderCartus.tsx +4 -18
  328. package/src/StylesProviderCentury21.tsx +4 -18
  329. package/src/StylesProviderColdwellBanker.tsx +4 -18
  330. package/src/StylesProviderCorcoran.tsx +4 -18
  331. package/src/StylesProviderDenaliBoss.tsx +4 -18
  332. package/src/StylesProviderEra.tsx +4 -18
  333. package/src/StylesProviderSothebys.tsx +4 -18
  334. package/src/Switch.tsx +2 -66
  335. package/src/SwitchGroup.tsx +2 -2
  336. package/src/SwitchOption.tsx +3 -3
  337. package/src/TabGroup.tsx +2 -100
  338. package/src/Table.tsx +2 -49
  339. package/src/Tag.tsx +3 -67
  340. package/src/TextField.tsx +3 -2
  341. package/src/TextInput.tsx +2 -152
  342. package/src/Textarea.tsx +2 -80
  343. package/src/TextareaField.tsx +3 -2
  344. package/src/ToggleOption.tsx +2 -79
  345. package/src/Tooltip.tsx +3 -66
  346. package/src/TopNavigation.tsx +2 -10
  347. package/src/Txt.tsx +1 -9
  348. package/src/avatar.scss +74 -0
  349. package/src/badge.scss +28 -0
  350. package/{BannerAlert.js → src/banner-alert.scss} +5 -23
  351. package/src/{styles/base.css → base.scss} +5 -3
  352. package/src/button.scss +218 -0
  353. package/src/card.scss +23 -0
  354. package/{Checkbox.js → src/checkbox.scss} +9 -34
  355. package/{Chip.js → src/chip.scss} +3 -24
  356. package/src/colors.scss +76 -0
  357. package/{Dialog.js → src/dialog.scss} +7 -76
  358. package/src/divider.scss +47 -0
  359. package/{Dropdown.js → src/dropdown.scss} +4 -45
  360. package/{Fab.js → src/fab.scss} +4 -27
  361. package/src/form-field.scss +13 -0
  362. package/src/hooks/useFloating.ts +5 -5
  363. package/src/inline-alert.scss +51 -0
  364. package/src/link.scss +21 -0
  365. package/src/list-item.scss +113 -0
  366. package/src/menu-button.scss +16 -0
  367. package/src/menu.scss +36 -0
  368. package/src/modal.scss +22 -0
  369. package/src/number-input.scss +128 -0
  370. package/{Popover.js → src/popover.scss} +10 -49
  371. package/src/progress-bar.scss +50 -0
  372. package/src/progress-circle.scss +56 -0
  373. package/src/progression-stepper-bar.scss +39 -0
  374. package/{ProgressionStepper.js → src/progression-stepper.scss} +8 -27
  375. package/{Radio.js → src/radio.scss} +6 -22
  376. package/src/search-bar.scss +7 -0
  377. package/{SegmentedControl.js → src/segmented-control.scss} +7 -24
  378. package/src/skeleton.scss +83 -0
  379. package/{Switch.js → src/switch.scss} +4 -25
  380. package/{TabGroup.js → src/tab-group.scss} +9 -26
  381. package/{Table.js → src/table.scss} +4 -22
  382. package/{Tag.js → src/tag.scss} +5 -28
  383. package/{TextInput.js → src/text-input.scss} +7 -31
  384. package/{Textarea.js → src/textarea.scss} +9 -38
  385. package/{ToggleOption.js → src/toggle-option.scss} +3 -16
  386. package/src/tooltip.scss +63 -0
  387. package/src/top-navigation.scss +5 -0
  388. package/src/utils/children.ts +1 -1
  389. package/src/utils/colorVariants.ts +22 -73
  390. package/src/utils/styleAdd.ts +7 -0
  391. package/src/utils/txtVariants.ts +8 -27
  392. package/Accordion.d.ts +0 -20
  393. package/Accordion.js +0 -18
  394. package/Accordion.js.map +0 -1
  395. package/Avatar.js +0 -81
  396. package/Avatar.js.map +0 -1
  397. package/Badge.js +0 -43
  398. package/Badge.js.map +0 -1
  399. package/BannerAlert.js.map +0 -1
  400. package/BottomNavigation.d.ts +0 -20
  401. package/BottomNavigation.js +0 -18
  402. package/BottomNavigation.js.map +0 -1
  403. package/BottomSheet.d.ts +0 -20
  404. package/BottomSheet.js +0 -18
  405. package/BottomSheet.js.map +0 -1
  406. package/Breadcrumb.d.ts +0 -20
  407. package/Breadcrumb.js +0 -18
  408. package/Breadcrumb.js.map +0 -1
  409. package/Button.js +0 -254
  410. package/Button.js.map +0 -1
  411. package/ButtonDock.d.ts +0 -20
  412. package/ButtonDock.js +0 -18
  413. package/ButtonDock.js.map +0 -1
  414. package/CODE_OF_CONDUCT.md +0 -137
  415. package/CONTRIBUTING.md +0 -42
  416. package/Card.js +0 -38
  417. package/Card.js.map +0 -1
  418. package/Chart.d.ts +0 -20
  419. package/Chart.js +0 -18
  420. package/Chart.js.map +0 -1
  421. package/Checkbox.js.map +0 -1
  422. package/CheckboxGroup.js +0 -18
  423. package/CheckboxGroup.js.map +0 -1
  424. package/CheckboxOption.js +0 -16
  425. package/CheckboxOption.js.map +0 -1
  426. package/Chip.js.map +0 -1
  427. package/DatePicker.d.ts +0 -20
  428. package/DatePicker.js +0 -18
  429. package/DatePicker.js.map +0 -1
  430. package/Dialog.js.map +0 -1
  431. package/Divider.js +0 -76
  432. package/Divider.js.map +0 -1
  433. package/Drawer.d.ts +0 -20
  434. package/Drawer.js +0 -18
  435. package/Drawer.js.map +0 -1
  436. package/Dropdown.js.map +0 -1
  437. package/DropdownField.js.map +0 -1
  438. package/EmptyState.js +0 -20
  439. package/EmptyState.js.map +0 -1
  440. package/Fab.js.map +0 -1
  441. package/FileUpload.d.ts +0 -20
  442. package/FileUpload.js +0 -18
  443. package/FileUpload.js.map +0 -1
  444. package/FormField.js +0 -39
  445. package/FormField.js.map +0 -1
  446. package/GUIDELINES.md +0 -41
  447. package/Image.d.ts +0 -20
  448. package/Image.js +0 -18
  449. package/Image.js.map +0 -1
  450. package/Img.js +0 -20
  451. package/Img.js.map +0 -1
  452. package/InlineAlert.js +0 -73
  453. package/InlineAlert.js.map +0 -1
  454. package/Layout.js.map +0 -1
  455. package/Link.js +0 -37
  456. package/Link.js.map +0 -1
  457. package/ListItem.js +0 -207
  458. package/ListItem.js.map +0 -1
  459. package/Menu.js +0 -98
  460. package/Menu.js.map +0 -1
  461. package/MenuButton.js +0 -30
  462. package/MenuButton.js.map +0 -1
  463. package/Modal.js +0 -53
  464. package/Modal.js.map +0 -1
  465. package/MultiSelection.d.ts +0 -20
  466. package/MultiSelection.js +0 -18
  467. package/MultiSelection.js.map +0 -1
  468. package/NavigationRail.d.ts +0 -20
  469. package/NavigationRail.js +0 -18
  470. package/NavigationRail.js.map +0 -1
  471. package/NumberField.js.map +0 -1
  472. package/NumberInput.js +0 -188
  473. package/NumberInput.js.map +0 -1
  474. package/OTPInput.d.ts +0 -20
  475. package/OTPInput.js +0 -18
  476. package/OTPInput.js.map +0 -1
  477. package/PageControl.d.ts +0 -20
  478. package/PageControl.js +0 -18
  479. package/PageControl.js.map +0 -1
  480. package/PasswordInput.d.ts +0 -20
  481. package/PasswordInput.js +0 -18
  482. package/PasswordInput.js.map +0 -1
  483. package/PhoneNumberInput.d.ts +0 -20
  484. package/PhoneNumberInput.js +0 -18
  485. package/PhoneNumberInput.js.map +0 -1
  486. package/Popover.js.map +0 -1
  487. package/Portal.js.map +0 -1
  488. package/ProgressBar.js +0 -64
  489. package/ProgressBar.js.map +0 -1
  490. package/ProgressCircle.js +0 -82
  491. package/ProgressCircle.js.map +0 -1
  492. package/ProgressionStepper.js.map +0 -1
  493. package/ProgressionStepperBar.js +0 -51
  494. package/ProgressionStepperBar.js.map +0 -1
  495. package/Radio.js.map +0 -1
  496. package/RadioGroup.js +0 -18
  497. package/RadioGroup.js.map +0 -1
  498. package/RadioOption.js +0 -16
  499. package/RadioOption.js.map +0 -1
  500. package/Rating.d.ts +0 -16
  501. package/Rating.js +0 -18
  502. package/Rating.js.map +0 -1
  503. package/SearchBar.js.map +0 -1
  504. package/SegmentedControl.js.map +0 -1
  505. package/Skeleton.d.ts +0 -28
  506. package/Skeleton.js +0 -57
  507. package/Skeleton.js.map +0 -1
  508. package/SliderInput.d.ts +0 -16
  509. package/SliderInput.js +0 -18
  510. package/SliderInput.js.map +0 -1
  511. package/Snackbar.d.ts +0 -16
  512. package/Snackbar.js +0 -18
  513. package/Snackbar.js.map +0 -1
  514. package/StylesProviderAnywhere.js +0 -29
  515. package/StylesProviderAnywhere.js.map +0 -1
  516. package/StylesProviderBetterHomesGardens.js +0 -29
  517. package/StylesProviderBetterHomesGardens.js.map +0 -1
  518. package/StylesProviderCartus.js +0 -29
  519. package/StylesProviderCartus.js.map +0 -1
  520. package/StylesProviderCentury21.js +0 -29
  521. package/StylesProviderCentury21.js.map +0 -1
  522. package/StylesProviderColdwellBanker.js +0 -29
  523. package/StylesProviderColdwellBanker.js.map +0 -1
  524. package/StylesProviderCorcoran.js +0 -29
  525. package/StylesProviderCorcoran.js.map +0 -1
  526. package/StylesProviderDenaliBoss.js +0 -29
  527. package/StylesProviderDenaliBoss.js.map +0 -1
  528. package/StylesProviderEra.js +0 -29
  529. package/StylesProviderEra.js.map +0 -1
  530. package/StylesProviderSothebys.js +0 -29
  531. package/StylesProviderSothebys.js.map +0 -1
  532. package/Switch.js.map +0 -1
  533. package/SwitchGroup.js +0 -18
  534. package/SwitchGroup.js.map +0 -1
  535. package/SwitchOption.js +0 -16
  536. package/SwitchOption.js.map +0 -1
  537. package/TabGroup.js.map +0 -1
  538. package/Table.js.map +0 -1
  539. package/Tag.js.map +0 -1
  540. package/TextField.js +0 -19
  541. package/TextField.js.map +0 -1
  542. package/TextInput.js.map +0 -1
  543. package/Textarea.js.map +0 -1
  544. package/TextareaField.js +0 -26
  545. package/TextareaField.js.map +0 -1
  546. package/TimePicker.d.ts +0 -16
  547. package/TimePicker.js +0 -18
  548. package/TimePicker.js.map +0 -1
  549. package/ToggleOption.js.map +0 -1
  550. package/Tooltip.js +0 -104
  551. package/Tooltip.js.map +0 -1
  552. package/TopNavigation.js +0 -18
  553. package/TopNavigation.js.map +0 -1
  554. package/Txt.js.map +0 -1
  555. package/hooks/useCheckboxGroupState.js.map +0 -1
  556. package/hooks/useCheckboxState.js.map +0 -1
  557. package/hooks/useFloating.js.map +0 -1
  558. package/hooks/useFloatingMenu.js.map +0 -1
  559. package/hooks/useId.js.map +0 -1
  560. package/hooks/useKeyboardNavigation.js.map +0 -1
  561. package/hooks/useLongPress.js.map +0 -1
  562. package/hooks/useModalState.js.map +0 -1
  563. package/hooks/useNavOptions.js.map +0 -1
  564. package/hooks/useOutsideClick.js.map +0 -1
  565. package/hooks/useRadioState.js.map +0 -1
  566. package/hooks/useSwitchGroupState.js.map +0 -1
  567. package/hooks/useTimeout.js.map +0 -1
  568. package/hooks/useValidChildren.js.map +0 -1
  569. package/index.js.map +0 -1
  570. package/meta.d.ts +0 -44
  571. package/meta.js +0 -5789
  572. package/meta.js.map +0 -1
  573. package/src/Accordion.tsx +0 -33
  574. package/src/BottomNavigation.tsx +0 -33
  575. package/src/BottomSheet.tsx +0 -33
  576. package/src/Breadcrumb.tsx +0 -33
  577. package/src/ButtonDock.tsx +0 -33
  578. package/src/Chart.tsx +0 -33
  579. package/src/DatePicker.tsx +0 -33
  580. package/src/Drawer.tsx +0 -33
  581. package/src/FileUpload.tsx +0 -33
  582. package/src/Image.tsx +0 -33
  583. package/src/MultiSelection.tsx +0 -33
  584. package/src/NavigationRail.tsx +0 -33
  585. package/src/OTPInput.tsx +0 -33
  586. package/src/PageControl.tsx +0 -33
  587. package/src/PasswordInput.tsx +0 -33
  588. package/src/PhoneNumberInput.tsx +0 -33
  589. package/src/Rating.tsx +0 -29
  590. package/src/SliderInput.tsx +0 -29
  591. package/src/Snackbar.tsx +0 -29
  592. package/src/TimePicker.tsx +0 -29
  593. package/src/meta.ts +0 -6238
  594. package/src/package.json +0 -3
  595. package/src/styles/anywhere.css +0 -1693
  596. package/src/styles/anywhere.ts +0 -1694
  597. package/src/styles/base.ts +0 -161
  598. package/src/styles/better-homes-gardens.css +0 -1693
  599. package/src/styles/better-homes-gardens.ts +0 -1694
  600. package/src/styles/cartus.css +0 -1691
  601. package/src/styles/cartus.ts +0 -1692
  602. package/src/styles/century-21.css +0 -1689
  603. package/src/styles/century-21.ts +0 -1690
  604. package/src/styles/coldwell-banker.css +0 -1691
  605. package/src/styles/coldwell-banker.ts +0 -1692
  606. package/src/styles/corcoran.css +0 -1685
  607. package/src/styles/corcoran.ts +0 -1686
  608. package/src/styles/denali-boss.css +0 -1681
  609. package/src/styles/denali-boss.ts +0 -1682
  610. package/src/styles/era.css +0 -1685
  611. package/src/styles/era.ts +0 -1686
  612. package/src/styles/sothebys.css +0 -1677
  613. package/src/styles/sothebys.ts +0 -1678
  614. package/styles/anywhere.d.ts +0 -2
  615. package/styles/anywhere.js +0 -1697
  616. package/styles/anywhere.js.map +0 -1
  617. package/styles/base.d.ts +0 -2
  618. package/styles/base.js +0 -164
  619. package/styles/base.js.map +0 -1
  620. package/styles/better-homes-gardens.d.ts +0 -2
  621. package/styles/better-homes-gardens.js +0 -1697
  622. package/styles/better-homes-gardens.js.map +0 -1
  623. package/styles/cartus.d.ts +0 -2
  624. package/styles/cartus.js +0 -1695
  625. package/styles/cartus.js.map +0 -1
  626. package/styles/century-21.d.ts +0 -2
  627. package/styles/century-21.js +0 -1693
  628. package/styles/century-21.js.map +0 -1
  629. package/styles/coldwell-banker.d.ts +0 -2
  630. package/styles/coldwell-banker.js +0 -1695
  631. package/styles/coldwell-banker.js.map +0 -1
  632. package/styles/corcoran.d.ts +0 -2
  633. package/styles/corcoran.js +0 -1689
  634. package/styles/corcoran.js.map +0 -1
  635. package/styles/denali-boss.d.ts +0 -2
  636. package/styles/denali-boss.js +0 -1685
  637. package/styles/denali-boss.js.map +0 -1
  638. package/styles/era.d.ts +0 -2
  639. package/styles/era.js +0 -1689
  640. package/styles/era.js.map +0 -1
  641. package/styles/sothebys.d.ts +0 -2
  642. package/styles/sothebys.js +0 -1681
  643. package/styles/sothebys.js.map +0 -1
  644. package/utils/children.js.map +0 -1
  645. package/utils/colorVariants.d.ts +0 -5
  646. package/utils/colorVariants.js +0 -61
  647. package/utils/colorVariants.js.map +0 -1
  648. package/utils/errors.js.map +0 -1
  649. package/utils/getValidNode.js.map +0 -1
  650. package/utils/keyboard.js.map +0 -1
  651. package/utils/ref.js.map +0 -1
  652. package/utils/scrollElementIntoView.js.map +0 -1
  653. package/utils/srOnly.js.map +0 -1
  654. package/utils/tryIntPsrse.js.map +0 -1
  655. package/utils/txtVariants.d.ts +0 -2
  656. package/utils/txtVariants.js.map +0 -1
  657. /package/{Portal.d.ts → dist/Portal.d.ts} +0 -0
  658. /package/{hooks → dist/hooks}/useCheckboxState.d.ts +0 -0
  659. /package/{hooks → dist/hooks}/useFloating.d.ts +0 -0
  660. /package/{hooks → dist/hooks}/useFloatingMenu.d.ts +0 -0
  661. /package/{hooks → dist/hooks}/useId.d.ts +0 -0
  662. /package/{hooks → dist/hooks}/useKeyboardNavigation.d.ts +0 -0
  663. /package/{hooks → dist/hooks}/useLongPress.d.ts +0 -0
  664. /package/{hooks → dist/hooks}/useModalState.d.ts +0 -0
  665. /package/{hooks → dist/hooks}/useNavOptions.d.ts +0 -0
  666. /package/{hooks → dist/hooks}/useOutsideClick.d.ts +0 -0
  667. /package/{hooks → dist/hooks}/useRadioState.d.ts +0 -0
  668. /package/{hooks → dist/hooks}/useTimeout.d.ts +0 -0
  669. /package/{hooks → dist/hooks}/useValidChildren.d.ts +0 -0
  670. /package/{index.d.ts → dist/index.d.ts} +0 -0
  671. /package/{utils → dist/utils}/children.d.ts +0 -0
  672. /package/{utils → dist/utils}/getValidNode.d.ts +0 -0
  673. /package/{utils → dist/utils}/keyboard.d.ts +0 -0
  674. /package/{utils → dist/utils}/ref.d.ts +0 -0
  675. /package/{utils → dist/utils}/scrollElementIntoView.d.ts +0 -0
  676. /package/{utils → dist/utils}/srOnly.d.ts +0 -0
  677. /package/{utils → dist/utils}/tryIntPsrse.d.ts +0 -0
package/src/Switch.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { css } from '@emotion/react';
1
+ import './switch.scss';
2
2
  import { ChangeEvent } from 'react';
3
3
 
4
4
  import { CommonProps } from './';
@@ -37,7 +37,7 @@ function Switch(props: SwitchProps) {
37
37
  } = props;
38
38
 
39
39
  return (
40
- <span css={style} data-switch>
40
+ <span data-bspk="switch">
41
41
  <input
42
42
  {...otherProps}
43
43
  aria-disabled={disabled || undefined}
@@ -55,68 +55,4 @@ Switch.bspkName = 'Switch';
55
55
 
56
56
  export { Switch };
57
57
 
58
- export const style = css`
59
- --track-width: var(--spacing-sizing-09);
60
- --toggle-width: var(--spacing-sizing-04);
61
- --track-bg: var(--surface-neutral-t4-high);
62
- --toggle-bg: var(--foreground-neutral-on-color);
63
-
64
- display: block;
65
- position: relative;
66
- box-sizing: border-box;
67
- margin: 2px;
68
-
69
- input[type='checkbox'] {
70
- position: absolute;
71
- opacity: 0;
72
- width: 100%;
73
- height: 100%;
74
- top: 0;
75
- left: 0;
76
- z-index: 2;
77
- cursor: pointer;
78
- }
79
-
80
- box-sizing: border-box;
81
- width: var(--track-width);
82
- height: var(--spacing-sizing-05);
83
- border-radius: var(--spacing-sizing-05);
84
- background-color: var(--track-bg);
85
- position: relative;
86
- z-index: 1;
87
-
88
- span {
89
- display: block;
90
- width: var(--toggle-width);
91
- height: var(--toggle-width);
92
- border-radius: var(--radius-circular);
93
- background-color: var(--toggle-bg);
94
- transition: left 0.2s;
95
- box-shadow: var(--drop-shadow-raise);
96
- left: 2px;
97
- top: 2px;
98
- position: absolute;
99
- }
100
-
101
- &:has(input[type='checkbox']:checked) {
102
- --track-bg: var(--foreground-brand-primary);
103
-
104
- span {
105
- left: calc(var(--track-width) - var(--toggle-width) - 2px);
106
- }
107
- }
108
-
109
- &:has(input[type='checkbox']:disabled) {
110
- input[type='checkbox'] {
111
- pointer-events: none;
112
- }
113
- --track-bg: var(--interactions-disabled-opacity);
114
- --toggle-bg: var(--foreground-neutral-disabled-on-surface);
115
-
116
- &:has(input[type='checkbox']:checked) span {
117
- --toggle-bg: var(--foreground-neutral-disabled-on-color-surface);
118
- }
119
- }
120
- `;
121
-
122
58
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,5 +1,5 @@
1
1
  import { Switch } from './Switch';
2
- import { ToggleOption, ToggleOptionProps } from './ToggleOption';
2
+ import { ToggleOptionProps, ToggleOption } from './ToggleOption';
3
3
 
4
4
  import { ToggleControlProps, ElementProps, CommonProps } from './';
5
5
 
@@ -35,7 +35,7 @@ export type SwitchGroupProps = CommonProps<'aria-label' | 'name'> & {
35
35
  */
36
36
  function SwitchGroup({ onChange, options = [], name, values = [], ...props }: ElementProps<SwitchGroupProps, 'div'>) {
37
37
  return (
38
- <div {...props} data-control-group data-switch-group role="group">
38
+ <div {...props} data-bspk="switch-group" role="group">
39
39
  {options.map(({ label, description, value }) => (
40
40
  <ToggleOption description={description} key={value} label={label}>
41
41
  <Switch
@@ -1,5 +1,5 @@
1
- import { Switch, SwitchProps } from './Switch';
2
- import { ToggleOption, ToggleOptionProps } from './ToggleOption';
1
+ import { SwitchProps, Switch } from './Switch';
2
+ import { ToggleOptionProps, ToggleOption } from './ToggleOption';
3
3
 
4
4
  export type SwitchOptionProps = Omit<SwitchProps, 'aria-label'> &
5
5
  Pick<ToggleOptionProps, 'description' | 'label' | 'size'>;
@@ -11,7 +11,7 @@ export type SwitchOptionProps = Omit<SwitchProps, 'aria-label'> &
11
11
  */
12
12
  function SwitchOption({ label, description, size, ...checkboxProps }: SwitchOptionProps) {
13
13
  return (
14
- <ToggleOption data-checkbox-field description={description} label={label} size={size}>
14
+ <ToggleOption data-bspk="switch-option" description={description} label={label} size={size}>
15
15
  <Switch {...checkboxProps} aria-label={label} />
16
16
  </ToggleOption>
17
17
  );
package/src/TabGroup.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { css } from '@emotion/react';
1
+ import './tab-group.scss';
2
2
  import { ReactNode } from 'react';
3
3
 
4
4
  import { Badge } from './Badge';
@@ -87,10 +87,9 @@ function TabGroup({
87
87
  return (
88
88
  <div
89
89
  {...containerProps}
90
- css={style}
90
+ data-bspk="tab-group"
91
91
  data-hide-trail={(width === 'hug' && !showTrail) || undefined}
92
92
  data-size={size}
93
- data-tab-group
94
93
  data-width={width}
95
94
  >
96
95
  {items.map((item) => {
@@ -119,101 +118,4 @@ TabGroup.bspkName = 'TabGroup';
119
118
 
120
119
  export { TabGroup };
121
120
 
122
- export const style = css`
123
- display: flex;
124
- flex-direction: row;
125
- width: fit-content;
126
- --btn-flex-grow: 0;
127
- border-bottom: 1px solid var(--stroke-neutral-low);
128
- width: 100%;
129
-
130
- &[data-width='fill'] {
131
- align-items: stretch;
132
- width: 100%;
133
- --btn-flex-grow: 1;
134
- }
135
-
136
- --font: var(--labels-base);
137
- --height: var(--spacing-sizing-10);
138
-
139
- &[data-size='small'] {
140
- --font: var(--labels-small);
141
- --height: var(--spacing-sizing-08);
142
- }
143
-
144
- &[data-size='large'] {
145
- --font: var(--labels-large);
146
- --height: var(--spacing-sizing-12);
147
- }
148
-
149
- button {
150
- border: 0;
151
- cursor: pointer;
152
- color: var(--foreground-neutral-on-surface-variant-02);
153
- background: none;
154
- flex-grow: var(--btn-flex-grow);
155
- font: var(--font);
156
-
157
- &:hover {
158
- background: var(--interactions-neutral-hover-opacity);
159
- }
160
-
161
- &:active {
162
- background: var(--interactions-neutral-press-opacity);
163
- }
164
-
165
- &:disabled {
166
- pointer-events: none;
167
- color: var(--foreground-neutral-disabled-on-surface);
168
- }
169
-
170
- &:focus-visible {
171
- outline: solid 2px var(--stroke-neutral-focus);
172
- }
173
-
174
- span {
175
- display: flex;
176
- flex-direction: row;
177
- align-items: center;
178
- margin: 0 var(--spacing-sizing-04);
179
- height: var(--height);
180
- justify-content: center;
181
- position: relative;
182
- gap: var(--spacing-sizing-02);
183
-
184
- svg {
185
- width: var(--spacing-sizing-05);
186
- }
187
- }
188
-
189
- &[data-active] {
190
- color: var(--foreground-brand-primary);
191
- span {
192
- &:after {
193
- content: '';
194
- display: block;
195
- width: 100%;
196
- height: 2px;
197
- background-color: var(--stroke-brand-primary);
198
- bottom: -1px;
199
- position: absolute;
200
- border-top-right-radius: 2px;
201
- border-top-left-radius: 2px;
202
- }
203
-
204
- svg {
205
- color: var(--surface-brand-primary);
206
- }
207
- }
208
- }
209
- }
210
-
211
- &[data-hide-trail] {
212
- border-bottom: none;
213
- button {
214
- border-bottom: 1px solid var(--stroke-neutral-low);
215
- }
216
- }
217
- `;
218
-
219
121
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
package/src/Table.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { css } from '@emotion/react';
1
+ import './table.scss';
2
2
  import { ReactNode } from 'react';
3
3
 
4
4
  import { ElementProps } from '.';
@@ -46,8 +46,7 @@ function Table<R extends TableRow>({ rows, columns, ...props }: ElementProps<Tab
46
46
  return (
47
47
  <div
48
48
  {...props}
49
- css={style}
50
- data-table
49
+ data-bspk="table"
51
50
  style={{
52
51
  ...props.style,
53
52
  gridTemplateColumns: columns.map((c) => `minmax(0, ${c.width || '1fr'})`).join(' '),
@@ -77,50 +76,4 @@ Table.bspkName = 'Table';
77
76
 
78
77
  export { Table };
79
78
 
80
- export const style = css`
81
- width: 100%;
82
- border-collapse: separate;
83
- text-align: left;
84
- border-spacing: 2rem 0.125rem;
85
- display: grid;
86
- color: var(--foreground-neutral-on-surface);
87
- font: var(--labels-base);
88
- border-radius: var(--radius-medium);
89
- border: 1px solid var(--stroke-neutral-low);
90
-
91
- [data-cell] {
92
- display: flex;
93
- flex-direction: column;
94
- gap: var(--spacing-sizing-02);
95
- padding: var(--spacing-sizing-04);
96
- background-color: var(--surface-neutral-t1-base);
97
- border-bottom: var(--stroke-neutral-low) solid 1px;
98
- font: var(--labels-small);
99
- p {
100
- margin: 0;
101
- padding: 0;
102
- font: var(--body-small);
103
- }
104
- }
105
-
106
- [data-head] {
107
- display: flex;
108
- align-items: center;
109
- flex-direction: row;
110
- border-bottom: 1px solid var(--stroke-neutral-base);
111
- background: var(--surface-neutral-t2-lowest);
112
- height: var(--spacing-sizing-10);
113
- padding: 0 var(--spacing-sizing-03);
114
- font: var(--labels-base);
115
-
116
- &[data-head='first'] {
117
- border-top-left-radius: var(--radius-medium);
118
- }
119
-
120
- &[data-head='last'] {
121
- border-top-right-radius: var(--radius-medium);
122
- }
123
- }
124
- `;
125
-
126
79
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
package/src/Tag.tsx CHANGED
@@ -1,7 +1,7 @@
1
- import { css } from '@emotion/react';
1
+ import './tag.scss';
2
2
  import { ElementType, ReactNode } from 'react';
3
3
 
4
- import { ColorVariant, COLOR_VARIABLES } from './utils/colorVariants';
4
+ import { ColorVariant } from './utils/colorVariants';
5
5
 
6
6
  import { ElementProps } from './';
7
7
 
@@ -66,10 +66,9 @@ function Tag<As extends ElementType = 'span'>({
66
66
  return (
67
67
  <As
68
68
  {...props}
69
- css={style}
69
+ data-bspk="tag"
70
70
  data-color={color}
71
71
  data-size={size}
72
- data-tag
73
72
  data-variant={variant}
74
73
  data-wrap={wrap || undefined}
75
74
  >
@@ -83,67 +82,4 @@ Tag.bspkName = 'Tag';
83
82
 
84
83
  export { Tag };
85
84
 
86
- export const style = css`
87
- display: flex;
88
- flex-direction: column;
89
- justify-content: center;
90
- width: fit-content;
91
- position: relative;
92
- padding: 0 var(--spacing-sizing-03);
93
- border-radius: var(--radius-small);
94
- color: var(--foreground) !important;
95
- background: var(--background);
96
- text-decoration: none;
97
- font: unset;
98
- text-decoration: unset;
99
- white-space: nowrap;
100
-
101
- &[data-wrap] {
102
- height: auto;
103
- }
104
-
105
- &[data-variant='pill'] {
106
- border-radius: var(--radius-circular);
107
- }
108
-
109
- &[data-variant='corner-wrap'] {
110
- border-bottom-right-radius: 0;
111
- }
112
-
113
- ${Object.entries(COLOR_VARIABLES).map(
114
- ([variant, { foreground, surface }]) => css`
115
- &[data-color='${variant}'] {
116
- --foreground: var(${foreground});
117
- --background: var(${surface});
118
- }
119
- `,
120
- )}
121
-
122
- &[data-size='small'] {
123
- font: var(--labels-small);
124
- height: var(--spacing-sizing-08);
125
- }
126
-
127
- &[data-size='x-small'] {
128
- font: var(--labels-x-small);
129
- height: var(--spacing-sizing-06);
130
- }
131
-
132
- &[data-color='white'] {
133
- box-shadow: var(--drop-shadow-south);
134
- }
135
-
136
- [data-triangle] {
137
- position: absolute;
138
- bottom: -12px;
139
- right: 0;
140
- width: 0px;
141
- height: 0px;
142
- border-style: solid;
143
- border-width: 12px 12px 0 0;
144
- border-color: var(--foreground) transparent transparent transparent;
145
- transform: rotate(0deg);
146
- }
147
- `;
148
-
149
85
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
package/src/TextField.tsx CHANGED
@@ -1,5 +1,5 @@
1
- import { FormField, FormFieldProps } from './FormField';
2
- import { TextInput, TextInputProps } from './TextInput';
1
+ import { FormFieldProps, FormField } from './FormField';
2
+ import { TextInputProps, TextInput } from './TextInput';
3
3
 
4
4
  export type TextFieldProps = Pick<
5
5
  TextInputProps,
@@ -41,6 +41,7 @@ function TextField({
41
41
  return (
42
42
  <FormField
43
43
  controlId={controlId}
44
+ data-bspk="text-field"
44
45
  errorMessage={errorMessage}
45
46
  helperText={helperText}
46
47
  label={label}
package/src/TextInput.tsx CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SvgCancel } from '@bspk/icons/Cancel';
2
- import { css } from '@emotion/react';
2
+ import './text-input.scss';
3
3
  import { ChangeEvent, HTMLInputAutoCompleteAttribute, HTMLInputTypeAttribute, ReactNode } from 'react';
4
4
 
5
5
  import { useId } from './hooks/useId';
@@ -71,13 +71,12 @@ function TextInput({
71
71
 
72
72
  return (
73
73
  <div
74
- css={style}
74
+ data-bspk="text-input"
75
75
  data-disabled={disabled || undefined}
76
76
  data-invalid={invalid || undefined}
77
77
  data-readonly={readOnly || undefined}
78
78
  data-required={required || undefined}
79
79
  data-size={size}
80
- data-text-input
81
80
  ref={containerRef}
82
81
  {...otherProps}
83
82
  >
@@ -113,153 +112,4 @@ TextInput.bspkName = 'TextInput';
113
112
 
114
113
  export { TextInput };
115
114
 
116
- export const style = css`
117
- --border-color: var(--stroke-neutral-base);
118
- display: flex;
119
- flex-direction: row;
120
- background-color: var(--surface-neutral-t1-base);
121
- border: solid 1px var(--border-color);
122
- height: var(--field-height);
123
- border-radius: var(--radius-small);
124
- padding: 0 var(--field-padding);
125
- gap: var(--spacing-sizing-01);
126
- flex-wrap: nowrap;
127
- width: 100%;
128
-
129
- &:focus-within {
130
- --border-color: var(--stroke-brand-primary);
131
- }
132
-
133
- & > * {
134
- display: flex;
135
- justify-content: center;
136
- align-items: center;
137
- height: var(--field-height);
138
- font: var(--field-font);
139
- color: var(--foreground-neutral-on-surface);
140
- min-width: 0;
141
- }
142
-
143
- &:hover:not(:focus-within) {
144
- background:
145
- // multiple colors
146
-
147
- linear-gradient(var(--interactions-hover-opacity), var(--interactions-hover-opacity)),
148
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
149
- }
150
-
151
- &:active:not(:focus-within) {
152
- background:
153
- // multiple colors
154
-
155
- linear-gradient(var(--interactions-press-opacity), var(--interactions-press-opacity)),
156
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
157
- }
158
-
159
- &[data-readonly] {
160
- --border-color: var(--stroke-neutral-disabled-light);
161
-
162
- background:
163
- // multiple colors
164
-
165
- linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
166
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
167
- }
168
-
169
- &[data-disabled] {
170
- --border-color: var(--stroke-neutral-disabled-light);
171
-
172
- background:
173
- // multiple colors
174
-
175
- linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
176
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
177
-
178
- & > * {
179
- color: var(--foreground-neutral-disabled-on-surface);
180
- }
181
- }
182
-
183
- &[data-invalid] {
184
- --border-color: var(--status-error);
185
- }
186
-
187
- &[data-size='small'] {
188
- --field-padding: var(--spacing-sizing-02);
189
- --field-height: var(--spacing-sizing-08);
190
- --field-font: var(--body-small);
191
- --field-icon-width: var(--spacing-sizing-04);
192
- --field-clear-width: var(--spacing-sizing-05);
193
- }
194
-
195
- &[data-size='medium'] {
196
- --field-padding: var(--spacing-sizing-03);
197
- --field-height: var(--spacing-sizing-10);
198
- --field-font: var(--body-base);
199
- --field-icon-width: var(--spacing-sizing-05);
200
- --field-clear-width: var(--spacing-sizing-05);
201
- }
202
-
203
- &[data-size='large'] {
204
- --field-padding: var(--spacing-sizing-03);
205
- --field-height: var(--spacing-sizing-12);
206
- --field-font: var(--body-large);
207
- --field-icon-width: var(--spacing-sizing-06);
208
- --field-clear-width: var(--spacing-sizing-06);
209
- }
210
-
211
- [data-leading],
212
- [data-trailing] {
213
- svg {
214
- width: var(--field-icon-width);
215
- }
216
- }
217
-
218
- label {
219
- font: var(--labels-small);
220
- color: var(--foreground-neutral-on-surface-variant-01);
221
- }
222
-
223
- input {
224
- flex: 1;
225
- background-color: transparent !important;
226
- border: none;
227
- outline: none;
228
- padding: 0;
229
- pointer-events: all;
230
- text-overflow: ellipsis;
231
-
232
- &[type='number']::-webkit-inner-spin-button,
233
- &[type='number']::-webkit-outer-spin-button {
234
- display: none;
235
- }
236
- }
237
-
238
- button[data-clear] {
239
- display: none;
240
- border: none;
241
- background: none;
242
- padding: 0;
243
- cursor: pointer;
244
- pointer-events: all;
245
- margin-left: var(--spacing-sizing-02);
246
- padding-right: var(--field-padding);
247
-
248
- svg {
249
- pointer-events: none;
250
- width: var(--field-clear-width);
251
- }
252
- }
253
-
254
- &:focus-within {
255
- button[data-clear] {
256
- display: flex;
257
- }
258
- }
259
-
260
- &:has(button[data-clear]) {
261
- padding-right: 0;
262
- }
263
- `;
264
-
265
115
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
package/src/Textarea.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { css } from '@emotion/react';
1
+ import './textarea.scss';
2
2
  import { ChangeEvent, CSSProperties, Ref } from 'react';
3
3
 
4
4
  import { useId } from './hooks/useId';
@@ -85,9 +85,8 @@ function Textarea({
85
85
 
86
86
  return (
87
87
  <div
88
- css={style}
88
+ data-bspk="textarea"
89
89
  data-size={size}
90
- data-textarea
91
90
  style={
92
91
  {
93
92
  '--min-rows': minRows,
@@ -125,81 +124,4 @@ Textarea.bspkName = 'Textarea';
125
124
 
126
125
  export { Textarea };
127
126
 
128
- export const style = css`
129
- display: grid;
130
- width: 100%;
131
-
132
- // &[data-size='medium']
133
- --font: var(--body-base);
134
- --line-height: 20px;
135
- --padding: var(--spacing-sizing-03);
136
-
137
- &[data-size='small'] {
138
- --font: var(--body-small);
139
- --line-height: 20px;
140
- --padding: var(--spacing-sizing-02);
141
- }
142
-
143
- &[data-size='large'] {
144
- --font: var(--body-large);
145
- --line-height: 24px;
146
- --padding: var(--spacing-sizing-03);
147
- }
148
-
149
- [data-replicated-value] {
150
- white-space: pre-wrap;
151
- visibility: hidden;
152
- }
153
-
154
- textarea,
155
- [data-replicated-value] {
156
- width: 100%;
157
- font: var(--font);
158
- border: 1px solid var(--border-color);
159
- padding: var(--padding);
160
- grid-area: 1 / 1 / 2 / 2;
161
- min-height: calc((var(--line-height) * var(--min-rows)) + (var(--padding) * 2));
162
- max-height: calc((var(--line-height) * var(--max-rows)) + (var(--padding) * 2));
163
- }
164
-
165
- textarea {
166
- --border-color: var(--stroke-neutral-base);
167
-
168
- resize: vertical;
169
- color: var(--foreground-neutral-on-surface);
170
- background-color: var(--surface-neutral-t1-base);
171
- border-radius: var(--radius-small);
172
-
173
- &:focus-within {
174
- --border-color: var(--stroke-neutral-focus);
175
- outline: none;
176
- color: var(--foreground-neutral-on-surface);
177
- }
178
-
179
- &:disabled {
180
- pointer-events: none;
181
- background:
182
- // multiple colors
183
-
184
- linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
185
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
186
- color: var(--foreground-neutral-disabled-on-surface);
187
- }
188
-
189
- &:read-only {
190
- background:
191
- // multiple colors
192
-
193
- linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
194
- linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
195
- color: var(--foreground-neutral-on-surface-variant-02);
196
- cursor: not-allowed;
197
- }
198
-
199
- &[aria-invalid] {
200
- --border-color: var(--status-error);
201
- }
202
- }
203
- `;
204
-
205
127
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,5 +1,5 @@
1
- import { FormField, FormFieldProps } from './FormField';
2
- import { Textarea, TextareaProps } from './Textarea';
1
+ import { FormFieldProps, FormField } from './FormField';
2
+ import { TextareaProps, Textarea } from './Textarea';
3
3
  import { Txt } from './Txt';
4
4
  import { tryIntParse } from './utils/tryIntPsrse';
5
5
 
@@ -33,6 +33,7 @@ function TextareaField({
33
33
  return (
34
34
  <FormField
35
35
  controlId={id}
36
+ data-bspk="textarea-field"
36
37
  errorMessage={errorMessage}
37
38
  helperText={helperText}
38
39
  label={label}