@youngonesworks/ui 0.1.20 → 0.1.24
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 +210 -13
- package/dist/components/checkbox/index.d.ts +10 -8
- package/dist/components/favouriteButton/index.d.ts +6 -11
- package/dist/index.cjs +196 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +187 -47
- package/dist/index.js.map +1 -1
- package/dist/styles/index.d.ts +9 -0
- package/dist/styles/utilities.css +200 -0
- package/dist/styles/variables.css +228 -0
- package/dist/theme/fonts.d.ts +29 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/variables.d.ts +62 -0
- package/package.json +32 -14
- package/dist/components/calendar/index.d.ts +0 -0
- package/dist/components/checkbox/Checkbox.stories.d.ts +0 -9
package/README.md
CHANGED
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
# @youngonesworks/ui
|
|
2
2
|
|
|
3
|
-
A React component library built with Tailwind CSS v4.
|
|
3
|
+
A comprehensive React component library built with Tailwind CSS v4, featuring modular CSS variables, optimized fonts, and TypeScript support.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- React components built with TypeScript
|
|
8
|
-
- Styled with Tailwind CSS v4
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
7
|
+
- 🧩 **React components built with TypeScript**
|
|
8
|
+
- 🎨 **Styled with Tailwind CSS v4**
|
|
9
|
+
- 📦 **Modular CSS exports** - Import only what you need
|
|
10
|
+
- 🔤 **Next.js optimized fonts** - Gotham font family with automatic optimization
|
|
11
|
+
- 🎯 **CSS Variables & Utilities** - Exportable design tokens
|
|
12
|
+
- 🌳 **Tree-shakeable** - Only import what you need
|
|
13
|
+
- 📝 **Full TypeScript support** - Type-safe CSS variable helpers
|
|
14
|
+
- ⚡ **Modern build** - Rolldown (Rust-based bundler)
|
|
13
15
|
|
|
14
16
|
## Installation
|
|
15
17
|
|
|
16
18
|
```bash
|
|
17
19
|
# yarn
|
|
18
20
|
yarn add @youngonesworks/ui
|
|
21
|
+
|
|
22
|
+
# npm
|
|
23
|
+
npm install @youngonesworks/ui
|
|
19
24
|
```
|
|
20
25
|
|
|
21
26
|
### Peer Dependencies
|
|
22
27
|
|
|
23
|
-
- react
|
|
24
|
-
- react-dom
|
|
28
|
+
- **react**: ^18 || ^19
|
|
29
|
+
- **react-dom**: ^18 || ^19
|
|
30
|
+
- **next**: ^14 || ^15 *(for Next.js projects)*
|
|
25
31
|
|
|
26
32
|
### Tailwind CSS v4 setup
|
|
27
33
|
|
|
@@ -46,6 +52,8 @@ module.exports = {
|
|
|
46
52
|
|
|
47
53
|
## Usage
|
|
48
54
|
|
|
55
|
+
### 🧩 React Components
|
|
56
|
+
|
|
49
57
|
```tsx
|
|
50
58
|
import { Button } from '@youngonesworks/ui';
|
|
51
59
|
|
|
@@ -60,9 +68,133 @@ function App() {
|
|
|
60
68
|
}
|
|
61
69
|
```
|
|
62
70
|
|
|
63
|
-
###
|
|
71
|
+
### 🎨 CSS Variables & Utilities
|
|
72
|
+
|
|
73
|
+
#### Import CSS Variables
|
|
74
|
+
|
|
75
|
+
```css
|
|
76
|
+
/* Import in your CSS file */
|
|
77
|
+
@import '@youngonesworks/ui/styles/variables.css';
|
|
78
|
+
@import '@youngonesworks/ui/styles/utilities.css';
|
|
79
|
+
|
|
80
|
+
.my-component {
|
|
81
|
+
color: var(--color-primary); /* #10d1bb */
|
|
82
|
+
font-family: var(--font-family-sans); /* Gotham font */
|
|
83
|
+
font-size: var(--font-lg-size); /* 1.125rem */
|
|
84
|
+
transition: var(--transition-duration-sidebar);
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
#### TypeScript CSS Variable Helpers
|
|
89
|
+
|
|
90
|
+
```tsx
|
|
91
|
+
import { getCSSVariable, setCSSVariable, type CSSVariables } from '@youngonesworks/ui/theme';
|
|
92
|
+
|
|
93
|
+
// Get CSS variable values
|
|
94
|
+
const primaryColor = getCSSVariable('--color-primary');
|
|
95
|
+
const fontSize = getCSSVariable('--font-lg-size');
|
|
96
|
+
|
|
97
|
+
// Set CSS variables dynamically
|
|
98
|
+
setCSSVariable('--color-primary', '#ff6b35');
|
|
99
|
+
setCSSVariable('--font-lg-size', '1.25rem');
|
|
100
|
+
|
|
101
|
+
// Type-safe variable names
|
|
102
|
+
const variables: CSSVariables = {
|
|
103
|
+
colors: {
|
|
104
|
+
primary: '#10d1bb',
|
|
105
|
+
secondary: '#6366f1'
|
|
106
|
+
},
|
|
107
|
+
typography: {
|
|
108
|
+
fontLgSize: '1.125rem',
|
|
109
|
+
fontBaseLine: '1.5rem'
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 🔤 Next.js Fonts
|
|
115
|
+
|
|
116
|
+
#### Setup in Next.js App Router
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
// app/layout.tsx
|
|
120
|
+
import { gothamFont } from '@youngonesworks/ui/theme/fonts';
|
|
121
|
+
import '@youngonesworks/ui/styles/variables.css';
|
|
122
|
+
|
|
123
|
+
export default function RootLayout({ children }) {
|
|
124
|
+
return (
|
|
125
|
+
<html lang="en" className={gothamFont.variable}>
|
|
126
|
+
<body className={gothamFont.className}>
|
|
127
|
+
{children}
|
|
128
|
+
</body>
|
|
129
|
+
</html>
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### Use Font Utilities
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
import { FONT_FAMILIES, FONT_CLASS_NAMES, FONT_WEIGHTS } from '@youngonesworks/ui/theme/fonts';
|
|
138
|
+
|
|
139
|
+
function MyComponent() {
|
|
140
|
+
return (
|
|
141
|
+
<div>
|
|
142
|
+
{/* Using CSS class */}
|
|
143
|
+
<h1 className={FONT_CLASS_NAMES.gotham}>Optimized Gotham</h1>
|
|
144
|
+
|
|
145
|
+
{/* Using inline styles */}
|
|
146
|
+
<p style={{
|
|
147
|
+
fontFamily: FONT_FAMILIES.gotham,
|
|
148
|
+
fontWeight: FONT_WEIGHTS.medium
|
|
149
|
+
}}>
|
|
150
|
+
Custom styled text
|
|
151
|
+
</p>
|
|
152
|
+
</div>
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### 📦 Available Exports
|
|
64
158
|
|
|
65
|
-
|
|
159
|
+
```tsx
|
|
160
|
+
// Components
|
|
161
|
+
import { Button, Card, Input } from '@youngonesworks/ui';
|
|
162
|
+
|
|
163
|
+
// CSS Variables (TypeScript helpers)
|
|
164
|
+
import { getCSSVariable, setCSSVariable } from '@youngonesworks/ui/theme';
|
|
165
|
+
|
|
166
|
+
// Font utilities
|
|
167
|
+
import { gothamFont, FONT_FAMILIES } from '@youngonesworks/ui/theme/fonts';
|
|
168
|
+
|
|
169
|
+
// CSS files (import in CSS/SCSS)
|
|
170
|
+
// @import '@youngonesworks/ui/styles/variables.css';
|
|
171
|
+
// @import '@youngonesworks/ui/styles/utilities.css';
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## 📊 Available CSS Variables
|
|
175
|
+
|
|
176
|
+
### Colors
|
|
177
|
+
- `--color-primary` - Primary brand color (#10d1bb)
|
|
178
|
+
- `--color-secondary` - Secondary brand color
|
|
179
|
+
- `--color-background` - Background colors
|
|
180
|
+
- `--color-foreground` - Text colors
|
|
181
|
+
|
|
182
|
+
### Typography
|
|
183
|
+
- `--font-family-sans` - Gotham font stack
|
|
184
|
+
- `--font-xs-size` to `--font-9xl-size` - Font sizes (0.75rem - 8rem)
|
|
185
|
+
- `--font-xs-line` to `--font-9xl-line` - Line heights
|
|
186
|
+
|
|
187
|
+
### Spacing & Sizing
|
|
188
|
+
- `--spacing-*` - Consistent spacing scale
|
|
189
|
+
- `--sizing-*` - Width/height utilities
|
|
190
|
+
|
|
191
|
+
### Transitions & Animations
|
|
192
|
+
- `--transition-duration-*` - Duration presets
|
|
193
|
+
- Custom animation utilities (`.animate-spin-slow`, etc.)
|
|
194
|
+
|
|
195
|
+
## Components
|
|
196
|
+
|
|
197
|
+
### Button
|
|
66
198
|
|
|
67
199
|
```tsx
|
|
68
200
|
<Button
|
|
@@ -74,10 +206,75 @@ function App() {
|
|
|
74
206
|
</Button>
|
|
75
207
|
```
|
|
76
208
|
|
|
209
|
+
## 🚀 Development
|
|
210
|
+
|
|
211
|
+
### Setup
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
git clone https://github.com/youngonesworks/ui.git
|
|
215
|
+
cd ui
|
|
216
|
+
yarn install
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Available Scripts
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Development
|
|
223
|
+
yarn dev # Start Storybook development server
|
|
224
|
+
yarn watch # Watch and build library
|
|
225
|
+
|
|
226
|
+
# Building
|
|
227
|
+
yarn build # Build library for production
|
|
228
|
+
yarn build-storybook # Build Storybook for deployment
|
|
229
|
+
|
|
230
|
+
# Publishing
|
|
231
|
+
yarn buildAndPublish # Build and publish to npm
|
|
232
|
+
|
|
233
|
+
# Code Quality
|
|
234
|
+
yarn lint # ESLint
|
|
235
|
+
yarn lint:fix # Auto-fix ESLint issues
|
|
236
|
+
yarn format # Prettier formatting
|
|
237
|
+
yarn test # Run Jest tests
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Project Structure
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
src/
|
|
244
|
+
├── components/ # React components
|
|
245
|
+
├── styles/ # Modular CSS files
|
|
246
|
+
├── variables.css # CSS custom properties
|
|
247
|
+
├── utilities.css # Utility classes
|
|
248
|
+
└── fonts.css # Font-face declarations
|
|
249
|
+
├── theme/ # TypeScript theme utilities
|
|
250
|
+
├── variables.ts # CSS variable helpers
|
|
251
|
+
├── fonts.ts # Next.js font configuration
|
|
252
|
+
└── index.ts # Theme exports
|
|
253
|
+
└── index.ts # Main entry point
|
|
254
|
+
```
|
|
255
|
+
|
|
77
256
|
## Contributing
|
|
78
257
|
|
|
79
|
-
Contributions are welcome! Please follow
|
|
258
|
+
Contributions are welcome! Please follow these guidelines:
|
|
259
|
+
|
|
260
|
+
1. **Fork the repository** and create a feature branch
|
|
261
|
+
2. **Follow conventional commits** spec for commit messages
|
|
262
|
+
3. **Add tests** for new components or utilities
|
|
263
|
+
4. **Update documentation** including README and Storybook stories
|
|
264
|
+
5. **Ensure all checks pass** (lint, format, test, build)
|
|
265
|
+
6. **Submit a PR** with a clear description
|
|
266
|
+
|
|
267
|
+
### CSS Variables
|
|
268
|
+
|
|
269
|
+
When adding new CSS variables:
|
|
270
|
+
1. Add them to `src/styles/variables.css`
|
|
271
|
+
2. Update TypeScript interfaces in `src/theme/variables.ts`
|
|
272
|
+
3. Document them in this README
|
|
80
273
|
|
|
81
274
|
## License
|
|
82
275
|
|
|
83
|
-
|
|
276
|
+
ISC License - see [LICENSE](LICENSE) file for details.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
**Built with ❤️ by YoungOnes** | [Website](https://youngones.work) | [GitHub](https://github.com/youngonesworks)
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
size?: 'sm' | 'md';
|
|
4
|
-
mediumBoldText?: boolean;
|
|
5
|
-
label?: ReactNode;
|
|
6
|
-
disabled?: boolean;
|
|
1
|
+
import { type JSX } from 'react';
|
|
2
|
+
interface ICheckbox extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
7
3
|
className?: string;
|
|
8
|
-
|
|
4
|
+
mediumBoldText?: boolean;
|
|
9
5
|
error?: string;
|
|
6
|
+
label?: React.ReactNode;
|
|
7
|
+
indeterminate?: boolean;
|
|
8
|
+
size?: 'sm' | 'md';
|
|
10
9
|
}
|
|
11
|
-
export declare const Checkbox:
|
|
10
|
+
export declare const Checkbox: (props: ICheckbox & {
|
|
11
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
12
|
+
}) => JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
2
|
-
interface IFavouriteButtonProps {
|
|
1
|
+
import { type JSX, type ReactNode } from 'react';
|
|
2
|
+
interface IFavouriteButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type' | 'size'> {
|
|
3
3
|
onClick: () => void;
|
|
4
4
|
favourite: boolean;
|
|
5
5
|
iconOutline?: ReactNode;
|
|
6
6
|
iconFilled?: ReactNode;
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated Can be removed and replaced by iconSize
|
|
9
|
-
*/
|
|
10
|
-
width?: string;
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Can be removed and replaced by iconSize
|
|
13
|
-
*/
|
|
14
|
-
height?: string;
|
|
15
7
|
iconSize?: number;
|
|
16
8
|
className?: string;
|
|
17
9
|
favouriteTitle?: string;
|
|
@@ -19,6 +11,9 @@ interface IFavouriteButtonProps {
|
|
|
19
11
|
iconColor?: string;
|
|
20
12
|
iconColorSelected?: string;
|
|
21
13
|
styleVariant?: 'transparent' | 'small' | 'default' | 'round' | undefined;
|
|
14
|
+
children?: React.ReactNode;
|
|
22
15
|
}
|
|
23
|
-
export declare const FavouriteButton:
|
|
16
|
+
export declare const FavouriteButton: (props: IFavouriteButtonProps & {
|
|
17
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
18
|
+
}) => JSX.Element;
|
|
24
19
|
export {};
|
package/dist/index.cjs
CHANGED
|
@@ -27,6 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
const react = __toESM(require("react"));
|
|
28
28
|
const react_jsx_runtime = __toESM(require("react/jsx-runtime"));
|
|
29
29
|
const react_dom = __toESM(require("react-dom"));
|
|
30
|
+
const next_font_local = __toESM(require("next/font/local"));
|
|
30
31
|
|
|
31
32
|
//#region src/jsx-runtime-shim.ts
|
|
32
33
|
const jsx$2 = react.createElement;
|
|
@@ -103438,7 +103439,7 @@ function Button({ type = "button", variant = "primary", ariaLabel, block = false
|
|
|
103438
103439
|
type,
|
|
103439
103440
|
"aria-label": ariaLabel,
|
|
103440
103441
|
"data-testid": dataTestId,
|
|
103441
|
-
className: cn(buttonVariants[variant], className, block && "w-full"),
|
|
103442
|
+
className: cn(buttonVariants[variant], className, block && "w-full text-sm"),
|
|
103442
103443
|
onClick: handleOnClick,
|
|
103443
103444
|
...props,
|
|
103444
103445
|
children: [
|
|
@@ -103452,7 +103453,7 @@ Button.displayName = "Button";
|
|
|
103452
103453
|
|
|
103453
103454
|
//#endregion
|
|
103454
103455
|
//#region src/components/checkbox/index.tsx
|
|
103455
|
-
const
|
|
103456
|
+
const CheckboxComponent = ({ size: size$3 = "md", className, error: error$1, mediumBoldText, label, indeterminate = false, disabled = false,...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
103456
103457
|
className: cn("relative grid gap-2", className),
|
|
103457
103458
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
103458
103459
|
className: cn("flex cursor-pointer items-center gap-3"),
|
|
@@ -103464,8 +103465,8 @@ const Checkbox = (0, react.forwardRef)(({ size: size$3 = "md", className, error:
|
|
|
103464
103465
|
type: "checkbox",
|
|
103465
103466
|
"data-testid": "checkbox",
|
|
103466
103467
|
disabled,
|
|
103467
|
-
|
|
103468
|
-
|
|
103468
|
+
...props,
|
|
103469
|
+
ref
|
|
103469
103470
|
}),
|
|
103470
103471
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
103471
103472
|
className: cn("pointer-events-none absolute top-1/2 left-1/2 hidden -translate-x-1/2 -translate-y-1/2 stroke-white outline-hidden peer-checked:block", { "stroke-gray-300": disabled }, size$3 === "sm" ? "size-3" : "size-4"),
|
|
@@ -103503,17 +103504,35 @@ const Checkbox = (0, react.forwardRef)(({ size: size$3 = "md", className, error:
|
|
|
103503
103504
|
className: "text-xs font-normal text-red-500",
|
|
103504
103505
|
children: error$1
|
|
103505
103506
|
})]
|
|
103506
|
-
})
|
|
103507
|
-
Checkbox
|
|
103507
|
+
});
|
|
103508
|
+
const Checkbox = (0, react.forwardRef)(CheckboxComponent);
|
|
103508
103509
|
|
|
103509
103510
|
//#endregion
|
|
103510
103511
|
//#region src/components/divider/index.tsx
|
|
103511
103512
|
const Divider = ({ className,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
103512
103513
|
"data-component": "divider",
|
|
103513
|
-
className: clsx_default("block h-px w-full bg-
|
|
103514
|
+
className: clsx_default("block h-px w-full bg-gray-200", className),
|
|
103514
103515
|
...props
|
|
103515
103516
|
});
|
|
103516
103517
|
|
|
103518
|
+
//#endregion
|
|
103519
|
+
//#region src/components/favouriteButton/index.tsx
|
|
103520
|
+
const FavouriteButton = (0, react.forwardRef)((props, ref) => {
|
|
103521
|
+
const { onClick, favourite, iconFilled, iconOutline, favouriteTitle, iconColorSelected = "text-pink", iconColor = "text-gray-800", iconSize, className = "", styleVariant = "transparent", children,...rest } = props;
|
|
103522
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ActionIcon, {
|
|
103523
|
+
onClick,
|
|
103524
|
+
"data-component": "favouriteButton",
|
|
103525
|
+
title: favouriteTitle || "Favorite",
|
|
103526
|
+
styleVariant,
|
|
103527
|
+
className: `${favourite ? iconColorSelected : iconColor} ${className}`.trim(),
|
|
103528
|
+
iconSize,
|
|
103529
|
+
ref,
|
|
103530
|
+
icon: favourite ? iconFilled ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHeartFilled, {}) : iconOutline ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHeart, {}),
|
|
103531
|
+
...rest,
|
|
103532
|
+
children
|
|
103533
|
+
});
|
|
103534
|
+
});
|
|
103535
|
+
|
|
103517
103536
|
//#endregion
|
|
103518
103537
|
//#region src/components/filters/FilterButton.tsx
|
|
103519
103538
|
const FilterButton = ({ onClick, hasFilters, reset, filtersText, resetText }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -111927,9 +111946,9 @@ var jsx = function jsx$3(type, props) {
|
|
|
111927
111946
|
}
|
|
111928
111947
|
return react.createElement.apply(null, createElementArgArray);
|
|
111929
111948
|
};
|
|
111930
|
-
(function(_jsx$
|
|
111949
|
+
(function(_jsx$66) {
|
|
111931
111950
|
var JSX;
|
|
111932
|
-
(function(_JSX) {})(JSX || (JSX = _jsx$
|
|
111951
|
+
(function(_JSX) {})(JSX || (JSX = _jsx$66.JSX || (_jsx$66.JSX = {})));
|
|
111933
111952
|
})(jsx || (jsx = {}));
|
|
111934
111953
|
var Global = /* @__PURE__ */ withEmotionCache(function(props, cache) {
|
|
111935
111954
|
var styles = props.styles;
|
|
@@ -137800,37 +137819,8 @@ function isClassComponent(Component$1) {
|
|
|
137800
137819
|
* @returns {boolean}
|
|
137801
137820
|
*/
|
|
137802
137821
|
function isForwardRefComponent(Component$1) {
|
|
137803
|
-
|
|
137804
|
-
|
|
137805
|
-
/**
|
|
137806
|
-
* Check if a component is a memoized component.
|
|
137807
|
-
* @param Component
|
|
137808
|
-
* @returns {boolean}
|
|
137809
|
-
*/
|
|
137810
|
-
function isMemoComponent(Component$1) {
|
|
137811
|
-
return !!(typeof Component$1 === "object" && Component$1.$$typeof && (Component$1.$$typeof.toString() === "Symbol(react.memo)" || Component$1.$$typeof.description === "react.memo"));
|
|
137812
|
-
}
|
|
137813
|
-
/**
|
|
137814
|
-
* Check if a component can safely receive a ref prop.
|
|
137815
|
-
* This includes class components, forwardRef components, and memoized components
|
|
137816
|
-
* that wrap forwardRef or class components.
|
|
137817
|
-
* @param Component
|
|
137818
|
-
* @returns {boolean}
|
|
137819
|
-
*/
|
|
137820
|
-
function canReceiveRef(Component$1) {
|
|
137821
|
-
if (isClassComponent(Component$1)) {
|
|
137822
|
-
return true;
|
|
137823
|
-
}
|
|
137824
|
-
if (isForwardRefComponent(Component$1)) {
|
|
137825
|
-
return true;
|
|
137826
|
-
}
|
|
137827
|
-
if (isMemoComponent(Component$1)) {
|
|
137828
|
-
const wrappedComponent = Component$1.type;
|
|
137829
|
-
if (wrappedComponent) {
|
|
137830
|
-
return isClassComponent(wrappedComponent) || isForwardRefComponent(wrappedComponent);
|
|
137831
|
-
}
|
|
137832
|
-
}
|
|
137833
|
-
return false;
|
|
137822
|
+
var _a;
|
|
137823
|
+
return !!(typeof Component$1 === "object" && ((_a = Component$1.$$typeof) === null || _a === void 0 ? void 0 : _a.toString()) === "Symbol(react.forward_ref)");
|
|
137834
137824
|
}
|
|
137835
137825
|
/**
|
|
137836
137826
|
* Check if we're running React 19+ by detecting if function components support ref props
|
|
@@ -137888,15 +137878,19 @@ var ReactRenderer = class {
|
|
|
137888
137878
|
const props = this.props;
|
|
137889
137879
|
const editor = this.editor;
|
|
137890
137880
|
const isReact19 = isReact19Plus();
|
|
137891
|
-
const
|
|
137881
|
+
const isClassComp = isClassComponent(Component$1);
|
|
137882
|
+
const isForwardRefComp = isForwardRefComponent(Component$1);
|
|
137892
137883
|
const elementProps = { ...props };
|
|
137893
|
-
if (elementProps.ref
|
|
137894
|
-
|
|
137895
|
-
|
|
137896
|
-
|
|
137897
|
-
|
|
137898
|
-
|
|
137899
|
-
|
|
137884
|
+
if (!elementProps.ref) {
|
|
137885
|
+
if (isReact19) {
|
|
137886
|
+
elementProps.ref = (ref) => {
|
|
137887
|
+
this.ref = ref;
|
|
137888
|
+
};
|
|
137889
|
+
} else if (isClassComp || isForwardRefComp) {
|
|
137890
|
+
elementProps.ref = (ref) => {
|
|
137891
|
+
this.ref = ref;
|
|
137892
|
+
};
|
|
137893
|
+
}
|
|
137900
137894
|
}
|
|
137901
137895
|
this.reactElement = react.default.createElement(Component$1, { ...elementProps });
|
|
137902
137896
|
(_a = editor === null || editor === void 0 ? void 0 : editor.contentComponent) === null || _a === void 0 ? void 0 : _a.setRenderer(this.id, this);
|
|
@@ -140314,6 +140308,152 @@ const WysiwygEditor = (0, react.forwardRef)(({ id, content, className, placehold
|
|
|
140314
140308
|
})] });
|
|
140315
140309
|
});
|
|
140316
140310
|
|
|
140311
|
+
//#endregion
|
|
140312
|
+
//#region src/theme/variables.ts
|
|
140313
|
+
const CSS_VARIABLE_KEYS = [
|
|
140314
|
+
"--color-primary",
|
|
140315
|
+
"--color-primary-light",
|
|
140316
|
+
"--color-primary-dark",
|
|
140317
|
+
"--color-black",
|
|
140318
|
+
"--color-navy-blue",
|
|
140319
|
+
"--color-white",
|
|
140320
|
+
"--color-accent-blue",
|
|
140321
|
+
"--color-ultra-light-blue",
|
|
140322
|
+
"--color-green",
|
|
140323
|
+
"--color-green-light",
|
|
140324
|
+
"--color-pink",
|
|
140325
|
+
"--color-purple",
|
|
140326
|
+
"--color-orange",
|
|
140327
|
+
"--color-warning",
|
|
140328
|
+
"--color-warning-light",
|
|
140329
|
+
"--color-warning-dark"
|
|
140330
|
+
];
|
|
140331
|
+
const getCSSVariable = (variable) => {
|
|
140332
|
+
if (typeof window !== "undefined") {
|
|
140333
|
+
return getComputedStyle(document.documentElement).getPropertyValue(variable).trim();
|
|
140334
|
+
}
|
|
140335
|
+
return "";
|
|
140336
|
+
};
|
|
140337
|
+
const setCSSVariable = (variable, value) => {
|
|
140338
|
+
if (typeof window !== "undefined") {
|
|
140339
|
+
document.documentElement.style.setProperty(variable, value);
|
|
140340
|
+
}
|
|
140341
|
+
};
|
|
140342
|
+
|
|
140343
|
+
//#endregion
|
|
140344
|
+
//#region src/theme/fonts.ts
|
|
140345
|
+
const gothamFont = (0, next_font_local.default)({
|
|
140346
|
+
src: [
|
|
140347
|
+
{
|
|
140348
|
+
path: "../assets/fonts/woff2/Gotham-Thin_Web.woff2",
|
|
140349
|
+
weight: "100",
|
|
140350
|
+
style: "normal"
|
|
140351
|
+
},
|
|
140352
|
+
{
|
|
140353
|
+
path: "../assets/fonts/woff2/Gotham-ThinItalic_Web.woff2",
|
|
140354
|
+
weight: "100",
|
|
140355
|
+
style: "italic"
|
|
140356
|
+
},
|
|
140357
|
+
{
|
|
140358
|
+
path: "../assets/fonts/woff2/Gotham-XLight_Web.woff2",
|
|
140359
|
+
weight: "200",
|
|
140360
|
+
style: "normal"
|
|
140361
|
+
},
|
|
140362
|
+
{
|
|
140363
|
+
path: "../assets/fonts/woff2/Gotham-XLightItalic_Web.woff2",
|
|
140364
|
+
weight: "200",
|
|
140365
|
+
style: "italic"
|
|
140366
|
+
},
|
|
140367
|
+
{
|
|
140368
|
+
path: "../assets/fonts/woff2/Gotham-Light_Web.woff2",
|
|
140369
|
+
weight: "300",
|
|
140370
|
+
style: "normal"
|
|
140371
|
+
},
|
|
140372
|
+
{
|
|
140373
|
+
path: "../assets/fonts/woff2/Gotham-LightItalic_Web.woff2",
|
|
140374
|
+
weight: "300",
|
|
140375
|
+
style: "italic"
|
|
140376
|
+
},
|
|
140377
|
+
{
|
|
140378
|
+
path: "../assets/fonts/woff2/Gotham-Book_Web.woff2",
|
|
140379
|
+
weight: "400",
|
|
140380
|
+
style: "normal"
|
|
140381
|
+
},
|
|
140382
|
+
{
|
|
140383
|
+
path: "../assets/fonts/woff2/Gotham-BookItalic_Web.woff2",
|
|
140384
|
+
weight: "400",
|
|
140385
|
+
style: "italic"
|
|
140386
|
+
},
|
|
140387
|
+
{
|
|
140388
|
+
path: "../assets/fonts/woff2/Gotham-Medium_Web.woff2",
|
|
140389
|
+
weight: "500",
|
|
140390
|
+
style: "normal"
|
|
140391
|
+
},
|
|
140392
|
+
{
|
|
140393
|
+
path: "../assets/fonts/woff2/Gotham-MediumItalic_Web.woff2",
|
|
140394
|
+
weight: "500",
|
|
140395
|
+
style: "italic"
|
|
140396
|
+
},
|
|
140397
|
+
{
|
|
140398
|
+
path: "../assets/fonts/woff2/Gotham-Bold_Web.woff2",
|
|
140399
|
+
weight: "700",
|
|
140400
|
+
style: "normal"
|
|
140401
|
+
},
|
|
140402
|
+
{
|
|
140403
|
+
path: "../assets/fonts/woff2/Gotham-BoldItalic_Web.woff2",
|
|
140404
|
+
weight: "700",
|
|
140405
|
+
style: "italic"
|
|
140406
|
+
},
|
|
140407
|
+
{
|
|
140408
|
+
path: "../assets/fonts/woff2/Gotham-Black_Web.woff2",
|
|
140409
|
+
weight: "800",
|
|
140410
|
+
style: "normal"
|
|
140411
|
+
},
|
|
140412
|
+
{
|
|
140413
|
+
path: "../assets/fonts/woff2/Gotham-BlackItalic_Web.woff2",
|
|
140414
|
+
weight: "800",
|
|
140415
|
+
style: "italic"
|
|
140416
|
+
},
|
|
140417
|
+
{
|
|
140418
|
+
path: "../assets/fonts/woff2/Gotham-Ultra_Web.woff2",
|
|
140419
|
+
weight: "900",
|
|
140420
|
+
style: "normal"
|
|
140421
|
+
},
|
|
140422
|
+
{
|
|
140423
|
+
path: "../assets/fonts/woff2/Gotham-UltraItalic_Web.woff2",
|
|
140424
|
+
weight: "900",
|
|
140425
|
+
style: "italic"
|
|
140426
|
+
}
|
|
140427
|
+
],
|
|
140428
|
+
variable: "--font-gotham",
|
|
140429
|
+
display: "swap",
|
|
140430
|
+
preload: true
|
|
140431
|
+
});
|
|
140432
|
+
const FONT_FAMILIES = {
|
|
140433
|
+
gotham: "var(--font-gotham), Gotham, ui-sans-serif, system-ui, sans-serif",
|
|
140434
|
+
sans: "ui-sans-serif, system-ui, sans-serif",
|
|
140435
|
+
serif: "ui-serif, Georgia, serif",
|
|
140436
|
+
mono: "ui-monospace, SFMono-Regular, Consolas, monospace"
|
|
140437
|
+
};
|
|
140438
|
+
const FONT_WEIGHTS = {
|
|
140439
|
+
thin: "100",
|
|
140440
|
+
extraLight: "200",
|
|
140441
|
+
light: "300",
|
|
140442
|
+
normal: "400",
|
|
140443
|
+
medium: "500",
|
|
140444
|
+
semiBold: "600",
|
|
140445
|
+
bold: "700",
|
|
140446
|
+
extraBold: "800",
|
|
140447
|
+
black: "900"
|
|
140448
|
+
};
|
|
140449
|
+
const FONT_CLASS_NAMES = {
|
|
140450
|
+
gotham: gothamFont.className,
|
|
140451
|
+
sans: "font-sans",
|
|
140452
|
+
serif: "font-serif",
|
|
140453
|
+
mono: "font-mono"
|
|
140454
|
+
};
|
|
140455
|
+
var fonts_default = gothamFont;
|
|
140456
|
+
|
|
140317
140457
|
//#endregion
|
|
140318
140458
|
exports.AccordionItem = AccordionItem;
|
|
140319
140459
|
exports.AccordionWrapper = AccordionWrapper;
|
|
@@ -140327,8 +140467,13 @@ exports.Badge = Badge;
|
|
|
140327
140467
|
exports.BigBadge = BigBadge;
|
|
140328
140468
|
exports.BreadCrumb = BreadCrumb;
|
|
140329
140469
|
exports.Button = Button;
|
|
140470
|
+
exports.CSS_VARIABLE_KEYS = CSS_VARIABLE_KEYS;
|
|
140330
140471
|
exports.Checkbox = Checkbox;
|
|
140331
140472
|
exports.Divider = Divider;
|
|
140473
|
+
exports.FONT_CLASS_NAMES = FONT_CLASS_NAMES;
|
|
140474
|
+
exports.FONT_FAMILIES = FONT_FAMILIES;
|
|
140475
|
+
exports.FONT_WEIGHTS = FONT_WEIGHTS;
|
|
140476
|
+
exports.FavouriteButton = FavouriteButton;
|
|
140332
140477
|
exports.Filters = Filters;
|
|
140333
140478
|
exports.GoogleAppButtonIcon = GoogleAppButtonIcon;
|
|
140334
140479
|
exports.HR = HR;
|
|
@@ -140375,4 +140520,7 @@ exports.UnorderedListItem = UnorderedListItem;
|
|
|
140375
140520
|
exports.UnstyledButton = UnstyledButton;
|
|
140376
140521
|
exports.WysiwygEditor = WysiwygEditor;
|
|
140377
140522
|
exports.buttonVariants = buttonVariants;
|
|
140523
|
+
exports.getCSSVariable = getCSSVariable;
|
|
140524
|
+
exports.gothamFont = gothamFont;
|
|
140525
|
+
exports.setCSSVariable = setCSSVariable;
|
|
140378
140526
|
//# sourceMappingURL=index.cjs.map
|