@autoguru/overdrive 4.10.2 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/components/Actions/Actions.js +21 -4
  2. package/dist/components/Actions/index.js +3 -1
  3. package/dist/components/Alert/Alert.css.js +28 -20
  4. package/dist/components/Alert/Alert.js +84 -26
  5. package/dist/components/Alert/index.js +3 -1
  6. package/dist/components/Anchor/Anchor.css.js +11 -3
  7. package/dist/components/Anchor/Anchor.js +53 -28
  8. package/dist/components/Anchor/index.js +3 -1
  9. package/dist/components/AutoSuggest/AutoSuggest.css.js +84 -76
  10. package/dist/components/AutoSuggest/AutoSuggest.js +621 -302
  11. package/dist/components/AutoSuggest/index.js +3 -1
  12. package/dist/components/AutoSuggest/useLayoutSuggestionVisible.js +29 -31
  13. package/dist/components/Badge/Badge.css.js +79 -71
  14. package/dist/components/Badge/Badge.js +44 -27
  15. package/dist/components/Badge/index.js +3 -1
  16. package/dist/components/Box/Box.js +122 -53
  17. package/dist/components/Box/argTypes.js +72 -105
  18. package/dist/components/Box/index.js +4 -2
  19. package/dist/components/Box/useBoxStyles.css.d.ts.map +1 -1
  20. package/dist/components/Box/useBoxStyles.css.js +114 -96
  21. package/dist/components/Box/useBoxStyles.js +75 -47
  22. package/dist/components/BulletList/Bullet.css.js +49 -41
  23. package/dist/components/BulletList/Bullet.js +38 -24
  24. package/dist/components/BulletList/BulletList.css.js +13 -5
  25. package/dist/components/BulletList/BulletList.js +23 -10
  26. package/dist/components/BulletList/context.js +3 -1
  27. package/dist/components/BulletList/index.js +4 -2
  28. package/dist/components/BulletText/BulletText.css.js +21 -13
  29. package/dist/components/BulletText/BulletText.js +57 -16
  30. package/dist/components/BulletText/index.js +3 -1
  31. package/dist/components/Button/Button.css.js +243 -235
  32. package/dist/components/Button/Button.js +154 -91
  33. package/dist/components/Button/index.js +3 -1
  34. package/dist/components/CheckBox/CheckBox.css.js +28 -20
  35. package/dist/components/CheckBox/CheckBox.js +54 -16
  36. package/dist/components/CheckBox/index.js +3 -1
  37. package/dist/components/ColourInput/ColourInput.css.js +31 -23
  38. package/dist/components/ColourInput/ColourInput.js +70 -20
  39. package/dist/components/ColourInput/index.js +3 -1
  40. package/dist/components/Columns/Column.css.js +36 -26
  41. package/dist/components/Columns/Column.js +51 -16
  42. package/dist/components/Columns/Columns.css.js +39 -31
  43. package/dist/components/Columns/Columns.js +55 -22
  44. package/dist/components/Columns/index.js +4 -2
  45. package/dist/components/DateInput/DateInput.js +34 -7
  46. package/dist/components/DateInput/index.js +3 -1
  47. package/dist/components/DatePicker/DatePicker.css.js +40 -32
  48. package/dist/components/DatePicker/DatePicker.js +64 -23
  49. package/dist/components/DatePicker/index.js +3 -1
  50. package/dist/components/DividerLine/DividerLine.css.js +45 -37
  51. package/dist/components/DividerLine/DividerLine.js +22 -6
  52. package/dist/components/DividerLine/index.js +3 -1
  53. package/dist/components/Flyout/Flyout.js +41 -5
  54. package/dist/components/Flyout/index.js +3 -1
  55. package/dist/components/Heading/Heading.js +41 -21
  56. package/dist/components/Heading/index.js +3 -1
  57. package/dist/components/Icon/Icon.css.js +13 -5
  58. package/dist/components/Icon/Icon.js +26 -9
  59. package/dist/components/Icon/index.js +3 -1
  60. package/dist/components/Image/Image.js +23 -5
  61. package/dist/components/Image/ImageServerProvider.d.ts +1 -1
  62. package/dist/components/Image/ImageServerProvider.d.ts.map +1 -1
  63. package/dist/components/Image/ImageServerProvider.js +55 -35
  64. package/dist/components/Image/ResponsiveImage.js +46 -21
  65. package/dist/components/Image/SimpleImage.js +30 -2
  66. package/dist/components/Image/index.js +4 -2
  67. package/dist/components/Image/types.js +3 -1
  68. package/dist/components/Inline/Inline.js +74 -30
  69. package/dist/components/Inline/index.js +3 -1
  70. package/dist/components/LinearProgressIndicator/LinearProgressIndicator.css.js +56 -48
  71. package/dist/components/LinearProgressIndicator/LinearProgressIndicator.js +31 -7
  72. package/dist/components/LinearProgressIndicator/index.js +3 -1
  73. package/dist/components/LoadingBox/LoadingBox.css.js +26 -18
  74. package/dist/components/LoadingBox/LoadingBox.js +40 -7
  75. package/dist/components/LoadingBox/index.js +3 -1
  76. package/dist/components/Meta/Meta.css.js +16 -8
  77. package/dist/components/Meta/Meta.js +30 -8
  78. package/dist/components/Meta/index.js +3 -1
  79. package/dist/components/MinimalModal/MinimalModal.css.js +15 -7
  80. package/dist/components/MinimalModal/MinimalModal.js +67 -29
  81. package/dist/components/MinimalModal/index.js +3 -1
  82. package/dist/components/Modal/Modal.css.js +38 -30
  83. package/dist/components/Modal/Modal.js +129 -73
  84. package/dist/components/Modal/index.js +3 -1
  85. package/dist/components/NumberBubble/NumberBubble.css.js +12 -4
  86. package/dist/components/NumberBubble/NumberBubble.js +51 -23
  87. package/dist/components/NumberBubble/index.js +3 -1
  88. package/dist/components/NumberInput/NumberInput.js +67 -29
  89. package/dist/components/NumberInput/index.js +3 -1
  90. package/dist/components/OrderedList/OrderedList.css.js +16 -8
  91. package/dist/components/OrderedList/OrderedList.js +60 -26
  92. package/dist/components/OrderedList/index.js +3 -1
  93. package/dist/components/OutsideClick/OutsideClick.js +40 -35
  94. package/dist/components/OutsideClick/index.js +3 -1
  95. package/dist/components/OverdriveProvider/OverdriveProvider.js +33 -19
  96. package/dist/components/OverdriveProvider/index.js +3 -1
  97. package/dist/components/Pagination/Bubble.js +41 -19
  98. package/dist/components/Pagination/Pagination.css.js +28 -20
  99. package/dist/components/Pagination/Pagination.js +166 -67
  100. package/dist/components/Pagination/index.js +3 -1
  101. package/dist/components/Portal/Portal.js +40 -24
  102. package/dist/components/Portal/index.js +3 -1
  103. package/dist/components/Positioner/Positioner.css.js +14 -6
  104. package/dist/components/Positioner/Positioner.js +109 -85
  105. package/dist/components/Positioner/alignment.js +13 -10
  106. package/dist/components/Positioner/index.js +4 -2
  107. package/dist/components/ProgressBar/ProgressBar.css.js +14 -6
  108. package/dist/components/ProgressBar/ProgressBar.js +30 -12
  109. package/dist/components/ProgressBar/index.js +3 -1
  110. package/dist/components/ProgressBarGroup/ProgressBarGroup.css.js +12 -4
  111. package/dist/components/ProgressBarGroup/ProgressBarGroup.js +42 -14
  112. package/dist/components/ProgressBarGroup/index.js +3 -1
  113. package/dist/components/ProgressSpinner/ProgressSpinner.css.js +81 -73
  114. package/dist/components/ProgressSpinner/ProgressSpinner.js +32 -14
  115. package/dist/components/ProgressSpinner/index.js +3 -1
  116. package/dist/components/Radio/Radio.css.js +31 -23
  117. package/dist/components/Radio/Radio.js +58 -19
  118. package/dist/components/Radio/RadioGroup.js +32 -7
  119. package/dist/components/Radio/index.js +4 -2
  120. package/dist/components/Section/Section.css.js +13 -5
  121. package/dist/components/Section/Section.js +19 -4
  122. package/dist/components/Section/index.js +3 -1
  123. package/dist/components/SelectInput/SelectInput.css.js +19 -11
  124. package/dist/components/SelectInput/SelectInput.js +60 -11
  125. package/dist/components/SelectInput/index.js +3 -1
  126. package/dist/components/SimplePagination/SimplePagination.js +57 -17
  127. package/dist/components/SimplePagination/index.js +3 -1
  128. package/dist/components/Stack/Divider.css.js +12 -4
  129. package/dist/components/Stack/Divider.js +13 -4
  130. package/dist/components/Stack/Stack.css.js +18 -10
  131. package/dist/components/Stack/Stack.js +47 -23
  132. package/dist/components/Stack/index.js +3 -1
  133. package/dist/components/StandardModal/StandardModal.css.js +69 -57
  134. package/dist/components/StandardModal/StandardModal.js +127 -52
  135. package/dist/components/StandardModal/index.js +3 -1
  136. package/dist/components/StarRating/StarRating.css.js +16 -8
  137. package/dist/components/StarRating/StarRating.js +90 -46
  138. package/dist/components/StarRating/index.js +3 -1
  139. package/dist/components/Stepper/Stepper.css.js +46 -36
  140. package/dist/components/Stepper/Stepper.js +159 -66
  141. package/dist/components/Stepper/index.js +3 -1
  142. package/dist/components/Switch/Switch.css.js +54 -46
  143. package/dist/components/Switch/Switch.js +54 -21
  144. package/dist/components/Switch/index.js +3 -1
  145. package/dist/components/Table/Table.css.js +14 -6
  146. package/dist/components/Table/Table.js +29 -6
  147. package/dist/components/Table/TableCell.css.js +28 -20
  148. package/dist/components/Table/TableCell.js +41 -11
  149. package/dist/components/Table/TableHeadCell.css.js +61 -50
  150. package/dist/components/Table/TableHeadCell.js +86 -40
  151. package/dist/components/Table/TableRow.js +18 -3
  152. package/dist/components/Table/TableRowGroup.js +16 -3
  153. package/dist/components/Table/context.js +21 -10
  154. package/dist/components/Table/index.js +7 -5
  155. package/dist/components/Tabs/Tab.css.js +43 -35
  156. package/dist/components/Tabs/Tab.js +79 -49
  157. package/dist/components/Tabs/TabList.css.js +30 -22
  158. package/dist/components/Tabs/TabList.js +122 -67
  159. package/dist/components/Tabs/TabPane.css.js +11 -3
  160. package/dist/components/Tabs/TabPane.js +32 -15
  161. package/dist/components/Tabs/TabPanes.css.js +16 -8
  162. package/dist/components/Tabs/TabPanes.js +23 -6
  163. package/dist/components/Tabs/Tabs.js +22 -10
  164. package/dist/components/Tabs/index.js +7 -5
  165. package/dist/components/Text/Text.js +37 -15
  166. package/dist/components/Text/index.js +4 -2
  167. package/dist/components/Text/useTextStyles.css.js +42 -20
  168. package/dist/components/Text/useTextStyles.js +20 -5
  169. package/dist/components/TextAreaInput/TextAreaInput.js +35 -7
  170. package/dist/components/TextAreaInput/index.js +3 -1
  171. package/dist/components/TextBubble/TextBubble.css.js +13 -5
  172. package/dist/components/TextBubble/TextBubble.js +66 -29
  173. package/dist/components/TextBubble/index.js +3 -1
  174. package/dist/components/TextContainer/TextContainer.js +44 -9
  175. package/dist/components/TextContainer/index.js +3 -1
  176. package/dist/components/TextInput/TextInput.js +36 -5
  177. package/dist/components/TextInput/index.js +3 -1
  178. package/dist/components/TextLink/TextLink.css.js +23 -15
  179. package/dist/components/TextLink/TextLink.js +63 -24
  180. package/dist/components/TextLink/index.js +3 -1
  181. package/dist/components/ThemeOverrideProvider/ThemeOverrideDebugger.d.ts +3 -0
  182. package/dist/components/ThemeOverrideProvider/ThemeOverrideDebugger.d.ts.map +1 -0
  183. package/dist/components/ThemeOverrideProvider/ThemeOverrideDebugger.js +80 -0
  184. package/dist/components/ThemeOverrideProvider/ThemeOverrideProvider.d.ts +22 -0
  185. package/dist/components/ThemeOverrideProvider/ThemeOverrideProvider.d.ts.map +1 -0
  186. package/dist/components/ThemeOverrideProvider/ThemeOverrideProvider.js +39 -0
  187. package/dist/components/ThemeOverrideProvider/index.d.ts +3 -0
  188. package/dist/components/ThemeOverrideProvider/index.d.ts.map +1 -0
  189. package/dist/components/ThemeOverrideProvider/index.js +4 -0
  190. package/dist/components/ThemeOverrideProvider/useBuildThemeOverrides.d.ts +17 -0
  191. package/dist/components/ThemeOverrideProvider/useBuildThemeOverrides.d.ts.map +1 -0
  192. package/dist/components/ThemeOverrideProvider/useBuildThemeOverrides.js +97 -0
  193. package/dist/components/ThemeProvider/ThemeProvider.js +30 -11
  194. package/dist/components/ThemeProvider/index.js +3 -1
  195. package/dist/components/Toaster/Toast.css.js +18 -10
  196. package/dist/components/Toaster/Toast.js +222 -108
  197. package/dist/components/Toaster/index.js +3 -1
  198. package/dist/components/Tooltip/Tooltip.css.js +21 -9
  199. package/dist/components/Tooltip/Tooltip.js +72 -40
  200. package/dist/components/Tooltip/index.js +3 -1
  201. package/dist/components/VisuallyHidden/VisuallyHidden.css.js +13 -5
  202. package/dist/components/VisuallyHidden/VisuallyHidden.js +20 -4
  203. package/dist/components/VisuallyHidden/index.js +3 -1
  204. package/dist/components/index.d.ts +1 -0
  205. package/dist/components/index.d.ts.map +1 -1
  206. package/dist/components/index.js +59 -56
  207. package/dist/components/private/CheckableBase/CheckableBase.css.js +46 -38
  208. package/dist/components/private/CheckableBase/CheckableBase.js +91 -27
  209. package/dist/components/private/CheckableBase/index.js +3 -1
  210. package/dist/components/private/CheckableBase/useCheckableStyles.js +5 -3
  211. package/dist/components/private/InputBase/HintText.css.js +11 -3
  212. package/dist/components/private/InputBase/HintText.js +28 -14
  213. package/dist/components/private/InputBase/InputState.css.js +96 -80
  214. package/dist/components/private/InputBase/NotchedBase.css.js +157 -162
  215. package/dist/components/private/InputBase/NotchedBase.js +116 -76
  216. package/dist/components/private/InputBase/index.js +3 -1
  217. package/dist/components/private/InputBase/withEnhancedInput.css.js +117 -109
  218. package/dist/components/private/InputBase/withEnhancedInput.js +190 -92
  219. package/dist/hooks/useAttachedBoxes/index.js +3 -1
  220. package/dist/hooks/useAttachedBoxes/useAttachedBoxes.css.js +26 -18
  221. package/dist/hooks/useAttachedBoxes/useAttachedBoxes.js +71 -46
  222. package/dist/hooks/useMedia/index.js +3 -1
  223. package/dist/hooks/useMedia/useMedia.js +44 -34
  224. package/dist/hooks/useNegativeMargin/useNegativeMargin.js +4 -2
  225. package/dist/hooks/useNegativeMargin/useNegativeMarginLeft.css.js +13 -5
  226. package/dist/hooks/useNegativeMargin/useNegativeMarginLeft.js +6 -4
  227. package/dist/hooks/useNegativeMargin/useNegativeMarginTop.css.js +12 -4
  228. package/dist/hooks/useNegativeMargin/useNegativeMarginTop.js +6 -4
  229. package/dist/hooks/useResponsiveValue/index.js +3 -1
  230. package/dist/hooks/useResponsiveValue/useResponsiveValue.js +14 -14
  231. package/dist/hooks/useWindowScrollLock/index.js +15 -13
  232. package/dist/index.js +7 -5
  233. package/dist/reset/globalFonts.css.js +20 -12
  234. package/dist/reset/globalReset.css.js +21 -13
  235. package/dist/reset/reset.css.js +105 -109
  236. package/dist/themes/base/index.d.ts +1 -0
  237. package/dist/themes/base/index.d.ts.map +1 -1
  238. package/dist/themes/base/index.js +10 -6
  239. package/dist/themes/base/tokens.js +264 -257
  240. package/dist/themes/base/vars.css.js +10 -2
  241. package/dist/themes/flat_red/index.d.ts +1 -0
  242. package/dist/themes/flat_red/index.d.ts.map +1 -1
  243. package/dist/themes/flat_red/index.js +10 -6
  244. package/dist/themes/flat_red/tokens.js +104 -98
  245. package/dist/themes/flat_red/vars.css.js +10 -2
  246. package/dist/themes/helpers.js +60 -51
  247. package/dist/themes/index.js +4 -2
  248. package/dist/themes/makeTheme.js +27 -16
  249. package/dist/themes/theme.css.js +271 -259
  250. package/dist/themes/tokens.js +3 -1
  251. package/dist/utils/index.js +93 -77
  252. package/dist/utils/mapTokenToProperty.js +22 -10
  253. package/dist/utils/number.js +21 -24
  254. package/dist/utils/resolveResponsiveProps.js +29 -31
  255. package/dist/utils/responsiveProps.css.js +29 -17
  256. package/dist/utils/responsiveStyle.js +26 -16
  257. package/package.json +4 -2
@@ -1,83 +1,123 @@
1
+ "use strict";
2
+
1
3
  import clsx from 'clsx';
2
4
  import * as React from 'react';
3
- import { useEffect, useRef, useState, } from 'react';
4
- import { Box } from '../../Box';
5
- import { useTextStyles } from '../../Text';
6
- import * as styles from './NotchedBase.css';
5
+ import { useEffect, useRef, useState } from 'react';
6
+ import { Box } from "../../Box/index.js";
7
+ import { useTextStyles } from "../../Text/index.js";
8
+ import * as styles from "./NotchedBase.css.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
11
  const ACTIVE_SCALING_FACTOR = 0.7777;
8
12
  const ACTIVE_PADDING_ADDED = 16;
9
13
  const ROUGH_WIDTH_PER_CHARACTER = 10.2;
10
- export const NotchedBase = ({ id, placeholder, isEmpty, disabled, prefixed, size, children, notch = true, borderColourClassName, placeholderColourClassName, className = '', attach = 'NONE', borderMerged = 'NONE', isFocused = false, isHovered = false, }) => {
11
- const labelStyles = useTextStyles({
12
- noWrap: true,
13
- size: '4',
14
- });
15
- const labelRef = useRef(null);
16
- const [labelWidth, setLabelWidth] = useState(getNotchedComputedWidthForWidth(placeholder.length * ROUGH_WIDTH_PER_CHARACTER));
17
- const shouldMerge = !isFocused && !isHovered;
18
- useEffect(() => {
19
- if (labelRef.current) {
20
- setLabelWidth(labelRef.current.offsetWidth);
21
- }
22
- }, [placeholder]);
23
- const notchedWidth = getNotchedComputedWidthForWidth(labelWidth);
24
- return (React.createElement(Box, { position: "relative", width: "full", padding: "none", className: clsx(styles.root, !notch && [styles.borders.complete, borderColourClassName], className, {
25
- [styles.bordersMerged.complete.NONE]: !notch &&
26
- shouldMerge &&
27
- (!borderMerged || borderMerged === 'NONE'),
28
- [styles.bordersMerged.complete.LEFT]: !notch && shouldMerge && borderMerged === 'LEFT',
29
- [styles.bordersMerged.complete.TOP]: !notch && shouldMerge && borderMerged === 'TOP',
30
- [styles.bordersMerged.complete.RIGHT]: !notch && shouldMerge && borderMerged === 'RIGHT',
31
- [styles.bordersMerged.complete.BOTTOM]: !notch && shouldMerge && borderMerged === 'BOTTOM',
32
- [styles.bordersMerged.complete.ALL]: !notch && shouldMerge && borderMerged === 'ALL',
33
- [styles.bordersAttach.complete.NONE]: !notch && attach === 'NONE',
34
- [styles.bordersAttach.complete.LEFT]: !notch && attach === 'LEFT',
35
- [styles.bordersAttach.complete.RIGHT]: !notch && attach === 'RIGHT',
36
- [styles.bordersAttach.complete.TOP]: !notch && attach === 'TOP',
37
- [styles.bordersAttach.complete.BOTTOM]: !notch && attach === 'BOTTOM',
38
- [styles.bordersAttach.complete.ALL]: !notch && attach === 'ALL',
39
- }) },
40
- children,
41
- notch && (React.createElement(Box, { className: clsx(styles.borders.root.default, {
42
- [styles.borders.root.disabled]: disabled,
43
- }), pointerEvents: "none", position: "absolute", display: "flex", width: "full", height: "full", textAlign: "left" },
44
- React.createElement("div", { className: clsx(styles.borders.leading, borderColourClassName, {
45
- [styles.bordersMerged.complete.LEFT]: shouldMerge && borderMerged === 'LEFT',
46
- [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
47
- [styles.bordersMerged.complete.BOTTOM]: shouldMerge && borderMerged === 'BOTTOM',
48
- [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
49
- [styles.bordersAttach.flatCorners.TOP_LEFT]: attach === 'LEFT' ||
50
- attach === 'TOP' ||
51
- attach === 'ALL',
52
- [styles.bordersAttach.flatCorners.BOTTOM_LEFT]: attach === 'LEFT' ||
53
- attach === 'BOTTOM' ||
54
- attach === 'ALL',
55
- }) }),
56
- React.createElement("div", { className: clsx(styles.borders.middle, borderColourClassName), style: { width: isEmpty ? 0 : notchedWidth } },
57
- React.createElement(Box, { ref: labelRef, is: "label", pointerEvents: "none", htmlFor: id, position: "absolute", display: "inline", margin: "none", padding: "none", className: clsx(styles.placeholder.default, placeholderColourClassName, labelStyles, {
58
- [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
59
- [styles.bordersMerged.complete.BOTTOM]: shouldMerge &&
60
- borderMerged === 'BOTTOM',
61
- [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
62
- [styles.placeholder.mutedLabelStyles]: isEmpty || disabled,
63
- [styles.placeholderPlacement[size].default]: isEmpty && !prefixed,
64
- [styles.placeholderPlacement[size]
65
- .defaultPrefixed]: isEmpty && prefixed,
66
- [styles.placeholderPlacement[size].shifted]: !isEmpty,
67
- }) }, placeholder)),
68
- React.createElement("div", { className: clsx(styles.borders.trailing, borderColourClassName, borderColourClassName, {
69
- [styles.bordersMerged.complete.RIGHT]: shouldMerge && borderMerged === 'RIGHT',
70
- [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
71
- [styles.bordersMerged.complete.BOTTOM]: shouldMerge && borderMerged === 'BOTTOM',
72
- [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
73
- [styles.bordersAttach.flatCorners.TOP_RIGHT]: attach === 'RIGHT' ||
74
- attach === 'TOP' ||
75
- attach === 'ALL',
76
- [styles.bordersAttach.flatCorners.BOTTOM_RIGHT]: attach === 'RIGHT' ||
77
- attach === 'BOTTOM' ||
78
- attach === 'ALL',
79
- }) })))));
14
+ export const NotchedBase = _ref => {
15
+ let {
16
+ id,
17
+ placeholder,
18
+ isEmpty,
19
+ disabled,
20
+ prefixed,
21
+ size,
22
+ children,
23
+ notch = true,
24
+ borderColourClassName,
25
+ placeholderColourClassName,
26
+ className = '',
27
+ attach = 'NONE',
28
+ borderMerged = 'NONE',
29
+ isFocused = false,
30
+ isHovered = false
31
+ } = _ref;
32
+ const labelStyles = useTextStyles({
33
+ noWrap: true,
34
+ size: '4'
35
+ });
36
+ const labelRef = useRef(null);
37
+ const [labelWidth, setLabelWidth] = useState(getNotchedComputedWidthForWidth(placeholder.length * ROUGH_WIDTH_PER_CHARACTER));
38
+ const shouldMerge = !isFocused && !isHovered;
39
+ useEffect(() => {
40
+ if (labelRef.current) {
41
+ setLabelWidth(labelRef.current.offsetWidth);
42
+ }
43
+ }, [placeholder]);
44
+ const notchedWidth = getNotchedComputedWidthForWidth(labelWidth);
45
+ return _jsxs(Box, {
46
+ position: "relative",
47
+ width: "full",
48
+ padding: "none",
49
+ className: clsx(styles.root, !notch && [styles.borders.complete, borderColourClassName], className, {
50
+ [styles.bordersMerged.complete.NONE]: !notch && shouldMerge && (!borderMerged || borderMerged === 'NONE'),
51
+ [styles.bordersMerged.complete.LEFT]: !notch && shouldMerge && borderMerged === 'LEFT',
52
+ [styles.bordersMerged.complete.TOP]: !notch && shouldMerge && borderMerged === 'TOP',
53
+ [styles.bordersMerged.complete.RIGHT]: !notch && shouldMerge && borderMerged === 'RIGHT',
54
+ [styles.bordersMerged.complete.BOTTOM]: !notch && shouldMerge && borderMerged === 'BOTTOM',
55
+ [styles.bordersMerged.complete.ALL]: !notch && shouldMerge && borderMerged === 'ALL',
56
+ [styles.bordersAttach.complete.NONE]: !notch && attach === 'NONE',
57
+ [styles.bordersAttach.complete.LEFT]: !notch && attach === 'LEFT',
58
+ [styles.bordersAttach.complete.RIGHT]: !notch && attach === 'RIGHT',
59
+ [styles.bordersAttach.complete.TOP]: !notch && attach === 'TOP',
60
+ [styles.bordersAttach.complete.BOTTOM]: !notch && attach === 'BOTTOM',
61
+ [styles.bordersAttach.complete.ALL]: !notch && attach === 'ALL'
62
+ }),
63
+ children: [children, notch && _jsxs(Box, {
64
+ className: clsx(styles.borders.root.default, {
65
+ [styles.borders.root.disabled]: disabled
66
+ }),
67
+ pointerEvents: "none",
68
+ position: "absolute",
69
+ display: "flex",
70
+ width: "full",
71
+ height: "full",
72
+ textAlign: "left",
73
+ children: [_jsx("div", {
74
+ className: clsx(styles.borders.leading, borderColourClassName, {
75
+ [styles.bordersMerged.complete.LEFT]: shouldMerge && borderMerged === 'LEFT',
76
+ [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
77
+ [styles.bordersMerged.complete.BOTTOM]: shouldMerge && borderMerged === 'BOTTOM',
78
+ [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
79
+ [styles.bordersAttach.flatCorners.TOP_LEFT]: attach === 'LEFT' || attach === 'TOP' || attach === 'ALL',
80
+ [styles.bordersAttach.flatCorners.BOTTOM_LEFT]: attach === 'LEFT' || attach === 'BOTTOM' || attach === 'ALL'
81
+ })
82
+ }), _jsx("div", {
83
+ className: clsx(styles.borders.middle, borderColourClassName),
84
+ style: {
85
+ width: isEmpty ? 0 : notchedWidth
86
+ },
87
+ children: _jsx(Box, {
88
+ ref: labelRef,
89
+ is: "label",
90
+ pointerEvents: "none",
91
+ htmlFor: id,
92
+ position: "absolute",
93
+ display: "inline",
94
+ margin: "none",
95
+ padding: "none",
96
+ className: clsx(styles.placeholder.default, placeholderColourClassName, labelStyles, {
97
+ [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
98
+ [styles.bordersMerged.complete.BOTTOM]: shouldMerge && borderMerged === 'BOTTOM',
99
+ [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
100
+ [styles.placeholder.mutedLabelStyles]: isEmpty || disabled,
101
+ [styles.placeholderPlacement[size].default]: isEmpty && !prefixed,
102
+ [styles.placeholderPlacement[size].defaultPrefixed]: isEmpty && prefixed,
103
+ [styles.placeholderPlacement[size].shifted]: !isEmpty
104
+ }),
105
+ children: placeholder
106
+ })
107
+ }), _jsx("div", {
108
+ className: clsx(styles.borders.trailing, borderColourClassName, borderColourClassName, {
109
+ [styles.bordersMerged.complete.RIGHT]: shouldMerge && borderMerged === 'RIGHT',
110
+ [styles.bordersMerged.complete.TOP]: shouldMerge && borderMerged === 'TOP',
111
+ [styles.bordersMerged.complete.BOTTOM]: shouldMerge && borderMerged === 'BOTTOM',
112
+ [styles.bordersMerged.complete.ALL]: shouldMerge && borderMerged === 'ALL',
113
+ [styles.bordersAttach.flatCorners.TOP_RIGHT]: attach === 'RIGHT' || attach === 'TOP' || attach === 'ALL',
114
+ [styles.bordersAttach.flatCorners.BOTTOM_RIGHT]: attach === 'RIGHT' || attach === 'BOTTOM' || attach === 'ALL'
115
+ })
116
+ })]
117
+ })]
118
+ });
80
119
  };
120
+
81
121
  function getNotchedComputedWidthForWidth(width) {
82
- return (Math.round((width * ACTIVE_SCALING_FACTOR + ACTIVE_PADDING_ADDED) * 100) / 100);
83
- }
122
+ return Math.round((width * ACTIVE_SCALING_FACTOR + ACTIVE_PADDING_ADDED) * 100) / 100;
123
+ }
@@ -1 +1,3 @@
1
- export { withEnhancedInput } from './withEnhancedInput';
1
+ "use strict";
2
+
3
+ export { withEnhancedInput } from "./withEnhancedInput.js";
@@ -1,123 +1,131 @@
1
+ "use strict";
2
+
3
+ import * as __vanilla_filescope__ from '@vanilla-extract/css/fileScope';
4
+
5
+ __vanilla_filescope__.setFileScope("lib/components/private/InputBase/withEnhancedInput.css.ts", "@autoguru/overdrive");
6
+
1
7
  import { style, styleVariants } from '@vanilla-extract/css';
2
- import { themeContractVars as vars } from '../../../themes/theme.css';
8
+ import { themeContractVars as vars } from "../../../themes/theme.css.js";
3
9
  export const input = {
4
- itself: styleVariants({
5
- root: {
6
- zIndex: 1,
7
- alignSelf: 'flex-end',
8
- background: 'transparent',
9
- outline: 'none',
10
- selectors: {
11
- '&[disabled]': {
12
- color: vars.typography.colour.muted,
13
- cursor: 'not-allowed',
14
- },
15
- '&::placeholder': {
16
- fontSize: vars.typography.size['4'].fontSize,
17
- lineHeight: vars.typography.size['4'].lineHeight,
18
- color: vars.typography.colour.muted,
19
- opacity: 1,
20
- },
21
- },
10
+ itself: styleVariants({
11
+ root: {
12
+ zIndex: 1,
13
+ alignSelf: 'flex-end',
14
+ background: 'transparent',
15
+ outline: 'none',
16
+ selectors: {
17
+ '&[disabled]': {
18
+ color: vars.typography.colour.muted,
19
+ cursor: 'not-allowed'
22
20
  },
23
- }),
21
+ '&::placeholder': {
22
+ fontSize: vars.typography.size['4'].fontSize,
23
+ lineHeight: vars.typography.size['4'].lineHeight,
24
+ color: vars.typography.colour.muted,
25
+ opacity: 1
26
+ }
27
+ }
28
+ }
29
+ }, "input_itself")
24
30
  };
25
31
  const textAreaHeight = '107px';
26
32
  export const types = styleVariants({
27
- textarea: {
28
- height: textAreaHeight,
29
- minHeight: textAreaHeight,
30
- lineHeight: 1.2,
31
- resize: 'vertical',
32
- },
33
- });
33
+ textarea: {
34
+ height: textAreaHeight,
35
+ minHeight: textAreaHeight,
36
+ lineHeight: 1.2,
37
+ resize: 'vertical'
38
+ }
39
+ }, "types");
34
40
  export const inputWrapperSize = {
35
- small: {
36
- root: styleVariants({
37
- textarea: {
38
- paddingTop: `${vars.space['2']}`,
39
- },
40
- }),
41
- },
42
- medium: {
43
- root: styleVariants({
44
- textarea: {
45
- paddingTop: `${vars.space['2']}`,
46
- },
47
- }),
48
- },
41
+ small: {
42
+ root: styleVariants({
43
+ textarea: {
44
+ paddingTop: "".concat(vars.space['2'])
45
+ }
46
+ }, "inputWrapperSize_small_root")
47
+ },
48
+ medium: {
49
+ root: styleVariants({
50
+ textarea: {
51
+ paddingTop: "".concat(vars.space['2'])
52
+ }
53
+ }, "inputWrapperSize_medium_root")
54
+ }
49
55
  };
50
56
  export const inputItselfSize = {
51
- small: {
52
- root: styleVariants({
53
- any: {
54
- fontSize: vars.typography.size['3'].fontSize,
55
- lineHeight: vars.typography.size['3'].lineHeight,
56
- padding: `${vars.space['2']}`,
57
- minHeight: `calc(${vars.typography.size['3'].lineHeight} + (2* ${vars.space['2']}))`,
58
- },
59
- textarea: {
60
- padding: `0 ${vars.space['2']} ${vars.space['2']}`,
61
- },
62
- }),
63
- prefixed: styleVariants({
64
- any: {
65
- paddingLeft: `calc(${vars.space['2']} + ${vars.space['5']} + ${vars.space['2']})`,
66
- },
67
- textarea: {
68
- paddingLeft: `calc(${vars.space['2']} + ${vars.space['5']} + ${vars.space['2']})`,
69
- },
70
- }),
71
- suffixed: styleVariants({
72
- any: {
73
- paddingRight: `calc(${vars.space['2']} + ${vars.space['5']} + ${vars.space['2']})`,
74
- },
75
- textarea: {
76
- paddingRight: `calc(${vars.space['2']} + ${vars.space['5']} + ${vars.space['2']})`,
77
- },
78
- }),
79
- },
80
- medium: {
81
- root: styleVariants({
82
- any: {
83
- fontSize: vars.typography.size['4'].fontSize,
84
- lineHeight: vars.typography.size['4'].lineHeight,
85
- height: vars.space['8'],
86
- padding: `calc(((${vars.space['8']} - ${vars.typography.size['4'].fontSize}) / 2) - 3px) calc(${vars.space['4']} - 1px)`,
87
- },
88
- textarea: {
89
- padding: `${vars.space['1']} calc(${vars.space['4']} - 1px) calc(((${vars.space['8']} - ${vars.typography.size['4'].fontSize}) / 2) - 3px)`,
90
- },
91
- }),
92
- prefixed: styleVariants({
93
- any: {
94
- paddingLeft: `calc((${vars.space['3']} - 1px) + (${vars.space['4']} - 1px) + ${vars.space[4]})`,
95
- },
96
- }),
97
- suffixed: styleVariants({
98
- any: {
99
- paddingRight: `calc((${vars.space['3']} - 1px) + (${vars.space['4']} - 1px) + ${vars.space[4]})`,
100
- },
101
- }),
102
- },
57
+ small: {
58
+ root: styleVariants({
59
+ any: {
60
+ fontSize: vars.typography.size['3'].fontSize,
61
+ lineHeight: vars.typography.size['3'].lineHeight,
62
+ padding: "".concat(vars.space['2']),
63
+ minHeight: "calc(".concat(vars.typography.size['3'].lineHeight, " + (2* ").concat(vars.space['2'], "))")
64
+ },
65
+ textarea: {
66
+ padding: "0 ".concat(vars.space['2'], " ").concat(vars.space['2'])
67
+ }
68
+ }, "inputItselfSize_small_root"),
69
+ prefixed: styleVariants({
70
+ any: {
71
+ paddingLeft: "calc(".concat(vars.space['2'], " + ").concat(vars.space['5'], " + ").concat(vars.space['2'], ")")
72
+ },
73
+ textarea: {
74
+ paddingLeft: "calc(".concat(vars.space['2'], " + ").concat(vars.space['5'], " + ").concat(vars.space['2'], ")")
75
+ }
76
+ }, "inputItselfSize_small_prefixed"),
77
+ suffixed: styleVariants({
78
+ any: {
79
+ paddingRight: "calc(".concat(vars.space['2'], " + ").concat(vars.space['5'], " + ").concat(vars.space['2'], ")")
80
+ },
81
+ textarea: {
82
+ paddingRight: "calc(".concat(vars.space['2'], " + ").concat(vars.space['5'], " + ").concat(vars.space['2'], ")")
83
+ }
84
+ }, "inputItselfSize_small_suffixed")
85
+ },
86
+ medium: {
87
+ root: styleVariants({
88
+ any: {
89
+ fontSize: vars.typography.size['4'].fontSize,
90
+ lineHeight: vars.typography.size['4'].lineHeight,
91
+ height: vars.space['8'],
92
+ padding: "calc(((".concat(vars.space['8'], " - ").concat(vars.typography.size['4'].fontSize, ") / 2) - 3px) calc(").concat(vars.space['4'], " - 1px)")
93
+ },
94
+ textarea: {
95
+ padding: "".concat(vars.space['1'], " calc(").concat(vars.space['4'], " - 1px) calc(((").concat(vars.space['8'], " - ").concat(vars.typography.size['4'].fontSize, ") / 2) - 3px)")
96
+ }
97
+ }, "inputItselfSize_medium_root"),
98
+ prefixed: styleVariants({
99
+ any: {
100
+ paddingLeft: "calc((".concat(vars.space['3'], " - 1px) + (").concat(vars.space['4'], " - 1px) + ").concat(vars.space[4], ")")
101
+ }
102
+ }, "inputItselfSize_medium_prefixed"),
103
+ suffixed: styleVariants({
104
+ any: {
105
+ paddingRight: "calc((".concat(vars.space['3'], " - 1px) + (").concat(vars.space['4'], " - 1px) + ").concat(vars.space[4], ")")
106
+ }
107
+ }, "inputItselfSize_medium_suffixed")
108
+ }
103
109
  };
104
110
  export const iconRoot = style({
105
- zIndex: 1,
106
- top: '50%',
107
- transform: 'translate3d(0, -50%, 0)',
108
- transition: `color 0.2s ${vars.animation.easing.decelerate} 0s`,
109
- });
111
+ zIndex: 1,
112
+ top: '50%',
113
+ transform: 'translate3d(0, -50%, 0)',
114
+ transition: "color 0.2s ".concat(vars.animation.easing.decelerate, " 0s")
115
+ }, "iconRoot");
110
116
  export const prefixIcon = style({
111
- left: 0,
112
- });
117
+ left: 0
118
+ }, "prefixIcon");
113
119
  export const suffixIcon = style({
114
- right: 0,
115
- });
120
+ right: 0
121
+ }, "suffixIcon");
116
122
  export const iconSize = styleVariants({
117
- small: {
118
- margin: `0 ${vars.space['2']}`,
119
- },
120
- medium: {
121
- margin: `0 calc(${vars.space['3']} - 1px)`,
122
- },
123
- });
123
+ small: {
124
+ margin: "0 ".concat(vars.space['2'])
125
+ },
126
+ medium: {
127
+ margin: "0 calc(".concat(vars.space['3'], " - 1px)")
128
+ }
129
+ }, "iconSize");
130
+
131
+ __vanilla_filescope__.endFileScope();