@veracity/vui 0.3.0 → 0.3.2

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 (400) hide show
  1. package/avatar/avatar.d.ts +2 -2
  2. package/avatar/avatar.js +9 -29
  3. package/avatar/avatar.types.d.ts +9 -2
  4. package/avatar/helpers.d.ts +2 -0
  5. package/avatar/helpers.js +26 -0
  6. package/avatar/index.d.ts +1 -1
  7. package/avatar/index.js +1 -1
  8. package/avatar/theme.d.ts +1 -0
  9. package/avatar/theme.js +7 -0
  10. package/box/box.d.ts +2 -2
  11. package/box/box.js +9 -8
  12. package/box/box.types.d.ts +13 -2
  13. package/box/index.d.ts +1 -1
  14. package/box/index.js +1 -1
  15. package/box/theme.d.ts +1 -0
  16. package/box/theme.js +2 -0
  17. package/button/button.d.ts +7 -3
  18. package/button/button.js +24 -14
  19. package/button/button.types.d.ts +12 -30
  20. package/button/buttonIcon.d.ts +1 -0
  21. package/button/buttonIcon.js +3 -5
  22. package/button/buttonText.d.ts +1 -0
  23. package/button/buttonText.js +3 -5
  24. package/button/buttons.js +1 -1
  25. package/button/index.d.ts +2 -2
  26. package/button/index.js +3 -3
  27. package/button/theme.d.ts +1 -0
  28. package/button/theme.js +5 -3
  29. package/buttonGroup/buttonGroup.d.ts +5 -2
  30. package/buttonGroup/buttonGroup.js +12 -8
  31. package/buttonGroup/buttonGroup.types.d.ts +4 -2
  32. package/buttonGroup/helpers.d.ts +1 -1
  33. package/buttonGroup/helpers.js +1 -1
  34. package/buttonGroup/index.d.ts +1 -1
  35. package/buttonGroup/index.js +2 -2
  36. package/card/card.d.ts +4 -0
  37. package/card/card.js +8 -0
  38. package/card/card.types.d.ts +3 -2
  39. package/card/index.d.ts +1 -1
  40. package/card/index.js +1 -1
  41. package/card/theme.d.ts +1 -0
  42. package/card/theme.js +2 -0
  43. package/checkbox/checkbox.d.ts +5 -4
  44. package/checkbox/checkbox.js +20 -10
  45. package/checkbox/checkbox.types.d.ts +21 -4
  46. package/checkbox/checkboxGroup.d.ts +5 -2
  47. package/checkbox/checkboxGroup.js +11 -7
  48. package/checkbox/checkboxGroup.types.d.ts +9 -2
  49. package/checkbox/index.d.ts +1 -1
  50. package/checkbox/index.js +2 -2
  51. package/checkbox/theme.d.ts +1 -0
  52. package/checkbox/theme.js +2 -0
  53. package/core/index.d.ts +4 -5
  54. package/core/index.js +4 -12
  55. package/core/media.d.ts +38 -0
  56. package/core/media.js +79 -0
  57. package/core/styled.d.ts +3 -0
  58. package/core/styled.js +21 -3
  59. package/core/theme.d.ts +41 -0
  60. package/core/theme.js +94 -0
  61. package/core/vui.d.ts +31 -0
  62. package/core/vui.js +20 -0
  63. package/core/vuiProvider/fontFaces.js +4 -0
  64. package/core/{globalStyle.d.ts → vuiProvider/globalStyle.d.ts} +7 -0
  65. package/core/{globalStyle.js → vuiProvider/globalStyle.js} +17 -9
  66. package/core/vuiProvider/index.d.ts +5 -0
  67. package/{styles → core/vuiProvider}/index.js +8 -2
  68. package/core/vuiProvider/resetCSS.d.ts +3 -0
  69. package/core/{resetCSS.js → vuiProvider/resetCSS.js} +2 -1
  70. package/core/vuiProvider/vuiProvider.d.ts +13 -0
  71. package/core/{vuiProvider.js → vuiProvider/vuiProvider.js} +4 -1
  72. package/divider/divider.d.ts +2 -2
  73. package/divider/divider.js +5 -4
  74. package/divider/divider.types.d.ts +5 -2
  75. package/divider/index.d.ts +1 -1
  76. package/divider/index.js +1 -1
  77. package/divider/theme.d.ts +1 -0
  78. package/divider/theme.js +2 -0
  79. package/footer/consts.d.ts +3 -0
  80. package/footer/consts.js +3 -0
  81. package/footer/footer.d.ts +3 -1
  82. package/footer/footer.js +21 -10
  83. package/footer/footer.types.d.ts +5 -0
  84. package/footer/footerColumn.d.ts +122 -121
  85. package/footer/footerColumn.js +1 -0
  86. package/footer/footerHeading.d.ts +1 -0
  87. package/footer/footerHeading.js +1 -0
  88. package/footer/footerLink.d.ts +1 -0
  89. package/footer/footerLink.js +1 -0
  90. package/footer/footerRow.d.ts +1 -0
  91. package/footer/footerRow.js +1 -0
  92. package/footer/footerSection.d.ts +1 -0
  93. package/footer/footerSection.js +2 -1
  94. package/footer/footerTrademark.d.ts +1 -0
  95. package/footer/footerTrademark.js +1 -0
  96. package/footer/index.d.ts +2 -1
  97. package/footer/index.js +2 -2
  98. package/footer/theme.d.ts +1 -0
  99. package/footer/theme.js +2 -0
  100. package/header/context.d.ts +4 -0
  101. package/header/context.js +23 -0
  102. package/header/header.d.ts +34 -0
  103. package/header/header.js +118 -0
  104. package/header/header.types.d.ts +84 -0
  105. package/header/headerContent.d.ts +4 -0
  106. package/header/headerContent.js +28 -0
  107. package/header/headerCreateAccount.d.ts +4 -0
  108. package/header/headerCreateAccount.js +44 -0
  109. package/header/headerDivider.d.ts +4 -0
  110. package/header/headerDivider.js +28 -0
  111. package/header/headerLink.d.ts +4 -0
  112. package/header/headerLink.js +43 -0
  113. package/header/headerLinks.d.ts +4 -0
  114. package/header/headerLinks.js +41 -0
  115. package/header/headerLogo.d.ts +4 -0
  116. package/header/headerLogo.js +48 -0
  117. package/header/headerMobileContent.d.ts +4 -0
  118. package/header/headerMobileContent.js +30 -0
  119. package/header/headerMobileToggle.d.ts +4 -0
  120. package/header/headerMobileToggle.js +34 -0
  121. package/header/headerNotifications.d.ts +4 -0
  122. package/header/headerNotifications.js +52 -0
  123. package/header/headerProfile.d.ts +4 -0
  124. package/header/headerProfile.js +101 -0
  125. package/header/headerProfile.types.d.ts +35 -0
  126. package/header/headerServices.d.ts +4 -0
  127. package/header/headerServices.js +51 -0
  128. package/header/headerSignIn.d.ts +4 -0
  129. package/header/headerSignIn.js +40 -0
  130. package/header/index.d.ts +17 -0
  131. package/header/index.js +34 -0
  132. package/header/loggedInHeader.d.ts +4 -0
  133. package/header/loggedInHeader.js +53 -0
  134. package/header/loggedOutHeader.d.ts +4 -0
  135. package/header/loggedOutHeader.js +54 -0
  136. package/header/theme.d.ts +32 -0
  137. package/header/theme.js +52 -0
  138. package/heading/heading.d.ts +2 -2
  139. package/heading/heading.js +5 -4
  140. package/heading/heading.types.d.ts +7 -2
  141. package/heading/headings.js +1 -1
  142. package/heading/index.d.ts +1 -1
  143. package/heading/index.js +2 -2
  144. package/heading/theme.d.ts +1 -0
  145. package/heading/theme.js +2 -0
  146. package/icon/helpers.js +2 -2
  147. package/icon/icon.d.ts +1 -0
  148. package/icon/icon.js +2 -2
  149. package/icon/icon.types.d.ts +7 -4
  150. package/icon/index.d.ts +1 -1
  151. package/icon/index.js +1 -1
  152. package/icon/theme.d.ts +1 -0
  153. package/icon/theme.js +2 -0
  154. package/icons/baseIcons/fal/falFileInvoiceDollar.d.ts +3 -0
  155. package/icons/baseIcons/fal/falFileInvoiceDollar.js +7 -0
  156. package/icons/baseIcons/icons.d.ts +1 -0
  157. package/icons/baseIcons/icons.js +5 -3
  158. package/icons/baseIcons/types.d.ts +1 -1
  159. package/icons/cache.d.ts +15 -0
  160. package/icons/{library.js → cache.js} +10 -6
  161. package/icons/index.d.ts +1 -1
  162. package/icons/index.js +3 -3
  163. package/icons/types.d.ts +10 -3
  164. package/image/image.d.ts +2 -0
  165. package/image/image.js +11 -2
  166. package/image/image.types.d.ts +3 -2
  167. package/image/index.d.ts +1 -1
  168. package/image/index.js +1 -1
  169. package/image/theme.d.ts +1 -0
  170. package/image/theme.js +2 -0
  171. package/index.d.ts +1 -1
  172. package/index.js +1 -1
  173. package/input/helpers.d.ts +1 -0
  174. package/input/helpers.js +1 -0
  175. package/input/index.d.ts +1 -1
  176. package/input/index.js +2 -2
  177. package/input/input.d.ts +7 -3
  178. package/input/input.js +17 -7
  179. package/input/input.types.d.ts +33 -4
  180. package/input/inputIcon.d.ts +1 -0
  181. package/input/inputIcon.js +2 -1
  182. package/input/inputInput.d.ts +2 -2
  183. package/input/inputInput.js +10 -5
  184. package/input/theme.d.ts +1 -0
  185. package/input/theme.js +2 -0
  186. package/link/index.d.ts +1 -1
  187. package/link/index.js +2 -2
  188. package/link/link.d.ts +6 -3
  189. package/link/link.js +15 -9
  190. package/link/link.types.d.ts +12 -4
  191. package/link/linkIcon.d.ts +1 -0
  192. package/link/linkIcon.js +3 -5
  193. package/link/linkText.d.ts +1 -0
  194. package/link/linkText.js +3 -5
  195. package/link/theme.d.ts +6 -0
  196. package/link/theme.js +9 -1
  197. package/list/index.d.ts +1 -1
  198. package/list/index.js +2 -2
  199. package/list/list.d.ts +3 -3
  200. package/list/list.js +13 -8
  201. package/list/list.types.d.ts +29 -8
  202. package/list/listDivider.d.ts +1 -0
  203. package/list/listDivider.js +3 -5
  204. package/list/listHeading.d.ts +1 -0
  205. package/list/listHeading.js +4 -6
  206. package/list/listIcon.d.ts +1 -0
  207. package/list/listIcon.js +3 -5
  208. package/list/listItem.d.ts +5 -2
  209. package/list/listItem.js +52 -19
  210. package/list/listText.d.ts +1 -0
  211. package/list/listText.js +3 -5
  212. package/list/theme.d.ts +1 -0
  213. package/list/theme.js +5 -2
  214. package/menu/menu.d.ts +1 -0
  215. package/menu/menu.js +1 -0
  216. package/menu/menu.types.d.ts +3 -0
  217. package/menu/menuButton.d.ts +1 -0
  218. package/menu/menuButton.js +3 -4
  219. package/menu/menuItem.d.ts +1 -0
  220. package/menu/menuItem.js +2 -1
  221. package/menu/menuList.d.ts +1 -0
  222. package/menu/menuList.js +3 -4
  223. package/menu/theme.d.ts +16 -2
  224. package/menu/theme.js +18 -3
  225. package/notification/index.d.ts +2 -2
  226. package/notification/index.js +3 -3
  227. package/notification/notification.d.ts +5 -1
  228. package/notification/notification.js +12 -27
  229. package/notification/notification.types.d.ts +10 -2
  230. package/notification/notificationButton.d.ts +1 -0
  231. package/notification/notificationButton.js +4 -5
  232. package/notification/notificationIcon.d.ts +1 -0
  233. package/notification/notificationIcon.js +7 -7
  234. package/notification/notificationText.d.ts +1 -0
  235. package/notification/notificationText.js +3 -5
  236. package/notification/notificationTitle.d.ts +1 -0
  237. package/notification/notificationTitle.js +3 -5
  238. package/notification/theme.d.ts +1 -0
  239. package/notification/theme.js +2 -0
  240. package/p/index.d.ts +1 -1
  241. package/p/index.js +1 -1
  242. package/p/p.d.ts +2 -2
  243. package/p/p.js +5 -4
  244. package/p/p.types.d.ts +7 -2
  245. package/p/theme.d.ts +1 -0
  246. package/p/theme.js +2 -0
  247. package/package.json +1 -1
  248. package/panel/index.d.ts +1 -1
  249. package/panel/index.js +1 -1
  250. package/panel/panel.d.ts +4 -0
  251. package/panel/panel.js +4 -0
  252. package/panel/panel.types.d.ts +1 -2
  253. package/panel/theme.d.ts +1 -0
  254. package/panel/theme.js +2 -0
  255. package/popover/consts.d.ts +6 -0
  256. package/popover/consts.js +42 -0
  257. package/popover/index.d.ts +2 -1
  258. package/popover/index.js +4 -2
  259. package/popover/popover.d.ts +5 -2
  260. package/popover/popover.js +16 -2
  261. package/popover/popover.types.d.ts +4 -1
  262. package/popover/popoverContent.d.ts +2 -1
  263. package/popover/popoverContent.js +6 -1
  264. package/popover/popoverStyle.js +9 -0
  265. package/popover/popoverTrigger.d.ts +4 -0
  266. package/popover/popoverTrigger.js +4 -0
  267. package/popover/theme.d.ts +1 -0
  268. package/popover/theme.js +2 -0
  269. package/popover/usePopover.d.ts +5 -0
  270. package/popover/usePopover.js +21 -11
  271. package/popover/usePopover.types.d.ts +17 -6
  272. package/radio/index.d.ts +1 -1
  273. package/radio/index.js +2 -2
  274. package/radio/radio.d.ts +5 -4
  275. package/radio/radio.js +20 -10
  276. package/radio/radio.types.d.ts +19 -4
  277. package/radio/radioGroup.d.ts +5 -2
  278. package/radio/radioGroup.js +11 -7
  279. package/radio/radioGroup.types.d.ts +10 -2
  280. package/radio/theme.d.ts +1 -0
  281. package/radio/theme.js +2 -0
  282. package/skeleton/index.d.ts +1 -1
  283. package/skeleton/index.js +1 -1
  284. package/skeleton/skeleton.d.ts +2 -2
  285. package/skeleton/skeleton.js +4 -3
  286. package/skeleton/skeleton.types.d.ts +5 -2
  287. package/skeleton/theme.d.ts +1 -0
  288. package/skeleton/theme.js +2 -0
  289. package/spinner/index.d.ts +1 -1
  290. package/spinner/index.js +1 -1
  291. package/spinner/spinner.d.ts +6 -2
  292. package/spinner/spinner.js +12 -5
  293. package/spinner/spinner.types.d.ts +10 -6
  294. package/spinner/theme.d.ts +1 -0
  295. package/spinner/theme.js +2 -0
  296. package/svg/helpers.d.ts +1 -1
  297. package/svg/index.d.ts +1 -1
  298. package/svg/index.js +1 -1
  299. package/svg/svg.d.ts +6 -1
  300. package/svg/svg.js +14 -5
  301. package/svg/svg.types.d.ts +6 -4
  302. package/switch/context.d.ts +2 -2
  303. package/switch/index.d.ts +1 -1
  304. package/switch/index.js +2 -2
  305. package/switch/switch.d.ts +6 -3
  306. package/switch/switch.js +15 -12
  307. package/switch/switch.types.d.ts +37 -4
  308. package/switch/switchButton.d.ts +5 -5
  309. package/switch/switchButton.js +34 -26
  310. package/switch/switchLabel.d.ts +1 -0
  311. package/switch/switchLabel.js +3 -5
  312. package/switch/theme.d.ts +1 -0
  313. package/switch/theme.js +2 -0
  314. package/system/animations.d.ts +3 -4
  315. package/system/backgrounds.d.ts +4 -5
  316. package/system/borders.d.ts +60 -61
  317. package/system/custom.d.ts +4 -4
  318. package/system/effects.d.ts +7 -8
  319. package/system/flexboxGrids.d.ts +5 -6
  320. package/system/flexboxes.d.ts +28 -29
  321. package/system/grids.d.ts +25 -26
  322. package/system/index.d.ts +0 -1
  323. package/system/index.js +0 -6
  324. package/system/interactivity.d.ts +11 -12
  325. package/system/layout.d.ts +31 -32
  326. package/system/sizing.d.ts +13 -14
  327. package/system/space.d.ts +37 -38
  328. package/system/system.d.ts +4 -5
  329. package/system/system.js +3 -1
  330. package/system/tables.d.ts +5 -6
  331. package/system/transforms.d.ts +22 -23
  332. package/system/transitions.d.ts +11 -12
  333. package/system/typography.d.ts +33 -34
  334. package/t/index.d.ts +1 -1
  335. package/t/index.js +1 -1
  336. package/t/t.d.ts +2 -2
  337. package/t/t.js +5 -4
  338. package/t/t.types.d.ts +8 -2
  339. package/t/theme.d.ts +1 -0
  340. package/t/theme.js +2 -0
  341. package/tag/index.d.ts +1 -1
  342. package/tag/index.js +2 -2
  343. package/tag/tag.d.ts +6 -3
  344. package/tag/tag.js +14 -7
  345. package/tag/tag.types.d.ts +16 -2
  346. package/tag/tagButton.d.ts +1 -0
  347. package/tag/tagButton.js +4 -16
  348. package/tag/tagIcon.d.ts +1 -0
  349. package/tag/tagIcon.js +3 -5
  350. package/tag/tagText.d.ts +1 -0
  351. package/tag/tagText.js +3 -5
  352. package/tag/theme.d.ts +1 -0
  353. package/tag/theme.js +8 -0
  354. package/textarea/helpers.d.ts +1 -0
  355. package/textarea/helpers.js +1 -0
  356. package/textarea/index.d.ts +1 -1
  357. package/textarea/index.js +1 -1
  358. package/textarea/textarea.d.ts +5 -3
  359. package/textarea/textarea.js +23 -10
  360. package/textarea/textarea.types.d.ts +22 -2
  361. package/textarea/theme.d.ts +1 -0
  362. package/textarea/theme.js +2 -0
  363. package/theme/components.d.ts +76 -2
  364. package/theme/components.js +38 -36
  365. package/theme/defaultTheme.d.ts +81 -2
  366. package/theme/foundations/colors.d.ts +10 -0
  367. package/theme/foundations/colors.js +8 -2
  368. package/theme/foundations/index.d.ts +5 -0
  369. package/theme/foundations/shadows.js +3 -3
  370. package/theme/foundations/transformers.js +3 -2
  371. package/theme/index.d.ts +1 -3
  372. package/theme/index.js +4 -5
  373. package/theme/types.d.ts +3 -2
  374. package/utils/assertion.d.ts +5 -5
  375. package/utils/assertion.js +8 -4
  376. package/utils/object.d.ts +2 -2
  377. package/utils/object.js +3 -1
  378. package/utils/styles.d.ts +2 -2
  379. package/utils/styles.js +4 -4
  380. package/utils/types.d.ts +8 -3
  381. package/core/types/component.d.ts +0 -25
  382. package/core/types/index.d.ts +0 -2
  383. package/core/types/index.js +0 -14
  384. package/core/types/themeGet.d.ts +0 -24
  385. package/core/utils.d.ts +0 -56
  386. package/core/utils.js +0 -194
  387. package/core/vuiProvider.d.ts +0 -20
  388. package/icons/library.d.ts +0 -11
  389. package/popover/plugins.d.ts +0 -3
  390. package/popover/plugins.js +0 -24
  391. package/styles/fontFaces.js +0 -4
  392. package/styles/helpers.d.ts +0 -4
  393. package/styles/helpers.js +0 -8
  394. package/styles/index.d.ts +0 -3
  395. /package/{styles → core/vuiProvider}/animations.d.ts +0 -0
  396. /package/{styles → core/vuiProvider}/animations.js +0 -0
  397. /package/{styles → core/vuiProvider}/fontFaces.d.ts +0 -0
  398. /package/{core/types/component.js → header/header.types.js} +0 -0
  399. /package/{core/types/themeGet.js → header/headerProfile.types.js} +0 -0
  400. /package/{core/resetCSS.d.ts → popover/popoverStyle.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
1
  import { BoxProps } from '../box';
2
2
  import { ThemingProps } from '../theme';
3
- export interface PanelProps extends Omit<BoxProps, 'size' | 'variant'>, ThemingProps<'Panel'> {
4
- }
3
+ export declare type PanelProps = Omit<BoxProps, 'size' | 'variant'> & ThemingProps<'Panel'> & {};
package/panel/theme.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ baseStyle: {};
2
3
  defaultProps: {
3
4
  variant: string;
4
5
  };
package/panel/theme.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var baseStyle = {};
3
4
  var defaultProps = {
4
5
  variant: 'elevated'
5
6
  };
@@ -14,6 +15,7 @@ var variants = {
14
15
  }
15
16
  };
16
17
  exports.default = {
18
+ baseStyle: baseStyle,
17
19
  defaultProps: defaultProps,
18
20
  sizes: sizes,
19
21
  variants: variants
@@ -0,0 +1,6 @@
1
+ import { Modifier } from '@popperjs/core';
2
+ import { Plugin } from 'tippy.js';
3
+ /** Closes the popper if 'Escape' is pressed. Tippy plugin. */
4
+ export declare const closeOnEscPlugin: Plugin;
5
+ /** Sets popper width to be the same as reference. Updates on resize, etc. Popper modifier. */
6
+ export declare const matchWidthModifier: Modifier<'matchWidth', any>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchWidthModifier = exports.closeOnEscPlugin = void 0;
4
+ /** Closes the popper if 'Escape' is pressed. Tippy plugin. */
5
+ exports.closeOnEscPlugin = {
6
+ name: 'closeOnEsc',
7
+ defaultValue: true,
8
+ fn: function (_a) {
9
+ var hide = _a.hide;
10
+ function onKeyDown(e) {
11
+ if (e.key === 'Escape') {
12
+ hide();
13
+ }
14
+ }
15
+ return {
16
+ onHide: function () {
17
+ document.removeEventListener('keydown', onKeyDown);
18
+ },
19
+ onShow: function () {
20
+ document.addEventListener('keydown', onKeyDown);
21
+ }
22
+ };
23
+ }
24
+ };
25
+ /** Sets popper width to be the same as reference. Updates on resize, etc. Popper modifier. */
26
+ exports.matchWidthModifier = {
27
+ name: 'matchWidth',
28
+ enabled: true,
29
+ phase: 'beforeWrite',
30
+ requires: ['computeStyles'],
31
+ fn: function (_a) {
32
+ var state = _a.state;
33
+ state.styles.popper.width = state.rects.reference.width + "px";
34
+ },
35
+ effect: function (_a) {
36
+ var state = _a.state;
37
+ return function () {
38
+ var reference = state.elements.reference;
39
+ state.elements.popper.style.width = reference.offsetWidth + "px";
40
+ };
41
+ }
42
+ };
@@ -1,8 +1,9 @@
1
+ export * from './consts';
1
2
  export * from './context';
2
- export * from './plugins';
3
3
  export { default, default as Popover } from './popover';
4
4
  export * from './popover.types';
5
5
  export { default as PopoverContent } from './popoverContent';
6
+ export { default as PopoverStyle } from './popoverStyle';
6
7
  export { default as PopoverTrigger } from './popoverTrigger';
7
8
  export { default as usePopover } from './usePopover';
8
9
  export * from './usePopover.types';
package/popover/index.js CHANGED
@@ -13,15 +13,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.usePopover = exports.PopoverTrigger = exports.PopoverContent = exports.Popover = exports.default = void 0;
16
+ exports.usePopover = exports.PopoverTrigger = exports.PopoverStyle = exports.PopoverContent = exports.Popover = exports.default = void 0;
17
+ __exportStar(require("./consts"), exports);
17
18
  __exportStar(require("./context"), exports);
18
- __exportStar(require("./plugins"), exports);
19
19
  var popover_1 = require("./popover");
20
20
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(popover_1).default; } });
21
21
  Object.defineProperty(exports, "Popover", { enumerable: true, get: function () { return __importDefault(popover_1).default; } });
22
22
  __exportStar(require("./popover.types"), exports);
23
23
  var popoverContent_1 = require("./popoverContent");
24
24
  Object.defineProperty(exports, "PopoverContent", { enumerable: true, get: function () { return __importDefault(popoverContent_1).default; } });
25
+ var popoverStyle_1 = require("./popoverStyle");
26
+ Object.defineProperty(exports, "PopoverStyle", { enumerable: true, get: function () { return __importDefault(popoverStyle_1).default; } });
25
27
  var popoverTrigger_1 = require("./popoverTrigger");
26
28
  Object.defineProperty(exports, "PopoverTrigger", { enumerable: true, get: function () { return __importDefault(popoverTrigger_1).default; } });
27
29
  var usePopover_1 = require("./usePopover");
@@ -1,9 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { PopoverProps } from './popover.types';
3
- import './popover.css';
3
+ /**
4
+ * Uses 'usePopover' hook to expose relevant data to its children parts.
5
+ * By default, renders provided content only when popover is opened (lazy).
6
+ */
4
7
  declare function Popover({ children, isLazy, ...props }: PopoverProps): JSX.Element;
5
8
  declare namespace Popover {
6
- var Content: import("..").VuiComponent<"div", import("..").SystemProps>;
9
+ var Content: import("..").VuiComponent<"div", import("..").BoxProps>;
7
10
  var Trigger: import("..").VuiComponent<"button", import("..").SystemProps>;
8
11
  }
9
12
  export default Popover;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __rest = (this && this.__rest) || function (s, e) {
3
14
  var t = {};
4
15
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -20,12 +31,15 @@ var context_1 = require("./context");
20
31
  var popoverContent_1 = __importDefault(require("./popoverContent"));
21
32
  var popoverTrigger_1 = __importDefault(require("./popoverTrigger"));
22
33
  var usePopover_1 = __importDefault(require("./usePopover"));
23
- require("./popover.css");
34
+ /**
35
+ * Uses 'usePopover' hook to expose relevant data to its children parts.
36
+ * By default, renders provided content only when popover is opened (lazy).
37
+ */
24
38
  function Popover(_a) {
25
39
  var children = _a.children, _b = _a.isLazy, isLazy = _b === void 0 ? true : _b, props = __rest(_a, ["children", "isLazy"]);
26
40
  var popoverProps = (0, usePopover_1.default)(props);
27
41
  var close = popoverProps.close, isOpen = popoverProps.isOpen, open = popoverProps.open;
28
- return react_1.default.createElement(context_1.PopoverProvider, { value: popoverProps }, (0, utils_1.runIfFn)(children, { close: close, isOpen: isOpen, open: open }));
42
+ return (react_1.default.createElement(context_1.PopoverProvider, { value: __assign({ isLazy: isLazy }, popoverProps) }, (0, utils_1.runIfFn)(children, { close: close, isOpen: isOpen, open: open })));
29
43
  }
30
44
  exports.default = Popover;
31
45
  Popover.Content = popoverContent_1.default;
@@ -1,10 +1,13 @@
1
+ import { BoxProps } from '../box';
1
2
  import { SystemProps } from '../system';
2
3
  import { RenderProps } from '../utils';
3
4
  import { UsePopoverType } from './usePopover';
4
5
  import { UsePopoverProps } from './usePopover.types';
5
- export declare type PopoverContentProps = SystemProps;
6
+ export declare type PopoverContentProps = BoxProps;
6
7
  export declare type PopoverProps = UsePopoverProps & {
8
+ /** Exposes render props to the children. */
7
9
  children?: PopoverRenderProps;
10
+ /** Mounts provided content only when popover is opened for performance. @default true */
8
11
  isLazy?: boolean;
9
12
  };
10
13
  export declare type PopoverRenderProps = RenderProps<{
@@ -1,2 +1,3 @@
1
- export declare const PopoverContent: import("../core").VuiComponent<"div", import("..").SystemProps>;
1
+ /** Displays provided content in an overlaying wrapper. */
2
+ export declare const PopoverContent: import("../core").VuiComponent<"div", import("../box").BoxProps>;
2
3
  export default PopoverContent;
@@ -27,9 +27,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.PopoverContent = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
+ var box_1 = __importDefault(require("../box"));
30
31
  var core_1 = require("../core");
31
32
  var utils_1 = require("../utils");
32
33
  var context_1 = require("./context");
34
+ /** Displays provided content in an overlaying wrapper. */
33
35
  exports.PopoverContent = (0, core_1.vui)(function (props, ref) {
34
36
  var _a;
35
37
  var popoverProps = (_a = (0, context_1.usePopoverContext)()) !== null && _a !== void 0 ? _a : {};
@@ -37,7 +39,10 @@ exports.PopoverContent = (0, core_1.vui)(function (props, ref) {
37
39
  var children = props.children, rest = __rest(props, ["children"]);
38
40
  var styles = (0, core_1.useStyleConfig)('Popover', __assign(__assign({}, popoverProps), props));
39
41
  var shouldRenderChildren = isLazy ? isOpen : true;
40
- return (react_1.default.createElement(core_1.v.div, __assign({ bg: "white", borderRadius: "md", boxShadow: "2", className: "vui-popoverContent", ref: (0, utils_1.mergeRefs)(setPopper, ref) }, styles.content, rest), shouldRenderChildren ? children : null));
42
+ return (
43
+ // Wrapping div prevents an error thrown when conditionally unmounting this component
44
+ react_1.default.createElement("div", null,
45
+ react_1.default.createElement(box_1.default, __assign({ bg: "white", borderRadius: "md", boxShadow: "2", className: "vui-popoverContent", overflowY: "scroll", ref: (0, utils_1.mergeRefs)(setPopper, ref) }, styles.content, rest), shouldRenderChildren ? children : null)));
41
46
  });
42
47
  exports.PopoverContent.displayName = 'PopoverContent';
43
48
  exports.default = exports.PopoverContent;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var core_1 = require("../core");
8
+ exports.default = (0, core_1.createGlobalStyle)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t[data-tippy-root] {\n\t\tmax-width: calc(100vw - 10px);\n\t}\n\n\t.tippy-box {\n\t\tposition: relative;\n\t\ttransition-property: transform, visibility, opacity;\n\t}\n\n\t.tippy-box[data-animation=fade][data-state=hidden] {\n\t\topacity: 0;\n\t}\n\n\t.tippy-content {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t}\n"], ["\n\t[data-tippy-root] {\n\t\tmax-width: calc(100vw - 10px);\n\t}\n\n\t.tippy-box {\n\t\tposition: relative;\n\t\ttransition-property: transform, visibility, opacity;\n\t}\n\n\t.tippy-box[data-animation=fade][data-state=hidden] {\n\t\topacity: 0;\n\t}\n\n\t.tippy-content {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t}\n"])));
9
+ var templateObject_1;
@@ -1,2 +1,6 @@
1
+ /**
2
+ * Displays a trigger component to toggle display of the popover content.
3
+ * Can be rendered as any component using the 'as' prop. By default renders as a plain button.
4
+ */
1
5
  export declare const PopoverTrigger: import("../core").VuiComponent<"button", import("..").SystemProps>;
2
6
  export default PopoverTrigger;
@@ -31,6 +31,10 @@ var react_1 = __importDefault(require("react"));
31
31
  var core_1 = require("../core");
32
32
  var utils_1 = require("../utils");
33
33
  var context_1 = require("./context");
34
+ /**
35
+ * Displays a trigger component to toggle display of the popover content.
36
+ * Can be rendered as any component using the 'as' prop. By default renders as a plain button.
37
+ */
34
38
  exports.PopoverTrigger = (0, core_1.vui)(function (props, ref) {
35
39
  var _a;
36
40
  var _b = (_a = (0, context_1.usePopoverContext)()) !== null && _a !== void 0 ? _a : {}, setReference = _b.setReference, popoverProps = __rest(_b, ["setReference"]);
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ baseStyle: {};
2
3
  defaultProps: {};
3
4
  parts: string[];
4
5
  sizes: {};
package/popover/theme.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var baseStyle = {};
3
4
  var defaultProps = {};
4
5
  var parts = ['content', 'trigger'];
5
6
  var sizes = {};
6
7
  var variants = {};
7
8
  exports.default = {
9
+ baseStyle: baseStyle,
8
10
  defaultProps: defaultProps,
9
11
  parts: parts,
10
12
  sizes: sizes,
@@ -1,6 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { Instance, Props as TippyProps } from 'tippy.js';
3
3
  import { UsePopoverProps } from './usePopover.types';
4
+ /**
5
+ * Controls the logic of instantiating and managing a tippy instance.
6
+ * Takes multiple configuration props that control closing, placement or behavior.
7
+ * Exposes functions used for ref callbacks on consuming components, programatic open/close methods and properties.
8
+ */
4
9
  export default function usePopover(props?: UsePopoverProps): {
5
10
  close: () => void | undefined;
6
11
  instance: Instance<TippyProps> | null;
@@ -37,21 +37,33 @@ var __read = (this && this.__read) || function (o, n) {
37
37
  }
38
38
  return ar;
39
39
  };
40
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
41
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
42
+ if (ar || !(i in from)) {
43
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
44
+ ar[i] = from[i];
45
+ }
46
+ }
47
+ return to.concat(ar || Array.prototype.slice.call(from));
48
+ };
40
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
41
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
51
  };
43
52
  Object.defineProperty(exports, "__esModule", { value: true });
44
- var tippy_js_1 = __importDefault(require("tippy.js"));
45
53
  var react_1 = require("react");
54
+ var tippy_js_1 = __importDefault(require("tippy.js"));
46
55
  var utils_1 = require("../utils");
47
- var plugins_1 = require("./plugins");
56
+ var consts_1 = require("./consts");
57
+ /**
58
+ * Controls the logic of instantiating and managing a tippy instance.
59
+ * Takes multiple configuration props that control closing, placement or behavior.
60
+ * Exposes functions used for ref callbacks on consuming components, programatic open/close methods and properties.
61
+ */
48
62
  function usePopover(props) {
49
63
  if (props === void 0) { props = {}; }
50
64
  var _a = props.closeOnBlur, closeOnBlur = _a === void 0 ? true : _a, _b = props.closeOnEsc, closeOnEsc = _b === void 0 ? true : _b, _c = props.defaultIsOpen, defaultIsOpen = _c === void 0 ? false : _c,
51
65
  // disablePortal,
52
- isOpenProp = props.isOpen,
53
- // matchWidth,
54
- offset = props.offset, onClose = props.onClose, onOpen = props.onOpen, options = props.options, _d = props.placement, placement = _d === void 0 ? 'bottom-start' : _d, plugins = props.plugins, _e = props.trigger, trigger = _e === void 0 ? 'click' : _e;
66
+ isOpenProp = props.isOpen, matchWidth = props.matchWidth, offset = props.offset, onClose = props.onClose, onOpen = props.onOpen, options = props.options, _d = props.placement, placement = _d === void 0 ? 'bottom-start' : _d, _e = props.trigger, trigger = _e === void 0 ? 'click' : _e;
55
67
  var _f = __read((0, react_1.useState)(isOpenProp !== null && isOpenProp !== void 0 ? isOpenProp : defaultIsOpen), 2), isOpen = _f[0], setIsOpen = _f[1];
56
68
  var _g = __read((0, react_1.useState)(null), 2), instance = _g[0], setInstance = _g[1];
57
69
  var _h = __read((0, react_1.useState)(null), 2), reference = _h[0], setReference = _h[1];
@@ -62,11 +74,9 @@ function usePopover(props) {
62
74
  var open = (0, react_1.useCallback)(function () { return instance === null || instance === void 0 ? void 0 : instance.show(); }, [instance]);
63
75
  var isControlled = isOpenProp !== undefined;
64
76
  var tippyOptions = (0, react_1.useMemo)(function () {
65
- var _a = options !== null && options !== void 0 ? options : {}, onHidden = _a.onHidden, onHide = _a.onHide, onShow = _a.onShow, _b = _a.plugins, optionsPlugins = _b === void 0 ? [] : _b, otherOptions = __rest(_a, ["onHidden", "onHide", "onShow", "plugins"]);
66
- var mergedPlugins = optionsPlugins.concat(plugins !== null && plugins !== void 0 ? plugins : []);
67
- if (!isControlled && closeOnEsc)
68
- mergedPlugins.push(plugins_1.closeOnEscPlugin);
69
- return __assign({ arrow: false, duration: [200, 150], hideOnClick: !isControlled ? closeOnBlur : false, interactive: true, offset: offset, onHidden: function (instance) {
77
+ var _a, _b;
78
+ var _c = options !== null && options !== void 0 ? options : {}, optionsOffset = _c.offset, onHidden = _c.onHidden, onHide = _c.onHide, onShow = _c.onShow, _d = _c.plugins, plugins = _d === void 0 ? [] : _d, _e = _c.popperOptions, popperOptions = _e === void 0 ? {} : _e, otherOptions = __rest(_c, ["offset", "onHidden", "onHide", "onShow", "plugins", "popperOptions"]);
79
+ return __assign({ arrow: false, duration: [200, 150], hideOnClick: !isControlled ? closeOnBlur : false, interactive: true, maxWidth: 'none', offset: (_a = optionsOffset !== null && optionsOffset !== void 0 ? optionsOffset : offset) !== null && _a !== void 0 ? _a : [0, 2], onHidden: function (instance) {
70
80
  setIsOpen(false);
71
81
  onHidden === null || onHidden === void 0 ? void 0 : onHidden(instance);
72
82
  }, onHide: function (instance) {
@@ -78,7 +88,7 @@ function usePopover(props) {
78
88
  setIsOpen(true);
79
89
  (_a = onOpenRef.current) === null || _a === void 0 ? void 0 : _a.call(onOpenRef, instance);
80
90
  onShow === null || onShow === void 0 ? void 0 : onShow(instance);
81
- }, placement: placement, plugins: mergedPlugins, showOnCreate: defaultIsOpen, trigger: !isControlled ? trigger : 'manual' }, otherOptions);
91
+ }, placement: placement, plugins: __spreadArray(__spreadArray([], __read((!isControlled && closeOnEsc ? [consts_1.closeOnEscPlugin] : [])), false), __read(plugins), false), popperOptions: __assign(__assign({}, popperOptions), { modifiers: __spreadArray([__assign(__assign({}, consts_1.matchWidthModifier), { enabled: !!matchWidth })], __read(((_b = popperOptions.modifiers) !== null && _b !== void 0 ? _b : [])), false) }), showOnCreate: defaultIsOpen, trigger: !isControlled ? trigger : 'manual' }, otherOptions);
82
92
  }, [closeOnBlur, closeOnEsc, placement, trigger]);
83
93
  // Create a new Tippy instance
84
94
  (0, react_1.useEffect)(function () {
@@ -1,16 +1,27 @@
1
- import { Instance, Placement, Props } from 'tippy.js';
1
+ import { Instance, Placement, Props as TippyProps } from 'tippy.js';
2
2
  import { AnyString } from '../utils';
3
3
  export declare type PopoverTrigger = 'click' | 'focus' | 'focusin' | 'manual' | 'mouseenter';
4
4
  export declare type UsePopoverProps = {
5
+ /** Content closes when clicking the trigger or anywhere outside. @default true */
5
6
  closeOnBlur?: boolean;
7
+ /** Content closes when pressing 'Escape'. @default true */
6
8
  closeOnEsc?: boolean;
9
+ /** Content is opened on first render. Uncontrolled mode. */
7
10
  defaultIsOpen?: boolean;
11
+ /** Content is opened/closed by the consumer. Controlled mode. */
8
12
  isOpen?: boolean;
9
- offset?: Props['offset'];
10
- onClose?: (instance: Instance<Props>) => void;
11
- onOpen?: (instance: Instance<Props>) => void;
12
- options?: Partial<Props>;
13
+ /** Sets the content element width to be the same as trigger element. */
14
+ matchWidth?: boolean;
15
+ /** Displaces content from the trigger in pixels. */
16
+ offset?: TippyProps['offset'];
17
+ /** Invoked once content is fully hidden. */
18
+ onClose?: (instance: Instance<TippyProps>) => void;
19
+ /** Invoked once content begins to show. */
20
+ onOpen?: (instance: Instance<TippyProps>) => void;
21
+ /** Object with any Tippy props. */
22
+ options?: TippyProps;
23
+ /** Preferred placement of the content. Might be flipped if needs more space. */
13
24
  placement?: Placement;
14
- plugins?: Props['plugins'];
25
+ /** Determintes the events that cause the content to show. */
15
26
  trigger?: PopoverTrigger | AnyString;
16
27
  };
package/radio/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './context';
2
2
  export * from './radio';
3
+ export { default } from './radio';
3
4
  export * from './radio.types';
4
5
  export * from './radioGroup';
5
6
  export * from './radioGroup.types';
6
- export { default } from './radio';
package/radio/index.js CHANGED
@@ -16,8 +16,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.default = void 0;
17
17
  __exportStar(require("./context"), exports);
18
18
  __exportStar(require("./radio"), exports);
19
+ var radio_1 = require("./radio");
20
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(radio_1).default; } });
19
21
  __exportStar(require("./radio.types"), exports);
20
22
  __exportStar(require("./radioGroup"), exports);
21
23
  __exportStar(require("./radioGroup.types"), exports);
22
- var radio_1 = require("./radio");
23
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(radio_1).default; } });
package/radio/radio.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { RadioProps, RadioStyleProps } from './radio.types';
2
- import { SystemProps } from '../system';
3
- export declare const RadioInput: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {}, never>;
4
- export declare const RadioBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, RadioStyleProps, never>;
5
- export declare const RadioControl: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, SystemProps, never>;
2
+ export declare const RadioBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, import("..").AnimationProps & import("..").BackgroundColorProps & import("..").BorderProps & import("..").BorderTopProps & import("..").BorderRightProps & import("..").BorderBottomProps & import("..").BorderLeftProps & import("..").BorderColorProps & import("..").BorderTopColorProps & import("..").BorderRightColorProps & import("..").BorderBottomColorProps & import("..").BorderLeftColorProps & import("..").BorderWidthProps & import("..").BorderTopWidthProps & import("..").BorderRightWidthProps & import("..").BorderBottomWidthProps & import("..").BorderLeftWidthProps & import("..").BorderStyleProps & import("..").BorderRadiusProps & import("..").OutlineProps & import("..").OutlineColorProps & import("..").OutlineWidthProps & import("..").OutlineStyleProps & import("..").DivideXProps & import("..").DivideYProps & import("..").DivideXReverseProps & import("..").DivideYReverseProps & import("..").DivideColorProps & import("..").DivideStyleProps & import("..").RingProps & import("..").RingColorProps & import("..").OpacityProps & import("..").BoxShadowProps & import("..").TextShadowProps & import("..").DisplayProps & import("..").AlignItemsProps & import("..").AlignContentProps & import("..").JustifyContentProps & import("..").JustifyItemsProps & import("..").FlexWrapProps & import("..").FlexGrowProps & import("..").FlexShrinkProps & import("..").FlexBasisProps & import("..").FlexDirectionProps & import("..").FlexProps & import("..").JustifySelfProps & import("..").AlignSelfProps & import("..").OrderProps & import("../system/flexboxGrids").RowProps & import("../system/flexboxGrids").ColProps & import("../system/grids").GapProps & import("../system/grids").ColumnGapProps & import("../system/grids").RowGapProps & import("../system/grids").GridColumnProps & import("../system/grids").GridRowProps & import("../system/grids").GridAutoFlowProps & import("../system/grids").GridAutoColumnsProps & import("../system/grids").GridAutoRowsProps & import("../system/grids").GridTemplateColumnsProps & import("../system/grids").GridTemplateRowsProps & import("../system/grids").GridTemplateAreasProps & import("../system/grids").GridAreaProps & import("..").AppearanceProps & import("..").CursorProps & import("..").PointerEventsProps & import("..").ResizeProps & import("..").UserSelectProps & import("..").IsTruncatedProps & import("..").FloatProps & import("..").BoxSizingProps & import("..").OverflowProps & import("..").OverflowXProps & import("..").OverflowYProps & import("..").PositionProps & import("..").ZIndexProps & import("..").TopProps & import("..").RightProps & import("..").BottomProps & import("..").LeftProps & import("..").VisibilityProps & import("..").OverscrollBehaviorProps & import("..").ObjectFitProps & import("..").MaxLinesProps & import("..").WidthProps & import("..").HeightProps & import("..").MaxWidthProps & import("..").MaxHeightProps & import("..").MinWidthProps & import("..").MinHeightProps & import("..").MarginProps & import("..").MarginTopProps & import("..").MarginRightProps & import("..").MarginBottomProps & import("..").MarginLeftProps & import("..").MarginXProps & import("..").MarginYProps & import("..").PaddingProps & import("..").PaddingTopProps & import("..").PaddingRightProps & import("..").PaddingBottomProps & import("..").PaddingLeftProps & import("..").PaddingXProps & import("..").PaddingYProps & import("..").SpaceXProps & import("..").SpaceYProps & import("..").SpaceXReverseProps & import("..").SpaceYReverseProps & import("..").SpaceAroundProps & import("../system/tables").BorderCollapseProps & import("../system/tables").TableLayoutProps & import("..").TransformProps & import("..").TransformOriginProps & import("..").TranslateXProps & import("..").TranslateYProps & import("..").RotateProps & import("..").SkewXProps & import("..").SkewYProps & import("..").ScaleProps & import("..").ScaleXProps & import("..").ScaleYProps & import("..").TransitionProps & import("..").TransitionPropertyProps & import("..").TransitionDurationProps & import("..").TransitionTimingFunctionProps & import("..").TransitionDelayProps & import("..").FontFamilyProps & import("..").FontSizeProps & import("..").FontStyleProps & import("..").FontWeightProps & import("..").LineHeightProps & import("..").ColorProps & import("..").TextTransformProps & import("..").TextDecorationProps & import("..").TextAlignProps & import("..").VerticalAlignProps & import("..").LetterSpacingProps & import("..").WhiteSpaceProps & import("..").TextOverflowProps & import("..").ListStyleTypeProps & import("..").ListStylePositionProps & import("..").WordBreakProps & RadioStyleProps, never>;
3
+ /**
4
+ * Allows selection of a single choice from a set of items. Handles controlled and uncontrolled modes.
5
+ * Uses icons to display itself in different states.
6
+ */
6
7
  export declare const Radio: import("../core").VuiComponent<"span", RadioProps>;
7
8
  export default Radio;
package/radio/radio.js CHANGED
@@ -64,18 +64,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
64
64
  return (mod && mod.__esModule) ? mod : { "default": mod };
65
65
  };
66
66
  Object.defineProperty(exports, "__esModule", { value: true });
67
- exports.Radio = exports.RadioControl = exports.RadioBase = exports.RadioInput = void 0;
67
+ exports.Radio = exports.RadioBase = void 0;
68
68
  var react_1 = __importStar(require("react"));
69
- var styled_components_1 = __importDefault(require("styled-components"));
70
- var context_1 = require("./context");
71
69
  var core_1 = require("../core");
72
70
  var icon_1 = __importDefault(require("../icon"));
73
- var system_1 = require("../system");
74
71
  var t_1 = __importDefault(require("../t"));
75
72
  var utils_1 = require("../utils");
76
- exports.RadioInput = styled_components_1.default.input(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"], ["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"])));
77
- exports.RadioBase = styled_components_1.default.label.withConfig((0, core_1.forwardPropConfig)(system_1.system))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-radioControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-radioControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"], ["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-radioControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-radioControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"])), function (p) { return core_1.th.color(p.controlHoverColor)(p); }, system_1.system);
78
- exports.RadioControl = styled_components_1.default.span.withConfig((0, core_1.forwardPropConfig)(system_1.system))(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"], ["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"])), system_1.system);
73
+ var context_1 = require("./context");
74
+ var RadioControl = core_1.styled.spanBox(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tborder-radius: 50%;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\ttransition-duration: fast;\n"], ["\n\tborder-radius: 50%;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\ttransition-duration: fast;\n"])));
75
+ var RadioInput = core_1.styled.input(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"], ["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"])));
76
+ exports.RadioBase = core_1.styled.labelBox(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t&:not([aria-disabled='true']):hover .vui-radioControl {\n\t\tcolor: ", ";\n\t}\n\n\t&[aria-disabled='true'] {\n\t\tcolor: disabled.color;\n\t\tcursor: not-allowed;\n\n\t\t.vui-radioControl {\n\t\t\tcolor: disabled.color;\n\t\t}\n\t}\n"], ["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t&:not([aria-disabled='true']):hover .vui-radioControl {\n\t\tcolor: ", ";\n\t}\n\n\t&[aria-disabled='true'] {\n\t\tcolor: disabled.color;\n\t\tcursor: not-allowed;\n\n\t\t.vui-radioControl {\n\t\t\tcolor: disabled.color;\n\t\t}\n\t}\n"
77
+ /**
78
+ * Allows selection of a single choice from a set of items. Handles controlled and uncontrolled modes.
79
+ * Uses icons to display itself in different states.
80
+ */
81
+ ])), function (p) { return core_1.th.color(p.controlHoverColor); });
82
+ /**
83
+ * Allows selection of a single choice from a set of items. Handles controlled and uncontrolled modes.
84
+ * Uses icons to display itself in different states.
85
+ */
79
86
  exports.Radio = (0, core_1.vui)(function (props, ref) {
80
87
  var _a, _b;
81
88
  var _c = (_a = (0, context_1.useRadioGroup)()) !== null && _a !== void 0 ? _a : {}, groupDefaultValue = _c.defaultValue, groupIsChecked = _c.isChecked, groupOnChange = _c.onChange, groupValue = _c.value, radioGroupProps = __rest(_c, ["defaultValue", "isChecked", "onChange", "value"]);
@@ -101,9 +108,12 @@ exports.Radio = (0, core_1.vui)(function (props, ref) {
101
108
  groupOnChange === null || groupOnChange === void 0 ? void 0 : groupOnChange(e);
102
109
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
103
110
  }
104
- return (react_1.default.createElement(exports.RadioBase, __assign({ className: (0, utils_1.cs)('vui-radio', disabled && 'disabled', className), controlHoverColor: controlHoverColor, ref: ref }, styles.container, rest),
105
- react_1.default.createElement(exports.RadioControl, __assign({ borderRadius: "50%", className: "vui-radioControl", color: color, focusWithinRing: 3, mr: controlMr, transitionDuration: "fast" }, controlStyles),
106
- react_1.default.createElement(exports.RadioInput, __assign({ className: "vui-radioInput", onChange: handleOnChange, ref: inputRef, type: "radio" }, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, id: id, name: name, required: required, value: value }, inputProps)),
111
+ var aliasedProps = (0, utils_1.filterUndefined)({
112
+ 'aria-disabled': disabled
113
+ });
114
+ return (react_1.default.createElement(exports.RadioBase, __assign({ className: (0, utils_1.cs)('vui-radio', className), controlHoverColor: controlHoverColor, ref: ref }, styles.container, aliasedProps, rest),
115
+ react_1.default.createElement(RadioControl, __assign({ className: "vui-radioControl", color: color, focusWithinRing: 3, mr: controlMr }, controlStyles),
116
+ react_1.default.createElement(RadioInput, __assign({ className: "vui-radioInput", onChange: handleOnChange, ref: inputRef, type: "radio" }, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, id: id, name: name, required: required, value: value }, inputProps)),
107
117
  react_1.default.createElement(icon_1.default, { className: "vui-radioIcon", h: "100%", name: icon, w: "100%" })), children !== null && children !== void 0 ? children : (label && (react_1.default.createElement(t_1.default, __assign({ className: "vui-radioLabel", lineHeight: "normal" }, styles.label), label)))));
108
118
  });
109
119
  exports.Radio.displayName = 'Radio';
@@ -3,22 +3,37 @@ import { IconProp } from '../icon';
3
3
  import { SystemProps } from '../system';
4
4
  import { ThemingProps } from '../theme';
5
5
  import { ChangeEventHandler, FocusEventHandler } from '../utils';
6
- export interface RadioProps extends SystemProps, ThemingProps<'Radio'> {
6
+ export declare type RadioProps = SystemProps & ThemingProps<'Radio'> & {
7
+ /** Provides value to radio in controlled mode. */
7
8
  checked?: boolean;
9
+ /** Available theme colors for this component. @default blue */
8
10
  colorScheme?: 'blue' | 'prussian';
11
+ /** Disables radio and related elements with the right styling. */
9
12
  disabled?: boolean;
13
+ /** Icon used when not checked. @default cuiRadioSelected */
10
14
  icon?: IconProp;
15
+ /** Icon used when checked. @default cuiRadioUnselected */
11
16
  iconChecked?: IconProp;
17
+ /** Props object passed to the inner input element. */
12
18
  inputProps?: HTMLAttributes<HTMLInputElement>;
19
+ /** Ref passed to the inner input element. */
13
20
  inputRef?: React.MutableRefObject<HTMLInputElement | null> | null;
21
+ /** Socket placing text to the left of the checkbox. */
14
22
  label?: string;
23
+ /** Passed to the inner input. */
15
24
  name?: string;
25
+ /** Passed to the inner input. */
16
26
  onBlur?: FocusEventHandler;
27
+ /** Passed to the inner input. */
17
28
  onChange?: ChangeEventHandler;
29
+ /** Passed to the inner input. */
18
30
  onFocus?: FocusEventHandler;
31
+ /** Passed to the inner input. */
19
32
  required?: boolean;
33
+ /** Passed to the inner input. */
20
34
  value?: number | string;
21
- }
22
- export interface RadioStyleProps extends SystemProps {
35
+ };
36
+ export declare type RadioStyleProps = {
37
+ /** Styles the icon when any part of the radio is hovered. */
23
38
  controlHoverColor: string;
24
- }
39
+ };
@@ -1,5 +1,8 @@
1
1
  import { RadioGroupProps } from './radioGroup.types';
2
- import { SystemProps } from '../system';
3
- export declare const RadioGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SystemProps, never>;
2
+ export declare const RadioGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
3
+ /**
4
+ * Organizes layout and display of multiple radio buttons as a row or column.
5
+ * Exposes some props to the children via context.
6
+ */
4
7
  export declare const RadioGroup: import("../core").VuiComponent<"div", RadioGroupProps>;
5
8
  export default RadioGroup;
@@ -60,18 +60,22 @@ var __read = (this && this.__read) || function (o, n) {
60
60
  }
61
61
  return ar;
62
62
  };
63
- var __importDefault = (this && this.__importDefault) || function (mod) {
64
- return (mod && mod.__esModule) ? mod : { "default": mod };
65
- };
66
63
  Object.defineProperty(exports, "__esModule", { value: true });
67
64
  exports.RadioGroup = exports.RadioGroupBase = void 0;
68
65
  var react_1 = __importStar(require("react"));
69
- var styled_components_1 = __importDefault(require("styled-components"));
70
- var context_1 = require("./context");
71
66
  var core_1 = require("../core");
72
- var system_1 = require("../system");
73
67
  var utils_1 = require("../utils");
74
- exports.RadioGroupBase = styled_components_1.default.div.withConfig((0, core_1.forwardPropConfig)(system_1.system))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"], ["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"])), system_1.system);
68
+ var context_1 = require("./context");
69
+ exports.RadioGroupBase = core_1.styled.divBox(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tflex-direction: column;\n"], ["\n\tdisplay: flex;\n\tflex-direction: column;\n"
70
+ /**
71
+ * Organizes layout and display of multiple radio buttons as a row or column.
72
+ * Exposes some props to the children via context.
73
+ */
74
+ ])));
75
+ /**
76
+ * Organizes layout and display of multiple radio buttons as a row or column.
77
+ * Exposes some props to the children via context.
78
+ */
75
79
  exports.RadioGroup = (0, core_1.vui)(function (props, ref) {
76
80
  var className = props.className, colorScheme = props.colorScheme, defaultValue = props.defaultValue, disabled = props.disabled, isRow = props.isRow, name = props.name, onBlur = props.onBlur, onChange = props.onChange, onFocus = props.onFocus, size = props.size, value = props.value, variant = props.variant, rest = __rest(props, ["className", "colorScheme", "defaultValue", "disabled", "isRow", "name", "onBlur", "onChange", "onFocus", "size", "value", "variant"]);
77
81
  var _a = __read((0, react_1.useState)(value !== null && value !== void 0 ? value : defaultValue), 2), isChecked = _a[0], setIsChecked = _a[1];
@@ -1,13 +1,21 @@
1
1
  import { SystemProps } from '../system';
2
2
  import { ThemingProps } from '../theme';
3
3
  import { ChangeEventHandler, FocusEventHandler } from '../utils';
4
- export interface RadioGroupProps extends SystemProps, ThemingProps<'Radio'> {
4
+ export declare type RadioGroupProps = SystemProps & ThemingProps<'Radio'> & {
5
+ /** Available theme colors for this component. */
5
6
  colorScheme?: 'blue' | 'prussian';
7
+ /** Passes the prop to each radio. */
6
8
  disabled?: boolean;
9
+ /** Displays radio buttons in a row. */
7
10
  isRow?: boolean;
11
+ /** Passes the prop to each checkbox. */
8
12
  name?: string;
13
+ /** Passes the prop to each checkbox. */
9
14
  onBlur?: FocusEventHandler;
15
+ /** Passes the prop to each checkbox. */
10
16
  onChange?: ChangeEventHandler;
17
+ /** Passes the prop to each checkbox. */
11
18
  onFocus?: FocusEventHandler;
19
+ /** Passes the prop to each checkbox. */
12
20
  value?: number | string;
13
- }
21
+ };
package/radio/theme.d.ts CHANGED
@@ -6,6 +6,7 @@ declare function variantDefault(props: Dict): {
6
6
  };
7
7
  };
8
8
  declare const _default: {
9
+ baseStyle: {};
9
10
  defaultProps: {
10
11
  colorScheme: string;
11
12
  size: string;
package/radio/theme.js CHANGED
@@ -13,6 +13,7 @@ function variantDefault(props) {
13
13
  control: control
14
14
  };
15
15
  }
16
+ var baseStyle = {};
16
17
  var defaultProps = {
17
18
  colorScheme: 'blue',
18
19
  size: 'md',
@@ -52,6 +53,7 @@ var variants = {
52
53
  default: variantDefault
53
54
  };
54
55
  exports.default = {
56
+ baseStyle: baseStyle,
55
57
  defaultProps: defaultProps,
56
58
  parts: parts,
57
59
  sizes: sizes,