@vaneui/ui 1.1.3 → 1.2.0-alpha.20260819112252.0a490cf
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/CHANGELOG.md +30 -0
- package/dist/cjs/components/ui/button/Button.cjs +8 -1
- package/dist/cjs/components/ui/button/Button.cjs.map +1 -1
- package/dist/cjs/components/ui/button/defaultButtonSpinnerTheme.cjs +0 -3
- package/dist/cjs/components/ui/button/defaultButtonSpinnerTheme.cjs.map +1 -1
- package/dist/cjs/components/ui/iconButton/IconButton.cjs +8 -1
- package/dist/cjs/components/ui/iconButton/IconButton.cjs.map +1 -1
- package/dist/cjs/components/ui/theme/defaults.cjs +17 -4
- package/dist/cjs/components/ui/theme/defaults.cjs.map +1 -1
- package/dist/cjs/components/ui/typography/index.cjs +1 -0
- package/dist/cjs/components/ui/typography/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +20 -14
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/components/ui/button/Button.mjs +8 -1
- package/dist/esm/components/ui/button/Button.mjs.map +1 -1
- package/dist/esm/components/ui/button/defaultButtonSpinnerTheme.mjs +0 -3
- package/dist/esm/components/ui/button/defaultButtonSpinnerTheme.mjs.map +1 -1
- package/dist/esm/components/ui/iconButton/IconButton.mjs +8 -1
- package/dist/esm/components/ui/iconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/ui/theme/defaults.mjs +17 -4
- package/dist/esm/components/ui/theme/defaults.mjs.map +1 -1
- package/dist/esm/components/ui/typography/index.mjs +1 -0
- package/dist/esm/components/ui/typography/index.mjs.map +1 -1
- package/dist/esm/index.mjs +13 -7
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/components/ui/button/ButtonSpinnerTheme.d.cts +0 -2
- package/dist/types/components/ui/button/ButtonSpinnerTheme.d.mts +0 -2
- package/dist/types/components/ui/button/ButtonSpinnerTheme.d.ts +0 -2
- package/dist/ui.css +1 -1
- package/dist/vars.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,36 @@ rather than on a fixed calendar.
|
|
|
10
10
|
|
|
11
11
|
## Unreleased
|
|
12
12
|
|
|
13
|
+
## 1.2.0
|
|
14
|
+
|
|
15
|
+
`2026-08-19`
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **`Button` and `IconButton` now render the `Spinner` component for their
|
|
20
|
+
loading state**, instead of a private ring the library maintained separately.
|
|
21
|
+
There was one ring drawn two ways: `.vane-button-spinner-ring` and
|
|
22
|
+
`.vane-spinner` had already drifted to different stroke rules once, and every
|
|
23
|
+
future change to the spinner had to be made in both places.
|
|
24
|
+
|
|
25
|
+
The button forwards its own size, so the ring still matches the button rather
|
|
26
|
+
than falling back to `Spinner`'s `md` default, and the ring still inherits the
|
|
27
|
+
button's text color, so a filled button gets a light ring. It stays decorative:
|
|
28
|
+
`aria-busy` on the button already conveys the state, so the `Spinner`'s
|
|
29
|
+
`role="status"` is suppressed and the wrapper is `aria-hidden`.
|
|
30
|
+
|
|
31
|
+
Two things change for consumers who reach into the theme:
|
|
32
|
+
|
|
33
|
+
- The `.vane-button-spinner-ring` class no longer exists. The element a
|
|
34
|
+
loading button renders is now `.vane-spinner`.
|
|
35
|
+
- `theme.button.spinner.spinnerElement` is gone. Restyle the ring through
|
|
36
|
+
`theme.spinner` instead, which now covers standalone spinners and buttons
|
|
37
|
+
at once:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
<ThemeProvider extraClasses={{ spinner: { primary: 'border-4' } }}>
|
|
41
|
+
```
|
|
42
|
+
|
|
13
43
|
## 1.1.3
|
|
14
44
|
|
|
15
45
|
`2026-08-19`
|
|
@@ -6,6 +6,8 @@ var React = require('react');
|
|
|
6
6
|
var themeContext = require('../../themeContext.cjs');
|
|
7
7
|
var themedComponent = require('../../themedComponent.cjs');
|
|
8
8
|
var disabledLink = require('../../utils/disabledLink.cjs');
|
|
9
|
+
var componentUtils = require('../../utils/componentUtils.cjs');
|
|
10
|
+
var Spinner = require('../spinner/Spinner.cjs');
|
|
9
11
|
var defaultButtonTheme = require('./defaultButtonTheme.cjs');
|
|
10
12
|
var defaultButtonSpinnerTheme = require('./defaultButtonSpinnerTheme.cjs');
|
|
11
13
|
|
|
@@ -19,8 +21,13 @@ const Button = React.forwardRef(
|
|
|
19
21
|
const resolvedProps = disabledLink.resolveDisabledLink(rest, !!isDisabled);
|
|
20
22
|
if (loading) {
|
|
21
23
|
const loadingProps = { ...resolvedProps, disabled: true, "data-loading": "true", "aria-busy": true };
|
|
24
|
+
const size = componentUtils.pickFirstTruthyKeyByCategory(
|
|
25
|
+
resolvedProps,
|
|
26
|
+
buttonTheme.defaults,
|
|
27
|
+
"size"
|
|
28
|
+
);
|
|
22
29
|
return /* @__PURE__ */ jsxRuntime.jsxs(themedComponent.ThemedComponent, { ref, theme: buttonTheme, ...loadingProps, children: [
|
|
23
|
-
/* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: spinnerTheme, children:
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Spinner.Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
|
|
24
31
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-0", children: resolvedProps.children })
|
|
25
32
|
] });
|
|
26
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n <ThemedComponent theme={spinnerTheme}>\n {
|
|
1
|
+
{"version":3,"file":"Button.cjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={buttonTheme} {...resolvedProps} />;\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["forwardRef","Button","useTheme","defaultButtonTheme","defaultButtonSpinnerTheme","resolveDisabledLink","pickFirstTruthyKeyByCategory","ThemedComponent","jsx","Spinner"],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
'use client';
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
3
|
var ComponentTheme = require('../theme/common/ComponentTheme.cjs');
|
|
6
4
|
require('../theme/common/interactiveClassMappers.cjs');
|
|
7
5
|
require('../theme/common/layoutClassMappers.cjs');
|
|
@@ -17,7 +15,6 @@ const defaultButtonSpinnerTheme = new ComponentTheme.ComponentTheme(
|
|
|
17
15
|
"span",
|
|
18
16
|
"inset-0",
|
|
19
17
|
{
|
|
20
|
-
spinnerElement: () => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "vane-button-spinner-ring", "aria-hidden": "true" }),
|
|
21
18
|
appearance: {
|
|
22
19
|
text: new simpleConsumerClassMapper.SimpleConsumerClassMapper({ base: appearanceClasses.textConsumerClass, alwaysOutput: true }, "text")
|
|
23
20
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultButtonSpinnerTheme.cjs","sources":["../../../../../src/components/ui/button/defaultButtonSpinnerTheme.tsx"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { ButtonSpinnerProps } from \"./ButtonSpinnerProps\";\nimport { SimpleConsumerClassMapper } from \"../theme/appearance\";\nimport { textConsumerClass } from \"../classes/appearanceClasses\";\nimport { BUTTON_SPINNER_CATEGORIES } from \"./ButtonSpinnerCategories\";\nimport type { ButtonSpinnerTheme } from \"./ButtonSpinnerTheme\";\nimport { buttonSpinnerDefaults } from \"./buttonSpinnerDefaults\";\n\nexport const defaultButtonSpinnerTheme = new ComponentTheme<ButtonSpinnerProps, ButtonSpinnerTheme>(\n \"span\",\n \"inset-0\",\n {\n
|
|
1
|
+
{"version":3,"file":"defaultButtonSpinnerTheme.cjs","sources":["../../../../../src/components/ui/button/defaultButtonSpinnerTheme.tsx"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { ButtonSpinnerProps } from \"./ButtonSpinnerProps\";\nimport { SimpleConsumerClassMapper } from \"../theme/appearance\";\nimport { textConsumerClass } from \"../classes/appearanceClasses\";\nimport { BUTTON_SPINNER_CATEGORIES } from \"./ButtonSpinnerCategories\";\nimport type { ButtonSpinnerTheme } from \"./ButtonSpinnerTheme\";\nimport { buttonSpinnerDefaults } from \"./buttonSpinnerDefaults\";\n\nexport const defaultButtonSpinnerTheme = new ComponentTheme<ButtonSpinnerProps, ButtonSpinnerTheme>(\n \"span\",\n \"inset-0\",\n {\n appearance: {\n text: new SimpleConsumerClassMapper({ base: textConsumerClass, alwaysOutput: true }, 'text'),\n },\n layout: {\n ...defaultLayoutClassMappers,\n },\n },\n buttonSpinnerDefaults,\n BUTTON_SPINNER_CATEGORIES,\n undefined,\n 'ui'\n);\n"],"names":["ComponentTheme","SimpleConsumerClassMapper","textConsumerClass","defaultLayoutClassMappers","buttonSpinnerDefaults","BUTTON_SPINNER_CATEGORIES"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,4BAA4B,IAAIA,6BAAA;AAAA,EAC3C,MAAA;AAAA,EACA,SAAA;AAAA,EACA;AAAA,IACE,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,IAAIC,mDAAA,CAA0B,EAAE,MAAMC,mCAAA,EAAmB,YAAA,EAAc,IAAA,EAAK,EAAG,MAAM;AAAA,KAC7F;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGC;AAAA;AACL,GACF;AAAA,EACAC,2CAAA;AAAA,EACAC,iDAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
|
|
@@ -6,6 +6,8 @@ var React = require('react');
|
|
|
6
6
|
var themeContext = require('../../themeContext.cjs');
|
|
7
7
|
var themedComponent = require('../../themedComponent.cjs');
|
|
8
8
|
var disabledLink = require('../../utils/disabledLink.cjs');
|
|
9
|
+
var componentUtils = require('../../utils/componentUtils.cjs');
|
|
10
|
+
var Spinner = require('../spinner/Spinner.cjs');
|
|
9
11
|
var defaultIconButtonTheme = require('./defaultIconButtonTheme.cjs');
|
|
10
12
|
var defaultButtonSpinnerTheme = require('../button/defaultButtonSpinnerTheme.cjs');
|
|
11
13
|
|
|
@@ -27,8 +29,13 @@ const IconButton = React.forwardRef(
|
|
|
27
29
|
const resolvedProps = disabledLink.resolveDisabledLink(rest, !!isDisabled);
|
|
28
30
|
if (loading) {
|
|
29
31
|
const loadingProps = { ...resolvedProps, disabled: true, "data-loading": "true", "aria-busy": true };
|
|
32
|
+
const size = componentUtils.pickFirstTruthyKeyByCategory(
|
|
33
|
+
resolvedProps,
|
|
34
|
+
iconButtonTheme.defaults,
|
|
35
|
+
"size"
|
|
36
|
+
);
|
|
30
37
|
return /* @__PURE__ */ jsxRuntime.jsxs(themedComponent.ThemedComponent, { ref, theme: iconButtonTheme, ...loadingProps, children: [
|
|
31
|
-
/* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children:
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Spinner.Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
|
|
32
39
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-0", children: resolvedProps.children })
|
|
33
40
|
] });
|
|
34
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.cjs","sources":["../../../../../src/components/ui/iconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef, useEffect } from 'react';\nimport type { IconButtonProps } from \"./IconButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { defaultIconButtonTheme } from \"./defaultIconButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"../button/defaultButtonSpinnerTheme\";\n\n/** Icon-only square button. Pass aria-label/aria-labelledby/title for an accessible name (dev warns if none). */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const iconButtonTheme = theme?.iconButton ?? defaultIconButtonTheme;\n // IconButton shares Button's spinner sub-theme by design\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n // dev-only: an icon-only button without aria-label/aria-labelledby/title\n // has no accessible name, so screen readers announce nothing\n const hasAccessibleName = Boolean(rest['aria-label'] || rest['aria-labelledby'] || rest.title);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {\n console.warn(\n 'VaneUI: IconButton has no accessible name — pass aria-label, aria-labelledby, or title so screen readers can announce it.'\n );\n }\n }, [hasAccessibleName]);\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n return (\n <ThemedComponent ref={ref} theme={iconButtonTheme} {...loadingProps}>\n {/* decorative spinner — aria-busy on the button already conveys the loading state */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n {spinnerTheme.themes.spinnerElement()}\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={iconButtonTheme} {...resolvedProps} />;\n }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["forwardRef","IconButton","useTheme","defaultIconButtonTheme","defaultButtonSpinnerTheme","useEffect","resolveDisabledLink","ThemedComponent","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconButton.cjs","sources":["../../../../../src/components/ui/iconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef, useEffect } from 'react';\nimport type { IconButtonProps } from \"./IconButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultIconButtonTheme } from \"./defaultIconButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"../button/defaultButtonSpinnerTheme\";\n\n/** Icon-only square button. Pass aria-label/aria-labelledby/title for an accessible name (dev warns if none). */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const iconButtonTheme = theme?.iconButton ?? defaultIconButtonTheme;\n // IconButton shares Button's spinner sub-theme by design\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n // dev-only: an icon-only button without aria-label/aria-labelledby/title\n // has no accessible name, so screen readers announce nothing\n const hasAccessibleName = Boolean(rest['aria-label'] || rest['aria-labelledby'] || rest.title);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {\n console.warn(\n 'VaneUI: IconButton has no accessible name — pass aria-label, aria-labelledby, or title so screen readers can announce it.'\n );\n }\n }, [hasAccessibleName]);\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n iconButtonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={iconButtonTheme} {...loadingProps}>\n {/* decorative spinner — aria-busy on the button already conveys the loading state */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={iconButtonTheme} {...resolvedProps} />;\n }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["forwardRef","IconButton","useTheme","defaultIconButtonTheme","defaultButtonSpinnerTheme","useEffect","resolveDisabledLink","pickFirstTruthyKeyByCategory","ThemedComponent","jsx","Spinner"],"mappings":"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"}
|
|
@@ -74,14 +74,27 @@ require('../typography/text/Text.cjs');
|
|
|
74
74
|
var textDefaults = require('../typography/text/textDefaults.cjs');
|
|
75
75
|
require('./common/ComponentTheme.cjs');
|
|
76
76
|
require('./common/typographyClassMappers.cjs');
|
|
77
|
-
|
|
78
|
-
var listItemDefaults = require('../typography/listItem/listItemDefaults.cjs');
|
|
79
|
-
var linkDefaults = require('../typography/link/linkDefaults.cjs');
|
|
80
|
-
var blockquoteCiteDefaults = require('../typography/blockquote/blockquoteCiteDefaults.cjs');
|
|
77
|
+
require('../typography/blockquote/Blockquote.cjs');
|
|
81
78
|
var blockquoteDefaults = require('../typography/blockquote/blockquoteDefaults.cjs');
|
|
79
|
+
require('../typography/blockquote/defaultBlockquoteTheme.cjs');
|
|
80
|
+
var blockquoteCiteDefaults = require('../typography/blockquote/blockquoteCiteDefaults.cjs');
|
|
81
|
+
require('../typography/title/Title.cjs');
|
|
82
82
|
var titleDefaults = require('../typography/title/titleDefaults.cjs');
|
|
83
|
+
require('../typography/sectionTitle/SectionTitle.cjs');
|
|
83
84
|
var sectionTitleDefaults = require('../typography/sectionTitle/sectionTitleDefaults.cjs');
|
|
85
|
+
require('../typography/pageTitle/PageTitle.cjs');
|
|
84
86
|
var pageTitleDefaults = require('../typography/pageTitle/pageTitleDefaults.cjs');
|
|
87
|
+
require('../typography/link/Link.cjs');
|
|
88
|
+
var linkDefaults = require('../typography/link/linkDefaults.cjs');
|
|
89
|
+
require('../typography/link/LinkCategories.cjs');
|
|
90
|
+
require('../typography/link/defaultLinkTheme.cjs');
|
|
91
|
+
require('../typography/list/List.cjs');
|
|
92
|
+
var listDefaults = require('../typography/list/listDefaults.cjs');
|
|
93
|
+
require('../typography/list/defaultListTheme.cjs');
|
|
94
|
+
require('../typography/listItem/ListItem.cjs');
|
|
95
|
+
require('../typography/listItem/ListItemCategories.cjs');
|
|
96
|
+
var listItemDefaults = require('../typography/listItem/listItemDefaults.cjs');
|
|
97
|
+
require('../typography/listItem/defaultListItemTheme.cjs');
|
|
85
98
|
|
|
86
99
|
const themeDefaults = {
|
|
87
100
|
button: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.cjs","sources":["../../../../../src/components/ui/theme/defaults.ts"],"sourcesContent":["import type { ThemeDefaults } from '../../themeContext';\n\nimport { buttonDefaults } from '../button/buttonDefaults';\nimport { buttonSpinnerDefaults } from '../button/buttonSpinnerDefaults';\nimport { iconButtonDefaults } from '../iconButton/iconButtonDefaults';\nimport { badgeDefaults } from '../badge/badgeDefaults';\nimport { iconDefaults } from '../icon/iconDefaults';\nimport { chipDefaults } from '../chip/chipDefaults';\nimport { codeDefaults } from '../code/codeDefaults';\nimport { cardDefaults } from '../card/cardDefaults';\nimport { cardHeaderDefaults } from '../card/cardHeaderDefaults';\nimport { cardBodyDefaults } from '../card/cardBodyDefaults';\nimport { cardFooterDefaults } from '../card/cardFooterDefaults';\nimport { dividerDefaults } from '../divider/dividerDefaults';\nimport { containerDefaults } from '../container/containerDefaults';\nimport { rowDefaults } from '../row/rowDefaults';\nimport { colDefaults } from '../col/colDefaults';\nimport { stackDefaults } from '../stack/stackDefaults';\nimport { sectionDefaults } from '../section/sectionDefaults';\nimport { gridDefaults } from '../grid/gridDefaults';\nimport { checkboxInputDefaults } from '../checkbox/checkboxInputDefaults';\nimport { checkboxCheckDefaults } from '../checkbox/checkboxCheckDefaults';\nimport { checkboxWrapperDefaults } from '../checkbox/checkboxWrapperDefaults';\nimport { checkboxIndeterminateDefaults } from '../checkbox/checkboxIndeterminateDefaults';\nimport { labelDefaults } from '../label/labelDefaults';\nimport { fieldDefaults } from '../field/fieldDefaults';\nimport { alertDefaults } from '../alert/alertDefaults';\nimport { spinnerDefaults } from '../spinner/spinnerDefaults';\nimport { tooltipDefaults } from '../tooltip/tooltipDefaults';\nimport { fieldLabelDefaults } from '../field/fieldLabelDefaults';\nimport { fieldDescriptionDefaults } from '../field/fieldDescriptionDefaults';\nimport { fieldErrorDefaults } from '../field/fieldErrorDefaults';\nimport { imgDefaults } from '../img/imgDefaults';\nimport { inputDefaults } from '../input/inputDefaults';\nimport { inputErrorIconDefaults } from '../input/inputErrorIconDefaults';\nimport { inputWrapperDefaults } from '../input/inputWrapperDefaults';\nimport { textareaDefaults } from '../textarea/textareaDefaults';\nimport { selectDefaults } from '../select/selectDefaults';\nimport { selectChevronDefaults } from '../select/selectChevronDefaults';\nimport { selectWrapperDefaults } from '../select/selectWrapperDefaults';\nimport { switchInputDefaults } from '../switch/switchInputDefaults';\nimport { switchThumbDefaults } from '../switch/switchThumbDefaults';\nimport { switchWrapperDefaults } from '../switch/switchWrapperDefaults';\nimport { radioInputDefaults } from '../radio/radioInputDefaults';\nimport { radioDotDefaults } from '../radio/radioDotDefaults';\nimport { radioWrapperDefaults } from '../radio/radioWrapperDefaults';\nimport { radioGroupDefaults } from '../radio/radioGroupDefaults';\nimport { overlayDefaults } from '../overlay/overlayDefaults';\nimport { kbdDefaults } from '../kbd/kbdDefaults';\nimport { markDefaults } from '../mark/markDefaults';\nimport { modalContentDefaults } from '../modal/modalContentDefaults';\nimport { modalOverlayDefaults } from '../modal/modalOverlayDefaults';\nimport { modalHeaderDefaults } from '../modal/modalHeaderDefaults';\nimport { modalBodyDefaults } from '../modal/modalBodyDefaults';\nimport { modalFooterDefaults } from '../modal/modalFooterDefaults';\nimport { modalCloseButtonDefaults } from '../modal/modalCloseButtonDefaults';\nimport { popupDefaults } from '../popup/popupDefaults';\nimport { menuItemDefaults } from '../menu/menuItemDefaults';\nimport { menuPopupDefaults } from '../menu/menuPopupDefaults';\nimport { menuDividerDefaults } from '../divider/menuDividerDefaults';\nimport { menuLabelDefaults } from '../menu/menuLabelDefaults';\nimport { navLinkDefaults } from '../navLink/navLinkDefaults';\nimport { navLinkLabelDefaults } from '../navLink/navLinkLabelDefaults';\nimport { tableDefaults } from '../table/tableDefaults';\nimport { theadDefaults } from '../table/theadDefaults';\nimport { tbodyDefaults } from '../table/tbodyDefaults';\nimport { tfootDefaults } from '../table/tfootDefaults';\nimport { trDefaults } from '../table/trDefaults';\nimport { thDefaults } from '../table/thDefaults';\nimport { tdDefaults } from '../table/tdDefaults';\nimport { captionDefaults } from '../table/captionDefaults';\nimport {\n pageTitleDefaults,\n sectionTitleDefaults,\n titleDefaults,\n textDefaults,\n blockquoteDefaults,\n blockquoteCiteDefaults,\n linkDefaults,\n listItemDefaults,\n listDefaults,\n} from '../typography';\n\nexport const themeDefaults: ThemeDefaults = {\n button: {\n main: buttonDefaults,\n spinner: buttonSpinnerDefaults,\n },\n iconButton: iconButtonDefaults,\n badge: badgeDefaults,\n icon: iconDefaults,\n chip: chipDefaults,\n code: codeDefaults,\n kbd: kbdDefaults,\n mark: markDefaults,\n card: {\n main: cardDefaults,\n header: cardHeaderDefaults,\n body: cardBodyDefaults,\n footer: cardFooterDefaults,\n },\n divider: dividerDefaults,\n container: containerDefaults,\n row: rowDefaults,\n col: colDefaults,\n stack: stackDefaults,\n section: sectionDefaults,\n grid2: gridDefaults,\n grid3: gridDefaults,\n grid4: gridDefaults,\n grid5: gridDefaults,\n grid6: gridDefaults,\n pageTitle: pageTitleDefaults,\n sectionTitle: sectionTitleDefaults,\n title: titleDefaults,\n text: textDefaults,\n blockquote: blockquoteDefaults,\n blockquoteCite: blockquoteCiteDefaults,\n link: linkDefaults,\n listItem: listItemDefaults,\n list: listDefaults,\n checkbox: {\n input: checkboxInputDefaults,\n check: checkboxCheckDefaults,\n indeterminate: checkboxIndeterminateDefaults,\n wrapper: checkboxWrapperDefaults,\n },\n label: labelDefaults,\n field: {\n main: fieldDefaults,\n label: fieldLabelDefaults,\n description: fieldDescriptionDefaults,\n error: fieldErrorDefaults,\n },\n img: imgDefaults,\n input: inputDefaults,\n inputErrorIcon: inputErrorIconDefaults,\n inputWrapper: inputWrapperDefaults,\n textarea: textareaDefaults,\n select: selectDefaults,\n selectChevron: selectChevronDefaults,\n selectWrapper: selectWrapperDefaults,\n switch: {\n input: switchInputDefaults,\n thumb: switchThumbDefaults,\n wrapper: switchWrapperDefaults,\n },\n radio: {\n input: radioInputDefaults,\n dot: radioDotDefaults,\n wrapper: radioWrapperDefaults,\n },\n radioGroup: radioGroupDefaults,\n overlay: overlayDefaults,\n modal: {\n content: modalContentDefaults,\n overlay: modalOverlayDefaults,\n header: modalHeaderDefaults,\n body: modalBodyDefaults,\n footer: modalFooterDefaults,\n closeButton: modalCloseButtonDefaults,\n },\n popup: popupDefaults,\n tooltip: tooltipDefaults,\n alert: alertDefaults,\n spinner: spinnerDefaults,\n menu: {\n item: menuItemDefaults,\n popup: menuPopupDefaults,\n divider: menuDividerDefaults,\n label: menuLabelDefaults,\n },\n navLink: {\n root: navLinkDefaults,\n label: navLinkLabelDefaults,\n },\n table: {\n main: tableDefaults,\n thead: theadDefaults,\n tbody: tbodyDefaults,\n tfoot: tfootDefaults,\n tr: trDefaults,\n th: thDefaults,\n td: tdDefaults,\n caption: captionDefaults,\n },\n};"],"names":["buttonDefaults","buttonSpinnerDefaults","iconButtonDefaults","badgeDefaults","iconDefaults","chipDefaults","codeDefaults","kbdDefaults","markDefaults","cardDefaults","cardHeaderDefaults","cardBodyDefaults","cardFooterDefaults","dividerDefaults","containerDefaults","rowDefaults","colDefaults","stackDefaults","sectionDefaults","gridDefaults","pageTitleDefaults","sectionTitleDefaults","titleDefaults","textDefaults","blockquoteDefaults","blockquoteCiteDefaults","linkDefaults","listItemDefaults","listDefaults","checkboxInputDefaults","checkboxCheckDefaults","checkboxIndeterminateDefaults","checkboxWrapperDefaults","labelDefaults","fieldDefaults","fieldLabelDefaults","fieldDescriptionDefaults","fieldErrorDefaults","imgDefaults","inputDefaults","inputErrorIconDefaults","inputWrapperDefaults","textareaDefaults","selectDefaults","selectChevronDefaults","selectWrapperDefaults","switchInputDefaults","switchThumbDefaults","switchWrapperDefaults","radioInputDefaults","radioDotDefaults","radioWrapperDefaults","radioGroupDefaults","overlayDefaults","modalContentDefaults","modalOverlayDefaults","modalHeaderDefaults","modalBodyDefaults","modalFooterDefaults","modalCloseButtonDefaults","popupDefaults","tooltipDefaults","alertDefaults","spinnerDefaults","menuItemDefaults","menuPopupDefaults","menuDividerDefaults","menuLabelDefaults","navLinkDefaults","navLinkLabelDefaults","tableDefaults","theadDefaults","tbodyDefaults","tfootDefaults","trDefaults","thDefaults","tdDefaults","captionDefaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defaults.cjs","sources":["../../../../../src/components/ui/theme/defaults.ts"],"sourcesContent":["import type { ThemeDefaults } from '../../themeContext';\n\nimport { buttonDefaults } from '../button/buttonDefaults';\nimport { buttonSpinnerDefaults } from '../button/buttonSpinnerDefaults';\nimport { iconButtonDefaults } from '../iconButton/iconButtonDefaults';\nimport { badgeDefaults } from '../badge/badgeDefaults';\nimport { iconDefaults } from '../icon/iconDefaults';\nimport { chipDefaults } from '../chip/chipDefaults';\nimport { codeDefaults } from '../code/codeDefaults';\nimport { cardDefaults } from '../card/cardDefaults';\nimport { cardHeaderDefaults } from '../card/cardHeaderDefaults';\nimport { cardBodyDefaults } from '../card/cardBodyDefaults';\nimport { cardFooterDefaults } from '../card/cardFooterDefaults';\nimport { dividerDefaults } from '../divider/dividerDefaults';\nimport { containerDefaults } from '../container/containerDefaults';\nimport { rowDefaults } from '../row/rowDefaults';\nimport { colDefaults } from '../col/colDefaults';\nimport { stackDefaults } from '../stack/stackDefaults';\nimport { sectionDefaults } from '../section/sectionDefaults';\nimport { gridDefaults } from '../grid/gridDefaults';\nimport { checkboxInputDefaults } from '../checkbox/checkboxInputDefaults';\nimport { checkboxCheckDefaults } from '../checkbox/checkboxCheckDefaults';\nimport { checkboxWrapperDefaults } from '../checkbox/checkboxWrapperDefaults';\nimport { checkboxIndeterminateDefaults } from '../checkbox/checkboxIndeterminateDefaults';\nimport { labelDefaults } from '../label/labelDefaults';\nimport { fieldDefaults } from '../field/fieldDefaults';\nimport { alertDefaults } from '../alert/alertDefaults';\nimport { spinnerDefaults } from '../spinner/spinnerDefaults';\nimport { tooltipDefaults } from '../tooltip/tooltipDefaults';\nimport { fieldLabelDefaults } from '../field/fieldLabelDefaults';\nimport { fieldDescriptionDefaults } from '../field/fieldDescriptionDefaults';\nimport { fieldErrorDefaults } from '../field/fieldErrorDefaults';\nimport { imgDefaults } from '../img/imgDefaults';\nimport { inputDefaults } from '../input/inputDefaults';\nimport { inputErrorIconDefaults } from '../input/inputErrorIconDefaults';\nimport { inputWrapperDefaults } from '../input/inputWrapperDefaults';\nimport { textareaDefaults } from '../textarea/textareaDefaults';\nimport { selectDefaults } from '../select/selectDefaults';\nimport { selectChevronDefaults } from '../select/selectChevronDefaults';\nimport { selectWrapperDefaults } from '../select/selectWrapperDefaults';\nimport { switchInputDefaults } from '../switch/switchInputDefaults';\nimport { switchThumbDefaults } from '../switch/switchThumbDefaults';\nimport { switchWrapperDefaults } from '../switch/switchWrapperDefaults';\nimport { radioInputDefaults } from '../radio/radioInputDefaults';\nimport { radioDotDefaults } from '../radio/radioDotDefaults';\nimport { radioWrapperDefaults } from '../radio/radioWrapperDefaults';\nimport { radioGroupDefaults } from '../radio/radioGroupDefaults';\nimport { overlayDefaults } from '../overlay/overlayDefaults';\nimport { kbdDefaults } from '../kbd/kbdDefaults';\nimport { markDefaults } from '../mark/markDefaults';\nimport { modalContentDefaults } from '../modal/modalContentDefaults';\nimport { modalOverlayDefaults } from '../modal/modalOverlayDefaults';\nimport { modalHeaderDefaults } from '../modal/modalHeaderDefaults';\nimport { modalBodyDefaults } from '../modal/modalBodyDefaults';\nimport { modalFooterDefaults } from '../modal/modalFooterDefaults';\nimport { modalCloseButtonDefaults } from '../modal/modalCloseButtonDefaults';\nimport { popupDefaults } from '../popup/popupDefaults';\nimport { menuItemDefaults } from '../menu/menuItemDefaults';\nimport { menuPopupDefaults } from '../menu/menuPopupDefaults';\nimport { menuDividerDefaults } from '../divider/menuDividerDefaults';\nimport { menuLabelDefaults } from '../menu/menuLabelDefaults';\nimport { navLinkDefaults } from '../navLink/navLinkDefaults';\nimport { navLinkLabelDefaults } from '../navLink/navLinkLabelDefaults';\nimport { tableDefaults } from '../table/tableDefaults';\nimport { theadDefaults } from '../table/theadDefaults';\nimport { tbodyDefaults } from '../table/tbodyDefaults';\nimport { tfootDefaults } from '../table/tfootDefaults';\nimport { trDefaults } from '../table/trDefaults';\nimport { thDefaults } from '../table/thDefaults';\nimport { tdDefaults } from '../table/tdDefaults';\nimport { captionDefaults } from '../table/captionDefaults';\nimport {\n pageTitleDefaults,\n sectionTitleDefaults,\n titleDefaults,\n textDefaults,\n blockquoteDefaults,\n blockquoteCiteDefaults,\n linkDefaults,\n listItemDefaults,\n listDefaults,\n} from '../typography';\n\nexport const themeDefaults: ThemeDefaults = {\n button: {\n main: buttonDefaults,\n spinner: buttonSpinnerDefaults,\n },\n iconButton: iconButtonDefaults,\n badge: badgeDefaults,\n icon: iconDefaults,\n chip: chipDefaults,\n code: codeDefaults,\n kbd: kbdDefaults,\n mark: markDefaults,\n card: {\n main: cardDefaults,\n header: cardHeaderDefaults,\n body: cardBodyDefaults,\n footer: cardFooterDefaults,\n },\n divider: dividerDefaults,\n container: containerDefaults,\n row: rowDefaults,\n col: colDefaults,\n stack: stackDefaults,\n section: sectionDefaults,\n grid2: gridDefaults,\n grid3: gridDefaults,\n grid4: gridDefaults,\n grid5: gridDefaults,\n grid6: gridDefaults,\n pageTitle: pageTitleDefaults,\n sectionTitle: sectionTitleDefaults,\n title: titleDefaults,\n text: textDefaults,\n blockquote: blockquoteDefaults,\n blockquoteCite: blockquoteCiteDefaults,\n link: linkDefaults,\n listItem: listItemDefaults,\n list: listDefaults,\n checkbox: {\n input: checkboxInputDefaults,\n check: checkboxCheckDefaults,\n indeterminate: checkboxIndeterminateDefaults,\n wrapper: checkboxWrapperDefaults,\n },\n label: labelDefaults,\n field: {\n main: fieldDefaults,\n label: fieldLabelDefaults,\n description: fieldDescriptionDefaults,\n error: fieldErrorDefaults,\n },\n img: imgDefaults,\n input: inputDefaults,\n inputErrorIcon: inputErrorIconDefaults,\n inputWrapper: inputWrapperDefaults,\n textarea: textareaDefaults,\n select: selectDefaults,\n selectChevron: selectChevronDefaults,\n selectWrapper: selectWrapperDefaults,\n switch: {\n input: switchInputDefaults,\n thumb: switchThumbDefaults,\n wrapper: switchWrapperDefaults,\n },\n radio: {\n input: radioInputDefaults,\n dot: radioDotDefaults,\n wrapper: radioWrapperDefaults,\n },\n radioGroup: radioGroupDefaults,\n overlay: overlayDefaults,\n modal: {\n content: modalContentDefaults,\n overlay: modalOverlayDefaults,\n header: modalHeaderDefaults,\n body: modalBodyDefaults,\n footer: modalFooterDefaults,\n closeButton: modalCloseButtonDefaults,\n },\n popup: popupDefaults,\n tooltip: tooltipDefaults,\n alert: alertDefaults,\n spinner: spinnerDefaults,\n menu: {\n item: menuItemDefaults,\n popup: menuPopupDefaults,\n divider: menuDividerDefaults,\n label: menuLabelDefaults,\n },\n navLink: {\n root: navLinkDefaults,\n label: navLinkLabelDefaults,\n },\n table: {\n main: tableDefaults,\n thead: theadDefaults,\n tbody: tbodyDefaults,\n tfoot: tfootDefaults,\n tr: trDefaults,\n th: thDefaults,\n td: tdDefaults,\n caption: captionDefaults,\n },\n};"],"names":["buttonDefaults","buttonSpinnerDefaults","iconButtonDefaults","badgeDefaults","iconDefaults","chipDefaults","codeDefaults","kbdDefaults","markDefaults","cardDefaults","cardHeaderDefaults","cardBodyDefaults","cardFooterDefaults","dividerDefaults","containerDefaults","rowDefaults","colDefaults","stackDefaults","sectionDefaults","gridDefaults","pageTitleDefaults","sectionTitleDefaults","titleDefaults","textDefaults","blockquoteDefaults","blockquoteCiteDefaults","linkDefaults","listItemDefaults","listDefaults","checkboxInputDefaults","checkboxCheckDefaults","checkboxIndeterminateDefaults","checkboxWrapperDefaults","labelDefaults","fieldDefaults","fieldLabelDefaults","fieldDescriptionDefaults","fieldErrorDefaults","imgDefaults","inputDefaults","inputErrorIconDefaults","inputWrapperDefaults","textareaDefaults","selectDefaults","selectChevronDefaults","selectWrapperDefaults","switchInputDefaults","switchThumbDefaults","switchWrapperDefaults","radioInputDefaults","radioDotDefaults","radioWrapperDefaults","radioGroupDefaults","overlayDefaults","modalContentDefaults","modalOverlayDefaults","modalHeaderDefaults","modalBodyDefaults","modalFooterDefaults","modalCloseButtonDefaults","popupDefaults","tooltipDefaults","alertDefaults","spinnerDefaults","menuItemDefaults","menuPopupDefaults","menuDividerDefaults","menuLabelDefaults","navLinkDefaults","navLinkLabelDefaults","tableDefaults","theadDefaults","tbodyDefaults","tfootDefaults","trDefaults","thDefaults","tdDefaults","captionDefaults"],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ var pageTitleDefaults = require('./pageTitle/pageTitleDefaults.cjs');
|
|
|
20
20
|
var defaultPageTitleTheme = require('./pageTitle/defaultPageTitleTheme.cjs');
|
|
21
21
|
var Link = require('./link/Link.cjs');
|
|
22
22
|
var linkDefaults = require('./link/linkDefaults.cjs');
|
|
23
|
+
require('./link/LinkCategories.cjs');
|
|
23
24
|
var defaultLinkTheme = require('./link/defaultLinkTheme.cjs');
|
|
24
25
|
var List = require('./list/List.cjs');
|
|
25
26
|
var listDefaults = require('./list/listDefaults.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -126,6 +126,19 @@ require('./components/ui/table/CaptionCategories.cjs');
|
|
|
126
126
|
require('./components/ui/table/defaultCaptionTheme.cjs');
|
|
127
127
|
require('./components/ui/typography/common/TypographyCategories.cjs');
|
|
128
128
|
var Text = require('./components/ui/typography/text/Text.cjs');
|
|
129
|
+
var Blockquote = require('./components/ui/typography/blockquote/Blockquote.cjs');
|
|
130
|
+
require('./components/ui/typography/blockquote/defaultBlockquoteTheme.cjs');
|
|
131
|
+
var Title = require('./components/ui/typography/title/Title.cjs');
|
|
132
|
+
var SectionTitle = require('./components/ui/typography/sectionTitle/SectionTitle.cjs');
|
|
133
|
+
var PageTitle = require('./components/ui/typography/pageTitle/PageTitle.cjs');
|
|
134
|
+
var Link = require('./components/ui/typography/link/Link.cjs');
|
|
135
|
+
require('./components/ui/typography/link/LinkCategories.cjs');
|
|
136
|
+
require('./components/ui/typography/link/defaultLinkTheme.cjs');
|
|
137
|
+
var List = require('./components/ui/typography/list/List.cjs');
|
|
138
|
+
require('./components/ui/typography/list/defaultListTheme.cjs');
|
|
139
|
+
var ListItem = require('./components/ui/typography/listItem/ListItem.cjs');
|
|
140
|
+
require('./components/ui/typography/listItem/ListItemCategories.cjs');
|
|
141
|
+
require('./components/ui/typography/listItem/defaultListItemTheme.cjs');
|
|
129
142
|
var keys = require('./components/ui/props/keys.cjs');
|
|
130
143
|
var ThemeProvider = require('./components/ThemeProvider.cjs');
|
|
131
144
|
var defaultTheme = require('./components/defaultTheme.cjs');
|
|
@@ -143,13 +156,6 @@ var Card = require('./components/ui/card/Card.cjs');
|
|
|
143
156
|
var CardHeader = require('./components/ui/card/CardHeader.cjs');
|
|
144
157
|
var CardBody = require('./components/ui/card/CardBody.cjs');
|
|
145
158
|
var CardFooter = require('./components/ui/card/CardFooter.cjs');
|
|
146
|
-
var Title = require('./components/ui/typography/title/Title.cjs');
|
|
147
|
-
var Link = require('./components/ui/typography/link/Link.cjs');
|
|
148
|
-
var List = require('./components/ui/typography/list/List.cjs');
|
|
149
|
-
var ListItem = require('./components/ui/typography/listItem/ListItem.cjs');
|
|
150
|
-
var SectionTitle = require('./components/ui/typography/sectionTitle/SectionTitle.cjs');
|
|
151
|
-
var PageTitle = require('./components/ui/typography/pageTitle/PageTitle.cjs');
|
|
152
|
-
var Blockquote = require('./components/ui/typography/blockquote/Blockquote.cjs');
|
|
153
159
|
|
|
154
160
|
|
|
155
161
|
|
|
@@ -198,6 +204,13 @@ exports.Th = Th.Th;
|
|
|
198
204
|
exports.Td = Td.Td;
|
|
199
205
|
exports.Caption = Caption.Caption;
|
|
200
206
|
exports.Text = Text.Text;
|
|
207
|
+
exports.Blockquote = Blockquote.Blockquote;
|
|
208
|
+
exports.Title = Title.Title;
|
|
209
|
+
exports.SectionTitle = SectionTitle.SectionTitle;
|
|
210
|
+
exports.PageTitle = PageTitle.PageTitle;
|
|
211
|
+
exports.Link = Link.Link;
|
|
212
|
+
exports.List = List.List;
|
|
213
|
+
exports.ListItem = ListItem.ListItem;
|
|
201
214
|
exports.COMPONENT = keys.COMPONENT;
|
|
202
215
|
exports.ComponentCategories = keys.ComponentCategories;
|
|
203
216
|
exports.ComponentKeys = keys.ComponentKeys;
|
|
@@ -217,11 +230,4 @@ exports.Card = Card.Card;
|
|
|
217
230
|
exports.CardHeader = CardHeader.CardHeader;
|
|
218
231
|
exports.CardBody = CardBody.CardBody;
|
|
219
232
|
exports.CardFooter = CardFooter.CardFooter;
|
|
220
|
-
exports.Title = Title.Title;
|
|
221
|
-
exports.Link = Link.Link;
|
|
222
|
-
exports.List = List.List;
|
|
223
|
-
exports.ListItem = ListItem.ListItem;
|
|
224
|
-
exports.SectionTitle = SectionTitle.SectionTitle;
|
|
225
|
-
exports.PageTitle = PageTitle.PageTitle;
|
|
226
|
-
exports.Blockquote = Blockquote.Blockquote;
|
|
227
233
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,6 +4,8 @@ import { forwardRef } from 'react';
|
|
|
4
4
|
import { useTheme } from '../../themeContext.mjs';
|
|
5
5
|
import { ThemedComponent } from '../../themedComponent.mjs';
|
|
6
6
|
import { resolveDisabledLink } from '../../utils/disabledLink.mjs';
|
|
7
|
+
import { pickFirstTruthyKeyByCategory } from '../../utils/componentUtils.mjs';
|
|
8
|
+
import { Spinner } from '../spinner/Spinner.mjs';
|
|
7
9
|
import { defaultButtonTheme } from './defaultButtonTheme.mjs';
|
|
8
10
|
import { defaultButtonSpinnerTheme } from './defaultButtonSpinnerTheme.mjs';
|
|
9
11
|
|
|
@@ -17,8 +19,13 @@ const Button = forwardRef(
|
|
|
17
19
|
const resolvedProps = resolveDisabledLink(rest, !!isDisabled);
|
|
18
20
|
if (loading) {
|
|
19
21
|
const loadingProps = { ...resolvedProps, disabled: true, "data-loading": "true", "aria-busy": true };
|
|
22
|
+
const size = pickFirstTruthyKeyByCategory(
|
|
23
|
+
resolvedProps,
|
|
24
|
+
buttonTheme.defaults,
|
|
25
|
+
"size"
|
|
26
|
+
);
|
|
20
27
|
return /* @__PURE__ */ jsxs(ThemedComponent, { ref, theme: buttonTheme, ...loadingProps, children: [
|
|
21
|
-
/* @__PURE__ */ jsx(ThemedComponent, { theme: spinnerTheme, children:
|
|
28
|
+
/* @__PURE__ */ jsx(ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsx(Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
|
|
22
29
|
/* @__PURE__ */ jsx("span", { className: "opacity-0", children: resolvedProps.children })
|
|
23
30
|
] });
|
|
24
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.mjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n <ThemedComponent theme={spinnerTheme}>\n {
|
|
1
|
+
{"version":3,"file":"Button.mjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={buttonTheme} {...resolvedProps} />;\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["Button"],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
1
|
import { ComponentTheme, defaultLayoutClassMappers } from '../theme/common/ComponentTheme.mjs';
|
|
4
2
|
import '../theme/common/interactiveClassMappers.mjs';
|
|
5
3
|
import '../theme/common/layoutClassMappers.mjs';
|
|
@@ -15,7 +13,6 @@ const defaultButtonSpinnerTheme = new ComponentTheme(
|
|
|
15
13
|
"span",
|
|
16
14
|
"inset-0",
|
|
17
15
|
{
|
|
18
|
-
spinnerElement: () => /* @__PURE__ */ jsx("span", { className: "vane-button-spinner-ring", "aria-hidden": "true" }),
|
|
19
16
|
appearance: {
|
|
20
17
|
text: new SimpleConsumerClassMapper({ base: textConsumerClass, alwaysOutput: true }, "text")
|
|
21
18
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultButtonSpinnerTheme.mjs","sources":["../../../../../src/components/ui/button/defaultButtonSpinnerTheme.tsx"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { ButtonSpinnerProps } from \"./ButtonSpinnerProps\";\nimport { SimpleConsumerClassMapper } from \"../theme/appearance\";\nimport { textConsumerClass } from \"../classes/appearanceClasses\";\nimport { BUTTON_SPINNER_CATEGORIES } from \"./ButtonSpinnerCategories\";\nimport type { ButtonSpinnerTheme } from \"./ButtonSpinnerTheme\";\nimport { buttonSpinnerDefaults } from \"./buttonSpinnerDefaults\";\n\nexport const defaultButtonSpinnerTheme = new ComponentTheme<ButtonSpinnerProps, ButtonSpinnerTheme>(\n \"span\",\n \"inset-0\",\n {\n
|
|
1
|
+
{"version":3,"file":"defaultButtonSpinnerTheme.mjs","sources":["../../../../../src/components/ui/button/defaultButtonSpinnerTheme.tsx"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { ButtonSpinnerProps } from \"./ButtonSpinnerProps\";\nimport { SimpleConsumerClassMapper } from \"../theme/appearance\";\nimport { textConsumerClass } from \"../classes/appearanceClasses\";\nimport { BUTTON_SPINNER_CATEGORIES } from \"./ButtonSpinnerCategories\";\nimport type { ButtonSpinnerTheme } from \"./ButtonSpinnerTheme\";\nimport { buttonSpinnerDefaults } from \"./buttonSpinnerDefaults\";\n\nexport const defaultButtonSpinnerTheme = new ComponentTheme<ButtonSpinnerProps, ButtonSpinnerTheme>(\n \"span\",\n \"inset-0\",\n {\n appearance: {\n text: new SimpleConsumerClassMapper({ base: textConsumerClass, alwaysOutput: true }, 'text'),\n },\n layout: {\n ...defaultLayoutClassMappers,\n },\n },\n buttonSpinnerDefaults,\n BUTTON_SPINNER_CATEGORIES,\n undefined,\n 'ui'\n);\n"],"names":[],"mappings":";;;;;;;;;;;AAQO,MAAM,4BAA4B,IAAI,cAAA;AAAA,EAC3C,MAAA;AAAA,EACA,SAAA;AAAA,EACA;AAAA,IACE,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,IAAI,yBAAA,CAA0B,EAAE,MAAM,iBAAA,EAAmB,YAAA,EAAc,IAAA,EAAK,EAAG,MAAM;AAAA,KAC7F;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAG;AAAA;AACL,GACF;AAAA,EACA,qBAAA;AAAA,EACA,yBAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
|
|
@@ -4,6 +4,8 @@ import { forwardRef, useEffect } from 'react';
|
|
|
4
4
|
import { useTheme } from '../../themeContext.mjs';
|
|
5
5
|
import { ThemedComponent } from '../../themedComponent.mjs';
|
|
6
6
|
import { resolveDisabledLink } from '../../utils/disabledLink.mjs';
|
|
7
|
+
import { pickFirstTruthyKeyByCategory } from '../../utils/componentUtils.mjs';
|
|
8
|
+
import { Spinner } from '../spinner/Spinner.mjs';
|
|
7
9
|
import { defaultIconButtonTheme } from './defaultIconButtonTheme.mjs';
|
|
8
10
|
import { defaultButtonSpinnerTheme } from '../button/defaultButtonSpinnerTheme.mjs';
|
|
9
11
|
|
|
@@ -25,8 +27,13 @@ const IconButton = forwardRef(
|
|
|
25
27
|
const resolvedProps = resolveDisabledLink(rest, !!isDisabled);
|
|
26
28
|
if (loading) {
|
|
27
29
|
const loadingProps = { ...resolvedProps, disabled: true, "data-loading": "true", "aria-busy": true };
|
|
30
|
+
const size = pickFirstTruthyKeyByCategory(
|
|
31
|
+
resolvedProps,
|
|
32
|
+
iconButtonTheme.defaults,
|
|
33
|
+
"size"
|
|
34
|
+
);
|
|
28
35
|
return /* @__PURE__ */ jsxs(ThemedComponent, { ref, theme: iconButtonTheme, ...loadingProps, children: [
|
|
29
|
-
/* @__PURE__ */ jsx(ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children:
|
|
36
|
+
/* @__PURE__ */ jsx(ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsx(Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
|
|
30
37
|
/* @__PURE__ */ jsx("span", { className: "opacity-0", children: resolvedProps.children })
|
|
31
38
|
] });
|
|
32
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.mjs","sources":["../../../../../src/components/ui/iconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef, useEffect } from 'react';\nimport type { IconButtonProps } from \"./IconButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { defaultIconButtonTheme } from \"./defaultIconButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"../button/defaultButtonSpinnerTheme\";\n\n/** Icon-only square button. Pass aria-label/aria-labelledby/title for an accessible name (dev warns if none). */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const iconButtonTheme = theme?.iconButton ?? defaultIconButtonTheme;\n // IconButton shares Button's spinner sub-theme by design\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n // dev-only: an icon-only button without aria-label/aria-labelledby/title\n // has no accessible name, so screen readers announce nothing\n const hasAccessibleName = Boolean(rest['aria-label'] || rest['aria-labelledby'] || rest.title);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {\n console.warn(\n 'VaneUI: IconButton has no accessible name — pass aria-label, aria-labelledby, or title so screen readers can announce it.'\n );\n }\n }, [hasAccessibleName]);\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n return (\n <ThemedComponent ref={ref} theme={iconButtonTheme} {...loadingProps}>\n {/* decorative spinner — aria-busy on the button already conveys the loading state */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n {spinnerTheme.themes.spinnerElement()}\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={iconButtonTheme} {...resolvedProps} />;\n }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["IconButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconButton.mjs","sources":["../../../../../src/components/ui/iconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef, useEffect } from 'react';\nimport type { IconButtonProps } from \"./IconButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultIconButtonTheme } from \"./defaultIconButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"../button/defaultButtonSpinnerTheme\";\n\n/** Icon-only square button. Pass aria-label/aria-labelledby/title for an accessible name (dev warns if none). */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const iconButtonTheme = theme?.iconButton ?? defaultIconButtonTheme;\n // IconButton shares Button's spinner sub-theme by design\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n // dev-only: an icon-only button without aria-label/aria-labelledby/title\n // has no accessible name, so screen readers announce nothing\n const hasAccessibleName = Boolean(rest['aria-label'] || rest['aria-labelledby'] || rest.title);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !hasAccessibleName) {\n console.warn(\n 'VaneUI: IconButton has no accessible name — pass aria-label, aria-labelledby, or title so screen readers can announce it.'\n );\n }\n }, [hasAccessibleName]);\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n iconButtonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={iconButtonTheme} {...loadingProps}>\n {/* decorative spinner — aria-busy on the button already conveys the loading state */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={iconButtonTheme} {...resolvedProps} />;\n }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["IconButton"],"mappings":"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"}
|
|
@@ -72,14 +72,27 @@ import '../typography/text/Text.mjs';
|
|
|
72
72
|
import { textDefaults } from '../typography/text/textDefaults.mjs';
|
|
73
73
|
import './common/ComponentTheme.mjs';
|
|
74
74
|
import './common/typographyClassMappers.mjs';
|
|
75
|
-
import
|
|
76
|
-
import { listItemDefaults } from '../typography/listItem/listItemDefaults.mjs';
|
|
77
|
-
import { linkDefaults } from '../typography/link/linkDefaults.mjs';
|
|
78
|
-
import { blockquoteCiteDefaults } from '../typography/blockquote/blockquoteCiteDefaults.mjs';
|
|
75
|
+
import '../typography/blockquote/Blockquote.mjs';
|
|
79
76
|
import { blockquoteDefaults } from '../typography/blockquote/blockquoteDefaults.mjs';
|
|
77
|
+
import '../typography/blockquote/defaultBlockquoteTheme.mjs';
|
|
78
|
+
import { blockquoteCiteDefaults } from '../typography/blockquote/blockquoteCiteDefaults.mjs';
|
|
79
|
+
import '../typography/title/Title.mjs';
|
|
80
80
|
import { titleDefaults } from '../typography/title/titleDefaults.mjs';
|
|
81
|
+
import '../typography/sectionTitle/SectionTitle.mjs';
|
|
81
82
|
import { sectionTitleDefaults } from '../typography/sectionTitle/sectionTitleDefaults.mjs';
|
|
83
|
+
import '../typography/pageTitle/PageTitle.mjs';
|
|
82
84
|
import { pageTitleDefaults } from '../typography/pageTitle/pageTitleDefaults.mjs';
|
|
85
|
+
import '../typography/link/Link.mjs';
|
|
86
|
+
import { linkDefaults } from '../typography/link/linkDefaults.mjs';
|
|
87
|
+
import '../typography/link/LinkCategories.mjs';
|
|
88
|
+
import '../typography/link/defaultLinkTheme.mjs';
|
|
89
|
+
import '../typography/list/List.mjs';
|
|
90
|
+
import { listDefaults } from '../typography/list/listDefaults.mjs';
|
|
91
|
+
import '../typography/list/defaultListTheme.mjs';
|
|
92
|
+
import '../typography/listItem/ListItem.mjs';
|
|
93
|
+
import '../typography/listItem/ListItemCategories.mjs';
|
|
94
|
+
import { listItemDefaults } from '../typography/listItem/listItemDefaults.mjs';
|
|
95
|
+
import '../typography/listItem/defaultListItemTheme.mjs';
|
|
83
96
|
|
|
84
97
|
const themeDefaults = {
|
|
85
98
|
button: {
|