@automattic/vip-design-system 2.10.0 → 2.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.js +23 -19
- package/build/declaration.d.js +0 -1
- package/build/system/Accordion/Accordion.js +28 -33
- package/build/system/Accordion/Accordion.stories.js +34 -35
- package/build/system/Accordion/Accordion.test.js +35 -34
- package/build/system/Accordion/index.js +5 -8
- package/build/system/Avatar/Avatar.js +13 -17
- package/build/system/Avatar/Avatar.stories.js +10 -12
- package/build/system/Avatar/Avatar.test.js +15 -14
- package/build/system/Avatar/index.js +4 -6
- package/build/system/Badge/Badge.js +9 -14
- package/build/system/Badge/Badge.stories.js +23 -23
- package/build/system/Badge/Badge.test.js +15 -14
- package/build/system/Badge/index.js +4 -6
- package/build/system/Box/Box.js +9 -13
- package/build/system/Box/Box.stories.js +5 -8
- package/build/system/Breadcrumbs/Breadcrumbs.js +34 -38
- package/build/system/Breadcrumbs/Breadcrumbs.stories.js +18 -21
- package/build/system/Breadcrumbs/Breadcrumbs.test.js +28 -30
- package/build/system/Breadcrumbs/styles.js +5 -9
- package/build/system/Button/Button.js +11 -17
- package/build/system/Button/Button.stories.js +34 -33
- package/build/system/Button/Button.test.js +17 -16
- package/build/system/Button/ButtonSubmit.js +12 -16
- package/build/system/Button/ButtonSubmit.stories.js +12 -16
- package/build/system/Button/ButtonSubmit.test.js +15 -14
- package/build/system/Button/index.js +5 -8
- package/build/system/Card/Card.js +12 -14
- package/build/system/Card/Card.stories.js +21 -24
- package/build/system/Card/Card.test.js +19 -18
- package/build/system/Card/index.js +4 -6
- package/build/system/Code/Code.js +19 -23
- package/build/system/Code/Code.stories.js +16 -18
- package/build/system/Code/Code.test.js +20 -19
- package/build/system/Code/index.js +4 -6
- package/build/system/Drawer/Drawer.js +25 -30
- package/build/system/Drawer/Drawer.stories.js +38 -39
- package/build/system/Drawer/Drawer.test.js +19 -18
- package/build/system/Drawer/styles.js +9 -11
- package/build/system/Dropdown/Dropdown.js +23 -26
- package/build/system/Dropdown/Dropdown.test.js +16 -18
- package/build/system/Dropdown/DropdownContent.js +14 -20
- package/build/system/Dropdown/DropdownItem.js +19 -25
- package/build/system/Dropdown/DropdownLabel.js +10 -16
- package/build/system/Dropdown/DropdownSeparator.js +10 -16
- package/build/system/Dropdown/index.js +20 -23
- package/build/system/FilterDropdown/FilterDropdown.js +23 -29
- package/build/system/FilterDropdown/FilterDropdown.stories.js +9 -11
- package/build/system/FilterDropdown/FilterDropdown.test.js +7 -10
- package/build/system/Flex/Flex.js +7 -10
- package/build/system/Flex/Flex.stories.js +6 -10
- package/build/system/Flex/index.js +4 -6
- package/build/system/Footer/Footer.d.ts +33 -0
- package/build/system/Footer/Footer.js +82 -0
- package/build/system/Footer/Footer.stories.d.ts +41 -0
- package/build/system/Footer/Footer.stories.js +53 -0
- package/build/system/Footer/Footer.test.d.ts +1 -0
- package/build/system/Footer/Footer.test.js +36 -0
- package/build/system/Form/Checkbox/Checkbox.js +14 -18
- package/build/system/Form/Checkbox/Checkbox.stories.js +47 -48
- package/build/system/Form/Checkbox/Checkbox.test.js +23 -21
- package/build/system/Form/Checkbox/styles.js +7 -10
- package/build/system/Form/Input.js +19 -18
- package/build/system/Form/Input.stories.js +16 -18
- package/build/system/Form/Input.styles.js +5 -9
- package/build/system/Form/Label.js +14 -16
- package/build/system/Form/Label.stories.js +15 -15
- package/build/system/Form/Radio/Radio.js +13 -18
- package/build/system/Form/Radio/Radio.stories.js +43 -43
- package/build/system/Form/Radio/Radio.test.js +19 -18
- package/build/system/Form/Radio/RadioOption.js +22 -23
- package/build/system/Form/Radio/styles.js +7 -10
- package/build/system/Form/RadioGroupChip.js +26 -29
- package/build/system/Form/RadioGroupChip.stories.js +12 -15
- package/build/system/Form/RadioGroupChip.test.js +12 -11
- package/build/system/Form/RequiredLabel.js +3 -7
- package/build/system/Form/Toggle.js +11 -16
- package/build/system/Form/Toggle.stories.js +25 -27
- package/build/system/Form/Toggle.test.js +12 -11
- package/build/system/Form/Validation.js +10 -12
- package/build/system/Form/index.d.ts +2 -1
- package/build/system/Form/index.js +2 -0
- package/build/system/Grid/Grid.js +7 -10
- package/build/system/Grid/Grid.stories.js +6 -10
- package/build/system/Grid/index.js +4 -6
- package/build/system/Heading/Heading.js +9 -14
- package/build/system/Heading/Heading.stories.js +13 -16
- package/build/system/Hr/Hr.js +3 -7
- package/build/system/Hr/Hr.stories.js +10 -11
- package/build/system/Hr/Hr.test.js +14 -14
- package/build/system/Link/Link.js +11 -14
- package/build/system/Link/Link.stories.js +11 -14
- package/build/system/Link/index.js +4 -6
- package/build/system/LinkExternal/LinkExternal.d.ts +23 -3
- package/build/system/LinkExternal/LinkExternal.js +17 -23
- package/build/system/LinkExternal/LinkExternal.stories.d.ts +1 -8
- package/build/system/LinkExternal/LinkExternal.stories.js +4 -9
- package/build/system/LinkExternal/LinkExternal.test.js +14 -15
- package/build/system/MobileMenu/MobileMenu.js +24 -29
- package/build/system/MobileMenu/MobileMenu.stories.js +66 -67
- package/build/system/MobileMenu/MobileMenu.test.js +21 -22
- package/build/system/Nav/Nav.js +26 -32
- package/build/system/Nav/Nav.stories.js +97 -99
- package/build/system/Nav/Nav.test.js +32 -28
- package/build/system/Nav/NavItem.js +40 -45
- package/build/system/Nav/NavItemGroup.js +34 -39
- package/build/system/Nav/NavItemGroup.test.js +26 -23
- package/build/system/Nav/styles/variants/breadcrumbs.js +4 -7
- package/build/system/Nav/styles/variants/menu.js +8 -12
- package/build/system/Nav/styles/variants/menugroup.js +7 -11
- package/build/system/Nav/styles/variants/primary.js +4 -8
- package/build/system/Nav/styles/variants/tabs.js +3 -7
- package/build/system/Nav/styles/variants/toolbar.js +5 -8
- package/build/system/Nav/styles.js +26 -29
- package/build/system/NewDialog/DialogClose.js +14 -18
- package/build/system/NewDialog/DialogClose.test.js +11 -14
- package/build/system/NewDialog/DialogDescription.js +9 -15
- package/build/system/NewDialog/DialogOverlay.js +11 -13
- package/build/system/NewDialog/DialogTitle.js +7 -15
- package/build/system/NewDialog/NewDialog.js +24 -29
- package/build/system/NewDialog/index.js +7 -11
- package/build/system/NewDialog/styles.js +1 -5
- package/build/system/NewForm/Fieldset.js +13 -17
- package/build/system/NewForm/Form.js +8 -13
- package/build/system/NewForm/FormAutocomplete.js +2 -2
- package/build/system/NewForm/Legend.js +11 -15
- package/build/system/Notice/Notice.js +22 -25
- package/build/system/Notice/Notice.stories.js +41 -43
- package/build/system/Notice/index.js +5 -5
- package/build/system/Page/Page.js +4 -8
- package/build/system/Page/Page.test.js +14 -14
- package/build/system/Progress/Progress.js +21 -24
- package/build/system/Progress/Progress.stories.js +9 -15
- package/build/system/Progress/Progress.test.js +14 -13
- package/build/system/Progress/index.js +4 -6
- package/build/system/ScreenReaderText/ScreenReaderText.js +9 -9
- package/build/system/Spinner/Spinner.js +9 -14
- package/build/system/Spinner/Spinner.stories.js +6 -10
- package/build/system/Spinner/Spinner.test.js +14 -13
- package/build/system/Spinner/index.js +1 -6
- package/build/system/Table/Table.js +20 -22
- package/build/system/Table/Table.stories.js +29 -30
- package/build/system/Table/TableCell.js +9 -11
- package/build/system/Table/TableRow.js +10 -11
- package/build/system/Table/index.js +6 -10
- package/build/system/Text/Text.js +9 -14
- package/build/system/Text/Text.stories.js +24 -25
- package/build/system/Text/index.js +4 -6
- package/build/system/Toolbar/Logo.js +11 -15
- package/build/system/Toolbar/Toolbar.js +12 -17
- package/build/system/Toolbar/Toolbar.stories.js +47 -50
- package/build/system/Toolbar/Toolbar.test.js +26 -24
- package/build/system/Toolbar/ToolbarUtilNav.js +9 -16
- package/build/system/Toolbar/index.js +10 -15
- package/build/system/Tooltip/Tooltip.js +9 -14
- package/build/system/Tooltip/Tooltip.stories.js +29 -31
- package/build/system/Tooltip/index.js +5 -5
- package/build/system/Wizard/Wizard.js +11 -18
- package/build/system/Wizard/Wizard.stories.js +37 -38
- package/build/system/Wizard/WizardStep.js +26 -32
- package/build/system/Wizard/index.js +6 -7
- package/build/system/assets/a8cLogo.d.ts +2 -0
- package/build/system/assets/a8cLogo.js +39 -0
- package/build/system/index.d.ts +2 -1
- package/build/system/index.js +2 -0
- package/build/system/theme/breakpoints.js +1 -5
- package/build/system/utils/stories/CustomLink.js +7 -13
- package/package.json +1 -1
- package/src/system/Footer/Footer.stories.tsx +46 -0
- package/src/system/Footer/Footer.test.tsx +40 -0
- package/src/system/Footer/Footer.tsx +120 -0
- package/src/system/Form/index.js +2 -0
- package/src/system/LinkExternal/LinkExternal.tsx +27 -8
- package/src/system/NewForm/FormAutocomplete.js +2 -2
- package/src/system/assets/a8cLogo.tsx +30 -0
- package/src/system/index.js +2 -0
|
@@ -1,35 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = require("@testing-library/react");
|
|
4
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
5
|
-
var matchMedia = _interopRequireWildcard(require("@theme-ui/match-media"));
|
|
6
|
-
var _jestAxe = require("jest-axe");
|
|
7
|
-
var _themeUi = require("theme-ui");
|
|
8
|
-
var _Breadcrumbs = require("./Breadcrumbs");
|
|
9
|
-
var _ = require("../");
|
|
10
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
11
|
-
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); }
|
|
12
|
-
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; }
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
1
|
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; }
|
|
15
2
|
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); } }
|
|
16
3
|
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); }); }; }
|
|
17
|
-
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); }
|
|
4
|
+
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); }
|
|
5
|
+
/** @jsxImportSource theme-ui */
|
|
6
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
7
|
+
// @ts-nocheck
|
|
8
|
+
import { render, screen } from '@testing-library/react';
|
|
9
|
+
import userEvent from '@testing-library/user-event';
|
|
10
|
+
import * as matchMedia from '@theme-ui/match-media';
|
|
11
|
+
import { axe } from 'jest-axe';
|
|
12
|
+
import { ThemeUIProvider } from 'theme-ui';
|
|
13
|
+
import { Breadcrumbs } from './Breadcrumbs';
|
|
14
|
+
import { theme } from '../';
|
|
15
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
18
16
|
jest.mock('@theme-ui/match-media');
|
|
19
17
|
var mockBreakpointIndex = matchMedia.useBreakpointIndex;
|
|
20
18
|
|
|
21
19
|
// eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
22
20
|
var CustomLink = function CustomLink(props) {
|
|
23
|
-
return (
|
|
21
|
+
return _jsx("a", _extends({}, props));
|
|
24
22
|
};
|
|
25
23
|
var renderWithTheme = function renderWithTheme(children) {
|
|
26
|
-
return
|
|
27
|
-
theme:
|
|
24
|
+
return render(_jsx(ThemeUIProvider, {
|
|
25
|
+
theme: theme,
|
|
28
26
|
children: children
|
|
29
27
|
}));
|
|
30
28
|
};
|
|
31
29
|
var renderComponent = function renderComponent() {
|
|
32
|
-
return renderWithTheme((
|
|
30
|
+
return renderWithTheme(_jsx(Breadcrumbs, {
|
|
33
31
|
label: "Main Breadcrumb",
|
|
34
32
|
LinkComponent: CustomLink,
|
|
35
33
|
links: [{
|
|
@@ -61,17 +59,17 @@ describe('<Breadcrumbs />', function () {
|
|
|
61
59
|
while (1) switch (_context.prev = _context.next) {
|
|
62
60
|
case 0:
|
|
63
61
|
_renderComponent = renderComponent(), container = _renderComponent.container; // Should find the nav label
|
|
64
|
-
expect(
|
|
62
|
+
expect(screen.getByLabelText('Main Breadcrumb')).toBeInTheDocument();
|
|
65
63
|
|
|
66
64
|
// Should find all links
|
|
67
|
-
expect(
|
|
68
|
-
expect(
|
|
69
|
-
expect(
|
|
65
|
+
expect(screen.getByText('Home')).toBeInTheDocument();
|
|
66
|
+
expect(screen.getByText('Applications')).toBeInTheDocument();
|
|
67
|
+
expect(screen.getByText('Application Name')).toHaveAttribute('aria-current', 'page');
|
|
70
68
|
|
|
71
69
|
// Check for accessibility issues
|
|
72
70
|
_context.t0 = expect;
|
|
73
71
|
_context.next = 8;
|
|
74
|
-
return
|
|
72
|
+
return axe(container);
|
|
75
73
|
case 8:
|
|
76
74
|
_context.t1 = _context.sent;
|
|
77
75
|
(0, _context.t0)(_context.t1).toHaveNoViolations();
|
|
@@ -106,24 +104,24 @@ describe('<Breadcrumbs />', function () {
|
|
|
106
104
|
}, {
|
|
107
105
|
label: 'The last'
|
|
108
106
|
}];
|
|
109
|
-
user =
|
|
110
|
-
_renderWithTheme = renderWithTheme((
|
|
107
|
+
user = userEvent.setup();
|
|
108
|
+
_renderWithTheme = renderWithTheme(_jsx(Breadcrumbs, {
|
|
111
109
|
wrapMode: "collapsible",
|
|
112
110
|
label: "Main Collapsible Breadcrumb",
|
|
113
111
|
LinkComponent: CustomLink,
|
|
114
112
|
links: links
|
|
115
113
|
})), container = _renderWithTheme.container; // Should find the nav label
|
|
116
|
-
navEl =
|
|
114
|
+
navEl = screen.getByLabelText('Main Collapsible Breadcrumb');
|
|
117
115
|
expect(navEl).toBeInTheDocument();
|
|
118
116
|
|
|
119
117
|
// Contract should have
|
|
120
118
|
expect(navEl.querySelectorAll('li')).toHaveLength(3);
|
|
121
|
-
pressToShowButton =
|
|
119
|
+
pressToShowButton = screen.getByRole('button', {
|
|
122
120
|
name: 'Press to show more breadcrumbs'
|
|
123
121
|
}); // Should find all links
|
|
124
|
-
expect(
|
|
122
|
+
expect(screen.getByText('Home')).toBeInTheDocument();
|
|
125
123
|
expect(pressToShowButton).toBeInTheDocument();
|
|
126
|
-
expect(
|
|
124
|
+
expect(screen.getByText('The last')).toHaveAttribute('aria-current', 'page');
|
|
127
125
|
|
|
128
126
|
// Click to expand the breadcrumbs
|
|
129
127
|
_context2.next = 13;
|
|
@@ -134,7 +132,7 @@ describe('<Breadcrumbs />', function () {
|
|
|
134
132
|
// Check for accessibility issues
|
|
135
133
|
_context2.t0 = expect;
|
|
136
134
|
_context2.next = 17;
|
|
137
|
-
return
|
|
135
|
+
return axe(container);
|
|
138
136
|
case 17:
|
|
139
137
|
_context2.t1 = _context2.sent;
|
|
140
138
|
(0, _context2.t0)(_context2.t1).toHaveNoViolations();
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.smallestScreenItemStyles = exports.collapsibleSeparatorStyles = void 0;
|
|
5
|
-
var _Link = require("../Link/Link");
|
|
6
|
-
var _breadcrumbs = require("../Nav/styles/variants/breadcrumbs");
|
|
7
1
|
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); }
|
|
8
|
-
|
|
2
|
+
import { linkUnderlineProperties } from '../Link/Link';
|
|
3
|
+
import { breadcrumbsLinkStyles } from '../Nav/styles/variants/breadcrumbs';
|
|
4
|
+
export var smallestScreenItemStyles = {
|
|
9
5
|
'&::before': {
|
|
10
6
|
display: 'inline-block',
|
|
11
7
|
margin: 0,
|
|
@@ -17,6 +13,6 @@ var smallestScreenItemStyles = exports.smallestScreenItemStyles = {
|
|
|
17
13
|
content: "'←'"
|
|
18
14
|
}
|
|
19
15
|
};
|
|
20
|
-
var collapsibleSeparatorStyles =
|
|
16
|
+
export var collapsibleSeparatorStyles = _extends({
|
|
21
17
|
all: 'unset'
|
|
22
|
-
},
|
|
18
|
+
}, breadcrumbsLinkStyles, linkUnderlineProperties);
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.ButtonVariant = exports.Button = void 0;
|
|
5
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
6
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
-
var _themeUi = require("theme-ui");
|
|
8
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
9
1
|
var _excluded = ["className", "disabled", "onClick", "sx", "full", "grow"];
|
|
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); }
|
|
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 }; }
|
|
13
2
|
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); }
|
|
14
3
|
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; }
|
|
15
|
-
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import React, { useCallback, forwardRef } from 'react';
|
|
6
|
+
import { Button as ThemeButton } from 'theme-ui';
|
|
7
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
8
|
+
export var ButtonVariant = /*#__PURE__*/function (ButtonVariant) {
|
|
16
9
|
ButtonVariant[ButtonVariant["danger"] = 0] = "danger";
|
|
17
10
|
ButtonVariant[ButtonVariant["display"] = 1] = "display";
|
|
18
11
|
ButtonVariant[ButtonVariant["ghost"] = 2] = "ghost";
|
|
@@ -23,7 +16,7 @@ var ButtonVariant = exports.ButtonVariant = /*#__PURE__*/function (ButtonVariant
|
|
|
23
16
|
ButtonVariant[ButtonVariant["text"] = 7] = "text";
|
|
24
17
|
return ButtonVariant;
|
|
25
18
|
}({});
|
|
26
|
-
var Button =
|
|
19
|
+
var Button = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
27
20
|
var className = _ref.className,
|
|
28
21
|
disabled = _ref.disabled,
|
|
29
22
|
onClick = _ref.onClick,
|
|
@@ -31,7 +24,7 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
|
|
|
31
24
|
full = _ref.full,
|
|
32
25
|
grow = _ref.grow,
|
|
33
26
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
34
|
-
var handleOnClick =
|
|
27
|
+
var handleOnClick = useCallback(function (event) {
|
|
35
28
|
if (disabled) {
|
|
36
29
|
return event.preventDefault();
|
|
37
30
|
}
|
|
@@ -39,7 +32,7 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
|
|
|
39
32
|
return onClick(event);
|
|
40
33
|
}
|
|
41
34
|
}, [disabled, onClick]);
|
|
42
|
-
return (
|
|
35
|
+
return _jsx(ThemeButton, _extends({
|
|
43
36
|
sx: _extends({
|
|
44
37
|
'&:focus': 'none',
|
|
45
38
|
'&:focus-visible': function focusVisible(theme) {
|
|
@@ -61,8 +54,9 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref
|
|
|
61
54
|
}, rest, {
|
|
62
55
|
"aria-disabled": disabled,
|
|
63
56
|
onClick: handleOnClick,
|
|
64
|
-
className: (
|
|
57
|
+
className: classNames('vip-button-component', className),
|
|
65
58
|
ref: ref
|
|
66
59
|
}));
|
|
67
60
|
});
|
|
68
|
-
Button.displayName = 'Button';
|
|
61
|
+
Button.displayName = 'Button';
|
|
62
|
+
export { Button };
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
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); }
|
|
2
|
+
/** @jsxImportSource theme-ui */
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
exports["default"] = exports.Default = void 0;
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var _bi = require("react-icons/bi");
|
|
7
|
-
var _ = require("..");
|
|
8
|
-
var _Flex = require("../Flex/Flex");
|
|
9
|
-
var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
|
|
10
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
-
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); } /** @jsxImportSource theme-ui */ /**
|
|
4
|
+
/**
|
|
13
5
|
* External dependencies
|
|
14
|
-
*/
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { BiCalendarHeart } from 'react-icons/bi';
|
|
9
|
+
|
|
10
|
+
/**
|
|
15
11
|
* Internal dependencies
|
|
16
12
|
*/
|
|
17
|
-
|
|
13
|
+
import { Button, ButtonVariant } from '..';
|
|
14
|
+
import { Flex } from '../Flex/Flex';
|
|
15
|
+
import ScreenReaderText from '../ScreenReaderText';
|
|
16
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
17
|
+
import { jsxs as _jsxs } from "theme-ui/jsx-runtime";
|
|
18
|
+
export default {
|
|
18
19
|
title: 'Button',
|
|
19
|
-
component:
|
|
20
|
+
component: Button,
|
|
20
21
|
argTypes: {
|
|
21
22
|
children: {},
|
|
22
23
|
disabled: {
|
|
@@ -26,7 +27,7 @@ var _default = exports["default"] = {
|
|
|
26
27
|
},
|
|
27
28
|
variant: {
|
|
28
29
|
type: 'select',
|
|
29
|
-
options: Object.values(
|
|
30
|
+
options: Object.values(ButtonVariant)
|
|
30
31
|
}
|
|
31
32
|
},
|
|
32
33
|
parameters: {
|
|
@@ -38,50 +39,50 @@ var _default = exports["default"] = {
|
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
var Template = function Template(args) {
|
|
41
|
-
return (
|
|
42
|
-
children: [(
|
|
42
|
+
return _jsxs("div", {
|
|
43
|
+
children: [_jsxs(Flex, {
|
|
43
44
|
sx: {
|
|
44
45
|
gap: 2,
|
|
45
46
|
flexDirection: 'row'
|
|
46
47
|
},
|
|
47
|
-
children: [(
|
|
48
|
+
children: [_jsx(Button, _extends({}, args, {
|
|
48
49
|
children: "Primary"
|
|
49
|
-
})), (
|
|
50
|
+
})), _jsx(Button, _extends({
|
|
50
51
|
variant: "secondary",
|
|
51
52
|
sx: {
|
|
52
53
|
ml: 2
|
|
53
54
|
}
|
|
54
55
|
}, args, {
|
|
55
56
|
children: "Secondary"
|
|
56
|
-
})), (
|
|
57
|
+
})), _jsx(Button, _extends({
|
|
57
58
|
variant: "tertiary",
|
|
58
59
|
sx: {
|
|
59
60
|
ml: 2
|
|
60
61
|
}
|
|
61
62
|
}, args, {
|
|
62
63
|
children: "Tertiary"
|
|
63
|
-
})), (
|
|
64
|
+
})), _jsx(Button, _extends({
|
|
64
65
|
variant: "ghost",
|
|
65
66
|
sx: {
|
|
66
67
|
ml: 2
|
|
67
68
|
}
|
|
68
69
|
}, args, {
|
|
69
70
|
children: "Ghost"
|
|
70
|
-
})), (
|
|
71
|
+
})), _jsx(Button, _extends({
|
|
71
72
|
variant: "display",
|
|
72
73
|
sx: {
|
|
73
74
|
ml: 2
|
|
74
75
|
}
|
|
75
76
|
}, args, {
|
|
76
77
|
children: "Display"
|
|
77
|
-
})), (
|
|
78
|
+
})), _jsx(Button, _extends({
|
|
78
79
|
variant: "danger",
|
|
79
80
|
sx: {
|
|
80
81
|
ml: 2
|
|
81
82
|
}
|
|
82
83
|
}, args, {
|
|
83
84
|
children: "Danger"
|
|
84
|
-
})), (
|
|
85
|
+
})), _jsx(Button, _extends({
|
|
85
86
|
variant: "primary",
|
|
86
87
|
disabled: true,
|
|
87
88
|
sx: {
|
|
@@ -89,7 +90,7 @@ var Template = function Template(args) {
|
|
|
89
90
|
}
|
|
90
91
|
}, args, {
|
|
91
92
|
children: "Disabled"
|
|
92
|
-
})), (
|
|
93
|
+
})), _jsx(Button, _extends({
|
|
93
94
|
variant: "text",
|
|
94
95
|
sx: {
|
|
95
96
|
ml: 2
|
|
@@ -98,36 +99,36 @@ var Template = function Template(args) {
|
|
|
98
99
|
href: "https://google/com"
|
|
99
100
|
}, args, {
|
|
100
101
|
children: "Button link"
|
|
101
|
-
})), (
|
|
102
|
+
})), _jsxs(Button, _extends({
|
|
102
103
|
variant: "icon",
|
|
103
104
|
sx: {
|
|
104
105
|
ml: 2
|
|
105
106
|
},
|
|
106
107
|
type: "button"
|
|
107
108
|
}, args, {
|
|
108
|
-
children: [(
|
|
109
|
+
children: [_jsx(BiCalendarHeart, {
|
|
109
110
|
size: 24
|
|
110
|
-
}), (
|
|
111
|
+
}), _jsx(ScreenReaderText, {
|
|
111
112
|
children: "domain.com"
|
|
112
113
|
})]
|
|
113
114
|
}))]
|
|
114
|
-
}), (
|
|
115
|
+
}), _jsx("div", {
|
|
115
116
|
sx: {
|
|
116
117
|
mt: 3
|
|
117
118
|
},
|
|
118
|
-
children: (
|
|
119
|
+
children: _jsx(Button, _extends({
|
|
119
120
|
variant: "secondary",
|
|
120
121
|
href: "https://google/com"
|
|
121
122
|
}, args, {
|
|
122
123
|
full: true,
|
|
123
124
|
children: "Button with full width"
|
|
124
125
|
}))
|
|
125
|
-
}), (
|
|
126
|
+
}), _jsx("div", {
|
|
126
127
|
sx: {
|
|
127
128
|
mt: 3,
|
|
128
129
|
display: 'flex'
|
|
129
130
|
},
|
|
130
|
-
children: (
|
|
131
|
+
children: _jsx(Button, _extends({
|
|
131
132
|
variant: "secondary",
|
|
132
133
|
href: "https://google/com"
|
|
133
134
|
}, args, {
|
|
@@ -137,4 +138,4 @@ var Template = function Template(args) {
|
|
|
137
138
|
})]
|
|
138
139
|
});
|
|
139
140
|
};
|
|
140
|
-
var Default =
|
|
141
|
+
export var Default = Template.bind({});
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = require("@testing-library/react");
|
|
4
|
-
var _jestAxe = require("jest-axe");
|
|
5
|
-
var _Button = require("./Button");
|
|
6
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
7
1
|
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; }
|
|
8
2
|
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); } }
|
|
9
|
-
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); }); }; }
|
|
3
|
+
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); }); }; }
|
|
4
|
+
/**
|
|
10
5
|
* External dependencies
|
|
11
|
-
*/
|
|
6
|
+
*/
|
|
7
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
8
|
+
import { axe } from 'jest-axe';
|
|
9
|
+
|
|
10
|
+
/**
|
|
12
11
|
* Internal dependencies
|
|
13
12
|
*/
|
|
13
|
+
import { Button } from './Button';
|
|
14
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
14
15
|
var BUTTON_TEXT = 'Button Text';
|
|
15
16
|
describe('<Button />', function () {
|
|
16
17
|
it('renders the Button component', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
@@ -19,19 +20,19 @@ describe('<Button />', function () {
|
|
|
19
20
|
while (1) switch (_context.prev = _context.next) {
|
|
20
21
|
case 0:
|
|
21
22
|
onClick = jest.fn(function () {});
|
|
22
|
-
_render =
|
|
23
|
+
_render = render(_jsx(Button, {
|
|
23
24
|
onClick: onClick,
|
|
24
25
|
children: BUTTON_TEXT
|
|
25
26
|
})), container = _render.container;
|
|
26
|
-
component =
|
|
27
|
+
component = screen.getByText(BUTTON_TEXT);
|
|
27
28
|
expect(component).toBeInTheDocument();
|
|
28
|
-
|
|
29
|
+
fireEvent.click(component);
|
|
29
30
|
expect(onClick).toHaveBeenCalledTimes(1);
|
|
30
31
|
|
|
31
32
|
// Check for accessibility issues
|
|
32
33
|
_context.t0 = expect;
|
|
33
34
|
_context.next = 9;
|
|
34
|
-
return
|
|
35
|
+
return axe(container);
|
|
35
36
|
case 9:
|
|
36
37
|
_context.t1 = _context.sent;
|
|
37
38
|
(0, _context.t0)(_context.t1).toHaveNoViolations();
|
|
@@ -47,22 +48,22 @@ describe('<Button />', function () {
|
|
|
47
48
|
while (1) switch (_context2.prev = _context2.next) {
|
|
48
49
|
case 0:
|
|
49
50
|
onClick = jest.fn(function () {});
|
|
50
|
-
_render2 =
|
|
51
|
+
_render2 = render(_jsx(Button, {
|
|
51
52
|
disabled: true,
|
|
52
53
|
onClick: onClick,
|
|
53
54
|
children: BUTTON_TEXT
|
|
54
55
|
})), container = _render2.container;
|
|
55
|
-
component =
|
|
56
|
+
component = screen.getByText(BUTTON_TEXT);
|
|
56
57
|
expect(component).toBeInTheDocument();
|
|
57
58
|
expect(component).toHaveAttribute('aria-disabled', 'true');
|
|
58
59
|
expect(component).not.toHaveAttribute('disabled');
|
|
59
|
-
|
|
60
|
+
fireEvent.click(component);
|
|
60
61
|
expect(onClick).toHaveBeenCalledTimes(0);
|
|
61
62
|
|
|
62
63
|
// Check for accessibility issues
|
|
63
64
|
_context2.t0 = expect;
|
|
64
65
|
_context2.next = 11;
|
|
65
|
-
return
|
|
66
|
+
return axe(container);
|
|
66
67
|
case 11:
|
|
67
68
|
_context2.t1 = _context2.sent;
|
|
68
69
|
(0, _context2.t0)(_context2.t1).toHaveNoViolations();
|
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.ButtonSubmit = void 0;
|
|
5
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _Button = require("./Button");
|
|
8
|
-
var _Spinner = require("../Spinner");
|
|
9
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
10
1
|
var _excluded = ["show", "variant", "label", "loading", "disabled", "loadingIcon", "loadingIconSize"];
|
|
2
|
+
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); }
|
|
3
|
+
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; }
|
|
11
4
|
/**
|
|
12
5
|
* External dependencies
|
|
13
6
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { Button } from './Button';
|
|
10
|
+
import { Spinner } from '../Spinner';
|
|
11
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs } from "theme-ui/jsx-runtime";
|
|
17
13
|
function DefaultSpinner(_ref) {
|
|
18
14
|
var size = _ref.size,
|
|
19
15
|
_ref$color = _ref.color,
|
|
20
16
|
color = _ref$color === void 0 ? 'link' : _ref$color;
|
|
21
|
-
return (
|
|
17
|
+
return _jsx(Spinner, {
|
|
22
18
|
size: size,
|
|
23
19
|
sx: {
|
|
24
20
|
ml: 2,
|
|
@@ -28,7 +24,7 @@ function DefaultSpinner(_ref) {
|
|
|
28
24
|
});
|
|
29
25
|
}
|
|
30
26
|
DefaultSpinner.displayName = 'DefaultSpinner';
|
|
31
|
-
var ButtonSubmit =
|
|
27
|
+
export var ButtonSubmit = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
32
28
|
var _ref2$show = _ref2.show,
|
|
33
29
|
show = _ref2$show === void 0 ? true : _ref2$show,
|
|
34
30
|
_ref2$variant = _ref2.variant,
|
|
@@ -46,9 +42,9 @@ var ButtonSubmit = exports.ButtonSubmit = /*#__PURE__*/_react["default"].forward
|
|
|
46
42
|
if (!show) {
|
|
47
43
|
return null;
|
|
48
44
|
}
|
|
49
|
-
return (
|
|
45
|
+
return _jsxs(Button, _extends({
|
|
50
46
|
ref: ref,
|
|
51
|
-
className: (
|
|
47
|
+
className: classNames('vip-button-submit-component', "vip-button-submit-" + variant),
|
|
52
48
|
disabled: disabled || loading,
|
|
53
49
|
variant: variant,
|
|
54
50
|
"aria-busy": loading
|
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = exports.Secondary = exports.Primary = exports.Loading = void 0;
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var _ = require("..");
|
|
7
|
-
var _jsxRuntime = require("theme-ui/jsx-runtime");
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
9
1
|
/**
|
|
10
2
|
* External dependencies
|
|
11
3
|
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { ButtonSubmit } from '..';
|
|
6
|
+
import { jsx as _jsx } from "theme-ui/jsx-runtime";
|
|
12
7
|
/**
|
|
13
8
|
* Internal dependencies
|
|
14
9
|
*/
|
|
15
|
-
|
|
10
|
+
|
|
11
|
+
export default {
|
|
16
12
|
title: 'ButtonSubmit',
|
|
17
|
-
component:
|
|
13
|
+
component: ButtonSubmit
|
|
18
14
|
};
|
|
19
|
-
var Primary =
|
|
15
|
+
export var Primary = {
|
|
20
16
|
render: function render() {
|
|
21
|
-
return (
|
|
17
|
+
return _jsx(ButtonSubmit, {
|
|
22
18
|
label: "Primary",
|
|
23
19
|
variant: "primary",
|
|
24
20
|
sx: {
|
|
@@ -27,9 +23,9 @@ var Primary = exports.Primary = {
|
|
|
27
23
|
});
|
|
28
24
|
}
|
|
29
25
|
};
|
|
30
|
-
var Secondary =
|
|
26
|
+
export var Secondary = {
|
|
31
27
|
render: function render() {
|
|
32
|
-
return (
|
|
28
|
+
return _jsx(ButtonSubmit, {
|
|
33
29
|
label: "Secondary",
|
|
34
30
|
variant: "secondary",
|
|
35
31
|
sx: {
|
|
@@ -38,9 +34,9 @@ var Secondary = exports.Secondary = {
|
|
|
38
34
|
});
|
|
39
35
|
}
|
|
40
36
|
};
|
|
41
|
-
var Loading =
|
|
37
|
+
export var Loading = {
|
|
42
38
|
render: function render() {
|
|
43
|
-
return (
|
|
39
|
+
return _jsx(ButtonSubmit, {
|
|
44
40
|
label: "Loading",
|
|
45
41
|
loading: true,
|
|
46
42
|
variant: "primary",
|