huspy-icons 0.1.7 → 0.1.8

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/README.md CHANGED
@@ -139,10 +139,31 @@ This will:
139
139
  npm run build
140
140
  ```
141
141
 
142
- 4. Publish:
142
+ 4. Version bump and publish:
143
143
 
144
144
  ```bash
145
- npm version minor
145
+ # Patch version (0.1.9 → 0.1.10)
146
+ npm run version:patch
147
+
148
+ # Minor version (0.1.9 → 0.2.0)
149
+ npm run version:minor
150
+
151
+ # Major version (0.1.9 → 1.0.0)
152
+ npm run version:major
153
+ ```
154
+
155
+ This will:
156
+ - Update `package.json` version
157
+ - Update `package-lock.json` version
158
+ - Update `CHANGELOG.md` with a new version entry
159
+ - Print next steps for committing and tagging
160
+
161
+ Then commit, tag, and publish:
162
+ ```bash
163
+ git add package.json package-lock.json CHANGELOG.md
164
+ git commit -m "chore: bump version to X.X.X"
165
+ git tag vX.X.X
166
+ git push && git push --tags
146
167
  npm publish
147
168
  ```
148
169
 
@@ -176,7 +197,11 @@ huspy-icons/
176
197
  "gen:types": "Generate TypeScript types",
177
198
  "gen": "Run all generation scripts",
178
199
  "build": "Build TypeScript to JavaScript",
179
- "prepare": "Full build (runs on npm install)"
200
+ "prepare": "Full build (runs on npm install)",
201
+ "typecheck": "Run TypeScript type checking",
202
+ "version:patch": "Bump patch version and update changelog",
203
+ "version:minor": "Bump minor version and update changelog",
204
+ "version:major": "Bump major version and update changelog"
180
205
  }
181
206
  ```
182
207
 
@@ -213,9 +238,40 @@ import { Icon } from 'huspy-icons/native';
213
238
 
214
239
  ## 🔒 Versioning
215
240
 
216
- * **Patch**: Path tweaks, bug fixes, metadata changes
217
- * **Minor**: New icons, non-breaking API additions
218
- * **Major**: Icon removals/renames, breaking API changes
241
+ This project follows [Semantic Versioning](https://semver.org/):
242
+
243
+ * **Patch** (0.1.9 → 0.1.10): Bug fixes, path tweaks, metadata changes
244
+ * **Minor** (0.1.9 → 0.2.0): New icons, non-breaking API additions
245
+ * **Major** (0.1.9 → 1.0.0): Icon removals/renames, breaking API changes
246
+
247
+ ### Releasing a New Version
248
+
249
+ Use the version bump scripts to update version and changelog:
250
+
251
+ ```bash
252
+ # For patch releases (bug fixes)
253
+ npm run version:patch
254
+
255
+ # For minor releases (new icons)
256
+ npm run version:minor
257
+
258
+ # For major releases (breaking changes)
259
+ npm run version:major
260
+ ```
261
+
262
+ The script will:
263
+ - ✅ Bump version in `package.json`
264
+ - ✅ Bump version in `package-lock.json`
265
+ - ✅ Update `CHANGELOG.md` with a new version entry
266
+
267
+ After running, commit, tag, and publish:
268
+ ```bash
269
+ git add package.json package-lock.json CHANGELOG.md
270
+ git commit -m "chore: bump version to X.X.X"
271
+ git tag vX.X.X
272
+ git push && git push --tags
273
+ npm publish
274
+ ```
219
275
 
220
276
  ---
221
277
 
@@ -1,9 +1,9 @@
1
1
  @font-face {
2
2
  font-family: "HuspyIcons";
3
- src: url(".//HuspyIcons.ttf?d1b413dd5ca9bd51e6ff81a64788c5c7") format("truetype"),
4
- url(".//HuspyIcons.woff?d1b413dd5ca9bd51e6ff81a64788c5c7") format("woff"),
5
- url(".//HuspyIcons.woff2?d1b413dd5ca9bd51e6ff81a64788c5c7") format("woff2"),
6
- url(".//HuspyIcons.eot?d1b413dd5ca9bd51e6ff81a64788c5c7#iefix") format("embedded-opentype");
3
+ src: url(".//HuspyIcons.ttf?205afe71b5266cc3b69b2d08638c65ec") format("truetype"),
4
+ url(".//HuspyIcons.woff?205afe71b5266cc3b69b2d08638c65ec") format("woff"),
5
+ url(".//HuspyIcons.woff2?205afe71b5266cc3b69b2d08638c65ec") format("woff2"),
6
+ url(".//HuspyIcons.eot?205afe71b5266cc3b69b2d08638c65ec#iefix") format("embedded-opentype");
7
7
  }
8
8
 
9
9
  .icon:before {
@@ -32,12 +32,15 @@ url(".//HuspyIcons.eot?d1b413dd5ca9bd51e6ff81a64788c5c7#iefix") format("embedded
32
32
  .icon.huspy-icon-eye-hidden:before {
33
33
  content: "\f105";
34
34
  }
35
- .icon.huspy-icon-check:before {
35
+ .icon.huspy-icon-edit:before {
36
36
  content: "\f106";
37
37
  }
38
- .icon.huspy-icon-cancel:before {
38
+ .icon.huspy-icon-check:before {
39
39
  content: "\f107";
40
40
  }
41
- .icon.huspy-icon-arrow-left:before {
41
+ .icon.huspy-icon-cancel:before {
42
42
  content: "\f108";
43
43
  }
44
+ .icon.huspy-icon-arrow-left:before {
45
+ content: "\f109";
46
+ }
Binary file
@@ -4,7 +4,8 @@
4
4
  "icon-slot": 61699,
5
5
  "eye-visible": 61700,
6
6
  "eye-hidden": 61701,
7
- "check": 61702,
8
- "cancel": 61703,
9
- "arrow-left": 61704
7
+ "edit": 61702,
8
+ "check": 61703,
9
+ "cancel": 61704,
10
+ "arrow-left": 61705
10
11
  }
@@ -4,6 +4,7 @@ export type HuspyIconsId =
4
4
  | "icon-slot"
5
5
  | "eye-visible"
6
6
  | "eye-hidden"
7
+ | "edit"
7
8
  | "check"
8
9
  | "cancel"
9
10
  | "arrow-left";
@@ -14,6 +15,7 @@ export enum HuspyIcons {
14
15
  IconSlot = "icon-slot",
15
16
  EyeVisible = "eye-visible",
16
17
  EyeHidden = "eye-hidden",
18
+ Edit = "edit",
17
19
  Check = "check",
18
20
  Cancel = "cancel",
19
21
  ArrowLeft = "arrow-left",
@@ -25,7 +27,8 @@ export const HUSPY_ICONS_CODEPOINTS: { [key in HuspyIcons]: string } = {
25
27
  [HuspyIcons.IconSlot]: "61699",
26
28
  [HuspyIcons.EyeVisible]: "61700",
27
29
  [HuspyIcons.EyeHidden]: "61701",
28
- [HuspyIcons.Check]: "61702",
29
- [HuspyIcons.Cancel]: "61703",
30
- [HuspyIcons.ArrowLeft]: "61704",
30
+ [HuspyIcons.Edit]: "61702",
31
+ [HuspyIcons.Check]: "61703",
32
+ [HuspyIcons.Cancel]: "61704",
33
+ [HuspyIcons.ArrowLeft]: "61705",
31
34
  };
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@ import { TextProps } from 'react-native';
4
4
  /**
5
5
  * Available icon names in the HuspyIcons font
6
6
  */
7
- type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'check' | 'cancel' | 'arrow-left';
7
+ type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'edit' | 'check' | 'cancel' | 'arrow-left';
8
8
  /**
9
9
  * Mapping of icon names to unicode codepoints
10
10
  * Used by the Icon component to render the correct glyph
@@ -47,9 +47,10 @@ var glyphMap = {
47
47
  "icon-slot": 61699,
48
48
  "eye-visible": 61700,
49
49
  "eye-hidden": 61701,
50
- "check": 61702,
51
- "cancel": 61703,
52
- "arrow-left": 61704
50
+ "edit": 61702,
51
+ "check": 61703,
52
+ "cancel": 61704,
53
+ "arrow-left": 61705
53
54
  };
54
55
  var fontFamily = "HuspyIcons";
55
56
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/native/index.ts","../../src/native/Icon.tsx","../../src/native/glyphMap.ts"],"sourcesContent":["/**\n * Huspy Icons - React Native (Font-based)\n * \n * This package provides icon components for React Native using a custom font.\n * \n * @example\n * ```tsx\n * import { Icon } from 'huspy-icons/native';\n * \n * function MyComponent() {\n * return <Icon name=\"arrow-left\" size={24} color=\"#000\" />;\n * }\n * ```\n */\n\nexport { default as Icon } from './Icon';\nexport type { IconProps, IconName } from './Icon';\nexport { glyphMap, fontFamily } from './glyphMap';\n\n","import * as React from 'react';\nimport { Text, TextProps } from 'react-native';\nimport { glyphMap, fontFamily, IconName } from './glyphMap';\n\n/**\n * Props for the Icon component (React Native)\n */\nexport interface IconProps extends Omit<TextProps, 'children'> {\n /**\n * Name of the icon to display\n */\n name: IconName;\n\n /**\n * Size of the icon (default: 16)\n */\n size?: number;\n\n /**\n * Color of the icon (default: inherits from parent or 'black')\n */\n color?: string;\n}\n\n/**\n * Icon component for React Native\n *\n * Renders icons using a custom font (HuspyIcons)\n *\n * @example\n * ```tsx\n * <Icon name=\"arrow-left\" size={24} color=\"#000\" />\n * ```\n */\nconst Icon = ({ name, size = 16, color = '#000', style, ...props }: IconProps) => {\n const codepoint = glyphMap[name];\n\n if (!codepoint) {\n if (__DEV__) {\n console.warn(`Icon \"${name}\" not found in HuspyIcons font`);\n }\n return null;\n }\n\n // Convert codepoint to character\n const glyph = String.fromCharCode(codepoint);\n\n return (\n <Text\n {...props}\n style={[\n {\n fontFamily: fontFamily,\n fontSize: size,\n color: color,\n // Ensure icon doesn't inherit text styles\n fontWeight: 'normal',\n fontStyle: 'normal',\n // Prevent text selection and ensure proper rendering\n includeFontPadding: false, // Android: removes extra padding\n textAlignVertical: 'center', // Android: centers the glyph vertically\n },\n style,\n ]}\n // Accessibility\n accessible\n accessibilityLabel={props.accessibilityLabel || name}\n accessibilityRole=\"image\"\n >\n {glyph}\n </Text>\n );\n};\n\nexport default Icon;\nexport type { IconName };\n","// Auto-generated by generate-font.js - do not edit manually\n// Source: icons-src/*.svg → dist/fonts/HuspyIcons.*\n\n/**\n * Available icon names in the HuspyIcons font\n */\nexport type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'check' | 'cancel' | 'arrow-left';\n\n/**\n * Mapping of icon names to unicode codepoints\n * Used by the Icon component to render the correct glyph\n */\nexport const glyphMap: Record<IconName, number> = {\n \"user\": 61697,\n \"search\": 61698,\n \"icon-slot\": 61699,\n \"eye-visible\": 61700,\n \"eye-hidden\": 61701,\n \"check\": 61702,\n \"cancel\": 61703,\n \"arrow-left\": 61704\n};\n\n/**\n * Font family name for React Native\n */\nexport const fontFamily = 'HuspyIcons';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,0BAAgC;;;ACWzB,IAAM,WAAqC;AAAA,EAChD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV,cAAc;AAChB;AAKO,IAAM,aAAa;;;ADQ1B,IAAM,OAAO,CAAC,EAAE,MAAM,OAAO,IAAI,QAAQ,QAAQ,OAAO,GAAG,MAAM,MAAiB;AAChF,QAAM,YAAY,SAAS,IAAI;AAE/B,MAAI,CAAC,WAAW;AACd,QAAI,SAAS;AACX,cAAQ,KAAK,SAAS,IAAI,gCAAgC;AAAA,IAC5D;AACA,WAAO;AAAA,EACT;AAGA,QAAM,QAAQ,OAAO,aAAa,SAAS;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,QACL;AAAA,UACE;AAAA,UACA,UAAU;AAAA,UACV;AAAA;AAAA,UAEA,YAAY;AAAA,UACZ,WAAW;AAAA;AAAA,UAEX,oBAAoB;AAAA;AAAA,UACpB,mBAAmB;AAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AAAA,MAEA,YAAU;AAAA,MACV,oBAAoB,MAAM,sBAAsB;AAAA,MAChD,mBAAkB;AAAA;AAAA,IAEjB;AAAA,EACH;AAEJ;AAEA,IAAO,eAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/native/index.ts","../../src/native/Icon.tsx","../../src/native/glyphMap.ts"],"sourcesContent":["/**\n * Huspy Icons - React Native (Font-based)\n * \n * This package provides icon components for React Native using a custom font.\n * \n * @example\n * ```tsx\n * import { Icon } from 'huspy-icons/native';\n * \n * function MyComponent() {\n * return <Icon name=\"arrow-left\" size={24} color=\"#000\" />;\n * }\n * ```\n */\n\nexport { default as Icon } from './Icon';\nexport type { IconProps, IconName } from './Icon';\nexport { glyphMap, fontFamily } from './glyphMap';\n\n","import * as React from 'react';\nimport { Text, TextProps } from 'react-native';\nimport { glyphMap, fontFamily, IconName } from './glyphMap';\n\n/**\n * Props for the Icon component (React Native)\n */\nexport interface IconProps extends Omit<TextProps, 'children'> {\n /**\n * Name of the icon to display\n */\n name: IconName;\n\n /**\n * Size of the icon (default: 16)\n */\n size?: number;\n\n /**\n * Color of the icon (default: inherits from parent or 'black')\n */\n color?: string;\n}\n\n/**\n * Icon component for React Native\n *\n * Renders icons using a custom font (HuspyIcons)\n *\n * @example\n * ```tsx\n * <Icon name=\"arrow-left\" size={24} color=\"#000\" />\n * ```\n */\nconst Icon = ({ name, size = 16, color = '#000', style, ...props }: IconProps) => {\n const codepoint = glyphMap[name];\n\n if (!codepoint) {\n if (__DEV__) {\n console.warn(`Icon \"${name}\" not found in HuspyIcons font`);\n }\n return null;\n }\n\n // Convert codepoint to character\n const glyph = String.fromCharCode(codepoint);\n\n return (\n <Text\n {...props}\n style={[\n {\n fontFamily: fontFamily,\n fontSize: size,\n color: color,\n // Ensure icon doesn't inherit text styles\n fontWeight: 'normal',\n fontStyle: 'normal',\n // Prevent text selection and ensure proper rendering\n includeFontPadding: false, // Android: removes extra padding\n textAlignVertical: 'center', // Android: centers the glyph vertically\n },\n style,\n ]}\n // Accessibility\n accessible\n accessibilityLabel={props.accessibilityLabel || name}\n accessibilityRole=\"image\"\n >\n {glyph}\n </Text>\n );\n};\n\nexport default Icon;\nexport type { IconName };\n","// Auto-generated by generate-font.js - do not edit manually\n// Source: icons-src/*.svg → dist/fonts/HuspyIcons.*\n\n/**\n * Available icon names in the HuspyIcons font\n */\nexport type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'edit' | 'check' | 'cancel' | 'arrow-left';\n\n/**\n * Mapping of icon names to unicode codepoints\n * Used by the Icon component to render the correct glyph\n */\nexport const glyphMap: Record<IconName, number> = {\n \"user\": 61697,\n \"search\": 61698,\n \"icon-slot\": 61699,\n \"eye-visible\": 61700,\n \"eye-hidden\": 61701,\n \"edit\": 61702,\n \"check\": 61703,\n \"cancel\": 61704,\n \"arrow-left\": 61705\n};\n\n/**\n * Font family name for React Native\n */\nexport const fontFamily = 'HuspyIcons';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,0BAAgC;;;ACWzB,IAAM,WAAqC;AAAA,EAChD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,cAAc;AAChB;AAKO,IAAM,aAAa;;;ADO1B,IAAM,OAAO,CAAC,EAAE,MAAM,OAAO,IAAI,QAAQ,QAAQ,OAAO,GAAG,MAAM,MAAiB;AAChF,QAAM,YAAY,SAAS,IAAI;AAE/B,MAAI,CAAC,WAAW;AACd,QAAI,SAAS;AACX,cAAQ,KAAK,SAAS,IAAI,gCAAgC;AAAA,IAC5D;AACA,WAAO;AAAA,EACT;AAGA,QAAM,QAAQ,OAAO,aAAa,SAAS;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,QACL;AAAA,UACE;AAAA,UACA,UAAU;AAAA,UACV;AAAA;AAAA,UAEA,YAAY;AAAA,UACZ,WAAW;AAAA;AAAA,UAEX,oBAAoB;AAAA;AAAA,UACpB,mBAAmB;AAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AAAA,MAEA,YAAU;AAAA,MACV,oBAAoB,MAAM,sBAAsB;AAAA,MAChD,mBAAkB;AAAA;AAAA,IAEjB;AAAA,EACH;AAEJ;AAEA,IAAO,eAAQ;","names":[]}
@@ -34,6 +34,8 @@ declare const SvgCancel: ({ size, ...props }: ReactIconProps) => React$1.JSX.Ele
34
34
 
35
35
  declare const SvgCheck: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
36
36
 
37
+ declare const SvgEdit: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
38
+
37
39
  declare const SvgEyeHidden: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
38
40
 
39
41
  declare const SvgEyeVisible: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
@@ -51,7 +53,7 @@ declare const SvgUser: ({ size, ...props }: ReactIconProps) => React$1.JSX.Eleme
51
53
  /**
52
54
  * Available icon names
53
55
  */
54
- type IconName = 'arrow-left' | 'cancel' | 'check' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
56
+ type IconName = 'arrow-left' | 'cancel' | 'check' | 'edit' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
55
57
  /**
56
58
  * Props for the unified Icon component
57
59
  */
@@ -66,4 +68,4 @@ interface IconProps extends Omit<ReactIconProps, 'size'> {
66
68
  */
67
69
  declare const Icon: ({ name, size, color, ...props }: IconProps) => React$1.JSX.Element | null;
68
70
 
69
- export { SvgArrowLeft as ArrowLeft, SvgCancel as Cancel, SvgCheck as Check, SvgEyeHidden as EyeHidden, SvgEyeVisible as EyeVisible, ICON_SIZES, Icon, type IconName, type IconProps, type IconSize, type IconSizeToken, SvgIconSlot as IconSlot, type ReactIconProps, SvgSearch as Search, SvgUser as User, resolveSize };
71
+ export { SvgArrowLeft as ArrowLeft, SvgCancel as Cancel, SvgCheck as Check, SvgEdit as Edit, SvgEyeHidden as EyeHidden, SvgEyeVisible as EyeVisible, ICON_SIZES, Icon, type IconName, type IconProps, type IconSize, type IconSizeToken, SvgIconSlot as IconSlot, type ReactIconProps, SvgSearch as Search, SvgUser as User, resolveSize };
@@ -34,6 +34,8 @@ declare const SvgCancel: ({ size, ...props }: ReactIconProps) => React$1.JSX.Ele
34
34
 
35
35
  declare const SvgCheck: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
36
36
 
37
+ declare const SvgEdit: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
38
+
37
39
  declare const SvgEyeHidden: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
38
40
 
39
41
  declare const SvgEyeVisible: ({ size, ...props }: ReactIconProps) => React$1.JSX.Element;
@@ -51,7 +53,7 @@ declare const SvgUser: ({ size, ...props }: ReactIconProps) => React$1.JSX.Eleme
51
53
  /**
52
54
  * Available icon names
53
55
  */
54
- type IconName = 'arrow-left' | 'cancel' | 'check' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
56
+ type IconName = 'arrow-left' | 'cancel' | 'check' | 'edit' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
55
57
  /**
56
58
  * Props for the unified Icon component
57
59
  */
@@ -66,4 +68,4 @@ interface IconProps extends Omit<ReactIconProps, 'size'> {
66
68
  */
67
69
  declare const Icon: ({ name, size, color, ...props }: IconProps) => React$1.JSX.Element | null;
68
70
 
69
- export { SvgArrowLeft as ArrowLeft, SvgCancel as Cancel, SvgCheck as Check, SvgEyeHidden as EyeHidden, SvgEyeVisible as EyeVisible, ICON_SIZES, Icon, type IconName, type IconProps, type IconSize, type IconSizeToken, SvgIconSlot as IconSlot, type ReactIconProps, SvgSearch as Search, SvgUser as User, resolveSize };
71
+ export { SvgArrowLeft as ArrowLeft, SvgCancel as Cancel, SvgCheck as Check, SvgEdit as Edit, SvgEyeHidden as EyeHidden, SvgEyeVisible as EyeVisible, ICON_SIZES, Icon, type IconName, type IconProps, type IconSize, type IconSizeToken, SvgIconSlot as IconSlot, type ReactIconProps, SvgSearch as Search, SvgUser as User, resolveSize };
@@ -183,20 +183,67 @@ var init_Check = __esm({
183
183
  }
184
184
  });
185
185
 
186
+ // src/react/Edit.tsx
187
+ var Edit_exports = {};
188
+ __export(Edit_exports, {
189
+ default: () => Edit_default
190
+ });
191
+ var React4, SvgEdit, Edit_default;
192
+ var init_Edit = __esm({
193
+ "src/react/Edit.tsx"() {
194
+ "use strict";
195
+ React4 = __toESM(require("react"));
196
+ init_types();
197
+ SvgEdit = ({ size = 16, ...props }) => {
198
+ const sizeValue = resolveSize(size);
199
+ return /* @__PURE__ */ React4.createElement(
200
+ "svg",
201
+ {
202
+ width: sizeValue,
203
+ height: sizeValue,
204
+ viewBox: "0 0 24 24",
205
+ fill: "none",
206
+ xmlns: "http://www.w3.org/2000/svg",
207
+ ...props
208
+ },
209
+ /* @__PURE__ */ React4.createElement(
210
+ "path",
211
+ {
212
+ fillRule: "evenodd",
213
+ clipRule: "evenodd",
214
+ d: "M19.8596 3.11765C19.6197 3.02426 19.3627 2.98143 19.1049 2.99207C18.8471 3.00271 18.5946 3.06656 18.3636 3.1793C18.1325 3.29203 17.9282 3.45107 17.7634 3.64587C17.7455 3.66702 17.7267 3.68742 17.7071 3.70701L4.39491 17.0192L3.42524 20.5747L6.9807 19.605L20.2929 6.2928C20.3158 6.26991 20.3398 6.24815 20.3648 6.22759C20.5625 6.06494 20.7235 5.86358 20.8378 5.6366C20.9522 5.40964 21.0174 5.16186 21.0298 4.90899C21.0422 4.65612 21.0014 4.40333 20.9099 4.16664C20.8183 3.92993 20.6779 3.71425 20.4972 3.53353C20.3165 3.3528 20.0994 3.21103 19.8596 3.11765ZM19.0224 0.993769C19.5557 0.971764 20.088 1.06031 20.5852 1.25394C21.0825 1.44757 21.5343 1.74216 21.9114 2.11932C22.2886 2.4965 22.5829 2.948 22.7752 3.44525C22.9676 3.94252 23.0535 4.47436 23.0274 5.00678C23.0014 5.5392 22.8639 6.06014 22.624 6.53634C22.392 6.99698 22.0692 7.4058 21.6754 7.73877L8.20713 21.207C8.08407 21.3301 7.93104 21.4189 7.76314 21.4647L2.26314 22.9647C1.91693 23.0591 1.54667 22.9608 1.29292 22.707C1.03917 22.4533 0.940838 22.083 1.03526 21.7368L2.53526 16.2368C2.58105 16.0689 2.66986 15.9159 2.79292 15.7928L16.2657 2.31998C16.605 1.92839 17.0203 1.60935 17.4865 1.38187C17.9661 1.14787 18.4891 1.01577 19.0224 0.993769Z",
215
+ fill: "currentColor"
216
+ }
217
+ ),
218
+ /* @__PURE__ */ React4.createElement(
219
+ "path",
220
+ {
221
+ fillRule: "evenodd",
222
+ clipRule: "evenodd",
223
+ d: "M14.2929 4.29289C14.6834 3.90237 15.3166 3.90237 15.7071 4.29289L19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711C19.3166 10.0976 18.6834 10.0976 18.2929 9.70711L14.2929 5.70711C13.9024 5.31658 13.9024 4.68342 14.2929 4.29289Z",
224
+ fill: "currentColor"
225
+ }
226
+ )
227
+ );
228
+ };
229
+ Edit_default = SvgEdit;
230
+ }
231
+ });
232
+
186
233
  // src/react/EyeHidden.tsx
187
234
  var EyeHidden_exports = {};
188
235
  __export(EyeHidden_exports, {
189
236
  default: () => EyeHidden_default
190
237
  });
191
- var React4, SvgEyeHidden, EyeHidden_default;
238
+ var React5, SvgEyeHidden, EyeHidden_default;
192
239
  var init_EyeHidden = __esm({
193
240
  "src/react/EyeHidden.tsx"() {
194
241
  "use strict";
195
- React4 = __toESM(require("react"));
242
+ React5 = __toESM(require("react"));
196
243
  init_types();
197
244
  SvgEyeHidden = ({ size = 16, ...props }) => {
198
245
  const sizeValue = resolveSize(size);
199
- return /* @__PURE__ */ React4.createElement(
246
+ return /* @__PURE__ */ React5.createElement(
200
247
  "svg",
201
248
  {
202
249
  width: sizeValue,
@@ -206,7 +253,7 @@ var init_EyeHidden = __esm({
206
253
  xmlns: "http://www.w3.org/2000/svg",
207
254
  ...props
208
255
  },
209
- /* @__PURE__ */ React4.createElement(
256
+ /* @__PURE__ */ React5.createElement(
210
257
  "path",
211
258
  {
212
259
  fillRule: "evenodd",
@@ -215,7 +262,7 @@ var init_EyeHidden = __esm({
215
262
  fill: "currentColor"
216
263
  }
217
264
  ),
218
- /* @__PURE__ */ React4.createElement(
265
+ /* @__PURE__ */ React5.createElement(
219
266
  "path",
220
267
  {
221
268
  fillRule: "evenodd",
@@ -224,7 +271,7 @@ var init_EyeHidden = __esm({
224
271
  fill: "currentColor"
225
272
  }
226
273
  ),
227
- /* @__PURE__ */ React4.createElement(
274
+ /* @__PURE__ */ React5.createElement(
228
275
  "path",
229
276
  {
230
277
  fillRule: "evenodd",
@@ -244,15 +291,15 @@ var EyeVisible_exports = {};
244
291
  __export(EyeVisible_exports, {
245
292
  default: () => EyeVisible_default
246
293
  });
247
- var React5, SvgEyeVisible, EyeVisible_default;
294
+ var React6, SvgEyeVisible, EyeVisible_default;
248
295
  var init_EyeVisible = __esm({
249
296
  "src/react/EyeVisible.tsx"() {
250
297
  "use strict";
251
- React5 = __toESM(require("react"));
298
+ React6 = __toESM(require("react"));
252
299
  init_types();
253
300
  SvgEyeVisible = ({ size = 16, ...props }) => {
254
301
  const sizeValue = resolveSize(size);
255
- return /* @__PURE__ */ React5.createElement(
302
+ return /* @__PURE__ */ React6.createElement(
256
303
  "svg",
257
304
  {
258
305
  width: sizeValue,
@@ -262,7 +309,7 @@ var init_EyeVisible = __esm({
262
309
  xmlns: "http://www.w3.org/2000/svg",
263
310
  ...props
264
311
  },
265
- /* @__PURE__ */ React5.createElement(
312
+ /* @__PURE__ */ React6.createElement(
266
313
  "path",
267
314
  {
268
315
  fillRule: "evenodd",
@@ -271,7 +318,7 @@ var init_EyeVisible = __esm({
271
318
  fill: "currentColor"
272
319
  }
273
320
  ),
274
- /* @__PURE__ */ React5.createElement(
321
+ /* @__PURE__ */ React6.createElement(
275
322
  "path",
276
323
  {
277
324
  fillRule: "evenodd",
@@ -291,15 +338,15 @@ var IconSlot_exports = {};
291
338
  __export(IconSlot_exports, {
292
339
  default: () => IconSlot_default
293
340
  });
294
- var React6, SvgIconSlot, IconSlot_default;
341
+ var React7, SvgIconSlot, IconSlot_default;
295
342
  var init_IconSlot = __esm({
296
343
  "src/react/IconSlot.tsx"() {
297
344
  "use strict";
298
- React6 = __toESM(require("react"));
345
+ React7 = __toESM(require("react"));
299
346
  init_types();
300
347
  SvgIconSlot = ({ size = 16, ...props }) => {
301
348
  const sizeValue = resolveSize(size);
302
- return /* @__PURE__ */ React6.createElement(
349
+ return /* @__PURE__ */ React7.createElement(
303
350
  "svg",
304
351
  {
305
352
  width: sizeValue,
@@ -309,7 +356,7 @@ var init_IconSlot = __esm({
309
356
  xmlns: "http://www.w3.org/2000/svg",
310
357
  ...props
311
358
  },
312
- /* @__PURE__ */ React6.createElement(
359
+ /* @__PURE__ */ React7.createElement(
313
360
  "path",
314
361
  {
315
362
  d: "M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z",
@@ -327,15 +374,15 @@ var Search_exports = {};
327
374
  __export(Search_exports, {
328
375
  default: () => Search_default
329
376
  });
330
- var React7, SvgSearch, Search_default;
377
+ var React8, SvgSearch, Search_default;
331
378
  var init_Search = __esm({
332
379
  "src/react/Search.tsx"() {
333
380
  "use strict";
334
- React7 = __toESM(require("react"));
381
+ React8 = __toESM(require("react"));
335
382
  init_types();
336
383
  SvgSearch = ({ size = 16, ...props }) => {
337
384
  const sizeValue = resolveSize(size);
338
- return /* @__PURE__ */ React7.createElement(
385
+ return /* @__PURE__ */ React8.createElement(
339
386
  "svg",
340
387
  {
341
388
  width: sizeValue,
@@ -345,7 +392,7 @@ var init_Search = __esm({
345
392
  xmlns: "http://www.w3.org/2000/svg",
346
393
  ...props
347
394
  },
348
- /* @__PURE__ */ React7.createElement(
395
+ /* @__PURE__ */ React8.createElement(
349
396
  "path",
350
397
  {
351
398
  fillRule: "evenodd",
@@ -354,7 +401,7 @@ var init_Search = __esm({
354
401
  fill: "currentColor"
355
402
  }
356
403
  ),
357
- /* @__PURE__ */ React7.createElement(
404
+ /* @__PURE__ */ React8.createElement(
358
405
  "path",
359
406
  {
360
407
  fillRule: "evenodd",
@@ -374,15 +421,15 @@ var User_exports = {};
374
421
  __export(User_exports, {
375
422
  default: () => User_default
376
423
  });
377
- var React8, SvgUser, User_default;
424
+ var React9, SvgUser, User_default;
378
425
  var init_User = __esm({
379
426
  "src/react/User.tsx"() {
380
427
  "use strict";
381
- React8 = __toESM(require("react"));
428
+ React9 = __toESM(require("react"));
382
429
  init_types();
383
430
  SvgUser = ({ size = 16, ...props }) => {
384
431
  const sizeValue = resolveSize(size);
385
- return /* @__PURE__ */ React8.createElement(
432
+ return /* @__PURE__ */ React9.createElement(
386
433
  "svg",
387
434
  {
388
435
  width: sizeValue,
@@ -392,7 +439,7 @@ var init_User = __esm({
392
439
  xmlns: "http://www.w3.org/2000/svg",
393
440
  ...props
394
441
  },
395
- /* @__PURE__ */ React8.createElement(
442
+ /* @__PURE__ */ React9.createElement(
396
443
  "path",
397
444
  {
398
445
  fillRule: "evenodd",
@@ -401,7 +448,7 @@ var init_User = __esm({
401
448
  fill: "currentColor"
402
449
  }
403
450
  ),
404
- /* @__PURE__ */ React8.createElement(
451
+ /* @__PURE__ */ React9.createElement(
405
452
  "path",
406
453
  {
407
454
  fillRule: "evenodd",
@@ -422,6 +469,7 @@ __export(react_exports, {
422
469
  ArrowLeft: () => ArrowLeft_default,
423
470
  Cancel: () => Cancel_default,
424
471
  Check: () => Check_default,
472
+ Edit: () => Edit_default,
425
473
  EyeHidden: () => EyeHidden_default,
426
474
  EyeVisible: () => EyeVisible_default,
427
475
  ICON_SIZES: () => ICON_SIZES,
@@ -435,6 +483,7 @@ module.exports = __toCommonJS(react_exports);
435
483
  init_ArrowLeft();
436
484
  init_Cancel();
437
485
  init_Check();
486
+ init_Edit();
438
487
  init_EyeHidden();
439
488
  init_EyeVisible();
440
489
  init_IconSlot();
@@ -442,7 +491,7 @@ init_Search();
442
491
  init_User();
443
492
 
444
493
  // src/react/Icon.tsx
445
- var React9 = __toESM(require("react"));
494
+ var React10 = __toESM(require("react"));
446
495
  function loadIcon(name) {
447
496
  switch (name) {
448
497
  case "arrow-left":
@@ -451,6 +500,8 @@ function loadIcon(name) {
451
500
  return Promise.resolve().then(() => (init_Cancel(), Cancel_exports)).then((m) => m.default);
452
501
  case "check":
453
502
  return Promise.resolve().then(() => (init_Check(), Check_exports)).then((m) => m.default);
503
+ case "edit":
504
+ return Promise.resolve().then(() => (init_Edit(), Edit_exports)).then((m) => m.default);
454
505
  case "eye-hidden":
455
506
  return Promise.resolve().then(() => (init_EyeHidden(), EyeHidden_exports)).then((m) => m.default);
456
507
  case "eye-visible":
@@ -466,10 +517,10 @@ function loadIcon(name) {
466
517
  }
467
518
  }
468
519
  var Icon = ({ name, size = 16, color, ...props }) => {
469
- const [IconComponent, setIconComponent] = React9.useState(null);
470
- const [loading, setLoading] = React9.useState(true);
471
- const [error, setError] = React9.useState(null);
472
- React9.useEffect(() => {
520
+ const [IconComponent, setIconComponent] = React10.useState(null);
521
+ const [loading, setLoading] = React10.useState(true);
522
+ const [error, setError] = React10.useState(null);
523
+ React10.useEffect(() => {
473
524
  setLoading(true);
474
525
  setError(null);
475
526
  loadIcon(name).then((Component) => {
@@ -488,7 +539,7 @@ var Icon = ({ name, size = 16, color, ...props }) => {
488
539
  return null;
489
540
  }
490
541
  const style = color ? { ...props.style, color } : props.style;
491
- return /* @__PURE__ */ React9.createElement(IconComponent, { size, ...props, style });
542
+ return /* @__PURE__ */ React10.createElement(IconComponent, { size, ...props, style });
492
543
  };
493
544
  var Icon_default = Icon;
494
545
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/types.ts","../../src/react/ArrowLeft.tsx","../../src/react/Cancel.tsx","../../src/react/Check.tsx","../../src/react/EyeHidden.tsx","../../src/react/EyeVisible.tsx","../../src/react/IconSlot.tsx","../../src/react/Search.tsx","../../src/react/User.tsx","../../src/react/index.ts","../../src/react/Icon.tsx"],"sourcesContent":["export type IconSize = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Icon size presets\n */\nexport const ICON_SIZES = {\n xs: 8,\n sm: 12,\n md: 16,\n lg: 20,\n xl: 24,\n} as const;\n\n/**\n * Icon size token type\n */\nexport type IconSizeToken = keyof typeof ICON_SIZES;\n\n/**\n * Props for React (web) icons\n */\nexport interface ReactIconProps extends React.SVGProps<SVGSVGElement> {\n size?: IconSize;\n}\n\n/**\n * Props for React Native icons\n */\nexport interface NativeIconProps {\n size?: IconSize;\n width?: number;\n height?: number;\n color?: string;\n style?: any;\n}\n\n/**\n * Resolves an icon size to a numeric value\n * @param size - Size value or token\n * @returns Numeric size in pixels\n */\nexport function resolveSize(size: IconSize = 'lg'): number {\n if (typeof size === 'number') {\n return size;\n }\n \n return ICON_SIZES[size] ?? ICON_SIZES.lg;\n}\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgArrowLeft = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L6.41421 12L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgArrowLeft;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCancel = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 5.29289C19.0976 5.68342 19.0976 6.31658 18.7071 6.70711L6.70711 18.7071C6.31658 19.0976 5.68342 19.0976 5.29289 18.7071C4.90237 18.3166 4.90237 17.6834 5.29289 17.2929L17.2929 5.29289C17.6834 4.90237 18.3166 4.90237 18.7071 5.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 5.29289C5.68342 4.90237 6.31658 4.90237 6.70711 5.29289L18.7071 17.2929C19.0976 17.6834 19.0976 18.3166 18.7071 18.7071C18.3166 19.0976 17.6834 19.0976 17.2929 18.7071L5.29289 6.70711C4.90237 6.31658 4.90237 5.68342 5.29289 5.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCancel;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCheck = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.8047 3.52858C14.0651 3.78892 14.0651 4.21103 13.8047 4.47138L6.4714 11.8047C6.21106 12.0651 5.78894 12.0651 5.5286 11.8047L2.19526 8.47138C1.93491 8.21103 1.93491 7.78892 2.19526 7.52858C2.45561 7.26823 2.87772 7.26823 3.13807 7.52858L6 10.3905L12.8619 3.52858C13.1223 3.26823 13.5444 3.26823 13.8047 3.52858Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCheck;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeHidden = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9907L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7072 3.29289C21.0977 3.68342 21.0977 4.31658 20.7072 4.70711L4.70719 20.7071C4.31666 21.0976 3.6835 21.0976 3.29297 20.7071C2.90245 20.3166 2.90245 19.6834 3.29297 19.2929L19.293 3.29289C19.6835 2.90237 20.3167 2.90237 20.7072 3.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeHidden;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeVisible = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9906L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeVisible;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgIconSlot = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgIconSlot;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgSearch = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 4C7.13401 4 4 7.13401 4 11C4 14.866 7.13401 18 11 18C14.866 18 18 14.866 18 11C18 7.13401 14.866 4 11 4ZM2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9929 15.9929C16.3834 15.6024 17.0166 15.6024 17.4071 15.9929L21.7071 20.2929C22.0976 20.6834 22.0976 21.3166 21.7071 21.7071C21.3166 22.0976 20.6834 22.0976 20.2929 21.7071L15.9929 17.4071C15.6024 17.0166 15.6024 16.3834 15.9929 15.9929Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgUser = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.46447 15.4645C6.40215 14.5268 7.67392 14 9 14H15C16.3261 14 17.5979 14.5268 18.5355 15.4645C19.4732 16.4021 20 17.6739 20 19V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19C18 18.2044 17.6839 17.4413 17.1213 16.8787C16.5587 16.3161 15.7956 16 15 16H9C8.20435 16 7.44129 16.3161 6.87868 16.8787C6.31607 17.4413 6 18.2043 6 19V21C6 21.5523 5.55228 22 5 22C4.44772 22 4 21.5523 4 21V19C4 17.6739 4.52678 16.4021 5.46447 15.4645Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7C15 5.34315 13.6569 4 12 4ZM7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgUser;\n","// Auto-generated exports\nexport { default as ArrowLeft } from './ArrowLeft';\nexport { default as Cancel } from './Cancel';\nexport { default as Check } from './Check';\nexport { default as EyeHidden } from './EyeHidden';\nexport { default as EyeVisible } from './EyeVisible';\nexport { default as IconSlot } from './IconSlot';\nexport { default as Search } from './Search';\nexport { default as User } from './User';\n\n// Unified Icon component\nexport { default as Icon } from './Icon';\nexport type { IconName, IconProps } from './Icon';\n\n // Export types\nexport type {\n IconSize,\n IconSizeToken,\n ReactIconProps,\n} from '../shared/types';\n\nexport { ICON_SIZES, resolveSize } from '../shared/types';\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\n\n/**\n * Icon imports - using dynamic imports for tree-shaking\n * Auto-generated - do not edit manually\n */\n// Icon: arrow-left\n// Icon: cancel\n// Icon: check\n// Icon: eye-hidden\n// Icon: eye-visible\n// Icon: icon-slot\n// Icon: search\n// Icon: user\n\n/**\n * Available icon names\n */\nexport type IconName = 'arrow-left' | 'cancel' | 'check' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';\n\n/**\n * Props for the unified Icon component\n */\nexport interface IconProps extends Omit<ReactIconProps, 'size'> {\n name: IconName;\n size?: ReactIconProps['size'];\n color?: string;\n}\n\n/**\n * Loads an icon component dynamically\n * This pattern allows bundlers to tree-shake unused icons\n * \n * Icons use default exports (export default SvgIconName),\n * so we access .default from the dynamic import result\n */\nfunction loadIcon(name: IconName): Promise<React.ComponentType<any>> {\n switch (name) {\n case 'arrow-left':\n return import('./ArrowLeft').then(m => m.default);\n case 'cancel':\n return import('./Cancel').then(m => m.default);\n case 'check':\n return import('./Check').then(m => m.default);\n case 'eye-hidden':\n return import('./EyeHidden').then(m => m.default);\n case 'eye-visible':\n return import('./EyeVisible').then(m => m.default);\n case 'icon-slot':\n return import('./IconSlot').then(m => m.default);\n case 'search':\n return import('./Search').then(m => m.default);\n case 'user':\n return import('./User').then(m => m.default);\n default:\n return Promise.reject(new Error(`Icon \"${name}\" not found`));\n }\n}\n\n/**\n * Unified Icon component that renders icons by name\n * Uses dynamic imports for tree-shaking support\n */\nconst Icon = ({ name, size = 16, color, ...props }: IconProps) => {\n const [IconComponent, setIconComponent] = React.useState<React.ComponentType<any> | null>(null);\n const [loading, setLoading] = React.useState(true);\n const [error, setError] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n setLoading(true);\n setError(null);\n \n loadIcon(name)\n .then((Component) => {\n setIconComponent(() => Component);\n setLoading(false);\n })\n .catch((err) => {\n console.warn(err.message);\n setError(err.message);\n setLoading(false);\n });\n }, [name]);\n\n if (loading) {\n return null; // Consider showing a placeholder\n }\n\n if (error || !IconComponent) {\n return null;\n }\n\n // Apply color via style prop if provided (SVGs use fill=\"currentColor\")\n const style = color \n ? { ...props.style, color } \n : props.style;\n\n return <IconComponent size={size} {...props} style={style} />;\n};\n\nexport default Icon;"],"mappings":"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","names":["React","React","React","React","React","React","React","React"]}
1
+ {"version":3,"sources":["../../src/shared/types.ts","../../src/react/ArrowLeft.tsx","../../src/react/Cancel.tsx","../../src/react/Check.tsx","../../src/react/Edit.tsx","../../src/react/EyeHidden.tsx","../../src/react/EyeVisible.tsx","../../src/react/IconSlot.tsx","../../src/react/Search.tsx","../../src/react/User.tsx","../../src/react/index.ts","../../src/react/Icon.tsx"],"sourcesContent":["export type IconSize = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Icon size presets\n */\nexport const ICON_SIZES = {\n xs: 8,\n sm: 12,\n md: 16,\n lg: 20,\n xl: 24,\n} as const;\n\n/**\n * Icon size token type\n */\nexport type IconSizeToken = keyof typeof ICON_SIZES;\n\n/**\n * Props for React (web) icons\n */\nexport interface ReactIconProps extends React.SVGProps<SVGSVGElement> {\n size?: IconSize;\n}\n\n/**\n * Props for React Native icons\n */\nexport interface NativeIconProps {\n size?: IconSize;\n width?: number;\n height?: number;\n color?: string;\n style?: any;\n}\n\n/**\n * Resolves an icon size to a numeric value\n * @param size - Size value or token\n * @returns Numeric size in pixels\n */\nexport function resolveSize(size: IconSize = 'lg'): number {\n if (typeof size === 'number') {\n return size;\n }\n \n return ICON_SIZES[size] ?? ICON_SIZES.lg;\n}\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgArrowLeft = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L6.41421 12L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgArrowLeft;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCancel = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 5.29289C19.0976 5.68342 19.0976 6.31658 18.7071 6.70711L6.70711 18.7071C6.31658 19.0976 5.68342 19.0976 5.29289 18.7071C4.90237 18.3166 4.90237 17.6834 5.29289 17.2929L17.2929 5.29289C17.6834 4.90237 18.3166 4.90237 18.7071 5.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 5.29289C5.68342 4.90237 6.31658 4.90237 6.70711 5.29289L18.7071 17.2929C19.0976 17.6834 19.0976 18.3166 18.7071 18.7071C18.3166 19.0976 17.6834 19.0976 17.2929 18.7071L5.29289 6.70711C4.90237 6.31658 4.90237 5.68342 5.29289 5.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCancel;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCheck = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.8047 3.52858C14.0651 3.78892 14.0651 4.21103 13.8047 4.47138L6.4714 11.8047C6.21106 12.0651 5.78894 12.0651 5.5286 11.8047L2.19526 8.47138C1.93491 8.21103 1.93491 7.78892 2.19526 7.52858C2.45561 7.26823 2.87772 7.26823 3.13807 7.52858L6 10.3905L12.8619 3.52858C13.1223 3.26823 13.5444 3.26823 13.8047 3.52858Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCheck;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEdit = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.8596 3.11765C19.6197 3.02426 19.3627 2.98143 19.1049 2.99207C18.8471 3.00271 18.5946 3.06656 18.3636 3.1793C18.1325 3.29203 17.9282 3.45107 17.7634 3.64587C17.7455 3.66702 17.7267 3.68742 17.7071 3.70701L4.39491 17.0192L3.42524 20.5747L6.9807 19.605L20.2929 6.2928C20.3158 6.26991 20.3398 6.24815 20.3648 6.22759C20.5625 6.06494 20.7235 5.86358 20.8378 5.6366C20.9522 5.40964 21.0174 5.16186 21.0298 4.90899C21.0422 4.65612 21.0014 4.40333 20.9099 4.16664C20.8183 3.92993 20.6779 3.71425 20.4972 3.53353C20.3165 3.3528 20.0994 3.21103 19.8596 3.11765ZM19.0224 0.993769C19.5557 0.971764 20.088 1.06031 20.5852 1.25394C21.0825 1.44757 21.5343 1.74216 21.9114 2.11932C22.2886 2.4965 22.5829 2.948 22.7752 3.44525C22.9676 3.94252 23.0535 4.47436 23.0274 5.00678C23.0014 5.5392 22.8639 6.06014 22.624 6.53634C22.392 6.99698 22.0692 7.4058 21.6754 7.73877L8.20713 21.207C8.08407 21.3301 7.93104 21.4189 7.76314 21.4647L2.26314 22.9647C1.91693 23.0591 1.54667 22.9608 1.29292 22.707C1.03917 22.4533 0.940838 22.083 1.03526 21.7368L2.53526 16.2368C2.58105 16.0689 2.66986 15.9159 2.79292 15.7928L16.2657 2.31998C16.605 1.92839 17.0203 1.60935 17.4865 1.38187C17.9661 1.14787 18.4891 1.01577 19.0224 0.993769Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.2929 4.29289C14.6834 3.90237 15.3166 3.90237 15.7071 4.29289L19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711C19.3166 10.0976 18.6834 10.0976 18.2929 9.70711L14.2929 5.70711C13.9024 5.31658 13.9024 4.68342 14.2929 4.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEdit;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeHidden = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9907L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7072 3.29289C21.0977 3.68342 21.0977 4.31658 20.7072 4.70711L4.70719 20.7071C4.31666 21.0976 3.6835 21.0976 3.29297 20.7071C2.90245 20.3166 2.90245 19.6834 3.29297 19.2929L19.293 3.29289C19.6835 2.90237 20.3167 2.90237 20.7072 3.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeHidden;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeVisible = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9906L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeVisible;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgIconSlot = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgIconSlot;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgSearch = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 4C7.13401 4 4 7.13401 4 11C4 14.866 7.13401 18 11 18C14.866 18 18 14.866 18 11C18 7.13401 14.866 4 11 4ZM2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9929 15.9929C16.3834 15.6024 17.0166 15.6024 17.4071 15.9929L21.7071 20.2929C22.0976 20.6834 22.0976 21.3166 21.7071 21.7071C21.3166 22.0976 20.6834 22.0976 20.2929 21.7071L15.9929 17.4071C15.6024 17.0166 15.6024 16.3834 15.9929 15.9929Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgUser = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.46447 15.4645C6.40215 14.5268 7.67392 14 9 14H15C16.3261 14 17.5979 14.5268 18.5355 15.4645C19.4732 16.4021 20 17.6739 20 19V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19C18 18.2044 17.6839 17.4413 17.1213 16.8787C16.5587 16.3161 15.7956 16 15 16H9C8.20435 16 7.44129 16.3161 6.87868 16.8787C6.31607 17.4413 6 18.2043 6 19V21C6 21.5523 5.55228 22 5 22C4.44772 22 4 21.5523 4 21V19C4 17.6739 4.52678 16.4021 5.46447 15.4645Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7C15 5.34315 13.6569 4 12 4ZM7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgUser;\n","// Auto-generated exports\nexport { default as ArrowLeft } from './ArrowLeft';\nexport { default as Cancel } from './Cancel';\nexport { default as Check } from './Check';\nexport { default as Edit } from './Edit';\nexport { default as EyeHidden } from './EyeHidden';\nexport { default as EyeVisible } from './EyeVisible';\nexport { default as IconSlot } from './IconSlot';\nexport { default as Search } from './Search';\nexport { default as User } from './User';\n\n// Unified Icon component\nexport { default as Icon } from './Icon';\nexport type { IconName, IconProps } from './Icon';\n\n // Export types\nexport type {\n IconSize,\n IconSizeToken,\n ReactIconProps,\n} from '../shared/types';\n\nexport { ICON_SIZES, resolveSize } from '../shared/types';\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\n\n/**\n * Icon imports - using dynamic imports for tree-shaking\n * Auto-generated - do not edit manually\n */\n// Icon: arrow-left\n// Icon: cancel\n// Icon: check\n// Icon: edit\n// Icon: eye-hidden\n// Icon: eye-visible\n// Icon: icon-slot\n// Icon: search\n// Icon: user\n\n/**\n * Available icon names\n */\nexport type IconName = 'arrow-left' | 'cancel' | 'check' | 'edit' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';\n\n/**\n * Props for the unified Icon component\n */\nexport interface IconProps extends Omit<ReactIconProps, 'size'> {\n name: IconName;\n size?: ReactIconProps['size'];\n color?: string;\n}\n\n/**\n * Loads an icon component dynamically\n * This pattern allows bundlers to tree-shake unused icons\n * \n * Icons use default exports (export default SvgIconName),\n * so we access .default from the dynamic import result\n */\nfunction loadIcon(name: IconName): Promise<React.ComponentType<any>> {\n switch (name) {\n case 'arrow-left':\n return import('./ArrowLeft').then(m => m.default);\n case 'cancel':\n return import('./Cancel').then(m => m.default);\n case 'check':\n return import('./Check').then(m => m.default);\n case 'edit':\n return import('./Edit').then(m => m.default);\n case 'eye-hidden':\n return import('./EyeHidden').then(m => m.default);\n case 'eye-visible':\n return import('./EyeVisible').then(m => m.default);\n case 'icon-slot':\n return import('./IconSlot').then(m => m.default);\n case 'search':\n return import('./Search').then(m => m.default);\n case 'user':\n return import('./User').then(m => m.default);\n default:\n return Promise.reject(new Error(`Icon \"${name}\" not found`));\n }\n}\n\n/**\n * Unified Icon component that renders icons by name\n * Uses dynamic imports for tree-shaking support\n */\nconst Icon = ({ name, size = 16, color, ...props }: IconProps) => {\n const [IconComponent, setIconComponent] = React.useState<React.ComponentType<any> | null>(null);\n const [loading, setLoading] = React.useState(true);\n const [error, setError] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n setLoading(true);\n setError(null);\n \n loadIcon(name)\n .then((Component) => {\n setIconComponent(() => Component);\n setLoading(false);\n })\n .catch((err) => {\n console.warn(err.message);\n setError(err.message);\n setLoading(false);\n });\n }, [name]);\n\n if (loading) {\n return null; // Consider showing a placeholder\n }\n\n if (error || !IconComponent) {\n return null;\n }\n\n // Apply color via style prop if provided (SVGs use fill=\"currentColor\")\n const style = color \n ? { ...props.style, color } \n : props.style;\n\n return <IconComponent size={size} {...props} style={style} />;\n};\n\nexport default Icon;"],"mappings":"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","names":["React","React","React","React","React","React","React","React","React"]}
@@ -161,12 +161,59 @@ var init_Check = __esm({
161
161
  }
162
162
  });
163
163
 
164
+ // src/react/Edit.tsx
165
+ var Edit_exports = {};
166
+ __export(Edit_exports, {
167
+ default: () => Edit_default
168
+ });
169
+ import * as React4 from "react";
170
+ var SvgEdit, Edit_default;
171
+ var init_Edit = __esm({
172
+ "src/react/Edit.tsx"() {
173
+ "use strict";
174
+ init_types();
175
+ SvgEdit = ({ size = 16, ...props }) => {
176
+ const sizeValue = resolveSize(size);
177
+ return /* @__PURE__ */ React4.createElement(
178
+ "svg",
179
+ {
180
+ width: sizeValue,
181
+ height: sizeValue,
182
+ viewBox: "0 0 24 24",
183
+ fill: "none",
184
+ xmlns: "http://www.w3.org/2000/svg",
185
+ ...props
186
+ },
187
+ /* @__PURE__ */ React4.createElement(
188
+ "path",
189
+ {
190
+ fillRule: "evenodd",
191
+ clipRule: "evenodd",
192
+ d: "M19.8596 3.11765C19.6197 3.02426 19.3627 2.98143 19.1049 2.99207C18.8471 3.00271 18.5946 3.06656 18.3636 3.1793C18.1325 3.29203 17.9282 3.45107 17.7634 3.64587C17.7455 3.66702 17.7267 3.68742 17.7071 3.70701L4.39491 17.0192L3.42524 20.5747L6.9807 19.605L20.2929 6.2928C20.3158 6.26991 20.3398 6.24815 20.3648 6.22759C20.5625 6.06494 20.7235 5.86358 20.8378 5.6366C20.9522 5.40964 21.0174 5.16186 21.0298 4.90899C21.0422 4.65612 21.0014 4.40333 20.9099 4.16664C20.8183 3.92993 20.6779 3.71425 20.4972 3.53353C20.3165 3.3528 20.0994 3.21103 19.8596 3.11765ZM19.0224 0.993769C19.5557 0.971764 20.088 1.06031 20.5852 1.25394C21.0825 1.44757 21.5343 1.74216 21.9114 2.11932C22.2886 2.4965 22.5829 2.948 22.7752 3.44525C22.9676 3.94252 23.0535 4.47436 23.0274 5.00678C23.0014 5.5392 22.8639 6.06014 22.624 6.53634C22.392 6.99698 22.0692 7.4058 21.6754 7.73877L8.20713 21.207C8.08407 21.3301 7.93104 21.4189 7.76314 21.4647L2.26314 22.9647C1.91693 23.0591 1.54667 22.9608 1.29292 22.707C1.03917 22.4533 0.940838 22.083 1.03526 21.7368L2.53526 16.2368C2.58105 16.0689 2.66986 15.9159 2.79292 15.7928L16.2657 2.31998C16.605 1.92839 17.0203 1.60935 17.4865 1.38187C17.9661 1.14787 18.4891 1.01577 19.0224 0.993769Z",
193
+ fill: "currentColor"
194
+ }
195
+ ),
196
+ /* @__PURE__ */ React4.createElement(
197
+ "path",
198
+ {
199
+ fillRule: "evenodd",
200
+ clipRule: "evenodd",
201
+ d: "M14.2929 4.29289C14.6834 3.90237 15.3166 3.90237 15.7071 4.29289L19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711C19.3166 10.0976 18.6834 10.0976 18.2929 9.70711L14.2929 5.70711C13.9024 5.31658 13.9024 4.68342 14.2929 4.29289Z",
202
+ fill: "currentColor"
203
+ }
204
+ )
205
+ );
206
+ };
207
+ Edit_default = SvgEdit;
208
+ }
209
+ });
210
+
164
211
  // src/react/EyeHidden.tsx
165
212
  var EyeHidden_exports = {};
166
213
  __export(EyeHidden_exports, {
167
214
  default: () => EyeHidden_default
168
215
  });
169
- import * as React4 from "react";
216
+ import * as React5 from "react";
170
217
  var SvgEyeHidden, EyeHidden_default;
171
218
  var init_EyeHidden = __esm({
172
219
  "src/react/EyeHidden.tsx"() {
@@ -174,7 +221,7 @@ var init_EyeHidden = __esm({
174
221
  init_types();
175
222
  SvgEyeHidden = ({ size = 16, ...props }) => {
176
223
  const sizeValue = resolveSize(size);
177
- return /* @__PURE__ */ React4.createElement(
224
+ return /* @__PURE__ */ React5.createElement(
178
225
  "svg",
179
226
  {
180
227
  width: sizeValue,
@@ -184,7 +231,7 @@ var init_EyeHidden = __esm({
184
231
  xmlns: "http://www.w3.org/2000/svg",
185
232
  ...props
186
233
  },
187
- /* @__PURE__ */ React4.createElement(
234
+ /* @__PURE__ */ React5.createElement(
188
235
  "path",
189
236
  {
190
237
  fillRule: "evenodd",
@@ -193,7 +240,7 @@ var init_EyeHidden = __esm({
193
240
  fill: "currentColor"
194
241
  }
195
242
  ),
196
- /* @__PURE__ */ React4.createElement(
243
+ /* @__PURE__ */ React5.createElement(
197
244
  "path",
198
245
  {
199
246
  fillRule: "evenodd",
@@ -202,7 +249,7 @@ var init_EyeHidden = __esm({
202
249
  fill: "currentColor"
203
250
  }
204
251
  ),
205
- /* @__PURE__ */ React4.createElement(
252
+ /* @__PURE__ */ React5.createElement(
206
253
  "path",
207
254
  {
208
255
  fillRule: "evenodd",
@@ -222,7 +269,7 @@ var EyeVisible_exports = {};
222
269
  __export(EyeVisible_exports, {
223
270
  default: () => EyeVisible_default
224
271
  });
225
- import * as React5 from "react";
272
+ import * as React6 from "react";
226
273
  var SvgEyeVisible, EyeVisible_default;
227
274
  var init_EyeVisible = __esm({
228
275
  "src/react/EyeVisible.tsx"() {
@@ -230,7 +277,7 @@ var init_EyeVisible = __esm({
230
277
  init_types();
231
278
  SvgEyeVisible = ({ size = 16, ...props }) => {
232
279
  const sizeValue = resolveSize(size);
233
- return /* @__PURE__ */ React5.createElement(
280
+ return /* @__PURE__ */ React6.createElement(
234
281
  "svg",
235
282
  {
236
283
  width: sizeValue,
@@ -240,7 +287,7 @@ var init_EyeVisible = __esm({
240
287
  xmlns: "http://www.w3.org/2000/svg",
241
288
  ...props
242
289
  },
243
- /* @__PURE__ */ React5.createElement(
290
+ /* @__PURE__ */ React6.createElement(
244
291
  "path",
245
292
  {
246
293
  fillRule: "evenodd",
@@ -249,7 +296,7 @@ var init_EyeVisible = __esm({
249
296
  fill: "currentColor"
250
297
  }
251
298
  ),
252
- /* @__PURE__ */ React5.createElement(
299
+ /* @__PURE__ */ React6.createElement(
253
300
  "path",
254
301
  {
255
302
  fillRule: "evenodd",
@@ -269,7 +316,7 @@ var IconSlot_exports = {};
269
316
  __export(IconSlot_exports, {
270
317
  default: () => IconSlot_default
271
318
  });
272
- import * as React6 from "react";
319
+ import * as React7 from "react";
273
320
  var SvgIconSlot, IconSlot_default;
274
321
  var init_IconSlot = __esm({
275
322
  "src/react/IconSlot.tsx"() {
@@ -277,7 +324,7 @@ var init_IconSlot = __esm({
277
324
  init_types();
278
325
  SvgIconSlot = ({ size = 16, ...props }) => {
279
326
  const sizeValue = resolveSize(size);
280
- return /* @__PURE__ */ React6.createElement(
327
+ return /* @__PURE__ */ React7.createElement(
281
328
  "svg",
282
329
  {
283
330
  width: sizeValue,
@@ -287,7 +334,7 @@ var init_IconSlot = __esm({
287
334
  xmlns: "http://www.w3.org/2000/svg",
288
335
  ...props
289
336
  },
290
- /* @__PURE__ */ React6.createElement(
337
+ /* @__PURE__ */ React7.createElement(
291
338
  "path",
292
339
  {
293
340
  d: "M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z",
@@ -305,7 +352,7 @@ var Search_exports = {};
305
352
  __export(Search_exports, {
306
353
  default: () => Search_default
307
354
  });
308
- import * as React7 from "react";
355
+ import * as React8 from "react";
309
356
  var SvgSearch, Search_default;
310
357
  var init_Search = __esm({
311
358
  "src/react/Search.tsx"() {
@@ -313,7 +360,7 @@ var init_Search = __esm({
313
360
  init_types();
314
361
  SvgSearch = ({ size = 16, ...props }) => {
315
362
  const sizeValue = resolveSize(size);
316
- return /* @__PURE__ */ React7.createElement(
363
+ return /* @__PURE__ */ React8.createElement(
317
364
  "svg",
318
365
  {
319
366
  width: sizeValue,
@@ -323,7 +370,7 @@ var init_Search = __esm({
323
370
  xmlns: "http://www.w3.org/2000/svg",
324
371
  ...props
325
372
  },
326
- /* @__PURE__ */ React7.createElement(
373
+ /* @__PURE__ */ React8.createElement(
327
374
  "path",
328
375
  {
329
376
  fillRule: "evenodd",
@@ -332,7 +379,7 @@ var init_Search = __esm({
332
379
  fill: "currentColor"
333
380
  }
334
381
  ),
335
- /* @__PURE__ */ React7.createElement(
382
+ /* @__PURE__ */ React8.createElement(
336
383
  "path",
337
384
  {
338
385
  fillRule: "evenodd",
@@ -352,7 +399,7 @@ var User_exports = {};
352
399
  __export(User_exports, {
353
400
  default: () => User_default
354
401
  });
355
- import * as React8 from "react";
402
+ import * as React9 from "react";
356
403
  var SvgUser, User_default;
357
404
  var init_User = __esm({
358
405
  "src/react/User.tsx"() {
@@ -360,7 +407,7 @@ var init_User = __esm({
360
407
  init_types();
361
408
  SvgUser = ({ size = 16, ...props }) => {
362
409
  const sizeValue = resolveSize(size);
363
- return /* @__PURE__ */ React8.createElement(
410
+ return /* @__PURE__ */ React9.createElement(
364
411
  "svg",
365
412
  {
366
413
  width: sizeValue,
@@ -370,7 +417,7 @@ var init_User = __esm({
370
417
  xmlns: "http://www.w3.org/2000/svg",
371
418
  ...props
372
419
  },
373
- /* @__PURE__ */ React8.createElement(
420
+ /* @__PURE__ */ React9.createElement(
374
421
  "path",
375
422
  {
376
423
  fillRule: "evenodd",
@@ -379,7 +426,7 @@ var init_User = __esm({
379
426
  fill: "currentColor"
380
427
  }
381
428
  ),
382
- /* @__PURE__ */ React8.createElement(
429
+ /* @__PURE__ */ React9.createElement(
383
430
  "path",
384
431
  {
385
432
  fillRule: "evenodd",
@@ -398,6 +445,7 @@ var init_User = __esm({
398
445
  init_ArrowLeft();
399
446
  init_Cancel();
400
447
  init_Check();
448
+ init_Edit();
401
449
  init_EyeHidden();
402
450
  init_EyeVisible();
403
451
  init_IconSlot();
@@ -405,7 +453,7 @@ init_Search();
405
453
  init_User();
406
454
 
407
455
  // src/react/Icon.tsx
408
- import * as React9 from "react";
456
+ import * as React10 from "react";
409
457
  function loadIcon(name) {
410
458
  switch (name) {
411
459
  case "arrow-left":
@@ -414,6 +462,8 @@ function loadIcon(name) {
414
462
  return Promise.resolve().then(() => (init_Cancel(), Cancel_exports)).then((m) => m.default);
415
463
  case "check":
416
464
  return Promise.resolve().then(() => (init_Check(), Check_exports)).then((m) => m.default);
465
+ case "edit":
466
+ return Promise.resolve().then(() => (init_Edit(), Edit_exports)).then((m) => m.default);
417
467
  case "eye-hidden":
418
468
  return Promise.resolve().then(() => (init_EyeHidden(), EyeHidden_exports)).then((m) => m.default);
419
469
  case "eye-visible":
@@ -429,10 +479,10 @@ function loadIcon(name) {
429
479
  }
430
480
  }
431
481
  var Icon = ({ name, size = 16, color, ...props }) => {
432
- const [IconComponent, setIconComponent] = React9.useState(null);
433
- const [loading, setLoading] = React9.useState(true);
434
- const [error, setError] = React9.useState(null);
435
- React9.useEffect(() => {
482
+ const [IconComponent, setIconComponent] = React10.useState(null);
483
+ const [loading, setLoading] = React10.useState(true);
484
+ const [error, setError] = React10.useState(null);
485
+ React10.useEffect(() => {
436
486
  setLoading(true);
437
487
  setError(null);
438
488
  loadIcon(name).then((Component) => {
@@ -451,7 +501,7 @@ var Icon = ({ name, size = 16, color, ...props }) => {
451
501
  return null;
452
502
  }
453
503
  const style = color ? { ...props.style, color } : props.style;
454
- return /* @__PURE__ */ React9.createElement(IconComponent, { size, ...props, style });
504
+ return /* @__PURE__ */ React10.createElement(IconComponent, { size, ...props, style });
455
505
  };
456
506
  var Icon_default = Icon;
457
507
 
@@ -461,6 +511,7 @@ export {
461
511
  ArrowLeft_default as ArrowLeft,
462
512
  Cancel_default as Cancel,
463
513
  Check_default as Check,
514
+ Edit_default as Edit,
464
515
  EyeHidden_default as EyeHidden,
465
516
  EyeVisible_default as EyeVisible,
466
517
  ICON_SIZES,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/types.ts","../../src/react/ArrowLeft.tsx","../../src/react/Cancel.tsx","../../src/react/Check.tsx","../../src/react/EyeHidden.tsx","../../src/react/EyeVisible.tsx","../../src/react/IconSlot.tsx","../../src/react/Search.tsx","../../src/react/User.tsx","../../src/react/index.ts","../../src/react/Icon.tsx"],"sourcesContent":["export type IconSize = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Icon size presets\n */\nexport const ICON_SIZES = {\n xs: 8,\n sm: 12,\n md: 16,\n lg: 20,\n xl: 24,\n} as const;\n\n/**\n * Icon size token type\n */\nexport type IconSizeToken = keyof typeof ICON_SIZES;\n\n/**\n * Props for React (web) icons\n */\nexport interface ReactIconProps extends React.SVGProps<SVGSVGElement> {\n size?: IconSize;\n}\n\n/**\n * Props for React Native icons\n */\nexport interface NativeIconProps {\n size?: IconSize;\n width?: number;\n height?: number;\n color?: string;\n style?: any;\n}\n\n/**\n * Resolves an icon size to a numeric value\n * @param size - Size value or token\n * @returns Numeric size in pixels\n */\nexport function resolveSize(size: IconSize = 'lg'): number {\n if (typeof size === 'number') {\n return size;\n }\n \n return ICON_SIZES[size] ?? ICON_SIZES.lg;\n}\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgArrowLeft = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L6.41421 12L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgArrowLeft;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCancel = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 5.29289C19.0976 5.68342 19.0976 6.31658 18.7071 6.70711L6.70711 18.7071C6.31658 19.0976 5.68342 19.0976 5.29289 18.7071C4.90237 18.3166 4.90237 17.6834 5.29289 17.2929L17.2929 5.29289C17.6834 4.90237 18.3166 4.90237 18.7071 5.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 5.29289C5.68342 4.90237 6.31658 4.90237 6.70711 5.29289L18.7071 17.2929C19.0976 17.6834 19.0976 18.3166 18.7071 18.7071C18.3166 19.0976 17.6834 19.0976 17.2929 18.7071L5.29289 6.70711C4.90237 6.31658 4.90237 5.68342 5.29289 5.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCancel;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCheck = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.8047 3.52858C14.0651 3.78892 14.0651 4.21103 13.8047 4.47138L6.4714 11.8047C6.21106 12.0651 5.78894 12.0651 5.5286 11.8047L2.19526 8.47138C1.93491 8.21103 1.93491 7.78892 2.19526 7.52858C2.45561 7.26823 2.87772 7.26823 3.13807 7.52858L6 10.3905L12.8619 3.52858C13.1223 3.26823 13.5444 3.26823 13.8047 3.52858Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCheck;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeHidden = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9907L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7072 3.29289C21.0977 3.68342 21.0977 4.31658 20.7072 4.70711L4.70719 20.7071C4.31666 21.0976 3.6835 21.0976 3.29297 20.7071C2.90245 20.3166 2.90245 19.6834 3.29297 19.2929L19.293 3.29289C19.6835 2.90237 20.3167 2.90237 20.7072 3.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeHidden;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeVisible = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9906L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeVisible;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgIconSlot = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgIconSlot;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgSearch = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 4C7.13401 4 4 7.13401 4 11C4 14.866 7.13401 18 11 18C14.866 18 18 14.866 18 11C18 7.13401 14.866 4 11 4ZM2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9929 15.9929C16.3834 15.6024 17.0166 15.6024 17.4071 15.9929L21.7071 20.2929C22.0976 20.6834 22.0976 21.3166 21.7071 21.7071C21.3166 22.0976 20.6834 22.0976 20.2929 21.7071L15.9929 17.4071C15.6024 17.0166 15.6024 16.3834 15.9929 15.9929Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgUser = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.46447 15.4645C6.40215 14.5268 7.67392 14 9 14H15C16.3261 14 17.5979 14.5268 18.5355 15.4645C19.4732 16.4021 20 17.6739 20 19V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19C18 18.2044 17.6839 17.4413 17.1213 16.8787C16.5587 16.3161 15.7956 16 15 16H9C8.20435 16 7.44129 16.3161 6.87868 16.8787C6.31607 17.4413 6 18.2043 6 19V21C6 21.5523 5.55228 22 5 22C4.44772 22 4 21.5523 4 21V19C4 17.6739 4.52678 16.4021 5.46447 15.4645Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7C15 5.34315 13.6569 4 12 4ZM7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgUser;\n","// Auto-generated exports\nexport { default as ArrowLeft } from './ArrowLeft';\nexport { default as Cancel } from './Cancel';\nexport { default as Check } from './Check';\nexport { default as EyeHidden } from './EyeHidden';\nexport { default as EyeVisible } from './EyeVisible';\nexport { default as IconSlot } from './IconSlot';\nexport { default as Search } from './Search';\nexport { default as User } from './User';\n\n// Unified Icon component\nexport { default as Icon } from './Icon';\nexport type { IconName, IconProps } from './Icon';\n\n // Export types\nexport type {\n IconSize,\n IconSizeToken,\n ReactIconProps,\n} from '../shared/types';\n\nexport { ICON_SIZES, resolveSize } from '../shared/types';\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\n\n/**\n * Icon imports - using dynamic imports for tree-shaking\n * Auto-generated - do not edit manually\n */\n// Icon: arrow-left\n// Icon: cancel\n// Icon: check\n// Icon: eye-hidden\n// Icon: eye-visible\n// Icon: icon-slot\n// Icon: search\n// Icon: user\n\n/**\n * Available icon names\n */\nexport type IconName = 'arrow-left' | 'cancel' | 'check' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';\n\n/**\n * Props for the unified Icon component\n */\nexport interface IconProps extends Omit<ReactIconProps, 'size'> {\n name: IconName;\n size?: ReactIconProps['size'];\n color?: string;\n}\n\n/**\n * Loads an icon component dynamically\n * This pattern allows bundlers to tree-shake unused icons\n * \n * Icons use default exports (export default SvgIconName),\n * so we access .default from the dynamic import result\n */\nfunction loadIcon(name: IconName): Promise<React.ComponentType<any>> {\n switch (name) {\n case 'arrow-left':\n return import('./ArrowLeft').then(m => m.default);\n case 'cancel':\n return import('./Cancel').then(m => m.default);\n case 'check':\n return import('./Check').then(m => m.default);\n case 'eye-hidden':\n return import('./EyeHidden').then(m => m.default);\n case 'eye-visible':\n return import('./EyeVisible').then(m => m.default);\n case 'icon-slot':\n return import('./IconSlot').then(m => m.default);\n case 'search':\n return import('./Search').then(m => m.default);\n case 'user':\n return import('./User').then(m => m.default);\n default:\n return Promise.reject(new Error(`Icon \"${name}\" not found`));\n }\n}\n\n/**\n * Unified Icon component that renders icons by name\n * Uses dynamic imports for tree-shaking support\n */\nconst Icon = ({ name, size = 16, color, ...props }: IconProps) => {\n const [IconComponent, setIconComponent] = React.useState<React.ComponentType<any> | null>(null);\n const [loading, setLoading] = React.useState(true);\n const [error, setError] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n setLoading(true);\n setError(null);\n \n loadIcon(name)\n .then((Component) => {\n setIconComponent(() => Component);\n setLoading(false);\n })\n .catch((err) => {\n console.warn(err.message);\n setError(err.message);\n setLoading(false);\n });\n }, [name]);\n\n if (loading) {\n return null; // Consider showing a placeholder\n }\n\n if (error || !IconComponent) {\n return null;\n }\n\n // Apply color via style prop if provided (SVGs use fill=\"currentColor\")\n const style = color \n ? { ...props.style, color } \n : props.style;\n\n return <IconComponent size={size} {...props} style={style} />;\n};\n\nexport default Icon;"],"mappings":"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","names":["React","React","React","React","React","React","React","React"]}
1
+ {"version":3,"sources":["../../src/shared/types.ts","../../src/react/ArrowLeft.tsx","../../src/react/Cancel.tsx","../../src/react/Check.tsx","../../src/react/Edit.tsx","../../src/react/EyeHidden.tsx","../../src/react/EyeVisible.tsx","../../src/react/IconSlot.tsx","../../src/react/Search.tsx","../../src/react/User.tsx","../../src/react/index.ts","../../src/react/Icon.tsx"],"sourcesContent":["export type IconSize = number | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Icon size presets\n */\nexport const ICON_SIZES = {\n xs: 8,\n sm: 12,\n md: 16,\n lg: 20,\n xl: 24,\n} as const;\n\n/**\n * Icon size token type\n */\nexport type IconSizeToken = keyof typeof ICON_SIZES;\n\n/**\n * Props for React (web) icons\n */\nexport interface ReactIconProps extends React.SVGProps<SVGSVGElement> {\n size?: IconSize;\n}\n\n/**\n * Props for React Native icons\n */\nexport interface NativeIconProps {\n size?: IconSize;\n width?: number;\n height?: number;\n color?: string;\n style?: any;\n}\n\n/**\n * Resolves an icon size to a numeric value\n * @param size - Size value or token\n * @returns Numeric size in pixels\n */\nexport function resolveSize(size: IconSize = 'lg'): number {\n if (typeof size === 'number') {\n return size;\n }\n \n return ICON_SIZES[size] ?? ICON_SIZES.lg;\n}\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgArrowLeft = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L6.41421 12L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgArrowLeft;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCancel = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.7071 5.29289C19.0976 5.68342 19.0976 6.31658 18.7071 6.70711L6.70711 18.7071C6.31658 19.0976 5.68342 19.0976 5.29289 18.7071C4.90237 18.3166 4.90237 17.6834 5.29289 17.2929L17.2929 5.29289C17.6834 4.90237 18.3166 4.90237 18.7071 5.29289Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 5.29289C5.68342 4.90237 6.31658 4.90237 6.70711 5.29289L18.7071 17.2929C19.0976 17.6834 19.0976 18.3166 18.7071 18.7071C18.3166 19.0976 17.6834 19.0976 17.2929 18.7071L5.29289 6.70711C4.90237 6.31658 4.90237 5.68342 5.29289 5.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCancel;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgCheck = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.8047 3.52858C14.0651 3.78892 14.0651 4.21103 13.8047 4.47138L6.4714 11.8047C6.21106 12.0651 5.78894 12.0651 5.5286 11.8047L2.19526 8.47138C1.93491 8.21103 1.93491 7.78892 2.19526 7.52858C2.45561 7.26823 2.87772 7.26823 3.13807 7.52858L6 10.3905L12.8619 3.52858C13.1223 3.26823 13.5444 3.26823 13.8047 3.52858Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgCheck;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEdit = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.8596 3.11765C19.6197 3.02426 19.3627 2.98143 19.1049 2.99207C18.8471 3.00271 18.5946 3.06656 18.3636 3.1793C18.1325 3.29203 17.9282 3.45107 17.7634 3.64587C17.7455 3.66702 17.7267 3.68742 17.7071 3.70701L4.39491 17.0192L3.42524 20.5747L6.9807 19.605L20.2929 6.2928C20.3158 6.26991 20.3398 6.24815 20.3648 6.22759C20.5625 6.06494 20.7235 5.86358 20.8378 5.6366C20.9522 5.40964 21.0174 5.16186 21.0298 4.90899C21.0422 4.65612 21.0014 4.40333 20.9099 4.16664C20.8183 3.92993 20.6779 3.71425 20.4972 3.53353C20.3165 3.3528 20.0994 3.21103 19.8596 3.11765ZM19.0224 0.993769C19.5557 0.971764 20.088 1.06031 20.5852 1.25394C21.0825 1.44757 21.5343 1.74216 21.9114 2.11932C22.2886 2.4965 22.5829 2.948 22.7752 3.44525C22.9676 3.94252 23.0535 4.47436 23.0274 5.00678C23.0014 5.5392 22.8639 6.06014 22.624 6.53634C22.392 6.99698 22.0692 7.4058 21.6754 7.73877L8.20713 21.207C8.08407 21.3301 7.93104 21.4189 7.76314 21.4647L2.26314 22.9647C1.91693 23.0591 1.54667 22.9608 1.29292 22.707C1.03917 22.4533 0.940838 22.083 1.03526 21.7368L2.53526 16.2368C2.58105 16.0689 2.66986 15.9159 2.79292 15.7928L16.2657 2.31998C16.605 1.92839 17.0203 1.60935 17.4865 1.38187C17.9661 1.14787 18.4891 1.01577 19.0224 0.993769Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.2929 4.29289C14.6834 3.90237 15.3166 3.90237 15.7071 4.29289L19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711C19.3166 10.0976 18.6834 10.0976 18.2929 9.70711L14.2929 5.70711C13.9024 5.31658 13.9024 4.68342 14.2929 4.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEdit;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeHidden = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9907L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7072 3.29289C21.0977 3.68342 21.0977 4.31658 20.7072 4.70711L4.70719 20.7071C4.31666 21.0976 3.6835 21.0976 3.29297 20.7071C2.90245 20.3166 2.90245 19.6834 3.29297 19.2929L19.293 3.29289C19.6835 2.90237 20.3167 2.90237 20.7072 3.29289Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeHidden;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgEyeVisible = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.02994 11.7575C2.61883 9.4019 5.4549 5 12.0001 5C18.5453 5 21.3813 9.4019 21.9702 11.7575L22.0285 11.9906L21.9745 12.2249C21.3836 14.7852 18.5247 19 12.0001 19C5.42044 19 2.6206 14.4091 2.03532 12.2631L1.96655 12.011L2.02994 11.7575ZM4.04308 11.9886C4.61202 13.6329 6.83349 17 12.0001 17C17.2425 17 19.4283 13.8356 19.9639 12.0101C19.4182 10.2828 17.2104 7 12.0001 7C6.81136 7 4.60029 10.2556 4.04308 11.9886Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.0001 10C10.8955 10 10.0001 10.8954 10.0001 12C10.0001 13.1046 10.8955 14 12.0001 14C13.1046 14 14.0001 13.1046 14.0001 12C14.0001 10.8954 13.1046 10 12.0001 10ZM8.00008 12C8.00008 9.79086 9.79094 8 12.0001 8C14.2092 8 16.0001 9.79086 16.0001 12C16.0001 14.2091 14.2092 16 12.0001 16C9.79094 16 8.00008 14.2091 8.00008 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgEyeVisible;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgIconSlot = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12ZM23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgIconSlot;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgSearch = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11 4C7.13401 4 4 7.13401 4 11C4 14.866 7.13401 18 11 18C14.866 18 18 14.866 18 11C18 7.13401 14.866 4 11 4ZM2 11C2 6.02944 6.02944 2 11 2C15.9706 2 20 6.02944 20 11C20 15.9706 15.9706 20 11 20C6.02944 20 2 15.9706 2 11Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.9929 15.9929C16.3834 15.6024 17.0166 15.6024 17.4071 15.9929L21.7071 20.2929C22.0976 20.6834 22.0976 21.3166 21.7071 21.7071C21.3166 22.0976 20.6834 22.0976 20.2929 21.7071L15.9929 17.4071C15.6024 17.0166 15.6024 16.3834 15.9929 15.9929Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgSearch;\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\nimport { resolveSize } from '../shared/types';\n\nconst SvgUser = ({ size = 16, ...props }: ReactIconProps) => {\n const sizeValue = resolveSize(size);\n \n return (\n <svg\n width={sizeValue} height={sizeValue}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.46447 15.4645C6.40215 14.5268 7.67392 14 9 14H15C16.3261 14 17.5979 14.5268 18.5355 15.4645C19.4732 16.4021 20 17.6739 20 19V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19C18 18.2044 17.6839 17.4413 17.1213 16.8787C16.5587 16.3161 15.7956 16 15 16H9C8.20435 16 7.44129 16.3161 6.87868 16.8787C6.31607 17.4413 6 18.2043 6 19V21C6 21.5523 5.55228 22 5 22C4.44772 22 4 21.5523 4 21V19C4 17.6739 4.52678 16.4021 5.46447 15.4645Z\"\n fill=\"currentColor\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7C15 5.34315 13.6569 4 12 4ZM7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default SvgUser;\n","// Auto-generated exports\nexport { default as ArrowLeft } from './ArrowLeft';\nexport { default as Cancel } from './Cancel';\nexport { default as Check } from './Check';\nexport { default as Edit } from './Edit';\nexport { default as EyeHidden } from './EyeHidden';\nexport { default as EyeVisible } from './EyeVisible';\nexport { default as IconSlot } from './IconSlot';\nexport { default as Search } from './Search';\nexport { default as User } from './User';\n\n// Unified Icon component\nexport { default as Icon } from './Icon';\nexport type { IconName, IconProps } from './Icon';\n\n // Export types\nexport type {\n IconSize,\n IconSizeToken,\n ReactIconProps,\n} from '../shared/types';\n\nexport { ICON_SIZES, resolveSize } from '../shared/types';\n","import * as React from 'react';\nimport type { ReactIconProps } from '../shared/types';\n\n/**\n * Icon imports - using dynamic imports for tree-shaking\n * Auto-generated - do not edit manually\n */\n// Icon: arrow-left\n// Icon: cancel\n// Icon: check\n// Icon: edit\n// Icon: eye-hidden\n// Icon: eye-visible\n// Icon: icon-slot\n// Icon: search\n// Icon: user\n\n/**\n * Available icon names\n */\nexport type IconName = 'arrow-left' | 'cancel' | 'check' | 'edit' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';\n\n/**\n * Props for the unified Icon component\n */\nexport interface IconProps extends Omit<ReactIconProps, 'size'> {\n name: IconName;\n size?: ReactIconProps['size'];\n color?: string;\n}\n\n/**\n * Loads an icon component dynamically\n * This pattern allows bundlers to tree-shake unused icons\n * \n * Icons use default exports (export default SvgIconName),\n * so we access .default from the dynamic import result\n */\nfunction loadIcon(name: IconName): Promise<React.ComponentType<any>> {\n switch (name) {\n case 'arrow-left':\n return import('./ArrowLeft').then(m => m.default);\n case 'cancel':\n return import('./Cancel').then(m => m.default);\n case 'check':\n return import('./Check').then(m => m.default);\n case 'edit':\n return import('./Edit').then(m => m.default);\n case 'eye-hidden':\n return import('./EyeHidden').then(m => m.default);\n case 'eye-visible':\n return import('./EyeVisible').then(m => m.default);\n case 'icon-slot':\n return import('./IconSlot').then(m => m.default);\n case 'search':\n return import('./Search').then(m => m.default);\n case 'user':\n return import('./User').then(m => m.default);\n default:\n return Promise.reject(new Error(`Icon \"${name}\" not found`));\n }\n}\n\n/**\n * Unified Icon component that renders icons by name\n * Uses dynamic imports for tree-shaking support\n */\nconst Icon = ({ name, size = 16, color, ...props }: IconProps) => {\n const [IconComponent, setIconComponent] = React.useState<React.ComponentType<any> | null>(null);\n const [loading, setLoading] = React.useState(true);\n const [error, setError] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n setLoading(true);\n setError(null);\n \n loadIcon(name)\n .then((Component) => {\n setIconComponent(() => Component);\n setLoading(false);\n })\n .catch((err) => {\n console.warn(err.message);\n setError(err.message);\n setLoading(false);\n });\n }, [name]);\n\n if (loading) {\n return null; // Consider showing a placeholder\n }\n\n if (error || !IconComponent) {\n return null;\n }\n\n // Apply color via style prop if provided (SVGs use fill=\"currentColor\")\n const style = color \n ? { ...props.style, color } \n : props.style;\n\n return <IconComponent size={size} {...props} style={style} />;\n};\n\nexport default Icon;"],"mappings":"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","names":["React","React","React","React","React","React","React","React","React"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huspy-icons",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Cross-platform icon package for Huspy - React and React Native compatible",
5
5
  "author": "Huspy",
6
6
  "license": "MIT",
@@ -46,7 +46,11 @@
46
46
  "gen": "npm run svgo && npm run gen:react && npm run gen:native && npm run gen:types",
47
47
  "build": "tsup",
48
48
  "prepare": "npm run svgo && npm run gen:react && npm run gen:native && npm run gen:types && npm run build",
49
- "typecheck": "tsc --noEmit"
49
+ "typecheck": "tsc --noEmit",
50
+ "version:patch": "node scripts/bump-version.js patch",
51
+ "version:minor": "node scripts/bump-version.js minor",
52
+ "version:major": "node scripts/bump-version.js major",
53
+ "postversion": "git push && git push --tags"
50
54
  },
51
55
  "devDependencies": {
52
56
  "@svgr/cli": "^8.1.0",
@@ -4,7 +4,7 @@
4
4
  /**
5
5
  * Available icon names in the HuspyIcons font
6
6
  */
7
- export type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'check' | 'cancel' | 'arrow-left';
7
+ export type IconName = 'user' | 'search' | 'icon-slot' | 'eye-visible' | 'eye-hidden' | 'edit' | 'check' | 'cancel' | 'arrow-left';
8
8
 
9
9
  /**
10
10
  * Mapping of icon names to unicode codepoints
@@ -16,9 +16,10 @@ export const glyphMap: Record<IconName, number> = {
16
16
  "icon-slot": 61699,
17
17
  "eye-visible": 61700,
18
18
  "eye-hidden": 61701,
19
- "check": 61702,
20
- "cancel": 61703,
21
- "arrow-left": 61704
19
+ "edit": 61702,
20
+ "check": 61703,
21
+ "cancel": 61704,
22
+ "arrow-left": 61705
22
23
  };
23
24
 
24
25
  /**
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import type { ReactIconProps } from '../shared/types';
3
+ import { resolveSize } from '../shared/types';
4
+
5
+ const SvgEdit = ({ size = 16, ...props }: ReactIconProps) => {
6
+ const sizeValue = resolveSize(size);
7
+
8
+ return (
9
+ <svg
10
+ width={sizeValue} height={sizeValue}
11
+ viewBox="0 0 24 24"
12
+ fill="none"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ {...props}
15
+ >
16
+ <path
17
+ fillRule="evenodd"
18
+ clipRule="evenodd"
19
+ d="M19.8596 3.11765C19.6197 3.02426 19.3627 2.98143 19.1049 2.99207C18.8471 3.00271 18.5946 3.06656 18.3636 3.1793C18.1325 3.29203 17.9282 3.45107 17.7634 3.64587C17.7455 3.66702 17.7267 3.68742 17.7071 3.70701L4.39491 17.0192L3.42524 20.5747L6.9807 19.605L20.2929 6.2928C20.3158 6.26991 20.3398 6.24815 20.3648 6.22759C20.5625 6.06494 20.7235 5.86358 20.8378 5.6366C20.9522 5.40964 21.0174 5.16186 21.0298 4.90899C21.0422 4.65612 21.0014 4.40333 20.9099 4.16664C20.8183 3.92993 20.6779 3.71425 20.4972 3.53353C20.3165 3.3528 20.0994 3.21103 19.8596 3.11765ZM19.0224 0.993769C19.5557 0.971764 20.088 1.06031 20.5852 1.25394C21.0825 1.44757 21.5343 1.74216 21.9114 2.11932C22.2886 2.4965 22.5829 2.948 22.7752 3.44525C22.9676 3.94252 23.0535 4.47436 23.0274 5.00678C23.0014 5.5392 22.8639 6.06014 22.624 6.53634C22.392 6.99698 22.0692 7.4058 21.6754 7.73877L8.20713 21.207C8.08407 21.3301 7.93104 21.4189 7.76314 21.4647L2.26314 22.9647C1.91693 23.0591 1.54667 22.9608 1.29292 22.707C1.03917 22.4533 0.940838 22.083 1.03526 21.7368L2.53526 16.2368C2.58105 16.0689 2.66986 15.9159 2.79292 15.7928L16.2657 2.31998C16.605 1.92839 17.0203 1.60935 17.4865 1.38187C17.9661 1.14787 18.4891 1.01577 19.0224 0.993769Z"
20
+ fill="currentColor"
21
+ />
22
+ <path
23
+ fillRule="evenodd"
24
+ clipRule="evenodd"
25
+ d="M14.2929 4.29289C14.6834 3.90237 15.3166 3.90237 15.7071 4.29289L19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711C19.3166 10.0976 18.6834 10.0976 18.2929 9.70711L14.2929 5.70711C13.9024 5.31658 13.9024 4.68342 14.2929 4.29289Z"
26
+ fill="currentColor"
27
+ />
28
+ </svg>
29
+ );
30
+ };
31
+
32
+ export default SvgEdit;
@@ -8,6 +8,7 @@ import type { ReactIconProps } from '../shared/types';
8
8
  // Icon: arrow-left
9
9
  // Icon: cancel
10
10
  // Icon: check
11
+ // Icon: edit
11
12
  // Icon: eye-hidden
12
13
  // Icon: eye-visible
13
14
  // Icon: icon-slot
@@ -17,7 +18,7 @@ import type { ReactIconProps } from '../shared/types';
17
18
  /**
18
19
  * Available icon names
19
20
  */
20
- export type IconName = 'arrow-left' | 'cancel' | 'check' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
21
+ export type IconName = 'arrow-left' | 'cancel' | 'check' | 'edit' | 'eye-hidden' | 'eye-visible' | 'icon-slot' | 'search' | 'user';
21
22
 
22
23
  /**
23
24
  * Props for the unified Icon component
@@ -43,6 +44,8 @@ function loadIcon(name: IconName): Promise<React.ComponentType<any>> {
43
44
  return import('./Cancel').then(m => m.default);
44
45
  case 'check':
45
46
  return import('./Check').then(m => m.default);
47
+ case 'edit':
48
+ return import('./Edit').then(m => m.default);
46
49
  case 'eye-hidden':
47
50
  return import('./EyeHidden').then(m => m.default);
48
51
  case 'eye-visible':
@@ -2,6 +2,7 @@
2
2
  export { default as ArrowLeft } from './ArrowLeft';
3
3
  export { default as Cancel } from './Cancel';
4
4
  export { default as Check } from './Check';
5
+ export { default as Edit } from './Edit';
5
6
  export { default as EyeHidden } from './EyeHidden';
6
7
  export { default as EyeVisible } from './EyeVisible';
7
8
  export { default as IconSlot } from './IconSlot';
@@ -1,6 +1,7 @@
1
1
  export { default as ArrowLeft } from './ArrowLeft';
2
2
  export { default as Cancel } from './Cancel';
3
3
  export { default as Check } from './Check';
4
+ export { default as Edit } from './Edit';
4
5
  export { default as EyeHidden } from './EyeHidden';
5
6
  export { default as EyeVisible } from './EyeVisible';
6
7
  export { default as IconSlot } from './IconSlot';