@app-studio/web 0.8.54 → 0.8.56

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.
@@ -134,7 +134,6 @@
134
134
  } : {};
135
135
  var fontSize = appStudio.Typography.fontSizes[size];
136
136
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
137
- role: "text",
138
137
  fontSize: fontSize,
139
138
  lineHeight: appStudio.Typography.lineHeights[size],
140
139
  fontStyle: isItalic ? 'italic' : 'normal',
@@ -2215,19 +2214,23 @@
2215
2214
  slow: 300
2216
2215
  };
2217
2216
 
2218
- var _excluded$8 = ["size", "speed", "color"],
2219
- _excluded2$1 = ["size", "speed", "color"],
2220
- _excluded3$1 = ["size", "speed", "color"],
2217
+ var _excluded$8 = ["size", "speed", "color", "themeMode"],
2218
+ _excluded2$1 = ["size", "speed", "color", "themeMode"],
2219
+ _excluded3$1 = ["size", "speed", "color", "themeMode"],
2221
2220
  _excluded4$1 = ["size", "children", "textColor", "loaderColor", "type", "speed", "textPosition"];
2222
2221
  var DefaultSpinner = _ref => {
2223
2222
  var {
2224
2223
  size = 'md',
2225
2224
  speed = 'normal',
2226
- color = 'theme.loading'
2225
+ color = 'theme.loading',
2226
+ themeMode: elementMode
2227
2227
  } = _ref,
2228
2228
  props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
2229
- var theme = appStudio.useTheme();
2230
- var colorStyle = theme.getColor(color);
2229
+ var {
2230
+ getColor,
2231
+ themeMode
2232
+ } = appStudio.useTheme();
2233
+ var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
2231
2234
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
2232
2235
  var [angle, setAngle] = React.useState(0);
2233
2236
  React.useEffect(() => {
@@ -2266,11 +2269,15 @@
2266
2269
  var {
2267
2270
  size = 'md',
2268
2271
  speed = 'normal',
2269
- color = 'theme.loading'
2272
+ color = 'theme.loading',
2273
+ themeMode: elementMode
2270
2274
  } = _ref2,
2271
2275
  props = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
2272
- var theme = appStudio.useTheme();
2273
- var colorStyle = theme.getColor(color);
2276
+ var {
2277
+ getColor,
2278
+ themeMode
2279
+ } = appStudio.useTheme();
2280
+ var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
2274
2281
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
2275
2282
  var [angle, setAngle] = React.useState(0);
2276
2283
  React.useEffect(() => {
@@ -2308,11 +2315,15 @@
2308
2315
  var {
2309
2316
  size = 'md',
2310
2317
  speed = 'normal',
2311
- color = 'theme.loading'
2318
+ color = 'theme.loading',
2319
+ themeMode: elementMode
2312
2320
  } = _ref3,
2313
2321
  props = _objectWithoutPropertiesLoose(_ref3, _excluded3$1);
2314
- var theme = appStudio.useTheme();
2315
- var colorStyle = theme.getColor(color);
2322
+ var {
2323
+ getColor,
2324
+ themeMode
2325
+ } = appStudio.useTheme();
2326
+ var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
2316
2327
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
2317
2328
  var [angle, setAngle] = React.useState(0);
2318
2329
  React.useEffect(() => {
@@ -2378,7 +2389,7 @@
2378
2389
  // Exports the LoaderComponent as Loader, making it available for use in other parts of the application.
2379
2390
  var Loader = LoaderComponent;
2380
2391
 
2381
- var _excluded$9 = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "colorScheme", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal"];
2392
+ var _excluded$9 = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "colorScheme", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal", "themeMode"];
2382
2393
  var contrast = /*#__PURE__*/require('contrast');
2383
2394
  var ButtonView = _ref => {
2384
2395
  var _props$onClick;
@@ -2412,14 +2423,16 @@
2412
2423
  effect = 'default',
2413
2424
  isHovered,
2414
2425
  setIsHovered = () => {},
2415
- isExternal = false
2426
+ isExternal = false,
2427
+ themeMode: elementMode
2416
2428
  // Defines CSS properties for 'outline' variant of the button with conditional styles based on reverse state.
2417
2429
  } = _ref,
2418
2430
  props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
2419
2431
  var {
2420
- getColor
2432
+ getColor,
2433
+ themeMode
2421
2434
  } = appStudio.useTheme();
2422
- var handleHover = () => setIsHovered(!isHovered);
2435
+ var handleHover = over => setIsHovered(over);
2423
2436
  var isActive = !(isDisabled || isLoading);
2424
2437
  var defaultNativeProps = {
2425
2438
  disabled: !isActive
@@ -2427,7 +2440,7 @@
2427
2440
  var buttonColor = isActive ? colorScheme : 'theme.disabled';
2428
2441
  var hovering = isHovered && effect === 'hover';
2429
2442
  var reverse = isHovered && effect === 'reverse';
2430
- var isLight = contrast(getColor(buttonColor)) == 'light';
2443
+ var isLight = contrast(getColor(buttonColor, elementMode ? elementMode : themeMode)) == 'light';
2431
2444
  var ButtonVariants = {
2432
2445
  filled: {
2433
2446
  // Defines CSS properties for 'link' variant of the button with conditional styles based on reverse state, includes text decoration.
@@ -2478,7 +2491,6 @@
2478
2491
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
2479
2492
  gap: 8,
2480
2493
  as: "button",
2481
- role: "button",
2482
2494
  border: "none",
2483
2495
  color: "color.white",
2484
2496
  display: "flex",
@@ -2488,8 +2500,8 @@
2488
2500
  backgroundColor: buttonColor,
2489
2501
  borderRadius: ButtonShapes[shape],
2490
2502
  onClick: (_props$onClick = props.onClick) != null ? _props$onClick : onClick,
2491
- onMouseEnter: handleHover,
2492
- onMouseLeave: handleHover,
2503
+ onMouseEnter: () => handleHover(true),
2504
+ onMouseLeave: () => handleHover(false),
2493
2505
  cursor: isActive ? 'pointer' : 'default',
2494
2506
  filter: hovering ? 'brightness(0.85)' : 'brightness(1)'
2495
2507
  }, hovering && !props.isDisabled ? {
@@ -2530,20 +2542,22 @@
2530
2542
  };
2531
2543
  var Button = ButtonComponent;
2532
2544
 
2533
- var _excluded$a = ["src", "color"],
2545
+ var _excluded$a = ["src", "color", "themeMode"],
2534
2546
  _excluded2$2 = ["path"];
2535
2547
  var FileSVG = _ref => {
2536
2548
  var {
2537
2549
  src,
2538
- color
2550
+ color,
2551
+ themeMode: elementMode
2539
2552
  } = _ref,
2540
2553
  props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
2541
2554
  var {
2542
- getColor
2555
+ getColor,
2556
+ themeMode
2543
2557
  } = appStudio.useTheme();
2544
2558
  var Colorprops = color ? {
2545
- fill: getColor(color),
2546
- stroke: getColor(color)
2559
+ fill: getColor(color, elementMode ? elementMode : themeMode),
2560
+ stroke: getColor(color, elementMode ? elementMode : themeMode)
2547
2561
  } : {};
2548
2562
  return /*#__PURE__*/React__default.createElement(Center, Object.assign({}, props), /*#__PURE__*/React__default.createElement(appStudio.Image, Object.assign({}, Colorprops, {
2549
2563
  content: 'url("' + src + '")',
@@ -3647,7 +3661,7 @@
3647
3661
  };
3648
3662
  };
3649
3663
 
3650
- var _excluded$l = ["id", "name", "label", "hint", "value", "onChange", "left", "right", "helperText", "placeholder", "onChangeText", "shadow", "styles", "size", "shape", "variant", "colorScheme", "error", "isFocused", "isHovered", "isDisabled", "isReadOnly", "isClearable", "isAutoFocus", "setHint", "setIsFocused", "setIsHovered", "setValue", "onClick", "onFocus", "onBlur"];
3664
+ var _excluded$l = ["id", "name", "label", "hint", "value", "onChange", "left", "right", "helperText", "placeholder", "onChangeText", "shadow", "styles", "size", "shape", "variant", "colorScheme", "error", "isFocused", "isHovered", "isDisabled", "isReadOnly", "isClearable", "isAutoFocus", "setHint", "setIsFocused", "setIsHovered", "setValue", "onClick", "onFocus", "onBlur", "themeMode"];
3651
3665
  var TextFieldInput = props => /*#__PURE__*/React__default.createElement(appStudio.Input, Object.assign({
3652
3666
  type: "text"
3653
3667
  }, props));
@@ -3688,13 +3702,15 @@
3688
3702
  setValue = () => {},
3689
3703
  onClick = () => {},
3690
3704
  onFocus,
3691
- onBlur = () => {}
3705
+ onBlur = () => {},
3706
+ themeMode: elementMode
3692
3707
  } = _ref,
3693
3708
  props = _objectWithoutPropertiesLoose(_ref, _excluded$l);
3694
3709
  var {
3695
- getColor
3710
+ getColor,
3711
+ themeMode
3696
3712
  } = appStudio.useTheme();
3697
- var IconColor = getColor('color.blueGray.700');
3713
+ var IconColor = getColor('color.blueGray.700', elementMode ? elementMode : themeMode);
3698
3714
  var isWithLabel = !!(isFocused && label);
3699
3715
  var fieldStyles = Object.assign({
3700
3716
  margin: 0,
@@ -5465,7 +5481,7 @@
5465
5481
 
5466
5482
  var _excluded$n = ["size"],
5467
5483
  _excluded2$4 = ["size"],
5468
- _excluded3$3 = ["id", "name", "label", "value", "placeholder", "helperText", "hide", "error", "isHovered", "isFocused", "isAutoFocus", "isDisabled", "isReadOnly", "shadow", "newOptions", "size", "variant", "shape", "colorScheme", "onChange", "onBlur", "setHide", "setNewOptions", "setIsHovered", "setIsFocused", "setValue", "styles"];
5484
+ _excluded3$3 = ["id", "name", "label", "value", "placeholder", "helperText", "hide", "error", "isHovered", "isFocused", "isAutoFocus", "isDisabled", "isReadOnly", "shadow", "newOptions", "size", "variant", "shape", "colorScheme", "onChange", "onBlur", "setHide", "setNewOptions", "setIsHovered", "setIsFocused", "setValue", "styles", "themeMode"];
5469
5485
  var CountryList = _ref => {
5470
5486
  var props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
5471
5487
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
@@ -5577,13 +5593,15 @@
5577
5593
  dropDown: {},
5578
5594
  helperText: {},
5579
5595
  box: {}
5580
- }
5596
+ },
5597
+ themeMode: elementMode
5581
5598
  } = _ref5,
5582
5599
  props = _objectWithoutPropertiesLoose(_ref5, _excluded3$3);
5583
5600
  var {
5584
- getColor
5601
+ getColor,
5602
+ themeMode
5585
5603
  } = appStudio.useTheme();
5586
- var IconColor = getColor('color.blueGray.700');
5604
+ var IconColor = getColor('color.blueGray.700', elementMode ? elementMode : themeMode);
5587
5605
  var handleHover = () => setIsHovered(!isHovered);
5588
5606
  var handleFocus = () => setIsFocused(true);
5589
5607
  var handleCallback = option => {
@@ -6619,6 +6637,11 @@
6619
6637
 
6620
6638
  var useModalStore = /*#__PURE__*/zustand.create(set => ({
6621
6639
  modals: [],
6640
+ onHide: name => name,
6641
+ onShow: (name, props) => ({
6642
+ name,
6643
+ props
6644
+ }),
6622
6645
  show: function show(name, modalProps, overlayProps) {
6623
6646
  if (modalProps === void 0) {
6624
6647
  modalProps = {};
@@ -6626,7 +6649,7 @@
6626
6649
  if (overlayProps === void 0) {
6627
6650
  overlayProps = {};
6628
6651
  }
6629
- set(state => ({
6652
+ set(state => Object.assign({}, state, {
6630
6653
  modals: [...state.modals, {
6631
6654
  name,
6632
6655
  props: Object.assign({}, modalProps, {
@@ -6645,10 +6668,20 @@
6645
6668
  };
6646
6669
  }
6647
6670
  // Hide specific modal by name
6648
- return {
6671
+ return Object.assign({}, state, {
6649
6672
  modals: state.modals.filter(modal => modal.name !== name)
6650
- };
6673
+ });
6651
6674
  });
6675
+ },
6676
+ setOnHide: onHide => {
6677
+ set(state => Object.assign({}, state, {
6678
+ onHide
6679
+ }));
6680
+ },
6681
+ setOnShow: onShow => {
6682
+ set(state => Object.assign({}, state, {
6683
+ onShow
6684
+ }));
6652
6685
  }
6653
6686
  }));
6654
6687
  var showModal = function showModal(name, modalProps, overlayProps) {
@@ -6659,9 +6692,11 @@
6659
6692
  overlayProps = {};
6660
6693
  }
6661
6694
  useModalStore.getState().show(name, modalProps, overlayProps);
6695
+ useModalStore.getState().onShow(name, modalProps);
6662
6696
  };
6663
6697
  var hideModal = name => {
6664
6698
  console.log('hideModal', name);
6699
+ useModalStore.getState().onHide(name);
6665
6700
  useModalStore.getState().hide(typeof name === 'string' ? name : undefined);
6666
6701
  };
6667
6702
 
@@ -6832,9 +6867,17 @@
6832
6867
 
6833
6868
  var ModalLayout = _ref => {
6834
6869
  var {
6835
- modals: availableModals
6870
+ modals: availableModals,
6871
+ onShow,
6872
+ onHide
6836
6873
  } = _ref;
6837
6874
  var activeModals = useModalStore(state => state.modals);
6875
+ if (onShow) {
6876
+ useModalStore.getState().setOnShow(onShow);
6877
+ }
6878
+ if (onHide) {
6879
+ useModalStore.getState().setOnHide(onHide);
6880
+ }
6838
6881
  if (activeModals.length === 0) {
6839
6882
  return null;
6840
6883
  }