@xsolla/xui-multi-select 0.136.0 → 0.138.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web/index.mjs CHANGED
@@ -2,10 +2,82 @@
2
2
  import { forwardRef as forwardRef4, useRef as useRef4, useEffect as useEffect3 } from "react";
3
3
 
4
4
  // ../primitives-web/src/Box.tsx
5
- import React from "react";
5
+ import React2 from "react";
6
6
  import styled from "styled-components";
7
+
8
+ // ../primitives-web/src/filterDOMProps.ts
9
+ import React from "react";
10
+
11
+ // ../../node_modules/@emotion/memoize/dist/memoize.esm.js
12
+ function memoize(fn) {
13
+ var cache = {};
14
+ return function(arg) {
15
+ if (cache[arg] === void 0) cache[arg] = fn(arg);
16
+ return cache[arg];
17
+ };
18
+ }
19
+ var memoize_esm_default = memoize;
20
+
21
+ // ../../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.esm.js
22
+ var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
23
+ var index = memoize_esm_default(
24
+ function(prop) {
25
+ return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
26
+ }
27
+ /* Z+1 */
28
+ );
29
+ var is_prop_valid_esm_default = index;
30
+
31
+ // ../primitives-web/src/filterDOMProps.ts
32
+ var ADDITIONAL_BLOCKED_PROPS = /* @__PURE__ */ new Set([
33
+ // RN-only event handlers (pass isPropValid's on* pattern)
34
+ "onPress",
35
+ "onChangeText",
36
+ "onLayout",
37
+ "onMoveShouldSetResponder",
38
+ "onResponderGrant",
39
+ "onResponderMove",
40
+ "onResponderRelease",
41
+ "onResponderTerminate",
42
+ // SVG attributes that pass isPropValid
43
+ "strokeWidth",
44
+ // CSS properties that pass isPropValid but are used as component props
45
+ "overflow",
46
+ "cursor",
47
+ "fontSize",
48
+ "fontWeight",
49
+ "fontFamily",
50
+ "textDecoration"
51
+ ]);
52
+ function shouldForwardProp(key) {
53
+ if (ADDITIONAL_BLOCKED_PROPS.has(key)) return false;
54
+ return is_prop_valid_esm_default(key);
55
+ }
56
+ function createFilteredElement(defaultTag) {
57
+ const Component = React.forwardRef(
58
+ ({ children, elementType, ...props }, ref) => {
59
+ const Tag2 = elementType || defaultTag;
60
+ const htmlProps = {};
61
+ for (const key of Object.keys(props)) {
62
+ if (shouldForwardProp(key)) {
63
+ htmlProps[key] = props[key];
64
+ }
65
+ }
66
+ return React.createElement(
67
+ Tag2,
68
+ { ref, ...htmlProps },
69
+ children
70
+ );
71
+ }
72
+ );
73
+ Component.displayName = `Filtered(${defaultTag})`;
74
+ return Component;
75
+ }
76
+
77
+ // ../primitives-web/src/Box.tsx
7
78
  import { jsx } from "react/jsx-runtime";
8
- var StyledBox = styled.div`
79
+ var FilteredDiv = createFilteredElement("div");
80
+ var StyledBox = styled(FilteredDiv)`
9
81
  display: flex;
10
82
  box-sizing: border-box;
11
83
  background-color: ${(props) => props.backgroundColor || "transparent"};
@@ -92,7 +164,7 @@ var StyledBox = styled.div`
92
164
  ${(props) => props.pressStyle?.backgroundColor && `background-color: ${props.pressStyle.backgroundColor};`}
93
165
  }
94
166
  `;
95
- var Box = React.forwardRef(
167
+ var Box = React2.forwardRef(
96
168
  ({
97
169
  children,
98
170
  onPress,
@@ -117,6 +189,8 @@ var Box = React.forwardRef(
117
189
  type,
118
190
  disabled,
119
191
  id,
192
+ testID,
193
+ "data-testid": dataTestId,
120
194
  ...props
121
195
  }, ref) => {
122
196
  if (as === "img" && src) {
@@ -144,7 +218,7 @@ var Box = React.forwardRef(
144
218
  StyledBox,
145
219
  {
146
220
  ref,
147
- as,
221
+ elementType: as,
148
222
  id,
149
223
  type: as === "button" ? type || "button" : void 0,
150
224
  disabled: as === "button" ? disabled : void 0,
@@ -164,6 +238,7 @@ var Box = React.forwardRef(
164
238
  "aria-controls": ariaControls,
165
239
  "aria-live": ariaLive,
166
240
  tabIndex: tabIndex !== void 0 ? tabIndex : void 0,
241
+ "data-testid": dataTestId || testID,
167
242
  ...props,
168
243
  children
169
244
  }
@@ -175,7 +250,8 @@ Box.displayName = "Box";
175
250
  // ../primitives-web/src/Text.tsx
176
251
  import styled2 from "styled-components";
177
252
  import { jsx as jsx2 } from "react/jsx-runtime";
178
- var StyledText = styled2.span`
253
+ var FilteredSpan = createFilteredElement("span");
254
+ var StyledText = styled2(FilteredSpan)`
179
255
  color: ${(props) => props.color || "inherit"};
180
256
  font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
181
257
  font-weight: ${(props) => props.fontWeight || "normal"};
@@ -208,7 +284,8 @@ var Text = ({
208
284
  // ../primitives-web/src/Icon.tsx
209
285
  import styled3 from "styled-components";
210
286
  import { jsx as jsx3 } from "react/jsx-runtime";
211
- var StyledIcon = styled3.div`
287
+ var FilteredDiv2 = createFilteredElement("div");
288
+ var StyledIcon = styled3(FilteredDiv2)`
212
289
  display: flex;
213
290
  align-items: center;
214
291
  justify-content: center;
@@ -687,8 +764,9 @@ import {
687
764
  } from "react";
688
765
 
689
766
  // ../tag/dist/web/index.mjs
690
- import React2 from "react";
767
+ import React22 from "react";
691
768
  import styled6 from "styled-components";
769
+ import React4 from "react";
692
770
  import { jsx as jsx389 } from "react/jsx-runtime";
693
771
  import styled22 from "styled-components";
694
772
  import { jsx as jsx2101 } from "react/jsx-runtime";
@@ -697,6 +775,7 @@ import { jsx as jsx390 } from "react/jsx-runtime";
697
775
  import { useResolvedTheme } from "@xsolla/xui-core";
698
776
 
699
777
  // ../icons/dist/web/index.mjs
778
+ import React3 from "react";
700
779
  import styled5 from "styled-components";
701
780
  import { jsx as jsx388 } from "react/jsx-runtime";
702
781
 
@@ -705,8 +784,8 @@ import { forwardRef as forwardRef2, createElement as createElement2 } from "reac
705
784
 
706
785
  // ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
707
786
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
708
- var mergeClasses = (...classes) => classes.filter((className, index, array) => {
709
- return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
787
+ var mergeClasses = (...classes) => classes.filter((className, index4, array) => {
788
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index4;
710
789
  }).join(" ").trim();
711
790
 
712
791
  // ../../node_modules/lucide-react/dist/esm/Icon.js
@@ -779,7 +858,68 @@ var X = createLucideIcon("X", [
779
858
 
780
859
  // ../icons/dist/web/index.mjs
781
860
  import { jsx as jsx2100 } from "react/jsx-runtime";
782
- var StyledIcon3 = styled5.div`
861
+ function memoize2(fn) {
862
+ var cache = {};
863
+ return function(arg) {
864
+ if (cache[arg] === void 0) cache[arg] = fn(arg);
865
+ return cache[arg];
866
+ };
867
+ }
868
+ var memoize_esm_default2 = memoize2;
869
+ var reactPropsRegex2 = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
870
+ var index2 = memoize_esm_default2(
871
+ function(prop) {
872
+ return reactPropsRegex2.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
873
+ }
874
+ /* Z+1 */
875
+ );
876
+ var is_prop_valid_esm_default2 = index2;
877
+ var ADDITIONAL_BLOCKED_PROPS2 = /* @__PURE__ */ new Set([
878
+ // RN-only event handlers (pass isPropValid's on* pattern)
879
+ "onPress",
880
+ "onChangeText",
881
+ "onLayout",
882
+ "onMoveShouldSetResponder",
883
+ "onResponderGrant",
884
+ "onResponderMove",
885
+ "onResponderRelease",
886
+ "onResponderTerminate",
887
+ // SVG attributes that pass isPropValid
888
+ "strokeWidth",
889
+ // CSS properties that pass isPropValid but are used as component props
890
+ "overflow",
891
+ "cursor",
892
+ "fontSize",
893
+ "fontWeight",
894
+ "fontFamily",
895
+ "textDecoration"
896
+ ]);
897
+ function shouldForwardProp2(key) {
898
+ if (ADDITIONAL_BLOCKED_PROPS2.has(key)) return false;
899
+ return is_prop_valid_esm_default2(key);
900
+ }
901
+ function createFilteredElement2(defaultTag) {
902
+ const Component = React3.forwardRef(
903
+ ({ children, elementType, ...props }, ref) => {
904
+ const Tag2 = elementType || defaultTag;
905
+ const htmlProps = {};
906
+ for (const key of Object.keys(props)) {
907
+ if (shouldForwardProp2(key)) {
908
+ htmlProps[key] = props[key];
909
+ }
910
+ }
911
+ return React3.createElement(
912
+ Tag2,
913
+ { ref, ...htmlProps },
914
+ children
915
+ );
916
+ }
917
+ );
918
+ Component.displayName = `Filtered(${defaultTag})`;
919
+ return Component;
920
+ }
921
+ var FilteredDiv3 = createFilteredElement2("div");
922
+ var StyledIcon3 = styled5(FilteredDiv3)`
783
923
  display: flex;
784
924
  align-items: center;
785
925
  justify-content: center;
@@ -801,7 +941,68 @@ var X2 = (props) => /* @__PURE__ */ jsx2100(Icon3, { ...props, children: /* @__P
801
941
 
802
942
  // ../tag/dist/web/index.mjs
803
943
  import { jsx as jsx410, jsxs } from "react/jsx-runtime";
804
- var StyledBox2 = styled6.div`
944
+ function memoize3(fn) {
945
+ var cache = {};
946
+ return function(arg) {
947
+ if (cache[arg] === void 0) cache[arg] = fn(arg);
948
+ return cache[arg];
949
+ };
950
+ }
951
+ var memoize_esm_default3 = memoize3;
952
+ var reactPropsRegex3 = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
953
+ var index3 = memoize_esm_default3(
954
+ function(prop) {
955
+ return reactPropsRegex3.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
956
+ }
957
+ /* Z+1 */
958
+ );
959
+ var is_prop_valid_esm_default3 = index3;
960
+ var ADDITIONAL_BLOCKED_PROPS3 = /* @__PURE__ */ new Set([
961
+ // RN-only event handlers (pass isPropValid's on* pattern)
962
+ "onPress",
963
+ "onChangeText",
964
+ "onLayout",
965
+ "onMoveShouldSetResponder",
966
+ "onResponderGrant",
967
+ "onResponderMove",
968
+ "onResponderRelease",
969
+ "onResponderTerminate",
970
+ // SVG attributes that pass isPropValid
971
+ "strokeWidth",
972
+ // CSS properties that pass isPropValid but are used as component props
973
+ "overflow",
974
+ "cursor",
975
+ "fontSize",
976
+ "fontWeight",
977
+ "fontFamily",
978
+ "textDecoration"
979
+ ]);
980
+ function shouldForwardProp3(key) {
981
+ if (ADDITIONAL_BLOCKED_PROPS3.has(key)) return false;
982
+ return is_prop_valid_esm_default3(key);
983
+ }
984
+ function createFilteredElement3(defaultTag) {
985
+ const Component = React4.forwardRef(
986
+ ({ children, elementType, ...props }, ref) => {
987
+ const Tag2 = elementType || defaultTag;
988
+ const htmlProps = {};
989
+ for (const key of Object.keys(props)) {
990
+ if (shouldForwardProp3(key)) {
991
+ htmlProps[key] = props[key];
992
+ }
993
+ }
994
+ return React4.createElement(
995
+ Tag2,
996
+ { ref, ...htmlProps },
997
+ children
998
+ );
999
+ }
1000
+ );
1001
+ Component.displayName = `Filtered(${defaultTag})`;
1002
+ return Component;
1003
+ }
1004
+ var FilteredDiv4 = createFilteredElement3("div");
1005
+ var StyledBox2 = styled6(FilteredDiv4)`
805
1006
  display: flex;
806
1007
  box-sizing: border-box;
807
1008
  background-color: ${(props) => props.backgroundColor || "transparent"};
@@ -888,7 +1089,7 @@ var StyledBox2 = styled6.div`
888
1089
  ${(props) => props.pressStyle?.backgroundColor && `background-color: ${props.pressStyle.backgroundColor};`}
889
1090
  }
890
1091
  `;
891
- var Box2 = React2.forwardRef(
1092
+ var Box2 = React22.forwardRef(
892
1093
  ({
893
1094
  children,
894
1095
  onPress,
@@ -913,6 +1114,8 @@ var Box2 = React2.forwardRef(
913
1114
  type,
914
1115
  disabled,
915
1116
  id,
1117
+ testID,
1118
+ "data-testid": dataTestId,
916
1119
  ...props
917
1120
  }, ref) => {
918
1121
  if (as === "img" && src) {
@@ -940,7 +1143,7 @@ var Box2 = React2.forwardRef(
940
1143
  StyledBox2,
941
1144
  {
942
1145
  ref,
943
- as,
1146
+ elementType: as,
944
1147
  id,
945
1148
  type: as === "button" ? type || "button" : void 0,
946
1149
  disabled: as === "button" ? disabled : void 0,
@@ -960,6 +1163,7 @@ var Box2 = React2.forwardRef(
960
1163
  "aria-controls": ariaControls,
961
1164
  "aria-live": ariaLive,
962
1165
  tabIndex: tabIndex !== void 0 ? tabIndex : void 0,
1166
+ "data-testid": dataTestId || testID,
963
1167
  ...props,
964
1168
  children
965
1169
  }
@@ -967,7 +1171,8 @@ var Box2 = React2.forwardRef(
967
1171
  }
968
1172
  );
969
1173
  Box2.displayName = "Box";
970
- var StyledText2 = styled22.span`
1174
+ var FilteredSpan2 = createFilteredElement3("span");
1175
+ var StyledText2 = styled22(FilteredSpan2)`
971
1176
  color: ${(props) => props.color || "inherit"};
972
1177
  font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
973
1178
  font-weight: ${(props) => props.fontWeight || "normal"};
@@ -996,7 +1201,8 @@ var Text2 = ({
996
1201
  }
997
1202
  );
998
1203
  };
999
- var StyledIcon4 = styled32.div`
1204
+ var FilteredDiv22 = createFilteredElement3("div");
1205
+ var StyledIcon4 = styled32(FilteredDiv22)`
1000
1206
  display: flex;
1001
1207
  align-items: center;
1002
1208
  justify-content: center;
@@ -1236,9 +1442,9 @@ var useMultiSelectControl = ({
1236
1442
  const countText = displayStateRef.current === 1 /* PreRender */ ? `+${itemsList.length}` : `+${itemsList.length - displayedItems.length}`;
1237
1443
  displayedItems.push({ value: COUNT_ITEM_VALUE, label: countText });
1238
1444
  }
1239
- const content = displayedItems.map((item, index) => {
1445
+ const content = displayedItems.map((item, index4) => {
1240
1446
  const isCount = item.value === COUNT_ITEM_VALUE;
1241
- const isReducable = index === 0 && displayStateRef.current === 3 /* Render */ && displayedItemsCount === 0 || flexible;
1447
+ const isReducable = index4 === 0 && displayStateRef.current === 3 /* Render */ && displayedItemsCount === 0 || flexible;
1242
1448
  if (variant === "tag") {
1243
1449
  return /* @__PURE__ */ jsx391(
1244
1450
  Box,
@@ -1269,7 +1475,7 @@ var useMultiSelectControl = ({
1269
1475
  );
1270
1476
  }
1271
1477
  const isCountItem = hasHidden;
1272
- const needsComma = index < displayedItems.length - 2 || index < displayedItems.length - 1 && !isCountItem;
1478
+ const needsComma = index4 < displayedItems.length - 2 || index4 < displayedItems.length - 1 && !isCountItem;
1273
1479
  return /* @__PURE__ */ jsxs2(
1274
1480
  Text,
1275
1481
  {
@@ -1305,11 +1511,11 @@ var useMultiSelectControl = ({
1305
1511
  const countItemWidth = countEl.getBoundingClientRect().width;
1306
1512
  const columnGap = parseInt(getComputedStyle(itemsRef.current).columnGap || "0", 10) || 0;
1307
1513
  const tagsWidths = {};
1308
- let index = 0;
1514
+ let index4 = 0;
1309
1515
  for (const el of allItems) {
1310
- const key = index < allItems.length - 1 ? stateList[index].value : COUNT_ITEM_VALUE;
1516
+ const key = index4 < allItems.length - 1 ? stateList[index4].value : COUNT_ITEM_VALUE;
1311
1517
  tagsWidths[key] = el.getBoundingClientRect().width;
1312
- index++;
1518
+ index4++;
1313
1519
  }
1314
1520
  savedWidthsRef.current = {
1315
1521
  tagsWidths,