@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 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
- - Fully customizable components
10
- - Tree-shakeable (only import what you need)
11
- - TypeScript support
12
- - Modern build with Rolldown (Rust-based bundler)
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: ^18 || ^19
24
- - react-dom: ^18 || ^19
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
- ### Components
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
- #### Button
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 the conventional commits spec and ensure all tests pass before opening a PR.
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
- MIT
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 InputHTMLAttributes, type ReactNode } from 'react';
2
- export interface ICheckbox extends Omit<InputHTMLAttributes<HTMLInputElement>, 'className' | 'size' | 'disabled'> {
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
- indeterminate?: boolean;
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: import("react").ForwardRefExoticComponent<ICheckbox & import("react").RefAttributes<HTMLInputElement>>;
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: import("react").ForwardRefExoticComponent<IFavouriteButtonProps & import("react").RefAttributes<HTMLButtonElement & HTMLAnchorElement>>;
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 Checkbox = (0, react.forwardRef)(({ size: size$3 = "md", className, error: error$1, mediumBoldText, label, indeterminate = false, disabled = false,...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
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
- ref,
103468
- ...props
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.displayName = "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-[#CCCCCC]", className),
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$65) {
111949
+ (function(_jsx$66) {
111931
111950
  var JSX;
111932
- (function(_JSX) {})(JSX || (JSX = _jsx$65.JSX || (_jsx$65.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
- return !!(typeof Component$1 === "object" && Component$1.$$typeof && (Component$1.$$typeof.toString() === "Symbol(react.forward_ref)" || Component$1.$$typeof.description === "react.forward_ref"));
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 componentCanReceiveRef = canReceiveRef(Component$1);
137881
+ const isClassComp = isClassComponent(Component$1);
137882
+ const isForwardRefComp = isForwardRefComponent(Component$1);
137892
137883
  const elementProps = { ...props };
137893
- if (elementProps.ref && !(isReact19 || componentCanReceiveRef)) {
137894
- delete elementProps.ref;
137895
- }
137896
- if (!elementProps.ref && (isReact19 || componentCanReceiveRef)) {
137897
- elementProps.ref = (ref) => {
137898
- this.ref = ref;
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