@veracity/vui 2.9.0 → 2.10.0-beta.1

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 (207) hide show
  1. package/dist/cjs/accordion/accordionItem.d.ts.map +1 -1
  2. package/dist/cjs/avatar/theme.js +1 -1
  3. package/dist/cjs/button/button.js +1 -1
  4. package/dist/cjs/core/vuiProvider/globalStyle.d.ts.map +1 -1
  5. package/dist/cjs/core/vuiProvider/globalStyle.js +6 -1
  6. package/dist/cjs/header/headerAccount.d.ts.map +1 -1
  7. package/dist/cjs/header/headerAccount.js +1 -1
  8. package/dist/cjs/header/headerAccountUserInfo.js +1 -1
  9. package/dist/cjs/header/headerMobileToggle.d.ts.map +1 -1
  10. package/dist/cjs/header/headerMobileToggle.js +1 -1
  11. package/dist/cjs/header/headerNotifications.d.ts.map +1 -1
  12. package/dist/cjs/header/headerNotifications.js +1 -1
  13. package/dist/cjs/header/headerServices.d.ts.map +1 -1
  14. package/dist/cjs/header/headerServices.js +1 -1
  15. package/dist/cjs/input/autoCompletePopover.d.ts +7 -0
  16. package/dist/cjs/input/autoCompletePopover.d.ts.map +1 -0
  17. package/dist/cjs/input/autoCompletePopover.js +31 -0
  18. package/dist/cjs/input/helpText.d.ts +1 -1
  19. package/dist/cjs/input/helpText.js +1 -1
  20. package/dist/cjs/input/input.d.ts +0 -1
  21. package/dist/cjs/input/input.d.ts.map +1 -1
  22. package/dist/cjs/input/input.js +32 -39
  23. package/dist/cjs/input/input.types.d.ts +11 -0
  24. package/dist/cjs/input/input.types.d.ts.map +1 -1
  25. package/dist/cjs/list/list.types.d.ts +2 -0
  26. package/dist/cjs/list/list.types.d.ts.map +1 -1
  27. package/dist/cjs/list/theme.d.ts +20 -0
  28. package/dist/cjs/list/theme.d.ts.map +1 -1
  29. package/dist/cjs/list/theme.js +21 -1
  30. package/dist/cjs/popover/popover.d.ts.map +1 -1
  31. package/dist/cjs/popover/popover.js +2 -2
  32. package/dist/cjs/popover/popover.types.d.ts +3 -0
  33. package/dist/cjs/popover/popover.types.d.ts.map +1 -1
  34. package/dist/cjs/popover/usePopover.d.ts.map +1 -1
  35. package/dist/cjs/popover/usePopover.js +2 -2
  36. package/dist/cjs/progressCircular/progressCircular.d.ts.map +1 -1
  37. package/dist/cjs/progressCircular/progressCircular.js +1 -1
  38. package/dist/cjs/radio/radio.d.ts.map +1 -1
  39. package/dist/cjs/radio/radio.js +2 -1
  40. package/dist/cjs/select/select.d.ts.map +1 -1
  41. package/dist/cjs/select/select.js +2 -2
  42. package/dist/cjs/select/useSelect.types.d.ts +3 -0
  43. package/dist/cjs/select/useSelect.types.d.ts.map +1 -1
  44. package/dist/cjs/sidemenu/consts.d.ts +0 -1
  45. package/dist/cjs/sidemenu/consts.d.ts.map +1 -1
  46. package/dist/cjs/sidemenu/consts.js +1 -2
  47. package/dist/cjs/sidemenu/sidemenu.d.ts +1 -1
  48. package/dist/cjs/sidemenu/sidemenu.d.ts.map +1 -1
  49. package/dist/cjs/sidemenu/sidemenu.js +7 -6
  50. package/dist/cjs/sidemenu/sidemenuItem.d.ts.map +1 -1
  51. package/dist/cjs/sidemenu/sidemenuItem.js +5 -3
  52. package/dist/cjs/sidemenu/sidemenuTop.d.ts.map +1 -1
  53. package/dist/cjs/sidemenu/sidemenuTop.js +2 -2
  54. package/dist/cjs/sidemenu/theme.d.ts +42 -3
  55. package/dist/cjs/sidemenu/theme.d.ts.map +1 -1
  56. package/dist/cjs/sidemenu/theme.js +43 -3
  57. package/dist/cjs/switch/consts.d.ts +2 -0
  58. package/dist/cjs/switch/consts.d.ts.map +1 -1
  59. package/dist/cjs/switch/consts.js +2 -0
  60. package/dist/cjs/switch/switchButton.d.ts.map +1 -1
  61. package/dist/cjs/switch/switchButton.js +1 -2
  62. package/dist/cjs/table/tableSortIcon.js +1 -1
  63. package/dist/cjs/table/useTable.d.ts.map +1 -1
  64. package/dist/cjs/table/useTable.js +9 -3
  65. package/dist/cjs/theme/components.d.ts +62 -3
  66. package/dist/cjs/theme/components.d.ts.map +1 -1
  67. package/dist/cjs/theme/defaultTheme.d.ts +63 -3
  68. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  69. package/dist/cjs/theme/foundations/colors.d.ts +2 -0
  70. package/dist/cjs/theme/foundations/colors.d.ts.map +1 -1
  71. package/dist/cjs/theme/foundations/colors.js +1 -0
  72. package/dist/cjs/theme/foundations/index.d.ts +1 -0
  73. package/dist/cjs/theme/foundations/index.d.ts.map +1 -1
  74. package/dist/cjs/tree/tree.js +1 -1
  75. package/dist/cjs/tree/treeItem.d.ts.map +1 -1
  76. package/dist/cjs/tree/treeItem.js +6 -2
  77. package/dist/cjs/tutorial/tutorial.types.d.ts +3 -3
  78. package/dist/cjs/tutorial/tutorial.types.d.ts.map +1 -1
  79. package/dist/cjs/tutorial/tutorialCard.d.ts.map +1 -1
  80. package/dist/cjs/tutorial/tutorialCard.js +1 -4
  81. package/dist/cjs/utils/array.d.ts.map +1 -1
  82. package/dist/cjs/utils/array.js +2 -0
  83. package/dist/cjs/utils/types.d.ts +2 -1
  84. package/dist/cjs/utils/types.d.ts.map +1 -1
  85. package/dist/esm/accordion/accordionItem.d.ts.map +1 -1
  86. package/dist/esm/avatar/theme.js +1 -1
  87. package/dist/esm/button/button.js +1 -1
  88. package/dist/esm/core/vuiProvider/globalStyle.d.ts.map +1 -1
  89. package/dist/esm/core/vuiProvider/globalStyle.js +6 -1
  90. package/dist/esm/header/headerAccount.d.ts.map +1 -1
  91. package/dist/esm/header/headerAccount.js +1 -1
  92. package/dist/esm/header/headerAccountUserInfo.js +1 -1
  93. package/dist/esm/header/headerMobileToggle.d.ts.map +1 -1
  94. package/dist/esm/header/headerMobileToggle.js +1 -1
  95. package/dist/esm/header/headerNotifications.d.ts.map +1 -1
  96. package/dist/esm/header/headerNotifications.js +1 -1
  97. package/dist/esm/header/headerServices.d.ts.map +1 -1
  98. package/dist/esm/header/headerServices.js +1 -1
  99. package/dist/esm/input/autoCompletePopover.d.ts +7 -0
  100. package/dist/esm/input/autoCompletePopover.d.ts.map +1 -0
  101. package/dist/esm/input/autoCompletePopover.js +23 -0
  102. package/dist/esm/input/helpText.d.ts +1 -1
  103. package/dist/esm/input/helpText.js +1 -1
  104. package/dist/esm/input/input.d.ts +0 -1
  105. package/dist/esm/input/input.d.ts.map +1 -1
  106. package/dist/esm/input/input.js +31 -38
  107. package/dist/esm/input/input.types.d.ts +11 -0
  108. package/dist/esm/input/input.types.d.ts.map +1 -1
  109. package/dist/esm/list/list.types.d.ts +2 -0
  110. package/dist/esm/list/list.types.d.ts.map +1 -1
  111. package/dist/esm/list/theme.d.ts +20 -0
  112. package/dist/esm/list/theme.d.ts.map +1 -1
  113. package/dist/esm/list/theme.js +21 -1
  114. package/dist/esm/popover/popover.d.ts.map +1 -1
  115. package/dist/esm/popover/popover.js +2 -2
  116. package/dist/esm/popover/popover.types.d.ts +3 -0
  117. package/dist/esm/popover/popover.types.d.ts.map +1 -1
  118. package/dist/esm/popover/usePopover.d.ts.map +1 -1
  119. package/dist/esm/popover/usePopover.js +2 -1
  120. package/dist/esm/progressCircular/progressCircular.d.ts.map +1 -1
  121. package/dist/esm/progressCircular/progressCircular.js +1 -1
  122. package/dist/esm/radio/radio.d.ts.map +1 -1
  123. package/dist/esm/radio/radio.js +2 -1
  124. package/dist/esm/select/select.d.ts.map +1 -1
  125. package/dist/esm/select/select.js +2 -2
  126. package/dist/esm/select/useSelect.types.d.ts +3 -0
  127. package/dist/esm/select/useSelect.types.d.ts.map +1 -1
  128. package/dist/esm/sidemenu/consts.d.ts +0 -1
  129. package/dist/esm/sidemenu/consts.d.ts.map +1 -1
  130. package/dist/esm/sidemenu/consts.js +0 -1
  131. package/dist/esm/sidemenu/sidemenu.d.ts +1 -1
  132. package/dist/esm/sidemenu/sidemenu.d.ts.map +1 -1
  133. package/dist/esm/sidemenu/sidemenu.js +8 -7
  134. package/dist/esm/sidemenu/sidemenuItem.d.ts.map +1 -1
  135. package/dist/esm/sidemenu/sidemenuItem.js +6 -4
  136. package/dist/esm/sidemenu/sidemenuTop.d.ts.map +1 -1
  137. package/dist/esm/sidemenu/sidemenuTop.js +3 -3
  138. package/dist/esm/sidemenu/theme.d.ts +42 -3
  139. package/dist/esm/sidemenu/theme.d.ts.map +1 -1
  140. package/dist/esm/sidemenu/theme.js +43 -3
  141. package/dist/esm/switch/consts.d.ts +2 -0
  142. package/dist/esm/switch/consts.d.ts.map +1 -1
  143. package/dist/esm/switch/consts.js +2 -0
  144. package/dist/esm/switch/switchButton.d.ts.map +1 -1
  145. package/dist/esm/switch/switchButton.js +1 -2
  146. package/dist/esm/table/tableSortIcon.js +1 -1
  147. package/dist/esm/table/useTable.d.ts.map +1 -1
  148. package/dist/esm/table/useTable.js +9 -3
  149. package/dist/esm/theme/components.d.ts +62 -3
  150. package/dist/esm/theme/components.d.ts.map +1 -1
  151. package/dist/esm/theme/defaultTheme.d.ts +63 -3
  152. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  153. package/dist/esm/theme/foundations/colors.d.ts +2 -0
  154. package/dist/esm/theme/foundations/colors.d.ts.map +1 -1
  155. package/dist/esm/theme/foundations/colors.js +1 -0
  156. package/dist/esm/theme/foundations/index.d.ts +1 -0
  157. package/dist/esm/theme/foundations/index.d.ts.map +1 -1
  158. package/dist/esm/tree/tree.js +1 -1
  159. package/dist/esm/tree/treeItem.d.ts.map +1 -1
  160. package/dist/esm/tree/treeItem.js +7 -3
  161. package/dist/esm/tutorial/tutorial.types.d.ts +3 -3
  162. package/dist/esm/tutorial/tutorial.types.d.ts.map +1 -1
  163. package/dist/esm/tutorial/tutorialCard.d.ts.map +1 -1
  164. package/dist/esm/tutorial/tutorialCard.js +1 -4
  165. package/dist/esm/utils/array.d.ts.map +1 -1
  166. package/dist/esm/utils/array.js +2 -0
  167. package/dist/esm/utils/types.d.ts +2 -1
  168. package/dist/esm/utils/types.d.ts.map +1 -1
  169. package/package.json +1 -1
  170. package/src/accordion/accordionItem.tsx +0 -1
  171. package/src/avatar/theme.ts +1 -1
  172. package/src/button/button.tsx +2 -2
  173. package/src/core/vuiProvider/globalStyle.tsx +6 -1
  174. package/src/header/headerAccount.tsx +1 -0
  175. package/src/header/headerAccountUserInfo.tsx +1 -1
  176. package/src/header/headerMobileToggle.tsx +1 -0
  177. package/src/header/headerNotifications.tsx +1 -2
  178. package/src/header/headerServices.tsx +1 -0
  179. package/src/input/autoCompletePopover.tsx +49 -0
  180. package/src/input/helpText.tsx +1 -1
  181. package/src/input/input.tsx +54 -67
  182. package/src/input/input.types.ts +12 -0
  183. package/src/list/list.types.ts +2 -0
  184. package/src/list/theme.ts +21 -1
  185. package/src/popover/popover.tsx +2 -3
  186. package/src/popover/popover.types.ts +4 -0
  187. package/src/popover/usePopover.ts +2 -0
  188. package/src/progressCircular/progressCircular.tsx +1 -0
  189. package/src/radio/radio.tsx +25 -9
  190. package/src/select/select.tsx +3 -1
  191. package/src/select/useSelect.types.ts +3 -0
  192. package/src/sidemenu/consts.ts +0 -2
  193. package/src/sidemenu/sidemenu.tsx +26 -7
  194. package/src/sidemenu/sidemenuItem.tsx +10 -8
  195. package/src/sidemenu/sidemenuTop.tsx +3 -4
  196. package/src/sidemenu/theme.ts +43 -3
  197. package/src/switch/consts.ts +3 -1
  198. package/src/switch/switchButton.tsx +1 -2
  199. package/src/table/tableSortIcon.tsx +1 -1
  200. package/src/table/useTable.ts +12 -4
  201. package/src/theme/foundations/colors.ts +1 -0
  202. package/src/tree/tree.tsx +1 -1
  203. package/src/tree/treeItem.tsx +8 -2
  204. package/src/tutorial/tutorial.types.ts +3 -3
  205. package/src/tutorial/tutorialCard.tsx +1 -4
  206. package/src/utils/array.ts +1 -0
  207. package/src/utils/types.ts +3 -1
@@ -183,6 +183,7 @@ declare const _default: {
183
183
  main: string;
184
184
  };
185
185
  sandstone: {
186
+ 97: string;
186
187
  95: string;
187
188
  90: string;
188
189
  85: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/foundations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,wBAqBC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/foundations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,wBAqBC"}
@@ -68,7 +68,7 @@ export const Tree = vui((props, ref) => {
68
68
  };
69
69
  return (React.createElement(TreeProvider, { value: context },
70
70
  React.createElement(TreeBase, { className: cs('vui-tree', className), ref: ref, ...styles.container, ...rest },
71
- React.createElement(List, { w: 1 }, itemsInternal?.map(({ id, isActive, ...props }, index) => {
71
+ React.createElement(List, { role: "tree", w: 1 }, itemsInternal?.map(({ id, isActive, ...props }, index) => {
72
72
  return (React.createElement(TreeItem, { activeItemIndex: activeItemIndex, iconCollapse: iconCollapseInternal, iconExpand: iconExpandInternal, id: id, isActive: isActive ? isActive : activeItemIndex ? activeItemIndex === id : false, isFirstLevel: true, key: id ?? index, onClickTreeItem: onClickTreeItem, ...props }));
73
73
  })))));
74
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"treeItem.d.ts","sourceRoot":"","sources":["../../../src/tree/treeItem.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,eAAO,MAAM,YAAY,8HAKxB,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,QAAQ,qDAmLnB,CAAA;AAEF,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"treeItem.d.ts","sourceRoot":"","sources":["../../../src/tree/treeItem.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,eAAO,MAAM,YAAY,8HAKxB,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,QAAQ,qDAyLnB,CAAA;AAEF,eAAe,QAAQ,CAAA"}
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
2
2
  import { Box } from '../box';
3
3
  import { styled, useStyleConfig, vui } from '../core';
4
4
  import { List } from '../list';
5
- import { cs, isArray, isReactText, vuiColorToRGBA } from '../utils';
5
+ import { cs, filterUndefined, isArray, isReactText, vuiColorToRGBA } from '../utils';
6
6
  import { useTreeContext } from './context';
7
7
  import TreeIcon from './treeIcon';
8
8
  import TreeText from './treeText';
@@ -87,6 +87,10 @@ export const TreeItem = vui((props, ref) => {
87
87
  if (!isCollapsable) {
88
88
  textMl += 3.8;
89
89
  }
90
+ const aliasedProps = filterUndefined({
91
+ 'aria-expanded': isCollapsable ? !collapsedInternal : undefined,
92
+ role: 'treeitem'
93
+ });
90
94
  // hoverBg cannot be styled directly from theme, it has to be JS manipulated because of event propagation
91
95
  return (React.createElement(TreeItemBase, { className: cs('vui-treeItem', isFirstLevel ? 'vui-treeItem-firstLevel' : '', className), color: isFirstLevel ? styles?.firstLevelItem?.color : color, h: collapsedInternal ? h : isCollapsable ? 'auto' : h, id: id.toString(), m: 0, onClick: !disabled ? (e) => toggle(e) : undefined, onMouseOut: !disabled ? (e) => hoverTreeItem(e, 'out') : undefined, onMouseOver: !disabled ? (e) => hoverTreeItem(e, 'over') : undefined, p: 0, propagatedPL: propagatedPL, ref: ref, w: 1, ...itemStyles, bg: isFirstLevel
92
96
  ? isActiveInternal
@@ -94,12 +98,12 @@ export const TreeItem = vui((props, ref) => {
94
98
  : styles?.firstLevelItem?.bg
95
99
  : isActiveInternal
96
100
  ? styles?.item?.activeBg
97
- : bg, hoverBg: undefined, ...rest },
101
+ : bg, hoverBg: undefined, ...aliasedProps, ...rest },
98
102
  React.createElement(React.Fragment, null,
99
103
  React.createElement(Box, { centerV: true, className: cs('vui-treeItem-permanent', isActiveInternal ? 'vui-treeItem-active' : '', isFirstLevel ? 'vui-treeItem-firstLevel' : ''), fontWeight: isActiveInternal ? '600' : '500', pl: `${innerBoxPl}px` },
100
104
  items && items?.length > 0 && (React.createElement(React.Fragment, null, collapsedInternal ? React.createElement(TreeIcon, { mx: 1.5, name: iconExpand }) : React.createElement(TreeIcon, { mx: 1.5, name: iconCollapse }))),
101
105
  isReactText(text) ? React.createElement(TreeText, { ml: textMl, ...{ isTruncated, text } }) : text),
102
- isCollapsable && !collapsedInternal && (React.createElement(List, { w: 1 }, children ??
106
+ isCollapsable && !collapsedInternal && (React.createElement(List, { role: "tree", w: 1 }, children ??
103
107
  (isArray(items)
104
108
  ? items.map(({ key, propagatedPL, ...props }, index) => {
105
109
  return (React.createElement(TreeItem, { activeItemIndex: activeItemIndex, iconCollapse: iconCollapse, iconExpand: iconExpand, key: key ?? index, onClickTreeItem: onClickTreeItem, propagatedPL: innerListPl, ...props }));
@@ -17,11 +17,11 @@ export type TutorialProps = {
17
17
  className?: string;
18
18
  /** An id for further handling with localStorage */
19
19
  id: string;
20
- /** Invoked once the action button clicked. */
20
+ /** Invoked once the action button is clicked. */
21
21
  onAction?: () => void;
22
- /** Invoked once the dismiss button clicked. */
22
+ /** Invoked once the dismiss button is clicked. */
23
23
  onDismiss?: () => void;
24
- /** Invoked once the finish button clicked. */
24
+ /** Invoked once the finish button is clicked. */
25
25
  onFinish?: () => void;
26
26
  /** Popover placement */
27
27
  placement?: Placement;
@@ -1 +1 @@
1
- {"version":3,"file":"tutorial.types.d.ts","sourceRoot":"","sources":["../../../src/tutorial/tutorial.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,wBAAwB;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"tutorial.types.d.ts","sourceRoot":"","sources":["../../../src/tutorial/tutorial.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,wBAAwB;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tutorialCard.d.ts","sourceRoot":"","sources":["../../../src/tutorial/tutorialCard.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,iBAAiB,EAAyC,MAAM,kBAAkB,CAAA;AAG3F,wBAAgB,YAAY,CAAC,EAC3B,WAAsB,EACtB,SAAS,EACT,KAAK,EACL,YAAY,EACZ,KAAK,EAAE,UAAe,EACtB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,EAAE,iBAAiB,eAuHnB"}
1
+ {"version":3,"file":"tutorialCard.d.ts","sourceRoot":"","sources":["../../../src/tutorial/tutorialCard.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,iBAAiB,EAAyC,MAAM,kBAAkB,CAAA;AAG3F,wBAAgB,YAAY,CAAC,EAC3B,WAAsB,EACtB,SAAS,EACT,KAAK,EACL,YAAY,EACZ,KAAK,EAAE,UAAe,EACtB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,EAAE,iBAAiB,eAoHnB"}
@@ -32,8 +32,5 @@ export function TutorialCard({ actionLabel = 'Action', className, title, readMor
32
32
  (showSkipButton || isFinalStep || !!onAction) && (React.createElement(Box, { alignItems: "center", justifyContent: "space-between" },
33
33
  showSkipButton && !isFinalStep && (React.createElement(Button, { mr: 2, onClick: onDismiss, variant: "primaryLight" }, "Skip")),
34
34
  isFinalStep && (React.createElement(Button, { mr: 2, onClick: onFinish, variant: "primaryLight" }, "Finish")),
35
- !!onAction && (React.createElement(Button, { mr: 6, onClick: onAction, variant: "primaryLight" },
36
- React.createElement(React.Fragment, null,
37
- actionLabel,
38
- onAction))))))));
35
+ !!onAction && (React.createElement(Button, { mr: 6, onClick: onAction, variant: "primaryLight" }, actionLabel)))))));
39
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAG9B,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,IAAI,CAAC,OAAO,CAAS,WAGlF,CAAC,SAAS,CAAC,YAW3B;AAGD,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAEtD"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAG9B,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,IAAI,CAAC,OAAO,CAAS,WAGlF,CAAC,SAAS,CAAC,YAY3B;AAGD,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAEtD"}
@@ -3,6 +3,8 @@
3
3
  export function compareBy(key, order = 'asc') {
4
4
  const ord = order === 'asc' ? 1 : -1;
5
5
  return (item1, item2) => {
6
+ if (order === null)
7
+ return 0;
6
8
  const a = item1[key];
7
9
  const b = item2[key];
8
10
  if (typeof a === 'string' && typeof b === 'string') {
@@ -43,8 +43,9 @@ export type RefPropsOf<C extends ElementType, Props = {}> = RightJoinProps<Compo
43
43
  export type RenderProps<P> = React.ReactNode | ((props: P) => React.ReactNode);
44
44
  /** Merges props definitions, overriding source keys */
45
45
  export type RightJoinProps<SourceProps, OverrideProps> = Omit<SourceProps, keyof OverrideProps> & OverrideProps;
46
+ export type SortOrder = 'asc' | 'desc' | null;
46
47
  export type Sort<T = string> = {
47
48
  key: T;
48
- order: 'asc' | 'desc';
49
+ order: SortOrder;
49
50
  };
50
51
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veracity/vui",
3
- "version": "2.9.0",
3
+ "version": "2.10.0-beta.1",
4
4
  "description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
5
5
  "module": "./dist/esm/index.js",
6
6
  "main": "./dist/cjs/index.js",
@@ -23,7 +23,6 @@ export const AccordionItem = (props: AccordionItemProps) => {
23
23
  ...rest
24
24
  } = omitThemingProps(props)
25
25
  const [collapsedInternal, setIsCollapsedInternal] = useState<boolean>(false)
26
-
27
26
  const styles = useStyleConfig('Accordion', useAccordionContext())
28
27
 
29
28
  useEffect(() => {
@@ -143,7 +143,7 @@ const variants = {
143
143
  activeBg: 'hsl(178, 80%, 42%)'
144
144
  },
145
145
  solidTerracotta: {
146
- bg: 'hsl(34, 100%, 35%)',
146
+ bg: 'hsl(34, 100%, 30%)',
147
147
  hoverBg: 'hsl(34, 100%, 40%)',
148
148
  borderColor: 'hsl(34, 100%, 35%)',
149
149
  color: 'white',
@@ -98,6 +98,7 @@ export const Button = vui<'button', ButtonProps>((props, ref) => {
98
98
  const pr = (icon || iconRight ? spaceXItem : spaceXText) + 'px'
99
99
 
100
100
  let ariaLabel = 'vui-button'
101
+
101
102
  if (title) {
102
103
  ariaLabel = title
103
104
  } else {
@@ -142,7 +143,6 @@ export const Button = vui<'button', ButtonProps>((props, ref) => {
142
143
  return (
143
144
  <ButtonProvider value={context}>
144
145
  <ButtonBase
145
- aria-label={ariaLabel}
146
146
  borderWidth={border}
147
147
  className={cs('vui-button', className, isActive && activeClassName, `vui-button-variant-${variantProp}`)}
148
148
  disabled={disabled}
@@ -151,7 +151,7 @@ export const Button = vui<'button', ButtonProps>((props, ref) => {
151
151
  pl={pl}
152
152
  pr={isDropDown ? 0 : pr}
153
153
  ref={ref}
154
- title={title}
154
+ title={title || ariaLabel}
155
155
  type="button"
156
156
  variant={variant}
157
157
  {...buttonStyles}
@@ -17,7 +17,6 @@ type GlobalStyleProps = {
17
17
  */
18
18
  export default createGlobalStyle<GlobalStyleProps>`
19
19
  ${fontFaces}
20
-
21
20
  :root {
22
21
  ${generateCSSVariables}
23
22
  }
@@ -29,18 +28,23 @@ export default createGlobalStyle<GlobalStyleProps>`
29
28
  }
30
29
 
31
30
  button,
31
+ .vui-avatar,
32
+ .vui-tag,
32
33
  .vui-switchTrack {
33
34
  --x-ring-color: transparent;
34
35
  }
35
36
 
36
37
  button:focus-visible,
37
38
  li:focus-visible,
39
+ .vui-avatar:focus-visible,
40
+ .vui-tag:focus-visible,
38
41
  .vui-switchTrack:focus-visible {
39
42
  --x-ring-color: var(--vui-colors-focusColor);
40
43
  outline: var(--vui-colors-focusColor) solid 3px;
41
44
  z-index: 1;
42
45
  }
43
46
 
47
+ //@formatter:off
44
48
  ${p =>
45
49
  p.globalStyle &&
46
50
  css`
@@ -59,6 +63,7 @@ export default createGlobalStyle<GlobalStyleProps>`
59
63
  }
60
64
  `}
61
65
 
66
+ //@formatter:on
62
67
  @keyframes vui-bounce {
63
68
  ${bounce}
64
69
  }
@@ -28,6 +28,7 @@ export function HeaderAccount(props: HeaderAccountProps) {
28
28
  isInteractive
29
29
  ml={1}
30
30
  name={name}
31
+ role="button"
31
32
  size="lg"
32
33
  title="Account"
33
34
  variant={variant}
@@ -39,7 +39,7 @@ export const HeaderAccountUserInfo = vui<'div', HeaderAccountUserInfoProps>((pro
39
39
  )}
40
40
  {companyName && <T fontSize={isApplication ? '12px' : 'inherit'}>{companyName}</T>}
41
41
  {role && (
42
- <T color="sandstone.55" fontSize={isApplication ? '12px' : 'inherit'}>
42
+ <T color="sandstone.45" fontSize={isApplication ? '12px' : 'inherit'}>
43
43
  {role}
44
44
  </T>
45
45
  )}
@@ -22,6 +22,7 @@ export const HeaderMobileToggle = vui<'button', ButtonProps>((props, ref) => {
22
22
  onClick={() => setIsMobileOpen(s => !s)}
23
23
  p="3px"
24
24
  ref={mergeRefs(ref, mobileToggleRef)}
25
+ title="mobileToggleButton"
25
26
  {...styles.mobileToggle}
26
27
  {...rest}
27
28
  />
@@ -36,9 +36,8 @@ export const HeaderNotifications = vui<'a', HeaderNotificationsProps>((props, re
36
36
  className={cs('vui-headerNotifications', className)}
37
37
  href={url ?? links.notifications}
38
38
  minW={0}
39
- ml={1}
40
39
  position="relative"
41
- px="7px"
40
+ px="9px"
42
41
  ref={ref}
43
42
  size="lg"
44
43
  title="Notifications"
@@ -38,6 +38,7 @@ export function HeaderServices(props: HeaderServicesProps) {
38
38
  <Menu.Button
39
39
  className="vui-services-trigger"
40
40
  icon="falTh"
41
+ size="lg"
41
42
  title="My services"
42
43
  {...styles.button}
43
44
  {...buttonProps}
@@ -0,0 +1,49 @@
1
+ import React from 'react'
2
+
3
+ import { styled } from '../core'
4
+ import { List } from '../list'
5
+ import { Popover } from '../popover'
6
+ import { cs } from '../utils'
7
+ import { AutoCompletePopoverProps } from './input.types'
8
+
9
+ const InputContainer = styled.divBox`
10
+ width: 100%;
11
+ `
12
+
13
+ const options = {
14
+ aria: {
15
+ expanded: false
16
+ }
17
+ }
18
+
19
+ /** Wrapper for the autocomplete popover. */
20
+ export const AutoCompletePopover = ({
21
+ autoCompleteOptions,
22
+ autoCompleteMaxHeight,
23
+ children,
24
+ filterAutoCompleteOptions,
25
+ onAutoCompleteSelect
26
+ }: AutoCompletePopoverProps) => {
27
+ if (!autoCompleteOptions?.length) return children
28
+
29
+ return (
30
+ <Popover options={options} placement="bottom-start">
31
+ <Popover.Trigger as={InputContainer} className={cs('vui-input-popoverTrigger')}>
32
+ {children}
33
+ </Popover.Trigger>
34
+ {!!autoCompleteOptions && (
35
+ <Popover.Content>
36
+ <List maxH={autoCompleteMaxHeight}>
37
+ {autoCompleteOptions?.filter?.(filterAutoCompleteOptions).map((i: string) => (
38
+ <List.Item cursor="pointer" hoverBg="skyBlue.hover" key={i} onClick={() => onAutoCompleteSelect(i)}>
39
+ {i}
40
+ </List.Item>
41
+ ))}
42
+ </List>
43
+ </Popover.Content>
44
+ )}
45
+ </Popover>
46
+ )
47
+ }
48
+
49
+ export default React.memo(AutoCompletePopover)
@@ -8,7 +8,7 @@ import { inputColors } from './consts'
8
8
  import { useInputContext } from './context'
9
9
  import { HelpTextProps } from './input.types'
10
10
 
11
- /** Displaying help text bellow an input.. */
11
+ /** Displaying help text bellow the input. */
12
12
  export const HelpText = vui<'div', HelpTextProps>((props, ref) => {
13
13
  const { className, children, isError, ...rest } = props
14
14
  const inputProps = useInputContext()
@@ -1,10 +1,9 @@
1
1
  import React, { useEffect, useMemo, useState } from 'react'
2
2
 
3
3
  import { styled, useStyleConfig, vui, VuiComponent } from '../core'
4
- import { List } from '../list'
5
- import { Popover } from '../popover'
6
4
  import { T } from '../t'
7
5
  import { ChangeEvent, cs, filterUndefined, isString } from '../utils'
6
+ import AutoCompletePopover from './autoCompletePopover'
8
7
  import { inputColors, inputStateMapping } from './consts'
9
8
  import { InputProvider } from './context'
10
9
  import { getInitialCount } from './helpers'
@@ -13,10 +12,6 @@ import { InputProps } from './input.types'
13
12
  import InputIcon from './inputIcon'
14
13
  import InputInput from './inputInput'
15
14
 
16
- export const InputContainer = styled.divBox`
17
- width: 100%;
18
- `
19
-
20
15
  export const InputBase = styled.divBox`
21
16
  align-items: center;
22
17
  background-color: white;
@@ -118,67 +113,59 @@ export const Input = vui<'div', InputProps>((props, ref) => {
118
113
 
119
114
  return (
120
115
  <InputProvider value={context}>
121
- <Popover placement="bottom-start">
122
- <Popover.Trigger as={InputContainer}>
123
- <InputBase className={cs('vui-input', className)} ref={ref} {...styles.container} {...aliasedProps} {...rest}>
124
- {itemLeft}
125
- {isString(iconLeft) ? <InputIcon ml={1} name={iconLeft} /> : iconLeft}
126
- {children ?? input ?? (
127
- <InputInput
128
- ref={inputRef}
129
- {...{
130
- autoFocus,
131
- defaultValue,
132
- disabled,
133
- id,
134
- max,
135
- maxLength,
136
- min,
137
- name,
138
- onBlur,
139
- onChange,
140
- onFocus,
141
- pattern,
142
- placeholder,
143
- readOnly,
144
- required,
145
- step,
146
- type
147
- }}
148
- autoComplete={autoCompleteOptions?.length ? 'off' : autoComplete}
149
- value={valueInternal}
150
- {...inputProps}
151
- />
152
- )}
153
- {isString(iconRight) ? <InputIcon mr={1} name={iconRight} /> : iconRight}
154
- {itemRight}
155
- {state && <InputIcon mr={1} {...states[state]?.iconProps} />}
156
- {showCount && (
157
- <T
158
- className="vui-inputCount"
159
- color={maxLength && count > maxLength ? inputColors.error : inputColors.helpText}
160
- position="absolute"
161
- right={0}
162
- size="sm"
163
- top="calc(100% + 1px)"
164
- >
165
- {count} {maxLength ? `/ ${maxLength}` : null}
166
- </T>
167
- )}
168
- </InputBase>
169
- </Popover.Trigger>
170
- {!!autoCompleteOptions && (
171
- <Popover.Content>
172
- <List maxH={autoCompleteMaxHeight}>
173
- {autoCompleteOptions?.filter?.(filterAutoCompleteOptions).map((i: string) => (
174
- <List.Item cursor="pointer" hoverBg="skyBlue.hover" key={i} onClick={() => onAutoCompleteSelect(i)}>
175
- {i}
176
- </List.Item>
177
- ))}
178
- </List>
179
- </Popover.Content>
180
- )}
181
- </Popover>
116
+ <AutoCompletePopover
117
+ autoCompleteMaxHeight={autoCompleteMaxHeight}
118
+ autoCompleteOptions={autoCompleteOptions}
119
+ filterAutoCompleteOptions={filterAutoCompleteOptions}
120
+ onAutoCompleteSelect={onAutoCompleteSelect}
121
+ >
122
+ <InputBase className={cs('vui-input', className)} ref={ref} {...styles.container} {...aliasedProps} {...rest}>
123
+ {itemLeft}
124
+ {isString(iconLeft) ? <InputIcon ml={1} name={iconLeft} /> : iconLeft}
125
+ {children ?? input ?? (
126
+ <InputInput
127
+ ref={inputRef}
128
+ {...{
129
+ autoFocus,
130
+ defaultValue,
131
+ disabled,
132
+ id,
133
+ max,
134
+ maxLength,
135
+ min,
136
+ name,
137
+ onBlur,
138
+ onChange,
139
+ onFocus,
140
+ pattern,
141
+ placeholder,
142
+ readOnly,
143
+ required,
144
+ step,
145
+ type
146
+ }}
147
+ autoComplete={autoCompleteOptions?.length ? 'off' : autoComplete}
148
+ value={valueInternal}
149
+ {...inputProps}
150
+ />
151
+ )}
152
+ {isString(iconRight) ? <InputIcon mr={1} name={iconRight} /> : iconRight}
153
+ {itemRight}
154
+ {state && <InputIcon mr={1} {...states[state]?.iconProps} />}
155
+ {showCount && (
156
+ <T
157
+ className="vui-inputCount"
158
+ color={maxLength && count > maxLength ? inputColors.error : inputColors.helpText}
159
+ position="absolute"
160
+ right={0}
161
+ size="sm"
162
+ top="calc(100% + 1px)"
163
+ >
164
+ {count} {maxLength ? `/ ${maxLength}` : null}
165
+ </T>
166
+ )}
167
+ </InputBase>
168
+ </AutoCompletePopover>
182
169
  {!!helpText && <HelpText>{helpText}</HelpText>}
183
170
  {!!errorText && <HelpText isError>{errorText}</HelpText>}
184
171
  </InputProvider>
@@ -80,6 +80,18 @@ export type InputProps = SystemProps &
80
80
  value?: number | string
81
81
  }
82
82
 
83
+ export type AutoCompletePopoverProps = {
84
+ /** List of autocomplete options. */
85
+ autoCompleteOptions?: string[]
86
+ /** Maximum autoComplete container height in px. */
87
+ autoCompleteMaxHeight?: number
88
+ /** The input children. */
89
+ children: JSX.Element
90
+ /** Filter helper function. */
91
+ filterAutoCompleteOptions: (value: string, index: number, array: string[]) => boolean
92
+ onAutoCompleteSelect: (value: string) => void
93
+ }
94
+
83
95
  export type HelpTextProps = PProps & {
84
96
  isError?: boolean
85
97
  }
@@ -16,6 +16,8 @@ export type ListProps = SystemProps &
16
16
  isInteractive?: boolean
17
17
  /** Socket displaying a list of items. */
18
18
  items?: PropsOf<'li', ListItemProps>[] | JSX.Element
19
+ /** Socket for the variant. The 'blue' variant is internal, used in the header. */
20
+ variant?: 'default' | 'ordered' | 'unordered' | 'blue'
19
21
  }
20
22
 
21
23
  export type ListItemLinkProps = PropsOf<'a', LinkProps> | object
package/src/list/theme.ts CHANGED
@@ -83,7 +83,27 @@ const sizes = {
83
83
 
84
84
  const variants = {
85
85
  default: {},
86
- // variant *blue* was introduced for the *header* component
86
+ ordered: {
87
+ container: {
88
+ as: 'ol',
89
+ listStyleType: 'decimal',
90
+ pl: 3
91
+ },
92
+ item: {
93
+ display: 'list-item'
94
+ }
95
+ },
96
+ unordered: {
97
+ container: {
98
+ as: 'ul',
99
+ listStyleType: 'disc',
100
+ pl: 3
101
+ },
102
+ item: {
103
+ display: 'list-item'
104
+ }
105
+ },
106
+ // internal; variant *blue* was introduced for the *header* component
87
107
  blue: {
88
108
  heading: {
89
109
  color: 'darkBlue.main'
@@ -12,10 +12,9 @@ import usePopover from './usePopover'
12
12
  * By default, renders provided content only when popover is opened (lazy).
13
13
  */
14
14
  export default function Popover(props: PopoverProps) {
15
- const { children, isLazy = true, ...rest } = props
16
- const popoverProps = usePopover(rest)
15
+ const { children, isLazy = true, options, ...rest } = props
16
+ const popoverProps = usePopover({ options, ...rest })
17
17
  const { close, isOpen, open } = popoverProps
18
-
19
18
  const context = filterUndefined({ isLazy, ...popoverProps })
20
19
 
21
20
  return <PopoverProvider value={context}>{runIfFn(children, { close, isOpen, open })}</PopoverProvider>
@@ -1,3 +1,5 @@
1
+ import { TippyProps } from '@tippyjs/react'
2
+
1
3
  import { BoxProps } from '../box'
2
4
  import { SystemProps } from '../system'
3
5
  import { RenderProps } from '../utils'
@@ -11,6 +13,8 @@ export type PopoverProps = UsePopoverProps & {
11
13
  children?: PopoverRenderProps
12
14
  /** Mounts provided content only when popover is opened for performance. @default true */
13
15
  isLazy?: boolean
16
+ /** Object with any Tippy props. */
17
+ options?: Partial<TippyProps>
14
18
  }
15
19
 
16
20
  export type PopoverRenderProps = RenderProps<{
@@ -40,6 +40,7 @@ export default function usePopover(props: UsePopoverProps = {}) {
40
40
 
41
41
  const tippyOptions: Partial<TippyProps> = useMemo(() => {
42
42
  const {
43
+ aria,
43
44
  offset: optionsOffset,
44
45
  onHidden,
45
46
  onHide,
@@ -50,6 +51,7 @@ export default function usePopover(props: UsePopoverProps = {}) {
50
51
  } = options ?? {}
51
52
 
52
53
  return {
54
+ aria,
53
55
  arrow: false,
54
56
  duration: [200, 150],
55
57
  hideOnClick: !isControlled ? closeOnBlur : false,
@@ -50,6 +50,7 @@ export const ProgressCircular = vui<'div', ProgressCircularProps>((props, ref) =
50
50
  aria-valuemin={0}
51
51
  aria-valuenow={progress}
52
52
  height={styles.width}
53
+ role="meter"
53
54
  version="1.1"
54
55
  viewBox="0 0 100 100"
55
56
  width={styles.width}