@app-studio/web 0.9.50 → 0.9.54

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.
@@ -5016,6 +5016,28 @@
5016
5016
  boxShadow: "0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px " + color
5017
5017
  },
5018
5018
  transition: 'opacity 0.2s ease'
5019
+ },
5020
+ subtle: {
5021
+ backgroundColor: 'white',
5022
+ color: color,
5023
+ borderWidth: 1,
5024
+ borderStyle: 'solid',
5025
+ borderColor: color,
5026
+ paddingHorizontal: 12,
5027
+ paddingVertical: 6,
5028
+ borderRadius: 6,
5029
+ fontWeight: 500,
5030
+ _hover: {
5031
+ backgroundColor: 'rgba(0, 0, 0, 0.05)'
5032
+ },
5033
+ _active: {
5034
+ backgroundColor: 'rgba(0, 0, 0, 0.1)'
5035
+ },
5036
+ _focusVisible: {
5037
+ outline: 'none',
5038
+ boxShadow: "0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px " + color
5039
+ },
5040
+ transition: 'all 0.2s ease'
5019
5041
  }
5020
5042
  };
5021
5043
  };
@@ -8356,7 +8378,8 @@
8356
8378
  // Layout properties
8357
8379
  gap: 8,
8358
8380
  position: "relative",
8359
- width: "100%"
8381
+ width: "100%",
8382
+ marginVertical: 4
8360
8383
  }, props, views == null ? void 0 : views.container), children, !error && helperText && (/*#__PURE__*/React__default.createElement(HelperText, Object.assign({
8361
8384
  marginTop: 4
8362
8385
  }, views == null ? void 0 : views.helperText), helperText)), error && (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
@@ -8553,7 +8576,7 @@
8553
8576
  opacity: isDisabled ? 0.6 : 1,
8554
8577
  // Animation
8555
8578
  transition: "all 0.2s ease"
8556
- }, showLabel ? PadddingWithLabel : PaddingWithoutLabel, shadow, Shapes[shape], InputVariants[variant], views['box'], props), children);
8579
+ }, showLabel ? PadddingWithLabel : PaddingWithoutLabel, shadow, Shapes[shape], InputVariants[variant], InputVariants[variant], views == null ? void 0 : views.container, props), children);
8557
8580
  };
8558
8581
 
8559
8582
  var _excluded$o = ["children"];
@@ -12217,12 +12240,10 @@
12217
12240
  text: {}
12218
12241
  }
12219
12242
  } = _ref3;
12220
- var [isHovered, setIsHovered] = React.useState(false);
12221
12243
  var handleOptionClick = event => {
12222
12244
  if (event && event.stopPropagation) event.stopPropagation();
12223
12245
  callback(option);
12224
12246
  };
12225
- var handleHover = () => setIsHovered(!isHovered);
12226
12247
  return /*#__PURE__*/React__default.createElement(CountryItem, Object.assign({
12227
12248
  margin: 0,
12228
12249
  role: "DropDownItem",
@@ -12230,11 +12251,11 @@
12230
12251
  fontWeight: "normal",
12231
12252
  paddingVertical: 6,
12232
12253
  paddingHorizontal: 12,
12233
- onMouseEnter: handleHover,
12234
- onMouseLeave: handleHover,
12235
12254
  onClick: handleOptionClick,
12236
12255
  fontSize: appStudio.Typography.fontSizes[size],
12237
- backgroundColor: isHovered ? 'trueGray.100' : 'transparent'
12256
+ _hover: {
12257
+ opacity: 0.8
12258
+ }
12238
12259
  }, views['text']), option);
12239
12260
  };
12240
12261
  var DropDown$1 = _ref4 => {
@@ -12313,7 +12334,6 @@
12313
12334
  var IconColor = getColor('color.blueGray.700', {
12314
12335
  themeMode: elementMode ? elementMode : themeMode
12315
12336
  });
12316
- var handleHover = () => setIsHovered(!isHovered);
12317
12337
  var handleFocus = () => setIsFocused(true);
12318
12338
  var handleCallback = option => {
12319
12339
  setHide(!hide);
@@ -12370,13 +12390,13 @@
12370
12390
  variant: variant,
12371
12391
  value: value,
12372
12392
  color: 'theme.primary',
12373
- isHovered: isHovered,
12374
12393
  isDisabled: isDisabled,
12375
12394
  isReadOnly: isReadOnly,
12376
12395
  isFocused: isFocused,
12377
12396
  showLabel: showLabel,
12378
- onMouseEnter: handleHover,
12379
- onMouseLeave: handleHover
12397
+ _hover: !isDisabled && !error ? {
12398
+ borderColor: 'theme.primary'
12399
+ } : undefined
12380
12400
  }, /*#__PURE__*/React__default.createElement(FieldWrapper, null, showLabel && (/*#__PURE__*/React__default.createElement(FieldLabel, Object.assign({
12381
12401
  htmlFor: id,
12382
12402
  color: 'theme.primary',
@@ -12651,6 +12671,7 @@
12651
12671
  relation
12652
12672
  } = appStudio.useElementPosition();
12653
12673
  var dropdownRef = React.useRef(null);
12674
+ var [isHovered, setIsHovered] = React.useState(false);
12654
12675
  // Get optimal positioning style based on available space
12655
12676
  var getDropdownStyle = () => {
12656
12677
  if (!relation) {
@@ -12690,13 +12711,13 @@
12690
12711
  var handleClickOutside = event => {
12691
12712
  var path = event.composedPath();
12692
12713
  var isOutside = !path.some(element => (element == null ? void 0 : element.id) === 'combobox-dropdown');
12693
- if (isOutside) {
12714
+ if (isOutside && triggerRef.current && !triggerRef.current.contains(event.target)) {
12694
12715
  setIsDropdownVisible(false);
12695
12716
  }
12696
12717
  };
12697
12718
  document.addEventListener('mousedown', handleClickOutside);
12698
12719
  return () => document.removeEventListener('mousedown', handleClickOutside);
12699
- }, []);
12720
+ }, []); // triggerRef is stable
12700
12721
  // Defines 'handleSearch' to filter items based on the user's query.
12701
12722
  var handleSearch = query => {
12702
12723
  setSearchQuery(query);
@@ -12725,71 +12746,102 @@
12725
12746
  views: views == null ? void 0 : views.label,
12726
12747
  htmlFor: props.id
12727
12748
  }, label)), /*#__PURE__*/React__default.createElement(appStudio.View, {
12728
- position: "relative"
12729
- }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12749
+ position: "relative",
12750
+ width: "100%"
12751
+ }, /*#__PURE__*/React__default.createElement("div", {
12730
12752
  ref: triggerRef,
12753
+ onClick: () => setIsDropdownVisible(!isDropdownVisible),
12754
+ style: {
12755
+ width: '100%'
12756
+ }
12757
+ }, /*#__PURE__*/React__default.createElement(FieldContent, {
12758
+ isHovered: isHovered,
12759
+ isFocused: isDropdownVisible,
12760
+ onMouseEnter: () => setIsHovered(true),
12761
+ onMouseLeave: () => setIsHovered(false),
12731
12762
  cursor: "pointer",
12732
- backgroundColor: "color.white",
12733
- boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
12734
- padding: "12px",
12735
- display: "flex",
12736
- alignItems: "center",
12737
- borderRadius: "4px",
12738
- justifyContent: "space-between",
12739
- minWidth: 300,
12740
- flexWrap: "nowrap"
12741
- }, views == null ? void 0 : views.container), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12742
- gap: 15,
12763
+ views: {
12764
+ container: views == null ? void 0 : views.container
12765
+ }
12766
+ }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12767
+ gap: 10,
12743
12768
  alignItems: "center",
12744
- position: "relative",
12745
- width: "100%",
12746
- onClick: () => setIsDropdownVisible(!isDropdownVisible)
12747
- }, views == null ? void 0 : views.labelContainer), left, /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
12769
+ width: "100%"
12770
+ }, views == null ? void 0 : views.labelContainer), left, selectedItem.icon && selectedItem.label !== placeholder && (/*#__PURE__*/React__default.createElement(appStudio.View, null, selectedItem.icon)), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
12748
12771
  weight: "medium",
12749
12772
  flexGrow: 1,
12750
- color: "color.gray.800"
12751
- }, views == null ? void 0 : views.label), selectedItem.label)), right), isDropdownVisible && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
12773
+ color: selectedItem.label === placeholder ? 'color.gray.500' : 'color.gray.800',
12774
+ style: {
12775
+ whiteSpace: 'nowrap',
12776
+ overflow: 'hidden',
12777
+ textOverflow: 'ellipsis'
12778
+ }
12779
+ }, views == null ? void 0 : views.label), selectedItem.label)), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
12780
+ gap: 5,
12781
+ alignItems: "center"
12782
+ }, right, /*#__PURE__*/React__default.createElement(ChevronIcon, {
12783
+ widthHeight: 16,
12784
+ orientation: isDropdownVisible ? 'up' : 'down',
12785
+ color: "color.gray.500"
12786
+ })))), isDropdownVisible && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
12752
12787
  ref: dropdownRef,
12753
12788
  id: "combobox-dropdown",
12754
12789
  backgroundColor: "color.white",
12755
- boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
12790
+ boxShadow: "rgba(0, 0, 0, 0.16) 0px 4px 16px",
12756
12791
  overflowY: "auto",
12757
- borderRadius: "4px",
12792
+ borderRadius: "8px",
12758
12793
  style: getDropdownStyle()
12759
- }, views == null ? void 0 : views.dropdown), searchEnabled && (/*#__PURE__*/React__default.createElement(TextFieldView, {
12760
- id: props.id,
12761
- name: props.name,
12794
+ }, views == null ? void 0 : views.dropdown, {
12795
+ border: "1px solid #eee"
12796
+ }), searchEnabled && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12797
+ padding: "8px"
12798
+ }, /*#__PURE__*/React__default.createElement(TextFieldView, {
12799
+ id: props.id + "-search",
12800
+ name: props.name + "-search",
12762
12801
  width: "100%",
12763
12802
  type: "search",
12803
+ autoFocus: true,
12764
12804
  value: searchQuery,
12765
12805
  onChange: value => handleSearch(value),
12766
- hint: placeholder,
12806
+ hint: placeholder || 'Search...',
12767
12807
  isClearable: false,
12768
12808
  left: /*#__PURE__*/React__default.createElement(SearchIcon, {
12769
- widthHeight: 16
12809
+ widthHeight: 16,
12810
+ color: "color.gray.400"
12770
12811
  }),
12771
12812
  views: {
12772
12813
  container: Object.assign({
12773
12814
  width: '100%',
12774
- padding: '6px 12px',
12775
- borderBottom: filteredItems.length > 0 ? '1px solid #ccc' : '1px solid transparent'
12776
- }, views == null ? void 0 : views.text)
12815
+ padding: '0'
12816
+ }, views == null ? void 0 : views.text),
12817
+ field: {
12818
+ fontSize: '14px'
12819
+ }
12777
12820
  }
12778
- })), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12821
+ }))), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12779
12822
  margin: 0,
12780
12823
  padding: 4
12781
12824
  }, filteredItems.map((item, index) => (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12782
12825
  justifyContent: "space-between",
12783
12826
  key: item.value,
12784
- padding: "12px",
12827
+ padding: "8px 12px",
12785
12828
  cursor: "pointer",
12786
12829
  borderRadius: 4,
12787
12830
  backgroundColor: index === highlightedIndex ? 'color.gray.100' : 'transparent',
12788
12831
  onMouseEnter: () => setHighlightedIndex(index),
12789
- onClick: () => handleSelect(item)
12790
- }, views == null ? void 0 : views.item), /*#__PURE__*/React__default.createElement(appStudio.Text, null, item.label), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, item.icon && item.icon, item.value === selectedItem.value && showTick && !item.icon && /*#__PURE__*/React__default.createElement(TickIcon, {
12791
- widthHeight: 20
12792
- })))))))))));
12832
+ onClick: () => handleSelect(item),
12833
+ transition: "background-color 0.2s"
12834
+ }, views == null ? void 0 : views.item), /*#__PURE__*/React__default.createElement(appStudio.Text, {
12835
+ color: "color.gray.800"
12836
+ }, item.label), /*#__PURE__*/React__default.createElement(React__default.Fragment, null, item.icon && item.icon, item.value === selectedItem.value && showTick && !item.icon && (/*#__PURE__*/React__default.createElement(TickIcon, {
12837
+ widthHeight: 16,
12838
+ color: "theme.primary"
12839
+ })))))))), filteredItems.length === 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12840
+ padding: "12px"
12841
+ }, /*#__PURE__*/React__default.createElement(appStudio.Text, {
12842
+ color: "color.gray.500",
12843
+ align: "center"
12844
+ }, "No items found")))))));
12793
12845
  };
12794
12846
 
12795
12847
  var _excluded$C = ["id", "name", "items", "placeholder", "searchPlaceholder"];
@@ -13031,53 +13083,56 @@
13031
13083
  isDisabled,
13032
13084
  isReadOnly
13033
13085
  } = _ref;
13086
+ var [isRemoveHovered, setIsRemoveHovered] = React__default.useState(false);
13034
13087
  var {
13035
13088
  getColor
13036
13089
  } = appStudio.useTheme();
13037
13090
  var chipSize = {
13038
13091
  xs: {
13039
- padding: '2px 6px',
13092
+ padding: '2px 8px',
13040
13093
  fontSize: '10px',
13041
13094
  iconSize: 10
13042
13095
  },
13043
13096
  sm: {
13044
- padding: '4px 8px',
13097
+ padding: '4px 10px',
13045
13098
  fontSize: '12px',
13046
13099
  iconSize: 12
13047
13100
  },
13048
13101
  md: {
13049
- padding: '6px 10px',
13102
+ padding: '6px 14px',
13050
13103
  fontSize: '14px',
13051
13104
  iconSize: 14
13052
13105
  },
13053
13106
  lg: {
13054
- padding: '8px 12px',
13107
+ padding: '8px 16px',
13055
13108
  fontSize: '16px',
13056
13109
  iconSize: 16
13057
13110
  },
13058
13111
  xl: {
13059
- padding: '10px 14px',
13112
+ padding: '10px 18px',
13060
13113
  fontSize: '18px',
13061
13114
  iconSize: 18
13062
13115
  }
13063
13116
  }[size] || {
13064
- padding: '6px 10px',
13117
+ padding: '6px 14px',
13065
13118
  fontSize: '14px',
13066
13119
  iconSize: 14
13067
13120
  };
13068
13121
  return /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
13069
13122
  alignItems: "center",
13070
- gap: 4,
13123
+ gap: 6,
13071
13124
  padding: chipSize.padding,
13072
- backgroundColor: "color.gray.100",
13125
+ backgroundColor: "white",
13073
13126
  borderRadius: "16px",
13074
13127
  border: "1px solid",
13075
- borderColor: "color.gray.200",
13076
- transition: "all 0.2s ease",
13128
+ borderColor: "color.black.100",
13129
+ boxShadow: "0 1px 2px rgba(0,0,0,0.05)",
13130
+ transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
13077
13131
  opacity: isDisabled ? 0.6 : 1,
13078
13132
  _hover: !isDisabled && !isReadOnly ? {
13079
- backgroundColor: 'color.gray.200',
13080
- borderColor: 'color.gray.300'
13133
+ borderColor: 'color.gray.300',
13134
+ boxShadow: '0 4px 6px rgba(0,0,0,0.05)',
13135
+ transform: 'translateY(-1px)'
13081
13136
  } : {}
13082
13137
  }, views == null ? void 0 : views.tag), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13083
13138
  fontSize: chipSize.fontSize,
@@ -13089,13 +13144,19 @@
13089
13144
  padding: "2px",
13090
13145
  borderRadius: "50%",
13091
13146
  transition: "all 0.2s ease",
13092
- _hover: {
13093
- backgroundColor: 'color.gray.300'
13147
+ backgroundColor: isRemoveHovered ? 'color.red.50' : 'transparent',
13148
+ onMouseEnter: () => setIsRemoveHovered(true),
13149
+ onMouseLeave: () => setIsRemoveHovered(false),
13150
+ onClick: e => {
13151
+ e.stopPropagation();
13152
+ onRemove();
13094
13153
  },
13095
- onClick: onRemove
13154
+ _hover: {
13155
+ backgroundColor: 'color.red.50'
13156
+ }
13096
13157
  }, views == null ? void 0 : views.tagRemove), /*#__PURE__*/React__default.createElement(CloseIcon, {
13097
13158
  widthHeight: chipSize.iconSize,
13098
- color: "color.gray.500"
13159
+ color: isRemoveHovered ? 'color.red.500' : 'color.gray.400'
13099
13160
  }))));
13100
13161
  };
13101
13162
  /**
@@ -13181,7 +13242,7 @@
13181
13242
  views: views
13182
13243
  }, label)), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
13183
13244
  alignItems: "center",
13184
- gap: 4,
13245
+ gap: 8,
13185
13246
  flexWrap: "wrap",
13186
13247
  width: "100%",
13187
13248
  minHeight: appStudio.Typography.fontSizes[size],
@@ -16775,6 +16836,166 @@
16775
16836
  };
16776
16837
  FormikUploader.displayName = 'FormikUploader';
16777
16838
 
16839
+ // Initializes the custom hook 'useSelectorState' for managing the state of the Selector component
16840
+ var useSelectorState = _ref => {
16841
+ var {
16842
+ placeholder,
16843
+ isMulti,
16844
+ options,
16845
+ id = "selector-" + Math.random().toString(36).substr(2, 9)
16846
+ } = _ref;
16847
+ // Determines the default value based on the 'placeholder' and 'isMulti' props, setting to an empty array for multi-select or an empty string/single default option
16848
+ var defaultValue = placeholder ? isMulti ? [] : '' // If there's a placeholder, set default to empty array for multi-select or empty string for single select
16849
+ : Array.isArray(options) && options.length > 0 ? options[0].value : isMulti ? [] : ''; // If no placeholder, use the first option value if available, otherwise empty array for multi-select or empty string for single select
16850
+ // State hook for tracking mouse hover status over the Selector component
16851
+ var [isHovered, setIsHovered] = React__default.useState(false);
16852
+ // State hook for tracking focus status of the Selector input field
16853
+ var [isFocused, setIsFocused] = React__default.useState(false);
16854
+ // State hook for managing the value(s) selected by the user, initialized with the default value
16855
+ var [value, setValue] = React__default.useState(defaultValue);
16856
+ // State hook for keeping track of the currently highlighted index in the options list
16857
+ var [highlightedIndex, setHighlightedIndex] = React__default.useState(0);
16858
+ // State hook for managing visibility of the Selector dropdown, initially set to hidden
16859
+ var [hide, setHide] = React__default.useState(true);
16860
+ // Returns an object containing all stateful values and their associated setters to manage the Selector component's state
16861
+ return {
16862
+ id,
16863
+ value,
16864
+ setValue,
16865
+ hide,
16866
+ setHide,
16867
+ isHovered,
16868
+ setIsHovered,
16869
+ isFocused,
16870
+ setIsFocused,
16871
+ highlightedIndex,
16872
+ setHighlightedIndex
16873
+ };
16874
+ };
16875
+
16876
+ var _excluded$T = ["id", "name", "label", "value", "views", "options", "onChange", "setValue"];
16877
+ /**
16878
+ * SelectorView Component
16879
+ *
16880
+ * Renders a segmented control style selector.
16881
+ */
16882
+ var SelectorView = _ref => {
16883
+ var {
16884
+ id,
16885
+ name,
16886
+ label,
16887
+ value,
16888
+ views = {},
16889
+ options = [],
16890
+ onChange = () => {},
16891
+ setValue = () => {}
16892
+ } = _ref,
16893
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
16894
+ var {
16895
+ getColor
16896
+ } = appStudio.useTheme();
16897
+ var handleCallback = React.useCallback(option => {
16898
+ setValue(option.value);
16899
+ if (onChange) onChange(option.value);
16900
+ }, [setValue, onChange]);
16901
+ return /*#__PURE__*/React__default.createElement(FieldContainer, {
16902
+ id: id,
16903
+ width: "100%",
16904
+ views: views
16905
+ }, label && (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
16906
+ fontSize: "10px",
16907
+ letterSpacing: "wider",
16908
+ color: "color.black.500",
16909
+ fontWeight: "bold",
16910
+ marginBottom: 12,
16911
+ alignItems: "center",
16912
+ gap: 6,
16913
+ //Text transform uppercase
16914
+ style: {
16915
+ textTransform: 'uppercase'
16916
+ }
16917
+ }, /*#__PURE__*/React__default.createElement(InfoIcon, {
16918
+ widthHeight: 14
16919
+ }), " ", /*#__PURE__*/React__default.createElement(appStudio.Text, null, label))), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
16920
+ gap: 0
16921
+ }, options.map((option, index, arr) => {
16922
+ var isSelected = value === option.value;
16923
+ var borderColor = getColor('color.gray.200');
16924
+ var textColor = getColor('color.gray.500');
16925
+ var bgColor = 'transparent';
16926
+ if (isSelected) {
16927
+ if (option.color) {
16928
+ // We need a way to get related colors (50, 500, 700 etc) from a base color if we want full fidelity.
16929
+ // But passing full style strings is easier.
16930
+ borderColor = getColor(option.color);
16931
+ textColor = getColor(option.color);
16932
+ // Try to approximate background color if possible, or just use white/transparent.
16933
+ // Simplification: if color provided, use it for border/text.
16934
+ // Background is hard to derive without more specific props.
16935
+ // Let's try to use a very light opacity of the color for background.
16936
+ bgColor = 'rgba(0,0,0,0.05)'; // Generic active background
16937
+ } else {
16938
+ // Default active style
16939
+ var primary = getColor('theme.primary');
16940
+ borderColor = primary;
16941
+ textColor = primary;
16942
+ bgColor = 'color.gray.50';
16943
+ }
16944
+ // Specific overrides based on user request "ComplexitySelector" style
16945
+ // If the values match 'High', 'Medium', 'Low' we can hardcode for *demo* fidelity if generic logic fails.
16946
+ // But let's try to make it generic.
16947
+ // The user simply pasted code.
16948
+ if (option.color) {
16949
+ // Fallback for customized options
16950
+ borderColor = getColor(option.color);
16951
+ textColor = getColor(option.color);
16952
+ bgColor = 'transparent';
16953
+ } else {
16954
+ // Default fallback
16955
+ borderColor = getColor('theme.primary');
16956
+ textColor = getColor('theme.primary');
16957
+ bgColor = getColor('color.blue.50');
16958
+ }
16959
+ }
16960
+ return /*#__PURE__*/React__default.createElement(Button, Object.assign({
16961
+ key: option.value,
16962
+ onClick: () => handleCallback(option),
16963
+ flex: 1,
16964
+ paddingVertical: 6,
16965
+ fontSize: "12px",
16966
+ fontWeight: isSelected ? 'bold' : 'normal',
16967
+ style: {
16968
+ borderTop: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
16969
+ borderBottom: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
16970
+ borderLeft: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
16971
+ borderRight: index === arr.length - 1 || isSelected ? "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')) : 'none',
16972
+ backgroundColor: bgColor,
16973
+ color: textColor,
16974
+ borderRadius: index === 0 ? '6px 0 0 6px' : index === arr.length - 1 ? '0 6px 6px 0' : '0',
16975
+ zIndex: isSelected ? 1 : 0,
16976
+ boxShadow: 'none'
16977
+ }
16978
+ }, views.item), option.label);
16979
+ })), /*#__PURE__*/React__default.createElement("input", {
16980
+ type: "hidden",
16981
+ id: id,
16982
+ name: name,
16983
+ value: Array.isArray(value) ? value.join(',') : value,
16984
+ onChange: () => {}
16985
+ }));
16986
+ };
16987
+
16988
+ var SelectorComponent = props => {
16989
+ var formProps = useFormikInput(props);
16990
+ formProps.selected = formProps.value;
16991
+ var selectorStates = useSelectorState(props);
16992
+ return /*#__PURE__*/React__default.createElement(SelectorView, Object.assign({}, selectorStates, formProps));
16993
+ };
16994
+ /**
16995
+ * Selector provides a dropdown list of options for the user to choose from.
16996
+ */
16997
+ var FormikSelector = SelectorComponent;
16998
+
16778
16999
  var AttachmentPreview = _ref => {
16779
17000
  var {
16780
17001
  files,
@@ -17121,7 +17342,7 @@
17121
17342
  }
17122
17343
  };
17123
17344
 
17124
- var _excluded$T = ["children", "blur", "isOpen", "isClosePrevented", "onClose", "position", "views"],
17345
+ var _excluded$U = ["children", "blur", "isOpen", "isClosePrevented", "onClose", "position", "views"],
17125
17346
  _excluded2$e = ["children", "shadow", "isFullScreen", "shape", "views", "isOpen"],
17126
17347
  _excluded3$9 = ["children", "buttonColor", "iconSize", "buttonPosition", "views"],
17127
17348
  _excluded4$8 = ["children", "views"],
@@ -17136,7 +17357,7 @@
17136
17357
  position = 'center',
17137
17358
  views
17138
17359
  } = _ref,
17139
- props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
17360
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
17140
17361
  var handleClick = () => {
17141
17362
  if (!isClosePrevented) onClose();
17142
17363
  };
@@ -17384,7 +17605,7 @@
17384
17605
  }
17385
17606
  };
17386
17607
 
17387
- var _excluded$U = ["isOpen", "onClose", "isClosePrevented", "blur", "children"],
17608
+ var _excluded$V = ["isOpen", "onClose", "isClosePrevented", "blur", "children"],
17388
17609
  _excluded2$f = ["placement", "size", "children"],
17389
17610
  _excluded3$a = ["children", "onClose", "buttonPosition"],
17390
17611
  _excluded4$9 = ["children"],
@@ -17397,7 +17618,7 @@
17397
17618
  blur,
17398
17619
  children
17399
17620
  } = _ref,
17400
- props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
17621
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
17401
17622
  var handleClick = () => {
17402
17623
  if (!isClosePrevented) onClose();
17403
17624
  };
@@ -17509,7 +17730,7 @@
17509
17730
  }, props), children);
17510
17731
  };
17511
17732
 
17512
- var _excluded$V = ["isOpen", "onClose", "placement", "size", "isClosePrevented", "children"];
17733
+ var _excluded$W = ["isOpen", "onClose", "placement", "size", "isClosePrevented", "children"];
17513
17734
  /**
17514
17735
  * A drawer is a panel that slides out from the edge of the screen.
17515
17736
  * It can be useful when you need users to complete a task or view some details without leaving the current page.
@@ -17523,7 +17744,7 @@
17523
17744
  isClosePrevented,
17524
17745
  children
17525
17746
  } = _ref,
17526
- props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
17747
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
17527
17748
  var transformStyle = isOpen ? {} : {
17528
17749
  transform: placement === 'left' || placement === 'right' ? "translateX(" + (placement === 'left' ? '-100%' : '100%') + ")" : "translateY(" + (placement === 'top' ? '-100%' : '100%') + ")"
17529
17750
  };
@@ -17693,7 +17914,7 @@
17693
17914
  }
17694
17915
  };
17695
17916
 
17696
- var _excluded$W = ["href", "children", "views"];
17917
+ var _excluded$X = ["href", "children", "views"];
17697
17918
  // Create context for the NavigationMenu
17698
17919
  var NavigationMenuContext = /*#__PURE__*/React.createContext({
17699
17920
  activeItemId: null,
@@ -18069,7 +18290,7 @@
18069
18290
  children,
18070
18291
  views
18071
18292
  } = _ref6,
18072
- props = _objectWithoutPropertiesLoose(_ref6, _excluded$W);
18293
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded$X);
18073
18294
  var {
18074
18295
  itemValue,
18075
18296
  isDisabled
@@ -18136,7 +18357,7 @@
18136
18357
  })))));
18137
18358
  };
18138
18359
 
18139
- var _excluded$X = ["items", "children", "orientation", "size", "variant", "defaultActiveItemId", "defaultExpandedItemIds", "onItemActivate", "views"];
18360
+ var _excluded$Y = ["items", "children", "orientation", "size", "variant", "defaultActiveItemId", "defaultExpandedItemIds", "onItemActivate", "views"];
18140
18361
  /**
18141
18362
  * NavigationMenu component for creating navigation menus with optional nested items.
18142
18363
  * Supports both data-driven approach (with items prop) and compound component pattern.
@@ -18153,7 +18374,7 @@
18153
18374
  onItemActivate,
18154
18375
  views
18155
18376
  } = _ref,
18156
- props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
18377
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
18157
18378
  var {
18158
18379
  activeItemId,
18159
18380
  setActiveItemId,
@@ -18966,7 +19187,7 @@
18966
19187
  })
18967
19188
  };
18968
19189
 
18969
- var _excluded$Y = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
19190
+ var _excluded$Z = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
18970
19191
  /**
18971
19192
  * A component that creates a typewriter effect for text
18972
19193
  */
@@ -18980,7 +19201,7 @@
18980
19201
  cursorColor = 'currentColor',
18981
19202
  textStyle
18982
19203
  } = _ref,
18983
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
19204
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
18984
19205
  // Convert text to array if it's a string
18985
19206
  var textArray = Array.isArray(text) ? text : [text];
18986
19207
  // State for the currently displayed text
@@ -19047,18 +19268,8 @@
19047
19268
  }))))));
19048
19269
  };
19049
19270
 
19050
- var _excluded$Z = ["text", "duration", "direction", "stagger", "sequential", "textStyle", "as", "wordProps"],
19271
+ var _excluded$_ = ["text", "duration", "direction", "stagger", "sequential", "textStyle", "as", "wordProps"],
19051
19272
  _excluded2$g = ["style"];
19052
- // CSS keyframes injection - done once
19053
- var KEYFRAMES_ID = 'slide-effect-keyframes';
19054
- var injectKeyframes = () => {
19055
- if (typeof document === 'undefined') return;
19056
- if (document.getElementById(KEYFRAMES_ID)) return;
19057
- var style = document.createElement('style');
19058
- style.id = KEYFRAMES_ID;
19059
- style.textContent = "\n @keyframes slideInUp {\n from { transform: translateY(100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n @keyframes slideOutUp {\n from { transform: translateY(0); opacity: 1; }\n to { transform: translateY(-100%); opacity: 0; }\n }\n @keyframes slideInDown {\n from { transform: translateY(-100%); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n @keyframes slideOutDown {\n from { transform: translateY(0); opacity: 1; }\n to { transform: translateY(100%); opacity: 0; }\n }\n ";
19060
- document.head.appendChild(style);
19061
- };
19062
19273
  var SlideEffect = _ref => {
19063
19274
  var {
19064
19275
  text,
@@ -19069,16 +19280,12 @@
19069
19280
  textStyle,
19070
19281
  wordProps
19071
19282
  } = _ref,
19072
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
19283
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
19073
19284
  var [displayedText, setDisplayedText] = React.useState(text);
19074
19285
  var [phase, setPhase] = React.useState('entering');
19075
19286
  var [animKey, setAnimKey] = React.useState(0);
19076
19287
  var pendingTextRef = React.useRef(null);
19077
19288
  var timeoutRef = React.useRef(null);
19078
- // Inject keyframes once on mount
19079
- React.useEffect(() => {
19080
- injectKeyframes();
19081
- }, []);
19082
19289
  // Handle text changes
19083
19290
  React.useEffect(() => {
19084
19291
  if (text === displayedText && phase === 'visible') {
@@ -19144,12 +19351,10 @@
19144
19351
  style: customWordStyle
19145
19352
  } = _ref2,
19146
19353
  restWordProps = _objectWithoutPropertiesLoose(_ref2, _excluded2$g);
19147
- // Get animation names based on direction
19354
+ // Get animation functions based on direction
19148
19355
  var isUp = direction === 'up';
19149
- var enterAnim = isUp ? 'slideInUp' : 'slideInDown';
19150
- var exitAnim = isUp ? 'slideOutUp' : 'slideOutDown';
19151
19356
  // Calculate delay for each word
19152
- var getDelay = (index, isExit) => {
19357
+ var getDelay = index => {
19153
19358
  if (sequential) {
19154
19359
  // Sequential: one word at a time
19155
19360
  return index * (duration + stagger);
@@ -19171,9 +19376,6 @@
19171
19376
  flexWrap: 'nowrap',
19172
19377
  whiteSpace: 'nowrap'
19173
19378
  }), []);
19174
- // Determine current animation
19175
- var currentAnim = phase === 'exiting' ? exitAnim : enterAnim;
19176
- var isAnimating = phase === 'entering' || phase === 'exiting';
19177
19379
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
19178
19380
  as: "span",
19179
19381
  style: containerStyle
@@ -19182,26 +19384,72 @@
19182
19384
  }, words.map((word, index) => {
19183
19385
  var delay = getDelay(index);
19184
19386
  var isLast = index === words.length - 1;
19387
+ // Create animation based on phase and direction
19388
+ var wordAnimation;
19389
+ var durationStr = duration + "ms";
19390
+ var delayStr = delay + "ms";
19391
+ if (phase === 'entering') {
19392
+ // Use app-studio animations for entering
19393
+ wordAnimation = isUp ? appStudio.Animation.slideInUp({
19394
+ duration: durationStr,
19395
+ delay: delayStr,
19396
+ timingFunction: 'ease-out',
19397
+ fillMode: 'both'
19398
+ }) : appStudio.Animation.slideInDown({
19399
+ duration: durationStr,
19400
+ delay: delayStr,
19401
+ timingFunction: 'ease-out',
19402
+ fillMode: 'both'
19403
+ });
19404
+ } else if (phase === 'exiting') {
19405
+ // Custom animation objects for exiting (slideOut not in app-studio yet)
19406
+ wordAnimation = isUp ? {
19407
+ from: {
19408
+ transform: 'translateY(0)',
19409
+ opacity: 1
19410
+ },
19411
+ to: {
19412
+ transform: 'translateY(-100%)',
19413
+ opacity: 0
19414
+ },
19415
+ duration: durationStr,
19416
+ delay: delayStr,
19417
+ timingFunction: 'ease-in',
19418
+ fillMode: 'both'
19419
+ } : {
19420
+ from: {
19421
+ transform: 'translateY(0)',
19422
+ opacity: 1
19423
+ },
19424
+ to: {
19425
+ transform: 'translateY(100%)',
19426
+ opacity: 0
19427
+ },
19428
+ duration: durationStr,
19429
+ delay: delayStr,
19430
+ timingFunction: 'ease-in',
19431
+ fillMode: 'both'
19432
+ };
19433
+ }
19185
19434
  var wordStyle = Object.assign({}, customWordStyle, {
19186
19435
  display: 'inline-block',
19187
19436
  marginRight: isLast ? 0 : '0.25em',
19188
- willChange: isAnimating ? 'transform, opacity' : 'auto',
19189
- animation: isAnimating ? currentAnim + " " + duration + "ms ease-out " + delay + "ms both" : 'none',
19190
19437
  transform: phase === 'visible' ? 'translateY(0)' : undefined,
19191
19438
  opacity: phase === 'visible' ? 1 : undefined
19192
19439
  });
19193
19440
  return /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
19194
19441
  key: animKey + "-" + index,
19195
- as: "span"
19442
+ as: "span",
19443
+ animate: wordAnimation
19196
19444
  }, restWordProps, {
19197
19445
  style: wordStyle
19198
19446
  }), word);
19199
19447
  })));
19200
19448
  };
19201
19449
 
19202
- var _excluded$_ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential"];
19450
+ var _excluded$$ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential"];
19203
19451
  function escapeRegExp(string) {
19204
- return string.replace(/[.*+?^${}()|[\\]\\/g, '\\$&');
19452
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
19205
19453
  }
19206
19454
  var TitleView = _ref => {
19207
19455
  var {
@@ -19225,7 +19473,7 @@
19225
19473
  highlightSlideStagger = 50,
19226
19474
  highlightSlideSequential = true
19227
19475
  } = _ref,
19228
- props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
19476
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
19229
19477
  var {
19230
19478
  ref,
19231
19479
  inView
@@ -19297,7 +19545,13 @@
19297
19545
  // Get the text to display
19298
19546
  var text = typeof finalDisplayedText === 'string' ? finalDisplayedText : typeof children === 'string' ? children : '';
19299
19547
  if (typeof text === 'string' && activeHighlightTarget) {
19300
- var pattern = new RegExp("(" + escapeRegExp(Array.isArray(activeHighlightTarget) ? activeHighlightTarget.join('|') : activeHighlightTarget) + ")", 'gi');
19548
+ var pattern = (() => {
19549
+ if (Array.isArray(activeHighlightTarget)) {
19550
+ var escaped = activeHighlightTarget.map(t => escapeRegExp(String(t)));
19551
+ return new RegExp("(" + escaped.join('|') + ")", 'gi');
19552
+ }
19553
+ return new RegExp("(" + escapeRegExp(String(activeHighlightTarget)) + ")", 'gi');
19554
+ })();
19301
19555
  var parts = [];
19302
19556
  var lastIndex = 0;
19303
19557
  var match;
@@ -19524,7 +19778,7 @@
19524
19778
  }
19525
19779
  });
19526
19780
 
19527
- var _excluded$$ = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
19781
+ var _excluded$10 = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
19528
19782
  var ToggleView = _ref => {
19529
19783
  var _ref2;
19530
19784
  var {
@@ -19544,7 +19798,7 @@
19544
19798
  // 2nd candidate for main color
19545
19799
  themeMode: elementMode
19546
19800
  } = _ref,
19547
- props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
19801
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
19548
19802
  /* theme helpers */
19549
19803
  var {
19550
19804
  getColor,
@@ -19588,7 +19842,7 @@
19588
19842
  }, props, views == null ? void 0 : views.container), children);
19589
19843
  };
19590
19844
 
19591
- var _excluded$10 = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
19845
+ var _excluded$11 = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
19592
19846
  // Destructuring properties from ToggleProps to be used within the ToggleComponent.
19593
19847
  var ToggleComponent = _ref => {
19594
19848
  var {
@@ -19600,7 +19854,7 @@
19600
19854
  isToggled = false,
19601
19855
  onToggle
19602
19856
  } = _ref,
19603
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
19857
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$11);
19604
19858
  // Initializing toggle state and set state functions using the custom hook useToggleState.
19605
19859
  var {
19606
19860
  isHovered,
@@ -19820,8 +20074,7 @@
19820
20074
  onTouchStart: e => handleDragStart(e, index),
19821
20075
  position: "relative",
19822
20076
  cursor: "grab",
19823
- transition: "transform 0.2s",
19824
- backgroundColor: draggedIndex === index ? 'color.gray.100' : 'transparent'
20077
+ transition: "transform 0.2s"
19825
20078
  }, itemProps, views == null ? void 0 : views.item), renderItem ? renderItem(item, index) : item))));
19826
20079
  };
19827
20080
 
@@ -19935,7 +20188,7 @@
19935
20188
  }
19936
20189
  };
19937
20190
 
19938
- var _excluded$11 = ["children", "views"],
20191
+ var _excluded$12 = ["children", "views"],
19939
20192
  _excluded2$h = ["items", "side", "align", "views"],
19940
20193
  _excluded3$b = ["item", "views"],
19941
20194
  _excluded4$a = ["views"],
@@ -19976,7 +20229,7 @@
19976
20229
  children,
19977
20230
  views
19978
20231
  } = _ref2,
19979
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$11);
20232
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$12);
19980
20233
  var {
19981
20234
  isOpen,
19982
20235
  setIsOpen,
@@ -20229,7 +20482,7 @@
20229
20482
  }));
20230
20483
  };
20231
20484
 
20232
- var _excluded$12 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
20485
+ var _excluded$13 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
20233
20486
  /**
20234
20487
  * DropdownMenu component for displaying a menu when clicking on a trigger element.
20235
20488
  */
@@ -20244,7 +20497,7 @@
20244
20497
  defaultOpen = false,
20245
20498
  views
20246
20499
  } = _ref,
20247
- props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
20500
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
20248
20501
  var {
20249
20502
  isOpen,
20250
20503
  setIsOpen,
@@ -20658,7 +20911,7 @@
20658
20911
  category: 'neutral'
20659
20912
  }];
20660
20913
 
20661
- var _excluded$13 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "predefinedColors", "showCustomInput", "showRecentColors", "isOpen", "selectedColor", "recentColors", "customColor", "handleToggle", "handleColorSelect", "handleCustomColorChange", "handleCustomColorSubmit", "triggerRef", "dropdownRef"];
20914
+ var _excluded$14 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "predefinedColors", "showCustomInput", "showRecentColors", "isOpen", "selectedColor", "recentColors", "customColor", "handleToggle", "handleColorSelect", "handleCustomColorChange", "handleCustomColorSubmit", "triggerRef", "dropdownRef"];
20662
20915
  var ColorPickerView = _ref => {
20663
20916
  var {
20664
20917
  // Basic props
@@ -20693,7 +20946,7 @@
20693
20946
  dropdownRef
20694
20947
  // Other props
20695
20948
  } = _ref,
20696
- props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
20949
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
20697
20950
  var {
20698
20951
  getColor
20699
20952
  } = appStudio.useTheme();
@@ -20896,7 +21149,8 @@
20896
21149
  gap: '4px',
20897
21150
  maxHeight: '240px',
20898
21151
  overflowY: 'auto',
20899
- padding: '4px'
21152
+ padding: '4px',
21153
+ color: 'color.black'
20900
21154
  },
20901
21155
  emoji: {
20902
21156
  width: '32px',
@@ -23024,7 +23278,7 @@
23024
23278
  };
23025
23279
  };
23026
23280
 
23027
- var _excluded$14 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "showSearch", "showCategories", "showRecentEmojis", "enabledCategories", "isOpen", "selectedEmoji", "recentEmojis", "searchQuery", "activeCategory", "filteredEmojis", "handleToggle", "handleEmojiSelect", "handleSearchChange", "handleCategoryChange", "triggerRef", "dropdownRef"];
23281
+ var _excluded$15 = ["id", "name", "label", "placeholder", "helperText", "views", "size", "shape", "variant", "error", "isDisabled", "isReadOnly", "showSearch", "showCategories", "showRecentEmojis", "enabledCategories", "isOpen", "selectedEmoji", "recentEmojis", "searchQuery", "activeCategory", "filteredEmojis", "handleToggle", "handleEmojiSelect", "handleSearchChange", "handleCategoryChange", "triggerRef", "dropdownRef"];
23028
23282
  var EmojiPickerView = _ref => {
23029
23283
  var {
23030
23284
  // Basic props
@@ -23062,7 +23316,7 @@
23062
23316
  dropdownRef
23063
23317
  // Other props
23064
23318
  } = _ref,
23065
- props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
23319
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$15);
23066
23320
  var {
23067
23321
  getColor
23068
23322
  } = appStudio.useTheme();
@@ -23124,7 +23378,8 @@
23124
23378
  title: emoji.name,
23125
23379
  _hover: {
23126
23380
  backgroundColor: 'color.gray.100'
23127
- }
23381
+ },
23382
+ color: "color.gray.800"
23128
23383
  }, views == null ? void 0 : views.emoji), emoji.emoji))) : (/*#__PURE__*/React__default.createElement(appStudio.View, {
23129
23384
  gridColumn: "1 / -1",
23130
23385
  padding: "20px",
@@ -23249,7 +23504,7 @@
23249
23504
  }
23250
23505
  };
23251
23506
 
23252
- var _excluded$15 = ["children", "orientation", "size", "variant", "views"];
23507
+ var _excluded$16 = ["children", "orientation", "size", "variant", "views"];
23253
23508
  // Create context for the Menubar
23254
23509
  var MenubarContext = /*#__PURE__*/React.createContext({
23255
23510
  activeMenuId: null,
@@ -23286,7 +23541,7 @@
23286
23541
  variant = 'default',
23287
23542
  views
23288
23543
  } = _ref2,
23289
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$15);
23544
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$16);
23290
23545
  var Container = orientation === 'horizontal' ? appStudio.Horizontal : appStudio.Vertical;
23291
23546
  return /*#__PURE__*/React__default.createElement(Container, Object.assign({
23292
23547
  role: "menubar",
@@ -23606,7 +23861,7 @@
23606
23861
  })))))));
23607
23862
  };
23608
23863
 
23609
- var _excluded$16 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
23864
+ var _excluded$17 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
23610
23865
  /**
23611
23866
  * Menubar component for creating horizontal or vertical menu bars with dropdown menus.
23612
23867
  */
@@ -23620,7 +23875,7 @@
23620
23875
  defaultOpenMenuId = null,
23621
23876
  views
23622
23877
  } = _ref,
23623
- props = _objectWithoutPropertiesLoose(_ref, _excluded$16);
23878
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
23624
23879
  var {
23625
23880
  activeMenuId,
23626
23881
  setActiveMenuId,
@@ -23802,7 +24057,7 @@
23802
24057
  }
23803
24058
  };
23804
24059
 
23805
- var _excluded$17 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
24060
+ var _excluded$18 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
23806
24061
  var PaginationView = _ref => {
23807
24062
  var {
23808
24063
  currentPage,
@@ -23833,7 +24088,7 @@
23833
24088
  visiblePageNumbers,
23834
24089
  views
23835
24090
  } = _ref,
23836
- props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
24091
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
23837
24092
  var handlePageChange = page => {
23838
24093
  if (page < 1 || page > totalPages || page === currentPage) {
23839
24094
  return;
@@ -23952,7 +24207,7 @@
23952
24207
  }, option.label))))));
23953
24208
  };
23954
24209
 
23955
- var _excluded$18 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
24210
+ var _excluded$19 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
23956
24211
  /**
23957
24212
  * Pagination component for navigating through pages of content.
23958
24213
  */
@@ -23973,7 +24228,7 @@
23973
24228
  shape = 'rounded',
23974
24229
  views
23975
24230
  } = _ref,
23976
- props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
24231
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$19);
23977
24232
  var {
23978
24233
  visiblePageNumbers
23979
24234
  } = usePaginationState(currentPage, totalPages, maxPageButtons);
@@ -23997,7 +24252,7 @@
23997
24252
  };
23998
24253
  var Pagination = PaginationComponent;
23999
24254
 
24000
- var _excluded$19 = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
24255
+ var _excluded$1a = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
24001
24256
  var ProgressBarView = _ref => {
24002
24257
  var {
24003
24258
  value = 0,
@@ -24009,7 +24264,7 @@
24009
24264
  views,
24010
24265
  themeMode: elementMode
24011
24266
  } = _ref,
24012
- props = _objectWithoutPropertiesLoose(_ref, _excluded$19);
24267
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1a);
24013
24268
  var {
24014
24269
  getColor,
24015
24270
  themeMode
@@ -24099,7 +24354,7 @@
24099
24354
  }
24100
24355
  };
24101
24356
 
24102
- var _excluded$1a = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
24357
+ var _excluded$1b = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
24103
24358
  var SeparatorView = _ref => {
24104
24359
  var {
24105
24360
  orientation = 'horizontal',
@@ -24111,7 +24366,7 @@
24111
24366
  decorative = false,
24112
24367
  views
24113
24368
  } = _ref,
24114
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1a);
24369
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1b);
24115
24370
  // Access theme if needed for future enhancements
24116
24371
  var {
24117
24372
  themeMode
@@ -24179,7 +24434,7 @@
24179
24434
  var Separator = SeparatorComponent;
24180
24435
  var Divider = SeparatorComponent;
24181
24436
 
24182
- var _excluded$1b = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
24437
+ var _excluded$1c = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
24183
24438
  var ICON_SIZE_MAP = {
24184
24439
  xs: 12,
24185
24440
  sm: 14,
@@ -24202,7 +24457,7 @@
24202
24457
  iconPosition,
24203
24458
  disableWhenUnsupported = true
24204
24459
  } = _ref,
24205
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1b);
24460
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1c);
24206
24461
  var resolvedSize = size != null ? size : 'md';
24207
24462
  var resolvedIcon = icon != null ? icon : (/*#__PURE__*/React__default.createElement(ShareIcon, {
24208
24463
  widthHeight: ICON_SIZE_MAP[resolvedSize],
@@ -24304,14 +24559,14 @@
24304
24559
  };
24305
24560
  };
24306
24561
 
24307
- var _excluded$1c = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
24562
+ var _excluded$1d = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
24308
24563
  var ShareButtonComponent = props => {
24309
24564
  var {
24310
24565
  isSupported,
24311
24566
  isSharing,
24312
24567
  handleShare
24313
24568
  } = useShareButton(props);
24314
- var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1c);
24569
+ var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1d);
24315
24570
  return /*#__PURE__*/React__default.createElement(ShareButtonView, Object.assign({}, viewProps, {
24316
24571
  isSupported: isSupported,
24317
24572
  isSharing: isSharing,
@@ -24365,7 +24620,7 @@
24365
24620
  };
24366
24621
  };
24367
24622
 
24368
- var _excluded$1d = ["label", "status", "views", "themeMode"];
24623
+ var _excluded$1e = ["label", "status", "views", "themeMode"];
24369
24624
  var StatusIndicatorView = _ref => {
24370
24625
  var {
24371
24626
  label,
@@ -24373,7 +24628,7 @@
24373
24628
  views,
24374
24629
  themeMode: elementMode
24375
24630
  } = _ref,
24376
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1d);
24631
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1e);
24377
24632
  var {
24378
24633
  themeMode
24379
24634
  } = appStudio.useTheme();
@@ -24556,7 +24811,7 @@
24556
24811
  bounce: 'width 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55)'
24557
24812
  };
24558
24813
 
24559
- var _excluded$1e = ["children", "showToggleButton", "views"],
24814
+ var _excluded$1f = ["children", "showToggleButton", "views"],
24560
24815
  _excluded2$i = ["children", "views"],
24561
24816
  _excluded3$c = ["children", "views"],
24562
24817
  _excluded4$b = ["children", "position", "size", "variant", "fixed", "hasBackdrop", "expandedWidth", "collapsedWidth", "breakpointBehavior", "elevation", "transitionPreset", "ariaLabel", "isExpanded", "isMobile", "collapse", "views", "themeMode"];
@@ -24589,7 +24844,7 @@
24589
24844
  showToggleButton = true,
24590
24845
  views
24591
24846
  } = _ref2,
24592
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1e);
24847
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1f);
24593
24848
  var {
24594
24849
  isExpanded,
24595
24850
  toggleExpanded,
@@ -24744,7 +24999,7 @@
24744
24999
  }))));
24745
25000
  };
24746
25001
 
24747
- var _excluded$1f = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
25002
+ var _excluded$1g = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
24748
25003
  /**
24749
25004
  * Sidebar component for creating collapsible, themeable and customizable sidebars.
24750
25005
  */
@@ -24766,7 +25021,7 @@
24766
25021
  breakpointBehavior = 'overlay',
24767
25022
  views
24768
25023
  } = _ref,
24769
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1f);
25024
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1g);
24770
25025
  var {
24771
25026
  isExpanded,
24772
25027
  toggleExpanded,
@@ -25231,7 +25486,7 @@
25231
25486
  }
25232
25487
  };
25233
25488
 
25234
- var _excluded$1g = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
25489
+ var _excluded$1h = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
25235
25490
  _excluded2$j = ["id", "position", "disabled", "withVisualIndicator", "withCollapseButton", "collapseTarget", "views"],
25236
25491
  _excluded3$d = ["children", "orientation", "size", "variant", "defaultSizes", "minSize", "maxSize", "collapsible", "containerRef", "autoSaveId", "views"];
25237
25492
  // Create context for the Resizable component
@@ -25276,7 +25531,7 @@
25276
25531
  onCollapseChange,
25277
25532
  views
25278
25533
  } = _ref2,
25279
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1g);
25534
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1h);
25280
25535
  var {
25281
25536
  orientation,
25282
25537
  registerPanel,
@@ -25491,7 +25746,7 @@
25491
25746
  }, ResizableOrientations[orientation], views == null ? void 0 : views.container, props), children);
25492
25747
  };
25493
25748
 
25494
- var _excluded$1h = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
25749
+ var _excluded$1i = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
25495
25750
  /**
25496
25751
  * Resizable component for creating resizable panel groups and layouts.
25497
25752
  */
@@ -25511,7 +25766,7 @@
25511
25766
  keyboardResizeBy = 10,
25512
25767
  views
25513
25768
  } = _ref,
25514
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1h);
25769
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1i);
25515
25770
  var {
25516
25771
  isResizing,
25517
25772
  setIsResizing,
@@ -26282,7 +26537,7 @@
26282
26537
  color: 'color.gray.500'
26283
26538
  };
26284
26539
 
26285
- var _excluded$1i = ["value", "onValueChange", "placeholder", "views"],
26540
+ var _excluded$1j = ["value", "onValueChange", "placeholder", "views"],
26286
26541
  _excluded2$k = ["children", "views"],
26287
26542
  _excluded3$e = ["heading", "children", "views"],
26288
26543
  _excluded4$c = ["item", "selected", "onSelect", "views"],
@@ -26314,7 +26569,7 @@
26314
26569
  placeholder = 'Type a command or search...',
26315
26570
  views
26316
26571
  } = _ref2,
26317
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1i);
26572
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1j);
26318
26573
  var inputRef = React.useRef(null);
26319
26574
  // Focus input when component mounts
26320
26575
  React__default.useEffect(() => {
@@ -26497,7 +26752,7 @@
26497
26752
  })))), footer && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, CommandFooterStyles, views == null ? void 0 : views.footer), footer)))));
26498
26753
  };
26499
26754
 
26500
- var _excluded$1j = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
26755
+ var _excluded$1k = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
26501
26756
  /**
26502
26757
  * Command component for displaying a command palette with search functionality.
26503
26758
  */
@@ -26515,7 +26770,7 @@
26515
26770
  footer,
26516
26771
  views
26517
26772
  } = _ref,
26518
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1j);
26773
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1k);
26519
26774
  var {
26520
26775
  search,
26521
26776
  setSearch,
@@ -26752,7 +27007,7 @@
26752
27007
  }
26753
27008
  };
26754
27009
 
26755
- var _excluded$1k = ["children", "views", "asChild"],
27010
+ var _excluded$1l = ["children", "views", "asChild"],
26756
27011
  _excluded2$l = ["children", "views"],
26757
27012
  _excluded3$f = ["content", "children", "position", "align", "size", "variant", "showArrow", "views", "themeMode"];
26758
27013
  // Create context for the Tooltip
@@ -26788,7 +27043,7 @@
26788
27043
  views,
26789
27044
  asChild = false
26790
27045
  } = _ref2,
26791
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1k);
27046
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1l);
26792
27047
  var {
26793
27048
  openTooltip,
26794
27049
  closeTooltip,
@@ -26972,7 +27227,7 @@
26972
27227
  }, TooltipSizes[size], TooltipVariants[variant], views == null ? void 0 : views.content), typeof content === 'string' ? (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({}, views == null ? void 0 : views.text), content)) : content, showArrow && /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, arrowStyles, views == null ? void 0 : views.arrow)))));
26973
27228
  };
26974
27229
 
26975
- var _excluded$1l = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
27230
+ var _excluded$1m = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
26976
27231
  /**
26977
27232
  * Tooltip component for displaying additional information when hovering over an element.
26978
27233
  * Supports configurable positions, delays, and styling.
@@ -26992,7 +27247,7 @@
26992
27247
  isDisabled = false,
26993
27248
  views
26994
27249
  } = _ref,
26995
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1l);
27250
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1m);
26996
27251
  var tooltipState = useTooltipState({
26997
27252
  defaultOpen,
26998
27253
  openDelay,
@@ -27301,7 +27556,7 @@
27301
27556
  }
27302
27557
  };
27303
27558
 
27304
- var _excluded$1m = ["type", "direction", "shape", "position", "from", "to", "colors", "animate", "animationDuration", "children", "views", "themeMode"];
27559
+ var _excluded$1n = ["type", "direction", "shape", "position", "from", "to", "colors", "animate", "animationDuration", "children", "views", "themeMode"];
27305
27560
  var GradientView = _ref => {
27306
27561
  var {
27307
27562
  type = 'linear',
@@ -27317,7 +27572,7 @@
27317
27572
  views,
27318
27573
  themeMode: elementMode
27319
27574
  } = _ref,
27320
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1m);
27575
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1n);
27321
27576
  var {
27322
27577
  getColor,
27323
27578
  themeMode
@@ -27393,7 +27648,7 @@
27393
27648
  return /*#__PURE__*/React__default.createElement(GradientView, Object.assign({}, props));
27394
27649
  };
27395
27650
 
27396
- var _excluded$1n = ["children", "showRadialGradient", "views", "themeMode"],
27651
+ var _excluded$1o = ["children", "showRadialGradient", "views", "themeMode"],
27397
27652
  _excluded2$m = ["number", "children"],
27398
27653
  _excluded3$g = ["rows", "cols", "squareSize"],
27399
27654
  _excluded4$d = ["count", "colors", "speed", "shapes"],
@@ -27414,7 +27669,7 @@
27414
27669
  showRadialGradient = true,
27415
27670
  views
27416
27671
  } = _ref,
27417
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1n);
27672
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1o);
27418
27673
  var gradientColors = {
27419
27674
  white: 'rgba(255,255,255,1)',
27420
27675
  transparent: 'rgba(255,255,255,0)'
@@ -28034,6 +28289,7 @@
28034
28289
  exports.FormikOTPInput = FormikOTPInput;
28035
28290
  exports.FormikPassword = FormikPassword;
28036
28291
  exports.FormikSelect = FormikSelect;
28292
+ exports.FormikSelector = FormikSelector;
28037
28293
  exports.FormikSlider = FormikSlider;
28038
28294
  exports.FormikSwitch = FormikSwitch;
28039
28295
  exports.FormikTagInput = FormikTagInput;