@websolutespa/bom-mixer-ui 0.4.2 → 0.5.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 (558) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index.js +1429 -1030
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/components/button/button.js +12 -3
  5. package/dist/esm/components/button/button.js.map +1 -1
  6. package/dist/esm/components/button/button.variants.js +9 -9
  7. package/dist/esm/components/button/button.variants.js.map +1 -1
  8. package/dist/esm/components/button-group/button-group.js +13 -2
  9. package/dist/esm/components/button-group/button-group.js.map +1 -1
  10. package/dist/esm/components/card/card.js +13 -2
  11. package/dist/esm/components/card/card.js.map +1 -1
  12. package/dist/esm/components/container/container.js +12 -2
  13. package/dist/esm/components/container/container.js.map +1 -1
  14. package/dist/esm/components/divider/divider.js +28 -34
  15. package/dist/esm/components/divider/divider.js.map +1 -1
  16. package/dist/esm/components/divider/divider.variants.js +38 -0
  17. package/dist/esm/components/divider/divider.variants.js.map +1 -0
  18. package/dist/esm/components/google-map/google-map-skeleton.js +0 -1
  19. package/dist/esm/components/google-map/google-map-skeleton.js.map +1 -1
  20. package/dist/esm/components/grid/grid-row.js +32 -3
  21. package/dist/esm/components/grid/grid-row.js.map +1 -1
  22. package/dist/esm/components/nav/nav.js +13 -2
  23. package/dist/esm/components/nav/nav.js.map +1 -1
  24. package/dist/esm/components/text/text.js +22 -20
  25. package/dist/esm/components/text/text.js.map +1 -1
  26. package/dist/esm/components/utils.js +4 -45
  27. package/dist/esm/components/utils.js.map +1 -1
  28. package/dist/esm/fields/field-accept.js +16 -2
  29. package/dist/esm/fields/field-accept.js.map +1 -1
  30. package/dist/esm/fields/field-autocomplete.js +16 -50
  31. package/dist/esm/fields/field-autocomplete.js.map +1 -1
  32. package/dist/esm/fields/field-card.js +16 -50
  33. package/dist/esm/fields/field-card.js.map +1 -1
  34. package/dist/esm/fields/field-checkbox.js +16 -50
  35. package/dist/esm/fields/field-checkbox.js.map +1 -1
  36. package/dist/esm/fields/field-collection.js +0 -1
  37. package/dist/esm/fields/field-collection.js.map +1 -1
  38. package/dist/esm/fields/field-error.js +30 -11
  39. package/dist/esm/fields/field-error.js.map +1 -1
  40. package/dist/esm/fields/field-error.variants.js +17 -0
  41. package/dist/esm/fields/field-error.variants.js.map +1 -0
  42. package/dist/esm/fields/field-password.js +16 -50
  43. package/dist/esm/fields/field-password.js.map +1 -1
  44. package/dist/esm/fields/field-select.js +16 -50
  45. package/dist/esm/fields/field-select.js.map +1 -1
  46. package/dist/esm/fields/field-text.js +16 -50
  47. package/dist/esm/fields/field-text.js.map +1 -1
  48. package/dist/esm/forms/autocomplete/autocomplete.js +5 -52
  49. package/dist/esm/forms/autocomplete/autocomplete.js.map +1 -1
  50. package/dist/esm/forms/autocomplete/autocomplete.variants.js +10 -0
  51. package/dist/esm/forms/autocomplete/autocomplete.variants.js.map +1 -0
  52. package/dist/esm/forms/checkbox/checkbox-icon.js +5 -3
  53. package/dist/esm/forms/checkbox/checkbox-icon.js.map +1 -1
  54. package/dist/esm/forms/checkbox/checkbox.js +4 -4
  55. package/dist/esm/forms/checkbox/checkbox.variants.js +10 -0
  56. package/dist/esm/forms/checkbox/checkbox.variants.js.map +1 -0
  57. package/dist/esm/forms/custom-select/custom-select-divider.js +1 -1
  58. package/dist/esm/forms/custom-select/custom-select-dropdown.js +2 -2
  59. package/dist/esm/forms/custom-select/custom-select-label.js +4 -4
  60. package/dist/esm/forms/custom-select/custom-select-multiple-value.js +14 -41
  61. package/dist/esm/forms/custom-select/custom-select-multiple-value.js.map +1 -1
  62. package/dist/esm/forms/custom-select/custom-select-option.js +21 -21
  63. package/dist/esm/forms/custom-select/custom-select.js +18 -40
  64. package/dist/esm/forms/custom-select/custom-select.js.map +1 -1
  65. package/dist/esm/forms/field/field.js +22 -13
  66. package/dist/esm/forms/field/field.js.map +1 -1
  67. package/dist/esm/forms/field/field.variants.js +18 -0
  68. package/dist/esm/forms/field/field.variants.js.map +1 -0
  69. package/dist/esm/forms/form/form.js +45 -10
  70. package/dist/esm/forms/form/form.js.map +1 -1
  71. package/dist/esm/forms/form-error/form-error.js +21 -9
  72. package/dist/esm/forms/form-error/form-error.js.map +1 -1
  73. package/dist/esm/forms/form-error/form-error.variants.js +16 -0
  74. package/dist/esm/forms/form-error/form-error.variants.js.map +1 -0
  75. package/dist/esm/forms/form-tester/form-tester.js +75 -37
  76. package/dist/esm/forms/form-tester/form-tester.js.map +1 -1
  77. package/dist/esm/forms/form-tester/form-tester.variants.js +19 -0
  78. package/dist/esm/forms/form-tester/form-tester.variants.js.map +1 -0
  79. package/dist/esm/forms/input/input.js +26 -70
  80. package/dist/esm/forms/input/input.js.map +1 -1
  81. package/dist/esm/forms/input/input.variants.js +70 -0
  82. package/dist/esm/forms/input/input.variants.js.map +1 -0
  83. package/dist/esm/forms/input-group/input-group.js +0 -19
  84. package/dist/esm/forms/input-group/input-group.js.map +1 -1
  85. package/dist/esm/forms/label/label.js +22 -10
  86. package/dist/esm/forms/label/label.js.map +1 -1
  87. package/dist/esm/forms/label/label.variants.js +15 -0
  88. package/dist/esm/forms/label/label.variants.js.map +1 -0
  89. package/dist/esm/forms/radio/radio-group.js +0 -1
  90. package/dist/esm/forms/radio/radio-group.js.map +1 -1
  91. package/dist/esm/forms/radio/radio.js +6 -5
  92. package/dist/esm/forms/radio/radio.js.map +1 -1
  93. package/dist/esm/forms/radio/radio.variants.js +10 -0
  94. package/dist/esm/forms/radio/radio.variants.js.map +1 -0
  95. package/dist/esm/forms/radio-card/radio-card-group.js +1 -1
  96. package/dist/esm/forms/radio-card/radio-card.js +36 -35
  97. package/dist/esm/forms/radio-card/radio-card.js.map +1 -1
  98. package/dist/esm/forms/radio-card/radio-card.variants.js +10 -0
  99. package/dist/esm/forms/radio-card/radio-card.variants.js.map +1 -0
  100. package/dist/esm/forms/radio-color/radio-color-group.js +0 -1
  101. package/dist/esm/forms/radio-color/radio-color-group.js.map +1 -1
  102. package/dist/esm/forms/radio-color/radio-color.js.map +1 -1
  103. package/dist/esm/forms/radio-color/radio-color.variants.js +10 -0
  104. package/dist/esm/forms/radio-color/radio-color.variants.js.map +1 -0
  105. package/dist/esm/forms/radio-option/radio-option-group.js +1 -2
  106. package/dist/esm/forms/radio-option/radio-option-group.js.map +1 -1
  107. package/dist/esm/forms/radio-option/radio-option.js +14 -17
  108. package/dist/esm/forms/radio-option/radio-option.js.map +1 -1
  109. package/dist/esm/forms/radio-option/radio-option.variants.js +10 -0
  110. package/dist/esm/forms/radio-option/radio-option.variants.js.map +1 -0
  111. package/dist/esm/forms/rating/rating.js +2 -2
  112. package/dist/esm/forms/rating/rating.js.map +1 -1
  113. package/dist/esm/forms/rating/rating.variants.js +10 -0
  114. package/dist/esm/forms/rating/rating.variants.js.map +1 -0
  115. package/dist/esm/forms/select/select-icon.js +16 -0
  116. package/dist/esm/forms/select/select-icon.js.map +1 -0
  117. package/dist/esm/forms/select/select.js +12 -28
  118. package/dist/esm/forms/select/select.js.map +1 -1
  119. package/dist/esm/forms/select/select.variants.js +10 -0
  120. package/dist/esm/forms/select/select.variants.js.map +1 -0
  121. package/dist/esm/forms/textarea/textarea.js +22 -43
  122. package/dist/esm/forms/textarea/textarea.js.map +1 -1
  123. package/dist/esm/forms/textarea/textarea.variants.js +18 -0
  124. package/dist/esm/forms/textarea/textarea.variants.js.map +1 -0
  125. package/dist/esm/forms/utils/utils.js +71 -0
  126. package/dist/esm/forms/utils/utils.js.map +1 -0
  127. package/dist/esm/hoc/with-page-transition/with-page-transition.js +0 -1
  128. package/dist/esm/hoc/with-page-transition/with-page-transition.js.map +1 -1
  129. package/dist/esm/index.js +24 -5
  130. package/dist/esm/index.js.map +1 -1
  131. package/dist/esm/lazy/download-1/download-1.js +0 -1
  132. package/dist/esm/lazy/download-1/download-1.js.map +1 -1
  133. package/dist/esm/lazy/lazy-loader/lazy-loader.js +0 -1
  134. package/dist/esm/lazy/lazy-loader/lazy-loader.js.map +1 -1
  135. package/dist/esm/lazy/media-full-1/media-full-1.js +0 -1
  136. package/dist/esm/lazy/media-full-1/media-full-1.js.map +1 -1
  137. package/dist/esm/lazy/media-full-2/media-full-2.js +0 -1
  138. package/dist/esm/lazy/media-full-2/media-full-2.js.map +1 -1
  139. package/dist/esm/lazy/media-media-1/media-media-1.js +0 -1
  140. package/dist/esm/lazy/media-media-1/media-media-1.js.map +1 -1
  141. package/dist/esm/lazy/not-found/not-found.js +0 -1
  142. package/dist/esm/lazy/not-found/not-found.js.map +1 -1
  143. package/dist/esm/lazy/related-1/related-1.js +0 -1
  144. package/dist/esm/lazy/related-1/related-1.js.map +1 -1
  145. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js +0 -1
  146. package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js.map +1 -1
  147. package/dist/esm/lazy/text-1/text-1.js +0 -1
  148. package/dist/esm/lazy/text-1/text-1.js.map +1 -1
  149. package/dist/esm/lazy/text-aside-1/text-aside-1.js +0 -1
  150. package/dist/esm/lazy/text-aside-1/text-aside-1.js.map +1 -1
  151. package/dist/esm/lazy/text-media-1/text-media-1.js +0 -1
  152. package/dist/esm/lazy/text-media-1/text-media-1.js.map +1 -1
  153. package/dist/esm/lazy/text-text-1/text-text-1.js +0 -1
  154. package/dist/esm/lazy/text-text-1/text-text-1.js.map +1 -1
  155. package/dist/esm/sections/auth/auth-change-password.js +20 -5
  156. package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
  157. package/dist/esm/sections/auth/auth-drawer.js +0 -1
  158. package/dist/esm/sections/auth/auth-drawer.js.map +1 -1
  159. package/dist/esm/sections/auth/auth-forgot-success.js +20 -16
  160. package/dist/esm/sections/auth/auth-forgot-success.js.map +1 -1
  161. package/dist/esm/sections/auth/auth-forgot.js +68 -35
  162. package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
  163. package/dist/esm/sections/auth/auth-form.js +44 -0
  164. package/dist/esm/sections/auth/auth-form.js.map +1 -0
  165. package/dist/esm/sections/auth/auth-login.js +58 -27
  166. package/dist/esm/sections/auth/auth-login.js.map +1 -1
  167. package/dist/esm/sections/auth/auth-register-success.js +20 -16
  168. package/dist/esm/sections/auth/auth-register-success.js.map +1 -1
  169. package/dist/esm/sections/auth/auth-register.js +57 -26
  170. package/dist/esm/sections/auth/auth-register.js.map +1 -1
  171. package/dist/esm/sections/auth/auth-update.js +31 -14
  172. package/dist/esm/sections/auth/auth-update.js.map +1 -1
  173. package/dist/esm/sections/auth/auth.js +43 -36
  174. package/dist/esm/sections/auth/auth.js.map +1 -1
  175. package/dist/esm/sections/auth/useAuth.js +39 -0
  176. package/dist/esm/sections/auth/useAuth.js.map +1 -0
  177. package/dist/esm/sections/blog-more/blog-card.js +0 -1
  178. package/dist/esm/sections/blog-more/blog-card.js.map +1 -1
  179. package/dist/esm/sections/blog-more/blog-more.js +0 -1
  180. package/dist/esm/sections/blog-more/blog-more.js.map +1 -1
  181. package/dist/esm/sections/blog-proposition/blog-proposition.js +0 -1
  182. package/dist/esm/sections/blog-proposition/blog-proposition.js.map +1 -1
  183. package/dist/esm/sections/cart-mini/cart-mini-item.js +16 -2
  184. package/dist/esm/sections/cart-mini/cart-mini-item.js.map +1 -1
  185. package/dist/esm/sections/cart-mini/cart-mini.js +0 -1
  186. package/dist/esm/sections/cart-mini/cart-mini.js.map +1 -1
  187. package/dist/esm/sections/categories-proposition/categories-proposition-card.js +0 -1
  188. package/dist/esm/sections/categories-proposition/categories-proposition-card.js.map +1 -1
  189. package/dist/esm/sections/categories-proposition/categories-proposition.js +0 -1
  190. package/dist/esm/sections/categories-proposition/categories-proposition.js.map +1 -1
  191. package/dist/esm/sections/category-hero/category-hero.js +0 -1
  192. package/dist/esm/sections/category-hero/category-hero.js.map +1 -1
  193. package/dist/esm/sections/category-proposition/category-proposition.js +0 -1
  194. package/dist/esm/sections/category-proposition/category-proposition.js.map +1 -1
  195. package/dist/esm/sections/checkout/checkout-basket-item.js +16 -2
  196. package/dist/esm/sections/checkout/checkout-basket-item.js.map +1 -1
  197. package/dist/esm/sections/checkout/checkout-basket.js +0 -1
  198. package/dist/esm/sections/checkout/checkout-basket.js.map +1 -1
  199. package/dist/esm/sections/checkout/checkout-delivery.js +17 -2
  200. package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
  201. package/dist/esm/sections/checkout/checkout-discount.js +17 -2
  202. package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
  203. package/dist/esm/sections/checkout/checkout-empty.js +0 -1
  204. package/dist/esm/sections/checkout/checkout-empty.js.map +1 -1
  205. package/dist/esm/sections/checkout/checkout-error.js +0 -1
  206. package/dist/esm/sections/checkout/checkout-error.js.map +1 -1
  207. package/dist/esm/sections/checkout/checkout-forgot-success.js +0 -1
  208. package/dist/esm/sections/checkout/checkout-forgot-success.js.map +1 -1
  209. package/dist/esm/sections/checkout/checkout-forgot.js +0 -1
  210. package/dist/esm/sections/checkout/checkout-forgot.js.map +1 -1
  211. package/dist/esm/sections/checkout/checkout-info.js +0 -1
  212. package/dist/esm/sections/checkout/checkout-info.js.map +1 -1
  213. package/dist/esm/sections/checkout/checkout-login.js +0 -1
  214. package/dist/esm/sections/checkout/checkout-login.js.map +1 -1
  215. package/dist/esm/sections/checkout/checkout-payment.js +17 -2
  216. package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
  217. package/dist/esm/sections/checkout/checkout-register-success.js +0 -1
  218. package/dist/esm/sections/checkout/checkout-register-success.js.map +1 -1
  219. package/dist/esm/sections/checkout/checkout-register.js +0 -1
  220. package/dist/esm/sections/checkout/checkout-register.js.map +1 -1
  221. package/dist/esm/sections/checkout/checkout-review.js +17 -2
  222. package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
  223. package/dist/esm/sections/checkout/checkout-success.js +0 -1
  224. package/dist/esm/sections/checkout/checkout-success.js.map +1 -1
  225. package/dist/esm/sections/checkout/checkout-user-info.js +16 -1
  226. package/dist/esm/sections/checkout/checkout-user-info.js.map +1 -1
  227. package/dist/esm/sections/contact-card/contact-card.js +0 -1
  228. package/dist/esm/sections/contact-card/contact-card.js.map +1 -1
  229. package/dist/esm/sections/contact-form/contact-form.js +16 -2
  230. package/dist/esm/sections/contact-form/contact-form.js.map +1 -1
  231. package/dist/esm/sections/contact-hero/contact-hero.js +1 -2
  232. package/dist/esm/sections/contact-hero/contact-hero.js.map +1 -1
  233. package/dist/esm/sections/header/header-card.js +0 -1
  234. package/dist/esm/sections/header/header-card.js.map +1 -1
  235. package/dist/esm/sections/hero/hero.js +0 -1
  236. package/dist/esm/sections/hero/hero.js.map +1 -1
  237. package/dist/esm/sections/icons/icons.js +16 -2
  238. package/dist/esm/sections/icons/icons.js.map +1 -1
  239. package/dist/esm/sections/magazine-search/magazine-search-card.js +0 -1
  240. package/dist/esm/sections/magazine-search/magazine-search-card.js.map +1 -1
  241. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js +0 -1
  242. package/dist/esm/sections/magazine-search/magazine-search-filters-modal.js.map +1 -1
  243. package/dist/esm/sections/magazine-search/magazine-search-filters.js +16 -2
  244. package/dist/esm/sections/magazine-search/magazine-search-filters.js.map +1 -1
  245. package/dist/esm/sections/magazine-search/magazine-search.js +0 -1
  246. package/dist/esm/sections/magazine-search/magazine-search.js.map +1 -1
  247. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js +0 -1
  248. package/dist/esm/sections/markets-and-languages/markets-and-languages-drawer.js.map +1 -1
  249. package/dist/esm/sections/order/order-address.js +0 -1
  250. package/dist/esm/sections/order/order-address.js.map +1 -1
  251. package/dist/esm/sections/order/order-item.js +0 -1
  252. package/dist/esm/sections/order/order-item.js.map +1 -1
  253. package/dist/esm/sections/order/order-register.js +16 -1
  254. package/dist/esm/sections/order/order-register.js.map +1 -1
  255. package/dist/esm/sections/order/order-summary-item.js +0 -1
  256. package/dist/esm/sections/order/order-summary-item.js.map +1 -1
  257. package/dist/esm/sections/order/order-summary.js +0 -1
  258. package/dist/esm/sections/order/order-summary.js.map +1 -1
  259. package/dist/esm/sections/product-overview/product-overview-gallery.js +0 -1
  260. package/dist/esm/sections/product-overview/product-overview-gallery.js.map +1 -1
  261. package/dist/esm/sections/product-overview/product-overview.js +16 -1
  262. package/dist/esm/sections/product-overview/product-overview.js.map +1 -1
  263. package/dist/esm/sections/products-detail-download/products-detail-download.js +0 -1
  264. package/dist/esm/sections/products-detail-download/products-detail-download.js.map +1 -1
  265. package/dist/esm/sections/products-detail-related/products-detail-related.js +0 -1
  266. package/dist/esm/sections/products-detail-related/products-detail-related.js.map +1 -1
  267. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js +0 -1
  268. package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js.map +1 -1
  269. package/dist/esm/sections/products-hero/products-hero-card.js +0 -1
  270. package/dist/esm/sections/products-hero/products-hero-card.js.map +1 -1
  271. package/dist/esm/sections/products-hero/products-hero.js +0 -1
  272. package/dist/esm/sections/products-hero/products-hero.js.map +1 -1
  273. package/dist/esm/sections/products-proposition/products-proposition-card.js +0 -1
  274. package/dist/esm/sections/products-proposition/products-proposition-card.js.map +1 -1
  275. package/dist/esm/sections/products-proposition/products-proposition.js +0 -1
  276. package/dist/esm/sections/products-proposition/products-proposition.js.map +1 -1
  277. package/dist/esm/sections/products-related/products-related-card.js +0 -1
  278. package/dist/esm/sections/products-related/products-related-card.js.map +1 -1
  279. package/dist/esm/sections/products-related/products-related.js +0 -1
  280. package/dist/esm/sections/products-related/products-related.js.map +1 -1
  281. package/dist/esm/sections/products-search/products-search-filters-modal.js +0 -1
  282. package/dist/esm/sections/products-search/products-search-filters-modal.js.map +1 -1
  283. package/dist/esm/sections/products-search/products-search-filters.js +16 -2
  284. package/dist/esm/sections/products-search/products-search-filters.js.map +1 -1
  285. package/dist/esm/sections/products-search/products-search-recap.js +0 -1
  286. package/dist/esm/sections/products-search/products-search-recap.js.map +1 -1
  287. package/dist/esm/sections/products-search/products-search.js +16 -1
  288. package/dist/esm/sections/products-search/products-search.js.map +1 -1
  289. package/dist/esm/sections/proposition/proposition.js +0 -1
  290. package/dist/esm/sections/proposition/proposition.js.map +1 -1
  291. package/dist/esm/sections/reserved_area/reserved_area.js +0 -1
  292. package/dist/esm/sections/reserved_area/reserved_area.js.map +1 -1
  293. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js +0 -1
  294. package/dist/esm/sections/reserved_area_menu/reserved_area_menu.js.map +1 -1
  295. package/dist/esm/sections/shop-category-hero/shop-category-hero.js +0 -1
  296. package/dist/esm/sections/shop-category-hero/shop-category-hero.js.map +1 -1
  297. package/dist/esm/sections/shop-detail-related/shop-detail-related.js +0 -1
  298. package/dist/esm/sections/shop-detail-related/shop-detail-related.js.map +1 -1
  299. package/dist/esm/sections/shop-hero/shop-hero-card.js +0 -1
  300. package/dist/esm/sections/shop-hero/shop-hero-card.js.map +1 -1
  301. package/dist/esm/sections/shop-hero/shop-hero.js +0 -1
  302. package/dist/esm/sections/shop-hero/shop-hero.js.map +1 -1
  303. package/dist/esm/sections/shop-incentive/shop-incentive.js +0 -1
  304. package/dist/esm/sections/shop-incentive/shop-incentive.js.map +1 -1
  305. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js +0 -1
  306. package/dist/esm/sections/shop-items-proposition/shop-items-proposition-card.js.map +1 -1
  307. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js +0 -1
  308. package/dist/esm/sections/shop-items-proposition/shop-items-proposition.js.map +1 -1
  309. package/dist/esm/sections/shop-search/shop-search-card.js +0 -1
  310. package/dist/esm/sections/shop-search/shop-search-card.js.map +1 -1
  311. package/dist/esm/sections/shop-search/shop-search-filters-modal.js +0 -1
  312. package/dist/esm/sections/shop-search/shop-search-filters-modal.js.map +1 -1
  313. package/dist/esm/sections/shop-search/shop-search-filters.js +16 -2
  314. package/dist/esm/sections/shop-search/shop-search-filters.js.map +1 -1
  315. package/dist/esm/sections/shop-search/shop-search-recap.js +0 -1
  316. package/dist/esm/sections/shop-search/shop-search-recap.js.map +1 -1
  317. package/dist/esm/sections/shop-search/shop-search.js +16 -1
  318. package/dist/esm/sections/shop-search/shop-search.js.map +1 -1
  319. package/dist/esm/sections/split/split.js +0 -1
  320. package/dist/esm/sections/split/split.js.map +1 -1
  321. package/dist/esm/sections/store-locator/store-locator-search.js +16 -2
  322. package/dist/esm/sections/store-locator/store-locator-search.js.map +1 -1
  323. package/dist/esm/theme/global.vars.js +126 -22
  324. package/dist/esm/theme/global.vars.js.map +1 -1
  325. package/dist/esm/theme/theme.json.js +50 -11
  326. package/dist/esm/theme/theme.json.js.map +1 -1
  327. package/dist/esm/variants/types.js +25 -0
  328. package/dist/esm/variants/types.js.map +1 -0
  329. package/dist/esm/{useVariants → variants}/useVariants.js +14 -4
  330. package/dist/esm/variants/useVariants.js.map +1 -0
  331. package/dist/esm/variants/utils.js +44 -0
  332. package/dist/esm/variants/utils.js.map +1 -0
  333. package/dist/types/components/button/button.d.ts +2 -1
  334. package/dist/types/components/button/button.d.ts.map +1 -1
  335. package/dist/types/components/button/button.variants.d.ts +32 -32
  336. package/dist/types/components/button/button.variants.d.ts.map +1 -1
  337. package/dist/types/components/button-group/button-group.d.ts +2 -1
  338. package/dist/types/components/button-group/button-group.d.ts.map +1 -1
  339. package/dist/types/components/card/card.d.ts +2 -1
  340. package/dist/types/components/card/card.d.ts.map +1 -1
  341. package/dist/types/components/container/container.d.ts +2 -1
  342. package/dist/types/components/container/container.d.ts.map +1 -1
  343. package/dist/types/components/divider/divider.d.ts +3 -1
  344. package/dist/types/components/divider/divider.d.ts.map +1 -1
  345. package/dist/types/components/divider/divider.variants.d.ts +7 -0
  346. package/dist/types/components/divider/divider.variants.d.ts.map +1 -0
  347. package/dist/types/components/grid/grid-row.d.ts +2 -1
  348. package/dist/types/components/grid/grid-row.d.ts.map +1 -1
  349. package/dist/types/components/nav/nav.d.ts +2 -1
  350. package/dist/types/components/nav/nav.d.ts.map +1 -1
  351. package/dist/types/components/text/text.d.ts +5 -3
  352. package/dist/types/components/text/text.d.ts.map +1 -1
  353. package/dist/types/components/types.d.ts +0 -20
  354. package/dist/types/components/types.d.ts.map +1 -1
  355. package/dist/types/components/utils.d.ts +1 -8
  356. package/dist/types/components/utils.d.ts.map +1 -1
  357. package/dist/types/fields/field-error.d.ts +8 -2
  358. package/dist/types/fields/field-error.d.ts.map +1 -1
  359. package/dist/types/fields/field-error.variants.d.ts +7 -0
  360. package/dist/types/fields/field-error.variants.d.ts.map +1 -0
  361. package/dist/types/fields/index.d.ts +1 -0
  362. package/dist/types/fields/index.d.ts.map +1 -1
  363. package/dist/types/forms/autocomplete/autocomplete.d.ts.map +1 -1
  364. package/dist/types/forms/autocomplete/autocomplete.variants.d.ts +7 -0
  365. package/dist/types/forms/autocomplete/autocomplete.variants.d.ts.map +1 -0
  366. package/dist/types/forms/checkbox/checkbox-icon.d.ts.map +1 -1
  367. package/dist/types/forms/checkbox/checkbox.variants.d.ts +7 -0
  368. package/dist/types/forms/checkbox/checkbox.variants.d.ts.map +1 -0
  369. package/dist/types/forms/custom-select/custom-select-multiple-value.d.ts.map +1 -1
  370. package/dist/types/forms/custom-select/custom-select.d.ts.map +1 -1
  371. package/dist/types/forms/custom-select/custom-select.variants.d.ts +7 -0
  372. package/dist/types/forms/custom-select/custom-select.variants.d.ts.map +1 -0
  373. package/dist/types/forms/field/field.d.ts +5 -1
  374. package/dist/types/forms/field/field.d.ts.map +1 -1
  375. package/dist/types/forms/field/field.variants.d.ts +7 -0
  376. package/dist/types/forms/field/field.variants.d.ts.map +1 -0
  377. package/dist/types/forms/form/form.d.ts +4 -1
  378. package/dist/types/forms/form/form.d.ts.map +1 -1
  379. package/dist/types/forms/form/useThemeForm.d.ts +9 -0
  380. package/dist/types/forms/form/useThemeForm.d.ts.map +1 -0
  381. package/dist/types/forms/form-error/form-error.d.ts +3 -0
  382. package/dist/types/forms/form-error/form-error.d.ts.map +1 -1
  383. package/dist/types/forms/form-error/form-error.variants.d.ts +7 -0
  384. package/dist/types/forms/form-error/form-error.variants.d.ts.map +1 -0
  385. package/dist/types/forms/form-tester/form-tester.d.ts +11 -5
  386. package/dist/types/forms/form-tester/form-tester.d.ts.map +1 -1
  387. package/dist/types/forms/form-tester/form-tester.variants.d.ts +7 -0
  388. package/dist/types/forms/form-tester/form-tester.variants.d.ts.map +1 -0
  389. package/dist/types/forms/index.d.ts +15 -0
  390. package/dist/types/forms/index.d.ts.map +1 -1
  391. package/dist/types/forms/input/input.d.ts +3 -0
  392. package/dist/types/forms/input/input.d.ts.map +1 -1
  393. package/dist/types/forms/input/input.variants.d.ts +16 -0
  394. package/dist/types/forms/input/input.variants.d.ts.map +1 -0
  395. package/dist/types/forms/input-group/input-group.d.ts.map +1 -1
  396. package/dist/types/forms/label/label.d.ts +5 -1
  397. package/dist/types/forms/label/label.d.ts.map +1 -1
  398. package/dist/types/forms/label/label.variants.d.ts +7 -0
  399. package/dist/types/forms/label/label.variants.d.ts.map +1 -0
  400. package/dist/types/forms/radio/radio-group.d.ts +2 -1
  401. package/dist/types/forms/radio/radio-group.d.ts.map +1 -1
  402. package/dist/types/forms/radio/radio.d.ts +2 -1
  403. package/dist/types/forms/radio/radio.d.ts.map +1 -1
  404. package/dist/types/forms/radio/radio.variants.d.ts +7 -0
  405. package/dist/types/forms/radio/radio.variants.d.ts.map +1 -0
  406. package/dist/types/forms/radio-card/radio-card.d.ts.map +1 -1
  407. package/dist/types/forms/radio-card/radio-card.variants.d.ts +7 -0
  408. package/dist/types/forms/radio-card/radio-card.variants.d.ts.map +1 -0
  409. package/dist/types/forms/radio-color/radio-color-group.d.ts +2 -1
  410. package/dist/types/forms/radio-color/radio-color-group.d.ts.map +1 -1
  411. package/dist/types/forms/radio-color/radio-color.d.ts +2 -1
  412. package/dist/types/forms/radio-color/radio-color.d.ts.map +1 -1
  413. package/dist/types/forms/radio-color/radio-color.variants.d.ts +7 -0
  414. package/dist/types/forms/radio-color/radio-color.variants.d.ts.map +1 -0
  415. package/dist/types/forms/radio-option/radio-option-group.d.ts +2 -1
  416. package/dist/types/forms/radio-option/radio-option-group.d.ts.map +1 -1
  417. package/dist/types/forms/radio-option/radio-option.d.ts +2 -1
  418. package/dist/types/forms/radio-option/radio-option.d.ts.map +1 -1
  419. package/dist/types/forms/radio-option/radio-option.variants.d.ts +7 -0
  420. package/dist/types/forms/radio-option/radio-option.variants.d.ts.map +1 -0
  421. package/dist/types/forms/rating/rating.d.ts +2 -1
  422. package/dist/types/forms/rating/rating.d.ts.map +1 -1
  423. package/dist/types/forms/rating/rating.variants.d.ts +7 -0
  424. package/dist/types/forms/rating/rating.variants.d.ts.map +1 -0
  425. package/dist/types/forms/select/select-icon.d.ts +3 -0
  426. package/dist/types/forms/select/select-icon.d.ts.map +1 -0
  427. package/dist/types/forms/select/select.d.ts.map +1 -1
  428. package/dist/types/forms/select/select.variants.d.ts +7 -0
  429. package/dist/types/forms/select/select.variants.d.ts.map +1 -0
  430. package/dist/types/forms/textarea/textarea.d.ts +5 -1
  431. package/dist/types/forms/textarea/textarea.d.ts.map +1 -1
  432. package/dist/types/forms/textarea/textarea.variants.d.ts +7 -0
  433. package/dist/types/forms/textarea/textarea.variants.d.ts.map +1 -0
  434. package/dist/types/forms/utils/utils.d.ts +2 -0
  435. package/dist/types/forms/utils/utils.d.ts.map +1 -0
  436. package/dist/types/index.d.ts +1 -1
  437. package/dist/types/index.d.ts.map +1 -1
  438. package/dist/types/sections/auth/auth-forgot-success.d.ts.map +1 -1
  439. package/dist/types/sections/auth/auth-forgot.d.ts.map +1 -1
  440. package/dist/types/sections/auth/auth-form.d.ts +2 -0
  441. package/dist/types/sections/auth/auth-form.d.ts.map +1 -0
  442. package/dist/types/sections/auth/auth-login.d.ts.map +1 -1
  443. package/dist/types/sections/auth/auth-register-success.d.ts.map +1 -1
  444. package/dist/types/sections/auth/auth-register.d.ts.map +1 -1
  445. package/dist/types/sections/auth/auth-update.d.ts.map +1 -1
  446. package/dist/types/sections/auth/auth.d.ts +2 -0
  447. package/dist/types/sections/auth/auth.d.ts.map +1 -1
  448. package/dist/types/sections/auth/useAuth.d.ts +32 -0
  449. package/dist/types/sections/auth/useAuth.d.ts.map +1 -0
  450. package/dist/types/sections/index.d.ts +1 -0
  451. package/dist/types/sections/index.d.ts.map +1 -1
  452. package/dist/types/theme/global.vars.d.ts.map +1 -1
  453. package/dist/types/theme/types.d.ts +36 -7
  454. package/dist/types/theme/types.d.ts.map +1 -1
  455. package/dist/types/variants/index.d.ts +4 -0
  456. package/dist/types/variants/index.d.ts.map +1 -0
  457. package/dist/types/variants/types.d.ts +43 -0
  458. package/dist/types/variants/types.d.ts.map +1 -0
  459. package/dist/types/variants/useVariants.d.ts +10 -0
  460. package/dist/types/variants/useVariants.d.ts.map +1 -0
  461. package/dist/types/variants/utils.d.ts +13 -0
  462. package/dist/types/variants/utils.d.ts.map +1 -0
  463. package/package.json +1 -1
  464. package/src/components/button/button.tsx +4 -4
  465. package/src/components/button/button.variants.ts +12 -11
  466. package/src/components/button-group/button-group.tsx +4 -3
  467. package/src/components/card/card.tsx +4 -3
  468. package/src/components/container/container.tsx +13 -2
  469. package/src/components/divider/divider.tsx +19 -35
  470. package/src/components/divider/divider.variants.ts +39 -0
  471. package/src/components/grid/grid-row.tsx +30 -3
  472. package/src/components/nav/nav.tsx +4 -3
  473. package/src/components/text/text.tsx +14 -22
  474. package/src/components/types.ts +0 -19
  475. package/src/components/utils.ts +4 -48
  476. package/src/fields/field-error.tsx +25 -10
  477. package/src/fields/field-error.variants.ts +18 -0
  478. package/src/fields/index.ts +1 -0
  479. package/src/forms/autocomplete/autocomplete.tsx +5 -52
  480. package/src/forms/autocomplete/autocomplete.variants.ts +11 -0
  481. package/src/forms/checkbox/checkbox-icon.tsx +8 -6
  482. package/src/forms/checkbox/checkbox.tsx +4 -4
  483. package/src/forms/checkbox/checkbox.variants.ts +11 -0
  484. package/src/forms/custom-select/custom-select-divider.tsx +1 -1
  485. package/src/forms/custom-select/custom-select-dropdown.tsx +2 -2
  486. package/src/forms/custom-select/custom-select-label.tsx +4 -4
  487. package/src/forms/custom-select/custom-select-multiple-value.tsx +5 -39
  488. package/src/forms/custom-select/custom-select-option.tsx +21 -21
  489. package/src/forms/custom-select/custom-select.tsx +18 -41
  490. package/src/forms/custom-select/custom-select.variants.ts +11 -0
  491. package/src/forms/field/field.tsx +15 -12
  492. package/src/forms/field/field.variants.ts +19 -0
  493. package/src/forms/form/form.tsx +50 -9
  494. package/src/forms/form/useThemeForm.tsx +20 -0
  495. package/src/forms/form-error/form-error.tsx +15 -8
  496. package/src/forms/form-error/form-error.variants.ts +17 -0
  497. package/src/forms/form-tester/form-tester.tsx +62 -22
  498. package/src/forms/form-tester/form-tester.variants.ts +20 -0
  499. package/src/forms/index.ts +15 -0
  500. package/src/forms/input/input.tsx +13 -69
  501. package/src/forms/input/input.variants.ts +76 -0
  502. package/src/forms/input-group/input-group.tsx +0 -19
  503. package/src/forms/label/label.tsx +16 -10
  504. package/src/forms/label/label.variants.ts +16 -0
  505. package/src/forms/radio/radio-group.tsx +2 -1
  506. package/src/forms/radio/radio.tsx +8 -6
  507. package/src/forms/radio/radio.variants.ts +11 -0
  508. package/src/forms/radio-card/radio-card-group.tsx +1 -1
  509. package/src/forms/radio-card/radio-card.tsx +36 -35
  510. package/src/forms/radio-card/radio-card.variants.ts +11 -0
  511. package/src/forms/radio-color/radio-color-group.tsx +2 -1
  512. package/src/forms/radio-color/radio-color.tsx +2 -1
  513. package/src/forms/radio-color/radio-color.variants.ts +11 -0
  514. package/src/forms/radio-option/radio-option-group.tsx +3 -2
  515. package/src/forms/radio-option/radio-option.tsx +16 -18
  516. package/src/forms/radio-option/radio-option.variants.ts +11 -0
  517. package/src/forms/rating/rating.tsx +4 -3
  518. package/src/forms/rating/rating.variants.ts +11 -0
  519. package/src/forms/select/select-icon.tsx +14 -0
  520. package/src/forms/select/select.tsx +11 -27
  521. package/src/forms/select/select.variants.ts +11 -0
  522. package/src/forms/textarea/textarea.tsx +12 -42
  523. package/src/forms/textarea/textarea.variants.ts +19 -0
  524. package/src/forms/utils/utils.tsx +68 -0
  525. package/src/index.ts +1 -1
  526. package/src/sections/auth/auth-change-password.tsx +4 -4
  527. package/src/sections/auth/auth-forgot-success.tsx +12 -4
  528. package/src/sections/auth/auth-forgot.tsx +33 -18
  529. package/src/sections/auth/auth-form.tsx +9 -0
  530. package/src/sections/auth/auth-login.tsx +29 -16
  531. package/src/sections/auth/auth-register-success.tsx +12 -4
  532. package/src/sections/auth/auth-register.tsx +26 -15
  533. package/src/sections/auth/auth-update.tsx +8 -9
  534. package/src/sections/auth/auth.tsx +27 -21
  535. package/src/sections/auth/useAuth.tsx +51 -0
  536. package/src/sections/contact-hero/contact-hero.tsx +1 -1
  537. package/src/sections/index.ts +1 -0
  538. package/src/theme/global.vars.scss +198 -134
  539. package/src/theme/global.vars.ts +271 -167
  540. package/src/theme/theme.json +50 -11
  541. package/src/theme/types.ts +41 -7
  542. package/src/variants/index.ts +4 -0
  543. package/src/variants/types.ts +57 -0
  544. package/src/{useVariants → variants}/useVariants.tsx +18 -13
  545. package/src/variants/utils.ts +54 -0
  546. package/dist/esm/forms/custom-select/custom-select-icon-clear.js +0 -43
  547. package/dist/esm/forms/custom-select/custom-select-icon-clear.js.map +0 -1
  548. package/dist/esm/forms/custom-select/custom-select-icon.js +0 -37
  549. package/dist/esm/forms/custom-select/custom-select-icon.js.map +0 -1
  550. package/dist/esm/useVariants/useVariants.js.map +0 -1
  551. package/dist/types/forms/custom-select/custom-select-icon-clear.d.ts +0 -3
  552. package/dist/types/forms/custom-select/custom-select-icon-clear.d.ts.map +0 -1
  553. package/dist/types/forms/custom-select/custom-select-icon.d.ts +0 -3
  554. package/dist/types/forms/custom-select/custom-select-icon.d.ts.map +0 -1
  555. package/dist/types/useVariants/useVariants.d.ts +0 -13
  556. package/dist/types/useVariants/useVariants.d.ts.map +0 -1
  557. package/src/forms/custom-select/custom-select-icon-clear.tsx +0 -23
  558. package/src/forms/custom-select/custom-select-icon.tsx +0 -25
package/dist/cjs/index.js CHANGED
@@ -212,7 +212,7 @@ const AccordionGroup = _a => {
212
212
  };
213
213
  AccordionGroup.displayName = 'AccordionGroup';
214
214
 
215
- const DownArrowSvg$2 = props => jsxRuntime.jsx("svg", Object.assign({
215
+ const DownArrowSvg$1 = props => jsxRuntime.jsx("svg", Object.assign({
216
216
  xmlns: "http://www.w3.org/2000/svg",
217
217
  width: "24",
218
218
  height: "24",
@@ -227,7 +227,7 @@ const DownArrowSvg$2 = props => jsxRuntime.jsx("svg", Object.assign({
227
227
  points: "6 9 12 15 18 9"
228
228
  })
229
229
  }));
230
- const DownArrow$2 = styled__default.default(DownArrowSvg$2)`
230
+ const DownArrow = styled__default.default(DownArrowSvg$1)`
231
231
  flex-shrink: 0;
232
232
  width: 1em;
233
233
  height: 1em;
@@ -248,7 +248,7 @@ const AccordionIcon_ = _ref => {
248
248
  const classNames = bomCore.getClassNames({
249
249
  active
250
250
  });
251
- return jsxRuntime.jsx(DownArrow$2, {
251
+ return jsxRuntime.jsx(DownArrow, {
252
252
  className: classNames
253
253
  });
254
254
  };
@@ -689,16 +689,6 @@ ${rule}
689
689
  function mediaOnly(props, key, rule) {
690
690
  return mediaBetween(props, key, key, rule);
691
691
  }
692
- function getContainer(props) {
693
- const theme = props.theme;
694
- const variant = props.variant || 'default';
695
- const container = theme.container[variant];
696
- if (container && container.maxWidth) {
697
- return eachMedia(props, key => `max-width: ${container.maxWidth[key]}`);
698
- } else {
699
- return '';
700
- }
701
- }
702
692
  function getCssResponsive(props, defaultValue) {
703
693
  if (defaultValue === void 0) {
704
694
  defaultValue = {};
@@ -762,38 +752,6 @@ function getAspectResponsive(props, defaultValue) {
762
752
  }
763
753
  return rules;
764
754
  }
765
- function getGrid(props, defaultValue) {
766
- if (defaultValue === void 0) {
767
- defaultValue = {};
768
- }
769
- props = Object.assign(Object.assign({}, defaultValue), props);
770
- const variant = props.variant || 'default';
771
- return styled.css`
772
- ${props.columns ? styled.css`
773
- --grid-columns: ${props.columns};
774
- ` : styled.css`
775
- --grid-columns: var(--grid-${variant}-columns, 12);
776
- `}
777
- ${props.size ? styled.css`
778
- --grid-size: ${props.size};
779
- ` : styled.css`
780
- --grid-size: var(--grid-${variant}-size, 1fr);
781
- `}
782
- ${props.columnGap ? styled.css`
783
- --grid-column-gap: ${props.columnGap};
784
- ` : eachMedia(props, key => `--grid-column-gap: var(--grid-${variant}-column-gap-${key}, 0);`)}
785
- ${props.rowGap ? styled.css`
786
- --grid-row-gap: ${props.rowGap};
787
- ` : eachMedia(props, key => `--grid-row-gap: var(--grid-${variant}-row-gap-${key}, 0);`)}
788
- display: grid;
789
- grid-template-columns: repeat(var(--grid-columns), var(--grid-size));
790
- grid-column-gap: var(--grid-column-gap);
791
- grid-row-gap: var(--grid-row-gap);
792
- `;
793
- }
794
- function getVariant(variants, type) {
795
- return type && variants && variants[type] ? variants[type] || '' : '';
796
- }
797
755
  function isChildElement(parent, child) {
798
756
  if (!parent || !child) {
799
757
  return false;
@@ -844,8 +802,10 @@ function hasChildOfType(children, type) {
844
802
  return hasChildOfType;
845
803
  }
846
804
  function hypenize(text) {
847
- return text.replace(/(?<![A-Z])[A-Z]|(?<![0-9]|^)[0-9]/g, m => '-' + m.toLowerCase());
805
+ return text.replace(/(?<![A-Z])[A-Z]/g, m => '-' + m.toLowerCase());
806
+ // return text.replace(/(?<![A-Z])[A-Z]|(?<![0-9]|^)[0-9]/g, (m) => '-' + m.toLowerCase());
848
807
  }
808
+
849
809
  function camelize(text) {
850
810
  return text.replace(/(^[a-z])|-([a-z0-9])/gi, ($0, $1, $2) => $2 ? $2.toUpperCase() : $1.toUpperCase());
851
811
  }
@@ -1131,104 +1091,6 @@ const Breakpoint = props => {
1131
1091
  }) : null;
1132
1092
  };
1133
1093
 
1134
- const variants$2 = {
1135
- default: styled.css`
1136
- color: var(--color-primary-500);
1137
- border-color: var(--color-primary-100);
1138
- /*
1139
- box-shadow: var(--shadow-lg);
1140
- background-color: var(--color-neutral-100);
1141
- color: var(--color-neutral-900);
1142
- */
1143
- &>.btn:hover {
1144
- background-color: var(--color-primary-100);
1145
- }
1146
- &>.btn+.btn, &>.btn+.btn:hover {
1147
- border-color: var(--color-primary-100);
1148
- }
1149
- `,
1150
- alfa: styled.css`
1151
- `,
1152
- beta: styled.css`
1153
- `
1154
- };
1155
- const StyledButtonGroup = styled__default.default.div`
1156
- display: inline-flex;
1157
- overflow: hidden;
1158
-
1159
- &>.btn {
1160
- justify-content: center;
1161
- border: none;
1162
- }
1163
-
1164
- &>:global(.btn), &>:global(.btn:hover) {
1165
- border: none;
1166
- }
1167
-
1168
- color: var(--color-primary-500);
1169
- border: 1px solid var(--color-primary-100);
1170
- border-radius: var(--color-border-radius);
1171
-
1172
- ${props => styled.css`
1173
-
1174
- /*
1175
- box-shadow: var(--color-shadow-lg);
1176
- background-color: var(--color-neutral-100);
1177
- color: var(--color-neutral-900);
1178
- */
1179
-
1180
- &>.btn {
1181
- flex: 1 0 ${100 / (React__default.default.Children.count(props.children) || 1)}%;
1182
- }
1183
-
1184
- ${props.vertical ? styled.css`
1185
- flex-direction: column;
1186
- justify-content: stretch;
1187
-
1188
- &>.btn{
1189
- width: 100%;
1190
- }
1191
-
1192
- &>.btn+.btn, &>.btn+.btn:hover {
1193
- border-top: 1px solid var(--color-primary-100);
1194
- }
1195
- ` : styled.css`
1196
- flex-direction: row;
1197
- align-items: stretch;
1198
-
1199
- &>.btn{
1200
- height: auto;
1201
- }
1202
-
1203
- &>.btn+.btn, &>.btn+.btn:hover {
1204
- border-left: 1px solid var(--color-primary-100);
1205
- }
1206
- `}
1207
- `}
1208
-
1209
- ${props => getVariant(variants$2, props.type || 'default')}
1210
- ${props => getCssResponsive(props)}
1211
- `;
1212
- const ButtonGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
1213
- var {
1214
- children,
1215
- as = 'div',
1216
- type = 'default'
1217
- } = _a,
1218
- props = __rest(_a, ["children", "as", "type"]);
1219
- const mappedChildren = React.useMemo(() => React__default.default.Children.map(children, child => /*#__PURE__*/React__default.default.cloneElement(child, child.props ? Object.assign(Object.assign({}, child.props), {
1220
- className: `${child.props.className} btn`
1221
- }) : null)), [children]);
1222
- return jsxRuntime.jsx(StyledButtonGroup, Object.assign({}, props, {
1223
- type: type,
1224
- as: as,
1225
- ref: ref
1226
- }, {
1227
- children: mappedChildren
1228
- }));
1229
- });
1230
- ButtonGroup.displayName = 'ButtonGroup';
1231
-
1232
1094
  const CssDefault = styled.css`
1233
1095
  // display: inline-block;
1234
1096
  color: inherit;
@@ -1394,7 +1256,8 @@ const CssButtonSecondary = styled.css`
1394
1256
 
1395
1257
  &:hover,
1396
1258
  &.active {
1397
- border-color: var(--color-primary-300);
1259
+ background-color: var(--color-primary-200);
1260
+ border-color: var(--color-primary-200);
1398
1261
  color: var(--color-primary-600);
1399
1262
  }
1400
1263
 
@@ -1408,14 +1271,13 @@ const CssButtonOutline = styled.css`
1408
1271
  padding: 0.4em 1em;
1409
1272
  border-radius: var(--button-border-radius);
1410
1273
  background: transparent;
1411
- border: 2px solid var(--color-primary-500);
1274
+ border: 2px solid var(--color-primary-400);
1412
1275
  color: var(--color-primary-500);
1413
1276
 
1414
1277
  &:hover,
1415
1278
  &.active {
1416
- background: var(--color-primary-500);
1417
- border-color: var(--color-primary-600);
1418
- color: var(--color-neutral-100);
1279
+ border-color: var(--color-primary-500);
1280
+ color: var(--color-primary-600);
1419
1281
  }
1420
1282
 
1421
1283
  ${CssSvg}
@@ -1446,11 +1308,11 @@ const CssButtonGhost = styled.css`
1446
1308
  `;
1447
1309
  const CssButtonLink = styled.css`
1448
1310
  position: relative;
1449
- color: var(--color-primary-400);
1311
+ color: var(--color-primary-500);
1450
1312
 
1451
1313
  &:hover,
1452
1314
  &.active {
1453
- color: var(--color-primary-500);
1315
+ color: var(--color-primary-600);
1454
1316
  }
1455
1317
 
1456
1318
  ${CssAfter}
@@ -1458,11 +1320,11 @@ const CssButtonLink = styled.css`
1458
1320
  `;
1459
1321
  const CssButtonUnderline = styled.css`
1460
1322
  position: relative;
1461
- color: var(--color-primary-400);
1323
+ color: var(--color-primary-500);
1462
1324
 
1463
1325
  &:hover,
1464
1326
  &.active {
1465
- color: var(--color-primary-500);
1327
+ color: var(--color-primary-600);
1466
1328
  }
1467
1329
 
1468
1330
  ${CssAfterInverted}
@@ -1522,102 +1384,507 @@ const buttonVariants = {
1522
1384
  toggle: CssButtonToggle
1523
1385
  };
1524
1386
 
1525
- const defaultVariants = {
1526
- button: buttonVariants
1527
- };
1528
- const [useVariants_, VariantsContextProvider] = bomMixerHooks.createGenericContext(defaultVariants);
1529
- function VariantsProvider(_ref) {
1530
- let {
1531
- children,
1532
- variants
1533
- } = _ref;
1534
- // console.log('VariantsProvider.context', context);
1535
- const value = Object.assign({}, defaultVariants);
1536
- Object.entries(variants).forEach(_ref2 => {
1537
- let [k, v] = _ref2;
1538
- value[k] = Object.assign(Object.assign({}, value[k]), v);
1539
- });
1540
- return jsxRuntime.jsx(VariantsContextProvider, Object.assign({
1541
- value: value
1542
- }, {
1543
- children: children
1544
- }));
1545
- }
1546
- function useVariants(variant) {
1547
- const variants = useVariants_();
1548
- return variants ? variants[variant] : undefined;
1549
- }
1550
-
1551
- const StyledButton$2 = styled__default.default.div`
1552
- ${CssDefault}
1553
- ${props => getVariant(props.variants, props.variant)}
1554
- ${props => styled.css`font-size: var(--button-size-${props.size || 'md'});`}
1555
- ${props => getCssResponsive(props)}
1556
- `;
1557
- const Button = /*#__PURE__*/React.forwardRef((_a, ref) => {
1558
- var {
1559
- children,
1560
- className,
1561
- as = 'button',
1562
- type = 'button',
1563
- variants
1564
- } = _a,
1565
- props = __rest(_a, ["children", "className", "as", "type", "variants"]);
1566
- const classNames = bomCore.getClassNames('button', className, {
1567
- disabled: props.disabled
1568
- }, props.variant);
1569
- const globalVariants = useVariants('button');
1570
- variants = variants || globalVariants || buttonVariants;
1571
- // console.log('globalVariants', globalVariants);
1572
- return jsxRuntime.jsx(StyledButton$2, Object.assign({
1573
- className: classNames,
1574
- ref: ref,
1575
- as: as,
1576
- type: type,
1577
- variants: variants
1578
- }, props, {
1579
- children: children
1580
- }));
1581
- });
1582
- Button.displayName = 'Button';
1583
-
1584
- const Background = styled__default.default.div`
1585
- position: absolute;
1586
- top: 0;
1587
- left: 0;
1588
- // background: var(--color-neutral-900);
1387
+ const CssDividerDefault = styled.css`
1388
+ position: relative;
1389
+ display: flex;
1390
+ justify-content: center;
1391
+ align-items: center;
1392
+ max-width: 100%;
1589
1393
 
1590
- &, & > * {
1591
- width: 100%;
1592
- height: 100%;
1593
- display: flex;
1594
- justify-content: center;
1595
- align-items: center;
1394
+ &:before,
1395
+ &:after {
1396
+ content: '';
1397
+ display: block;
1398
+ flex: 1 0 auto;
1399
+ height: 1px;
1400
+ margin-top: 1px;
1401
+ background-color: var(--color-neutral-300);
1596
1402
  }
1597
1403
 
1598
- & > * > * {
1599
- width: 100%;
1600
- height: 100%;
1601
- object-fit: cover;
1404
+ .title {
1405
+ position: relative;
1406
+ display: inline-flex;
1407
+ align-items: center;
1408
+ padding: 0 0.75em;
1409
+ font-weight: 700;
1410
+ font-size: 0.8rem;
1411
+ text-transform: uppercase;
1412
+ color: var(--color-neutral-400);
1413
+ z-index: 1;
1414
+ white-space: nowrap;
1602
1415
  }
1603
-
1604
- ${props => getCssResponsive(props)}
1605
1416
  `;
1606
- Background.defaultProps = {
1607
- className: 'background'
1417
+ const dividerVariants = {
1418
+ default: CssDividerDefault
1608
1419
  };
1609
1420
 
1610
- const CardContent = styled__default.default.div`
1611
- position: relative;
1612
- ${props => getCssResponsive(props)}
1421
+ const CssFieldErrorDefault = styled.css`
1422
+ margin: 0.5em 0;
1423
+ padding: 0.2em 0.5em;
1424
+ font-size: var(--font-paragraph50-size, --form-font-size, 1rem);
1425
+ font-weight: 500;
1426
+ border: 1px solid var(--form-border-color-error);
1427
+ background: var(--form-background-color-error);
1428
+ color: var(--form-color-error);
1613
1429
  `;
1430
+ const fieldErrorVariants = {
1431
+ default: CssFieldErrorDefault
1432
+ };
1614
1433
 
1615
- const CardFooter = styled__default.default.div`
1616
- flex: 0 0 4em;
1617
- position: relative;
1434
+ const CssFieldDefault = styled.css`
1618
1435
  display: flex;
1619
- justify-content: space-between;
1620
- align-items: center;
1436
+ flex-direction: column;
1437
+ // margin-bottom: 0.5rem;
1438
+
1439
+ label {
1440
+ font-weight: 500;
1441
+ margin-bottom: 0.3rem;
1442
+ }
1443
+ `;
1444
+ const fieldVariants = {
1445
+ default: CssFieldDefault
1446
+ };
1447
+
1448
+ const CssFormErrorDefault = styled.css`
1449
+ padding: var(--form-padding);
1450
+ font-weight: 700;
1451
+ text-align: center;
1452
+ border: 1px solid var(--form-border-color-error);
1453
+ background: var(--form-background-color-error);
1454
+ color: var(--form-color-error);
1455
+ `;
1456
+ const formErrorVariants = {
1457
+ default: CssFormErrorDefault
1458
+ };
1459
+
1460
+ const CssFormTesterDefault = styled.css`
1461
+ padding: var(--form-padding);
1462
+ border: 1px solid var(--form-border-color-info);
1463
+ background: var(--form-background-color-info);
1464
+ color: var(--form-color-info);
1465
+
1466
+ code {
1467
+ font-size: 0.8em;
1468
+ line-height: 1.3;
1469
+ }
1470
+ `;
1471
+ const formTesterVariants = {
1472
+ default: CssFormTesterDefault
1473
+ };
1474
+
1475
+ const CssFormControl = styled.css`
1476
+ appearance: none;
1477
+ font-family: inherit;
1478
+ font-size: var(--form-font-size);
1479
+ line-height: var(--form-line-height);
1480
+ border: var(--form-border);
1481
+ border-width: var(--form-border-width);
1482
+ border-color: var(--form-border-color);
1483
+ border-radius: var(--form-border-radius);
1484
+ outline: var(--form-outline);
1485
+ outline-offset: var(--form-outline-offset);
1486
+ background-color: var(--form-background-color);
1487
+ color: var(--form-color);
1488
+ transition: var(--form-transition);
1489
+
1490
+ &>svg {
1491
+ width: 1.5em;
1492
+ height: 1.5em;
1493
+ }
1494
+
1495
+ &::placeholder {
1496
+ color: inherit;
1497
+ opacity: 0.3;
1498
+ }
1499
+
1500
+ &.hidden {
1501
+ display: none;
1502
+ }
1503
+
1504
+ &.disabled {
1505
+ background-color: var(--form-background-color-disabled);
1506
+ color: var(--form-color-disabled);
1507
+ cursor: not-allowed;
1508
+ }
1509
+
1510
+ &:hover:not(.disabled) {
1511
+ border-color: var(--form-border-color-hover);
1512
+ }
1513
+
1514
+ &:active:not(.disabled),
1515
+ &.active:not(.disabled) {
1516
+ outline-color: var(--form-outline-color-focus);
1517
+ border-color: var(--form-border-color-hover);
1518
+
1519
+ .placeholder {
1520
+ opacity: 0.5;
1521
+ }
1522
+ }
1523
+
1524
+ &:focus,
1525
+ &:focus-visible {
1526
+ outline-color: var(--form-outline-color-focus);
1527
+
1528
+ &::placeholder {
1529
+ opacity: 0.5;
1530
+ }
1531
+ }
1532
+
1533
+ &.focus {
1534
+ outline-color: var(--form-outline-color-focus);
1535
+
1536
+ input::placeholder {
1537
+ opacity: 0.5;
1538
+ }
1539
+ }
1540
+ `;
1541
+
1542
+ const CssInputContainerDefault = styled.css`
1543
+ ${CssFormControl}
1544
+
1545
+ display: flex;
1546
+ align-items: center;
1547
+ width: 100%;
1548
+ cursor: pointer;
1549
+
1550
+ input {
1551
+ flex-grow: 1;
1552
+ }
1553
+
1554
+ input::placeholder {
1555
+ opacity: 0.3;
1556
+ }
1557
+
1558
+ &>:first-child:not(input) {
1559
+ margin: 0 0.5em;
1560
+ }
1561
+
1562
+ &>:last-child:not(input) {
1563
+ margin: 0 0.5em;
1564
+ }
1565
+ `;
1566
+ const CssInputReset = styled.css`
1567
+ display: block;
1568
+ appearance: none;
1569
+ color: inherit;
1570
+ background-color: transparent;
1571
+ border: none;
1572
+ outline: none;
1573
+ min-width: 0;
1574
+
1575
+ &::placeholder {
1576
+ color: inherit;
1577
+ }
1578
+
1579
+ &:-webkit-autofill,
1580
+ &:-webkit-autofill:hover,
1581
+ &:-webkit-autofill:focus,
1582
+ &:-webkit-autofill:active {
1583
+ // -webkit-box-shadow: 0 0 0 30px white inset !important;
1584
+ transition: all 0s 50000s;
1585
+ text-decoration: underline;
1586
+ }
1587
+ `;
1588
+ const CssInputDefault = styled.css`
1589
+ ${CssInputReset}
1590
+
1591
+ padding: var(--form-padding);
1592
+ font-size: var(--form-font-size);
1593
+ line-height: var(--form-line-height);
1594
+ border-radius: var(--form-border-radius);
1595
+
1596
+ &::placeholder {
1597
+ opacity: 0.3;
1598
+ }
1599
+ `;
1600
+ const inputVariants = {
1601
+ default: {
1602
+ input: CssInputDefault,
1603
+ container: CssInputContainerDefault
1604
+ }
1605
+ };
1606
+
1607
+ const CssLabelDefault = styled.css`
1608
+ display: flex;
1609
+ align-items: center;
1610
+ width: 100%;
1611
+ font-size: var(--font-paragraph30-size, --form-font-size, 1rem);
1612
+ cursor: pointer;
1613
+ `;
1614
+ const labelVariants = {
1615
+ default: CssLabelDefault
1616
+ };
1617
+
1618
+ const CssTextareaDefault = styled.css`
1619
+ ${CssFormControl}
1620
+ display: block;
1621
+ width: 100%;
1622
+ padding: var(--form-padding);
1623
+ resize: vertical;
1624
+ min-height: 4em;
1625
+ cursor: pointer;
1626
+ `;
1627
+ const textareaVariants = {
1628
+ default: CssTextareaDefault
1629
+ };
1630
+
1631
+ const defaultVariants = {};
1632
+ const defaultVariants__ = {
1633
+ button: buttonVariants,
1634
+ input: inputVariants,
1635
+ label: labelVariants,
1636
+ field: fieldVariants,
1637
+ fieldError: fieldErrorVariants,
1638
+ formError: formErrorVariants,
1639
+ formTester: formTesterVariants,
1640
+ textarea: textareaVariants,
1641
+ divider: dividerVariants
1642
+ };
1643
+
1644
+ const [useVariants_, VariantsContextProvider] = bomMixerHooks.createGenericContext(defaultVariants);
1645
+ function VariantsProvider(_ref) {
1646
+ let {
1647
+ children,
1648
+ variants
1649
+ } = _ref;
1650
+ // console.log('VariantsProvider.context', context);
1651
+ const value = Object.assign({}, defaultVariants);
1652
+ Object.entries(variants).forEach(_ref2 => {
1653
+ let [k, v] = _ref2;
1654
+ value[k] = Object.assign(Object.assign({}, value[k]), v);
1655
+ });
1656
+ /*
1657
+ const value: IVariants = { ...defaultVariants };
1658
+ */
1659
+ /*
1660
+ for (const [k, v] of Object.entries(value)) {
1661
+ value[k as keyof IVariants] = {...v};
1662
+ }
1663
+ */
1664
+ /*
1665
+ Object.entries(variants).forEach(([k, v]) => {
1666
+ Object.assign(value[k as keyof IVariants], v);
1667
+ });
1668
+ */
1669
+ return jsxRuntime.jsx(VariantsContextProvider, Object.assign({
1670
+ value: value
1671
+ }, {
1672
+ children: children
1673
+ }));
1674
+ }
1675
+ function useVariants(variant) {
1676
+ const variants = useVariants_();
1677
+ return variants ? variants[variant] : undefined;
1678
+ }
1679
+
1680
+ function getVariant(type, variants) {
1681
+ return type && variants && variants[type] ? variants[type] || '' : '';
1682
+ }
1683
+ function getVariantKey(key, type, variants) {
1684
+ if (type !== undefined && variants !== undefined && variants[type] !== undefined) {
1685
+ const variant = variants[type];
1686
+ return variant[key] || '';
1687
+ } else {
1688
+ return '';
1689
+ }
1690
+ }
1691
+ function getVariantResponsive(props, callback) {
1692
+ const keys = ['variant', 'variantSm', 'variantMd', 'variantLg', 'variantXl'];
1693
+ const theme = props.theme;
1694
+ const mediaQuery = theme.mediaQuery;
1695
+ return keys.map(key => {
1696
+ const value = props[key];
1697
+ if (value) {
1698
+ const rule = callback(value, theme);
1699
+ if (key !== 'variant') {
1700
+ const size = key.replace('variant', '').toLowerCase();
1701
+ // console.log('size', size, 'rule', rule);
1702
+ return styled.css`@media(min-width: ${mediaQuery[size]}) {
1703
+ ${rule}
1704
+ }`;
1705
+ } else {
1706
+ return rule;
1707
+ }
1708
+ } else {
1709
+ return undefined;
1710
+ }
1711
+ }).filter(Boolean);
1712
+ }
1713
+ function getFontVariantResponsive(props, callback) {
1714
+ return getVariantResponsive(props, (key, theme) => {
1715
+ const font = theme.font[key];
1716
+ return font ? callback(key, font) : '';
1717
+ });
1718
+ }
1719
+
1720
+ const variants$2 = {
1721
+ default: styled.css`
1722
+ color: var(--color-primary-500);
1723
+ border-color: var(--color-primary-100);
1724
+ /*
1725
+ box-shadow: var(--shadow-lg);
1726
+ background-color: var(--color-neutral-100);
1727
+ color: var(--color-neutral-900);
1728
+ */
1729
+ &>.btn:hover {
1730
+ background-color: var(--color-primary-100);
1731
+ }
1732
+ &>.btn+.btn, &>.btn+.btn:hover {
1733
+ border-color: var(--color-primary-100);
1734
+ }
1735
+ `,
1736
+ alfa: styled.css`
1737
+ `,
1738
+ beta: styled.css`
1739
+ `
1740
+ };
1741
+ const StyledButtonGroup = styled__default.default.div`
1742
+ display: inline-flex;
1743
+ overflow: hidden;
1744
+
1745
+ &>.btn {
1746
+ justify-content: center;
1747
+ border: none;
1748
+ }
1749
+
1750
+ &>:global(.btn), &>:global(.btn:hover) {
1751
+ border: none;
1752
+ }
1753
+
1754
+ color: var(--color-primary-500);
1755
+ border: 1px solid var(--color-primary-100);
1756
+ border-radius: var(--color-border-radius);
1757
+
1758
+ ${props => styled.css`
1759
+
1760
+ /*
1761
+ box-shadow: var(--color-shadow-lg);
1762
+ background-color: var(--color-neutral-100);
1763
+ color: var(--color-neutral-900);
1764
+ */
1765
+
1766
+ &>.btn {
1767
+ flex: 1 0 ${100 / (React__default.default.Children.count(props.children) || 1)}%;
1768
+ }
1769
+
1770
+ ${props.vertical ? styled.css`
1771
+ flex-direction: column;
1772
+ justify-content: stretch;
1773
+
1774
+ &>.btn{
1775
+ width: 100%;
1776
+ }
1777
+
1778
+ &>.btn+.btn, &>.btn+.btn:hover {
1779
+ border-top: 1px solid var(--color-primary-100);
1780
+ }
1781
+ ` : styled.css`
1782
+ flex-direction: row;
1783
+ align-items: stretch;
1784
+
1785
+ &>.btn{
1786
+ height: auto;
1787
+ }
1788
+
1789
+ &>.btn+.btn, &>.btn+.btn:hover {
1790
+ border-left: 1px solid var(--color-primary-100);
1791
+ }
1792
+ `}
1793
+ `}
1794
+
1795
+ ${props => getVariant(props.type || 'default', variants$2)}
1796
+ ${props => getCssResponsive(props)}
1797
+ `;
1798
+ const ButtonGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
1799
+ var {
1800
+ children,
1801
+ as = 'div',
1802
+ type = 'default'
1803
+ } = _a,
1804
+ props = __rest(_a, ["children", "as", "type"]);
1805
+ const mappedChildren = React.useMemo(() => React__default.default.Children.map(children, child => /*#__PURE__*/React__default.default.cloneElement(child, child.props ? Object.assign(Object.assign({}, child.props), {
1806
+ className: `${child.props.className} btn`
1807
+ }) : null)), [children]);
1808
+ return jsxRuntime.jsx(StyledButtonGroup, Object.assign({}, props, {
1809
+ type: type,
1810
+ as: as,
1811
+ ref: ref
1812
+ }, {
1813
+ children: mappedChildren
1814
+ }));
1815
+ });
1816
+ ButtonGroup.displayName = 'ButtonGroup';
1817
+
1818
+ const StyledButton$2 = styled__default.default.div`
1819
+ ${CssDefault}
1820
+ ${props => getVariant(props.variant, props.variants)}
1821
+ ${props => styled.css`font-size: var(--button-size-${props.size || 'md'});`}
1822
+ ${props => getCssResponsive(props)}
1823
+ `;
1824
+ const Button = /*#__PURE__*/React.forwardRef((_a, ref) => {
1825
+ var {
1826
+ children,
1827
+ className,
1828
+ as = 'button',
1829
+ type = 'button',
1830
+ variants
1831
+ } = _a,
1832
+ props = __rest(_a, ["children", "className", "as", "type", "variants"]);
1833
+ const classNames = bomCore.getClassNames('button', className, {
1834
+ disabled: props.disabled
1835
+ }, props.variant);
1836
+ const globalVariants = useVariants('button');
1837
+ variants = variants || globalVariants || buttonVariants;
1838
+ // console.log('globalVariants', globalVariants);
1839
+ return jsxRuntime.jsx(StyledButton$2, Object.assign({
1840
+ className: classNames,
1841
+ ref: ref,
1842
+ as: as,
1843
+ type: type,
1844
+ variants: variants
1845
+ }, props, {
1846
+ children: children
1847
+ }));
1848
+ });
1849
+ Button.displayName = 'Button';
1850
+
1851
+ const Background = styled__default.default.div`
1852
+ position: absolute;
1853
+ top: 0;
1854
+ left: 0;
1855
+ // background: var(--color-neutral-900);
1856
+
1857
+ &, & > * {
1858
+ width: 100%;
1859
+ height: 100%;
1860
+ display: flex;
1861
+ justify-content: center;
1862
+ align-items: center;
1863
+ }
1864
+
1865
+ & > * > * {
1866
+ width: 100%;
1867
+ height: 100%;
1868
+ object-fit: cover;
1869
+ }
1870
+
1871
+ ${props => getCssResponsive(props)}
1872
+ `;
1873
+ Background.defaultProps = {
1874
+ className: 'background'
1875
+ };
1876
+
1877
+ const CardContent = styled__default.default.div`
1878
+ position: relative;
1879
+ ${props => getCssResponsive(props)}
1880
+ `;
1881
+
1882
+ const CardFooter = styled__default.default.div`
1883
+ flex: 0 0 4em;
1884
+ position: relative;
1885
+ display: flex;
1886
+ justify-content: space-between;
1887
+ align-items: center;
1621
1888
  border-top: 1px solid var(--color-neutral-100);
1622
1889
  ${props => getCssResponsive(props)}
1623
1890
  `;
@@ -1650,7 +1917,7 @@ const StyledCard$5 = styled__default.default.div`
1650
1917
  flex-direction: column;
1651
1918
  // margin: 0 0 40px 0;
1652
1919
 
1653
- ${props => getVariant(variants$1, props.variant)}
1920
+ ${props => getVariant(props.variant, variants$1)}
1654
1921
  ${props => getCssResponsive(props)}
1655
1922
  ${props => getAspectResponsive(props)};
1656
1923
  ${props => props.hoverable ? styled.css`
@@ -1748,52 +2015,44 @@ const Container = bomCore.withSchema(ContainerBase, {
1748
2015
  Fluid: ContainerFluid,
1749
2016
  displayName: 'Container'
1750
2017
  });
1751
-
1752
- const DividerContainer = styled__default.default.div`
1753
- position: relative;
1754
- display: flex;
1755
- justify-content: center;
1756
- max-width: 100%;
1757
-
1758
- &:before {
1759
- content: '';
1760
- display: block;
1761
- position: absolute;
1762
- width: 100%;
1763
- height: 1px;
1764
- left: 0;
1765
- top: 50%;
1766
- margin-top: 1px;
1767
- background-color: var(--color-neutral-300);
2018
+ function getContainer(props) {
2019
+ const theme = props.theme;
2020
+ const variant = props.variant || 'default';
2021
+ const container = theme.container[variant];
2022
+ if (container && container.maxWidth) {
2023
+ return eachMedia(props, key => `max-width: ${container.maxWidth[key]}`);
2024
+ } else {
2025
+ return '';
1768
2026
  }
2027
+ }
1769
2028
 
2029
+ const DividerContainer = styled__default.default.div`
2030
+ ${props => getVariant(props.variant, props.variants)}
1770
2031
  ${props => getCssResponsive(props, {
1771
2032
  padding: props.children ? '1rem 0' : '0.5rem 0'
1772
2033
  })}
1773
2034
  `;
1774
- const DividerTitle = styled__default.default.span`
1775
- position: relative;
1776
- display: inline-flex;
1777
- align-items: center;
1778
- padding: 0 0.75em;
1779
- font-weight: 700;
1780
- font-size: 0.8rem;
1781
- text-transform: uppercase;
1782
- background-color: var(--color-neutral-100);
1783
- color: var(--color-neutral-400);
1784
- z-index: 1;
1785
- white-space: nowrap;
1786
- `;
1787
2035
  const Divider = _a => {
1788
2036
  var {
2037
+ className,
1789
2038
  children,
1790
- as = 'div'
2039
+ as = 'div',
2040
+ variant = 'default',
2041
+ variants
1791
2042
  } = _a,
1792
- props = __rest(_a, ["children", "as"]);
2043
+ props = __rest(_a, ["className", "children", "as", "variant", "variants"]);
2044
+ const classNames = bomCore.getClassNames('divider', className, variant);
2045
+ const globalVariants = useVariants('divider');
2046
+ variants = variants || globalVariants || dividerVariants;
1793
2047
  return jsxRuntime.jsx(DividerContainer, Object.assign({
1794
- as: as
2048
+ as: as,
2049
+ className: classNames,
2050
+ variant: variant,
2051
+ variants: variants
1795
2052
  }, props, {
1796
- children: children && jsxRuntime.jsx(DividerTitle, Object.assign({}, props, {
2053
+ children: children && jsxRuntime.jsx("span", Object.assign({
2054
+ className: "title"
2055
+ }, {
1797
2056
  children: children
1798
2057
  }))
1799
2058
  }));
@@ -2961,9 +3220,48 @@ var button = {
2961
3220
  borderRadius: "0.2em"
2962
3221
  };
2963
3222
  var form = {
2964
- fontSize: "1.125rem",
2965
- lineHeight: "1.6",
2966
- padding: "0.8em"
3223
+ "default": {
3224
+ fontSize: "1rem",
3225
+ lineHeight: "1.625",
3226
+ padding: "0.8em",
3227
+ backgroundColor: "transparent",
3228
+ backgroundColorDisabled: "var(--color-neutral-200)",
3229
+ backgroundColorInfo: "var(--color-warning-100)",
3230
+ backgroundColorError: "var(--color-warning-100)",
3231
+ color: "inherit",
3232
+ colorHover: "var(--color-neutral-900)",
3233
+ colorDisabled: "var(--color-neutral-700)",
3234
+ colorInfo: "var(--color-warning-900)",
3235
+ colorError: "var(--color-warning-900)",
3236
+ border: "0 solid transparent",
3237
+ borderWidth: "2px",
3238
+ borderColor: "var(--color-neutral-200)",
3239
+ borderColorHover: "var(--color-neutral-300)",
3240
+ borderColorDisabled: "var(--color-neutral-300)",
3241
+ borderColorInfo: "var(--color-warning-500)",
3242
+ borderColorError: "var(--color-warning-500)",
3243
+ borderRadius: "var(--border-radius)",
3244
+ outline: "2px solid transparent",
3245
+ outlineColorFocus: "var(--color-primary-200)",
3246
+ outlineColorActive: "var(--color-primary-500)",
3247
+ outlineColorError: "var(--color-warning-500)",
3248
+ outlineOffset: "2px",
3249
+ transition: "border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s, box-shadow 200ms ease 0s"
3250
+ },
3251
+ negative: {
3252
+ padding: "0.8em",
3253
+ backgroundColorDisabled: "var(--color-neutral-800)",
3254
+ colorHover: "var(--color-neutral-200)",
3255
+ colorDisabled: "var(--color-neutral-600)",
3256
+ borderColor: "var(--color-neutral-700)",
3257
+ borderColorHover: "var(--color-neutral-600)",
3258
+ borderColorDisabled: "var(--color-neutral-700)",
3259
+ outlineColorFocus: "var(--color-primary-800)",
3260
+ outlineColorActive: "var(--color-primary-500)",
3261
+ borderWidth: "0 0 2px 0",
3262
+ borderRadius: "0",
3263
+ outlineOffset: "0"
3264
+ }
2967
3265
  };
2968
3266
  var card = {
2969
3267
  shadow: "0 20px 20px -10px rgba(0,0,0,0.2)"
@@ -2994,15 +3292,15 @@ var color = {
2994
3292
  "900": "#09090A"
2995
3293
  },
2996
3294
  primary: {
2997
- "100": "#e0e6ef",
2998
- "200": "#bee3f5",
2999
- "300": "#86cdee",
3000
- "400": "#5bbce9",
3295
+ "100": "#def2ff",
3296
+ "200": "#b6e7ff",
3297
+ "300": "#75d5ff",
3298
+ "400": "#2cc1ff",
3001
3299
  "500": "#00a2ed",
3002
- "600": "#0071a6",
3003
- "700": "#005177",
3004
- "800": "#003147",
3005
- "900": "#001018"
3300
+ "600": "#0087d4",
3301
+ "700": "#006bab",
3302
+ "800": "#005a8d",
3303
+ "900": "#064b74"
3006
3304
  },
3007
3305
  secondary: {
3008
3306
  "100": "#e6fded",
@@ -3132,9 +3430,44 @@ const CssVars = styled.css`
3132
3430
  --button-size-lg: 1.25rem;
3133
3431
  --button-size-xl: 1.45rem;
3134
3432
  --button-border-radius: 0.2em;
3135
- --form-font-size: 1.125rem;
3136
- --form-line-height: 1.6;
3137
- --form-padding: 0.8em;
3433
+ --form-default-font-size: 1rem;
3434
+ --form-default-line-height: 1.625;
3435
+ --form-default-padding: 0.8em;
3436
+ --form-default-background-color: transparent;
3437
+ --form-default-background-color-disabled: var(--color-neutral-200);
3438
+ --form-default-background-color-info: var(--color-warning-100);
3439
+ --form-default-background-color-error: var(--color-warning-100);
3440
+ --form-default-color: inherit;
3441
+ --form-default-color-hover: var(--color-neutral-900);
3442
+ --form-default-color-disabled: var(--color-neutral-700);
3443
+ --form-default-color-info: var(--color-warning-900);
3444
+ --form-default-color-error: var(--color-warning-900);
3445
+ --form-default-border: 0 solid transparent;
3446
+ --form-default-border-width: 2px;
3447
+ --form-default-border-color: var(--color-neutral-200);
3448
+ --form-default-border-color-hover: var(--color-neutral-300);
3449
+ --form-default-border-color-disabled: var(--color-neutral-300);
3450
+ --form-default-border-color-info: var(--color-warning-500);
3451
+ --form-default-border-color-error: var(--color-warning-500);
3452
+ --form-default-border-radius: var(--border-radius);
3453
+ --form-default-outline: 2px solid transparent;
3454
+ --form-default-outline-color-focus: var(--color-primary-200);
3455
+ --form-default-outline-color-active: var(--color-primary-500);
3456
+ --form-default-outline-color-error: var(--color-warning-500);
3457
+ --form-default-outline-offset: 2px;
3458
+ --form-default-transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s, box-shadow 200ms ease 0s;
3459
+ --form-negative-padding: 0.8em;
3460
+ --form-negative-background-color-disabled: var(--color-neutral-800);
3461
+ --form-negative-color-hover: var(--color-neutral-200);
3462
+ --form-negative-color-disabled: var(--color-neutral-600);
3463
+ --form-negative-border-color: var(--color-neutral-700);
3464
+ --form-negative-border-color-hover: var(--color-neutral-600);
3465
+ --form-negative-border-color-disabled: var(--color-neutral-700);
3466
+ --form-negative-outline-color-focus: var(--color-primary-800);
3467
+ --form-negative-outline-color-active: var(--color-primary-500);
3468
+ --form-negative-border-width: 0 0 2px 0;
3469
+ --form-negative-border-radius: 0;
3470
+ --form-negative-outline-offset: 0;
3138
3471
  --card-shadow: 0 20px 20px -10px rgba(0,0,0,0.2);
3139
3472
  --backdrop-opacity: 0.5;
3140
3473
  --border-radius: 0.5em;
@@ -3152,15 +3485,15 @@ const CssVars = styled.css`
3152
3485
  --color-neutral-700: #44444B;
3153
3486
  --color-neutral-800: #27272B;
3154
3487
  --color-neutral-900: #09090A;
3155
- --color-primary-100: #e0e6ef;
3156
- --color-primary-200: #bee3f5;
3157
- --color-primary-300: #86cdee;
3158
- --color-primary-400: #5bbce9;
3488
+ --color-primary-100: #def2ff;
3489
+ --color-primary-200: #b6e7ff;
3490
+ --color-primary-300: #75d5ff;
3491
+ --color-primary-400: #2cc1ff;
3159
3492
  --color-primary-500: #00a2ed;
3160
- --color-primary-600: #0071a6;
3161
- --color-primary-700: #005177;
3162
- --color-primary-800: #003147;
3163
- --color-primary-900: #001018;
3493
+ --color-primary-600: #0087d4;
3494
+ --color-primary-700: #006bab;
3495
+ --color-primary-800: #005a8d;
3496
+ --color-primary-900: #064b74;
3164
3497
  --color-secondary-100: #e6fded;
3165
3498
  --color-secondary-200: #b3f9ca;
3166
3499
  --color-secondary-300: #80f5a7;
@@ -3198,33 +3531,102 @@ const CssVars = styled.css`
3198
3531
  --color-danger-800: #8F0F02;
3199
3532
  --color-danger-900: #760301;
3200
3533
 
3201
- --grid-column-gap: var(--grid-default-column-gap-xs);
3202
- --grid-row-gap: var(--grid-default-row-gap-xs);
3203
- --container-max-width: var(--container-default-max-width-xs);
3204
-
3205
- @media (min-width: 768px) {
3534
+ --grid-columns: var(--grid-default-columns);
3535
+ --grid-size: var(--grid-default-size);
3536
+ --grid-column-gap-xs: var(--grid-default-column-gap-xs);
3537
+ --grid-column-gap-sm: var(--grid-default-column-gap-sm);
3538
+ --grid-column-gap-md: var(--grid-default-column-gap-md);
3539
+ --grid-column-gap-lg: var(--grid-default-column-gap-lg);
3540
+ --grid-column-gap-xl: var(--grid-default-column-gap-xl);
3541
+ --grid-row-gap-xs: var(--grid-default-row-gap-xs);
3542
+ --grid-row-gap-sm: var(--grid-default-row-gap-sm);
3543
+ --grid-row-gap-md: var(--grid-default-row-gap-md);
3544
+ --grid-row-gap-lg: var(--grid-default-row-gap-lg);
3545
+ --grid-row-gap-xl: var(--grid-default-row-gap-xl);
3546
+ --container-max-width-xs: var(--container-default-max-width-xs);
3547
+ --container-max-width-sm: var(--container-default-max-width-sm);
3548
+ --container-max-width-md: var(--container-default-max-width-md);
3549
+ --container-max-width-lg: var(--container-default-max-width-lg);
3550
+ --container-max-width-xl: var(--container-default-max-width-xl);
3551
+ --form-font-size: var(--form-default-font-size);
3552
+ --form-line-height: var(--form-default-line-height);
3553
+ --form-padding: var(--form-default-padding);
3554
+ --form-background-color: var(--form-default-background-color);
3555
+ --form-background-color-disabled: var(--form-default-background-color-disabled);
3556
+ --form-background-color-info: var(--form-default-background-color-info);
3557
+ --form-background-color-error: var(--form-default-background-color-error);
3558
+ --form-color: var(--form-default-color);
3559
+ --form-color-hover: var(--form-default-color-hover);
3560
+ --form-color-disabled: var(--form-default-color-disabled);
3561
+ --form-color-info: var(--form-default-color-info);
3562
+ --form-color-error: var(--form-default-color-error);
3563
+ --form-border: var(--form-default-border);
3564
+ --form-border-width: var(--form-default-border-width);
3565
+ --form-border-color: var(--form-default-border-color);
3566
+ --form-border-color-hover: var(--form-default-border-color-hover);
3567
+ --form-border-color-disabled: var(--form-default-border-color-disabled);
3568
+ --form-border-color-info: var(--form-default-border-color-info);
3569
+ --form-border-color-error: var(--form-default-border-color-error);
3570
+ --form-border-radius: var(--form-default-border-radius);
3571
+ --form-outline: var(--form-default-outline);
3572
+ --form-outline-color-focus: var(--form-default-outline-color-focus);
3573
+ --form-outline-color-active: var(--form-default-outline-color-active);
3574
+ --form-outline-color-error: var(--form-default-outline-color-error);
3575
+ --form-outline-offset: var(--form-default-outline-offset);
3576
+ --form-transition: var(--form-default-transition);
3577
+
3578
+ --font-base-size: var(--font-base-size-xs);
3579
+ --grid-column-gap: var(--grid-default-column-gap-xs);
3580
+ --grid-row-gap: var(--grid-default-row-gap-xs);
3581
+ --media-query: var(--media-query-xs);
3582
+ --container-max-width: var(--container-default-max-width-xs);
3583
+ --container-fluid-max-width: var(--container-fluid-max-width-xs);
3584
+ --button-size: var(--button-size-xs);
3585
+ --shadow: var(--shadow-xs);
3586
+
3587
+ @media (min-width: 768px) {
3588
+ --font-base-size: var(--font-base-size-sm);
3206
3589
  --grid-column-gap: var(--grid-default-column-gap-sm);
3207
3590
  --grid-row-gap: var(--grid-default-row-gap-sm);
3591
+ --media-query: var(--media-query-sm);
3208
3592
  --container-max-width: var(--container-default-max-width-sm);
3209
- }
3593
+ --container-fluid-max-width: var(--container-fluid-max-width-sm);
3594
+ --button-size: var(--button-size-sm);
3595
+ --shadow: var(--shadow-sm);
3596
+ };
3210
3597
 
3211
- @media (min-width: 1024px) {
3598
+ @media (min-width: 1024px) {
3599
+ --font-base-size: var(--font-base-size-md);
3212
3600
  --grid-column-gap: var(--grid-default-column-gap-md);
3213
3601
  --grid-row-gap: var(--grid-default-row-gap-md);
3602
+ --media-query: var(--media-query-md);
3214
3603
  --container-max-width: var(--container-default-max-width-md);
3215
- }
3604
+ --container-fluid-max-width: var(--container-fluid-max-width-md);
3605
+ --button-size: var(--button-size-md);
3606
+ --shadow: var(--shadow-md);
3607
+ };
3216
3608
 
3217
- @media (min-width: 1440px) {
3609
+ @media (min-width: 1440px) {
3610
+ --font-base-size: var(--font-base-size-lg);
3218
3611
  --grid-column-gap: var(--grid-default-column-gap-lg);
3219
3612
  --grid-row-gap: var(--grid-default-row-gap-lg);
3613
+ --media-query: var(--media-query-lg);
3220
3614
  --container-max-width: var(--container-default-max-width-lg);
3221
- }
3615
+ --container-fluid-max-width: var(--container-fluid-max-width-lg);
3616
+ --button-size: var(--button-size-lg);
3617
+ --shadow: var(--shadow-lg);
3618
+ };
3222
3619
 
3223
- @media (min-width: 1600px) {
3620
+ @media (min-width: 1600px) {
3621
+ --font-base-size: var(--font-base-size-xl);
3224
3622
  --grid-column-gap: var(--grid-default-column-gap-xl);
3225
3623
  --grid-row-gap: var(--grid-default-row-gap-xl);
3624
+ --media-query: var(--media-query-xl);
3226
3625
  --container-max-width: var(--container-default-max-width-xl);
3227
- }
3626
+ --container-fluid-max-width: var(--container-fluid-max-width-xl);
3627
+ --button-size: var(--button-size-xl);
3628
+ --shadow: var(--shadow-xl);
3629
+ };
3228
3630
 
3229
3631
  }
3230
3632
  `;
@@ -3604,6 +4006,35 @@ const GridRow = styled__default.default.div`
3604
4006
  ${props => getCssResponsive(props)}
3605
4007
  ${props => getGrid(props)}
3606
4008
  `;
4009
+ function getGrid(props, defaultValue) {
4010
+ if (defaultValue === void 0) {
4011
+ defaultValue = {};
4012
+ }
4013
+ props = Object.assign(Object.assign({}, defaultValue), props);
4014
+ const variant = props.variant || 'default';
4015
+ return styled.css`
4016
+ ${props.columns ? styled.css`
4017
+ --grid-columns: ${props.columns};
4018
+ ` : styled.css`
4019
+ --grid-columns: var(--grid-${variant}-columns, 12);
4020
+ `}
4021
+ ${props.size ? styled.css`
4022
+ --grid-size: ${props.size};
4023
+ ` : styled.css`
4024
+ --grid-size: var(--grid-${variant}-size, 1fr);
4025
+ `}
4026
+ ${props.columnGap ? styled.css`
4027
+ --grid-column-gap: ${props.columnGap};
4028
+ ` : eachMedia(props, key => `--grid-column-gap: var(--grid-${variant}-column-gap-${key}, 0);`)}
4029
+ ${props.rowGap ? styled.css`
4030
+ --grid-row-gap: ${props.rowGap};
4031
+ ` : eachMedia(props, key => `--grid-row-gap: var(--grid-${variant}-row-gap-${key}, 0);`)}
4032
+ display: grid;
4033
+ grid-template-columns: repeat(var(--grid-columns), var(--grid-size));
4034
+ grid-column-gap: var(--grid-column-gap);
4035
+ grid-row-gap: var(--grid-row-gap);
4036
+ `;
4037
+ }
3607
4038
 
3608
4039
  const GridBase = styled__default.default.div`
3609
4040
  // default grid column
@@ -4514,25 +4945,17 @@ const CssUl = styled.css`
4514
4945
  }
4515
4946
  `;
4516
4947
  const StyledText = styled__default.default.div`
4517
- ${props => {
4518
- const variant = props.variant;
4519
- const font = variant && props.theme.font[variant];
4520
- // console.log(props.children, variant, size);
4521
- return styled.css`
4522
- ${font ? styled.css`
4523
- font-family: var(--font-${variant}-family, var(--base-font-family));
4524
- // font-size: var(--font-${variant}-size, 1rem);
4525
- ${font.size && typeof font.size === 'object' ? eachMedia(props, key => `font-size: var(--font-${variant}-size-${key});`) : `font-size: var(--font-${variant}-size, 1rem)`};
4526
- font-weight: var(--font-${variant}-font-weight, inherit);
4527
- line-height: var(--font-${variant}-line-height, 1);
4528
- ` : ''}
4529
- ${props.gradient ? styled.css`
4530
- background: -webkit-linear-gradient(0deg, var(--color-secondary-500), var(--color-primary-500));
4531
- -webkit-background-clip: text;
4532
- -webkit-text-fill-color: transparent;
4533
- ` : ''}
4534
- `;
4535
- }}
4948
+ ${props => getFontVariantResponsive(props, (variant, font) => styled.css`
4949
+ ${font.family ? styled.css`font-family: var(--font-${variant}-family, var(--base-font-family));` : ''}
4950
+ ${font.size ? styled.css`font-size: var(--font-${variant}-size, 1rem);` : ''}
4951
+ ${font.lineHeight ? styled.css`line-height: var(--font-${variant}-line-height, 1);` : ''}
4952
+ ${font.fontWeight ? styled.css`font-weight: var(--font-${variant}-font-weight, inherit);` : ''}
4953
+ `)};
4954
+ ${props => props.gradient ? styled.css`
4955
+ background: -webkit-linear-gradient(0deg, var(--color-secondary-500), var(--color-primary-500));
4956
+ -webkit-background-clip: text;
4957
+ -webkit-text-fill-color: transparent;
4958
+ ` : ''}
4536
4959
  ${CssH}
4537
4960
  ${CssA}
4538
4961
  ${CssP}
@@ -4927,7 +5350,7 @@ const NavUl = styled__default.default.ul`
4927
5350
  margin: 0;
4928
5351
  padding: 0;
4929
5352
  display: flex;
4930
- ${props => getVariant(variants, props.type)}
5353
+ ${props => getVariant(props.type, variants)}
4931
5354
  ${props => getCssResponsive(props, {
4932
5355
  gap: '0.6rem'
4933
5356
  })}
@@ -6645,23 +7068,16 @@ const StyledAutocompleteItem = styled__default.default.div`
6645
7068
  }
6646
7069
  `;
6647
7070
  const StyledAutocompleteContainer = styled__default.default.div`
7071
+ ${CssFormControl}
6648
7072
  display: flex;
6649
7073
  align-items: center;
6650
7074
  width: 100%;
6651
- font-size: var(--form-font-size);
6652
- line-height: var(--form-line-height);
6653
- border: 2px solid;
6654
- border-radius: var(--border-radius);
6655
- color: inherit;
6656
- background-color: transparent;
6657
- border-color: var(--color-neutral-200);
6658
- outline-color: transparent;
6659
- transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
6660
7075
  cursor: pointer;
6661
7076
 
6662
7077
  &>input {
6663
7078
  flex-grow: 1;
6664
7079
  appearance: none;
7080
+ min-width: 0;
6665
7081
 
6666
7082
  &::placeholder {
6667
7083
  color: inherit;
@@ -6669,53 +7085,12 @@ const StyledAutocompleteContainer = styled__default.default.div`
6669
7085
  }
6670
7086
  }
6671
7087
 
6672
- /*
6673
- &>svg {
6674
- color: var(--color-neutral-300);
6675
- transition: color 200ms ease-out 0s;
6676
- }
6677
- */
6678
-
6679
- &.active:not(.disabled):not(.focus),
6680
- &:hover:not(.disabled):not(.focus) {
6681
- border-color: var(--color-neutral-300);
6682
- /*
6683
- &>svg {
6684
- color: var(--color-neutral-400);
6685
- }
6686
- */
6687
- }
6688
-
6689
- &.focus {
6690
- outline: 2px solid var(--color-primary-200);
6691
- outline-offset: 2px;
6692
-
6693
- &>input::placeholder {
6694
- opacity: 0.5;
6695
- }
6696
- /*
6697
- &>svg {
6698
- color: var(--color-neutral-500);
6699
- }
6700
- */
6701
- }
6702
-
6703
- &.disabled {
6704
- &>input::placeholder {
6705
- cursor: not-allowed;
6706
- }
6707
- }
6708
-
6709
- &.hidden {
6710
- display: none;
6711
- }
6712
-
6713
7088
  &>:first-child:not(input) {
6714
- margin: 0 0.5em;
7089
+ margin: 0 0 0 0.5em;
6715
7090
  }
6716
7091
 
6717
7092
  &>:last-child:not(input):not(.button) {
6718
- margin: 0 0.5em;
7093
+ margin: 0 0.5em 0 0;
6719
7094
  }
6720
7095
 
6721
7096
  &>.button {
@@ -6877,6 +7252,12 @@ const Autocomplete = /*#__PURE__*/React.forwardRef((_a, ref) => {
6877
7252
  });
6878
7253
  Autocomplete.displayName = 'Autocomplete';
6879
7254
 
7255
+ const CssAutocompleteDefault = styled.css`
7256
+ `;
7257
+ const autocompleteVariants = {
7258
+ default: CssAutocompleteDefault
7259
+ };
7260
+
6880
7261
  const StyledCheckboxChecked = styled__default.default(Svg)`
6881
7262
  width: 24px;
6882
7263
  height: 24px;
@@ -6925,9 +7306,11 @@ const CheckboxUncheckedSvg = _a => {
6925
7306
  })
6926
7307
  }));
6927
7308
  };
6928
- const CheckboxIcon = props => jsxRuntime.jsxs(jsxRuntime.Fragment, {
6929
- children: [jsxRuntime.jsx(CheckboxCheckedSvg, Object.assign({}, props)), jsxRuntime.jsx(CheckboxUncheckedSvg, Object.assign({}, props))]
6930
- });
7309
+ const CheckboxIcon = props => {
7310
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
7311
+ children: [jsxRuntime.jsx(CheckboxCheckedSvg, Object.assign({}, props)), jsxRuntime.jsx(CheckboxUncheckedSvg, Object.assign({}, props))]
7312
+ });
7313
+ };
6931
7314
 
6932
7315
  const StyledCheckboxInput = styled__default.default.input`
6933
7316
  position: absolute;
@@ -6945,22 +7328,22 @@ const StyledCheckboxInput = styled__default.default.input`
6945
7328
  `;
6946
7329
  const StyledCheckboxIcon = styled__default.default.div`
6947
7330
  margin-right: 0.5rem;
6948
- color: var(--color-neutral-300);
6949
7331
  pointer-events: none;
6950
7332
  outline: 2px solid transparent;
6951
7333
  outline-offset: 1px;
6952
7334
  transition: outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
7335
+ color: var(--form-border-color-hover);
6953
7336
 
6954
7337
  input:checked ~ & {
6955
- color: var(--color-primary-500);
7338
+ color: var(--form-outline-color-active);
6956
7339
  }
6957
7340
 
6958
7341
  input:not(:disabled):hover ~ & {
6959
- outline-color: var(--color-neutral-300);
7342
+ outline-color: var(--form-border-color-hover);
6960
7343
  }
6961
7344
 
6962
7345
  input:focus ~ & {
6963
- outline-color: var(--color-primary-200);
7346
+ outline-color: var(--form-outline-color-focus);
6964
7347
  }
6965
7348
  `;
6966
7349
  const StyledCheckbox = styled__default.default.div`
@@ -6988,6 +7371,22 @@ const Checkbox = /*#__PURE__*/React.forwardRef((_a, ref) => {
6988
7371
  });
6989
7372
  Checkbox.displayName = 'Checkbox';
6990
7373
 
7374
+ const CssCheckboxDefault = styled.css`
7375
+ `;
7376
+ const checkboxVariants = {
7377
+ default: CssCheckboxDefault
7378
+ };
7379
+
7380
+ const StyledSelectIcon = styled__default.default(bomMixerIcons.IconChevronDown)`
7381
+ flex-shrink: 0;
7382
+ width: 24px;
7383
+ height: 24px;
7384
+ margin-left: -2.8rem;
7385
+ align-self: center;
7386
+ pointer-events: none;
7387
+ `;
7388
+ const SelectIcon = /*#__PURE__*/React__default.default.memo(StyledSelectIcon);
7389
+
6991
7390
  const defaultContext$1 = {
6992
7391
  disableAll: false,
6993
7392
  visible: false,
@@ -7009,7 +7408,7 @@ const StyledCustomSelectDivider = styled__default.default.div`
7009
7408
  overflow: hidden;
7010
7409
  user-select: none;
7011
7410
  line-height: 0;
7012
- border-top: 1px solid var(--color-neutral-300);
7411
+ border-top: 1px solid var(--form-border-color);
7013
7412
  `;
7014
7413
  const CustomSelectDivider = StyledCustomSelectDivider;
7015
7414
  CustomSelectDivider.displayName = 'CustomSelectDivider';
@@ -7019,9 +7418,9 @@ const StyledCustomSelectDropdown = styled__default.default.div`
7019
7418
  overflow-y: auto;
7020
7419
  overflow-anchor: none;
7021
7420
  scroll-behavior: smooth;
7022
- border-radius: var(--border-radius);
7023
- box-shadow: var(--shadow-xs);
7421
+ border-radius: var(--form-border-radius);
7024
7422
  background-color: var(--color-neutral-100);
7423
+ box-shadow: var(--shadow-xs);
7025
7424
  `;
7026
7425
  const CustomSelectDropdown = /*#__PURE__*/React__default.default.forwardRef((_ref, dropdownRef) => {
7027
7426
  let {
@@ -7055,37 +7454,6 @@ const CustomSelectDropdown = /*#__PURE__*/React__default.default.forwardRef((_re
7055
7454
  });
7056
7455
  CustomSelectDropdown.displayName = 'CustomSelectDropdown';
7057
7456
 
7058
- const DownArrowSvg$1 = props => jsxRuntime.jsx("svg", Object.assign({
7059
- xmlns: "http://www.w3.org/2000/svg",
7060
- width: "24",
7061
- height: "24",
7062
- viewBox: "0 0 24 24",
7063
- fill: "none",
7064
- stroke: "currentColor",
7065
- strokeWidth: "2",
7066
- strokeLinecap: "round",
7067
- strokeLinejoin: "round"
7068
- }, props, {
7069
- children: jsxRuntime.jsx("polyline", {
7070
- points: "6 9 12 15 18 9"
7071
- })
7072
- }));
7073
- const DownArrow$1 = styled__default.default(DownArrowSvg$1)`
7074
- flex-shrink: 0;
7075
- width: 24px;
7076
- height: 24px;
7077
- margin-left: -2.8rem;
7078
- align-self: center;
7079
- pointer-events: none;
7080
- transition: all 200ms ease;
7081
- transition: color 200ms ease, transform 200ms ease;
7082
-
7083
- .opened & {
7084
- transform: rotate(180deg);
7085
- }
7086
- `;
7087
- const CustomSelectIcon = /*#__PURE__*/React__default.default.memo(DownArrow$1);
7088
-
7089
7457
  const StyledInput$1 = styled__default.default.input`
7090
7458
  position: fixed;
7091
7459
  top: -10000px;
@@ -7133,12 +7501,12 @@ const StyledCustomSelectLabel = styled__default.default.div`
7133
7501
  justify-content: flex-start;
7134
7502
  align-items: center;
7135
7503
  width: 100%;
7136
- padding: 0.65rem 0.5rem;
7504
+ padding: 0.5rem;
7137
7505
  margin: 0;
7138
7506
  user-select: none;
7139
- color: var(--color-primary-700);
7140
- border-bottom: 1px solid var(--color-neutral-200);
7141
- font-size: 0.875em;
7507
+ color: var(--form-color);
7508
+ border-bottom: 1px solid var(--form-border-color);
7509
+ font-size: 0.7em;
7142
7510
  font-weight: 500;
7143
7511
  text-transform: uppercase;
7144
7512
  `;
@@ -7155,67 +7523,6 @@ const CustomSelectLabel = _a => {
7155
7523
  };
7156
7524
  CustomSelectLabel.displayName = 'CustomSelectLabel';
7157
7525
 
7158
- const XSvg = props => jsxRuntime.jsxs("svg", Object.assign({
7159
- xmlns: "http://www.w3.org/2000/svg",
7160
- width: "24",
7161
- height: "24",
7162
- viewBox: "0 0 24 24",
7163
- fill: "none",
7164
- stroke: "currentColor",
7165
- strokeWidth: "2",
7166
- strokeLinecap: "round",
7167
- strokeLinejoin: "round"
7168
- }, props, {
7169
- children: [jsxRuntime.jsx("line", {
7170
- x1: "18",
7171
- y1: "6",
7172
- x2: "6",
7173
- y2: "18"
7174
- }), jsxRuntime.jsx("line", {
7175
- x1: "6",
7176
- y1: "6",
7177
- x2: "18",
7178
- y2: "18"
7179
- })]
7180
- }));
7181
- const Clear = styled__default.default(XSvg)`
7182
- flex-shrink: 0;
7183
- width: 1em;
7184
- height: 1em;
7185
- margin-left: 0.2em;
7186
- align-self: center;
7187
- transition: all 200ms ease;
7188
-
7189
- &:hover {
7190
- color: var(--color-primary-900);
7191
- }
7192
- `;
7193
- const CustomSelectIconClear = /*#__PURE__*/React__default.default.memo(Clear);
7194
-
7195
- styled__default.default.div`
7196
- display: inline-flex;
7197
- align-items: center;
7198
- line-height: 1;
7199
- padding: 0.5em 0.5em;
7200
- border-radius: calc(var(--border-radius) * 0.5);
7201
- background-color: var(--color-primary-100);
7202
- color: var(--color-primary-600);
7203
-
7204
- &.disabled {
7205
- color: var(--color-primary-400);
7206
- }
7207
-
7208
- /*
7209
- & > :global(div:not(.clear-icon)),
7210
- & > :global(div:not(.clear-icon):hover) {
7211
- border-radius: 0;
7212
- background-color: transparent;
7213
- padding: 0;
7214
- margin: 0;
7215
- color: inherit;
7216
- }
7217
- */
7218
- `;
7219
7526
  const CustomSelectMultipleValue = _ref => {
7220
7527
  let {
7221
7528
  disabled,
@@ -7225,20 +7532,18 @@ const CustomSelectMultipleValue = _ref => {
7225
7532
  const classNames = bomCore.getClassNames('multiple-value', {
7226
7533
  disabled
7227
7534
  });
7228
- return jsxRuntime.jsxs(jsxRuntime.Fragment, {
7229
- children: [jsxRuntime.jsxs(Button, Object.assign({
7230
- variant: "secondary",
7231
- size: "sm",
7232
- className: classNames,
7233
- disabled: disabled
7234
- }, {
7235
- children: [jsxRuntime.jsx("span", {
7236
- children: children
7237
- }), !!onClear && jsxRuntime.jsx(CustomSelectIconClear, {
7238
- onClick: onClear
7239
- })]
7240
- })), false ]
7241
- });
7535
+ return jsxRuntime.jsxs(Button, Object.assign({
7536
+ variant: "outline",
7537
+ size: "sm",
7538
+ className: classNames,
7539
+ disabled: disabled
7540
+ }, {
7541
+ children: [jsxRuntime.jsx("span", {
7542
+ children: children
7543
+ }), !!onClear && jsxRuntime.jsx(bomMixerIcons.IconX, {
7544
+ onClick: onClear
7545
+ })]
7546
+ }));
7242
7547
  };
7243
7548
  CustomSelectMultipleValue.displayName = 'CustomSelectMultipleValue';
7244
7549
 
@@ -7247,34 +7552,18 @@ const StyledCustomSelectOption = styled__default.default.div`
7247
7552
  justify-content: flex-start;
7248
7553
  align-items: center;
7249
7554
  width: 100%;
7250
- padding: 0.65rem 0.5rem;
7555
+ padding: 0.5rem;
7251
7556
  margin: 0;
7252
7557
  user-select: none;
7253
7558
  border: 0;
7254
- color: var(--color-neutral-700);
7559
+ color: var(--form-color-disabled);
7255
7560
  transition: background-color 0.2s ease 0s, border-color 0.2s ease 0s, outline-color 0.2s ease 0s;
7256
7561
  cursor: pointer;
7257
7562
 
7258
- &.disabled {
7259
- cursor: not-allowed;
7260
- background-color: var(--color-neutral-200);
7261
- color: var(--color-neutral-500);
7262
- }
7263
-
7264
- &:hover:not(.disabled):not(.label):not(.active) {
7265
- background-color: var(--color-primary-100);
7266
- color: var(--color-primary-500);
7267
- }
7268
-
7269
- &.active {
7270
- background-color: var(--color-primary-500);
7271
- color: var(--color-neutral-100);
7272
- }
7273
-
7274
7563
  &.divider {
7275
7564
  line-height: 0;
7276
7565
  overflow: hidden;
7277
- border-top: 1px solid var(--color-neutral-300);
7566
+ border-top: 1px solid var(--form-border-color);
7278
7567
  width: 100%;
7279
7568
  height: 1px;
7280
7569
  padding: 0;
@@ -7282,8 +7571,8 @@ const StyledCustomSelectOption = styled__default.default.div`
7282
7571
  }
7283
7572
 
7284
7573
  &.label {
7285
- color: var(--color-primary-700);
7286
- border-bottom: 1px solid var(--color-neutral-200);
7574
+ color: var(--form-color);
7575
+ border-bottom: 1px solid var(--form-border-color);
7287
7576
  text-transform: capitalize;
7288
7577
  font-size: 0.875em;
7289
7578
  width: 100%;
@@ -7291,6 +7580,22 @@ const StyledCustomSelectOption = styled__default.default.div`
7291
7580
  text-transform: uppercase;
7292
7581
  cursor: default;
7293
7582
  }
7583
+
7584
+ &.disabled {
7585
+ background-color: var(--form-background-color-disabled);
7586
+ color: var(--form-color-disabled);
7587
+ cursor: not-allowed;
7588
+ }
7589
+
7590
+ &:hover:not(.disabled):not(.label):not(.active) {
7591
+ background-color: var(--form-border-color);
7592
+ color: var(--form-color-hover);
7593
+ }
7594
+
7595
+ &.active {
7596
+ background-color: var(--form-outline-color-active);
7597
+ color: var(--color-neutral-100);
7598
+ }
7294
7599
  `;
7295
7600
  const CustomSelectOption = _a => {
7296
7601
  var {
@@ -7352,72 +7657,48 @@ const CustomSelectOption = _a => {
7352
7657
  CustomSelectOption.displayName = 'CustomSelectOption';
7353
7658
 
7354
7659
  const StyledCustomSelect = styled__default.default.div`
7660
+ ${CssFormControl}
7661
+
7662
+ padding: var(--form-padding);
7355
7663
  position: relative;
7356
7664
  display: inline-flex;
7357
7665
  justify-content: space-between;
7358
7666
  align-items: center;
7359
7667
  overflow: hidden;
7360
7668
  white-space: nowrap;
7361
- padding: var(--form-padding);
7362
7669
  appearance: none;
7363
- font-size: var(--form-font-size);
7364
- line-height: var(--form-line-height);
7365
- border: 2px solid;
7366
- border-radius: var(--border-radius);
7367
- color: inherit;
7368
- background-color: ${props => props.disabled ? 'var(--color-neutral-200)' : 'transparent'};
7369
- border-color: var(--color-neutral-200);
7370
7670
  user-select: none;
7371
- outline: 2px solid transparent;
7372
- outline-offset: 2px;
7373
- transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s, box-shadow 200ms ease 0s;
7374
7671
  cursor: pointer;
7375
7672
 
7673
+ .placeholder {
7674
+ color: inherit;
7675
+ opacity: 0.3;
7676
+ }
7677
+
7376
7678
  .value {
7377
7679
  display: inline-flex;
7378
7680
  flex: 1;
7379
7681
  height: 100%;
7380
7682
  align-items: center;
7381
- line-height: 1;
7683
+ // line-height: 1;
7382
7684
  padding: 0;
7383
7685
  margin-right: 1.25em;
7384
7686
  width: calc(100% - 1.25em);
7385
7687
  }
7386
7688
 
7387
- .value,
7388
7689
  .icon {
7389
- color: var(--color-neutral-900);
7390
- }
7391
-
7392
- &.disabled {
7393
- cursor: not-allowed;
7690
+ pointer-events: none;
7691
+ transition: color 200ms ease, transform 200ms ease;
7394
7692
  }
7395
7693
 
7396
- &.active:not(.disabled),
7397
- &:hover:not(.disabled) {
7398
- border-color: var(--color-neutral-300);
7399
-
7694
+ &.opened {
7400
7695
  .icon {
7401
- color: var(--color-primary-500);
7402
- }
7403
- }
7404
-
7405
- &.active:not(.disabled) {
7406
- outline-color: var(--color-primary-200);
7407
-
7408
- .placeholder {
7409
- opacity: 0.5;
7696
+ transform: rotate(180deg);
7410
7697
  }
7411
7698
  }
7412
7699
 
7413
- .placeholder {
7414
- color: inherit;
7415
- opacity: 0.3;
7416
- }
7417
-
7418
7700
  &.multiple {
7419
7701
  padding: calc(var(--form-padding) * 0.675);
7420
- // padding: 0.675rem;
7421
7702
 
7422
7703
  .placeholder {
7423
7704
  padding: 0.563rem 0;
@@ -7455,7 +7736,7 @@ const CustomSelectBase = /*#__PURE__*/React.forwardRef((_a, selectRef) => {
7455
7736
  onFocus
7456
7737
  } = _a,
7457
7738
  props = __rest(_a, ["disabled", "pure", "multiple", "clearable", "className", "disableMatchWidth", "onDropdownVisibleChange", "value", "initialValue", "icon", "children", "onChange", "placeholder", "dropdownClassName", "dropdownStyle", "getPopupContainer", "onBlur", "onFocus"]);
7458
- const Icon = icon || CustomSelectIcon;
7739
+ const Icon = icon || SelectIcon;
7459
7740
  const ref = React.useRef(null);
7460
7741
  const inputRef = React.useRef(null);
7461
7742
  const dropdownRef = React.useRef(null);
@@ -7602,7 +7883,8 @@ const CustomSelectBase = /*#__PURE__*/React.forwardRef((_a, selectRef) => {
7602
7883
  })
7603
7884
  })), value && (multiple ? jsxRuntime.jsx(Flex.Row, Object.assign({
7604
7885
  flexWrap: "wrap",
7605
- maxWidth: "calc(100% - 1.5rem)"
7886
+ maxWidth: "calc(100% - 1.5rem)",
7887
+ minHeight: "2.2em"
7606
7888
  }, {
7607
7889
  children: selectedChildren
7608
7890
  })) : jsxRuntime.jsx("span", Object.assign({
@@ -7626,69 +7908,91 @@ const CustomSelectBase = /*#__PURE__*/React.forwardRef((_a, selectRef) => {
7626
7908
  });
7627
7909
  CustomSelectBase.displayName = 'CustomSelect';
7628
7910
  const CustomSelect = bomCore.withSchema(CustomSelectBase, {
7629
- Label: CustomSelectLabel,
7630
- Divider: CustomSelectDivider,
7631
- Option: CustomSelectOption
7632
- });
7633
-
7634
- const StyledField = styled__default.default.div`
7635
- display: flex;
7636
- flex-direction: column;
7637
- // margin-bottom: 0.5rem;
7638
-
7639
- label {
7640
- font-weight: 500;
7641
- margin-bottom: 0.3rem;
7642
- }
7911
+ Label: CustomSelectLabel,
7912
+ Divider: CustomSelectDivider,
7913
+ Option: CustomSelectOption
7914
+ });
7643
7915
 
7916
+ const StyledField = styled__default.default.div`
7917
+ ${props => getVariant(props.variant, props.variants)}
7644
7918
  ${props => getCssResponsive(props)}
7645
7919
  `;
7646
7920
  const Field = /*#__PURE__*/React.forwardRef((_a, ref) => {
7647
7921
  var {
7648
- className
7922
+ className,
7923
+ variant = 'default',
7924
+ variants
7649
7925
  } = _a,
7650
- props = __rest(_a, ["className"]);
7651
- const classNames = bomCore.getClassNames('input', className);
7926
+ props = __rest(_a, ["className", "variant", "variants"]);
7927
+ const classNames = bomCore.getClassNames('input', className, variant);
7928
+ const globalVariants = useVariants('field');
7929
+ variants = variants || globalVariants || fieldVariants;
7652
7930
  return jsxRuntime.jsx(StyledField, Object.assign({
7653
7931
  ref: ref,
7654
7932
  className: classNames,
7655
- as: "div"
7933
+ as: "div",
7934
+ variant: variant,
7935
+ variants: variants
7656
7936
  }, props));
7657
7937
  });
7658
7938
  Field.displayName = 'Field';
7659
7939
 
7660
7940
  const StyledFormError = styled__default.default(Text)`
7661
- padding: 1rem;
7662
- font-weight: 700;
7663
- text-align: center;
7664
- background: var(--color-danger-100);
7665
- color: var(--color-danger-500);
7941
+ ${props => getVariant(props.variant, props.variants)}
7666
7942
  ${props => getCssResponsive(props)}
7667
7943
  `;
7668
7944
  const FormError = /*#__PURE__*/React.forwardRef((_a, ref) => {
7669
7945
  var {
7670
- className
7946
+ className,
7947
+ variant = 'default',
7948
+ variants
7671
7949
  } = _a,
7672
- props = __rest(_a, ["className"]);
7673
- const classNames = bomCore.getClassNames('form-error', className);
7950
+ props = __rest(_a, ["className", "variant", "variants"]);
7951
+ const classNames = bomCore.getClassNames('form-error', className, variant);
7952
+ const globalVariants = useVariants('formError');
7953
+ variants = variants || globalVariants || formErrorVariants;
7674
7954
  return jsxRuntime.jsx(StyledFormError, Object.assign({
7675
7955
  ref: ref,
7676
- className: classNames
7956
+ className: classNames,
7957
+ variant: variant,
7958
+ variants: variants
7677
7959
  }, props));
7678
7960
  });
7679
7961
  FormError.displayName = 'FormError';
7680
7962
 
7681
- function FormTester(props) {
7963
+ const StyledFormTester = styled__default.default.div`
7964
+ ${props => getVariant(props.variant, props.variants)}
7965
+ ${props => getCssResponsive(props)}
7966
+ `;
7967
+ const FormTester = /*#__PURE__*/React.forwardRef((_a, ref) => {
7968
+ var {
7969
+ className,
7970
+ form,
7971
+ onReset,
7972
+ onTest,
7973
+ variant = 'default',
7974
+ variants
7975
+ } = _a,
7976
+ props = __rest(_a, ["className", "form", "onReset", "onTest", "variant", "variants"]);
7682
7977
  const label = bomMixerHooks.useLabel();
7683
- const json = JSON.stringify(props.form.value, null, 2);
7684
- return jsxRuntime.jsxs(Box, Object.assign({
7685
- margin: "1em 0",
7686
- padding: "0.5em 1em",
7687
- border: "1px solid var(--color-warning-500)",
7688
- background: "var(--color-warning-100)"
7689
- }, {
7690
- children: [jsxRuntime.jsxs(Flex.Row, Object.assign({
7691
- justifyContent: "space-between"
7978
+ const classNames = bomCore.getClassNames('input', className, variant);
7979
+ const globalVariants = useVariants('formTester');
7980
+ variants = variants || globalVariants || formTesterVariants;
7981
+ const onReset_ = event => {
7982
+ onReset && onReset(event);
7983
+ };
7984
+ const onTest_ = event => {
7985
+ onTest && onTest(event);
7986
+ };
7987
+ const json = form ? JSON.stringify(form.value, null, 2) : null;
7988
+ return jsxRuntime.jsx(StyledFormTester, Object.assign({
7989
+ ref: ref,
7990
+ className: classNames,
7991
+ variant: variant,
7992
+ variants: variants
7993
+ }, props, {
7994
+ children: jsxRuntime.jsxs(Flex.Col, Object.assign({
7995
+ gap: "1rem"
7692
7996
  }, {
7693
7997
  children: [jsxRuntime.jsxs(Flex.Col, {
7694
7998
  children: [jsxRuntime.jsx(Text, Object.assign({
@@ -7698,127 +8002,103 @@ function FormTester(props) {
7698
8002
  children: "Form Tester"
7699
8003
  })), jsxRuntime.jsx(Text, Object.assign({
7700
8004
  variant: "paragraph30",
7701
- marginBottom: "1em"
8005
+ lineHeight: "1.3"
7702
8006
  }, {
7703
8007
  children: "this component is visible only during development."
7704
8008
  }))]
7705
- }), jsxRuntime.jsxs(Flex.Row, Object.assign({
7706
- marginBottom: "1em"
8009
+ }), json && jsxRuntime.jsx("code", {
8010
+ children: json
8011
+ }), (onReset || onTest) && jsxRuntime.jsxs(Flex.Row, Object.assign({
8012
+ className: "actions",
8013
+ justifyContent: "space-between"
7707
8014
  }, {
7708
- children: [jsxRuntime.jsx(Button, Object.assign({
7709
- variant: "secondary",
7710
- onClick: props.onReset
7711
- }, {
7712
- children: label('form.reset')
7713
- })), jsxRuntime.jsx(Button, Object.assign({
7714
- variant: "primary",
7715
- onClick: props.onTest
7716
- }, {
7717
- children: label('form.test')
7718
- }))]
8015
+ children: [jsxRuntime.jsx(Flex, {
8016
+ children: onReset && jsxRuntime.jsx(Button, Object.assign({
8017
+ variant: "outline",
8018
+ size: "sm",
8019
+ onClick: onReset_
8020
+ }, {
8021
+ children: label('form.reset')
8022
+ }))
8023
+ }), jsxRuntime.jsx(Flex, {
8024
+ children: onTest && jsxRuntime.jsx(Button, Object.assign({
8025
+ variant: "primary",
8026
+ size: "sm",
8027
+ onClick: onTest_
8028
+ }, {
8029
+ children: label('form.test')
8030
+ }))
8031
+ })]
7719
8032
  }))]
7720
- })), jsxRuntime.jsx("code", Object.assign({
7721
- style: {
7722
- padding: '20px 0'
7723
- }
7724
- }, {
7725
- children: json
7726
- }))]
8033
+ }))
7727
8034
  }));
7728
- }
8035
+ });
8036
+ FormTester.displayName = 'FormTester';
7729
8037
 
7730
8038
  const StyledForm = styled__default.default.div`
7731
- --form-font-size: 1rem; // 1.125rem
7732
- --form-line-height: 1.625; // 1.625
7733
- --form-padding: 0.8em; // 1rem
8039
+ ${props => getForm(props)}
7734
8040
  ${props => getCssResponsive(props)}
7735
8041
  `;
7736
8042
  const Form = /*#__PURE__*/React.forwardRef((_a, ref) => {
7737
- var _b;
7738
8043
  var {
7739
- className
8044
+ className,
8045
+ state,
8046
+ variant
7740
8047
  } = _a,
7741
- props = __rest(_a, ["className"]);
7742
- const classNames = bomCore.getClassNames('form', className, (_b = props.state) === null || _b === void 0 ? void 0 : _b.flags);
8048
+ props = __rest(_a, ["className", "state", "variant"]);
8049
+ const classNames = bomCore.getClassNames('form', className, state === null || state === void 0 ? void 0 : state.flags, variant);
7743
8050
  return jsxRuntime.jsx(StyledForm, Object.assign({
7744
8051
  ref: ref,
7745
8052
  className: classNames,
7746
- as: "form"
8053
+ as: "form",
8054
+ variant: variant
7747
8055
  }, props));
7748
8056
  });
7749
8057
  Form.displayName = 'Form';
7750
-
7751
- const StyledInputContainer = styled__default.default.div`
7752
- display: flex;
7753
- align-items: center;
7754
- width: 100%;
7755
- font-size: var(--form-font-size);
7756
- line-height: var(--form-line-height);
7757
- border: 2px solid;
7758
- border-radius: var(--border-radius);
7759
- color: inherit;
7760
- background-color: transparent;
7761
- border-color: var(--color-neutral-200);
7762
- outline-color: transparent;
7763
- transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
7764
- cursor: pointer;
7765
-
7766
- &.disabled {
7767
- cursor: not-allowed;
7768
- }
7769
-
7770
- &.active:not(.disabled),
7771
- &:hover:not(.disabled) {
7772
- border-color: var(--color-neutral-300);
7773
- }
7774
-
7775
- &.focus {
7776
- outline: 2px solid var(--color-primary-200);
7777
- outline-offset: 2px;
7778
-
7779
- input::placeholder {
7780
- opacity: 0.5;
7781
- }
7782
- }
7783
-
7784
- &.hidden {
7785
- display: none;
7786
- }
7787
-
7788
- input {
7789
- flex-grow: 1;
7790
- appearance: none;
7791
- }
7792
-
7793
- input::placeholder {
7794
- color: inherit;
7795
- opacity: 0.3;
7796
- }
7797
-
7798
- &>:first-child:not(input) {
7799
- margin: 0 0.5em;
7800
- }
7801
-
7802
- &>:last-child:not(input) {
7803
- margin: 0 0.5em;
8058
+ function getForm(props) {
8059
+ const variant = props.variant || 'default';
8060
+ const form = props.theme.form[variant];
8061
+ if (form) {
8062
+ return Object.keys(form).map(k => {
8063
+ const key = hypenize(k);
8064
+ const rule = `--form-${key}: var(--form-${variant}-${key}, --form-${key});`;
8065
+ return rule;
8066
+ }).join('\n');
8067
+ } else {
8068
+ return undefined;
7804
8069
  }
8070
+ /*
8071
+ return css`
8072
+ --form-font-size: var(--form-${variant}-font-size, 1rem);
8073
+ --form-line-height: var(--form-${variant}-line-height, 1.625);
8074
+ --form-padding: var(--form-${variant}-padding, 0.8em);
8075
+ --form-background-color: var(--form-${variant}-background-color, transparent);
8076
+ --form-background-color-disabled: var(--form-${variant}-background-color-disabled, var(--color-neutral-200));
8077
+ --form-color: var(--form-${variant}-color, inherit);
8078
+ --form-color-hover: var(--form-${variant}-color-hover, var(--color-neutral-900));
8079
+ --form-border: var(--form-${variant}-border, 0 solid transparent);
8080
+ --form-border-width: var(--form-${variant}-border-width, 2px);
8081
+ --form-border-color: var(--form-${variant}-border-color, var(--color-neutral-200));
8082
+ --form-border-color-hover: var(--form-${variant}-border-color-hover, var(--color-neutral-300));
8083
+ --form-border-color-disabled: var(--form-${variant}-border-color-disabled, var(--color-neutral-300));
8084
+ --form-border-radius: var(--form-${variant}-border-radius, var(--border-radius));
8085
+ --form-outline: var(--form-${variant}-outline, 2px solid transparent);
8086
+ --form-outline-color-focus: var(--form-${variant}-outline-color-focus, var(--color-primary-200));
8087
+ --form-outline-color-active: var(--form-${variant}-outline-color-active, var(--color-primary-500));
8088
+ --form-outline-offset: var(--form-${variant}-outline-offset, 2px);
8089
+ --form-transition: var(--form-${variant}-transition, border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s, box-shadow 200ms ease 0s);
8090
+ `;
8091
+ */
8092
+ }
7805
8093
 
8094
+ const StyledInputContainer = styled__default.default.div`
8095
+ ${props => getVariantKey('container', props.variant, props.variants)}
7806
8096
  ${props => getCssResponsive(props)}
7807
8097
  `;
7808
8098
  const StyledInput = styled__default.default.div`
7809
- display: block;
7810
- appearance: none;
7811
- padding: var(--form-padding);
7812
- font-size: var(--form-font-size);
7813
- line-height: var(--form-line-height);
7814
- color: inherit;
7815
- background-color: transparent;
7816
- border: none;
7817
- outline: none;
7818
-
8099
+ ${props => getVariantKey('input', props.variant, props.variants)}
7819
8100
  ${props => getCssResponsive(props)}
7820
8101
  `;
7821
- // !!! as
7822
8102
  const Input = /*#__PURE__*/React.forwardRef((_a, ref) => {
7823
8103
  var {
7824
8104
  as = 'input',
@@ -7827,9 +8107,11 @@ const Input = /*#__PURE__*/React.forwardRef((_a, ref) => {
7827
8107
  after,
7828
8108
  type = 'text',
7829
8109
  onFocus,
7830
- onBlur
8110
+ onBlur,
8111
+ variant = 'default',
8112
+ variants
7831
8113
  } = _a,
7832
- props = __rest(_a, ["as", "className", "before", "after", "type", "onFocus", "onBlur"]);
8114
+ props = __rest(_a, ["as", "className", "before", "after", "type", "onFocus", "onBlur", "variant", "variants"]);
7833
8115
  const [focus, setFocus] = React.useState(false);
7834
8116
  const onFocus_ = event => {
7835
8117
  onFocus && onFocus(event);
@@ -7844,16 +8126,22 @@ const Input = /*#__PURE__*/React.forwardRef((_a, ref) => {
7844
8126
  disabled: props.disabled,
7845
8127
  readonly: props.readOnly,
7846
8128
  hidden: props.hidden
7847
- }, className);
8129
+ }, className, variant);
8130
+ const globalVariants = useVariants('input');
8131
+ variants = variants || globalVariants || inputVariants;
7848
8132
  return jsxRuntime.jsxs(StyledInputContainer, Object.assign({
7849
- className: classNames
8133
+ className: classNames,
8134
+ variant: variant,
8135
+ variants: variants
7850
8136
  }, props, {
7851
8137
  children: [before, jsxRuntime.jsx(StyledInput, Object.assign({
7852
8138
  ref: ref,
7853
8139
  as: as,
7854
8140
  type: type,
7855
8141
  onFocus: onFocus_,
7856
- onBlur: onBlur_
8142
+ onBlur: onBlur_,
8143
+ variant: variant,
8144
+ variants: variants
7857
8145
  }, props)), after]
7858
8146
  }));
7859
8147
  });
@@ -7878,25 +8166,6 @@ const StyledInputGroup = styled__default.default.div`
7878
8166
  cursor: not-allowed;
7879
8167
  }
7880
8168
 
7881
- &.active:not(.disabled),
7882
- &:hover:not(.disabled) {
7883
- border-color: var(--color-neutral-300);
7884
- }
7885
-
7886
- &:focus-visible {
7887
- outline: 2px solid var(--color-primary-200);
7888
- outline-offset: 2px;
7889
-
7890
- &::placeholder {
7891
- opacity: 0.5;
7892
- }
7893
- }
7894
-
7895
- &::placeholder {
7896
- color: inherit;
7897
- opacity: 0.3;
7898
- }
7899
-
7900
8169
  ${props => getCssResponsive(props)}
7901
8170
  `;
7902
8171
  // !!! unused?
@@ -7920,25 +8189,26 @@ const InputGroup = bomCore.withSchema(InputGroupBase, {
7920
8189
  });
7921
8190
 
7922
8191
  const StyledLabel = styled__default.default.div`
7923
- display: flex;
7924
- align-items: center;
7925
- width: 100%;
7926
- font-size: var(--font-display-size-10, --form-font-size, 1rem);
7927
- cursor: pointer;
7928
-
8192
+ ${props => getVariant(props.variant, props.variants)}
7929
8193
  ${props => getCssResponsive(props)}
7930
8194
  `;
7931
8195
  const Label = /*#__PURE__*/React.forwardRef((_a, ref) => {
7932
8196
  var {
7933
8197
  className,
7934
- as = 'label'
8198
+ as = 'label',
8199
+ variant = 'default',
8200
+ variants
7935
8201
  } = _a,
7936
- props = __rest(_a, ["className", "as"]);
7937
- const classNames = bomCore.getClassNames('label', className);
8202
+ props = __rest(_a, ["className", "as", "variant", "variants"]);
8203
+ const classNames = bomCore.getClassNames('label', className, variant);
8204
+ const globalVariants = useVariants('label');
8205
+ variants = variants || globalVariants || labelVariants;
7938
8206
  return jsxRuntime.jsx(StyledLabel, Object.assign({
7939
8207
  className: classNames,
7940
8208
  ref: ref,
7941
- as: as
8209
+ as: as,
8210
+ variant: variant,
8211
+ variants: variants
7942
8212
  }, props));
7943
8213
  });
7944
8214
  Label.displayName = 'Label';
@@ -7996,7 +8266,7 @@ const RadioIcon = props => jsxRuntime.jsxs(jsxRuntime.Fragment, {
7996
8266
  });
7997
8267
 
7998
8268
  const StyledRadioCardGroup = styled__default.default(Flex.Row)`
7999
- gap: 2rem;
8269
+ gap: 1rem;
8000
8270
  flex-wrap: wrap;
8001
8271
  align-items: flex-start;
8002
8272
  `;
@@ -8065,9 +8335,12 @@ const RadioCardDisabled = styled__default.default(RadioCardDisabledSvg)`
8065
8335
  width: 100%;
8066
8336
  height: 100%;
8067
8337
  display: none;
8068
- border: 1px solid var(--color-neutral-300);
8069
- color: var(--color-neutral-300);
8070
- border-radius: var(--button-border-radius);
8338
+
8339
+ border: var(--form-border);
8340
+ border-width: var(--form-border-width);
8341
+ border-color: var(--form-border-color-disabled);
8342
+ border-radius: var(--form-border-radius);
8343
+ color: var(--form-border-color-disabled);
8071
8344
 
8072
8345
  input:disabled ~ &,
8073
8346
  input.disabled ~ & {
@@ -8088,66 +8361,63 @@ const StyledRadioCardInput = styled__default.default.div`
8088
8361
  `;
8089
8362
  const StyledRadioCardButton = styled__default.default.div`
8090
8363
  ${CssDefault}
8364
+ ${CssFormControl}
8091
8365
 
8092
8366
  flex-direction: column;
8093
8367
  align-items: flex-start;
8094
8368
  width: 100%;
8095
8369
  padding: 0.8em;
8096
- border-radius: var(--button-border-radius);
8097
- background: var(--color-neutral-100);
8098
- border: 2px solid var(--color-neutral-200);
8099
- color: var(--color-neutral-700);
8100
- outline: 2px solid transparent;
8101
- outline-offset: 2px;
8102
- transition: .1s ease-in-out;
8103
- transition-property: outline-color, border-color, color, box-shadow;
8104
8370
 
8105
8371
  input:not(:disabled):hover ~ & {
8106
- border-color: var(--color-neutral-300);
8107
- color: var(--color-neutral-900);
8372
+ border-color: var(--form-border-color-hover);
8373
+ color: var(--form-color-hover);
8108
8374
  box-shadow: 0 20px 20px -5px rgba(0, 0, 0, 0.15);
8109
8375
  }
8110
8376
 
8111
- input:not(:checked) ~ & {
8112
- .abstract {
8113
- display: none;
8114
- }
8115
- }
8116
-
8117
8377
  input:focus ~ &,
8118
8378
  input:active ~ & {
8119
- outline-color: var(--color-primary-200);
8379
+ outline-color: var(--form-outline-color-focus);
8120
8380
  }
8121
8381
 
8122
8382
  input:checked ~ &,
8123
8383
  input.active ~ & {
8124
- outline-color: var(--color-primary-500);
8384
+ outline-color: var(--form-outline-color-active);
8125
8385
  }
8126
8386
 
8127
8387
  input:disabled ~ &,
8128
8388
  input.disabled ~ & {
8129
- background: var(--color-neutral-200);
8389
+ background: var(--form-background-color-disabled);
8390
+ color: var(--form-color-disabled);
8130
8391
  pointer-events: none;
8131
- opacity: 0.4;
8392
+
8393
+ .radio-icon {
8394
+ color: var(--form-color-disabled);
8395
+ }
8132
8396
  }
8133
8397
 
8134
- input:checked ~ & {
8135
- .radio-icon {
8136
- color: var(--color-primary-500);
8398
+ input:not(:checked) ~ & {
8399
+ .abstract {
8400
+ display: none;
8401
+ }
8137
8402
  }
8138
- }
8139
8403
 
8140
- input:not(:disabled):hover ~ & {
8141
- .radio-icon {
8142
- outline-color: var(--color-neutral-300);
8404
+ input:checked ~ & {
8405
+ .radio-icon {
8406
+ color: var(--form-outline-color-active);
8407
+ }
8143
8408
  }
8144
- }
8145
8409
 
8146
- input:focus ~ & {
8147
- .radio-icon {
8148
- outline-color: var(--color-primary-200);
8410
+ input:not(:disabled):hover ~ & {
8411
+ .radio-icon {
8412
+ outline-color: var(--form-border-color-hover);
8413
+ }
8414
+ }
8415
+
8416
+ input:focus ~ & {
8417
+ .radio-icon {
8418
+ outline-color: var(--form-outline-color-focus);
8419
+ }
8149
8420
  }
8150
- }
8151
8421
 
8152
8422
  ${props => getCssResponsive(props)}
8153
8423
  `;
@@ -8277,6 +8547,12 @@ const RadioCard = bomCore.withSchema(RadioCardBase, {
8277
8547
  Media: RadioCardMedia
8278
8548
  });
8279
8549
 
8550
+ const CssRadioCardDefault = styled.css`
8551
+ `;
8552
+ const radioCardVariants = {
8553
+ default: CssRadioCardDefault
8554
+ };
8555
+
8280
8556
  const RadioColorGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
8281
8557
  var {
8282
8558
  children,
@@ -8411,6 +8687,12 @@ const RadioColor = bomCore.withSchema(RadioColorBase, {
8411
8687
  Group: RadioColorGroup
8412
8688
  });
8413
8689
 
8690
+ const CssRadioColorDefault = styled.css`
8691
+ `;
8692
+ const radioColorVariants = {
8693
+ default: CssRadioColorDefault
8694
+ };
8695
+
8414
8696
  const RadioOptionGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
8415
8697
  var {
8416
8698
  children,
@@ -8449,7 +8731,7 @@ const RadioOptionGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
8449
8731
  });
8450
8732
  // !!! ref to group
8451
8733
  return jsxRuntime.jsx(Grid.Row, Object.assign({
8452
- columns: "4",
8734
+ columns: "3",
8453
8735
  columnGap: "0.5rem",
8454
8736
  rowGap: "0.5rem",
8455
8737
  ref: ref,
@@ -8481,9 +8763,12 @@ const RadioOptionDisabled = styled__default.default(RadioOptionDisabledSvg)`
8481
8763
  width: 100%;
8482
8764
  height: 100%;
8483
8765
  display: none;
8484
- border: 1px solid var(--color-neutral-300);
8485
- color: var(--color-neutral-300);
8486
- border-radius: var(--button-border-radius);
8766
+
8767
+ border: var(--form-border);
8768
+ border-width: var(--form-border-width);
8769
+ border-color: var(--form-border-color-disabled);
8770
+ border-radius: var(--form-border-radius);
8771
+ color: var(--form-border-color-disabled);
8487
8772
 
8488
8773
  input:disabled ~ &,
8489
8774
  input.disabled ~ & {
@@ -8504,38 +8789,31 @@ const StyledRadioOptionInput = styled__default.default.div`
8504
8789
  `;
8505
8790
  const StyledRadioOptionButton = styled__default.default.div`
8506
8791
  ${CssDefault}
8792
+ ${CssFormControl}
8507
8793
 
8508
8794
  width: 100%;
8509
8795
  justify-content: center;
8510
- padding: 0.8em;
8511
- border-radius: var(--button-border-radius);
8512
- background: var(--color-neutral-100);
8513
- border: 2px solid var(--color-neutral-200);
8514
- color: var(--color-neutral-700);
8515
- outline: 2px solid transparent;
8516
- outline-offset: 2px;
8517
- transition: outline-color .1s ease-in-out, border-color .1s ease-in-out, color .1s ease-in-out;
8518
8796
 
8519
8797
  input:not(:disabled):hover ~ & {
8520
- border-color: var(--color-neutral-300);
8521
- color: var(--color-neutral-900);
8798
+ border-color: var(--form-border-color-hover);
8799
+ color: var(--form-color-hover);
8522
8800
  }
8523
8801
 
8524
8802
  input:focus ~ &,
8525
8803
  input:active ~ & {
8526
- outline-color: var(--color-primary-200);
8804
+ outline-color: var(--form-outline-color-focus);
8527
8805
  }
8528
8806
 
8529
8807
  input:checked ~ &,
8530
8808
  input.active ~ & {
8531
- outline-color: var(--color-primary-500);
8809
+ outline-color: var(--form-outline-color-active);
8532
8810
  }
8533
8811
 
8534
8812
  input:disabled ~ &,
8535
8813
  input.disabled ~ & {
8536
- background: var(--color-neutral-200);
8814
+ background: var(--form-background-color-disabled);
8815
+ color: var(--form-color-disabled);
8537
8816
  pointer-events: none;
8538
- opacity: 0.4;
8539
8817
  }
8540
8818
 
8541
8819
  ${props => styled.css`font-size: var(--button-size-${props.size || 'md'});`}
@@ -8587,6 +8865,12 @@ const RadioOption = bomCore.withSchema(RadioOptionBase, {
8587
8865
  Group: RadioOptionGroup
8588
8866
  });
8589
8867
 
8868
+ const CssRadioOptionDefault = styled.css`
8869
+ `;
8870
+ const radioOptionVariants = {
8871
+ default: CssRadioOptionDefault
8872
+ };
8873
+
8590
8874
  const RadioGroup = /*#__PURE__*/React.forwardRef((_a, ref) => {
8591
8875
  var {
8592
8876
  children,
@@ -8647,6 +8931,7 @@ function recursiveMap(children, fn) {
8647
8931
  }
8648
8932
 
8649
8933
  const StyledRadioInput = styled__default.default.div`
8934
+ appearance: none;
8650
8935
  position: absolute;
8651
8936
  opacity: 0;
8652
8937
  width: 100%;
@@ -8660,27 +8945,27 @@ const StyledRadioInput = styled__default.default.div`
8660
8945
  `;
8661
8946
  const StyledRadioIcon = styled__default.default.div`
8662
8947
  border-radius: 50%;
8663
- margin-right: 0.5rem;
8664
- color: var(--color-neutral-300);
8665
8948
  pointer-events: none;
8666
8949
  outline: 2px solid transparent;
8667
8950
  outline-offset: 2px;
8668
8951
  transition: outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
8952
+ color: var(--form-border-color-hover);
8669
8953
 
8670
8954
  input:checked ~ & {
8671
- color: var(--color-primary-500);
8955
+ color: var(--form-outline-color-active);
8672
8956
  }
8673
8957
 
8674
8958
  input:not(:disabled):hover ~ & {
8675
- outline-color: var(--color-neutral-300);
8959
+ outline-color: var(--form-border-color-hover);
8676
8960
  }
8677
8961
 
8678
8962
  input:focus ~ & {
8679
- outline-color: var(--color-primary-200);
8963
+ outline-color: var(--form-outline-color-focus);
8680
8964
  }
8681
8965
  `;
8682
8966
  const StyledRadio = styled__default.default.div`
8683
8967
  position: relative;
8968
+ margin-right: 0.5rem;
8684
8969
  ${props => getCssResponsive(props)}
8685
8970
  `;
8686
8971
  const RadioBase = /*#__PURE__*/React.forwardRef((_a, ref) => {
@@ -8708,6 +8993,12 @@ const Radio = bomCore.withSchema(RadioBase, {
8708
8993
  Group: RadioGroup
8709
8994
  });
8710
8995
 
8996
+ const CssRadioDefault = styled.css`
8997
+ `;
8998
+ const radioVariants = {
8999
+ default: CssRadioDefault
9000
+ };
9001
+
8711
9002
  const RatingSvg = props => jsxRuntime.jsx("svg", Object.assign({
8712
9003
  viewBox: "0 0 24 24",
8713
9004
  /*
@@ -8744,7 +9035,7 @@ const StyledRating = styled__default.default.div`
8744
9035
  width: 1.2em;
8745
9036
  height: 1.2em;
8746
9037
  margin-right: 0.1em;
8747
- color: var(--color-neutral-300);
9038
+ color: var(--form-border-color-disabled);
8748
9039
  cursor: pointer;
8749
9040
 
8750
9041
  & :global(svg) {
@@ -8755,7 +9046,7 @@ const StyledRating = styled__default.default.div`
8755
9046
  }
8756
9047
 
8757
9048
  &.hovered {
8758
- color: var(--color-neutral-900);
9049
+ color: var(--form-color-hover);
8759
9050
 
8760
9051
  :global(svg) {
8761
9052
  transform: scale(0.9);
@@ -8832,6 +9123,12 @@ const Rating = _a => {
8832
9123
  };
8833
9124
  Rating.displayName = 'Rating';
8834
9125
 
9126
+ const CssRatingDefault = styled.css`
9127
+ `;
9128
+ const ratingVariants = {
9129
+ default: CssRatingDefault
9130
+ };
9131
+
8835
9132
  const DownArrowSvg = props => jsxRuntime.jsx("svg", Object.assign({
8836
9133
  xmlns: "http://www.w3.org/2000/svg",
8837
9134
  width: "24",
@@ -8847,7 +9144,7 @@ const DownArrowSvg = props => jsxRuntime.jsx("svg", Object.assign({
8847
9144
  points: "6 9 12 15 18 9"
8848
9145
  })
8849
9146
  }));
8850
- const DownArrow = styled__default.default(DownArrowSvg)`
9147
+ styled__default.default(DownArrowSvg)`
8851
9148
  flex-shrink: 0;
8852
9149
  width: 24px;
8853
9150
  height: 24px;
@@ -8856,43 +9153,25 @@ const DownArrow = styled__default.default(DownArrowSvg)`
8856
9153
  pointer-events: none;
8857
9154
  `;
8858
9155
  const StyledSelectSelect = styled__default.default.div`
9156
+ ${CssFormControl}
9157
+
8859
9158
  display: block;
8860
9159
  width: 100%;
8861
- padding: var(--form-padding);
8862
- appearance: none;
8863
- font-size: var(--form-font-size);
8864
- line-height: var(--form-line-height);
8865
- border: 2px solid;
8866
- border-radius: var(--border-radius);
8867
- color: inherit;
8868
- background-color: transparent;
8869
- border-color: var(--color-neutral-200);
8870
- transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
9160
+ padding: var(--form-padding);
9161
+ appearance: none;
8871
9162
  cursor: pointer;
8872
9163
 
8873
- &.disabled {
8874
- cursor: not-allowed;
8875
- }
8876
-
8877
- &.active:not(.disabled),
8878
- &:hover:not(.disabled) {
8879
- border-color: var(--color-neutral-300);
9164
+ .icon {
9165
+ pointer-events: none;
9166
+ transition: color 200ms ease, transform 200ms ease;
8880
9167
  }
8881
9168
 
8882
- &:focus-visible {
8883
- outline: 2px solid var(--color-primary-200);
8884
- outline-offset: 2px;
8885
-
8886
- &::placeholder {
8887
- opacity: 0.5;
9169
+ &.opened {
9170
+ .icon {
9171
+ transform: rotate(180deg);
8888
9172
  }
8889
9173
  }
8890
9174
 
8891
- &::placeholder {
8892
- color: inherit;
8893
- opacity: 0.3;
8894
- }
8895
-
8896
9175
  ${props => getCssResponsive(props)}
8897
9176
  `;
8898
9177
  const StyledSelect = styled__default.default.div`
@@ -8913,65 +9192,39 @@ const Select = /*#__PURE__*/React.forwardRef((_a, ref) => {
8913
9192
  children: [jsxRuntime.jsx(StyledSelectSelect, Object.assign({
8914
9193
  ref: ref,
8915
9194
  as: as
8916
- }, props)), jsxRuntime.jsx(DownArrow, {})]
9195
+ }, props)), jsxRuntime.jsx(SelectIcon, {})]
8917
9196
  }));
8918
9197
  });
8919
9198
  Select.displayName = 'Select';
8920
9199
 
8921
- const StyledTextArea = styled__default.default.div`
8922
- display: block;
8923
- width: 100%;
8924
- padding: var(--form-padding);
8925
- appearance: none;
8926
- font-size: var(--form-font-size);
8927
- line-height: var(--form-line-height);
8928
- border: 2px solid;
8929
- border-radius: var(--border-radius);
8930
- color: inherit;
8931
- background-color: transparent;
8932
- border-color: var(--color-neutral-200);
8933
- resize: vertical;
8934
- min-height: 4em;
8935
- transition: border 150ms ease-in 0s, outline-color 150ms ease-in 0s, color 200ms ease-out 0s;
8936
- cursor: pointer;
8937
-
8938
- &.disabled {
8939
- cursor: not-allowed;
8940
- }
8941
-
8942
- &.active:not(.disabled),
8943
- &:hover:not(.disabled) {
8944
- border-color: var(--color-neutral-300);
8945
- }
8946
-
8947
- &:focus-visible {
8948
- outline: 2px solid var(--color-primary-200);
8949
- outline-offset: 2px;
8950
-
8951
- &::placeholder {
8952
- opacity: 0.5;
8953
- }
8954
- }
8955
-
8956
- &::placeholder {
8957
- color: inherit;
8958
- opacity: 0.3;
8959
- }
9200
+ const CssSelectDefault = styled.css`
9201
+ `;
9202
+ const selectVariants = {
9203
+ default: CssSelectDefault
9204
+ };
8960
9205
 
9206
+ const StyledTextArea = styled__default.default.div`
9207
+ ${props => getVariant(props.variant, props.variants)}
8961
9208
  ${props => getCssResponsive(props)}
8962
9209
  `;
8963
9210
  const TextArea = /*#__PURE__*/React.forwardRef((_a, ref) => {
8964
9211
  var {
8965
9212
  as = 'textarea',
8966
9213
  children,
8967
- className
9214
+ className,
9215
+ variant = 'default',
9216
+ variants
8968
9217
  } = _a,
8969
- props = __rest(_a, ["as", "children", "className"]);
8970
- const classNames = bomCore.getClassNames('textarea', className);
9218
+ props = __rest(_a, ["as", "children", "className", "variant", "variants"]);
9219
+ const classNames = bomCore.getClassNames('textarea', className, variant);
9220
+ const globalVariants = useVariants('textarea');
9221
+ variants = variants || globalVariants || textareaVariants;
8971
9222
  return jsxRuntime.jsx(StyledTextArea, Object.assign({
8972
9223
  className: classNames,
8973
9224
  ref: ref,
8974
- as: as
9225
+ as: as,
9226
+ variant: variant,
9227
+ variants: variants
8975
9228
  }, props, {
8976
9229
  children: children
8977
9230
  }));
@@ -8979,23 +9232,29 @@ const TextArea = /*#__PURE__*/React.forwardRef((_a, ref) => {
8979
9232
  TextArea.displayName = 'TextArea';
8980
9233
 
8981
9234
  const StyledFieldError = styled__default.default.div`
8982
- margin: 0.5em 0;
8983
- padding: 0.2em 0.5em;
8984
- font-size: var(--font-display-size-10, --form-font-size, 1rem);
8985
- font-weight: 500;
8986
- background: var(--color-primary-100);
8987
- color: var(--color-primary-500);
9235
+ ${props => getVariant(props.variant, props.variants)}
9236
+ ${props => getCssResponsive(props)}
8988
9237
  `;
8989
9238
  function FieldError(_a) {
8990
9239
  var {
8991
- state
8992
- } = _a;
8993
- __rest(_a, ["state"]);
9240
+ state,
9241
+ className,
9242
+ variant = 'default',
9243
+ variants
9244
+ } = _a,
9245
+ props = __rest(_a, ["state", "className", "variant", "variants"]);
8994
9246
  const label = bomMixerHooks.useLabel();
9247
+ const classNames = bomCore.getClassNames('field-error', className, variant);
9248
+ const globalVariants = useVariants('fieldError');
9249
+ variants = variants || globalVariants || fieldErrorVariants;
8995
9250
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
8996
- children: state.flags.touched && state.errors.map(error => jsxRuntime.jsx(StyledFieldError, {
9251
+ children: state.flags.touched && state.errors.map(error => jsxRuntime.jsx(StyledFieldError, Object.assign({
9252
+ className: classNames,
9253
+ variant: variant,
9254
+ variants: variants
9255
+ }, props, {
8997
9256
  children: label(`error.${error.key}`)
8998
- }, error.key))
9257
+ }), error.key))
8999
9258
  });
9000
9259
  }
9001
9260
 
@@ -10284,6 +10543,47 @@ const LazyLoader = _ref => {
10284
10543
  });
10285
10544
  };
10286
10545
 
10546
+ const AuthForm = styled__default.default(Form)`
10547
+ min-height: 100%;
10548
+ justify-content: space-between;
10549
+ display: flex;
10550
+ flex-direction: column;
10551
+ `;
10552
+
10553
+ exports.AuthSubmitPosition = void 0;
10554
+ (function (AuthSubmitPosition) {
10555
+ AuthSubmitPosition[AuthSubmitPosition["Form"] = 0] = "Form";
10556
+ AuthSubmitPosition[AuthSubmitPosition["Bottom"] = 1] = "Bottom";
10557
+ })(exports.AuthSubmitPosition || (exports.AuthSubmitPosition = {}));
10558
+ exports.AuthView = void 0;
10559
+ (function (AuthView) {
10560
+ AuthView[AuthView["login"] = 0] = "login";
10561
+ AuthView[AuthView["register"] = 1] = "register";
10562
+ AuthView[AuthView["registerSuccess"] = 2] = "registerSuccess";
10563
+ AuthView[AuthView["forgot"] = 3] = "forgot";
10564
+ AuthView[AuthView["forgotSuccess"] = 4] = "forgotSuccess";
10565
+ })(exports.AuthView || (exports.AuthView = {}));
10566
+ const defaultAuth = {
10567
+ initialView: exports.AuthView.login,
10568
+ forgot: true,
10569
+ login: true,
10570
+ register: true,
10571
+ update: true,
10572
+ submitPosition: exports.AuthSubmitPosition.Form
10573
+ };
10574
+ const [useAuth, AuthContextProvider] = bomMixerHooks.createGenericContext(defaultAuth);
10575
+ function AuthProvider(_ref) {
10576
+ let {
10577
+ children,
10578
+ options
10579
+ } = _ref;
10580
+ return jsxRuntime.jsx(AuthContextProvider, Object.assign({
10581
+ value: Object.assign(Object.assign({}, defaultAuth), options)
10582
+ }, {
10583
+ children: children
10584
+ }));
10585
+ }
10586
+
10287
10587
  const AuthForgot = _ref => {
10288
10588
  let {
10289
10589
  onPasswordSent,
@@ -10291,6 +10591,7 @@ const AuthForgot = _ref => {
10291
10591
  onNavToRegister
10292
10592
  } = _ref;
10293
10593
  const label = bomMixerHooks.useLabel();
10594
+ const auth = useAuth();
10294
10595
  const required = bomMixerForms.RequiredValidator();
10295
10596
  const email = bomMixerForms.EmailValidator();
10296
10597
  const [form, setValue, setTouched, reset, group] = bomMixerForms.useFormBuilder({
@@ -10306,7 +10607,7 @@ const AuthForgot = _ref => {
10306
10607
  });
10307
10608
 
10308
10609
  const onTest = () => {
10309
- setValue({
10610
+ setValue(auth.forgotTest || {
10310
10611
  email: 'jhon.appleseed@gmail.com'
10311
10612
  });
10312
10613
  };
@@ -10317,7 +10618,7 @@ const AuthForgot = _ref => {
10317
10618
  const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
10318
10619
  event.preventDefault();
10319
10620
  if (form.flags.valid) {
10320
- console.log('AuthForgot.valid', form.value);
10621
+ // console.log('AuthForgot.valid', form.value);
10321
10622
  try {
10322
10623
  setError(undefined);
10323
10624
  yield bomCore.httpPost('/api/auth/forgot', form.value);
@@ -10329,7 +10630,7 @@ const AuthForgot = _ref => {
10329
10630
  setError(error);
10330
10631
  }
10331
10632
  } else {
10332
- console.log('AuthForgot.invalid');
10633
+ // console.log('AuthForgot.invalid');
10333
10634
  setTouched();
10334
10635
  }
10335
10636
  });
@@ -10346,7 +10647,7 @@ const AuthForgot = _ref => {
10346
10647
  return jsxRuntime.jsx(Flex.Col, Object.assign({
10347
10648
  justifyContent: "space-between"
10348
10649
  }, {
10349
- children: jsxRuntime.jsxs(Form, Object.assign({
10650
+ children: jsxRuntime.jsxs(AuthForm, Object.assign({
10350
10651
  state: form,
10351
10652
  onSubmit: onSubmit
10352
10653
  }, {
@@ -10359,7 +10660,7 @@ const AuthForgot = _ref => {
10359
10660
  fontWeight: "700",
10360
10661
  marginBottom: "1rem"
10361
10662
  }, {
10362
- children: "Password recovery"
10663
+ children: label('auth.forgot.title')
10363
10664
  })), jsxRuntime.jsx(FieldText, {
10364
10665
  control: group.controls.checkField
10365
10666
  }), jsxRuntime.jsx(FieldText, {
@@ -10368,7 +10669,7 @@ const AuthForgot = _ref => {
10368
10669
  error: error
10369
10670
  }, {
10370
10671
  children: label('form.submit.error')
10371
- })), jsxRuntime.jsx(Button, Object.assign({
10672
+ })), auth.submitPosition === exports.AuthSubmitPosition.Form && jsxRuntime.jsx(Button, Object.assign({
10372
10673
  type: "submit",
10373
10674
  variant: "primary",
10374
10675
  size: "lg",
@@ -10376,36 +10677,51 @@ const AuthForgot = _ref => {
10376
10677
  margin: "1rem 0"
10377
10678
  }, {
10378
10679
  children: jsxRuntime.jsx("span", {
10379
- children: "Send"
10680
+ children: label('auth.forgot.send')
10380
10681
  })
10381
- })), jsxRuntime.jsx(Divider, {
10382
- children: "Do you remember your password?"
10383
- }), jsxRuntime.jsx(Flex.Row, Object.assign({
10384
- justifyContent: "center"
10385
- }, {
10386
- children: jsxRuntime.jsx(Button, Object.assign({
10387
- variant: "link",
10388
- onClick: onLogin
10682
+ })), auth.login && jsxRuntime.jsxs(jsxRuntime.Fragment, {
10683
+ children: [jsxRuntime.jsx(Divider, {
10684
+ children: label('auth.forgot.remember')
10685
+ }), jsxRuntime.jsx(Flex.Row, Object.assign({
10686
+ justifyContent: "center"
10389
10687
  }, {
10390
- children: "Login"
10391
- }))
10392
- })), jsxRuntime.jsx(Divider, {
10393
- children: "Not registered yet?"
10394
- }), jsxRuntime.jsx(Flex.Row, Object.assign({
10395
- justifyContent: "center"
10396
- }, {
10397
- children: jsxRuntime.jsx(Button, Object.assign({
10398
- variant: "link",
10399
- onClick: onRegister
10688
+ children: jsxRuntime.jsx(Button, Object.assign({
10689
+ variant: "link",
10690
+ onClick: onLogin
10691
+ }, {
10692
+ children: label('auth.register.login')
10693
+ }))
10694
+ }))]
10695
+ }), auth.register && jsxRuntime.jsxs(jsxRuntime.Fragment, {
10696
+ children: [jsxRuntime.jsx(Divider, {
10697
+ children: label('auth.login.notRegistered')
10698
+ }), jsxRuntime.jsx(Flex.Row, Object.assign({
10699
+ justifyContent: "center"
10400
10700
  }, {
10401
- children: "Register"
10402
- }))
10403
- })), jsxRuntime.jsx(FormTester, {
10404
- form: form,
10405
- onTest: onTest,
10406
- onReset: onReset
10701
+ children: jsxRuntime.jsx(Button, Object.assign({
10702
+ variant: "link",
10703
+ onClick: onRegister
10704
+ }, {
10705
+ children: label('auth.login.register')
10706
+ }))
10707
+ }))]
10407
10708
  })]
10408
- })), false ]
10709
+ })), jsxRuntime.jsx(FormTester, {
10710
+ form: form,
10711
+ onTest: onTest,
10712
+ onReset: onReset
10713
+ }), auth.submitPosition === exports.AuthSubmitPosition.Bottom && jsxRuntime.jsx(Button, Object.assign({
10714
+ type: "submit",
10715
+ variant: "primary",
10716
+ size: "lg",
10717
+ position: "sticky",
10718
+ bottom: "1rem",
10719
+ justifyContent: "center"
10720
+ }, {
10721
+ children: jsxRuntime.jsx("span", {
10722
+ children: label('auth.forgot.send')
10723
+ })
10724
+ }))]
10409
10725
  }))
10410
10726
  }));
10411
10727
  };
@@ -10414,6 +10730,8 @@ const AuthForgotSuccess = _ref => {
10414
10730
  let {
10415
10731
  onNavToLogin
10416
10732
  } = _ref;
10733
+ const label = bomMixerHooks.useLabel();
10734
+ const auth = useAuth();
10417
10735
  const onLogin = () => {
10418
10736
  if (typeof onNavToLogin === 'function') {
10419
10737
  onNavToLogin();
@@ -10430,23 +10748,25 @@ const AuthForgotSuccess = _ref => {
10430
10748
  variant: "heading30",
10431
10749
  fontWeight: "700"
10432
10750
  }, {
10433
- children: "Password recovery"
10751
+ children: label('auth.forgotSuccess.title')
10434
10752
  })), jsxRuntime.jsx(Text, Object.assign({
10435
10753
  variant: "paragraph20",
10436
10754
  marginBottom: "2rem"
10437
10755
  }, {
10438
- children: "An email has been sent. please check your inbox."
10439
- })), jsxRuntime.jsx(Text, Object.assign({
10440
- variant: "heading30",
10441
- fontWeight: "700"
10442
- }, {
10443
- children: "Ready to login?"
10444
- })), jsxRuntime.jsx(Button, Object.assign({
10445
- variant: "primary",
10446
- onClick: onLogin
10447
- }, {
10448
- children: "Login"
10449
- }))]
10756
+ children: label('auth.forgotSuccess.abstract')
10757
+ })), auth.login && jsxRuntime.jsxs(jsxRuntime.Fragment, {
10758
+ children: [jsxRuntime.jsx(Text, Object.assign({
10759
+ variant: "heading30",
10760
+ fontWeight: "700"
10761
+ }, {
10762
+ children: label('auth.forgotSuccess.readyToLogin')
10763
+ })), jsxRuntime.jsx(Button, Object.assign({
10764
+ variant: "primary",
10765
+ onClick: onLogin
10766
+ }, {
10767
+ children: label('auth.register.login')
10768
+ }))]
10769
+ })]
10450
10770
  }))
10451
10771
  }));
10452
10772
  };
@@ -10458,6 +10778,7 @@ const AuthLogin = _ref => {
10458
10778
  onNavToRegister
10459
10779
  } = _ref;
10460
10780
  const label = bomMixerHooks.useLabel();
10781
+ const auth = useAuth();
10461
10782
  const required = bomMixerForms.RequiredValidator();
10462
10783
  const email = bomMixerForms.EmailValidator();
10463
10784
  const [form, setValue, setTouched, reset, group] = bomMixerForms.useFormBuilder({
@@ -10482,7 +10803,7 @@ const AuthLogin = _ref => {
10482
10803
  });
10483
10804
 
10484
10805
  const onTest = () => {
10485
- setValue({
10806
+ setValue(auth.loginTest || {
10486
10807
  email: 'jhon.appleseed@gmail.com',
10487
10808
  password: '123456'
10488
10809
  });
@@ -10497,7 +10818,7 @@ const AuthLogin = _ref => {
10497
10818
  const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
10498
10819
  event.preventDefault();
10499
10820
  if (form.flags.valid) {
10500
- console.log('AuthLogin.valid', form.value);
10821
+ // console.log('AuthLogin.valid', form.value);
10501
10822
  try {
10502
10823
  setError(undefined);
10503
10824
  const user = yield bomCore.httpPost('/api/auth/login', form.value);
@@ -10514,7 +10835,7 @@ const AuthLogin = _ref => {
10514
10835
  setError(error);
10515
10836
  }
10516
10837
  } else {
10517
- console.log('AuthLogin.invalid');
10838
+ // console.log('AuthLogin.invalid');
10518
10839
  setTouched();
10519
10840
  }
10520
10841
  });
@@ -10531,7 +10852,7 @@ const AuthLogin = _ref => {
10531
10852
  return jsxRuntime.jsx(Flex.Col, Object.assign({
10532
10853
  justifyContent: "space-between"
10533
10854
  }, {
10534
- children: jsxRuntime.jsxs(Form, Object.assign({
10855
+ children: jsxRuntime.jsxs(AuthForm, Object.assign({
10535
10856
  state: form,
10536
10857
  onSubmit: onSubmit
10537
10858
  }, {
@@ -10544,7 +10865,7 @@ const AuthLogin = _ref => {
10544
10865
  fontWeight: "700",
10545
10866
  marginBottom: "1rem"
10546
10867
  }, {
10547
- children: "Sign in to your account"
10868
+ children: label('auth.login.title')
10548
10869
  })), jsxRuntime.jsx(FieldText, {
10549
10870
  control: group.controls.checkField
10550
10871
  }), jsxRuntime.jsx(FieldText, {
@@ -10557,17 +10878,17 @@ const AuthLogin = _ref => {
10557
10878
  children: [jsxRuntime.jsx(FieldCheckbox, {
10558
10879
  margin: "0",
10559
10880
  control: group.controls.rememberMe
10560
- }), jsxRuntime.jsx(Button, Object.assign({
10881
+ }), auth.forgot && jsxRuntime.jsx(Button, Object.assign({
10561
10882
  variant: "link",
10562
10883
  onClick: onForgot
10563
10884
  }, {
10564
- children: "Forgot your password?"
10885
+ children: label('auth.login.forgot')
10565
10886
  }))]
10566
10887
  })), error && jsxRuntime.jsx(FormError, Object.assign({
10567
10888
  error: error
10568
10889
  }, {
10569
10890
  children: label('form.submit.loginError')
10570
- })), jsxRuntime.jsx(Button, Object.assign({
10891
+ })), auth.submitPosition === exports.AuthSubmitPosition.Form && jsxRuntime.jsx(Button, Object.assign({
10571
10892
  type: "submit",
10572
10893
  variant: "primary",
10573
10894
  size: "lg",
@@ -10575,25 +10896,38 @@ const AuthLogin = _ref => {
10575
10896
  margin: "1rem 0"
10576
10897
  }, {
10577
10898
  children: jsxRuntime.jsx("span", {
10578
- children: "Sign In"
10899
+ children: label('auth.login.signIn')
10579
10900
  })
10580
- })), jsxRuntime.jsx(Divider, {
10581
- children: "Not registered yet?"
10582
- }), jsxRuntime.jsx(Flex.Row, Object.assign({
10583
- justifyContent: "center"
10584
- }, {
10585
- children: jsxRuntime.jsx(Button, Object.assign({
10586
- variant: "link",
10587
- onClick: onRegister
10901
+ })), auth.register && jsxRuntime.jsxs(jsxRuntime.Fragment, {
10902
+ children: [jsxRuntime.jsx(Divider, {
10903
+ children: label('auth.login.notRegistered')
10904
+ }), jsxRuntime.jsx(Flex.Row, Object.assign({
10905
+ justifyContent: "center"
10588
10906
  }, {
10589
- children: "Register"
10590
- }))
10591
- })), jsxRuntime.jsx(FormTester, {
10592
- form: form,
10593
- onTest: onTest,
10594
- onReset: onReset
10907
+ children: jsxRuntime.jsx(Button, Object.assign({
10908
+ variant: "link",
10909
+ onClick: onRegister
10910
+ }, {
10911
+ children: label('auth.login.register')
10912
+ }))
10913
+ }))]
10595
10914
  })]
10596
- })), false ]
10915
+ })), jsxRuntime.jsx(FormTester, {
10916
+ form: form,
10917
+ onTest: onTest,
10918
+ onReset: onReset
10919
+ }), auth.submitPosition === exports.AuthSubmitPosition.Bottom && jsxRuntime.jsx(Button, Object.assign({
10920
+ type: "submit",
10921
+ variant: "primary",
10922
+ size: "lg",
10923
+ position: "sticky",
10924
+ bottom: "1rem",
10925
+ justifyContent: "center"
10926
+ }, {
10927
+ children: jsxRuntime.jsx("span", {
10928
+ children: label('auth.login.signIn')
10929
+ })
10930
+ }))]
10597
10931
  }))
10598
10932
  }));
10599
10933
  };
@@ -10604,6 +10938,7 @@ const AuthRegister = _ref => {
10604
10938
  onNavToLogin
10605
10939
  } = _ref;
10606
10940
  const label = bomMixerHooks.useLabel();
10941
+ const auth = useAuth();
10607
10942
  const required = bomMixerForms.RequiredValidator();
10608
10943
  const requiredTrue = bomMixerForms.RequiredTrueValidator();
10609
10944
  const email = bomMixerForms.EmailValidator();
@@ -10648,7 +10983,7 @@ const AuthRegister = _ref => {
10648
10983
  });
10649
10984
 
10650
10985
  const onTest = () => {
10651
- setValue({
10986
+ setValue(auth.registerTest || {
10652
10987
  firstName: 'Jhon',
10653
10988
  lastName: 'Appleseed',
10654
10989
  email: 'jhon.appleseed@gmail.com',
@@ -10664,7 +10999,7 @@ const AuthRegister = _ref => {
10664
10999
  const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
10665
11000
  event.preventDefault();
10666
11001
  if (form.flags.valid) {
10667
- console.log('AuthRegister.valid', form.value);
11002
+ // console.log('AuthRegister.valid', form.value);
10668
11003
  try {
10669
11004
  setError(undefined);
10670
11005
  yield bomCore.httpPost('/api/auth/register', form.value);
@@ -10676,7 +11011,7 @@ const AuthRegister = _ref => {
10676
11011
  setError(error);
10677
11012
  }
10678
11013
  } else {
10679
- console.log('AuthRegister.invalid');
11014
+ // console.log('AuthRegister.invalid');
10680
11015
  setTouched();
10681
11016
  }
10682
11017
  });
@@ -10688,7 +11023,7 @@ const AuthRegister = _ref => {
10688
11023
  return jsxRuntime.jsx(Flex.Col, Object.assign({
10689
11024
  justifyContent: "space-between"
10690
11025
  }, {
10691
- children: jsxRuntime.jsxs(Form, Object.assign({
11026
+ children: jsxRuntime.jsxs(AuthForm, Object.assign({
10692
11027
  state: form,
10693
11028
  onSubmit: onSubmit
10694
11029
  }, {
@@ -10701,12 +11036,12 @@ const AuthRegister = _ref => {
10701
11036
  fontWeight: "700",
10702
11037
  marginBottom: "1rem"
10703
11038
  }, {
10704
- children: "Registration"
11039
+ children: label('auth.register.title')
10705
11040
  })), jsxRuntime.jsx(Text, Object.assign({
10706
11041
  variant: "paragraph20",
10707
11042
  marginBottom: "2rem"
10708
11043
  }, {
10709
- children: "Fill out the form to request access. You will receive a confirmation email after activation."
11044
+ children: label('auth.register.abstract')
10710
11045
  })), jsxRuntime.jsx(FieldText, {
10711
11046
  control: group.controls.checkField
10712
11047
  }), jsxRuntime.jsx(FieldText, {
@@ -10726,7 +11061,7 @@ const AuthRegister = _ref => {
10726
11061
  error: error
10727
11062
  }, {
10728
11063
  children: label('form.submit.error')
10729
- })), jsxRuntime.jsx(Button, Object.assign({
11064
+ })), auth.submitPosition === exports.AuthSubmitPosition.Form && jsxRuntime.jsx(Button, Object.assign({
10730
11065
  type: "submit",
10731
11066
  variant: "primary",
10732
11067
  size: "lg",
@@ -10734,25 +11069,38 @@ const AuthRegister = _ref => {
10734
11069
  margin: "1rem 0"
10735
11070
  }, {
10736
11071
  children: jsxRuntime.jsx("span", {
10737
- children: "Register"
11072
+ children: label('auth.register.signUp')
10738
11073
  })
10739
- })), jsxRuntime.jsx(Divider, {
10740
- children: "Already registered?"
10741
- }), jsxRuntime.jsx(Flex.Row, Object.assign({
10742
- justifyContent: "center"
10743
- }, {
10744
- children: jsxRuntime.jsx(Button, Object.assign({
10745
- variant: "link",
10746
- onClick: onLogin
11074
+ })), auth.login && jsxRuntime.jsxs(jsxRuntime.Fragment, {
11075
+ children: [jsxRuntime.jsx(Divider, {
11076
+ children: label('auth.register.alreadyRegistered')
11077
+ }), jsxRuntime.jsx(Flex.Row, Object.assign({
11078
+ justifyContent: "center"
10747
11079
  }, {
10748
- children: "Login"
10749
- }))
10750
- })), jsxRuntime.jsx(FormTester, {
10751
- form: form,
10752
- onTest: onTest,
10753
- onReset: onReset
11080
+ children: jsxRuntime.jsx(Button, Object.assign({
11081
+ variant: "link",
11082
+ onClick: onLogin
11083
+ }, {
11084
+ children: label('auth.register.login')
11085
+ }))
11086
+ }))]
10754
11087
  })]
10755
- })), false ]
11088
+ })), jsxRuntime.jsx(FormTester, {
11089
+ form: form,
11090
+ onTest: onTest,
11091
+ onReset: onReset
11092
+ }), auth.submitPosition === exports.AuthSubmitPosition.Bottom && jsxRuntime.jsx(Button, Object.assign({
11093
+ type: "submit",
11094
+ variant: "primary",
11095
+ size: "lg",
11096
+ position: "sticky",
11097
+ bottom: "1rem",
11098
+ justifyContent: "center"
11099
+ }, {
11100
+ children: jsxRuntime.jsx("span", {
11101
+ children: label('auth.register.signUp')
11102
+ })
11103
+ }))]
10756
11104
  }))
10757
11105
  }));
10758
11106
  };
@@ -10761,6 +11109,8 @@ const AuthRegisterSuccess = _ref => {
10761
11109
  let {
10762
11110
  onNavToLogin
10763
11111
  } = _ref;
11112
+ const label = bomMixerHooks.useLabel();
11113
+ const auth = useAuth();
10764
11114
  const onLogin = () => {
10765
11115
  if (typeof onNavToLogin === 'function') {
10766
11116
  onNavToLogin();
@@ -10777,74 +11127,81 @@ const AuthRegisterSuccess = _ref => {
10777
11127
  variant: "heading30",
10778
11128
  fontWeight: "700"
10779
11129
  }, {
10780
- children: "Thank you for registering"
11130
+ children: label('auth.registerSuccess.title')
10781
11131
  })), jsxRuntime.jsx(Text, Object.assign({
10782
11132
  variant: "paragraph20",
10783
11133
  marginBottom: "2rem"
10784
11134
  }, {
10785
- children: "A confimation email has been sent to your address. Please check your inbox."
10786
- })), jsxRuntime.jsx(Text, Object.assign({
10787
- variant: "heading30",
10788
- fontWeight: "700"
10789
- }, {
10790
- children: "Ready to login?"
10791
- })), jsxRuntime.jsx(Button, Object.assign({
10792
- variant: "primary",
10793
- onClick: onLogin
10794
- }, {
10795
- children: "Login"
10796
- }))]
11135
+ children: label('auth.registerSuccess.abstract')
11136
+ })), auth.login && jsxRuntime.jsxs(jsxRuntime.Fragment, {
11137
+ children: [jsxRuntime.jsx(Text, Object.assign({
11138
+ variant: "heading30",
11139
+ fontWeight: "700"
11140
+ }, {
11141
+ children: label('auth.registerSuccess.readyToLogin')
11142
+ })), jsxRuntime.jsx(Button, Object.assign({
11143
+ variant: "primary",
11144
+ onClick: onLogin
11145
+ }, {
11146
+ children: label('auth.register.login')
11147
+ }))]
11148
+ })]
10797
11149
  }))
10798
11150
  }));
10799
11151
  };
10800
11152
 
10801
- const Auth = props => {
11153
+ const Auth = _a => {
11154
+ var props = __rest(_a, ["options"]);
10802
11155
  const [drawer, openDrawer, closeDrawer] = bomMixerHooks.useDrawer();
10803
- const [view, setView] = React.useState('login');
11156
+ const auth = useAuth();
11157
+ const [view, setView] = React.useState(auth.initialView);
10804
11158
  const onSignedIn = user => {
10805
- console.log('onSignedIn');
11159
+ // console.log('onSignedIn');
10806
11160
  closeDrawer();
10807
11161
  if (typeof props.onSignedIn === 'function') {
10808
11162
  props.onSignedIn(user);
10809
11163
  }
10810
11164
  };
10811
11165
  const onSignedUp = () => {
10812
- console.log('onSignedUp');
10813
- setView('register-success');
11166
+ // console.log('onSignedUp');
11167
+ setView(exports.AuthView.registerSuccess);
10814
11168
  };
10815
11169
  const onPasswordSent = () => {
10816
- console.log('onPasswordSent');
10817
- setView('forgot-success');
11170
+ // console.log('onPasswordSent');
11171
+ setView(exports.AuthView.forgotSuccess);
10818
11172
  };
10819
- switch (view) {
10820
- case 'login':
10821
- return jsxRuntime.jsx(AuthLogin, {
10822
- onSignedIn: onSignedIn,
10823
- onNavToForgot: () => setView('forgot'),
10824
- onNavToRegister: () => setView('register')
10825
- });
10826
- case 'register':
10827
- return jsxRuntime.jsx(AuthRegister, {
10828
- onSignedUp: onSignedUp,
10829
- onNavToLogin: () => setView('login')
10830
- });
10831
- case 'register-success':
10832
- return jsxRuntime.jsx(AuthRegisterSuccess, {
10833
- onNavToLogin: () => setView('login')
10834
- });
10835
- case 'forgot':
10836
- return jsxRuntime.jsx(AuthForgot, {
10837
- onPasswordSent: onPasswordSent,
10838
- onNavToLogin: () => setView('login'),
10839
- onNavToRegister: () => setView('register')
10840
- });
10841
- case 'forgot-success':
10842
- return jsxRuntime.jsx(AuthForgotSuccess, {
10843
- onNavToLogin: () => setView('login')
10844
- });
10845
- default:
10846
- return null;
10847
- }
11173
+ const getView = () => {
11174
+ switch (view) {
11175
+ case exports.AuthView.login:
11176
+ return jsxRuntime.jsx(AuthLogin, {
11177
+ onSignedIn: onSignedIn,
11178
+ onNavToForgot: () => setView(exports.AuthView.forgot),
11179
+ onNavToRegister: () => setView(exports.AuthView.register)
11180
+ });
11181
+ case exports.AuthView.register:
11182
+ return jsxRuntime.jsx(AuthRegister, {
11183
+ onSignedUp: onSignedUp,
11184
+ onNavToLogin: () => setView(exports.AuthView.login)
11185
+ });
11186
+ case exports.AuthView.registerSuccess:
11187
+ return jsxRuntime.jsx(AuthRegisterSuccess, {
11188
+ onNavToLogin: () => setView(exports.AuthView.login)
11189
+ });
11190
+ case exports.AuthView.forgot:
11191
+ return jsxRuntime.jsx(AuthForgot, {
11192
+ onPasswordSent: onPasswordSent,
11193
+ onNavToLogin: () => setView(exports.AuthView.login),
11194
+ onNavToRegister: () => setView(exports.AuthView.register)
11195
+ });
11196
+ case exports.AuthView.forgotSuccess:
11197
+ return jsxRuntime.jsx(AuthForgotSuccess, {
11198
+ onNavToLogin: () => setView(exports.AuthView.login)
11199
+ });
11200
+ default:
11201
+ return null;
11202
+ }
11203
+ };
11204
+ return getView();
10848
11205
  };
10849
11206
 
10850
11207
  const AuthChangePassword = _ref => {
@@ -10893,7 +11250,7 @@ const AuthChangePassword = _ref => {
10893
11250
  const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
10894
11251
  event.preventDefault();
10895
11252
  if (form.flags.valid) {
10896
- console.log('AuthChangePassword.valid', form.value);
11253
+ // console.log('AuthChangePassword.valid', form.value);
10897
11254
  try {
10898
11255
  setError(undefined);
10899
11256
  yield bomCore.httpPost('/api/auth/password', form.value);
@@ -10905,7 +11262,7 @@ const AuthChangePassword = _ref => {
10905
11262
  setError(error);
10906
11263
  }
10907
11264
  } else {
10908
- console.log('AuthChangePassword.invalid');
11265
+ // console.log('AuthChangePassword.invalid');
10909
11266
  setTouched();
10910
11267
  }
10911
11268
  });
@@ -10943,7 +11300,7 @@ const AuthChangePassword = _ref => {
10943
11300
  onClick: onCancel_
10944
11301
  }, {
10945
11302
  children: jsxRuntime.jsx("span", {
10946
- children: "Cancel"
11303
+ children: label('auth.change-password.cancel')
10947
11304
  })
10948
11305
  })), jsxRuntime.jsx(Button, Object.assign({
10949
11306
  type: "submit",
@@ -10952,7 +11309,7 @@ const AuthChangePassword = _ref => {
10952
11309
  margin: "1rem 0"
10953
11310
  }, {
10954
11311
  children: jsxRuntime.jsx("span", {
10955
- children: "Change password"
11312
+ children: label('auth.change-password.change')
10956
11313
  })
10957
11314
  }))]
10958
11315
  })), jsxRuntime.jsx(FormTester, {
@@ -10997,6 +11354,7 @@ const AuthUpdate = _ref => {
10997
11354
  onCancel
10998
11355
  } = _ref;
10999
11356
  const label = bomMixerHooks.useLabel();
11357
+ const auth = useAuth();
11000
11358
  const required = bomMixerForms.RequiredValidator();
11001
11359
  const email = bomMixerForms.EmailValidator();
11002
11360
  const [form, setValue, setTouched, reset, group] = bomMixerForms.useFormBuilder({
@@ -11025,7 +11383,7 @@ const AuthUpdate = _ref => {
11025
11383
  });
11026
11384
 
11027
11385
  const onTest = () => {
11028
- setValue({
11386
+ setValue(auth.updateTest || {
11029
11387
  firstName: 'Jhon',
11030
11388
  lastName: 'Appleseed',
11031
11389
  email: 'jhon.appleseed@gmail.com',
@@ -11039,7 +11397,7 @@ const AuthUpdate = _ref => {
11039
11397
  const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
11040
11398
  event.preventDefault();
11041
11399
  if (form.flags.valid) {
11042
- console.log('AuthUpdate.valid', form.value);
11400
+ // console.log('AuthUpdate.valid', form.value);
11043
11401
  try {
11044
11402
  setError(undefined);
11045
11403
  const user = yield bomCore.httpPost('/api/auth/update', form.value);
@@ -11051,7 +11409,7 @@ const AuthUpdate = _ref => {
11051
11409
  setError(error);
11052
11410
  }
11053
11411
  } else {
11054
- console.log('AuthUpdate.invalid');
11412
+ // console.log('AuthUpdate.invalid');
11055
11413
  setTouched();
11056
11414
  }
11057
11415
  });
@@ -11063,11 +11421,11 @@ const AuthUpdate = _ref => {
11063
11421
  return jsxRuntime.jsx(Flex.Col, Object.assign({
11064
11422
  justifyContent: "space-between"
11065
11423
  }, {
11066
- children: jsxRuntime.jsx(Form, Object.assign({
11424
+ children: jsxRuntime.jsxs(Form, Object.assign({
11067
11425
  state: form,
11068
11426
  onSubmit: onSubmit
11069
11427
  }, {
11070
- children: jsxRuntime.jsxs(Flex.Col, Object.assign({
11428
+ children: [jsxRuntime.jsxs(Flex.Col, Object.assign({
11071
11429
  flex: "1",
11072
11430
  rowGap: "1rem"
11073
11431
  }, {
@@ -11091,7 +11449,7 @@ const AuthUpdate = _ref => {
11091
11449
  onClick: onCancel_
11092
11450
  }, {
11093
11451
  children: jsxRuntime.jsx("span", {
11094
- children: "Cancel"
11452
+ children: label('auth.update.cancel')
11095
11453
  })
11096
11454
  })), jsxRuntime.jsx(Button, Object.assign({
11097
11455
  type: "submit",
@@ -11100,15 +11458,15 @@ const AuthUpdate = _ref => {
11100
11458
  margin: "1rem 0"
11101
11459
  }, {
11102
11460
  children: jsxRuntime.jsx("span", {
11103
- children: "Update"
11461
+ children: label('auth.update.update')
11104
11462
  })
11105
11463
  }))]
11106
- })), jsxRuntime.jsx(FormTester, {
11107
- form: form,
11108
- onTest: onTest,
11109
- onReset: onReset
11110
- })]
11111
- }))
11464
+ }))]
11465
+ })), jsxRuntime.jsx(FormTester, {
11466
+ form: form,
11467
+ onTest: onTest,
11468
+ onReset: onReset
11469
+ })]
11112
11470
  }))
11113
11471
  }));
11114
11472
  };
@@ -14952,7 +15310,7 @@ const ContactHero = _ref => {
14952
15310
  })), jsxRuntime.jsxs(Button, Object.assign({
14953
15311
  as: "a",
14954
15312
  href: "#contact-request",
14955
- variant: "secondary",
15313
+ variant: "outline",
14956
15314
  onClick: scrollTo
14957
15315
  }, {
14958
15316
  children: [jsxRuntime.jsx("span", {
@@ -20522,6 +20880,7 @@ exports.Accordion = Accordion;
20522
20880
  exports.Auth = Auth;
20523
20881
  exports.AuthChangePassword = AuthChangePassword;
20524
20882
  exports.AuthDrawer = AuthDrawer;
20883
+ exports.AuthProvider = AuthProvider;
20525
20884
  exports.AuthUpdate = AuthUpdate;
20526
20885
  exports.Autocomplete = Autocomplete;
20527
20886
  exports.AutocompleteContext = AutocompleteContext;
@@ -20559,6 +20918,7 @@ exports.ContainerFluid = ContainerFluid;
20559
20918
  exports.CssActive = CssActive;
20560
20919
  exports.CssAfter = CssAfter;
20561
20920
  exports.CssAfterInverted = CssAfterInverted;
20921
+ exports.CssAutocompleteDefault = CssAutocompleteDefault;
20562
20922
  exports.CssBase = CssBase;
20563
20923
  exports.CssButtonCircle = CssButtonCircle;
20564
20924
  exports.CssButtonDefault = CssButtonDefault;
@@ -20571,15 +20931,32 @@ exports.CssButtonPrimary = CssButtonPrimary;
20571
20931
  exports.CssButtonSecondary = CssButtonSecondary;
20572
20932
  exports.CssButtonToggle = CssButtonToggle;
20573
20933
  exports.CssButtonUnderline = CssButtonUnderline;
20934
+ exports.CssCheckboxDefault = CssCheckboxDefault;
20574
20935
  exports.CssDebug = CssDebug;
20575
20936
  exports.CssDefault = CssDefault;
20576
20937
  exports.CssDisabled = CssDisabled;
20938
+ exports.CssFieldDefault = CssFieldDefault;
20939
+ exports.CssFieldErrorDefault = CssFieldErrorDefault;
20577
20940
  exports.CssFocus = CssFocus;
20941
+ exports.CssFormControl = CssFormControl;
20942
+ exports.CssFormErrorDefault = CssFormErrorDefault;
20943
+ exports.CssFormTesterDefault = CssFormTesterDefault;
20944
+ exports.CssInputContainerDefault = CssInputContainerDefault;
20945
+ exports.CssInputDefault = CssInputDefault;
20946
+ exports.CssInputReset = CssInputReset;
20947
+ exports.CssLabelDefault = CssLabelDefault;
20578
20948
  exports.CssPrint = CssPrint;
20949
+ exports.CssRadioCardDefault = CssRadioCardDefault;
20950
+ exports.CssRadioColorDefault = CssRadioColorDefault;
20951
+ exports.CssRadioDefault = CssRadioDefault;
20952
+ exports.CssRadioOptionDefault = CssRadioOptionDefault;
20953
+ exports.CssRatingDefault = CssRatingDefault;
20579
20954
  exports.CssReset = CssReset;
20580
20955
  exports.CssResponsive = CssResponsive;
20581
20956
  exports.CssScrollbar = CssScrollbar;
20957
+ exports.CssSelectDefault = CssSelectDefault;
20582
20958
  exports.CssSvg = CssSvg;
20959
+ exports.CssTextareaDefault = CssTextareaDefault;
20583
20960
  exports.CssTypography = CssTypography;
20584
20961
  exports.CssUnderline = CssUnderline;
20585
20962
  exports.CssVars = CssVars;
@@ -20700,20 +21077,34 @@ exports.Tooltip = Tooltip;
20700
21077
  exports.Transition = Transition;
20701
21078
  exports.Typography = Typography;
20702
21079
  exports.VariantsProvider = VariantsProvider;
21080
+ exports.autocompleteVariants = autocompleteVariants;
20703
21081
  exports.buttonVariants = buttonVariants;
20704
21082
  exports.camelize = camelize;
21083
+ exports.checkboxVariants = checkboxVariants;
21084
+ exports.defaultVariants = defaultVariants;
21085
+ exports.defaultVariants__ = defaultVariants__;
20705
21086
  exports.eachMedia = eachMedia;
21087
+ exports.fieldErrorVariants = fieldErrorVariants;
21088
+ exports.fieldVariants = fieldVariants;
20706
21089
  exports.filterStoreLocatorItem = filterStoreLocatorItem;
21090
+ exports.formErrorVariants = formErrorVariants;
21091
+ exports.formTesterVariants = formTesterVariants;
20707
21092
  exports.getAspectResponsive = getAspectResponsive;
20708
21093
  exports.getChildsByType = getChildsByType;
20709
21094
  exports.getContainer = getContainer;
20710
21095
  exports.getCssResponsive = getCssResponsive;
21096
+ exports.getFontVariantResponsive = getFontVariantResponsive;
21097
+ exports.getForm = getForm;
20711
21098
  exports.getGrid = getGrid;
20712
21099
  exports.getShortName = getShortName;
20713
21100
  exports.getVariant = getVariant;
21101
+ exports.getVariantKey = getVariantKey;
21102
+ exports.getVariantResponsive = getVariantResponsive;
20714
21103
  exports.hasChildOfType = hasChildOfType;
20715
21104
  exports.hypenize = hypenize;
21105
+ exports.inputVariants = inputVariants;
20716
21106
  exports.isChildElement = isChildElement;
21107
+ exports.labelVariants = labelVariants;
20717
21108
  exports.mapChildsByType = mapChildsByType;
20718
21109
  exports.mediaBetween = mediaBetween;
20719
21110
  exports.mediaDown = mediaDown;
@@ -20721,8 +21112,16 @@ exports.mediaMax = mediaMax;
20721
21112
  exports.mediaMin = mediaMin;
20722
21113
  exports.mediaOnly = mediaOnly;
20723
21114
  exports.mediaUp = mediaUp;
21115
+ exports.radioCardVariants = radioCardVariants;
21116
+ exports.radioColorVariants = radioColorVariants;
21117
+ exports.radioOptionVariants = radioOptionVariants;
21118
+ exports.radioVariants = radioVariants;
21119
+ exports.ratingVariants = ratingVariants;
21120
+ exports.selectVariants = selectVariants;
20724
21121
  exports.sizes = sizes;
21122
+ exports.textareaVariants = textareaVariants;
20725
21123
  exports.theme = customTheme;
21124
+ exports.useAuth = useAuth;
20726
21125
  exports.useAutocompleteContext = useAutocompleteContext;
20727
21126
  exports.useVariants = useVariants;
20728
21127
  exports.withPageTransition = withPageTransition;