@betterstore/react 0.3.16 → 0.3.18

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/index.mjs CHANGED
@@ -3383,7 +3383,7 @@ const createI18nInstance = (locale) => __awaiter(void 0, void 0, void 0, functio
3383
3383
  return instance;
3384
3384
  });
3385
3385
 
3386
- var M$1=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n);}),R(n);}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n);}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y);}catch(n){}};var x=React.createContext(void 0),U$1={setTheme:e=>{},themes:[]},z$1=()=>{var e;return (e=React.useContext(x))!=null?e:U$1};React.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return React.createElement("script",{...w,suppressHydrationWarning:true,nonce:typeof window=="undefined"?d:"",dangerouslySetInnerHTML:{__html:`(${M$1.toString()})(${p})`}})});
3386
+ var M$1=(e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n);}),R(n);}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n);}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y);}catch(n){}};var x=React.createContext(void 0),U$1={setTheme:e=>{},themes:[]},z=()=>{var e;return (e=React.useContext(x))!=null?e:U$1};React.memo(({forcedTheme:e,storageKey:i,attribute:s,enableSystem:u,enableColorScheme:m,defaultTheme:a,value:l,themes:h,nonce:d,scriptProps:w})=>{let p=JSON.stringify([s,i,a,e,h,l,u,m]).slice(1,-1);return React.createElement("script",{...w,suppressHydrationWarning:true,nonce:typeof window=="undefined"?d:"",dangerouslySetInnerHTML:{__html:`(${M$1.toString()})(${p})`}})});
3387
3387
 
3388
3388
  function __insertCSS(code) {
3389
3389
  if (typeof document == 'undefined') return
@@ -4504,7 +4504,7 @@ const Toaster$1 = /*#__PURE__*/ React__default.forwardRef(function Toaster(props
4504
4504
 
4505
4505
  const Toaster = (_a) => {
4506
4506
  var props = __rest(_a, []);
4507
- const { theme = "system" } = z$1();
4507
+ const { theme = "system" } = z();
4508
4508
  return (React__default.createElement(Toaster$1, Object.assign({ theme: theme, className: "toaster group", style: {
4509
4509
  "--normal-bg": "var(--popover)",
4510
4510
  "--normal-text": "var(--popover-foreground)",
@@ -14821,7 +14821,7 @@ const motion = /*@__PURE__*/ createDOMMotionComponentProxy(createMotionComponent
14821
14821
 
14822
14822
  var util;
14823
14823
  (function (util) {
14824
- util.assertEqual = (val) => val;
14824
+ util.assertEqual = (_) => { };
14825
14825
  function assertIs(_arg) { }
14826
14826
  util.assertIs = assertIs;
14827
14827
  function assertNever(_x) {
@@ -14868,11 +14868,9 @@ var util;
14868
14868
  };
14869
14869
  util.isInteger = typeof Number.isInteger === "function"
14870
14870
  ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban
14871
- : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val;
14871
+ : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
14872
14872
  function joinValues(array, separator = " | ") {
14873
- return array
14874
- .map((val) => (typeof val === "string" ? `'${val}'` : val))
14875
- .join(separator);
14873
+ return array.map((val) => (typeof val === "string" ? `'${val}'` : val)).join(separator);
14876
14874
  }
14877
14875
  util.joinValues = joinValues;
14878
14876
  util.jsonStringifyReplacer = (_, value) => {
@@ -14921,7 +14919,7 @@ const getParsedType = (data) => {
14921
14919
  case "string":
14922
14920
  return ZodParsedType.string;
14923
14921
  case "number":
14924
- return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
14922
+ return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
14925
14923
  case "boolean":
14926
14924
  return ZodParsedType.boolean;
14927
14925
  case "function":
@@ -14937,10 +14935,7 @@ const getParsedType = (data) => {
14937
14935
  if (data === null) {
14938
14936
  return ZodParsedType.null;
14939
14937
  }
14940
- if (data.then &&
14941
- typeof data.then === "function" &&
14942
- data.catch &&
14943
- typeof data.catch === "function") {
14938
+ if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
14944
14939
  return ZodParsedType.promise;
14945
14940
  }
14946
14941
  if (typeof Map !== "undefined" && data instanceof Map) {
@@ -14976,10 +14971,6 @@ const ZodIssueCode = util.arrayToEnum([
14976
14971
  "not_multiple_of",
14977
14972
  "not_finite",
14978
14973
  ]);
14979
- const quotelessJson = (obj) => {
14980
- const json = JSON.stringify(obj, null, 2);
14981
- return json.replace(/"([^"]+)":/g, "$1:");
14982
- };
14983
14974
  class ZodError extends Error {
14984
14975
  get errors() {
14985
14976
  return this.issues;
@@ -15156,17 +15147,9 @@ const errorMap = (issue, _ctx) => {
15156
15147
  else if (issue.type === "string")
15157
15148
  message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;
15158
15149
  else if (issue.type === "number")
15159
- message = `Number must be ${issue.exact
15160
- ? `exactly equal to `
15161
- : issue.inclusive
15162
- ? `greater than or equal to `
15163
- : `greater than `}${issue.minimum}`;
15150
+ message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
15164
15151
  else if (issue.type === "date")
15165
- message = `Date must be ${issue.exact
15166
- ? `exactly equal to `
15167
- : issue.inclusive
15168
- ? `greater than or equal to `
15169
- : `greater than `}${new Date(Number(issue.minimum))}`;
15152
+ message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;
15170
15153
  else
15171
15154
  message = "Invalid input";
15172
15155
  break;
@@ -15176,23 +15159,11 @@ const errorMap = (issue, _ctx) => {
15176
15159
  else if (issue.type === "string")
15177
15160
  message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;
15178
15161
  else if (issue.type === "number")
15179
- message = `Number must be ${issue.exact
15180
- ? `exactly`
15181
- : issue.inclusive
15182
- ? `less than or equal to`
15183
- : `less than`} ${issue.maximum}`;
15162
+ message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
15184
15163
  else if (issue.type === "bigint")
15185
- message = `BigInt must be ${issue.exact
15186
- ? `exactly`
15187
- : issue.inclusive
15188
- ? `less than or equal to`
15189
- : `less than`} ${issue.maximum}`;
15164
+ message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
15190
15165
  else if (issue.type === "date")
15191
- message = `Date must be ${issue.exact
15192
- ? `exactly`
15193
- : issue.inclusive
15194
- ? `smaller than or equal to`
15195
- : `smaller than`} ${new Date(Number(issue.maximum))}`;
15166
+ message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;
15196
15167
  else
15197
15168
  message = "Invalid input";
15198
15169
  break;
@@ -15216,9 +15187,6 @@ const errorMap = (issue, _ctx) => {
15216
15187
  };
15217
15188
 
15218
15189
  let overrideErrorMap = errorMap;
15219
- function setErrorMap(map) {
15220
- overrideErrorMap = map;
15221
- }
15222
15190
  function getErrorMap() {
15223
15191
  return overrideErrorMap;
15224
15192
  }
@@ -15251,7 +15219,6 @@ const makeIssue = (params) => {
15251
15219
  message: errorMessage,
15252
15220
  };
15253
15221
  };
15254
- const EMPTY_PATH = [];
15255
15222
  function addIssueToContext(ctx, issueData) {
15256
15223
  const overrideMap = getErrorMap();
15257
15224
  const issue = makeIssue({
@@ -15314,8 +15281,7 @@ class ParseStatus {
15314
15281
  status.dirty();
15315
15282
  if (value.status === "dirty")
15316
15283
  status.dirty();
15317
- if (key.value !== "__proto__" &&
15318
- (typeof value.value !== "undefined" || pair.alwaysSet)) {
15284
+ if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
15319
15285
  finalObject[key.value] = value.value;
15320
15286
  }
15321
15287
  }
@@ -15332,42 +15298,24 @@ const isDirty = (x) => x.status === "dirty";
15332
15298
  const isValid = (x) => x.status === "valid";
15333
15299
  const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
15334
15300
 
15335
- /******************************************************************************
15336
- Copyright (c) Microsoft Corporation.
15337
-
15338
- Permission to use, copy, modify, and/or distribute this software for any
15339
- purpose with or without fee is hereby granted.
15340
-
15341
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15342
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15343
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15344
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15345
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15346
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15347
- PERFORMANCE OF THIS SOFTWARE.
15348
- ***************************************************************************** */
15349
-
15350
- function __classPrivateFieldGet(receiver, state, kind, f) {
15351
- if (typeof state === "function" ? receiver !== state || true : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
15352
- return state.get(receiver);
15353
- }
15354
-
15355
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
15356
- if (typeof state === "function" ? receiver !== state || true : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
15357
- return (state.set(receiver, value)), value;
15358
- }
15359
-
15360
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
15361
- var e = new Error(message);
15362
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
15363
- };
15364
-
15365
15301
  var errorUtil;
15366
15302
  (function (errorUtil) {
15367
15303
  errorUtil.errToObj = (message) => typeof message === "string" ? { message } : message || {};
15368
- errorUtil.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message;
15304
+ // biome-ignore lint:
15305
+ errorUtil.toString = (message) => typeof message === "string" ? message : message?.message;
15369
15306
  })(errorUtil || (errorUtil = {}));
15370
15307
 
15308
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
15309
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
15310
+ 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");
15311
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15312
+ };
15313
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
15314
+ if (kind === "m") throw new TypeError("Private method is not writable");
15315
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15316
+ 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");
15317
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
15318
+ };
15371
15319
  var _ZodEnum_cache, _ZodNativeEnum_cache;
15372
15320
  class ParseInputLazyPath {
15373
15321
  constructor(parent, value, path, key) {
@@ -15379,7 +15327,7 @@ class ParseInputLazyPath {
15379
15327
  }
15380
15328
  get path() {
15381
15329
  if (!this._cachedPath.length) {
15382
- if (this._key instanceof Array) {
15330
+ if (Array.isArray(this._key)) {
15383
15331
  this._cachedPath.push(...this._path, ...this._key);
15384
15332
  }
15385
15333
  else {
@@ -15419,17 +15367,16 @@ function processCreateParams(params) {
15419
15367
  if (errorMap)
15420
15368
  return { errorMap: errorMap, description };
15421
15369
  const customMap = (iss, ctx) => {
15422
- var _a, _b;
15423
15370
  const { message } = params;
15424
15371
  if (iss.code === "invalid_enum_value") {
15425
- return { message: message !== null && message !== void 0 ? message : ctx.defaultError };
15372
+ return { message: message ?? ctx.defaultError };
15426
15373
  }
15427
15374
  if (typeof ctx.data === "undefined") {
15428
- return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };
15375
+ return { message: message ?? required_error ?? ctx.defaultError };
15429
15376
  }
15430
15377
  if (iss.code !== "invalid_type")
15431
15378
  return { message: ctx.defaultError };
15432
- return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };
15379
+ return { message: message ?? invalid_type_error ?? ctx.defaultError };
15433
15380
  };
15434
15381
  return { errorMap: customMap, description };
15435
15382
  }
@@ -15481,14 +15428,13 @@ class ZodType {
15481
15428
  throw result.error;
15482
15429
  }
15483
15430
  safeParse(data, params) {
15484
- var _a;
15485
15431
  const ctx = {
15486
15432
  common: {
15487
15433
  issues: [],
15488
- async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,
15489
- contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,
15434
+ async: params?.async ?? false,
15435
+ contextualErrorMap: params?.errorMap,
15490
15436
  },
15491
- path: (params === null || params === void 0 ? void 0 : params.path) || [],
15437
+ path: params?.path || [],
15492
15438
  schemaErrorMap: this._def.errorMap,
15493
15439
  parent: null,
15494
15440
  data,
@@ -15498,7 +15444,6 @@ class ZodType {
15498
15444
  return handleResult(ctx, result);
15499
15445
  }
15500
15446
  "~validate"(data) {
15501
- var _a, _b;
15502
15447
  const ctx = {
15503
15448
  common: {
15504
15449
  issues: [],
@@ -15522,7 +15467,7 @@ class ZodType {
15522
15467
  };
15523
15468
  }
15524
15469
  catch (err) {
15525
- if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes("encountered")) {
15470
+ if (err?.message?.toLowerCase()?.includes("encountered")) {
15526
15471
  this["~standard"].async = true;
15527
15472
  }
15528
15473
  ctx.common = {
@@ -15549,19 +15494,17 @@ class ZodType {
15549
15494
  const ctx = {
15550
15495
  common: {
15551
15496
  issues: [],
15552
- contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,
15497
+ contextualErrorMap: params?.errorMap,
15553
15498
  async: true,
15554
15499
  },
15555
- path: (params === null || params === void 0 ? void 0 : params.path) || [],
15500
+ path: params?.path || [],
15556
15501
  schemaErrorMap: this._def.errorMap,
15557
15502
  parent: null,
15558
15503
  data,
15559
15504
  parsedType: getParsedType(data),
15560
15505
  };
15561
15506
  const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });
15562
- const result = await (isAsync(maybeAsyncResult)
15563
- ? maybeAsyncResult
15564
- : Promise.resolve(maybeAsyncResult));
15507
+ const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
15565
15508
  return handleResult(ctx, result);
15566
15509
  }
15567
15510
  refine(check, message) {
@@ -15605,9 +15548,7 @@ class ZodType {
15605
15548
  refinement(check, refinementData) {
15606
15549
  return this._refinement((val, ctx) => {
15607
15550
  if (!check(val)) {
15608
- ctx.addIssue(typeof refinementData === "function"
15609
- ? refinementData(val, ctx)
15610
- : refinementData);
15551
+ ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
15611
15552
  return false;
15612
15553
  }
15613
15554
  else {
@@ -15824,13 +15765,15 @@ function isValidJWT(jwt, alg) {
15824
15765
  const decoded = JSON.parse(atob(base64));
15825
15766
  if (typeof decoded !== "object" || decoded === null)
15826
15767
  return false;
15827
- if (!decoded.typ || !decoded.alg)
15768
+ if ("typ" in decoded && decoded?.typ !== "JWT")
15769
+ return false;
15770
+ if (!decoded.alg)
15828
15771
  return false;
15829
15772
  if (alg && decoded.alg !== alg)
15830
15773
  return false;
15831
15774
  return true;
15832
15775
  }
15833
- catch (_a) {
15776
+ catch {
15834
15777
  return false;
15835
15778
  }
15836
15779
  }
@@ -16001,7 +15944,7 @@ class ZodString extends ZodType {
16001
15944
  try {
16002
15945
  new URL(input.data);
16003
15946
  }
16004
- catch (_a) {
15947
+ catch {
16005
15948
  ctx = this._getOrReturnCtx(input, ctx);
16006
15949
  addIssueToContext(ctx, {
16007
15950
  validation: "url",
@@ -16231,7 +16174,6 @@ class ZodString extends ZodType {
16231
16174
  return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options) });
16232
16175
  }
16233
16176
  datetime(options) {
16234
- var _a, _b;
16235
16177
  if (typeof options === "string") {
16236
16178
  return this._addCheck({
16237
16179
  kind: "datetime",
@@ -16243,10 +16185,10 @@ class ZodString extends ZodType {
16243
16185
  }
16244
16186
  return this._addCheck({
16245
16187
  kind: "datetime",
16246
- precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision,
16247
- offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,
16248
- local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false,
16249
- ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),
16188
+ precision: typeof options?.precision === "undefined" ? null : options?.precision,
16189
+ offset: options?.offset ?? false,
16190
+ local: options?.local ?? false,
16191
+ ...errorUtil.errToObj(options?.message),
16250
16192
  });
16251
16193
  }
16252
16194
  date(message) {
@@ -16262,8 +16204,8 @@ class ZodString extends ZodType {
16262
16204
  }
16263
16205
  return this._addCheck({
16264
16206
  kind: "time",
16265
- precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision,
16266
- ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),
16207
+ precision: typeof options?.precision === "undefined" ? null : options?.precision,
16208
+ ...errorUtil.errToObj(options?.message),
16267
16209
  });
16268
16210
  }
16269
16211
  duration(message) {
@@ -16280,8 +16222,8 @@ class ZodString extends ZodType {
16280
16222
  return this._addCheck({
16281
16223
  kind: "includes",
16282
16224
  value: value,
16283
- position: options === null || options === void 0 ? void 0 : options.position,
16284
- ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),
16225
+ position: options?.position,
16226
+ ...errorUtil.errToObj(options?.message),
16285
16227
  });
16286
16228
  }
16287
16229
  startsWith(value, message) {
@@ -16414,11 +16356,10 @@ class ZodString extends ZodType {
16414
16356
  }
16415
16357
  }
16416
16358
  ZodString.create = (params) => {
16417
- var _a;
16418
16359
  return new ZodString({
16419
16360
  checks: [],
16420
16361
  typeName: ZodFirstPartyTypeKind.ZodString,
16421
- coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,
16362
+ coerce: params?.coerce ?? false,
16422
16363
  ...processCreateParams(params),
16423
16364
  });
16424
16365
  };
@@ -16427,9 +16368,9 @@ function floatSafeRemainder(val, step) {
16427
16368
  const valDecCount = (val.toString().split(".")[1] || "").length;
16428
16369
  const stepDecCount = (step.toString().split(".")[1] || "").length;
16429
16370
  const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
16430
- const valInt = parseInt(val.toFixed(decCount).replace(".", ""));
16431
- const stepInt = parseInt(step.toFixed(decCount).replace(".", ""));
16432
- return (valInt % stepInt) / Math.pow(10, decCount);
16371
+ const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
16372
+ const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
16373
+ return (valInt % stepInt) / 10 ** decCount;
16433
16374
  }
16434
16375
  class ZodNumber extends ZodType {
16435
16376
  constructor() {
@@ -16468,9 +16409,7 @@ class ZodNumber extends ZodType {
16468
16409
  }
16469
16410
  }
16470
16411
  else if (check.kind === "min") {
16471
- const tooSmall = check.inclusive
16472
- ? input.data < check.value
16473
- : input.data <= check.value;
16412
+ const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
16474
16413
  if (tooSmall) {
16475
16414
  ctx = this._getOrReturnCtx(input, ctx);
16476
16415
  addIssueToContext(ctx, {
@@ -16485,9 +16424,7 @@ class ZodNumber extends ZodType {
16485
16424
  }
16486
16425
  }
16487
16426
  else if (check.kind === "max") {
16488
- const tooBig = check.inclusive
16489
- ? input.data > check.value
16490
- : input.data >= check.value;
16427
+ const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
16491
16428
  if (tooBig) {
16492
16429
  ctx = this._getOrReturnCtx(input, ctx);
16493
16430
  addIssueToContext(ctx, {
@@ -16645,15 +16582,13 @@ class ZodNumber extends ZodType {
16645
16582
  return max;
16646
16583
  }
16647
16584
  get isInt() {
16648
- return !!this._def.checks.find((ch) => ch.kind === "int" ||
16649
- (ch.kind === "multipleOf" && util.isInteger(ch.value)));
16585
+ return !!this._def.checks.find((ch) => ch.kind === "int" || (ch.kind === "multipleOf" && util.isInteger(ch.value)));
16650
16586
  }
16651
16587
  get isFinite() {
16652
- let max = null, min = null;
16588
+ let max = null;
16589
+ let min = null;
16653
16590
  for (const ch of this._def.checks) {
16654
- if (ch.kind === "finite" ||
16655
- ch.kind === "int" ||
16656
- ch.kind === "multipleOf") {
16591
+ if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
16657
16592
  return true;
16658
16593
  }
16659
16594
  else if (ch.kind === "min") {
@@ -16672,7 +16607,7 @@ ZodNumber.create = (params) => {
16672
16607
  return new ZodNumber({
16673
16608
  checks: [],
16674
16609
  typeName: ZodFirstPartyTypeKind.ZodNumber,
16675
- coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
16610
+ coerce: params?.coerce || false,
16676
16611
  ...processCreateParams(params),
16677
16612
  });
16678
16613
  };
@@ -16687,7 +16622,7 @@ class ZodBigInt extends ZodType {
16687
16622
  try {
16688
16623
  input.data = BigInt(input.data);
16689
16624
  }
16690
- catch (_a) {
16625
+ catch {
16691
16626
  return this._getInvalidInput(input);
16692
16627
  }
16693
16628
  }
@@ -16699,9 +16634,7 @@ class ZodBigInt extends ZodType {
16699
16634
  const status = new ParseStatus();
16700
16635
  for (const check of this._def.checks) {
16701
16636
  if (check.kind === "min") {
16702
- const tooSmall = check.inclusive
16703
- ? input.data < check.value
16704
- : input.data <= check.value;
16637
+ const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
16705
16638
  if (tooSmall) {
16706
16639
  ctx = this._getOrReturnCtx(input, ctx);
16707
16640
  addIssueToContext(ctx, {
@@ -16715,9 +16648,7 @@ class ZodBigInt extends ZodType {
16715
16648
  }
16716
16649
  }
16717
16650
  else if (check.kind === "max") {
16718
- const tooBig = check.inclusive
16719
- ? input.data > check.value
16720
- : input.data >= check.value;
16651
+ const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
16721
16652
  if (tooBig) {
16722
16653
  ctx = this._getOrReturnCtx(input, ctx);
16723
16654
  addIssueToContext(ctx, {
@@ -16849,11 +16780,10 @@ class ZodBigInt extends ZodType {
16849
16780
  }
16850
16781
  }
16851
16782
  ZodBigInt.create = (params) => {
16852
- var _a;
16853
16783
  return new ZodBigInt({
16854
16784
  checks: [],
16855
16785
  typeName: ZodFirstPartyTypeKind.ZodBigInt,
16856
- coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,
16786
+ coerce: params?.coerce ?? false,
16857
16787
  ...processCreateParams(params),
16858
16788
  });
16859
16789
  };
@@ -16878,7 +16808,7 @@ class ZodBoolean extends ZodType {
16878
16808
  ZodBoolean.create = (params) => {
16879
16809
  return new ZodBoolean({
16880
16810
  typeName: ZodFirstPartyTypeKind.ZodBoolean,
16881
- coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
16811
+ coerce: params?.coerce || false,
16882
16812
  ...processCreateParams(params),
16883
16813
  });
16884
16814
  };
@@ -16897,7 +16827,7 @@ class ZodDate extends ZodType {
16897
16827
  });
16898
16828
  return INVALID;
16899
16829
  }
16900
- if (isNaN(input.data.getTime())) {
16830
+ if (Number.isNaN(input.data.getTime())) {
16901
16831
  const ctx = this._getOrReturnCtx(input);
16902
16832
  addIssueToContext(ctx, {
16903
16833
  code: ZodIssueCode.invalid_date,
@@ -16988,7 +16918,7 @@ class ZodDate extends ZodType {
16988
16918
  ZodDate.create = (params) => {
16989
16919
  return new ZodDate({
16990
16920
  checks: [],
16991
- coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,
16921
+ coerce: params?.coerce || false,
16992
16922
  typeName: ZodFirstPartyTypeKind.ZodDate,
16993
16923
  ...processCreateParams(params),
16994
16924
  });
@@ -17310,7 +17240,8 @@ class ZodObject extends ZodType {
17310
17240
  return this._cached;
17311
17241
  const shape = this._def.shape();
17312
17242
  const keys = util.objectKeys(shape);
17313
- return (this._cached = { shape, keys });
17243
+ this._cached = { shape, keys };
17244
+ return this._cached;
17314
17245
  }
17315
17246
  _parse(input) {
17316
17247
  const parsedType = this._getType(input);
@@ -17326,8 +17257,7 @@ class ZodObject extends ZodType {
17326
17257
  const { status, ctx } = this._processInputParams(input);
17327
17258
  const { shape, keys: shapeKeys } = this._getCached();
17328
17259
  const extraKeys = [];
17329
- if (!(this._def.catchall instanceof ZodNever &&
17330
- this._def.unknownKeys === "strip")) {
17260
+ if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) {
17331
17261
  for (const key in ctx.data) {
17332
17262
  if (!shapeKeys.includes(key)) {
17333
17263
  extraKeys.push(key);
@@ -17415,11 +17345,10 @@ class ZodObject extends ZodType {
17415
17345
  ...(message !== undefined
17416
17346
  ? {
17417
17347
  errorMap: (issue, ctx) => {
17418
- var _a, _b, _c, _d;
17419
- const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;
17348
+ const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
17420
17349
  if (issue.code === "unrecognized_keys")
17421
17350
  return {
17422
- message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,
17351
+ message: errorUtil.errToObj(message).message ?? defaultError,
17423
17352
  };
17424
17353
  return {
17425
17354
  message: defaultError,
@@ -17551,11 +17480,11 @@ class ZodObject extends ZodType {
17551
17480
  }
17552
17481
  pick(mask) {
17553
17482
  const shape = {};
17554
- util.objectKeys(mask).forEach((key) => {
17483
+ for (const key of util.objectKeys(mask)) {
17555
17484
  if (mask[key] && this.shape[key]) {
17556
17485
  shape[key] = this.shape[key];
17557
17486
  }
17558
- });
17487
+ }
17559
17488
  return new ZodObject({
17560
17489
  ...this._def,
17561
17490
  shape: () => shape,
@@ -17563,11 +17492,11 @@ class ZodObject extends ZodType {
17563
17492
  }
17564
17493
  omit(mask) {
17565
17494
  const shape = {};
17566
- util.objectKeys(this.shape).forEach((key) => {
17495
+ for (const key of util.objectKeys(this.shape)) {
17567
17496
  if (!mask[key]) {
17568
17497
  shape[key] = this.shape[key];
17569
17498
  }
17570
- });
17499
+ }
17571
17500
  return new ZodObject({
17572
17501
  ...this._def,
17573
17502
  shape: () => shape,
@@ -17581,7 +17510,7 @@ class ZodObject extends ZodType {
17581
17510
  }
17582
17511
  partial(mask) {
17583
17512
  const newShape = {};
17584
- util.objectKeys(this.shape).forEach((key) => {
17513
+ for (const key of util.objectKeys(this.shape)) {
17585
17514
  const fieldSchema = this.shape[key];
17586
17515
  if (mask && !mask[key]) {
17587
17516
  newShape[key] = fieldSchema;
@@ -17589,7 +17518,7 @@ class ZodObject extends ZodType {
17589
17518
  else {
17590
17519
  newShape[key] = fieldSchema.optional();
17591
17520
  }
17592
- });
17521
+ }
17593
17522
  return new ZodObject({
17594
17523
  ...this._def,
17595
17524
  shape: () => newShape,
@@ -17597,7 +17526,7 @@ class ZodObject extends ZodType {
17597
17526
  }
17598
17527
  required(mask) {
17599
17528
  const newShape = {};
17600
- util.objectKeys(this.shape).forEach((key) => {
17529
+ for (const key of util.objectKeys(this.shape)) {
17601
17530
  if (mask && !mask[key]) {
17602
17531
  newShape[key] = this.shape[key];
17603
17532
  }
@@ -17609,7 +17538,7 @@ class ZodObject extends ZodType {
17609
17538
  }
17610
17539
  newShape[key] = newField;
17611
17540
  }
17612
- });
17541
+ }
17613
17542
  return new ZodObject({
17614
17543
  ...this._def,
17615
17544
  shape: () => newShape,
@@ -17742,137 +17671,6 @@ ZodUnion.create = (types, params) => {
17742
17671
  ...processCreateParams(params),
17743
17672
  });
17744
17673
  };
17745
- /////////////////////////////////////////////////////
17746
- /////////////////////////////////////////////////////
17747
- ////////// //////////
17748
- ////////// ZodDiscriminatedUnion //////////
17749
- ////////// //////////
17750
- /////////////////////////////////////////////////////
17751
- /////////////////////////////////////////////////////
17752
- const getDiscriminator = (type) => {
17753
- if (type instanceof ZodLazy) {
17754
- return getDiscriminator(type.schema);
17755
- }
17756
- else if (type instanceof ZodEffects) {
17757
- return getDiscriminator(type.innerType());
17758
- }
17759
- else if (type instanceof ZodLiteral) {
17760
- return [type.value];
17761
- }
17762
- else if (type instanceof ZodEnum) {
17763
- return type.options;
17764
- }
17765
- else if (type instanceof ZodNativeEnum) {
17766
- // eslint-disable-next-line ban/ban
17767
- return util.objectValues(type.enum);
17768
- }
17769
- else if (type instanceof ZodDefault) {
17770
- return getDiscriminator(type._def.innerType);
17771
- }
17772
- else if (type instanceof ZodUndefined) {
17773
- return [undefined];
17774
- }
17775
- else if (type instanceof ZodNull) {
17776
- return [null];
17777
- }
17778
- else if (type instanceof ZodOptional) {
17779
- return [undefined, ...getDiscriminator(type.unwrap())];
17780
- }
17781
- else if (type instanceof ZodNullable) {
17782
- return [null, ...getDiscriminator(type.unwrap())];
17783
- }
17784
- else if (type instanceof ZodBranded) {
17785
- return getDiscriminator(type.unwrap());
17786
- }
17787
- else if (type instanceof ZodReadonly) {
17788
- return getDiscriminator(type.unwrap());
17789
- }
17790
- else if (type instanceof ZodCatch) {
17791
- return getDiscriminator(type._def.innerType);
17792
- }
17793
- else {
17794
- return [];
17795
- }
17796
- };
17797
- class ZodDiscriminatedUnion extends ZodType {
17798
- _parse(input) {
17799
- const { ctx } = this._processInputParams(input);
17800
- if (ctx.parsedType !== ZodParsedType.object) {
17801
- addIssueToContext(ctx, {
17802
- code: ZodIssueCode.invalid_type,
17803
- expected: ZodParsedType.object,
17804
- received: ctx.parsedType,
17805
- });
17806
- return INVALID;
17807
- }
17808
- const discriminator = this.discriminator;
17809
- const discriminatorValue = ctx.data[discriminator];
17810
- const option = this.optionsMap.get(discriminatorValue);
17811
- if (!option) {
17812
- addIssueToContext(ctx, {
17813
- code: ZodIssueCode.invalid_union_discriminator,
17814
- options: Array.from(this.optionsMap.keys()),
17815
- path: [discriminator],
17816
- });
17817
- return INVALID;
17818
- }
17819
- if (ctx.common.async) {
17820
- return option._parseAsync({
17821
- data: ctx.data,
17822
- path: ctx.path,
17823
- parent: ctx,
17824
- });
17825
- }
17826
- else {
17827
- return option._parseSync({
17828
- data: ctx.data,
17829
- path: ctx.path,
17830
- parent: ctx,
17831
- });
17832
- }
17833
- }
17834
- get discriminator() {
17835
- return this._def.discriminator;
17836
- }
17837
- get options() {
17838
- return this._def.options;
17839
- }
17840
- get optionsMap() {
17841
- return this._def.optionsMap;
17842
- }
17843
- /**
17844
- * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.
17845
- * However, it only allows a union of objects, all of which need to share a discriminator property. This property must
17846
- * have a different value for each object in the union.
17847
- * @param discriminator the name of the discriminator property
17848
- * @param types an array of object schemas
17849
- * @param params
17850
- */
17851
- static create(discriminator, options, params) {
17852
- // Get all the valid discriminator values
17853
- const optionsMap = new Map();
17854
- // try {
17855
- for (const type of options) {
17856
- const discriminatorValues = getDiscriminator(type.shape[discriminator]);
17857
- if (!discriminatorValues.length) {
17858
- throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);
17859
- }
17860
- for (const value of discriminatorValues) {
17861
- if (optionsMap.has(value)) {
17862
- throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);
17863
- }
17864
- optionsMap.set(value, type);
17865
- }
17866
- }
17867
- return new ZodDiscriminatedUnion({
17868
- typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,
17869
- discriminator,
17870
- options,
17871
- optionsMap,
17872
- ...processCreateParams(params),
17873
- });
17874
- }
17875
- }
17876
17674
  function mergeValues(a, b) {
17877
17675
  const aType = getParsedType(a);
17878
17676
  const bType = getParsedType(b);
@@ -17881,9 +17679,7 @@ function mergeValues(a, b) {
17881
17679
  }
17882
17680
  else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {
17883
17681
  const bKeys = util.objectKeys(b);
17884
- const sharedKeys = util
17885
- .objectKeys(a)
17886
- .filter((key) => bKeys.indexOf(key) !== -1);
17682
+ const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
17887
17683
  const newObj = { ...a, ...b };
17888
17684
  for (const key of sharedKeys) {
17889
17685
  const sharedValue = mergeValues(a[key], b[key]);
@@ -17910,9 +17706,7 @@ function mergeValues(a, b) {
17910
17706
  }
17911
17707
  return { valid: true, data: newArray };
17912
17708
  }
17913
- else if (aType === ZodParsedType.date &&
17914
- bType === ZodParsedType.date &&
17915
- +a === +b) {
17709
+ else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {
17916
17710
  return { valid: true, data: a };
17917
17711
  }
17918
17712
  else {
@@ -17973,6 +17767,7 @@ ZodIntersection.create = (left, right, params) => {
17973
17767
  ...processCreateParams(params),
17974
17768
  });
17975
17769
  };
17770
+ // type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];
17976
17771
  class ZodTuple extends ZodType {
17977
17772
  _parse(input) {
17978
17773
  const { status, ctx } = this._processInputParams(input);
@@ -18043,60 +17838,6 @@ ZodTuple.create = (schemas, params) => {
18043
17838
  ...processCreateParams(params),
18044
17839
  });
18045
17840
  };
18046
- class ZodRecord extends ZodType {
18047
- get keySchema() {
18048
- return this._def.keyType;
18049
- }
18050
- get valueSchema() {
18051
- return this._def.valueType;
18052
- }
18053
- _parse(input) {
18054
- const { status, ctx } = this._processInputParams(input);
18055
- if (ctx.parsedType !== ZodParsedType.object) {
18056
- addIssueToContext(ctx, {
18057
- code: ZodIssueCode.invalid_type,
18058
- expected: ZodParsedType.object,
18059
- received: ctx.parsedType,
18060
- });
18061
- return INVALID;
18062
- }
18063
- const pairs = [];
18064
- const keyType = this._def.keyType;
18065
- const valueType = this._def.valueType;
18066
- for (const key in ctx.data) {
18067
- pairs.push({
18068
- key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),
18069
- value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),
18070
- alwaysSet: key in ctx.data,
18071
- });
18072
- }
18073
- if (ctx.common.async) {
18074
- return ParseStatus.mergeObjectAsync(status, pairs);
18075
- }
18076
- else {
18077
- return ParseStatus.mergeObjectSync(status, pairs);
18078
- }
18079
- }
18080
- get element() {
18081
- return this._def.valueType;
18082
- }
18083
- static create(first, second, third) {
18084
- if (second instanceof ZodType) {
18085
- return new ZodRecord({
18086
- keyType: first,
18087
- valueType: second,
18088
- typeName: ZodFirstPartyTypeKind.ZodRecord,
18089
- ...processCreateParams(third),
18090
- });
18091
- }
18092
- return new ZodRecord({
18093
- keyType: ZodString.create(),
18094
- valueType: first,
18095
- typeName: ZodFirstPartyTypeKind.ZodRecord,
18096
- ...processCreateParams(second),
18097
- });
18098
- }
18099
- }
18100
17841
  class ZodMap extends ZodType {
18101
17842
  get keySchema() {
18102
17843
  return this._def.keyType;
@@ -18250,134 +17991,6 @@ ZodSet.create = (valueType, params) => {
18250
17991
  ...processCreateParams(params),
18251
17992
  });
18252
17993
  };
18253
- class ZodFunction extends ZodType {
18254
- constructor() {
18255
- super(...arguments);
18256
- this.validate = this.implement;
18257
- }
18258
- _parse(input) {
18259
- const { ctx } = this._processInputParams(input);
18260
- if (ctx.parsedType !== ZodParsedType.function) {
18261
- addIssueToContext(ctx, {
18262
- code: ZodIssueCode.invalid_type,
18263
- expected: ZodParsedType.function,
18264
- received: ctx.parsedType,
18265
- });
18266
- return INVALID;
18267
- }
18268
- function makeArgsIssue(args, error) {
18269
- return makeIssue({
18270
- data: args,
18271
- path: ctx.path,
18272
- errorMaps: [
18273
- ctx.common.contextualErrorMap,
18274
- ctx.schemaErrorMap,
18275
- getErrorMap(),
18276
- errorMap,
18277
- ].filter((x) => !!x),
18278
- issueData: {
18279
- code: ZodIssueCode.invalid_arguments,
18280
- argumentsError: error,
18281
- },
18282
- });
18283
- }
18284
- function makeReturnsIssue(returns, error) {
18285
- return makeIssue({
18286
- data: returns,
18287
- path: ctx.path,
18288
- errorMaps: [
18289
- ctx.common.contextualErrorMap,
18290
- ctx.schemaErrorMap,
18291
- getErrorMap(),
18292
- errorMap,
18293
- ].filter((x) => !!x),
18294
- issueData: {
18295
- code: ZodIssueCode.invalid_return_type,
18296
- returnTypeError: error,
18297
- },
18298
- });
18299
- }
18300
- const params = { errorMap: ctx.common.contextualErrorMap };
18301
- const fn = ctx.data;
18302
- if (this._def.returns instanceof ZodPromise) {
18303
- // Would love a way to avoid disabling this rule, but we need
18304
- // an alias (using an arrow function was what caused 2651).
18305
- // eslint-disable-next-line @typescript-eslint/no-this-alias
18306
- const me = this;
18307
- return OK(async function (...args) {
18308
- const error = new ZodError([]);
18309
- const parsedArgs = await me._def.args
18310
- .parseAsync(args, params)
18311
- .catch((e) => {
18312
- error.addIssue(makeArgsIssue(args, e));
18313
- throw error;
18314
- });
18315
- const result = await Reflect.apply(fn, this, parsedArgs);
18316
- const parsedReturns = await me._def.returns._def.type
18317
- .parseAsync(result, params)
18318
- .catch((e) => {
18319
- error.addIssue(makeReturnsIssue(result, e));
18320
- throw error;
18321
- });
18322
- return parsedReturns;
18323
- });
18324
- }
18325
- else {
18326
- // Would love a way to avoid disabling this rule, but we need
18327
- // an alias (using an arrow function was what caused 2651).
18328
- // eslint-disable-next-line @typescript-eslint/no-this-alias
18329
- const me = this;
18330
- return OK(function (...args) {
18331
- const parsedArgs = me._def.args.safeParse(args, params);
18332
- if (!parsedArgs.success) {
18333
- throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);
18334
- }
18335
- const result = Reflect.apply(fn, this, parsedArgs.data);
18336
- const parsedReturns = me._def.returns.safeParse(result, params);
18337
- if (!parsedReturns.success) {
18338
- throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);
18339
- }
18340
- return parsedReturns.data;
18341
- });
18342
- }
18343
- }
18344
- parameters() {
18345
- return this._def.args;
18346
- }
18347
- returnType() {
18348
- return this._def.returns;
18349
- }
18350
- args(...items) {
18351
- return new ZodFunction({
18352
- ...this._def,
18353
- args: ZodTuple.create(items).rest(ZodUnknown.create()),
18354
- });
18355
- }
18356
- returns(returnType) {
18357
- return new ZodFunction({
18358
- ...this._def,
18359
- returns: returnType,
18360
- });
18361
- }
18362
- implement(func) {
18363
- const validatedFunc = this.parse(func);
18364
- return validatedFunc;
18365
- }
18366
- strictImplement(func) {
18367
- const validatedFunc = this.parse(func);
18368
- return validatedFunc;
18369
- }
18370
- static create(args, returns, params) {
18371
- return new ZodFunction({
18372
- args: (args
18373
- ? args
18374
- : ZodTuple.create([]).rest(ZodUnknown.create())),
18375
- returns: returns || ZodUnknown.create(),
18376
- typeName: ZodFirstPartyTypeKind.ZodFunction,
18377
- ...processCreateParams(params),
18378
- });
18379
- }
18380
- }
18381
17994
  class ZodLazy extends ZodType {
18382
17995
  get schema() {
18383
17996
  return this._def.getter();
@@ -18442,10 +18055,10 @@ class ZodEnum extends ZodType {
18442
18055
  });
18443
18056
  return INVALID;
18444
18057
  }
18445
- if (!__classPrivateFieldGet(this, _ZodEnum_cache)) {
18446
- __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values));
18058
+ if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f")) {
18059
+ __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), "f");
18447
18060
  }
18448
- if (!__classPrivateFieldGet(this, _ZodEnum_cache).has(input.data)) {
18061
+ if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f").has(input.data)) {
18449
18062
  const ctx = this._getOrReturnCtx(input);
18450
18063
  const expectedValues = this._def.values;
18451
18064
  addIssueToContext(ctx, {
@@ -18504,8 +18117,7 @@ class ZodNativeEnum extends ZodType {
18504
18117
  _parse(input) {
18505
18118
  const nativeEnumValues = util.getValidEnumValues(this._def.values);
18506
18119
  const ctx = this._getOrReturnCtx(input);
18507
- if (ctx.parsedType !== ZodParsedType.string &&
18508
- ctx.parsedType !== ZodParsedType.number) {
18120
+ if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {
18509
18121
  const expectedValues = util.objectValues(nativeEnumValues);
18510
18122
  addIssueToContext(ctx, {
18511
18123
  expected: util.joinValues(expectedValues),
@@ -18514,10 +18126,10 @@ class ZodNativeEnum extends ZodType {
18514
18126
  });
18515
18127
  return INVALID;
18516
18128
  }
18517
- if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache)) {
18518
- __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)));
18129
+ if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f")) {
18130
+ __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), "f");
18519
18131
  }
18520
- if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache).has(input.data)) {
18132
+ if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f").has(input.data)) {
18521
18133
  const expectedValues = util.objectValues(nativeEnumValues);
18522
18134
  addIssueToContext(ctx, {
18523
18135
  received: ctx.data,
@@ -18546,8 +18158,7 @@ class ZodPromise extends ZodType {
18546
18158
  }
18547
18159
  _parse(input) {
18548
18160
  const { ctx } = this._processInputParams(input);
18549
- if (ctx.parsedType !== ZodParsedType.promise &&
18550
- ctx.common.async === false) {
18161
+ if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
18551
18162
  addIssueToContext(ctx, {
18552
18163
  code: ZodIssueCode.invalid_type,
18553
18164
  expected: ZodParsedType.promise,
@@ -18555,9 +18166,7 @@ class ZodPromise extends ZodType {
18555
18166
  });
18556
18167
  return INVALID;
18557
18168
  }
18558
- const promisified = ctx.parsedType === ZodParsedType.promise
18559
- ? ctx.data
18560
- : Promise.resolve(ctx.data);
18169
+ const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
18561
18170
  return OK(promisified.then((data) => {
18562
18171
  return this._def.type.parseAsync(data, {
18563
18172
  path: ctx.path,
@@ -18663,9 +18272,7 @@ class ZodEffects extends ZodType {
18663
18272
  return { status: status.value, value: inner.value };
18664
18273
  }
18665
18274
  else {
18666
- return this._def.schema
18667
- ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })
18668
- .then((inner) => {
18275
+ return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {
18669
18276
  if (inner.status === "aborted")
18670
18277
  return INVALID;
18671
18278
  if (inner.status === "dirty")
@@ -18692,12 +18299,13 @@ class ZodEffects extends ZodType {
18692
18299
  return { status: status.value, value: result };
18693
18300
  }
18694
18301
  else {
18695
- return this._def.schema
18696
- ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })
18697
- .then((base) => {
18302
+ return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
18698
18303
  if (!isValid(base))
18699
18304
  return base;
18700
- return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));
18305
+ return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
18306
+ status: status.value,
18307
+ value: result,
18308
+ }));
18701
18309
  });
18702
18310
  }
18703
18311
  }
@@ -18779,9 +18387,7 @@ ZodDefault.create = (type, params) => {
18779
18387
  return new ZodDefault({
18780
18388
  innerType: type,
18781
18389
  typeName: ZodFirstPartyTypeKind.ZodDefault,
18782
- defaultValue: typeof params.default === "function"
18783
- ? params.default
18784
- : () => params.default,
18390
+ defaultValue: typeof params.default === "function" ? params.default : () => params.default,
18785
18391
  ...processCreateParams(params),
18786
18392
  });
18787
18393
  };
@@ -18865,7 +18471,6 @@ ZodNaN.create = (params) => {
18865
18471
  ...processCreateParams(params),
18866
18472
  });
18867
18473
  };
18868
- const BRAND = Symbol("zod_brand");
18869
18474
  class ZodBranded extends ZodType {
18870
18475
  _parse(input) {
18871
18476
  const { ctx } = this._processInputParams(input);
@@ -18947,9 +18552,7 @@ class ZodReadonly extends ZodType {
18947
18552
  }
18948
18553
  return data;
18949
18554
  };
18950
- return isAsync(result)
18951
- ? result.then((data) => freeze(data))
18952
- : freeze(result);
18555
+ return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);
18953
18556
  }
18954
18557
  unwrap() {
18955
18558
  return this._def.innerType;
@@ -18962,60 +18565,6 @@ ZodReadonly.create = (type, params) => {
18962
18565
  ...processCreateParams(params),
18963
18566
  });
18964
18567
  };
18965
- ////////////////////////////////////////
18966
- ////////////////////////////////////////
18967
- ////////// //////////
18968
- ////////// z.custom //////////
18969
- ////////// //////////
18970
- ////////////////////////////////////////
18971
- ////////////////////////////////////////
18972
- function cleanParams(params, data) {
18973
- const p = typeof params === "function"
18974
- ? params(data)
18975
- : typeof params === "string"
18976
- ? { message: params }
18977
- : params;
18978
- const p2 = typeof p === "string" ? { message: p } : p;
18979
- return p2;
18980
- }
18981
- function custom(check, _params = {},
18982
- /**
18983
- * @deprecated
18984
- *
18985
- * Pass `fatal` into the params object instead:
18986
- *
18987
- * ```ts
18988
- * z.string().custom((val) => val.length > 5, { fatal: false })
18989
- * ```
18990
- *
18991
- */
18992
- fatal) {
18993
- if (check)
18994
- return ZodAny.create().superRefine((data, ctx) => {
18995
- var _a, _b;
18996
- const r = check(data);
18997
- if (r instanceof Promise) {
18998
- return r.then((r) => {
18999
- var _a, _b;
19000
- if (!r) {
19001
- const params = cleanParams(_params, data);
19002
- const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;
19003
- ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
19004
- }
19005
- });
19006
- }
19007
- if (!r) {
19008
- const params = cleanParams(_params, data);
19009
- const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;
19010
- ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
19011
- }
19012
- return;
19013
- });
19014
- return ZodAny.create();
19015
- }
19016
- const late = {
19017
- object: ZodObject.lazycreate,
19018
- };
19019
18568
  var ZodFirstPartyTypeKind;
19020
18569
  (function (ZodFirstPartyTypeKind) {
19021
18570
  ZodFirstPartyTypeKind["ZodString"] = "ZodString";
@@ -19055,203 +18604,52 @@ var ZodFirstPartyTypeKind;
19055
18604
  ZodFirstPartyTypeKind["ZodPipeline"] = "ZodPipeline";
19056
18605
  ZodFirstPartyTypeKind["ZodReadonly"] = "ZodReadonly";
19057
18606
  })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
19058
- const instanceOfType = (
19059
- // const instanceOfType = <T extends new (...args: any[]) => any>(
19060
- cls, params = {
19061
- message: `Input not instance of ${cls.name}`,
19062
- }) => custom((data) => data instanceof cls, params);
19063
18607
  const stringType = ZodString.create;
19064
18608
  const numberType = ZodNumber.create;
19065
- const nanType = ZodNaN.create;
19066
- const bigIntType = ZodBigInt.create;
19067
18609
  const booleanType = ZodBoolean.create;
19068
- const dateType = ZodDate.create;
19069
- const symbolType = ZodSymbol.create;
19070
- const undefinedType = ZodUndefined.create;
19071
- const nullType = ZodNull.create;
19072
- const anyType = ZodAny.create;
19073
- const unknownType = ZodUnknown.create;
19074
- const neverType = ZodNever.create;
19075
- const voidType = ZodVoid.create;
19076
- const arrayType = ZodArray.create;
18610
+ ZodNever.create;
18611
+ ZodArray.create;
19077
18612
  const objectType = ZodObject.create;
19078
- const strictObjectType = ZodObject.strictCreate;
19079
- const unionType = ZodUnion.create;
19080
- const discriminatedUnionType = ZodDiscriminatedUnion.create;
19081
- const intersectionType = ZodIntersection.create;
19082
- const tupleType = ZodTuple.create;
19083
- const recordType = ZodRecord.create;
19084
- const mapType = ZodMap.create;
19085
- const setType = ZodSet.create;
19086
- const functionType = ZodFunction.create;
19087
- const lazyType = ZodLazy.create;
19088
- const literalType = ZodLiteral.create;
19089
- const enumType = ZodEnum.create;
19090
- const nativeEnumType = ZodNativeEnum.create;
19091
- const promiseType = ZodPromise.create;
19092
- const effectsType = ZodEffects.create;
19093
- const optionalType = ZodOptional.create;
19094
- const nullableType = ZodNullable.create;
19095
- const preprocessType = ZodEffects.createWithPreprocess;
19096
- const pipelineType = ZodPipeline.create;
19097
- const ostring = () => stringType().optional();
19098
- const onumber = () => numberType().optional();
19099
- const oboolean = () => booleanType().optional();
19100
- const coerce = {
19101
- string: ((arg) => ZodString.create({ ...arg, coerce: true })),
19102
- number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),
19103
- boolean: ((arg) => ZodBoolean.create({
19104
- ...arg,
19105
- coerce: true,
19106
- })),
19107
- bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),
19108
- date: ((arg) => ZodDate.create({ ...arg, coerce: true })),
19109
- };
19110
- const NEVER = INVALID;
19111
-
19112
- var z = /*#__PURE__*/Object.freeze({
19113
- __proto__: null,
19114
- defaultErrorMap: errorMap,
19115
- setErrorMap: setErrorMap,
19116
- getErrorMap: getErrorMap,
19117
- makeIssue: makeIssue,
19118
- EMPTY_PATH: EMPTY_PATH,
19119
- addIssueToContext: addIssueToContext,
19120
- ParseStatus: ParseStatus,
19121
- INVALID: INVALID,
19122
- DIRTY: DIRTY,
19123
- OK: OK,
19124
- isAborted: isAborted,
19125
- isDirty: isDirty,
19126
- isValid: isValid,
19127
- isAsync: isAsync,
19128
- get util () { return util; },
19129
- get objectUtil () { return objectUtil; },
19130
- ZodParsedType: ZodParsedType,
19131
- getParsedType: getParsedType,
19132
- ZodType: ZodType,
19133
- datetimeRegex: datetimeRegex,
19134
- ZodString: ZodString,
19135
- ZodNumber: ZodNumber,
19136
- ZodBigInt: ZodBigInt,
19137
- ZodBoolean: ZodBoolean,
19138
- ZodDate: ZodDate,
19139
- ZodSymbol: ZodSymbol,
19140
- ZodUndefined: ZodUndefined,
19141
- ZodNull: ZodNull,
19142
- ZodAny: ZodAny,
19143
- ZodUnknown: ZodUnknown,
19144
- ZodNever: ZodNever,
19145
- ZodVoid: ZodVoid,
19146
- ZodArray: ZodArray,
19147
- ZodObject: ZodObject,
19148
- ZodUnion: ZodUnion,
19149
- ZodDiscriminatedUnion: ZodDiscriminatedUnion,
19150
- ZodIntersection: ZodIntersection,
19151
- ZodTuple: ZodTuple,
19152
- ZodRecord: ZodRecord,
19153
- ZodMap: ZodMap,
19154
- ZodSet: ZodSet,
19155
- ZodFunction: ZodFunction,
19156
- ZodLazy: ZodLazy,
19157
- ZodLiteral: ZodLiteral,
19158
- ZodEnum: ZodEnum,
19159
- ZodNativeEnum: ZodNativeEnum,
19160
- ZodPromise: ZodPromise,
19161
- ZodEffects: ZodEffects,
19162
- ZodTransformer: ZodEffects,
19163
- ZodOptional: ZodOptional,
19164
- ZodNullable: ZodNullable,
19165
- ZodDefault: ZodDefault,
19166
- ZodCatch: ZodCatch,
19167
- ZodNaN: ZodNaN,
19168
- BRAND: BRAND,
19169
- ZodBranded: ZodBranded,
19170
- ZodPipeline: ZodPipeline,
19171
- ZodReadonly: ZodReadonly,
19172
- custom: custom,
19173
- Schema: ZodType,
19174
- ZodSchema: ZodType,
19175
- late: late,
19176
- get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },
19177
- coerce: coerce,
19178
- any: anyType,
19179
- array: arrayType,
19180
- bigint: bigIntType,
19181
- boolean: booleanType,
19182
- date: dateType,
19183
- discriminatedUnion: discriminatedUnionType,
19184
- effect: effectsType,
19185
- 'enum': enumType,
19186
- 'function': functionType,
19187
- 'instanceof': instanceOfType,
19188
- intersection: intersectionType,
19189
- lazy: lazyType,
19190
- literal: literalType,
19191
- map: mapType,
19192
- nan: nanType,
19193
- nativeEnum: nativeEnumType,
19194
- never: neverType,
19195
- 'null': nullType,
19196
- nullable: nullableType,
19197
- number: numberType,
19198
- object: objectType,
19199
- oboolean: oboolean,
19200
- onumber: onumber,
19201
- optional: optionalType,
19202
- ostring: ostring,
19203
- pipeline: pipelineType,
19204
- preprocess: preprocessType,
19205
- promise: promiseType,
19206
- record: recordType,
19207
- set: setType,
19208
- strictObject: strictObjectType,
19209
- string: stringType,
19210
- symbol: symbolType,
19211
- transformer: effectsType,
19212
- tuple: tupleType,
19213
- 'undefined': undefinedType,
19214
- union: unionType,
19215
- unknown: unknownType,
19216
- 'void': voidType,
19217
- NEVER: NEVER,
19218
- ZodIssueCode: ZodIssueCode,
19219
- quotelessJson: quotelessJson,
19220
- ZodError: ZodError
19221
- });
18613
+ ZodUnion.create;
18614
+ ZodIntersection.create;
18615
+ ZodTuple.create;
18616
+ ZodEnum.create;
18617
+ ZodPromise.create;
18618
+ ZodOptional.create;
18619
+ ZodNullable.create;
19222
18620
 
19223
18621
  const phoneRegex = new RegExp(/^([+]?[\s0-9]+)?(\d{3}|[(]?[0-9]+[)])?([-]?[\s]?[0-9])+$/);
19224
18622
  // Shipping address schema
19225
- const customerSchema = z.object({
19226
- email: z.string().email("invalid_email"),
19227
- firstName: z.string().min(1, "required_error"),
19228
- lastName: z.string().min(1, "required_error"),
19229
- address: z.object({
19230
- line1: z.string().min(1, "required_error"),
19231
- line2: z.string().optional(),
19232
- city: z.string().min(1, "required_error"),
19233
- state: z.string().optional(),
19234
- zipCode: z.string().min(5, "invalid_zipCode"),
19235
- country: z.string().min(1, "required_error"),
19236
- countryCode: z.string().min(1, "required_error"),
18623
+ const customerSchema = objectType({
18624
+ email: stringType().email("invalid_email"),
18625
+ firstName: stringType().min(1, "required_error"),
18626
+ lastName: stringType().min(1, "required_error"),
18627
+ address: objectType({
18628
+ line1: stringType().min(1, "required_error"),
18629
+ line2: stringType().optional(),
18630
+ city: stringType().min(1, "required_error"),
18631
+ state: stringType().optional(),
18632
+ zipCode: stringType().min(5, "invalid_zipCode"),
18633
+ country: stringType().min(1, "required_error"),
18634
+ countryCode: stringType().min(1, "required_error"),
19237
18635
  }),
19238
- saveInfo: z.boolean().optional(),
19239
- phone: z.string().regex(phoneRegex, "invalid_phone"),
18636
+ saveInfo: booleanType().optional(),
18637
+ phone: stringType().regex(phoneRegex, "invalid_phone"),
19240
18638
  });
19241
18639
  // Shipping method schema
19242
- const shippingMethodSchema = z.object({
19243
- rateId: z.string().min(1, "required_error"),
19244
- provider: z.string().min(1, "required_error"),
19245
- price: z.number().min(1, "required_error"),
19246
- name: z.string().min(1, "required_error"),
19247
- pickupPointId: z.string().optional(),
19248
- pickupPointDisplayName: z.string().optional(),
18640
+ const shippingMethodSchema = objectType({
18641
+ rateId: stringType().min(1, "required_error"),
18642
+ provider: stringType().min(1, "required_error"),
18643
+ price: numberType().min(1, "required_error"),
18644
+ name: stringType().min(1, "required_error"),
18645
+ pickupPointId: stringType().optional(),
18646
+ pickupPointDisplayName: stringType().optional(),
19249
18647
  });
19250
18648
  // Combined checkout schema
19251
- z.object({
18649
+ objectType({
19252
18650
  customer: customerSchema,
19253
18651
  shipping: shippingMethodSchema,
19254
- customerId: z.string().optional(),
18652
+ customerId: stringType().optional(),
19255
18653
  });
19256
18654
 
19257
18655
  const formatAddress = (address) => {
@@ -35191,9 +34589,6 @@ const CheckoutForm$1 = ({ onSuccess, onError, children, setSubmitting, }) => {
35191
34589
  setSubmitting === null || setSubmitting === void 0 ? void 0 : setSubmitting(false);
35192
34590
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
35193
34591
  }
35194
- setErrorMessage(undefined);
35195
- setIsSubmitting(false);
35196
- setSubmitting === null || setSubmitting === void 0 ? void 0 : setSubmitting(false);
35197
34592
  });
35198
34593
  return (React__default.createElement("form", { onSubmit: handleSubmit },
35199
34594
  React__default.createElement("div", null,
@@ -35717,7 +35112,7 @@ function CheckoutSummary({ appliedDiscounts, lineItems, shipping, tax, currency,
35717
35112
  React__default.createElement("p", null, storeHelpers.formatPrice(tax, currency, exchangeRate)))),
35718
35113
  filteredDiscounts.map(({ discount, amount, id }) => {
35719
35114
  var _a;
35720
- return (React__default.createElement("div", { key: discount.id, className: "flex not-last:-mb-0.5 justify-between text-muted-foreground" },
35115
+ return (React__default.createElement("div", { key: discount.id, className: "flex justify-between text-muted-foreground" },
35721
35116
  React__default.createElement(DiscountItem, { id: id, removeDiscount: removeDiscount, label: (_a = ((discount === null || discount === void 0 ? void 0 : discount.code) || (discount === null || discount === void 0 ? void 0 : discount.title))) !== null && _a !== void 0 ? _a : "", canRemove: discount.method === "CODE" }),
35722
35117
  React__default.createElement("p", null,
35723
35118
  "- ",
@@ -35744,32 +35139,45 @@ function CheckoutSummary({ appliedDiscounts, lineItems, shipping, tax, currency,
35744
35139
  "hidden md:grid": !isOpen,
35745
35140
  grid: isOpen,
35746
35141
  }) }, lineItems.map((item, index) => {
35747
- var _a, _b, _c, _d, _e, _f, _g;
35748
- const productAppliedDiscounts = appliedDiscounts.filter(({ discount }) => discount.allowedProductIDs.includes(item.productData.productId));
35749
- const discount = productAppliedDiscounts.length > 0
35750
- ? productAppliedDiscounts.reduce((acc, curr) => {
35751
- return curr.amount > acc.amount ? curr : acc;
35752
- }, productAppliedDiscounts[0])
35142
+ var _a, _b, _c, _d, _e, _f;
35143
+ const finalItem = ((_a = item.productData) === null || _a === void 0 ? void 0 : _a.selectedVariant) || item.productData;
35144
+ const productAppliedDiscounts = appliedDiscounts.filter((discount) => discount.allowedLineItems.some((allowedLineItem) => allowedLineItem.productId === item.productData.productId));
35145
+ const formattedProductAppliedDiscounts = productAppliedDiscounts.map((discount) => {
35146
+ var _a;
35147
+ const elegibleLineItems = discount.allowedLineItems.find((allowedLineItem) => allowedLineItem.productId === item.productData.productId);
35148
+ if (!elegibleLineItems)
35149
+ return 0;
35150
+ const elegibleQuantity = elegibleLineItems.quantity;
35151
+ const elegibleTotalAmount = ((_a = finalItem === null || finalItem === void 0 ? void 0 : finalItem.priceInCents) !== null && _a !== void 0 ? _a : 0) * elegibleQuantity;
35152
+ if (discount.discount.valueType === "PERCENTAGE") {
35153
+ const percentage = discount.discount.value / 100;
35154
+ return elegibleTotalAmount * percentage;
35155
+ }
35156
+ return elegibleQuantity * discount.discount.value;
35157
+ });
35158
+ const totalDiscountAmount = formattedProductAppliedDiscounts.length > 0
35159
+ ? formattedProductAppliedDiscounts.reduce((acc, curr) => {
35160
+ return acc + curr;
35161
+ }, 0)
35753
35162
  : null;
35754
- const isDiscounted = !!discount;
35755
- const productItem = ((_a = item.productData) === null || _a === void 0 ? void 0 : _a.selectedVariant) || item.productData;
35756
- const discountedPrice = productItem.priceInCents - ((_b = discount === null || discount === void 0 ? void 0 : discount.amount) !== null && _b !== void 0 ? _b : 0);
35163
+ const isDiscounted = !!totalDiscountAmount;
35164
+ const discountedPrice = finalItem.priceInCents - (totalDiscountAmount !== null && totalDiscountAmount !== void 0 ? totalDiscountAmount : 0);
35757
35165
  return (React__default.createElement("div", { key: index, className: "flex items-center" },
35758
35166
  React__default.createElement("div", { className: "relative" },
35759
- React__default.createElement("div", { className: "w-16 h-16 bg-secondary rounded-lg overflow-hidden relative" }, (productItem === null || productItem === void 0 ? void 0 : productItem.images[0]) && (React__default.createElement("img", { src: productItem.images[0] ||
35760
- ((_c = item === null || item === void 0 ? void 0 : item.productData) === null || _c === void 0 ? void 0 : _c.images[0]) ||
35761
- "/placeholder.svg", alt: ((_d = item.productData) === null || _d === void 0 ? void 0 : _d.title) || "", className: "object-cover w-full h-full", sizes: "64px" }))),
35167
+ React__default.createElement("div", { className: "w-16 h-16 bg-secondary rounded-lg overflow-hidden relative" }, (finalItem === null || finalItem === void 0 ? void 0 : finalItem.images[0]) && (React__default.createElement("img", { src: finalItem.images[0] ||
35168
+ ((_b = item === null || item === void 0 ? void 0 : item.productData) === null || _b === void 0 ? void 0 : _b.images[0]) ||
35169
+ "/placeholder.svg", alt: ((_c = item.productData) === null || _c === void 0 ? void 0 : _c.title) || "", className: "object-cover w-full h-full", sizes: "64px" }))),
35762
35170
  React__default.createElement("div", { className: "absolute -top-2 -right-2 w-6 h-6 bg-primary rounded-full flex items-center text-background justify-center text-sm" }, item.quantity)),
35763
35171
  React__default.createElement("div", { className: "ml-4 flex-1" },
35764
- React__default.createElement("h3", { className: "text-lg font-medium" }, (_e = item.productData) === null || _e === void 0 ? void 0 : _e.title),
35172
+ React__default.createElement("h3", { className: "text-lg font-medium" }, (_d = item.productData) === null || _d === void 0 ? void 0 : _d.title),
35765
35173
  React__default.createElement("p", { className: "text-muted-foreground text-ellipsis line-clamp-1 md:max-w-[75%] text-sm" }, item.variantOptions
35766
35174
  .map((option) => `${option.name}: ${option.value}`)
35767
35175
  .join(", "))),
35768
35176
  React__default.createElement("div", { className: "text-right" }, isDiscounted ? (React__default.createElement("div", { className: "flex flex-col" },
35769
- React__default.createElement("p", { className: "text-sm font-medium -mb-0.5 line-through text-muted-foreground" }, storeHelpers.formatPrice((_f = productItem === null || productItem === void 0 ? void 0 : productItem.priceInCents) !== null && _f !== void 0 ? _f : 0, currency, exchangeRate)),
35177
+ React__default.createElement("p", { className: "text-sm font-medium -mb-0.5 line-through text-muted-foreground" }, storeHelpers.formatPrice((_e = finalItem === null || finalItem === void 0 ? void 0 : finalItem.priceInCents) !== null && _e !== void 0 ? _e : 0, currency, exchangeRate)),
35770
35178
  React__default.createElement("p", { className: "text-lg font-medium" }, discountedPrice <= 0
35771
35179
  ? t("CheckoutEmbed.Summary.free")
35772
- : storeHelpers.formatPrice(discountedPrice, currency, exchangeRate)))) : (React__default.createElement("p", { className: "text-lg font-medium" }, storeHelpers.formatPrice((_g = productItem === null || productItem === void 0 ? void 0 : productItem.priceInCents) !== null && _g !== void 0 ? _g : 0, currency, exchangeRate))))));
35180
+ : storeHelpers.formatPrice(discountedPrice, currency, exchangeRate)))) : (React__default.createElement("p", { className: "text-lg font-medium" }, storeHelpers.formatPrice((_f = finalItem === null || finalItem === void 0 ? void 0 : finalItem.priceInCents) !== null && _f !== void 0 ? _f : 0, currency, exchangeRate))))));
35773
35181
  }))));
35774
35182
  }
35775
35183
  function DiscountItem({ id, removeDiscount, label, canRemove, }) {
@@ -35954,7 +35362,7 @@ function styleInject(css, ref) {
35954
35362
  }
35955
35363
  }
35956
35364
 
35957
- var css_248z = "/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-lg: 32rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --tracking-widest: 0.1em;\n --radius-xs: 0.125rem;\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--bs-font-sans), Helvetica, Arial, apple-system, sans-serif;\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none !important;\n }\n .sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border-width: 0 !important;\n }\n .absolute {\n position: absolute !important;\n }\n .fixed {\n position: fixed !important;\n }\n .relative {\n position: relative !important;\n }\n .sticky {\n position: sticky !important;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0) !important;\n }\n .-top-2 {\n top: calc(var(--spacing) * -2) !important;\n }\n .top-0 {\n top: calc(var(--spacing) * 0) !important;\n }\n .top-0\\.5 {\n top: calc(var(--spacing) * 0.5) !important;\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%) !important;\n }\n .top-4 {\n top: calc(var(--spacing) * 4) !important;\n }\n .top-\\[50\\%\\] {\n top: 50% !important;\n }\n .-right-2 {\n right: calc(var(--spacing) * -2) !important;\n }\n .right-2 {\n right: calc(var(--spacing) * 2) !important;\n }\n .right-4 {\n right: calc(var(--spacing) * 4) !important;\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%) !important;\n }\n .left-2 {\n left: calc(var(--spacing) * 2) !important;\n }\n .left-\\[50\\%\\] {\n left: 50% !important;\n }\n .z-10 {\n z-index: 10 !important;\n }\n .z-50 {\n z-index: 50 !important;\n }\n .order-3 {\n order: 3 !important;\n }\n .order-4 {\n order: 4 !important;\n }\n .order-5 {\n order: 5 !important;\n }\n .order-6 {\n order: 6 !important;\n }\n .order-7 {\n order: 7 !important;\n }\n .order-first {\n order: -9999 !important;\n }\n .col-span-2 {\n grid-column: span 2 / span 2 !important;\n }\n .-m-0\\.5 {\n margin: calc(var(--spacing) * -0.5) !important;\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1) !important;\n }\n .mx-auto {\n margin-inline: auto !important;\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1) !important;\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2) !important;\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2) !important;\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8) !important;\n }\n .-mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * -0.5) !important;\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1) !important;\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2) !important;\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4) !important;\n }\n .ml-auto {\n margin-left: auto !important;\n }\n .line-clamp-1 {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n .block {\n display: block !important;\n }\n .flex {\n display: flex !important;\n }\n .grid {\n display: grid !important;\n }\n .hidden {\n display: none !important;\n }\n .inline-flex {\n display: inline-flex !important;\n }\n .aspect-square {\n aspect-ratio: 1 / 1 !important;\n }\n .size-2 {\n width: calc(var(--spacing) * 2) !important;\n height: calc(var(--spacing) * 2) !important;\n }\n .size-3 {\n width: calc(var(--spacing) * 3) !important;\n height: calc(var(--spacing) * 3) !important;\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5) !important;\n height: calc(var(--spacing) * 3.5) !important;\n }\n .size-4 {\n width: calc(var(--spacing) * 4) !important;\n height: calc(var(--spacing) * 4) !important;\n }\n .size-5 {\n width: calc(var(--spacing) * 5) !important;\n height: calc(var(--spacing) * 5) !important;\n }\n .size-9 {\n width: calc(var(--spacing) * 9) !important;\n height: calc(var(--spacing) * 9) !important;\n }\n .size-16 {\n width: calc(var(--spacing) * 16) !important;\n height: calc(var(--spacing) * 16) !important;\n }\n .h-3 {\n height: calc(var(--spacing) * 3) !important;\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5) !important;\n }\n .h-4 {\n height: calc(var(--spacing) * 4) !important;\n }\n .h-5 {\n height: calc(var(--spacing) * 5) !important;\n }\n .h-6 {\n height: calc(var(--spacing) * 6) !important;\n }\n .h-8 {\n height: calc(var(--spacing) * 8) !important;\n }\n .h-9 {\n height: calc(var(--spacing) * 9) !important;\n }\n .h-10 {\n height: calc(var(--spacing) * 10) !important;\n }\n .h-12 {\n height: calc(var(--spacing) * 12) !important;\n }\n .h-16 {\n height: calc(var(--spacing) * 16) !important;\n }\n .h-\\[18px\\] {\n height: 18px !important;\n }\n .h-\\[20px\\] {\n height: 20px !important;\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height) !important;\n }\n .h-auto {\n height: auto !important;\n }\n .h-auto\\! {\n height: auto !important;\n }\n .h-full {\n height: 100% !important;\n }\n .h-px {\n height: 1px !important;\n }\n .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height) !important;\n }\n .max-h-96 {\n max-height: calc(var(--spacing) * 96) !important;\n }\n .max-h-\\[200px\\] {\n max-height: 200px !important;\n }\n .max-h-\\[300px\\] {\n max-height: 300px !important;\n }\n .min-h-full {\n min-height: 100% !important;\n }\n .min-h-screen {\n min-height: 100vh !important;\n }\n .w-0 {\n width: calc(var(--spacing) * 0) !important;\n }\n .w-4 {\n width: calc(var(--spacing) * 4) !important;\n }\n .w-5 {\n width: calc(var(--spacing) * 5) !important;\n }\n .w-6 {\n width: calc(var(--spacing) * 6) !important;\n }\n .w-10 {\n width: calc(var(--spacing) * 10) !important;\n }\n .w-12 {\n width: calc(var(--spacing) * 12) !important;\n }\n .w-16 {\n width: calc(var(--spacing) * 16) !important;\n }\n .w-20 {\n width: calc(var(--spacing) * 20) !important;\n }\n .w-24 {\n width: calc(var(--spacing) * 24) !important;\n }\n .w-28 {\n width: calc(var(--spacing) * 28) !important;\n }\n .w-32 {\n width: calc(var(--spacing) * 32) !important;\n }\n .w-40 {\n width: calc(var(--spacing) * 40) !important;\n }\n .w-72 {\n width: calc(var(--spacing) * 72) !important;\n }\n .w-fit {\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .w-full {\n width: 100% !important;\n }\n .max-w-\\[1200px\\] {\n max-width: 1200px !important;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem) !important;\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0) !important;\n }\n .min-w-\\[--radix-popper-anchor-width\\] {\n min-width: --radix-popper-anchor-width !important;\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem !important;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width) !important;\n }\n .flex-1 {\n flex: 1 !important;\n }\n .shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-grow {\n flex-grow: 1 !important;\n }\n .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin) !important;\n }\n .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin) !important;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50% !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50% !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .rotate-180 {\n rotate: 180deg !important;\n }\n .transform-none\\! {\n transform: none !important;\n }\n .animate-pulse {\n animation: var(--animate-pulse) !important;\n }\n .animate-spin {\n animation: var(--animate-spin) !important;\n }\n .cursor-default {\n cursor: default !important;\n }\n .cursor-pointer {\n cursor: pointer !important;\n }\n .scroll-my-1 {\n scroll-margin-block: calc(var(--spacing) * 1) !important;\n }\n .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1) !important;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n }\n .flex-col {\n flex-direction: column !important;\n }\n .flex-col-reverse {\n flex-direction: column-reverse !important;\n }\n .items-center {\n align-items: center !important;\n }\n .justify-between {\n justify-content: space-between !important;\n }\n .justify-center {\n justify-content: center !important;\n }\n .justify-end {\n justify-content: flex-end !important;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0) !important;\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5) !important;\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5) !important;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2) !important;\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3) !important;\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4) !important;\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5) !important;\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6) !important;\n }\n .gap-\\[10px\\] {\n gap: 10px !important;\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0 !important;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)) !important;\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))) !important;\n }\n }\n .overflow-hidden {\n overflow: hidden !important;\n }\n .overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .overflow-y-auto {\n overflow-y: auto !important;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px !important;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px) !important;\n }\n .rounded-lg {\n border-radius: var(--bs-radius) !important;\n }\n .rounded-md {\n border-radius: calc(var(--bs-radius) - 2px) !important;\n }\n .rounded-sm {\n border-radius: calc(var(--bs-radius) - 4px) !important;\n }\n .rounded-xs {\n border-radius: var(--radius-xs) !important;\n }\n .border {\n border-style: var(--tw-border-style) !important;\n border-width: 1px !important;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style) !important;\n border-bottom-width: 1px !important;\n }\n .border-input {\n border-color: var(--bs-input) !important;\n }\n .border-primary {\n border-color: var(--bs-primary) !important;\n }\n .bg-accent {\n background-color: var(--bs-accent) !important;\n }\n .bg-background {\n background-color: var(--bs-background) !important;\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent) !important;\n }\n }\n .bg-border {\n background-color: var(--bs-border) !important;\n }\n .bg-destructive {\n background-color: var(--bs-destructive) !important;\n }\n .bg-muted {\n background-color: var(--bs-muted) !important;\n }\n .bg-popover {\n background-color: var(--bs-popover) !important;\n }\n .bg-primary {\n background-color: var(--bs-primary) !important;\n }\n .bg-secondary {\n background-color: var(--bs-secondary) !important;\n }\n .bg-transparent {\n background-color: transparent !important;\n }\n .fill-current {\n fill: currentcolor !important;\n }\n .fill-primary {\n fill: var(--bs-primary) !important;\n }\n .object-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0) !important;\n }\n .p-1 {\n padding: calc(var(--spacing) * 1) !important;\n }\n .p-4 {\n padding: calc(var(--spacing) * 4) !important;\n }\n .p-6 {\n padding: calc(var(--spacing) * 6) !important;\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3) !important;\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4) !important;\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6) !important;\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1) !important;\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5) !important;\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2) !important;\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3) !important;\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4) !important;\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6) !important;\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2) !important;\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4) !important;\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8) !important;\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2) !important;\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8) !important;\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1) !important;\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2) !important;\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2) !important;\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8) !important;\n }\n .text-center {\n text-align: center !important;\n }\n .text-right {\n text-align: right !important;\n }\n .text-base {\n font-size: var(--text-base) !important;\n line-height: var(--tw-leading, var(--text-base--line-height)) !important;\n }\n .text-lg {\n font-size: var(--text-lg) !important;\n line-height: var(--tw-leading, var(--text-lg--line-height)) !important;\n }\n .text-sm {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n .text-xs {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading, var(--text-xs--line-height)) !important;\n }\n .leading-none {\n --tw-leading: 1 !important;\n line-height: 1 !important;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold) !important;\n font-weight: var(--font-weight-bold) !important;\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold) !important;\n font-weight: var(--font-weight-semibold) !important;\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest) !important;\n letter-spacing: var(--tracking-widest) !important;\n }\n .text-ellipsis {\n text-overflow: ellipsis !important;\n }\n .whitespace-nowrap {\n white-space: nowrap !important;\n }\n .text-background {\n color: var(--bs-background) !important;\n }\n .text-current {\n color: currentcolor !important;\n }\n .text-destructive {\n color: var(--bs-destructive) !important;\n }\n .text-destructive-foreground {\n color: var(--bs-destructive-foreground) !important;\n }\n .text-foreground {\n color: var(--bs-foreground) !important;\n }\n .text-muted-foreground {\n color: var(--bs-muted-foreground) !important;\n }\n .text-popover-foreground {\n color: var(--bs-popover-foreground) !important;\n }\n .text-primary {\n color: var(--bs-primary) !important;\n }\n .text-primary-foreground {\n color: var(--bs-primary-foreground) !important;\n }\n .text-red-500 {\n color: var(--color-red-500) !important;\n }\n .text-secondary-foreground {\n color: var(--bs-secondary-foreground) !important;\n }\n .text-white {\n color: var(--color-white) !important;\n }\n .line-through {\n text-decoration-line: line-through !important;\n }\n .underline-offset-4 {\n text-underline-offset: 4px !important;\n }\n .opacity-0 {\n opacity: 0% !important;\n }\n .opacity-50 {\n opacity: 50% !important;\n }\n .opacity-70 {\n opacity: 70% !important;\n }\n .opacity-100 {\n opacity: 100% !important;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--bs-background) !important;\n }\n .outline-hidden {\n --tw-outline-style: none !important;\n outline-style: none !important;\n @media (forced-colors: active) {\n outline: 2px solid transparent !important;\n outline-offset: 2px !important;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style) !important;\n outline-width: 1px !important;\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-opacity {\n transition-property: opacity !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-shadow {\n transition-property: box-shadow !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-none {\n transition-property: none !important;\n }\n .duration-200 {\n --tw-duration: 200ms !important;\n transition-duration: 200ms !important;\n }\n .outline-none {\n --tw-outline-style: none !important;\n outline-style: none !important;\n }\n .select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n }\n .duration-200 {\n animation-duration: 200ms !important;\n }\n .not-last\\:-mb-0\\.5 {\n &:not(*:last-child) {\n margin-bottom: calc(var(--spacing) * -0.5) !important;\n }\n }\n .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none !important;\n }\n }\n .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50% !important;\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed !important;\n }\n }\n .peer-disabled\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50% !important;\n }\n }\n .selection\\:bg-primary {\n & *::-moz-selection {\n background-color: var(--bs-primary) !important;\n }\n & *::selection {\n background-color: var(--bs-primary) !important;\n }\n &::-moz-selection {\n background-color: var(--bs-primary) !important;\n }\n &::selection {\n background-color: var(--bs-primary) !important;\n }\n }\n .selection\\:text-primary-foreground {\n & *::-moz-selection {\n color: var(--bs-primary-foreground) !important;\n }\n & *::selection {\n color: var(--bs-primary-foreground) !important;\n }\n &::-moz-selection {\n color: var(--bs-primary-foreground) !important;\n }\n &::selection {\n color: var(--bs-primary-foreground) !important;\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex !important;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7) !important;\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent !important;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n }\n .file\\:text-foreground {\n &::file-selector-button {\n color: var(--bs-foreground) !important;\n }\n }\n .placeholder\\:text-muted-foreground {\n &::-moz-placeholder {\n color: var(--bs-muted-foreground) !important;\n }\n &::placeholder {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-accent) !important;\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 90%, transparent) !important;\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-muted) !important;\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-primary) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-primary) 90%, transparent) !important;\n }\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-secondary) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-secondary) 80%, transparent) !important;\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--bs-accent-foreground) !important;\n }\n }\n }\n .hover\\:text-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--bs-foreground) !important;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline !important;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100% !important;\n }\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--bs-accent) !important;\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--bs-ring) !important;\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px !important;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none !important;\n outline-style: none !important;\n @media (forced-colors: active) {\n outline: 2px solid transparent !important;\n outline-offset: 2px !important;\n }\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none !important;\n outline-style: none !important;\n }\n }\n .focus-visible\\:border-ring {\n &:focus-visible {\n border-color: var(--bs-ring) !important;\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n .focus-visible\\:ring-ring\\/50 {\n &:focus-visible {\n --tw-ring-color: var(--bs-ring) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-ring) 50%, transparent) !important;\n }\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none !important;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed !important;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50% !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-2\\.5 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 2.5) !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 3) !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 4) !important;\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--bs-destructive) !important;\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none !important;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50% !important;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none !important;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50% !important;\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive-foreground {\n &[data-error=\"true\"] {\n color: var(--bs-destructive-foreground) !important;\n }\n }\n .data-\\[inset\\]\\:pl-8 {\n &[data-inset] {\n padding-left: calc(var(--spacing) * 8) !important;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .data-\\[selected\\=true\\]\\:bg-accent {\n &[data-selected=\"true\"] {\n background-color: var(--bs-accent) !important;\n }\n }\n .data-\\[selected\\=true\\]\\:text-accent-foreground {\n &[data-selected=\"true\"] {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem !important;\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem !important;\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem !important;\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem !important;\n }\n }\n .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 {\n :is(& *) {\n &[data-slot=\"command-input-wrapper\"] {\n height: calc(var(--spacing) * 12) !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1 {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:flex {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n display: flex !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:items-center {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n align-items: center !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:gap-2 {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n gap: calc(var(--spacing) * 2) !important;\n }\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--bs-primary) !important;\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--bs-primary) !important;\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--bs-primary-foreground) !important;\n }\n }\n .data-\\[state\\=closed\\]\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit !important;\n animation-duration: 150ms !important;\n --tw-exit-opacity: initial !important;\n --tw-exit-scale: initial !important;\n --tw-exit-rotate: initial !important;\n --tw-exit-translate-x: initial !important;\n --tw-exit-translate-y: initial !important;\n }\n }\n .data-\\[state\\=closed\\]\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0 !important;\n }\n }\n .data-\\[state\\=closed\\]\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95 !important;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--bs-accent) !important;\n }\n }\n .data-\\[state\\=open\\]\\:text-accent-foreground {\n &[data-state=\"open\"] {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .data-\\[state\\=open\\]\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter !important;\n animation-duration: 150ms !important;\n --tw-enter-opacity: initial !important;\n --tw-enter-scale: initial !important;\n --tw-enter-rotate: initial !important;\n --tw-enter-translate-x: initial !important;\n --tw-enter-translate-y: initial !important;\n }\n }\n .data-\\[state\\=open\\]\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0 !important;\n }\n }\n .data-\\[state\\=open\\]\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95 !important;\n }\n }\n .data-\\[variant\\=destructive\\]\\:text-destructive {\n &[data-variant=\"destructive\"] {\n color: var(--bs-destructive) !important;\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 10%, transparent) !important;\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n &[data-variant=\"destructive\"] {\n &:focus {\n color: var(--bs-destructive) !important;\n }\n }\n }\n .max-sm\\:hidden {\n @media (width < 40rem) {\n display: none !important;\n }\n }\n .sm\\:max-h-\\[270px\\] {\n @media (width >= 40rem) {\n max-height: 270px !important;\n }\n }\n .sm\\:max-w-\\[500px\\] {\n @media (width >= 40rem) {\n max-width: 500px !important;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg) !important;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row !important;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end !important;\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left !important;\n }\n }\n .md\\:order-last {\n @media (width >= 48rem) {\n order: 9999 !important;\n }\n }\n .md\\:order-none {\n @media (width >= 48rem) {\n order: 0 !important;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2 !important;\n }\n }\n .md\\:col-span-3 {\n @media (width >= 48rem) {\n grid-column: span 3 / span 3 !important;\n }\n }\n .md\\:col-span-4 {\n @media (width >= 48rem) {\n grid-column: span 4 / span 4 !important;\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block !important;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex !important;\n }\n }\n .md\\:grid {\n @media (width >= 48rem) {\n display: grid !important;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none !important;\n }\n }\n .md\\:max-w-\\[75\\%\\] {\n @media (width >= 48rem) {\n max-width: 75% !important;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n }\n }\n .md\\:grid-cols-7 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(7, minmax(0, 1fr)) !important;\n }\n }\n .md\\:gap-0 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 0) !important;\n }\n }\n .md\\:px-8 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 8) !important;\n }\n }\n .md\\:py-12 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 12) !important;\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 40%, transparent) !important;\n }\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 40%, transparent) !important;\n }\n }\n }\n }\n .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 {\n & [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 {\n & [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs {\n & [cmdk-group-heading] {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading, var(--text-xs--line-height)) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium {\n & [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground {\n & [cmdk-group-heading] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\]\\:px-2 {\n & [cmdk-group] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 {\n & [cmdk-group]:not([hidden]) ~[cmdk-group] {\n padding-top: calc(var(--spacing) * 0) !important;\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 {\n & [cmdk-input-wrapper] svg {\n height: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 {\n & [cmdk-input-wrapper] svg {\n width: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-input\\]\\]\\:h-12 {\n & [cmdk-input] {\n height: calc(var(--spacing) * 12) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:px-2 {\n & [cmdk-item] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:py-3 {\n & [cmdk-item] {\n padding-block: calc(var(--spacing) * 3) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 {\n & [cmdk-item] svg {\n height: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 {\n & [cmdk-item] svg {\n width: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none !important;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0 !important;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4) !important;\n height: calc(var(--spacing) * 4) !important;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground {\n & svg:not([class*='text-']) {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .\\*\\:\\[span\\]\\:last\\:flex {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n display: flex !important;\n }\n }\n }\n }\n .\\*\\:\\[span\\]\\:last\\:items-center {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n align-items: center !important;\n }\n }\n }\n }\n .\\*\\:\\[span\\]\\:last\\:gap-2 {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n gap: calc(var(--spacing) * 2) !important;\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive {\n &[data-variant=\"destructive\"] {\n :is(& > *) {\n &:is(svg) {\n color: var(--bs-destructive) !important;\n }\n }\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n }\n}\n.checkout-embed {\n :root {\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --destructive-foreground: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n --ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n --radius: 0.625rem;\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.145 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.97 0 0);\n --sidebar-accent-foreground: oklch(0.205 0 0);\n --sidebar-border: oklch(0.922 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n }\n @layer base {\n * {\n border-color: var(--bs-border) !important;\n outline-color: var(--bs-ring) !important;\n @supports (color: color-mix(in lab, red, red)) {\n outline-color: color-mix(in oklab, var(--bs-ring) 50%, transparent) !important;\n }\n }\n .checkout-embed {\n background-color: var(--bs-background) !important;\n font-family: var(--bs-font-sans), Helvetica, Arial, apple-system, sans-serif !important;\n color: var(--bs-foreground) !important;\n }\n h2 {\n font-size: var(--text-2xl) !important;\n line-height: var(--tw-leading, var(--text-2xl--line-height)) !important;\n --tw-font-weight: var(--font-weight-bold) !important;\n font-weight: var(--font-weight-bold) !important;\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n p {\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n }\n @layer utilities {\n .scrollbar-hidden {\n scrollbar-width: none;\n }\n .scrollbar-hidden::-webkit-scrollbar {\n display: none;\n }\n }\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n }\n }\n}\n";
35365
+ var css_248z = "/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-lg: 32rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --tracking-widest: 0.1em;\n --radius-xs: 0.125rem;\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--bs-font-sans), Helvetica, Arial, apple-system, sans-serif;\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none !important;\n }\n .sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border-width: 0 !important;\n }\n .absolute {\n position: absolute !important;\n }\n .fixed {\n position: fixed !important;\n }\n .relative {\n position: relative !important;\n }\n .sticky {\n position: sticky !important;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0) !important;\n }\n .-top-2 {\n top: calc(var(--spacing) * -2) !important;\n }\n .top-0 {\n top: calc(var(--spacing) * 0) !important;\n }\n .top-0\\.5 {\n top: calc(var(--spacing) * 0.5) !important;\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%) !important;\n }\n .top-4 {\n top: calc(var(--spacing) * 4) !important;\n }\n .top-\\[50\\%\\] {\n top: 50% !important;\n }\n .-right-2 {\n right: calc(var(--spacing) * -2) !important;\n }\n .right-2 {\n right: calc(var(--spacing) * 2) !important;\n }\n .right-4 {\n right: calc(var(--spacing) * 4) !important;\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%) !important;\n }\n .left-2 {\n left: calc(var(--spacing) * 2) !important;\n }\n .left-\\[50\\%\\] {\n left: 50% !important;\n }\n .z-10 {\n z-index: 10 !important;\n }\n .z-50 {\n z-index: 50 !important;\n }\n .order-3 {\n order: 3 !important;\n }\n .order-4 {\n order: 4 !important;\n }\n .order-5 {\n order: 5 !important;\n }\n .order-6 {\n order: 6 !important;\n }\n .order-7 {\n order: 7 !important;\n }\n .order-first {\n order: -9999 !important;\n }\n .col-span-2 {\n grid-column: span 2 / span 2 !important;\n }\n .-m-0\\.5 {\n margin: calc(var(--spacing) * -0.5) !important;\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1) !important;\n }\n .mx-auto {\n margin-inline: auto !important;\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1) !important;\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2) !important;\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2) !important;\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8) !important;\n }\n .-mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * -0.5) !important;\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1) !important;\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2) !important;\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4) !important;\n }\n .ml-auto {\n margin-left: auto !important;\n }\n .line-clamp-1 {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n .block {\n display: block !important;\n }\n .flex {\n display: flex !important;\n }\n .grid {\n display: grid !important;\n }\n .hidden {\n display: none !important;\n }\n .inline-flex {\n display: inline-flex !important;\n }\n .aspect-square {\n aspect-ratio: 1 / 1 !important;\n }\n .size-2 {\n width: calc(var(--spacing) * 2) !important;\n height: calc(var(--spacing) * 2) !important;\n }\n .size-3 {\n width: calc(var(--spacing) * 3) !important;\n height: calc(var(--spacing) * 3) !important;\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5) !important;\n height: calc(var(--spacing) * 3.5) !important;\n }\n .size-4 {\n width: calc(var(--spacing) * 4) !important;\n height: calc(var(--spacing) * 4) !important;\n }\n .size-5 {\n width: calc(var(--spacing) * 5) !important;\n height: calc(var(--spacing) * 5) !important;\n }\n .size-9 {\n width: calc(var(--spacing) * 9) !important;\n height: calc(var(--spacing) * 9) !important;\n }\n .size-16 {\n width: calc(var(--spacing) * 16) !important;\n height: calc(var(--spacing) * 16) !important;\n }\n .h-3 {\n height: calc(var(--spacing) * 3) !important;\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5) !important;\n }\n .h-4 {\n height: calc(var(--spacing) * 4) !important;\n }\n .h-5 {\n height: calc(var(--spacing) * 5) !important;\n }\n .h-6 {\n height: calc(var(--spacing) * 6) !important;\n }\n .h-8 {\n height: calc(var(--spacing) * 8) !important;\n }\n .h-9 {\n height: calc(var(--spacing) * 9) !important;\n }\n .h-10 {\n height: calc(var(--spacing) * 10) !important;\n }\n .h-12 {\n height: calc(var(--spacing) * 12) !important;\n }\n .h-16 {\n height: calc(var(--spacing) * 16) !important;\n }\n .h-\\[18px\\] {\n height: 18px !important;\n }\n .h-\\[20px\\] {\n height: 20px !important;\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height) !important;\n }\n .h-auto {\n height: auto !important;\n }\n .h-auto\\! {\n height: auto !important;\n }\n .h-full {\n height: 100% !important;\n }\n .h-px {\n height: 1px !important;\n }\n .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height) !important;\n }\n .max-h-96 {\n max-height: calc(var(--spacing) * 96) !important;\n }\n .max-h-\\[200px\\] {\n max-height: 200px !important;\n }\n .max-h-\\[300px\\] {\n max-height: 300px !important;\n }\n .min-h-full {\n min-height: 100% !important;\n }\n .min-h-screen {\n min-height: 100vh !important;\n }\n .w-0 {\n width: calc(var(--spacing) * 0) !important;\n }\n .w-4 {\n width: calc(var(--spacing) * 4) !important;\n }\n .w-5 {\n width: calc(var(--spacing) * 5) !important;\n }\n .w-6 {\n width: calc(var(--spacing) * 6) !important;\n }\n .w-10 {\n width: calc(var(--spacing) * 10) !important;\n }\n .w-12 {\n width: calc(var(--spacing) * 12) !important;\n }\n .w-16 {\n width: calc(var(--spacing) * 16) !important;\n }\n .w-20 {\n width: calc(var(--spacing) * 20) !important;\n }\n .w-24 {\n width: calc(var(--spacing) * 24) !important;\n }\n .w-28 {\n width: calc(var(--spacing) * 28) !important;\n }\n .w-32 {\n width: calc(var(--spacing) * 32) !important;\n }\n .w-40 {\n width: calc(var(--spacing) * 40) !important;\n }\n .w-72 {\n width: calc(var(--spacing) * 72) !important;\n }\n .w-fit {\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .w-full {\n width: 100% !important;\n }\n .max-w-\\[1200px\\] {\n max-width: 1200px !important;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem) !important;\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0) !important;\n }\n .min-w-\\[--radix-popper-anchor-width\\] {\n min-width: --radix-popper-anchor-width !important;\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem !important;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width) !important;\n }\n .flex-1 {\n flex: 1 !important;\n }\n .shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-grow {\n flex-grow: 1 !important;\n }\n .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin) !important;\n }\n .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin) !important;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50% !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50% !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n .rotate-180 {\n rotate: 180deg !important;\n }\n .transform-none\\! {\n transform: none !important;\n }\n .animate-pulse {\n animation: var(--animate-pulse) !important;\n }\n .animate-spin {\n animation: var(--animate-spin) !important;\n }\n .cursor-default {\n cursor: default !important;\n }\n .cursor-pointer {\n cursor: pointer !important;\n }\n .scroll-my-1 {\n scroll-margin-block: calc(var(--spacing) * 1) !important;\n }\n .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1) !important;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n }\n .flex-col {\n flex-direction: column !important;\n }\n .flex-col-reverse {\n flex-direction: column-reverse !important;\n }\n .items-center {\n align-items: center !important;\n }\n .justify-between {\n justify-content: space-between !important;\n }\n .justify-center {\n justify-content: center !important;\n }\n .justify-end {\n justify-content: flex-end !important;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0) !important;\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5) !important;\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5) !important;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2) !important;\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3) !important;\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4) !important;\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5) !important;\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6) !important;\n }\n .gap-\\[10px\\] {\n gap: 10px !important;\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0 !important;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)) !important;\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))) !important;\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0 !important;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)) !important;\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))) !important;\n }\n }\n .overflow-hidden {\n overflow: hidden !important;\n }\n .overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .overflow-y-auto {\n overflow-y: auto !important;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px !important;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px) !important;\n }\n .rounded-lg {\n border-radius: var(--bs-radius) !important;\n }\n .rounded-md {\n border-radius: calc(var(--bs-radius) - 2px) !important;\n }\n .rounded-sm {\n border-radius: calc(var(--bs-radius) - 4px) !important;\n }\n .rounded-xs {\n border-radius: var(--radius-xs) !important;\n }\n .border {\n border-style: var(--tw-border-style) !important;\n border-width: 1px !important;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style) !important;\n border-bottom-width: 1px !important;\n }\n .border-input {\n border-color: var(--bs-input) !important;\n }\n .border-primary {\n border-color: var(--bs-primary) !important;\n }\n .bg-accent {\n background-color: var(--bs-accent) !important;\n }\n .bg-background {\n background-color: var(--bs-background) !important;\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent) !important;\n }\n }\n .bg-border {\n background-color: var(--bs-border) !important;\n }\n .bg-destructive {\n background-color: var(--bs-destructive) !important;\n }\n .bg-muted {\n background-color: var(--bs-muted) !important;\n }\n .bg-popover {\n background-color: var(--bs-popover) !important;\n }\n .bg-primary {\n background-color: var(--bs-primary) !important;\n }\n .bg-secondary {\n background-color: var(--bs-secondary) !important;\n }\n .bg-transparent {\n background-color: transparent !important;\n }\n .fill-current {\n fill: currentcolor !important;\n }\n .fill-primary {\n fill: var(--bs-primary) !important;\n }\n .object-cover {\n -o-object-fit: cover !important;\n object-fit: cover !important;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0) !important;\n }\n .p-1 {\n padding: calc(var(--spacing) * 1) !important;\n }\n .p-4 {\n padding: calc(var(--spacing) * 4) !important;\n }\n .p-6 {\n padding: calc(var(--spacing) * 6) !important;\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3) !important;\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4) !important;\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6) !important;\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1) !important;\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5) !important;\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2) !important;\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3) !important;\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4) !important;\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6) !important;\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2) !important;\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4) !important;\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8) !important;\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2) !important;\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8) !important;\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1) !important;\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2) !important;\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2) !important;\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8) !important;\n }\n .text-center {\n text-align: center !important;\n }\n .text-right {\n text-align: right !important;\n }\n .text-base {\n font-size: var(--text-base) !important;\n line-height: var(--tw-leading, var(--text-base--line-height)) !important;\n }\n .text-lg {\n font-size: var(--text-lg) !important;\n line-height: var(--tw-leading, var(--text-lg--line-height)) !important;\n }\n .text-sm {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n .text-xs {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading, var(--text-xs--line-height)) !important;\n }\n .leading-none {\n --tw-leading: 1 !important;\n line-height: 1 !important;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold) !important;\n font-weight: var(--font-weight-bold) !important;\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold) !important;\n font-weight: var(--font-weight-semibold) !important;\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest) !important;\n letter-spacing: var(--tracking-widest) !important;\n }\n .text-ellipsis {\n text-overflow: ellipsis !important;\n }\n .whitespace-nowrap {\n white-space: nowrap !important;\n }\n .text-background {\n color: var(--bs-background) !important;\n }\n .text-current {\n color: currentcolor !important;\n }\n .text-destructive {\n color: var(--bs-destructive) !important;\n }\n .text-destructive-foreground {\n color: var(--bs-destructive-foreground) !important;\n }\n .text-foreground {\n color: var(--bs-foreground) !important;\n }\n .text-muted-foreground {\n color: var(--bs-muted-foreground) !important;\n }\n .text-popover-foreground {\n color: var(--bs-popover-foreground) !important;\n }\n .text-primary {\n color: var(--bs-primary) !important;\n }\n .text-primary-foreground {\n color: var(--bs-primary-foreground) !important;\n }\n .text-red-500 {\n color: var(--color-red-500) !important;\n }\n .text-secondary-foreground {\n color: var(--bs-secondary-foreground) !important;\n }\n .text-white {\n color: var(--color-white) !important;\n }\n .line-through {\n text-decoration-line: line-through !important;\n }\n .underline-offset-4 {\n text-underline-offset: 4px !important;\n }\n .opacity-0 {\n opacity: 0% !important;\n }\n .opacity-50 {\n opacity: 50% !important;\n }\n .opacity-70 {\n opacity: 70% !important;\n }\n .opacity-100 {\n opacity: 100% !important;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--bs-background) !important;\n }\n .outline-hidden {\n --tw-outline-style: none !important;\n outline-style: none !important;\n @media (forced-colors: active) {\n outline: 2px solid transparent !important;\n outline-offset: 2px !important;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style) !important;\n outline-width: 1px !important;\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-opacity {\n transition-property: opacity !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-shadow {\n transition-property: box-shadow !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate !important;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)) !important;\n transition-duration: var(--tw-duration, var(--default-transition-duration)) !important;\n }\n .transition-none {\n transition-property: none !important;\n }\n .duration-200 {\n --tw-duration: 200ms !important;\n transition-duration: 200ms !important;\n }\n .outline-none {\n --tw-outline-style: none !important;\n outline-style: none !important;\n }\n .select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n }\n .duration-200 {\n animation-duration: 200ms !important;\n }\n .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none !important;\n }\n }\n .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50% !important;\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed !important;\n }\n }\n .peer-disabled\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50% !important;\n }\n }\n .selection\\:bg-primary {\n & *::-moz-selection {\n background-color: var(--bs-primary) !important;\n }\n & *::selection {\n background-color: var(--bs-primary) !important;\n }\n &::-moz-selection {\n background-color: var(--bs-primary) !important;\n }\n &::selection {\n background-color: var(--bs-primary) !important;\n }\n }\n .selection\\:text-primary-foreground {\n & *::-moz-selection {\n color: var(--bs-primary-foreground) !important;\n }\n & *::selection {\n color: var(--bs-primary-foreground) !important;\n }\n &::-moz-selection {\n color: var(--bs-primary-foreground) !important;\n }\n &::selection {\n color: var(--bs-primary-foreground) !important;\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex !important;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7) !important;\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style) !important;\n border-width: 0px !important;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent !important;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n }\n .file\\:text-foreground {\n &::file-selector-button {\n color: var(--bs-foreground) !important;\n }\n }\n .placeholder\\:text-muted-foreground {\n &::-moz-placeholder {\n color: var(--bs-muted-foreground) !important;\n }\n &::placeholder {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-accent) !important;\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 90%, transparent) !important;\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-muted) !important;\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-primary) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-primary) 90%, transparent) !important;\n }\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--bs-secondary) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-secondary) 80%, transparent) !important;\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--bs-accent-foreground) !important;\n }\n }\n }\n .hover\\:text-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--bs-foreground) !important;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline !important;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100% !important;\n }\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--bs-accent) !important;\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--bs-ring) !important;\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px !important;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none !important;\n outline-style: none !important;\n @media (forced-colors: active) {\n outline: 2px solid transparent !important;\n outline-offset: 2px !important;\n }\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none !important;\n outline-style: none !important;\n }\n }\n .focus-visible\\:border-ring {\n &:focus-visible {\n border-color: var(--bs-ring) !important;\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n .focus-visible\\:ring-ring\\/50 {\n &:focus-visible {\n --tw-ring-color: var(--bs-ring) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-ring) 50%, transparent) !important;\n }\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none !important;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed !important;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50% !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-2\\.5 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 2.5) !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 3) !important;\n }\n }\n .has-\\[\\>svg\\]\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 4) !important;\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--bs-destructive) !important;\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none !important;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50% !important;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none !important;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50% !important;\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive-foreground {\n &[data-error=\"true\"] {\n color: var(--bs-destructive-foreground) !important;\n }\n }\n .data-\\[inset\\]\\:pl-8 {\n &[data-inset] {\n padding-left: calc(var(--spacing) * 8) !important;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .data-\\[selected\\=true\\]\\:bg-accent {\n &[data-selected=\"true\"] {\n background-color: var(--bs-accent) !important;\n }\n }\n .data-\\[selected\\=true\\]\\:text-accent-foreground {\n &[data-selected=\"true\"] {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem !important;\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem !important;\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem !important;\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1) !important;\n translate: var(--tw-translate-x) var(--tw-translate-y) !important;\n }\n }\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem !important;\n }\n }\n .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 {\n :is(& *) {\n &[data-slot=\"command-input-wrapper\"] {\n height: calc(var(--spacing) * 12) !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1 {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:flex {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n display: flex !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:items-center {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n align-items: center !important;\n }\n }\n }\n .\\*\\:data-\\[slot\\=select-value\\]\\:gap-2 {\n :is(& > *) {\n &[data-slot=\"select-value\"] {\n gap: calc(var(--spacing) * 2) !important;\n }\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--bs-primary) !important;\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--bs-primary) !important;\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--bs-primary-foreground) !important;\n }\n }\n .data-\\[state\\=closed\\]\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit !important;\n animation-duration: 150ms !important;\n --tw-exit-opacity: initial !important;\n --tw-exit-scale: initial !important;\n --tw-exit-rotate: initial !important;\n --tw-exit-translate-x: initial !important;\n --tw-exit-translate-y: initial !important;\n }\n }\n .data-\\[state\\=closed\\]\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0 !important;\n }\n }\n .data-\\[state\\=closed\\]\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95 !important;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--bs-accent) !important;\n }\n }\n .data-\\[state\\=open\\]\\:text-accent-foreground {\n &[data-state=\"open\"] {\n color: var(--bs-accent-foreground) !important;\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .data-\\[state\\=open\\]\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter !important;\n animation-duration: 150ms !important;\n --tw-enter-opacity: initial !important;\n --tw-enter-scale: initial !important;\n --tw-enter-rotate: initial !important;\n --tw-enter-translate-x: initial !important;\n --tw-enter-translate-y: initial !important;\n }\n }\n .data-\\[state\\=open\\]\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0 !important;\n }\n }\n .data-\\[state\\=open\\]\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95 !important;\n }\n }\n .data-\\[variant\\=destructive\\]\\:text-destructive {\n &[data-variant=\"destructive\"] {\n color: var(--bs-destructive) !important;\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 10%, transparent) !important;\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n &[data-variant=\"destructive\"] {\n &:focus {\n color: var(--bs-destructive) !important;\n }\n }\n }\n .max-sm\\:hidden {\n @media (width < 40rem) {\n display: none !important;\n }\n }\n .sm\\:max-h-\\[270px\\] {\n @media (width >= 40rem) {\n max-height: 270px !important;\n }\n }\n .sm\\:max-w-\\[500px\\] {\n @media (width >= 40rem) {\n max-width: 500px !important;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg) !important;\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row !important;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end !important;\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left !important;\n }\n }\n .md\\:order-last {\n @media (width >= 48rem) {\n order: 9999 !important;\n }\n }\n .md\\:order-none {\n @media (width >= 48rem) {\n order: 0 !important;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2 !important;\n }\n }\n .md\\:col-span-3 {\n @media (width >= 48rem) {\n grid-column: span 3 / span 3 !important;\n }\n }\n .md\\:col-span-4 {\n @media (width >= 48rem) {\n grid-column: span 4 / span 4 !important;\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block !important;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex !important;\n }\n }\n .md\\:grid {\n @media (width >= 48rem) {\n display: grid !important;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none !important;\n }\n }\n .md\\:max-w-\\[75\\%\\] {\n @media (width >= 48rem) {\n max-width: 75% !important;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n }\n }\n .md\\:grid-cols-7 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(7, minmax(0, 1fr)) !important;\n }\n }\n .md\\:gap-0 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 0) !important;\n }\n }\n .md\\:px-8 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 8) !important;\n }\n }\n .md\\:py-12 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 12) !important;\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading, var(--text-sm--line-height)) !important;\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 40%, transparent) !important;\n }\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--bs-destructive) 40%, transparent) !important;\n }\n }\n }\n }\n .dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20 {\n @media (prefers-color-scheme: dark) {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--bs-destructive) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--bs-destructive) 20%, transparent) !important;\n }\n }\n }\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 {\n & [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 {\n & [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs {\n & [cmdk-group-heading] {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading, var(--text-xs--line-height)) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium {\n & [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium) !important;\n font-weight: var(--font-weight-medium) !important;\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground {\n & [cmdk-group-heading] {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\]\\:px-2 {\n & [cmdk-group] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 {\n & [cmdk-group]:not([hidden]) ~[cmdk-group] {\n padding-top: calc(var(--spacing) * 0) !important;\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 {\n & [cmdk-input-wrapper] svg {\n height: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 {\n & [cmdk-input-wrapper] svg {\n width: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-input\\]\\]\\:h-12 {\n & [cmdk-input] {\n height: calc(var(--spacing) * 12) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:px-2 {\n & [cmdk-item] {\n padding-inline: calc(var(--spacing) * 2) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:py-3 {\n & [cmdk-item] {\n padding-block: calc(var(--spacing) * 3) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 {\n & [cmdk-item] svg {\n height: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 {\n & [cmdk-item] svg {\n width: calc(var(--spacing) * 5) !important;\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none !important;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0 !important;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4) !important;\n height: calc(var(--spacing) * 4) !important;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground {\n & svg:not([class*='text-']) {\n color: var(--bs-muted-foreground) !important;\n }\n }\n .\\*\\:\\[span\\]\\:last\\:flex {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n display: flex !important;\n }\n }\n }\n }\n .\\*\\:\\[span\\]\\:last\\:items-center {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n align-items: center !important;\n }\n }\n }\n }\n .\\*\\:\\[span\\]\\:last\\:gap-2 {\n :is(& > *) {\n &:is(span) {\n &:last-child {\n gap: calc(var(--spacing) * 2) !important;\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive {\n &[data-variant=\"destructive\"] {\n :is(& > *) {\n &:is(svg) {\n color: var(--bs-destructive) !important;\n }\n }\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden !important;\n display: -webkit-box !important;\n -webkit-box-orient: vertical !important;\n -webkit-line-clamp: 1 !important;\n }\n }\n}\n.checkout-embed {\n :root {\n --background: oklch(1 0 0);\n --foreground: oklch(0.145 0 0);\n --card: oklch(1 0 0);\n --card-foreground: oklch(0.145 0 0);\n --popover: oklch(1 0 0);\n --popover-foreground: oklch(0.145 0 0);\n --primary: oklch(0.205 0 0);\n --primary-foreground: oklch(0.985 0 0);\n --secondary: oklch(0.97 0 0);\n --secondary-foreground: oklch(0.205 0 0);\n --muted: oklch(0.97 0 0);\n --muted-foreground: oklch(0.556 0 0);\n --accent: oklch(0.97 0 0);\n --accent-foreground: oklch(0.205 0 0);\n --destructive: oklch(0.577 0.245 27.325);\n --destructive-foreground: oklch(0.577 0.245 27.325);\n --border: oklch(0.922 0 0);\n --input: oklch(0.922 0 0);\n --ring: oklch(0.708 0 0);\n --chart-1: oklch(0.646 0.222 41.116);\n --chart-2: oklch(0.6 0.118 184.704);\n --chart-3: oklch(0.398 0.07 227.392);\n --chart-4: oklch(0.828 0.189 84.429);\n --chart-5: oklch(0.769 0.188 70.08);\n --radius: 0.625rem;\n --sidebar: oklch(0.985 0 0);\n --sidebar-foreground: oklch(0.145 0 0);\n --sidebar-primary: oklch(0.205 0 0);\n --sidebar-primary-foreground: oklch(0.985 0 0);\n --sidebar-accent: oklch(0.97 0 0);\n --sidebar-accent-foreground: oklch(0.205 0 0);\n --sidebar-border: oklch(0.922 0 0);\n --sidebar-ring: oklch(0.708 0 0);\n }\n @layer base {\n * {\n border-color: var(--bs-border) !important;\n outline-color: var(--bs-ring) !important;\n @supports (color: color-mix(in lab, red, red)) {\n outline-color: color-mix(in oklab, var(--bs-ring) 50%, transparent) !important;\n }\n }\n .checkout-embed {\n background-color: var(--bs-background) !important;\n font-family: var(--bs-font-sans), Helvetica, Arial, apple-system, sans-serif !important;\n color: var(--bs-foreground) !important;\n }\n h2 {\n font-size: var(--text-2xl) !important;\n line-height: var(--tw-leading, var(--text-2xl--line-height)) !important;\n --tw-font-weight: var(--font-weight-bold) !important;\n font-weight: var(--font-weight-bold) !important;\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n p {\n --tw-tracking: var(--tracking-tight) !important;\n letter-spacing: var(--tracking-tight) !important;\n }\n }\n @layer utilities {\n .scrollbar-hidden {\n scrollbar-width: none;\n }\n .scrollbar-hidden::-webkit-scrollbar {\n display: none;\n }\n }\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n }\n }\n}\n";
35958
35366
  styleInject(css_248z);
35959
35367
 
35960
35368
  export { index as CheckoutEmbed, PaymentElement$1 as PaymentElement, useCart, useCheckout };