@app-studio/web 0.9.80 → 0.9.82

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.
Files changed (37) hide show
  1. package/dist/components/Accordion/Accordion/Accordion.type.d.ts +1 -1
  2. package/dist/components/Accordion/Accordion/Accordion.view.d.ts +1 -1
  3. package/dist/components/Badge/Badge/Badge.type.d.ts +1 -1
  4. package/dist/components/Card/Card/Card.type.d.ts +1 -1
  5. package/dist/components/ChatInput/ChatInput/ChatInput.type.d.ts +1 -1
  6. package/dist/components/ColorPicker/ColorPicker/ColorPicker.type.d.ts +1 -1
  7. package/dist/components/EmojiPicker/EmojiPicker/EmojiPicker.type.d.ts +1 -1
  8. package/dist/components/Form/ColorInput/ColorInput/ColorInput.type.d.ts +1 -1
  9. package/dist/components/Form/TagInput/TagInput/TagInput.type.d.ts +1 -1
  10. package/dist/components/Form/TextArea/TextArea/TextArea.type.d.ts +1 -1
  11. package/dist/components/Input/Input.type.d.ts +1 -1
  12. package/dist/components/Message/Message/Message.type.d.ts +1 -1
  13. package/dist/components/Modal/Modal/Modal.props.d.ts +2 -2
  14. package/dist/components/Slider/Slider/Slider.type.d.ts +1 -1
  15. package/dist/components/Title/Title/Title.props.d.ts +0 -5
  16. package/dist/components/Toggle/Toggle/Toggle.type.d.ts +1 -1
  17. package/dist/components/ToggleGroup/ToggleGroup/ToggleGroup.type.d.ts +1 -1
  18. package/dist/pages/tabs.page.d.ts +1 -1
  19. package/dist/web.cjs.development.js +61 -77
  20. package/dist/web.cjs.development.js.map +1 -1
  21. package/dist/web.cjs.production.min.js +1 -1
  22. package/dist/web.cjs.production.min.js.map +1 -1
  23. package/dist/web.esm.js +61 -77
  24. package/dist/web.esm.js.map +1 -1
  25. package/dist/web.umd.development.js +61 -77
  26. package/dist/web.umd.development.js.map +1 -1
  27. package/dist/web.umd.production.min.js +1 -1
  28. package/dist/web.umd.production.min.js.map +1 -1
  29. package/docs/components/Background.mdx +133 -134
  30. package/docs/components/Button.mdx +154 -131
  31. package/docs/components/Chart.mdx +93 -368
  32. package/docs/components/ChatWidget.mdx +106 -0
  33. package/docs/components/EditComponent.mdx +76 -0
  34. package/docs/components/ProgressBar.mdx +77 -394
  35. package/docs/components/Title.mdx +102 -290
  36. package/package.json +1 -1
  37. package/docs/components/ChatInput.mdx +0 -1039
package/dist/web.esm.js CHANGED
@@ -177,7 +177,7 @@ var useAccordionState = _ref => {
177
177
  };
178
178
 
179
179
  var AccordionShapes = {
180
- sharp: {
180
+ square: {
181
181
  borderRadius: 0
182
182
  },
183
183
  rounded: {
@@ -1292,17 +1292,14 @@ var MessageView = _ref => {
1292
1292
  width: "100%"
1293
1293
  }, /*#__PURE__*/React.createElement(Text, Object.assign({
1294
1294
  size: "md",
1295
- weight: "semiBold",
1296
- backgroundColor: Theme[variant].container.backgroundColor
1295
+ weight: "semiBold"
1297
1296
  }, views == null ? void 0 : views.title), title), subtitle && (/*#__PURE__*/React.createElement(Text, Object.assign({
1298
- size: "sm",
1299
- backgroundColor: Theme[variant].container.backgroundColor
1297
+ size: "sm"
1300
1298
  }, views == null ? void 0 : views.subtitle), subtitle))), showAction && (/*#__PURE__*/React.createElement(Text, Object.assign({
1301
1299
  marginRight: 10,
1302
1300
  onClick: action,
1303
1301
  padding: "6px 10px",
1304
- whiteSpace: "nowrap",
1305
- backgroundColor: Theme[variant].container.backgroundColor
1302
+ whiteSpace: "nowrap"
1306
1303
  }, containerStyle, views == null ? void 0 : views.actionText), actionText)), isClosable && (/*#__PURE__*/React.createElement(View, Object.assign({
1307
1304
  position: "absolute",
1308
1305
  zIndex: 10000,
@@ -2290,9 +2287,9 @@ var BadgeSizes = {
2290
2287
  * Badge shapes with consistent border radius
2291
2288
  */
2292
2289
  var BadgeShapes = {
2293
- sharp: 0,
2290
+ square: 0,
2294
2291
  rounded: '8px',
2295
- pillShaped: '9999px'
2292
+ pill: '9999px'
2296
2293
  };
2297
2294
  /**
2298
2295
  * Badge positions for absolute positioning
@@ -2370,7 +2367,7 @@ var BadgeView = _ref => {
2370
2367
  var {
2371
2368
  content,
2372
2369
  position,
2373
- shape = 'pillShaped',
2370
+ shape = 'pill',
2374
2371
  variant = 'filled',
2375
2372
  size = 'md',
2376
2373
  views,
@@ -2744,9 +2741,9 @@ var ButtonSizes = {
2744
2741
  * Button shapes with consistent border radius
2745
2742
  */
2746
2743
  var ButtonShapes = {
2747
- sharp: 0,
2744
+ square: 0,
2748
2745
  rounded: 8,
2749
- pillShaped: 999
2746
+ pill: 999
2750
2747
  };
2751
2748
  /**
2752
2749
  * Icon sizes for different button sizes
@@ -3419,9 +3416,9 @@ var CardSizes = {
3419
3416
  * Card shapes with consistent border radius
3420
3417
  */
3421
3418
  var CardShapes = {
3422
- sharp: 0,
3419
+ square: 0,
3423
3420
  rounded: '8px',
3424
- pillShaped: '24px'
3421
+ pill: '24px'
3425
3422
  };
3426
3423
  /**
3427
3424
  * Get card variants with consistent styling based on theme mode
@@ -3581,7 +3578,9 @@ var CardView = _ref4 => {
3581
3578
  // Prepare context value, merging default styles with user's `views` overrides
3582
3579
  var contextValue = useMemo(() => ({
3583
3580
  styles: {
3584
- container: Object.assign({}, defaultStyles.container, views == null ? void 0 : views.container),
3581
+ container: Object.assign({}, defaultStyles.container, {
3582
+ borderRadius: CardShapes[shape]
3583
+ }, views == null ? void 0 : views.container),
3585
3584
  header: Object.assign({}, defaultStyles.header, {
3586
3585
  padding: sizePadding
3587
3586
  }, views == null ? void 0 : views.header),
@@ -3592,7 +3591,7 @@ var CardView = _ref4 => {
3592
3591
  padding: sizePadding
3593
3592
  }, views == null ? void 0 : views.footer)
3594
3593
  }
3595
- }), [defaultStyles, views, sizePadding]);
3594
+ }), [defaultStyles, views, sizePadding, shape]);
3596
3595
  // Determine if we have explicit Card.Header, Card.Content, Card.Footer components
3597
3596
  var hasExplicitStructure = React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && (child.type === CardHeader || child.type === CardContent || child.type === CardFooter));
3598
3597
  // Get the appropriate variant styles based on theme mode
@@ -3604,7 +3603,6 @@ var CardView = _ref4 => {
3604
3603
  // Merge styles for the root element
3605
3604
  var mergedRootProps = Object.assign({
3606
3605
  width: isFullWidth ? '100%' : 'auto',
3607
- borderRadius: CardShapes[shape],
3608
3606
  overflow: 'hidden'
3609
3607
  }, variantStyles, contextValue.styles.container, props, {
3610
3608
  style: Object.assign({}, (_contextValue$styles$ = contextValue.styles.container) == null ? void 0 : _contextValue$styles$.style, style)
@@ -6401,7 +6399,7 @@ var Shapes = {
6401
6399
  }
6402
6400
  }
6403
6401
  },
6404
- sharp: {
6402
+ square: {
6405
6403
  borderRadius: 0
6406
6404
  },
6407
6405
  rounded: {
@@ -6412,7 +6410,7 @@ var Shapes = {
6412
6410
  }
6413
6411
  }
6414
6412
  },
6415
- pillShaped: {
6413
+ pill: {
6416
6414
  borderRadius: '9999px'
6417
6415
  }
6418
6416
  };
@@ -8562,13 +8560,13 @@ var Shapes$1 = {
8562
8560
  default: {
8563
8561
  borderRadius: '6px'
8564
8562
  },
8565
- sharp: {
8563
+ square: {
8566
8564
  borderRadius: '0px'
8567
8565
  },
8568
8566
  rounded: {
8569
8567
  borderRadius: '8px'
8570
8568
  },
8571
- pillShaped: {
8569
+ pill: {
8572
8570
  borderRadius: '9999px'
8573
8571
  }
8574
8572
  };
@@ -11256,9 +11254,6 @@ var TagChip = _ref => {
11256
11254
  isReadOnly
11257
11255
  } = _ref;
11258
11256
  var [isRemoveHovered, setIsRemoveHovered] = React.useState(false);
11259
- var {
11260
- getColor
11261
- } = useTheme();
11262
11257
  var chipSize = {
11263
11258
  xs: {
11264
11259
  padding: '2px 8px',
@@ -11294,24 +11289,23 @@ var TagChip = _ref => {
11294
11289
  alignItems: "center",
11295
11290
  gap: 6,
11296
11291
  padding: chipSize.padding,
11297
- backgroundColor: "color.gray.100",
11292
+ backgroundColor: "color.gray.100.100",
11298
11293
  borderRadius: "16px",
11299
11294
  borderWidth: "1px",
11300
11295
  borderStyle: "solid",
11301
- borderColor: "color.gray.300",
11296
+ borderColor: "color.gray.100",
11302
11297
  boxShadow: "0 1px 2px rgba(0,0,0,0.05)",
11303
11298
  transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
11304
11299
  opacity: isDisabled ? 0.6 : 1,
11305
11300
  _hover: !isDisabled && !isReadOnly ? {
11306
- backgroundColor: 'color.gray.200',
11307
- borderColor: 'color.gray.400',
11301
+ backgroundColor: 'color.gray.100.200',
11302
+ borderColor: 'color.gray.200',
11308
11303
  boxShadow: '0 4px 6px rgba(0,0,0,0.05)',
11309
11304
  transform: 'translateY(-1px)'
11310
11305
  } : {}
11311
11306
  }, views == null ? void 0 : views.tag), /*#__PURE__*/React.createElement(Text, Object.assign({
11312
11307
  fontSize: chipSize.fontSize,
11313
- color: isDisabled ? 'color.gray.400' : 'theme.primary',
11314
- fontWeight: "bold",
11308
+ color: isDisabled ? 'color.gray.100' : 'theme.primary',
11315
11309
  whiteSpace: "nowrap"
11316
11310
  }, views == null ? void 0 : views.tagText), tag), isRemovable && !isDisabled && !isReadOnly && (/*#__PURE__*/React.createElement(View, Object.assign({
11317
11311
  cursor: "pointer",
@@ -12806,7 +12800,7 @@ var Shapes$2 = {
12806
12800
  default: {
12807
12801
  borderRadius: '8px'
12808
12802
  },
12809
- sharp: {
12803
+ square: {
12810
12804
  borderRadius: '0px'
12811
12805
  },
12812
12806
  rounded: {
@@ -14473,9 +14467,9 @@ var ThumbSizes = {
14473
14467
  }
14474
14468
  };
14475
14469
  var SliderShapes = {
14476
- sharp: 0,
14470
+ square: 0,
14477
14471
  rounded: 4,
14478
- pillShaped: 24
14472
+ pill: 24
14479
14473
  };
14480
14474
  var getSlider = themeMode => {
14481
14475
  return {
@@ -15289,7 +15283,7 @@ var hideModal = name => {
15289
15283
  * Following the 4px grid system
15290
15284
  */
15291
15285
  var ContainerShapes = {
15292
- sharp: {
15286
+ square: {
15293
15287
  borderRadius: 0
15294
15288
  },
15295
15289
  rounded: {
@@ -16738,30 +16732,25 @@ var TabHeader = _ref => {
16738
16732
  textStyles
16739
16733
  } = _ref;
16740
16734
  // Base styles for the tab header
16735
+ // Base styles for the tab header
16741
16736
  var baseStyles = {
16742
16737
  display: 'flex',
16743
16738
  alignItems: 'center',
16744
16739
  justifyContent: 'center',
16745
- padding: '10px 16px',
16740
+ padding: '12px 16px',
16746
16741
  cursor: 'pointer',
16747
- borderTopLeftRadius: '4px',
16748
- borderTopRightRadius: '4px',
16749
- borderBottomLeftRadius: 0,
16750
- borderBottomRightRadius: 0,
16751
- borderWidth: '1px',
16752
- borderStyle: 'solid',
16753
- borderColor: isActive ? 'theme.primary' : 'transparent',
16754
- borderBottomColor: isActive ? 'transparent' : 'color.gray.200',
16755
- backgroundColor: isActive ? 'color.white' : 'transparent',
16742
+ borderBottom: '2px solid',
16743
+ borderBottomColor: isActive ? 'theme.primary' : 'transparent',
16744
+ backgroundColor: 'transparent',
16756
16745
  color: isActive ? 'theme.primary' : 'color.gray.600',
16757
- fontWeight: 'normal',
16758
- position: 'relative',
16759
- // If active, show a bottom border that matches the background color
16760
- // to create the illusion that the tab is connected to the content
16746
+ fontWeight: isActive ? '600' : '500',
16747
+ marginBottom: '-1px',
16748
+ transition: 'all 0.2s ease',
16761
16749
  // Hover state
16762
16750
  on: {
16763
16751
  hover: {
16764
- color: 'theme.primary'
16752
+ color: 'theme.primary',
16753
+ borderBottomColor: isActive ? 'theme.primary' : 'color.gray.300'
16765
16754
  }
16766
16755
  }
16767
16756
  };
@@ -16823,7 +16812,11 @@ var TabsView = _ref => {
16823
16812
  React.createElement(Vertical, Object.assign({
16824
16813
  width: "100%",
16825
16814
  height: '100%'
16826
- }, views.container), /*#__PURE__*/React.createElement(Horizontal, Object.assign({}, views.headerTabs), tabs.map(tab => {
16815
+ }, views.container), /*#__PURE__*/React.createElement(Horizontal, Object.assign({
16816
+ width: "100%",
16817
+ borderBottom: "1px solid",
16818
+ borderBottomColor: "color.gray.200"
16819
+ }, views.headerTabs), tabs.map(tab => {
16827
16820
  // Determine if the current tab in the loop is the active one
16828
16821
  var isActive = tab.title === activeTab.title;
16829
16822
  // Prepare the onClick handler for this specific tab
@@ -17397,7 +17390,7 @@ var SlideEffect = _ref => {
17397
17390
  }))))));
17398
17391
  };
17399
17392
 
17400
- var _excluded$$ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential", "themeMode", "textComponent"];
17393
+ var _excluded$$ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential", "themeMode"];
17401
17394
  function escapeRegExp(string) {
17402
17395
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
17403
17396
  }
@@ -17428,8 +17421,7 @@ var TitleView = _ref => {
17428
17421
  highlightSlideDuration = 500,
17429
17422
  highlightSlideStagger = 50,
17430
17423
  highlightSlideSequential = true,
17431
- themeMode: elementMode,
17432
- textComponent
17424
+ themeMode: elementMode
17433
17425
  } = _ref,
17434
17426
  props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
17435
17427
  var {
@@ -17483,7 +17475,6 @@ var TitleView = _ref => {
17483
17475
  highlightSlideStagger,
17484
17476
  highlightSlideSequential
17485
17477
  }, props));
17486
- var TextComponent = textComponent || Text;
17487
17478
  var fontSize = TitleSizes[size];
17488
17479
  // Highlight style props
17489
17480
  var highlightProps = HighlightStyles[highlightStyle](resolvedHighlightColor, resolvedHighlightSecondaryColor);
@@ -17504,13 +17495,12 @@ var TitleView = _ref => {
17504
17495
  // Get the text to display
17505
17496
  var text = typeof finalDisplayedText === 'string' ? finalDisplayedText : typeof children === 'string' ? children : '';
17506
17497
  // Common container props
17507
- var containerProps = Object.assign({
17498
+ var containerProps = {
17508
17499
  ref,
17509
- animate: inView ? controlledAnimate : undefined
17510
- }, !textComponent && {
17500
+ animate: inView ? controlledAnimate : undefined,
17511
17501
  as: 'h1',
17512
17502
  fontSize
17513
- });
17503
+ };
17514
17504
  // Render highlighted text content (typewriter, slide, or plain)
17515
17505
  var renderHighlightedContent = content => {
17516
17506
  // If animations are enabled but not in view, render invisible placeholder
@@ -17526,8 +17516,7 @@ var TitleView = _ref => {
17526
17516
  return /*#__PURE__*/React.createElement(TypewriterEffect, Object.assign({
17527
17517
  text: content,
17528
17518
  typingSpeed: Math.max(30, highlightTypewriterDuration / (content.length * 10)),
17529
- cursorColor: "currentColor",
17530
- textComponent: TextComponent
17519
+ cursorColor: "currentColor"
17531
17520
  }, highlightProps));
17532
17521
  }
17533
17522
  if (highlightSlide) {
@@ -17538,8 +17527,7 @@ var TitleView = _ref => {
17538
17527
  sequential: stateHighlightSlideSequential,
17539
17528
  direction: "up",
17540
17529
  fontSize: fontSize,
17541
- wordProps: highlightProps,
17542
- textComponent: TextComponent
17530
+ wordProps: highlightProps
17543
17531
  });
17544
17532
  }
17545
17533
  return renderWithLineBreaks(content);
@@ -17559,13 +17547,11 @@ var TitleView = _ref => {
17559
17547
  lastIndex = match.index + match[0].length;
17560
17548
  }
17561
17549
  if (lastIndex < text.length) parts.push(text.substring(lastIndex));
17562
- return /*#__PURE__*/React.createElement(Element, Object.assign({
17563
- fontSize: fontSize
17564
- }, containerProps, views == null ? void 0 : views.container, props), parts.map((part, idx) => typeof part === 'string' ? (/*#__PURE__*/React.createElement(TextComponent, {
17550
+ return /*#__PURE__*/React.createElement(Element, Object.assign({}, containerProps, views == null ? void 0 : views.container, props), parts.map((part, idx) => typeof part === 'string' ? (/*#__PURE__*/React.createElement(Text, {
17565
17551
  key: "text-" + idx,
17566
17552
  as: "span",
17567
17553
  display: "inline"
17568
- }, renderWithLineBreaks(part))) : (/*#__PURE__*/React.createElement(TextComponent, Object.assign({
17554
+ }, renderWithLineBreaks(part))) : (/*#__PURE__*/React.createElement(Text, Object.assign({
17569
17555
  key: "highlight-" + idx,
17570
17556
  as: "span",
17571
17557
  display: "inline",
@@ -17574,16 +17560,14 @@ var TitleView = _ref => {
17574
17560
  }
17575
17561
  // Case 2: Has highlight style but no highlight target - apply style to entire title
17576
17562
  if (highlightStyle && !activeHighlightTarget) {
17577
- return /*#__PURE__*/React.createElement(Element, Object.assign({
17578
- fontSize: fontSize
17579
- }, containerProps, props, views == null ? void 0 : views.container), /*#__PURE__*/React.createElement(TextComponent, Object.assign({
17563
+ return /*#__PURE__*/React.createElement(Element, Object.assign({}, containerProps, props, views == null ? void 0 : views.container), /*#__PURE__*/React.createElement(Text, Object.assign({
17580
17564
  as: "span",
17581
17565
  display: "inline",
17582
17566
  animate: inView ? controlledHighlightAnimate : undefined
17583
17567
  }, !highlightSlide ? highlightProps : {}, views == null ? void 0 : views.highlight), renderHighlightedContent(text)));
17584
17568
  }
17585
17569
  // Case 3: Default - no highlighting
17586
- return /*#__PURE__*/React.createElement(TextComponent, Object.assign({}, containerProps, props, views == null ? void 0 : views.container), renderWithLineBreaks(text));
17570
+ return /*#__PURE__*/React.createElement(Text, Object.assign({}, containerProps, props, views == null ? void 0 : views.container), renderWithLineBreaks(text));
17587
17571
  };
17588
17572
 
17589
17573
  /**
@@ -17649,9 +17633,9 @@ var useToggleState = defaultToggled => {
17649
17633
  };
17650
17634
 
17651
17635
  var ToggleShapes = {
17652
- sharp: 0,
17636
+ square: 0,
17653
17637
  rounded: 4,
17654
- pillShaped: 24
17638
+ pill: 24
17655
17639
  };
17656
17640
  /**
17657
17641
  * Generate toggle variants with proper color combinations based on main color and contrast
@@ -17768,7 +17752,7 @@ var ToggleView = _ref => {
17768
17752
  };
17769
17753
  return /*#__PURE__*/React.createElement(Center, Object.assign({
17770
17754
  role: "Toggle",
17771
- padding: shape === 'pillShaped' ? '10px 12px' : '8px',
17755
+ padding: shape === 'pill' ? '10px 12px' : '8px',
17772
17756
  width: "fit-content",
17773
17757
  cursor: isDisabled ? 'not-allowed' : 'pointer',
17774
17758
  borderRadius: ToggleShapes[shape],
@@ -18677,13 +18661,13 @@ var Shapes$3 = {
18677
18661
  default: {
18678
18662
  borderRadius: '8px'
18679
18663
  },
18680
- sharp: {
18664
+ square: {
18681
18665
  borderRadius: 0
18682
18666
  },
18683
18667
  rounded: {
18684
18668
  borderRadius: '8px'
18685
18669
  },
18686
- pillShaped: {
18670
+ pill: {
18687
18671
  borderRadius: '9999px'
18688
18672
  }
18689
18673
  };
@@ -19145,13 +19129,13 @@ var Shapes$4 = {
19145
19129
  default: {
19146
19130
  borderRadius: '8px'
19147
19131
  },
19148
- sharp: {
19132
+ square: {
19149
19133
  borderRadius: 0
19150
19134
  },
19151
19135
  rounded: {
19152
19136
  borderRadius: '8px'
19153
19137
  },
19154
- pillShaped: {
19138
+ pill: {
19155
19139
  borderRadius: '9999px'
19156
19140
  }
19157
19141
  };