@qasa/qds-ui 0.1.2 → 0.1.4
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/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/heading/heading.d.ts +2 -6
- package/dist/cjs/types/components/icon/create-icon.d.ts +1 -3
- package/dist/cjs/types/components/label/label.d.ts +3 -1
- package/dist/cjs/types/components/paragraph/paragraph.d.ts +4 -7
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/heading/heading.d.ts +2 -6
- package/dist/esm/types/components/icon/create-icon.d.ts +1 -3
- package/dist/esm/types/components/label/label.d.ts +3 -1
- package/dist/esm/types/components/paragraph/paragraph.d.ts +4 -7
- package/dist/index.d.ts +10 -17
- package/package.json +8 -5
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../node_modules/stylis/dist/umd/stylis.js","../../node_modules/@emotion/cache/dist/emotion-cache.esm.js","../../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../src/styles/global-styles.tsx","../../src/styles/css-utils.ts","../../src/styles/common-styles.ts","../../src/theme/foundations/breakpoints.ts","../../src/theme/foundations/colors.ts","../../src/theme/foundations/spacing.ts","../../src/theme/foundations/sizes.ts","../../src/theme/foundations/typography.ts","../../src/theme/foundations/index.ts","../../src/theme/foundations/z-index.ts","../../src/theme/foundations/radius.ts","../../src/theme/foundations/shadows.ts","../../src/theme/theme.ts","../../src/utils/object.ts","../../src/theme/theme-tools.ts","../../src/styles/css-reset.tsx","../../src/qds-provider.tsx","../../src/hooks/use-image.ts","../../src/components/icon/create-icon.tsx","../../src/components/icon/icons/arrow-down.tsx","../../src/components/icon/icons/arrow-left.tsx","../../src/components/icon/icons/arrow-right.tsx","../../src/components/icon/icons/arrow-up.tsx","../../src/components/icon/icons/bell-slash.tsx","../../src/components/icon/icons/bell.tsx","../../src/components/icon/icons/calendar.tsx","../../src/components/icon/icons/check.tsx","../../src/components/icon/icons/chevron-down.tsx","../../src/components/icon/icons/chevron-left.tsx","../../src/components/icon/icons/chevron-right.tsx","../../src/components/icon/icons/chevron-up.tsx","../../src/components/icon/icons/ellipsis-vertical.tsx","../../src/components/icon/icons/ellipsis.tsx","../../src/components/icon/icons/heart-filled.tsx","../../src/components/icon/icons/heart.tsx","../../src/components/icon/icons/image.tsx","../../src/components/icon/icons/location-dot.tsx","../../src/components/icon/icons/map.tsx","../../src/components/icon/icons/plus.tsx","../../src/components/icon/icons/search.tsx","../../src/components/icon/icons/settings.tsx","../../src/components/icon/icons/star-filled.tsx","../../src/components/icon/icons/star.tsx","../../src/components/icon/icons/trash.tsx","../../src/components/icon/icons/user.tsx","../../src/components/icon/icons/xmark.tsx","../../src/components/avatar/avatar.tsx","../../src/components/loading-dots/loading-dots.tsx","../../src/components/button/button-styles.tsx","../../src/components/button/button.tsx","../../src/components/divider/divider.tsx","../../src/components/heading/heading.tsx","../../src/components/icon-button/icon-button-styles.tsx","../../src/components/icon-button/icon-button.tsx","../../src/components/image/image.tsx","../../src/hooks/use-breakpoint.ts","../../src/hooks/use-safe-layout-effect.ts","../../src/hooks/use-stable-id.ts","../../src/hooks/use-form-field.ts","../../src/components/label/label.tsx","../../src/components/primitives/input-base/input-base.tsx","../../src/components/_internal/form-parts.tsx","../../src/components/text-field/text-field.tsx","../../src/components/link/link.tsx","../../src/components/paragraph/paragraph.tsx","../../src/components/primitives/select-base/select-base.tsx","../../src/components/primitives/textarea-base/textarea-base.tsx","../../src/components/select/select-option.tsx","../../src/components/select/select.tsx","../../src/components/spacer/spacer.tsx","../../src/components/stack/stack.tsx","../../src/components/stack/stack.utils.tsx","../../src/components/textarea/textarea.tsx","../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","(function(e,r){typeof exports===\"object\"&&typeof module!==\"undefined\"?r(exports):typeof define===\"function\"&&define.amd?define([\"exports\"],r):(e=e||self,r(e.stylis={}))})(this,(function(e){\"use strict\";var r=\"-ms-\";var a=\"-moz-\";var c=\"-webkit-\";var t=\"comm\";var n=\"rule\";var s=\"decl\";var i=\"@page\";var u=\"@media\";var o=\"@import\";var f=\"@charset\";var l=\"@viewport\";var h=\"@supports\";var p=\"@document\";var v=\"@namespace\";var b=\"@keyframes\";var d=\"@font-face\";var m=\"@counter-style\";var w=\"@font-feature-values\";var k=Math.abs;var $=String.fromCharCode;var g=Object.assign;function x(e,r){return(((r<<2^O(e,0))<<2^O(e,1))<<2^O(e,2))<<2^O(e,3)}function E(e){return e.trim()}function y(e,r){return(e=r.exec(e))?e[0]:e}function T(e,r,a){return e.replace(r,a)}function A(e,r){return e.indexOf(r)}function O(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function M(e){return e.length}function S(e){return e.length}function R(e,r){return r.push(e),e}function z(e,r){return e.map(r).join(\"\")}e.line=1;e.column=1;e.length=0;e.position=0;e.character=0;e.characters=\"\";function N(r,a,c,t,n,s,i){return{value:r,root:a,parent:c,type:t,props:n,children:s,line:e.line,column:e.column,length:i,return:\"\"}}function P(e,r){return g(N(\"\",null,null,\"\",null,null,0),e,{length:-e.length},r)}function j(){return e.character}function U(){e.character=e.position>0?O(e.characters,--e.position):0;if(e.column--,e.character===10)e.column=1,e.line--;return e.character}function _(){e.character=e.position<e.length?O(e.characters,e.position++):0;if(e.column++,e.character===10)e.column=1,e.line++;return e.character}function F(){return O(e.characters,e.position)}function I(){return e.position}function L(r,a){return C(e.characters,r,a)}function D(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function K(r){return e.line=e.column=1,e.length=M(e.characters=r),e.position=0,[]}function V(r){return e.characters=\"\",r}function W(r){return E(L(e.position-1,Z(r===91?r+2:r===40?r+1:r)))}function Y(e){return V(G(K(e)))}function B(r){while(e.character=F())if(e.character<33)_();else break;return D(r)>2||D(e.character)>3?\"\":\" \"}function G(r){while(_())switch(D(e.character)){case 0:R(J(e.position-1),r);break;case 2:R(W(e.character),r);break;default:R($(e.character),r)}return r}function H(r,a){while(--a&&_())if(e.character<48||e.character>102||e.character>57&&e.character<65||e.character>70&&e.character<97)break;return L(r,I()+(a<6&&F()==32&&_()==32))}function Z(r){while(_())switch(e.character){case r:return e.position;case 34:case 39:if(r!==34&&r!==39)Z(e.character);break;case 40:if(r===41)Z(r);break;case 92:_();break}return e.position}function q(r,a){while(_())if(r+e.character===47+10)break;else if(r+e.character===42+42&&F()===47)break;return\"/*\"+L(a,e.position-1)+\"*\"+$(r===47?r:_())}function J(r){while(!D(F()))_();return L(r,e.position)}function Q(e){return V(X(\"\",null,null,null,[\"\"],e=K(e),0,[0],e))}function X(e,r,a,c,t,n,s,i,u){var o=0;var f=0;var l=s;var h=0;var p=0;var v=0;var b=1;var d=1;var m=1;var w=0;var k=\"\";var g=t;var x=n;var E=c;var y=k;while(d)switch(v=w,w=_()){case 40:if(v!=108&&y.charCodeAt(l-1)==58){if(A(y+=T(W(w),\"&\",\"&\\f\"),\"&\\f\")!=-1)m=-1;break}case 34:case 39:case 91:y+=W(w);break;case 9:case 10:case 13:case 32:y+=B(v);break;case 92:y+=H(I()-1,7);continue;case 47:switch(F()){case 42:case 47:R(re(q(_(),I()),r,a),u);break;default:y+=\"/\"}break;case 123*b:i[o++]=M(y)*m;case 125*b:case 59:case 0:switch(w){case 0:case 125:d=0;case 59+f:if(p>0&&M(y)-l)R(p>32?ae(y+\";\",c,a,l-1):ae(T(y,\" \",\"\")+\";\",c,a,l-2),u);break;case 59:y+=\";\";default:R(E=ee(y,r,a,o,f,t,i,k,g=[],x=[],l),n);if(w===123)if(f===0)X(y,r,E,E,g,n,l,i,x);else switch(h){case 100:case 109:case 115:X(e,E,E,c&&R(ee(e,E,E,0,0,t,i,k,t,g=[],l),x),t,x,l,i,c?g:x);break;default:X(y,E,E,E,[\"\"],x,0,i,x)}}o=f=p=0,b=m=1,k=y=\"\",l=s;break;case 58:l=1+M(y),p=v;default:if(b<1)if(w==123)--b;else if(w==125&&b++==0&&U()==125)continue;switch(y+=$(w),w*b){case 38:m=f>0?1:(y+=\"\\f\",-1);break;case 44:i[o++]=(M(y)-1)*m,m=1;break;case 64:if(F()===45)y+=W(_());h=F(),f=l=M(k=y+=J(I())),w++;break;case 45:if(v===45&&M(y)==2)b=0}}return n}function ee(e,r,a,c,t,s,i,u,o,f,l){var h=t-1;var p=t===0?s:[\"\"];var v=S(p);for(var b=0,d=0,m=0;b<c;++b)for(var w=0,$=C(e,h+1,h=k(d=i[b])),g=e;w<v;++w)if(g=E(d>0?p[w]+\" \"+$:T($,/&\\f/g,p[w])))o[m++]=g;return N(e,r,a,t===0?n:u,o,f,l)}function re(e,r,a){return N(e,r,a,t,$(j()),C(e,2,-2),0)}function ae(e,r,a,c){return N(e,r,a,s,C(e,0,c),C(e,c+1,-1),c)}function ce(e,t){switch(x(e,t)){case 5103:return c+\"print-\"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return c+e+a+e+r+e+e;case 6828:case 4268:return c+e+r+e+e;case 6165:return c+e+r+\"flex-\"+e+e;case 5187:return c+e+T(e,/(\\w+).+(:[^]+)/,c+\"box-$1$2\"+r+\"flex-$1$2\")+e;case 5443:return c+e+r+\"flex-item-\"+T(e,/flex-|-self/,\"\")+e;case 4675:return c+e+r+\"flex-line-pack\"+T(e,/align-content|flex-|-self/,\"\")+e;case 5548:return c+e+r+T(e,\"shrink\",\"negative\")+e;case 5292:return c+e+r+T(e,\"basis\",\"preferred-size\")+e;case 6060:return c+\"box-\"+T(e,\"-grow\",\"\")+c+e+r+T(e,\"grow\",\"positive\")+e;case 4554:return c+T(e,/([^-])(transform)/g,\"$1\"+c+\"$2\")+e;case 6187:return T(T(T(e,/(zoom-|grab)/,c+\"$1\"),/(image-set)/,c+\"$1\"),e,\"\")+e;case 5495:case 3959:return T(e,/(image-set\\([^]*)/,c+\"$1\"+\"$`$1\");case 4968:return T(T(e,/(.+:)(flex-)?(.*)/,c+\"box-pack:$3\"+r+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+c+e+e;case 4095:case 3583:case 4068:case 2532:return T(e,/(.+)-inline(.+)/,c+\"$1$2\")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(O(e,t+1)){case 109:if(O(e,t+4)!==45)break;case 102:return T(e,/(.+:)(.+)-([^]+)/,\"$1\"+c+\"$2-$3\"+\"$1\"+a+(O(e,t+3)==108?\"$3\":\"$2-$3\"))+e;case 115:return~A(e,\"stretch\")?ce(T(e,\"stretch\",\"fill-available\"),t)+e:e}break;case 4949:if(O(e,t+1)!==115)break;case 6444:switch(O(e,M(e)-3-(~A(e,\"!important\")&&10))){case 107:return T(e,\":\",\":\"+c)+e;case 101:return T(e,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+c+(O(e,14)===45?\"inline-\":\"\")+\"box$3\"+\"$1\"+c+\"$2$3\"+\"$1\"+r+\"$2box$3\")+e}break;case 5936:switch(O(e,t+11)){case 114:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"tb\")+e;case 108:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+e;case 45:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"lr\")+e}return c+e+r+e+e}return e}function te(e,r){var a=\"\";var c=S(e);for(var t=0;t<c;t++)a+=r(e[t],t,e,r)||\"\";return a}function ne(e,r,a,c){switch(e.type){case o:case s:return e.return=e.return||e.value;case t:return\"\";case b:return e.return=e.value+\"{\"+te(e.children,c)+\"}\";case n:e.value=e.props.join(\",\")}return M(a=te(e.children,c))?e.return=e.value+\"{\"+a+\"}\":\"\"}function se(e){var r=S(e);return function(a,c,t,n){var s=\"\";for(var i=0;i<r;i++)s+=e[i](a,c,t,n)||\"\";return s}}function ie(e){return function(r){if(!r.root)if(r=r.return)e(r)}}function ue(e,t,i,u){if(e.length>-1)if(!e.return)switch(e.type){case s:e.return=ce(e.value,e.length);break;case b:return te([P(e,{value:T(e.value,\"@\",\"@\"+c)})],u);case n:if(e.length)return z(e.props,(function(t){switch(y(t,/(::plac\\w+|:read-\\w+)/)){case\":read-only\":case\":read-write\":return te([P(e,{props:[T(t,/:(read-\\w+)/,\":\"+a+\"$1\")]})],u);case\"::placeholder\":return te([P(e,{props:[T(t,/:(plac\\w+)/,\":\"+c+\"input-$1\")]}),P(e,{props:[T(t,/:(plac\\w+)/,\":\"+a+\"$1\")]}),P(e,{props:[T(t,/:(plac\\w+)/,r+\"input-$1\")]})],u)}return\"\"}))}}function oe(e){switch(e.type){case n:e.props=e.props.map((function(r){return z(Y(r),(function(r,a,c){switch(O(r,0)){case 12:return C(r,1,M(r));case 0:case 40:case 43:case 62:case 126:return r;case 58:if(c[++a]===\"global\")c[a]=\"\",c[++a]=\"\\f\"+C(c[a],a=1,-1);case 32:return a===1?\"\":r;default:switch(a){case 0:e=r;return S(c)>1?\"\":r;case a=S(c)-1:case 2:return a===2?r+e+e:r+e;default:return r}}}))}))}}e.CHARSET=f;e.COMMENT=t;e.COUNTER_STYLE=m;e.DECLARATION=s;e.DOCUMENT=p;e.FONT_FACE=d;e.FONT_FEATURE_VALUES=w;e.IMPORT=o;e.KEYFRAMES=b;e.MEDIA=u;e.MOZ=a;e.MS=r;e.NAMESPACE=v;e.PAGE=i;e.RULESET=n;e.SUPPORTS=h;e.VIEWPORT=l;e.WEBKIT=c;e.abs=k;e.alloc=K;e.append=R;e.assign=g;e.caret=I;e.char=j;e.charat=O;e.combine=z;e.comment=re;e.commenter=q;e.compile=Q;e.copy=P;e.dealloc=V;e.declaration=ae;e.delimit=W;e.delimiter=Z;e.escaping=H;e.from=$;e.hash=x;e.identifier=J;e.indexof=A;e.match=y;e.middleware=se;e.namespace=oe;e.next=_;e.node=N;e.parse=X;e.peek=F;e.prefix=ce;e.prefixer=ue;e.prev=U;e.replace=T;e.ruleset=ee;e.rulesheet=ie;e.serialize=te;e.sizeof=S;e.slice=L;e.stringify=ne;e.strlen=M;e.substr=C;e.token=D;e.tokenize=Y;e.tokenizer=G;e.trim=E;e.whitespace=B;Object.defineProperty(e,\"__esModule\",{value:true})}));\n//# sourceMappingURL=stylis.js.map\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n var cache = {};\n return function (name) {\n return cache[name];\n };\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n if (isBrowser) {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n }; // $FlowFixMe\n\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { css, Global } from '@emotion/react'\n\nimport type { Theme } from '../theme'\n\nconst globalStyles = (theme: Theme) => css`\n body {\n font-family: ${theme.typography.body.md.fontFamily};\n line-height: ${theme.typography.body.md.lineHeight};\n letter-spacing: ${theme.typography.body.md.letterSpacing};\n color: ${theme.colors.text.default};\n }\n\n /** Remove focus outline on mouse hover */\n *:focus:not(:focus-visible) {\n outline: none;\n }\n\n /** Add focus outline on keyboard focus */\n button:focus-visible,\n a:focus-visible,\n [role='button']:focus-visible,\n input[type='checkbox']:focus-visible,\n input[type='radio']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px white, 0 0 0 4px ${theme.colors.border.defaultSelected};\n }\n`\n\n/**\n * Adds some global opinionated styles.\n */\nexport function GlobalStyles() {\n return <Global styles={globalStyles} />\n}\n","import type { CSSObject } from '@emotion/react'\n\nimport type { Theme } from '../theme'\n\ntype NamedStyles = Record<string, CSSObject>\ntype StyleInterpolation<T> = (theme: Theme) => T\n// TODO: Make `createstyleVariants`and `createStyle` accept a regular object instead of a function.\n// And infer if the return requires a theme or not.\n\n/**\n * Creates a collection of named style rules.\n */\nexport function createStyleVariants<T extends NamedStyles>(styles: StyleInterpolation<T>) {\n return (theme: Theme) => styles(theme)\n}\n\n/**\n * Create a style object. Useful for creating styles that depend on the theme.\n */\nexport function createStyle<T extends CSSObject>(styles: StyleInterpolation<T>) {\n return (theme: Theme) => styles(theme)\n}\n\nexport type VariantProps<T extends ReturnType<typeof createStyle | typeof createStyleVariants>> =\n keyof ReturnType<T>\n\n/**\n * Converts css `px` unit to `rem`.\n * Assumes the root font size is 16px.\n */\nexport const pxToRem = (px: number) => `${px / 16}rem`\n","import { createStyle } from './css-utils'\n\nexport const getFormFieldBaseStyles = createStyle(({ colors, radii, typography, spacing }) => ({\n width: '100%',\n minWidth: 0,\n appearance: 'none',\n paddingLeft: spacing['4x'],\n paddingRight: spacing['4x'],\n border: `1px solid ${colors.border.default}`,\n borderRadius: radii.sm,\n backgroundColor: colors.bg.default,\n color: colors.text.default,\n\n alignItems: 'center',\n ...typography.body.md,\n\n '&::placeholder': {\n color: colors.text.disabled,\n },\n '&:hover': {\n borderColor: colors.border.defaultHover,\n },\n '&:focus': {\n outline: 0,\n borderColor: colors.border.defaultSelected,\n boxShadow: `0 0 0 1px ${colors.border.defaultSelected}`,\n },\n '&[aria-invalid=true]': {\n borderColor: colors.border.negative,\n\n '&:focus': {\n boxShadow: `0 0 0 1px ${colors.border.negative}`,\n },\n },\n '&[disabled]': {\n opacity: 0.4,\n },\n\n transitionProperty: 'opacity, border-color, box-shadow',\n transitionDuration: '120ms',\n transitionTimingFunction: 'ease',\n}))\n","export const breakpoints = {\n base: 0,\n sm: 480,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n","const core = {\n black: '#16101A',\n white: '#ffffff',\n\n gray90: '#29222E',\n gray80: '#443C4A',\n gray70: '#57505C',\n gray60: '#78727D',\n gray50: '#A69fAB',\n gray40: '#D7D1DB',\n gray30: '#E7E4EB',\n gray20: '#F5F3F7',\n gray10: '#FAF9FB',\n\n // We call it brand since we're currently supporting multiple brands\n brand90: '#8c003f',\n brand80: '#bf0056',\n brand70: '#e50068',\n brand60: '#f5006e',\n brand50: '#ff0d7a',\n brand40: '#ffb2d5',\n brand30: '#ffd3e7',\n brand20: '#ffe9f3',\n brand10: '#fff8fb',\n\n red10: '#fff3f2',\n red20: '#fbd8d5',\n red30: '#f8b3ae',\n red40: '#f37d74',\n red50: '#ea4c41',\n red60: '#da281b',\n red70: '#c21b0f',\n red80: '#a9170d',\n red90: '#87170f',\n\n green90: '#00552f',\n green80: '#00703d',\n green70: '#007d45',\n green60: '#00a35a',\n green50: '#00cc70',\n green40: '#60efaa',\n green30: '#b2ffd7',\n green20: '#d6ffe9',\n green10: '#f0fff6',\n\n blue90: '#003870',\n blue80: '#0053a6',\n blue70: '#0064c8',\n blue60: '#007cf9',\n blue50: '#349aff',\n blue40: '#69b4ff',\n blue30: '#b9dcff',\n blue20: '#daecff',\n blue10: '#f2f8ff',\n\n yellow90: '#a06500',\n yellow80: '#cd8100',\n yellow70: '#ec9400',\n yellow60: '#ffa000',\n yellow50: '#ffae25',\n yellow40: '#ffbf52',\n yellow30: '#ffd081',\n yellow20: '#ffe2b1',\n yellow10: '#fff7eb',\n\n blackAlpha20: 'rgba(0, 0, 0, 0.2)',\n}\n\nexport const colors = {\n core,\n bg: {\n default: core.white,\n brandPrimary: core.brand60,\n brandPrimaryHover: core.brand50,\n brandPrimaryActive: core.brand70,\n brandSecondary: core.black,\n brandSecondaryHover: core.gray90,\n brandSecondaryActive: core.black,\n negative: core.red60,\n warning: core.yellow60,\n positive: core.green60,\n inset: core.gray10,\n backdrop: core.blackAlpha20,\n },\n text: {\n strong: core.black,\n default: core.gray80,\n subtle: core.gray60,\n disabled: core.gray50,\n negative: core.red60,\n warning: core.yellow90,\n positive: core.green70,\n /** For usage on colored/darker backgrounds */\n onColor: core.white,\n },\n icon: {\n default: core.gray80,\n strong: core.black,\n subtle: core.gray60,\n disabled: core.gray50,\n negative: core.red60,\n warning: core.yellow70,\n success: core.green70,\n /** For usage on colored/darker backgrounds */\n onColor: core.white,\n },\n border: {\n default: core.gray30,\n defaultHover: core.gray40,\n defaultSelected: core.black,\n strong: core.gray40,\n subtle: core.gray20,\n negative: core.red60,\n warning: core.yellow60,\n success: core.green60,\n },\n}\n","import { pxToRem } from '../../styles'\n\nexport const spacing = {\n '0x': pxToRem(0),\n '1x': pxToRem(4),\n '2x': pxToRem(8),\n '3x': pxToRem(12),\n '4x': pxToRem(16),\n '5x': pxToRem(20),\n '6x': pxToRem(24),\n '8x': pxToRem(32),\n '12x': pxToRem(48),\n '16x': pxToRem(64),\n '20x': pxToRem(80),\n '24x': pxToRem(96),\n}\n","import { pxToRem } from '../../styles'\n\nimport { spacing } from './spacing'\n\nexport const sizes = {\n ...spacing,\n 112: pxToRem(112),\n 128: pxToRem(128),\n 144: pxToRem(144),\n 160: pxToRem(160),\n 176: pxToRem(176),\n 192: pxToRem(192),\n 224: pxToRem(224),\n 256: pxToRem(256),\n 288: pxToRem(288),\n 320: pxToRem(320),\n 384: pxToRem(384),\n 448: pxToRem(448),\n 512: pxToRem(512),\n 576: pxToRem(576),\n 672: pxToRem(672),\n 768: pxToRem(768),\n 896: pxToRem(896),\n 1024: pxToRem(1024),\n}\n","import { pxToRem } from '../../styles'\n\nconst fontStacks = {\n display: [\n '\"Qasa Sans Display\"',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'sans-serif',\n ].join(','),\n sans: [\n '\"Qasa Sans Text\"',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'sans-serif',\n ].join(','),\n}\n\nexport const typography = {\n display: {\n lg: {\n fontFamily: fontStacks.display,\n fontWeight: '800',\n fontSize: pxToRem(64),\n lineHeight: pxToRem(72),\n letterSpacing: pxToRem(-0.48),\n },\n md: {\n fontFamily: fontStacks.display,\n fontWeight: '800',\n fontSize: pxToRem(40),\n lineHeight: pxToRem(48),\n letterSpacing: pxToRem(-0.32),\n },\n },\n title: {\n lg: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(32),\n lineHeight: pxToRem(36),\n letterSpacing: pxToRem(-0.24),\n },\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(24),\n lineHeight: pxToRem(28),\n letterSpacing: pxToRem(-0.12),\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(20),\n lineHeight: pxToRem(24),\n letterSpacing: pxToRem(-0.08),\n },\n xs: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(18),\n lineHeight: pxToRem(22),\n letterSpacing: '0',\n },\n '2xs': {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n '3xs': {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(18),\n letterSpacing: '0',\n },\n },\n body: {\n xl: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(20),\n lineHeight: pxToRem(28),\n letterSpacing: '0',\n },\n lg: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(18),\n lineHeight: pxToRem(26),\n letterSpacing: '0',\n },\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(24),\n letterSpacing: '0',\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n xs: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(12),\n lineHeight: pxToRem(16),\n letterSpacing: '0.00625rem',\n },\n },\n label: {\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '600',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '600',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(18),\n letterSpacing: '0',\n },\n },\n caption: {\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '800',\n fontSize: pxToRem(12),\n lineHeight: pxToRem(12),\n letterSpacing: pxToRem(0.12),\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '800',\n fontSize: pxToRem(10),\n lineHeight: pxToRem(10),\n letterSpacing: pxToRem(0.24),\n },\n },\n}\n","/**\n * ------ IMPORTANT ------\n * Do not change or add to the contents of this file\n * without consulting with the design team.\n *\n * These are values that make up our brand and even\n * minor changes greatly affects our visual identity.\n *\n * The foundations are losely based on Styled System Theme Specification\n * @see https://styled-system.com/theme-specification/\n * -----------------------\n */\n\nimport { breakpoints } from './breakpoints'\nimport { colors } from './colors'\nimport { spacing } from './spacing'\nimport { zIndices } from './z-index'\nimport { sizes } from './sizes'\nimport { radii } from './radius'\nimport { shadows } from './shadows'\nimport { typography } from './typography'\n\nexport const foundations = {\n spacing,\n breakpoints,\n zIndices,\n colors,\n sizes,\n radii,\n shadows,\n typography,\n}\n","export const zIndices = {\n hide: -1,\n auto: 'auto',\n base: 0,\n docked: 10,\n dropdown: 1000,\n sticky: 1100,\n banner: 1200,\n overlay: 1300,\n modal: 1400,\n popover: 1500,\n skipLink: 1600,\n toast: 1700,\n tooltip: 1800,\n}\n","export const radii = {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n full: '9999px',\n}\n","export const shadows = {\n none: 'none',\n sm: '0 1px 3px 1px rgb(22 16 26 / 0.08)',\n md: '0 2px 8px rgb(22 16 26 / 0.08)',\n lg: '0 4px 24px rgb(22 16 26 / 0.08)',\n xl: '0 6px 32px rgb(22 16 26 / 0.08)',\n}\n","import { foundations } from './foundations'\n\nconst mediaQueries = {\n smUp: `@media(min-width: ${foundations.breakpoints.sm}px)`,\n mdUp: `@media(min-width: ${foundations.breakpoints.md}px)`,\n lgUp: `@media(min-width: ${foundations.breakpoints.lg}px)`,\n xlUp: `@media(min-width: ${foundations.breakpoints.xl}px)`,\n '2xlUp': `@media(min-width: ${foundations.breakpoints['2xl']}px)`,\n} as const\n\nexport const theme = { ...foundations, mediaQueries }\nexport type Theme = typeof theme\n","export const objectKeys = <T extends object>(obj: T): (keyof T)[] => {\n return Object.keys(obj) as (keyof T)[]\n}\n","import type { LegitimateAny, PartialRecord } from '../types'\nimport { objectKeys } from '../utils/object'\n\nimport type { Theme } from './theme'\nimport { theme } from './theme'\n\ntype DeepPartial<T> = { [P in keyof T]?: DeepPartial<T[P]> }\n\ninterface TypographyOverride {\n fontFamily?: string\n fontWeight?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\n}\n\ntype TypographyOverrides = PartialRecord<keyof Theme['typography'], TypographyOverride>\n\nconst overrideTypography = (overrides: TypographyOverrides): Theme['typography'] => {\n const result = Object.assign({}, theme.typography)\n\n objectKeys(result).forEach((group) => {\n const override = overrides[group]\n if (override) {\n const typographyGroup = result[group]\n objectKeys(typographyGroup).forEach((key) => {\n typographyGroup[key].fontFamily = override.fontFamily || typographyGroup[key].fontFamily\n typographyGroup[key].fontWeight = override.fontWeight || typographyGroup[key].fontWeight\n })\n }\n })\n\n return result\n}\n\nconst deepMerge = <T extends Record<string, LegitimateAny>>(\n target: T,\n source: DeepPartial<T>,\n): T => {\n const result = Object.assign({}, target)\n\n objectKeys(source).forEach((key) => {\n if (typeof source[key] === 'object') {\n // @ts-expect-error\n result[key] = deepMerge(result[key], source[key])\n } else {\n // @ts-expect-error\n result[key] = source[key]\n }\n })\n\n return result\n}\n\nexport interface ThemeOverrides {\n colors?: DeepPartial<Theme['colors']>\n typography?: TypographyOverrides\n}\n\nexport const overrideTheme = (overrides: ThemeOverrides) => {\n let typography = theme.typography\n let colors = theme.colors\n\n if (overrides.typography) {\n typography = overrideTypography(overrides.typography)\n }\n\n if (overrides.colors) {\n colors = deepMerge(theme.colors, overrides.colors)\n }\n\n return { ...theme, typography, colors }\n}\n","import { css, Global } from '@emotion/react'\n\nconst cssReset = css`\n *,\n *::before,\n *::after {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n }\n\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n font-family: system-ui, sans-serif;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n touch-action: manipulation;\n }\n\n body {\n position: relative;\n min-height: 100%;\n font-feature-settings: 'kern';\n }\n\n main {\n display: block;\n }\n\n hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n\n a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n b,\n strong {\n font-weight: bold;\n }\n\n small {\n font-size: 80%;\n }\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n img {\n border-style: none;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n legend {\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type='checkbox'],\n [type='radio'] {\n padding: 0;\n }\n\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n details {\n display: block;\n }\n\n summary {\n display: list-item;\n }\n\n template {\n display: none;\n }\n\n [hidden] {\n display: none !important;\n }\n\n body,\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n button {\n background: transparent;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n ol,\n ul,\n menu {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n textarea {\n resize: vertical;\n }\n\n button,\n [role='button'] {\n cursor: pointer;\n }\n\n :disabled {\n cursor: not-allowed;\n }\n\n button::-moz-focus-inner {\n border: 0 !important;\n }\n\n table {\n border-collapse: collapse;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n }\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n outline: none;\n }\n\n select::-ms-expand {\n display: none;\n }\n`\n\n/**\n * A CSS Reset (opinionated)\n */\nexport function CSSReset() {\n return <Global styles={cssReset} />\n}\n","import { ThemeProvider, CacheProvider } from '@emotion/react'\nimport type { ReactNode } from 'react'\nimport createCache from '@emotion/cache'\n\nimport { GlobalStyles } from './styles'\nimport type { ThemeOverrides } from './theme'\nimport { overrideTheme, theme } from './theme'\nimport { CSSReset } from './styles/css-reset'\n\nconst cache = createCache({\n key: 'qds',\n})\n\ninterface QdsProviderProps {\n children: ReactNode\n themeOverrides?: ThemeOverrides\n}\n\nexport function QdsProvider({ children, themeOverrides }: QdsProviderProps) {\n const resolvedTheme = themeOverrides ? overrideTheme(themeOverrides) : theme\n return (\n <CacheProvider value={cache}>\n <ThemeProvider theme={resolvedTheme}>\n <CSSReset />\n <GlobalStyles />\n {children}\n </ThemeProvider>\n </CacheProvider>\n )\n}\n","import { useEffect, useState } from 'react'\n\nimport type { HTMLQdsProps } from '../types'\n\ntype LoadingStatus = 'loading' | 'loaded' | 'error' | 'pending'\n\nexport interface UseImageProps {\n src?: string\n loading?: HTMLQdsProps<'img'>['loading']\n}\nexport const useImage = ({ src, loading }: UseImageProps) => {\n const [loadingStatus, setLoadingStatus] = useState<LoadingStatus>(src ? 'loading' : 'pending')\n\n useEffect(() => {\n if (!src) {\n setLoadingStatus('pending')\n return\n }\n\n const updateStatus = (status: LoadingStatus) => () => {\n setLoadingStatus(status)\n }\n\n setLoadingStatus('loading')\n\n const image = new Image()\n image.onload = updateStatus('loaded')\n image.onerror = updateStatus('error')\n image.src = src\n if (loading) {\n image.loading = loading\n }\n }, [loading, src])\n\n return { loadingStatus }\n}\n","/**\n * This function is heavily inspired by the `createIcon` function from\n * Chakra UI (https://chakra-ui.com/).\n */\n\nimport styled from '@emotion/styled'\nimport type { SVGAttributes } from 'react'\nimport { Children, forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { pxToRem, createStyleVariants } from '../../styles'\nimport type { Theme } from '../../theme'\n\nconst getSizeStyles = createStyleVariants(() => ({\n 32: {\n fontSize: pxToRem(32),\n },\n 24: {\n fontSize: pxToRem(24),\n },\n 20: {\n fontSize: pxToRem(20),\n },\n 16: {\n fontSize: pxToRem(16),\n },\n 12: {\n fontSize: pxToRem(12),\n },\n}))\n\ntype IconSize = VariantProps<typeof getSizeStyles>\ntype IconColor = keyof Theme['colors']['icon'] | 'inherit'\n\ninterface IconOptions {\n /**\n * The size of the icon.\n *\n * @default 16\n */\n size?: IconSize\n /**\n * The color of the icon.\n */\n color?: IconColor\n}\n\nconst StyledSvg = styled.svg<IconOptions>(({ theme, size = 16, color = 'strong' }) => ({\n ...getSizeStyles(theme)[size],\n color: color === 'inherit' ? 'currentcolor' : theme.colors.icon[color],\n display: 'inline-block',\n}))\n\ntype OmittedProps = 'color' | 'onClick' | 'width' | 'height' | 'fontSize'\nexport interface IconProps extends Omit<SVGAttributes<SVGElement>, OmittedProps>, IconOptions {}\n\nexport interface CreateIconOptions {\n /**\n * The `svg`'s `viewBox` attribute\n */\n viewBox: string\n /**\n * If the `svg` has a single path, simply copy the path's `d` attribute\n */\n d?: string\n /**\n * The `svg` path or group element\n *\n * @example\n * ```jsx\n * createIcon({\n * viewBox: '0 0 512 512',\n * path: [\n * <circle cx=\"50\" cy=\"50\" r=\"50\" />,\n * <path d=\"M10 10\" />,\n * ],\n * displayName: 'ExampleIcon',\n * })\n * ```\n */\n path?: React.ReactElement | React.ReactElement[]\n /**\n * The display name of the icon. Useful for debugging\n * and internal use.\n */\n displayName?: string\n}\n\nexport const createIcon = (options: CreateIconOptions) => {\n const { viewBox, d: pathDefinition, displayName = 'UnnamedIcon' } = options\n const path = Children.toArray(options.path)\n\n const Component = forwardRef<SVGSVGElement, IconProps>((props, forwardedRef) => {\n return (\n <StyledSvg\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n viewBox={viewBox}\n fill=\"currentColor\"\n {...props}\n >\n {path.length ? path : <path fill=\"currentColor\" d={pathDefinition} />}\n </StyledSvg>\n )\n })\n\n Component.displayName = displayName\n\n return Component\n}\n","import { createIcon } from '../create-icon'\n\nexport const ArrowDownIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'm377.4 296.6-168 176c-4.6 4.7-10.8 7.4-17.4 7.4s-12.84-2.688-17.38-7.438l-168-176C-2.5 286.1-2.156 271.8 7.438 262.6c9.5-9.156 24.75-8.812 33.94.813L168 396.1V56.02c0-13.25 10.75-24.01 23.1-24.01S216 42.77 216 56.02v340.1l126.6-132.7c9.156-9.625 24.41-9.969 33.94-.813 9.66 9.193 9.96 23.493.86 33.993z',\n displayName: 'ArrowDownIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowLeftIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M447.1 256c0 13.25-10.76 24.01-24.01 24.01H83.9l132.7 126.6c9.625 9.156 9.969 24.41.812 33.94-9.156 9.594-24.34 9.938-33.94.813l-176-168C2.695 268.9.008 262.6.008 256s2.687-12.8 7.437-17.4l176-168c9.555-9.09 24.755-8.75 33.955.85 9.156 9.5 8.812 24.75-.813 33.94l-132.7 126.6h340.1C437.2 232 447.1 242.8 447.1 256z',\n displayName: 'ArrowLeftIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowRightIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'm264.6 70.63 176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.813-9.156-9.5-8.812-24.75.813-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6c-9.61-9.207-9.91-24.457-.81-33.987 9.2-9.6 23.5-9.94 34-.82z',\n displayName: 'ArrowRightIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowUpIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'm6.625 215.5 168-176C179.2 34.7 185.4 32.02 192 32.02s12.84 2.688 17.38 7.438l168 176c9.125 9.594 8.781 24.78-.813 33.94-9.5 9.156-24.75 8.812-33.94-.813L216 115.9V456c0 13.25-10.75 23.1-23.1 23.1S168 469.3 168 456V115.9L41.4 248.6c-9.18 9.6-24.43 9.9-33.962.8-9.594-9.2-9.938-24.4-.813-33.9z',\n displayName: 'ArrowUpIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const BellSlashIcon = createIcon({\n viewBox: '0 0 640 512',\n d: 'M183.6 118.6C206.5 82.58 244.1 56.84 288 49.88V32C288 14.33 302.3 .0003 320 .0003C337.7 .0003 352 14.33 352 32V49.88C424.5 61.39 480 124.2 480 200V233.4C480 278.8 495.5 322.9 523.8 358.4L538.7 377C543.1 383.5 545.4 392.2 542.6 400L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L183.6 118.6zM221.7 148.4L450.7 327.1C438.4 298.2 432 266.1 432 233.4V200C432 142.6 385.4 96 328 96H312C273.3 96 239.6 117.1 221.7 148.4V148.4zM160 233.4V222.1L206.7 258.9C202.7 297.7 189.5 335.2 168.3 368H345.2L406.2 416H120C110.8 416 102.4 410.7 98.37 402.4C94.37 394.1 95.5 384.2 101.3 377L116.2 358.4C144.5 322.9 160 278.8 160 233.4V233.4zM384 448C384 464.1 377.3 481.3 365.3 493.3C353.3 505.3 336.1 512 320 512C303 512 286.7 505.3 274.7 493.3C262.7 481.3 256 464.1 256 448H384z',\n displayName: 'BellSlashIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const BellIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M256 32v17.88C328.5 61.39 384 124.2 384 200v33.4c0 45.4 15.5 89.5 43.8 125l14.9 18.6c5.8 7.2 6.9 17.1 2.9 25.4-4 8.3-12.4 13.6-21.6 13.6H24c-9.23 0-17.635-5.3-21.631-13.6A24.019 24.019 0 0 1 5.26 377l14.91-18.6C48.54 322.9 64 278.8 64 233.4V200c0-75.8 55.5-138.61 128-150.12V32c0-17.67 14.3-32 32-32s32 14.33 32 32zm-40 64c-57.4 0-104 46.6-104 104v33.4c0 47.9-13.88 94.6-39.69 134.6H375.7c-25.8-40-39.7-86.7-39.7-134.6V200c0-57.4-46.6-104-104-104h-16zm72 352c0 16.1-6.7 33.3-18.7 45.3S240.1 512 224 512c-17 0-33.3-6.7-45.3-18.7S160 464.1 160 448h128z',\n displayName: 'BellIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const CalendarIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z',\n displayName: 'CalendarIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const CheckIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M440.1 103c10.2 9.4 10.2 24.6 0 33.1l-264 264c-8.5 10.2-23.7 10.2-33.1 0L7.029 264.1c-9.372-8.5-9.372-23.7 0-33.1 9.371-9.3 24.571-9.3 33.941 0L160 350.1 407 103c9.4-9.34 24.6-9.34 33.1 0z',\n displayName: 'CheckIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronDownIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z',\n displayName: 'ChevronDownIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronLeftIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M206.7 464.6l-183.1-191.1C18.22 267.1 16 261.1 16 256s2.219-11.97 6.688-16.59l183.1-191.1c9.152-9.594 24.34-9.906 33.9-.7187c9.625 9.125 9.938 24.37 .7187 33.91L73.24 256l168 175.4c9.219 9.5 8.906 24.78-.7187 33.91C231 474.5 215.8 474.2 206.7 464.6z',\n displayName: 'ChevronLeftIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronRightIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z',\n displayName: 'ChevronRightIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronUpIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M15.41 302.7l191.1-183.1C212 114.2 218 111.1 224 111.1s11.97 2.219 16.59 6.688l191.1 183.1c9.594 9.152 9.906 24.34 .7187 33.9c-9.125 9.625-24.38 9.938-33.91 .7187L224 169.2l-175.4 168c-9.5 9.219-24.78 8.906-33.91-.7187C5.502 327 5.814 311.8 15.41 302.7z',\n displayName: 'ChevronUpIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const EllipsisVerticalIcon = createIcon({\n viewBox: '0 0 128 512',\n d: 'M64 368c26.51 0 48 21.5 48 48s-21.49 48-48 48-48-21.5-48-48 21.49-48 48-48zm0-160c26.51 0 48 21.5 48 48s-21.49 48-48 48-48-21.5-48-48 21.49-48 48-48zm0-64c-26.51 0-48-21.5-48-48 0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48z',\n displayName: 'EllipsisVerticalIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const EllipsisIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M336 256c0-26.5 21.5-48 48-48s48 21.5 48 48-21.5 48-48 48-48-21.5-48-48zm-160 0c0-26.5 21.5-48 48-48s48 21.5 48 48-21.5 48-48 48-48-21.5-48-48zm-64 0c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z',\n displayName: 'EllipsisIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const HeartFilledIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84.02L256 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 .0003 232.4 .0003 190.9L0 190.9z',\n displayName: 'HeartFilledIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const HeartIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'm244 84 11.1 12 12-11.98C300.6 51.37 347 36.51 392.6 44.1c68.9 11.48 119.4 71.1 119.4 141v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.59 300.4C17.23 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.52-129.52 119.4-141 44.7-7.59 92 7.27 124.6 39.9-.9 0 0 .01 0 0zm11.1 79.9-45-46.8c-21.7-20.82-52.5-30.7-82.8-25.66C81.55 99.07 48 138.7 48 185.1v5.8c0 28.2 11.71 55.2 32.34 74.4L256 429.3l175.7-164c20.6-19.2 32.3-46.2 32.3-74.4v-5.8c0-46.4-33.6-86.03-79.3-93.66-30.3-5.04-61.1 4.84-82.8 25.66l-46.8 46.8z',\n displayName: 'HeartIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ImageIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.5-48-48-48zm295.1-88h-384C28.65 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm16 377.3L326.3 223.4c-2.5-4.6-8.2-7.4-14.3-7.4-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.03 0 .03 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16v313.3z',\n displayName: 'ImageIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const LocationDotIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'M272 192c0 44.2-35.8 80-80 80s-80-35.8-80-80 35.8-80 80-80 80 35.8 80 80zm-80-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm192 32c0 87.4-117 243-168.3 307.2-12.3 15.3-35.1 15.3-47.4 0C116.1 435 0 279.4 0 192 0 85.96 85.96 0 192 0c106 0 192 85.96 192 192zM192 48c-79.5 0-144 64.5-144 144 0 12.4 4.49 31.6 15.3 57.2 10.48 24.8 25.36 52.2 42.5 79.9 28.4 46.2 61.4 90 86.2 122.6 24.8-32.6 57.8-76.4 86.2-122.6 17.1-27.7 32-55.1 42.5-79.9 10.8-25.6 15.3-44.8 15.3-57.2 0-79.5-64.5-144-144-144z',\n displayName: 'LocationDotIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const MapIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M565.6 36.24C572.1 40.72 576 48.11 576 56V392C576 401.1 569.8 410.9 560.5 414.4L392.5 478.4C387.4 480.4 381.7 480.5 376.4 478.8L192.5 417.5L32.54 478.4C25.17 481.2 16.88 480.2 10.38 475.8C3.882 471.3 0 463.9 0 456V120C0 110 6.15 101.1 15.46 97.57L183.5 33.57C188.6 31.6 194.3 31.48 199.6 33.23L383.5 94.52L543.5 33.57C550.8 30.76 559.1 31.76 565.6 36.24H565.6zM48 421.2L168 375.5V90.83L48 136.5V421.2zM360 137.3L216 89.3V374.7L360 422.7V137.3zM408 421.2L528 375.5V90.83L408 136.5V421.2z',\n displayName: 'MapIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const PlusIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M432 256c0 13.3-10.7 24-24 24H248v160c0 13.25-10.75 24.01-24 24.01S200 453.3 200 440V280H40c-13.25 0-24-10.74-24-23.99C16 242.8 26.75 232 40 232h160V72c0-13.25 10.75-23.99 24-23.99S248 58.75 248 72v160h160c13.3 0 24 10.8 24 24z',\n displayName: 'PlusIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const SearchIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'm504.1 471-134-134c29-35.5 45-80.2 45-129 0-114.9-93.13-208-208-208S0 93.13 0 208s93.12 208 207.1 208c48.79 0 93.55-16.91 129-45.04l134 134c5.6 4.74 11.8 7.04 17.9 7.04s12.28-2.344 16.97-7.031c9.33-9.369 9.33-24.569-.87-33.969zM48 208c0-88.22 71.78-160 160-160s160 71.78 160 160-71.78 160-160 160S48 296.2 48 208z',\n displayName: 'MagnifyingGlassIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const SettingsIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M160 256C160 202.1 202.1 160 256 160C309 160 352 202.1 352 256C352 309 309 352 256 352C202.1 352 160 309 160 256zM256 208C229.5 208 208 229.5 208 256C208 282.5 229.5 304 256 304C282.5 304 304 282.5 304 256C304 229.5 282.5 208 256 208zM293.1 .0003C315.3 .0003 334.6 15.19 339.8 36.74L347.6 69.21C356.1 73.36 364.2 78.07 371.9 83.28L404 73.83C425.3 67.56 448.1 76.67 459.2 95.87L496.3 160.1C507.3 179.3 503.8 203.6 487.8 218.9L463.5 241.1C463.8 246.6 464 251.3 464 256C464 260.7 463.8 265.4 463.5 270L487.8 293.1C503.8 308.4 507.3 332.7 496.3 351.9L459.2 416.1C448.1 435.3 425.3 444.4 404 438.2L371.9 428.7C364.2 433.9 356.1 438.6 347.6 442.8L339.8 475.3C334.6 496.8 315.3 512 293.1 512H218.9C196.7 512 177.4 496.8 172.2 475.3L164.4 442.8C155.9 438.6 147.8 433.9 140.1 428.7L107.1 438.2C86.73 444.4 63.94 435.3 52.85 416.1L15.75 351.9C4.66 332.7 8.168 308.4 24.23 293.1L48.47 270C48.16 265.4 48 260.7 48 255.1C48 251.3 48.16 246.6 48.47 241.1L24.23 218.9C8.167 203.6 4.66 179.3 15.75 160.1L52.85 95.87C63.94 76.67 86.73 67.56 107.1 73.83L140.1 83.28C147.8 78.07 155.9 73.36 164.4 69.21L172.2 36.74C177.4 15.18 196.7 0 218.9 0L293.1 .0003zM205.5 103.6L194.3 108.3C181.6 113.6 169.8 120.5 159.1 128.7L149.4 136.1L94.42 119.9L57.31 184.1L98.81 223.6L97.28 235.6C96.44 242.3 96 249.1 96 256C96 262.9 96.44 269.7 97.28 276.4L98.81 288.4L57.32 327.9L94.42 392.1L149.4 375.9L159.1 383.3C169.8 391.5 181.6 398.4 194.3 403.7L205.5 408.4L218.9 464H293.1L306.5 408.4L317.7 403.7C330.4 398.4 342.2 391.5 352.9 383.3L362.6 375.9L417.6 392.1L454.7 327.9L413.2 288.4L414.7 276.4C415.6 269.7 416 262.9 416 256C416 249.1 415.6 242.3 414.7 235.6L413.2 223.6L454.7 184.1L417.6 119.9L362.6 136.1L352.9 128.7C342.2 120.5 330.4 113.6 317.7 108.3L306.5 103.6L293.1 48H218.9L205.5 103.6z',\n displayName: 'SettingsIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const StarFilledIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M381.2 150.3L524.9 171.5C536.8 173.2 546.8 181.6 550.6 193.1C554.4 204.7 551.3 217.3 542.7 225.9L438.5 328.1L463.1 474.7C465.1 486.7 460.2 498.9 450.2 506C440.3 513.1 427.2 514 416.5 508.3L288.1 439.8L159.8 508.3C149 514 135.9 513.1 126 506C116.1 498.9 111.1 486.7 113.2 474.7L137.8 328.1L33.58 225.9C24.97 217.3 21.91 204.7 25.69 193.1C29.46 181.6 39.43 173.2 51.42 171.5L195 150.3L259.4 17.97C264.7 6.954 275.9-.0391 288.1-.0391C300.4-.0391 311.6 6.954 316.9 17.97L381.2 150.3z',\n displayName: 'StarFilledIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const StarIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M287.9 0c9.2 0 17.6 5.25 21.6 13.52l68.6 141.28 153.3 22.7c9 1.3 16.4 7.6 19.3 16.2 2.8 8.7.5 18.2-5.9 24.5L433.6 328.4l26.3 155.5c1.5 9-2.2 18.2-9.7 23.5-7.4 5.3-18.1 6-25.3 1.7l-137-73.2-137.8 73.2c-7.2 4.3-17 3.6-24.5-1.7-7.4-5.3-11.1-14.5-10.5-23.5l27.1-155.5L31.11 218.2c-6.46-6.3-8.75-15.8-5.91-24.5 2.83-8.6 10.3-14.9 19.29-16.2l153.21-22.7 68.6-141.28C270.4 5.249 278.7 0 287.9 0zm0 78.95L235.4 187.2c-3.5 7.1-10.3 12.1-18.1 13.3L98.98 217.9 184.9 303c5.5 5.5 8 13.4 6.7 21.1l-20.2 119.6 105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2-20.2-119.6c-1.3-7.7 1.3-15.6 6.8-21.1l85.9-85.1-118.3-17.4c-7.9-1.2-14.7-6.2-18.1-13.3L287.9 78.95z',\n displayName: 'StarIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const TrashIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M424 80c13.3 0 24 10.75 24 24 0 13.3-10.7 24-24 24h-11.6l-24 324.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.48 0-61.31-25.9-63.79-59.3L35.56 128H24c-13.25 0-24-10.7-24-24 0-13.25 10.75-24 24-24h69.82l36.68-55.06C140.9 9.357 158.4 0 177.1 0h93.8c18.7 0 36.2 9.358 46.6 24.94L354.2 80H424zM177.1 48c-2.6 0-6 1.34-6.6 3.56L151.5 80h145l-19-28.44c-1.5-2.22-4-3.56-6.6-3.56h-93.8zm187.2 80H83.69l23.81 321.2c.6 8.3 7.6 14.8 15.9 14.8h201.2c8.3 0 15.3-6.5 15.9-14.8L364.3 128z',\n displayName: 'TrashIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const UserIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M272 304h-96C78.8 304 0 382.8 0 480c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32 0-97.2-78.8-176-176-176zM48.99 464c7.9-63.1 61.81-112 127.01-112h96c65.16 0 119.1 48.95 127 112H48.99zM224 256c70.69 0 128-57.31 128-128S294.69 0 224 0 96 57.31 96 128c0 70.7 57.3 128 128 128zm0-208c44.11 0 80 35.89 80 80s-35.89 80-80 80-80-35.9-80-80c0-44.11 35.9-80 80-80z',\n displayName: 'UserIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const XmarkIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256 7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256l118.2 119z',\n displayName: 'XmarkIcon',\n})\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { useImage } from '../../hooks/use-image'\nimport type { HTMLQdsProps } from '../../types'\nimport { UserIcon } from '../icon'\n\nconst SIZE_MAP = {\n sm: 32,\n md: 48,\n lg: 64,\n xl: 96,\n '2xl': 128,\n}\ntype AvatarSize = keyof typeof SIZE_MAP\n\ninterface WrapperProps {\n size: AvatarSize\n}\nconst Wrapper = styled.span<WrapperProps>(({ theme, size }) => ({\n width: SIZE_MAP[size],\n height: SIZE_MAP[size],\n borderRadius: theme.radii.full,\n background: theme.colors.core.gray20,\n overflow: 'hidden',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: `calc(${SIZE_MAP[size]}px / 3)`,\n border: `1px solid ${theme.colors.border.subtle}`,\n}))\nconst StyledImage = styled.img({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n})\n\nconst FallbackIcon = styled(UserIcon)(({ theme }) => ({\n color: theme.colors.icon.disabled,\n fontSize: 'inherit',\n}))\n\ninterface AvatarOptions {\n /**\n * Source url of the image to display. If not passed\n * it will display a fallback icon.\n */\n src?: string\n /**\n * Name of the user. Important for accessibility.\n */\n name?: string\n /**\n * Size of the avatar\n * @default 'md'\n */\n size?: AvatarSize\n}\n\nexport interface AvatarProps extends HTMLQdsProps<'span'>, AvatarOptions {}\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>((props, forwardedRef) => {\n const { src, name, size = 'md', ...restProps } = props\n const { loadingStatus } = useImage({ src, loading: 'eager' })\n\n const hasLoadedImage = loadingStatus === 'loaded'\n return (\n <Wrapper ref={forwardedRef} size={size} {...restProps}>\n {hasLoadedImage ? (\n <StyledImage src={src} alt={name} />\n ) : (\n <FallbackIcon role=\"img\" aria-label={name} />\n )}\n </Wrapper>\n )\n})\n","import { keyframes } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants, pxToRem } from '../../styles'\nimport type { HTMLQdsProps } from '../../types'\n\nconst ANIMATION_DURATION = 1200\nconst ANIMATION_STAGGER_DELAY = 160\n\nconst getSizeStyles = createStyleVariants(() => ({\n sm: { fontSize: pxToRem(8) },\n md: { fontSize: pxToRem(16) },\n}))\ntype LoadingDotsSize = VariantProps<typeof getSizeStyles>\n\nconst Wrapper = styled.span<{ size: LoadingDotsSize }>(({ theme, size }) => ({\n color: theme.colors.core.gray90,\n display: 'inline-flex',\n ...getSizeStyles(theme)[size],\n // Odd value but it works better with the animation\n gap: pxToRem(6),\n}))\nconst scaleAndFade = keyframes({\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n})\nconst Dot = styled.span({\n display: 'block',\n width: '1em',\n height: '1em',\n background: 'currentColor',\n borderRadius: 999,\n\n animationDuration: `${ANIMATION_DURATION}ms`,\n animationTimingFunction: 'ease-in-out',\n animationIterationCount: 'infinite',\n animationFillMode: 'both',\n '&:nth-of-type(2)': { animationDelay: `${ANIMATION_STAGGER_DELAY}ms` },\n '&:nth-of-type(3)': { animationDelay: `${ANIMATION_STAGGER_DELAY * 2}ms` },\n animationName: scaleAndFade,\n})\n\ninterface LoadingDotsOptions {\n size?: LoadingDotsSize\n}\n\nexport interface LoadingDotsProps extends HTMLQdsProps<'span'>, LoadingDotsOptions {}\n\nexport const LoadingDots = forwardRef<HTMLSpanElement, LoadingDotsProps>((props, forwardedRef) => {\n const { size = 'md', ...restProps } = props\n\n return (\n <Wrapper ref={forwardedRef} size={size} {...restProps}>\n <Dot />\n <Dot />\n <Dot />\n </Wrapper>\n )\n})\n","import { pxToRem, createStyleVariants } from '../../styles'\n\n// Can't use :enabled cause it doesn't work when rendered as a link\nconst NOT_DISABLED = ':not([disabled])'\n\nexport const getSizeStyles = createStyleVariants(({ typography, spacing }) => ({\n xs: {\n height: pxToRem(32),\n minWidth: pxToRem(64),\n paddingLeft: spacing['3x'],\n paddingRight: spacing['3x'],\n ...typography.title['3xs'],\n },\n sm: {\n height: pxToRem(40),\n minWidth: pxToRem(80),\n paddingLeft: spacing['4x'],\n paddingRight: spacing['4x'],\n ...typography.title['3xs'],\n },\n md: {\n height: pxToRem(48),\n minWidth: pxToRem(96),\n paddingLeft: spacing['5x'],\n paddingRight: spacing['5x'],\n ...typography.title['2xs'],\n },\n}))\n\nexport const getVariantStyles = createStyleVariants(({ colors }) => ({\n primary: {\n background: colors.bg.brandPrimary,\n color: colors.text.onColor,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandPrimaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandPrimaryActive,\n },\n },\n },\n secondary: {\n background: colors.bg.brandSecondary,\n color: colors.text.onColor,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandSecondaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandSecondaryActive,\n },\n },\n },\n tertiary: {\n background: colors.bg.default,\n color: colors.text.strong,\n border: '1px solid',\n borderColor: colors.core.gray40,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n ghost: {\n background: colors.bg.default,\n color: colors.text.strong,\n textDecoration: 'underline',\n textUnderlineOffset: 1,\n\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n },\n}))\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\nimport { LoadingDots } from '../loading-dots'\n\nimport { getSizeStyles, getVariantStyles } from './button-styles'\n\ninterface StyledButtonProps {\n size: ButtonSize\n variant: ButtonVariant\n isFullWidth: boolean\n}\nconst StyledButton = styled.button<StyledButtonProps>(({ theme, size, variant, isFullWidth }) => ({\n borderRadius: theme.radii.sm,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n flexShrink: 0,\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n userSelect: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n '&[disabled]': {\n opacity: 0.4,\n },\n\n '&:not([disabled]):active': {\n transform: 'scale(0.97)',\n },\n ...getSizeStyles(theme)[size],\n ...getVariantStyles(theme)[variant],\n ...(isFullWidth && { width: '100%' }),\n}))\n\nconst ButtonLoadingDots = styled(LoadingDots)({\n position: 'absolute',\n color: 'currentColor',\n})\ninterface TextContainerProps {\n isHidden: boolean\n}\nconst TextContainer = styled.span<TextContainerProps>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n transition: 'opacity 120ms',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}))\n\ntype ButtonVariant = VariantProps<typeof getVariantStyles>\ntype ButtonSize = VariantProps<typeof getSizeStyles>\ninterface ButtonOptions {\n /**\n * Sets the size of the button\n * @default 'md'\n */\n size?: ButtonSize\n /**\n * Sets the style variant of the button\n * @default 'secondary'\n */\n variant?: ButtonVariant\n /**\n * If `true` the button will fill its container\n * @default false\n */\n isFullWidth?: boolean\n /**\n * If `true` the button will show a spinner\n * @default false\n */\n isLoading?: boolean\n /**\n * If `true` the button will be disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * The HTML `type` attribute\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset'\n}\n\ntype PolymorphicButton = Polymorphic.ForwardRefComponent<'button', ButtonOptions>\nexport type ButtonProps = Polymorphic.PropsOf<PolymorphicButton>\n\nexport const Button = forwardRef((props, forwardedRef) => {\n const {\n as,\n children,\n // Only default the `type` if not using the as prop\n type = as ? undefined : 'button',\n size = 'md',\n variant = 'secondary',\n isFullWidth = false,\n isLoading = false,\n isDisabled = false,\n disabled: hasHtmlDisabledProp,\n ...rest\n } = props\n\n const shouldBeDisabled = isDisabled || hasHtmlDisabledProp || isLoading\n return (\n <StyledButton\n as={as}\n ref={forwardedRef}\n variant={variant}\n size={size}\n isFullWidth={isFullWidth}\n disabled={shouldBeDisabled}\n type={type}\n {...rest}\n >\n <TextContainer isHidden={isLoading}>{children}</TextContainer>\n {isLoading && <ButtonLoadingDots size=\"sm\" data-testid=\"button-spinner\" />}\n </StyledButton>\n )\n}) as PolymorphicButton\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { HTMLQdsProps } from '../../types'\n\nconst StyledDivider = styled.span<Required<DividerOptions>>(({ theme, orientation }) => {\n const borderCssKey = orientation === 'horizontal' ? 'borderTop' : 'borderLeft'\n const sizeCssKey = orientation === 'horizontal' ? 'width' : 'height'\n return {\n display: 'block',\n [sizeCssKey]: '100%',\n flexShrink: 0,\n [borderCssKey]: `1px solid ${theme.colors.border.default}`,\n }\n})\n\ninterface DividerOptions {\n /**\n * The orientation of the divider.\n *\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport interface DividerProps extends HTMLQdsProps<'span'>, DividerOptions {}\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>((props, forwardedRef) => {\n const { orientation = 'horizontal', ...restProps } = props\n return (\n <StyledDivider ref={forwardedRef} orientation={orientation} role=\"separator\" {...restProps} />\n )\n})\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n lg: typography.title.lg,\n md: typography.title.md,\n sm: typography.title.sm,\n xs: typography.title.xs,\n '2xs': typography.title['2xs'],\n '3xs': typography.title['3xs'],\n}))\ntype HeadingSize = VariantProps<typeof getSizeStyles>\n\ninterface StyledHeadingProps {\n size: HeadingSize\n numberOfLines?: number\n textAlign?: 'left' | 'center' | 'right'\n}\nconst StyledHeading = styled.h2<StyledHeadingProps>(\n ({ theme, size, numberOfLines, textAlign }) => ({\n margin: 0,\n ...getSizeStyles(theme)[size],\n color: theme.colors.text.strong,\n textAlign,\n ...(numberOfLines && {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: numberOfLines,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n }),\n)\n\ninterface HeadingOptions {\n /**\n * Sets the visual size of the heading.\n * Also sets the HTML tag used for the heading.\n * To override the rendered tag, use the `as` prop.\n *\n * @default 'md'\n */\n size?: HeadingSize\n /**\n * Truncates the heading after a specific number of lines\n */\n numberOfLines?: number\n /**\n * Alignment of the heading\n * @default 'left'\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\ntype HeadingComponent = Polymorphic.ForwardRefComponent<'h2', HeadingOptions>\nexport type HeadingProps = Polymorphic.PropsOf<HeadingComponent>\n\nexport const Heading = forwardRef((props, forwardedRef) => {\n const { as, children, size = 'md', textAlign = 'left', ...rest } = props\n return (\n <StyledHeading as={as} ref={forwardedRef} textAlign={textAlign} size={size} {...rest}>\n {children}\n </StyledHeading>\n )\n}) as HeadingComponent\n","import { pxToRem, createStyleVariants } from '../../styles'\n\nexport const getSizeStyles = createStyleVariants(() => ({\n xs: {\n width: pxToRem(32),\n height: pxToRem(32),\n fontSize: pxToRem(12),\n },\n sm: {\n width: pxToRem(40),\n height: pxToRem(40),\n fontSize: pxToRem(14),\n },\n md: {\n width: pxToRem(48),\n height: pxToRem(48),\n fontSize: pxToRem(16),\n },\n}))\n\n// These are the exact same styles as the `Button` variant styles.\n// Maybe we can share them somehow in the future but there isn't any good abstraction yet\n// so I'll keep some duplicated styles here for now. -- Hugo (2022-07-03)\nexport const getVariantStyles = createStyleVariants(({ colors }) => ({\n primary: {\n background: colors.bg.brandPrimary,\n color: colors.text.onColor,\n ':enabled': {\n // This prevents hover styles from displaying instead\n // of active styles on touch devices\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandPrimaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandPrimaryActive,\n },\n },\n },\n secondary: {\n background: colors.bg.brandSecondary,\n color: colors.text.onColor,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandSecondaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandSecondaryActive,\n },\n },\n },\n tertiary: {\n background: colors.bg.default,\n color: colors.text.strong,\n border: '1px solid',\n borderColor: colors.core.gray40,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n ghost: {\n background: colors.core.white,\n color: colors.core.black,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n },\n}))\n","import type { ElementType } from 'react'\nimport { createElement, forwardRef } from 'react'\nimport styled from '@emotion/styled'\n\nimport type { VariantProps } from '../../styles'\nimport type { IconProps } from '../icon'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nimport { getSizeStyles, getVariantStyles } from './icon-button-styles'\n\nconst ICON_SIZE_MAP: Record<IconButtonSize, IconProps['size']> = {\n xs: 12,\n sm: 16,\n md: 16,\n}\n\ninterface StyledButtonProps {\n size: IconButtonSize\n variant: IconButtonVariant\n}\nconst StyledButton = styled.button<StyledButtonProps>(({ theme, size, variant }) => ({\n borderRadius: theme.radii.full,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n flexShrink: 0,\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n userSelect: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n '&[disabled]': {\n opacity: 0.4,\n },\n '&:not([disabled]):active': {\n transform: 'scale(0.97)',\n },\n ...getSizeStyles(theme)[size],\n ...getVariantStyles(theme)[variant],\n}))\n\ntype IconButtonSize = VariantProps<typeof getSizeStyles>\ntype IconButtonVariant = VariantProps<typeof getVariantStyles>\ninterface IconButtonOptions {\n icon: ElementType<IconProps>\n /**\n * A visually hidden label read by screen readers.\n *\n */\n label: string\n /**\n * Defines the size of the button\n */\n size?: IconButtonSize\n /**\n * Sets the style variant of the button\n */\n variant?: IconButtonVariant\n /**\n * If `true` the button will be disabled\n */\n isDisabled?: boolean\n}\n\ntype IconButtonComponent = Polymorphic.ForwardRefComponent<'button', IconButtonOptions>\nexport type IconButtonProps = Polymorphic.PropsOf<IconButtonComponent>\n\nexport const IconButton = forwardRef((props, forwardedRef) => {\n const {\n as,\n icon,\n label,\n 'aria-label': ariaLabel = label,\n variant = 'ghost',\n size = 'md',\n type = 'button',\n isDisabled = false,\n ...restProps\n } = props\n return (\n <StyledButton\n as={as}\n ref={forwardedRef}\n aria-label={ariaLabel}\n variant={variant}\n size={size}\n disabled={isDisabled}\n type={type}\n {...restProps}\n >\n {createElement(icon, { 'aria-hidden': true, size: ICON_SIZE_MAP[size], color: 'inherit' })}\n </StyledButton>\n )\n}) as IconButtonComponent\n","import { keyframes } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nimport { useImage } from '../../hooks/use-image'\nimport type { Theme } from '../../theme'\nimport type { HTMLQdsProps } from '../../types'\n\nconst PULSE_ANIMATION = keyframes({\n '0%': {\n opacity: 0.5,\n },\n '100%': {\n opacity: 1,\n },\n})\n\ninterface ImageWrapperProps {\n borderRadius: keyof Theme['radii']\n $width: string | number\n $height: string | number\n isLoading: boolean\n}\nconst ImageWrapper = styled.div<ImageWrapperProps>(\n ({ theme, $width, $height, borderRadius, isLoading }) => ({\n width: $width,\n height: $height,\n borderRadius: theme.radii[borderRadius],\n overflow: 'hidden',\n transition: 'background-color 180ms',\n background: 'transparent',\n border: `1px solid ${theme.colors.core.gray20}`,\n\n ...(isLoading && {\n background: theme.colors.core.gray20,\n animationDuration: '0.8s',\n animationDirection: 'alternate',\n animationIterationCount: 'infinite',\n }),\n animationName: isLoading ? PULSE_ANIMATION : undefined,\n }),\n)\n\ninterface StyledImgProps {\n isVisible: boolean\n}\nconst StyledImg = styled.img<StyledImgProps>(({ isVisible }) => ({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n opacity: isVisible ? 1 : 0,\n transition: 'opacity 180ms',\n}))\n\ninterface ImageOptions {\n src?: string\n alt?: string\n width: string | number\n height: string | number\n loading?: 'eager' | 'lazy'\n borderRadius?: keyof Theme['radii']\n}\n\ntype OmittedProps = 'width' | 'height'\n\nexport interface ImageProps extends Omit<HTMLQdsProps<'img'>, OmittedProps>, ImageOptions {}\nexport function Image({\n src,\n loading = 'lazy',\n width,\n height,\n borderRadius = 'md',\n ...restProps\n}: ImageProps) {\n const { loadingStatus } = useImage({ src, loading })\n\n const isLoading = loadingStatus === 'loading'\n return (\n <ImageWrapper isLoading={isLoading} $width={width} $height={height} borderRadius={borderRadius}>\n <StyledImg\n src={src}\n isVisible={loadingStatus === 'loaded'}\n loading={loading}\n {...restProps}\n />\n </ImageWrapper>\n )\n}\n","import { useEffect, useState } from 'react'\n\nimport { theme } from '../theme'\nimport type { Theme } from '../theme'\n\ntype Breakpoints = Theme['breakpoints']\n\nconst breakpointsArray = Object.entries(theme.breakpoints).map(([name, value]) => ({\n name: name as keyof Breakpoints,\n breakpoint: value,\n}))\n\nconst MEDIA_QUERIES = breakpointsArray.map(({ name, breakpoint }, index) => {\n const nextValue = breakpointsArray?.[index + 1]?.breakpoint\n const media = nextValue\n ? `(min-width: ${breakpoint}px) and (max-width: ${nextValue - 1}px)`\n : `(min-width: ${breakpoint}px)`\n\n return {\n name,\n media,\n }\n})\n\nconst getMatchingBreakpoint = () => {\n const matchingBreakpoint = MEDIA_QUERIES.find(({ media }) => {\n return window.matchMedia(media).matches\n })\n // Since the breakpoints cover all screen sizes we should always get a match,\n // but to be safe we return 'base' as a fallback.\n return matchingBreakpoint?.name || 'base'\n}\n\nexport interface UseBreakpointOptions {\n /**\n * If `true` the intital value will be `base` instead of the current breakpoint.\n * This is to support hydration when using SSR.\n *\n * If you're creating a client-side rendered app, you can pass `false` to get the correct value on the first render.\n *\n * @default true\n */\n ssr?: boolean\n}\n\n/**\n * Hook for getting the current breakpoint.\n */\nexport function useBreakpoint(params?: UseBreakpointOptions) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { ssr = true } = params || {}\n const initialBreakpoint = ssr ? 'base' : getMatchingBreakpoint\n const [currentBreakpoint, setCurrentBreakpoint] = useState<keyof Breakpoints>(initialBreakpoint)\n\n useEffect(() => {\n const matchMediaArray = MEDIA_QUERIES.map(({ media }) => window.matchMedia(media))\n\n const handleChange = () => {\n // Instead of checking the value from the matchMedia listeners event we just use it\n // as trigger to know when the current breakpoint should be updated.\n // This is because each separate query has its own event listener which\n // can lead to incorrect intermediate states where no breakpoint is matching.\n setCurrentBreakpoint(getMatchingBreakpoint())\n }\n\n // Update the current breakpoint on the first render.\n // After that the event listeners will take care of updating the state.\n handleChange()\n\n matchMediaArray.forEach((mediaQuery) => {\n if (typeof mediaQuery.addListener === 'function') {\n // Safari < 14 fallback\n mediaQuery.addListener(handleChange)\n } else {\n mediaQuery.addEventListener('change', handleChange)\n }\n })\n\n return () => {\n matchMediaArray.forEach((mediaQuery) => {\n if (typeof mediaQuery.addListener === 'function') {\n mediaQuery.removeListener(handleChange)\n } else {\n mediaQuery.removeEventListener('change', handleChange)\n }\n })\n }\n }, [])\n\n return { currentBreakpoint }\n}\n","import { useLayoutEffect } from 'react'\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nexport const useSafeLayoutEffect = globalThis?.document ? useLayoutEffect : () => undefined\n","import React, { useState } from 'react'\n\nimport type { LegitimateAny } from '../types'\n\nimport { useSafeLayoutEffect } from './use-safe-layout-effect'\n\n/**\n * This is basically a copy of Radix UI's `useId` hook.\n */\n\n// We `toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as LegitimateAny)['useId'.toString()] || (() => undefined)\nlet count = 0\n\n/**\n * Returns a stable ID that is unique to the component instance.\n */\nexport function useStableId(fixedId?: string | null): string {\n const [id, setId] = useState<string | undefined>(useReactId())\n // React versions older than 18 will have client-side ids only.\n useSafeLayoutEffect(() => {\n if (!fixedId) setId((reactId) => reactId ?? String(count++))\n }, [fixedId])\n return fixedId || (id ? `qds-${id}` : '')\n}\n","import type { ElementType } from 'react'\nimport { useCallback } from 'react'\n\nimport type { HTMLQdsProps, LegitimateAny } from '../types'\n\nimport { useStableId } from './use-stable-id'\n\ntype FormFieldElement = 'input' | 'select' | 'textarea'\n\ntype PropGetter<T extends ElementType = LegitimateAny> = (\n props?: HTMLQdsProps<T>,\n) => Record<string, unknown>\n\ninterface FormFieldOptions {\n /**\n * The label for the form field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n /**\n * If `true`, the form field will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the form field will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the form field will be required\n */\n isRequired?: boolean\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\nexport type UseFormFieldProps<T extends FormFieldElement> = Omit<HTMLQdsProps<T>, OmittedProps> &\n FormFieldOptions\n\n/**\n * Custom hook that returns props for a form field's label, input, helper text and error message.\n * Meant to be used in conjunction with the `Input`, `Select` or `Textarea` component.\n *\n * Used internally by `TextField`, `Select` and `Textarea`.\n */\nexport const useFormField = <T extends FormFieldElement>(props: UseFormFieldProps<T>) => {\n const { id: idProp, isDisabled, helperText, errorMessage, isInvalid, isRequired } = props\n const id = useStableId(idProp)\n\n const errorMessageId = `${id}-error`\n const helperTextId = `${id}-helper`\n\n const getLabelProps = useCallback<PropGetter<'label'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n htmlFor: id,\n 'data-disabled': isDisabled ? '' : undefined,\n }),\n [id, isDisabled],\n )\n\n const getHelperTextProps = useCallback<PropGetter<'div'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n id: helperTextId,\n 'data-disabled': isDisabled ? '' : undefined,\n }),\n [helperTextId, isDisabled],\n )\n\n const getErrorMessageProps = useCallback<PropGetter<'div'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n id: errorMessageId,\n 'aria-live': 'polite',\n }),\n [errorMessageId],\n )\n\n const getFieldProps = useCallback<PropGetter<T>>(\n (forwardedProps) => {\n const ariaDescribedByIds: string[] = []\n\n // Error message must be described first in all scenarios.\n if (Boolean(errorMessage) && isInvalid) {\n ariaDescribedByIds.push(errorMessageId)\n } else if (helperText) {\n ariaDescribedByIds.push(helperTextId)\n }\n\n if (forwardedProps?.['aria-describedby']) {\n ariaDescribedByIds.push(forwardedProps['aria-describedby'])\n }\n\n return {\n ...forwardedProps,\n 'aria-describedby': ariaDescribedByIds.join(' ') || undefined,\n id: forwardedProps?.id ?? id,\n isDisabled,\n isRequired,\n 'aria-invalid': isInvalid ? true : undefined,\n }\n },\n [errorMessage, errorMessageId, helperText, helperTextId, id, isDisabled, isInvalid, isRequired],\n )\n\n return {\n getLabelProps,\n /**\n * Props to be spread on the input, select or textarea element.\n * Function accepts an optional object of props to be merged with the returned props.\n */\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n }\n}\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n sm: {\n ...typography.label.sm,\n },\n md: {\n ...typography.label.md,\n },\n}))\n\ntype LabelSize = VariantProps<typeof getSizeStyles>\nconst StyledLabel = styled.label<{ size: LabelSize }>(({ theme, size }) => ({\n display: 'block',\n color: theme.colors.text.strong,\n cursor: 'default',\n ...getSizeStyles(theme)[size],\n '&[data-disabled]': {\n opacity: 0.4,\n },\n}))\n\ninterface LabelOptions {\n /**\n * Size of the label\n */\n size?: LabelSize\n}\n\ntype LabelComponent = Polymorphic.ForwardRefComponent<'label', LabelOptions>\nexport type LabelProps = Polymorphic.PropsOf<LabelComponent>\n\nexport const Label = forwardRef((props, forwardedRef) => {\n const { as, children, size = 'md', onMouseDown, ...restProps } = props\n return (\n <StyledLabel\n as={as}\n ref={forwardedRef}\n {...restProps}\n size={size}\n onMouseDown={(event) => {\n onMouseDown && onMouseDown(event)\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) {\n event.preventDefault()\n }\n }}\n >\n {children}\n </StyledLabel>\n )\n}) as LabelComponent\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\n\nconst StyledInput = styled('input')(({ theme }) => ({\n ...getFormFieldBaseStyles(theme),\n height: 48,\n}))\n\nexport interface InputBaseOptions {\n /**\n * If `true`, the input will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the input will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the input will be required\n */\n isRequired?: boolean\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size' | 'disabled' | 'required'\nexport interface InputBaseProps\n extends Omit<HTMLQdsProps<'input'>, OmittedProps>,\n InputBaseOptions {}\n\nexport const InputBase = forwardRef<HTMLInputElement, InputBaseProps>((props, forwardedRef) => {\n const { isInvalid, isDisabled, isRequired, ...restProps } = props\n\n return (\n <StyledInput\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n {...restProps}\n />\n )\n})\n","import styled from '@emotion/styled'\n\nexport const FieldWrapper = styled.div(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing['2x'],\n width: '100%',\n}))\n\nexport const ErrorMessage = styled.div(({ theme }) => ({\n ...theme.typography.body.sm,\n color: theme.colors.text.negative,\n}))\n\nexport const HelperText = styled.div(({ theme }) => ({\n ...theme.typography.body.sm,\n color: theme.colors.text.subtle,\n '&[data-disabled]': {\n opacity: 0.4,\n },\n}))\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { InputBaseOptions } from '../primitives/input-base'\nimport { InputBase } from '../primitives/input-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\ninterface TextFieldOptions extends InputBaseOptions {\n /**\n * The label for the input\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\n\nexport interface TextFieldProps\n extends Omit<HTMLQdsProps<'input'>, OmittedProps>,\n TextFieldOptions {}\n\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>((props, forwardedRef) => {\n const { label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getInputProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField<'input'>(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <InputBase ref={forwardedRef} {...getInputProps(restProps)} />\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n","import { forwardRef } from 'react'\nimport styled from '@emotion/styled'\n\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst StyledLink = styled.a(({ theme }) => ({\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n ...theme.typography.body.md,\n color: theme.colors.text.strong,\n WebkitAppearance: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n flexShrink: 0,\n fontSize: 'inherit',\n textDecoration: 'underline',\n}))\n\ninterface LinkOptions {\n /**\n * The URL to link to.\n */\n href?: string\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\ntype LinkComponent = Polymorphic.ForwardRefComponent<'a', LinkOptions>\nexport type LinkProps = Polymorphic.PropsOf<LinkComponent>\n\nexport const Link = forwardRef((props, forwardedRef) => {\n const { children, href, isExternal = false, ...restProps } = props\n const externalProps = isExternal ? { target: '_blank', rel: 'noopener noreferrer' } : {}\n return (\n <StyledLink ref={forwardedRef} href={href} {...externalProps} {...restProps}>\n {children}\n </StyledLink>\n )\n}) as LinkComponent\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type { Theme } from '../../theme'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n xs: typography.body.xs,\n sm: typography.body.sm,\n md: typography.body.md,\n lg: typography.body.lg,\n xl: typography.body.xl,\n}))\n\ntype ParagraphSize = VariantProps<typeof getSizeStyles>\ntype ParagraphColor = keyof Theme['colors']['text']\n\ninterface StyledParagraphProps {\n size: ParagraphSize\n color: ParagraphColor\n numberOfLines?: number\n textAlign?: 'left' | 'center' | 'right'\n}\nconst StyledParagraph = styled.p<StyledParagraphProps>(\n ({ theme, size, color, numberOfLines, textAlign }) => ({\n margin: 0,\n ...getSizeStyles(theme)[size],\n color: theme.colors.text[color],\n textAlign,\n ...(numberOfLines && {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: numberOfLines,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n }),\n)\n\ninterface ParagraphOptions {\n /**\n * Sets the visual size of the text\n * @default 'md'\n */\n size?: ParagraphSize\n /**\n * Sets the color of the text\n * @default 'normal'\n */\n color?: ParagraphColor\n /**\n * Truncates the text after a specific number of lines\n */\n numberOfLines?: number\n /**\n * Alignment of the paragraph\n * @default 'left'\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\ntype ParagraphComponent = Polymorphic.ForwardRefComponent<'p', ParagraphOptions>\nexport type ParagraphProps = Polymorphic.PropsOf<ParagraphComponent>\n\nexport const Paragraph = forwardRef((props, forwardedRef) => {\n const { children, size = 'md', color = 'default', textAlign = 'left', ...rest } = props\n return (\n <StyledParagraph ref={forwardedRef} size={size} color={color} textAlign={textAlign} {...rest}>\n {children}\n </StyledParagraph>\n )\n}) as ParagraphComponent\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\nimport { ChevronDownIcon } from '../../icon'\n\nexport interface SelectBaseOptions {\n /**\n * The placeholder for the select. We render an `<option/>` element that has\n * empty value.\n *\n * ```jsx\n * <option value=\"\">{placeholder}</option>\n * ```\n */\n placeholder?: string\n /**\n * If `true`, the select will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the select will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the select will be required\n */\n isRequired?: boolean\n}\n\nconst SelectWrapper = styled.div({\n width: '100%',\n height: 'fit-content',\n position: 'relative',\n})\nconst SelectIconWrapper = styled.div({\n pointerEvents: 'none',\n position: 'absolute',\n height: '100%',\n width: 48,\n right: 0,\n top: 0,\n color: 'currentcolor',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n '&[data-disabled]': {\n opacity: 0.4,\n },\n})\n\nconst StyledSelect = styled.select(({ theme }) => ({\n ...getFormFieldBaseStyles(theme),\n height: 48,\n // Ensure the text doesn't end up behind the icon\n paddingRight: 40,\n}))\n\ntype OmittedProps = 'readOnly' | 'size' | 'multiple' | 'disabled' | 'required'\n\ninterface SelectBaseProps extends Omit<HTMLQdsProps<'select'>, OmittedProps>, SelectBaseOptions {}\n\nexport const SelectBase = forwardRef<HTMLSelectElement, SelectBaseProps>((props, forwardedRef) => {\n const { placeholder, children, isInvalid, isDisabled, isRequired, ...restProps } = props\n\n return (\n <SelectWrapper>\n <StyledSelect\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n {...restProps}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </StyledSelect>\n <SelectIconWrapper data-disabled={isDisabled ? '' : undefined}>\n <ChevronDownIcon role=\"presentation\" aria-hidden=\"true\" size={12} />\n </SelectIconWrapper>\n </SelectWrapper>\n )\n})\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\n\nconst StyledTextarea = styled.textarea<{ resize: ResizeProp; minRows: MinRowsProp }>(\n ({ theme, resize, minRows }) => {\n const baseStyles = getFormFieldBaseStyles(theme)\n const paddingVertical = theme.spacing['3x']\n const minHeight = `calc(${baseStyles.lineHeight} * ${minRows} + ${paddingVertical} * 2 + 2px)` // + 2px for border\n\n return {\n ...baseStyles,\n paddingTop: paddingVertical,\n paddingBottom: paddingVertical,\n resize,\n minHeight,\n }\n },\n)\n\ntype ResizeProp = 'none' | 'both' | 'horizontal' | 'vertical'\ntype MinRowsProp = number\nexport interface TextareaBaseOptions {\n /**\n * If `true`, the textarea will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the textarea will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the textarea will be required\n */\n isRequired?: boolean\n /**\n * The resize behavior of the textarea\n *\n * @default 'vertical'\n */\n resize?: ResizeProp\n /**\n * The minimum number of rows to display without requiring scrolling or resizing.\n * To disabled resizing use the `resize` prop.\n *\n * @default 3\n */\n minRows?: MinRowsProp\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size' | 'disabled' | 'required' | 'rows' | 'cols'\nexport interface TextareaBaseProps\n extends Omit<HTMLQdsProps<'textarea'>, OmittedProps>,\n TextareaBaseOptions {}\n\nexport const TextareaBase = forwardRef<HTMLTextAreaElement, TextareaBaseProps>(\n (props, forwardedRef) => {\n const {\n isInvalid,\n isDisabled,\n isRequired,\n resize = 'vertical',\n minRows = 3,\n ...restProps\n } = props\n\n return (\n <StyledTextarea\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n resize={resize}\n minRows={minRows}\n {...restProps}\n />\n )\n },\n)\n","import { forwardRef } from 'react'\n\nimport type { HTMLQdsProps } from '../../types'\n\ninterface SelectOptionOptions {\n isDisabled?: boolean\n}\n\ntype OmittedProps = 'disabled' | 'label'\nexport interface SelectOptionProps\n extends Omit<HTMLQdsProps<'option'>, OmittedProps>,\n SelectOptionOptions {}\n\nexport const SelectOption = forwardRef<HTMLOptionElement, SelectOptionProps>(\n (props, forwardedRef) => {\n const { children, isDisabled, ...restProps } = props\n return (\n <option ref={forwardedRef} disabled={isDisabled} {...restProps}>\n {children}\n </option>\n )\n },\n)\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { SelectBaseOptions } from '../primitives/select-base'\nimport { SelectBase } from '../primitives/select-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\nimport type { SelectOptionProps } from './select-option'\nimport { SelectOption } from './select-option'\n\ninterface SelectOptions extends SelectBaseOptions {\n /**\n * The label for the select field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'readOnly' | 'size'\n\nexport interface SelectProps extends Omit<HTMLQdsProps<'select'>, OmittedProps>, SelectOptions {}\n\nconst SelectRoot = forwardRef<HTMLSelectElement, SelectProps>((props, forwardedRef) => {\n const { children, label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getSelectProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <SelectBase ref={forwardedRef} {...getSelectProps(restProps)}>\n {children}\n </SelectBase>\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n\nexport const Select = Object.assign(SelectRoot, { Option: SelectOption })\nexport type { SelectOptionProps }\n","import { useTheme } from '@emotion/react'\nimport { forwardRef } from 'react'\n\nimport type { Theme } from '../../theme'\nimport type { HTMLQdsProps } from '../../types'\n\ninterface SpacerOptions {\n axis?: 'x' | 'y'\n size: keyof Theme['spacing']\n}\n\nexport interface SpacerProps extends HTMLQdsProps<'span'>, SpacerOptions {}\nexport const Spacer = forwardRef<HTMLSpanElement, SpacerProps>((props, forwardedRef) => {\n const { axis = 'y', size, ...restProps } = props\n const { spacing } = useTheme()\n\n const resolvedSize = spacing[size]\n\n const width = axis === 'y' ? 1 : resolvedSize\n const height = axis === 'x' ? 1 : resolvedSize\n return (\n <span\n ref={forwardedRef}\n aria-hidden=\"true\"\n {...restProps}\n style={{\n display: 'block',\n width,\n minWidth: width,\n height,\n minHeight: height,\n ...restProps.style,\n }}\n />\n )\n})\n","import type { ReactNode } from 'react'\nimport { Fragment, forwardRef } from 'react'\nimport styled from '@emotion/styled'\n\nimport type { Merge } from '../../types'\nimport type { Theme } from '../../theme'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nimport { getValidChildren } from './stack.utils'\nimport type { AlignItems, FlexDirection, JustifyContent, FlexWrap } from './stack.types'\n\ntype StyledStackProps = Merge<StackOptions, { gap: GapProp }>\nconst StyledStack = styled.div<StyledStackProps>(\n ({ theme, direction, justifyContent, alignItems, wrap, gap }) => ({\n display: 'flex',\n gap: theme.spacing[gap],\n flexDirection: direction,\n justifyContent,\n alignItems,\n flexWrap: wrap,\n }),\n)\n\ntype GapProp = keyof Theme['spacing']\ninterface StackOptions {\n /**\n * The direction of the stack.\n * @default 'column'\n */\n direction?: FlexDirection\n /**\n * The CSS `justify-content` property.\n * Controls the alignment of items on the main axis.\n */\n justifyContent?: JustifyContent\n /**\n * The CSS `align-items` property.\n * Controls the alignment of items on the cross axis.\n */\n alignItems?: AlignItems\n /**\n * The CSS `flex-wrap` property.\n * Controls whether children can wrap onto multiple lines.\n * @default 'nowrap'\n */\n wrap?: FlexWrap\n /**\n * The gap between each child element.\n */\n gap?: GapProp\n /**\n * A divider element to be rendered between each child element.\n *\n * _Note: For the divider to be rendered, the child elements can't be loose strings or numbers.\n * Wrap them in a `div` or other element._\n */\n divider?: ReactNode\n}\n\ntype StackComponent = Polymorphic.ForwardRefComponent<'div', StackOptions>\nexport type StackProps = Polymorphic.PropsOf<StackComponent>\n\nexport const Stack = forwardRef((props, forwardedRef) => {\n const {\n as,\n children,\n direction = 'column',\n justifyContent = 'flex-start',\n alignItems = 'stretch',\n divider,\n gap = '0x',\n ...restProps\n } = props\n const hasDivider = Boolean(divider)\n\n const resolvedChildren = !hasDivider\n ? children\n : getValidChildren(children).map((child, index, validChildren) => {\n // Prefer provided child key and fallback to index\n const key = typeof child.key !== 'undefined' ? child.key : index\n const isLast = index + 1 === validChildren.length\n\n const currentDivider = isLast ? null : divider\n\n return (\n <Fragment key={key}>\n {child}\n {currentDivider}\n </Fragment>\n )\n })\n\n return (\n <StyledStack\n as={as}\n ref={forwardedRef}\n direction={direction}\n justifyContent={justifyContent}\n alignItems={alignItems}\n gap={gap}\n {...restProps}\n >\n {resolvedChildren}\n </StyledStack>\n )\n}) as StackComponent\n","import type { ReactElement, ReactNode } from 'react'\nimport { Children, isValidElement } from 'react'\n\n/**\n * Gets only the valid children of a component,\n * and ignores any nullish or falsy child.\n */\nexport function getValidChildren(children: ReactNode) {\n return Children.toArray(children).filter((child) => isValidElement(child)) as ReactElement[]\n}\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { TextareaBaseOptions } from '../primitives/textarea-base'\nimport { TextareaBase } from '../primitives/textarea-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\ninterface TextareaOptions extends TextareaBaseOptions {\n /**\n * The label for the textarea field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\n\nexport interface TextareaProps\n extends Omit<HTMLQdsProps<'textarea'>, OmittedProps>,\n TextareaOptions {}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>((props, forwardedRef) => {\n const { label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getTextareaProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField<'textarea'>(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <TextareaBase ref={forwardedRef} {...getTextareaProps(restProps)} />\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n","import type { Theme } from '../theme'\nimport { breakpoints } from '../theme/foundations/breakpoints'\nimport type { PartialRecord } from '../types'\n\nimport type { UseBreakpointOptions } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\ntype Breakpoints = Theme['breakpoints']\ntype BreakpointsConfig<T> = PartialRecord<keyof Breakpoints, T> & { base: T }\nexport type UseBreakpointValueProps<T> = BreakpointsConfig<T>\n\n/**\n * Hook for getting a value based on the current breakpoint.\n *\n * @example\n * const width = useBreakpointValue({ base: '150px', md: '250px' })\n */\nexport function useBreakpointValue<T>(\n values: UseBreakpointValueProps<T>,\n options?: UseBreakpointOptions,\n) {\n const { currentBreakpoint } = useBreakpoint(options)\n const breakpointNames = Object.keys(breakpoints) as (keyof Breakpoints)[]\n let breakpointValue = values[currentBreakpoint]\n\n if (breakpointValue) {\n return breakpointValue\n }\n\n for (let i = breakpointNames.length - 1; i >= 0; i--) {\n const key = breakpointNames[i]\n if (key in values) {\n breakpointValue = values[key]\n break\n }\n }\n\n return breakpointValue || values.base\n}\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__makeTemplateObject","cooked","raw","defineProperty","value","StyleSheet","options","_this","_insertTag","tag","before","tags","insertionPoint","nextSibling","prepend","container","firstChild","insertBefore","push","isSpeedy","undefined","speedy","process","env","NODE_ENV","ctr","nonce","key","_proto","hydrate","nodes","forEach","insert","rule","document","createElement","setAttribute","appendChild","createTextNode","createStyleElement","isImportRule","charCodeAt","_alreadyInsertedOrderInsensitiveRule","console","error","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","test","flush","parentNode","removeChild","r","a","c","u","o","f","l","h","v","b","d","m","w","k","Math","abs","$","String","fromCharCode","g","x","O","E","trim","y","exec","T","replace","A","C","slice","M","S","R","z","map","join","N","root","parent","type","props","children","line","column","return","P","j","character","U","position","characters","_","F","I","L","D","K","V","W","Z","Y","G","B","J","H","q","Q","X","re","ae","ee","ce","te","ne","se","ie","ue","oe","CHARSET","COMMENT","COUNTER_STYLE","DECLARATION","DOCUMENT","FONT_FACE","FONT_FEATURE_VALUES","IMPORT","KEYFRAMES","MEDIA","MOZ","MS","NAMESPACE","PAGE","RULESET","SUPPORTS","VIEWPORT","WEBKIT","alloc","append","caret","char","charat","combine","comment","commenter","compile","copy","dealloc","declaration","delimit","delimiter","escaping","from","hash","identifier","indexof","match","middleware","namespace","next","node","parse","peek","prefix","prefixer","prev","ruleset","rulesheet","serialize","sizeof","stringify","strlen","substr","token","tokenize","tokenizer","whitespace","identifierWithPointTracking","begin","points","index","previous","exports","getRules","parsed","toRules","fixedElements","WeakMap","compat","element","isImplicitRule","get","set","rules","parentRules","removeLabel","isIgnoringComment","nullifyElement","incorrectImportAlarm","isPrependedWithRegularRules","isBrowser","getServerStylisCache","func","cache","arg","has","ret","weakMemoize","fn","create","memoize","name","defaultStylisPlugins","globalStyles","theme","css","templateObject_1","typography","body","md","fontFamily","lineHeight","letterSpacing","colors","text","default","border","defaultSelected","GlobalStyles","_jsx","Global","styles","createStyleVariants","createStyle","pxToRem","px","concat","getFormFieldBaseStyles","_a","radii","spacing","width","minWidth","appearance","paddingLeft","paddingRight","borderRadius","sm","backgroundColor","bg","color","alignItems","disabled","borderColor","defaultHover","outline","boxShadow","negative","opacity","transitionProperty","transitionDuration","transitionTimingFunction","breakpoints","base","lg","xl","core","black","white","gray90","gray80","gray70","gray60","gray50","gray40","gray30","gray20","gray10","brand90","brand80","brand70","brand60","brand50","brand40","brand30","brand20","brand10","red10","red20","red30","red40","red50","red60","red70","red80","red90","green90","green80","green70","green60","green50","green40","green30","green20","green10","blue90","blue80","blue70","blue60","blue50","blue40","blue30","blue20","blue10","yellow90","yellow80","yellow70","yellow60","yellow50","yellow40","yellow30","yellow20","yellow10","blackAlpha20","brandPrimary","brandPrimaryHover","brandPrimaryActive","brandSecondary","brandSecondaryHover","brandSecondaryActive","warning","positive","inset","backdrop","strong","subtle","onColor","icon","success","sizes","fontStacks","display","sans","fontWeight","fontSize","title","xs","label","caption","foundations","zIndices","hide","auto","docked","dropdown","sticky","banner","overlay","modal","popover","skipLink","toast","tooltip","none","full","shadows","mediaQueries","smUp","mdUp","lgUp","xlUp","objectKeys","obj","keys","deepMerge","target","source","result","overrideTheme","overrides","group","override","typographyGroup_1","overrideTypography","cssReset","CSSReset","Error","ssrStyles","querySelectorAll","Array","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","split","omnipresentPlugins","unsafePseudoClasses","commentContainer","unsafePseudoClass","createUnsafeSelectorsAlarm","currentSheet","finalizingPlugins","serializer","selector","serialized","shouldCache","_finalizingPlugins","_serializer","serverStylisCache","registered","createCache","useImage","src","loading","_b","useState","loadingStatus","setLoadingStatus","useEffect","updateStatus","status","image","Image","onload","onerror","getSizeStyles","StyledSvg","styled","svg","size","_c","createIcon","viewBox","pathDefinition","displayName","path","Children","toArray","Component","forwardRef","forwardedRef","ref","xmlns","height","focusable","fill","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","BellSlashIcon","BellIcon","CalendarIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","EllipsisVerticalIcon","EllipsisIcon","HeartFilledIcon","HeartIcon","ImageIcon","LocationDotIcon","MapIcon","PlusIcon","SearchIcon","SettingsIcon","StarFilledIcon","StarIcon","TrashIcon","UserIcon","XmarkIcon","SIZE_MAP","Wrapper","span","background","overflow","justifyContent","StyledImage","img","objectFit","FallbackIcon","Avatar","restProps","hasLoadedImage","jsx","alt","role","gap","scaleAndFade","keyframes","transform","Dot","animationDuration","animationTimingFunction","animationIterationCount","animationFillMode","animationDelay","ANIMATION_STAGGER_DELAY","animationName","LoadingDots","_jsxs","getVariantStyles","primary","secondary","tertiary","_d","ghost","_e","textDecoration","textUnderlineOffset","StyledButton","button","variant","isFullWidth","flexShrink","WebkitTouchCallout","WebkitTapHighlightColor","userSelect","ButtonLoadingDots","TextContainer","isHidden","transition","whiteSpace","textOverflow","Button","as","isLoading","_f","isDisabled","hasHtmlDisabledProp","rest","shouldBeDisabled","jsxs","StyledDivider","orientation","borderCssKey","Divider","StyledHeading","h2","numberOfLines","textAlign","margin","WebkitBoxOrient","WebkitLineClamp","Heading","ICON_SIZE_MAP","IconButton","ariaLabel","PULSE_ANIMATION","ImageWrapper","div","$width","$height","animationDirection","StyledImg","isVisible","breakpointsArray","entries","breakpoint","MEDIA_QUERIES","nextValue","media","getMatchingBreakpoint","matchingBreakpoint","find","window","matchMedia","matches","useBreakpoint","params","ssr","initialBreakpoint","currentBreakpoint","setCurrentBreakpoint","matchMediaArray","handleChange","mediaQuery","addListener","addEventListener","removeListener","removeEventListener","useSafeLayoutEffect","globalThis","useLayoutEffect","useReactId","React","toString","count","useStableId","fixedId","id","setId","reactId","useFormField","idProp","helperText","errorMessage","isInvalid","isRequired","errorMessageId","helperTextId","getLabelProps","useCallback","forwardedProps","htmlFor","getHelperTextProps","getErrorMessageProps","getFieldProps","ariaDescribedByIds","Boolean","StyledLabel","cursor","Label","onMouseDown","event","defaultPrevented","detail","preventDefault","StyledInput","InputBase","required","FieldWrapper","flexDirection","ErrorMessage","HelperText","TextField","getInputProps","helperTextNode","errorMessageNode","StyledLink","WebkitAppearance","Link","href","isExternal","externalProps","rel","StyledParagraph","Paragraph","SelectWrapper","SelectIconWrapper","pointerEvents","right","top","StyledSelect","select","SelectBase","placeholder","StyledTextarea","textarea","resize","minRows","baseStyles","paddingVertical","minHeight","paddingTop","paddingBottom","TextareaBase","SelectOption","SelectRoot","getSelectProps","Select","Option","Spacer","axis","resolvedSize","useTheme","style","StyledStack","direction","wrap","flexWrap","Stack","divider","resolvedChildren","filter","child","isValidElement","getValidChildren","validChildren","currentDivider","Fragment","Textarea","getTextareaProps","themeOverrides","resolvedTheme","CacheProvider","ThemeProvider","values","breakpointNames","breakpointValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../node_modules/stylis/dist/umd/stylis.js","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/cache/dist/emotion-cache.esm.js","../../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","../../src/styles/global-styles.tsx","../../src/styles/css-utils.ts","../../src/styles/common-styles.ts","../../src/theme/foundations/breakpoints.ts","../../src/theme/foundations/colors.ts","../../src/theme/foundations/spacing.ts","../../src/theme/foundations/sizes.ts","../../src/theme/foundations/typography.ts","../../src/theme/foundations/index.ts","../../src/theme/foundations/z-index.ts","../../src/theme/foundations/radius.ts","../../src/theme/foundations/shadows.ts","../../src/theme/theme.ts","../../src/utils/object.ts","../../src/theme/theme-tools.ts","../../src/styles/css-reset.tsx","../../src/qds-provider.tsx","../../src/hooks/use-image.ts","../../src/components/icon/create-icon.tsx","../../src/components/icon/icons/arrow-down.tsx","../../src/components/icon/icons/arrow-left.tsx","../../src/components/icon/icons/arrow-right.tsx","../../src/components/icon/icons/arrow-up.tsx","../../src/components/icon/icons/bell-slash.tsx","../../src/components/icon/icons/bell.tsx","../../src/components/icon/icons/calendar.tsx","../../src/components/icon/icons/check.tsx","../../src/components/icon/icons/chevron-down.tsx","../../src/components/icon/icons/chevron-left.tsx","../../src/components/icon/icons/chevron-right.tsx","../../src/components/icon/icons/chevron-up.tsx","../../src/components/icon/icons/ellipsis-vertical.tsx","../../src/components/icon/icons/ellipsis.tsx","../../src/components/icon/icons/heart-filled.tsx","../../src/components/icon/icons/heart.tsx","../../src/components/icon/icons/image.tsx","../../src/components/icon/icons/location-dot.tsx","../../src/components/icon/icons/map.tsx","../../src/components/icon/icons/plus.tsx","../../src/components/icon/icons/search.tsx","../../src/components/icon/icons/settings.tsx","../../src/components/icon/icons/star-filled.tsx","../../src/components/icon/icons/star.tsx","../../src/components/icon/icons/trash.tsx","../../src/components/icon/icons/user.tsx","../../src/components/icon/icons/xmark.tsx","../../src/components/avatar/avatar.tsx","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../src/components/loading-dots/loading-dots.tsx","../../src/components/button/button-styles.tsx","../../src/components/button/button.tsx","../../src/components/divider/divider.tsx","../../src/components/heading/heading.tsx","../../src/components/icon-button/icon-button-styles.tsx","../../src/components/icon-button/icon-button.tsx","../../src/components/image/image.tsx","../../src/hooks/use-breakpoint.ts","../../src/hooks/use-safe-layout-effect.ts","../../src/hooks/use-stable-id.ts","../../src/hooks/use-form-field.ts","../../src/components/label/label.tsx","../../src/components/primitives/input-base/input-base.tsx","../../src/components/_internal/form-parts.tsx","../../src/components/text-field/text-field.tsx","../../src/components/link/link.tsx","../../src/components/paragraph/paragraph.tsx","../../src/components/primitives/select-base/select-base.tsx","../../src/components/primitives/textarea-base/textarea-base.tsx","../../src/components/select/select-option.tsx","../../src/components/select/select.tsx","../../src/components/spacer/spacer.tsx","../../src/components/stack/stack.tsx","../../src/components/stack/stack.utils.tsx","../../src/components/textarea/textarea.tsx","../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","(function(e,r){typeof exports===\"object\"&&typeof module!==\"undefined\"?r(exports):typeof define===\"function\"&&define.amd?define([\"exports\"],r):(e=e||self,r(e.stylis={}))})(this,(function(e){\"use strict\";var r=\"-ms-\";var a=\"-moz-\";var c=\"-webkit-\";var t=\"comm\";var n=\"rule\";var s=\"decl\";var i=\"@page\";var u=\"@media\";var o=\"@import\";var f=\"@charset\";var l=\"@viewport\";var h=\"@supports\";var p=\"@document\";var v=\"@namespace\";var b=\"@keyframes\";var d=\"@font-face\";var m=\"@counter-style\";var w=\"@font-feature-values\";var k=Math.abs;var $=String.fromCharCode;var g=Object.assign;function x(e,r){return(((r<<2^O(e,0))<<2^O(e,1))<<2^O(e,2))<<2^O(e,3)}function E(e){return e.trim()}function y(e,r){return(e=r.exec(e))?e[0]:e}function T(e,r,a){return e.replace(r,a)}function A(e,r){return e.indexOf(r)}function O(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function M(e){return e.length}function S(e){return e.length}function R(e,r){return r.push(e),e}function z(e,r){return e.map(r).join(\"\")}e.line=1;e.column=1;e.length=0;e.position=0;e.character=0;e.characters=\"\";function N(r,a,c,t,n,s,i){return{value:r,root:a,parent:c,type:t,props:n,children:s,line:e.line,column:e.column,length:i,return:\"\"}}function P(e,r){return g(N(\"\",null,null,\"\",null,null,0),e,{length:-e.length},r)}function j(){return e.character}function U(){e.character=e.position>0?O(e.characters,--e.position):0;if(e.column--,e.character===10)e.column=1,e.line--;return e.character}function _(){e.character=e.position<e.length?O(e.characters,e.position++):0;if(e.column++,e.character===10)e.column=1,e.line++;return e.character}function F(){return O(e.characters,e.position)}function I(){return e.position}function L(r,a){return C(e.characters,r,a)}function D(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function K(r){return e.line=e.column=1,e.length=M(e.characters=r),e.position=0,[]}function V(r){return e.characters=\"\",r}function W(r){return E(L(e.position-1,Z(r===91?r+2:r===40?r+1:r)))}function Y(e){return V(G(K(e)))}function B(r){while(e.character=F())if(e.character<33)_();else break;return D(r)>2||D(e.character)>3?\"\":\" \"}function G(r){while(_())switch(D(e.character)){case 0:R(J(e.position-1),r);break;case 2:R(W(e.character),r);break;default:R($(e.character),r)}return r}function H(r,a){while(--a&&_())if(e.character<48||e.character>102||e.character>57&&e.character<65||e.character>70&&e.character<97)break;return L(r,I()+(a<6&&F()==32&&_()==32))}function Z(r){while(_())switch(e.character){case r:return e.position;case 34:case 39:if(r!==34&&r!==39)Z(e.character);break;case 40:if(r===41)Z(r);break;case 92:_();break}return e.position}function q(r,a){while(_())if(r+e.character===47+10)break;else if(r+e.character===42+42&&F()===47)break;return\"/*\"+L(a,e.position-1)+\"*\"+$(r===47?r:_())}function J(r){while(!D(F()))_();return L(r,e.position)}function Q(e){return V(X(\"\",null,null,null,[\"\"],e=K(e),0,[0],e))}function X(e,r,a,c,t,n,s,i,u){var o=0;var f=0;var l=s;var h=0;var p=0;var v=0;var b=1;var d=1;var m=1;var w=0;var k=\"\";var g=t;var x=n;var E=c;var y=k;while(d)switch(v=w,w=_()){case 40:if(v!=108&&y.charCodeAt(l-1)==58){if(A(y+=T(W(w),\"&\",\"&\\f\"),\"&\\f\")!=-1)m=-1;break}case 34:case 39:case 91:y+=W(w);break;case 9:case 10:case 13:case 32:y+=B(v);break;case 92:y+=H(I()-1,7);continue;case 47:switch(F()){case 42:case 47:R(re(q(_(),I()),r,a),u);break;default:y+=\"/\"}break;case 123*b:i[o++]=M(y)*m;case 125*b:case 59:case 0:switch(w){case 0:case 125:d=0;case 59+f:if(p>0&&M(y)-l)R(p>32?ae(y+\";\",c,a,l-1):ae(T(y,\" \",\"\")+\";\",c,a,l-2),u);break;case 59:y+=\";\";default:R(E=ee(y,r,a,o,f,t,i,k,g=[],x=[],l),n);if(w===123)if(f===0)X(y,r,E,E,g,n,l,i,x);else switch(h){case 100:case 109:case 115:X(e,E,E,c&&R(ee(e,E,E,0,0,t,i,k,t,g=[],l),x),t,x,l,i,c?g:x);break;default:X(y,E,E,E,[\"\"],x,0,i,x)}}o=f=p=0,b=m=1,k=y=\"\",l=s;break;case 58:l=1+M(y),p=v;default:if(b<1)if(w==123)--b;else if(w==125&&b++==0&&U()==125)continue;switch(y+=$(w),w*b){case 38:m=f>0?1:(y+=\"\\f\",-1);break;case 44:i[o++]=(M(y)-1)*m,m=1;break;case 64:if(F()===45)y+=W(_());h=F(),f=l=M(k=y+=J(I())),w++;break;case 45:if(v===45&&M(y)==2)b=0}}return n}function ee(e,r,a,c,t,s,i,u,o,f,l){var h=t-1;var p=t===0?s:[\"\"];var v=S(p);for(var b=0,d=0,m=0;b<c;++b)for(var w=0,$=C(e,h+1,h=k(d=i[b])),g=e;w<v;++w)if(g=E(d>0?p[w]+\" \"+$:T($,/&\\f/g,p[w])))o[m++]=g;return N(e,r,a,t===0?n:u,o,f,l)}function re(e,r,a){return N(e,r,a,t,$(j()),C(e,2,-2),0)}function ae(e,r,a,c){return N(e,r,a,s,C(e,0,c),C(e,c+1,-1),c)}function ce(e,t){switch(x(e,t)){case 5103:return c+\"print-\"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return c+e+a+e+r+e+e;case 6828:case 4268:return c+e+r+e+e;case 6165:return c+e+r+\"flex-\"+e+e;case 5187:return c+e+T(e,/(\\w+).+(:[^]+)/,c+\"box-$1$2\"+r+\"flex-$1$2\")+e;case 5443:return c+e+r+\"flex-item-\"+T(e,/flex-|-self/,\"\")+e;case 4675:return c+e+r+\"flex-line-pack\"+T(e,/align-content|flex-|-self/,\"\")+e;case 5548:return c+e+r+T(e,\"shrink\",\"negative\")+e;case 5292:return c+e+r+T(e,\"basis\",\"preferred-size\")+e;case 6060:return c+\"box-\"+T(e,\"-grow\",\"\")+c+e+r+T(e,\"grow\",\"positive\")+e;case 4554:return c+T(e,/([^-])(transform)/g,\"$1\"+c+\"$2\")+e;case 6187:return T(T(T(e,/(zoom-|grab)/,c+\"$1\"),/(image-set)/,c+\"$1\"),e,\"\")+e;case 5495:case 3959:return T(e,/(image-set\\([^]*)/,c+\"$1\"+\"$`$1\");case 4968:return T(T(e,/(.+:)(flex-)?(.*)/,c+\"box-pack:$3\"+r+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+c+e+e;case 4095:case 3583:case 4068:case 2532:return T(e,/(.+)-inline(.+)/,c+\"$1$2\")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(O(e,t+1)){case 109:if(O(e,t+4)!==45)break;case 102:return T(e,/(.+:)(.+)-([^]+)/,\"$1\"+c+\"$2-$3\"+\"$1\"+a+(O(e,t+3)==108?\"$3\":\"$2-$3\"))+e;case 115:return~A(e,\"stretch\")?ce(T(e,\"stretch\",\"fill-available\"),t)+e:e}break;case 4949:if(O(e,t+1)!==115)break;case 6444:switch(O(e,M(e)-3-(~A(e,\"!important\")&&10))){case 107:return T(e,\":\",\":\"+c)+e;case 101:return T(e,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+c+(O(e,14)===45?\"inline-\":\"\")+\"box$3\"+\"$1\"+c+\"$2$3\"+\"$1\"+r+\"$2box$3\")+e}break;case 5936:switch(O(e,t+11)){case 114:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"tb\")+e;case 108:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+e;case 45:return c+e+r+T(e,/[svh]\\w+-[tblr]{2}/,\"lr\")+e}return c+e+r+e+e}return e}function te(e,r){var a=\"\";var c=S(e);for(var t=0;t<c;t++)a+=r(e[t],t,e,r)||\"\";return a}function ne(e,r,a,c){switch(e.type){case o:case s:return e.return=e.return||e.value;case t:return\"\";case b:return e.return=e.value+\"{\"+te(e.children,c)+\"}\";case n:e.value=e.props.join(\",\")}return M(a=te(e.children,c))?e.return=e.value+\"{\"+a+\"}\":\"\"}function se(e){var r=S(e);return function(a,c,t,n){var s=\"\";for(var i=0;i<r;i++)s+=e[i](a,c,t,n)||\"\";return s}}function ie(e){return function(r){if(!r.root)if(r=r.return)e(r)}}function ue(e,t,i,u){if(e.length>-1)if(!e.return)switch(e.type){case s:e.return=ce(e.value,e.length);break;case b:return te([P(e,{value:T(e.value,\"@\",\"@\"+c)})],u);case n:if(e.length)return z(e.props,(function(t){switch(y(t,/(::plac\\w+|:read-\\w+)/)){case\":read-only\":case\":read-write\":return te([P(e,{props:[T(t,/:(read-\\w+)/,\":\"+a+\"$1\")]})],u);case\"::placeholder\":return te([P(e,{props:[T(t,/:(plac\\w+)/,\":\"+c+\"input-$1\")]}),P(e,{props:[T(t,/:(plac\\w+)/,\":\"+a+\"$1\")]}),P(e,{props:[T(t,/:(plac\\w+)/,r+\"input-$1\")]})],u)}return\"\"}))}}function oe(e){switch(e.type){case n:e.props=e.props.map((function(r){return z(Y(r),(function(r,a,c){switch(O(r,0)){case 12:return C(r,1,M(r));case 0:case 40:case 43:case 62:case 126:return r;case 58:if(c[++a]===\"global\")c[a]=\"\",c[++a]=\"\\f\"+C(c[a],a=1,-1);case 32:return a===1?\"\":r;default:switch(a){case 0:e=r;return S(c)>1?\"\":r;case a=S(c)-1:case 2:return a===2?r+e+e:r+e;default:return r}}}))}))}}e.CHARSET=f;e.COMMENT=t;e.COUNTER_STYLE=m;e.DECLARATION=s;e.DOCUMENT=p;e.FONT_FACE=d;e.FONT_FEATURE_VALUES=w;e.IMPORT=o;e.KEYFRAMES=b;e.MEDIA=u;e.MOZ=a;e.MS=r;e.NAMESPACE=v;e.PAGE=i;e.RULESET=n;e.SUPPORTS=h;e.VIEWPORT=l;e.WEBKIT=c;e.abs=k;e.alloc=K;e.append=R;e.assign=g;e.caret=I;e.char=j;e.charat=O;e.combine=z;e.comment=re;e.commenter=q;e.compile=Q;e.copy=P;e.dealloc=V;e.declaration=ae;e.delimit=W;e.delimiter=Z;e.escaping=H;e.from=$;e.hash=x;e.identifier=J;e.indexof=A;e.match=y;e.middleware=se;e.namespace=oe;e.next=_;e.node=N;e.parse=X;e.peek=F;e.prefix=ce;e.prefixer=ue;e.prev=U;e.replace=T;e.ruleset=ee;e.rulesheet=ie;e.serialize=te;e.sizeof=S;e.slice=L;e.stringify=ne;e.strlen=M;e.substr=C;e.token=D;e.tokenize=Y;e.tokenizer=G;e.trim=E;e.whitespace=B;Object.defineProperty(e,\"__esModule\",{value:true})}));\n//# sourceMappingURL=stylis.js.map\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n var cache = {};\n return function (name) {\n return cache[name];\n };\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n if (isBrowser) {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n }; // $FlowFixMe\n\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","import { css, Global } from '@emotion/react'\n\nimport type { Theme } from '../theme'\n\nconst globalStyles = (theme: Theme) => css`\n body {\n font-family: ${theme.typography.body.md.fontFamily};\n line-height: 1.5;\n color: ${theme.colors.text.default};\n }\n\n /** Remove focus outline on mouse hover */\n *:focus:not(:focus-visible) {\n outline: none;\n }\n\n /** Add focus outline on keyboard focus */\n button:focus-visible,\n a:focus-visible,\n [role='button']:focus-visible,\n input[type='checkbox']:focus-visible,\n input[type='radio']:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px white, 0 0 0 4px ${theme.colors.border.defaultSelected};\n }\n`\n\n/**\n * Adds some global opinionated styles.\n */\nexport function GlobalStyles() {\n return <Global styles={globalStyles} />\n}\n","import type { CSSObject } from '@emotion/react'\n\nimport type { Theme } from '../theme'\n\ntype NamedStyles = Record<string, CSSObject>\ntype StyleInterpolation<T> = (theme: Theme) => T\n// TODO: Make `createstyleVariants`and `createStyle` accept a regular object instead of a function.\n// And infer if the return requires a theme or not.\n\n/**\n * Creates a collection of named style rules.\n */\nexport function createStyleVariants<T extends NamedStyles>(styles: StyleInterpolation<T>) {\n return (theme: Theme) => styles(theme)\n}\n\n/**\n * Create a style object. Useful for creating styles that depend on the theme.\n */\nexport function createStyle<T extends CSSObject>(styles: StyleInterpolation<T>) {\n return (theme: Theme) => styles(theme)\n}\n\nexport type VariantProps<T extends ReturnType<typeof createStyle | typeof createStyleVariants>> =\n keyof ReturnType<T>\n\n/**\n * Converts css `px` unit to `rem`.\n * Assumes the root font size is 16px.\n */\nexport const pxToRem = (px: number) => `${px / 16}rem`\n","import { createStyle } from './css-utils'\n\nexport const getFormFieldBaseStyles = createStyle(({ colors, radii, typography, spacing }) => ({\n width: '100%',\n minWidth: 0,\n appearance: 'none',\n paddingLeft: spacing['4x'],\n paddingRight: spacing['4x'],\n border: `1px solid ${colors.border.default}`,\n borderRadius: radii.sm,\n backgroundColor: colors.bg.default,\n color: colors.text.default,\n\n alignItems: 'center',\n ...typography.body.md,\n\n '&::placeholder': {\n color: colors.text.disabled,\n },\n '&:hover': {\n borderColor: colors.border.defaultHover,\n },\n '&:focus': {\n outline: 0,\n borderColor: colors.border.defaultSelected,\n boxShadow: `0 0 0 1px ${colors.border.defaultSelected}`,\n },\n '&[aria-invalid=true]': {\n borderColor: colors.border.negative,\n\n '&:focus': {\n boxShadow: `0 0 0 1px ${colors.border.negative}`,\n },\n },\n '&[disabled]': {\n opacity: 0.4,\n },\n\n transitionProperty: 'opacity, border-color, box-shadow',\n transitionDuration: '120ms',\n transitionTimingFunction: 'ease',\n}))\n","export const breakpoints = {\n base: 0,\n sm: 480,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n} as const\n","const core = {\n black: '#16101A',\n white: '#ffffff',\n\n gray90: '#29222E',\n gray80: '#443C4A',\n gray70: '#57505C',\n gray60: '#78727D',\n gray50: '#A69fAB',\n gray40: '#D7D1DB',\n gray30: '#E7E4EB',\n gray20: '#F5F3F7',\n gray10: '#FAF9FB',\n\n // We call it brand since we're currently supporting multiple brands\n brand90: '#8c003f',\n brand80: '#bf0056',\n brand70: '#e50068',\n brand60: '#f5006e',\n brand50: '#ff0d7a',\n brand40: '#ffb2d5',\n brand30: '#ffd3e7',\n brand20: '#ffe9f3',\n brand10: '#fff8fb',\n\n red10: '#fff3f2',\n red20: '#fbd8d5',\n red30: '#f8b3ae',\n red40: '#f37d74',\n red50: '#ea4c41',\n red60: '#da281b',\n red70: '#c21b0f',\n red80: '#a9170d',\n red90: '#87170f',\n\n green90: '#00552f',\n green80: '#00703d',\n green70: '#007d45',\n green60: '#00a35a',\n green50: '#00cc70',\n green40: '#60efaa',\n green30: '#b2ffd7',\n green20: '#d6ffe9',\n green10: '#f0fff6',\n\n blue90: '#003870',\n blue80: '#0053a6',\n blue70: '#0064c8',\n blue60: '#007cf9',\n blue50: '#349aff',\n blue40: '#69b4ff',\n blue30: '#b9dcff',\n blue20: '#daecff',\n blue10: '#f2f8ff',\n\n yellow90: '#a06500',\n yellow80: '#cd8100',\n yellow70: '#ec9400',\n yellow60: '#ffa000',\n yellow50: '#ffae25',\n yellow40: '#ffbf52',\n yellow30: '#ffd081',\n yellow20: '#ffe2b1',\n yellow10: '#fff7eb',\n\n blackAlpha20: 'rgba(0, 0, 0, 0.2)',\n}\n\nexport const colors = {\n core,\n bg: {\n default: core.white,\n brandPrimary: core.brand60,\n brandPrimaryHover: core.brand50,\n brandPrimaryActive: core.brand70,\n brandSecondary: core.black,\n brandSecondaryHover: core.gray90,\n brandSecondaryActive: core.black,\n negative: core.red60,\n warning: core.yellow60,\n positive: core.green60,\n inset: core.gray10,\n backdrop: core.blackAlpha20,\n },\n text: {\n strong: core.black,\n default: core.gray80,\n subtle: core.gray60,\n disabled: core.gray50,\n negative: core.red60,\n warning: core.yellow90,\n positive: core.green70,\n /** For usage on colored/darker backgrounds */\n onColor: core.white,\n },\n icon: {\n default: core.gray80,\n strong: core.black,\n subtle: core.gray60,\n disabled: core.gray50,\n negative: core.red60,\n warning: core.yellow70,\n success: core.green70,\n /** For usage on colored/darker backgrounds */\n onColor: core.white,\n },\n border: {\n default: core.gray30,\n defaultHover: core.gray40,\n defaultSelected: core.black,\n strong: core.gray40,\n subtle: core.gray20,\n negative: core.red60,\n warning: core.yellow60,\n success: core.green60,\n },\n}\n","import { pxToRem } from '../../styles'\n\nexport const spacing = {\n '0x': pxToRem(0),\n '1x': pxToRem(4),\n '2x': pxToRem(8),\n '3x': pxToRem(12),\n '4x': pxToRem(16),\n '5x': pxToRem(20),\n '6x': pxToRem(24),\n '8x': pxToRem(32),\n '12x': pxToRem(48),\n '16x': pxToRem(64),\n '20x': pxToRem(80),\n '24x': pxToRem(96),\n}\n","import { pxToRem } from '../../styles'\n\nimport { spacing } from './spacing'\n\nexport const sizes = {\n ...spacing,\n 112: pxToRem(112),\n 128: pxToRem(128),\n 144: pxToRem(144),\n 160: pxToRem(160),\n 176: pxToRem(176),\n 192: pxToRem(192),\n 224: pxToRem(224),\n 256: pxToRem(256),\n 288: pxToRem(288),\n 320: pxToRem(320),\n 384: pxToRem(384),\n 448: pxToRem(448),\n 512: pxToRem(512),\n 576: pxToRem(576),\n 672: pxToRem(672),\n 768: pxToRem(768),\n 896: pxToRem(896),\n 1024: pxToRem(1024),\n}\n","import { pxToRem } from '../../styles'\n\nconst fontStacks = {\n display: [\n '\"Qasa Sans Display\"',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'sans-serif',\n ].join(','),\n sans: [\n '\"Qasa Sans Text\"',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'sans-serif',\n ].join(','),\n}\n\nexport const typography = {\n display: {\n lg: {\n fontFamily: fontStacks.display,\n fontWeight: '800',\n fontSize: pxToRem(64),\n lineHeight: pxToRem(72),\n letterSpacing: pxToRem(-0.48),\n },\n md: {\n fontFamily: fontStacks.display,\n fontWeight: '800',\n fontSize: pxToRem(40),\n lineHeight: pxToRem(48),\n letterSpacing: pxToRem(-0.32),\n },\n },\n title: {\n lg: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(32),\n lineHeight: pxToRem(36),\n letterSpacing: pxToRem(-0.24),\n },\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(24),\n lineHeight: pxToRem(28),\n letterSpacing: pxToRem(-0.12),\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(20),\n lineHeight: pxToRem(24),\n letterSpacing: pxToRem(-0.08),\n },\n xs: {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(18),\n lineHeight: pxToRem(22),\n letterSpacing: '0',\n },\n '2xs': {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n '3xs': {\n fontFamily: fontStacks.sans,\n fontWeight: '700',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(18),\n letterSpacing: '0',\n },\n },\n body: {\n xl: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(20),\n lineHeight: pxToRem(28),\n letterSpacing: '0',\n },\n lg: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(18),\n lineHeight: pxToRem(26),\n letterSpacing: '0',\n },\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(24),\n letterSpacing: '0',\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n xs: {\n fontFamily: fontStacks.sans,\n fontWeight: '400',\n fontSize: pxToRem(12),\n lineHeight: pxToRem(16),\n letterSpacing: '0.00625rem',\n },\n },\n label: {\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '600',\n fontSize: pxToRem(16),\n lineHeight: pxToRem(20),\n letterSpacing: '0',\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '600',\n fontSize: pxToRem(14),\n lineHeight: pxToRem(18),\n letterSpacing: '0',\n },\n },\n caption: {\n md: {\n fontFamily: fontStacks.sans,\n fontWeight: '800',\n fontSize: pxToRem(12),\n lineHeight: pxToRem(12),\n letterSpacing: pxToRem(0.12),\n },\n sm: {\n fontFamily: fontStacks.sans,\n fontWeight: '800',\n fontSize: pxToRem(10),\n lineHeight: pxToRem(10),\n letterSpacing: pxToRem(0.24),\n },\n },\n}\n","/**\n * ------ IMPORTANT ------\n * Do not change or add to the contents of this file\n * without consulting with the design team.\n *\n * These are values that make up our brand and even\n * minor changes greatly affects our visual identity.\n *\n * The foundations are losely based on Styled System Theme Specification\n * @see https://styled-system.com/theme-specification/\n * -----------------------\n */\n\nimport { breakpoints } from './breakpoints'\nimport { colors } from './colors'\nimport { spacing } from './spacing'\nimport { zIndices } from './z-index'\nimport { sizes } from './sizes'\nimport { radii } from './radius'\nimport { shadows } from './shadows'\nimport { typography } from './typography'\n\nexport const foundations = {\n spacing,\n breakpoints,\n zIndices,\n colors,\n sizes,\n radii,\n shadows,\n typography,\n}\n","export const zIndices = {\n hide: -1,\n auto: 'auto',\n base: 0,\n docked: 10,\n dropdown: 1000,\n sticky: 1100,\n banner: 1200,\n overlay: 1300,\n modal: 1400,\n popover: 1500,\n skipLink: 1600,\n toast: 1700,\n tooltip: 1800,\n}\n","export const radii = {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n full: '9999px',\n}\n","export const shadows = {\n none: 'none',\n sm: '0 1px 3px 1px rgb(22 16 26 / 0.08)',\n md: '0 2px 8px rgb(22 16 26 / 0.08)',\n lg: '0 4px 24px rgb(22 16 26 / 0.08)',\n xl: '0 6px 32px rgb(22 16 26 / 0.08)',\n}\n","import { foundations } from './foundations'\n\nconst mediaQueries = {\n smUp: `@media(min-width: ${foundations.breakpoints.sm}px)`,\n mdUp: `@media(min-width: ${foundations.breakpoints.md}px)`,\n lgUp: `@media(min-width: ${foundations.breakpoints.lg}px)`,\n xlUp: `@media(min-width: ${foundations.breakpoints.xl}px)`,\n '2xlUp': `@media(min-width: ${foundations.breakpoints['2xl']}px)`,\n} as const\n\nexport const theme = { ...foundations, mediaQueries }\nexport type Theme = typeof theme\n","export const objectKeys = <T extends object>(obj: T): (keyof T)[] => {\n return Object.keys(obj) as (keyof T)[]\n}\n","import type { LegitimateAny, PartialRecord } from '../types'\nimport { objectKeys } from '../utils/object'\n\nimport type { Theme } from './theme'\nimport { theme } from './theme'\n\ntype DeepPartial<T> = { [P in keyof T]?: DeepPartial<T[P]> }\n\ninterface TypographyOverride {\n fontFamily?: string\n fontWeight?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\n}\n\ntype TypographyOverrides = PartialRecord<keyof Theme['typography'], TypographyOverride>\n\nconst overrideTypography = (overrides: TypographyOverrides): Theme['typography'] => {\n const result = Object.assign({}, theme.typography)\n\n objectKeys(result).forEach((group) => {\n const override = overrides[group]\n if (override) {\n const typographyGroup = result[group]\n objectKeys(typographyGroup).forEach((key) => {\n typographyGroup[key].fontFamily = override.fontFamily || typographyGroup[key].fontFamily\n typographyGroup[key].fontWeight = override.fontWeight || typographyGroup[key].fontWeight\n })\n }\n })\n\n return result\n}\n\nconst deepMerge = <T extends Record<string, LegitimateAny>>(\n target: T,\n source: DeepPartial<T>,\n): T => {\n const result = Object.assign({}, target)\n\n objectKeys(source).forEach((key) => {\n if (typeof source[key] === 'object') {\n // @ts-expect-error\n result[key] = deepMerge(result[key], source[key])\n } else {\n // @ts-expect-error\n result[key] = source[key]\n }\n })\n\n return result\n}\n\nexport interface ThemeOverrides {\n colors?: DeepPartial<Theme['colors']>\n typography?: TypographyOverrides\n}\n\nexport const overrideTheme = (overrides: ThemeOverrides) => {\n let typography = theme.typography\n let colors = theme.colors\n\n if (overrides.typography) {\n typography = overrideTypography(overrides.typography)\n }\n\n if (overrides.colors) {\n colors = deepMerge(theme.colors, overrides.colors)\n }\n\n return { ...theme, typography, colors }\n}\n","import { css, Global } from '@emotion/react'\n\nconst cssReset = css`\n *,\n *::before,\n *::after {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n }\n\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n touch-action: manipulation;\n }\n\n body {\n position: relative;\n min-height: 100%;\n font-feature-settings: 'kern';\n }\n\n main {\n display: block;\n }\n\n hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n\n a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n b,\n strong {\n font-weight: bold;\n }\n\n small {\n font-size: 80%;\n }\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n img {\n border-style: none;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n legend {\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type='checkbox'],\n [type='radio'] {\n padding: 0;\n }\n\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n details {\n display: block;\n }\n\n summary {\n display: list-item;\n }\n\n template {\n display: none;\n }\n\n [hidden] {\n display: none !important;\n }\n\n body,\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n button {\n background: transparent;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n ol,\n ul,\n menu {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n textarea {\n resize: vertical;\n }\n\n button,\n [role='button'] {\n cursor: pointer;\n }\n\n :disabled {\n cursor: not-allowed;\n }\n\n button::-moz-focus-inner {\n border: 0 !important;\n }\n\n table {\n border-collapse: collapse;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n }\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n outline: none;\n }\n\n select::-ms-expand {\n display: none;\n }\n`\n\n/**\n * A CSS Reset (opinionated)\n */\nexport function CSSReset() {\n return <Global styles={cssReset} />\n}\n","import { ThemeProvider, CacheProvider } from '@emotion/react'\nimport type { ReactNode } from 'react'\nimport createCache from '@emotion/cache'\n\nimport { GlobalStyles } from './styles'\nimport type { ThemeOverrides } from './theme'\nimport { overrideTheme, theme } from './theme'\nimport { CSSReset } from './styles/css-reset'\n\nconst cache = createCache({\n key: 'qds',\n})\n\ninterface QdsProviderProps {\n children: ReactNode\n themeOverrides?: ThemeOverrides\n}\n\nexport function QdsProvider({ children, themeOverrides }: QdsProviderProps) {\n const resolvedTheme = themeOverrides ? overrideTheme(themeOverrides) : theme\n return (\n <CacheProvider value={cache}>\n <ThemeProvider theme={resolvedTheme}>\n <CSSReset />\n <GlobalStyles />\n {children}\n </ThemeProvider>\n </CacheProvider>\n )\n}\n","import { useEffect, useState } from 'react'\n\nimport type { HTMLQdsProps } from '../types'\n\ntype LoadingStatus = 'loading' | 'loaded' | 'error' | 'pending'\n\nexport interface UseImageProps {\n src?: string\n loading?: HTMLQdsProps<'img'>['loading']\n}\nexport const useImage = ({ src, loading }: UseImageProps) => {\n const [loadingStatus, setLoadingStatus] = useState<LoadingStatus>(src ? 'loading' : 'pending')\n\n useEffect(() => {\n if (!src) {\n setLoadingStatus('pending')\n return\n }\n\n const updateStatus = (status: LoadingStatus) => () => {\n setLoadingStatus(status)\n }\n\n setLoadingStatus('loading')\n\n const image = new Image()\n image.onload = updateStatus('loaded')\n image.onerror = updateStatus('error')\n image.src = src\n if (loading) {\n image.loading = loading\n }\n }, [loading, src])\n\n return { loadingStatus }\n}\n","/**\n * This function is heavily inspired by the `createIcon` function from\n * Chakra UI (https://chakra-ui.com/).\n */\n\nimport styled from '@emotion/styled'\nimport type { SVGAttributes } from 'react'\nimport { Children, forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { pxToRem, createStyleVariants } from '../../styles'\nimport type { Theme } from '../../theme'\n\nconst getSizeStyles = createStyleVariants(() => ({\n 32: {\n fontSize: pxToRem(32),\n },\n 24: {\n fontSize: pxToRem(24),\n },\n 20: {\n fontSize: pxToRem(20),\n },\n 16: {\n fontSize: pxToRem(16),\n },\n 12: {\n fontSize: pxToRem(12),\n },\n}))\n\ntype IconSize = VariantProps<typeof getSizeStyles>\ntype IconColor = keyof Theme['colors']['icon'] | 'inherit'\n\ninterface IconOptions {\n /**\n * The size of the icon.\n *\n * @default 16\n */\n size?: IconSize\n /**\n * The color of the icon.\n */\n color?: IconColor\n}\n\nconst StyledSvg = styled.svg<IconOptions>(({ theme, size = 16, color = 'strong' }) => ({\n ...getSizeStyles(theme)[size],\n color: color === 'inherit' ? 'currentcolor' : theme.colors.icon[color],\n display: 'inline-block',\n lineHeight: '1em',\n}))\n\ntype OmittedProps = 'color' | 'onClick' | 'width' | 'height' | 'fontSize'\nexport interface IconProps extends Omit<SVGAttributes<SVGElement>, OmittedProps>, IconOptions {}\n\nexport interface CreateIconOptions {\n /**\n * The `svg`'s `viewBox` attribute\n */\n viewBox: string\n /**\n * If the `svg` has a single path, simply copy the path's `d` attribute\n */\n d?: string\n /**\n * The `svg` path or group element\n *\n * @example\n * ```jsx\n * createIcon({\n * viewBox: '0 0 512 512',\n * path: [\n * <circle cx=\"50\" cy=\"50\" r=\"50\" />,\n * <path d=\"M10 10\" />,\n * ],\n * displayName: 'ExampleIcon',\n * })\n * ```\n */\n path?: React.ReactElement | React.ReactElement[]\n /**\n * The display name of the icon. Useful for debugging\n * and internal use.\n */\n displayName?: string\n}\n\nexport const createIcon = (options: CreateIconOptions) => {\n const { viewBox, d: pathDefinition, displayName = 'UnnamedIcon' } = options\n const path = Children.toArray(options.path)\n\n const Component = forwardRef<SVGSVGElement, IconProps>((props, forwardedRef) => {\n return (\n <StyledSvg\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n focusable=\"false\"\n viewBox={viewBox}\n fill=\"currentColor\"\n {...props}\n >\n {path.length ? path : <path fill=\"currentColor\" d={pathDefinition} />}\n </StyledSvg>\n )\n })\n\n Component.displayName = displayName\n\n return Component\n}\n","import { createIcon } from '../create-icon'\n\nexport const ArrowDownIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'm377.4 296.6-168 176c-4.6 4.7-10.8 7.4-17.4 7.4s-12.84-2.688-17.38-7.438l-168-176C-2.5 286.1-2.156 271.8 7.438 262.6c9.5-9.156 24.75-8.812 33.94.813L168 396.1V56.02c0-13.25 10.75-24.01 23.1-24.01S216 42.77 216 56.02v340.1l126.6-132.7c9.156-9.625 24.41-9.969 33.94-.813 9.66 9.193 9.96 23.493.86 33.993z',\n displayName: 'ArrowDownIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowLeftIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M447.1 256c0 13.25-10.76 24.01-24.01 24.01H83.9l132.7 126.6c9.625 9.156 9.969 24.41.812 33.94-9.156 9.594-24.34 9.938-33.94.813l-176-168C2.695 268.9.008 262.6.008 256s2.687-12.8 7.437-17.4l176-168c9.555-9.09 24.755-8.75 33.955.85 9.156 9.5 8.812 24.75-.813 33.94l-132.7 126.6h340.1C437.2 232 447.1 242.8 447.1 256z',\n displayName: 'ArrowLeftIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowRightIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'm264.6 70.63 176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.813-9.156-9.5-8.812-24.75.813-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6c-9.61-9.207-9.91-24.457-.81-33.987 9.2-9.6 23.5-9.94 34-.82z',\n displayName: 'ArrowRightIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ArrowUpIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'm6.625 215.5 168-176C179.2 34.7 185.4 32.02 192 32.02s12.84 2.688 17.38 7.438l168 176c9.125 9.594 8.781 24.78-.813 33.94-9.5 9.156-24.75 8.812-33.94-.813L216 115.9V456c0 13.25-10.75 23.1-23.1 23.1S168 469.3 168 456V115.9L41.4 248.6c-9.18 9.6-24.43 9.9-33.962.8-9.594-9.2-9.938-24.4-.813-33.9z',\n displayName: 'ArrowUpIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const BellSlashIcon = createIcon({\n viewBox: '0 0 640 512',\n d: 'M183.6 118.6C206.5 82.58 244.1 56.84 288 49.88V32C288 14.33 302.3 .0003 320 .0003C337.7 .0003 352 14.33 352 32V49.88C424.5 61.39 480 124.2 480 200V233.4C480 278.8 495.5 322.9 523.8 358.4L538.7 377C543.1 383.5 545.4 392.2 542.6 400L630.8 469.1C641.2 477.3 643.1 492.4 634.9 502.8C626.7 513.2 611.6 515.1 601.2 506.9L9.196 42.89C-1.236 34.71-3.065 19.63 5.112 9.196C13.29-1.236 28.37-3.065 38.81 5.112L183.6 118.6zM221.7 148.4L450.7 327.1C438.4 298.2 432 266.1 432 233.4V200C432 142.6 385.4 96 328 96H312C273.3 96 239.6 117.1 221.7 148.4V148.4zM160 233.4V222.1L206.7 258.9C202.7 297.7 189.5 335.2 168.3 368H345.2L406.2 416H120C110.8 416 102.4 410.7 98.37 402.4C94.37 394.1 95.5 384.2 101.3 377L116.2 358.4C144.5 322.9 160 278.8 160 233.4V233.4zM384 448C384 464.1 377.3 481.3 365.3 493.3C353.3 505.3 336.1 512 320 512C303 512 286.7 505.3 274.7 493.3C262.7 481.3 256 464.1 256 448H384z',\n displayName: 'BellSlashIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const BellIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M256 32v17.88C328.5 61.39 384 124.2 384 200v33.4c0 45.4 15.5 89.5 43.8 125l14.9 18.6c5.8 7.2 6.9 17.1 2.9 25.4-4 8.3-12.4 13.6-21.6 13.6H24c-9.23 0-17.635-5.3-21.631-13.6A24.019 24.019 0 0 1 5.26 377l14.91-18.6C48.54 322.9 64 278.8 64 233.4V200c0-75.8 55.5-138.61 128-150.12V32c0-17.67 14.3-32 32-32s32 14.33 32 32zm-40 64c-57.4 0-104 46.6-104 104v33.4c0 47.9-13.88 94.6-39.69 134.6H375.7c-25.8-40-39.7-86.7-39.7-134.6V200c0-57.4-46.6-104-104-104h-16zm72 352c0 16.1-6.7 33.3-18.7 45.3S240.1 512 224 512c-17 0-33.3-6.7-45.3-18.7S160 464.1 160 448h128z',\n displayName: 'BellIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const CalendarIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z',\n displayName: 'CalendarIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const CheckIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M440.1 103c10.2 9.4 10.2 24.6 0 33.1l-264 264c-8.5 10.2-23.7 10.2-33.1 0L7.029 264.1c-9.372-8.5-9.372-23.7 0-33.1 9.371-9.3 24.571-9.3 33.941 0L160 350.1 407 103c9.4-9.34 24.6-9.34 33.1 0z',\n displayName: 'CheckIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronDownIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z',\n displayName: 'ChevronDownIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronLeftIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M206.7 464.6l-183.1-191.1C18.22 267.1 16 261.1 16 256s2.219-11.97 6.688-16.59l183.1-191.1c9.152-9.594 24.34-9.906 33.9-.7187c9.625 9.125 9.938 24.37 .7187 33.91L73.24 256l168 175.4c9.219 9.5 8.906 24.78-.7187 33.91C231 474.5 215.8 474.2 206.7 464.6z',\n displayName: 'ChevronLeftIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronRightIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z',\n displayName: 'ChevronRightIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ChevronUpIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M15.41 302.7l191.1-183.1C212 114.2 218 111.1 224 111.1s11.97 2.219 16.59 6.688l191.1 183.1c9.594 9.152 9.906 24.34 .7187 33.9c-9.125 9.625-24.38 9.938-33.91 .7187L224 169.2l-175.4 168c-9.5 9.219-24.78 8.906-33.91-.7187C5.502 327 5.814 311.8 15.41 302.7z',\n displayName: 'ChevronUpIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const EllipsisVerticalIcon = createIcon({\n viewBox: '0 0 128 512',\n d: 'M64 368c26.51 0 48 21.5 48 48s-21.49 48-48 48-48-21.5-48-48 21.49-48 48-48zm0-160c26.51 0 48 21.5 48 48s-21.49 48-48 48-48-21.5-48-48 21.49-48 48-48zm0-64c-26.51 0-48-21.5-48-48 0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48z',\n displayName: 'EllipsisVerticalIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const EllipsisIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M336 256c0-26.5 21.5-48 48-48s48 21.5 48 48-21.5 48-48 48-48-21.5-48-48zm-160 0c0-26.5 21.5-48 48-48s48 21.5 48 48-21.5 48-48 48-48-21.5-48-48zm-64 0c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z',\n displayName: 'EllipsisIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const HeartFilledIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M0 190.9V185.1C0 115.2 50.52 55.58 119.4 44.1C164.1 36.51 211.4 51.37 244 84.02L256 96L267.1 84.02C300.6 51.37 347 36.51 392.6 44.1C461.5 55.58 512 115.2 512 185.1V190.9C512 232.4 494.8 272.1 464.4 300.4L283.7 469.1C276.2 476.1 266.3 480 256 480C245.7 480 235.8 476.1 228.3 469.1L47.59 300.4C17.23 272.1 .0003 232.4 .0003 190.9L0 190.9z',\n displayName: 'HeartFilledIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const HeartIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'm244 84 11.1 12 12-11.98C300.6 51.37 347 36.51 392.6 44.1c68.9 11.48 119.4 71.1 119.4 141v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.59 300.4C17.23 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.52-129.52 119.4-141 44.7-7.59 92 7.27 124.6 39.9-.9 0 0 .01 0 0zm11.1 79.9-45-46.8c-21.7-20.82-52.5-30.7-82.8-25.66C81.55 99.07 48 138.7 48 185.1v5.8c0 28.2 11.71 55.2 32.34 74.4L256 429.3l175.7-164c20.6-19.2 32.3-46.2 32.3-74.4v-5.8c0-46.4-33.6-86.03-79.3-93.66-30.3-5.04-61.1 4.84-82.8 25.66l-46.8 46.8z',\n displayName: 'HeartIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const ImageIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.5-48-48-48zm295.1-88h-384C28.65 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm16 377.3L326.3 223.4c-2.5-4.6-8.2-7.4-14.3-7.4-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.03 0 .03 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16v313.3z',\n displayName: 'ImageIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const LocationDotIcon = createIcon({\n viewBox: '0 0 384 512',\n d: 'M272 192c0 44.2-35.8 80-80 80s-80-35.8-80-80 35.8-80 80-80 80 35.8 80 80zm-80-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm192 32c0 87.4-117 243-168.3 307.2-12.3 15.3-35.1 15.3-47.4 0C116.1 435 0 279.4 0 192 0 85.96 85.96 0 192 0c106 0 192 85.96 192 192zM192 48c-79.5 0-144 64.5-144 144 0 12.4 4.49 31.6 15.3 57.2 10.48 24.8 25.36 52.2 42.5 79.9 28.4 46.2 61.4 90 86.2 122.6 24.8-32.6 57.8-76.4 86.2-122.6 17.1-27.7 32-55.1 42.5-79.9 10.8-25.6 15.3-44.8 15.3-57.2 0-79.5-64.5-144-144-144z',\n displayName: 'LocationDotIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const MapIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M565.6 36.24C572.1 40.72 576 48.11 576 56V392C576 401.1 569.8 410.9 560.5 414.4L392.5 478.4C387.4 480.4 381.7 480.5 376.4 478.8L192.5 417.5L32.54 478.4C25.17 481.2 16.88 480.2 10.38 475.8C3.882 471.3 0 463.9 0 456V120C0 110 6.15 101.1 15.46 97.57L183.5 33.57C188.6 31.6 194.3 31.48 199.6 33.23L383.5 94.52L543.5 33.57C550.8 30.76 559.1 31.76 565.6 36.24H565.6zM48 421.2L168 375.5V90.83L48 136.5V421.2zM360 137.3L216 89.3V374.7L360 422.7V137.3zM408 421.2L528 375.5V90.83L408 136.5V421.2z',\n displayName: 'MapIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const PlusIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M432 256c0 13.3-10.7 24-24 24H248v160c0 13.25-10.75 24.01-24 24.01S200 453.3 200 440V280H40c-13.25 0-24-10.74-24-23.99C16 242.8 26.75 232 40 232h160V72c0-13.25 10.75-23.99 24-23.99S248 58.75 248 72v160h160c13.3 0 24 10.8 24 24z',\n displayName: 'PlusIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const SearchIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'm504.1 471-134-134c29-35.5 45-80.2 45-129 0-114.9-93.13-208-208-208S0 93.13 0 208s93.12 208 207.1 208c48.79 0 93.55-16.91 129-45.04l134 134c5.6 4.74 11.8 7.04 17.9 7.04s12.28-2.344 16.97-7.031c9.33-9.369 9.33-24.569-.87-33.969zM48 208c0-88.22 71.78-160 160-160s160 71.78 160 160-71.78 160-160 160S48 296.2 48 208z',\n displayName: 'MagnifyingGlassIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const SettingsIcon = createIcon({\n viewBox: '0 0 512 512',\n d: 'M160 256C160 202.1 202.1 160 256 160C309 160 352 202.1 352 256C352 309 309 352 256 352C202.1 352 160 309 160 256zM256 208C229.5 208 208 229.5 208 256C208 282.5 229.5 304 256 304C282.5 304 304 282.5 304 256C304 229.5 282.5 208 256 208zM293.1 .0003C315.3 .0003 334.6 15.19 339.8 36.74L347.6 69.21C356.1 73.36 364.2 78.07 371.9 83.28L404 73.83C425.3 67.56 448.1 76.67 459.2 95.87L496.3 160.1C507.3 179.3 503.8 203.6 487.8 218.9L463.5 241.1C463.8 246.6 464 251.3 464 256C464 260.7 463.8 265.4 463.5 270L487.8 293.1C503.8 308.4 507.3 332.7 496.3 351.9L459.2 416.1C448.1 435.3 425.3 444.4 404 438.2L371.9 428.7C364.2 433.9 356.1 438.6 347.6 442.8L339.8 475.3C334.6 496.8 315.3 512 293.1 512H218.9C196.7 512 177.4 496.8 172.2 475.3L164.4 442.8C155.9 438.6 147.8 433.9 140.1 428.7L107.1 438.2C86.73 444.4 63.94 435.3 52.85 416.1L15.75 351.9C4.66 332.7 8.168 308.4 24.23 293.1L48.47 270C48.16 265.4 48 260.7 48 255.1C48 251.3 48.16 246.6 48.47 241.1L24.23 218.9C8.167 203.6 4.66 179.3 15.75 160.1L52.85 95.87C63.94 76.67 86.73 67.56 107.1 73.83L140.1 83.28C147.8 78.07 155.9 73.36 164.4 69.21L172.2 36.74C177.4 15.18 196.7 0 218.9 0L293.1 .0003zM205.5 103.6L194.3 108.3C181.6 113.6 169.8 120.5 159.1 128.7L149.4 136.1L94.42 119.9L57.31 184.1L98.81 223.6L97.28 235.6C96.44 242.3 96 249.1 96 256C96 262.9 96.44 269.7 97.28 276.4L98.81 288.4L57.32 327.9L94.42 392.1L149.4 375.9L159.1 383.3C169.8 391.5 181.6 398.4 194.3 403.7L205.5 408.4L218.9 464H293.1L306.5 408.4L317.7 403.7C330.4 398.4 342.2 391.5 352.9 383.3L362.6 375.9L417.6 392.1L454.7 327.9L413.2 288.4L414.7 276.4C415.6 269.7 416 262.9 416 256C416 249.1 415.6 242.3 414.7 235.6L413.2 223.6L454.7 184.1L417.6 119.9L362.6 136.1L352.9 128.7C342.2 120.5 330.4 113.6 317.7 108.3L306.5 103.6L293.1 48H218.9L205.5 103.6z',\n displayName: 'SettingsIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const StarFilledIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M381.2 150.3L524.9 171.5C536.8 173.2 546.8 181.6 550.6 193.1C554.4 204.7 551.3 217.3 542.7 225.9L438.5 328.1L463.1 474.7C465.1 486.7 460.2 498.9 450.2 506C440.3 513.1 427.2 514 416.5 508.3L288.1 439.8L159.8 508.3C149 514 135.9 513.1 126 506C116.1 498.9 111.1 486.7 113.2 474.7L137.8 328.1L33.58 225.9C24.97 217.3 21.91 204.7 25.69 193.1C29.46 181.6 39.43 173.2 51.42 171.5L195 150.3L259.4 17.97C264.7 6.954 275.9-.0391 288.1-.0391C300.4-.0391 311.6 6.954 316.9 17.97L381.2 150.3z',\n displayName: 'StarFilledIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const StarIcon = createIcon({\n viewBox: '0 0 576 512',\n d: 'M287.9 0c9.2 0 17.6 5.25 21.6 13.52l68.6 141.28 153.3 22.7c9 1.3 16.4 7.6 19.3 16.2 2.8 8.7.5 18.2-5.9 24.5L433.6 328.4l26.3 155.5c1.5 9-2.2 18.2-9.7 23.5-7.4 5.3-18.1 6-25.3 1.7l-137-73.2-137.8 73.2c-7.2 4.3-17 3.6-24.5-1.7-7.4-5.3-11.1-14.5-10.5-23.5l27.1-155.5L31.11 218.2c-6.46-6.3-8.75-15.8-5.91-24.5 2.83-8.6 10.3-14.9 19.29-16.2l153.21-22.7 68.6-141.28C270.4 5.249 278.7 0 287.9 0zm0 78.95L235.4 187.2c-3.5 7.1-10.3 12.1-18.1 13.3L98.98 217.9 184.9 303c5.5 5.5 8 13.4 6.7 21.1l-20.2 119.6 105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2-20.2-119.6c-1.3-7.7 1.3-15.6 6.8-21.1l85.9-85.1-118.3-17.4c-7.9-1.2-14.7-6.2-18.1-13.3L287.9 78.95z',\n displayName: 'StarIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const TrashIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M424 80c13.3 0 24 10.75 24 24 0 13.3-10.7 24-24 24h-11.6l-24 324.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.48 0-61.31-25.9-63.79-59.3L35.56 128H24c-13.25 0-24-10.7-24-24 0-13.25 10.75-24 24-24h69.82l36.68-55.06C140.9 9.357 158.4 0 177.1 0h93.8c18.7 0 36.2 9.358 46.6 24.94L354.2 80H424zM177.1 48c-2.6 0-6 1.34-6.6 3.56L151.5 80h145l-19-28.44c-1.5-2.22-4-3.56-6.6-3.56h-93.8zm187.2 80H83.69l23.81 321.2c.6 8.3 7.6 14.8 15.9 14.8h201.2c8.3 0 15.3-6.5 15.9-14.8L364.3 128z',\n displayName: 'TrashIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const UserIcon = createIcon({\n viewBox: '0 0 448 512',\n d: 'M272 304h-96C78.8 304 0 382.8 0 480c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32 0-97.2-78.8-176-176-176zM48.99 464c7.9-63.1 61.81-112 127.01-112h96c65.16 0 119.1 48.95 127 112H48.99zM224 256c70.69 0 128-57.31 128-128S294.69 0 224 0 96 57.31 96 128c0 70.7 57.3 128 128 128zm0-208c44.11 0 80 35.89 80 80s-35.89 80-80 80-80-35.9-80-80c0-44.11 35.9-80 80-80z',\n displayName: 'UserIcon',\n})\n","import { createIcon } from '../create-icon'\n\nexport const XmarkIcon = createIcon({\n viewBox: '0 0 320 512',\n d: 'M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256 7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256l118.2 119z',\n displayName: 'XmarkIcon',\n})\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { useImage } from '../../hooks/use-image'\nimport type { HTMLQdsProps } from '../../types'\nimport { UserIcon } from '../icon'\n\nconst SIZE_MAP = {\n sm: 32,\n md: 48,\n lg: 64,\n xl: 96,\n '2xl': 128,\n}\ntype AvatarSize = keyof typeof SIZE_MAP\n\ninterface WrapperProps {\n size: AvatarSize\n}\nconst Wrapper = styled.span<WrapperProps>(({ theme, size }) => ({\n width: SIZE_MAP[size],\n height: SIZE_MAP[size],\n borderRadius: theme.radii.full,\n background: theme.colors.core.gray20,\n overflow: 'hidden',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: `calc(${SIZE_MAP[size]}px / 3)`,\n border: `1px solid ${theme.colors.border.subtle}`,\n}))\nconst StyledImage = styled.img({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n})\n\nconst FallbackIcon = styled(UserIcon)(({ theme }) => ({\n color: theme.colors.icon.disabled,\n fontSize: 'inherit',\n}))\n\ninterface AvatarOptions {\n /**\n * Source url of the image to display. If not passed\n * it will display a fallback icon.\n */\n src?: string\n /**\n * Name of the user. Important for accessibility.\n */\n name?: string\n /**\n * Size of the avatar\n * @default 'md'\n */\n size?: AvatarSize\n}\n\nexport interface AvatarProps extends HTMLQdsProps<'span'>, AvatarOptions {}\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>((props, forwardedRef) => {\n const { src, name, size = 'md', ...restProps } = props\n const { loadingStatus } = useImage({ src, loading: 'eager' })\n\n const hasLoadedImage = loadingStatus === 'loaded'\n return (\n <Wrapper ref={forwardedRef} size={size} {...restProps}>\n {hasLoadedImage ? (\n <StyledImage src={src} alt={name} />\n ) : (\n <FallbackIcon role=\"img\" aria-label={name} />\n )}\n </Wrapper>\n )\n})\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","import { keyframes } from '@emotion/react'\nimport styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants, pxToRem } from '../../styles'\nimport type { HTMLQdsProps } from '../../types'\n\nconst ANIMATION_DURATION = 1200\nconst ANIMATION_STAGGER_DELAY = 160\n\nconst getSizeStyles = createStyleVariants(() => ({\n sm: { fontSize: pxToRem(8) },\n md: { fontSize: pxToRem(16) },\n}))\ntype LoadingDotsSize = VariantProps<typeof getSizeStyles>\n\nconst Wrapper = styled.span<{ size: LoadingDotsSize }>(({ theme, size }) => ({\n color: theme.colors.core.gray90,\n display: 'inline-flex',\n ...getSizeStyles(theme)[size],\n // Odd value but it works better with the animation\n gap: pxToRem(6),\n}))\nconst scaleAndFade = keyframes({\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n})\nconst Dot = styled.span({\n display: 'block',\n width: '1em',\n height: '1em',\n background: 'currentColor',\n borderRadius: 999,\n\n animationDuration: `${ANIMATION_DURATION}ms`,\n animationTimingFunction: 'ease-in-out',\n animationIterationCount: 'infinite',\n animationFillMode: 'both',\n '&:nth-of-type(2)': { animationDelay: `${ANIMATION_STAGGER_DELAY}ms` },\n '&:nth-of-type(3)': { animationDelay: `${ANIMATION_STAGGER_DELAY * 2}ms` },\n animationName: scaleAndFade,\n})\n\ninterface LoadingDotsOptions {\n size?: LoadingDotsSize\n}\n\nexport interface LoadingDotsProps extends HTMLQdsProps<'span'>, LoadingDotsOptions {}\n\nexport const LoadingDots = forwardRef<HTMLSpanElement, LoadingDotsProps>((props, forwardedRef) => {\n const { size = 'md', ...restProps } = props\n\n return (\n <Wrapper ref={forwardedRef} size={size} {...restProps}>\n <Dot />\n <Dot />\n <Dot />\n </Wrapper>\n )\n})\n","import { pxToRem, createStyleVariants } from '../../styles'\n\n// Can't use :enabled cause it doesn't work when rendered as a link\nconst NOT_DISABLED = ':not([disabled])'\n\nexport const getSizeStyles = createStyleVariants(({ typography, spacing }) => ({\n xs: {\n height: pxToRem(32),\n minWidth: pxToRem(64),\n paddingLeft: spacing['3x'],\n paddingRight: spacing['3x'],\n ...typography.title['3xs'],\n },\n sm: {\n height: pxToRem(40),\n minWidth: pxToRem(80),\n paddingLeft: spacing['4x'],\n paddingRight: spacing['4x'],\n ...typography.title['3xs'],\n },\n md: {\n height: pxToRem(48),\n minWidth: pxToRem(96),\n paddingLeft: spacing['5x'],\n paddingRight: spacing['5x'],\n ...typography.title['2xs'],\n },\n}))\n\nexport const getVariantStyles = createStyleVariants(({ colors }) => ({\n primary: {\n background: colors.bg.brandPrimary,\n color: colors.text.onColor,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandPrimaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandPrimaryActive,\n },\n },\n },\n secondary: {\n background: colors.bg.brandSecondary,\n color: colors.text.onColor,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandSecondaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandSecondaryActive,\n },\n },\n },\n tertiary: {\n background: colors.bg.default,\n color: colors.text.strong,\n border: '1px solid',\n borderColor: colors.core.gray40,\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n ghost: {\n background: colors.bg.default,\n color: colors.text.strong,\n textDecoration: 'underline',\n textUnderlineOffset: 1,\n\n [NOT_DISABLED]: {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n },\n}))\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\nimport isPropValid from '@emotion/is-prop-valid'\n\nimport type { VariantProps } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\nimport { LoadingDots } from '../loading-dots'\n\nimport { getSizeStyles, getVariantStyles } from './button-styles'\n\ninterface StyledButtonProps {\n size: ButtonSize\n variant: ButtonVariant\n isFullWidth: boolean\n}\nconst StyledButton = styled('button', { shouldForwardProp: isPropValid })<StyledButtonProps>(\n ({ theme, size, variant, isFullWidth }) => ({\n borderRadius: theme.radii.sm,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n flexShrink: 0,\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n userSelect: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n '&[disabled]': {\n opacity: 0.4,\n },\n\n '&:not([disabled]):active': {\n transform: 'scale(0.97)',\n },\n ...getSizeStyles(theme)[size],\n ...getVariantStyles(theme)[variant],\n ...(isFullWidth && { width: '100%' }),\n }),\n)\n\nconst ButtonLoadingDots = styled(LoadingDots)({\n position: 'absolute',\n color: 'currentColor',\n})\ninterface TextContainerProps {\n isHidden: boolean\n}\nconst TextContainer = styled.span<TextContainerProps>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n transition: 'opacity 120ms',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}))\n\ntype ButtonVariant = VariantProps<typeof getVariantStyles>\ntype ButtonSize = VariantProps<typeof getSizeStyles>\ninterface ButtonOptions {\n /**\n * Sets the size of the button\n * @default 'md'\n */\n size?: ButtonSize\n /**\n * Sets the style variant of the button\n * @default 'secondary'\n */\n variant?: ButtonVariant\n /**\n * If `true` the button will fill its container\n * @default false\n */\n isFullWidth?: boolean\n /**\n * If `true` the button will show a spinner\n * @default false\n */\n isLoading?: boolean\n /**\n * If `true` the button will be disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * The HTML `type` attribute\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset'\n}\n\ntype PolymorphicButton = Polymorphic.ForwardRefComponent<'button', ButtonOptions>\nexport type ButtonProps = Polymorphic.PropsOf<PolymorphicButton>\n\nexport const Button = forwardRef((props, forwardedRef) => {\n const {\n as,\n children,\n // Only default the `type` if not using the as prop\n type = as ? undefined : 'button',\n size = 'md',\n variant = 'secondary',\n isFullWidth = false,\n isLoading = false,\n isDisabled = false,\n disabled: hasHtmlDisabledProp,\n ...rest\n } = props\n\n const shouldBeDisabled = isDisabled || hasHtmlDisabledProp || isLoading\n return (\n <StyledButton\n as={as}\n ref={forwardedRef}\n variant={variant}\n size={size}\n isFullWidth={isFullWidth}\n disabled={shouldBeDisabled}\n type={type}\n {...rest}\n >\n <TextContainer isHidden={isLoading}>{children}</TextContainer>\n {isLoading && <ButtonLoadingDots size=\"sm\" data-testid=\"button-spinner\" />}\n </StyledButton>\n )\n}) as PolymorphicButton\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport type { HTMLQdsProps } from '../../types'\n\nconst StyledDivider = styled.span<Required<DividerOptions>>(({ theme, orientation }) => {\n const borderCssKey = orientation === 'horizontal' ? 'borderTop' : 'borderLeft'\n const sizeCssKey = orientation === 'horizontal' ? 'width' : 'height'\n return {\n display: 'block',\n [sizeCssKey]: '100%',\n flexShrink: 0,\n [borderCssKey]: `1px solid ${theme.colors.border.default}`,\n }\n})\n\ninterface DividerOptions {\n /**\n * The orientation of the divider.\n *\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport interface DividerProps extends HTMLQdsProps<'span'>, DividerOptions {}\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>((props, forwardedRef) => {\n const { orientation = 'horizontal', ...restProps } = props\n return (\n <StyledDivider ref={forwardedRef} orientation={orientation} role=\"separator\" {...restProps} />\n )\n})\n","import styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n lg: typography.title.lg,\n md: typography.title.md,\n sm: typography.title.sm,\n xs: typography.title.xs,\n '2xs': typography.title['2xs'],\n '3xs': typography.title['3xs'],\n}))\ntype HeadingSize = VariantProps<typeof getSizeStyles>\n\ninterface StyledHeadingProps {\n size: HeadingSize\n numberOfLines?: number\n textAlign?: 'left' | 'center' | 'right'\n}\nconst StyledHeading = styled('h2', { shouldForwardProp: isPropValid })<StyledHeadingProps>(\n ({ theme, size, numberOfLines, textAlign }) => ({\n margin: 0,\n ...getSizeStyles(theme)[size],\n color: theme.colors.text.strong,\n textAlign,\n ...(numberOfLines && {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: numberOfLines,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n }),\n)\n\ninterface HeadingOptions {\n /**\n * Sets the visual size of the heading.\n * Also sets the HTML tag used for the heading.\n * To override the rendered tag, use the `as` prop.\n *\n * @default 'md'\n */\n size?: HeadingSize\n /**\n * Truncates the heading after a specific number of lines\n */\n numberOfLines?: number\n /**\n * Alignment of the heading\n * @default 'left'\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\ntype HeadingComponent = Polymorphic.ForwardRefComponent<'h2', HeadingOptions>\nexport type HeadingProps = Polymorphic.PropsOf<HeadingComponent>\n\nexport const Heading = forwardRef((props, forwardedRef) => {\n const { as, children, size = 'md', textAlign = 'left', ...rest } = props\n return (\n <StyledHeading as={as} ref={forwardedRef} textAlign={textAlign} size={size} {...rest}>\n {children}\n </StyledHeading>\n )\n}) as HeadingComponent\n","import { pxToRem, createStyleVariants } from '../../styles'\n\nexport const getSizeStyles = createStyleVariants(() => ({\n xs: {\n width: pxToRem(32),\n height: pxToRem(32),\n fontSize: pxToRem(12),\n },\n sm: {\n width: pxToRem(40),\n height: pxToRem(40),\n fontSize: pxToRem(14),\n },\n md: {\n width: pxToRem(48),\n height: pxToRem(48),\n fontSize: pxToRem(16),\n },\n}))\n\n// These are the exact same styles as the `Button` variant styles.\n// Maybe we can share them somehow in the future but there isn't any good abstraction yet\n// so I'll keep some duplicated styles here for now. -- Hugo (2022-07-03)\nexport const getVariantStyles = createStyleVariants(({ colors }) => ({\n primary: {\n background: colors.bg.brandPrimary,\n color: colors.text.onColor,\n ':enabled': {\n // This prevents hover styles from displaying instead\n // of active styles on touch devices\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandPrimaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandPrimaryActive,\n },\n },\n },\n secondary: {\n background: colors.bg.brandSecondary,\n color: colors.text.onColor,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.bg.brandSecondaryHover,\n },\n },\n ':active': {\n background: colors.bg.brandSecondaryActive,\n },\n },\n },\n tertiary: {\n background: colors.bg.default,\n color: colors.text.strong,\n border: '1px solid',\n borderColor: colors.core.gray40,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n ghost: {\n background: colors.core.white,\n color: colors.core.black,\n ':enabled': {\n '@media(hover: hover)': {\n ':hover': {\n background: colors.core.gray10,\n },\n ':active': {\n background: colors.core.gray20,\n },\n },\n },\n },\n}))\n","import type { ElementType } from 'react'\nimport { createElement, forwardRef } from 'react'\nimport styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\n\nimport type { VariantProps } from '../../styles'\nimport type { IconProps } from '../icon'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nimport { getSizeStyles, getVariantStyles } from './icon-button-styles'\n\nconst ICON_SIZE_MAP: Record<IconButtonSize, IconProps['size']> = {\n xs: 12,\n sm: 16,\n md: 16,\n}\n\ninterface StyledButtonProps {\n size: IconButtonSize\n variant: IconButtonVariant\n}\nconst StyledButton = styled('button', { shouldForwardProp: isPropValid })<StyledButtonProps>(\n ({ theme, size, variant }) => ({\n borderRadius: theme.radii.full,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n flexShrink: 0,\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n userSelect: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n '&[disabled]': {\n opacity: 0.4,\n },\n '&:not([disabled]):active': {\n transform: 'scale(0.97)',\n },\n ...getSizeStyles(theme)[size],\n ...getVariantStyles(theme)[variant],\n }),\n)\n\ntype IconButtonSize = VariantProps<typeof getSizeStyles>\ntype IconButtonVariant = VariantProps<typeof getVariantStyles>\ninterface IconButtonOptions {\n icon: ElementType<IconProps>\n /**\n * A visually hidden label read by screen readers.\n *\n */\n label: string\n /**\n * Defines the size of the button\n */\n size?: IconButtonSize\n /**\n * Sets the style variant of the button\n */\n variant?: IconButtonVariant\n /**\n * If `true` the button will be disabled\n */\n isDisabled?: boolean\n}\n\ntype IconButtonComponent = Polymorphic.ForwardRefComponent<'button', IconButtonOptions>\nexport type IconButtonProps = Polymorphic.PropsOf<IconButtonComponent>\n\nexport const IconButton = forwardRef((props, forwardedRef) => {\n const {\n as,\n icon,\n label,\n 'aria-label': ariaLabel = label,\n variant = 'ghost',\n size = 'md',\n type = 'button',\n isDisabled = false,\n ...restProps\n } = props\n return (\n <StyledButton\n as={as}\n ref={forwardedRef}\n aria-label={ariaLabel}\n variant={variant}\n size={size}\n disabled={isDisabled}\n type={type}\n {...restProps}\n >\n {createElement(icon, { 'aria-hidden': true, size: ICON_SIZE_MAP[size], color: 'inherit' })}\n </StyledButton>\n )\n}) as IconButtonComponent\n","import { keyframes } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nimport { useImage } from '../../hooks/use-image'\nimport type { Theme } from '../../theme'\nimport type { HTMLQdsProps } from '../../types'\n\nconst PULSE_ANIMATION = keyframes({\n '0%': {\n opacity: 0.5,\n },\n '100%': {\n opacity: 1,\n },\n})\n\ninterface ImageWrapperProps {\n borderRadius: keyof Theme['radii']\n $width: string | number\n $height: string | number\n isLoading: boolean\n}\nconst ImageWrapper = styled.div<ImageWrapperProps>(\n ({ theme, $width, $height, borderRadius, isLoading }) => ({\n width: $width,\n height: $height,\n borderRadius: theme.radii[borderRadius],\n overflow: 'hidden',\n transition: 'background-color 180ms',\n background: 'transparent',\n border: `1px solid ${theme.colors.core.gray20}`,\n\n ...(isLoading && {\n background: theme.colors.core.gray20,\n animationDuration: '0.8s',\n animationDirection: 'alternate',\n animationIterationCount: 'infinite',\n }),\n animationName: isLoading ? PULSE_ANIMATION : undefined,\n }),\n)\n\ninterface StyledImgProps {\n isVisible: boolean\n}\nconst StyledImg = styled.img<StyledImgProps>(({ isVisible }) => ({\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n opacity: isVisible ? 1 : 0,\n transition: 'opacity 180ms',\n}))\n\ninterface ImageOptions {\n src?: string\n alt?: string\n width: string | number\n height: string | number\n loading?: 'eager' | 'lazy'\n borderRadius?: keyof Theme['radii']\n}\n\ntype OmittedProps = 'width' | 'height'\n\nexport interface ImageProps extends Omit<HTMLQdsProps<'img'>, OmittedProps>, ImageOptions {}\nexport function Image({\n src,\n loading = 'lazy',\n width,\n height,\n borderRadius = 'md',\n ...restProps\n}: ImageProps) {\n const { loadingStatus } = useImage({ src, loading })\n\n const isLoading = loadingStatus === 'loading'\n return (\n <ImageWrapper isLoading={isLoading} $width={width} $height={height} borderRadius={borderRadius}>\n <StyledImg\n src={src}\n isVisible={loadingStatus === 'loaded'}\n loading={loading}\n {...restProps}\n />\n </ImageWrapper>\n )\n}\n","import { useEffect, useState } from 'react'\n\nimport { theme } from '../theme'\nimport type { Theme } from '../theme'\n\ntype Breakpoints = Theme['breakpoints']\n\nconst breakpointsArray = Object.entries(theme.breakpoints).map(([name, value]) => ({\n name: name as keyof Breakpoints,\n breakpoint: value,\n}))\n\nconst MEDIA_QUERIES = breakpointsArray.map(({ name, breakpoint }, index) => {\n const nextValue = breakpointsArray?.[index + 1]?.breakpoint\n const media = nextValue\n ? `(min-width: ${breakpoint}px) and (max-width: ${nextValue - 1}px)`\n : `(min-width: ${breakpoint}px)`\n\n return {\n name,\n media,\n }\n})\n\nconst getMatchingBreakpoint = () => {\n const matchingBreakpoint = MEDIA_QUERIES.find(({ media }) => {\n return window.matchMedia(media).matches\n })\n // Since the breakpoints cover all screen sizes we should always get a match,\n // but to be safe we return 'base' as a fallback.\n return matchingBreakpoint?.name || 'base'\n}\n\nexport interface UseBreakpointOptions {\n /**\n * If `true` the intital value will be `base` instead of the current breakpoint.\n * This is to support hydration when using SSR.\n *\n * If you're creating a client-side rendered app, you can pass `false` to get the correct value on the first render.\n *\n * @default true\n */\n ssr?: boolean\n}\n\n/**\n * Hook for getting the current breakpoint.\n */\nexport function useBreakpoint(params?: UseBreakpointOptions) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { ssr = true } = params || {}\n const initialBreakpoint = ssr ? 'base' : getMatchingBreakpoint\n const [currentBreakpoint, setCurrentBreakpoint] = useState<keyof Breakpoints>(initialBreakpoint)\n\n useEffect(() => {\n const matchMediaArray = MEDIA_QUERIES.map(({ media }) => window.matchMedia(media))\n\n const handleChange = () => {\n // Instead of checking the value from the matchMedia listeners event we just use it\n // as trigger to know when the current breakpoint should be updated.\n // This is because each separate query has its own event listener which\n // can lead to incorrect intermediate states where no breakpoint is matching.\n setCurrentBreakpoint(getMatchingBreakpoint())\n }\n\n // Update the current breakpoint on the first render.\n // After that the event listeners will take care of updating the state.\n handleChange()\n\n matchMediaArray.forEach((mediaQuery) => {\n if (typeof mediaQuery.addListener === 'function') {\n // Safari < 14 fallback\n mediaQuery.addListener(handleChange)\n } else {\n mediaQuery.addEventListener('change', handleChange)\n }\n })\n\n return () => {\n matchMediaArray.forEach((mediaQuery) => {\n if (typeof mediaQuery.addListener === 'function') {\n mediaQuery.removeListener(handleChange)\n } else {\n mediaQuery.removeEventListener('change', handleChange)\n }\n })\n }\n }, [])\n\n return { currentBreakpoint }\n}\n","import { useLayoutEffect } from 'react'\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nexport const useSafeLayoutEffect = globalThis?.document ? useLayoutEffect : () => undefined\n","import React, { useState } from 'react'\n\nimport type { LegitimateAny } from '../types'\n\nimport { useSafeLayoutEffect } from './use-safe-layout-effect'\n\n/**\n * This is basically a copy of Radix UI's `useId` hook.\n */\n\n// We `toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as LegitimateAny)['useId'.toString()] || (() => undefined)\nlet count = 0\n\n/**\n * Returns a stable ID that is unique to the component instance.\n */\nexport function useStableId(fixedId?: string | null): string {\n const [id, setId] = useState<string | undefined>(useReactId())\n // React versions older than 18 will have client-side ids only.\n useSafeLayoutEffect(() => {\n if (!fixedId) setId((reactId) => reactId ?? String(count++))\n }, [fixedId])\n return fixedId || (id ? `qds-${id}` : '')\n}\n","import type { ElementType } from 'react'\nimport { useCallback } from 'react'\n\nimport type { HTMLQdsProps, LegitimateAny } from '../types'\n\nimport { useStableId } from './use-stable-id'\n\ntype FormFieldElement = 'input' | 'select' | 'textarea'\n\ntype PropGetter<T extends ElementType = LegitimateAny> = (\n props?: HTMLQdsProps<T>,\n) => Record<string, unknown>\n\ninterface FormFieldOptions {\n /**\n * The label for the form field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n /**\n * If `true`, the form field will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the form field will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the form field will be required\n */\n isRequired?: boolean\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\nexport type UseFormFieldProps<T extends FormFieldElement> = Omit<HTMLQdsProps<T>, OmittedProps> &\n FormFieldOptions\n\n/**\n * Custom hook that returns props for a form field's label, input, helper text and error message.\n * Meant to be used in conjunction with the `Input`, `Select` or `Textarea` component.\n *\n * Used internally by `TextField`, `Select` and `Textarea`.\n */\nexport const useFormField = <T extends FormFieldElement>(props: UseFormFieldProps<T>) => {\n const { id: idProp, isDisabled, helperText, errorMessage, isInvalid, isRequired } = props\n const id = useStableId(idProp)\n\n const errorMessageId = `${id}-error`\n const helperTextId = `${id}-helper`\n\n const getLabelProps = useCallback<PropGetter<'label'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n htmlFor: id,\n 'data-disabled': isDisabled ? '' : undefined,\n }),\n [id, isDisabled],\n )\n\n const getHelperTextProps = useCallback<PropGetter<'div'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n id: helperTextId,\n 'data-disabled': isDisabled ? '' : undefined,\n }),\n [helperTextId, isDisabled],\n )\n\n const getErrorMessageProps = useCallback<PropGetter<'div'>>(\n (forwardedProps) => ({\n ...forwardedProps,\n id: errorMessageId,\n 'aria-live': 'polite',\n }),\n [errorMessageId],\n )\n\n const getFieldProps = useCallback<PropGetter<T>>(\n (forwardedProps) => {\n const ariaDescribedByIds: string[] = []\n\n // Error message must be described first in all scenarios.\n if (Boolean(errorMessage) && isInvalid) {\n ariaDescribedByIds.push(errorMessageId)\n } else if (helperText) {\n ariaDescribedByIds.push(helperTextId)\n }\n\n if (forwardedProps?.['aria-describedby']) {\n ariaDescribedByIds.push(forwardedProps['aria-describedby'])\n }\n\n return {\n ...forwardedProps,\n 'aria-describedby': ariaDescribedByIds.join(' ') || undefined,\n id: forwardedProps?.id ?? id,\n isDisabled,\n isRequired,\n 'aria-invalid': isInvalid ? true : undefined,\n }\n },\n [errorMessage, errorMessageId, helperText, helperTextId, id, isDisabled, isInvalid, isRequired],\n )\n\n return {\n getLabelProps,\n /**\n * Props to be spread on the input, select or textarea element.\n * Function accepts an optional object of props to be merged with the returned props.\n */\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n }\n}\n","import styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n sm: {\n ...typography.label.sm,\n },\n md: {\n ...typography.label.md,\n },\n}))\n\ntype LabelSize = VariantProps<typeof getSizeStyles>\nconst StyledLabel = styled('label', { shouldForwardProp: isPropValid })<{ size: LabelSize }>(\n ({ theme, size }) => ({\n display: 'block',\n color: theme.colors.text.strong,\n cursor: 'default',\n ...getSizeStyles(theme)[size],\n '&[data-disabled]': {\n opacity: 0.4,\n },\n }),\n)\n\ninterface LabelOptions {\n /**\n * Size of the label\n */\n size?: LabelSize\n}\n\ntype LabelComponent = Polymorphic.ForwardRefComponent<'label', LabelOptions>\nexport type LabelProps = Polymorphic.PropsOf<LabelComponent>\n\nexport const Label = forwardRef((props, forwardedRef) => {\n const { as, children, size = 'md', onMouseDown, ...restProps } = props\n return (\n <StyledLabel\n as={as}\n ref={forwardedRef}\n {...restProps}\n size={size}\n onMouseDown={(event) => {\n onMouseDown && onMouseDown(event)\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) {\n event.preventDefault()\n }\n }}\n >\n {children}\n </StyledLabel>\n )\n}) as LabelComponent\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\n\nconst StyledInput = styled('input')(({ theme }) => ({\n ...getFormFieldBaseStyles(theme),\n height: 48,\n}))\n\nexport interface InputBaseOptions {\n /**\n * If `true`, the input will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the input will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the input will be required\n */\n isRequired?: boolean\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size' | 'disabled' | 'required'\nexport interface InputBaseProps\n extends Omit<HTMLQdsProps<'input'>, OmittedProps>,\n InputBaseOptions {}\n\nexport const InputBase = forwardRef<HTMLInputElement, InputBaseProps>((props, forwardedRef) => {\n const { isInvalid, isDisabled, isRequired, ...restProps } = props\n\n return (\n <StyledInput\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n {...restProps}\n />\n )\n})\n","import styled from '@emotion/styled'\n\nexport const FieldWrapper = styled.div(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing['2x'],\n width: '100%',\n}))\n\nexport const ErrorMessage = styled.div(({ theme }) => ({\n ...theme.typography.body.sm,\n color: theme.colors.text.negative,\n}))\n\nexport const HelperText = styled.div(({ theme }) => ({\n ...theme.typography.body.sm,\n color: theme.colors.text.subtle,\n '&[data-disabled]': {\n opacity: 0.4,\n },\n}))\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { InputBaseOptions } from '../primitives/input-base'\nimport { InputBase } from '../primitives/input-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\ninterface TextFieldOptions extends InputBaseOptions {\n /**\n * The label for the input\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\n\nexport interface TextFieldProps\n extends Omit<HTMLQdsProps<'input'>, OmittedProps>,\n TextFieldOptions {}\n\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>((props, forwardedRef) => {\n const { label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getInputProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField<'input'>(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <InputBase ref={forwardedRef} {...getInputProps(restProps)} />\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n","import { forwardRef } from 'react'\nimport styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\n\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst StyledLink = styled('a', { shouldForwardProp: isPropValid })(({ theme }) => ({\n WebkitTouchCallout: 'none',\n WebkitTapHighlightColor: 'transparent',\n ...theme.typography.body.md,\n color: theme.colors.text.strong,\n WebkitAppearance: 'none',\n transitionProperty: 'box-shadow, transform, opacity, background-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n\n flexShrink: 0,\n fontSize: 'inherit',\n textDecoration: 'underline',\n}))\n\ninterface LinkOptions {\n /**\n * The URL to link to.\n */\n href?: string\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\ntype LinkComponent = Polymorphic.ForwardRefComponent<'a', LinkOptions>\nexport type LinkProps = Polymorphic.PropsOf<LinkComponent>\n\nexport const Link = forwardRef((props, forwardedRef) => {\n const { children, href, isExternal = false, ...restProps } = props\n const externalProps = isExternal ? { target: '_blank', rel: 'noopener noreferrer' } : {}\n return (\n <StyledLink ref={forwardedRef} href={href} {...externalProps} {...restProps}>\n {children}\n </StyledLink>\n )\n}) as LinkComponent\n","import styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\nimport { forwardRef } from 'react'\n\nimport type { VariantProps } from '../../styles'\nimport { createStyleVariants } from '../../styles'\nimport type { Theme } from '../../theme'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nconst getSizeStyles = createStyleVariants(({ typography }) => ({\n xs: typography.body.xs,\n sm: typography.body.sm,\n md: typography.body.md,\n lg: typography.body.lg,\n xl: typography.body.xl,\n}))\n\ntype ParagraphSize = VariantProps<typeof getSizeStyles>\ntype ParagraphColor = keyof Theme['colors']['text']\n\ninterface StyledParagraphProps {\n size: ParagraphSize\n color: ParagraphColor\n numberOfLines?: number\n textAlign?: 'left' | 'center' | 'right'\n}\nconst StyledParagraph = styled('p', { shouldForwardProp: isPropValid })<StyledParagraphProps>(\n ({ theme, size, color, numberOfLines, textAlign }) => ({\n margin: 0,\n ...getSizeStyles(theme)[size],\n color: theme.colors.text[color],\n textAlign,\n ...(numberOfLines && {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: numberOfLines,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n }),\n)\n\ninterface ParagraphOptions {\n /**\n * Sets the visual size of the text\n * @default 'md'\n */\n size?: ParagraphSize\n /**\n * Sets the color of the text\n * @default 'normal'\n */\n color?: ParagraphColor\n /**\n * Truncates the text after a specific number of lines\n */\n numberOfLines?: number\n /**\n * Alignment of the paragraph\n * @default 'left'\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\ntype ParagraphComponent = Polymorphic.ForwardRefComponent<'p', ParagraphOptions>\nexport type ParagraphProps = Polymorphic.PropsOf<ParagraphComponent>\n\nexport const Paragraph = forwardRef((props, forwardedRef) => {\n const { children, size = 'md', color = 'default', textAlign = 'left', ...rest } = props\n return (\n <StyledParagraph ref={forwardedRef} size={size} color={color} textAlign={textAlign} {...rest}>\n {children}\n </StyledParagraph>\n )\n}) as ParagraphComponent\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\nimport { ChevronDownIcon } from '../../icon'\n\nexport interface SelectBaseOptions {\n /**\n * The placeholder for the select. We render an `<option/>` element that has\n * empty value.\n *\n * ```jsx\n * <option value=\"\">{placeholder}</option>\n * ```\n */\n placeholder?: string\n /**\n * If `true`, the select will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the select will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the select will be required\n */\n isRequired?: boolean\n}\n\nconst SelectWrapper = styled.div({\n width: '100%',\n height: 'fit-content',\n position: 'relative',\n})\nconst SelectIconWrapper = styled.div({\n pointerEvents: 'none',\n position: 'absolute',\n height: '100%',\n width: 48,\n right: 0,\n top: 0,\n color: 'currentcolor',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n '&[data-disabled]': {\n opacity: 0.4,\n },\n})\n\nconst StyledSelect = styled.select(({ theme }) => ({\n ...getFormFieldBaseStyles(theme),\n height: 48,\n // Ensure the text doesn't end up behind the icon\n paddingRight: 40,\n}))\n\ntype OmittedProps = 'readOnly' | 'size' | 'multiple' | 'disabled' | 'required'\n\ninterface SelectBaseProps extends Omit<HTMLQdsProps<'select'>, OmittedProps>, SelectBaseOptions {}\n\nexport const SelectBase = forwardRef<HTMLSelectElement, SelectBaseProps>((props, forwardedRef) => {\n const { placeholder, children, isInvalid, isDisabled, isRequired, ...restProps } = props\n\n return (\n <SelectWrapper>\n <StyledSelect\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n {...restProps}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </StyledSelect>\n <SelectIconWrapper data-disabled={isDisabled ? '' : undefined}>\n <ChevronDownIcon role=\"presentation\" aria-hidden=\"true\" size={12} />\n </SelectIconWrapper>\n </SelectWrapper>\n )\n})\n","import styled from '@emotion/styled'\nimport { forwardRef } from 'react'\n\nimport { getFormFieldBaseStyles } from '../../../styles'\nimport type { HTMLQdsProps } from '../../../types'\n\nconst StyledTextarea = styled.textarea<{ resize: ResizeProp; minRows: MinRowsProp }>(\n ({ theme, resize, minRows }) => {\n const baseStyles = getFormFieldBaseStyles(theme)\n const paddingVertical = theme.spacing['3x']\n const minHeight = `calc(${baseStyles.lineHeight} * ${minRows} + ${paddingVertical} * 2 + 2px)` // + 2px for border\n\n return {\n ...baseStyles,\n paddingTop: paddingVertical,\n paddingBottom: paddingVertical,\n resize,\n minHeight,\n }\n },\n)\n\ntype ResizeProp = 'none' | 'both' | 'horizontal' | 'vertical'\ntype MinRowsProp = number\nexport interface TextareaBaseOptions {\n /**\n * If `true`, the textarea will be invalid\n */\n isInvalid?: boolean\n /**\n * If `true`, the textarea will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` the textarea will be required\n */\n isRequired?: boolean\n /**\n * The resize behavior of the textarea\n *\n * @default 'vertical'\n */\n resize?: ResizeProp\n /**\n * The minimum number of rows to display without requiring scrolling or resizing.\n * To disabled resizing use the `resize` prop.\n *\n * @default 3\n */\n minRows?: MinRowsProp\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size' | 'disabled' | 'required' | 'rows' | 'cols'\nexport interface TextareaBaseProps\n extends Omit<HTMLQdsProps<'textarea'>, OmittedProps>,\n TextareaBaseOptions {}\n\nexport const TextareaBase = forwardRef<HTMLTextAreaElement, TextareaBaseProps>(\n (props, forwardedRef) => {\n const {\n isInvalid,\n isDisabled,\n isRequired,\n resize = 'vertical',\n minRows = 3,\n ...restProps\n } = props\n\n return (\n <StyledTextarea\n ref={forwardedRef}\n aria-invalid={isInvalid ? true : undefined}\n disabled={isDisabled}\n required={isRequired}\n resize={resize}\n minRows={minRows}\n {...restProps}\n />\n )\n },\n)\n","import { forwardRef } from 'react'\n\nimport type { HTMLQdsProps } from '../../types'\n\ninterface SelectOptionOptions {\n isDisabled?: boolean\n}\n\ntype OmittedProps = 'disabled' | 'label'\nexport interface SelectOptionProps\n extends Omit<HTMLQdsProps<'option'>, OmittedProps>,\n SelectOptionOptions {}\n\nexport const SelectOption = forwardRef<HTMLOptionElement, SelectOptionProps>(\n (props, forwardedRef) => {\n const { children, isDisabled, ...restProps } = props\n return (\n <option ref={forwardedRef} disabled={isDisabled} {...restProps}>\n {children}\n </option>\n )\n },\n)\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { SelectBaseOptions } from '../primitives/select-base'\nimport { SelectBase } from '../primitives/select-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\nimport type { SelectOptionProps } from './select-option'\nimport { SelectOption } from './select-option'\n\ninterface SelectOptions extends SelectBaseOptions {\n /**\n * The label for the select field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'readOnly' | 'size'\n\nexport interface SelectProps extends Omit<HTMLQdsProps<'select'>, OmittedProps>, SelectOptions {}\n\nconst SelectRoot = forwardRef<HTMLSelectElement, SelectProps>((props, forwardedRef) => {\n const { children, label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getSelectProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <SelectBase ref={forwardedRef} {...getSelectProps(restProps)}>\n {children}\n </SelectBase>\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n\nexport const Select = Object.assign(SelectRoot, { Option: SelectOption })\nexport type { SelectOptionProps }\n","import { useTheme } from '@emotion/react'\nimport { forwardRef } from 'react'\n\nimport type { Theme } from '../../theme'\nimport type { HTMLQdsProps } from '../../types'\n\ninterface SpacerOptions {\n axis?: 'x' | 'y'\n size: keyof Theme['spacing']\n}\n\nexport interface SpacerProps extends HTMLQdsProps<'span'>, SpacerOptions {}\nexport const Spacer = forwardRef<HTMLSpanElement, SpacerProps>((props, forwardedRef) => {\n const { axis = 'y', size, ...restProps } = props\n const { spacing } = useTheme()\n\n const resolvedSize = spacing[size]\n\n const width = axis === 'y' ? 1 : resolvedSize\n const height = axis === 'x' ? 1 : resolvedSize\n return (\n <span\n ref={forwardedRef}\n aria-hidden=\"true\"\n {...restProps}\n style={{\n display: 'block',\n width,\n minWidth: width,\n height,\n minHeight: height,\n ...restProps.style,\n }}\n />\n )\n})\n","import type { ReactNode } from 'react'\nimport { Fragment, forwardRef } from 'react'\nimport styled from '@emotion/styled'\nimport isPropValid from '@emotion/is-prop-valid'\n\nimport type { Merge } from '../../types'\nimport type { Theme } from '../../theme'\nimport type * as Polymorphic from '../../utils/polymorphic'\n\nimport { getValidChildren } from './stack.utils'\nimport type { AlignItems, FlexDirection, JustifyContent, FlexWrap } from './stack.types'\n\ntype StyledStackProps = Merge<StackOptions, { gap: GapProp }>\nconst StyledStack = styled('div', { shouldForwardProp: isPropValid })<StyledStackProps>(\n ({ theme, direction, justifyContent, alignItems, wrap, gap }) => ({\n display: 'flex',\n gap: theme.spacing[gap],\n flexDirection: direction,\n justifyContent,\n alignItems,\n flexWrap: wrap,\n }),\n)\n\ntype GapProp = keyof Theme['spacing']\ninterface StackOptions {\n /**\n * The direction of the stack.\n * @default 'column'\n */\n direction?: FlexDirection\n /**\n * The CSS `justify-content` property.\n * Controls the alignment of items on the main axis.\n */\n justifyContent?: JustifyContent\n /**\n * The CSS `align-items` property.\n * Controls the alignment of items on the cross axis.\n */\n alignItems?: AlignItems\n /**\n * The CSS `flex-wrap` property.\n * Controls whether children can wrap onto multiple lines.\n * @default 'nowrap'\n */\n wrap?: FlexWrap\n /**\n * The gap between each child element.\n */\n gap?: GapProp\n /**\n * A divider element to be rendered between each child element.\n *\n * _Note: For the divider to be rendered, the child elements can't be loose strings or numbers.\n * Wrap them in a `div` or other element._\n */\n divider?: ReactNode\n}\n\ntype StackComponent = Polymorphic.ForwardRefComponent<'div', StackOptions>\nexport type StackProps = Polymorphic.PropsOf<StackComponent>\n\nexport const Stack = forwardRef((props, forwardedRef) => {\n const {\n as,\n children,\n direction = 'column',\n justifyContent = 'flex-start',\n alignItems = 'stretch',\n divider,\n gap = '0x',\n ...restProps\n } = props\n const hasDivider = Boolean(divider)\n\n const resolvedChildren = !hasDivider\n ? children\n : getValidChildren(children).map((child, index, validChildren) => {\n // Prefer provided child key and fallback to index\n const key = typeof child.key !== 'undefined' ? child.key : index\n const isLast = index + 1 === validChildren.length\n\n const currentDivider = isLast ? null : divider\n\n return (\n <Fragment key={key}>\n {child}\n {currentDivider}\n </Fragment>\n )\n })\n\n return (\n <StyledStack\n as={as}\n ref={forwardedRef}\n direction={direction}\n justifyContent={justifyContent}\n alignItems={alignItems}\n gap={gap}\n {...restProps}\n >\n {resolvedChildren}\n </StyledStack>\n )\n}) as StackComponent\n","import type { ReactElement, ReactNode } from 'react'\nimport { Children, isValidElement } from 'react'\n\n/**\n * Gets only the valid children of a component,\n * and ignores any nullish or falsy child.\n */\nexport function getValidChildren(children: ReactNode) {\n return Children.toArray(children).filter((child) => isValidElement(child)) as ReactElement[]\n}\n","import { forwardRef } from 'react'\n\nimport { useFormField } from '../../hooks'\nimport type { HTMLQdsProps } from '../../types'\nimport { Label } from '../label'\nimport type { TextareaBaseOptions } from '../primitives/textarea-base'\nimport { TextareaBase } from '../primitives/textarea-base'\nimport { ErrorMessage, FieldWrapper, HelperText } from '../_internal'\n\ninterface TextareaOptions extends TextareaBaseOptions {\n /**\n * The label for the textarea field\n */\n label: string\n /**\n * The error message to display if `isInvalid` is `true`\n */\n errorMessage?: string\n /**\n * Text that provides additional guidance to the user\n */\n helperText?: string\n}\n\ntype OmittedProps = 'children' | 'readOnly' | 'size'\n\nexport interface TextareaProps\n extends Omit<HTMLQdsProps<'textarea'>, OmittedProps>,\n TextareaOptions {}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>((props, forwardedRef) => {\n const { label, isInvalid, errorMessage, helperText, ...restProps } = props\n const {\n getLabelProps,\n getFieldProps: getTextareaProps,\n getErrorMessageProps,\n getHelperTextProps,\n } = useFormField<'textarea'>(props)\n\n const helperTextNode = helperText ? (\n <HelperText {...getHelperTextProps()}>{helperText}</HelperText>\n ) : null\n\n const shouldShowErrorMessage = isInvalid && errorMessage\n const errorMessageNode = shouldShowErrorMessage ? (\n <ErrorMessage {...getErrorMessageProps()}>{errorMessage}</ErrorMessage>\n ) : null\n\n return (\n <FieldWrapper role=\"group\">\n <Label {...getLabelProps()}>{label}</Label>\n <TextareaBase ref={forwardedRef} {...getTextareaProps(restProps)} />\n {errorMessageNode || helperTextNode}\n </FieldWrapper>\n )\n})\n","import type { Theme } from '../theme'\nimport { breakpoints } from '../theme/foundations/breakpoints'\nimport type { PartialRecord } from '../types'\n\nimport type { UseBreakpointOptions } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\ntype Breakpoints = Theme['breakpoints']\ntype BreakpointsConfig<T> = PartialRecord<keyof Breakpoints, T> & { base: T }\nexport type UseBreakpointValueProps<T> = BreakpointsConfig<T>\n\n/**\n * Hook for getting a value based on the current breakpoint.\n *\n * @example\n * const width = useBreakpointValue({ base: '150px', md: '250px' })\n */\nexport function useBreakpointValue<T>(\n values: UseBreakpointValueProps<T>,\n options?: UseBreakpointOptions,\n) {\n const { currentBreakpoint } = useBreakpoint(options)\n const breakpointNames = Object.keys(breakpoints) as (keyof Breakpoints)[]\n let breakpointValue = values[currentBreakpoint]\n\n if (breakpointValue) {\n return breakpointValue\n }\n\n for (let i = breakpointNames.length - 1; i >= 0; i--) {\n const key = breakpointNames[i]\n if (key in values) {\n breakpointValue = values[key]\n break\n }\n }\n\n return breakpointValue || values.base\n}\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__makeTemplateObject","cooked","raw","defineProperty","value","StyleSheet","options","_this","_insertTag","tag","before","tags","insertionPoint","nextSibling","prepend","container","firstChild","insertBefore","push","isSpeedy","undefined","speedy","process","env","NODE_ENV","ctr","nonce","key","_proto","hydrate","nodes","forEach","insert","rule","document","createElement","setAttribute","appendChild","createTextNode","createStyleElement","isImportRule","charCodeAt","_alreadyInsertedOrderInsensitiveRule","console","error","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","test","flush","parentNode","removeChild","r","a","c","u","o","f","l","h","v","b","d","m","w","k","Math","abs","$","String","fromCharCode","g","x","O","E","trim","y","exec","T","replace","A","C","slice","M","S","R","z","map","join","N","root","parent","type","props","children","line","column","return","P","j","character","U","position","characters","_","F","I","L","D","K","V","W","Z","Y","G","B","J","H","q","Q","X","re","ae","ee","ce","te","ne","se","ie","ue","oe","CHARSET","COMMENT","COUNTER_STYLE","DECLARATION","DOCUMENT","FONT_FACE","FONT_FEATURE_VALUES","IMPORT","KEYFRAMES","MEDIA","MOZ","MS","NAMESPACE","PAGE","RULESET","SUPPORTS","VIEWPORT","WEBKIT","alloc","append","caret","char","charat","combine","comment","commenter","compile","copy","dealloc","declaration","delimit","delimiter","escaping","from","hash","identifier","indexof","match","middleware","namespace","next","node","parse","peek","prefix","prefixer","prev","ruleset","rulesheet","serialize","sizeof","stringify","strlen","substr","token","tokenize","tokenizer","whitespace","memoize","fn","cache","create","arg","identifierWithPointTracking","begin","points","index","previous","exports","getRules","parsed","toRules","fixedElements","WeakMap","compat","element","isImplicitRule","get","set","rules","parentRules","removeLabel","isIgnoringComment","nullifyElement","incorrectImportAlarm","isPrependedWithRegularRules","isBrowser","getServerStylisCache","func","has","ret","weakMemoize","name","defaultStylisPlugins","globalStyles","theme","css","templateObject_1","typography","body","md","fontFamily","colors","text","default","border","defaultSelected","GlobalStyles","_jsx","Global","styles","createStyleVariants","createStyle","pxToRem","px","concat","getFormFieldBaseStyles","_a","radii","spacing","width","minWidth","appearance","paddingLeft","paddingRight","borderRadius","sm","backgroundColor","bg","color","alignItems","disabled","borderColor","defaultHover","outline","boxShadow","negative","opacity","transitionProperty","transitionDuration","transitionTimingFunction","breakpoints","base","lg","xl","core","black","white","gray90","gray80","gray70","gray60","gray50","gray40","gray30","gray20","gray10","brand90","brand80","brand70","brand60","brand50","brand40","brand30","brand20","brand10","red10","red20","red30","red40","red50","red60","red70","red80","red90","green90","green80","green70","green60","green50","green40","green30","green20","green10","blue90","blue80","blue70","blue60","blue50","blue40","blue30","blue20","blue10","yellow90","yellow80","yellow70","yellow60","yellow50","yellow40","yellow30","yellow20","yellow10","blackAlpha20","brandPrimary","brandPrimaryHover","brandPrimaryActive","brandSecondary","brandSecondaryHover","brandSecondaryActive","warning","positive","inset","backdrop","strong","subtle","onColor","icon","success","sizes","fontStacks","display","sans","fontWeight","fontSize","lineHeight","letterSpacing","title","xs","label","caption","foundations","zIndices","hide","auto","docked","dropdown","sticky","banner","overlay","modal","popover","skipLink","toast","tooltip","none","full","shadows","mediaQueries","smUp","mdUp","lgUp","xlUp","objectKeys","obj","keys","deepMerge","target","source","result","overrideTheme","overrides","group","override","typographyGroup_1","overrideTypography","cssReset","CSSReset","Error","ssrStyles","querySelectorAll","Array","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","split","omnipresentPlugins","unsafePseudoClasses","commentContainer","unsafePseudoClass","createUnsafeSelectorsAlarm","currentSheet","finalizingPlugins","serializer","selector","serialized","shouldCache","_finalizingPlugins","_serializer","serverStylisCache","registered","createCache","useImage","src","loading","_b","useState","loadingStatus","setLoadingStatus","useEffect","updateStatus","status","image","Image","onload","onerror","getSizeStyles","StyledSvg","styled","svg","size","_c","createIcon","viewBox","pathDefinition","displayName","path","Children","toArray","Component","forwardRef","forwardedRef","ref","xmlns","height","focusable","fill","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","BellSlashIcon","BellIcon","CalendarIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","EllipsisVerticalIcon","EllipsisIcon","HeartFilledIcon","HeartIcon","ImageIcon","LocationDotIcon","MapIcon","PlusIcon","SearchIcon","SettingsIcon","StarFilledIcon","StarIcon","TrashIcon","UserIcon","XmarkIcon","SIZE_MAP","Wrapper","span","background","overflow","justifyContent","StyledImage","img","objectFit","FallbackIcon","Avatar","restProps","hasLoadedImage","jsx","alt","role","reactPropsRegex","isPropValid","prop","gap","scaleAndFade","keyframes","transform","Dot","animationDuration","animationTimingFunction","animationIterationCount","animationFillMode","animationDelay","ANIMATION_STAGGER_DELAY","animationName","LoadingDots","_jsxs","getVariantStyles","primary","secondary","tertiary","_d","ghost","_e","textDecoration","textUnderlineOffset","StyledButton","shouldForwardProp","variant","isFullWidth","flexShrink","WebkitTouchCallout","WebkitTapHighlightColor","userSelect","ButtonLoadingDots","TextContainer","isHidden","transition","whiteSpace","textOverflow","Button","as","isLoading","_f","isDisabled","hasHtmlDisabledProp","rest","shouldBeDisabled","jsxs","StyledDivider","orientation","borderCssKey","Divider","StyledHeading","numberOfLines","textAlign","margin","WebkitBoxOrient","WebkitLineClamp","Heading","ICON_SIZE_MAP","IconButton","ariaLabel","PULSE_ANIMATION","ImageWrapper","div","$width","$height","animationDirection","StyledImg","isVisible","breakpointsArray","entries","breakpoint","MEDIA_QUERIES","nextValue","media","getMatchingBreakpoint","matchingBreakpoint","find","window","matchMedia","matches","useBreakpoint","params","ssr","initialBreakpoint","currentBreakpoint","setCurrentBreakpoint","matchMediaArray","handleChange","mediaQuery","addListener","addEventListener","removeListener","removeEventListener","useSafeLayoutEffect","globalThis","useLayoutEffect","useReactId","React","toString","count","useStableId","fixedId","id","setId","reactId","useFormField","idProp","helperText","errorMessage","isInvalid","isRequired","errorMessageId","helperTextId","getLabelProps","useCallback","forwardedProps","htmlFor","getHelperTextProps","getErrorMessageProps","getFieldProps","ariaDescribedByIds","Boolean","StyledLabel","cursor","Label","onMouseDown","event","defaultPrevented","detail","preventDefault","StyledInput","InputBase","required","FieldWrapper","flexDirection","ErrorMessage","HelperText","TextField","getInputProps","helperTextNode","errorMessageNode","StyledLink","WebkitAppearance","Link","href","isExternal","externalProps","rel","StyledParagraph","Paragraph","SelectWrapper","SelectIconWrapper","pointerEvents","right","top","StyledSelect","select","SelectBase","placeholder","StyledTextarea","textarea","resize","minRows","baseStyles","paddingVertical","minHeight","paddingTop","paddingBottom","TextareaBase","SelectOption","SelectRoot","getSelectProps","Select","Option","Spacer","axis","resolvedSize","useTheme","style","StyledStack","direction","wrap","flexWrap","Stack","divider","resolvedChildren","filter","child","isValidElement","getValidChildren","validChildren","currentDivider","Fragment","Textarea","getTextareaProps","themeOverrides","resolvedTheme","CacheProvider","ThemeProvider","values","breakpointNames","breakpointValue"],"mappings":"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"}
|