@vaneui/ui 1.1.3 → 1.2.0-alpha.20260819140644.0961aea
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 +1 -4
- package/dist/cjs/components/ui/theme/defaults.cjs.map +1 -1
- package/dist/cjs/index.cjs +6 -6
- 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 +1 -4
- package/dist/esm/components/ui/theme/defaults.mjs.map +1 -1
- package/dist/esm/index.mjs +3 -3
- 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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"}
|
|
@@ -70,15 +70,12 @@ var thDefaults = require('../table/thDefaults.cjs');
|
|
|
70
70
|
var tdDefaults = require('../table/tdDefaults.cjs');
|
|
71
71
|
var captionDefaults = require('../table/captionDefaults.cjs');
|
|
72
72
|
require('../typography/common/TypographyCategories.cjs');
|
|
73
|
-
require('../typography/text/Text.cjs');
|
|
74
|
-
var textDefaults = require('../typography/text/textDefaults.cjs');
|
|
75
|
-
require('./common/ComponentTheme.cjs');
|
|
76
|
-
require('./common/typographyClassMappers.cjs');
|
|
77
73
|
var listDefaults = require('../typography/list/listDefaults.cjs');
|
|
78
74
|
var listItemDefaults = require('../typography/listItem/listItemDefaults.cjs');
|
|
79
75
|
var linkDefaults = require('../typography/link/linkDefaults.cjs');
|
|
80
76
|
var blockquoteCiteDefaults = require('../typography/blockquote/blockquoteCiteDefaults.cjs');
|
|
81
77
|
var blockquoteDefaults = require('../typography/blockquote/blockquoteDefaults.cjs');
|
|
78
|
+
var textDefaults = require('../typography/text/textDefaults.cjs');
|
|
82
79
|
var titleDefaults = require('../typography/title/titleDefaults.cjs');
|
|
83
80
|
var sectionTitleDefaults = require('../typography/sectionTitle/sectionTitleDefaults.cjs');
|
|
84
81
|
var pageTitleDefaults = require('../typography/pageTitle/pageTitleDefaults.cjs');
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFO,MAAM,aAAA,GAA+B;AAAA,EAC1C,MAAA,EAAQ;AAAA,IACN,IAAA,EAAMA,6BAAA;AAAA,IACN,OAAA,EAASC;AAAA,GACX;AAAA,EACA,UAAA,EAAYC,qCAAA;AAAA,EACZ,KAAA,EAAOC,2BAAA;AAAA,EACP,IAAA,EAAMC,yBAAA;AAAA,EACN,IAAA,EAAMC,yBAAA;AAAA,EACN,IAAA,EAAMC,yBAAA;AAAA,EACN,GAAA,EAAKC,uBAAA;AAAA,EACL,IAAA,EAAMC,yBAAA;AAAA,EACN,IAAA,EAAM;AAAA,IACJ,IAAA,EAAMC,yBAAA;AAAA,IACN,MAAA,EAAQC,qCAAA;AAAA,IACR,IAAA,EAAMC,iCAAA;AAAA,IACN,MAAA,EAAQC;AAAA,GACV;AAAA,EACA,OAAA,EAASC,+BAAA;AAAA,EACT,SAAA,EAAWC,mCAAA;AAAA,EACX,GAAA,EAAKC,uBAAA;AAAA,EACL,GAAA,EAAKC,uBAAA;AAAA,EACL,KAAA,EAAOC,2BAAA;AAAA,EACP,OAAA,EAASC,+BAAA;AAAA,EACT,KAAA,EAAOC,yBAAA;AAAA,EACP,KAAA,EAAOA,yBAAA;AAAA,EACP,KAAA,EAAOA,yBAAA;AAAA,EACP,KAAA,EAAOA,yBAAA;AAAA,EACP,KAAA,EAAOA,yBAAA;AAAA,EACP,SAAA,EAAWC,mCAAA;AAAA,EACX,YAAA,EAAcC,yCAAA;AAAA,EACd,KAAA,EAAOC,2BAAA;AAAA,EACP,IAAA,EAAMC,yBAAA;AAAA,EACN,UAAA,EAAYC,qCAAA;AAAA,EACZ,cAAA,EAAgBC,6CAAA;AAAA,EAChB,IAAA,EAAMC,yBAAA;AAAA,EACN,QAAA,EAAUC,iCAAA;AAAA,EACV,IAAA,EAAMC,yBAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,KAAA,EAAOC,2CAAA;AAAA,IACP,KAAA,EAAOC,2CAAA;AAAA,IACP,aAAA,EAAeC,2DAAA;AAAA,IACf,OAAA,EAASC;AAAA,GACX;AAAA,EACA,KAAA,EAAOC,2BAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAMC,2BAAA;AAAA,IACN,KAAA,EAAOC,qCAAA;AAAA,IACP,WAAA,EAAaC,iDAAA;AAAA,IACb,KAAA,EAAOC;AAAA,GACT;AAAA,EACA,GAAA,EAAKC,uBAAA;AAAA,EACL,KAAA,EAAOC,2BAAA;AAAA,EACP,cAAA,EAAgBC,6CAAA;AAAA,EAChB,YAAA,EAAcC,yCAAA;AAAA,EACd,QAAA,EAAUC,iCAAA;AAAA,EACV,MAAA,EAAQC,6BAAA;AAAA,EACR,aAAA,EAAeC,2CAAA;AAAA,EACf,aAAA,EAAeC,2CAAA;AAAA,EACf,MAAA,EAAQ;AAAA,IACN,KAAA,EAAOC,uCAAA;AAAA,IACP,KAAA,EAAOC,uCAAA;AAAA,IACP,OAAA,EAASC;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,KAAA,EAAOC,qCAAA;AAAA,IACP,GAAA,EAAKC,iCAAA;AAAA,IACL,OAAA,EAASC;AAAA,GACX;AAAA,EACA,UAAA,EAAYC,qCAAA;AAAA,EACZ,OAAA,EAASC,+BAAA;AAAA,EACT,KAAA,EAAO;AAAA,IACL,OAAA,EAASC,yCAAA;AAAA,IACT,OAAA,EAASC,yCAAA;AAAA,IACT,MAAA,EAAQC,uCAAA;AAAA,IACR,IAAA,EAAMC,mCAAA;AAAA,IACN,MAAA,EAAQC,uCAAA;AAAA,IACR,WAAA,EAAaC;AAAA,GACf;AAAA,EACA,KAAA,EAAOC,2BAAA;AAAA,EACP,OAAA,EAASC,+BAAA;AAAA,EACT,KAAA,EAAOC,2BAAA;AAAA,EACP,OAAA,EAASC,+BAAA;AAAA,EACT,IAAA,EAAM;AAAA,IACJ,IAAA,EAAMC,iCAAA;AAAA,IACN,KAAA,EAAOC,mCAAA;AAAA,IACP,OAAA,EAASC,uCAAA;AAAA,IACT,KAAA,EAAOC;AAAA,GACT;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAMC,+BAAA;AAAA,IACN,KAAA,EAAOC;AAAA,GACT;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAMC,2BAAA;AAAA,IACN,KAAA,EAAOC,2BAAA;AAAA,IACP,KAAA,EAAOC,2BAAA;AAAA,IACP,KAAA,EAAOC,2BAAA;AAAA,IACP,EAAA,EAAIC,qBAAA;AAAA,IACJ,EAAA,EAAIC,qBAAA;AAAA,IACJ,EAAA,EAAIC,qBAAA;AAAA,IACJ,OAAA,EAASC;AAAA;AAEb;;;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -102,8 +102,6 @@ var NavLink = require('./components/ui/navLink/NavLink.cjs');
|
|
|
102
102
|
require('./components/ui/navLink/defaultNavLinkTheme.cjs');
|
|
103
103
|
require('./components/ui/navLink/NavLinkLabelCategories.cjs');
|
|
104
104
|
require('./components/ui/navLink/defaultNavLinkLabelTheme.cjs');
|
|
105
|
-
var Col = require('./components/ui/col/Col.cjs');
|
|
106
|
-
var Row = require('./components/ui/row/Row.cjs');
|
|
107
105
|
var Table = require('./components/ui/table/Table.cjs');
|
|
108
106
|
require('./components/ui/table/TableCategories.cjs');
|
|
109
107
|
require('./components/ui/table/defaultTableTheme.cjs');
|
|
@@ -125,7 +123,6 @@ var Caption = require('./components/ui/table/Caption.cjs');
|
|
|
125
123
|
require('./components/ui/table/CaptionCategories.cjs');
|
|
126
124
|
require('./components/ui/table/defaultCaptionTheme.cjs');
|
|
127
125
|
require('./components/ui/typography/common/TypographyCategories.cjs');
|
|
128
|
-
var Text = require('./components/ui/typography/text/Text.cjs');
|
|
129
126
|
var keys = require('./components/ui/props/keys.cjs');
|
|
130
127
|
var ThemeProvider = require('./components/ThemeProvider.cjs');
|
|
131
128
|
var defaultTheme = require('./components/defaultTheme.cjs');
|
|
@@ -133,6 +130,8 @@ var themeContext = require('./components/themeContext.cjs');
|
|
|
133
130
|
var defaults = require('./components/ui/theme/defaults.cjs');
|
|
134
131
|
var Section = require('./components/ui/section/Section.cjs');
|
|
135
132
|
var Container = require('./components/ui/container/Container.cjs');
|
|
133
|
+
var Col = require('./components/ui/col/Col.cjs');
|
|
134
|
+
var Row = require('./components/ui/row/Row.cjs');
|
|
136
135
|
var Stack = require('./components/ui/stack/Stack.cjs');
|
|
137
136
|
var Grid2 = require('./components/ui/grid/Grid2.cjs');
|
|
138
137
|
var Grid3 = require('./components/ui/grid/Grid3.cjs');
|
|
@@ -143,6 +142,7 @@ var Card = require('./components/ui/card/Card.cjs');
|
|
|
143
142
|
var CardHeader = require('./components/ui/card/CardHeader.cjs');
|
|
144
143
|
var CardBody = require('./components/ui/card/CardBody.cjs');
|
|
145
144
|
var CardFooter = require('./components/ui/card/CardFooter.cjs');
|
|
145
|
+
var Text = require('./components/ui/typography/text/Text.cjs');
|
|
146
146
|
var Title = require('./components/ui/typography/title/Title.cjs');
|
|
147
147
|
var Link = require('./components/ui/typography/link/Link.cjs');
|
|
148
148
|
var List = require('./components/ui/typography/list/List.cjs');
|
|
@@ -187,8 +187,6 @@ exports.Menu = Menu.Menu;
|
|
|
187
187
|
exports.MenuItem = MenuItem.MenuItem;
|
|
188
188
|
exports.MenuLabel = MenuLabel.MenuLabel;
|
|
189
189
|
exports.NavLink = NavLink.NavLink;
|
|
190
|
-
exports.Col = Col.Col;
|
|
191
|
-
exports.Row = Row.Row;
|
|
192
190
|
exports.Table = Table.Table;
|
|
193
191
|
exports.Thead = Thead.Thead;
|
|
194
192
|
exports.Tbody = Tbody.Tbody;
|
|
@@ -197,7 +195,6 @@ exports.Tr = Tr.Tr;
|
|
|
197
195
|
exports.Th = Th.Th;
|
|
198
196
|
exports.Td = Td.Td;
|
|
199
197
|
exports.Caption = Caption.Caption;
|
|
200
|
-
exports.Text = Text.Text;
|
|
201
198
|
exports.COMPONENT = keys.COMPONENT;
|
|
202
199
|
exports.ComponentCategories = keys.ComponentCategories;
|
|
203
200
|
exports.ComponentKeys = keys.ComponentKeys;
|
|
@@ -207,6 +204,8 @@ exports.useTheme = themeContext.useTheme;
|
|
|
207
204
|
exports.themeDefaults = defaults.themeDefaults;
|
|
208
205
|
exports.Section = Section.Section;
|
|
209
206
|
exports.Container = Container.Container;
|
|
207
|
+
exports.Col = Col.Col;
|
|
208
|
+
exports.Row = Row.Row;
|
|
210
209
|
exports.Stack = Stack.Stack;
|
|
211
210
|
exports.Grid2 = Grid2.Grid2;
|
|
212
211
|
exports.Grid3 = Grid3.Grid3;
|
|
@@ -217,6 +216,7 @@ exports.Card = Card.Card;
|
|
|
217
216
|
exports.CardHeader = CardHeader.CardHeader;
|
|
218
217
|
exports.CardBody = CardBody.CardBody;
|
|
219
218
|
exports.CardFooter = CardFooter.CardFooter;
|
|
219
|
+
exports.Text = Text.Text;
|
|
220
220
|
exports.Title = Title.Title;
|
|
221
221
|
exports.Link = Link.Link;
|
|
222
222
|
exports.List = List.List;
|
|
@@ -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":";;;;;;;;;;;AAWO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACpB,SAASA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAA,CAAK;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,IAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAE5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,OAAA,CAAA,CAAS;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,cAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAA,CAAA,CAAc;AAErH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACZ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,4BACG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,WAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGjD,QAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAgB,KAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChD,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,MAAK,CAAA,CAAA,CAAI,IAAK,CAAA,EAChE,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAc,QAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACtD,CAAA;AAAA,CAAA,CAAA,CAAA,CAEJ;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA;AAAA,CAAA,CAC3E;AACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
|
|
@@ -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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"}
|
|
@@ -68,15 +68,12 @@ import { thDefaults } from '../table/thDefaults.mjs';
|
|
|
68
68
|
import { tdDefaults } from '../table/tdDefaults.mjs';
|
|
69
69
|
import { captionDefaults } from '../table/captionDefaults.mjs';
|
|
70
70
|
import '../typography/common/TypographyCategories.mjs';
|
|
71
|
-
import '../typography/text/Text.mjs';
|
|
72
|
-
import { textDefaults } from '../typography/text/textDefaults.mjs';
|
|
73
|
-
import './common/ComponentTheme.mjs';
|
|
74
|
-
import './common/typographyClassMappers.mjs';
|
|
75
71
|
import { listDefaults } from '../typography/list/listDefaults.mjs';
|
|
76
72
|
import { listItemDefaults } from '../typography/listItem/listItemDefaults.mjs';
|
|
77
73
|
import { linkDefaults } from '../typography/link/linkDefaults.mjs';
|
|
78
74
|
import { blockquoteCiteDefaults } from '../typography/blockquote/blockquoteCiteDefaults.mjs';
|
|
79
75
|
import { blockquoteDefaults } from '../typography/blockquote/blockquoteDefaults.mjs';
|
|
76
|
+
import { textDefaults } from '../typography/text/textDefaults.mjs';
|
|
80
77
|
import { titleDefaults } from '../typography/title/titleDefaults.mjs';
|
|
81
78
|
import { sectionTitleDefaults } from '../typography/sectionTitle/sectionTitleDefaults.mjs';
|
|
82
79
|
import { pageTitleDefaults } from '../typography/pageTitle/pageTitleDefaults.mjs';
|