@automattic/vip-design-system 2.1.0 → 2.3.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 (101) hide show
  1. package/.eslintrc.js +3 -0
  2. package/build/system/Accordion/Accordion.test.d.ts +0 -1
  3. package/build/system/Accordion/Accordion.test.js +23 -12
  4. package/build/system/Avatar/Avatar.d.ts +0 -1
  5. package/build/system/Avatar/Avatar.js +9 -17
  6. package/build/system/Avatar/Avatar.stories.d.ts +2 -1
  7. package/build/system/Avatar/Avatar.stories.js +19 -2
  8. package/build/system/Button/Button.d.ts +2 -0
  9. package/build/system/Button/Button.js +6 -15
  10. package/build/system/Button/Button.stories.js +86 -67
  11. package/build/system/Card/Card.js +1 -2
  12. package/build/system/Drawer/Drawer.d.ts +12 -3
  13. package/build/system/Drawer/Drawer.js +8 -9
  14. package/build/system/Drawer/Drawer.stories.d.ts +0 -1
  15. package/build/system/Drawer/Drawer.stories.js +19 -225
  16. package/build/system/Drawer/styles.d.ts +2 -2
  17. package/build/system/Drawer/styles.js +13 -9
  18. package/build/system/Form/Checkbox/Checkbox.js +0 -3
  19. package/build/system/Form/Checkbox/Checkbox.stories.js +2 -2
  20. package/build/system/Form/Checkbox/styles.js +16 -11
  21. package/build/system/Form/Radio/Radio.stories.js +1 -1
  22. package/build/system/Form/Toggle.d.ts +14 -2
  23. package/build/system/Form/Toggle.js +68 -69
  24. package/build/system/Form/Toggle.stories.d.ts +29 -18
  25. package/build/system/Form/Toggle.stories.js +99 -0
  26. package/build/system/Form/Toggle.test.js +36 -19
  27. package/build/system/Link/Link.d.ts +1 -1
  28. package/build/system/Link/Link.js +5 -20
  29. package/build/system/Link/Link.stories.d.ts +3 -1
  30. package/build/system/Link/Link.stories.js +18 -1
  31. package/build/system/MobileMenu/MobileMenu.d.ts +16 -0
  32. package/build/system/MobileMenu/MobileMenu.js +112 -0
  33. package/build/system/MobileMenu/MobileMenu.stories.d.ts +19 -0
  34. package/build/system/MobileMenu/MobileMenu.stories.js +173 -0
  35. package/build/system/MobileMenu/MobileMenu.test.d.ts +1 -0
  36. package/build/system/MobileMenu/MobileMenu.test.js +81 -0
  37. package/build/system/Nav/NavItem.js +4 -5
  38. package/build/system/Nav/NavItemGroup.d.ts +3 -0
  39. package/build/system/Nav/NavItemGroup.js +18 -6
  40. package/build/system/Nav/styles/variants/menu.js +15 -9
  41. package/build/system/Nav/styles/variants/menugroup.js +9 -5
  42. package/build/system/Nav/styles/variants/toolbar.js +1 -2
  43. package/build/system/Nav/styles.js +1 -0
  44. package/build/system/NewDialog/DialogClose.d.ts +7 -2
  45. package/build/system/NewDialog/DialogClose.js +25 -15
  46. package/build/system/NewDialog/index.d.ts +2 -1
  47. package/build/system/NewDialog/index.js +2 -1
  48. package/build/system/NewForm/FormAutocomplete.css +1 -3
  49. package/build/system/Table/Table.js +1 -0
  50. package/build/system/Toolbar/Toolbar.js +1 -1
  51. package/build/system/Toolbar/Toolbar.stories.d.ts +3 -0
  52. package/build/system/Toolbar/Toolbar.stories.js +62 -6
  53. package/build/system/Toolbar/ToolbarUtilNav.d.ts +3 -0
  54. package/build/system/Toolbar/ToolbarUtilNav.js +21 -3
  55. package/build/system/Toolbar/index.d.ts +3 -0
  56. package/build/system/Toolbar/index.js +2 -1
  57. package/build/system/index.d.ts +4 -1
  58. package/build/system/index.js +4 -0
  59. package/build/system/theme/index.d.ts +70 -35
  60. package/build/system/theme/index.js +47 -18
  61. package/package.json +2 -1
  62. package/src/system/Accordion/Accordion.test.tsx +15 -8
  63. package/src/system/Avatar/Avatar.stories.tsx +15 -1
  64. package/src/system/Avatar/Avatar.tsx +8 -12
  65. package/src/system/Button/Button.stories.tsx +40 -31
  66. package/src/system/Button/Button.tsx +6 -15
  67. package/src/system/Card/Card.tsx +0 -1
  68. package/src/system/Drawer/Drawer.stories.tsx +28 -197
  69. package/src/system/Drawer/Drawer.tsx +31 -18
  70. package/src/system/Drawer/styles.ts +15 -5
  71. package/src/system/Form/Checkbox/Checkbox.stories.tsx +2 -2
  72. package/src/system/Form/Checkbox/Checkbox.tsx +0 -3
  73. package/src/system/Form/Checkbox/styles.ts +57 -46
  74. package/src/system/Form/Radio/Radio.stories.tsx +1 -1
  75. package/src/system/Form/Toggle.stories.tsx +122 -0
  76. package/src/system/Form/{Toggle.test.js → Toggle.test.tsx} +1 -1
  77. package/src/system/Form/Toggle.tsx +77 -0
  78. package/src/system/Link/Link.stories.tsx +21 -0
  79. package/src/system/Link/Link.tsx +10 -17
  80. package/src/system/MobileMenu/MobileMenu.stories.tsx +171 -0
  81. package/src/system/MobileMenu/MobileMenu.test.tsx +50 -0
  82. package/src/system/MobileMenu/MobileMenu.tsx +116 -0
  83. package/src/system/Nav/NavItem.tsx +3 -3
  84. package/src/system/Nav/NavItemGroup.tsx +18 -2
  85. package/src/system/Nav/styles/variants/menu.ts +15 -9
  86. package/src/system/Nav/styles/variants/menugroup.ts +7 -3
  87. package/src/system/Nav/styles/variants/toolbar.ts +1 -2
  88. package/src/system/Nav/styles.ts +1 -0
  89. package/src/system/NewDialog/DialogClose.tsx +36 -23
  90. package/src/system/NewDialog/index.ts +3 -2
  91. package/src/system/NewForm/FormAutocomplete.css +1 -3
  92. package/src/system/Table/Table.tsx +1 -1
  93. package/src/system/Toolbar/Toolbar.stories.tsx +50 -3
  94. package/src/system/Toolbar/Toolbar.tsx +1 -1
  95. package/src/system/Toolbar/ToolbarUtilNav.tsx +19 -2
  96. package/src/system/Toolbar/index.tsx +6 -1
  97. package/src/system/index.js +4 -0
  98. package/src/system/theme/index.js +47 -18
  99. package/build/system/Form/Toggle.stories.jsx +0 -96
  100. package/src/system/Form/Toggle.js +0 -74
  101. package/src/system/Form/Toggle.stories.jsx +0 -96
@@ -1,18 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports["default"] = exports.VIPMobileMenu = exports.Default = exports.ByParts = void 0;
5
- var _ai = require("react-icons/ai");
6
- var _bi = require("react-icons/bi");
7
- var _md = require("react-icons/md");
4
+ exports["default"] = exports.Default = exports.ByParts = void 0;
8
5
  var _Drawer = require("./Drawer");
9
6
  var _ = require("..");
10
- var _Logo = require("../Toolbar/Logo");
11
- var _CustomLink = require("../utils/stories/CustomLink");
12
7
  var _jsxRuntime = require("theme-ui/jsx-runtime");
8
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
9
+ // @ts-nocheck
13
10
  /** @jsxImportSource theme-ui */
14
11
  var _default = exports["default"] = {
15
- title: 'Drawer',
12
+ title: 'Navigation/Drawer',
16
13
  component: _Drawer.Drawer,
17
14
  parameters: {
18
15
  docs: {
@@ -30,7 +27,9 @@ var Default = exports.Default = {
30
27
  trigger: (0, _jsxRuntime.jsx)(_.Button, {
31
28
  children: "Open "
32
29
  }),
33
- width: 320,
30
+ dimensions: {
31
+ width: 320
32
+ },
34
33
  children: (0, _jsxRuntime.jsx)("p", {
35
34
  sx: {
36
35
  ml: 3
@@ -55,7 +54,9 @@ var Default = exports.Default = {
55
54
  }),
56
55
  variant: "right",
57
56
  label: "Dialog",
58
- width: 500,
57
+ dimensions: {
58
+ width: 500
59
+ },
59
60
  children: (0, _jsxRuntime.jsx)("p", {
60
61
  sx: {
61
62
  ml: 3
@@ -68,7 +69,9 @@ var Default = exports.Default = {
68
69
  }),
69
70
  variant: "bottom",
70
71
  label: "Dialog",
71
- height: 200,
72
+ dimensions: {
73
+ height: 200
74
+ },
72
75
  children: (0, _jsxRuntime.jsx)("p", {
73
76
  sx: {
74
77
  ml: 3
@@ -81,7 +84,9 @@ var Default = exports.Default = {
81
84
  }),
82
85
  variant: "left",
83
86
  label: "Dialog",
84
- width: 600,
87
+ dimensions: {
88
+ width: 600
89
+ },
85
90
  children: (0, _jsxRuntime.jsx)("p", {
86
91
  sx: {
87
92
  ml: 3
@@ -125,7 +130,9 @@ var ByParts = exports.ByParts = {
125
130
  children: "Open "
126
131
  })
127
132
  }), (0, _jsxRuntime.jsx)(_Drawer.Content, {
128
- width: 320,
133
+ dimensions: {
134
+ width: 320
135
+ },
129
136
  label: "My XYZ Dialog",
130
137
  children: (0, _jsxRuntime.jsx)("p", {
131
138
  sx: {
@@ -137,217 +144,4 @@ var ByParts = exports.ByParts = {
137
144
  })
138
145
  });
139
146
  }
140
- };
141
- var VIPMobileMenu = exports.VIPMobileMenu = {
142
- render: function render() {
143
- return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
144
- children: (0, _jsxRuntime.jsxs)(_Drawer.Root, {
145
- children: [(0, _jsxRuntime.jsx)(_Drawer.Trigger, {
146
- children: (0, _jsxRuntime.jsxs)(_.Button, {
147
- type: "button",
148
- variant: "tertiary",
149
- sx: {
150
- display: 'flex',
151
- alignItems: 'center',
152
- fontSize: 2,
153
- gap: 1,
154
- mx: 2
155
- },
156
- children: ["Menu", (0, _jsxRuntime.jsx)(_md.MdMenu, {
157
- size: 24,
158
- sx: {
159
- mt: function mt(theme) {
160
- var _theme$space;
161
- return (theme == null || (_theme$space = theme.space) == null ? void 0 : _theme$space[1]) / 2 + "px";
162
- }
163
- }
164
- })]
165
- })
166
- }), (0, _jsxRuntime.jsx)(_Drawer.Content, {
167
- label: "Dialog X",
168
- variant: "left",
169
- width: 320,
170
- children: (0, _jsxRuntime.jsxs)("div", {
171
- sx: {
172
- backgroundColor: 'toolbar.background',
173
- boxShadow: 'none'
174
- },
175
- children: [(0, _jsxRuntime.jsx)("div", {
176
- sx: {
177
- height: 56,
178
- width: '100%',
179
- p: 4,
180
- px: 5
181
- },
182
- children: (0, _jsxRuntime.jsx)(_Logo.Logo, {})
183
- }), (0, _jsxRuntime.jsx)("div", {
184
- sx: {
185
- overflowX: 'hidden',
186
- overflowY: 'auto',
187
- height: 'calc(100vh - 56px)',
188
- display: 'flex',
189
- flex: 1
190
- },
191
- children: (0, _jsxRuntime.jsxs)(_.Flex, {
192
- sx: {
193
- width: '100%',
194
- flexDirection: 'column'
195
- },
196
- children: [(0, _jsxRuntime.jsxs)(_.Nav.Primary, {
197
- label: "Main Links",
198
- orientation: "vertical",
199
- sx: {
200
- p: 4
201
- },
202
- children: [(0, _jsxRuntime.jsx)(_.NavItem.MenuInverse, {
203
- href: "/apps",
204
- active: true,
205
- as: _CustomLink.CustomLink,
206
- children: "My Applications"
207
- }), (0, _jsxRuntime.jsx)(_.NavItem.MenuInverse, {
208
- href: "/orgs",
209
- as: _CustomLink.CustomLink,
210
- children: "My Organizations"
211
- })]
212
- }), (0, _jsxRuntime.jsx)(_.Box, {
213
- sx: {
214
- alignSelf: 'stretch',
215
- backgroundColor: 'layer.1',
216
- minHeight: "calc(100vh - 56px)",
217
- pt: 2,
218
- px: 4,
219
- width: '100%',
220
- a: {
221
- border: 'none'
222
- }
223
- },
224
- children: (0, _jsxRuntime.jsxs)(_.Nav.Menu, {
225
- sx: {
226
- mb: 4
227
- },
228
- label: "Nav Menu",
229
- children: [(0, _jsxRuntime.jsx)(_.NavItem.Menu, {
230
- href: "https://wordpress.com",
231
- renderIcon: function renderIcon(size) {
232
- return (0, _jsxRuntime.jsx)(_bi.BiGridAlt, {
233
- size: size
234
- });
235
- },
236
- as: _CustomLink.CustomLink,
237
- children: "Overview"
238
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
239
- as: _CustomLink.CustomLink,
240
- href: "https://random-website.com/",
241
- renderIcon: function renderIcon(size) {
242
- return (0, _jsxRuntime.jsx)(_bi.BiWindows, {
243
- size: size
244
- });
245
- },
246
- children: "Network Sites"
247
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
248
- as: _CustomLink.CustomLink,
249
- href: "https://random-website.com/",
250
- renderIcon: function renderIcon(size) {
251
- return (0, _jsxRuntime.jsx)(_ai.AiOutlineLock, {
252
- size: size
253
- });
254
- },
255
- children: "Domains & TLS"
256
- }), (0, _jsxRuntime.jsxs)(_.NavItem.MenuGroup, {
257
- active: true,
258
- label: "Logs",
259
- renderIcon: function renderIcon(size) {
260
- return (0, _jsxRuntime.jsx)(_bi.BiHistory, {
261
- size: size
262
- });
263
- },
264
- children: [(0, _jsxRuntime.jsx)(_.NavItem.Menu, {
265
- active: true,
266
- as: _CustomLink.CustomLink,
267
- href: "https://google.com/",
268
- children: "Audit"
269
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
270
- as: _CustomLink.CustomLink,
271
- href: "https://wpvip.com/",
272
- children: "Runtime"
273
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
274
- as: _CustomLink.CustomLink,
275
- href: "https://dashboard.wpvip.com/",
276
- children: "Slow Query"
277
- })]
278
- }), (0, _jsxRuntime.jsxs)(_.NavItem.MenuGroup, {
279
- label: "Performance",
280
- renderIcon: function renderIcon(size) {
281
- return (0, _jsxRuntime.jsx)(_bi.BiTachometer, {
282
- size: size
283
- });
284
- },
285
- children: [(0, _jsxRuntime.jsx)(_.NavItem.Menu, {
286
- as: _CustomLink.CustomLink,
287
- href: "https://random-website.com/",
288
- children: "Metrics"
289
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
290
- as: _CustomLink.CustomLink,
291
- href: "https://random-website.com/",
292
- children: "Monitor"
293
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
294
- as: _CustomLink.CustomLink,
295
- href: "https://random-website.com/",
296
- children: "Cache"
297
- })]
298
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
299
- as: _CustomLink.CustomLink,
300
- href: "https://random-website.com/",
301
- renderIcon: function renderIcon(size) {
302
- return (0, _jsxRuntime.jsx)(_bi.BiCodeAlt, {
303
- size: size
304
- });
305
- },
306
- children: "Code [v]"
307
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
308
- as: _CustomLink.CustomLink,
309
- href: "https://random-website.com/",
310
- renderIcon: function renderIcon(size) {
311
- return (0, _jsxRuntime.jsx)(_bi.BiData, {
312
- size: size
313
- });
314
- },
315
- children: "Database [v]"
316
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
317
- as: _CustomLink.CustomLink,
318
- href: "https://random-website.com/",
319
- renderIcon: function renderIcon(size) {
320
- return (0, _jsxRuntime.jsx)(_md.MdOutlinePhotoLibrary, {
321
- size: size
322
- });
323
- },
324
- children: "Media [v]"
325
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
326
- as: _CustomLink.CustomLink,
327
- href: "https://random-website.com/",
328
- renderIcon: function renderIcon(size) {
329
- return (0, _jsxRuntime.jsx)(_bi.BiBell, {
330
- size: size
331
- });
332
- },
333
- children: "Notifications"
334
- }), (0, _jsxRuntime.jsx)(_.NavItem.Menu, {
335
- as: _CustomLink.CustomLink,
336
- href: "https://random-website.com/",
337
- renderIcon: function renderIcon(size) {
338
- return (0, _jsxRuntime.jsx)(_bi.BiBulb, {
339
- size: size
340
- });
341
- },
342
- children: "Features"
343
- })]
344
- })
345
- })]
346
- })
347
- })]
348
- })
349
- })]
350
- })
351
- });
352
- }
353
147
  };
@@ -1,5 +1,5 @@
1
1
  /** @jsxImportSource theme-ui */
2
2
  import { ThemeUIStyleObject } from 'theme-ui';
3
- import { DrawerProps } from './Drawer';
4
- export declare const drawerContentStyles: (variant: DrawerProps['variant'], width?: string | number, height?: string | number | undefined) => ThemeUIStyleObject;
3
+ import { DrawerProps, responsiveDimensionsProp } from './Drawer';
4
+ export declare const drawerContentStyles: (variant: DrawerProps['variant'], dimensions?: responsiveDimensionsProp) => ThemeUIStyleObject;
5
5
  export declare const drawerOverlayStyles: (variant: DrawerProps['variant']) => ThemeUIStyleObject;
@@ -28,13 +28,13 @@ var slideOut = function slideOut(theme, variant) {
28
28
  });
29
29
  }
30
30
  };
31
- var drawerContentStyles = exports.drawerContentStyles = function drawerContentStyles(variant, width, height) {
32
- if (width === void 0) {
33
- width = '100%';
34
- }
35
- if (height === void 0) {
36
- height = undefined;
37
- }
31
+ var drawerContentStyles = exports.drawerContentStyles = function drawerContentStyles(variant, dimensions) {
32
+ var width = (dimensions == null ? void 0 : dimensions.width) || ['100%', '100%', '80vw'];
33
+ var height = (dimensions == null ? void 0 : dimensions.height) || '100vh';
34
+ var minWidth = (dimensions == null ? void 0 : dimensions.minWidth) || '16rem';
35
+ var minHeight = (dimensions == null ? void 0 : dimensions.minHeight) || '100vh';
36
+ var maxWidth = (dimensions == null ? void 0 : dimensions.maxWidth) || '22rem';
37
+ var maxHeight = (dimensions == null ? void 0 : dimensions.maxHeight) || '100vh';
38
38
  var defaultStyles = {
39
39
  p: 0,
40
40
  m: 0,
@@ -45,6 +45,10 @@ var drawerContentStyles = exports.drawerContentStyles = function drawerContentSt
45
45
  bottom: 0,
46
46
  width: width,
47
47
  height: height,
48
+ minWidth: minWidth,
49
+ minHeight: minHeight,
50
+ maxWidth: maxWidth,
51
+ maxHeight: maxHeight,
48
52
  variant: "drawer." + variant + ".styles",
49
53
  // Among other things, prevents text alignment inconsistencies when dialog can't be centered in the viewport evenly.
50
54
  // Affects animated and non-animated dialogs alike.
@@ -66,7 +70,7 @@ var drawerContentStyles = exports.drawerContentStyles = function drawerContentSt
66
70
  {
67
71
  return _extends({}, defaultStyles, {
68
72
  backgroundColor: 'layer.1',
69
- top: [56, 56, 56, 64]
73
+ top: 64
70
74
  });
71
75
  }
72
76
  default:
@@ -111,7 +115,7 @@ var drawerOverlayStyles = exports.drawerOverlayStyles = function drawerOverlaySt
111
115
  case 'right-header':
112
116
  {
113
117
  return _extends({}, defaultStyles, {
114
- top: [56, 56, 56, 64]
118
+ top: 64
115
119
  });
116
120
  }
117
121
  default:
@@ -39,9 +39,6 @@ var Checkbox = exports.Checkbox = function Checkbox(_ref3) {
39
39
  variant = 'disabled';
40
40
  }
41
41
  return (0, _jsxRuntime.jsx)(StyledCheckbox, _extends({
42
- sx: {
43
- opacity: disabled ? 0.4 : 1
44
- },
45
42
  onCheckedChange: disabled ? undefined : onCheckedChange,
46
43
  "aria-disabled": disabled,
47
44
  variant: variant
@@ -33,7 +33,7 @@ var Default = exports.Default = function Default() {
33
33
  checked2 = _useState2[0],
34
34
  setChecked2 = _useState2[1];
35
35
  return (0, _jsxRuntime.jsxs)(_.Form.Root, {
36
- children: [['primary', 'success', 'brand'].map(function (variant) {
36
+ children: [['primary', 'brand'].map(function (variant) {
37
37
  return (0, _jsxRuntime.jsxs)(_.Form.Fieldset, {
38
38
  children: [(0, _jsxRuntime.jsxs)(_.Form.Legend, {
39
39
  children: ["Tell me your ", variant, " prefereces"]
@@ -120,7 +120,7 @@ var Indeterminate = exports.Indeterminate = function Indeterminate() {
120
120
  }
121
121
  }, [checkRef]);
122
122
  return (0, _jsxRuntime.jsxs)(_.Form.Root, {
123
- children: [['primary', 'success', 'brand'].map(function (variant) {
123
+ children: [['primary', 'brand'].map(function (variant) {
124
124
  return (0, _jsxRuntime.jsxs)(_.Form.Fieldset, {
125
125
  children: [(0, _jsxRuntime.jsxs)(_.Form.Legend, {
126
126
  children: ["Indeterminate state ", variant]
@@ -7,6 +7,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
7
7
  // The output willl be 16px because of the 1px border.
8
8
  var CHECKBOX_SIZE = 14;
9
9
  var checkboxStyle = exports.checkboxStyle = function checkboxStyle(variant) {
10
+ var variantColor = variant === 'disabled' ? 'input.background.disabled' : variant;
10
11
  return _extends({
11
12
  all: 'unset',
12
13
  position: 'relative',
@@ -14,7 +15,7 @@ var checkboxStyle = exports.checkboxStyle = function checkboxStyle(variant) {
14
15
  }, _Input.baseControlBorderStyle, _Input.baseControlFocusStyle, {
15
16
  width: CHECKBOX_SIZE,
16
17
  height: CHECKBOX_SIZE,
17
- borderRadius: 1,
18
+ borderRadius: 0,
18
19
  display: 'flex',
19
20
  justifyContent: 'center',
20
21
  '&[aria-disabled="true"]': {
@@ -22,10 +23,10 @@ var checkboxStyle = exports.checkboxStyle = function checkboxStyle(variant) {
22
23
  cursor: 'not-allowed',
23
24
  pointerEvents: 'none'
24
25
  },
25
- '&[data-state=checked]': {
26
- backgroundColor: variant,
27
- color: variant,
28
- borderColor: variant
26
+ '&[data-state=checked], &[data-state=indeterminate]': {
27
+ backgroundColor: variantColor,
28
+ color: variantColor,
29
+ borderColor: variantColor
29
30
  },
30
31
  '& ~ label': {
31
32
  fontWeight: 'regular',
@@ -35,23 +36,27 @@ var checkboxStyle = exports.checkboxStyle = function checkboxStyle(variant) {
35
36
  },
36
37
  svg: {
37
38
  position: 'absolute',
39
+ fill: 'currentColor',
38
40
  top: 0,
39
41
  left: 0
40
42
  }
41
43
  });
42
44
  };
43
45
  var checkboxIndicatorStyle = exports.checkboxIndicatorStyle = function checkboxIndicatorStyle(variant) {
46
+ var backgroundColor = variant === 'disabled' ? 'icon.inverse-disabled' : 'icon.inverse';
44
47
  return {
45
48
  width: 14,
46
49
  height: 14,
47
- backgroundImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='1 1 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.9259 4.9995L6.15142 12.4008L2.92603 9.33023L4.2591 7.92994L6.15142 9.73143L12.5928 3.59921L13.9259 4.9995Z' fill='white'/%3E%3C/svg%3E\")",
50
+ backgroundColor: backgroundColor,
51
+ maskImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='1 1 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.9259 4.9995L6.15142 12.4008L2.92603 9.33023L4.2591 7.92994L6.15142 9.73143L12.5928 3.59921L13.9259 4.9995Z' fill='currentcolor'/%3E%3C/svg%3E\")",
48
52
  '&[data-state=indeterminate]': {
49
- marginTop: '6px',
50
- backgroundImage: 'none',
51
- backgroundColor: variant,
53
+ maskImage: 'none',
54
+ backgroundColor: backgroundColor,
52
55
  position: 'absolute',
53
- width: 10,
54
- height: 2
56
+ top: '50%',
57
+ width: 8,
58
+ height: 2,
59
+ marginTop: '-1px'
55
60
  }
56
61
  };
57
62
  };
@@ -32,7 +32,7 @@ var Default = exports.Default = function Default() {
32
32
  setChecked(_extends({}, checked, (_extends2 = {}, _extends2[radioName] = value, _extends2)));
33
33
  };
34
34
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
35
- children: [['primary', 'success', 'brand'].map(function (variant) {
35
+ children: [['primary', 'brand'].map(function (variant) {
36
36
  return (0, _jsxRuntime.jsxs)(_2.Box, {
37
37
  children: [(0, _jsxRuntime.jsx)(_2.Heading, {
38
38
  as: "h2",
@@ -1,2 +1,14 @@
1
- export const Toggle: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
- import React from 'react';
1
+ /** @jsxImportSource theme-ui */
2
+ /// <reference types="react" />
3
+ import * as Switch from '@radix-ui/react-switch';
4
+ import { Argument } from 'classnames';
5
+ export type ToggleProps = Switch.SwitchProps & {
6
+ name?: string;
7
+ className?: Argument;
8
+ onChange?: () => void;
9
+ variant?: string;
10
+ };
11
+ export declare const Toggle: {
12
+ ({ name, onChange, className, variant, ...rest }: ToggleProps): import("react").JSX.Element;
13
+ displayName: string;
14
+ };
@@ -1,74 +1,73 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.Toggle = void 0;
5
+ var Switch = _interopRequireWildcard(require("@radix-ui/react-switch"));
6
+ var _classnames = _interopRequireDefault(require("classnames"));
7
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
8
+ var _excluded = ["name", "onChange", "className", "variant"];
1
9
  /* eslint-disable max-len */
2
10
  /** @jsxImportSource theme-ui */
3
-
4
- /**
5
- * External dependencies
6
- */
7
- import * as Switch from '@radix-ui/react-switch';
8
- import classNames from 'classnames';
9
- import PropTypes from 'prop-types';
10
- import React from 'react';
11
-
12
11
  // Documentation for Radix Switch component
13
12
  // https://www.radix-ui.com/docs/primitives/components/switch
14
-
15
- export const Toggle = React.forwardRef(
16
- ( { name = 'toggle', onChange, className = null, variant = 'primary', ...rest }, forwardRef ) => (
17
- <Switch.Root
18
- className={ classNames( 'vip-toggle-component', className ) }
19
- sx={ {
20
- all: 'unset',
21
- cursor: 'pointer',
22
- position: 'relative',
23
- width: 40,
24
- height: 20,
25
- borderRadius: 5,
26
- backgroundColor: 'muted',
27
- backgroundRepeat: 'no-repeat',
28
- backgroundPosition: 'right 2px top 2px',
29
- backgroundImage: `url(
30
- 'data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.53846 3L3 4.53846L6.46156 8.00001L3.00003 11.4615L4.53848 13L8.00001 9.53847L11.4615 13L13 11.4615L9.53847 8.00001L13 4.53849L11.4615 3.00003L8.00001 6.46156L4.53846 3Z" fill="white"/></svg>')`,
31
- WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
32
-
33
- '&:focus-visible': theme => theme.outline,
34
- '&[disabled]': {
35
- opacity: 0.7,
36
- },
37
- '&[data-state="checked"]': {
38
- backgroundColor: variant,
39
- backgroundPosition: 'left 2px top 2px',
40
- backgroundImage: `url(
41
- 'data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.4999 4.9995L5.7254 12.4008L2.5 9.33023L3.83307 7.92994L5.7254 9.73144L12.1668 3.59921L13.4999 4.9995Z" fill="white"/></svg>')`,
42
- },
43
- } }
44
- name={ name }
45
- onCheckedChange={ onChange || undefined }
46
- ref={ forwardRef }
47
- { ...rest }
48
- >
49
- <Switch.Thumb
50
- sx={ {
51
- display: 'block',
52
- width: 16,
53
- height: 16,
54
- backgroundColor: 'white',
55
- borderRadius: '100%',
56
- boxShadow: 'rgb(0 0 0 / 5%) 0px 1px 5px, rgb(0 0 0 / 15%) 0px 1px 1px',
57
- transition: 'transform 100ms',
58
- transform: 'translateX(2px)',
59
- willChange: 'transform',
60
- '&[data-state="checked"]': { transform: 'translateX(22px)' },
61
- } }
62
- />
63
- </Switch.Root>
64
- )
65
- );
66
-
67
- Toggle.displayName = 'Toggle';
68
-
69
- Toggle.propTypes = {
70
- name: PropTypes.string,
71
- className: PropTypes.any,
72
- onChange: PropTypes.func,
73
- variant: PropTypes.string,
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
+ var Toggle = exports.Toggle = function Toggle(_ref) {
19
+ var _ref$name = _ref.name,
20
+ name = _ref$name === void 0 ? 'toggle' : _ref$name,
21
+ onChange = _ref.onChange,
22
+ className = _ref.className,
23
+ _ref$variant = _ref.variant,
24
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
25
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
26
+ return (0, _jsxRuntime.jsx)(Switch.Root, _extends({
27
+ className: (0, _classnames["default"])('vip-toggle-component', className),
28
+ sx: {
29
+ all: 'unset',
30
+ cursor: 'pointer',
31
+ position: 'relative',
32
+ width: 40,
33
+ height: 20,
34
+ borderRadius: 5,
35
+ backgroundColor: 'muted',
36
+ backgroundRepeat: 'no-repeat',
37
+ backgroundPosition: 'right 2px top 2px',
38
+ backgroundImage: "url(\n 'data:image/svg+xml;utf8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.53846 3L3 4.53846L6.46156 8.00001L3.00003 11.4615L4.53848 13L8.00001 9.53847L11.4615 13L13 11.4615L9.53847 8.00001L13 4.53849L11.4615 3.00003L8.00001 6.46156L4.53846 3Z\" fill=\"white\"/></svg>')",
39
+ WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
40
+ '&:focus-visible': function focusVisible(theme) {
41
+ return theme.outline;
42
+ },
43
+ '&[disabled]': {
44
+ opacity: 0.7
45
+ },
46
+ '&[data-state="checked"]': {
47
+ backgroundColor: variant,
48
+ backgroundPosition: 'left 2px top 2px',
49
+ backgroundImage: "url(\n 'data:image/svg+xml;utf8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.4999 4.9995L5.7254 12.4008L2.5 9.33023L3.83307 7.92994L5.7254 9.73144L12.1668 3.59921L13.4999 4.9995Z\" fill=\"white\"/></svg>')"
50
+ }
51
+ },
52
+ name: name,
53
+ onCheckedChange: onChange
54
+ }, rest, {
55
+ children: (0, _jsxRuntime.jsx)(Switch.Thumb, {
56
+ sx: {
57
+ display: 'block',
58
+ width: 16,
59
+ height: 16,
60
+ backgroundColor: 'white',
61
+ borderRadius: '100%',
62
+ boxShadow: 'rgb(0 0 0 / 5%) 0px 1px 5px, rgb(0 0 0 / 15%) 0px 1px 1px',
63
+ transition: 'transform 100ms',
64
+ transform: 'translateX(2px)',
65
+ willChange: 'transform',
66
+ '&[data-state="checked"]': {
67
+ transform: 'translateX(22px)'
68
+ }
69
+ }
70
+ })
71
+ }));
74
72
  };
73
+ Toggle.displayName = 'Toggle';