@automattic/vip-design-system 2.2.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 (87) 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/Button/Button.d.ts +2 -0
  5. package/build/system/Button/Button.js +6 -15
  6. package/build/system/Button/Button.stories.js +86 -67
  7. package/build/system/Card/Card.js +1 -2
  8. package/build/system/Drawer/Drawer.d.ts +12 -3
  9. package/build/system/Drawer/Drawer.js +8 -9
  10. package/build/system/Drawer/Drawer.stories.d.ts +0 -1
  11. package/build/system/Drawer/Drawer.stories.js +19 -225
  12. package/build/system/Drawer/styles.d.ts +2 -2
  13. package/build/system/Drawer/styles.js +13 -9
  14. package/build/system/Form/Toggle.d.ts +14 -2
  15. package/build/system/Form/Toggle.js +68 -69
  16. package/build/system/Form/Toggle.stories.d.ts +29 -18
  17. package/build/system/Form/Toggle.stories.js +99 -0
  18. package/build/system/Form/Toggle.test.js +36 -19
  19. package/build/system/Link/Link.d.ts +1 -1
  20. package/build/system/Link/Link.js +5 -20
  21. package/build/system/Link/Link.stories.d.ts +3 -1
  22. package/build/system/Link/Link.stories.js +18 -1
  23. package/build/system/MobileMenu/MobileMenu.d.ts +16 -0
  24. package/build/system/MobileMenu/MobileMenu.js +112 -0
  25. package/build/system/MobileMenu/MobileMenu.stories.d.ts +19 -0
  26. package/build/system/MobileMenu/MobileMenu.stories.js +173 -0
  27. package/build/system/MobileMenu/MobileMenu.test.d.ts +1 -0
  28. package/build/system/MobileMenu/MobileMenu.test.js +81 -0
  29. package/build/system/Nav/NavItem.js +4 -5
  30. package/build/system/Nav/NavItemGroup.d.ts +3 -0
  31. package/build/system/Nav/NavItemGroup.js +18 -6
  32. package/build/system/Nav/styles/variants/menu.js +15 -9
  33. package/build/system/Nav/styles/variants/menugroup.js +9 -5
  34. package/build/system/Nav/styles/variants/toolbar.js +1 -2
  35. package/build/system/Nav/styles.js +1 -0
  36. package/build/system/NewDialog/DialogClose.d.ts +7 -2
  37. package/build/system/NewDialog/DialogClose.js +25 -15
  38. package/build/system/NewDialog/index.d.ts +2 -1
  39. package/build/system/NewDialog/index.js +2 -1
  40. package/build/system/NewForm/FormAutocomplete.css +1 -3
  41. package/build/system/Table/Table.js +1 -0
  42. package/build/system/Toolbar/Toolbar.js +1 -1
  43. package/build/system/Toolbar/Toolbar.stories.d.ts +3 -0
  44. package/build/system/Toolbar/Toolbar.stories.js +62 -5
  45. package/build/system/Toolbar/ToolbarUtilNav.d.ts +3 -0
  46. package/build/system/Toolbar/ToolbarUtilNav.js +21 -3
  47. package/build/system/Toolbar/index.d.ts +3 -0
  48. package/build/system/Toolbar/index.js +2 -1
  49. package/build/system/index.d.ts +4 -1
  50. package/build/system/index.js +4 -0
  51. package/build/system/theme/index.d.ts +70 -35
  52. package/build/system/theme/index.js +47 -18
  53. package/package.json +2 -1
  54. package/src/system/Accordion/Accordion.test.tsx +15 -8
  55. package/src/system/Button/Button.stories.tsx +40 -31
  56. package/src/system/Button/Button.tsx +6 -15
  57. package/src/system/Card/Card.tsx +0 -1
  58. package/src/system/Drawer/Drawer.stories.tsx +28 -197
  59. package/src/system/Drawer/Drawer.tsx +31 -18
  60. package/src/system/Drawer/styles.ts +15 -5
  61. package/src/system/Form/Toggle.stories.tsx +122 -0
  62. package/src/system/Form/{Toggle.test.js → Toggle.test.tsx} +1 -1
  63. package/src/system/Form/Toggle.tsx +77 -0
  64. package/src/system/Link/Link.stories.tsx +21 -0
  65. package/src/system/Link/Link.tsx +10 -17
  66. package/src/system/MobileMenu/MobileMenu.stories.tsx +171 -0
  67. package/src/system/MobileMenu/MobileMenu.test.tsx +50 -0
  68. package/src/system/MobileMenu/MobileMenu.tsx +116 -0
  69. package/src/system/Nav/NavItem.tsx +3 -3
  70. package/src/system/Nav/NavItemGroup.tsx +18 -2
  71. package/src/system/Nav/styles/variants/menu.ts +15 -9
  72. package/src/system/Nav/styles/variants/menugroup.ts +7 -3
  73. package/src/system/Nav/styles/variants/toolbar.ts +1 -2
  74. package/src/system/Nav/styles.ts +1 -0
  75. package/src/system/NewDialog/DialogClose.tsx +36 -23
  76. package/src/system/NewDialog/index.ts +3 -2
  77. package/src/system/NewForm/FormAutocomplete.css +1 -3
  78. package/src/system/Table/Table.tsx +1 -1
  79. package/src/system/Toolbar/Toolbar.stories.tsx +49 -2
  80. package/src/system/Toolbar/Toolbar.tsx +1 -1
  81. package/src/system/Toolbar/ToolbarUtilNav.tsx +19 -2
  82. package/src/system/Toolbar/index.tsx +6 -1
  83. package/src/system/index.js +4 -0
  84. package/src/system/theme/index.js +47 -18
  85. package/build/system/Form/Toggle.stories.jsx +0 -96
  86. package/src/system/Form/Toggle.js +0 -74
  87. package/src/system/Form/Toggle.stories.jsx +0 -96
package/.eslintrc.js CHANGED
@@ -16,6 +16,9 @@ module.exports = {
16
16
  'id-length': 'off',
17
17
  'import/no-extraneous-dependencies': 'off',
18
18
  'jsx-a11y/click-events-have-key-events': 'off',
19
+ '@typescript-eslint/no-unsafe-call': 'off',
20
+ '@typescript-eslint/no-unsafe-member-access': 'off',
21
+ '@typescript-eslint/no-unsafe-assignment': 'off',
19
22
  'jsx-a11y/no-autofocus': 'off',
20
23
  'jsx-a11y/no-static-element-interactions': 'off',
21
24
  'no-prototype-builtins': 'off',
@@ -1,2 +1 @@
1
- /** @jsxImportSource theme-ui */
2
1
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
4
5
  var _jestAxe = require("jest-axe");
5
6
  var _themeUi = require("theme-ui");
6
7
  var Accordion = _interopRequireWildcard(require("./Accordion"));
@@ -8,10 +9,10 @@ var _ = require("../");
8
9
  var _jsxRuntime = require("theme-ui/jsx-runtime");
9
10
  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); }
10
11
  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; }
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
12
14
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // TODO: Fix this
14
- /* eslint-disable @typescript-eslint/ban-ts-comment */ // @ts-nocheck
15
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /* eslint-disable @typescript-eslint/ban-ts-comment */ // @ts-nocheck
15
16
  /** @jsxImportSource theme-ui */ /**
16
17
  * External dependencies
17
18
  */ /**
@@ -72,29 +73,39 @@ describe('<Accordion />', function () {
72
73
  }, _callee);
73
74
  })));
74
75
  it('should open the content when clicking on its trigger', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
75
- var _renderComponent2, container;
76
+ var user, _renderComponent2, container;
76
77
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
77
78
  while (1) switch (_context2.prev = _context2.next) {
78
79
  case 0:
80
+ user = _userEvent["default"].setup();
79
81
  _renderComponent2 = renderComponent(), container = _renderComponent2.container;
80
- _react.fireEvent.click(_react.screen.getByRole('button', {
81
- name: 'trigger two'
82
+ _context2.next = 4;
83
+ return user.click(_react.screen.getByRole('button', {
84
+ name: 'trigger two',
85
+ expanded: false
82
86
  }));
87
+ case 4:
88
+ expect(_react.screen.getByRole('button', {
89
+ name: 'trigger one',
90
+ expanded: false
91
+ })).toHaveAttribute('data-state', 'closed');
92
+ expect(_react.screen.queryByText('content one')).not.toBeInTheDocument();
83
93
 
84
94
  // Should find the open content
85
- expect(_react.screen.queryByText('content one')).toBeNull();
86
-
87
- // Should not find the closed content
88
- expect(_react.screen.queryByText('content two')).toBeInTheDocument();
95
+ expect(_react.screen.getByRole('button', {
96
+ name: 'trigger two',
97
+ expanded: true
98
+ })).toHaveAttribute('data-state', 'open');
99
+ expect(_react.screen.getByText('content two')).toBeVisible();
89
100
 
90
101
  // Check for accessibility issues
91
102
  _context2.t0 = expect;
92
- _context2.next = 7;
103
+ _context2.next = 11;
93
104
  return (0, _jestAxe.axe)(container);
94
- case 7:
105
+ case 11:
95
106
  _context2.t1 = _context2.sent;
96
107
  (0, _context2.t0)(_context2.t1).toHaveNoViolations();
97
- case 9:
108
+ case 13:
98
109
  case "end":
99
110
  return _context2.stop();
100
111
  }
@@ -14,6 +14,8 @@ export declare enum ButtonVariant {
14
14
  export interface ButtonProps extends ThemeButtonProps {
15
15
  disabled?: boolean;
16
16
  onClick?: (event: ButtonClickType) => void;
17
+ full?: boolean;
18
+ grow?: boolean;
17
19
  variant?: keyof typeof ButtonVariant;
18
20
  }
19
21
  declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -6,10 +6,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
  var _themeUi = require("theme-ui");
8
8
  var _jsxRuntime = require("theme-ui/jsx-runtime");
9
- var _excluded = ["className", "disabled", "onClick", "sx"];
10
- /**
11
- * External dependencies
12
- */
9
+ var _excluded = ["className", "disabled", "onClick", "sx", "full", "grow"];
13
10
  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); }
14
11
  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; }
15
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -31,6 +28,8 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
31
28
  disabled = _ref.disabled,
32
29
  onClick = _ref.onClick,
33
30
  sx = _ref.sx,
31
+ full = _ref.full,
32
+ grow = _ref.grow,
34
33
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
35
34
  var handleOnClick = (0, _react.useCallback)(function (event) {
36
35
  if (disabled) {
@@ -42,16 +41,6 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
42
41
  }, [disabled, onClick]);
43
42
  return (0, _jsxRuntime.jsx)(_themeUi.Button, _extends({
44
43
  sx: _extends({
45
- verticalAlign: 'middle',
46
- display: 'inline-flex',
47
- alignItems: 'center',
48
- justifyContent: 'center',
49
- minHeight: '36px',
50
- py: 0,
51
- textDecoration: 'none',
52
- '&:hover': {
53
- textDecoration: 'none'
54
- },
55
44
  '&:focus': 'none',
56
45
  '&:focus-visible': function focusVisible(theme) {
57
46
  return theme.outline;
@@ -62,7 +51,9 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
62
51
  color: 'texts.secondary',
63
52
  cursor: 'not-allowed',
64
53
  pointerEvents: 'none'
65
- }
54
+ },
55
+ flexGrow: Boolean(grow) === true ? '1' : 'initial',
56
+ width: Boolean(full) === true ? '100%' : 'auto'
66
57
  }, sx)
67
58
  }, rest, {
68
59
  "aria-disabled": disabled,
@@ -5,6 +5,7 @@ exports["default"] = exports.Default = void 0;
5
5
  var _react = _interopRequireDefault(require("react"));
6
6
  var _bi = require("react-icons/bi");
7
7
  var _ = require("..");
8
+ var _Flex = require("../Flex/Flex");
8
9
  var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
9
10
  var _jsxRuntime = require("theme-ui/jsx-runtime");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -37,83 +38,101 @@ var _default = exports["default"] = {
37
38
  }
38
39
  };
39
40
  var Template = function Template(args) {
40
- return (0, _jsxRuntime.jsxs)(_react["default"].Fragment, {
41
- children: [(0, _jsxRuntime.jsx)(_.Button, _extends({}, args, {
42
- children: "Primary"
43
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
44
- variant: "secondary",
41
+ return (0, _jsxRuntime.jsxs)("div", {
42
+ children: [(0, _jsxRuntime.jsxs)(_Flex.Flex, {
45
43
  sx: {
46
- ml: 2
47
- }
48
- }, args, {
49
- children: "Secondary"
50
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
51
- variant: "tertiary",
52
- sx: {
53
- ml: 2
54
- }
55
- }, args, {
56
- children: "Tertiary"
57
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
58
- variant: "ghost",
59
- sx: {
60
- ml: 2
61
- }
62
- }, args, {
63
- children: "Ghost"
64
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
65
- variant: "display",
66
- sx: {
67
- ml: 2
68
- }
69
- }, args, {
70
- children: "Display"
71
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
72
- variant: "danger",
73
- sx: {
74
- ml: 2
75
- }
76
- }, args, {
77
- children: "Danger"
78
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
79
- variant: "primary",
80
- disabled: true,
81
- sx: {
82
- ml: 2
83
- }
84
- }, args, {
85
- children: "Disabled"
86
- })), (0, _jsxRuntime.jsx)(_.Button, _extends({
87
- variant: "text",
88
- sx: {
89
- ml: 2
44
+ gap: 2,
45
+ flexDirection: 'row'
90
46
  },
91
- as: "a",
92
- href: "https://google/com"
93
- }, args, {
94
- children: "Button link"
95
- })), (0, _jsxRuntime.jsxs)(_.Button, _extends({
96
- variant: "icon",
47
+ children: [(0, _jsxRuntime.jsx)(_.Button, _extends({}, args, {
48
+ children: "Primary"
49
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
50
+ variant: "secondary",
51
+ sx: {
52
+ ml: 2
53
+ }
54
+ }, args, {
55
+ children: "Secondary"
56
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
57
+ variant: "tertiary",
58
+ sx: {
59
+ ml: 2
60
+ }
61
+ }, args, {
62
+ children: "Tertiary"
63
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
64
+ variant: "ghost",
65
+ sx: {
66
+ ml: 2
67
+ }
68
+ }, args, {
69
+ children: "Ghost"
70
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
71
+ variant: "display",
72
+ sx: {
73
+ ml: 2
74
+ }
75
+ }, args, {
76
+ children: "Display"
77
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
78
+ variant: "danger",
79
+ sx: {
80
+ ml: 2
81
+ }
82
+ }, args, {
83
+ children: "Danger"
84
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
85
+ variant: "primary",
86
+ disabled: true,
87
+ sx: {
88
+ ml: 2
89
+ }
90
+ }, args, {
91
+ children: "Disabled"
92
+ })), (0, _jsxRuntime.jsx)(_.Button, _extends({
93
+ variant: "text",
94
+ sx: {
95
+ ml: 2
96
+ },
97
+ as: "a",
98
+ href: "https://google/com"
99
+ }, args, {
100
+ children: "Button link"
101
+ })), (0, _jsxRuntime.jsxs)(_.Button, _extends({
102
+ variant: "icon",
103
+ sx: {
104
+ ml: 2
105
+ },
106
+ type: "button"
107
+ }, args, {
108
+ children: [(0, _jsxRuntime.jsx)(_bi.BiCalendarHeart, {
109
+ size: 24
110
+ }), (0, _jsxRuntime.jsx)(_ScreenReaderText["default"], {
111
+ children: "domain.com"
112
+ })]
113
+ }))]
114
+ }), (0, _jsxRuntime.jsx)("div", {
97
115
  sx: {
98
- ml: 2
116
+ mt: 3
99
117
  },
100
- type: "button"
101
- }, args, {
102
- children: [(0, _jsxRuntime.jsx)(_bi.BiCalendarHeart, {
103
- size: 24
104
- }), (0, _jsxRuntime.jsx)(_ScreenReaderText["default"], {
105
- children: "domain.com"
106
- })]
107
- })), (0, _jsxRuntime.jsx)("div", {
118
+ children: (0, _jsxRuntime.jsx)(_.Button, _extends({
119
+ variant: "secondary",
120
+ href: "https://google/com"
121
+ }, args, {
122
+ full: true,
123
+ children: "Button with full width"
124
+ }))
125
+ }), (0, _jsxRuntime.jsx)("div", {
108
126
  sx: {
109
- maxWidth: '100px',
110
- mt: 3
127
+ mt: 3,
128
+ display: 'flex'
111
129
  },
112
130
  children: (0, _jsxRuntime.jsx)(_.Button, _extends({
113
131
  variant: "secondary",
114
132
  href: "https://google/com"
115
133
  }, args, {
116
- children: "Button with constrained width"
134
+ grow: true,
135
+ children: "Button with grow width"
117
136
  }))
118
137
  })]
119
138
  });
@@ -27,8 +27,7 @@ var Card = exports.Card = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
27
27
  ref: ref,
28
28
  sx: _extends({
29
29
  // pass variant prop to sx
30
- variant: "cards." + variant,
31
- overflow: 'hidden'
30
+ variant: "cards." + variant
32
31
  }, sx),
33
32
  className: (0, _classnames["default"])('vip-card-component', className)
34
33
  }, props));
@@ -3,15 +3,24 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
3
3
  import React, { ReactNode } from 'react';
4
4
  export interface DrawerContentProps extends DialogPrimitive.DialogContentProps, DrawerProps {
5
5
  }
6
- export declare const Content: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
6
+ export type responsiveProp = number | string | number[] | string[];
7
+ export type responsiveDimensionsProp = {
8
+ width?: responsiveProp;
9
+ height?: responsiveProp;
10
+ minWidth?: responsiveProp;
11
+ minHeight?: responsiveProp;
12
+ maxWidth?: responsiveProp;
13
+ maxHeight?: responsiveProp;
14
+ };
7
15
  export interface DrawerProps extends DialogPrimitive.DialogProps {
8
16
  children?: ReactNode;
9
17
  trigger?: ReactNode;
10
18
  label?: string;
11
19
  variant?: 'top' | 'right' | 'bottom' | 'left' | 'left-header' | 'right-header';
12
- width?: number | string;
13
- height?: number | string;
20
+ dimensions?: responsiveDimensionsProp;
21
+ renderClose?: () => JSX.Element | null;
14
22
  }
23
+ export declare const Content: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
15
24
  export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
16
25
  export interface DrawerRootProps {
17
26
  children: ReactNode;
@@ -8,8 +8,8 @@ var _styles = require("./styles");
8
8
  var _DialogClose = require("../NewDialog/DialogClose");
9
9
  var _DialogTitle = require("../NewDialog/DialogTitle");
10
10
  var _jsxRuntime = require("theme-ui/jsx-runtime");
11
- var _excluded = ["children", "variant", "label", "width", "height"],
12
- _excluded2 = ["children", "width", "height", "variant", "trigger", "label"];
11
+ var _excluded = ["children", "variant", "label", "dimensions", "renderClose"],
12
+ _excluded2 = ["children", "dimensions", "variant", "trigger", "label"];
13
13
  /** @jsxImportSource theme-ui */
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
  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); }
@@ -21,26 +21,25 @@ var Content = exports.Content = /*#__PURE__*/_react["default"].forwardRef(functi
21
21
  _ref$variant = _ref.variant,
22
22
  variant = _ref$variant === void 0 ? 'left' : _ref$variant,
23
23
  label = _ref.label,
24
- width = _ref.width,
25
- height = _ref.height,
24
+ dimensions = _ref.dimensions,
25
+ renderClose = _ref.renderClose,
26
26
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
27
27
  return (0, _jsxRuntime.jsxs)(DialogPrimitive.Portal, {
28
28
  children: [(0, _jsxRuntime.jsx)(DialogPrimitive.Overlay, {
29
29
  sx: (0, _styles.drawerOverlayStyles)(variant)
30
30
  }), (0, _jsxRuntime.jsxs)(DialogPrimitive.Content, _extends({}, rest, {
31
- sx: (0, _styles.drawerContentStyles)(variant, width, height),
31
+ sx: (0, _styles.drawerContentStyles)(variant, dimensions),
32
32
  ref: forwardedRef,
33
33
  children: [(0, _jsxRuntime.jsx)(_DialogTitle.DialogTitle, {
34
34
  title: label,
35
35
  hidden: true
36
- }), (0, _jsxRuntime.jsx)(_DialogClose.DialogCloseDefault, {}), children]
36
+ }), renderClose ? renderClose() : (0, _jsxRuntime.jsx)(_DialogClose.DialogClose, {}), children]
37
37
  }))]
38
38
  });
39
39
  });
40
40
  var Drawer = exports.Drawer = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, forwardedRef) {
41
41
  var children = _ref2.children,
42
- width = _ref2.width,
43
- height = _ref2.height,
42
+ dimensions = _ref2.dimensions,
44
43
  _ref2$variant = _ref2.variant,
45
44
  variant = _ref2$variant === void 0 ? 'left' : _ref2$variant,
46
45
  trigger = _ref2.trigger,
@@ -49,7 +48,7 @@ var Drawer = exports.Drawer = /*#__PURE__*/_react["default"].forwardRef(function
49
48
  return (0, _jsxRuntime.jsx)(Root, {
50
49
  trigger: trigger,
51
50
  children: (0, _jsxRuntime.jsx)(Content, _extends({
52
- width: width,
51
+ dimensions: dimensions,
53
52
  variant: variant,
54
53
  label: label,
55
54
  ref: forwardedRef
@@ -17,4 +17,3 @@ export default _default;
17
17
  type Story = StoryObj<typeof Drawer>;
18
18
  export declare const Default: Story;
19
19
  export declare const ByParts: Story;
20
- export declare const VIPMobileMenu: Story;