pure-react-ui 1.4.2 → 1.4.6
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 +64 -73
- package/dist/components/Button/Button.d.ts +5 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.types.d.ts +14 -0
- package/dist/components/Button/Button.types.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/dist/index.css +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.css +1 -0
- package/dist/index.esm.js +25 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/setupTests.d.ts +2 -0
- package/dist/setupTests.d.ts.map +1 -0
- package/package.json +46 -24
- package/src/styles/index.css +81 -0
- package/src/styles/variables.css +80 -0
- package/dist/index.cjs.js +0 -6
- package/dist/index.es.js +0 -286
- package/dist/pure-react-ui.css +0 -1
- package/dist/vite.svg +0 -1
package/README.md
CHANGED
|
@@ -1,73 +1,64 @@
|
|
|
1
|
-
# React
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
parserOptions: {
|
|
66
|
-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
67
|
-
tsconfigRootDir: import.meta.dirname,
|
|
68
|
-
},
|
|
69
|
-
// other options...
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
])
|
|
73
|
-
```
|
|
1
|
+
# Pure React UI
|
|
2
|
+
|
|
3
|
+
A modern, accessible React UI component library with TypeScript support.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install pure-react-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```jsx
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { PureButton } from 'pure-react-ui';
|
|
16
|
+
import 'pure-react-ui/src/styles/index.css'; // Import the CSS variables
|
|
17
|
+
|
|
18
|
+
function App() {
|
|
19
|
+
return (
|
|
20
|
+
<div>
|
|
21
|
+
<PureButton variant="primary" size="md">
|
|
22
|
+
Click me
|
|
23
|
+
</PureButton>
|
|
24
|
+
|
|
25
|
+
<PureButton variant="secondary" size="lg" fullWidth>
|
|
26
|
+
Full Width Button
|
|
27
|
+
</PureButton>
|
|
28
|
+
|
|
29
|
+
<PureButton variant="outline" size="sm" loading>
|
|
30
|
+
Loading...
|
|
31
|
+
</PureButton>
|
|
32
|
+
</div>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default App;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Components
|
|
40
|
+
|
|
41
|
+
### PureButton
|
|
42
|
+
|
|
43
|
+
A versatile button component with multiple variants, sizes, and states.
|
|
44
|
+
|
|
45
|
+
#### Props
|
|
46
|
+
|
|
47
|
+
- `variant`: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'outline' | 'ghost'
|
|
48
|
+
- `size`: 'sm' | 'md' | 'lg'
|
|
49
|
+
- `fullWidth`: boolean
|
|
50
|
+
- `loading`: boolean
|
|
51
|
+
- `disabled`: boolean
|
|
52
|
+
- `leftIcon`: ReactNode
|
|
53
|
+
- `rightIcon`: ReactNode
|
|
54
|
+
- Plus all standard button props
|
|
55
|
+
|
|
56
|
+
## Features
|
|
57
|
+
|
|
58
|
+
- TypeScript support with full type definitions
|
|
59
|
+
- Accessible design with proper ARIA attributes
|
|
60
|
+
- CSS variables for easy theming
|
|
61
|
+
- Multiple variants and sizes
|
|
62
|
+
- Loading and disabled states
|
|
63
|
+
- Icon support
|
|
64
|
+
- Responsive design
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,4BAA4B,CAAC;AAEpC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmD5C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'outline' | 'ghost';
|
|
3
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
+
variant?: ButtonVariant;
|
|
6
|
+
size?: ButtonSize;
|
|
7
|
+
fullWidth?: boolean;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
leftIcon?: ReactNode;
|
|
12
|
+
rightIcon?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Button.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7G,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.Button-module_button__2ZuB7{align-items:center;border:none;border-radius:var(--pure-radius-md);cursor:pointer;display:inline-flex;font-family:var(--pure-font-family);font-size:var(--pure-font-size-md);font-weight:500;gap:var(--pure-spacing-sm);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--pure-transition-base)}.Button-module_button--primary__0eqDM{background-color:var(--pure-color-primary);color:var(--pure-color-white)}.Button-module_button--primary__0eqDM:hover:not(:disabled){background-color:var(--pure-color-primary-hover)}.Button-module_button--secondary__iK3TS{background-color:var(--pure-color-secondary);color:var(--pure-color-white)}.Button-module_button--secondary__iK3TS:hover:not(:disabled){background-color:var(--pure-color-secondary-hover)}.Button-module_button--success__1WVzM{background-color:var(--pure-color-success);color:var(--pure-color-white)}.Button-module_button--success__1WVzM:hover:not(:disabled){background-color:var(--pure-color-success-hover)}.Button-module_button--danger__y2uGS{background-color:var(--pure-color-danger);color:var(--pure-color-white)}.Button-module_button--danger__y2uGS:hover:not(:disabled){background-color:var(--pure-color-danger-hover)}.Button-module_button--warning__cp3iP{background-color:var(--pure-color-warning);color:var(--pure-color-white)}.Button-module_button--warning__cp3iP:hover:not(:disabled){background-color:var(--pure-color-warning-hover)}.Button-module_button--outline__eVhnr{background-color:transparent;border:1px solid var(--pure-color-primary);color:var(--pure-color-primary)}.Button-module_button--outline__eVhnr:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module_button--ghost__nktSD{background-color:transparent;color:var(--pure-color-primary)}.Button-module_button--ghost__nktSD:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module_button--sm__-XOLs{font-size:var(--pure-font-size-sm);padding:var(--pure-spacing-xs) var(--pure-spacing-sm)}.Button-module_button--md__-GRga{font-size:var(--pure-font-size-md);padding:var(--pure-spacing-sm) var(--pure-spacing-md)}.Button-module_button--lg__p-URz{font-size:var(--pure-font-size-lg);padding:var(--pure-spacing-md) var(--pure-spacing-lg)}.Button-module_button--full-width__XyuwA{width:100%}.Button-module_button--loading__lNyfH{opacity:.8;pointer-events:none}.Button-module_button__2ZuB7:disabled{cursor:not-allowed;opacity:.6}.Button-module_button__icon__e6c-f,.Button-module_button__text__JjFiL{align-items:center;display:flex;justify-content:center}.Button-module_button__spinner__1soI4{height:20px;position:absolute;width:20px}.Button-module_spinner__ZExvW{animation:Button-module_rotate__TQjyl 2s linear infinite;height:100%;width:100%}.Button-module_spinner-path__Zk3SN{stroke:currentColor;stroke-linecap:round;animation:Button-module_dash__NItHE 1.5s ease-in-out infinite}@keyframes Button-module_rotate__TQjyl{to{transform:rotate(1turn)}}@keyframes Button-module_dash__NItHE{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}:root{--pure-color-primary:#2563eb;--pure-color-primary-hover:#1d4ed8;--pure-color-primary-light:#dbeafe;--pure-color-secondary:#64748b;--pure-color-secondary-hover:#475569;--pure-color-secondary-light:#f1f5f9;--pure-color-success:#10b981;--pure-color-success-hover:#059669;--pure-color-success-light:#d1fae5;--pure-color-danger:#ef4444;--pure-color-danger-hover:#dc2626;--pure-color-danger-light:#fee2e2;--pure-color-warning:#f59e0b;--pure-color-warning-hover:#d97706;--pure-color-warning-light:#fef3c7;--pure-color-info:#3b82f6;--pure-color-info-hover:#2563eb;--pure-color-info-light:#dbeafe;--pure-color-white:#fff;--pure-color-black:#000;--pure-color-gray-50:#f9fafb;--pure-color-gray-100:#f3f4f6;--pure-color-gray-200:#e5e7eb;--pure-color-gray-300:#d1d5db;--pure-color-gray-400:#9ca3af;--pure-color-gray-500:#6b7280;--pure-color-gray-600:#4b5563;--pure-color-gray-700:#374151;--pure-color-gray-800:#1f2937;--pure-color-gray-900:#111827;--pure-spacing-xs:0.25rem;--pure-spacing-sm:0.5rem;--pure-spacing-md:1rem;--pure-spacing-lg:1.5rem;--pure-spacing-xl:2rem;--pure-spacing-2xl:3rem;--pure-radius-sm:0.25rem;--pure-radius-md:0.375rem;--pure-radius-lg:0.5rem;--pure-radius-xl:0.75rem;--pure-radius-full:9999px;--pure-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--pure-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--pure-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--pure-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--pure-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--pure-font-size-xs:0.75rem;--pure-font-size-sm:0.875rem;--pure-font-size-md:1rem;--pure-font-size-lg:1.125rem;--pure-font-size-xl:1.25rem;--pure-font-size-2xl:1.5rem;--pure-transition-fast:150ms ease-in-out;--pure-transition-base:200ms ease-in-out;--pure-transition-slow:300ms ease-in-out;--pure-z-dropdown:1000;--pure-z-modal:1050;--pure-z-tooltip:1100}
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.Button-module__button___2ZuB7{align-items:center;border:none;border-radius:var(--pure-radius-md);cursor:pointer;display:inline-flex;font-family:var(--pure-font-family);font-size:var(--pure-font-size-md);font-weight:500;gap:var(--pure-spacing-sm);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--pure-transition-base)}.Button-module__button--primary___0eqDM{background-color:var(--pure-color-primary);color:var(--pure-color-white)}.Button-module__button--primary___0eqDM:hover:not(:disabled){background-color:var(--pure-color-primary-hover)}.Button-module__button--secondary___iK3TS{background-color:var(--pure-color-secondary);color:var(--pure-color-white)}.Button-module__button--secondary___iK3TS:hover:not(:disabled){background-color:var(--pure-color-secondary-hover)}.Button-module__button--success___1WVzM{background-color:var(--pure-color-success);color:var(--pure-color-white)}.Button-module__button--success___1WVzM:hover:not(:disabled){background-color:var(--pure-color-success-hover)}.Button-module__button--danger___y2uGS{background-color:var(--pure-color-danger);color:var(--pure-color-white)}.Button-module__button--danger___y2uGS:hover:not(:disabled){background-color:var(--pure-color-danger-hover)}.Button-module__button--warning___cp3iP{background-color:var(--pure-color-warning);color:var(--pure-color-white)}.Button-module__button--warning___cp3iP:hover:not(:disabled){background-color:var(--pure-color-warning-hover)}.Button-module__button--outline___eVhnr{background-color:transparent;border:1px solid var(--pure-color-primary);color:var(--pure-color-primary)}.Button-module__button--outline___eVhnr:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module__button--ghost___nktSD{background-color:transparent;color:var(--pure-color-primary)}.Button-module__button--ghost___nktSD:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module__button--sm___-XOLs{font-size:var(--pure-font-size-sm);padding:var(--pure-spacing-xs) var(--pure-spacing-sm)}.Button-module__button--md___-GRga{font-size:var(--pure-font-size-md);padding:var(--pure-spacing-sm) var(--pure-spacing-md)}.Button-module__button--lg___p-URz{font-size:var(--pure-font-size-lg);padding:var(--pure-spacing-md) var(--pure-spacing-lg)}.Button-module__button--full-width___XyuwA{width:100%}.Button-module__button--loading___lNyfH{opacity:.8;pointer-events:none}.Button-module__button___2ZuB7:disabled{cursor:not-allowed;opacity:.6}.Button-module__button__icon___e6c-f,.Button-module__button__text___JjFiL{align-items:center;display:flex;justify-content:center}.Button-module__button__spinner___1soI4{height:20px;position:absolute;width:20px}.Button-module__spinner___ZExvW{animation:Button-module__rotate___TQjyl 2s linear infinite;height:100%;width:100%}.Button-module__spinner-path___Zk3SN{stroke:currentColor;stroke-linecap:round;animation:Button-module__dash___NItHE 1.5s ease-in-out infinite}@keyframes Button-module__rotate___TQjyl{to{transform:rotate(1turn)}}@keyframes Button-module__dash___NItHE{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}:root{--pure-color-primary:#2563eb;--pure-color-primary-hover:#1d4ed8;--pure-color-primary-light:#dbeafe;--pure-color-secondary:#64748b;--pure-color-secondary-hover:#475569;--pure-color-secondary-light:#f1f5f9;--pure-color-success:#10b981;--pure-color-success-hover:#059669;--pure-color-success-light:#d1fae5;--pure-color-danger:#ef4444;--pure-color-danger-hover:#dc2626;--pure-color-danger-light:#fee2e2;--pure-color-warning:#f59e0b;--pure-color-warning-hover:#d97706;--pure-color-warning-light:#fef3c7;--pure-color-info:#3b82f6;--pure-color-info-hover:#2563eb;--pure-color-info-light:#dbeafe;--pure-color-white:#fff;--pure-color-black:#000;--pure-color-gray-50:#f9fafb;--pure-color-gray-100:#f3f4f6;--pure-color-gray-200:#e5e7eb;--pure-color-gray-300:#d1d5db;--pure-color-gray-400:#9ca3af;--pure-color-gray-500:#6b7280;--pure-color-gray-600:#4b5563;--pure-color-gray-700:#374151;--pure-color-gray-800:#1f2937;--pure-color-gray-900:#111827;--pure-spacing-xs:0.25rem;--pure-spacing-sm:0.5rem;--pure-spacing-md:1rem;--pure-spacing-lg:1.5rem;--pure-spacing-xl:2rem;--pure-spacing-2xl:3rem;--pure-radius-sm:0.25rem;--pure-radius-md:0.375rem;--pure-radius-lg:0.5rem;--pure-radius-xl:0.75rem;--pure-radius-full:9999px;--pure-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--pure-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--pure-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--pure-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--pure-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--pure-font-size-xs:0.75rem;--pure-font-size-sm:0.875rem;--pure-font-size-md:1rem;--pure-font-size-lg:1.125rem;--pure-font-size-xl:1.25rem;--pure-font-size-2xl:1.5rem;--pure-transition-fast:150ms ease-in-out;--pure-transition-base:200ms ease-in-out;--pure-transition-slow:300ms ease-in-out;--pure-z-dropdown:1000;--pure-z-modal:1050;--pure-z-tooltip:1100}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.Button-module__button___2ZuB7{align-items:center;border:none;border-radius:var(--pure-radius-md);cursor:pointer;display:inline-flex;font-family:var(--pure-font-family);font-size:var(--pure-font-size-md);font-weight:500;gap:var(--pure-spacing-sm);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--pure-transition-base)}.Button-module__button--primary___0eqDM{background-color:var(--pure-color-primary);color:var(--pure-color-white)}.Button-module__button--primary___0eqDM:hover:not(:disabled){background-color:var(--pure-color-primary-hover)}.Button-module__button--secondary___iK3TS{background-color:var(--pure-color-secondary);color:var(--pure-color-white)}.Button-module__button--secondary___iK3TS:hover:not(:disabled){background-color:var(--pure-color-secondary-hover)}.Button-module__button--success___1WVzM{background-color:var(--pure-color-success);color:var(--pure-color-white)}.Button-module__button--success___1WVzM:hover:not(:disabled){background-color:var(--pure-color-success-hover)}.Button-module__button--danger___y2uGS{background-color:var(--pure-color-danger);color:var(--pure-color-white)}.Button-module__button--danger___y2uGS:hover:not(:disabled){background-color:var(--pure-color-danger-hover)}.Button-module__button--warning___cp3iP{background-color:var(--pure-color-warning);color:var(--pure-color-white)}.Button-module__button--warning___cp3iP:hover:not(:disabled){background-color:var(--pure-color-warning-hover)}.Button-module__button--outline___eVhnr{background-color:transparent;border:1px solid var(--pure-color-primary);color:var(--pure-color-primary)}.Button-module__button--outline___eVhnr:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module__button--ghost___nktSD{background-color:transparent;color:var(--pure-color-primary)}.Button-module__button--ghost___nktSD:hover:not(:disabled){background-color:var(--pure-color-primary-light)}.Button-module__button--sm___-XOLs{font-size:var(--pure-font-size-sm);padding:var(--pure-spacing-xs) var(--pure-spacing-sm)}.Button-module__button--md___-GRga{font-size:var(--pure-font-size-md);padding:var(--pure-spacing-sm) var(--pure-spacing-md)}.Button-module__button--lg___p-URz{font-size:var(--pure-font-size-lg);padding:var(--pure-spacing-md) var(--pure-spacing-lg)}.Button-module__button--full-width___XyuwA{width:100%}.Button-module__button--loading___lNyfH{opacity:.8;pointer-events:none}.Button-module__button___2ZuB7:disabled{cursor:not-allowed;opacity:.6}.Button-module__button__icon___e6c-f,.Button-module__button__text___JjFiL{align-items:center;display:flex;justify-content:center}.Button-module__button__spinner___1soI4{height:20px;position:absolute;width:20px}.Button-module__spinner___ZExvW{animation:Button-module__rotate___TQjyl 2s linear infinite;height:100%;width:100%}.Button-module__spinner-path___Zk3SN{stroke:currentColor;stroke-linecap:round;animation:Button-module__dash___NItHE 1.5s ease-in-out infinite}@keyframes Button-module__rotate___TQjyl{to{transform:rotate(1turn)}}@keyframes Button-module__dash___NItHE{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}:root{--pure-color-primary:#2563eb;--pure-color-primary-hover:#1d4ed8;--pure-color-primary-light:#dbeafe;--pure-color-secondary:#64748b;--pure-color-secondary-hover:#475569;--pure-color-secondary-light:#f1f5f9;--pure-color-success:#10b981;--pure-color-success-hover:#059669;--pure-color-success-light:#d1fae5;--pure-color-danger:#ef4444;--pure-color-danger-hover:#dc2626;--pure-color-danger-light:#fee2e2;--pure-color-warning:#f59e0b;--pure-color-warning-hover:#d97706;--pure-color-warning-light:#fef3c7;--pure-color-info:#3b82f6;--pure-color-info-hover:#2563eb;--pure-color-info-light:#dbeafe;--pure-color-white:#fff;--pure-color-black:#000;--pure-color-gray-50:#f9fafb;--pure-color-gray-100:#f3f4f6;--pure-color-gray-200:#e5e7eb;--pure-color-gray-300:#d1d5db;--pure-color-gray-400:#9ca3af;--pure-color-gray-500:#6b7280;--pure-color-gray-600:#4b5563;--pure-color-gray-700:#374151;--pure-color-gray-800:#1f2937;--pure-color-gray-900:#111827;--pure-spacing-xs:0.25rem;--pure-spacing-sm:0.5rem;--pure-spacing-md:1rem;--pure-spacing-lg:1.5rem;--pure-spacing-xl:2rem;--pure-spacing-2xl:3rem;--pure-radius-sm:0.25rem;--pure-radius-md:0.375rem;--pure-radius-lg:0.5rem;--pure-radius-xl:0.75rem;--pure-radius-full:9999px;--pure-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--pure-shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--pure-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--pure-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--pure-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--pure-font-size-xs:0.75rem;--pure-font-size-sm:0.875rem;--pure-font-size-md:1rem;--pure-font-size-lg:1.125rem;--pure-font-size-xl:1.25rem;--pure-font-size-2xl:1.5rem;--pure-transition-fast:150ms ease-in-out;--pure-transition-base:200ms ease-in-out;--pure-transition-slow:300ms ease-in-out;--pure-z-dropdown:1000;--pure-z-modal:1050;--pure-z-tooltip:1100}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var styles = {"button":"Button-module__button___2ZuB7","button--primary":"Button-module__button--primary___0eqDM","button--secondary":"Button-module__button--secondary___iK3TS","button--success":"Button-module__button--success___1WVzM","button--danger":"Button-module__button--danger___y2uGS","button--warning":"Button-module__button--warning___cp3iP","button--outline":"Button-module__button--outline___eVhnr","button--ghost":"Button-module__button--ghost___nktSD","button--sm":"Button-module__button--sm___-XOLs","button--md":"Button-module__button--md___-GRga","button--lg":"Button-module__button--lg___p-URz","button--full-width":"Button-module__button--full-width___XyuwA","button--loading":"Button-module__button--loading___lNyfH","button__icon":"Button-module__button__icon___e6c-f","button__text":"Button-module__button__text___JjFiL","button__spinner":"Button-module__button__spinner___1soI4","spinner":"Button-module__spinner___ZExvW","rotate":"Button-module__rotate___TQjyl","spinner-path":"Button-module__spinner-path___Zk3SN","dash":"Button-module__dash___NItHE"};
|
|
4
|
+
|
|
5
|
+
const PureButton = ({ variant = 'primary', size = 'md', fullWidth = false, loading = false, disabled = false, children, leftIcon, rightIcon, className = '', ...props }) => {
|
|
6
|
+
const classes = [
|
|
7
|
+
styles.button,
|
|
8
|
+
styles[`button--${variant}`],
|
|
9
|
+
styles[`button--${size}`],
|
|
10
|
+
fullWidth && styles['button--full-width'],
|
|
11
|
+
loading && styles['button--loading'],
|
|
12
|
+
className
|
|
13
|
+
].filter(Boolean).join(' ');
|
|
14
|
+
return (React.createElement("button", { className: classes, disabled: disabled || loading, ...props },
|
|
15
|
+
loading && (React.createElement("span", { className: styles['button__spinner'] },
|
|
16
|
+
React.createElement("svg", { className: styles['spinner'], viewBox: "0 0 50 50" },
|
|
17
|
+
React.createElement("circle", { className: styles['spinner-path'], cx: "25", cy: "25", r: "20", fill: "none", strokeWidth: "4" })))),
|
|
18
|
+
!loading && leftIcon && (React.createElement("span", { className: styles['button__icon'] }, leftIcon)),
|
|
19
|
+
React.createElement("span", { className: styles['button__text'] }, children),
|
|
20
|
+
!loading && rightIcon && (React.createElement("span", { className: styles['button__icon'] }, rightIcon))));
|
|
21
|
+
};
|
|
22
|
+
PureButton.displayName = 'PureButton';
|
|
23
|
+
|
|
24
|
+
export { PureButton };
|
|
25
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/Button/Button.tsx"],"sourcesContent":["import React from 'react';\r\nimport { ButtonProps } from './Button.types';\r\nimport styles from \"./Button.module.css\";\r\nimport \"../../styles/variables.css\";\r\n\r\nexport const PureButton: React.FC<ButtonProps> = ({\r\n variant = 'primary',\r\n size = 'md',\r\n fullWidth = false,\r\n loading = false,\r\n disabled = false,\r\n children,\r\n leftIcon,\r\n rightIcon,\r\n className = '',\r\n ...props\r\n}) => {\r\n const classes = [\r\n styles.button,\r\n styles[`button--${variant}`],\r\n styles[`button--${size}`],\r\n fullWidth && styles['button--full-width'],\r\n loading && styles['button--loading'],\r\n className\r\n ].filter(Boolean).join(' ');\r\n\r\n return (\r\n <button\r\n className={classes}\r\n disabled={disabled || loading}\r\n {...props}\r\n >\r\n {loading && (\r\n <span className={styles['button__spinner']}>\r\n {/* Loading spinner */}\r\n <svg className={styles['spinner']} viewBox=\"0 0 50 50\">\r\n <circle\r\n className={styles['spinner-path']}\r\n cx=\"25\"\r\n cy=\"25\"\r\n r=\"20\"\r\n fill=\"none\"\r\n strokeWidth=\"4\"\r\n />\r\n </svg>\r\n </span>\r\n )}\r\n {!loading && leftIcon && (\r\n <span className={styles['button__icon']}>{leftIcon}</span>\r\n )}\r\n <span className={styles['button__text']}>{children}</span>\r\n {!loading && rightIcon && (\r\n <span className={styles['button__icon']}>{rightIcon}</span>\r\n )}\r\n </button>\r\n );\r\n};\r\n\r\nPureButton.displayName = 'PureButton';"],"names":[],"mappings":";;;;AAKO,MAAM,UAAU,GAA0B,CAAC,EAC9C,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GAAG,EAAE,EACd,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,OAAO,GAAG;AACZ,QAAA,MAAM,CAAC,MAAM;AACb,QAAA,MAAM,CAAC,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE,CAAC;AAC5B,QAAA,MAAM,CAAC,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,CAAC;AACzB,QAAA,SAAS,IAAI,MAAM,CAAC,oBAAoB,CAAC;AACzC,QAAA,OAAO,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACpC;KACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAE3B,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAA,GACzB,KAAK,EAAA;QAER,OAAO,KACJ,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAA;YAEtC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAC,WAAW,EAAA;AAClD,gBAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EAAA,CACjB,CACA,CACH,CACV;AACA,QAAA,CAAC,OAAO,IAAI,QAAQ,KACjB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,QAAQ,CAAQ,CAC7D;QACD,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,QAAQ,CAAQ;AACzD,QAAA,CAAC,OAAO,IAAI,SAAS,KAClB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,SAAS,CAAQ,CAC9D,CACI;AAEjB;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
var styles = {"button":"Button-module__button___2ZuB7","button--primary":"Button-module__button--primary___0eqDM","button--secondary":"Button-module__button--secondary___iK3TS","button--success":"Button-module__button--success___1WVzM","button--danger":"Button-module__button--danger___y2uGS","button--warning":"Button-module__button--warning___cp3iP","button--outline":"Button-module__button--outline___eVhnr","button--ghost":"Button-module__button--ghost___nktSD","button--sm":"Button-module__button--sm___-XOLs","button--md":"Button-module__button--md___-GRga","button--lg":"Button-module__button--lg___p-URz","button--full-width":"Button-module__button--full-width___XyuwA","button--loading":"Button-module__button--loading___lNyfH","button__icon":"Button-module__button__icon___e6c-f","button__text":"Button-module__button__text___JjFiL","button__spinner":"Button-module__button__spinner___1soI4","spinner":"Button-module__spinner___ZExvW","rotate":"Button-module__rotate___TQjyl","spinner-path":"Button-module__spinner-path___Zk3SN","dash":"Button-module__dash___NItHE"};
|
|
6
|
+
|
|
7
|
+
const PureButton = ({ variant = 'primary', size = 'md', fullWidth = false, loading = false, disabled = false, children, leftIcon, rightIcon, className = '', ...props }) => {
|
|
8
|
+
const classes = [
|
|
9
|
+
styles.button,
|
|
10
|
+
styles[`button--${variant}`],
|
|
11
|
+
styles[`button--${size}`],
|
|
12
|
+
fullWidth && styles['button--full-width'],
|
|
13
|
+
loading && styles['button--loading'],
|
|
14
|
+
className
|
|
15
|
+
].filter(Boolean).join(' ');
|
|
16
|
+
return (React.createElement("button", { className: classes, disabled: disabled || loading, ...props },
|
|
17
|
+
loading && (React.createElement("span", { className: styles['button__spinner'] },
|
|
18
|
+
React.createElement("svg", { className: styles['spinner'], viewBox: "0 0 50 50" },
|
|
19
|
+
React.createElement("circle", { className: styles['spinner-path'], cx: "25", cy: "25", r: "20", fill: "none", strokeWidth: "4" })))),
|
|
20
|
+
!loading && leftIcon && (React.createElement("span", { className: styles['button__icon'] }, leftIcon)),
|
|
21
|
+
React.createElement("span", { className: styles['button__text'] }, children),
|
|
22
|
+
!loading && rightIcon && (React.createElement("span", { className: styles['button__icon'] }, rightIcon))));
|
|
23
|
+
};
|
|
24
|
+
PureButton.displayName = 'PureButton';
|
|
25
|
+
|
|
26
|
+
exports.PureButton = PureButton;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/Button/Button.tsx"],"sourcesContent":["import React from 'react';\r\nimport { ButtonProps } from './Button.types';\r\nimport styles from \"./Button.module.css\";\r\nimport \"../../styles/variables.css\";\r\n\r\nexport const PureButton: React.FC<ButtonProps> = ({\r\n variant = 'primary',\r\n size = 'md',\r\n fullWidth = false,\r\n loading = false,\r\n disabled = false,\r\n children,\r\n leftIcon,\r\n rightIcon,\r\n className = '',\r\n ...props\r\n}) => {\r\n const classes = [\r\n styles.button,\r\n styles[`button--${variant}`],\r\n styles[`button--${size}`],\r\n fullWidth && styles['button--full-width'],\r\n loading && styles['button--loading'],\r\n className\r\n ].filter(Boolean).join(' ');\r\n\r\n return (\r\n <button\r\n className={classes}\r\n disabled={disabled || loading}\r\n {...props}\r\n >\r\n {loading && (\r\n <span className={styles['button__spinner']}>\r\n {/* Loading spinner */}\r\n <svg className={styles['spinner']} viewBox=\"0 0 50 50\">\r\n <circle\r\n className={styles['spinner-path']}\r\n cx=\"25\"\r\n cy=\"25\"\r\n r=\"20\"\r\n fill=\"none\"\r\n strokeWidth=\"4\"\r\n />\r\n </svg>\r\n </span>\r\n )}\r\n {!loading && leftIcon && (\r\n <span className={styles['button__icon']}>{leftIcon}</span>\r\n )}\r\n <span className={styles['button__text']}>{children}</span>\r\n {!loading && rightIcon && (\r\n <span className={styles['button__icon']}>{rightIcon}</span>\r\n )}\r\n </button>\r\n );\r\n};\r\n\r\nPureButton.displayName = 'PureButton';"],"names":[],"mappings":";;;;;;AAKO,MAAM,UAAU,GAA0B,CAAC,EAC9C,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,GAAG,EAAE,EACd,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,OAAO,GAAG;AACZ,QAAA,MAAM,CAAC,MAAM;AACb,QAAA,MAAM,CAAC,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE,CAAC;AAC5B,QAAA,MAAM,CAAC,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,CAAC;AACzB,QAAA,SAAS,IAAI,MAAM,CAAC,oBAAoB,CAAC;AACzC,QAAA,OAAO,IAAI,MAAM,CAAC,iBAAiB,CAAC;QACpC;KACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAE3B,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAA,GACzB,KAAK,EAAA;QAER,OAAO,KACJ,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAA;YAEtC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAC,WAAW,EAAA;AAClD,gBAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACI,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EAAA,CACjB,CACA,CACH,CACV;AACA,QAAA,CAAC,OAAO,IAAI,QAAQ,KACjB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,QAAQ,CAAQ,CAC7D;QACD,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,QAAQ,CAAQ;AACzD,QAAA,CAAC,OAAO,IAAI,SAAS,KAClB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAA,EAAG,SAAS,CAAQ,CAC9D,CACI;AAEjB;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTests.d.ts","sourceRoot":"","sources":["../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,36 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pure-react-ui",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"
|
|
5
|
-
"main": "dist/index.
|
|
6
|
-
"module": "dist/index.
|
|
3
|
+
"version": "1.4.6",
|
|
4
|
+
"description": "A modern, accessible React UI component library with TypeScript",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.esm.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"style": "src/styles/index.css",
|
|
9
|
+
"type": "module",
|
|
8
10
|
"files": [
|
|
9
|
-
"dist"
|
|
11
|
+
"dist",
|
|
12
|
+
"src/styles"
|
|
10
13
|
],
|
|
11
14
|
"scripts": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
15
|
+
"build": "rollup -c",
|
|
16
|
+
"test": "jest",
|
|
17
|
+
"test:watch": "jest --watch",
|
|
18
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
19
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
|
|
20
|
+
"prepublishOnly": "npm run build"
|
|
16
21
|
},
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
22
|
+
"keywords": [
|
|
23
|
+
"react",
|
|
24
|
+
"ui",
|
|
25
|
+
"components",
|
|
26
|
+
"typescript",
|
|
27
|
+
"component-library"
|
|
28
|
+
],
|
|
29
|
+
"author": "Asad",
|
|
30
|
+
"license": "ISC",
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"react": "^19.2.3",
|
|
33
|
+
"react-dom": "^19.2.3"
|
|
21
34
|
},
|
|
22
35
|
"devDependencies": {
|
|
23
|
-
"@
|
|
24
|
-
"@
|
|
25
|
-
"@
|
|
36
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
37
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
38
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
39
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
40
|
+
"@testing-library/react": "^16.3.1",
|
|
41
|
+
"@types/jest": "^30.0.0",
|
|
42
|
+
"@types/react": "^19.2.7",
|
|
26
43
|
"@types/react-dom": "^19.2.3",
|
|
27
|
-
"@
|
|
28
|
-
"eslint": "^
|
|
29
|
-
"eslint
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
45
|
+
"@typescript-eslint/parser": "^8.51.0",
|
|
46
|
+
"eslint": "^9.39.2",
|
|
47
|
+
"jest": "^30.2.0",
|
|
48
|
+
"jest-environment-jsdom": "^30.2.0",
|
|
49
|
+
"postcss": "^8.5.6",
|
|
50
|
+
"prettier": "^3.7.4",
|
|
51
|
+
"rollup": "^4.54.0",
|
|
52
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
53
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
54
|
+
"ts-jest": "^29.4.6",
|
|
55
|
+
"tslib": "^2.8.1",
|
|
56
|
+
"typescript": "^5.9.3"
|
|
35
57
|
}
|
|
36
58
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* CSS Variables */
|
|
2
|
+
:root {
|
|
3
|
+
/* Colors */
|
|
4
|
+
--pure-color-primary: #2563eb;
|
|
5
|
+
--pure-color-primary-hover: #1d4ed8;
|
|
6
|
+
--pure-color-primary-light: #dbeafe;
|
|
7
|
+
|
|
8
|
+
--pure-color-secondary: #64748b;
|
|
9
|
+
--pure-color-secondary-hover: #475569;
|
|
10
|
+
--pure-color-secondary-light: #f1f5f9;
|
|
11
|
+
|
|
12
|
+
--pure-color-success: #10b981;
|
|
13
|
+
--pure-color-success-hover: #059669;
|
|
14
|
+
--pure-color-success-light: #d1fae5;
|
|
15
|
+
|
|
16
|
+
--pure-color-danger: #ef4444;
|
|
17
|
+
--pure-color-danger-hover: #dc2626;
|
|
18
|
+
--pure-color-danger-light: #fee2e2;
|
|
19
|
+
|
|
20
|
+
--pure-color-warning: #f59e0b;
|
|
21
|
+
--pure-color-warning-hover: #d97706;
|
|
22
|
+
--pure-color-warning-light: #fef3c7;
|
|
23
|
+
|
|
24
|
+
--pure-color-info: #3b82f6;
|
|
25
|
+
--pure-color-info-hover: #2563eb;
|
|
26
|
+
--pure-color-info-light: #dbeafe;
|
|
27
|
+
|
|
28
|
+
/* Neutrals */
|
|
29
|
+
--pure-color-white: #ffffff;
|
|
30
|
+
--pure-color-black: #000000;
|
|
31
|
+
--pure-color-gray-50: #f9fafb;
|
|
32
|
+
--pure-color-gray-100: #f3f4f6;
|
|
33
|
+
--pure-color-gray-200: #e5e7eb;
|
|
34
|
+
--pure-color-gray-300: #d1d5db;
|
|
35
|
+
--pure-color-gray-400: #9ca3af;
|
|
36
|
+
--pure-color-gray-500: #6b7280;
|
|
37
|
+
--pure-color-gray-600: #4b5563;
|
|
38
|
+
--pure-color-gray-700: #374151;
|
|
39
|
+
--pure-color-gray-800: #1f2937;
|
|
40
|
+
--pure-color-gray-900: #111827;
|
|
41
|
+
|
|
42
|
+
/* Spacing */
|
|
43
|
+
--pure-spacing-xs: 0.25rem;
|
|
44
|
+
--pure-spacing-sm: 0.5rem;
|
|
45
|
+
--pure-spacing-md: 1rem;
|
|
46
|
+
--pure-spacing-lg: 1.5rem;
|
|
47
|
+
--pure-spacing-xl: 2rem;
|
|
48
|
+
--pure-spacing-2xl: 3rem;
|
|
49
|
+
|
|
50
|
+
/* Border Radius */
|
|
51
|
+
--pure-radius-sm: 0.25rem;
|
|
52
|
+
--pure-radius-md: 0.375rem;
|
|
53
|
+
--pure-radius-lg: 0.5rem;
|
|
54
|
+
--pure-radius-xl: 0.75rem;
|
|
55
|
+
--pure-radius-full: 9999px;
|
|
56
|
+
|
|
57
|
+
/* Shadows */
|
|
58
|
+
--pure-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
59
|
+
--pure-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
60
|
+
--pure-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
61
|
+
--pure-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
62
|
+
|
|
63
|
+
/* Typography */
|
|
64
|
+
--pure-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
65
|
+
--pure-font-size-xs: 0.75rem;
|
|
66
|
+
--pure-font-size-sm: 0.875rem;
|
|
67
|
+
--pure-font-size-md: 1rem;
|
|
68
|
+
--pure-font-size-lg: 1.125rem;
|
|
69
|
+
--pure-font-size-xl: 1.25rem;
|
|
70
|
+
--pure-font-size-2xl: 1.5rem;
|
|
71
|
+
|
|
72
|
+
/* Transitions */
|
|
73
|
+
--pure-transition-fast: 150ms ease-in-out;
|
|
74
|
+
--pure-transition-base: 200ms ease-in-out;
|
|
75
|
+
--pure-transition-slow: 300ms ease-in-out;
|
|
76
|
+
|
|
77
|
+
/* Z-index */
|
|
78
|
+
--pure-z-dropdown: 1000;
|
|
79
|
+
--pure-z-modal: 1050;
|
|
80
|
+
--pure-z-tooltip: 1100;
|
|
81
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Colors */
|
|
3
|
+
--pure-color-primary: #2563eb;
|
|
4
|
+
--pure-color-primary-hover: #1d4ed8;
|
|
5
|
+
--pure-color-primary-light: #dbeafe;
|
|
6
|
+
|
|
7
|
+
--pure-color-secondary: #64748b;
|
|
8
|
+
--pure-color-secondary-hover: #475569;
|
|
9
|
+
--pure-color-secondary-light: #f1f5f9;
|
|
10
|
+
|
|
11
|
+
--pure-color-success: #10b981;
|
|
12
|
+
--pure-color-success-hover: #059669;
|
|
13
|
+
--pure-color-success-light: #d1fae5;
|
|
14
|
+
|
|
15
|
+
--pure-color-danger: #ef4444;
|
|
16
|
+
--pure-color-danger-hover: #dc2626;
|
|
17
|
+
--pure-color-danger-light: #fee2e2;
|
|
18
|
+
|
|
19
|
+
--pure-color-warning: #f59e0b;
|
|
20
|
+
--pure-color-warning-hover: #d97706;
|
|
21
|
+
--pure-color-warning-light: #fef3c7;
|
|
22
|
+
|
|
23
|
+
--pure-color-info: #3b82f6;
|
|
24
|
+
--pure-color-info-hover: #2563eb;
|
|
25
|
+
--pure-color-info-light: #dbeafe;
|
|
26
|
+
|
|
27
|
+
/* Neutrals */
|
|
28
|
+
--pure-color-white: #ffffff;
|
|
29
|
+
--pure-color-black: #000000;
|
|
30
|
+
--pure-color-gray-50: #f9fafb;
|
|
31
|
+
--pure-color-gray-100: #f3f4f6;
|
|
32
|
+
--pure-color-gray-200: #e5e7eb;
|
|
33
|
+
--pure-color-gray-300: #d1d5db;
|
|
34
|
+
--pure-color-gray-400: #9ca3af;
|
|
35
|
+
--pure-color-gray-500: #6b7280;
|
|
36
|
+
--pure-color-gray-600: #4b5563;
|
|
37
|
+
--pure-color-gray-700: #374151;
|
|
38
|
+
--pure-color-gray-800: #1f2937;
|
|
39
|
+
--pure-color-gray-900: #111827;
|
|
40
|
+
|
|
41
|
+
/* Spacing */
|
|
42
|
+
--pure-spacing-xs: 0.25rem;
|
|
43
|
+
--pure-spacing-sm: 0.5rem;
|
|
44
|
+
--pure-spacing-md: 1rem;
|
|
45
|
+
--pure-spacing-lg: 1.5rem;
|
|
46
|
+
--pure-spacing-xl: 2rem;
|
|
47
|
+
--pure-spacing-2xl: 3rem;
|
|
48
|
+
|
|
49
|
+
/* Border Radius */
|
|
50
|
+
--pure-radius-sm: 0.25rem;
|
|
51
|
+
--pure-radius-md: 0.375rem;
|
|
52
|
+
--pure-radius-lg: 0.5rem;
|
|
53
|
+
--pure-radius-xl: 0.75rem;
|
|
54
|
+
--pure-radius-full: 9999px;
|
|
55
|
+
|
|
56
|
+
/* Shadows */
|
|
57
|
+
--pure-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
58
|
+
--pure-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
59
|
+
--pure-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
60
|
+
--pure-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
61
|
+
|
|
62
|
+
/* Typography */
|
|
63
|
+
--pure-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
64
|
+
--pure-font-size-xs: 0.75rem;
|
|
65
|
+
--pure-font-size-sm: 0.875rem;
|
|
66
|
+
--pure-font-size-md: 1rem;
|
|
67
|
+
--pure-font-size-lg: 1.125rem;
|
|
68
|
+
--pure-font-size-xl: 1.25rem;
|
|
69
|
+
--pure-font-size-2xl: 1.5rem;
|
|
70
|
+
|
|
71
|
+
/* Transitions */
|
|
72
|
+
--pure-transition-fast: 150ms ease-in-out;
|
|
73
|
+
--pure-transition-base: 200ms ease-in-out;
|
|
74
|
+
--pure-transition-slow: 300ms ease-in-out;
|
|
75
|
+
|
|
76
|
+
/* Z-index */
|
|
77
|
+
--pure-z-dropdown: 1000;
|
|
78
|
+
--pure-z-modal: 1050;
|
|
79
|
+
--pure-z-tooltip: 1100;
|
|
80
|
+
}
|
package/dist/index.cjs.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("react");var v={exports:{}},_={};var I;function re(){if(I)return _;I=1;var u=Symbol.for("react.transitional.element"),d=Symbol.for("react.fragment");function l(c,o,s){var i=null;if(s!==void 0&&(i=""+s),o.key!==void 0&&(i=""+o.key),"key"in o){s={};for(var f in o)f!=="key"&&(s[f]=o[f])}else s=o;return o=s.ref,{$$typeof:u,type:c,key:i,ref:o!==void 0?o:null,props:s}}return _.Fragment=d,_.jsx=l,_.jsxs=l,_}var E={};var F;function te(){return F||(F=1,process.env.NODE_ENV!=="production"&&(function(){function u(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Z?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case T:return"Fragment";case q:return"Profiler";case U:return"StrictMode";case G:return"Suspense";case X:return"SuspenseList";case H:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case W:return"Portal";case V:return e.displayName||"Context";case J:return(e._context.displayName||"Context")+".Consumer";case z:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case B:return r=e.displayName||null,r!==null?r:u(e.type)||"Memo";case k:r=e._payload,e=e._init;try{return u(e(r))}catch{}}return null}function d(e){return""+e}function l(e){try{d(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,n=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",n),d(e)}}function c(e){if(e===T)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===k)return"<...>";try{var r=u(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function o(){var e=O.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function i(e){if(h.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function f(e,r){function t(){g||(g=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function M(){var e=u(this.type);return N[e]||(N[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function L(e,r,t,n,R,S){var a=t.ref;return e={$$typeof:w,type:e,key:r,props:t,_owner:n},(a!==void 0?a:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:M}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:R}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function j(e,r,t,n,R,S){var a=r.children;if(a!==void 0)if(n)if(Q(a)){for(n=0;n<a.length;n++)x(a[n]);Object.freeze&&Object.freeze(a)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else x(a);if(h.call(r,"key")){a=u(e);var m=Object.keys(r).filter(function(K){return K!=="key"});n=0<m.length?"{key: someKey, "+m.join(": ..., ")+": ...}":"{key: someKey}",$[a+n]||(m=0<m.length?"{"+m.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
-
let props = %s;
|
|
3
|
-
<%s {...props} />
|
|
4
|
-
React keys must be passed directly to JSX without using spread:
|
|
5
|
-
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,n,a,m,a),$[a+n]=!0)}if(a=null,t!==void 0&&(l(t),a=""+t),i(r)&&(l(r.key),a=""+r.key),"key"in r){t={};for(var A in r)A!=="key"&&(t[A]=r[A])}else t=r;return a&&f(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),L(e,a,t,o(),R,S)}function x(e){y(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===k&&(e._payload.status==="fulfilled"?y(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function y(e){return typeof e=="object"&&e!==null&&e.$$typeof===w}var b=ee,w=Symbol.for("react.transitional.element"),W=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),q=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),V=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),G=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),B=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),H=Symbol.for("react.activity"),Z=Symbol.for("react.client.reference"),O=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,h=Object.prototype.hasOwnProperty,Q=Array.isArray,P=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(e){return e()}};var g,N={},C=b.react_stack_bottom_frame.bind(b,s)(),Y=P(c(s)),$={};E.Fragment=T,E.jsx=function(e,r,t){var n=1e4>O.recentlyCreatedOwnerStacks++;return j(e,r,t,!1,n?Error("react-stack-top-frame"):C,n?P(c(e)):Y)},E.jsxs=function(e,r,t){var n=1e4>O.recentlyCreatedOwnerStacks++;return j(e,r,t,!0,n?Error("react-stack-top-frame"):C,n?P(c(e)):Y)}})()),E}var D;function ne(){return D||(D=1,process.env.NODE_ENV==="production"?v.exports=re():v.exports=te()),v.exports}var p=ne();const ae=({variant:u="solid",size:d="md",loading:l=!1,icon:c,children:o,className:s="",disabled:i,...f})=>p.jsxs("button",{className:`pure-btn ${u}-btn ${d}-btn ${s}`,disabled:i||l,...f,children:[l&&p.jsx("span",{className:"loader"}),c&&p.jsx("span",{className:"btn-icon",children:c}),p.jsx("span",{className:c||l?"btn-text":"",children:o})]});exports.PureButton=ae;
|
package/dist/index.es.js
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
import ee from "react";
|
|
2
|
-
var p = { exports: {} }, _ = {};
|
|
3
|
-
var I;
|
|
4
|
-
function re() {
|
|
5
|
-
if (I) return _;
|
|
6
|
-
I = 1;
|
|
7
|
-
var l = /* @__PURE__ */ Symbol.for("react.transitional.element"), d = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
8
|
-
function u(c, o, s) {
|
|
9
|
-
var i = null;
|
|
10
|
-
if (s !== void 0 && (i = "" + s), o.key !== void 0 && (i = "" + o.key), "key" in o) {
|
|
11
|
-
s = {};
|
|
12
|
-
for (var f in o)
|
|
13
|
-
f !== "key" && (s[f] = o[f]);
|
|
14
|
-
} else s = o;
|
|
15
|
-
return o = s.ref, {
|
|
16
|
-
$$typeof: l,
|
|
17
|
-
type: c,
|
|
18
|
-
key: i,
|
|
19
|
-
ref: o !== void 0 ? o : null,
|
|
20
|
-
props: s
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return _.Fragment = d, _.jsx = u, _.jsxs = u, _;
|
|
24
|
-
}
|
|
25
|
-
var E = {};
|
|
26
|
-
var F;
|
|
27
|
-
function te() {
|
|
28
|
-
return F || (F = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
29
|
-
function l(e) {
|
|
30
|
-
if (e == null) return null;
|
|
31
|
-
if (typeof e == "function")
|
|
32
|
-
return e.$$typeof === Z ? null : e.displayName || e.name || null;
|
|
33
|
-
if (typeof e == "string") return e;
|
|
34
|
-
switch (e) {
|
|
35
|
-
case T:
|
|
36
|
-
return "Fragment";
|
|
37
|
-
case q:
|
|
38
|
-
return "Profiler";
|
|
39
|
-
case U:
|
|
40
|
-
return "StrictMode";
|
|
41
|
-
case G:
|
|
42
|
-
return "Suspense";
|
|
43
|
-
case X:
|
|
44
|
-
return "SuspenseList";
|
|
45
|
-
case H:
|
|
46
|
-
return "Activity";
|
|
47
|
-
}
|
|
48
|
-
if (typeof e == "object")
|
|
49
|
-
switch (typeof e.tag == "number" && console.error(
|
|
50
|
-
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
51
|
-
), e.$$typeof) {
|
|
52
|
-
case W:
|
|
53
|
-
return "Portal";
|
|
54
|
-
case V:
|
|
55
|
-
return e.displayName || "Context";
|
|
56
|
-
case J:
|
|
57
|
-
return (e._context.displayName || "Context") + ".Consumer";
|
|
58
|
-
case z:
|
|
59
|
-
var r = e.render;
|
|
60
|
-
return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
61
|
-
case B:
|
|
62
|
-
return r = e.displayName || null, r !== null ? r : l(e.type) || "Memo";
|
|
63
|
-
case k:
|
|
64
|
-
r = e._payload, e = e._init;
|
|
65
|
-
try {
|
|
66
|
-
return l(e(r));
|
|
67
|
-
} catch {
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
function d(e) {
|
|
73
|
-
return "" + e;
|
|
74
|
-
}
|
|
75
|
-
function u(e) {
|
|
76
|
-
try {
|
|
77
|
-
d(e);
|
|
78
|
-
var r = !1;
|
|
79
|
-
} catch {
|
|
80
|
-
r = !0;
|
|
81
|
-
}
|
|
82
|
-
if (r) {
|
|
83
|
-
r = console;
|
|
84
|
-
var t = r.error, n = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
85
|
-
return t.call(
|
|
86
|
-
r,
|
|
87
|
-
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
88
|
-
n
|
|
89
|
-
), d(e);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function c(e) {
|
|
93
|
-
if (e === T) return "<>";
|
|
94
|
-
if (typeof e == "object" && e !== null && e.$$typeof === k)
|
|
95
|
-
return "<...>";
|
|
96
|
-
try {
|
|
97
|
-
var r = l(e);
|
|
98
|
-
return r ? "<" + r + ">" : "<...>";
|
|
99
|
-
} catch {
|
|
100
|
-
return "<...>";
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
function o() {
|
|
104
|
-
var e = O.A;
|
|
105
|
-
return e === null ? null : e.getOwner();
|
|
106
|
-
}
|
|
107
|
-
function s() {
|
|
108
|
-
return Error("react-stack-top-frame");
|
|
109
|
-
}
|
|
110
|
-
function i(e) {
|
|
111
|
-
if (h.call(e, "key")) {
|
|
112
|
-
var r = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
113
|
-
if (r && r.isReactWarning) return !1;
|
|
114
|
-
}
|
|
115
|
-
return e.key !== void 0;
|
|
116
|
-
}
|
|
117
|
-
function f(e, r) {
|
|
118
|
-
function t() {
|
|
119
|
-
N || (N = !0, console.error(
|
|
120
|
-
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
121
|
-
r
|
|
122
|
-
));
|
|
123
|
-
}
|
|
124
|
-
t.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
125
|
-
get: t,
|
|
126
|
-
configurable: !0
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
function L() {
|
|
130
|
-
var e = l(this.type);
|
|
131
|
-
return g[e] || (g[e] = !0, console.error(
|
|
132
|
-
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
133
|
-
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
134
|
-
}
|
|
135
|
-
function M(e, r, t, n, R, A) {
|
|
136
|
-
var a = t.ref;
|
|
137
|
-
return e = {
|
|
138
|
-
$$typeof: y,
|
|
139
|
-
type: e,
|
|
140
|
-
key: r,
|
|
141
|
-
props: t,
|
|
142
|
-
_owner: n
|
|
143
|
-
}, (a !== void 0 ? a : null) !== null ? Object.defineProperty(e, "ref", {
|
|
144
|
-
enumerable: !1,
|
|
145
|
-
get: L
|
|
146
|
-
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
147
|
-
configurable: !1,
|
|
148
|
-
enumerable: !1,
|
|
149
|
-
writable: !0,
|
|
150
|
-
value: 0
|
|
151
|
-
}), Object.defineProperty(e, "_debugInfo", {
|
|
152
|
-
configurable: !1,
|
|
153
|
-
enumerable: !1,
|
|
154
|
-
writable: !0,
|
|
155
|
-
value: null
|
|
156
|
-
}), Object.defineProperty(e, "_debugStack", {
|
|
157
|
-
configurable: !1,
|
|
158
|
-
enumerable: !1,
|
|
159
|
-
writable: !0,
|
|
160
|
-
value: R
|
|
161
|
-
}), Object.defineProperty(e, "_debugTask", {
|
|
162
|
-
configurable: !1,
|
|
163
|
-
enumerable: !1,
|
|
164
|
-
writable: !0,
|
|
165
|
-
value: A
|
|
166
|
-
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
167
|
-
}
|
|
168
|
-
function S(e, r, t, n, R, A) {
|
|
169
|
-
var a = r.children;
|
|
170
|
-
if (a !== void 0)
|
|
171
|
-
if (n)
|
|
172
|
-
if (Q(a)) {
|
|
173
|
-
for (n = 0; n < a.length; n++)
|
|
174
|
-
j(a[n]);
|
|
175
|
-
Object.freeze && Object.freeze(a);
|
|
176
|
-
} else
|
|
177
|
-
console.error(
|
|
178
|
-
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
179
|
-
);
|
|
180
|
-
else j(a);
|
|
181
|
-
if (h.call(r, "key")) {
|
|
182
|
-
a = l(e);
|
|
183
|
-
var m = Object.keys(r).filter(function(K) {
|
|
184
|
-
return K !== "key";
|
|
185
|
-
});
|
|
186
|
-
n = 0 < m.length ? "{key: someKey, " + m.join(": ..., ") + ": ...}" : "{key: someKey}", $[a + n] || (m = 0 < m.length ? "{" + m.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
187
|
-
`A props object containing a "key" prop is being spread into JSX:
|
|
188
|
-
let props = %s;
|
|
189
|
-
<%s {...props} />
|
|
190
|
-
React keys must be passed directly to JSX without using spread:
|
|
191
|
-
let props = %s;
|
|
192
|
-
<%s key={someKey} {...props} />`,
|
|
193
|
-
n,
|
|
194
|
-
a,
|
|
195
|
-
m,
|
|
196
|
-
a
|
|
197
|
-
), $[a + n] = !0);
|
|
198
|
-
}
|
|
199
|
-
if (a = null, t !== void 0 && (u(t), a = "" + t), i(r) && (u(r.key), a = "" + r.key), "key" in r) {
|
|
200
|
-
t = {};
|
|
201
|
-
for (var P in r)
|
|
202
|
-
P !== "key" && (t[P] = r[P]);
|
|
203
|
-
} else t = r;
|
|
204
|
-
return a && f(
|
|
205
|
-
t,
|
|
206
|
-
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
207
|
-
), M(
|
|
208
|
-
e,
|
|
209
|
-
a,
|
|
210
|
-
t,
|
|
211
|
-
o(),
|
|
212
|
-
R,
|
|
213
|
-
A
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
function j(e) {
|
|
217
|
-
w(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === k && (e._payload.status === "fulfilled" ? w(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
218
|
-
}
|
|
219
|
-
function w(e) {
|
|
220
|
-
return typeof e == "object" && e !== null && e.$$typeof === y;
|
|
221
|
-
}
|
|
222
|
-
var b = ee, y = /* @__PURE__ */ Symbol.for("react.transitional.element"), W = /* @__PURE__ */ Symbol.for("react.portal"), T = /* @__PURE__ */ Symbol.for("react.fragment"), U = /* @__PURE__ */ Symbol.for("react.strict_mode"), q = /* @__PURE__ */ Symbol.for("react.profiler"), J = /* @__PURE__ */ Symbol.for("react.consumer"), V = /* @__PURE__ */ Symbol.for("react.context"), z = /* @__PURE__ */ Symbol.for("react.forward_ref"), G = /* @__PURE__ */ Symbol.for("react.suspense"), X = /* @__PURE__ */ Symbol.for("react.suspense_list"), B = /* @__PURE__ */ Symbol.for("react.memo"), k = /* @__PURE__ */ Symbol.for("react.lazy"), H = /* @__PURE__ */ Symbol.for("react.activity"), Z = /* @__PURE__ */ Symbol.for("react.client.reference"), O = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, h = Object.prototype.hasOwnProperty, Q = Array.isArray, x = console.createTask ? console.createTask : function() {
|
|
223
|
-
return null;
|
|
224
|
-
};
|
|
225
|
-
b = {
|
|
226
|
-
react_stack_bottom_frame: function(e) {
|
|
227
|
-
return e();
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
var N, g = {}, C = b.react_stack_bottom_frame.bind(
|
|
231
|
-
b,
|
|
232
|
-
s
|
|
233
|
-
)(), Y = x(c(s)), $ = {};
|
|
234
|
-
E.Fragment = T, E.jsx = function(e, r, t) {
|
|
235
|
-
var n = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
236
|
-
return S(
|
|
237
|
-
e,
|
|
238
|
-
r,
|
|
239
|
-
t,
|
|
240
|
-
!1,
|
|
241
|
-
n ? Error("react-stack-top-frame") : C,
|
|
242
|
-
n ? x(c(e)) : Y
|
|
243
|
-
);
|
|
244
|
-
}, E.jsxs = function(e, r, t) {
|
|
245
|
-
var n = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
246
|
-
return S(
|
|
247
|
-
e,
|
|
248
|
-
r,
|
|
249
|
-
t,
|
|
250
|
-
!0,
|
|
251
|
-
n ? Error("react-stack-top-frame") : C,
|
|
252
|
-
n ? x(c(e)) : Y
|
|
253
|
-
);
|
|
254
|
-
};
|
|
255
|
-
})()), E;
|
|
256
|
-
}
|
|
257
|
-
var D;
|
|
258
|
-
function ne() {
|
|
259
|
-
return D || (D = 1, process.env.NODE_ENV === "production" ? p.exports = re() : p.exports = te()), p.exports;
|
|
260
|
-
}
|
|
261
|
-
var v = ne();
|
|
262
|
-
const oe = ({
|
|
263
|
-
variant: l = "solid",
|
|
264
|
-
size: d = "md",
|
|
265
|
-
loading: u = !1,
|
|
266
|
-
icon: c,
|
|
267
|
-
children: o,
|
|
268
|
-
className: s = "",
|
|
269
|
-
disabled: i,
|
|
270
|
-
...f
|
|
271
|
-
}) => /* @__PURE__ */ v.jsxs(
|
|
272
|
-
"button",
|
|
273
|
-
{
|
|
274
|
-
className: `pure-btn ${l}-btn ${d}-btn ${s}`,
|
|
275
|
-
disabled: i || u,
|
|
276
|
-
...f,
|
|
277
|
-
children: [
|
|
278
|
-
u && /* @__PURE__ */ v.jsx("span", { className: "loader" }),
|
|
279
|
-
c && /* @__PURE__ */ v.jsx("span", { className: "btn-icon", children: c }),
|
|
280
|
-
/* @__PURE__ */ v.jsx("span", { className: c || u ? "btn-text" : "", children: o })
|
|
281
|
-
]
|
|
282
|
-
}
|
|
283
|
-
);
|
|
284
|
-
export {
|
|
285
|
-
oe as PureButton
|
|
286
|
-
};
|
package/dist/pure-react-ui.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.custom-btn{font-size:18px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.sm-btn{padding:10px 20px;font-size:14px}.md-btn{padding:15px 30px;font-size:18px}.lg-btn{padding:20px 40px;font-size:22px}.loader{width:20px;height:20px;border:3px solid #fff;border-top:3px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.solid-btn{background:#007bff;color:#fff;border:none;border-radius:8px}.solid-btn:hover{background:#0056b3}.gradient-btn{background:linear-gradient(135deg,#6e8efb,#a777e3);color:#fff;border:none;border-radius:8px}.gradient-btn:hover{transform:scale(1.05);box-shadow:0 10px 20px #6e8efb66}.neumorphic-btn{background:#e0e0e0;color:#666;border:none;border-radius:12px;box-shadow:8px 8px 16px #bebebe,-8px -8px 16px #fff}.neumorphic-btn:hover{box-shadow:inset 5px 5px 10px #bebebe,inset -5px -5px 10px #fff}.glow-border-btn{background:#222;color:#fff;border:2px solid transparent;border-radius:8px}.glow-border-btn:before{content:"";position:absolute;inset:-2px;background:conic-gradient(red,orange,#ff0,green,#00f,indigo,violet);border-radius:10px;z-index:-1;opacity:0;transition:opacity .5s}.glow-border-btn:hover:before{opacity:1;animation:rotate 4s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.fill-left-btn{background:transparent;border:2px solid #007bff;color:#007bff;border-radius:8px}.fill-left-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#007bff;transition:left .4s;z-index:-1}.fill-left-btn:hover:before{left:0}.fill-left-btn:hover{color:#fff}.flip-3d-btn{background:#ff6b6b;color:#fff;border:none;border-radius:8px;transform-style:preserve-3d;transition:transform .6s}.flip-3d-btn:hover{transform:rotateY(180deg)}.flip-3d-btn:after{content:"Hovered!";position:absolute;inset:0;background:#4ecdc4;border-radius:8px;display:flex;align-items:center;justify-content:center;transform:rotateY(180deg)}.glass-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.glass-btn:hover{background:#ffffff4d}.pulse-btn{background:#28a745;color:#fff;border:none;border-radius:50px;box-shadow:0 0 10px #28a745;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #28a745b3}70%{box-shadow:0 0 0 15px #28a74500}to{box-shadow:0 0 #28a74500}}.icon-reveal-btn{background:#ffc107;color:#333;border:none;border-radius:8px}.outline-btn{background:transparent;border:2px solid #007bff;color:#007bff;border-radius:8px}.outline-btn:hover{background:#007bff;color:#fff}
|
package/dist/vite.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|