@app-studio/web 0.9.78 → 0.9.80
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/Button/Button/Button.props.d.ts +1 -1
- package/dist/components/Button/Button/Button.style.d.ts +1 -1
- package/dist/components/Card/Card/Card.style.d.ts +0 -4
- package/dist/components/Form/Switch/Switch/Switch.style.d.ts +3 -6
- package/dist/providers/index.d.ts +5 -0
- package/dist/web.cjs.development.js +133 -110
- package/dist/web.cjs.development.js.map +1 -1
- package/dist/web.cjs.production.min.js +1 -1
- package/dist/web.cjs.production.min.js.map +1 -1
- package/dist/web.esm.js +133 -110
- package/dist/web.esm.js.map +1 -1
- package/dist/web.umd.development.js +137 -114
- package/dist/web.umd.development.js.map +1 -1
- package/dist/web.umd.production.min.js +1 -1
- package/dist/web.umd.production.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('core-js/modules/es.object.assign.js'), require('react'), require('core-js/modules/es.array.includes.js'), require('core-js/modules/es.array.iterator.js'), require('core-js/modules/es.string.includes.js'), require('core-js/modules/web.dom-collections.iterator.js'), require('core-js/modules/es.regexp.to-string.js'), require('app-studio'), require('core-js/modules/es.symbol.description.js'), require('lucide-react/dynamic'), require('core-js/modules/es.array-buffer.constructor.js'), require('core-js/modules/es.array-buffer.slice.js'), require('core-js/modules/es.typed-array.uint8-array.js'), require('core-js/modules/es.typed-array.fill.js'), require('core-js/modules/es.typed-array.set.js'), require('core-js/modules/es.typed-array.sort.js'), require('core-js/modules/es.typed-array.to-locale-string.js'), require('core-js/modules/es.string.starts-with.js'), require('core-js/modules/web.url.js'), require('core-js/modules/web.url.to-json.js'), require('core-js/modules/web.url-search-params.js'), require('zustand'), require('core-js/modules/es.parse-int.js'), require('react-router-dom'), require('core-js/modules/es.parse-float.js'), require('core-js/modules/es.string.ends-with.js'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'core-js/modules/es.object.assign.js', 'react', 'core-js/modules/es.array.includes.js', 'core-js/modules/es.array.iterator.js', 'core-js/modules/es.string.includes.js', 'core-js/modules/web.dom-collections.iterator.js', 'core-js/modules/es.regexp.to-string.js', 'app-studio', 'core-js/modules/es.symbol.description.js', 'lucide-react/dynamic', 'core-js/modules/es.array-buffer.constructor.js', 'core-js/modules/es.array-buffer.slice.js', 'core-js/modules/es.typed-array.uint8-array.js', 'core-js/modules/es.typed-array.fill.js', 'core-js/modules/es.typed-array.set.js', 'core-js/modules/es.typed-array.sort.js', 'core-js/modules/es.typed-array.to-locale-string.js', 'core-js/modules/es.string.starts-with.js', 'core-js/modules/web.url.js', 'core-js/modules/web.url.to-json.js', 'core-js/modules/web.url-search-params.js', 'zustand', 'core-js/modules/es.parse-int.js', 'react-router-dom', 'core-js/modules/es.parse-float.js', 'core-js/modules/es.string.ends-with.js', '
|
|
4
|
-
(global = global || self, factory(global['@app-studio/web'] = {}, null, global.React, null, null, null, null, null, global.appStudio, null, global.dynamic, null, null, null, null, null, null, null, null, null, null, null, global.zustand, null, global.reactRouterDom, null, null,
|
|
5
|
-
}(this, (function (exports, es_object_assign_js, React, es_array_includes_js, es_array_iterator_js, es_string_includes_js, web_domCollections_iterator_js, es_regexp_toString_js, appStudio, es_symbol_description_js, dynamic, es_arrayBuffer_constructor_js, es_arrayBuffer_slice_js, es_typedArray_uint8Array_js, es_typedArray_fill_js, es_typedArray_set_js, es_typedArray_sort_js, es_typedArray_toLocaleString_js, es_string_startsWith_js, web_url_js, web_url_toJson_js, web_urlSearchParams_js, zustand, es_parseInt_js, reactRouterDom, es_parseFloat_js, es_string_endsWith_js,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('core-js/modules/es.object.assign.js'), require('react'), require('core-js/modules/es.array.includes.js'), require('core-js/modules/es.array.iterator.js'), require('core-js/modules/es.string.includes.js'), require('core-js/modules/web.dom-collections.iterator.js'), require('core-js/modules/es.regexp.to-string.js'), require('app-studio'), require('core-js/modules/es.symbol.description.js'), require('lucide-react/dynamic'), require('core-js/modules/es.array-buffer.constructor.js'), require('core-js/modules/es.array-buffer.slice.js'), require('core-js/modules/es.typed-array.uint8-array.js'), require('core-js/modules/es.typed-array.fill.js'), require('core-js/modules/es.typed-array.set.js'), require('core-js/modules/es.typed-array.sort.js'), require('core-js/modules/es.typed-array.to-locale-string.js'), require('core-js/modules/es.string.starts-with.js'), require('core-js/modules/web.url.js'), require('core-js/modules/web.url.to-json.js'), require('core-js/modules/web.url-search-params.js'), require('zustand'), require('core-js/modules/es.parse-int.js'), require('react-router-dom'), require('core-js/modules/es.parse-float.js'), require('core-js/modules/es.string.ends-with.js'), require('core-js/modules/es.promise.js'), require('core-js/modules/es.array.reduce.js'), require('core-js/modules/es.number.to-fixed.js'), require('date-fns/format'), require('core-js/modules/es.string.trim.js'), require('core-js/modules/es.regexp.constructor.js'), require('core-js/modules/es.regexp.exec.js'), require('formik'), require('core-js/modules/es.string.replace.js'), require('core-js/modules/es.string.split.js'), require('contrast'), require('core-js/modules/es.promise.finally.js'), require('core-js/modules/es.string.match.js'), require('core-js/modules/es.string.search.js'), require('core-js/modules/es.array.flat-map.js'), require('core-js/modules/es.array.unscopables.flat-map.js')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'core-js/modules/es.object.assign.js', 'react', 'core-js/modules/es.array.includes.js', 'core-js/modules/es.array.iterator.js', 'core-js/modules/es.string.includes.js', 'core-js/modules/web.dom-collections.iterator.js', 'core-js/modules/es.regexp.to-string.js', 'app-studio', 'core-js/modules/es.symbol.description.js', 'lucide-react/dynamic', 'core-js/modules/es.array-buffer.constructor.js', 'core-js/modules/es.array-buffer.slice.js', 'core-js/modules/es.typed-array.uint8-array.js', 'core-js/modules/es.typed-array.fill.js', 'core-js/modules/es.typed-array.set.js', 'core-js/modules/es.typed-array.sort.js', 'core-js/modules/es.typed-array.to-locale-string.js', 'core-js/modules/es.string.starts-with.js', 'core-js/modules/web.url.js', 'core-js/modules/web.url.to-json.js', 'core-js/modules/web.url-search-params.js', 'zustand', 'core-js/modules/es.parse-int.js', 'react-router-dom', 'core-js/modules/es.parse-float.js', 'core-js/modules/es.string.ends-with.js', 'core-js/modules/es.promise.js', 'core-js/modules/es.array.reduce.js', 'core-js/modules/es.number.to-fixed.js', 'date-fns/format', 'core-js/modules/es.string.trim.js', 'core-js/modules/es.regexp.constructor.js', 'core-js/modules/es.regexp.exec.js', 'formik', 'core-js/modules/es.string.replace.js', 'core-js/modules/es.string.split.js', 'contrast', 'core-js/modules/es.promise.finally.js', 'core-js/modules/es.string.match.js', 'core-js/modules/es.string.search.js', 'core-js/modules/es.array.flat-map.js', 'core-js/modules/es.array.unscopables.flat-map.js'], factory) :
|
|
4
|
+
(global = global || self, factory(global['@app-studio/web'] = {}, null, global.React, null, null, null, null, null, global.appStudio, null, global.dynamic, null, null, null, null, null, null, null, null, null, null, null, global.zustand, null, global.reactRouterDom, null, null, null, null, null, global.format, null, null, null, global.formik, null, null, global.contrast));
|
|
5
|
+
}(this, (function (exports, es_object_assign_js, React, es_array_includes_js, es_array_iterator_js, es_string_includes_js, web_domCollections_iterator_js, es_regexp_toString_js, appStudio, es_symbol_description_js, dynamic, es_arrayBuffer_constructor_js, es_arrayBuffer_slice_js, es_typedArray_uint8Array_js, es_typedArray_fill_js, es_typedArray_set_js, es_typedArray_sort_js, es_typedArray_toLocaleString_js, es_string_startsWith_js, web_url_js, web_url_toJson_js, web_urlSearchParams_js, zustand, es_parseInt_js, reactRouterDom, es_parseFloat_js, es_string_endsWith_js, es_promise_js, es_array_reduce_js, es_number_toFixed_js, format, es_string_trim_js, es_regexp_constructor_js, es_regexp_exec_js, formik, es_string_replace_js, es_string_split_js, contrast) { 'use strict';
|
|
6
6
|
|
|
7
7
|
var React__default = 'default' in React ? React['default'] : React;
|
|
8
|
-
contrast = contrast && Object.prototype.hasOwnProperty.call(contrast, 'default') ? contrast['default'] : contrast;
|
|
9
8
|
format = format && Object.prototype.hasOwnProperty.call(format, 'default') ? format['default'] : format;
|
|
9
|
+
contrast = contrast && Object.prototype.hasOwnProperty.call(contrast, 'default') ? contrast['default'] : contrast;
|
|
10
10
|
|
|
11
11
|
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
12
12
|
try {
|
|
@@ -2745,11 +2745,10 @@
|
|
|
2745
2745
|
padding: 14
|
|
2746
2746
|
}
|
|
2747
2747
|
};
|
|
2748
|
-
var getButtonVariants = function getButtonVariants(color,
|
|
2748
|
+
var getButtonVariants = function getButtonVariants(color, textColor, reversed) {
|
|
2749
2749
|
if (reversed === void 0) {
|
|
2750
2750
|
reversed = false;
|
|
2751
2751
|
}
|
|
2752
|
-
var textColor = isLight ? '#000000' : '#FFFFFF';
|
|
2753
2752
|
// Determine effective colors based on reversed state
|
|
2754
2753
|
var effectiveBg = reversed ? textColor : color;
|
|
2755
2754
|
var effectiveContent = reversed ? color : textColor;
|
|
@@ -2876,8 +2875,8 @@
|
|
|
2876
2875
|
|
|
2877
2876
|
var _excluded$d = ["asComponent", "isDisabled", "isLoading", "isWrapped", "borderRadius", "width", "height", "baseStyles", "sizeStyles", "iconPad", "mainTone", "resolvedTextColor", "children", "borderWidth"],
|
|
2878
2877
|
_excluded2$3 = ["shape", "isDisabled", "onClick", "shadow", "borderWidth", "isAuto", "isFilled", "views", "children"],
|
|
2879
|
-
_excluded3$2 = ["variant", "animation", "to", "isDisabled", "isLoading", "isAuto", "isFilled", "isExternal", "shape", "shadow", "onClick", "views", "baseStyles", "sizeStyles", "iconPad", "resolvedTextColor", "content", "size", "mainTone", "
|
|
2880
|
-
_excluded4$2 = ["variant", "size", "shape", "iconPosition", "loaderPosition", "backgroundColor", "color", "
|
|
2878
|
+
_excluded3$2 = ["variant", "animation", "to", "isDisabled", "isLoading", "isAuto", "isFilled", "isExternal", "shape", "shadow", "onClick", "views", "baseStyles", "sizeStyles", "iconPad", "resolvedTextColor", "content", "size", "mainTone", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor", "getColor"],
|
|
2879
|
+
_excluded4$2 = ["variant", "size", "shape", "iconPosition", "loaderPosition", "backgroundColor", "color", "textColor", "reversed", "isAuto", "isFilled", "isDisabled", "isLoading", "isIconRounded", "icon", "children", "to", "isExternal", "shadow", "onClick", "views", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor"];
|
|
2881
2880
|
// --- Helper: Button Content ---
|
|
2882
2881
|
// Renders the inner content: Loader, Icon, and Children.
|
|
2883
2882
|
var ButtonContent = _ref => {
|
|
@@ -3237,7 +3236,7 @@
|
|
|
3237
3236
|
// --- Main Component ---
|
|
3238
3237
|
// --- Main Component ---
|
|
3239
3238
|
var ButtonView = _ref5 => {
|
|
3240
|
-
var _ref6,
|
|
3239
|
+
var _ref6, _base$color;
|
|
3241
3240
|
var {
|
|
3242
3241
|
/* behaviour */
|
|
3243
3242
|
variant = 'filled',
|
|
@@ -3246,13 +3245,13 @@
|
|
|
3246
3245
|
iconPosition = 'left',
|
|
3247
3246
|
loaderPosition = 'left',
|
|
3248
3247
|
backgroundColor,
|
|
3249
|
-
//
|
|
3248
|
+
// Primary override for main color
|
|
3250
3249
|
color,
|
|
3251
|
-
//
|
|
3252
|
-
|
|
3253
|
-
//
|
|
3250
|
+
// Main button color (theme tokens or color palette)
|
|
3251
|
+
textColor,
|
|
3252
|
+
// Explicit text color
|
|
3254
3253
|
reversed = false,
|
|
3255
|
-
//
|
|
3254
|
+
// Reverse colors for dark backgrounds
|
|
3256
3255
|
isAuto = true,
|
|
3257
3256
|
isFilled,
|
|
3258
3257
|
isDisabled,
|
|
@@ -3277,24 +3276,30 @@
|
|
|
3277
3276
|
props = _objectWithoutPropertiesLoose(_ref5, _excluded4$2);
|
|
3278
3277
|
/* theme helpers */
|
|
3279
3278
|
var {
|
|
3280
|
-
getColorHex
|
|
3281
|
-
themeMode
|
|
3279
|
+
getColorHex
|
|
3282
3280
|
} = appStudio.useTheme();
|
|
3283
3281
|
/* MAIN COLOR – determines the entire palette */
|
|
3284
|
-
|
|
3285
|
-
var
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3282
|
+
// Priority: explicit backgroundColor/color prop -> theme.button.background -> theme.primary
|
|
3283
|
+
var mainColorKey = (_ref6 = backgroundColor != null ? backgroundColor : color) != null ? _ref6 : 'theme.button.background';
|
|
3284
|
+
// Decide which theme token to resolve based on state
|
|
3285
|
+
var stateColorKey = isDisabled ? 'theme.disabled' : isLoading ? 'theme.loading' : mainColorKey;
|
|
3286
|
+
// Resolve to actual hex color.
|
|
3287
|
+
// If 'theme.button.background' isn't defined, it falls back to 'theme.primary'
|
|
3288
|
+
var mainTone = getColorHex(stateColorKey);
|
|
3289
|
+
if (mainTone === 'theme.button.background' || mainTone === 'theme.loading') {
|
|
3290
|
+
mainTone = getColorHex(isLoading ? 'color.dark.500' : 'theme.primary');
|
|
3291
|
+
}
|
|
3292
|
+
/* text color - explicitly provided or default to white */
|
|
3293
|
+
// Priority: explicit textColor prop -> theme.button.text -> color.white
|
|
3294
|
+
var resolvedTextColorKey = textColor != null ? textColor : 'theme.button.text';
|
|
3295
|
+
var resolvedTextColor = getColorHex(resolvedTextColorKey);
|
|
3296
|
+
if (resolvedTextColor === 'theme.button.text') {
|
|
3297
|
+
resolvedTextColor = getColorHex('color.white');
|
|
3293
3298
|
}
|
|
3294
3299
|
/* variant palette */
|
|
3295
|
-
var palette = React.useMemo(() => getButtonVariants(mainTone,
|
|
3300
|
+
var palette = React.useMemo(() => getButtonVariants(mainTone, resolvedTextColor, reversed), [mainTone, resolvedTextColor, reversed]);
|
|
3296
3301
|
var base = palette[variant];
|
|
3297
|
-
var
|
|
3302
|
+
var finalContentColor = (_base$color = base == null ? void 0 : base.color) != null ? _base$color : resolvedTextColor;
|
|
3298
3303
|
// Render content logic safely
|
|
3299
3304
|
var content = /*#__PURE__*/React__default.createElement(ButtonContent, {
|
|
3300
3305
|
icon: icon,
|
|
@@ -3302,7 +3307,7 @@
|
|
|
3302
3307
|
iconPosition: iconPosition,
|
|
3303
3308
|
loaderPosition: loaderPosition,
|
|
3304
3309
|
size: size,
|
|
3305
|
-
resolvedTextColor:
|
|
3310
|
+
resolvedTextColor: finalContentColor,
|
|
3306
3311
|
isIconRounded: isIconRounded,
|
|
3307
3312
|
views: views
|
|
3308
3313
|
}, children);
|
|
@@ -3325,11 +3330,10 @@
|
|
|
3325
3330
|
baseStyles: base,
|
|
3326
3331
|
sizeStyles: sizeStyles,
|
|
3327
3332
|
iconPad: iconPad,
|
|
3328
|
-
resolvedTextColor:
|
|
3333
|
+
resolvedTextColor: finalContentColor,
|
|
3329
3334
|
content: content,
|
|
3330
3335
|
size: size,
|
|
3331
3336
|
mainTone: mainTone,
|
|
3332
|
-
tone: tone,
|
|
3333
3337
|
borderMovingDuration: borderMovingDuration,
|
|
3334
3338
|
borderMovingGradientColors: borderMovingGradientColors,
|
|
3335
3339
|
animatedStrokeAccentColor: animatedStrokeAccentColor,
|
|
@@ -3364,50 +3368,57 @@
|
|
|
3364
3368
|
* - Rounded corners: Consistent border radius
|
|
3365
3369
|
* - Transitions: Subtle animations
|
|
3366
3370
|
*/
|
|
3371
|
+
/**
|
|
3372
|
+
* Card sizes following the 4px grid system
|
|
3373
|
+
*/
|
|
3374
|
+
var CardSizes = {
|
|
3375
|
+
sm: {
|
|
3376
|
+
padding: '12px'
|
|
3377
|
+
},
|
|
3378
|
+
md: {
|
|
3379
|
+
padding: '16px'
|
|
3380
|
+
},
|
|
3381
|
+
lg: {
|
|
3382
|
+
padding: '24px'
|
|
3383
|
+
}
|
|
3384
|
+
};
|
|
3367
3385
|
/**
|
|
3368
3386
|
* Card shapes with consistent border radius
|
|
3369
3387
|
*/
|
|
3370
3388
|
var CardShapes = {
|
|
3371
3389
|
sharp: 0,
|
|
3372
3390
|
rounded: '8px',
|
|
3373
|
-
pillShaped: '
|
|
3391
|
+
pillShaped: '24px'
|
|
3374
3392
|
};
|
|
3375
3393
|
/**
|
|
3376
3394
|
* Get card variants with consistent styling based on theme mode
|
|
3377
3395
|
*/
|
|
3378
3396
|
var getCardVariants = themeMode => {
|
|
3397
|
+
var isDark = themeMode === 'dark';
|
|
3379
3398
|
return {
|
|
3380
3399
|
default: {
|
|
3381
|
-
backgroundColor: 'color.white',
|
|
3400
|
+
backgroundColor: isDark ? 'color.gray.900' : 'color.white',
|
|
3382
3401
|
border: 'none',
|
|
3383
3402
|
transition: 'background-color 0.2s ease, box-shadow 0.2s ease'
|
|
3384
3403
|
},
|
|
3385
3404
|
outlined: {
|
|
3386
|
-
backgroundColor: 'color.white',
|
|
3405
|
+
backgroundColor: isDark ? 'color.gray.900' : 'color.white',
|
|
3387
3406
|
borderWidth: '1px',
|
|
3388
3407
|
borderStyle: 'solid',
|
|
3389
|
-
borderColor: 'color.gray.200',
|
|
3408
|
+
borderColor: isDark ? 'color.gray.700' : 'color.gray.200',
|
|
3390
3409
|
transition: 'border-color 0.2s ease, box-shadow 0.2s ease',
|
|
3391
3410
|
_hover: {
|
|
3392
|
-
borderColor: 'color.gray.300',
|
|
3411
|
+
borderColor: isDark ? 'color.gray.600' : 'color.gray.300',
|
|
3393
3412
|
boxShadow: '0px 1px 3px rgba(0, 0, 0, 0.05)'
|
|
3394
|
-
},
|
|
3395
|
-
_focusVisible: {
|
|
3396
|
-
outline: 'none',
|
|
3397
|
-
boxShadow: '0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px rgba(0, 0, 0, 0.1)'
|
|
3398
3413
|
}
|
|
3399
3414
|
},
|
|
3400
3415
|
elevated: {
|
|
3401
|
-
backgroundColor: 'color.white',
|
|
3402
|
-
boxShadow: '0px 1px 3px rgba(0, 0, 0, 0.08), 0px 1px 2px rgba(0, 0, 0, 0.06)',
|
|
3416
|
+
backgroundColor: isDark ? 'color.gray.900' : 'color.white',
|
|
3417
|
+
boxShadow: isDark ? '0px 4px 12px rgba(0, 0, 0, 0.3)' : '0px 1px 3px rgba(0, 0, 0, 0.08), 0px 1px 2px rgba(0, 0, 0, 0.06)',
|
|
3403
3418
|
border: 'none',
|
|
3404
3419
|
transition: 'box-shadow 0.2s ease',
|
|
3405
3420
|
_hover: {
|
|
3406
|
-
boxShadow: '0px 4px 6px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.06)'
|
|
3407
|
-
},
|
|
3408
|
-
_focusVisible: {
|
|
3409
|
-
outline: 'none',
|
|
3410
|
-
boxShadow: '0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px rgba(0, 0, 0, 0.1), 0px 4px 6px rgba(0, 0, 0, 0.08)'
|
|
3421
|
+
boxShadow: isDark ? '0px 8px 16px rgba(0, 0, 0, 0.4)' : '0px 4px 6px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.06)'
|
|
3411
3422
|
}
|
|
3412
3423
|
}
|
|
3413
3424
|
};
|
|
@@ -3417,50 +3428,31 @@
|
|
|
3417
3428
|
* @param theme - Theme object from useTheme hook
|
|
3418
3429
|
*/
|
|
3419
3430
|
var getDefaultCardStyles = theme => {
|
|
3431
|
+
var isDark = theme.themeMode === 'dark';
|
|
3420
3432
|
return {
|
|
3421
3433
|
container: {
|
|
3422
|
-
backgroundColor: 'color.white',
|
|
3423
|
-
color: 'color.black',
|
|
3434
|
+
backgroundColor: isDark ? 'color.gray.900' : 'color.white',
|
|
3435
|
+
color: isDark ? 'color.white' : 'color.black',
|
|
3424
3436
|
borderRadius: '8px',
|
|
3425
3437
|
overflow: 'hidden',
|
|
3426
|
-
transition: 'all 0.2s ease'
|
|
3427
|
-
media: {
|
|
3428
|
-
mobile: {
|
|
3429
|
-
borderRadius: '4px'
|
|
3430
|
-
}
|
|
3431
|
-
}
|
|
3438
|
+
transition: 'all 0.2s ease'
|
|
3432
3439
|
},
|
|
3433
3440
|
header: {
|
|
3434
3441
|
padding: '16px',
|
|
3435
3442
|
borderBottomWidth: '1px',
|
|
3436
3443
|
borderBottomStyle: 'solid',
|
|
3437
|
-
borderBottomColor: 'color.gray.
|
|
3438
|
-
color: '
|
|
3439
|
-
media: {
|
|
3440
|
-
mobile: {
|
|
3441
|
-
padding: '12px'
|
|
3442
|
-
}
|
|
3443
|
-
}
|
|
3444
|
+
borderBottomColor: isDark ? 'color.gray.800' : 'color.gray.100',
|
|
3445
|
+
color: 'theme.primary'
|
|
3444
3446
|
},
|
|
3445
3447
|
content: {
|
|
3446
3448
|
padding: '16px',
|
|
3447
|
-
color: 'color.
|
|
3448
|
-
media: {
|
|
3449
|
-
mobile: {
|
|
3450
|
-
padding: '12px'
|
|
3451
|
-
}
|
|
3452
|
-
}
|
|
3449
|
+
color: isDark ? 'color.gray.300' : 'color.gray.600'
|
|
3453
3450
|
},
|
|
3454
3451
|
footer: {
|
|
3455
3452
|
padding: '16px',
|
|
3456
3453
|
borderTopWidth: '1px',
|
|
3457
3454
|
borderTopStyle: 'solid',
|
|
3458
|
-
borderTopColor: 'color.gray.
|
|
3459
|
-
media: {
|
|
3460
|
-
mobile: {
|
|
3461
|
-
padding: '12px'
|
|
3462
|
-
}
|
|
3463
|
-
}
|
|
3455
|
+
borderTopColor: isDark ? 'color.gray.800' : 'color.gray.100'
|
|
3464
3456
|
}
|
|
3465
3457
|
};
|
|
3466
3458
|
};
|
|
@@ -3485,12 +3477,14 @@
|
|
|
3485
3477
|
var {
|
|
3486
3478
|
styles: contextStyles
|
|
3487
3479
|
} = useCardContext();
|
|
3488
|
-
var defaultStyles = getDefaultCardStyles().header;
|
|
3480
|
+
var defaultStyles = getDefaultCardStyles(theme).header;
|
|
3489
3481
|
// Merge styles: Default < Context Override < Direct Props/Style
|
|
3490
3482
|
var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.header, props, {
|
|
3491
3483
|
style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$header = contextStyles.header) == null ? void 0 : _contextStyles$header.style, style)
|
|
3492
3484
|
});
|
|
3493
|
-
return /*#__PURE__*/React__default.createElement(appStudio.
|
|
3485
|
+
return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
|
|
3486
|
+
gap: 8
|
|
3487
|
+
}, mergedProps), children);
|
|
3494
3488
|
};
|
|
3495
3489
|
var CardContent = _ref2 => {
|
|
3496
3490
|
var _contextStyles$conten;
|
|
@@ -3503,12 +3497,14 @@
|
|
|
3503
3497
|
var {
|
|
3504
3498
|
styles: contextStyles
|
|
3505
3499
|
} = useCardContext();
|
|
3506
|
-
var defaultStyles = getDefaultCardStyles().content;
|
|
3500
|
+
var defaultStyles = getDefaultCardStyles(theme).content;
|
|
3507
3501
|
// Merge styles: Default < Context Override < Direct Props/Style
|
|
3508
3502
|
var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.content, props, {
|
|
3509
3503
|
style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$conten = contextStyles.content) == null ? void 0 : _contextStyles$conten.style, style)
|
|
3510
3504
|
});
|
|
3511
|
-
return /*#__PURE__*/React__default.createElement(appStudio.
|
|
3505
|
+
return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
|
|
3506
|
+
gap: 12
|
|
3507
|
+
}, mergedProps), children);
|
|
3512
3508
|
};
|
|
3513
3509
|
var CardFooter = _ref3 => {
|
|
3514
3510
|
var _contextStyles$footer;
|
|
@@ -3521,15 +3517,17 @@
|
|
|
3521
3517
|
var {
|
|
3522
3518
|
styles: contextStyles
|
|
3523
3519
|
} = useCardContext();
|
|
3524
|
-
var defaultStyles = getDefaultCardStyles().footer;
|
|
3520
|
+
var defaultStyles = getDefaultCardStyles(theme).footer;
|
|
3525
3521
|
// Merge styles: Default < Context Override < Direct Props/Style
|
|
3526
3522
|
var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.footer, props, {
|
|
3527
3523
|
style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$footer = contextStyles.footer) == null ? void 0 : _contextStyles$footer.style, style)
|
|
3528
3524
|
});
|
|
3529
|
-
return /*#__PURE__*/React__default.createElement(appStudio.
|
|
3525
|
+
return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
|
|
3526
|
+
gap: 8
|
|
3527
|
+
}, mergedProps), children);
|
|
3530
3528
|
};
|
|
3531
3529
|
var CardView = _ref4 => {
|
|
3532
|
-
var _contextValue$styles$;
|
|
3530
|
+
var _CardSizes$size, _contextValue$styles$;
|
|
3533
3531
|
var {
|
|
3534
3532
|
variant = 'default',
|
|
3535
3533
|
size = 'md',
|
|
@@ -3544,20 +3542,32 @@
|
|
|
3544
3542
|
} = _ref4,
|
|
3545
3543
|
props = _objectWithoutPropertiesLoose(_ref4, _excluded4$3);
|
|
3546
3544
|
var theme = appStudio.useTheme();
|
|
3547
|
-
var defaultStyles = getDefaultCardStyles();
|
|
3545
|
+
var defaultStyles = getDefaultCardStyles(theme);
|
|
3546
|
+
// Get size padding
|
|
3547
|
+
var sizePadding = ((_CardSizes$size = CardSizes[size]) == null ? void 0 : _CardSizes$size.padding) || '16px';
|
|
3548
3548
|
// Prepare context value, merging default styles with user's `views` overrides
|
|
3549
3549
|
var contextValue = React.useMemo(() => ({
|
|
3550
3550
|
styles: {
|
|
3551
3551
|
container: Object.assign({}, defaultStyles.container, views == null ? void 0 : views.container),
|
|
3552
|
-
header: Object.assign({}, defaultStyles.header,
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3552
|
+
header: Object.assign({}, defaultStyles.header, {
|
|
3553
|
+
padding: sizePadding
|
|
3554
|
+
}, views == null ? void 0 : views.header),
|
|
3555
|
+
content: Object.assign({}, defaultStyles.content, {
|
|
3556
|
+
padding: sizePadding
|
|
3557
|
+
}, views == null ? void 0 : views.content),
|
|
3558
|
+
footer: Object.assign({}, defaultStyles.footer, {
|
|
3559
|
+
padding: sizePadding
|
|
3560
|
+
}, views == null ? void 0 : views.footer)
|
|
3561
|
+
}
|
|
3562
|
+
}), [defaultStyles, views, sizePadding]);
|
|
3557
3563
|
// Determine if we have explicit Card.Header, Card.Content, Card.Footer components
|
|
3558
|
-
// or if we need to wrap children in a default layout
|
|
3559
3564
|
var hasExplicitStructure = React__default.Children.toArray(children).some(child => /*#__PURE__*/React__default.isValidElement(child) && (child.type === CardHeader || child.type === CardContent || child.type === CardFooter));
|
|
3560
|
-
|
|
3565
|
+
// Get the appropriate variant styles based on theme mode
|
|
3566
|
+
var {
|
|
3567
|
+
themeMode
|
|
3568
|
+
} = theme;
|
|
3569
|
+
var currentThemeMode = elementMode || themeMode;
|
|
3570
|
+
var variantStyles = getCardVariants(currentThemeMode)[variant];
|
|
3561
3571
|
// Merge styles for the root element
|
|
3562
3572
|
var mergedRootProps = Object.assign({
|
|
3563
3573
|
width: isFullWidth ? '100%' : 'auto',
|
|
@@ -3568,7 +3578,9 @@
|
|
|
3568
3578
|
});
|
|
3569
3579
|
return /*#__PURE__*/React__default.createElement(CardContext.Provider, {
|
|
3570
3580
|
value: contextValue
|
|
3571
|
-
}, /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, mergedRootProps), hasExplicitStructure ? children : (/*#__PURE__*/React__default.createElement(appStudio.Vertical,
|
|
3581
|
+
}, /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, mergedRootProps), hasExplicitStructure ? children : (/*#__PURE__*/React__default.createElement(appStudio.Vertical, {
|
|
3582
|
+
width: "100%"
|
|
3583
|
+
}, header && /*#__PURE__*/React__default.createElement(CardHeader, null, header), /*#__PURE__*/React__default.createElement(CardContent, null, children), footer && /*#__PURE__*/React__default.createElement(CardFooter, null, footer)))));
|
|
3572
3584
|
};
|
|
3573
3585
|
|
|
3574
3586
|
/**
|
|
@@ -7304,12 +7316,9 @@
|
|
|
7304
7316
|
// State-specific colors
|
|
7305
7317
|
states: {
|
|
7306
7318
|
hover: {
|
|
7307
|
-
active:
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
inactive: {
|
|
7311
|
-
backgroundColor: 'color.gray.400'
|
|
7312
|
-
}
|
|
7319
|
+
active: 'theme.primary',
|
|
7320
|
+
inactive: 'color.gray.400',
|
|
7321
|
+
activeOpacity: 0.9
|
|
7313
7322
|
},
|
|
7314
7323
|
focus: {
|
|
7315
7324
|
active: {
|
|
@@ -7323,6 +7332,17 @@
|
|
|
7323
7332
|
}
|
|
7324
7333
|
}
|
|
7325
7334
|
};
|
|
7335
|
+
/**
|
|
7336
|
+
* Transition styles for the Switch component
|
|
7337
|
+
*/
|
|
7338
|
+
var TransitionStyles = {
|
|
7339
|
+
slider: {
|
|
7340
|
+
transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
|
|
7341
|
+
},
|
|
7342
|
+
knob: {
|
|
7343
|
+
transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
|
|
7344
|
+
}
|
|
7345
|
+
};
|
|
7326
7346
|
|
|
7327
7347
|
var _excluded$t = ["id", "name", "label", "inActiveChild", "isChecked", "activeChild", "labelPosition", "shadow", "size", "value", "isHovered", "isDisabled", "isReadOnly", "on", "setOn", "onChange", "setValue", "setIsHovered", "helperText", "views"];
|
|
7328
7348
|
var SwitchContent = props => /*#__PURE__*/React__default.createElement(appStudio.Input, Object.assign({
|
|
@@ -7361,7 +7381,8 @@
|
|
|
7361
7381
|
if (onChange) onChange(newValue);
|
|
7362
7382
|
}
|
|
7363
7383
|
};
|
|
7364
|
-
var
|
|
7384
|
+
var handleMouseEnter = () => setIsHovered(true);
|
|
7385
|
+
var handleMouseLeave = () => setIsHovered(false);
|
|
7365
7386
|
/**
|
|
7366
7387
|
* Styles for the switch component
|
|
7367
7388
|
*/
|
|
@@ -7383,8 +7404,8 @@
|
|
|
7383
7404
|
};
|
|
7384
7405
|
return /*#__PURE__*/React__default.createElement(Label, Object.assign({
|
|
7385
7406
|
htmlFor: id,
|
|
7386
|
-
onMouseEnter:
|
|
7387
|
-
onMouseLeave:
|
|
7407
|
+
onMouseEnter: handleMouseEnter,
|
|
7408
|
+
onMouseLeave: handleMouseLeave
|
|
7388
7409
|
}, switchStyle.container, props), /*#__PURE__*/React__default.createElement(SwitchContent, Object.assign({
|
|
7389
7410
|
id: id,
|
|
7390
7411
|
name: name,
|
|
@@ -7412,12 +7433,10 @@
|
|
|
7412
7433
|
borderRadius: "9999px" // Full rounded for pill shape
|
|
7413
7434
|
,
|
|
7414
7435
|
backgroundColor: isDisabled ? ColorSchemes.default.disabled : value ? isHovered ? ColorSchemes.states.hover.active : ColorSchemes.default.active : isHovered ? ColorSchemes.states.hover.inactive : ColorSchemes.default.inactive,
|
|
7415
|
-
|
|
7436
|
+
opacity: !isDisabled && value && isHovered ? ColorSchemes.states.hover.activeOpacity : 1,
|
|
7416
7437
|
// State properties
|
|
7417
|
-
cursor: "pointer"
|
|
7418
|
-
|
|
7419
|
-
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
|
|
7420
|
-
}, shadow, SliderPadding[size], SliderSizes[size], views['slider']), activeChild && value && (/*#__PURE__*/React__default.createElement(appStudio.View, {
|
|
7438
|
+
cursor: "pointer"
|
|
7439
|
+
}, TransitionStyles.slider, shadow, SliderPadding[size], SliderSizes[size], views['slider']), activeChild && value && (/*#__PURE__*/React__default.createElement(appStudio.View, {
|
|
7421
7440
|
marginLeft: 8,
|
|
7422
7441
|
marginRight: 4,
|
|
7423
7442
|
transition: "all 0.3s ease",
|
|
@@ -7428,8 +7447,9 @@
|
|
|
7428
7447
|
}, activeChild)), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
|
|
7429
7448
|
borderRadius: "50%",
|
|
7430
7449
|
backgroundColor: ColorSchemes.default.knob,
|
|
7431
|
-
boxShadow:
|
|
7432
|
-
|
|
7450
|
+
boxShadow: isHovered ? '0 2px 4px rgba(0, 0, 0, 0.2)' : '0 1px 2px rgba(0, 0, 0, 0.1)',
|
|
7451
|
+
transform: isHovered ? 'scale(1.05)' : 'scale(1)'
|
|
7452
|
+
}, TransitionStyles.knob, {
|
|
7433
7453
|
zIndex: 1
|
|
7434
7454
|
}, KnobSizes[size], views['circle'])), inActiveChild && !value && (/*#__PURE__*/React__default.createElement(appStudio.View, {
|
|
7435
7455
|
marginRight: 8,
|
|
@@ -11241,29 +11261,32 @@
|
|
|
11241
11261
|
alignItems: "center",
|
|
11242
11262
|
gap: 6,
|
|
11243
11263
|
padding: chipSize.padding,
|
|
11244
|
-
backgroundColor: "
|
|
11264
|
+
backgroundColor: "color.gray.100",
|
|
11245
11265
|
borderRadius: "16px",
|
|
11246
|
-
|
|
11247
|
-
|
|
11266
|
+
borderWidth: "1px",
|
|
11267
|
+
borderStyle: "solid",
|
|
11268
|
+
borderColor: "color.gray.300",
|
|
11248
11269
|
boxShadow: "0 1px 2px rgba(0,0,0,0.05)",
|
|
11249
11270
|
transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
|
|
11250
11271
|
opacity: isDisabled ? 0.6 : 1,
|
|
11251
11272
|
_hover: !isDisabled && !isReadOnly ? {
|
|
11252
|
-
|
|
11273
|
+
backgroundColor: 'color.gray.200',
|
|
11274
|
+
borderColor: 'color.gray.400',
|
|
11253
11275
|
boxShadow: '0 4px 6px rgba(0,0,0,0.05)',
|
|
11254
11276
|
transform: 'translateY(-1px)'
|
|
11255
11277
|
} : {}
|
|
11256
11278
|
}, views == null ? void 0 : views.tag), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
|
|
11257
11279
|
fontSize: chipSize.fontSize,
|
|
11258
|
-
color: isDisabled ? 'color.gray.400' : '
|
|
11259
|
-
fontWeight: "
|
|
11280
|
+
color: isDisabled ? 'color.gray.400' : 'theme.primary',
|
|
11281
|
+
fontWeight: "bold",
|
|
11260
11282
|
whiteSpace: "nowrap"
|
|
11261
11283
|
}, views == null ? void 0 : views.tagText), tag), isRemovable && !isDisabled && !isReadOnly && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
|
|
11262
11284
|
cursor: "pointer",
|
|
11263
11285
|
padding: "2px",
|
|
11264
11286
|
borderRadius: "50%",
|
|
11265
11287
|
transition: "all 0.2s ease",
|
|
11266
|
-
backgroundColor: isRemoveHovered ? 'color.red.
|
|
11288
|
+
backgroundColor: isRemoveHovered ? 'color.red.100' : 'transparent',
|
|
11289
|
+
opacity: isRemoveHovered ? 1 : 0.7,
|
|
11267
11290
|
onMouseEnter: () => setIsRemoveHovered(true),
|
|
11268
11291
|
onMouseLeave: () => setIsRemoveHovered(false),
|
|
11269
11292
|
onClick: e => {
|
|
@@ -11330,7 +11353,7 @@
|
|
|
11330
11353
|
outline: 'none',
|
|
11331
11354
|
backgroundColor: 'transparent',
|
|
11332
11355
|
fontSize: appStudio.Typography.fontSizes[size],
|
|
11333
|
-
color: isDisabled ? 'color.gray.400' : 'color.gray.
|
|
11356
|
+
color: isDisabled ? 'color.gray.400' : 'color.gray.800',
|
|
11334
11357
|
flex: 1,
|
|
11335
11358
|
minWidth: '120px'
|
|
11336
11359
|
}, views == null ? void 0 : views.input);
|