@damarkuncoro/ui-library 0.0.1

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.
Files changed (165) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -0
  3. package/lib/cjs/components/button/button-base.d.ts +3 -0
  4. package/lib/cjs/components/button/button-base.d.ts.map +1 -0
  5. package/lib/cjs/components/button/button-base.js +21 -0
  6. package/lib/cjs/components/button/button-base.js.map +1 -0
  7. package/lib/cjs/components/button/button-contract.d.ts +54 -0
  8. package/lib/cjs/components/button/button-contract.d.ts.map +1 -0
  9. package/lib/cjs/components/button/button-contract.js +32 -0
  10. package/lib/cjs/components/button/button-contract.js.map +1 -0
  11. package/lib/cjs/components/button/button-examples.d.ts +11 -0
  12. package/lib/cjs/components/button/button-examples.d.ts.map +1 -0
  13. package/lib/cjs/components/button/button-examples.js +67 -0
  14. package/lib/cjs/components/button/button-examples.js.map +1 -0
  15. package/lib/cjs/components/button/button-skin-contract.d.ts +133 -0
  16. package/lib/cjs/components/button/button-skin-contract.d.ts.map +1 -0
  17. package/lib/cjs/components/button/button-skin-contract.js +118 -0
  18. package/lib/cjs/components/button/button-skin-contract.js.map +1 -0
  19. package/lib/cjs/components/button/button-skin-native.d.ts +3 -0
  20. package/lib/cjs/components/button/button-skin-native.d.ts.map +1 -0
  21. package/lib/cjs/components/button/button-skin-native.js +62 -0
  22. package/lib/cjs/components/button/button-skin-native.js.map +1 -0
  23. package/lib/cjs/components/button/button-skin-tailwind.d.ts +15 -0
  24. package/lib/cjs/components/button/button-skin-tailwind.d.ts.map +1 -0
  25. package/lib/cjs/components/button/button-skin-tailwind.js +46 -0
  26. package/lib/cjs/components/button/button-skin-tailwind.js.map +1 -0
  27. package/lib/cjs/components/button/index.d.ts +8 -0
  28. package/lib/cjs/components/button/index.d.ts.map +1 -0
  29. package/lib/cjs/components/button/index.js +28 -0
  30. package/lib/cjs/components/button/index.js.map +1 -0
  31. package/lib/cjs/components/input/index.d.ts +8 -0
  32. package/lib/cjs/components/input/index.d.ts.map +1 -0
  33. package/lib/cjs/components/input/index.js +28 -0
  34. package/lib/cjs/components/input/index.js.map +1 -0
  35. package/lib/cjs/components/input/input-base.d.ts +9 -0
  36. package/lib/cjs/components/input/input-base.d.ts.map +1 -0
  37. package/lib/cjs/components/input/input-base.js +17 -0
  38. package/lib/cjs/components/input/input-base.js.map +1 -0
  39. package/lib/cjs/components/input/input-contract.d.ts +40 -0
  40. package/lib/cjs/components/input/input-contract.d.ts.map +1 -0
  41. package/lib/cjs/components/input/input-contract.js +32 -0
  42. package/lib/cjs/components/input/input-contract.js.map +1 -0
  43. package/lib/cjs/components/input/input-examples.d.ts +12 -0
  44. package/lib/cjs/components/input/input-examples.d.ts.map +1 -0
  45. package/lib/cjs/components/input/input-examples.js +67 -0
  46. package/lib/cjs/components/input/input-examples.js.map +1 -0
  47. package/lib/cjs/components/input/input-skin-contract.d.ts +93 -0
  48. package/lib/cjs/components/input/input-skin-contract.d.ts.map +1 -0
  49. package/lib/cjs/components/input/input-skin-contract.js +97 -0
  50. package/lib/cjs/components/input/input-skin-contract.js.map +1 -0
  51. package/lib/cjs/components/input/input-skin-native.d.ts +3 -0
  52. package/lib/cjs/components/input/input-skin-native.d.ts.map +1 -0
  53. package/lib/cjs/components/input/input-skin-native.js +68 -0
  54. package/lib/cjs/components/input/input-skin-native.js.map +1 -0
  55. package/lib/cjs/components/input/input-skin-tailwind.d.ts +18 -0
  56. package/lib/cjs/components/input/input-skin-tailwind.d.ts.map +1 -0
  57. package/lib/cjs/components/input/input-skin-tailwind.js +49 -0
  58. package/lib/cjs/components/input/input-skin-tailwind.js.map +1 -0
  59. package/lib/cjs/index.d.ts +4 -0
  60. package/lib/cjs/index.d.ts.map +1 -0
  61. package/lib/cjs/index.js +20 -0
  62. package/lib/cjs/index.js.map +1 -0
  63. package/lib/cjs/package.json +1 -0
  64. package/lib/cjs/test-setup.d.ts +2 -0
  65. package/lib/cjs/test-setup.d.ts.map +1 -0
  66. package/lib/cjs/test-setup.js +4 -0
  67. package/lib/cjs/test-setup.js.map +1 -0
  68. package/lib/cjs/theme/design-tokens.d.ts +200 -0
  69. package/lib/cjs/theme/design-tokens.d.ts.map +1 -0
  70. package/lib/cjs/theme/design-tokens.js +177 -0
  71. package/lib/cjs/theme/design-tokens.js.map +1 -0
  72. package/lib/cjs/theme/index.d.ts +3 -0
  73. package/lib/cjs/theme/index.d.ts.map +1 -0
  74. package/lib/cjs/theme/index.js +19 -0
  75. package/lib/cjs/theme/index.js.map +1 -0
  76. package/lib/cjs/theme/theme-provider.d.ts +16 -0
  77. package/lib/cjs/theme/theme-provider.d.ts.map +1 -0
  78. package/lib/cjs/theme/theme-provider.js +39 -0
  79. package/lib/cjs/theme/theme-provider.js.map +1 -0
  80. package/lib/cjs/usage-example.d.ts +2 -0
  81. package/lib/cjs/usage-example.d.ts.map +1 -0
  82. package/lib/cjs/usage-example.js +13 -0
  83. package/lib/cjs/usage-example.js.map +1 -0
  84. package/lib/esm/components/button/button-base.d.ts +3 -0
  85. package/lib/esm/components/button/button-base.d.ts.map +1 -0
  86. package/lib/esm/components/button/button-base.js +18 -0
  87. package/lib/esm/components/button/button-base.js.map +1 -0
  88. package/lib/esm/components/button/button-contract.d.ts +54 -0
  89. package/lib/esm/components/button/button-contract.d.ts.map +1 -0
  90. package/lib/esm/components/button/button-contract.js +29 -0
  91. package/lib/esm/components/button/button-contract.js.map +1 -0
  92. package/lib/esm/components/button/button-examples.d.ts +11 -0
  93. package/lib/esm/components/button/button-examples.d.ts.map +1 -0
  94. package/lib/esm/components/button/button-examples.js +52 -0
  95. package/lib/esm/components/button/button-examples.js.map +1 -0
  96. package/lib/esm/components/button/button-skin-contract.d.ts +133 -0
  97. package/lib/esm/components/button/button-skin-contract.d.ts.map +1 -0
  98. package/lib/esm/components/button/button-skin-contract.js +115 -0
  99. package/lib/esm/components/button/button-skin-contract.js.map +1 -0
  100. package/lib/esm/components/button/button-skin-native.d.ts +3 -0
  101. package/lib/esm/components/button/button-skin-native.d.ts.map +1 -0
  102. package/lib/esm/components/button/button-skin-native.js +59 -0
  103. package/lib/esm/components/button/button-skin-native.js.map +1 -0
  104. package/lib/esm/components/button/button-skin-tailwind.d.ts +15 -0
  105. package/lib/esm/components/button/button-skin-tailwind.d.ts.map +1 -0
  106. package/lib/esm/components/button/button-skin-tailwind.js +43 -0
  107. package/lib/esm/components/button/button-skin-tailwind.js.map +1 -0
  108. package/lib/esm/components/button/index.d.ts +8 -0
  109. package/lib/esm/components/button/index.d.ts.map +1 -0
  110. package/lib/esm/components/button/index.js +8 -0
  111. package/lib/esm/components/button/index.js.map +1 -0
  112. package/lib/esm/components/input/index.d.ts +8 -0
  113. package/lib/esm/components/input/index.d.ts.map +1 -0
  114. package/lib/esm/components/input/index.js +8 -0
  115. package/lib/esm/components/input/index.js.map +1 -0
  116. package/lib/esm/components/input/input-base.d.ts +9 -0
  117. package/lib/esm/components/input/input-base.d.ts.map +1 -0
  118. package/lib/esm/components/input/input-base.js +14 -0
  119. package/lib/esm/components/input/input-base.js.map +1 -0
  120. package/lib/esm/components/input/input-contract.d.ts +40 -0
  121. package/lib/esm/components/input/input-contract.d.ts.map +1 -0
  122. package/lib/esm/components/input/input-contract.js +29 -0
  123. package/lib/esm/components/input/input-contract.js.map +1 -0
  124. package/lib/esm/components/input/input-examples.d.ts +12 -0
  125. package/lib/esm/components/input/input-examples.d.ts.map +1 -0
  126. package/lib/esm/components/input/input-examples.js +51 -0
  127. package/lib/esm/components/input/input-examples.js.map +1 -0
  128. package/lib/esm/components/input/input-skin-contract.d.ts +93 -0
  129. package/lib/esm/components/input/input-skin-contract.d.ts.map +1 -0
  130. package/lib/esm/components/input/input-skin-contract.js +94 -0
  131. package/lib/esm/components/input/input-skin-contract.js.map +1 -0
  132. package/lib/esm/components/input/input-skin-native.d.ts +3 -0
  133. package/lib/esm/components/input/input-skin-native.d.ts.map +1 -0
  134. package/lib/esm/components/input/input-skin-native.js +65 -0
  135. package/lib/esm/components/input/input-skin-native.js.map +1 -0
  136. package/lib/esm/components/input/input-skin-tailwind.d.ts +18 -0
  137. package/lib/esm/components/input/input-skin-tailwind.d.ts.map +1 -0
  138. package/lib/esm/components/input/input-skin-tailwind.js +46 -0
  139. package/lib/esm/components/input/input-skin-tailwind.js.map +1 -0
  140. package/lib/esm/index.d.ts +4 -0
  141. package/lib/esm/index.d.ts.map +1 -0
  142. package/lib/esm/index.js +4 -0
  143. package/lib/esm/index.js.map +1 -0
  144. package/lib/esm/package.json +1 -0
  145. package/lib/esm/test-setup.d.ts +2 -0
  146. package/lib/esm/test-setup.d.ts.map +1 -0
  147. package/lib/esm/test-setup.js +2 -0
  148. package/lib/esm/test-setup.js.map +1 -0
  149. package/lib/esm/theme/design-tokens.d.ts +200 -0
  150. package/lib/esm/theme/design-tokens.d.ts.map +1 -0
  151. package/lib/esm/theme/design-tokens.js +174 -0
  152. package/lib/esm/theme/design-tokens.js.map +1 -0
  153. package/lib/esm/theme/index.d.ts +3 -0
  154. package/lib/esm/theme/index.d.ts.map +1 -0
  155. package/lib/esm/theme/index.js +3 -0
  156. package/lib/esm/theme/index.js.map +1 -0
  157. package/lib/esm/theme/theme-provider.d.ts +16 -0
  158. package/lib/esm/theme/theme-provider.d.ts.map +1 -0
  159. package/lib/esm/theme/theme-provider.js +34 -0
  160. package/lib/esm/theme/theme-provider.js.map +1 -0
  161. package/lib/esm/usage-example.d.ts +2 -0
  162. package/lib/esm/usage-example.d.ts.map +1 -0
  163. package/lib/esm/usage-example.js +10 -0
  164. package/lib/esm/usage-example.js.map +1 -0
  165. package/package.json +48 -0
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokens = exports.themes = exports.cssVars = exports.palette = void 0;
4
+ exports.palette = {
5
+ blue: {
6
+ 400: '#60A5FA',
7
+ 500: '#3B82F6',
8
+ 600: '#2563EB',
9
+ 700: '#1D4ED8',
10
+ 800: '#1E40AF',
11
+ },
12
+ gray: {
13
+ 50: '#F9FAFB',
14
+ 100: '#F3F4F6',
15
+ 200: '#E5E7EB',
16
+ 300: '#D1D5DB',
17
+ 400: '#9CA3AF',
18
+ 500: '#6B7280',
19
+ 600: '#4B5563',
20
+ 700: '#374151',
21
+ 800: '#1F2937',
22
+ 900: '#111827',
23
+ },
24
+ red: {
25
+ 400: '#F87171',
26
+ 500: '#EF4444',
27
+ 600: '#DC2626',
28
+ 700: '#B91C1C',
29
+ 900: '#7F1D1D',
30
+ },
31
+ white: '#FFFFFF',
32
+ black: '#000000',
33
+ transparent: 'transparent',
34
+ };
35
+ exports.cssVars = {
36
+ colors: {
37
+ primary: {
38
+ main: 'var(--color-primary-main)',
39
+ hover: 'var(--color-primary-hover)',
40
+ focus: 'var(--color-primary-focus)',
41
+ contrastText: 'var(--color-primary-contrast)',
42
+ },
43
+ secondary: {
44
+ main: 'var(--color-secondary-main)',
45
+ hover: 'var(--color-secondary-hover)',
46
+ focus: 'var(--color-secondary-focus)',
47
+ contrastText: 'var(--color-secondary-contrast)',
48
+ },
49
+ danger: {
50
+ main: 'var(--color-danger-main)',
51
+ hover: 'var(--color-danger-hover)',
52
+ focus: 'var(--color-danger-focus)',
53
+ contrastText: 'var(--color-danger-contrast)',
54
+ },
55
+ neutral: {
56
+ border: 'var(--color-neutral-border)',
57
+ text: 'var(--color-neutral-text)',
58
+ textSecondary: 'var(--color-neutral-text-secondary)',
59
+ bg: 'var(--color-neutral-bg)',
60
+ bgSurface: 'var(--color-neutral-bg-surface)',
61
+ }
62
+ },
63
+ shadows: {
64
+ focusRing: 'var(--shadow-focus-ring)',
65
+ }
66
+ };
67
+ exports.themes = {
68
+ light: {
69
+ '--color-primary-main': exports.palette.blue[600],
70
+ '--color-primary-hover': exports.palette.blue[700],
71
+ '--color-primary-focus': exports.palette.blue[500],
72
+ '--color-primary-contrast': exports.palette.white,
73
+ '--color-secondary-main': exports.palette.gray[100],
74
+ '--color-secondary-hover': exports.palette.gray[200],
75
+ '--color-secondary-focus': exports.palette.gray[500],
76
+ '--color-secondary-contrast': exports.palette.gray[900],
77
+ '--color-danger-main': exports.palette.red[600],
78
+ '--color-danger-hover': exports.palette.red[700],
79
+ '--color-danger-focus': exports.palette.red[500],
80
+ '--color-danger-contrast': exports.palette.white,
81
+ '--color-neutral-border': exports.palette.gray[300],
82
+ '--color-neutral-text': exports.palette.gray[700],
83
+ '--color-neutral-text-secondary': exports.palette.gray[500],
84
+ '--color-neutral-bg': exports.palette.gray[50],
85
+ '--color-neutral-bg-surface': exports.palette.white,
86
+ '--shadow-focus-ring': '0 0 0 2px',
87
+ },
88
+ dark: {
89
+ '--color-primary-main': exports.palette.blue[500],
90
+ '--color-primary-hover': exports.palette.blue[400],
91
+ '--color-primary-focus': exports.palette.blue[600],
92
+ '--color-primary-contrast': exports.palette.white,
93
+ '--color-secondary-main': exports.palette.gray[800],
94
+ '--color-secondary-hover': exports.palette.gray[700],
95
+ '--color-secondary-focus': exports.palette.gray[600],
96
+ '--color-secondary-contrast': exports.palette.gray[100],
97
+ '--color-danger-main': exports.palette.red[500],
98
+ '--color-danger-hover': exports.palette.red[400],
99
+ '--color-danger-focus': exports.palette.red[600],
100
+ '--color-danger-contrast': exports.palette.white,
101
+ '--color-neutral-border': exports.palette.gray[600],
102
+ '--color-neutral-text': exports.palette.gray[100],
103
+ '--color-neutral-text-secondary': exports.palette.gray[400],
104
+ '--color-neutral-bg': exports.palette.gray[900],
105
+ '--color-neutral-bg-surface': exports.palette.gray[800],
106
+ '--shadow-focus-ring': '0 0 0 2px',
107
+ }
108
+ };
109
+ exports.tokens = {
110
+ colors: {
111
+ ...exports.cssVars.colors,
112
+ transparent: 'transparent',
113
+ white: '#FFFFFF',
114
+ black: '#000000',
115
+ },
116
+ shadows: exports.cssVars.shadows,
117
+ ui: {
118
+ outlineOffset: '2px',
119
+ outlineWidth: '2px',
120
+ },
121
+ borderRadius: {
122
+ sm: '4px',
123
+ md: '6px',
124
+ lg: '8px',
125
+ full: '9999px',
126
+ },
127
+ spacing: {
128
+ 2: '8px',
129
+ 3: '12px',
130
+ 4: '16px',
131
+ 6: '24px',
132
+ },
133
+ sizing: {
134
+ 8: '32px',
135
+ 10: '40px',
136
+ 12: '48px',
137
+ icon: {
138
+ sm: '14px',
139
+ md: '16px',
140
+ lg: '20px',
141
+ },
142
+ },
143
+ typography: {
144
+ fontFamily: {
145
+ sans: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
146
+ mono: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
147
+ },
148
+ fontSize: {
149
+ xs: '0.75rem',
150
+ sm: '0.875rem',
151
+ base: '1rem',
152
+ lg: '1.125rem',
153
+ xl: '1.25rem',
154
+ },
155
+ fontWeight: {
156
+ normal: '400',
157
+ medium: '500',
158
+ semibold: '600',
159
+ bold: '700',
160
+ },
161
+ lineHeight: {
162
+ none: '1',
163
+ tight: '1.25',
164
+ snug: '1.375',
165
+ normal: '1.5',
166
+ relaxed: '1.625',
167
+ loose: '2',
168
+ }
169
+ },
170
+ opacity: {
171
+ disabled: '0.5',
172
+ },
173
+ transition: {
174
+ base: 'all 0.2s ease',
175
+ }
176
+ };
177
+ //# sourceMappingURL=design-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../../src/theme/design-tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './design-tokens';
2
+ export * from './theme-provider';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./design-tokens"), exports);
18
+ __exportStar(require("./theme-provider"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,16 @@
1
+ import React, { ReactNode } from 'react';
2
+ type ThemeMode = 'light' | 'dark';
3
+ interface ThemeContextType {
4
+ mode: ThemeMode;
5
+ setMode: (mode: ThemeMode) => void;
6
+ toggleMode: () => void;
7
+ }
8
+ interface ThemeProviderProps {
9
+ children: ReactNode;
10
+ defaultMode?: ThemeMode;
11
+ themeOverrides?: Partial<Record<ThemeMode, Record<string, string>>>;
12
+ }
13
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
14
+ export declare const useTheme: () => ThemeContextType;
15
+ export {};
16
+ //# sourceMappingURL=theme-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../../src/theme/theme-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzF,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAElC,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAID,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsCtD,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,gBAM3B,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTheme = exports.ThemeProvider = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const design_tokens_1 = require("./design-tokens");
7
+ const ThemeContext = (0, react_1.createContext)(undefined);
8
+ const ThemeProvider = ({ children, defaultMode = 'light', themeOverrides = {} }) => {
9
+ const [mode, setMode] = (0, react_1.useState)(defaultMode);
10
+ (0, react_1.useEffect)(() => {
11
+ const root = document.documentElement;
12
+ const defaultThemeValues = design_tokens_1.themes[mode];
13
+ const overrideValues = themeOverrides[mode] || {};
14
+ const finalThemeValues = { ...defaultThemeValues, ...overrideValues };
15
+ Object.entries(finalThemeValues).forEach(([key, value]) => {
16
+ root.style.setProperty(key, value);
17
+ });
18
+ if (mode === 'dark') {
19
+ root.classList.add('dark');
20
+ }
21
+ else {
22
+ root.classList.remove('dark');
23
+ }
24
+ }, [mode]);
25
+ const toggleMode = () => {
26
+ setMode((prev) => (prev === 'light' ? 'dark' : 'light'));
27
+ };
28
+ return ((0, jsx_runtime_1.jsx)(ThemeContext.Provider, { value: { mode, setMode, toggleMode }, children: children }));
29
+ };
30
+ exports.ThemeProvider = ThemeProvider;
31
+ const useTheme = () => {
32
+ const context = (0, react_1.useContext)(ThemeContext);
33
+ if (!context) {
34
+ throw new Error('useTheme must be used within a ThemeProvider');
35
+ }
36
+ return context;
37
+ };
38
+ exports.useTheme = useTheme;
39
+ //# sourceMappingURL=theme-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.js","sourceRoot":"","sources":["../../../src/theme/theme-provider.tsx"],"names":[],"mappings":";;;;AAAA,iCAAyF;AACzF,mDAAyC;AAUzC,MAAM,YAAY,GAAG,IAAA,qBAAa,EAA+B,SAAS,CAAC,CAAC;AAQrE,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,WAAW,GAAG,OAAO,EACrB,cAAc,GAAG,EAAE,EACpB,EAAE,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAY,WAAW,CAAC,CAAC;IAGzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,MAAM,kBAAkB,GAAG,sBAAM,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAElD,MAAM,gBAAgB,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,cAAc,EAAE,CAAC;QAEtE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAIH,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IAEH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,YACxD,QAAQ,GACa,CACzB,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,aAAa,iBAsCxB;AAEK,MAAM,QAAQ,GAAG,GAAqB,EAAE;IAC7C,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB"}
@@ -0,0 +1,2 @@
1
+ export declare function App(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=usage-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-example.d.ts","sourceRoot":"","sources":["../../src/usage-example.tsx"],"names":[],"mappings":"AAwFA,wBAAgB,GAAG,4CAMlB"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.App = App;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const index_1 = require("./index");
6
+ const DemoContent = () => {
7
+ const { mode, toggleMode } = (0, index_1.useTheme)();
8
+ return ((0, jsx_runtime_1.jsx)("div", { className: `min-h-screen p-8 transition-colors duration-300 ${mode === 'dark' ? 'bg-gray-900 text-white' : 'bg-gray-50 text-gray-900'}`, children: (0, jsx_runtime_1.jsxs)("div", { className: "max-w-3xl mx-auto space-y-12", children: [(0, jsx_runtime_1.jsxs)("header", { className: "flex items-center justify-between border-b border-gray-200 pb-6 dark:border-gray-700", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-3xl font-bold", children: "UI Library Demo" }), (0, jsx_runtime_1.jsxs)("p", { className: "mt-2 text-gray-500 dark:text-gray-400", children: ["Powered by ", (0, jsx_runtime_1.jsx)("span", { className: "font-semibold text-primary-main", children: "Global Design Tokens" }), " \u2022 Current Theme: ", (0, jsx_runtime_1.jsx)("span", { className: "font-mono font-bold uppercase", children: mode })] })] }), (0, jsx_runtime_1.jsx)(index_1.Button, { onClick: toggleMode, variant: "outline", children: mode === 'light' ? '🌙 Switch to Dark' : '☀️ Switch to Light' })] }), (0, jsx_runtime_1.jsxs)("section", { className: "space-y-4", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-xl font-semibold", children: "1. Buttons (Themed)" }), (0, jsx_runtime_1.jsx)("p", { className: "text-gray-600 dark:text-gray-400", children: "These buttons automatically adapt to the current theme colors." }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-4 p-6 bg-white rounded-lg shadow-sm border border-gray-100 dark:bg-gray-800 dark:border-gray-700", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-4 items-center", children: [(0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", children: "Primary" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "secondary", children: "Secondary" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "outline", children: "Outline" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "ghost", children: "Ghost" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "danger", children: "Danger" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", disabled: true, children: "Disabled" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", isLoading: true, children: "Loading" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-4 items-center border-t border-gray-100 dark:border-gray-700 pt-4", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm text-gray-500 w-full sm:w-auto", children: "Sizes:" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", size: "sm", children: "Small" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", size: "md", children: "Medium" }), (0, jsx_runtime_1.jsx)(index_1.Button, { variant: "primary", size: "lg", children: "Large" })] })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "space-y-4", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-xl font-semibold", children: "2. Inputs (Themed)" }), (0, jsx_runtime_1.jsx)("p", { className: "text-gray-600 dark:text-gray-400", children: "Inputs with support for icons and validation states." }), (0, jsx_runtime_1.jsxs)("div", { className: "space-y-6 p-6 bg-white rounded-lg shadow-sm border border-gray-100 dark:bg-gray-800 dark:border-gray-700", children: [(0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [(0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Default Input" }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Filled Input", variant: "filled" }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Flushed Input", variant: "flushed" }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Invalid Input", isInvalid: true }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "With Left Icon", leftIcon: (0, jsx_runtime_1.jsx)("span", { children: "\uD83D\uDD0D" }) }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "With Right Icon", rightIcon: (0, jsx_runtime_1.jsx)("span", { children: "\uD83D\uDC41\uFE0F" }) }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Disabled Input", disabled: true })] }), (0, jsx_runtime_1.jsxs)("div", { className: "border-t border-gray-100 dark:border-gray-700 pt-4", children: [(0, jsx_runtime_1.jsx)("span", { className: "block mb-4 text-sm text-gray-500", children: "Sizes:" }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-6", children: [(0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Small Input", size: "sm" }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Medium Input", size: "md" }), (0, jsx_runtime_1.jsx)(index_1.Input, { placeholder: "Large Input", size: "lg" })] })] })] })] }), (0, jsx_runtime_1.jsxs)("section", { className: "space-y-4", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-xl font-semibold", children: "3. Native Components" }), (0, jsx_runtime_1.jsx)("p", { className: "text-gray-600 dark:text-gray-400", children: "Framework-agnostic components using inline styles." }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-4 items-center p-6 bg-white rounded-lg shadow-sm border border-gray-100 dark:bg-gray-800 dark:border-gray-700", children: [(0, jsx_runtime_1.jsx)(index_1.ButtonNative, { variant: "primary", children: "Native Primary" }), (0, jsx_runtime_1.jsx)(index_1.ButtonNative, { variant: "outline", children: "Native Outline" })] })] })] }) }));
9
+ };
10
+ function App() {
11
+ return ((0, jsx_runtime_1.jsx)(index_1.ThemeProvider, { defaultMode: "light", children: (0, jsx_runtime_1.jsx)(DemoContent, {}) }));
12
+ }
13
+ //# sourceMappingURL=usage-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-example.js","sourceRoot":"","sources":["../../src/usage-example.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ButtonContract } from './button-contract';
2
+ export declare const ButtonBase: import("react").ForwardRefExoticComponent<ButtonContract & import("react").RefAttributes<HTMLButtonElement>>;
3
+ //# sourceMappingURL=button-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-base.d.ts","sourceRoot":"","sources":["../../../../src/components/button/button-base.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAanD,eAAO,MAAM,UAAU,8GAuEtB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { buttonSkinContractDef } from './button-skin-contract';
4
+ export const ButtonBase = forwardRef(({ children, disabled, isLoading, leftIcon, rightIcon, type = 'button', className, ...props }, ref) => {
5
+ const isDisabled = disabled || isLoading;
6
+ const handleKeyDown = (event) => {
7
+ if (isDisabled)
8
+ return;
9
+ if (event.key === 'Enter' || event.key === ' ') {
10
+ event.preventDefault();
11
+ event.currentTarget.click();
12
+ }
13
+ props.onKeyDown?.(event);
14
+ };
15
+ return (_jsxs("button", { ref: ref, type: type, disabled: isDisabled, "aria-disabled": isDisabled, "aria-busy": isLoading, className: className, onKeyDown: handleKeyDown, ...props, children: [isLoading && (_jsx("span", { className: "button-loader-wrapper", "aria-hidden": "true", children: _jsx("span", { className: "button-loader" }) })), !isLoading && leftIcon && (_jsx("span", { className: "button-icon-left", "aria-hidden": buttonSkinContractDef.icons.ariaHidden, children: leftIcon })), _jsx("span", { className: "button-content", children: children }), !isLoading && rightIcon && (_jsx("span", { className: "button-icon-right", "aria-hidden": buttonSkinContractDef.icons.ariaHidden, children: rightIcon }))] }));
16
+ });
17
+ ButtonBase.displayName = 'ButtonBase';
18
+ //# sourceMappingURL=button-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-base.js","sourceRoot":"","sources":["../../../../src/components/button/button-base.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAY/D,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,CACE,EACE,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IAEF,MAAM,UAAU,GAAG,QAAQ,IAAI,SAAS,CAAC;IAGzC,MAAM,aAAa,GAAG,CAAC,KAA6C,EAAE,EAAE;QACtE,IAAI,UAAU;YAAE,OAAO;QAGvB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QAGD,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACL,kBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,mBACL,UAAU,eACd,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,aAAa,KACpB,KAAK,aAER,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,uBAAuB,iBAAa,MAAM,YAExD,eAAM,SAAS,EAAC,eAAe,GAAG,GAC7B,CACR,EAEA,CAAC,SAAS,IAAI,QAAQ,IAAI,CACzB,eACE,SAAS,EAAC,kBAAkB,iBACf,qBAAqB,CAAC,KAAK,CAAC,UAAU,YAElD,QAAQ,GACJ,CACR,EAED,eAAM,SAAS,EAAC,gBAAgB,YAAE,QAAQ,GAAQ,EAEjD,CAAC,SAAS,IAAI,SAAS,IAAI,CAC1B,eACE,SAAS,EAAC,mBAAmB,iBAChB,qBAAqB,CAAC,KAAK,CAAC,UAAU,YAElD,SAAS,GACL,CACR,IACM,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
2
+ export declare const buttonContractDef: {
3
+ readonly id: "contract_button_v1";
4
+ readonly name: "button";
5
+ readonly category: "ui.component";
6
+ readonly description: "A button component with various variants and sizes";
7
+ readonly variants: readonly [{
8
+ readonly name: "variant";
9
+ readonly type: "intent";
10
+ readonly values: readonly ["primary", "secondary", "outline", "ghost", "danger"];
11
+ readonly defaultValue: "primary";
12
+ readonly description: "Visual style of the button";
13
+ }, {
14
+ readonly name: "size";
15
+ readonly type: "size";
16
+ readonly values: readonly ["sm", "md", "lg"];
17
+ readonly defaultValue: "md";
18
+ readonly description: "Size of the button";
19
+ }];
20
+ readonly props: readonly [{
21
+ readonly name: "children";
22
+ readonly type: "object";
23
+ readonly required: true;
24
+ }, {
25
+ readonly name: "isLoading";
26
+ readonly type: "boolean";
27
+ readonly required: false;
28
+ readonly defaultValue: false;
29
+ }, {
30
+ readonly name: "leftIcon";
31
+ readonly type: "object";
32
+ readonly required: false;
33
+ }, {
34
+ readonly name: "rightIcon";
35
+ readonly type: "object";
36
+ readonly required: false;
37
+ }];
38
+ };
39
+ type ExtractValues<T, Name> = T extends ReadonlyArray<infer U> ? U extends {
40
+ name: Name;
41
+ values: ReadonlyArray<infer V>;
42
+ } ? V : never : never;
43
+ export type ButtonVariant = ExtractValues<typeof buttonContractDef.variants, "variant">;
44
+ export type ButtonSize = ExtractValues<typeof buttonContractDef.variants, "size">;
45
+ export interface ButtonContract extends ButtonHTMLAttributes<HTMLButtonElement> {
46
+ children: ReactNode;
47
+ variant?: ButtonVariant;
48
+ size?: ButtonSize;
49
+ isLoading?: boolean;
50
+ leftIcon?: ReactNode;
51
+ rightIcon?: ReactNode;
52
+ }
53
+ export {};
54
+ //# sourceMappingURL=button-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-contract.d.ts","sourceRoot":"","sources":["../../../../src/components/button/button-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAMxD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpB,CAAC;AAoBX,KAAK,aAAa,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC1D,CAAC,SAAS;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAMjF,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAMxF,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAKlF,MAAM,WAAW,cAAe,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAI7E,QAAQ,EAAE,SAAS,CAAC;IAMpB,OAAO,CAAC,EAAE,aAAa,CAAC;IAMxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAKlB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
@@ -0,0 +1,29 @@
1
+ export const buttonContractDef = {
2
+ id: "contract_button_v1",
3
+ name: "button",
4
+ category: "ui.component",
5
+ description: "A button component with various variants and sizes",
6
+ variants: [
7
+ {
8
+ name: "variant",
9
+ type: "intent",
10
+ values: ["primary", "secondary", "outline", "ghost", "danger"],
11
+ defaultValue: "primary",
12
+ description: "Visual style of the button"
13
+ },
14
+ {
15
+ name: "size",
16
+ type: "size",
17
+ values: ["sm", "md", "lg"],
18
+ defaultValue: "md",
19
+ description: "Size of the button"
20
+ }
21
+ ],
22
+ props: [
23
+ { name: "children", type: "object", required: true },
24
+ { name: "isLoading", type: "boolean", required: false, defaultValue: false },
25
+ { name: "leftIcon", type: "object", required: false },
26
+ { name: "rightIcon", type: "object", required: false }
27
+ ]
28
+ };
29
+ //# sourceMappingURL=button-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-contract.js","sourceRoot":"","sources":["../../../../src/components/button/button-contract.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC9D,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,4BAA4B;SAC1C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC1B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,oBAAoB;SAClC;KACF;IACD,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;QAC5E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QACrD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD;CACO,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare function ButtonVariantExamples(): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ButtonSizeExamples(): import("react/jsx-runtime").JSX.Element;
3
+ export declare function ButtonIconExamples(): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ButtonStateExamples(): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ButtonCombinedExamples(): import("react/jsx-runtime").JSX.Element;
6
+ export declare function ButtonNativeSkinExamples(): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ButtonInteractiveExamples(): import("react/jsx-runtime").JSX.Element;
8
+ export declare function ButtonAccessibilityExamples(): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ButtonCustomStylingExamples(): import("react/jsx-runtime").JSX.Element;
10
+ export declare function AllButtonExamples(): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=button-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-examples.d.ts","sourceRoot":"","sources":["../../../../src/components/button/button-examples.tsx"],"names":[],"mappings":"AAeA,wBAAgB,qBAAqB,4CAUpC;AAMD,wBAAgB,kBAAkB,4CAQjC;AAMD,wBAAgB,kBAAkB,4CAajC;AAMD,wBAAgB,mBAAmB,4CAQlC;AAMD,wBAAgB,sBAAsB,4CA8BrC;AAMD,wBAAgB,wBAAwB,4CA4BvC;AAMD,wBAAgB,yBAAyB,4CAwCxC;AAMD,wBAAgB,2BAA2B,4CAgB1C;AAMD,wBAAgB,2BAA2B,4CA4B1C;AAMD,wBAAgB,iBAAiB,4CAiDhC"}
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ButtonTailwind } from './button-skin-tailwind';
4
+ import { ButtonNative } from './button-skin-native';
5
+ export function ButtonVariantExamples() {
6
+ return (_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { variant: "primary", children: "Primary" }), _jsx(ButtonTailwind, { variant: "secondary", children: "Secondary" }), _jsx(ButtonTailwind, { variant: "outline", children: "Outline" }), _jsx(ButtonTailwind, { variant: "ghost", children: "Ghost" }), _jsx(ButtonTailwind, { variant: "danger", children: "Danger" })] }));
7
+ }
8
+ export function ButtonSizeExamples() {
9
+ return (_jsxs("div", { className: "flex gap-4 items-center flex-wrap", children: [_jsx(ButtonTailwind, { size: "sm", children: "Small" }), _jsx(ButtonTailwind, { size: "md", children: "Medium" }), _jsx(ButtonTailwind, { size: "lg", children: "Large" })] }));
10
+ }
11
+ export function ButtonIconExamples() {
12
+ return (_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { leftIcon: _jsx("span", { children: "\u2190" }), children: "Back" }), _jsx(ButtonTailwind, { rightIcon: _jsx("span", { children: "\u2192" }), children: "Next" }), _jsx(ButtonTailwind, { leftIcon: _jsx("span", { children: "\u2713" }), rightIcon: _jsx("span", { children: "\u2193" }), children: "Confirm" })] }));
13
+ }
14
+ export function ButtonStateExamples() {
15
+ return (_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { children: "Normal" }), _jsx(ButtonTailwind, { disabled: true, children: "Disabled" }), _jsx(ButtonTailwind, { isLoading: true, children: "Loading..." })] }));
16
+ }
17
+ export function ButtonCombinedExamples() {
18
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex gap-4 items-center flex-wrap", children: [_jsx(ButtonTailwind, { variant: "primary", size: "sm", children: "Small Primary" }), _jsx(ButtonTailwind, { variant: "primary", size: "md", children: "Medium Primary" }), _jsx(ButtonTailwind, { variant: "primary", size: "lg", children: "Large Primary" })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { variant: "secondary", leftIcon: _jsx("span", { children: "+" }), children: "Add" }), _jsx(ButtonTailwind, { variant: "secondary", rightIcon: _jsx("span", { children: "\u2715" }), children: "Close" })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { variant: "outline", children: "Normal" }), _jsx(ButtonTailwind, { variant: "outline", disabled: true, children: "Disabled" }), _jsx(ButtonTailwind, { variant: "outline", isLoading: true, children: "Loading..." })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { variant: "danger", leftIcon: _jsx("span", { children: "\u26A0" }), children: "Warning" }), _jsx(ButtonTailwind, { variant: "danger", rightIcon: _jsx("span", { children: "\uD83D\uDDD1" }), children: "Delete" })] })] }));
19
+ }
20
+ export function ButtonNativeSkinExamples() {
21
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonNative, { variant: "primary", children: "Primary Native" }), _jsx(ButtonNative, { variant: "secondary", children: "Secondary Native" }), _jsx(ButtonNative, { variant: "outline", children: "Outline Native" }), _jsx(ButtonNative, { variant: "ghost", children: "Ghost Native" }), _jsx(ButtonNative, { variant: "danger", children: "Danger Native" })] }), _jsxs("div", { className: "flex gap-4 items-center flex-wrap", children: [_jsx(ButtonNative, { size: "sm", children: "Small" }), _jsx(ButtonNative, { size: "md", children: "Medium" }), _jsx(ButtonNative, { size: "lg", children: "Large" })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonNative, { leftIcon: _jsx("span", { children: "\u2190" }), children: "Back" }), _jsx(ButtonNative, { rightIcon: _jsx("span", { children: "\u2192" }), children: "Next" })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonNative, { disabled: true, children: "Disabled" }), _jsx(ButtonNative, { isLoading: true, children: "Loading..." })] })] }));
22
+ }
23
+ export function ButtonInteractiveExamples() {
24
+ const [isLoading, setIsLoading] = React.useState(false);
25
+ const [count, setCount] = React.useState(0);
26
+ const handleClick = () => {
27
+ setIsLoading(true);
28
+ setTimeout(() => {
29
+ setIsLoading(false);
30
+ setCount(c => c + 1);
31
+ }, 1000);
32
+ };
33
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex gap-4 items-center flex-wrap", children: [_jsx(ButtonTailwind, { onClick: () => alert('Clicked!'), children: "Click Me" }), _jsx(ButtonTailwind, { isLoading: isLoading, onClick: handleClick, children: isLoading ? 'Loading...' : `Click to increment (${count})` })] }), _jsx("div", { className: "flex gap-4 items-center flex-wrap", children: _jsx(ButtonTailwind, { variant: "danger", onClick: () => {
34
+ if (confirm('Are you sure?')) {
35
+ alert('Deleted!');
36
+ }
37
+ }, children: "Delete with Confirmation" }) })] }));
38
+ }
39
+ export function ButtonAccessibilityExamples() {
40
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { "aria-label": "Close dialog", children: "\u2715" }), _jsx(ButtonTailwind, { "aria-describedby": "help-text", children: "Submit" })] }), _jsx("p", { id: "help-text", className: "text-sm text-gray-600", children: "This button submits the form" })] }));
41
+ }
42
+ export function ButtonCustomStylingExamples() {
43
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex gap-4 flex-wrap", children: [_jsx(ButtonTailwind, { className: "shadow-lg", children: "With Shadow" }), _jsx(ButtonTailwind, { className: "rounded-full", children: "Rounded Full" }), _jsx(ButtonTailwind, { className: "w-full", children: "Full Width" })] }), _jsx("div", { className: "flex gap-4 items-center flex-wrap", children: _jsx(ButtonTailwind, { style: {
44
+ backgroundColor: '#8B5CF6',
45
+ color: 'white',
46
+ borderRadius: '8px',
47
+ }, children: "Custom Style" }) })] }));
48
+ }
49
+ export function AllButtonExamples() {
50
+ return (_jsxs("div", { className: "space-y-8 p-6", children: [_jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Variants" }), _jsx(ButtonVariantExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Sizes" }), _jsx(ButtonSizeExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Icons" }), _jsx(ButtonIconExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "States" }), _jsx(ButtonStateExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Combined" }), _jsx(ButtonCombinedExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Native Skin" }), _jsx(ButtonNativeSkinExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Interactive" }), _jsx(ButtonInteractiveExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Accessibility" }), _jsx(ButtonAccessibilityExamples, {})] }), _jsxs("div", { className: "p-4 border rounded space-y-2", children: [_jsx("h3", { className: "font-bold", children: "Custom Styling" }), _jsx(ButtonCustomStylingExamples, {})] })] }));
51
+ }
52
+ //# sourceMappingURL=button-examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-examples.js","sourceRoot":"","sources":["../../../../src/components/button/button-examples.tsx"],"names":[],"mappings":"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"}