@betterstore/react 0.5.24 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/cart/useCart.d.ts +13 -15
- package/dist/components/cart/useCart.d.ts.map +1 -1
- package/dist/components/checkout-embed/checkout-form.d.ts +2 -1
- package/dist/components/checkout-embed/checkout-form.d.ts.map +1 -1
- package/dist/components/checkout-embed/checkout-schema.d.ts +48 -36
- package/dist/components/checkout-embed/checkout-schema.d.ts.map +1 -1
- package/dist/components/checkout-embed/index.d.ts.map +1 -1
- package/dist/components/checkout-embed/steps/shipping/form.d.ts +2 -2
- package/dist/components/checkout-embed/steps/shipping/form.d.ts.map +1 -1
- package/dist/components/checkout-embed/steps/shipping/shipping-option-wrapper.d.ts +1 -1
- package/dist/components/checkout-embed/steps/shipping/shipping-option-wrapper.d.ts.map +1 -1
- package/dist/components/checkout-embed/steps/summary/index.d.ts +2 -2
- package/dist/components/checkout-embed/steps/summary/index.d.ts.map +1 -1
- package/dist/components/compounds/form/address-input/index.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/index.cjs.js +1463 -398
- package/dist/index.mjs +1463 -398
- package/package.json +3 -2
- package/dist/lib/betterstore.d.ts +0 -6
- package/dist/lib/betterstore.d.ts.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -259,15 +259,18 @@ const generateLineItemId = (item) => {
|
|
|
259
259
|
metadata: item.metadata,
|
|
260
260
|
}));
|
|
261
261
|
};
|
|
262
|
-
const useCart = create()(persist((set, get) => ({
|
|
262
|
+
const useCart = () => create()(persist((set, get) => ({
|
|
263
263
|
lineItems: [],
|
|
264
264
|
addItem: (product, additionalParams) => set((state) => {
|
|
265
265
|
var _a, _b, _c;
|
|
266
266
|
const productId = product.id;
|
|
267
|
-
const selectedVariant = ((_a = product.productVariants) !== null && _a !== void 0 ? _a : []).find((v) =>
|
|
267
|
+
const selectedVariant = ((_a = product.productVariants) !== null && _a !== void 0 ? _a : []).find((v) => {
|
|
268
268
|
var _a;
|
|
269
|
-
return (_a =
|
|
270
|
-
|
|
269
|
+
return (_a = v.variantOptions) === null || _a === void 0 ? void 0 : _a.every((vOpt) => {
|
|
270
|
+
var _a;
|
|
271
|
+
return (_a = additionalParams === null || additionalParams === void 0 ? void 0 : additionalParams.variantOptions) === null || _a === void 0 ? void 0 : _a.some((iOpt) => vOpt.name === iOpt.name && vOpt.value === iOpt.value);
|
|
272
|
+
});
|
|
273
|
+
}) || null;
|
|
271
274
|
const formattedNewItem = {
|
|
272
275
|
productId: productId,
|
|
273
276
|
product: product,
|
|
@@ -3521,7 +3524,7 @@ const isUndefined$1 = typeOfTest('undefined');
|
|
|
3521
3524
|
*/
|
|
3522
3525
|
function isBuffer(val) {
|
|
3523
3526
|
return val !== null && !isUndefined$1(val) && val.constructor !== null && !isUndefined$1(val.constructor)
|
|
3524
|
-
&& isFunction$
|
|
3527
|
+
&& isFunction$3(val.constructor.isBuffer) && val.constructor.isBuffer(val);
|
|
3525
3528
|
}
|
|
3526
3529
|
|
|
3527
3530
|
/**
|
|
@@ -3566,7 +3569,7 @@ const isString$1 = typeOfTest('string');
|
|
|
3566
3569
|
* @param {*} val The value to test
|
|
3567
3570
|
* @returns {boolean} True if value is a Function, otherwise false
|
|
3568
3571
|
*/
|
|
3569
|
-
const isFunction$
|
|
3572
|
+
const isFunction$3 = typeOfTest('function');
|
|
3570
3573
|
|
|
3571
3574
|
/**
|
|
3572
3575
|
* Determine if a value is a Number
|
|
@@ -3622,7 +3625,7 @@ const isEmptyObject$1 = (val) => {
|
|
|
3622
3625
|
if (!isObject$1(val) || isBuffer(val)) {
|
|
3623
3626
|
return false;
|
|
3624
3627
|
}
|
|
3625
|
-
|
|
3628
|
+
|
|
3626
3629
|
try {
|
|
3627
3630
|
return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
|
|
3628
3631
|
} catch (e) {
|
|
@@ -3674,7 +3677,7 @@ const isFileList = kindOfTest('FileList');
|
|
|
3674
3677
|
*
|
|
3675
3678
|
* @returns {boolean} True if value is a Stream, otherwise false
|
|
3676
3679
|
*/
|
|
3677
|
-
const isStream = (val) => isObject$1(val) && isFunction$
|
|
3680
|
+
const isStream = (val) => isObject$1(val) && isFunction$3(val.pipe);
|
|
3678
3681
|
|
|
3679
3682
|
/**
|
|
3680
3683
|
* Determine if a value is a FormData
|
|
@@ -3687,10 +3690,10 @@ const isFormData = (thing) => {
|
|
|
3687
3690
|
let kind;
|
|
3688
3691
|
return thing && (
|
|
3689
3692
|
(typeof FormData === 'function' && thing instanceof FormData) || (
|
|
3690
|
-
isFunction$
|
|
3693
|
+
isFunction$3(thing.append) && (
|
|
3691
3694
|
(kind = kindOf(thing)) === 'formdata' ||
|
|
3692
3695
|
// detect form-data instance
|
|
3693
|
-
(kind === 'object' && isFunction$
|
|
3696
|
+
(kind === 'object' && isFunction$3(thing.toString) && thing.toString() === '[object FormData]')
|
|
3694
3697
|
)
|
|
3695
3698
|
)
|
|
3696
3699
|
)
|
|
@@ -3815,7 +3818,7 @@ const isContextDefined = (context) => !isUndefined$1(context) && context !== _gl
|
|
|
3815
3818
|
* @returns {Object} Result of all merge properties
|
|
3816
3819
|
*/
|
|
3817
3820
|
function merge(/* obj1, obj2, obj3, ... */) {
|
|
3818
|
-
const {caseless} = isContextDefined(this) && this || {};
|
|
3821
|
+
const {caseless, skipUndefined} = isContextDefined(this) && this || {};
|
|
3819
3822
|
const result = {};
|
|
3820
3823
|
const assignValue = (val, key) => {
|
|
3821
3824
|
const targetKey = caseless && findKey(result, key) || key;
|
|
@@ -3825,7 +3828,7 @@ function merge(/* obj1, obj2, obj3, ... */) {
|
|
|
3825
3828
|
result[targetKey] = merge({}, val);
|
|
3826
3829
|
} else if (isArray(val)) {
|
|
3827
3830
|
result[targetKey] = val.slice();
|
|
3828
|
-
} else {
|
|
3831
|
+
} else if (!skipUndefined || !isUndefined$1(val)) {
|
|
3829
3832
|
result[targetKey] = val;
|
|
3830
3833
|
}
|
|
3831
3834
|
};
|
|
@@ -3848,7 +3851,7 @@ function merge(/* obj1, obj2, obj3, ... */) {
|
|
|
3848
3851
|
*/
|
|
3849
3852
|
const extend = (a, b, thisArg, {allOwnKeys}= {}) => {
|
|
3850
3853
|
forEach(b, (val, key) => {
|
|
3851
|
-
if (thisArg && isFunction$
|
|
3854
|
+
if (thisArg && isFunction$3(val)) {
|
|
3852
3855
|
a[key] = bind(val, thisArg);
|
|
3853
3856
|
} else {
|
|
3854
3857
|
a[key] = val;
|
|
@@ -4064,13 +4067,13 @@ const reduceDescriptors = (obj, reducer) => {
|
|
|
4064
4067
|
const freezeMethods = (obj) => {
|
|
4065
4068
|
reduceDescriptors(obj, (descriptor, name) => {
|
|
4066
4069
|
// skip restricted props in strict mode
|
|
4067
|
-
if (isFunction$
|
|
4070
|
+
if (isFunction$3(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
|
|
4068
4071
|
return false;
|
|
4069
4072
|
}
|
|
4070
4073
|
|
|
4071
4074
|
const value = obj[name];
|
|
4072
4075
|
|
|
4073
|
-
if (!isFunction$
|
|
4076
|
+
if (!isFunction$3(value)) return;
|
|
4074
4077
|
|
|
4075
4078
|
descriptor.enumerable = false;
|
|
4076
4079
|
|
|
@@ -4107,6 +4110,8 @@ const toFiniteNumber = (value, defaultValue) => {
|
|
|
4107
4110
|
return value != null && Number.isFinite(value = +value) ? value : defaultValue;
|
|
4108
4111
|
};
|
|
4109
4112
|
|
|
4113
|
+
|
|
4114
|
+
|
|
4110
4115
|
/**
|
|
4111
4116
|
* If the thing is a FormData object, return true, otherwise return false.
|
|
4112
4117
|
*
|
|
@@ -4115,7 +4120,7 @@ const toFiniteNumber = (value, defaultValue) => {
|
|
|
4115
4120
|
* @returns {boolean}
|
|
4116
4121
|
*/
|
|
4117
4122
|
function isSpecCompliantForm(thing) {
|
|
4118
|
-
return !!(thing && isFunction$
|
|
4123
|
+
return !!(thing && isFunction$3(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
|
|
4119
4124
|
}
|
|
4120
4125
|
|
|
4121
4126
|
const toJSONObject = (obj) => {
|
|
@@ -4157,7 +4162,7 @@ const toJSONObject = (obj) => {
|
|
|
4157
4162
|
const isAsyncFn = kindOfTest('AsyncFunction');
|
|
4158
4163
|
|
|
4159
4164
|
const isThenable = (thing) =>
|
|
4160
|
-
thing && (isObject$1(thing) || isFunction$
|
|
4165
|
+
thing && (isObject$1(thing) || isFunction$3(thing)) && isFunction$3(thing.then) && isFunction$3(thing.catch);
|
|
4161
4166
|
|
|
4162
4167
|
// original code
|
|
4163
4168
|
// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
|
|
@@ -4181,7 +4186,7 @@ const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
|
|
|
4181
4186
|
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
|
|
4182
4187
|
})(
|
|
4183
4188
|
typeof setImmediate === 'function',
|
|
4184
|
-
isFunction$
|
|
4189
|
+
isFunction$3(_global.postMessage)
|
|
4185
4190
|
);
|
|
4186
4191
|
|
|
4187
4192
|
const asap = typeof queueMicrotask !== 'undefined' ?
|
|
@@ -4190,7 +4195,7 @@ const asap = typeof queueMicrotask !== 'undefined' ?
|
|
|
4190
4195
|
// *********************
|
|
4191
4196
|
|
|
4192
4197
|
|
|
4193
|
-
const isIterable = (thing) => thing != null && isFunction$
|
|
4198
|
+
const isIterable = (thing) => thing != null && isFunction$3(thing[iterator]);
|
|
4194
4199
|
|
|
4195
4200
|
|
|
4196
4201
|
var utils$1 = {
|
|
@@ -4214,7 +4219,7 @@ var utils$1 = {
|
|
|
4214
4219
|
isFile,
|
|
4215
4220
|
isBlob,
|
|
4216
4221
|
isRegExp,
|
|
4217
|
-
isFunction: isFunction$
|
|
4222
|
+
isFunction: isFunction$3,
|
|
4218
4223
|
isStream,
|
|
4219
4224
|
isURLSearchParams,
|
|
4220
4225
|
isTypedArray,
|
|
@@ -4340,11 +4345,18 @@ AxiosError$1.from = (error, code, config, request, response, customProps) => {
|
|
|
4340
4345
|
return prop !== 'isAxiosError';
|
|
4341
4346
|
});
|
|
4342
4347
|
|
|
4343
|
-
|
|
4348
|
+
const msg = error && error.message ? error.message : 'Error';
|
|
4344
4349
|
|
|
4345
|
-
|
|
4350
|
+
// Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)
|
|
4351
|
+
const errCode = code == null && error ? error.code : code;
|
|
4352
|
+
AxiosError$1.call(axiosError, msg, errCode, config, request, response);
|
|
4346
4353
|
|
|
4347
|
-
|
|
4354
|
+
// Chain the original error on the standard field; non-enumerable to avoid JSON noise
|
|
4355
|
+
if (error && axiosError.cause == null) {
|
|
4356
|
+
Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });
|
|
4357
|
+
}
|
|
4358
|
+
|
|
4359
|
+
axiosError.name = (error && error.name) || 'Error';
|
|
4348
4360
|
|
|
4349
4361
|
customProps && Object.assign(axiosError, customProps);
|
|
4350
4362
|
|
|
@@ -4635,9 +4647,7 @@ function encode(val) {
|
|
|
4635
4647
|
replace(/%3A/gi, ':').
|
|
4636
4648
|
replace(/%24/g, '$').
|
|
4637
4649
|
replace(/%2C/gi, ',').
|
|
4638
|
-
replace(/%20/g, '+')
|
|
4639
|
-
replace(/%5B/gi, '[').
|
|
4640
|
-
replace(/%5D/gi, ']');
|
|
4650
|
+
replace(/%20/g, '+');
|
|
4641
4651
|
}
|
|
4642
4652
|
|
|
4643
4653
|
/**
|
|
@@ -5040,7 +5050,7 @@ const defaults = {
|
|
|
5040
5050
|
const strictJSONParsing = !silentJSONParsing && JSONRequested;
|
|
5041
5051
|
|
|
5042
5052
|
try {
|
|
5043
|
-
return JSON.parse(data);
|
|
5053
|
+
return JSON.parse(data, this.parseReviver);
|
|
5044
5054
|
} catch (e) {
|
|
5045
5055
|
if (strictJSONParsing) {
|
|
5046
5056
|
if (e.name === 'SyntaxError') {
|
|
@@ -5861,7 +5871,7 @@ function mergeConfig$1(config1, config2) {
|
|
|
5861
5871
|
var resolveConfig = (config) => {
|
|
5862
5872
|
const newConfig = mergeConfig$1({}, config);
|
|
5863
5873
|
|
|
5864
|
-
let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;
|
|
5874
|
+
let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
|
|
5865
5875
|
|
|
5866
5876
|
newConfig.headers = headers = AxiosHeaders$1.from(headers);
|
|
5867
5877
|
|
|
@@ -5874,17 +5884,21 @@ var resolveConfig = (config) => {
|
|
|
5874
5884
|
);
|
|
5875
5885
|
}
|
|
5876
5886
|
|
|
5877
|
-
let contentType;
|
|
5878
|
-
|
|
5879
5887
|
if (utils$1.isFormData(data)) {
|
|
5880
5888
|
if (platform$1.hasStandardBrowserEnv || platform$1.hasStandardBrowserWebWorkerEnv) {
|
|
5881
|
-
headers.setContentType(undefined); //
|
|
5882
|
-
} else if ((
|
|
5883
|
-
//
|
|
5884
|
-
const
|
|
5885
|
-
headers
|
|
5889
|
+
headers.setContentType(undefined); // browser handles it
|
|
5890
|
+
} else if (utils$1.isFunction(data.getHeaders)) {
|
|
5891
|
+
// Node.js FormData (like form-data package)
|
|
5892
|
+
const formHeaders = data.getHeaders();
|
|
5893
|
+
// Only set safe headers to avoid overwriting security headers
|
|
5894
|
+
const allowedHeaders = ['content-type', 'content-length'];
|
|
5895
|
+
Object.entries(formHeaders).forEach(([key, val]) => {
|
|
5896
|
+
if (allowedHeaders.includes(key.toLowerCase())) {
|
|
5897
|
+
headers.set(key, val);
|
|
5898
|
+
}
|
|
5899
|
+
});
|
|
5886
5900
|
}
|
|
5887
|
-
}
|
|
5901
|
+
}
|
|
5888
5902
|
|
|
5889
5903
|
// Add xsrf header
|
|
5890
5904
|
// This is only done if running in a standard browser environment.
|
|
@@ -6001,15 +6015,18 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
|
|
|
6001
6015
|
};
|
|
6002
6016
|
|
|
6003
6017
|
// Handle low level network errors
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
6007
|
-
|
|
6008
|
-
|
|
6009
|
-
|
|
6010
|
-
|
|
6018
|
+
request.onerror = function handleError(event) {
|
|
6019
|
+
// Browsers deliver a ProgressEvent in XHR onerror
|
|
6020
|
+
// (message may be empty; when present, surface it)
|
|
6021
|
+
// See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event
|
|
6022
|
+
const msg = event && event.message ? event.message : 'Network Error';
|
|
6023
|
+
const err = new AxiosError$1(msg, AxiosError$1.ERR_NETWORK, config, request);
|
|
6024
|
+
// attach the underlying event for consumers who want details
|
|
6025
|
+
err.event = event || null;
|
|
6026
|
+
reject(err);
|
|
6027
|
+
request = null;
|
|
6011
6028
|
};
|
|
6012
|
-
|
|
6029
|
+
|
|
6013
6030
|
// Handle timeout
|
|
6014
6031
|
request.ontimeout = function handleTimeout() {
|
|
6015
6032
|
let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';
|
|
@@ -6223,14 +6240,18 @@ const trackStream = (stream, chunkSize, onProgress, onFinish) => {
|
|
|
6223
6240
|
})
|
|
6224
6241
|
};
|
|
6225
6242
|
|
|
6226
|
-
const
|
|
6227
|
-
|
|
6243
|
+
const DEFAULT_CHUNK_SIZE = 64 * 1024;
|
|
6244
|
+
|
|
6245
|
+
const {isFunction: isFunction$2} = utils$1;
|
|
6246
|
+
|
|
6247
|
+
const globalFetchAPI = (({Request, Response}) => ({
|
|
6248
|
+
Request, Response
|
|
6249
|
+
}))(utils$1.global);
|
|
6250
|
+
|
|
6251
|
+
const {
|
|
6252
|
+
ReadableStream: ReadableStream$1, TextEncoder
|
|
6253
|
+
} = utils$1.global;
|
|
6228
6254
|
|
|
6229
|
-
// used only inside the fetch adapter
|
|
6230
|
-
const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?
|
|
6231
|
-
((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :
|
|
6232
|
-
async (str) => new Uint8Array(await new Response(str).arrayBuffer())
|
|
6233
|
-
);
|
|
6234
6255
|
|
|
6235
6256
|
const test = (fn, ...args) => {
|
|
6236
6257
|
try {
|
|
@@ -6240,211 +6261,268 @@ const test = (fn, ...args) => {
|
|
|
6240
6261
|
}
|
|
6241
6262
|
};
|
|
6242
6263
|
|
|
6243
|
-
const
|
|
6244
|
-
|
|
6264
|
+
const factory = (env) => {
|
|
6265
|
+
env = utils$1.merge.call({
|
|
6266
|
+
skipUndefined: true
|
|
6267
|
+
}, globalFetchAPI, env);
|
|
6245
6268
|
|
|
6246
|
-
const
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
duplexAccessed = true;
|
|
6251
|
-
return 'half';
|
|
6252
|
-
},
|
|
6253
|
-
}).headers.has('Content-Type');
|
|
6269
|
+
const {fetch: envFetch, Request, Response} = env;
|
|
6270
|
+
const isFetchSupported = envFetch ? isFunction$2(envFetch) : typeof fetch === 'function';
|
|
6271
|
+
const isRequestSupported = isFunction$2(Request);
|
|
6272
|
+
const isResponseSupported = isFunction$2(Response);
|
|
6254
6273
|
|
|
6255
|
-
|
|
6256
|
-
|
|
6274
|
+
if (!isFetchSupported) {
|
|
6275
|
+
return false;
|
|
6276
|
+
}
|
|
6257
6277
|
|
|
6258
|
-
const
|
|
6278
|
+
const isReadableStreamSupported = isFetchSupported && isFunction$2(ReadableStream$1);
|
|
6259
6279
|
|
|
6260
|
-
const
|
|
6261
|
-
|
|
6280
|
+
const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?
|
|
6281
|
+
((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :
|
|
6282
|
+
async (str) => new Uint8Array(await new Request(str).arrayBuffer())
|
|
6283
|
+
);
|
|
6262
6284
|
|
|
6285
|
+
const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {
|
|
6286
|
+
let duplexAccessed = false;
|
|
6263
6287
|
|
|
6264
|
-
const
|
|
6265
|
-
|
|
6266
|
-
|
|
6288
|
+
const hasContentType = new Request(platform$1.origin, {
|
|
6289
|
+
body: new ReadableStream$1(),
|
|
6290
|
+
method: 'POST',
|
|
6291
|
+
get duplex() {
|
|
6292
|
+
duplexAccessed = true;
|
|
6293
|
+
return 'half';
|
|
6294
|
+
},
|
|
6295
|
+
}).headers.has('Content-Type');
|
|
6267
6296
|
|
|
6268
|
-
|
|
6269
|
-
['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {
|
|
6270
|
-
!resolvers[type] && (resolvers[type] = utils$1.isFunction(res[type]) ? (res) => res[type]() :
|
|
6271
|
-
(_, config) => {
|
|
6272
|
-
throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config);
|
|
6273
|
-
});
|
|
6297
|
+
return duplexAccessed && !hasContentType;
|
|
6274
6298
|
});
|
|
6275
|
-
})(new Response));
|
|
6276
6299
|
|
|
6277
|
-
const
|
|
6278
|
-
|
|
6279
|
-
return 0;
|
|
6280
|
-
}
|
|
6300
|
+
const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&
|
|
6301
|
+
test(() => utils$1.isReadableStream(new Response('').body));
|
|
6281
6302
|
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
}
|
|
6303
|
+
const resolvers = {
|
|
6304
|
+
stream: supportsResponseStream && ((res) => res.body)
|
|
6305
|
+
};
|
|
6285
6306
|
|
|
6286
|
-
|
|
6287
|
-
|
|
6288
|
-
|
|
6289
|
-
|
|
6307
|
+
isFetchSupported && ((() => {
|
|
6308
|
+
['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {
|
|
6309
|
+
!resolvers[type] && (resolvers[type] = (res, config) => {
|
|
6310
|
+
let method = res && res[type];
|
|
6311
|
+
|
|
6312
|
+
if (method) {
|
|
6313
|
+
return method.call(res);
|
|
6314
|
+
}
|
|
6315
|
+
|
|
6316
|
+
throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config);
|
|
6317
|
+
});
|
|
6290
6318
|
});
|
|
6291
|
-
|
|
6292
|
-
}
|
|
6319
|
+
})());
|
|
6293
6320
|
|
|
6294
|
-
|
|
6295
|
-
|
|
6296
|
-
|
|
6321
|
+
const getBodyLength = async (body) => {
|
|
6322
|
+
if (body == null) {
|
|
6323
|
+
return 0;
|
|
6324
|
+
}
|
|
6297
6325
|
|
|
6298
|
-
|
|
6299
|
-
|
|
6300
|
-
|
|
6326
|
+
if (utils$1.isBlob(body)) {
|
|
6327
|
+
return body.size;
|
|
6328
|
+
}
|
|
6301
6329
|
|
|
6302
|
-
|
|
6303
|
-
|
|
6304
|
-
|
|
6305
|
-
|
|
6330
|
+
if (utils$1.isSpecCompliantForm(body)) {
|
|
6331
|
+
const _request = new Request(platform$1.origin, {
|
|
6332
|
+
method: 'POST',
|
|
6333
|
+
body,
|
|
6334
|
+
});
|
|
6335
|
+
return (await _request.arrayBuffer()).byteLength;
|
|
6336
|
+
}
|
|
6306
6337
|
|
|
6307
|
-
|
|
6308
|
-
|
|
6338
|
+
if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {
|
|
6339
|
+
return body.byteLength;
|
|
6340
|
+
}
|
|
6309
6341
|
|
|
6310
|
-
|
|
6311
|
-
|
|
6342
|
+
if (utils$1.isURLSearchParams(body)) {
|
|
6343
|
+
body = body + '';
|
|
6344
|
+
}
|
|
6312
6345
|
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
|
|
6329
|
-
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6346
|
+
if (utils$1.isString(body)) {
|
|
6347
|
+
return (await encodeText(body)).byteLength;
|
|
6348
|
+
}
|
|
6349
|
+
};
|
|
6350
|
+
|
|
6351
|
+
const resolveBodyLength = async (headers, body) => {
|
|
6352
|
+
const length = utils$1.toFiniteNumber(headers.getContentLength());
|
|
6353
|
+
|
|
6354
|
+
return length == null ? getBodyLength(body) : length;
|
|
6355
|
+
};
|
|
6356
|
+
|
|
6357
|
+
return async (config) => {
|
|
6358
|
+
let {
|
|
6359
|
+
url,
|
|
6360
|
+
method,
|
|
6361
|
+
data,
|
|
6362
|
+
signal,
|
|
6363
|
+
cancelToken,
|
|
6364
|
+
timeout,
|
|
6365
|
+
onDownloadProgress,
|
|
6366
|
+
onUploadProgress,
|
|
6367
|
+
responseType,
|
|
6368
|
+
headers,
|
|
6369
|
+
withCredentials = 'same-origin',
|
|
6370
|
+
fetchOptions
|
|
6371
|
+
} = resolveConfig(config);
|
|
6372
|
+
|
|
6373
|
+
let _fetch = envFetch || fetch;
|
|
6374
|
+
|
|
6375
|
+
responseType = responseType ? (responseType + '').toLowerCase() : 'text';
|
|
6376
|
+
|
|
6377
|
+
let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
|
|
6378
|
+
|
|
6379
|
+
let request = null;
|
|
6380
|
+
|
|
6381
|
+
const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
|
|
6336
6382
|
composedSignal.unsubscribe();
|
|
6337
|
-
|
|
6383
|
+
});
|
|
6338
6384
|
|
|
6339
|
-
|
|
6385
|
+
let requestContentLength;
|
|
6340
6386
|
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6387
|
+
try {
|
|
6388
|
+
if (
|
|
6389
|
+
onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&
|
|
6390
|
+
(requestContentLength = await resolveBodyLength(headers, data)) !== 0
|
|
6391
|
+
) {
|
|
6392
|
+
let _request = new Request(url, {
|
|
6393
|
+
method: 'POST',
|
|
6394
|
+
body: data,
|
|
6395
|
+
duplex: "half"
|
|
6396
|
+
});
|
|
6351
6397
|
|
|
6352
|
-
|
|
6398
|
+
let contentTypeHeader;
|
|
6353
6399
|
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6400
|
+
if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
|
|
6401
|
+
headers.setContentType(contentTypeHeader);
|
|
6402
|
+
}
|
|
6357
6403
|
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6404
|
+
if (_request.body) {
|
|
6405
|
+
const [onProgress, flush] = progressEventDecorator(
|
|
6406
|
+
requestContentLength,
|
|
6407
|
+
progressEventReducer(asyncDecorator(onUploadProgress))
|
|
6408
|
+
);
|
|
6363
6409
|
|
|
6364
|
-
|
|
6410
|
+
data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
|
|
6411
|
+
}
|
|
6365
6412
|
}
|
|
6366
|
-
}
|
|
6367
6413
|
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6414
|
+
if (!utils$1.isString(withCredentials)) {
|
|
6415
|
+
withCredentials = withCredentials ? 'include' : 'omit';
|
|
6416
|
+
}
|
|
6371
6417
|
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
request = new Request(url, {
|
|
6376
|
-
...fetchOptions,
|
|
6377
|
-
signal: composedSignal,
|
|
6378
|
-
method: method.toUpperCase(),
|
|
6379
|
-
headers: headers.normalize().toJSON(),
|
|
6380
|
-
body: data,
|
|
6381
|
-
duplex: "half",
|
|
6382
|
-
credentials: isCredentialsSupported ? withCredentials : undefined
|
|
6383
|
-
});
|
|
6418
|
+
// Cloudflare Workers throws when credentials are defined
|
|
6419
|
+
// see https://github.com/cloudflare/workerd/issues/902
|
|
6420
|
+
const isCredentialsSupported = isRequestSupported && "credentials" in Request.prototype;
|
|
6384
6421
|
|
|
6385
|
-
|
|
6422
|
+
const resolvedOptions = {
|
|
6423
|
+
...fetchOptions,
|
|
6424
|
+
signal: composedSignal,
|
|
6425
|
+
method: method.toUpperCase(),
|
|
6426
|
+
headers: headers.normalize().toJSON(),
|
|
6427
|
+
body: data,
|
|
6428
|
+
duplex: "half",
|
|
6429
|
+
credentials: isCredentialsSupported ? withCredentials : undefined
|
|
6430
|
+
};
|
|
6386
6431
|
|
|
6387
|
-
|
|
6432
|
+
request = isRequestSupported && new Request(url, resolvedOptions);
|
|
6388
6433
|
|
|
6389
|
-
|
|
6390
|
-
const options = {};
|
|
6434
|
+
let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));
|
|
6391
6435
|
|
|
6392
|
-
|
|
6393
|
-
options[prop] = response[prop];
|
|
6394
|
-
});
|
|
6436
|
+
const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');
|
|
6395
6437
|
|
|
6396
|
-
|
|
6438
|
+
if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {
|
|
6439
|
+
const options = {};
|
|
6397
6440
|
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
) || [];
|
|
6441
|
+
['status', 'statusText', 'headers'].forEach(prop => {
|
|
6442
|
+
options[prop] = response[prop];
|
|
6443
|
+
});
|
|
6402
6444
|
|
|
6403
|
-
|
|
6404
|
-
trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
|
|
6405
|
-
flush && flush();
|
|
6406
|
-
unsubscribe && unsubscribe();
|
|
6407
|
-
}),
|
|
6408
|
-
options
|
|
6409
|
-
);
|
|
6410
|
-
}
|
|
6445
|
+
const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));
|
|
6411
6446
|
|
|
6412
|
-
|
|
6447
|
+
const [onProgress, flush] = onDownloadProgress && progressEventDecorator(
|
|
6448
|
+
responseContentLength,
|
|
6449
|
+
progressEventReducer(asyncDecorator(onDownloadProgress), true)
|
|
6450
|
+
) || [];
|
|
6413
6451
|
|
|
6414
|
-
|
|
6452
|
+
response = new Response(
|
|
6453
|
+
trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
|
|
6454
|
+
flush && flush();
|
|
6455
|
+
unsubscribe && unsubscribe();
|
|
6456
|
+
}),
|
|
6457
|
+
options
|
|
6458
|
+
);
|
|
6459
|
+
}
|
|
6415
6460
|
|
|
6416
|
-
|
|
6461
|
+
responseType = responseType || 'text';
|
|
6417
6462
|
|
|
6418
|
-
|
|
6419
|
-
settle(resolve, reject, {
|
|
6420
|
-
data: responseData,
|
|
6421
|
-
headers: AxiosHeaders$1.from(response.headers),
|
|
6422
|
-
status: response.status,
|
|
6423
|
-
statusText: response.statusText,
|
|
6424
|
-
config,
|
|
6425
|
-
request
|
|
6426
|
-
});
|
|
6427
|
-
})
|
|
6428
|
-
} catch (err) {
|
|
6429
|
-
unsubscribe && unsubscribe();
|
|
6463
|
+
let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);
|
|
6430
6464
|
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
{
|
|
6435
|
-
|
|
6436
|
-
|
|
6437
|
-
|
|
6465
|
+
!isStreamResponse && unsubscribe && unsubscribe();
|
|
6466
|
+
|
|
6467
|
+
return await new Promise((resolve, reject) => {
|
|
6468
|
+
settle(resolve, reject, {
|
|
6469
|
+
data: responseData,
|
|
6470
|
+
headers: AxiosHeaders$1.from(response.headers),
|
|
6471
|
+
status: response.status,
|
|
6472
|
+
statusText: response.statusText,
|
|
6473
|
+
config,
|
|
6474
|
+
request
|
|
6475
|
+
});
|
|
6476
|
+
})
|
|
6477
|
+
} catch (err) {
|
|
6478
|
+
unsubscribe && unsubscribe();
|
|
6479
|
+
|
|
6480
|
+
if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
|
|
6481
|
+
throw Object.assign(
|
|
6482
|
+
new AxiosError$1('Network Error', AxiosError$1.ERR_NETWORK, config, request),
|
|
6483
|
+
{
|
|
6484
|
+
cause: err.cause || err
|
|
6485
|
+
}
|
|
6486
|
+
)
|
|
6487
|
+
}
|
|
6488
|
+
|
|
6489
|
+
throw AxiosError$1.from(err, err && err.code, config, request);
|
|
6438
6490
|
}
|
|
6491
|
+
}
|
|
6492
|
+
};
|
|
6493
|
+
|
|
6494
|
+
const seedCache = new Map();
|
|
6495
|
+
|
|
6496
|
+
const getFetch = (config) => {
|
|
6497
|
+
let env = config ? config.env : {};
|
|
6498
|
+
const {fetch, Request, Response} = env;
|
|
6499
|
+
const seeds = [
|
|
6500
|
+
Request, Response, fetch
|
|
6501
|
+
];
|
|
6502
|
+
|
|
6503
|
+
let len = seeds.length, i = len,
|
|
6504
|
+
seed, target, map = seedCache;
|
|
6439
6505
|
|
|
6440
|
-
|
|
6506
|
+
while (i--) {
|
|
6507
|
+
seed = seeds[i];
|
|
6508
|
+
target = map.get(seed);
|
|
6509
|
+
|
|
6510
|
+
target === undefined && map.set(seed, target = (i ? new Map() : factory(env)));
|
|
6511
|
+
|
|
6512
|
+
map = target;
|
|
6441
6513
|
}
|
|
6442
|
-
|
|
6514
|
+
|
|
6515
|
+
return target;
|
|
6516
|
+
};
|
|
6517
|
+
|
|
6518
|
+
getFetch();
|
|
6443
6519
|
|
|
6444
6520
|
const knownAdapters = {
|
|
6445
6521
|
http: httpAdapter,
|
|
6446
6522
|
xhr: xhrAdapter,
|
|
6447
|
-
fetch:
|
|
6523
|
+
fetch: {
|
|
6524
|
+
get: getFetch,
|
|
6525
|
+
}
|
|
6448
6526
|
};
|
|
6449
6527
|
|
|
6450
6528
|
utils$1.forEach(knownAdapters, (fn, value) => {
|
|
@@ -6463,7 +6541,7 @@ const renderReason = (reason) => `- ${reason}`;
|
|
|
6463
6541
|
const isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;
|
|
6464
6542
|
|
|
6465
6543
|
var adapters = {
|
|
6466
|
-
getAdapter: (adapters) => {
|
|
6544
|
+
getAdapter: (adapters, config) => {
|
|
6467
6545
|
adapters = utils$1.isArray(adapters) ? adapters : [adapters];
|
|
6468
6546
|
|
|
6469
6547
|
const {length} = adapters;
|
|
@@ -6486,7 +6564,7 @@ var adapters = {
|
|
|
6486
6564
|
}
|
|
6487
6565
|
}
|
|
6488
6566
|
|
|
6489
|
-
if (adapter) {
|
|
6567
|
+
if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) {
|
|
6490
6568
|
break;
|
|
6491
6569
|
}
|
|
6492
6570
|
|
|
@@ -6554,7 +6632,7 @@ function dispatchRequest(config) {
|
|
|
6554
6632
|
config.headers.setContentType('application/x-www-form-urlencoded', false);
|
|
6555
6633
|
}
|
|
6556
6634
|
|
|
6557
|
-
const adapter = adapters.getAdapter(config.adapter || defaults.adapter);
|
|
6635
|
+
const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);
|
|
6558
6636
|
|
|
6559
6637
|
return adapter(config).then(function onAdapterResolution(response) {
|
|
6560
6638
|
throwIfCancellationRequested(config);
|
|
@@ -6588,7 +6666,7 @@ function dispatchRequest(config) {
|
|
|
6588
6666
|
});
|
|
6589
6667
|
}
|
|
6590
6668
|
|
|
6591
|
-
const VERSION$1 = "1.
|
|
6669
|
+
const VERSION$1 = "1.12.2";
|
|
6592
6670
|
|
|
6593
6671
|
const validators$1 = {};
|
|
6594
6672
|
|
|
@@ -6844,8 +6922,6 @@ let Axios$1 = class Axios {
|
|
|
6844
6922
|
|
|
6845
6923
|
let newConfig = config;
|
|
6846
6924
|
|
|
6847
|
-
i = 0;
|
|
6848
|
-
|
|
6849
6925
|
while (i < len) {
|
|
6850
6926
|
const onFulfilled = requestInterceptorChain[i++];
|
|
6851
6927
|
const onRejected = requestInterceptorChain[i++];
|
|
@@ -7369,10 +7445,10 @@ var Client = class {
|
|
|
7369
7445
|
async getCheckoutShippingRates(clientSecret, checkoutId) {
|
|
7370
7446
|
const apiClient = createApiClient(clientSecret, this.proxy);
|
|
7371
7447
|
const data = await apiClient.get(
|
|
7372
|
-
`/checkout
|
|
7448
|
+
`/checkout/${checkoutId}/shipping/rates`
|
|
7373
7449
|
);
|
|
7374
|
-
if ("isError" in data && data.isError || !data || !
|
|
7375
|
-
return
|
|
7450
|
+
if ("isError" in data && data.isError || !data || !("rates" in data)) {
|
|
7451
|
+
return {};
|
|
7376
7452
|
}
|
|
7377
7453
|
return data;
|
|
7378
7454
|
}
|
|
@@ -7467,109 +7543,11 @@ var Client = class {
|
|
|
7467
7543
|
}
|
|
7468
7544
|
};
|
|
7469
7545
|
var client_default = Client;
|
|
7470
|
-
|
|
7471
|
-
// src/helpers/index.ts
|
|
7472
|
-
var currencyLocales = {
|
|
7473
|
-
CZK: "cs-CZ",
|
|
7474
|
-
// Czech Koruna
|
|
7475
|
-
USD: "en-US",
|
|
7476
|
-
// US Dollar
|
|
7477
|
-
EUR: "de-DE",
|
|
7478
|
-
// Euro (Germany locale)
|
|
7479
|
-
GBP: "en-GB",
|
|
7480
|
-
// British Pound
|
|
7481
|
-
JPY: "ja-JP",
|
|
7482
|
-
// Japanese Yen
|
|
7483
|
-
AUD: "en-AU",
|
|
7484
|
-
// Australian Dollar
|
|
7485
|
-
CAD: "en-CA",
|
|
7486
|
-
// Canadian Dollar
|
|
7487
|
-
NZD: "en-NZ",
|
|
7488
|
-
// New Zealand Dollar
|
|
7489
|
-
SEK: "sv-SE",
|
|
7490
|
-
// Swedish Krona
|
|
7491
|
-
NOK: "nb-NO",
|
|
7492
|
-
// Norwegian Krone
|
|
7493
|
-
DKK: "da-DK",
|
|
7494
|
-
// Danish Krone
|
|
7495
|
-
CHF: "de-CH",
|
|
7496
|
-
// Swiss Franc (German Switzerland)
|
|
7497
|
-
HUF: "hu-HU",
|
|
7498
|
-
// Hungarian Forint
|
|
7499
|
-
PLN: "pl-PL",
|
|
7500
|
-
// Polish Zloty
|
|
7501
|
-
BGN: "bg-BG",
|
|
7502
|
-
// Bulgarian Lev
|
|
7503
|
-
RON: "ro-RO",
|
|
7504
|
-
// Romanian Leu
|
|
7505
|
-
RUB: "ru-RU",
|
|
7506
|
-
// Russian Ruble
|
|
7507
|
-
CNY: "zh-CN",
|
|
7508
|
-
// Chinese Yuan
|
|
7509
|
-
INR: "en-IN",
|
|
7510
|
-
// Indian Rupee
|
|
7511
|
-
BRL: "pt-BR",
|
|
7512
|
-
// Brazilian Real
|
|
7513
|
-
MXN: "es-MX",
|
|
7514
|
-
// Mexican Peso
|
|
7515
|
-
ZAR: "en-ZA",
|
|
7516
|
-
// South African Rand
|
|
7517
|
-
KRW: "ko-KR",
|
|
7518
|
-
// South Korean Won
|
|
7519
|
-
MYR: "ms-MY",
|
|
7520
|
-
// Malaysian Ringgit
|
|
7521
|
-
SGD: "en-SG",
|
|
7522
|
-
// Singapore Dollar
|
|
7523
|
-
TWD: "zh-TW",
|
|
7524
|
-
// Taiwanese Dollar
|
|
7525
|
-
THB: "th-TH",
|
|
7526
|
-
// Thai Baht
|
|
7527
|
-
IDR: "id-ID",
|
|
7528
|
-
// Indonesian Rupiah
|
|
7529
|
-
AED: "ar-AE",
|
|
7530
|
-
// UAE Dirham
|
|
7531
|
-
SAR: "ar-SA",
|
|
7532
|
-
// Saudi Riyal
|
|
7533
|
-
TRY: "tr-TR"
|
|
7534
|
-
// Turkish Lira
|
|
7535
|
-
};
|
|
7536
|
-
var Helpers = class {
|
|
7537
|
-
proxy;
|
|
7538
|
-
constructor(proxy) {
|
|
7539
|
-
this.proxy = proxy;
|
|
7540
|
-
}
|
|
7541
|
-
formatCurrency(currency) {
|
|
7542
|
-
const locale = currencyLocales[currency.toUpperCase()] ?? void 0;
|
|
7543
|
-
const formattedCurrency = new Intl.NumberFormat(locale, {
|
|
7544
|
-
style: "currency",
|
|
7545
|
-
currency,
|
|
7546
|
-
currencyDisplay: "symbol"
|
|
7547
|
-
});
|
|
7548
|
-
return formattedCurrency.format(0).replace(/[\d.,\s]/g, "").trim();
|
|
7549
|
-
}
|
|
7550
|
-
formatPrice(priceInCents, currency, exchangeRate) {
|
|
7551
|
-
const amount = priceInCents / 100 * (exchangeRate ?? 1);
|
|
7552
|
-
const isWhole = amount % 1 === 0;
|
|
7553
|
-
const locale = currencyLocales[currency.toUpperCase()] ?? void 0;
|
|
7554
|
-
const formattedPrice = new Intl.NumberFormat(locale, {
|
|
7555
|
-
style: "currency",
|
|
7556
|
-
currency,
|
|
7557
|
-
currencyDisplay: "symbol",
|
|
7558
|
-
minimumFractionDigits: isWhole ? 0 : 2,
|
|
7559
|
-
maximumFractionDigits: isWhole ? 0 : 2
|
|
7560
|
-
}).format(amount);
|
|
7561
|
-
return formattedPrice;
|
|
7562
|
-
}
|
|
7563
|
-
};
|
|
7564
|
-
var helpers_default = Helpers;
|
|
7565
7546
|
function createStoreClient(config) {
|
|
7566
7547
|
return new client_default(config?.proxy);
|
|
7567
7548
|
}
|
|
7568
|
-
function createStoreHelpers(config) {
|
|
7569
|
-
return new helpers_default(config?.proxy);
|
|
7570
|
-
}
|
|
7571
7549
|
|
|
7572
|
-
var css_248z = "/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: var(--font-sans), Helvetica, Arial, apple-system, sans-serif;\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 --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\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(--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 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 ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\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 ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-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;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .-top-2 {\n top: calc(var(--spacing) * -2);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-0\\.5 {\n top: calc(var(--spacing) * 0.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .top-full {\n top: 100%;\n }\n .-right-2 {\n right: calc(var(--spacing) * -2);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .z-0 {\n z-index: 0;\n }\n .z-10 {\n z-index: 10;\n }\n .z-50 {\n z-index: 50;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-6 {\n order: 6;\n }\n .order-7 {\n order: 7;\n }\n .order-first {\n order: -9999;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-0\\.5 {\n margin: calc(var(--spacing) * -0.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .-mt-1 {\n margin-top: calc(var(--spacing) * -1);\n }\n .-mt-2 {\n margin-top: calc(var(--spacing) * -2);\n }\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .-mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * -0.5);\n }\n .-mb-2 {\n margin-bottom: calc(var(--spacing) * -2);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline-flex {\n display: inline-flex;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-16 {\n width: calc(var(--spacing) * 16);\n height: calc(var(--spacing) * 16);\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-\\[2px\\] {\n height: 2px;\n }\n .h-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[44px\\] {\n height: 44px;\n }\n .h-auto {\n height: auto;\n }\n .h-auto\\! {\n height: auto !important;\n }\n .h-full {\n height: 100%;\n }\n .h-max {\n height: max-content;\n }\n .h-px {\n height: 1px;\n }\n .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .max-h-0 {\n max-height: calc(var(--spacing) * 0);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .min-h-full {\n min-height: 100%;\n }\n .w-0 {\n width: calc(var(--spacing) * 0);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-32 {\n width: calc(var(--spacing) * 32);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-full {\n width: 100%;\n }\n .max-w-0 {\n max-width: calc(var(--spacing) * 0);\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .flex-1 {\n flex: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n }\n .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin);\n }\n .-translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * -0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-3 {\n --tw-translate-x: calc(var(--spacing) * -3);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-2 {\n --tw-translate-x: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1);\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius);\n }\n .rounded-md {\n border-radius: calc(var(--radius) - 2px);\n }\n .rounded-sm {\n border-radius: calc(var(--radius) - 4px);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-border {\n border-color: var(--border);\n }\n .border-input {\n border-color: var(--input);\n }\n .border-primary {\n border-color: var(--primary);\n }\n .bg-accent {\n background-color: var(--accent);\n }\n .bg-background {\n background-color: var(--background);\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-border {\n background-color: var(--border);\n }\n .bg-destructive {\n background-color: var(--destructive);\n }\n .bg-muted {\n background-color: var(--muted);\n }\n .bg-popover {\n background-color: var(--popover);\n }\n .bg-primary {\n background-color: var(--primary);\n }\n .bg-secondary {\n background-color: var(--secondary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-primary {\n fill: var(--primary);\n }\n .object-cover {\n object-fit: cover;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-40 {\n padding-bottom: calc(var(--spacing) * 40);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-background {\n color: var(--background);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--destructive);\n }\n .text-destructive-foreground {\n color: var(--destructive-foreground);\n }\n .text-foreground {\n color: var(--foreground);\n }\n .text-muted-foreground {\n color: var(--muted-foreground);\n }\n .text-popover-foreground {\n color: var(--popover-foreground);\n }\n .text-primary {\n color: var(--primary);\n }\n .text-primary-foreground {\n color: var(--primary-foreground);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-ring {\n color: var(--ring);\n }\n .text-secondary-foreground {\n color: var(--secondary-foreground);\n }\n .text-white {\n color: var(--color-white);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .underline {\n text-decoration-line: underline;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow {\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--background);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\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;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .duration-200 {\n animation-duration: 200ms;\n }\n .ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .file\\:text-foreground {\n &::file-selector-button {\n color: var(--foreground);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--muted-foreground);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:top-1\\/2 {\n &::after {\n content: var(--tw-content);\n top: calc(1/2 * 100%);\n }\n }\n .after\\:right-0 {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-0 {\n &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .after\\:z-0 {\n &::after {\n content: var(--tw-content);\n z-index: 0;\n }\n }\n .after\\:h-px {\n &::after {\n content: var(--tw-content);\n height: 1px;\n }\n }\n .after\\:-translate-y-1\\/2 {\n &::after {\n content: var(--tw-content);\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .after\\:bg-background {\n &::after {\n content: var(--tw-content);\n background-color: var(--background);\n }\n }\n .after\\:content-\\[\\'\\'\\] {\n &::after {\n content: var(--tw-content);\n --tw-content: '';\n content: var(--tw-content);\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--accent);\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--muted);\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--primary);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--secondary);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--accent-foreground);\n }\n }\n }\n .hover\\:text-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--foreground);\n }\n }\n }\n .hover\\:text-muted-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--muted-foreground);\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--accent);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--accent-foreground);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--ring);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus-visible\\:border-ring {\n &:focus-visible {\n border-color: var(--ring);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-ring\\/50 {\n &:focus-visible {\n --tw-ring-color: var(--ring);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);\n }\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .has-\\[\\>svg\\]\\:px-2\\.5 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n }\n .has-\\[\\>svg\\]\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .has-\\[\\>svg\\]\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 4);\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--destructive);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive-foreground {\n &[data-error=\"true\"] {\n color: var(--destructive-foreground);\n }\n }\n .data-\\[inset\\]\\:pl-8 {\n &[data-inset] {\n padding-left: calc(var(--spacing) * 8);\n }\n }\n .data-\\[selected\\=true\\]\\:bg-accent {\n &[data-selected=\"true\"] {\n background-color: var(--accent);\n }\n }\n .data-\\[selected\\=true\\]\\:text-accent-foreground {\n &[data-selected=\"true\"] {\n color: var(--accent-foreground);\n }\n }\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n }\n }\n .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n }\n }\n .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n }\n }\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n }\n }\n .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 {\n :is(& *) {\n &[data-slot=\"command-input-wrapper\"] {\n height: calc(var(--spacing) * 12);\n }\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--primary-foreground);\n }\n }\n .data-\\[state\\=closed\\]\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n }\n }\n .data-\\[state\\=closed\\]\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n }\n .data-\\[state\\=closed\\]\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--accent);\n }\n }\n .data-\\[state\\=open\\]\\:text-accent-foreground {\n &[data-state=\"open\"] {\n color: var(--accent-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n }\n .data-\\[state\\=open\\]\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n }\n .data-\\[state\\=open\\]\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n }\n .data-\\[variant\\=destructive\\]\\:text-destructive {\n &[data-variant=\"destructive\"] {\n color: var(--destructive);\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 10%, transparent);\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n &[data-variant=\"destructive\"] {\n &:focus {\n color: var(--destructive);\n }\n }\n }\n .max-md\\:cursor-pointer {\n @media (width < 48rem) {\n cursor: pointer;\n }\n }\n .max-sm\\:hidden {\n @media (width < 40rem) {\n display: none;\n }\n }\n .max-sm\\:h-\\[52px\\] {\n @media (width < 40rem) {\n height: 52px;\n }\n }\n .sm\\:static {\n @media (width >= 40rem) {\n position: static;\n }\n }\n .sm\\:w-fit {\n @media (width >= 40rem) {\n width: fit-content;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:bg-transparent {\n @media (width >= 40rem) {\n background-color: transparent;\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pb-0 {\n @media (width >= 40rem) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .md\\:order-last {\n @media (width >= 48rem) {\n order: 9999;\n }\n }\n .md\\:order-none {\n @media (width >= 48rem) {\n order: 0;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2;\n }\n }\n .md\\:col-span-3 {\n @media (width >= 48rem) {\n grid-column: span 3 / span 3;\n }\n }\n .md\\:col-span-4 {\n @media (width >= 48rem) {\n grid-column: span 4 / span 4;\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:grid {\n @media (width >= 48rem) {\n display: grid;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:max-w-\\[75\\%\\] {\n @media (width >= 48rem) {\n max-width: 75%;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-7 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n }\n }\n .md\\:gap-0 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 0);\n }\n }\n .md\\:px-8 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .md\\:py-12 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 12);\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);\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(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);\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(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 {\n & [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 {\n & [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs {\n & [cmdk-group-heading] {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium {\n & [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground {\n & [cmdk-group-heading] {\n color: var(--muted-foreground);\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\]\\:px-2 {\n & [cmdk-group] {\n padding-inline: calc(var(--spacing) * 2);\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);\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 {\n & [cmdk-input-wrapper] svg {\n height: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 {\n & [cmdk-input-wrapper] svg {\n width: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-input\\]\\]\\:h-12 {\n & [cmdk-input] {\n height: calc(var(--spacing) * 12);\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:px-2 {\n & [cmdk-item] {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:py-3 {\n & [cmdk-item] {\n padding-block: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 {\n & [cmdk-item] svg {\n height: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 {\n & [cmdk-item] svg {\n width: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground {\n & svg:not([class*='text-']) {\n color: var(--muted-foreground);\n }\n }\n .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive {\n &[data-variant=\"destructive\"] {\n :is(& > *) {\n &:is(svg) {\n color: var(--destructive) !important;\n }\n }\n }\n }\n}\n@layer base {\n ::selection {\n background-color: var(--primary);\n color: var(--primary-foreground);\n }\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n input:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px var(--muted) inset !important;\n -webkit-text-fill-color: var(--foreground) !important;\n }\n input:-moz-autofill,\n input:autofill {\n background-color: var(--muted);\n color: var(--foreground);\n }\n * {\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--border);\n outline-color: var(--ring);\n @supports (color: color-mix(in lab, red, red)) {\n outline-color: color-mix(in oklab, var(--ring) 50%, transparent);\n }\n }\n .checkout-embed {\n background-color: var(--background);\n font-family: var(--font-sans), Helvetica, Arial, apple-system, sans-serif;\n color: var(--foreground);\n }\n h2 {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n p {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n}\n@layer utilities {\n .scrollbar-hidden {\n scrollbar-width: none;\n }\n .scrollbar-hidden::-webkit-scrollbar {\n display: none;\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-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@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\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-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 --tw-ease: initial;\n --tw-content: \"\";\n }\n }\n}\n";
|
|
7550
|
+
var css_248z = "/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: var(--font-sans), Helvetica, Arial, apple-system, sans-serif;\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 --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\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(--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 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 ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\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 ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-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;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .-top-2 {\n top: calc(var(--spacing) * -2);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-0\\.5 {\n top: calc(var(--spacing) * 0.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .top-full {\n top: 100%;\n }\n .-right-2 {\n right: calc(var(--spacing) * -2);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .z-0 {\n z-index: 0;\n }\n .z-10 {\n z-index: 10;\n }\n .z-50 {\n z-index: 50;\n }\n .order-3 {\n order: 3;\n }\n .order-4 {\n order: 4;\n }\n .order-5 {\n order: 5;\n }\n .order-6 {\n order: 6;\n }\n .order-7 {\n order: 7;\n }\n .order-first {\n order: -9999;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-0\\.5 {\n margin: calc(var(--spacing) * -0.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .-mt-1 {\n margin-top: calc(var(--spacing) * -1);\n }\n .-mt-2 {\n margin-top: calc(var(--spacing) * -2);\n }\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .-mb-0\\.5 {\n margin-bottom: calc(var(--spacing) * -0.5);\n }\n .-mb-2 {\n margin-bottom: calc(var(--spacing) * -2);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline-flex {\n display: inline-flex;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n height: calc(var(--spacing) * 3.5);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-16 {\n width: calc(var(--spacing) * 16);\n height: calc(var(--spacing) * 16);\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-\\[2px\\] {\n height: 2px;\n }\n .h-\\[18px\\] {\n height: 18px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[44px\\] {\n height: 44px;\n }\n .h-auto {\n height: auto;\n }\n .h-auto\\! {\n height: auto !important;\n }\n .h-full {\n height: 100%;\n }\n .h-max {\n height: max-content;\n }\n .h-px {\n height: 1px;\n }\n .max-h-\\(--radix-dropdown-menu-content-available-height\\) {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .max-h-0 {\n max-height: calc(var(--spacing) * 0);\n }\n .max-h-60 {\n max-height: calc(var(--spacing) * 60);\n }\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n .min-h-full {\n min-height: 100%;\n }\n .w-0 {\n width: calc(var(--spacing) * 0);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-28 {\n width: calc(var(--spacing) * 28);\n }\n .w-32 {\n width: calc(var(--spacing) * 32);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-full {\n width: 100%;\n }\n .max-w-0 {\n max-width: calc(var(--spacing) * 0);\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .flex-1 {\n flex: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .origin-\\(--radix-dropdown-menu-content-transform-origin\\) {\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n }\n .origin-\\(--radix-popover-content-transform-origin\\) {\n transform-origin: var(--radix-popover-content-transform-origin);\n }\n .-translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * -0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-3 {\n --tw-translate-x: calc(var(--spacing) * -3);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-2 {\n --tw-translate-x: calc(var(--spacing) * 2);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .scroll-py-1 {\n scroll-padding-block: calc(var(--spacing) * 1);\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-0\\.5 {\n gap: calc(var(--spacing) * 0.5);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius);\n }\n .rounded-md {\n border-radius: calc(var(--radius) - 2px);\n }\n .rounded-sm {\n border-radius: calc(var(--radius) - 4px);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-border {\n border-color: var(--border);\n }\n .border-input {\n border-color: var(--input);\n }\n .border-primary {\n border-color: var(--primary);\n }\n .bg-accent {\n background-color: var(--accent);\n }\n .bg-background {\n background-color: var(--background);\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-border {\n background-color: var(--border);\n }\n .bg-destructive {\n background-color: var(--destructive);\n }\n .bg-muted {\n background-color: var(--muted);\n }\n .bg-popover {\n background-color: var(--popover);\n }\n .bg-primary {\n background-color: var(--primary);\n }\n .bg-secondary {\n background-color: var(--secondary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-primary {\n fill: var(--primary);\n }\n .object-cover {\n object-fit: cover;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-40 {\n padding-bottom: calc(var(--spacing) * 40);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[13px\\] {\n font-size: 13px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-background {\n color: var(--background);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--destructive);\n }\n .text-destructive-foreground {\n color: var(--destructive-foreground);\n }\n .text-foreground {\n color: var(--foreground);\n }\n .text-muted-foreground {\n color: var(--muted-foreground);\n }\n .text-popover-foreground {\n color: var(--popover-foreground);\n }\n .text-primary {\n color: var(--primary);\n }\n .text-primary-foreground {\n color: var(--primary-foreground);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-ring {\n color: var(--ring);\n }\n .text-secondary-foreground {\n color: var(--secondary-foreground);\n }\n .text-white {\n color: var(--color-white);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .underline {\n text-decoration-line: underline;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow {\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--background);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\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, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .duration-200 {\n animation-duration: 200ms;\n }\n .ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n .group-data-\\[disabled\\=true\\]\\:pointer-events-none {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n pointer-events: none;\n }\n }\n .group-data-\\[disabled\\=true\\]\\:opacity-50 {\n &:is(:where(.group)[data-disabled=\"true\"] *) {\n opacity: 50%;\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-50 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 50%;\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .file\\:text-foreground {\n &::file-selector-button {\n color: var(--foreground);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--muted-foreground);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:top-1\\/2 {\n &::after {\n content: var(--tw-content);\n top: calc(1/2 * 100%);\n }\n }\n .after\\:right-0 {\n &::after {\n content: var(--tw-content);\n right: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-0 {\n &::after {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .after\\:z-0 {\n &::after {\n content: var(--tw-content);\n z-index: 0;\n }\n }\n .after\\:h-px {\n &::after {\n content: var(--tw-content);\n height: 1px;\n }\n }\n .after\\:-translate-y-1\\/2 {\n &::after {\n content: var(--tw-content);\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .after\\:bg-background {\n &::after {\n content: var(--tw-content);\n background-color: var(--background);\n }\n }\n .after\\:content-\\[\\'\\'\\] {\n &::after {\n --tw-content: '';\n content: var(--tw-content);\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--accent);\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--muted);\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--primary);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--secondary);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--accent-foreground);\n }\n }\n }\n .hover\\:text-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--foreground);\n }\n }\n }\n .hover\\:text-muted-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--muted-foreground);\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--accent);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--accent-foreground);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--ring);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus-visible\\:border-ring {\n &:focus-visible {\n border-color: var(--ring);\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);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-ring\\/50 {\n &:focus-visible {\n --tw-ring-color: var(--ring);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);\n }\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .has-\\[\\>svg\\]\\:px-2\\.5 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n }\n .has-\\[\\>svg\\]\\:px-3 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 3);\n }\n }\n .has-\\[\\>svg\\]\\:px-4 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 4);\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--destructive);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[disabled\\=true\\]\\:pointer-events-none {\n &[data-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\=true\\]\\:opacity-50 {\n &[data-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive-foreground {\n &[data-error=\"true\"] {\n color: var(--destructive-foreground);\n }\n }\n .data-\\[inset\\]\\:pl-8 {\n &[data-inset] {\n padding-left: calc(var(--spacing) * 8);\n }\n }\n .data-\\[selected\\=true\\]\\:bg-accent {\n &[data-selected=\"true\"] {\n background-color: var(--accent);\n }\n }\n .data-\\[selected\\=true\\]\\:text-accent-foreground {\n &[data-selected=\"true\"] {\n color: var(--accent-foreground);\n }\n }\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2 {\n &[data-side=\"bottom\"] {\n --tw-enter-translate-y: -0.5rem;\n }\n }\n .data-\\[side\\=left\\]\\:slide-in-from-right-2 {\n &[data-side=\"left\"] {\n --tw-enter-translate-x: 0.5rem;\n }\n }\n .data-\\[side\\=right\\]\\:slide-in-from-left-2 {\n &[data-side=\"right\"] {\n --tw-enter-translate-x: -0.5rem;\n }\n }\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2 {\n &[data-side=\"top\"] {\n --tw-enter-translate-y: 0.5rem;\n }\n }\n .\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 {\n :is(& *) {\n &[data-slot=\"command-input-wrapper\"] {\n height: calc(var(--spacing) * 12);\n }\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--primary-foreground);\n }\n }\n .data-\\[state\\=closed\\]\\:animate-out {\n &[data-state=\"closed\"] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n }\n }\n .data-\\[state\\=closed\\]\\:fade-out-0 {\n &[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n }\n .data-\\[state\\=closed\\]\\:zoom-out-95 {\n &[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--accent);\n }\n }\n .data-\\[state\\=open\\]\\:text-accent-foreground {\n &[data-state=\"open\"] {\n color: var(--accent-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:animate-in {\n &[data-state=\"open\"] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n }\n }\n .data-\\[state\\=open\\]\\:fade-in-0 {\n &[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n }\n .data-\\[state\\=open\\]\\:zoom-in-95 {\n &[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n }\n .data-\\[variant\\=destructive\\]\\:text-destructive {\n &[data-variant=\"destructive\"] {\n color: var(--destructive);\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10 {\n &[data-variant=\"destructive\"] {\n &:focus {\n background-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 10%, transparent);\n }\n }\n }\n }\n .data-\\[variant\\=destructive\\]\\:focus\\:text-destructive {\n &[data-variant=\"destructive\"] {\n &:focus {\n color: var(--destructive);\n }\n }\n }\n .max-md\\:cursor-pointer {\n @media (width < 48rem) {\n cursor: pointer;\n }\n }\n .max-sm\\:hidden {\n @media (width < 40rem) {\n display: none;\n }\n }\n .max-sm\\:h-\\[52px\\] {\n @media (width < 40rem) {\n height: 52px;\n }\n }\n .sm\\:static {\n @media (width >= 40rem) {\n position: static;\n }\n }\n .sm\\:w-fit {\n @media (width >= 40rem) {\n width: fit-content;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:bg-transparent {\n @media (width >= 40rem) {\n background-color: transparent;\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pb-0 {\n @media (width >= 40rem) {\n padding-bottom: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .md\\:order-last {\n @media (width >= 48rem) {\n order: 9999;\n }\n }\n .md\\:order-none {\n @media (width >= 48rem) {\n order: 0;\n }\n }\n .md\\:col-span-2 {\n @media (width >= 48rem) {\n grid-column: span 2 / span 2;\n }\n }\n .md\\:col-span-3 {\n @media (width >= 48rem) {\n grid-column: span 3 / span 3;\n }\n }\n .md\\:col-span-4 {\n @media (width >= 48rem) {\n grid-column: span 4 / span 4;\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:grid {\n @media (width >= 48rem) {\n display: grid;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:max-w-\\[75\\%\\] {\n @media (width >= 48rem) {\n max-width: 75%;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .md\\:grid-cols-7 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n }\n }\n .md\\:gap-0 {\n @media (width >= 48rem) {\n gap: calc(var(--spacing) * 0);\n }\n }\n .md\\:px-8 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .md\\:py-12 {\n @media (width >= 48rem) {\n padding-block: calc(var(--spacing) * 12);\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: var(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);\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(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);\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(--destructive);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--destructive) 20%, transparent);\n }\n }\n }\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 {\n & [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 {\n & [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs {\n & [cmdk-group-heading] {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium {\n & [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground {\n & [cmdk-group-heading] {\n color: var(--muted-foreground);\n }\n }\n .\\[\\&_\\[cmdk-group\\]\\]\\:px-2 {\n & [cmdk-group] {\n padding-inline: calc(var(--spacing) * 2);\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);\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 {\n & [cmdk-input-wrapper] svg {\n height: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 {\n & [cmdk-input-wrapper] svg {\n width: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-input\\]\\]\\:h-12 {\n & [cmdk-input] {\n height: calc(var(--spacing) * 12);\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:px-2 {\n & [cmdk-item] {\n padding-inline: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&_\\[cmdk-item\\]\\]\\:py-3 {\n & [cmdk-item] {\n padding-block: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 {\n & [cmdk-item] svg {\n height: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 {\n & [cmdk-item] svg {\n width: calc(var(--spacing) * 5);\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground {\n & svg:not([class*='text-']) {\n color: var(--muted-foreground);\n }\n }\n .data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive {\n &[data-variant=\"destructive\"] {\n :is(& > *) {\n &:is(svg) {\n color: var(--destructive) !important;\n }\n }\n }\n }\n}\n@layer base {\n ::selection {\n background-color: var(--primary);\n color: var(--primary-foreground);\n }\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n input:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px var(--muted) inset !important;\n -webkit-text-fill-color: var(--foreground) !important;\n }\n input:-moz-autofill,\n input:autofill {\n background-color: var(--muted);\n color: var(--foreground);\n }\n * {\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--border);\n outline-color: var(--ring);\n @supports (color: color-mix(in lab, red, red)) {\n outline-color: color-mix(in oklab, var(--ring) 50%, transparent);\n }\n }\n .checkout-embed {\n background-color: var(--background);\n font-family: var(--font-sans), Helvetica, Arial, apple-system, sans-serif;\n color: var(--foreground);\n }\n h2 {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n p {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n}\n@layer utilities {\n .scrollbar-hidden {\n scrollbar-width: none;\n }\n .scrollbar-hidden::-webkit-scrollbar {\n display: none;\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-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@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\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-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 --tw-ease: initial;\n --tw-content: \"\";\n }\n }\n}\n";
|
|
7573
7551
|
|
|
7574
7552
|
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__namespace.createContext(void 0),U$1={setTheme:e=>{},themes:[]},z=()=>{var e;return (e=React__namespace.useContext(x))!=null?e:U$1};React__namespace.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__namespace.createElement("script",{...w,suppressHydrationWarning:true,nonce:typeof window=="undefined"?d:"",dangerouslySetInnerHTML:{__html:`(${M$1.toString()})(${p})`}})});
|
|
7575
7553
|
|
|
@@ -17264,14 +17242,18 @@ var ZodFirstPartyTypeKind;
|
|
|
17264
17242
|
const stringType = ZodString.create;
|
|
17265
17243
|
const numberType = ZodNumber.create;
|
|
17266
17244
|
const booleanType = ZodBoolean.create;
|
|
17245
|
+
const dateType = ZodDate.create;
|
|
17246
|
+
const nullType = ZodNull.create;
|
|
17247
|
+
const anyType = ZodAny.create;
|
|
17267
17248
|
ZodNever.create;
|
|
17268
|
-
ZodArray.create;
|
|
17249
|
+
const arrayType = ZodArray.create;
|
|
17269
17250
|
const objectType = ZodObject.create;
|
|
17270
|
-
ZodUnion.create;
|
|
17251
|
+
const unionType = ZodUnion.create;
|
|
17271
17252
|
ZodIntersection.create;
|
|
17272
17253
|
ZodTuple.create;
|
|
17273
17254
|
const recordType = ZodRecord.create;
|
|
17274
|
-
|
|
17255
|
+
const lazyType = ZodLazy.create;
|
|
17256
|
+
const enumType = ZodEnum.create;
|
|
17275
17257
|
ZodPromise.create;
|
|
17276
17258
|
const optionalType = ZodOptional.create;
|
|
17277
17259
|
ZodNullable.create;
|
|
@@ -17284,13 +17266,14 @@ const customerSchema = objectType({
|
|
|
17284
17266
|
lastName: stringType().min(1, "required_error"),
|
|
17285
17267
|
address: objectType({
|
|
17286
17268
|
line1: stringType().min(1, "required_error"),
|
|
17287
|
-
line2: stringType().
|
|
17269
|
+
line2: stringType().nullable(),
|
|
17288
17270
|
city: stringType().min(1, "required_error"),
|
|
17289
|
-
province: stringType().
|
|
17290
|
-
provinceCode: stringType().
|
|
17271
|
+
province: stringType().nullable(),
|
|
17272
|
+
provinceCode: stringType().nullable(),
|
|
17291
17273
|
zipCode: stringType().min(5, "invalid_zipCode"),
|
|
17292
17274
|
country: stringType().min(1, "required_error"),
|
|
17293
17275
|
countryCode: stringType().min(1, "required_error"),
|
|
17276
|
+
company: stringType().nullable(),
|
|
17294
17277
|
}),
|
|
17295
17278
|
phone: stringType().regex(phoneRegex, "invalid_phone"),
|
|
17296
17279
|
isEmailSubscribed: booleanType().optional(),
|
|
@@ -17874,6 +17857,7 @@ function useController(props) {
|
|
|
17874
17857
|
exact: true,
|
|
17875
17858
|
});
|
|
17876
17859
|
const _props = React.useRef(props);
|
|
17860
|
+
const _previousNameRef = React.useRef(undefined);
|
|
17877
17861
|
const _registerProps = React.useRef(control.register(name, {
|
|
17878
17862
|
...props.rules,
|
|
17879
17863
|
value,
|
|
@@ -17939,6 +17923,10 @@ function useController(props) {
|
|
|
17939
17923
|
}), [name, disabled, formState.disabled, onChange, onBlur, ref, value]);
|
|
17940
17924
|
React.useEffect(() => {
|
|
17941
17925
|
const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
|
|
17926
|
+
const previousName = _previousNameRef.current;
|
|
17927
|
+
if (previousName && previousName !== name && !isArrayField) {
|
|
17928
|
+
control.unregister(previousName);
|
|
17929
|
+
}
|
|
17942
17930
|
control.register(name, {
|
|
17943
17931
|
..._props.current.rules,
|
|
17944
17932
|
...(isBoolean(_props.current.disabled)
|
|
@@ -17960,6 +17948,7 @@ function useController(props) {
|
|
|
17960
17948
|
}
|
|
17961
17949
|
}
|
|
17962
17950
|
!isArrayField && control.register(name);
|
|
17951
|
+
_previousNameRef.current = name;
|
|
17963
17952
|
return () => {
|
|
17964
17953
|
(isArrayField
|
|
17965
17954
|
? _shouldUnregisterField && !control._state.action
|
|
@@ -18065,6 +18054,26 @@ var createSubject = () => {
|
|
|
18065
18054
|
};
|
|
18066
18055
|
};
|
|
18067
18056
|
|
|
18057
|
+
function extractFormValues(fieldsState, formValues) {
|
|
18058
|
+
const values = {};
|
|
18059
|
+
for (const key in fieldsState) {
|
|
18060
|
+
if (fieldsState.hasOwnProperty(key)) {
|
|
18061
|
+
const fieldState = fieldsState[key];
|
|
18062
|
+
const fieldValue = formValues[key];
|
|
18063
|
+
if (fieldState && isObject(fieldState) && fieldValue) {
|
|
18064
|
+
const nestedFieldsState = extractFormValues(fieldState, fieldValue);
|
|
18065
|
+
if (isObject(nestedFieldsState)) {
|
|
18066
|
+
values[key] = nestedFieldsState;
|
|
18067
|
+
}
|
|
18068
|
+
}
|
|
18069
|
+
else if (fieldsState[key]) {
|
|
18070
|
+
values[key] = fieldValue;
|
|
18071
|
+
}
|
|
18072
|
+
}
|
|
18073
|
+
}
|
|
18074
|
+
return values;
|
|
18075
|
+
}
|
|
18076
|
+
|
|
18068
18077
|
var isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;
|
|
18069
18078
|
|
|
18070
18079
|
var isFileInput = (element) => element.type === 'file';
|
|
@@ -18133,46 +18142,40 @@ var objectHasFunction = (data) => {
|
|
|
18133
18142
|
return false;
|
|
18134
18143
|
};
|
|
18135
18144
|
|
|
18145
|
+
function isTraversable(value) {
|
|
18146
|
+
return Array.isArray(value) || (isObject(value) && !objectHasFunction(value));
|
|
18147
|
+
}
|
|
18136
18148
|
function markFieldsDirty(data, fields = {}) {
|
|
18137
|
-
const
|
|
18138
|
-
|
|
18139
|
-
|
|
18140
|
-
|
|
18141
|
-
|
|
18142
|
-
|
|
18143
|
-
|
|
18144
|
-
}
|
|
18145
|
-
else if (!isNullOrUndefined(data[key])) {
|
|
18146
|
-
fields[key] = true;
|
|
18147
|
-
}
|
|
18149
|
+
for (const key in data) {
|
|
18150
|
+
if (isTraversable(data[key])) {
|
|
18151
|
+
fields[key] = Array.isArray(data[key]) ? [] : {};
|
|
18152
|
+
markFieldsDirty(data[key], fields[key]);
|
|
18153
|
+
}
|
|
18154
|
+
else if (!isNullOrUndefined(data[key])) {
|
|
18155
|
+
fields[key] = true;
|
|
18148
18156
|
}
|
|
18149
18157
|
}
|
|
18150
18158
|
return fields;
|
|
18151
18159
|
}
|
|
18152
|
-
function
|
|
18153
|
-
|
|
18154
|
-
|
|
18155
|
-
|
|
18156
|
-
|
|
18157
|
-
|
|
18158
|
-
|
|
18159
|
-
|
|
18160
|
-
dirtyFieldsFromValues[key] = Array.isArray(data[key])
|
|
18161
|
-
? markFieldsDirty(data[key], [])
|
|
18162
|
-
: { ...markFieldsDirty(data[key]) };
|
|
18163
|
-
}
|
|
18164
|
-
else {
|
|
18165
|
-
getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
|
|
18166
|
-
}
|
|
18160
|
+
function getDirtyFields(data, formValues, dirtyFieldsFromValues) {
|
|
18161
|
+
if (!dirtyFieldsFromValues) {
|
|
18162
|
+
dirtyFieldsFromValues = markFieldsDirty(formValues);
|
|
18163
|
+
}
|
|
18164
|
+
for (const key in data) {
|
|
18165
|
+
if (isTraversable(data[key])) {
|
|
18166
|
+
if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {
|
|
18167
|
+
dirtyFieldsFromValues[key] = markFieldsDirty(data[key], Array.isArray(data[key]) ? [] : {});
|
|
18167
18168
|
}
|
|
18168
18169
|
else {
|
|
18169
|
-
|
|
18170
|
+
getDirtyFields(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
|
|
18170
18171
|
}
|
|
18171
18172
|
}
|
|
18173
|
+
else {
|
|
18174
|
+
dirtyFieldsFromValues[key] = !deepEqual$1(data[key], formValues[key]);
|
|
18175
|
+
}
|
|
18172
18176
|
}
|
|
18173
18177
|
return dirtyFieldsFromValues;
|
|
18174
18178
|
}
|
|
18175
|
-
var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));
|
|
18176
18179
|
|
|
18177
18180
|
const defaultResult = {
|
|
18178
18181
|
value: false,
|
|
@@ -18406,15 +18409,13 @@ var updateFieldArrayRootError = (errors, error, name) => {
|
|
|
18406
18409
|
return errors;
|
|
18407
18410
|
};
|
|
18408
18411
|
|
|
18409
|
-
var isMessage = (value) => isString(value);
|
|
18410
|
-
|
|
18411
18412
|
function getValidateError(result, ref, type = 'validate') {
|
|
18412
|
-
if (
|
|
18413
|
-
(Array.isArray(result) && result.every(
|
|
18413
|
+
if (isString(result) ||
|
|
18414
|
+
(Array.isArray(result) && result.every(isString)) ||
|
|
18414
18415
|
(isBoolean(result) && !result)) {
|
|
18415
18416
|
return {
|
|
18416
18417
|
type,
|
|
18417
|
-
message:
|
|
18418
|
+
message: isString(result) ? result : '',
|
|
18418
18419
|
ref,
|
|
18419
18420
|
};
|
|
18420
18421
|
}
|
|
@@ -18467,7 +18468,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
|
|
|
18467
18468
|
(isBoolean(inputValue) && !inputValue) ||
|
|
18468
18469
|
(isCheckBox && !getCheckboxValue(refs).isValid) ||
|
|
18469
18470
|
(isRadio && !getRadioValue(refs).isValid))) {
|
|
18470
|
-
const { value, message } =
|
|
18471
|
+
const { value, message } = isString(required)
|
|
18471
18472
|
? { value: !!required, message: required }
|
|
18472
18473
|
: getValueAndMessage(required);
|
|
18473
18474
|
if (value) {
|
|
@@ -18873,11 +18874,11 @@ function createFormControl(props = {}) {
|
|
|
18873
18874
|
const isFieldArrayRoot = _names.array.has(_f.name);
|
|
18874
18875
|
const isPromiseFunction = field._f && hasPromiseValidation(field._f);
|
|
18875
18876
|
if (isPromiseFunction && _proxyFormState.validatingFields) {
|
|
18876
|
-
_updateIsValidating([name], true);
|
|
18877
|
+
_updateIsValidating([_f.name], true);
|
|
18877
18878
|
}
|
|
18878
18879
|
const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);
|
|
18879
18880
|
if (isPromiseFunction && _proxyFormState.validatingFields) {
|
|
18880
|
-
_updateIsValidating([name]);
|
|
18881
|
+
_updateIsValidating([_f.name]);
|
|
18881
18882
|
}
|
|
18882
18883
|
if (fieldError[_f.name]) {
|
|
18883
18884
|
context.valid = false;
|
|
@@ -19110,6 +19111,7 @@ function createFormControl(props = {}) {
|
|
|
19110
19111
|
}
|
|
19111
19112
|
if (isFieldValueUpdated) {
|
|
19112
19113
|
field._f.deps &&
|
|
19114
|
+
(!Array.isArray(field._f.deps) || field._f.deps.length > 0) &&
|
|
19113
19115
|
trigger(field._f.deps);
|
|
19114
19116
|
shouldRenderByError(name, isValid, error, fieldState);
|
|
19115
19117
|
}
|
|
@@ -19157,10 +19159,13 @@ function createFormControl(props = {}) {
|
|
|
19157
19159
|
iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);
|
|
19158
19160
|
return validationResult;
|
|
19159
19161
|
};
|
|
19160
|
-
const getValues = (fieldNames) => {
|
|
19161
|
-
|
|
19162
|
+
const getValues = (fieldNames, config) => {
|
|
19163
|
+
let values = {
|
|
19162
19164
|
...(_state.mount ? _formValues : _defaultValues),
|
|
19163
19165
|
};
|
|
19166
|
+
if (config) {
|
|
19167
|
+
values = extractFormValues(config.dirtyFields ? _formState.dirtyFields : _formState.touchedFields, values);
|
|
19168
|
+
}
|
|
19164
19169
|
return isUndefined(fieldNames)
|
|
19165
19170
|
? values
|
|
19166
19171
|
: isString(fieldNames)
|
|
@@ -24560,7 +24565,7 @@ var hideOthers = function (originalTarget, parentNode, markerName) {
|
|
|
24560
24565
|
};
|
|
24561
24566
|
|
|
24562
24567
|
var DIALOG_NAME = "Dialog";
|
|
24563
|
-
var [createDialogContext
|
|
24568
|
+
var [createDialogContext] = createContextScope(DIALOG_NAME);
|
|
24564
24569
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
|
24565
24570
|
var Dialog = (props) => {
|
|
24566
24571
|
const {
|
|
@@ -27608,7 +27613,7 @@ var Content = PopperContent;
|
|
|
27608
27613
|
var Arrow = PopperArrow;
|
|
27609
27614
|
|
|
27610
27615
|
var POPOVER_NAME = "Popover";
|
|
27611
|
-
var [createPopoverContext
|
|
27616
|
+
var [createPopoverContext] = createContextScope(POPOVER_NAME, [
|
|
27612
27617
|
createPopperScope
|
|
27613
27618
|
]);
|
|
27614
27619
|
var usePopperScope = createPopperScope();
|
|
@@ -40245,12 +40250,12 @@ function requireReactStripe_umd () {
|
|
|
40245
40250
|
|
|
40246
40251
|
stripe._registerWrapper({
|
|
40247
40252
|
name: 'react-stripe-js',
|
|
40248
|
-
version: "3.
|
|
40253
|
+
version: "3.10.0"
|
|
40249
40254
|
});
|
|
40250
40255
|
|
|
40251
40256
|
stripe.registerAppInfo({
|
|
40252
40257
|
name: 'react-stripe-js',
|
|
40253
|
-
version: "3.
|
|
40258
|
+
version: "3.10.0",
|
|
40254
40259
|
url: 'https://stripe.com/docs/stripe-js/react'
|
|
40255
40260
|
});
|
|
40256
40261
|
};
|
|
@@ -40602,7 +40607,9 @@ function requireReactStripe_umd () {
|
|
|
40602
40607
|
onConfirm = _ref.onConfirm,
|
|
40603
40608
|
onCancel = _ref.onCancel,
|
|
40604
40609
|
onShippingAddressChange = _ref.onShippingAddressChange,
|
|
40605
|
-
onShippingRateChange = _ref.onShippingRateChange
|
|
40610
|
+
onShippingRateChange = _ref.onShippingRateChange,
|
|
40611
|
+
onSavedPaymentMethodRemove = _ref.onSavedPaymentMethodRemove,
|
|
40612
|
+
onSavedPaymentMethodUpdate = _ref.onSavedPaymentMethodUpdate;
|
|
40606
40613
|
var ctx = useElementsOrCheckoutSdkContextWithUseCase("mounts <".concat(displayName, ">"));
|
|
40607
40614
|
var elements = 'elements' in ctx ? ctx.elements : null;
|
|
40608
40615
|
var checkoutSdk = 'checkoutSdk' in ctx ? ctx.checkoutSdk : null;
|
|
@@ -40628,6 +40635,8 @@ function requireReactStripe_umd () {
|
|
|
40628
40635
|
useAttachEvent(element, 'cancel', onCancel);
|
|
40629
40636
|
useAttachEvent(element, 'shippingaddresschange', onShippingAddressChange);
|
|
40630
40637
|
useAttachEvent(element, 'shippingratechange', onShippingRateChange);
|
|
40638
|
+
useAttachEvent(element, 'savedpaymentmethodremove', onSavedPaymentMethodRemove);
|
|
40639
|
+
useAttachEvent(element, 'savedpaymentmethodupdate', onSavedPaymentMethodUpdate);
|
|
40631
40640
|
useAttachEvent(element, 'change', onChange);
|
|
40632
40641
|
var readyCallback;
|
|
40633
40642
|
|
|
@@ -40759,6 +40768,8 @@ function requireReactStripe_umd () {
|
|
|
40759
40768
|
onCancel: PropTypes.func,
|
|
40760
40769
|
onShippingAddressChange: PropTypes.func,
|
|
40761
40770
|
onShippingRateChange: PropTypes.func,
|
|
40771
|
+
onSavedPaymentMethodRemove: PropTypes.func,
|
|
40772
|
+
onSavedPaymentMethodUpdate: PropTypes.func,
|
|
40762
40773
|
options: PropTypes.object
|
|
40763
40774
|
};
|
|
40764
40775
|
Element.displayName = displayName;
|
|
@@ -41425,7 +41436,1052 @@ function Skeleton(_a) {
|
|
|
41425
41436
|
return (jsxRuntime.jsx("div", Object.assign({ "data-slot": "skeleton", className: cn("bg-accent animate-pulse rounded-md", className) }, props)));
|
|
41426
41437
|
}
|
|
41427
41438
|
|
|
41428
|
-
|
|
41439
|
+
// src/api/checkout/index.ts
|
|
41440
|
+
var SchemaHelpers = {
|
|
41441
|
+
OrderBy: {
|
|
41442
|
+
singleField: enumType(["asc", "desc"]).optional()
|
|
41443
|
+
},
|
|
41444
|
+
Select: {
|
|
41445
|
+
singleField: booleanType().optional()
|
|
41446
|
+
},
|
|
41447
|
+
WhereUnique: {
|
|
41448
|
+
stringFilter: stringType().optional()
|
|
41449
|
+
},
|
|
41450
|
+
Where: {
|
|
41451
|
+
// StringFilter with all Prisma operations
|
|
41452
|
+
stringFilter: unionType([
|
|
41453
|
+
stringType(),
|
|
41454
|
+
objectType({
|
|
41455
|
+
equals: stringType().optional(),
|
|
41456
|
+
in: arrayType(stringType()).optional(),
|
|
41457
|
+
notIn: arrayType(stringType()).optional(),
|
|
41458
|
+
lt: stringType().optional(),
|
|
41459
|
+
lte: stringType().optional(),
|
|
41460
|
+
gt: stringType().optional(),
|
|
41461
|
+
gte: stringType().optional(),
|
|
41462
|
+
contains: stringType().optional(),
|
|
41463
|
+
startsWith: stringType().optional(),
|
|
41464
|
+
endsWith: stringType().optional(),
|
|
41465
|
+
mode: enumType(["default", "insensitive"]).optional(),
|
|
41466
|
+
not: objectType({
|
|
41467
|
+
equals: stringType().optional(),
|
|
41468
|
+
in: arrayType(stringType()).optional(),
|
|
41469
|
+
notIn: arrayType(stringType()).optional(),
|
|
41470
|
+
lt: stringType().optional(),
|
|
41471
|
+
lte: stringType().optional(),
|
|
41472
|
+
gt: stringType().optional(),
|
|
41473
|
+
gte: stringType().optional(),
|
|
41474
|
+
contains: stringType().optional(),
|
|
41475
|
+
startsWith: stringType().optional(),
|
|
41476
|
+
endsWith: stringType().optional(),
|
|
41477
|
+
mode: enumType(["default", "insensitive"]).optional()
|
|
41478
|
+
}).optional()
|
|
41479
|
+
}).strict()
|
|
41480
|
+
]).optional(),
|
|
41481
|
+
// StringNullableFilter with all Prisma operations
|
|
41482
|
+
stringNullableFilter: unionType([
|
|
41483
|
+
stringType(),
|
|
41484
|
+
nullType(),
|
|
41485
|
+
objectType({
|
|
41486
|
+
equals: unionType([stringType(), nullType()]).optional(),
|
|
41487
|
+
in: arrayType(stringType()).optional(),
|
|
41488
|
+
notIn: arrayType(stringType()).optional(),
|
|
41489
|
+
lt: stringType().optional(),
|
|
41490
|
+
lte: stringType().optional(),
|
|
41491
|
+
gt: stringType().optional(),
|
|
41492
|
+
gte: stringType().optional(),
|
|
41493
|
+
contains: stringType().optional(),
|
|
41494
|
+
startsWith: stringType().optional(),
|
|
41495
|
+
endsWith: stringType().optional(),
|
|
41496
|
+
mode: enumType(["default", "insensitive"]).optional(),
|
|
41497
|
+
not: objectType({
|
|
41498
|
+
equals: unionType([stringType(), nullType()]).optional(),
|
|
41499
|
+
in: arrayType(stringType()).optional(),
|
|
41500
|
+
notIn: arrayType(stringType()).optional(),
|
|
41501
|
+
lt: stringType().optional(),
|
|
41502
|
+
lte: stringType().optional(),
|
|
41503
|
+
gt: stringType().optional(),
|
|
41504
|
+
gte: stringType().optional(),
|
|
41505
|
+
contains: stringType().optional(),
|
|
41506
|
+
startsWith: stringType().optional(),
|
|
41507
|
+
endsWith: stringType().optional(),
|
|
41508
|
+
mode: enumType(["default", "insensitive"]).optional()
|
|
41509
|
+
}).optional()
|
|
41510
|
+
}).strict()
|
|
41511
|
+
]).optional(),
|
|
41512
|
+
// StringNullableListFilter with all Prisma operations
|
|
41513
|
+
stringNullableListFilter: objectType({
|
|
41514
|
+
equals: unionType([arrayType(stringType()), nullType()]).optional(),
|
|
41515
|
+
has: unionType([stringType(), nullType()]).optional(),
|
|
41516
|
+
hasEvery: arrayType(stringType()).optional(),
|
|
41517
|
+
hasSome: arrayType(stringType()).optional(),
|
|
41518
|
+
isEmpty: booleanType().optional()
|
|
41519
|
+
}).strict().optional(),
|
|
41520
|
+
// IntFilter with all Prisma operations
|
|
41521
|
+
intFilter: unionType([
|
|
41522
|
+
numberType(),
|
|
41523
|
+
objectType({
|
|
41524
|
+
equals: numberType().optional(),
|
|
41525
|
+
in: arrayType(numberType()).optional(),
|
|
41526
|
+
notIn: arrayType(numberType()).optional(),
|
|
41527
|
+
lt: numberType().optional(),
|
|
41528
|
+
lte: numberType().optional(),
|
|
41529
|
+
gt: numberType().optional(),
|
|
41530
|
+
gte: numberType().optional(),
|
|
41531
|
+
not: objectType({
|
|
41532
|
+
equals: numberType().optional(),
|
|
41533
|
+
in: arrayType(numberType()).optional(),
|
|
41534
|
+
notIn: arrayType(numberType()).optional(),
|
|
41535
|
+
lt: numberType().optional(),
|
|
41536
|
+
lte: numberType().optional(),
|
|
41537
|
+
gt: numberType().optional(),
|
|
41538
|
+
gte: numberType().optional()
|
|
41539
|
+
}).optional()
|
|
41540
|
+
}).strict()
|
|
41541
|
+
]).optional(),
|
|
41542
|
+
// IntNullableFilter with all Prisma operations
|
|
41543
|
+
intNullableFilter: unionType([
|
|
41544
|
+
numberType(),
|
|
41545
|
+
objectType({
|
|
41546
|
+
equals: numberType().optional(),
|
|
41547
|
+
in: arrayType(numberType()).optional(),
|
|
41548
|
+
notIn: arrayType(numberType()).optional(),
|
|
41549
|
+
lt: numberType().optional(),
|
|
41550
|
+
lte: numberType().optional(),
|
|
41551
|
+
gt: numberType().optional(),
|
|
41552
|
+
gte: numberType().optional(),
|
|
41553
|
+
not: objectType({
|
|
41554
|
+
equals: numberType().optional(),
|
|
41555
|
+
in: arrayType(numberType()).optional(),
|
|
41556
|
+
notIn: arrayType(numberType()).optional(),
|
|
41557
|
+
lt: numberType().optional(),
|
|
41558
|
+
lte: numberType().optional(),
|
|
41559
|
+
gt: numberType().optional(),
|
|
41560
|
+
gte: numberType().optional()
|
|
41561
|
+
}).optional(),
|
|
41562
|
+
isSet: booleanType().optional()
|
|
41563
|
+
}).strict()
|
|
41564
|
+
]).optional(),
|
|
41565
|
+
// BoolFilter with all Prisma operations
|
|
41566
|
+
boolFilter: unionType([
|
|
41567
|
+
booleanType(),
|
|
41568
|
+
objectType({
|
|
41569
|
+
equals: booleanType().optional(),
|
|
41570
|
+
not: objectType({
|
|
41571
|
+
equals: booleanType().optional()
|
|
41572
|
+
}).optional()
|
|
41573
|
+
}).strict()
|
|
41574
|
+
]).optional(),
|
|
41575
|
+
// DateTimeFilter with all Prisma operations
|
|
41576
|
+
dateTimeFilter: unionType([
|
|
41577
|
+
stringType(),
|
|
41578
|
+
dateType(),
|
|
41579
|
+
objectType({
|
|
41580
|
+
equals: unionType([stringType(), dateType()]).optional(),
|
|
41581
|
+
in: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41582
|
+
notIn: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41583
|
+
lt: unionType([stringType(), dateType()]).optional(),
|
|
41584
|
+
lte: unionType([stringType(), dateType()]).optional(),
|
|
41585
|
+
gt: unionType([stringType(), dateType()]).optional(),
|
|
41586
|
+
gte: unionType([stringType(), dateType()]).optional(),
|
|
41587
|
+
not: objectType({
|
|
41588
|
+
equals: unionType([stringType(), dateType()]).optional(),
|
|
41589
|
+
in: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41590
|
+
notIn: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41591
|
+
lt: unionType([stringType(), dateType()]).optional(),
|
|
41592
|
+
lte: unionType([stringType(), dateType()]).optional(),
|
|
41593
|
+
gt: unionType([stringType(), dateType()]).optional(),
|
|
41594
|
+
gte: unionType([stringType(), dateType()]).optional()
|
|
41595
|
+
}).optional()
|
|
41596
|
+
}).strict()
|
|
41597
|
+
]).optional(),
|
|
41598
|
+
// DateTimeNullableFilter with all Prisma operations
|
|
41599
|
+
dateTimeNullableFilter: unionType([
|
|
41600
|
+
stringType(),
|
|
41601
|
+
dateType(),
|
|
41602
|
+
objectType({
|
|
41603
|
+
equals: unionType([stringType(), dateType()]).optional(),
|
|
41604
|
+
in: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41605
|
+
notIn: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41606
|
+
lt: unionType([stringType(), dateType()]).optional(),
|
|
41607
|
+
lte: unionType([stringType(), dateType()]).optional(),
|
|
41608
|
+
gt: unionType([stringType(), dateType()]).optional(),
|
|
41609
|
+
gte: unionType([stringType(), dateType()]).optional(),
|
|
41610
|
+
not: objectType({
|
|
41611
|
+
equals: unionType([stringType(), dateType()]).optional(),
|
|
41612
|
+
in: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41613
|
+
notIn: unionType([stringType().array(), dateType().array()]).optional(),
|
|
41614
|
+
lt: unionType([stringType(), dateType()]).optional(),
|
|
41615
|
+
lte: unionType([stringType(), dateType()]).optional(),
|
|
41616
|
+
gt: unionType([stringType(), dateType()]).optional(),
|
|
41617
|
+
gte: unionType([stringType(), dateType()]).optional()
|
|
41618
|
+
}).optional(),
|
|
41619
|
+
isSet: booleanType().optional()
|
|
41620
|
+
}).strict()
|
|
41621
|
+
]).optional(),
|
|
41622
|
+
// EnumFilter with all Prisma operations
|
|
41623
|
+
enumFilter: (values) => unionType([
|
|
41624
|
+
enumType(values),
|
|
41625
|
+
objectType({
|
|
41626
|
+
equals: enumType(values).optional(),
|
|
41627
|
+
in: arrayType(enumType(values)).optional(),
|
|
41628
|
+
notIn: arrayType(enumType(values)).optional(),
|
|
41629
|
+
not: lazyType(() => enumType(values)).optional()
|
|
41630
|
+
}).strict()
|
|
41631
|
+
]).optional(),
|
|
41632
|
+
// JsonNullableFilter with all Prisma operations
|
|
41633
|
+
jsonNullableFilter: unionType([
|
|
41634
|
+
anyType(),
|
|
41635
|
+
nullType(),
|
|
41636
|
+
objectType({
|
|
41637
|
+
equals: anyType().optional(),
|
|
41638
|
+
not: anyType().optional(),
|
|
41639
|
+
isSet: booleanType().optional()
|
|
41640
|
+
}).strict()
|
|
41641
|
+
]).optional(),
|
|
41642
|
+
// Legacy filters for backward compatibility
|
|
41643
|
+
arrayFilter: arrayType(stringType()).optional(),
|
|
41644
|
+
objectFilter: objectType({}).optional()
|
|
41645
|
+
}
|
|
41646
|
+
};
|
|
41647
|
+
var getSelectCompositeType = (zodObject) => {
|
|
41648
|
+
return lazyType(
|
|
41649
|
+
() => unionType([booleanType(), objectType({ select: objectType(zodObject) })]).optional()
|
|
41650
|
+
);
|
|
41651
|
+
};
|
|
41652
|
+
var productOptionSelectSchema = getSelectCompositeType({
|
|
41653
|
+
name: booleanType().optional(),
|
|
41654
|
+
values: booleanType().optional()
|
|
41655
|
+
});
|
|
41656
|
+
var inventoryItemSelectSchema = getSelectCompositeType({
|
|
41657
|
+
id: SchemaHelpers.Select.singleField,
|
|
41658
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41659
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41660
|
+
trackInventory: SchemaHelpers.Select.singleField,
|
|
41661
|
+
stockPolicy: SchemaHelpers.Select.singleField,
|
|
41662
|
+
variantId: SchemaHelpers.Select.singleField,
|
|
41663
|
+
productId: SchemaHelpers.Select.singleField,
|
|
41664
|
+
levels: getSelectCompositeType({
|
|
41665
|
+
id: SchemaHelpers.Select.singleField,
|
|
41666
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41667
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41668
|
+
available: SchemaHelpers.Select.singleField,
|
|
41669
|
+
reserved: SchemaHelpers.Select.singleField,
|
|
41670
|
+
incoming: SchemaHelpers.Select.singleField,
|
|
41671
|
+
locationId: SchemaHelpers.Select.singleField,
|
|
41672
|
+
inventoryItemId: SchemaHelpers.Select.singleField,
|
|
41673
|
+
location: getSelectCompositeType({
|
|
41674
|
+
id: SchemaHelpers.Select.singleField,
|
|
41675
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41676
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41677
|
+
name: SchemaHelpers.Select.singleField,
|
|
41678
|
+
address: SchemaHelpers.Select.singleField,
|
|
41679
|
+
city: SchemaHelpers.Select.singleField,
|
|
41680
|
+
province: SchemaHelpers.Select.singleField,
|
|
41681
|
+
country: SchemaHelpers.Select.singleField,
|
|
41682
|
+
postalCode: SchemaHelpers.Select.singleField,
|
|
41683
|
+
phone: SchemaHelpers.Select.singleField,
|
|
41684
|
+
email: SchemaHelpers.Select.singleField
|
|
41685
|
+
})
|
|
41686
|
+
}),
|
|
41687
|
+
variant: getSelectCompositeType({
|
|
41688
|
+
id: SchemaHelpers.Select.singleField,
|
|
41689
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41690
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41691
|
+
title: SchemaHelpers.Select.singleField,
|
|
41692
|
+
description: SchemaHelpers.Select.singleField,
|
|
41693
|
+
images: SchemaHelpers.Select.singleField,
|
|
41694
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41695
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41696
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41697
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41698
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41699
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41700
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41701
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41702
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41703
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41704
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41705
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41706
|
+
productId: SchemaHelpers.Select.singleField,
|
|
41707
|
+
variantOptions: getSelectCompositeType({
|
|
41708
|
+
name: SchemaHelpers.Select.singleField,
|
|
41709
|
+
value: SchemaHelpers.Select.singleField
|
|
41710
|
+
})
|
|
41711
|
+
})
|
|
41712
|
+
});
|
|
41713
|
+
var productVendorSelectSchema = getSelectCompositeType({
|
|
41714
|
+
id: SchemaHelpers.Select.singleField,
|
|
41715
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41716
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41717
|
+
name: SchemaHelpers.Select.singleField,
|
|
41718
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41719
|
+
isDropshipped: SchemaHelpers.Select.singleField,
|
|
41720
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField,
|
|
41721
|
+
products: getSelectCompositeType({
|
|
41722
|
+
id: SchemaHelpers.Select.singleField,
|
|
41723
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41724
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41725
|
+
title: SchemaHelpers.Select.singleField,
|
|
41726
|
+
description: SchemaHelpers.Select.singleField,
|
|
41727
|
+
images: SchemaHelpers.Select.singleField,
|
|
41728
|
+
category: SchemaHelpers.Select.singleField,
|
|
41729
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41730
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41731
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41732
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41733
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41734
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41735
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41736
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41737
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41738
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41739
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41740
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41741
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41742
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41743
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41744
|
+
productVendorId: SchemaHelpers.Select.singleField,
|
|
41745
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41746
|
+
status: SchemaHelpers.Select.singleField,
|
|
41747
|
+
collectionIDs: SchemaHelpers.Select.singleField,
|
|
41748
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField
|
|
41749
|
+
}),
|
|
41750
|
+
shippingProfiles: getSelectCompositeType({
|
|
41751
|
+
id: SchemaHelpers.Select.singleField,
|
|
41752
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41753
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41754
|
+
name: SchemaHelpers.Select.singleField,
|
|
41755
|
+
description: SchemaHelpers.Select.singleField,
|
|
41756
|
+
metadata: SchemaHelpers.Select.singleField
|
|
41757
|
+
})
|
|
41758
|
+
});
|
|
41759
|
+
var productVariantSelectSchema = getSelectCompositeType({
|
|
41760
|
+
id: SchemaHelpers.Select.singleField,
|
|
41761
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41762
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41763
|
+
title: SchemaHelpers.Select.singleField,
|
|
41764
|
+
description: SchemaHelpers.Select.singleField,
|
|
41765
|
+
images: SchemaHelpers.Select.singleField,
|
|
41766
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41767
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41768
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41769
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41770
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41771
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41772
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41773
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41774
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41775
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41776
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41777
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41778
|
+
productId: SchemaHelpers.Select.singleField,
|
|
41779
|
+
variantOptions: getSelectCompositeType({
|
|
41780
|
+
name: SchemaHelpers.Select.singleField,
|
|
41781
|
+
value: SchemaHelpers.Select.singleField
|
|
41782
|
+
}),
|
|
41783
|
+
product: getSelectCompositeType({
|
|
41784
|
+
id: SchemaHelpers.Select.singleField,
|
|
41785
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41786
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41787
|
+
title: SchemaHelpers.Select.singleField,
|
|
41788
|
+
description: SchemaHelpers.Select.singleField,
|
|
41789
|
+
images: SchemaHelpers.Select.singleField,
|
|
41790
|
+
category: SchemaHelpers.Select.singleField,
|
|
41791
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41792
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41793
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41794
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41795
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41796
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41797
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41798
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41799
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41800
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41801
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41802
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41803
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41804
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41805
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41806
|
+
productVendorId: SchemaHelpers.Select.singleField,
|
|
41807
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41808
|
+
status: SchemaHelpers.Select.singleField,
|
|
41809
|
+
collectionIDs: SchemaHelpers.Select.singleField,
|
|
41810
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField
|
|
41811
|
+
}),
|
|
41812
|
+
inventoryItem: inventoryItemSelectSchema
|
|
41813
|
+
});
|
|
41814
|
+
var collectionSelectSchema = getSelectCompositeType({
|
|
41815
|
+
id: SchemaHelpers.Select.singleField,
|
|
41816
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41817
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41818
|
+
title: SchemaHelpers.Select.singleField,
|
|
41819
|
+
description: SchemaHelpers.Select.singleField,
|
|
41820
|
+
images: SchemaHelpers.Select.singleField,
|
|
41821
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41822
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41823
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41824
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41825
|
+
type: SchemaHelpers.Select.singleField,
|
|
41826
|
+
rulesMatchType: SchemaHelpers.Select.singleField,
|
|
41827
|
+
rules: SchemaHelpers.Select.singleField,
|
|
41828
|
+
productIDs: SchemaHelpers.Select.singleField,
|
|
41829
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField,
|
|
41830
|
+
products: getSelectCompositeType({
|
|
41831
|
+
id: SchemaHelpers.Select.singleField,
|
|
41832
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41833
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41834
|
+
title: SchemaHelpers.Select.singleField,
|
|
41835
|
+
description: SchemaHelpers.Select.singleField,
|
|
41836
|
+
images: SchemaHelpers.Select.singleField,
|
|
41837
|
+
category: SchemaHelpers.Select.singleField,
|
|
41838
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41839
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41840
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41841
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41842
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41843
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41844
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41845
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41846
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41847
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41848
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41849
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41850
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41851
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41852
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41853
|
+
productVendorId: SchemaHelpers.Select.singleField,
|
|
41854
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41855
|
+
status: SchemaHelpers.Select.singleField,
|
|
41856
|
+
collectionIDs: SchemaHelpers.Select.singleField,
|
|
41857
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField
|
|
41858
|
+
}),
|
|
41859
|
+
shippingProfiles: getSelectCompositeType({
|
|
41860
|
+
id: SchemaHelpers.Select.singleField,
|
|
41861
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41862
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41863
|
+
name: SchemaHelpers.Select.singleField,
|
|
41864
|
+
description: SchemaHelpers.Select.singleField,
|
|
41865
|
+
metadata: SchemaHelpers.Select.singleField
|
|
41866
|
+
})
|
|
41867
|
+
});
|
|
41868
|
+
var ProductSelectComplexSchemas = {
|
|
41869
|
+
options: productOptionSelectSchema,
|
|
41870
|
+
inventoryItem: inventoryItemSelectSchema,
|
|
41871
|
+
productVendor: productVendorSelectSchema,
|
|
41872
|
+
productVariants: productVariantSelectSchema,
|
|
41873
|
+
collections: collectionSelectSchema
|
|
41874
|
+
};
|
|
41875
|
+
|
|
41876
|
+
// src/api/products/select/schema.ts
|
|
41877
|
+
lazyType(
|
|
41878
|
+
() => objectType(ProductSelectSchemaBody).strict()
|
|
41879
|
+
);
|
|
41880
|
+
var ProductSelectSchemaBody = {
|
|
41881
|
+
id: SchemaHelpers.Select.singleField,
|
|
41882
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41883
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41884
|
+
title: SchemaHelpers.Select.singleField,
|
|
41885
|
+
description: SchemaHelpers.Select.singleField,
|
|
41886
|
+
images: SchemaHelpers.Select.singleField,
|
|
41887
|
+
category: SchemaHelpers.Select.singleField,
|
|
41888
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41889
|
+
isPhysical: SchemaHelpers.Select.singleField,
|
|
41890
|
+
weightInGrams: SchemaHelpers.Select.singleField,
|
|
41891
|
+
heightInCm: SchemaHelpers.Select.singleField,
|
|
41892
|
+
widthInCm: SchemaHelpers.Select.singleField,
|
|
41893
|
+
lengthInCm: SchemaHelpers.Select.singleField,
|
|
41894
|
+
priceInCents: SchemaHelpers.Select.singleField,
|
|
41895
|
+
billingType: SchemaHelpers.Select.singleField,
|
|
41896
|
+
billingInterval: SchemaHelpers.Select.singleField,
|
|
41897
|
+
billingIntervalCount: SchemaHelpers.Select.singleField,
|
|
41898
|
+
sku: SchemaHelpers.Select.singleField,
|
|
41899
|
+
barcode: SchemaHelpers.Select.singleField,
|
|
41900
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41901
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41902
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41903
|
+
productVendorId: SchemaHelpers.Select.singleField,
|
|
41904
|
+
metadata: SchemaHelpers.Select.singleField,
|
|
41905
|
+
status: SchemaHelpers.Select.singleField,
|
|
41906
|
+
collectionIDs: SchemaHelpers.Select.singleField,
|
|
41907
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField,
|
|
41908
|
+
// Complex relation fields
|
|
41909
|
+
options: ProductSelectComplexSchemas.options,
|
|
41910
|
+
inventoryItem: ProductSelectComplexSchemas.inventoryItem,
|
|
41911
|
+
productVendor: ProductSelectComplexSchemas.productVendor,
|
|
41912
|
+
productVariants: ProductSelectComplexSchemas.productVariants,
|
|
41913
|
+
collections: ProductSelectComplexSchemas.collections
|
|
41914
|
+
// shippingProfiles: boolean | Product$shippingProfilesArgs<ExtArgs> | undefined | undefined;
|
|
41915
|
+
// _count: boolean | ProductCountOutputTypeDefaultArgs<ExtArgs> | undefined | undefined;
|
|
41916
|
+
};
|
|
41917
|
+
var getSelectCompositeType2 = (zodObject) => {
|
|
41918
|
+
return lazyType(
|
|
41919
|
+
() => unionType([booleanType(), objectType({ select: objectType(zodObject) })]).optional()
|
|
41920
|
+
);
|
|
41921
|
+
};
|
|
41922
|
+
var collectionProductSelect = getSelectCompositeType2({
|
|
41923
|
+
...ProductSelectSchemaBody
|
|
41924
|
+
});
|
|
41925
|
+
var CollectionSelectComplexSchemas = {
|
|
41926
|
+
products: collectionProductSelect
|
|
41927
|
+
};
|
|
41928
|
+
|
|
41929
|
+
// src/api/collections/select/schema.ts
|
|
41930
|
+
lazyType(
|
|
41931
|
+
() => objectType(CollectionSelectSchemaBody).strict()
|
|
41932
|
+
);
|
|
41933
|
+
var CollectionSelectSchemaBody = {
|
|
41934
|
+
id: SchemaHelpers.Select.singleField,
|
|
41935
|
+
createdAt: SchemaHelpers.Select.singleField,
|
|
41936
|
+
updatedAt: SchemaHelpers.Select.singleField,
|
|
41937
|
+
title: SchemaHelpers.Select.singleField,
|
|
41938
|
+
description: SchemaHelpers.Select.singleField,
|
|
41939
|
+
images: SchemaHelpers.Select.singleField,
|
|
41940
|
+
tags: SchemaHelpers.Select.singleField,
|
|
41941
|
+
seoPageTitle: SchemaHelpers.Select.singleField,
|
|
41942
|
+
seoDescription: SchemaHelpers.Select.singleField,
|
|
41943
|
+
seoHandle: SchemaHelpers.Select.singleField,
|
|
41944
|
+
type: SchemaHelpers.Select.singleField,
|
|
41945
|
+
rulesMatchType: SchemaHelpers.Select.singleField,
|
|
41946
|
+
rules: SchemaHelpers.Select.singleField,
|
|
41947
|
+
productIDs: SchemaHelpers.Select.singleField,
|
|
41948
|
+
organizationId: SchemaHelpers.Select.singleField,
|
|
41949
|
+
shippingProfileIDs: SchemaHelpers.Select.singleField,
|
|
41950
|
+
products: CollectionSelectComplexSchemas.products
|
|
41951
|
+
// shippingProfiles: boolean | Collection$shippingProfilesArgs<ExtArgs> | undefined | undefined;
|
|
41952
|
+
// _count: boolean | CollectionCountOutputTypeDefaultArgs<ExtArgs> | undefined | undefined;
|
|
41953
|
+
};
|
|
41954
|
+
var productOptionObjectEqualityInputSchema = objectType({
|
|
41955
|
+
name: stringType(),
|
|
41956
|
+
values: arrayType(stringType()).optional()
|
|
41957
|
+
});
|
|
41958
|
+
var productOptionCompositeListFilterSchema = objectType({
|
|
41959
|
+
equals: arrayType(productOptionObjectEqualityInputSchema).optional(),
|
|
41960
|
+
every: lazyType(() => productOptionWhereInputSchema).optional(),
|
|
41961
|
+
some: lazyType(() => productOptionWhereInputSchema).optional(),
|
|
41962
|
+
none: lazyType(() => productOptionWhereInputSchema).optional(),
|
|
41963
|
+
isEmpty: booleanType().optional(),
|
|
41964
|
+
isSet: booleanType().optional()
|
|
41965
|
+
});
|
|
41966
|
+
var productOptionWhereInputSchema = objectType({
|
|
41967
|
+
AND: unionType([
|
|
41968
|
+
lazyType(() => productOptionWhereInputSchema),
|
|
41969
|
+
arrayType(lazyType(() => productOptionWhereInputSchema))
|
|
41970
|
+
]).optional(),
|
|
41971
|
+
OR: arrayType(lazyType(() => productOptionWhereInputSchema)).optional(),
|
|
41972
|
+
NOT: unionType([
|
|
41973
|
+
lazyType(() => productOptionWhereInputSchema),
|
|
41974
|
+
arrayType(lazyType(() => productOptionWhereInputSchema))
|
|
41975
|
+
]).optional(),
|
|
41976
|
+
name: unionType([stringType(), objectType({})]).optional(),
|
|
41977
|
+
// StringFilter
|
|
41978
|
+
values: anyType().optional()
|
|
41979
|
+
// StringNullableListFilter
|
|
41980
|
+
});
|
|
41981
|
+
var inventoryItemWhereInputSchema = objectType({
|
|
41982
|
+
AND: unionType([
|
|
41983
|
+
lazyType(() => inventoryItemWhereInputSchema),
|
|
41984
|
+
arrayType(lazyType(() => inventoryItemWhereInputSchema))
|
|
41985
|
+
]).optional(),
|
|
41986
|
+
OR: arrayType(lazyType(() => inventoryItemWhereInputSchema)).optional(),
|
|
41987
|
+
NOT: unionType([
|
|
41988
|
+
lazyType(() => inventoryItemWhereInputSchema),
|
|
41989
|
+
arrayType(lazyType(() => inventoryItemWhereInputSchema))
|
|
41990
|
+
]).optional(),
|
|
41991
|
+
id: unionType([stringType(), objectType({})]).optional(),
|
|
41992
|
+
// StringFilter
|
|
41993
|
+
createdAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
41994
|
+
// DateTimeFilter
|
|
41995
|
+
updatedAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
41996
|
+
// DateTimeFilter
|
|
41997
|
+
trackInventory: unionType([booleanType(), objectType({})]).optional(),
|
|
41998
|
+
// BoolFilter
|
|
41999
|
+
stockPolicy: unionType([enumType(["DENY", "CONTINUE"]), objectType({})]).optional(),
|
|
42000
|
+
// EnumStockPolicyFilter
|
|
42001
|
+
variantId: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42002
|
+
// StringNullableFilter
|
|
42003
|
+
productId: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42004
|
+
// StringNullableFilter
|
|
42005
|
+
variant: anyType().optional(),
|
|
42006
|
+
// Complex relation filter
|
|
42007
|
+
product: anyType().optional(),
|
|
42008
|
+
// Complex relation filter
|
|
42009
|
+
levels: anyType().optional()
|
|
42010
|
+
// InventoryLevelListRelationFilter
|
|
42011
|
+
});
|
|
42012
|
+
var productVendorWhereInputSchema = objectType({
|
|
42013
|
+
AND: unionType([
|
|
42014
|
+
lazyType(() => productVendorWhereInputSchema),
|
|
42015
|
+
arrayType(lazyType(() => productVendorWhereInputSchema))
|
|
42016
|
+
]).optional(),
|
|
42017
|
+
OR: arrayType(lazyType(() => productVendorWhereInputSchema)).optional(),
|
|
42018
|
+
NOT: unionType([
|
|
42019
|
+
lazyType(() => productVendorWhereInputSchema),
|
|
42020
|
+
arrayType(lazyType(() => productVendorWhereInputSchema))
|
|
42021
|
+
]).optional(),
|
|
42022
|
+
id: unionType([stringType(), objectType({})]).optional(),
|
|
42023
|
+
// StringFilter
|
|
42024
|
+
createdAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42025
|
+
// DateTimeFilter
|
|
42026
|
+
updatedAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42027
|
+
// DateTimeFilter
|
|
42028
|
+
name: unionType([stringType(), objectType({})]).optional(),
|
|
42029
|
+
// StringFilter
|
|
42030
|
+
metadata: anyType().optional(),
|
|
42031
|
+
// JsonNullableFilter
|
|
42032
|
+
isDropshipped: unionType([booleanType(), objectType({})]).optional(),
|
|
42033
|
+
// BoolFilter
|
|
42034
|
+
organizationId: unionType([stringType(), objectType({})]).optional(),
|
|
42035
|
+
// StringFilter
|
|
42036
|
+
shippingProfileIDs: anyType().optional(),
|
|
42037
|
+
// StringNullableListFilter
|
|
42038
|
+
organization: anyType().optional(),
|
|
42039
|
+
// Complex relation filter
|
|
42040
|
+
products: anyType().optional(),
|
|
42041
|
+
// ProductListRelationFilter
|
|
42042
|
+
shippingProfiles: anyType().optional()
|
|
42043
|
+
// ShippingProfileListRelationFilter
|
|
42044
|
+
});
|
|
42045
|
+
var productVariantWhereInputSchema = objectType({
|
|
42046
|
+
AND: unionType([
|
|
42047
|
+
lazyType(() => productVariantWhereInputSchema),
|
|
42048
|
+
arrayType(lazyType(() => productVariantWhereInputSchema))
|
|
42049
|
+
]).optional(),
|
|
42050
|
+
OR: arrayType(lazyType(() => productVariantWhereInputSchema)).optional(),
|
|
42051
|
+
NOT: unionType([
|
|
42052
|
+
lazyType(() => productVariantWhereInputSchema),
|
|
42053
|
+
arrayType(lazyType(() => productVariantWhereInputSchema))
|
|
42054
|
+
]).optional(),
|
|
42055
|
+
id: unionType([stringType(), objectType({})]).optional(),
|
|
42056
|
+
// StringFilter
|
|
42057
|
+
createdAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42058
|
+
// DateTimeFilter
|
|
42059
|
+
updatedAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42060
|
+
// DateTimeFilter
|
|
42061
|
+
title: unionType([stringType(), objectType({})]).optional(),
|
|
42062
|
+
// StringFilter
|
|
42063
|
+
description: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42064
|
+
// StringNullableFilter
|
|
42065
|
+
images: anyType().optional(),
|
|
42066
|
+
// StringNullableListFilter
|
|
42067
|
+
sku: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42068
|
+
// StringNullableFilter
|
|
42069
|
+
barcode: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42070
|
+
// StringNullableFilter
|
|
42071
|
+
isPhysical: unionType([booleanType(), objectType({})]).optional(),
|
|
42072
|
+
// BoolFilter
|
|
42073
|
+
weightInGrams: unionType([numberType(), objectType({})]).optional(),
|
|
42074
|
+
// IntFilter
|
|
42075
|
+
heightInCm: unionType([numberType(), objectType({})]).optional(),
|
|
42076
|
+
// IntFilter
|
|
42077
|
+
widthInCm: unionType([numberType(), objectType({})]).optional(),
|
|
42078
|
+
// IntFilter
|
|
42079
|
+
lengthInCm: unionType([numberType(), objectType({})]).optional(),
|
|
42080
|
+
// IntFilter
|
|
42081
|
+
priceInCents: unionType([numberType(), objectType({})]).optional(),
|
|
42082
|
+
// IntFilter
|
|
42083
|
+
billingType: unionType([enumType(["ONE_TIME", "SUBSCRIPTION"]), objectType({})]).optional(),
|
|
42084
|
+
// EnumProductBillingTypeFilter
|
|
42085
|
+
billingInterval: unionType([enumType(["DAY", "WEEK", "MONTH", "YEAR"]), objectType({})]).optional(),
|
|
42086
|
+
// EnumProductBillingIntervalFilter
|
|
42087
|
+
billingIntervalCount: unionType([numberType(), objectType({})]).optional(),
|
|
42088
|
+
// IntFilter
|
|
42089
|
+
metadata: anyType().optional(),
|
|
42090
|
+
// JsonNullableFilter
|
|
42091
|
+
productId: unionType([stringType(), objectType({})]).optional(),
|
|
42092
|
+
// StringFilter
|
|
42093
|
+
variantOptions: anyType().optional(),
|
|
42094
|
+
// VariantOption array
|
|
42095
|
+
inventoryItem: anyType().optional(),
|
|
42096
|
+
// Complex relation filter
|
|
42097
|
+
product: anyType().optional()
|
|
42098
|
+
// Complex relation filter
|
|
42099
|
+
});
|
|
42100
|
+
var productVariantListRelationFilterSchema = objectType({
|
|
42101
|
+
every: productVariantWhereInputSchema.optional(),
|
|
42102
|
+
some: productVariantWhereInputSchema.optional(),
|
|
42103
|
+
none: productVariantWhereInputSchema.optional()
|
|
42104
|
+
});
|
|
42105
|
+
var collectionWhereInputSchema = objectType({
|
|
42106
|
+
AND: unionType([
|
|
42107
|
+
lazyType(() => collectionWhereInputSchema),
|
|
42108
|
+
arrayType(lazyType(() => collectionWhereInputSchema))
|
|
42109
|
+
]).optional(),
|
|
42110
|
+
OR: arrayType(lazyType(() => collectionWhereInputSchema)).optional(),
|
|
42111
|
+
NOT: unionType([
|
|
42112
|
+
lazyType(() => collectionWhereInputSchema),
|
|
42113
|
+
arrayType(lazyType(() => collectionWhereInputSchema))
|
|
42114
|
+
]).optional(),
|
|
42115
|
+
id: unionType([stringType(), objectType({})]).optional(),
|
|
42116
|
+
// StringFilter
|
|
42117
|
+
createdAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42118
|
+
// DateTimeFilter
|
|
42119
|
+
updatedAt: unionType([dateType(), stringType(), objectType({})]).optional(),
|
|
42120
|
+
// DateTimeFilter
|
|
42121
|
+
title: unionType([stringType(), objectType({})]).optional(),
|
|
42122
|
+
// StringFilter
|
|
42123
|
+
description: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42124
|
+
// StringNullableFilter
|
|
42125
|
+
images: anyType().optional(),
|
|
42126
|
+
// StringNullableListFilter
|
|
42127
|
+
tags: anyType().optional(),
|
|
42128
|
+
// StringNullableListFilter
|
|
42129
|
+
seoPageTitle: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42130
|
+
// StringNullableFilter
|
|
42131
|
+
seoDescription: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42132
|
+
// StringNullableFilter
|
|
42133
|
+
seoHandle: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42134
|
+
// StringNullableFilter
|
|
42135
|
+
type: unionType([enumType(["MANUAL", "SMART"]), objectType({})]).optional(),
|
|
42136
|
+
// EnumCollectionTypeFilter
|
|
42137
|
+
rulesMatchType: unionType([enumType(["ALL", "ANY"]), objectType({})]).optional(),
|
|
42138
|
+
// EnumCollectionRulesMatchTypeFilter
|
|
42139
|
+
rules: unionType([stringType().nullable(), objectType({})]).optional(),
|
|
42140
|
+
// StringNullableFilter
|
|
42141
|
+
productIDs: anyType().optional(),
|
|
42142
|
+
// StringNullableListFilter
|
|
42143
|
+
organizationId: unionType([stringType(), objectType({})]).optional(),
|
|
42144
|
+
// StringFilter
|
|
42145
|
+
shippingProfileIDs: anyType().optional(),
|
|
42146
|
+
// StringNullableListFilter
|
|
42147
|
+
organization: anyType().optional(),
|
|
42148
|
+
// Complex relation filter
|
|
42149
|
+
products: anyType().optional(),
|
|
42150
|
+
// ProductListRelationFilter
|
|
42151
|
+
shippingProfiles: anyType().optional()
|
|
42152
|
+
// ShippingProfileListRelationFilter
|
|
42153
|
+
});
|
|
42154
|
+
var collectionListRelationFilterSchema = objectType({
|
|
42155
|
+
every: collectionWhereInputSchema.optional(),
|
|
42156
|
+
some: collectionWhereInputSchema.optional(),
|
|
42157
|
+
none: collectionWhereInputSchema.optional()
|
|
42158
|
+
});
|
|
42159
|
+
var ProductWhereComplexSchemas = {
|
|
42160
|
+
// Complex relation fields
|
|
42161
|
+
options: unionType([
|
|
42162
|
+
productOptionCompositeListFilterSchema,
|
|
42163
|
+
arrayType(productOptionObjectEqualityInputSchema)
|
|
42164
|
+
]).optional(),
|
|
42165
|
+
inventoryItem: unionType([
|
|
42166
|
+
objectType({
|
|
42167
|
+
is: unionType([inventoryItemWhereInputSchema, nullType()]).optional(),
|
|
42168
|
+
isNot: unionType([inventoryItemWhereInputSchema, nullType()]).optional()
|
|
42169
|
+
}),
|
|
42170
|
+
inventoryItemWhereInputSchema,
|
|
42171
|
+
nullType()
|
|
42172
|
+
]).optional(),
|
|
42173
|
+
productVendor: unionType([
|
|
42174
|
+
objectType({
|
|
42175
|
+
is: unionType([productVendorWhereInputSchema, nullType()]).optional(),
|
|
42176
|
+
isNot: unionType([productVendorWhereInputSchema, nullType()]).optional()
|
|
42177
|
+
}),
|
|
42178
|
+
productVendorWhereInputSchema,
|
|
42179
|
+
nullType()
|
|
42180
|
+
]).optional(),
|
|
42181
|
+
productVariants: productVariantListRelationFilterSchema.optional(),
|
|
42182
|
+
collections: collectionListRelationFilterSchema.optional()
|
|
42183
|
+
};
|
|
42184
|
+
|
|
42185
|
+
// src/api/products/where/schema.ts
|
|
42186
|
+
var ProductWhereSchema = lazyType(
|
|
42187
|
+
() => objectType({
|
|
42188
|
+
...ProductWhereSchemaBaseFields,
|
|
42189
|
+
AND: arrayType(ProductWhereSchema).optional(),
|
|
42190
|
+
OR: arrayType(ProductWhereSchema).optional(),
|
|
42191
|
+
NOT: unionType([ProductWhereSchema, arrayType(ProductWhereSchema)]).optional()
|
|
42192
|
+
}).strict()
|
|
42193
|
+
);
|
|
42194
|
+
var ProductWhereSchemaBaseFields = {
|
|
42195
|
+
id: SchemaHelpers.Where.stringFilter,
|
|
42196
|
+
createdAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42197
|
+
updatedAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42198
|
+
title: SchemaHelpers.Where.stringFilter,
|
|
42199
|
+
description: SchemaHelpers.Where.stringNullableFilter,
|
|
42200
|
+
images: SchemaHelpers.Where.stringNullableListFilter,
|
|
42201
|
+
category: SchemaHelpers.Where.stringFilter,
|
|
42202
|
+
tags: SchemaHelpers.Where.stringNullableListFilter,
|
|
42203
|
+
isPhysical: SchemaHelpers.Where.boolFilter,
|
|
42204
|
+
weightInGrams: SchemaHelpers.Where.intFilter,
|
|
42205
|
+
heightInCm: SchemaHelpers.Where.intFilter,
|
|
42206
|
+
widthInCm: SchemaHelpers.Where.intFilter,
|
|
42207
|
+
lengthInCm: SchemaHelpers.Where.intFilter,
|
|
42208
|
+
priceInCents: SchemaHelpers.Where.intFilter,
|
|
42209
|
+
billingType: SchemaHelpers.Where.enumFilter([
|
|
42210
|
+
"ONE_TIME",
|
|
42211
|
+
"SUBSCRIPTION"
|
|
42212
|
+
]),
|
|
42213
|
+
billingInterval: SchemaHelpers.Where.enumFilter([
|
|
42214
|
+
"DAY",
|
|
42215
|
+
"WEEK",
|
|
42216
|
+
"MONTH",
|
|
42217
|
+
"YEAR"
|
|
42218
|
+
]),
|
|
42219
|
+
billingIntervalCount: SchemaHelpers.Where.intFilter,
|
|
42220
|
+
sku: SchemaHelpers.Where.stringNullableFilter,
|
|
42221
|
+
barcode: SchemaHelpers.Where.stringNullableFilter,
|
|
42222
|
+
seoPageTitle: SchemaHelpers.Where.stringNullableFilter,
|
|
42223
|
+
seoDescription: SchemaHelpers.Where.stringNullableFilter,
|
|
42224
|
+
seoHandle: SchemaHelpers.Where.stringNullableFilter,
|
|
42225
|
+
productVendorId: SchemaHelpers.Where.stringNullableFilter,
|
|
42226
|
+
metadata: SchemaHelpers.Where.jsonNullableFilter,
|
|
42227
|
+
status: SchemaHelpers.Where.enumFilter([
|
|
42228
|
+
"DRAFT",
|
|
42229
|
+
"PUBLISHED",
|
|
42230
|
+
"ARCHIVED"
|
|
42231
|
+
]),
|
|
42232
|
+
options: ProductWhereComplexSchemas.options,
|
|
42233
|
+
collectionIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42234
|
+
shippingProfileIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42235
|
+
inventoryItem: ProductWhereComplexSchemas.inventoryItem,
|
|
42236
|
+
productVendor: ProductWhereComplexSchemas.productVendor,
|
|
42237
|
+
productVariants: ProductWhereComplexSchemas.productVariants,
|
|
42238
|
+
collections: ProductWhereComplexSchemas.collections
|
|
42239
|
+
// shippingProfiles?: ShippingProfileListRelationFilter;
|
|
42240
|
+
};
|
|
42241
|
+
objectType(ProductWhereSchemaBaseFields).strict();
|
|
42242
|
+
var productListRelationFilter = objectType({
|
|
42243
|
+
every: objectType({ ...ProductWhereSchemaBaseFields }).optional(),
|
|
42244
|
+
some: objectType({ ...ProductWhereSchemaBaseFields }).optional(),
|
|
42245
|
+
none: objectType({ ...ProductWhereSchemaBaseFields }).optional()
|
|
42246
|
+
});
|
|
42247
|
+
var CollectionWhereComplexSchemas = {
|
|
42248
|
+
products: productListRelationFilter
|
|
42249
|
+
};
|
|
42250
|
+
|
|
42251
|
+
// src/api/collections/where/schema.ts
|
|
42252
|
+
var CollectionWhereSchema = lazyType(
|
|
42253
|
+
() => objectType({
|
|
42254
|
+
...CollectionWhereSchemaBaseFields,
|
|
42255
|
+
AND: arrayType(CollectionWhereSchema).optional(),
|
|
42256
|
+
OR: arrayType(CollectionWhereSchema).optional(),
|
|
42257
|
+
NOT: unionType([CollectionWhereSchema, arrayType(CollectionWhereSchema)]).optional()
|
|
42258
|
+
}).strict()
|
|
42259
|
+
);
|
|
42260
|
+
var CollectionWhereSchemaBaseFields = {
|
|
42261
|
+
id: SchemaHelpers.Where.stringFilter,
|
|
42262
|
+
createdAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42263
|
+
updatedAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42264
|
+
title: SchemaHelpers.Where.stringFilter,
|
|
42265
|
+
description: SchemaHelpers.Where.stringNullableFilter,
|
|
42266
|
+
images: SchemaHelpers.Where.stringNullableListFilter,
|
|
42267
|
+
tags: SchemaHelpers.Where.stringNullableListFilter,
|
|
42268
|
+
seoPageTitle: SchemaHelpers.Where.stringNullableFilter,
|
|
42269
|
+
seoDescription: SchemaHelpers.Where.stringNullableFilter,
|
|
42270
|
+
seoHandle: SchemaHelpers.Where.stringNullableFilter,
|
|
42271
|
+
type: SchemaHelpers.Where.enumFilter(["MANUAL", "SMART"]),
|
|
42272
|
+
rulesMatchType: SchemaHelpers.Where.enumFilter(["ALL", "ANY"]),
|
|
42273
|
+
rules: SchemaHelpers.Where.stringNullableFilter,
|
|
42274
|
+
productIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42275
|
+
shippingProfileIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42276
|
+
products: CollectionWhereComplexSchemas.products
|
|
42277
|
+
// shippingProfiles?: ShippingProfileListRelationFilter;
|
|
42278
|
+
};
|
|
42279
|
+
objectType(CollectionWhereSchemaBaseFields).strict();
|
|
42280
|
+
lazyType(() => collectionWhereUniqueSchemaBaseFieldsSchema);
|
|
42281
|
+
var CollectionWhereUniqueSchemaBaseFields = {
|
|
42282
|
+
...CollectionWhereSchemaBaseFields,
|
|
42283
|
+
id: SchemaHelpers.WhereUnique.stringFilter,
|
|
42284
|
+
seoHandle: SchemaHelpers.WhereUnique.stringFilter,
|
|
42285
|
+
title: SchemaHelpers.WhereUnique.stringFilter,
|
|
42286
|
+
AND: arrayType(CollectionWhereSchema).optional(),
|
|
42287
|
+
OR: arrayType(CollectionWhereSchema).optional(),
|
|
42288
|
+
NOT: unionType([CollectionWhereSchema, arrayType(CollectionWhereSchema)]).optional()
|
|
42289
|
+
};
|
|
42290
|
+
var collectionWhereUniqueSchemaBaseFieldsSchema = unionType([
|
|
42291
|
+
objectType({
|
|
42292
|
+
...CollectionWhereUniqueSchemaBaseFields,
|
|
42293
|
+
id: stringType()
|
|
42294
|
+
}).strict(),
|
|
42295
|
+
objectType({
|
|
42296
|
+
...CollectionWhereUniqueSchemaBaseFields,
|
|
42297
|
+
seoHandle: stringType()
|
|
42298
|
+
}).strict()
|
|
42299
|
+
]);
|
|
42300
|
+
var DiscountWhereSchema = lazyType(
|
|
42301
|
+
() => objectType({
|
|
42302
|
+
...DiscountWhereSchemaBaseFields,
|
|
42303
|
+
AND: arrayType(DiscountWhereSchema).optional(),
|
|
42304
|
+
OR: arrayType(DiscountWhereSchema).optional(),
|
|
42305
|
+
NOT: unionType([DiscountWhereSchema, arrayType(DiscountWhereSchema)]).optional()
|
|
42306
|
+
}).strict()
|
|
42307
|
+
);
|
|
42308
|
+
var DiscountWhereSchemaBaseFields = {
|
|
42309
|
+
testmode: SchemaHelpers.Where.boolFilter,
|
|
42310
|
+
id: SchemaHelpers.Where.stringFilter,
|
|
42311
|
+
createdAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42312
|
+
updatedAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42313
|
+
type: SchemaHelpers.Where.enumFilter([
|
|
42314
|
+
"AMOUNT_OFF_PRODUCTS",
|
|
42315
|
+
"BUY_X_GET_Y",
|
|
42316
|
+
"AMOUNT_OFF_ORDER",
|
|
42317
|
+
"FREE_SHIPPING"
|
|
42318
|
+
]),
|
|
42319
|
+
method: SchemaHelpers.Where.enumFilter(["CODE", "AUTOMATIC"]),
|
|
42320
|
+
code: SchemaHelpers.Where.stringNullableFilter,
|
|
42321
|
+
title: SchemaHelpers.Where.stringNullableFilter,
|
|
42322
|
+
value: SchemaHelpers.Where.intFilter,
|
|
42323
|
+
valueType: SchemaHelpers.Where.enumFilter([
|
|
42324
|
+
"PERCENTAGE",
|
|
42325
|
+
"FIXED_AMOUNT",
|
|
42326
|
+
"FREE"
|
|
42327
|
+
]),
|
|
42328
|
+
discountScope: SchemaHelpers.Where.enumFilter([
|
|
42329
|
+
"PRODUCTS",
|
|
42330
|
+
"COLLECTIONS"
|
|
42331
|
+
]),
|
|
42332
|
+
allowedProductIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42333
|
+
allowedCollectionIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42334
|
+
// allowedCombinations: SchemaHelpers.Where.enumDiscountScopeNullableListFilter,
|
|
42335
|
+
minimumRequirementsType: SchemaHelpers.Where.enumFilter([
|
|
42336
|
+
"NONE",
|
|
42337
|
+
"MINIMUM_ORDER_AMOUNT",
|
|
42338
|
+
"MINIMUM_PRODUCT_QUANTITY"
|
|
42339
|
+
]),
|
|
42340
|
+
minimumRequirementsValue: SchemaHelpers.Where.intNullableFilter,
|
|
42341
|
+
requiredProductIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42342
|
+
requiredCollectionIDs: SchemaHelpers.Where.stringNullableListFilter,
|
|
42343
|
+
minimumRequirementsScope: SchemaHelpers.Where.enumFilter([
|
|
42344
|
+
"PRODUCTS",
|
|
42345
|
+
"COLLECTIONS"
|
|
42346
|
+
]),
|
|
42347
|
+
maxUses: SchemaHelpers.Where.intNullableFilter,
|
|
42348
|
+
maxUsesPerCustomer: SchemaHelpers.Where.intNullableFilter,
|
|
42349
|
+
maxAllowedProductQuantity: SchemaHelpers.Where.intNullableFilter,
|
|
42350
|
+
uses: SchemaHelpers.Where.intFilter,
|
|
42351
|
+
subscriptionDiscountDurationType: SchemaHelpers.Where.enumFilter([
|
|
42352
|
+
"ONCE",
|
|
42353
|
+
"RECURRING",
|
|
42354
|
+
"FOREVER"
|
|
42355
|
+
]),
|
|
42356
|
+
subscriptionDiscountDurationValue: SchemaHelpers.Where.intFilter,
|
|
42357
|
+
stripeDiscountId: SchemaHelpers.Where.stringNullableFilter,
|
|
42358
|
+
startsAt: SchemaHelpers.Where.dateTimeFilter,
|
|
42359
|
+
expiresAt: SchemaHelpers.Where.dateTimeNullableFilter,
|
|
42360
|
+
status: SchemaHelpers.Where.enumFilter([
|
|
42361
|
+
"ACTIVE",
|
|
42362
|
+
"EXPIRED",
|
|
42363
|
+
"SCHEDULED"
|
|
42364
|
+
])
|
|
42365
|
+
};
|
|
42366
|
+
objectType(DiscountWhereSchemaBaseFields).strict();
|
|
42367
|
+
lazyType(() => discountWhereUniqueSchemaBaseFieldsSchema);
|
|
42368
|
+
var DiscountWhereUniqueSchemaBaseFields = {
|
|
42369
|
+
...DiscountWhereSchemaBaseFields,
|
|
42370
|
+
id: SchemaHelpers.WhereUnique.stringFilter,
|
|
42371
|
+
code: SchemaHelpers.WhereUnique.stringFilter,
|
|
42372
|
+
AND: arrayType(DiscountWhereSchema).optional(),
|
|
42373
|
+
OR: arrayType(DiscountWhereSchema).optional(),
|
|
42374
|
+
NOT: unionType([DiscountWhereSchema, arrayType(DiscountWhereSchema)]).optional()
|
|
42375
|
+
};
|
|
42376
|
+
var discountWhereUniqueSchemaBaseFieldsSchema = unionType([
|
|
42377
|
+
objectType({
|
|
42378
|
+
...DiscountWhereUniqueSchemaBaseFields,
|
|
42379
|
+
id: stringType()
|
|
42380
|
+
}).strict(),
|
|
42381
|
+
objectType({
|
|
42382
|
+
...DiscountWhereUniqueSchemaBaseFields,
|
|
42383
|
+
code: stringType()
|
|
42384
|
+
}).strict()
|
|
42385
|
+
]);
|
|
42386
|
+
lazyType(() => productWhereUniqueSchemaBaseFieldsSchema);
|
|
42387
|
+
var ProductWhereUniqueSchemaBaseFields = {
|
|
42388
|
+
...ProductWhereSchemaBaseFields,
|
|
42389
|
+
id: SchemaHelpers.WhereUnique.stringFilter,
|
|
42390
|
+
seoHandle: SchemaHelpers.WhereUnique.stringFilter,
|
|
42391
|
+
title: SchemaHelpers.WhereUnique.stringFilter,
|
|
42392
|
+
AND: arrayType(ProductWhereSchema).optional(),
|
|
42393
|
+
OR: arrayType(ProductWhereSchema).optional(),
|
|
42394
|
+
NOT: unionType([ProductWhereSchema, arrayType(ProductWhereSchema)]).optional()
|
|
42395
|
+
};
|
|
42396
|
+
var productWhereUniqueSchemaBaseFieldsSchema = unionType([
|
|
42397
|
+
objectType({
|
|
42398
|
+
...ProductWhereUniqueSchemaBaseFields,
|
|
42399
|
+
id: stringType()
|
|
42400
|
+
}).strict(),
|
|
42401
|
+
objectType({
|
|
42402
|
+
...ProductWhereUniqueSchemaBaseFields,
|
|
42403
|
+
seoHandle: stringType()
|
|
42404
|
+
}).strict()
|
|
42405
|
+
]);
|
|
42406
|
+
|
|
42407
|
+
// src/helpers/index.ts
|
|
42408
|
+
var currencyLocales = {
|
|
42409
|
+
CZK: "cs-CZ",
|
|
42410
|
+
// Czech Koruna
|
|
42411
|
+
USD: "en-US",
|
|
42412
|
+
// US Dollar
|
|
42413
|
+
EUR: "de-DE",
|
|
42414
|
+
// Euro (Germany locale)
|
|
42415
|
+
GBP: "en-GB",
|
|
42416
|
+
// British Pound
|
|
42417
|
+
JPY: "ja-JP",
|
|
42418
|
+
// Japanese Yen
|
|
42419
|
+
AUD: "en-AU",
|
|
42420
|
+
// Australian Dollar
|
|
42421
|
+
CAD: "en-CA",
|
|
42422
|
+
// Canadian Dollar
|
|
42423
|
+
NZD: "en-NZ",
|
|
42424
|
+
// New Zealand Dollar
|
|
42425
|
+
SEK: "sv-SE",
|
|
42426
|
+
// Swedish Krona
|
|
42427
|
+
NOK: "nb-NO",
|
|
42428
|
+
// Norwegian Krone
|
|
42429
|
+
DKK: "da-DK",
|
|
42430
|
+
// Danish Krone
|
|
42431
|
+
CHF: "de-CH",
|
|
42432
|
+
// Swiss Franc (German Switzerland)
|
|
42433
|
+
HUF: "hu-HU",
|
|
42434
|
+
// Hungarian Forint
|
|
42435
|
+
PLN: "pl-PL",
|
|
42436
|
+
// Polish Zloty
|
|
42437
|
+
BGN: "bg-BG",
|
|
42438
|
+
// Bulgarian Lev
|
|
42439
|
+
RON: "ro-RO",
|
|
42440
|
+
// Romanian Leu
|
|
42441
|
+
RUB: "ru-RU",
|
|
42442
|
+
// Russian Ruble
|
|
42443
|
+
CNY: "zh-CN",
|
|
42444
|
+
// Chinese Yuan
|
|
42445
|
+
INR: "en-IN",
|
|
42446
|
+
// Indian Rupee
|
|
42447
|
+
BRL: "pt-BR",
|
|
42448
|
+
// Brazilian Real
|
|
42449
|
+
MXN: "es-MX",
|
|
42450
|
+
// Mexican Peso
|
|
42451
|
+
ZAR: "en-ZA",
|
|
42452
|
+
// South African Rand
|
|
42453
|
+
KRW: "ko-KR",
|
|
42454
|
+
// South Korean Won
|
|
42455
|
+
MYR: "ms-MY",
|
|
42456
|
+
// Malaysian Ringgit
|
|
42457
|
+
SGD: "en-SG",
|
|
42458
|
+
// Singapore Dollar
|
|
42459
|
+
TWD: "zh-TW",
|
|
42460
|
+
// Taiwanese Dollar
|
|
42461
|
+
THB: "th-TH",
|
|
42462
|
+
// Thai Baht
|
|
42463
|
+
IDR: "id-ID",
|
|
42464
|
+
// Indonesian Rupiah
|
|
42465
|
+
AED: "ar-AE",
|
|
42466
|
+
// UAE Dirham
|
|
42467
|
+
SAR: "ar-SA",
|
|
42468
|
+
// Saudi Riyal
|
|
42469
|
+
TRY: "tr-TR"
|
|
42470
|
+
// Turkish Lira
|
|
42471
|
+
};
|
|
42472
|
+
function formatPrice(priceInCents, currency, exchangeRate) {
|
|
42473
|
+
const amount = priceInCents / 100 * (exchangeRate ?? 1);
|
|
42474
|
+
const isWhole = amount % 1 === 0;
|
|
42475
|
+
const locale = currencyLocales[currency.toUpperCase()] ?? void 0;
|
|
42476
|
+
const formattedPrice = new Intl.NumberFormat(locale, {
|
|
42477
|
+
style: "currency",
|
|
42478
|
+
currency,
|
|
42479
|
+
currencyDisplay: "symbol",
|
|
42480
|
+
minimumFractionDigits: isWhole ? 0 : 2,
|
|
42481
|
+
maximumFractionDigits: isWhole ? 0 : 2
|
|
42482
|
+
}).format(amount);
|
|
42483
|
+
return formattedPrice;
|
|
42484
|
+
}
|
|
41429
42485
|
|
|
41430
42486
|
function ZasilkovnaShippingOption({ children, onPickupPointSelected, locale, countryCode, apiKey, }) {
|
|
41431
42487
|
const [widgetLoaded, setWidgetLoaded] = React.useState(false);
|
|
@@ -41492,7 +42548,10 @@ function ShipmentsForm({ shippingRates, initialData, onSubmit, onBack, contactEm
|
|
|
41492
42548
|
])),
|
|
41493
42549
|
});
|
|
41494
42550
|
const isButtonEnabled = Object.values(form.getValues()).every((value) => { var _a; return ((_a = value.rateId) === null || _a === void 0 ? void 0 : _a.length) > 0; });
|
|
41495
|
-
return (jsxRuntime.jsxs("div", { className: "space-y-6", children: [jsxRuntime.jsx("h2", { children: t("CheckoutEmbed.Shipping.title") }), jsxRuntime.jsxs("div", { className: "space-y-2 pb-2", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-sm", children: [jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { className: "font-medium", children: t("CheckoutEmbed.Shipping.contact") }), " ", jsxRuntime.jsx("span", { className: "text-muted-foreground", children: contactEmail })] }), jsxRuntime.jsx(Button, { variant: "link", size: "link", onClick: onBack, children: t("CheckoutEmbed.Shipping.change") })] }), jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-sm", children: [jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { className: "font-medium", children: t("CheckoutEmbed.Shipping.address") }), " ", jsxRuntime.jsx("span", { className: "text-muted-foreground", children: shippingAddress })] }), jsxRuntime.jsx(Button, { variant: "link", size: "link", onClick: onBack, children: t("CheckoutEmbed.Shipping.change") })] })] }), jsxRuntime.jsx(Form, Object.assign({}, form, { children: jsxRuntime.jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [shipments.map((shipment, index) =>
|
|
42551
|
+
return (jsxRuntime.jsxs("div", { className: "space-y-6", children: [jsxRuntime.jsx("h2", { children: t("CheckoutEmbed.Shipping.title") }), jsxRuntime.jsxs("div", { className: "space-y-2 pb-2", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-sm", children: [jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { className: "font-medium", children: t("CheckoutEmbed.Shipping.contact") }), " ", jsxRuntime.jsx("span", { className: "text-muted-foreground", children: contactEmail })] }), jsxRuntime.jsx(Button, { variant: "link", size: "link", onClick: onBack, children: t("CheckoutEmbed.Shipping.change") })] }), jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-sm", children: [jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { className: "font-medium", children: t("CheckoutEmbed.Shipping.address") }), " ", jsxRuntime.jsx("span", { className: "text-muted-foreground", children: shippingAddress })] }), jsxRuntime.jsx(Button, { variant: "link", size: "link", onClick: onBack, children: t("CheckoutEmbed.Shipping.change") })] })] }), jsxRuntime.jsx(Form, Object.assign({}, form, { children: jsxRuntime.jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-4", children: [shipments.map((shipment, index) => {
|
|
42552
|
+
var _a;
|
|
42553
|
+
return (jsxRuntime.jsx(SingleShipmentSection, { shipment: shipment, shippingRates: (_a = shippingRates[shipment.id]) !== null && _a !== void 0 ? _a : [], form: form, setFormData: setFormData, formData: formData, currency: currency, exchangeRate: exchangeRate, locale: locale, countryCode: countryCode, multipleShipments: shipments.length > 1, index: index }, shipment.id));
|
|
42554
|
+
}), jsxRuntime.jsx(FormMessage, { children: (_a = form.formState.errors.root) === null || _a === void 0 ? void 0 : _a.message }), jsxRuntime.jsxs("div", { className: "flex items-center justify-between pt-4", children: [jsxRuntime.jsxs(Button, { type: "button", variant: "ghost", onClick: onBack, children: [jsxRuntime.jsx(ChevronLeft, {}), t("CheckoutEmbed.Shipping.back")] }), jsxRuntime.jsx(SubmitButton, { isSubmitting: form.formState.isSubmitting, isValid: isButtonEnabled, children: t("CheckoutEmbed.Shipping.button") })] })] }) }))] }));
|
|
41496
42555
|
}
|
|
41497
42556
|
const SingleShipmentSection = ({ shippingRates, form, currency, exchangeRate, locale, countryCode, setFormData, formData, multipleShipments, shipment, index, }) => {
|
|
41498
42557
|
const { t } = useTranslation();
|
|
@@ -41504,7 +42563,7 @@ const SingleShipmentSection = ({ shippingRates, form, currency, exchangeRate, lo
|
|
|
41504
42563
|
var _a, _b;
|
|
41505
42564
|
const pickupPointDisplayName = form.watch(`${shipmentId}.pickupPointDisplayName`);
|
|
41506
42565
|
const intPrice = Math.ceil(Number(rate.priceInCents));
|
|
41507
|
-
const displayPrice =
|
|
42566
|
+
const displayPrice = formatPrice(intPrice, currency, exchangeRate);
|
|
41508
42567
|
const isFixedRate = rate.type === "FIXED";
|
|
41509
42568
|
const isAutoRate = rate.type === "CUSTOM_SHIPPING_VENDOR" ||
|
|
41510
42569
|
rate.type === "PLATFORM_CARRIER";
|
|
@@ -41556,7 +42615,7 @@ const resetFormStore = (formData) => {
|
|
|
41556
42615
|
|
|
41557
42616
|
function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl, clientSecret, customer, currency, checkoutAppearance, fonts, locale, setShippingCost, exchangeRate, paymentSecret, publicKey, paymentComponentKey, clientProxy, latitude, longitude, currentAlpha3CountryCode, shipments, }) {
|
|
41558
42617
|
const { formData, setFormData, step, setStep, checkoutId: storedCheckoutId, setCheckoutId, } = useFormStore();
|
|
41559
|
-
const [shippingRates, setShippingRates] = React.useState(
|
|
42618
|
+
const [shippingRates, setShippingRates] = React.useState({});
|
|
41560
42619
|
const validateStep = React.useCallback(() => {
|
|
41561
42620
|
if (step === "customer")
|
|
41562
42621
|
return;
|
|
@@ -41579,7 +42638,7 @@ function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl,
|
|
|
41579
42638
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41580
42639
|
}, [step]);
|
|
41581
42640
|
React.useEffect(() => {
|
|
41582
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21;
|
|
42641
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33;
|
|
41583
42642
|
if (checkoutId !== storedCheckoutId) {
|
|
41584
42643
|
setStep("customer");
|
|
41585
42644
|
setCheckoutId(checkoutId);
|
|
@@ -41596,17 +42655,20 @@ function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl,
|
|
|
41596
42655
|
email: (_k = customer.email) !== null && _k !== void 0 ? _k : "",
|
|
41597
42656
|
address: {
|
|
41598
42657
|
line1: (_m = (_l = customer.address) === null || _l === void 0 ? void 0 : _l.line1) !== null && _m !== void 0 ? _m : "",
|
|
41599
|
-
line2: (_p = (_o = customer.address) === null || _o === void 0 ? void 0 : _o.line2) !== null && _p !== void 0 ? _p :
|
|
42658
|
+
line2: (_p = (_o = customer.address) === null || _o === void 0 ? void 0 : _o.line2) !== null && _p !== void 0 ? _p : null,
|
|
41600
42659
|
city: (_r = (_q = customer.address) === null || _q === void 0 ? void 0 : _q.city) !== null && _r !== void 0 ? _r : "",
|
|
41601
|
-
|
|
41602
|
-
|
|
41603
|
-
|
|
42660
|
+
province: (_t = (_s = customer.address) === null || _s === void 0 ? void 0 : _s.province) !== null && _t !== void 0 ? _t : null,
|
|
42661
|
+
provinceCode: (_v = (_u = customer.address) === null || _u === void 0 ? void 0 : _u.provinceCode) !== null && _v !== void 0 ? _v : null,
|
|
42662
|
+
zipCode: (_x = (_w = customer.address) === null || _w === void 0 ? void 0 : _w.zipCode) !== null && _x !== void 0 ? _x : "",
|
|
42663
|
+
country: (_z = (_y = customer.address) === null || _y === void 0 ? void 0 : _y.country) !== null && _z !== void 0 ? _z : "",
|
|
42664
|
+
countryCode: (_1 = (_0 = customer.address) === null || _0 === void 0 ? void 0 : _0.countryCode) !== null && _1 !== void 0 ? _1 : "",
|
|
42665
|
+
company: (_3 = (_2 = customer.address) === null || _2 === void 0 ? void 0 : _2.company) !== null && _3 !== void 0 ? _3 : null,
|
|
41604
42666
|
},
|
|
41605
42667
|
},
|
|
41606
42668
|
});
|
|
41607
42669
|
return;
|
|
41608
42670
|
}
|
|
41609
|
-
else if ((
|
|
42671
|
+
else if ((_4 = formData.customer) === null || _4 === void 0 ? void 0 : _4.email) {
|
|
41610
42672
|
setFormData({
|
|
41611
42673
|
customer: formData.customer,
|
|
41612
42674
|
});
|
|
@@ -41616,23 +42678,26 @@ function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl,
|
|
|
41616
42678
|
}
|
|
41617
42679
|
return;
|
|
41618
42680
|
}
|
|
41619
|
-
if (customer && !((
|
|
42681
|
+
if (customer && !((_5 = formData.customer) === null || _5 === void 0 ? void 0 : _5.email)) {
|
|
41620
42682
|
setStep("customer");
|
|
41621
|
-
if ((
|
|
42683
|
+
if ((_6 = customer.address) === null || _6 === void 0 ? void 0 : _6.city) {
|
|
41622
42684
|
setStep("shipping");
|
|
41623
42685
|
}
|
|
41624
42686
|
setFormData(Object.assign(Object.assign({}, formData), { customerId: customer.id, customer: {
|
|
41625
|
-
firstName: (
|
|
41626
|
-
lastName: (
|
|
41627
|
-
phone: (
|
|
41628
|
-
email: (
|
|
42687
|
+
firstName: (_9 = (_8 = (_7 = customer.address) === null || _7 === void 0 ? void 0 : _7.name) === null || _8 === void 0 ? void 0 : _8.split(" ")[0]) !== null && _9 !== void 0 ? _9 : "",
|
|
42688
|
+
lastName: (_12 = (_11 = (_10 = customer.address) === null || _10 === void 0 ? void 0 : _10.name) === null || _11 === void 0 ? void 0 : _11.split(" ")[1]) !== null && _12 !== void 0 ? _12 : "",
|
|
42689
|
+
phone: (_14 = (_13 = customer.address) === null || _13 === void 0 ? void 0 : _13.phone) !== null && _14 !== void 0 ? _14 : "",
|
|
42690
|
+
email: (_15 = customer.email) !== null && _15 !== void 0 ? _15 : "",
|
|
41629
42691
|
address: {
|
|
41630
|
-
line1: (
|
|
41631
|
-
line2: (
|
|
41632
|
-
city: (
|
|
41633
|
-
|
|
41634
|
-
|
|
41635
|
-
|
|
42692
|
+
line1: (_17 = (_16 = customer.address) === null || _16 === void 0 ? void 0 : _16.line1) !== null && _17 !== void 0 ? _17 : "",
|
|
42693
|
+
line2: (_19 = (_18 = customer.address) === null || _18 === void 0 ? void 0 : _18.line2) !== null && _19 !== void 0 ? _19 : null,
|
|
42694
|
+
city: (_21 = (_20 = customer.address) === null || _20 === void 0 ? void 0 : _20.city) !== null && _21 !== void 0 ? _21 : "",
|
|
42695
|
+
province: (_23 = (_22 = customer.address) === null || _22 === void 0 ? void 0 : _22.province) !== null && _23 !== void 0 ? _23 : null,
|
|
42696
|
+
provinceCode: (_25 = (_24 = customer.address) === null || _24 === void 0 ? void 0 : _24.provinceCode) !== null && _25 !== void 0 ? _25 : null,
|
|
42697
|
+
zipCode: (_27 = (_26 = customer.address) === null || _26 === void 0 ? void 0 : _26.zipCode) !== null && _27 !== void 0 ? _27 : "",
|
|
42698
|
+
country: (_29 = (_28 = customer.address) === null || _28 === void 0 ? void 0 : _28.country) !== null && _29 !== void 0 ? _29 : "",
|
|
42699
|
+
countryCode: (_31 = (_30 = customer.address) === null || _30 === void 0 ? void 0 : _30.countryCode) !== null && _31 !== void 0 ? _31 : "",
|
|
42700
|
+
company: (_33 = (_32 = customer.address) === null || _32 === void 0 ? void 0 : _32.company) !== null && _33 !== void 0 ? _33 : null,
|
|
41636
42701
|
},
|
|
41637
42702
|
} }));
|
|
41638
42703
|
}
|
|
@@ -41641,7 +42706,7 @@ function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl,
|
|
|
41641
42706
|
React.useEffect(() => {
|
|
41642
42707
|
if (step !== "shipping")
|
|
41643
42708
|
return;
|
|
41644
|
-
if (shippingRates.length > 0)
|
|
42709
|
+
if (Object.keys(shippingRates).length > 0)
|
|
41645
42710
|
return;
|
|
41646
42711
|
const getShippingRates = () => __awaiter(this, void 0, void 0, function* () {
|
|
41647
42712
|
try {
|
|
@@ -41650,7 +42715,7 @@ function CheckoutForm({ storeClient, checkoutId, onSuccess, onError, cancelUrl,
|
|
|
41650
42715
|
}
|
|
41651
42716
|
catch (error) {
|
|
41652
42717
|
console.error("Failed to load shipping rates:", error);
|
|
41653
|
-
setShippingRates(
|
|
42718
|
+
setShippingRates({});
|
|
41654
42719
|
}
|
|
41655
42720
|
});
|
|
41656
42721
|
getShippingRates();
|
|
@@ -41794,17 +42859,17 @@ function CheckoutSummary({ appliedDiscounts, lineItems, shipping, tax, currency,
|
|
|
41794
42859
|
const canCombine = appliedDiscounts.length === 0 || sharedCombinations.length > 0;
|
|
41795
42860
|
return (jsxRuntime.jsxs("div", { className: "grid gap-5", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [jsxRuntime.jsxs("div", { onClick: () => setIsOpen(!isOpen), className: "flex items-center gap-2 max-md:cursor-pointer", children: [jsxRuntime.jsx("h2", { children: t("CheckoutEmbed.Summary.title") }), jsxRuntime.jsx(ChevronDown, { className: clsx("size-5 transition-transform md:hidden", {
|
|
41796
42861
|
"rotate-180": isOpen,
|
|
41797
|
-
}) })] }), jsxRuntime.jsx("p", { className: "text-lg font-bold tracking-tight md:hidden", children:
|
|
42862
|
+
}) })] }), jsxRuntime.jsx("p", { className: "text-lg font-bold tracking-tight md:hidden", children: formatPrice(total, currency, exchangeRate) }), jsxRuntime.jsx(Button, { className: "max-sm:hidden", variant: "link", size: "link", onClick: onCancel, children: t("CheckoutEmbed.Summary.edit") })] }), jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: clsx("order-4 gap-2 md:order-none", {
|
|
41798
42863
|
"hidden md:grid": !isOpen,
|
|
41799
42864
|
grid: isOpen,
|
|
41800
|
-
}), children: [jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.subtotal") }), jsxRuntime.jsx("p", { children:
|
|
42865
|
+
}), children: [jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.subtotal") }), jsxRuntime.jsx("p", { children: formatPrice(subtotal, currency, exchangeRate) })] }), jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.shipping") }), jsxRuntime.jsx("p", { children: isShippingFree
|
|
41801
42866
|
? t("CheckoutEmbed.Summary.free")
|
|
41802
42867
|
: shippingPrice
|
|
41803
|
-
?
|
|
41804
|
-
: t("CheckoutEmbed.Summary.calculatedAtNextStep") })] }), !!tax && (jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.tax") }), jsxRuntime.jsx("p", { children:
|
|
42868
|
+
? formatPrice(shippingPrice, currency, exchangeRate)
|
|
42869
|
+
: t("CheckoutEmbed.Summary.calculatedAtNextStep") })] }), !!tax && (jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.tax") }), jsxRuntime.jsx("p", { children: formatPrice(tax, currency, exchangeRate) })] })), filteredDiscounts.map(({ discount, amount, id }) => {
|
|
41805
42870
|
var _a;
|
|
41806
|
-
return (jsxRuntime.jsxs("div", { className: "text-muted-foreground flex justify-between", children: [jsxRuntime.jsx(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" }), jsxRuntime.jsxs("p", { children: ["- ",
|
|
41807
|
-
}), jsxRuntime.jsxs("div", { className: "flex items-center justify-between font-bold", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.total") }), jsxRuntime.jsx("p", { children:
|
|
42871
|
+
return (jsxRuntime.jsxs("div", { className: "text-muted-foreground flex justify-between", children: [jsxRuntime.jsx(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" }), jsxRuntime.jsxs("p", { children: ["- ", formatPrice(amount, currency, exchangeRate)] })] }, discount.id));
|
|
42872
|
+
}), jsxRuntime.jsxs("div", { className: "flex items-center justify-between font-bold", children: [jsxRuntime.jsx("p", { children: t("CheckoutEmbed.Summary.total") }), jsxRuntime.jsx("p", { children: formatPrice(totalWithDiscounts, currency, exchangeRate) })] })] }), canCombine && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("hr", { className: clsx("order-7 md:order-none", {
|
|
41808
42873
|
"hidden md:block": !isOpen,
|
|
41809
42874
|
block: isOpen,
|
|
41810
42875
|
}) }), jsxRuntime.jsx("div", { className: clsx("order-6 gap-0 md:order-none", {
|
|
@@ -41847,9 +42912,9 @@ function CheckoutSummary({ appliedDiscounts, lineItems, shipping, tax, currency,
|
|
|
41847
42912
|
((_b = item === null || item === void 0 ? void 0 : item.productData) === null || _b === void 0 ? void 0 : _b.images[0]) ||
|
|
41848
42913
|
"/placeholder.svg", alt: ((_c = item.productData) === null || _c === void 0 ? void 0 : _c.title) || "", className: "h-full w-full object-cover", sizes: "64px" })) }), jsxRuntime.jsx("div", { className: "bg-primary text-background absolute -right-2 -top-2 flex h-6 w-6 items-center justify-center rounded-full text-sm", children: item.quantity })] }), jsxRuntime.jsxs("div", { className: "ml-4 flex-1", children: [jsxRuntime.jsx("h3", { className: "text-base font-medium", children: (_d = item.productData) === null || _d === void 0 ? void 0 : _d.title }), jsxRuntime.jsx("p", { className: "text-muted-foreground line-clamp-1 text-ellipsis text-sm md:max-w-[75%]", children: item.variantOptions
|
|
41849
42914
|
.map((option) => `${option.name}: ${option.value}`)
|
|
41850
|
-
.join(", ") })] }), jsxRuntime.jsx("div", { className: "text-right", children: isDiscounted ? (jsxRuntime.jsxs("div", { className: "flex flex-col", children: [jsxRuntime.jsx("p", { className: "text-muted-foreground -mb-0.5 text-sm font-medium line-through", children:
|
|
42915
|
+
.join(", ") })] }), jsxRuntime.jsx("div", { className: "text-right", children: isDiscounted ? (jsxRuntime.jsxs("div", { className: "flex flex-col", children: [jsxRuntime.jsx("p", { className: "text-muted-foreground -mb-0.5 text-sm font-medium line-through", children: formatPrice((_e = finalItem === null || finalItem === void 0 ? void 0 : finalItem.priceInCents) !== null && _e !== void 0 ? _e : 0, currency, exchangeRate) }), jsxRuntime.jsx("p", { className: "text-base font-medium", children: discountedPrice <= 0
|
|
41851
42916
|
? t("CheckoutEmbed.Summary.free")
|
|
41852
|
-
:
|
|
42917
|
+
: formatPrice(discountedPrice, currency, exchangeRate) })] })) : (jsxRuntime.jsx("p", { className: "text-base font-medium", children: formatPrice((_f = finalItem === null || finalItem === void 0 ? void 0 : finalItem.priceInCents) !== null && _f !== void 0 ? _f : 0, currency, exchangeRate) })) })] }, index));
|
|
41853
42918
|
}) })] }));
|
|
41854
42919
|
}
|
|
41855
42920
|
function DiscountItem({ id, removeDiscount, label, canRemove, }) {
|