@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.
@@ -5055,6 +5055,28 @@ var getButtonVariants = function getButtonVariants(color, isLight, isThemeLight)
5055
5055
  boxShadow: "0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px " + color
5056
5056
  },
5057
5057
  transition: 'opacity 0.2s ease'
5058
+ },
5059
+ subtle: {
5060
+ backgroundColor: 'white',
5061
+ color: color,
5062
+ borderWidth: 1,
5063
+ borderStyle: 'solid',
5064
+ borderColor: color,
5065
+ paddingHorizontal: 12,
5066
+ paddingVertical: 6,
5067
+ borderRadius: 6,
5068
+ fontWeight: 500,
5069
+ _hover: {
5070
+ backgroundColor: 'rgba(0, 0, 0, 0.05)'
5071
+ },
5072
+ _active: {
5073
+ backgroundColor: 'rgba(0, 0, 0, 0.1)'
5074
+ },
5075
+ _focusVisible: {
5076
+ outline: 'none',
5077
+ boxShadow: "0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px " + color
5078
+ },
5079
+ transition: 'all 0.2s ease'
5058
5080
  }
5059
5081
  };
5060
5082
  };
@@ -8395,7 +8417,8 @@ var FieldContainer = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
8395
8417
  // Layout properties
8396
8418
  gap: 8,
8397
8419
  position: "relative",
8398
- width: "100%"
8420
+ width: "100%",
8421
+ marginVertical: 4
8399
8422
  }, props, views == null ? void 0 : views.container), children, !error && helperText && (/*#__PURE__*/React__default.createElement(HelperText, Object.assign({
8400
8423
  marginTop: 4
8401
8424
  }, views == null ? void 0 : views.helperText), helperText)), error && (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
@@ -8592,7 +8615,7 @@ var FieldContent = _ref => {
8592
8615
  opacity: isDisabled ? 0.6 : 1,
8593
8616
  // Animation
8594
8617
  transition: "all 0.2s ease"
8595
- }, showLabel ? PadddingWithLabel : PaddingWithoutLabel, shadow, Shapes[shape], InputVariants[variant], views['box'], props), children);
8618
+ }, showLabel ? PadddingWithLabel : PaddingWithoutLabel, shadow, Shapes[shape], InputVariants[variant], InputVariants[variant], views == null ? void 0 : views.container, props), children);
8596
8619
  };
8597
8620
 
8598
8621
  var _excluded$o = ["children"];
@@ -12256,12 +12279,10 @@ var DropDownItem = _ref3 => {
12256
12279
  text: {}
12257
12280
  }
12258
12281
  } = _ref3;
12259
- var [isHovered, setIsHovered] = React.useState(false);
12260
12282
  var handleOptionClick = event => {
12261
12283
  if (event && event.stopPropagation) event.stopPropagation();
12262
12284
  callback(option);
12263
12285
  };
12264
- var handleHover = () => setIsHovered(!isHovered);
12265
12286
  return /*#__PURE__*/React__default.createElement(CountryItem, Object.assign({
12266
12287
  margin: 0,
12267
12288
  role: "DropDownItem",
@@ -12269,11 +12290,11 @@ var DropDownItem = _ref3 => {
12269
12290
  fontWeight: "normal",
12270
12291
  paddingVertical: 6,
12271
12292
  paddingHorizontal: 12,
12272
- onMouseEnter: handleHover,
12273
- onMouseLeave: handleHover,
12274
12293
  onClick: handleOptionClick,
12275
12294
  fontSize: appStudio.Typography.fontSizes[size],
12276
- backgroundColor: isHovered ? 'trueGray.100' : 'transparent'
12295
+ _hover: {
12296
+ opacity: 0.8
12297
+ }
12277
12298
  }, views['text']), option);
12278
12299
  };
12279
12300
  var DropDown$1 = _ref4 => {
@@ -12352,7 +12373,6 @@ var CountryPickerView = _ref5 => {
12352
12373
  var IconColor = getColor('color.blueGray.700', {
12353
12374
  themeMode: elementMode ? elementMode : themeMode
12354
12375
  });
12355
- var handleHover = () => setIsHovered(!isHovered);
12356
12376
  var handleFocus = () => setIsFocused(true);
12357
12377
  var handleCallback = option => {
12358
12378
  setHide(!hide);
@@ -12409,13 +12429,13 @@ var CountryPickerView = _ref5 => {
12409
12429
  variant: variant,
12410
12430
  value: value,
12411
12431
  color: 'theme.primary',
12412
- isHovered: isHovered,
12413
12432
  isDisabled: isDisabled,
12414
12433
  isReadOnly: isReadOnly,
12415
12434
  isFocused: isFocused,
12416
12435
  showLabel: showLabel,
12417
- onMouseEnter: handleHover,
12418
- onMouseLeave: handleHover
12436
+ _hover: !isDisabled && !error ? {
12437
+ borderColor: 'theme.primary'
12438
+ } : undefined
12419
12439
  }, /*#__PURE__*/React__default.createElement(FieldWrapper, null, showLabel && (/*#__PURE__*/React__default.createElement(FieldLabel, Object.assign({
12420
12440
  htmlFor: id,
12421
12441
  color: 'theme.primary',
@@ -12690,6 +12710,7 @@ var ComboBoxView = _ref => {
12690
12710
  relation
12691
12711
  } = appStudio.useElementPosition();
12692
12712
  var dropdownRef = React.useRef(null);
12713
+ var [isHovered, setIsHovered] = React.useState(false);
12693
12714
  // Get optimal positioning style based on available space
12694
12715
  var getDropdownStyle = () => {
12695
12716
  if (!relation) {
@@ -12729,13 +12750,13 @@ var ComboBoxView = _ref => {
12729
12750
  var handleClickOutside = event => {
12730
12751
  var path = event.composedPath();
12731
12752
  var isOutside = !path.some(element => (element == null ? void 0 : element.id) === 'combobox-dropdown');
12732
- if (isOutside) {
12753
+ if (isOutside && triggerRef.current && !triggerRef.current.contains(event.target)) {
12733
12754
  setIsDropdownVisible(false);
12734
12755
  }
12735
12756
  };
12736
12757
  document.addEventListener('mousedown', handleClickOutside);
12737
12758
  return () => document.removeEventListener('mousedown', handleClickOutside);
12738
- }, []);
12759
+ }, []); // triggerRef is stable
12739
12760
  // Defines 'handleSearch' to filter items based on the user's query.
12740
12761
  var handleSearch = query => {
12741
12762
  setSearchQuery(query);
@@ -12764,71 +12785,102 @@ var ComboBoxView = _ref => {
12764
12785
  views: views == null ? void 0 : views.label,
12765
12786
  htmlFor: props.id
12766
12787
  }, label)), /*#__PURE__*/React__default.createElement(appStudio.View, {
12767
- position: "relative"
12768
- }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12788
+ position: "relative",
12789
+ width: "100%"
12790
+ }, /*#__PURE__*/React__default.createElement("div", {
12769
12791
  ref: triggerRef,
12792
+ onClick: () => setIsDropdownVisible(!isDropdownVisible),
12793
+ style: {
12794
+ width: '100%'
12795
+ }
12796
+ }, /*#__PURE__*/React__default.createElement(FieldContent, {
12797
+ isHovered: isHovered,
12798
+ isFocused: isDropdownVisible,
12799
+ onMouseEnter: () => setIsHovered(true),
12800
+ onMouseLeave: () => setIsHovered(false),
12770
12801
  cursor: "pointer",
12771
- backgroundColor: "color.white",
12772
- boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
12773
- padding: "12px",
12774
- display: "flex",
12775
- alignItems: "center",
12776
- borderRadius: "4px",
12777
- justifyContent: "space-between",
12778
- minWidth: 300,
12779
- flexWrap: "nowrap"
12780
- }, views == null ? void 0 : views.container), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12781
- gap: 15,
12802
+ views: {
12803
+ container: views == null ? void 0 : views.container
12804
+ }
12805
+ }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12806
+ gap: 10,
12782
12807
  alignItems: "center",
12783
- position: "relative",
12784
- width: "100%",
12785
- onClick: () => setIsDropdownVisible(!isDropdownVisible)
12786
- }, views == null ? void 0 : views.labelContainer), left, /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
12808
+ width: "100%"
12809
+ }, 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({
12787
12810
  weight: "medium",
12788
12811
  flexGrow: 1,
12789
- color: "color.gray.800"
12790
- }, views == null ? void 0 : views.label), selectedItem.label)), right), isDropdownVisible && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
12812
+ color: selectedItem.label === placeholder ? 'color.gray.500' : 'color.gray.800',
12813
+ style: {
12814
+ whiteSpace: 'nowrap',
12815
+ overflow: 'hidden',
12816
+ textOverflow: 'ellipsis'
12817
+ }
12818
+ }, views == null ? void 0 : views.label), selectedItem.label)), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
12819
+ gap: 5,
12820
+ alignItems: "center"
12821
+ }, right, /*#__PURE__*/React__default.createElement(ChevronIcon, {
12822
+ widthHeight: 16,
12823
+ orientation: isDropdownVisible ? 'up' : 'down',
12824
+ color: "color.gray.500"
12825
+ })))), isDropdownVisible && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
12791
12826
  ref: dropdownRef,
12792
12827
  id: "combobox-dropdown",
12793
12828
  backgroundColor: "color.white",
12794
- boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
12829
+ boxShadow: "rgba(0, 0, 0, 0.16) 0px 4px 16px",
12795
12830
  overflowY: "auto",
12796
- borderRadius: "4px",
12831
+ borderRadius: "8px",
12797
12832
  style: getDropdownStyle()
12798
- }, views == null ? void 0 : views.dropdown), searchEnabled && (/*#__PURE__*/React__default.createElement(TextFieldView, {
12799
- id: props.id,
12800
- name: props.name,
12833
+ }, views == null ? void 0 : views.dropdown, {
12834
+ border: "1px solid #eee"
12835
+ }), searchEnabled && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12836
+ padding: "8px"
12837
+ }, /*#__PURE__*/React__default.createElement(TextFieldView, {
12838
+ id: props.id + "-search",
12839
+ name: props.name + "-search",
12801
12840
  width: "100%",
12802
12841
  type: "search",
12842
+ autoFocus: true,
12803
12843
  value: searchQuery,
12804
12844
  onChange: value => handleSearch(value),
12805
- hint: placeholder,
12845
+ hint: placeholder || 'Search...',
12806
12846
  isClearable: false,
12807
12847
  left: /*#__PURE__*/React__default.createElement(SearchIcon, {
12808
- widthHeight: 16
12848
+ widthHeight: 16,
12849
+ color: "color.gray.400"
12809
12850
  }),
12810
12851
  views: {
12811
12852
  container: Object.assign({
12812
12853
  width: '100%',
12813
- padding: '6px 12px',
12814
- borderBottom: filteredItems.length > 0 ? '1px solid #ccc' : '1px solid transparent'
12815
- }, views == null ? void 0 : views.text)
12854
+ padding: '0'
12855
+ }, views == null ? void 0 : views.text),
12856
+ field: {
12857
+ fontSize: '14px'
12858
+ }
12816
12859
  }
12817
- })), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12860
+ }))), filteredItems.length > 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12818
12861
  margin: 0,
12819
12862
  padding: 4
12820
12863
  }, filteredItems.map((item, index) => (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
12821
12864
  justifyContent: "space-between",
12822
12865
  key: item.value,
12823
- padding: "12px",
12866
+ padding: "8px 12px",
12824
12867
  cursor: "pointer",
12825
12868
  borderRadius: 4,
12826
12869
  backgroundColor: index === highlightedIndex ? 'color.gray.100' : 'transparent',
12827
12870
  onMouseEnter: () => setHighlightedIndex(index),
12828
- onClick: () => handleSelect(item)
12829
- }, 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, {
12830
- widthHeight: 20
12831
- })))))))))));
12871
+ onClick: () => handleSelect(item),
12872
+ transition: "background-color 0.2s"
12873
+ }, views == null ? void 0 : views.item), /*#__PURE__*/React__default.createElement(appStudio.Text, {
12874
+ color: "color.gray.800"
12875
+ }, 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, {
12876
+ widthHeight: 16,
12877
+ color: "theme.primary"
12878
+ })))))))), filteredItems.length === 0 && (/*#__PURE__*/React__default.createElement(appStudio.View, {
12879
+ padding: "12px"
12880
+ }, /*#__PURE__*/React__default.createElement(appStudio.Text, {
12881
+ color: "color.gray.500",
12882
+ align: "center"
12883
+ }, "No items found")))))));
12832
12884
  };
12833
12885
 
12834
12886
  var _excluded$C = ["id", "name", "items", "placeholder", "searchPlaceholder"];
@@ -13070,53 +13122,56 @@ var TagChip = _ref => {
13070
13122
  isDisabled,
13071
13123
  isReadOnly
13072
13124
  } = _ref;
13125
+ var [isRemoveHovered, setIsRemoveHovered] = React__default.useState(false);
13073
13126
  var {
13074
13127
  getColor
13075
13128
  } = appStudio.useTheme();
13076
13129
  var chipSize = {
13077
13130
  xs: {
13078
- padding: '2px 6px',
13131
+ padding: '2px 8px',
13079
13132
  fontSize: '10px',
13080
13133
  iconSize: 10
13081
13134
  },
13082
13135
  sm: {
13083
- padding: '4px 8px',
13136
+ padding: '4px 10px',
13084
13137
  fontSize: '12px',
13085
13138
  iconSize: 12
13086
13139
  },
13087
13140
  md: {
13088
- padding: '6px 10px',
13141
+ padding: '6px 14px',
13089
13142
  fontSize: '14px',
13090
13143
  iconSize: 14
13091
13144
  },
13092
13145
  lg: {
13093
- padding: '8px 12px',
13146
+ padding: '8px 16px',
13094
13147
  fontSize: '16px',
13095
13148
  iconSize: 16
13096
13149
  },
13097
13150
  xl: {
13098
- padding: '10px 14px',
13151
+ padding: '10px 18px',
13099
13152
  fontSize: '18px',
13100
13153
  iconSize: 18
13101
13154
  }
13102
13155
  }[size] || {
13103
- padding: '6px 10px',
13156
+ padding: '6px 14px',
13104
13157
  fontSize: '14px',
13105
13158
  iconSize: 14
13106
13159
  };
13107
13160
  return /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
13108
13161
  alignItems: "center",
13109
- gap: 4,
13162
+ gap: 6,
13110
13163
  padding: chipSize.padding,
13111
- backgroundColor: "color.gray.100",
13164
+ backgroundColor: "white",
13112
13165
  borderRadius: "16px",
13113
13166
  border: "1px solid",
13114
- borderColor: "color.gray.200",
13115
- transition: "all 0.2s ease",
13167
+ borderColor: "color.black.100",
13168
+ boxShadow: "0 1px 2px rgba(0,0,0,0.05)",
13169
+ transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
13116
13170
  opacity: isDisabled ? 0.6 : 1,
13117
13171
  _hover: !isDisabled && !isReadOnly ? {
13118
- backgroundColor: 'color.gray.200',
13119
- borderColor: 'color.gray.300'
13172
+ borderColor: 'color.gray.300',
13173
+ boxShadow: '0 4px 6px rgba(0,0,0,0.05)',
13174
+ transform: 'translateY(-1px)'
13120
13175
  } : {}
13121
13176
  }, views == null ? void 0 : views.tag), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13122
13177
  fontSize: chipSize.fontSize,
@@ -13128,13 +13183,19 @@ var TagChip = _ref => {
13128
13183
  padding: "2px",
13129
13184
  borderRadius: "50%",
13130
13185
  transition: "all 0.2s ease",
13131
- _hover: {
13132
- backgroundColor: 'color.gray.300'
13186
+ backgroundColor: isRemoveHovered ? 'color.red.50' : 'transparent',
13187
+ onMouseEnter: () => setIsRemoveHovered(true),
13188
+ onMouseLeave: () => setIsRemoveHovered(false),
13189
+ onClick: e => {
13190
+ e.stopPropagation();
13191
+ onRemove();
13133
13192
  },
13134
- onClick: onRemove
13193
+ _hover: {
13194
+ backgroundColor: 'color.red.50'
13195
+ }
13135
13196
  }, views == null ? void 0 : views.tagRemove), /*#__PURE__*/React__default.createElement(CloseIcon, {
13136
13197
  widthHeight: chipSize.iconSize,
13137
- color: "color.gray.500"
13198
+ color: isRemoveHovered ? 'color.red.500' : 'color.gray.400'
13138
13199
  }))));
13139
13200
  };
13140
13201
  /**
@@ -13220,7 +13281,7 @@ var TagInputView = _ref2 => {
13220
13281
  views: views
13221
13282
  }, label)), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
13222
13283
  alignItems: "center",
13223
- gap: 4,
13284
+ gap: 8,
13224
13285
  flexWrap: "wrap",
13225
13286
  width: "100%",
13226
13287
  minHeight: appStudio.Typography.fontSizes[size],
@@ -16814,6 +16875,166 @@ var FormikUploader = _ref => {
16814
16875
  };
16815
16876
  FormikUploader.displayName = 'FormikUploader';
16816
16877
 
16878
+ // Initializes the custom hook 'useSelectorState' for managing the state of the Selector component
16879
+ var useSelectorState = _ref => {
16880
+ var {
16881
+ placeholder,
16882
+ isMulti,
16883
+ options,
16884
+ id = "selector-" + Math.random().toString(36).substr(2, 9)
16885
+ } = _ref;
16886
+ // 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
16887
+ var defaultValue = placeholder ? isMulti ? [] : '' // If there's a placeholder, set default to empty array for multi-select or empty string for single select
16888
+ : 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
16889
+ // State hook for tracking mouse hover status over the Selector component
16890
+ var [isHovered, setIsHovered] = React__default.useState(false);
16891
+ // State hook for tracking focus status of the Selector input field
16892
+ var [isFocused, setIsFocused] = React__default.useState(false);
16893
+ // State hook for managing the value(s) selected by the user, initialized with the default value
16894
+ var [value, setValue] = React__default.useState(defaultValue);
16895
+ // State hook for keeping track of the currently highlighted index in the options list
16896
+ var [highlightedIndex, setHighlightedIndex] = React__default.useState(0);
16897
+ // State hook for managing visibility of the Selector dropdown, initially set to hidden
16898
+ var [hide, setHide] = React__default.useState(true);
16899
+ // Returns an object containing all stateful values and their associated setters to manage the Selector component's state
16900
+ return {
16901
+ id,
16902
+ value,
16903
+ setValue,
16904
+ hide,
16905
+ setHide,
16906
+ isHovered,
16907
+ setIsHovered,
16908
+ isFocused,
16909
+ setIsFocused,
16910
+ highlightedIndex,
16911
+ setHighlightedIndex
16912
+ };
16913
+ };
16914
+
16915
+ var _excluded$T = ["id", "name", "label", "value", "views", "options", "onChange", "setValue"];
16916
+ /**
16917
+ * SelectorView Component
16918
+ *
16919
+ * Renders a segmented control style selector.
16920
+ */
16921
+ var SelectorView = _ref => {
16922
+ var {
16923
+ id,
16924
+ name,
16925
+ label,
16926
+ value,
16927
+ views = {},
16928
+ options = [],
16929
+ onChange = () => {},
16930
+ setValue = () => {}
16931
+ } = _ref,
16932
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
16933
+ var {
16934
+ getColor
16935
+ } = appStudio.useTheme();
16936
+ var handleCallback = React.useCallback(option => {
16937
+ setValue(option.value);
16938
+ if (onChange) onChange(option.value);
16939
+ }, [setValue, onChange]);
16940
+ return /*#__PURE__*/React__default.createElement(FieldContainer, {
16941
+ id: id,
16942
+ width: "100%",
16943
+ views: views
16944
+ }, label && (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
16945
+ fontSize: "10px",
16946
+ letterSpacing: "wider",
16947
+ color: "color.black.500",
16948
+ fontWeight: "bold",
16949
+ marginBottom: 12,
16950
+ alignItems: "center",
16951
+ gap: 6,
16952
+ //Text transform uppercase
16953
+ style: {
16954
+ textTransform: 'uppercase'
16955
+ }
16956
+ }, /*#__PURE__*/React__default.createElement(InfoIcon, {
16957
+ widthHeight: 14
16958
+ }), " ", /*#__PURE__*/React__default.createElement(appStudio.Text, null, label))), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
16959
+ gap: 0
16960
+ }, options.map((option, index, arr) => {
16961
+ var isSelected = value === option.value;
16962
+ var borderColor = getColor('color.gray.200');
16963
+ var textColor = getColor('color.gray.500');
16964
+ var bgColor = 'transparent';
16965
+ if (isSelected) {
16966
+ if (option.color) {
16967
+ // We need a way to get related colors (50, 500, 700 etc) from a base color if we want full fidelity.
16968
+ // But passing full style strings is easier.
16969
+ borderColor = getColor(option.color);
16970
+ textColor = getColor(option.color);
16971
+ // Try to approximate background color if possible, or just use white/transparent.
16972
+ // Simplification: if color provided, use it for border/text.
16973
+ // Background is hard to derive without more specific props.
16974
+ // Let's try to use a very light opacity of the color for background.
16975
+ bgColor = 'rgba(0,0,0,0.05)'; // Generic active background
16976
+ } else {
16977
+ // Default active style
16978
+ var primary = getColor('theme.primary');
16979
+ borderColor = primary;
16980
+ textColor = primary;
16981
+ bgColor = 'color.gray.50';
16982
+ }
16983
+ // Specific overrides based on user request "ComplexitySelector" style
16984
+ // If the values match 'High', 'Medium', 'Low' we can hardcode for *demo* fidelity if generic logic fails.
16985
+ // But let's try to make it generic.
16986
+ // The user simply pasted code.
16987
+ if (option.color) {
16988
+ // Fallback for customized options
16989
+ borderColor = getColor(option.color);
16990
+ textColor = getColor(option.color);
16991
+ bgColor = 'transparent';
16992
+ } else {
16993
+ // Default fallback
16994
+ borderColor = getColor('theme.primary');
16995
+ textColor = getColor('theme.primary');
16996
+ bgColor = getColor('color.blue.50');
16997
+ }
16998
+ }
16999
+ return /*#__PURE__*/React__default.createElement(Button, Object.assign({
17000
+ key: option.value,
17001
+ onClick: () => handleCallback(option),
17002
+ flex: 1,
17003
+ paddingVertical: 6,
17004
+ fontSize: "12px",
17005
+ fontWeight: isSelected ? 'bold' : 'normal',
17006
+ style: {
17007
+ borderTop: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
17008
+ borderBottom: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
17009
+ borderLeft: "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')),
17010
+ borderRight: index === arr.length - 1 || isSelected ? "1px solid " + (isSelected ? borderColor : getColor('color.gray.200')) : 'none',
17011
+ backgroundColor: bgColor,
17012
+ color: textColor,
17013
+ borderRadius: index === 0 ? '6px 0 0 6px' : index === arr.length - 1 ? '0 6px 6px 0' : '0',
17014
+ zIndex: isSelected ? 1 : 0,
17015
+ boxShadow: 'none'
17016
+ }
17017
+ }, views.item), option.label);
17018
+ })), /*#__PURE__*/React__default.createElement("input", {
17019
+ type: "hidden",
17020
+ id: id,
17021
+ name: name,
17022
+ value: Array.isArray(value) ? value.join(',') : value,
17023
+ onChange: () => {}
17024
+ }));
17025
+ };
17026
+
17027
+ var SelectorComponent = props => {
17028
+ var formProps = useFormikInput(props);
17029
+ formProps.selected = formProps.value;
17030
+ var selectorStates = useSelectorState(props);
17031
+ return /*#__PURE__*/React__default.createElement(SelectorView, Object.assign({}, selectorStates, formProps));
17032
+ };
17033
+ /**
17034
+ * Selector provides a dropdown list of options for the user to choose from.
17035
+ */
17036
+ var FormikSelector = SelectorComponent;
17037
+
16817
17038
  var AttachmentPreview = _ref => {
16818
17039
  var {
16819
17040
  files,
@@ -17160,7 +17381,7 @@ var ModalTypography = {
17160
17381
  }
17161
17382
  };
17162
17383
 
17163
- var _excluded$T = ["children", "blur", "isOpen", "isClosePrevented", "onClose", "position", "views"],
17384
+ var _excluded$U = ["children", "blur", "isOpen", "isClosePrevented", "onClose", "position", "views"],
17164
17385
  _excluded2$e = ["children", "shadow", "isFullScreen", "shape", "views", "isOpen"],
17165
17386
  _excluded3$9 = ["children", "buttonColor", "iconSize", "buttonPosition", "views"],
17166
17387
  _excluded4$8 = ["children", "views"],
@@ -17175,7 +17396,7 @@ var ModalOverlay = _ref => {
17175
17396
  position = 'center',
17176
17397
  views
17177
17398
  } = _ref,
17178
- props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
17399
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
17179
17400
  var handleClick = () => {
17180
17401
  if (!isClosePrevented) onClose();
17181
17402
  };
@@ -17423,7 +17644,7 @@ var DrawerPlacements = {
17423
17644
  }
17424
17645
  };
17425
17646
 
17426
- var _excluded$U = ["isOpen", "onClose", "isClosePrevented", "blur", "children"],
17647
+ var _excluded$V = ["isOpen", "onClose", "isClosePrevented", "blur", "children"],
17427
17648
  _excluded2$f = ["placement", "size", "children"],
17428
17649
  _excluded3$a = ["children", "onClose", "buttonPosition"],
17429
17650
  _excluded4$9 = ["children"],
@@ -17436,7 +17657,7 @@ var DrawerOverlay = _ref => {
17436
17657
  blur,
17437
17658
  children
17438
17659
  } = _ref,
17439
- props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
17660
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
17440
17661
  var handleClick = () => {
17441
17662
  if (!isClosePrevented) onClose();
17442
17663
  };
@@ -17548,7 +17769,7 @@ var DrawerFooter = _ref5 => {
17548
17769
  }, props), children);
17549
17770
  };
17550
17771
 
17551
- var _excluded$V = ["isOpen", "onClose", "placement", "size", "isClosePrevented", "children"];
17772
+ var _excluded$W = ["isOpen", "onClose", "placement", "size", "isClosePrevented", "children"];
17552
17773
  /**
17553
17774
  * A drawer is a panel that slides out from the edge of the screen.
17554
17775
  * It can be useful when you need users to complete a task or view some details without leaving the current page.
@@ -17562,7 +17783,7 @@ var DrawerComponent = _ref => {
17562
17783
  isClosePrevented,
17563
17784
  children
17564
17785
  } = _ref,
17565
- props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
17786
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
17566
17787
  var transformStyle = isOpen ? {} : {
17567
17788
  transform: placement === 'left' || placement === 'right' ? "translateX(" + (placement === 'left' ? '-100%' : '100%') + ")" : "translateY(" + (placement === 'top' ? '-100%' : '100%') + ")"
17568
17789
  };
@@ -17732,7 +17953,7 @@ var NavigationMenuItemStates = {
17732
17953
  }
17733
17954
  };
17734
17955
 
17735
- var _excluded$W = ["href", "children", "views"];
17956
+ var _excluded$X = ["href", "children", "views"];
17736
17957
  // Create context for the NavigationMenu
17737
17958
  var NavigationMenuContext = /*#__PURE__*/React.createContext({
17738
17959
  activeItemId: null,
@@ -18108,7 +18329,7 @@ var NavigationMenuLink = _ref6 => {
18108
18329
  children,
18109
18330
  views
18110
18331
  } = _ref6,
18111
- props = _objectWithoutPropertiesLoose(_ref6, _excluded$W);
18332
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded$X);
18112
18333
  var {
18113
18334
  itemValue,
18114
18335
  isDisabled
@@ -18175,7 +18396,7 @@ var NavigationMenuView = _ref7 => {
18175
18396
  })))));
18176
18397
  };
18177
18398
 
18178
- var _excluded$X = ["items", "children", "orientation", "size", "variant", "defaultActiveItemId", "defaultExpandedItemIds", "onItemActivate", "views"];
18399
+ var _excluded$Y = ["items", "children", "orientation", "size", "variant", "defaultActiveItemId", "defaultExpandedItemIds", "onItemActivate", "views"];
18179
18400
  /**
18180
18401
  * NavigationMenu component for creating navigation menus with optional nested items.
18181
18402
  * Supports both data-driven approach (with items prop) and compound component pattern.
@@ -18192,7 +18413,7 @@ var NavigationMenuComponent = _ref => {
18192
18413
  onItemActivate,
18193
18414
  views
18194
18415
  } = _ref,
18195
- props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
18416
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
18196
18417
  var {
18197
18418
  activeItemId,
18198
18419
  setActiveItemId,
@@ -19005,7 +19226,7 @@ var HighlightStyles = {
19005
19226
  })
19006
19227
  };
19007
19228
 
19008
- var _excluded$Y = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
19229
+ var _excluded$Z = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
19009
19230
  /**
19010
19231
  * A component that creates a typewriter effect for text
19011
19232
  */
@@ -19019,7 +19240,7 @@ var TypewriterEffect = _ref => {
19019
19240
  cursorColor = 'currentColor',
19020
19241
  textStyle
19021
19242
  } = _ref,
19022
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
19243
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
19023
19244
  // Convert text to array if it's a string
19024
19245
  var textArray = Array.isArray(text) ? text : [text];
19025
19246
  // State for the currently displayed text
@@ -19086,18 +19307,8 @@ var TypewriterEffect = _ref => {
19086
19307
  }))))));
19087
19308
  };
19088
19309
 
19089
- var _excluded$Z = ["text", "duration", "direction", "stagger", "sequential", "textStyle", "as", "wordProps"],
19310
+ var _excluded$_ = ["text", "duration", "direction", "stagger", "sequential", "textStyle", "as", "wordProps"],
19090
19311
  _excluded2$g = ["style"];
19091
- // CSS keyframes injection - done once
19092
- var KEYFRAMES_ID = 'slide-effect-keyframes';
19093
- var injectKeyframes = () => {
19094
- if (typeof document === 'undefined') return;
19095
- if (document.getElementById(KEYFRAMES_ID)) return;
19096
- var style = document.createElement('style');
19097
- style.id = KEYFRAMES_ID;
19098
- 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 ";
19099
- document.head.appendChild(style);
19100
- };
19101
19312
  var SlideEffect = _ref => {
19102
19313
  var {
19103
19314
  text,
@@ -19108,16 +19319,12 @@ var SlideEffect = _ref => {
19108
19319
  textStyle,
19109
19320
  wordProps
19110
19321
  } = _ref,
19111
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
19322
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
19112
19323
  var [displayedText, setDisplayedText] = React.useState(text);
19113
19324
  var [phase, setPhase] = React.useState('entering');
19114
19325
  var [animKey, setAnimKey] = React.useState(0);
19115
19326
  var pendingTextRef = React.useRef(null);
19116
19327
  var timeoutRef = React.useRef(null);
19117
- // Inject keyframes once on mount
19118
- React.useEffect(() => {
19119
- injectKeyframes();
19120
- }, []);
19121
19328
  // Handle text changes
19122
19329
  React.useEffect(() => {
19123
19330
  if (text === displayedText && phase === 'visible') {
@@ -19183,12 +19390,10 @@ var SlideEffect = _ref => {
19183
19390
  style: customWordStyle
19184
19391
  } = _ref2,
19185
19392
  restWordProps = _objectWithoutPropertiesLoose(_ref2, _excluded2$g);
19186
- // Get animation names based on direction
19393
+ // Get animation functions based on direction
19187
19394
  var isUp = direction === 'up';
19188
- var enterAnim = isUp ? 'slideInUp' : 'slideInDown';
19189
- var exitAnim = isUp ? 'slideOutUp' : 'slideOutDown';
19190
19395
  // Calculate delay for each word
19191
- var getDelay = (index, isExit) => {
19396
+ var getDelay = index => {
19192
19397
  if (sequential) {
19193
19398
  // Sequential: one word at a time
19194
19399
  return index * (duration + stagger);
@@ -19210,9 +19415,6 @@ var SlideEffect = _ref => {
19210
19415
  flexWrap: 'nowrap',
19211
19416
  whiteSpace: 'nowrap'
19212
19417
  }), []);
19213
- // Determine current animation
19214
- var currentAnim = phase === 'exiting' ? exitAnim : enterAnim;
19215
- var isAnimating = phase === 'entering' || phase === 'exiting';
19216
19418
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
19217
19419
  as: "span",
19218
19420
  style: containerStyle
@@ -19221,26 +19423,72 @@ var SlideEffect = _ref => {
19221
19423
  }, words.map((word, index) => {
19222
19424
  var delay = getDelay(index);
19223
19425
  var isLast = index === words.length - 1;
19426
+ // Create animation based on phase and direction
19427
+ var wordAnimation;
19428
+ var durationStr = duration + "ms";
19429
+ var delayStr = delay + "ms";
19430
+ if (phase === 'entering') {
19431
+ // Use app-studio animations for entering
19432
+ wordAnimation = isUp ? appStudio.Animation.slideInUp({
19433
+ duration: durationStr,
19434
+ delay: delayStr,
19435
+ timingFunction: 'ease-out',
19436
+ fillMode: 'both'
19437
+ }) : appStudio.Animation.slideInDown({
19438
+ duration: durationStr,
19439
+ delay: delayStr,
19440
+ timingFunction: 'ease-out',
19441
+ fillMode: 'both'
19442
+ });
19443
+ } else if (phase === 'exiting') {
19444
+ // Custom animation objects for exiting (slideOut not in app-studio yet)
19445
+ wordAnimation = isUp ? {
19446
+ from: {
19447
+ transform: 'translateY(0)',
19448
+ opacity: 1
19449
+ },
19450
+ to: {
19451
+ transform: 'translateY(-100%)',
19452
+ opacity: 0
19453
+ },
19454
+ duration: durationStr,
19455
+ delay: delayStr,
19456
+ timingFunction: 'ease-in',
19457
+ fillMode: 'both'
19458
+ } : {
19459
+ from: {
19460
+ transform: 'translateY(0)',
19461
+ opacity: 1
19462
+ },
19463
+ to: {
19464
+ transform: 'translateY(100%)',
19465
+ opacity: 0
19466
+ },
19467
+ duration: durationStr,
19468
+ delay: delayStr,
19469
+ timingFunction: 'ease-in',
19470
+ fillMode: 'both'
19471
+ };
19472
+ }
19224
19473
  var wordStyle = Object.assign({}, customWordStyle, {
19225
19474
  display: 'inline-block',
19226
19475
  marginRight: isLast ? 0 : '0.25em',
19227
- willChange: isAnimating ? 'transform, opacity' : 'auto',
19228
- animation: isAnimating ? currentAnim + " " + duration + "ms ease-out " + delay + "ms both" : 'none',
19229
19476
  transform: phase === 'visible' ? 'translateY(0)' : undefined,
19230
19477
  opacity: phase === 'visible' ? 1 : undefined
19231
19478
  });
19232
19479
  return /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
19233
19480
  key: animKey + "-" + index,
19234
- as: "span"
19481
+ as: "span",
19482
+ animate: wordAnimation
19235
19483
  }, restWordProps, {
19236
19484
  style: wordStyle
19237
19485
  }), word);
19238
19486
  })));
19239
19487
  };
19240
19488
 
19241
- var _excluded$_ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential"];
19489
+ var _excluded$$ = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "responsive", "centered", "views", "highlightAnimate", "animate", "animationLoop", "highlightAnimationLoop", "highlightTypewriter", "highlightTypewriterDuration", "highlightSlide", "highlightSlideDuration", "highlightSlideStagger", "highlightSlideSequential"];
19242
19490
  function escapeRegExp(string) {
19243
- return string.replace(/[.*+?^${}()|[\\]\\/g, '\\$&');
19491
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
19244
19492
  }
19245
19493
  var TitleView = _ref => {
19246
19494
  var {
@@ -19264,7 +19512,7 @@ var TitleView = _ref => {
19264
19512
  highlightSlideStagger = 50,
19265
19513
  highlightSlideSequential = true
19266
19514
  } = _ref,
19267
- props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
19515
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
19268
19516
  var {
19269
19517
  ref,
19270
19518
  inView
@@ -19336,7 +19584,13 @@ var TitleView = _ref => {
19336
19584
  // Get the text to display
19337
19585
  var text = typeof finalDisplayedText === 'string' ? finalDisplayedText : typeof children === 'string' ? children : '';
19338
19586
  if (typeof text === 'string' && activeHighlightTarget) {
19339
- var pattern = new RegExp("(" + escapeRegExp(Array.isArray(activeHighlightTarget) ? activeHighlightTarget.join('|') : activeHighlightTarget) + ")", 'gi');
19587
+ var pattern = (() => {
19588
+ if (Array.isArray(activeHighlightTarget)) {
19589
+ var escaped = activeHighlightTarget.map(t => escapeRegExp(String(t)));
19590
+ return new RegExp("(" + escaped.join('|') + ")", 'gi');
19591
+ }
19592
+ return new RegExp("(" + escapeRegExp(String(activeHighlightTarget)) + ")", 'gi');
19593
+ })();
19340
19594
  var parts = [];
19341
19595
  var lastIndex = 0;
19342
19596
  var match;
@@ -19563,7 +19817,7 @@ var getToggleVariants = (color, isLight) => ({
19563
19817
  }
19564
19818
  });
19565
19819
 
19566
- var _excluded$$ = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
19820
+ var _excluded$10 = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views", "backgroundColor", "color", "themeMode"];
19567
19821
  var ToggleView = _ref => {
19568
19822
  var _ref2;
19569
19823
  var {
@@ -19583,7 +19837,7 @@ var ToggleView = _ref => {
19583
19837
  // 2nd candidate for main color
19584
19838
  themeMode: elementMode
19585
19839
  } = _ref,
19586
- props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
19840
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
19587
19841
  /* theme helpers */
19588
19842
  var {
19589
19843
  getColor,
@@ -19627,7 +19881,7 @@ var ToggleView = _ref => {
19627
19881
  }, props, views == null ? void 0 : views.container), children);
19628
19882
  };
19629
19883
 
19630
- var _excluded$10 = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
19884
+ var _excluded$11 = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
19631
19885
  // Destructuring properties from ToggleProps to be used within the ToggleComponent.
19632
19886
  var ToggleComponent = _ref => {
19633
19887
  var {
@@ -19639,7 +19893,7 @@ var ToggleComponent = _ref => {
19639
19893
  isToggled = false,
19640
19894
  onToggle
19641
19895
  } = _ref,
19642
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
19896
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$11);
19643
19897
  // Initializing toggle state and set state functions using the custom hook useToggleState.
19644
19898
  var {
19645
19899
  isHovered,
@@ -19859,8 +20113,7 @@ var DragAndDropView = _ref => {
19859
20113
  onTouchStart: e => handleDragStart(e, index),
19860
20114
  position: "relative",
19861
20115
  cursor: "grab",
19862
- transition: "transform 0.2s",
19863
- backgroundColor: draggedIndex === index ? 'color.gray.100' : 'transparent'
20116
+ transition: "transform 0.2s"
19864
20117
  }, itemProps, views == null ? void 0 : views.item), renderItem ? renderItem(item, index) : item))));
19865
20118
  };
19866
20119
 
@@ -19974,7 +20227,7 @@ var DropdownMenuItemStates = {
19974
20227
  }
19975
20228
  };
19976
20229
 
19977
- var _excluded$11 = ["children", "views"],
20230
+ var _excluded$12 = ["children", "views"],
19978
20231
  _excluded2$h = ["items", "side", "align", "views"],
19979
20232
  _excluded3$b = ["item", "views"],
19980
20233
  _excluded4$a = ["views"],
@@ -20015,7 +20268,7 @@ var DropdownMenuTrigger = _ref2 => {
20015
20268
  children,
20016
20269
  views
20017
20270
  } = _ref2,
20018
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$11);
20271
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$12);
20019
20272
  var {
20020
20273
  isOpen,
20021
20274
  setIsOpen,
@@ -20268,7 +20521,7 @@ var DropdownMenuView = _ref6 => {
20268
20521
  }));
20269
20522
  };
20270
20523
 
20271
- var _excluded$12 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
20524
+ var _excluded$13 = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
20272
20525
  /**
20273
20526
  * DropdownMenu component for displaying a menu when clicking on a trigger element.
20274
20527
  */
@@ -20283,7 +20536,7 @@ var DropdownMenuComponent = _ref => {
20283
20536
  defaultOpen = false,
20284
20537
  views
20285
20538
  } = _ref,
20286
- props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
20539
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
20287
20540
  var {
20288
20541
  isOpen,
20289
20542
  setIsOpen,
@@ -20697,7 +20950,7 @@ var DefaultColorPalette$1 = [
20697
20950
  category: 'neutral'
20698
20951
  }];
20699
20952
 
20700
- 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"];
20953
+ 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"];
20701
20954
  var ColorPickerView = _ref => {
20702
20955
  var {
20703
20956
  // Basic props
@@ -20732,7 +20985,7 @@ var ColorPickerView = _ref => {
20732
20985
  dropdownRef
20733
20986
  // Other props
20734
20987
  } = _ref,
20735
- props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
20988
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
20736
20989
  var {
20737
20990
  getColor
20738
20991
  } = appStudio.useTheme();
@@ -20935,7 +21188,8 @@ var DefaultEmojiPickerStyles = {
20935
21188
  gap: '4px',
20936
21189
  maxHeight: '240px',
20937
21190
  overflowY: 'auto',
20938
- padding: '4px'
21191
+ padding: '4px',
21192
+ color: 'color.black'
20939
21193
  },
20940
21194
  emoji: {
20941
21195
  width: '32px',
@@ -23063,7 +23317,7 @@ var useEmojiPickerState = props => {
23063
23317
  };
23064
23318
  };
23065
23319
 
23066
- 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"];
23320
+ 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"];
23067
23321
  var EmojiPickerView = _ref => {
23068
23322
  var {
23069
23323
  // Basic props
@@ -23101,7 +23355,7 @@ var EmojiPickerView = _ref => {
23101
23355
  dropdownRef
23102
23356
  // Other props
23103
23357
  } = _ref,
23104
- props = _objectWithoutPropertiesLoose(_ref, _excluded$14);
23358
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$15);
23105
23359
  var {
23106
23360
  getColor
23107
23361
  } = appStudio.useTheme();
@@ -23163,7 +23417,8 @@ var EmojiPickerView = _ref => {
23163
23417
  title: emoji.name,
23164
23418
  _hover: {
23165
23419
  backgroundColor: 'color.gray.100'
23166
- }
23420
+ },
23421
+ color: "color.gray.800"
23167
23422
  }, views == null ? void 0 : views.emoji), emoji.emoji))) : (/*#__PURE__*/React__default.createElement(appStudio.View, {
23168
23423
  gridColumn: "1 / -1",
23169
23424
  padding: "20px",
@@ -23288,7 +23543,7 @@ var MenubarItemStates = {
23288
23543
  }
23289
23544
  };
23290
23545
 
23291
- var _excluded$15 = ["children", "orientation", "size", "variant", "views"];
23546
+ var _excluded$16 = ["children", "orientation", "size", "variant", "views"];
23292
23547
  // Create context for the Menubar
23293
23548
  var MenubarContext = /*#__PURE__*/React.createContext({
23294
23549
  activeMenuId: null,
@@ -23325,7 +23580,7 @@ var MenubarRoot = _ref2 => {
23325
23580
  variant = 'default',
23326
23581
  views
23327
23582
  } = _ref2,
23328
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$15);
23583
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$16);
23329
23584
  var Container = orientation === 'horizontal' ? appStudio.Horizontal : appStudio.Vertical;
23330
23585
  return /*#__PURE__*/React__default.createElement(Container, Object.assign({
23331
23586
  role: "menubar",
@@ -23645,7 +23900,7 @@ var MenubarView = _ref8 => {
23645
23900
  })))))));
23646
23901
  };
23647
23902
 
23648
- var _excluded$16 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
23903
+ var _excluded$17 = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
23649
23904
  /**
23650
23905
  * Menubar component for creating horizontal or vertical menu bars with dropdown menus.
23651
23906
  */
@@ -23659,7 +23914,7 @@ var MenubarComponent = _ref => {
23659
23914
  defaultOpenMenuId = null,
23660
23915
  views
23661
23916
  } = _ref,
23662
- props = _objectWithoutPropertiesLoose(_ref, _excluded$16);
23917
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
23663
23918
  var {
23664
23919
  activeMenuId,
23665
23920
  setActiveMenuId,
@@ -23841,7 +24096,7 @@ var DisabledButtonStyles = {
23841
24096
  }
23842
24097
  };
23843
24098
 
23844
- var _excluded$17 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
24099
+ var _excluded$18 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
23845
24100
  var PaginationView = _ref => {
23846
24101
  var {
23847
24102
  currentPage,
@@ -23872,7 +24127,7 @@ var PaginationView = _ref => {
23872
24127
  visiblePageNumbers,
23873
24128
  views
23874
24129
  } = _ref,
23875
- props = _objectWithoutPropertiesLoose(_ref, _excluded$17);
24130
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
23876
24131
  var handlePageChange = page => {
23877
24132
  if (page < 1 || page > totalPages || page === currentPage) {
23878
24133
  return;
@@ -23991,7 +24246,7 @@ var PaginationView = _ref => {
23991
24246
  }, option.label))))));
23992
24247
  };
23993
24248
 
23994
- var _excluded$18 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
24249
+ var _excluded$19 = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
23995
24250
  /**
23996
24251
  * Pagination component for navigating through pages of content.
23997
24252
  */
@@ -24012,7 +24267,7 @@ var PaginationComponent = _ref => {
24012
24267
  shape = 'rounded',
24013
24268
  views
24014
24269
  } = _ref,
24015
- props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
24270
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$19);
24016
24271
  var {
24017
24272
  visiblePageNumbers
24018
24273
  } = usePaginationState(currentPage, totalPages, maxPageButtons);
@@ -24036,7 +24291,7 @@ var PaginationComponent = _ref => {
24036
24291
  };
24037
24292
  var Pagination = PaginationComponent;
24038
24293
 
24039
- var _excluded$19 = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
24294
+ var _excluded$1a = ["value", "max", "color", "backgroundColor", "height", "radius", "views", "themeMode"];
24040
24295
  var ProgressBarView = _ref => {
24041
24296
  var {
24042
24297
  value = 0,
@@ -24048,7 +24303,7 @@ var ProgressBarView = _ref => {
24048
24303
  views,
24049
24304
  themeMode: elementMode
24050
24305
  } = _ref,
24051
- props = _objectWithoutPropertiesLoose(_ref, _excluded$19);
24306
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1a);
24052
24307
  var {
24053
24308
  getColor,
24054
24309
  themeMode
@@ -24138,7 +24393,7 @@ var DefaultSeparatorStyles = {
24138
24393
  }
24139
24394
  };
24140
24395
 
24141
- var _excluded$1a = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
24396
+ var _excluded$1b = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
24142
24397
  var SeparatorView = _ref => {
24143
24398
  var {
24144
24399
  orientation = 'horizontal',
@@ -24150,7 +24405,7 @@ var SeparatorView = _ref => {
24150
24405
  decorative = false,
24151
24406
  views
24152
24407
  } = _ref,
24153
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1a);
24408
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1b);
24154
24409
  // Access theme if needed for future enhancements
24155
24410
  var {
24156
24411
  themeMode
@@ -24218,7 +24473,7 @@ var SeparatorComponent = props => {
24218
24473
  var Separator = SeparatorComponent;
24219
24474
  var Divider = SeparatorComponent;
24220
24475
 
24221
- var _excluded$1b = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
24476
+ var _excluded$1c = ["isSupported", "isSharing", "onShare", "label", "children", "icon", "size", "isDisabled", "isLoading", "iconPosition", "disableWhenUnsupported"];
24222
24477
  var ICON_SIZE_MAP = {
24223
24478
  xs: 12,
24224
24479
  sm: 14,
@@ -24241,7 +24496,7 @@ var ShareButtonView = _ref => {
24241
24496
  iconPosition,
24242
24497
  disableWhenUnsupported = true
24243
24498
  } = _ref,
24244
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1b);
24499
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1c);
24245
24500
  var resolvedSize = size != null ? size : 'md';
24246
24501
  var resolvedIcon = icon != null ? icon : (/*#__PURE__*/React__default.createElement(ShareIcon, {
24247
24502
  widthHeight: ICON_SIZE_MAP[resolvedSize],
@@ -24343,14 +24598,14 @@ var useShareButton = props => {
24343
24598
  };
24344
24599
  };
24345
24600
 
24346
- var _excluded$1c = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
24601
+ var _excluded$1d = ["shareData", "onShareStart", "onShareSuccess", "onShareCancel", "onShareError", "onUnsupported", "onClick"];
24347
24602
  var ShareButtonComponent = props => {
24348
24603
  var {
24349
24604
  isSupported,
24350
24605
  isSharing,
24351
24606
  handleShare
24352
24607
  } = useShareButton(props);
24353
- var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1c);
24608
+ var viewProps = _objectWithoutPropertiesLoose(props, _excluded$1d);
24354
24609
  return /*#__PURE__*/React__default.createElement(ShareButtonView, Object.assign({}, viewProps, {
24355
24610
  isSupported: isSupported,
24356
24611
  isSharing: isSharing,
@@ -24404,7 +24659,7 @@ var getThemes$2 = themeMode => {
24404
24659
  };
24405
24660
  };
24406
24661
 
24407
- var _excluded$1d = ["label", "status", "views", "themeMode"];
24662
+ var _excluded$1e = ["label", "status", "views", "themeMode"];
24408
24663
  var StatusIndicatorView = _ref => {
24409
24664
  var {
24410
24665
  label,
@@ -24412,7 +24667,7 @@ var StatusIndicatorView = _ref => {
24412
24667
  views,
24413
24668
  themeMode: elementMode
24414
24669
  } = _ref,
24415
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1d);
24670
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1e);
24416
24671
  var {
24417
24672
  themeMode
24418
24673
  } = appStudio.useTheme();
@@ -24595,7 +24850,7 @@ var SidebarTransitions = {
24595
24850
  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)'
24596
24851
  };
24597
24852
 
24598
- var _excluded$1e = ["children", "showToggleButton", "views"],
24853
+ var _excluded$1f = ["children", "showToggleButton", "views"],
24599
24854
  _excluded2$i = ["children", "views"],
24600
24855
  _excluded3$c = ["children", "views"],
24601
24856
  _excluded4$b = ["children", "position", "size", "variant", "fixed", "hasBackdrop", "expandedWidth", "collapsedWidth", "breakpointBehavior", "elevation", "transitionPreset", "ariaLabel", "isExpanded", "isMobile", "collapse", "views", "themeMode"];
@@ -24628,7 +24883,7 @@ var SidebarHeader = _ref2 => {
24628
24883
  showToggleButton = true,
24629
24884
  views
24630
24885
  } = _ref2,
24631
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1e);
24886
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1f);
24632
24887
  var {
24633
24888
  isExpanded,
24634
24889
  toggleExpanded,
@@ -24783,7 +25038,7 @@ var SidebarView = _ref5 => {
24783
25038
  }))));
24784
25039
  };
24785
25040
 
24786
- var _excluded$1f = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
25041
+ var _excluded$1g = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
24787
25042
  /**
24788
25043
  * Sidebar component for creating collapsible, themeable and customizable sidebars.
24789
25044
  */
@@ -24805,7 +25060,7 @@ var SidebarComponent = _ref => {
24805
25060
  breakpointBehavior = 'overlay',
24806
25061
  views
24807
25062
  } = _ref,
24808
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1f);
25063
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1g);
24809
25064
  var {
24810
25065
  isExpanded,
24811
25066
  toggleExpanded,
@@ -25270,7 +25525,7 @@ var HandleIconStyles = {
25270
25525
  }
25271
25526
  };
25272
25527
 
25273
- var _excluded$1g = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
25528
+ var _excluded$1h = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
25274
25529
  _excluded2$j = ["id", "position", "disabled", "withVisualIndicator", "withCollapseButton", "collapseTarget", "views"],
25275
25530
  _excluded3$d = ["children", "orientation", "size", "variant", "defaultSizes", "minSize", "maxSize", "collapsible", "containerRef", "autoSaveId", "views"];
25276
25531
  // Create context for the Resizable component
@@ -25315,7 +25570,7 @@ var ResizablePanel = _ref2 => {
25315
25570
  onCollapseChange,
25316
25571
  views
25317
25572
  } = _ref2,
25318
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1g);
25573
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1h);
25319
25574
  var {
25320
25575
  orientation,
25321
25576
  registerPanel,
@@ -25530,7 +25785,7 @@ var ResizableView = _ref4 => {
25530
25785
  }, ResizableOrientations[orientation], views == null ? void 0 : views.container, props), children);
25531
25786
  };
25532
25787
 
25533
- var _excluded$1h = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
25788
+ var _excluded$1i = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
25534
25789
  /**
25535
25790
  * Resizable component for creating resizable panel groups and layouts.
25536
25791
  */
@@ -25550,7 +25805,7 @@ var ResizableComponent = _ref => {
25550
25805
  keyboardResizeBy = 10,
25551
25806
  views
25552
25807
  } = _ref,
25553
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1h);
25808
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1i);
25554
25809
  var {
25555
25810
  isResizing,
25556
25811
  setIsResizing,
@@ -26321,7 +26576,7 @@ var CommandFooterStyles = {
26321
26576
  color: 'color.gray.500'
26322
26577
  };
26323
26578
 
26324
- var _excluded$1i = ["value", "onValueChange", "placeholder", "views"],
26579
+ var _excluded$1j = ["value", "onValueChange", "placeholder", "views"],
26325
26580
  _excluded2$k = ["children", "views"],
26326
26581
  _excluded3$e = ["heading", "children", "views"],
26327
26582
  _excluded4$c = ["item", "selected", "onSelect", "views"],
@@ -26353,7 +26608,7 @@ var CommandInput = _ref2 => {
26353
26608
  placeholder = 'Type a command or search...',
26354
26609
  views
26355
26610
  } = _ref2,
26356
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1i);
26611
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1j);
26357
26612
  var inputRef = React.useRef(null);
26358
26613
  // Focus input when component mounts
26359
26614
  React__default.useEffect(() => {
@@ -26536,7 +26791,7 @@ var CommandView = _ref7 => {
26536
26791
  })))), footer && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, CommandFooterStyles, views == null ? void 0 : views.footer), footer)))));
26537
26792
  };
26538
26793
 
26539
- var _excluded$1j = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
26794
+ var _excluded$1k = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
26540
26795
  /**
26541
26796
  * Command component for displaying a command palette with search functionality.
26542
26797
  */
@@ -26554,7 +26809,7 @@ var CommandComponent = _ref => {
26554
26809
  footer,
26555
26810
  views
26556
26811
  } = _ref,
26557
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1j);
26812
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1k);
26558
26813
  var {
26559
26814
  search,
26560
26815
  setSearch,
@@ -26791,7 +27046,7 @@ var getArrowStyles = position => {
26791
27046
  }
26792
27047
  };
26793
27048
 
26794
- var _excluded$1k = ["children", "views", "asChild"],
27049
+ var _excluded$1l = ["children", "views", "asChild"],
26795
27050
  _excluded2$l = ["children", "views"],
26796
27051
  _excluded3$f = ["content", "children", "position", "align", "size", "variant", "showArrow", "views", "themeMode"];
26797
27052
  // Create context for the Tooltip
@@ -26827,7 +27082,7 @@ var TooltipTrigger = _ref2 => {
26827
27082
  views,
26828
27083
  asChild = false
26829
27084
  } = _ref2,
26830
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$1k);
27085
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$1l);
26831
27086
  var {
26832
27087
  openTooltip,
26833
27088
  closeTooltip,
@@ -27011,7 +27266,7 @@ var TooltipView = _ref4 => {
27011
27266
  }, 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)))));
27012
27267
  };
27013
27268
 
27014
- var _excluded$1l = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
27269
+ var _excluded$1m = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
27015
27270
  /**
27016
27271
  * Tooltip component for displaying additional information when hovering over an element.
27017
27272
  * Supports configurable positions, delays, and styling.
@@ -27031,7 +27286,7 @@ var TooltipComponent = _ref => {
27031
27286
  isDisabled = false,
27032
27287
  views
27033
27288
  } = _ref,
27034
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1l);
27289
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1m);
27035
27290
  var tooltipState = useTooltipState({
27036
27291
  defaultOpen,
27037
27292
  openDelay,
@@ -27340,7 +27595,7 @@ var DefaultGradientStyles = {
27340
27595
  }
27341
27596
  };
27342
27597
 
27343
- var _excluded$1m = ["type", "direction", "shape", "position", "from", "to", "colors", "animate", "animationDuration", "children", "views", "themeMode"];
27598
+ var _excluded$1n = ["type", "direction", "shape", "position", "from", "to", "colors", "animate", "animationDuration", "children", "views", "themeMode"];
27344
27599
  var GradientView = _ref => {
27345
27600
  var {
27346
27601
  type = 'linear',
@@ -27356,7 +27611,7 @@ var GradientView = _ref => {
27356
27611
  views,
27357
27612
  themeMode: elementMode
27358
27613
  } = _ref,
27359
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1m);
27614
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1n);
27360
27615
  var {
27361
27616
  getColor,
27362
27617
  themeMode
@@ -27432,7 +27687,7 @@ var Gradient = props => {
27432
27687
  return /*#__PURE__*/React__default.createElement(GradientView, Object.assign({}, props));
27433
27688
  };
27434
27689
 
27435
- var _excluded$1n = ["children", "showRadialGradient", "views", "themeMode"],
27690
+ var _excluded$1o = ["children", "showRadialGradient", "views", "themeMode"],
27436
27691
  _excluded2$m = ["number", "children"],
27437
27692
  _excluded3$g = ["rows", "cols", "squareSize"],
27438
27693
  _excluded4$d = ["count", "colors", "speed", "shapes"],
@@ -27453,7 +27708,7 @@ var AuroraBackground = _ref => {
27453
27708
  showRadialGradient = true,
27454
27709
  views
27455
27710
  } = _ref,
27456
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1n);
27711
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1o);
27457
27712
  var gradientColors = {
27458
27713
  white: 'rgba(255,255,255,1)',
27459
27714
  transparent: 'rgba(255,255,255,0)'
@@ -28073,6 +28328,7 @@ exports.FormikForm = FormikForm;
28073
28328
  exports.FormikOTPInput = FormikOTPInput;
28074
28329
  exports.FormikPassword = FormikPassword;
28075
28330
  exports.FormikSelect = FormikSelect;
28331
+ exports.FormikSelector = FormikSelector;
28076
28332
  exports.FormikSlider = FormikSlider;
28077
28333
  exports.FormikSwitch = FormikSwitch;
28078
28334
  exports.FormikTagInput = FormikTagInput;