@xsolla/xui-icons 0.141.1 → 0.148.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.
@@ -19,5 +19,6 @@ declare const Home: (props: any) => react_jsx_runtime.JSX.Element;
19
19
  declare const ShoppingCart: (props: any) => react_jsx_runtime.JSX.Element;
20
20
  declare const Upload: (props: any) => react_jsx_runtime.JSX.Element;
21
21
  declare const File: (props: any) => react_jsx_runtime.JSX.Element;
22
+ declare const Info: (props: any) => react_jsx_runtime.JSX.Element;
22
23
 
23
- export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
24
+ export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Info, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
package/native/index.d.ts CHANGED
@@ -19,5 +19,6 @@ declare const Home: (props: any) => react_jsx_runtime.JSX.Element;
19
19
  declare const ShoppingCart: (props: any) => react_jsx_runtime.JSX.Element;
20
20
  declare const Upload: (props: any) => react_jsx_runtime.JSX.Element;
21
21
  declare const File: (props: any) => react_jsx_runtime.JSX.Element;
22
+ declare const Info: (props: any) => react_jsx_runtime.JSX.Element;
22
23
 
23
- export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
24
+ export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Info, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
package/native/index.js CHANGED
@@ -41,6 +41,7 @@ __export(index_exports, {
41
41
  EyeOff: () => EyeOff,
42
42
  File: () => File,
43
43
  Home: () => Home,
44
+ Info: () => Info,
44
45
  Menu: () => Menu,
45
46
  Minus: () => Minus,
46
47
  Search: () => Search,
@@ -98,6 +99,7 @@ var Home = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...pr
98
99
  var ShoppingCart = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.ShoppingCart, { size: "100%" }) });
99
100
  var Upload = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.Upload, { size: "100%" }) });
100
101
  var File = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.File, { size: "100%" }) });
102
+ var Info = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.Info, { size: "100%" }) });
101
103
  // Annotate the CommonJS export names for ESM import in node:
102
104
  0 && (module.exports = {
103
105
  AlertCircle,
@@ -111,6 +113,7 @@ var File = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...pr
111
113
  EyeOff,
112
114
  File,
113
115
  Home,
116
+ Info,
114
117
  Menu,
115
118
  Minus,
116
119
  Search,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx","../../../primitives-native/src/Icon.tsx"],"sourcesContent":["// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n","import React from \"react\";\nimport { View, ViewStyle } from \"react-native\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nexport const Icon: React.FC<IconProps> = ({ children, color, size }) => {\n const style: ViewStyle = {\n width: typeof size === \"number\" ? size : undefined,\n height: typeof size === \"number\" ? size : undefined,\n alignItems: \"center\",\n justifyContent: \"center\",\n };\n\n // On native, we try to pass the color down to children (like Text primitives)\n // to mimic the CSS inheritance behavior of the web version.\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n color: child.props.color || color,\n // Also pass size if child seems to be an icon that needs it\n size: child.props.size || size,\n });\n }\n return child;\n });\n\n return <View style={style}>{childrenWithProps}</View>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;AAClB,0BAAgC;AAwBvB;AArBF,IAAM,OAA4B,CAAC,EAAE,UAAU,OAAO,KAAK,MAAM;AACtE,QAAM,QAAmB;AAAA,IACvB,OAAO,OAAO,SAAS,WAAW,OAAO;AAAA,IACzC,QAAQ,OAAO,SAAS,WAAW,OAAO;AAAA,IAC1C,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAIA,QAAM,oBAAoB,aAAAA,QAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AAChE,QAAI,aAAAA,QAAM,eAAe,KAAK,GAAG;AAC/B,aAAO,aAAAA,QAAM,aAAa,OAAO;AAAA,QAC/B,OAAO,MAAM,MAAM,SAAS;AAAA;AAAA,QAE5B,MAAM,MAAM,MAAM,QAAQ;AAAA,MAC5B,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,4CAAC,4BAAK,OAAe,6BAAkB;AAChD;;;ADxBA,kCAoBO;AAKH,IAAAC,sBAAA;AAFG,IAAM,QAAQ,CAAC,UACpB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,OAAA,EAAY,MAAK,QAAO,GAC3B;AAGK,IAAM,IAAI,CAAC,UAChB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,GAAA,EAAQ,MAAK,QAAO,GACvB;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,MAAM,CAAC,UAClB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,KAAA,EAAU,MAAK,QAAO,GACzB;AAGK,IAAM,SAAS,CAAC,UACrB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,QAAA,EAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,YAAY,CAAC,UACxB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,WAAA,EAAgB,MAAK,QAAO,GAC/B;AAGK,IAAM,aAAa,CAAC,UACzB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,YAAA,EAAiB,MAAK,QAAO,GAChC;AAGK,IAAM,WAAW,CAAC,UACvB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,UAAA,EAAe,MAAK,QAAO,GAC9B;AAGK,IAAM,QAAQ,CAAC,UACpB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,OAAA,EAAY,MAAK,QAAO,GAC3B;AAGK,IAAM,cAAc,CAAC,UAC1B,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,aAAA,EAAkB,MAAK,QAAO,GACjC;AAGK,IAAM,aAAa,CAAC,UACzB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,YAAA,EAAiB,MAAK,QAAO,GAChC;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,SAAS,CAAC,UACrB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,QAAA,EAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,eAAe,CAAC,UAC3B,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,cAAA,EAAmB,MAAK,QAAO,GAClC;AAGK,IAAM,SAAS,CAAC,UACrB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,QAAA,EAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,OAAO,CAAC,UACnB,6CAAC,QAAM,GAAG,OACR,uDAAC,4BAAAC,MAAA,EAAW,MAAK,QAAO,GAC1B;","names":["React","import_jsx_runtime","LucideCheck","LucideX","LucideCopy","LucideEye","LucideEyeOff","LucideArrowLeft","LucideArrowRight","LucideSettings","LucideMinus","LucideAlertCircle","LucideCreditCard","LucideMenu","LucideBell","LucideUser","LucideSearch","LucideHome","LucideShoppingCart","LucideUpload","LucideFile"]}
1
+ {"version":3,"sources":["../../src/index.tsx","../../../primitives-native/src/Icon.tsx"],"sourcesContent":["// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n Info as LucideInfo,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n\nexport const Info = (props: any) => (\n <Icon {...props}>\n <LucideInfo size=\"100%\" />\n </Icon>\n);\n","import React from \"react\";\nimport { View, ViewStyle } from \"react-native\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nexport const Icon: React.FC<IconProps> = ({ children, color, size }) => {\n const style: ViewStyle = {\n width: typeof size === \"number\" ? size : undefined,\n height: typeof size === \"number\" ? size : undefined,\n alignItems: \"center\",\n justifyContent: \"center\",\n };\n\n // On native, we try to pass the color down to children (like Text primitives)\n // to mimic the CSS inheritance behavior of the web version.\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n color: child.props.color || color,\n // Also pass size if child seems to be an icon that needs it\n size: child.props.size || size,\n });\n }\n return child;\n });\n\n return <View style={style}>{childrenWithProps}</View>;\n};\n"],"mappings":"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","names":["React","import_jsx_runtime","LucideCheck","LucideX","LucideCopy","LucideEye","LucideEyeOff","LucideArrowLeft","LucideArrowRight","LucideSettings","LucideMinus","LucideAlertCircle","LucideCreditCard","LucideMenu","LucideBell","LucideUser","LucideSearch","LucideHome","LucideShoppingCart","LucideUpload","LucideFile","LucideInfo"]}
package/native/index.mjs CHANGED
@@ -42,7 +42,8 @@ import {
42
42
  Home as LucideHome,
43
43
  ShoppingCart as LucideShoppingCart,
44
44
  Upload as LucideUpload,
45
- File as LucideFile
45
+ File as LucideFile,
46
+ Info as LucideInfo
46
47
  } from "lucide-react-native";
47
48
  import { jsx as jsx2 } from "react/jsx-runtime";
48
49
  var Check = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideCheck, { size: "100%" }) });
@@ -64,6 +65,7 @@ var Home = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PUR
64
65
  var ShoppingCart = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideShoppingCart, { size: "100%" }) });
65
66
  var Upload = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideUpload, { size: "100%" }) });
66
67
  var File = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideFile, { size: "100%" }) });
68
+ var Info = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideInfo, { size: "100%" }) });
67
69
  export {
68
70
  AlertCircle,
69
71
  ArrowLeft,
@@ -76,6 +78,7 @@ export {
76
78
  EyeOff,
77
79
  File,
78
80
  Home,
81
+ Info,
79
82
  Menu,
80
83
  Minus,
81
84
  Search,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../primitives-native/src/Icon.tsx","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { View, ViewStyle } from \"react-native\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nexport const Icon: React.FC<IconProps> = ({ children, color, size }) => {\n const style: ViewStyle = {\n width: typeof size === \"number\" ? size : undefined,\n height: typeof size === \"number\" ? size : undefined,\n alignItems: \"center\",\n justifyContent: \"center\",\n };\n\n // On native, we try to pass the color down to children (like Text primitives)\n // to mimic the CSS inheritance behavior of the web version.\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n color: child.props.color || color,\n // Also pass size if child seems to be an icon that needs it\n size: child.props.size || size,\n });\n }\n return child;\n });\n\n return <View style={style}>{childrenWithProps}</View>;\n};\n","// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n"],"mappings":"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","names":["jsx"]}
1
+ {"version":3,"sources":["../../../primitives-native/src/Icon.tsx","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { View, ViewStyle } from \"react-native\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nexport const Icon: React.FC<IconProps> = ({ children, color, size }) => {\n const style: ViewStyle = {\n width: typeof size === \"number\" ? size : undefined,\n height: typeof size === \"number\" ? size : undefined,\n alignItems: \"center\",\n justifyContent: \"center\",\n };\n\n // On native, we try to pass the color down to children (like Text primitives)\n // to mimic the CSS inheritance behavior of the web version.\n const childrenWithProps = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n color: child.props.color || color,\n // Also pass size if child seems to be an icon that needs it\n size: child.props.size || size,\n });\n }\n return child;\n });\n\n return <View style={style}>{childrenWithProps}</View>;\n};\n","// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n Info as LucideInfo,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n\nexport const Info = (props: any) => (\n <Icon {...props}>\n <LucideInfo size=\"100%\" />\n </Icon>\n);\n"],"mappings":";AAAA,OAAO,WAAW;AAClB,SAAS,YAAuB;AAwBvB;AArBF,IAAM,OAA4B,CAAC,EAAE,UAAU,OAAO,KAAK,MAAM;AACtE,QAAM,QAAmB;AAAA,IACvB,OAAO,OAAO,SAAS,WAAW,OAAO;AAAA,IACzC,QAAQ,OAAO,SAAS,WAAW,OAAO;AAAA,IAC1C,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAIA,QAAM,oBAAoB,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AAChE,QAAI,MAAM,eAAe,KAAK,GAAG;AAC/B,aAAO,MAAM,aAAa,OAAO;AAAA,QAC/B,OAAO,MAAM,MAAM,SAAS;AAAA;AAAA,QAE5B,MAAM,MAAM,MAAM,QAAQ;AAAA,MAC5B,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,oBAAC,QAAK,OAAe,6BAAkB;AAChD;;;ACxBA;AAAA,EACE,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,eAAe;AAAA,EACf,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,OACH;AAKH,gBAAAA,YAAA;AAFG,IAAM,QAAQ,CAAC,UACpB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,eAAY,MAAK,QAAO,GAC3B;AAGK,IAAM,IAAI,CAAC,UAChB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,WAAQ,MAAK,QAAO,GACvB;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,MAAM,CAAC,UAClB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,aAAU,MAAK,QAAO,GACzB;AAGK,IAAM,SAAS,CAAC,UACrB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,gBAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,YAAY,CAAC,UACxB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,mBAAgB,MAAK,QAAO,GAC/B;AAGK,IAAM,aAAa,CAAC,UACzB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,oBAAiB,MAAK,QAAO,GAChC;AAGK,IAAM,WAAW,CAAC,UACvB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,kBAAe,MAAK,QAAO,GAC9B;AAGK,IAAM,QAAQ,CAAC,UACpB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,eAAY,MAAK,QAAO,GAC3B;AAGK,IAAM,cAAc,CAAC,UAC1B,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,qBAAkB,MAAK,QAAO,GACjC;AAGK,IAAM,aAAa,CAAC,UACzB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,oBAAiB,MAAK,QAAO,GAChC;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,SAAS,CAAC,UACrB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,gBAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,eAAe,CAAC,UAC3B,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,sBAAmB,MAAK,QAAO,GAClC;AAGK,IAAM,SAAS,CAAC,UACrB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,gBAAa,MAAK,QAAO,GAC5B;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;AAGK,IAAM,OAAO,CAAC,UACnB,gBAAAA,KAAC,QAAM,GAAG,OACR,0BAAAA,KAAC,cAAW,MAAK,QAAO,GAC1B;","names":["jsx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsolla/xui-icons",
3
- "version": "0.141.1",
3
+ "version": "0.148.0",
4
4
  "main": "./web/index.js",
5
5
  "types": "./web/index.d.ts",
6
6
  "scripts": {
@@ -9,7 +9,7 @@
9
9
  "build:native": "PLATFORM=native tsup"
10
10
  },
11
11
  "dependencies": {
12
- "@xsolla/xui-primitives-core": "0.141.1",
12
+ "@xsolla/xui-primitives-core": "0.148.0",
13
13
  "lucide-react": "^0.470.0"
14
14
  },
15
15
  "peerDependencies": {
package/web/index.d.mts CHANGED
@@ -19,5 +19,6 @@ declare const Home: (props: any) => react_jsx_runtime.JSX.Element;
19
19
  declare const ShoppingCart: (props: any) => react_jsx_runtime.JSX.Element;
20
20
  declare const Upload: (props: any) => react_jsx_runtime.JSX.Element;
21
21
  declare const File: (props: any) => react_jsx_runtime.JSX.Element;
22
+ declare const Info: (props: any) => react_jsx_runtime.JSX.Element;
22
23
 
23
- export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
24
+ export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Info, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
package/web/index.d.ts CHANGED
@@ -19,5 +19,6 @@ declare const Home: (props: any) => react_jsx_runtime.JSX.Element;
19
19
  declare const ShoppingCart: (props: any) => react_jsx_runtime.JSX.Element;
20
20
  declare const Upload: (props: any) => react_jsx_runtime.JSX.Element;
21
21
  declare const File: (props: any) => react_jsx_runtime.JSX.Element;
22
+ declare const Info: (props: any) => react_jsx_runtime.JSX.Element;
22
23
 
23
- export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
24
+ export { AlertCircle, ArrowLeft, ArrowRight, Bell, Check, Copy, CreditCard, Eye, EyeOff, File, Home, Info, Menu, Minus, Search, Settings, ShoppingCart, Upload, User, X };
package/web/index.js CHANGED
@@ -41,6 +41,7 @@ __export(index_exports, {
41
41
  EyeOff: () => EyeOff,
42
42
  File: () => File,
43
43
  Home: () => Home,
44
+ Info: () => Info,
44
45
  Menu: () => Menu,
45
46
  Minus: () => Minus,
46
47
  Search: () => Search,
@@ -166,6 +167,7 @@ var Home = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...pr
166
167
  var ShoppingCart = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.ShoppingCart, { size: "100%" }) });
167
168
  var Upload = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.Upload, { size: "100%" }) });
168
169
  var File = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.File, { size: "100%" }) });
170
+ var Info = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_lucide_icon_platform.Info, { size: "100%" }) });
169
171
  // Annotate the CommonJS export names for ESM import in node:
170
172
  0 && (module.exports = {
171
173
  AlertCircle,
@@ -179,6 +181,7 @@ var File = (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...pr
179
181
  EyeOff,
180
182
  File,
181
183
  Home,
184
+ Info,
182
185
  Menu,
183
186
  Minus,
184
187
  Search,
package/web/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.tsx","../../../primitives-web/src/filterDOMProps.ts","../../../../../node_modules/@emotion/memoize/dist/memoize.esm.js","../../../../../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.esm.js","../../../primitives-web/src/Icon.tsx"],"sourcesContent":["// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n","import React from \"react\";\nimport isPropValid from \"@emotion/is-prop-valid\";\n\n// Props that @emotion/is-prop-valid incorrectly treats as valid HTML.\n// These are React Native or component-specific props that match\n// valid HTML patterns (on* event handlers, SVG attributes).\nexport const ADDITIONAL_BLOCKED_PROPS = new Set([\n // RN-only event handlers (pass isPropValid's on* pattern)\n \"onPress\",\n \"onChangeText\",\n \"onLayout\",\n \"onMoveShouldSetResponder\",\n \"onResponderGrant\",\n \"onResponderMove\",\n \"onResponderRelease\",\n \"onResponderTerminate\",\n // SVG attributes that pass isPropValid\n \"strokeWidth\",\n // CSS properties that pass isPropValid but are used as component props\n \"overflow\",\n \"cursor\",\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"textDecoration\",\n]);\n\nfunction shouldForwardProp(key: string): boolean {\n if (ADDITIONAL_BLOCKED_PROPS.has(key)) return false;\n return isPropValid(key);\n}\n\n/**\n * Creates a React component that renders the given HTML tag\n * but filters out non-HTML props before they reach the DOM.\n *\n * Uses @emotion/is-prop-valid (same library styled-components v4\n * uses internally) to automatically block invalid HTML attributes,\n * plus a small blocklist for false positives (RN on* handlers, SVG attrs).\n *\n * Usage: `const FilteredDiv = createFilteredElement(\"div\");`\n * Then: `const StyledBox = styled(FilteredDiv)<BoxProps>\\`...\\`;`\n *\n * styled-components can still read ALL props for CSS interpolation,\n * but only valid HTML attributes are forwarded to the DOM element.\n */\nexport function createFilteredElement(defaultTag: string) {\n const Component = React.forwardRef<HTMLElement, Record<string, unknown>>(\n ({ children, elementType, ...props }, ref) => {\n const Tag = (elementType as string) || defaultTag;\n const htmlProps: Record<string, unknown> = {};\n for (const key of Object.keys(props)) {\n if (shouldForwardProp(key)) {\n htmlProps[key] = props[key];\n }\n }\n return React.createElement(\n Tag,\n { ref, ...htmlProps },\n children as React.ReactNode\n );\n }\n );\n Component.displayName = `Filtered(${defaultTag})`;\n return Component;\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar 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)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\nimport { createFilteredElement } from \"./filterDOMProps\";\n\nconst FilteredDiv = createFilteredElement(\"div\");\n\nconst StyledIcon = styled(FilteredDiv)<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n"],"mappings":"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","names":["React","styled","import_jsx_runtime","LucideCheck","LucideX","LucideCopy","LucideEye","LucideEyeOff","LucideArrowLeft","LucideArrowRight","LucideSettings","LucideMinus","LucideAlertCircle","LucideCreditCard","LucideMenu","LucideBell","LucideUser","LucideSearch","LucideHome","LucideShoppingCart","LucideUpload","LucideFile"]}
1
+ {"version":3,"sources":["../../src/index.tsx","../../../primitives-web/src/filterDOMProps.ts","../../../../../node_modules/@emotion/memoize/dist/memoize.esm.js","../../../../../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.esm.js","../../../primitives-web/src/Icon.tsx"],"sourcesContent":["// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n Info as LucideInfo,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n\nexport const Info = (props: any) => (\n <Icon {...props}>\n <LucideInfo size=\"100%\" />\n </Icon>\n);\n","import React from \"react\";\nimport isPropValid from \"@emotion/is-prop-valid\";\n\n// Props that @emotion/is-prop-valid incorrectly treats as valid HTML.\n// These are React Native or component-specific props that match\n// valid HTML patterns (on* event handlers, SVG attributes).\nexport const ADDITIONAL_BLOCKED_PROPS = new Set([\n // RN-only event handlers (pass isPropValid's on* pattern)\n \"onPress\",\n \"onChangeText\",\n \"onLayout\",\n \"onMoveShouldSetResponder\",\n \"onResponderGrant\",\n \"onResponderMove\",\n \"onResponderRelease\",\n \"onResponderTerminate\",\n // SVG attributes that pass isPropValid\n \"strokeWidth\",\n // CSS properties that pass isPropValid but are used as component props\n \"overflow\",\n \"cursor\",\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"textDecoration\",\n]);\n\nfunction shouldForwardProp(key: string): boolean {\n if (ADDITIONAL_BLOCKED_PROPS.has(key)) return false;\n return isPropValid(key);\n}\n\n/**\n * Creates a React component that renders the given HTML tag\n * but filters out non-HTML props before they reach the DOM.\n *\n * Uses @emotion/is-prop-valid (same library styled-components v4\n * uses internally) to automatically block invalid HTML attributes,\n * plus a small blocklist for false positives (RN on* handlers, SVG attrs).\n *\n * Usage: `const FilteredDiv = createFilteredElement(\"div\");`\n * Then: `const StyledBox = styled(FilteredDiv)<BoxProps>\\`...\\`;`\n *\n * styled-components can still read ALL props for CSS interpolation,\n * but only valid HTML attributes are forwarded to the DOM element.\n */\nexport function createFilteredElement(defaultTag: string) {\n const Component = React.forwardRef<HTMLElement, Record<string, unknown>>(\n ({ children, elementType, ...props }, ref) => {\n const Tag = (elementType as string) || defaultTag;\n const htmlProps: Record<string, unknown> = {};\n for (const key of Object.keys(props)) {\n if (shouldForwardProp(key)) {\n htmlProps[key] = props[key];\n }\n }\n return React.createElement(\n Tag,\n { ref, ...htmlProps },\n children as React.ReactNode\n );\n }\n );\n Component.displayName = `Filtered(${defaultTag})`;\n return Component;\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar 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)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\nimport { createFilteredElement } from \"./filterDOMProps\";\n\nconst FilteredDiv = createFilteredElement(\"div\");\n\nconst StyledIcon = styled(FilteredDiv)<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n"],"mappings":"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","names":["React","styled","import_jsx_runtime","LucideCheck","LucideX","LucideCopy","LucideEye","LucideEyeOff","LucideArrowLeft","LucideArrowRight","LucideSettings","LucideMinus","LucideAlertCircle","LucideCreditCard","LucideMenu","LucideBell","LucideUser","LucideSearch","LucideHome","LucideShoppingCart","LucideUpload","LucideFile","LucideInfo"]}
package/web/index.mjs CHANGED
@@ -110,7 +110,8 @@ import {
110
110
  Home as LucideHome,
111
111
  ShoppingCart as LucideShoppingCart,
112
112
  Upload as LucideUpload,
113
- File as LucideFile
113
+ File as LucideFile,
114
+ Info as LucideInfo
114
115
  } from "lucide-react";
115
116
  import { jsx as jsx2 } from "react/jsx-runtime";
116
117
  var Check = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideCheck, { size: "100%" }) });
@@ -132,6 +133,7 @@ var Home = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PUR
132
133
  var ShoppingCart = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideShoppingCart, { size: "100%" }) });
133
134
  var Upload = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideUpload, { size: "100%" }) });
134
135
  var File = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideFile, { size: "100%" }) });
136
+ var Info = (props) => /* @__PURE__ */ jsx2(Icon, { ...props, children: /* @__PURE__ */ jsx2(LucideInfo, { size: "100%" }) });
135
137
  export {
136
138
  AlertCircle,
137
139
  ArrowLeft,
@@ -144,6 +146,7 @@ export {
144
146
  EyeOff,
145
147
  File,
146
148
  Home,
149
+ Info,
147
150
  Menu,
148
151
  Minus,
149
152
  Search,
package/web/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../primitives-web/src/filterDOMProps.ts","../../../../../node_modules/@emotion/memoize/dist/memoize.esm.js","../../../../../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.esm.js","../../../primitives-web/src/Icon.tsx","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\nimport isPropValid from \"@emotion/is-prop-valid\";\n\n// Props that @emotion/is-prop-valid incorrectly treats as valid HTML.\n// These are React Native or component-specific props that match\n// valid HTML patterns (on* event handlers, SVG attributes).\nexport const ADDITIONAL_BLOCKED_PROPS = new Set([\n // RN-only event handlers (pass isPropValid's on* pattern)\n \"onPress\",\n \"onChangeText\",\n \"onLayout\",\n \"onMoveShouldSetResponder\",\n \"onResponderGrant\",\n \"onResponderMove\",\n \"onResponderRelease\",\n \"onResponderTerminate\",\n // SVG attributes that pass isPropValid\n \"strokeWidth\",\n // CSS properties that pass isPropValid but are used as component props\n \"overflow\",\n \"cursor\",\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"textDecoration\",\n]);\n\nfunction shouldForwardProp(key: string): boolean {\n if (ADDITIONAL_BLOCKED_PROPS.has(key)) return false;\n return isPropValid(key);\n}\n\n/**\n * Creates a React component that renders the given HTML tag\n * but filters out non-HTML props before they reach the DOM.\n *\n * Uses @emotion/is-prop-valid (same library styled-components v4\n * uses internally) to automatically block invalid HTML attributes,\n * plus a small blocklist for false positives (RN on* handlers, SVG attrs).\n *\n * Usage: `const FilteredDiv = createFilteredElement(\"div\");`\n * Then: `const StyledBox = styled(FilteredDiv)<BoxProps>\\`...\\`;`\n *\n * styled-components can still read ALL props for CSS interpolation,\n * but only valid HTML attributes are forwarded to the DOM element.\n */\nexport function createFilteredElement(defaultTag: string) {\n const Component = React.forwardRef<HTMLElement, Record<string, unknown>>(\n ({ children, elementType, ...props }, ref) => {\n const Tag = (elementType as string) || defaultTag;\n const htmlProps: Record<string, unknown> = {};\n for (const key of Object.keys(props)) {\n if (shouldForwardProp(key)) {\n htmlProps[key] = props[key];\n }\n }\n return React.createElement(\n Tag,\n { ref, ...htmlProps },\n children as React.ReactNode\n );\n }\n );\n Component.displayName = `Filtered(${defaultTag})`;\n return Component;\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar 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)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\nimport { createFilteredElement } from \"./filterDOMProps\";\n\nconst FilteredDiv = createFilteredElement(\"div\");\n\nconst StyledIcon = styled(FilteredDiv)<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n","// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n"],"mappings":"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","names":["jsx"]}
1
+ {"version":3,"sources":["../../../primitives-web/src/filterDOMProps.ts","../../../../../node_modules/@emotion/memoize/dist/memoize.esm.js","../../../../../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.esm.js","../../../primitives-web/src/Icon.tsx","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\nimport isPropValid from \"@emotion/is-prop-valid\";\n\n// Props that @emotion/is-prop-valid incorrectly treats as valid HTML.\n// These are React Native or component-specific props that match\n// valid HTML patterns (on* event handlers, SVG attributes).\nexport const ADDITIONAL_BLOCKED_PROPS = new Set([\n // RN-only event handlers (pass isPropValid's on* pattern)\n \"onPress\",\n \"onChangeText\",\n \"onLayout\",\n \"onMoveShouldSetResponder\",\n \"onResponderGrant\",\n \"onResponderMove\",\n \"onResponderRelease\",\n \"onResponderTerminate\",\n // SVG attributes that pass isPropValid\n \"strokeWidth\",\n // CSS properties that pass isPropValid but are used as component props\n \"overflow\",\n \"cursor\",\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"textDecoration\",\n]);\n\nfunction shouldForwardProp(key: string): boolean {\n if (ADDITIONAL_BLOCKED_PROPS.has(key)) return false;\n return isPropValid(key);\n}\n\n/**\n * Creates a React component that renders the given HTML tag\n * but filters out non-HTML props before they reach the DOM.\n *\n * Uses @emotion/is-prop-valid (same library styled-components v4\n * uses internally) to automatically block invalid HTML attributes,\n * plus a small blocklist for false positives (RN on* handlers, SVG attrs).\n *\n * Usage: `const FilteredDiv = createFilteredElement(\"div\");`\n * Then: `const StyledBox = styled(FilteredDiv)<BoxProps>\\`...\\`;`\n *\n * styled-components can still read ALL props for CSS interpolation,\n * but only valid HTML attributes are forwarded to the DOM element.\n */\nexport function createFilteredElement(defaultTag: string) {\n const Component = React.forwardRef<HTMLElement, Record<string, unknown>>(\n ({ children, elementType, ...props }, ref) => {\n const Tag = (elementType as string) || defaultTag;\n const htmlProps: Record<string, unknown> = {};\n for (const key of Object.keys(props)) {\n if (shouldForwardProp(key)) {\n htmlProps[key] = props[key];\n }\n }\n return React.createElement(\n Tag,\n { ref, ...htmlProps },\n children as React.ReactNode\n );\n }\n );\n Component.displayName = `Filtered(${defaultTag})`;\n return Component;\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar 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)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\nimport { createFilteredElement } from \"./filterDOMProps\";\n\nconst FilteredDiv = createFilteredElement(\"div\");\n\nconst StyledIcon = styled(FilteredDiv)<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n","// @ts-expect-error - this will be resolved at build time\nimport { Icon } from \"@xsolla/xui-primitives\";\nimport {\n Check as LucideCheck,\n X as LucideX,\n Copy as LucideCopy,\n Eye as LucideEye,\n EyeOff as LucideEyeOff,\n ArrowLeft as LucideArrowLeft,\n ArrowRight as LucideArrowRight,\n Settings as LucideSettings,\n Minus as LucideMinus,\n AlertCircle as LucideAlertCircle,\n CreditCard as LucideCreditCard,\n Menu as LucideMenu,\n Bell as LucideBell,\n User as LucideUser,\n Search as LucideSearch,\n Home as LucideHome,\n ShoppingCart as LucideShoppingCart,\n Upload as LucideUpload,\n File as LucideFile,\n Info as LucideInfo,\n} from \"lucide-icon-platform\";\n\n// Icons use \"100%\" size to scale with the Icon container wrapper\nexport const Check = (props: any) => (\n <Icon {...props}>\n <LucideCheck size=\"100%\" />\n </Icon>\n);\n\nexport const X = (props: any) => (\n <Icon {...props}>\n <LucideX size=\"100%\" />\n </Icon>\n);\n\nexport const Copy = (props: any) => (\n <Icon {...props}>\n <LucideCopy size=\"100%\" />\n </Icon>\n);\n\nexport const Eye = (props: any) => (\n <Icon {...props}>\n <LucideEye size=\"100%\" />\n </Icon>\n);\n\nexport const EyeOff = (props: any) => (\n <Icon {...props}>\n <LucideEyeOff size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowLeft = (props: any) => (\n <Icon {...props}>\n <LucideArrowLeft size=\"100%\" />\n </Icon>\n);\n\nexport const ArrowRight = (props: any) => (\n <Icon {...props}>\n <LucideArrowRight size=\"100%\" />\n </Icon>\n);\n\nexport const Settings = (props: any) => (\n <Icon {...props}>\n <LucideSettings size=\"100%\" />\n </Icon>\n);\n\nexport const Minus = (props: any) => (\n <Icon {...props}>\n <LucideMinus size=\"100%\" />\n </Icon>\n);\n\nexport const AlertCircle = (props: any) => (\n <Icon {...props}>\n <LucideAlertCircle size=\"100%\" />\n </Icon>\n);\n\nexport const CreditCard = (props: any) => (\n <Icon {...props}>\n <LucideCreditCard size=\"100%\" />\n </Icon>\n);\n\nexport const Menu = (props: any) => (\n <Icon {...props}>\n <LucideMenu size=\"100%\" />\n </Icon>\n);\n\nexport const Bell = (props: any) => (\n <Icon {...props}>\n <LucideBell size=\"100%\" />\n </Icon>\n);\n\nexport const User = (props: any) => (\n <Icon {...props}>\n <LucideUser size=\"100%\" />\n </Icon>\n);\n\nexport const Search = (props: any) => (\n <Icon {...props}>\n <LucideSearch size=\"100%\" />\n </Icon>\n);\n\nexport const Home = (props: any) => (\n <Icon {...props}>\n <LucideHome size=\"100%\" />\n </Icon>\n);\n\nexport const ShoppingCart = (props: any) => (\n <Icon {...props}>\n <LucideShoppingCart size=\"100%\" />\n </Icon>\n);\n\nexport const Upload = (props: any) => (\n <Icon {...props}>\n <LucideUpload size=\"100%\" />\n </Icon>\n);\n\nexport const File = (props: any) => (\n <Icon {...props}>\n <LucideFile size=\"100%\" />\n </Icon>\n);\n\nexport const Info = (props: any) => (\n <Icon {...props}>\n <LucideInfo size=\"100%\" />\n </Icon>\n);\n"],"mappings":"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","names":["jsx"]}