@dashforge/tw 1.2.0 → 1.3.0
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 +28 -0
- package/dist/index.esm.js +399 -132
- package/dist/src/components/Image/Image.d.ts +27 -0
- package/dist/src/components/Image/Image.d.ts.map +1 -0
- package/dist/src/components/Image/image.types.d.ts +126 -0
- package/dist/src/components/Image/image.types.d.ts.map +1 -0
- package/dist/src/components/Image/image.variants.d.ts +149 -0
- package/dist/src/components/Image/image.variants.d.ts.map +1 -0
- package/dist/src/components/Slider/slider.types.d.ts +11 -0
- package/dist/src/components/Slider/slider.types.d.ts.map +1 -1
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,34 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
12
12
|
> duplicated intentionally — no shared "lowest common denominator" headless
|
|
13
13
|
> layer.
|
|
14
14
|
|
|
15
|
+
## [1.3.0] — 2026-08-14
|
|
16
|
+
|
|
17
|
+
Adds the `<Image>` primitive. No breaking changes vs 1.2.0 — every
|
|
18
|
+
existing consumer works unchanged.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **`<Image>`** — a thin, declarative wrapper over the native `<img>`.
|
|
23
|
+
Zero eval, no data fetching: it renders a URL and adds what a bare
|
|
24
|
+
`<img>` lacks:
|
|
25
|
+
- **No layout shift** — `aspectRatio` (or `width` + `height`) reserves
|
|
26
|
+
the box before load via CSS `aspect-ratio`.
|
|
27
|
+
- **Loading skeleton** — fills the reserved box while loading, and is
|
|
28
|
+
skipped for already-cached images (no flash).
|
|
29
|
+
- **Graceful error** — a muted fallback replaces the broken-image glyph
|
|
30
|
+
on failure (`fallback` to customise).
|
|
31
|
+
- Lazy by default (`loading="lazy"`); native `<img>` attributes are
|
|
32
|
+
forwarded.
|
|
33
|
+
- `fit` (`object-fit`) and `rounded` are Option C configurable via
|
|
34
|
+
`theme.components.Image.defaults`; `sx` / `slotProps` for overrides.
|
|
35
|
+
- Supports `access` (RBAC) and `visibleWhen` gating like the form
|
|
36
|
+
components — `hide` removes the image, `disable` / `readonly` dim it.
|
|
37
|
+
|
|
38
|
+
### Internal
|
|
39
|
+
|
|
40
|
+
- Corrected the exported `VERSION` constant, which had drifted to
|
|
41
|
+
`1.1.1`; it now tracks the package version.
|
|
42
|
+
|
|
15
43
|
## [1.2.0] — 2026-07-24
|
|
16
44
|
|
|
17
45
|
Sprint 6 — closes the Option C rollout (`theme.components.<Name>.defaults`)
|
package/dist/index.esm.js
CHANGED
|
@@ -11813,6 +11813,403 @@ Avatar.displayName = 'Avatar';
|
|
|
11813
11813
|
});
|
|
11814
11814
|
AvatarGroup.displayName = 'AvatarGroup';
|
|
11815
11815
|
|
|
11816
|
+
/**
|
|
11817
|
+
* `<Skeleton>` variant recipe.
|
|
11818
|
+
*
|
|
11819
|
+
* Slots:
|
|
11820
|
+
* - `root` — single element (atomic component)
|
|
11821
|
+
*
|
|
11822
|
+
* Variant axes:
|
|
11823
|
+
* - `variant` (`text` | `rectangle` | `circle`) — shape / radius
|
|
11824
|
+
* - `animation` (`pulse` | `wave` | `none`) — how the placeholder
|
|
11825
|
+
* "breathes" while data loads. Always gated on
|
|
11826
|
+
* `prefers-reduced-motion` (no exception — animations are
|
|
11827
|
+
* purely cosmetic).
|
|
11828
|
+
*
|
|
11829
|
+
* Implementation notes:
|
|
11830
|
+
*
|
|
11831
|
+
* - `pulse` uses Tailwind's built-in `animate-pulse` (opacity
|
|
11832
|
+
* 1.0 ↔ 0.5 over 2s, ease-in-out infinite).
|
|
11833
|
+
* - `wave` overlays a moving gradient. Implemented with a
|
|
11834
|
+
* `relative` container + an `::after` pseudo-element via a
|
|
11835
|
+
* Tailwind arbitrary-value class. The gradient slides
|
|
11836
|
+
* horizontally over the surface, mimicking the MUI Skeleton
|
|
11837
|
+
* "wave" look.
|
|
11838
|
+
* - Color uses neutral-200 (light) and neutral-800 (dark) for
|
|
11839
|
+
* the base, picked up automatically by the dashforge preset's
|
|
11840
|
+
* CSS-variable layer.
|
|
11841
|
+
*
|
|
11842
|
+
* Accessibility: the root has `aria-hidden="true"` (set on the JSX
|
|
11843
|
+
* side, not here). Screen readers skip the skeleton entirely;
|
|
11844
|
+
* the surrounding component is responsible for announcing
|
|
11845
|
+
* loading state via `aria-busy` or `aria-live` if needed.
|
|
11846
|
+
*/ const skeletonVariants = tv({
|
|
11847
|
+
slots: {
|
|
11848
|
+
root: [
|
|
11849
|
+
'block',
|
|
11850
|
+
// Neutral palette auto-inverts via CSS-var swap (no `dark:`).
|
|
11851
|
+
'bg-neutral-200',
|
|
11852
|
+
'motion-reduce:animate-none'
|
|
11853
|
+
]
|
|
11854
|
+
},
|
|
11855
|
+
variants: {
|
|
11856
|
+
variant: {
|
|
11857
|
+
text: {
|
|
11858
|
+
root: 'rounded h-[1em] w-full'
|
|
11859
|
+
},
|
|
11860
|
+
rectangle: {
|
|
11861
|
+
root: 'rounded-md w-full h-[100px]'
|
|
11862
|
+
},
|
|
11863
|
+
circle: {
|
|
11864
|
+
root: 'rounded-full w-10 h-10'
|
|
11865
|
+
}
|
|
11866
|
+
},
|
|
11867
|
+
animation: {
|
|
11868
|
+
pulse: {
|
|
11869
|
+
root: 'animate-pulse'
|
|
11870
|
+
},
|
|
11871
|
+
wave: {
|
|
11872
|
+
root: [
|
|
11873
|
+
'relative overflow-hidden',
|
|
11874
|
+
// The wave is rendered via an arbitrary-value ::after
|
|
11875
|
+
// pseudo-element with a moving linear gradient. Tailwind
|
|
11876
|
+
// doesn't ship a `wave` keyframe; we use the built-in
|
|
11877
|
+
// `animate-pulse` as a fallback if a consumer needs to
|
|
11878
|
+
// override. The gradient stop direction works in both
|
|
11879
|
+
// light and dark mode (white shimmer in light, lighter
|
|
11880
|
+
// overlay in dark).
|
|
11881
|
+
'after:absolute after:inset-0',
|
|
11882
|
+
'after:bg-gradient-to-r after:from-transparent after:via-white/40 after:to-transparent',
|
|
11883
|
+
'dark:after:via-white/10',
|
|
11884
|
+
'after:animate-pulse',
|
|
11885
|
+
'after:motion-reduce:animate-none'
|
|
11886
|
+
]
|
|
11887
|
+
},
|
|
11888
|
+
none: {
|
|
11889
|
+
root: ''
|
|
11890
|
+
}
|
|
11891
|
+
}
|
|
11892
|
+
},
|
|
11893
|
+
defaultVariants: {
|
|
11894
|
+
variant: 'text',
|
|
11895
|
+
animation: 'pulse'
|
|
11896
|
+
}
|
|
11897
|
+
});
|
|
11898
|
+
|
|
11899
|
+
/**
|
|
11900
|
+
* Dashforge TW `<Skeleton>` — loading placeholder primitive.
|
|
11901
|
+
*
|
|
11902
|
+
* Renders as a non-interactive `<span aria-hidden="true">` so screen
|
|
11903
|
+
* readers skip it. The surrounding component is responsible for
|
|
11904
|
+
* announcing loading state via `aria-busy` or `aria-live` if needed.
|
|
11905
|
+
*
|
|
11906
|
+
* Variants:
|
|
11907
|
+
* - `variant` — `text` (default, line shape) / `rectangle` / `circle`
|
|
11908
|
+
* - `animation` — `pulse` (default) / `wave` / `none`
|
|
11909
|
+
*
|
|
11910
|
+
* Both animations are gated by `prefers-reduced-motion` (WCAG 2.3.3).
|
|
11911
|
+
*
|
|
11912
|
+
* @example
|
|
11913
|
+
* ```tsx
|
|
11914
|
+
* <Skeleton variant="text" width="200px" />
|
|
11915
|
+
* <Skeleton variant="rectangle" width="100%" height="120px" />
|
|
11916
|
+
* <Skeleton variant="circle" width="40px" />
|
|
11917
|
+
* ```
|
|
11918
|
+
*/ function Skeleton(props) {
|
|
11919
|
+
var _themeSlotProps_root, _slotProps_root;
|
|
11920
|
+
const themeDefaults = useComponentDefaults('Skeleton');
|
|
11921
|
+
const merged = _extends({}, themeDefaults == null ? void 0 : themeDefaults.defaults, props);
|
|
11922
|
+
const themeSlotProps = themeDefaults == null ? void 0 : themeDefaults.slotProps;
|
|
11923
|
+
const { variant = 'text', animation = 'pulse', width, height, sx, slotProps } = merged;
|
|
11924
|
+
const v = skeletonVariants({
|
|
11925
|
+
variant,
|
|
11926
|
+
animation
|
|
11927
|
+
});
|
|
11928
|
+
// Width / height come through as inline style — Tailwind doesn't
|
|
11929
|
+
// know about arbitrary user-supplied lengths. We default `circle`'s
|
|
11930
|
+
// height to `width` so consumers don't have to repeat themselves.
|
|
11931
|
+
const style = {};
|
|
11932
|
+
if (width != null) style.width = width;
|
|
11933
|
+
if (height != null) {
|
|
11934
|
+
style.height = height;
|
|
11935
|
+
} else if (variant === 'circle' && width != null) {
|
|
11936
|
+
style.height = width;
|
|
11937
|
+
}
|
|
11938
|
+
return jsx("span", {
|
|
11939
|
+
"aria-hidden": "true",
|
|
11940
|
+
role: "presentation",
|
|
11941
|
+
className: cn(v.root(), sx, themeSlotProps == null ? void 0 : (_themeSlotProps_root = themeSlotProps.root) == null ? void 0 : _themeSlotProps_root.className, slotProps == null ? void 0 : (_slotProps_root = slotProps.root) == null ? void 0 : _slotProps_root.className),
|
|
11942
|
+
style: style
|
|
11943
|
+
});
|
|
11944
|
+
}
|
|
11945
|
+
|
|
11946
|
+
/**
|
|
11947
|
+
* `<Image>` variant recipe.
|
|
11948
|
+
*
|
|
11949
|
+
* Slots:
|
|
11950
|
+
* - `root` — positioned wrapper. Holds the `<img>` plus the
|
|
11951
|
+
* loading skeleton / error-fallback overlays, and owns
|
|
11952
|
+
* the corner radius + overflow clipping. `relative` so
|
|
11953
|
+
* the overlays can be `absolute inset-0`.
|
|
11954
|
+
* - `img` — the `<img>` element. `object-*` (the `fit` axis)
|
|
11955
|
+
* lives here; `block w-full h-full` so it fills the
|
|
11956
|
+
* reserved box when an aspect ratio / dimensions are
|
|
11957
|
+
* given.
|
|
11958
|
+
* - `skeleton` — the loading placeholder overlay (a `<Skeleton>`
|
|
11959
|
+
* stretched over the reserved box).
|
|
11960
|
+
* - `fallback` — the broken-image overlay shown after `onError`.
|
|
11961
|
+
*
|
|
11962
|
+
* Variant axes:
|
|
11963
|
+
* - `fit` — CSS `object-fit`. `cover` (default) crops to fill,
|
|
11964
|
+
* `contain` letterboxes, etc.
|
|
11965
|
+
* - `rounded` — corner radius token, applied to `root` (which clips
|
|
11966
|
+
* the image via `overflow-hidden`).
|
|
11967
|
+
*
|
|
11968
|
+
* Neutral fallback surface auto-inverts through the dashforge preset's
|
|
11969
|
+
* CSS-variable layer (no explicit `dark:`).
|
|
11970
|
+
*/ const imageVariants = tv({
|
|
11971
|
+
slots: {
|
|
11972
|
+
root: [
|
|
11973
|
+
'relative',
|
|
11974
|
+
'block',
|
|
11975
|
+
'overflow-hidden'
|
|
11976
|
+
],
|
|
11977
|
+
img: [
|
|
11978
|
+
'block',
|
|
11979
|
+
'w-full',
|
|
11980
|
+
'h-full'
|
|
11981
|
+
],
|
|
11982
|
+
skeleton: [
|
|
11983
|
+
'absolute',
|
|
11984
|
+
'inset-0',
|
|
11985
|
+
'h-full',
|
|
11986
|
+
'w-full'
|
|
11987
|
+
],
|
|
11988
|
+
fallback: [
|
|
11989
|
+
'absolute',
|
|
11990
|
+
'inset-0',
|
|
11991
|
+
'flex',
|
|
11992
|
+
'items-center',
|
|
11993
|
+
'justify-center',
|
|
11994
|
+
// Neutral surface — auto-inverts via CSS vars, no `dark:`.
|
|
11995
|
+
'bg-neutral-100',
|
|
11996
|
+
'text-neutral-400'
|
|
11997
|
+
]
|
|
11998
|
+
},
|
|
11999
|
+
variants: {
|
|
12000
|
+
fit: {
|
|
12001
|
+
cover: {
|
|
12002
|
+
img: 'object-cover'
|
|
12003
|
+
},
|
|
12004
|
+
contain: {
|
|
12005
|
+
img: 'object-contain'
|
|
12006
|
+
},
|
|
12007
|
+
fill: {
|
|
12008
|
+
img: 'object-fill'
|
|
12009
|
+
},
|
|
12010
|
+
none: {
|
|
12011
|
+
img: 'object-none'
|
|
12012
|
+
},
|
|
12013
|
+
'scale-down': {
|
|
12014
|
+
img: 'object-scale-down'
|
|
12015
|
+
}
|
|
12016
|
+
},
|
|
12017
|
+
rounded: {
|
|
12018
|
+
none: {
|
|
12019
|
+
root: 'rounded-none'
|
|
12020
|
+
},
|
|
12021
|
+
sm: {
|
|
12022
|
+
root: 'rounded-sm'
|
|
12023
|
+
},
|
|
12024
|
+
md: {
|
|
12025
|
+
root: 'rounded-md'
|
|
12026
|
+
},
|
|
12027
|
+
lg: {
|
|
12028
|
+
root: 'rounded-lg'
|
|
12029
|
+
},
|
|
12030
|
+
full: {
|
|
12031
|
+
root: 'rounded-full'
|
|
12032
|
+
}
|
|
12033
|
+
}
|
|
12034
|
+
},
|
|
12035
|
+
defaultVariants: {
|
|
12036
|
+
fit: 'cover',
|
|
12037
|
+
rounded: 'none'
|
|
12038
|
+
}
|
|
12039
|
+
});
|
|
12040
|
+
|
|
12041
|
+
/**
|
|
12042
|
+
* Broken-image glyph — inline SVG fallback shown after a load error
|
|
12043
|
+
* when no custom `fallback` is provided. Inline (no icon-library dep),
|
|
12044
|
+
* mirroring `<Avatar>`'s default user icon.
|
|
12045
|
+
*
|
|
12046
|
+
* @internal
|
|
12047
|
+
*/ function BrokenImageIcon() {
|
|
12048
|
+
return jsxs("svg", {
|
|
12049
|
+
width: "24",
|
|
12050
|
+
height: "24",
|
|
12051
|
+
viewBox: "0 0 24 24",
|
|
12052
|
+
fill: "none",
|
|
12053
|
+
stroke: "currentColor",
|
|
12054
|
+
strokeWidth: "1.6",
|
|
12055
|
+
strokeLinecap: "round",
|
|
12056
|
+
strokeLinejoin: "round",
|
|
12057
|
+
"aria-hidden": "true",
|
|
12058
|
+
children: [
|
|
12059
|
+
jsx("rect", {
|
|
12060
|
+
x: "3",
|
|
12061
|
+
y: "3",
|
|
12062
|
+
width: "18",
|
|
12063
|
+
height: "18",
|
|
12064
|
+
rx: "2"
|
|
12065
|
+
}),
|
|
12066
|
+
jsx("path", {
|
|
12067
|
+
d: "m3 15 5-5 4 4"
|
|
12068
|
+
}),
|
|
12069
|
+
jsx("path", {
|
|
12070
|
+
d: "m14 14 2-2 5 5"
|
|
12071
|
+
}),
|
|
12072
|
+
jsx("path", {
|
|
12073
|
+
d: "m21 3-18 18"
|
|
12074
|
+
})
|
|
12075
|
+
]
|
|
12076
|
+
});
|
|
12077
|
+
}
|
|
12078
|
+
/**
|
|
12079
|
+
* Dashforge TW `<Image>` — a declarative, robust wrapper over the
|
|
12080
|
+
* native `<img>`. Zero eval, no data fetching: it renders a URL you
|
|
12081
|
+
* give it, and adds the three things a bare `<img>` lacks.
|
|
12082
|
+
*
|
|
12083
|
+
* 1. **No layout shift** — pass `aspectRatio` (or `width` + `height`)
|
|
12084
|
+
* and the box is reserved before the image loads (CSS
|
|
12085
|
+
* `aspect-ratio`, no JS measurement).
|
|
12086
|
+
* 2. **Loading skeleton** — a `<Skeleton>` fills the reserved box
|
|
12087
|
+
* while the image loads, and is skipped for already-cached images
|
|
12088
|
+
* so there is no flash.
|
|
12089
|
+
* 3. **Graceful error** — on load failure a muted fallback replaces
|
|
12090
|
+
* the broken-image glyph (`fallback` to customise).
|
|
12091
|
+
*
|
|
12092
|
+
* Lazy by default (`loading="lazy"`). Any native `<img>` attribute not
|
|
12093
|
+
* named here (`srcSet`, `sizes`, `decoding`, …) is forwarded to the
|
|
12094
|
+
* underlying element. The ref points at the `<img>`.
|
|
12095
|
+
*
|
|
12096
|
+
* @example
|
|
12097
|
+
* ```tsx
|
|
12098
|
+
* <Image src="/hero.jpg" alt="Team at work" aspectRatio={16 / 9} rounded="lg" />
|
|
12099
|
+
* <Image src={avatarUrl} alt="Jane Doe" width={48} height={48} rounded="full" />
|
|
12100
|
+
* ```
|
|
12101
|
+
*/ const Image = /*#__PURE__*/ forwardRef(function Image(props, ref) {
|
|
12102
|
+
var _themeSlotProps_root, _slotProps_root, _themeSlotProps_img, _slotProps_img, _themeSlotProps_skeleton, _slotProps_skeleton, _themeSlotProps_fallback, _slotProps_fallback;
|
|
12103
|
+
const themeDefaults = useComponentDefaults('Image');
|
|
12104
|
+
const merged = _extends({}, themeDefaults == null ? void 0 : themeDefaults.defaults, props);
|
|
12105
|
+
const themeSlotProps = themeDefaults == null ? void 0 : themeDefaults.slotProps;
|
|
12106
|
+
const { src, alt, aspectRatio, width, height, fit = 'cover', rounded = 'none', loading = 'lazy', showSkeleton = true, fallback, access, visibleWhen, sx, slotProps, onLoad, onError, style } = merged, rest = _object_without_properties_loose(merged, [
|
|
12107
|
+
"src",
|
|
12108
|
+
"alt",
|
|
12109
|
+
"aspectRatio",
|
|
12110
|
+
"width",
|
|
12111
|
+
"height",
|
|
12112
|
+
"fit",
|
|
12113
|
+
"rounded",
|
|
12114
|
+
"loading",
|
|
12115
|
+
"showSkeleton",
|
|
12116
|
+
"fallback",
|
|
12117
|
+
"access",
|
|
12118
|
+
"visibleWhen",
|
|
12119
|
+
"sx",
|
|
12120
|
+
"slotProps",
|
|
12121
|
+
"onLoad",
|
|
12122
|
+
"onError",
|
|
12123
|
+
"style"
|
|
12124
|
+
]);
|
|
12125
|
+
// Gating — hooks are always called (rules of hooks), the early return
|
|
12126
|
+
// comes after. `visibleWhen` is a no-op outside a <DashForm>.
|
|
12127
|
+
const bridge = useContext(DashFormContext);
|
|
12128
|
+
const isVisible = useEngineVisibility(bridge == null ? void 0 : bridge.engine, visibleWhen);
|
|
12129
|
+
const accessState = useAccessState(access);
|
|
12130
|
+
const [loaded, setLoaded] = useState(false);
|
|
12131
|
+
const [failed, setFailed] = useState(false);
|
|
12132
|
+
// Reset load / error state when the source changes in place — React's
|
|
12133
|
+
// official "adjust state during render" pattern (no effect, no flash),
|
|
12134
|
+
// so a previously-failed image doesn't keep showing its fallback.
|
|
12135
|
+
const [prevSrc, setPrevSrc] = useState(src);
|
|
12136
|
+
if (src !== prevSrc) {
|
|
12137
|
+
setPrevSrc(src);
|
|
12138
|
+
setLoaded(false);
|
|
12139
|
+
setFailed(false);
|
|
12140
|
+
}
|
|
12141
|
+
// Forward the ref AND resolve the already-cached case: for a cached
|
|
12142
|
+
// image `onLoad` may fire before React attaches the handler, so we
|
|
12143
|
+
// read `.complete` at mount and skip the skeleton flash.
|
|
12144
|
+
const handleRef = useCallback((node)=>{
|
|
12145
|
+
if (typeof ref === 'function') ref(node);
|
|
12146
|
+
else if (ref) ref.current = node;
|
|
12147
|
+
if (node && node.complete && node.naturalWidth > 0) setLoaded(true);
|
|
12148
|
+
}, [
|
|
12149
|
+
ref
|
|
12150
|
+
]);
|
|
12151
|
+
const handleLoad = (e)=>{
|
|
12152
|
+
setLoaded(true);
|
|
12153
|
+
onLoad == null ? void 0 : onLoad(e);
|
|
12154
|
+
};
|
|
12155
|
+
const handleError = (e)=>{
|
|
12156
|
+
setFailed(true);
|
|
12157
|
+
onError == null ? void 0 : onError(e);
|
|
12158
|
+
};
|
|
12159
|
+
// Gated out entirely (hooks above already ran — rules of hooks safe).
|
|
12160
|
+
if (!isVisible || !accessState.visible) return null;
|
|
12161
|
+
// An image has no interactive state, so 'disable' / 'readonly' render it
|
|
12162
|
+
// dimmed and non-interactive rather than truly disabled.
|
|
12163
|
+
const accessDimmed = accessState.disabled || accessState.readonly;
|
|
12164
|
+
const v = imageVariants({
|
|
12165
|
+
fit,
|
|
12166
|
+
rounded
|
|
12167
|
+
});
|
|
12168
|
+
// A skeleton needs a reserved box to paint into — without a known
|
|
12169
|
+
// shape there is no space, so we skip it (and there's layout shift,
|
|
12170
|
+
// documented as the reason to always pass aspectRatio / dimensions).
|
|
12171
|
+
const hasReservedBox = aspectRatio != null || width != null && height != null;
|
|
12172
|
+
const showSkeletonOverlay = showSkeleton && !loaded && !failed && hasReservedBox;
|
|
12173
|
+
const rootStyle = _extends({}, style);
|
|
12174
|
+
if (aspectRatio != null) {
|
|
12175
|
+
rootStyle.aspectRatio = typeof aspectRatio === 'number' ? `${aspectRatio} / 1` : aspectRatio;
|
|
12176
|
+
}
|
|
12177
|
+
if (width != null) rootStyle.width = width;
|
|
12178
|
+
if (height != null) rootStyle.height = height;
|
|
12179
|
+
return jsxs("div", {
|
|
12180
|
+
"aria-disabled": accessDimmed || undefined,
|
|
12181
|
+
className: cn(v.root(), accessDimmed && 'opacity-60 pointer-events-none', sx, themeSlotProps == null ? void 0 : (_themeSlotProps_root = themeSlotProps.root) == null ? void 0 : _themeSlotProps_root.className, slotProps == null ? void 0 : (_slotProps_root = slotProps.root) == null ? void 0 : _slotProps_root.className),
|
|
12182
|
+
style: Object.keys(rootStyle).length ? rootStyle : undefined,
|
|
12183
|
+
children: [
|
|
12184
|
+
jsx("img", _extends({
|
|
12185
|
+
ref: handleRef,
|
|
12186
|
+
src: src,
|
|
12187
|
+
alt: alt,
|
|
12188
|
+
loading: loading,
|
|
12189
|
+
onLoad: handleLoad,
|
|
12190
|
+
onError: handleError
|
|
12191
|
+
}, rest, {
|
|
12192
|
+
className: cn(v.img(), themeSlotProps == null ? void 0 : (_themeSlotProps_img = themeSlotProps.img) == null ? void 0 : _themeSlotProps_img.className, slotProps == null ? void 0 : (_slotProps_img = slotProps.img) == null ? void 0 : _slotProps_img.className),
|
|
12193
|
+
// Hide the broken-image glyph once we know it failed; the
|
|
12194
|
+
// fallback overlay takes its place.
|
|
12195
|
+
style: failed ? {
|
|
12196
|
+
visibility: 'hidden'
|
|
12197
|
+
} : undefined
|
|
12198
|
+
})),
|
|
12199
|
+
showSkeletonOverlay && jsx(Skeleton, {
|
|
12200
|
+
variant: "rectangle",
|
|
12201
|
+
animation: "pulse",
|
|
12202
|
+
sx: cn(v.skeleton(), themeSlotProps == null ? void 0 : (_themeSlotProps_skeleton = themeSlotProps.skeleton) == null ? void 0 : _themeSlotProps_skeleton.className, slotProps == null ? void 0 : (_slotProps_skeleton = slotProps.skeleton) == null ? void 0 : _slotProps_skeleton.className)
|
|
12203
|
+
}),
|
|
12204
|
+
failed && jsx("div", {
|
|
12205
|
+
className: cn(v.fallback(), themeSlotProps == null ? void 0 : (_themeSlotProps_fallback = themeSlotProps.fallback) == null ? void 0 : _themeSlotProps_fallback.className, slotProps == null ? void 0 : (_slotProps_fallback = slotProps.fallback) == null ? void 0 : _slotProps_fallback.className),
|
|
12206
|
+
children: fallback != null ? fallback : jsx(BrokenImageIcon, {})
|
|
12207
|
+
})
|
|
12208
|
+
]
|
|
12209
|
+
});
|
|
12210
|
+
});
|
|
12211
|
+
Image.displayName = 'Image';
|
|
12212
|
+
|
|
11816
12213
|
/**
|
|
11817
12214
|
* `boxVariants` — the surface primitive for @dashforge/tw.
|
|
11818
12215
|
*
|
|
@@ -14878,136 +15275,6 @@ const accordionVariants = tv({
|
|
|
14878
15275
|
});
|
|
14879
15276
|
}
|
|
14880
15277
|
|
|
14881
|
-
/**
|
|
14882
|
-
* `<Skeleton>` variant recipe.
|
|
14883
|
-
*
|
|
14884
|
-
* Slots:
|
|
14885
|
-
* - `root` — single element (atomic component)
|
|
14886
|
-
*
|
|
14887
|
-
* Variant axes:
|
|
14888
|
-
* - `variant` (`text` | `rectangle` | `circle`) — shape / radius
|
|
14889
|
-
* - `animation` (`pulse` | `wave` | `none`) — how the placeholder
|
|
14890
|
-
* "breathes" while data loads. Always gated on
|
|
14891
|
-
* `prefers-reduced-motion` (no exception — animations are
|
|
14892
|
-
* purely cosmetic).
|
|
14893
|
-
*
|
|
14894
|
-
* Implementation notes:
|
|
14895
|
-
*
|
|
14896
|
-
* - `pulse` uses Tailwind's built-in `animate-pulse` (opacity
|
|
14897
|
-
* 1.0 ↔ 0.5 over 2s, ease-in-out infinite).
|
|
14898
|
-
* - `wave` overlays a moving gradient. Implemented with a
|
|
14899
|
-
* `relative` container + an `::after` pseudo-element via a
|
|
14900
|
-
* Tailwind arbitrary-value class. The gradient slides
|
|
14901
|
-
* horizontally over the surface, mimicking the MUI Skeleton
|
|
14902
|
-
* "wave" look.
|
|
14903
|
-
* - Color uses neutral-200 (light) and neutral-800 (dark) for
|
|
14904
|
-
* the base, picked up automatically by the dashforge preset's
|
|
14905
|
-
* CSS-variable layer.
|
|
14906
|
-
*
|
|
14907
|
-
* Accessibility: the root has `aria-hidden="true"` (set on the JSX
|
|
14908
|
-
* side, not here). Screen readers skip the skeleton entirely;
|
|
14909
|
-
* the surrounding component is responsible for announcing
|
|
14910
|
-
* loading state via `aria-busy` or `aria-live` if needed.
|
|
14911
|
-
*/ const skeletonVariants = tv({
|
|
14912
|
-
slots: {
|
|
14913
|
-
root: [
|
|
14914
|
-
'block',
|
|
14915
|
-
// Neutral palette auto-inverts via CSS-var swap (no `dark:`).
|
|
14916
|
-
'bg-neutral-200',
|
|
14917
|
-
'motion-reduce:animate-none'
|
|
14918
|
-
]
|
|
14919
|
-
},
|
|
14920
|
-
variants: {
|
|
14921
|
-
variant: {
|
|
14922
|
-
text: {
|
|
14923
|
-
root: 'rounded h-[1em] w-full'
|
|
14924
|
-
},
|
|
14925
|
-
rectangle: {
|
|
14926
|
-
root: 'rounded-md w-full h-[100px]'
|
|
14927
|
-
},
|
|
14928
|
-
circle: {
|
|
14929
|
-
root: 'rounded-full w-10 h-10'
|
|
14930
|
-
}
|
|
14931
|
-
},
|
|
14932
|
-
animation: {
|
|
14933
|
-
pulse: {
|
|
14934
|
-
root: 'animate-pulse'
|
|
14935
|
-
},
|
|
14936
|
-
wave: {
|
|
14937
|
-
root: [
|
|
14938
|
-
'relative overflow-hidden',
|
|
14939
|
-
// The wave is rendered via an arbitrary-value ::after
|
|
14940
|
-
// pseudo-element with a moving linear gradient. Tailwind
|
|
14941
|
-
// doesn't ship a `wave` keyframe; we use the built-in
|
|
14942
|
-
// `animate-pulse` as a fallback if a consumer needs to
|
|
14943
|
-
// override. The gradient stop direction works in both
|
|
14944
|
-
// light and dark mode (white shimmer in light, lighter
|
|
14945
|
-
// overlay in dark).
|
|
14946
|
-
'after:absolute after:inset-0',
|
|
14947
|
-
'after:bg-gradient-to-r after:from-transparent after:via-white/40 after:to-transparent',
|
|
14948
|
-
'dark:after:via-white/10',
|
|
14949
|
-
'after:animate-pulse',
|
|
14950
|
-
'after:motion-reduce:animate-none'
|
|
14951
|
-
]
|
|
14952
|
-
},
|
|
14953
|
-
none: {
|
|
14954
|
-
root: ''
|
|
14955
|
-
}
|
|
14956
|
-
}
|
|
14957
|
-
},
|
|
14958
|
-
defaultVariants: {
|
|
14959
|
-
variant: 'text',
|
|
14960
|
-
animation: 'pulse'
|
|
14961
|
-
}
|
|
14962
|
-
});
|
|
14963
|
-
|
|
14964
|
-
/**
|
|
14965
|
-
* Dashforge TW `<Skeleton>` — loading placeholder primitive.
|
|
14966
|
-
*
|
|
14967
|
-
* Renders as a non-interactive `<span aria-hidden="true">` so screen
|
|
14968
|
-
* readers skip it. The surrounding component is responsible for
|
|
14969
|
-
* announcing loading state via `aria-busy` or `aria-live` if needed.
|
|
14970
|
-
*
|
|
14971
|
-
* Variants:
|
|
14972
|
-
* - `variant` — `text` (default, line shape) / `rectangle` / `circle`
|
|
14973
|
-
* - `animation` — `pulse` (default) / `wave` / `none`
|
|
14974
|
-
*
|
|
14975
|
-
* Both animations are gated by `prefers-reduced-motion` (WCAG 2.3.3).
|
|
14976
|
-
*
|
|
14977
|
-
* @example
|
|
14978
|
-
* ```tsx
|
|
14979
|
-
* <Skeleton variant="text" width="200px" />
|
|
14980
|
-
* <Skeleton variant="rectangle" width="100%" height="120px" />
|
|
14981
|
-
* <Skeleton variant="circle" width="40px" />
|
|
14982
|
-
* ```
|
|
14983
|
-
*/ function Skeleton(props) {
|
|
14984
|
-
var _themeSlotProps_root, _slotProps_root;
|
|
14985
|
-
const themeDefaults = useComponentDefaults('Skeleton');
|
|
14986
|
-
const merged = _extends({}, themeDefaults == null ? void 0 : themeDefaults.defaults, props);
|
|
14987
|
-
const themeSlotProps = themeDefaults == null ? void 0 : themeDefaults.slotProps;
|
|
14988
|
-
const { variant = 'text', animation = 'pulse', width, height, sx, slotProps } = merged;
|
|
14989
|
-
const v = skeletonVariants({
|
|
14990
|
-
variant,
|
|
14991
|
-
animation
|
|
14992
|
-
});
|
|
14993
|
-
// Width / height come through as inline style — Tailwind doesn't
|
|
14994
|
-
// know about arbitrary user-supplied lengths. We default `circle`'s
|
|
14995
|
-
// height to `width` so consumers don't have to repeat themselves.
|
|
14996
|
-
const style = {};
|
|
14997
|
-
if (width != null) style.width = width;
|
|
14998
|
-
if (height != null) {
|
|
14999
|
-
style.height = height;
|
|
15000
|
-
} else if (variant === 'circle' && width != null) {
|
|
15001
|
-
style.height = width;
|
|
15002
|
-
}
|
|
15003
|
-
return jsx("span", {
|
|
15004
|
-
"aria-hidden": "true",
|
|
15005
|
-
role: "presentation",
|
|
15006
|
-
className: cn(v.root(), sx, themeSlotProps == null ? void 0 : (_themeSlotProps_root = themeSlotProps.root) == null ? void 0 : _themeSlotProps_root.className, slotProps == null ? void 0 : (_slotProps_root = slotProps.root) == null ? void 0 : _slotProps_root.className),
|
|
15007
|
-
style: style
|
|
15008
|
-
});
|
|
15009
|
-
}
|
|
15010
|
-
|
|
15011
15278
|
/**
|
|
15012
15279
|
* `<Pagination>` variant recipe.
|
|
15013
15280
|
*
|
|
@@ -18792,6 +19059,6 @@ function SearchIcon(props) {
|
|
|
18792
19059
|
*/ // ───── Components ─────
|
|
18793
19060
|
/**
|
|
18794
19061
|
* Package version (synced with `package.json` at publish time).
|
|
18795
|
-
*/ const VERSION = '1.
|
|
19062
|
+
*/ const VERSION = '1.3.0';
|
|
18796
19063
|
|
|
18797
|
-
export { AVATAR_SOFT_FALLBACK, AVATAR_TONE_FALLBACK, Accordion, Alert, AlertTitle, AppShell, AspectRatio, Autocomplete, Avatar, AvatarGroup, Badge, Box, Breadcrumbs, Button, Calendar, Card, CardActionArea, CardContent, Checkbox, Chip, ConfirmDialogProvider, Container, DRAWER_SIZE_PRESETS, DataGrid, DatePicker, DateRangePicker, DateTimePicker, Dialog, Divider, Drawer, Grid, ICON_BUTTON_BASE, ICON_BUTTON_SIZE_OVERRIDES, IconButton, LeftNav, Link, Menu, MenuContent, MenuItem, MenuLabel, MenuSeparator, MenuSkeleton, MenuTrigger, NumberField, OTPField, Pagination, Popover, Progress, RadioGroup, RenderButton, RenderChip, RenderText, RenderTwoLine, RowActionsMenu, SPINNER_COLORS, SPINNER_STROKE_WIDTH, SPINNER_TRACK_OPACITY, Select, Skeleton, Slider, SnackbarProvider, Spinner, Stack, Step, Stepper, Switch, Table, Tabs, TextField, Textarea, TimePicker, Tooltip, TopBar, Typography, VERSION, VisuallyHidden, accordionVariants, alertVariants, appShellVariants, autocompleteVariants, avatarVariants, badgeVariants, boxVariants, breadcrumbsVariants, buttonVariants, calendarDayVariants, calendarVariants, checkboxVariants, chipVariants, cn, confirmDialogVariants, containerVariants, dataGridVariants, datePickerVariants, dateRangeDayVariants, dateRangePickerVariants, dateTimePickerVariants, dialogVariants, dividerLineVariants, dividerVariants, drawerVariants, getNestedValue, gridVariants, leftNavVariants, linkVariants, menuVariants, numberFieldVariants, otpFieldVariants, paginationVariants, popoverVariants, progressVariants, radioGroupVariants, selectVariants, skeletonVariants, sliderVariants, snackbarVariants, spinnerVariants, stackVariants, stepperVariants, switchVariants, tableVariants, tabsVariants, textFieldVariants, textareaVariants, timePickerVariants, tooltipVariants, topBarVariants, typographyVariants, useAccessState, useConfirm, useSnackbar, useStep };
|
|
19064
|
+
export { AVATAR_SOFT_FALLBACK, AVATAR_TONE_FALLBACK, Accordion, Alert, AlertTitle, AppShell, AspectRatio, Autocomplete, Avatar, AvatarGroup, Badge, Box, Breadcrumbs, Button, Calendar, Card, CardActionArea, CardContent, Checkbox, Chip, ConfirmDialogProvider, Container, DRAWER_SIZE_PRESETS, DataGrid, DatePicker, DateRangePicker, DateTimePicker, Dialog, Divider, Drawer, Grid, ICON_BUTTON_BASE, ICON_BUTTON_SIZE_OVERRIDES, IconButton, Image, LeftNav, Link, Menu, MenuContent, MenuItem, MenuLabel, MenuSeparator, MenuSkeleton, MenuTrigger, NumberField, OTPField, Pagination, Popover, Progress, RadioGroup, RenderButton, RenderChip, RenderText, RenderTwoLine, RowActionsMenu, SPINNER_COLORS, SPINNER_STROKE_WIDTH, SPINNER_TRACK_OPACITY, Select, Skeleton, Slider, SnackbarProvider, Spinner, Stack, Step, Stepper, Switch, Table, Tabs, TextField, Textarea, TimePicker, Tooltip, TopBar, Typography, VERSION, VisuallyHidden, accordionVariants, alertVariants, appShellVariants, autocompleteVariants, avatarVariants, badgeVariants, boxVariants, breadcrumbsVariants, buttonVariants, calendarDayVariants, calendarVariants, checkboxVariants, chipVariants, cn, confirmDialogVariants, containerVariants, dataGridVariants, datePickerVariants, dateRangeDayVariants, dateRangePickerVariants, dateTimePickerVariants, dialogVariants, dividerLineVariants, dividerVariants, drawerVariants, getNestedValue, gridVariants, imageVariants, leftNavVariants, linkVariants, menuVariants, numberFieldVariants, otpFieldVariants, paginationVariants, popoverVariants, progressVariants, radioGroupVariants, selectVariants, skeletonVariants, sliderVariants, snackbarVariants, spinnerVariants, stackVariants, stepperVariants, switchVariants, tableVariants, tabsVariants, textFieldVariants, textareaVariants, timePickerVariants, tooltipVariants, topBarVariants, typographyVariants, useAccessState, useConfirm, useSnackbar, useStep };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ImageProps } from './image.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashforge TW `<Image>` — a declarative, robust wrapper over the
|
|
4
|
+
* native `<img>`. Zero eval, no data fetching: it renders a URL you
|
|
5
|
+
* give it, and adds the three things a bare `<img>` lacks.
|
|
6
|
+
*
|
|
7
|
+
* 1. **No layout shift** — pass `aspectRatio` (or `width` + `height`)
|
|
8
|
+
* and the box is reserved before the image loads (CSS
|
|
9
|
+
* `aspect-ratio`, no JS measurement).
|
|
10
|
+
* 2. **Loading skeleton** — a `<Skeleton>` fills the reserved box
|
|
11
|
+
* while the image loads, and is skipped for already-cached images
|
|
12
|
+
* so there is no flash.
|
|
13
|
+
* 3. **Graceful error** — on load failure a muted fallback replaces
|
|
14
|
+
* the broken-image glyph (`fallback` to customise).
|
|
15
|
+
*
|
|
16
|
+
* Lazy by default (`loading="lazy"`). Any native `<img>` attribute not
|
|
17
|
+
* named here (`srcSet`, `sizes`, `decoding`, …) is forwarded to the
|
|
18
|
+
* underlying element. The ref points at the `<img>`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <Image src="/hero.jpg" alt="Team at work" aspectRatio={16 / 9} rounded="lg" />
|
|
23
|
+
* <Image src={avatarUrl} alt="Jane Doe" width={48} height={48} rounded="full" />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare const Image: import("react").ForwardRefExoticComponent<ImageProps & import("react").RefAttributes<HTMLImageElement>>;
|
|
27
|
+
//# sourceMappingURL=Image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../src/components/Image/Image.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA8BnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,KAAK,yGAiJjB,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
3
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
4
|
+
import type { ImageVariants } from './image.variants.js';
|
|
5
|
+
/**
|
|
6
|
+
* Subset of `<Image>` props theme-configurable via
|
|
7
|
+
* `theme.components.Image.defaults` (Option C).
|
|
8
|
+
*/
|
|
9
|
+
export type ImageVariantProps = Pick<ImageVariants, 'fit' | 'rounded'>;
|
|
10
|
+
declare module '@dashforge/tw-tokens' {
|
|
11
|
+
interface TWComponentDefaults {
|
|
12
|
+
Image?: {
|
|
13
|
+
defaults?: Partial<ImageVariantProps>;
|
|
14
|
+
slotProps?: ImageSlotProps;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export interface ImageSlotProps {
|
|
19
|
+
/** Wrapper element override. */
|
|
20
|
+
root?: {
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
/** `<img>` element override. */
|
|
24
|
+
img?: {
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
/** Loading-skeleton overlay override. */
|
|
28
|
+
skeleton?: {
|
|
29
|
+
className?: string;
|
|
30
|
+
};
|
|
31
|
+
/** Error-fallback overlay override. */
|
|
32
|
+
fallback?: {
|
|
33
|
+
className?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Props for `<Image>`.
|
|
38
|
+
*
|
|
39
|
+
* A thin, declarative wrapper over the native `<img>` — zero eval, no
|
|
40
|
+
* data fetching — with the robustness a native `<img>` lacks:
|
|
41
|
+
*
|
|
42
|
+
* 1. **No layout shift.** Give `aspectRatio` (or `width` + `height`)
|
|
43
|
+
* and the box is reserved before the image loads (CSS
|
|
44
|
+
* `aspect-ratio`, no JS measurement).
|
|
45
|
+
* 2. **Loading skeleton.** While the image loads, a `<Skeleton>` fills
|
|
46
|
+
* the reserved box. It is skipped automatically for already-cached
|
|
47
|
+
* images (no flash).
|
|
48
|
+
* 3. **Graceful error.** On load failure a muted fallback replaces the
|
|
49
|
+
* broken-image glyph — pass your own via `fallback`.
|
|
50
|
+
* 4. **Lazy by default** (`loading="lazy"`).
|
|
51
|
+
*
|
|
52
|
+
* Any native `<img>` attribute not listed here (`srcSet`, `sizes`,
|
|
53
|
+
* `crossOrigin`, `referrerPolicy`, `decoding`, …) is forwarded to the
|
|
54
|
+
* underlying element.
|
|
55
|
+
*
|
|
56
|
+
* Note on privacy: an external `src` is fetched by the browser from
|
|
57
|
+
* that host (egress). Self-host the asset (same-origin / your CDN) to
|
|
58
|
+
* keep it inside your boundary.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```tsx
|
|
62
|
+
* <Image src="/hero.jpg" alt="Team at work" aspectRatio={16 / 9} rounded="lg" />
|
|
63
|
+
* <Image src={avatarUrl} alt="Jane Doe" width={48} height={48} rounded="full" />
|
|
64
|
+
* <Image src={maybeBroken} alt="Product" aspectRatio={1} fallback={<MyPlaceholder />} />
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'alt' | 'className'> {
|
|
68
|
+
/** Image source URL. Same-origin / data: keeps it inside your boundary; an external host is egress. */
|
|
69
|
+
src: string;
|
|
70
|
+
/**
|
|
71
|
+
* Alternative text (accessibility). Describe what the image conveys;
|
|
72
|
+
* use `alt=""` for purely decorative images so assistive tech skips it.
|
|
73
|
+
*/
|
|
74
|
+
alt: string;
|
|
75
|
+
/**
|
|
76
|
+
* Locks the box shape before load to prevent layout shift — a number
|
|
77
|
+
* (`16 / 9`, `1`) or a CSS `aspect-ratio` string (`'16 / 9'`). When
|
|
78
|
+
* set, the image fills the box via `object-fit`.
|
|
79
|
+
*/
|
|
80
|
+
aspectRatio?: number | string;
|
|
81
|
+
/**
|
|
82
|
+
* How the image fills its box — CSS `object-fit`.
|
|
83
|
+
* @default 'cover'
|
|
84
|
+
*/
|
|
85
|
+
fit?: ImageVariants['fit'];
|
|
86
|
+
/**
|
|
87
|
+
* Corner radius token, clipped via `overflow-hidden`.
|
|
88
|
+
* @default 'none'
|
|
89
|
+
*/
|
|
90
|
+
rounded?: ImageVariants['rounded'];
|
|
91
|
+
/**
|
|
92
|
+
* Native lazy/eager loading. Lazy defers off-screen images.
|
|
93
|
+
* @default 'lazy'
|
|
94
|
+
*/
|
|
95
|
+
loading?: 'lazy' | 'eager';
|
|
96
|
+
/**
|
|
97
|
+
* Show a `<Skeleton>` while the image loads. Requires a reserved box
|
|
98
|
+
* (`aspectRatio`, or both `width` and `height`) — without one there
|
|
99
|
+
* is no space to paint it, so it is skipped.
|
|
100
|
+
* @default true
|
|
101
|
+
*/
|
|
102
|
+
showSkeleton?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Content shown when the image fails to load. Defaults to a muted
|
|
105
|
+
* surface with a broken-image glyph.
|
|
106
|
+
*/
|
|
107
|
+
fallback?: ReactNode;
|
|
108
|
+
/**
|
|
109
|
+
* RBAC access requirement. When the current user is unauthorized:
|
|
110
|
+
* `onUnauthorized: 'hide'` → the image does not render; `'disable'` /
|
|
111
|
+
* `'readonly'` → it renders dimmed and non-interactive (an image has no
|
|
112
|
+
* true disabled state). Resolved against the nearest `RbacProvider`.
|
|
113
|
+
*/
|
|
114
|
+
access?: AccessRequirement;
|
|
115
|
+
/**
|
|
116
|
+
* Reactive visibility predicate evaluated against the form engine — the
|
|
117
|
+
* image renders only when it returns `true` (e.g. show a preview once a
|
|
118
|
+
* file field has a value). No-op outside a `<DashForm>`.
|
|
119
|
+
*/
|
|
120
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
121
|
+
/** Root-level Tailwind override (wins via `tailwind-merge`). */
|
|
122
|
+
sx?: string;
|
|
123
|
+
/** Per-slot overrides. */
|
|
124
|
+
slotProps?: ImageSlotProps;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=image.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Image/image.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAEvE,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,mBAAmB;QAC3B,KAAK,CAAC,EAAE;YACN,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtC,SAAS,CAAC,EAAE,cAAc,CAAC;SAC5B,CAAC;KACH;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,gCAAgC;IAChC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;IAC9E,uGAAuG;IACvG,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B;;;OAGG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAE1C,gEAAgE;IAChE,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* `<Image>` variant recipe.
|
|
4
|
+
*
|
|
5
|
+
* Slots:
|
|
6
|
+
* - `root` — positioned wrapper. Holds the `<img>` plus the
|
|
7
|
+
* loading skeleton / error-fallback overlays, and owns
|
|
8
|
+
* the corner radius + overflow clipping. `relative` so
|
|
9
|
+
* the overlays can be `absolute inset-0`.
|
|
10
|
+
* - `img` — the `<img>` element. `object-*` (the `fit` axis)
|
|
11
|
+
* lives here; `block w-full h-full` so it fills the
|
|
12
|
+
* reserved box when an aspect ratio / dimensions are
|
|
13
|
+
* given.
|
|
14
|
+
* - `skeleton` — the loading placeholder overlay (a `<Skeleton>`
|
|
15
|
+
* stretched over the reserved box).
|
|
16
|
+
* - `fallback` — the broken-image overlay shown after `onError`.
|
|
17
|
+
*
|
|
18
|
+
* Variant axes:
|
|
19
|
+
* - `fit` — CSS `object-fit`. `cover` (default) crops to fill,
|
|
20
|
+
* `contain` letterboxes, etc.
|
|
21
|
+
* - `rounded` — corner radius token, applied to `root` (which clips
|
|
22
|
+
* the image via `overflow-hidden`).
|
|
23
|
+
*
|
|
24
|
+
* Neutral fallback surface auto-inverts through the dashforge preset's
|
|
25
|
+
* CSS-variable layer (no explicit `dark:`).
|
|
26
|
+
*/
|
|
27
|
+
export declare const imageVariants: import("tailwind-variants").TVReturnType<{
|
|
28
|
+
fit: {
|
|
29
|
+
cover: {
|
|
30
|
+
img: string;
|
|
31
|
+
};
|
|
32
|
+
contain: {
|
|
33
|
+
img: string;
|
|
34
|
+
};
|
|
35
|
+
fill: {
|
|
36
|
+
img: string;
|
|
37
|
+
};
|
|
38
|
+
none: {
|
|
39
|
+
img: string;
|
|
40
|
+
};
|
|
41
|
+
'scale-down': {
|
|
42
|
+
img: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
rounded: {
|
|
46
|
+
none: {
|
|
47
|
+
root: string;
|
|
48
|
+
};
|
|
49
|
+
sm: {
|
|
50
|
+
root: string;
|
|
51
|
+
};
|
|
52
|
+
md: {
|
|
53
|
+
root: string;
|
|
54
|
+
};
|
|
55
|
+
lg: {
|
|
56
|
+
root: string;
|
|
57
|
+
};
|
|
58
|
+
full: {
|
|
59
|
+
root: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}, {
|
|
63
|
+
root: string[];
|
|
64
|
+
img: string[];
|
|
65
|
+
skeleton: string[];
|
|
66
|
+
fallback: string[];
|
|
67
|
+
}, undefined, {
|
|
68
|
+
fit: {
|
|
69
|
+
cover: {
|
|
70
|
+
img: string;
|
|
71
|
+
};
|
|
72
|
+
contain: {
|
|
73
|
+
img: string;
|
|
74
|
+
};
|
|
75
|
+
fill: {
|
|
76
|
+
img: string;
|
|
77
|
+
};
|
|
78
|
+
none: {
|
|
79
|
+
img: string;
|
|
80
|
+
};
|
|
81
|
+
'scale-down': {
|
|
82
|
+
img: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
rounded: {
|
|
86
|
+
none: {
|
|
87
|
+
root: string;
|
|
88
|
+
};
|
|
89
|
+
sm: {
|
|
90
|
+
root: string;
|
|
91
|
+
};
|
|
92
|
+
md: {
|
|
93
|
+
root: string;
|
|
94
|
+
};
|
|
95
|
+
lg: {
|
|
96
|
+
root: string;
|
|
97
|
+
};
|
|
98
|
+
full: {
|
|
99
|
+
root: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
}, {
|
|
103
|
+
root: string[];
|
|
104
|
+
img: string[];
|
|
105
|
+
skeleton: string[];
|
|
106
|
+
fallback: string[];
|
|
107
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
108
|
+
fit: {
|
|
109
|
+
cover: {
|
|
110
|
+
img: string;
|
|
111
|
+
};
|
|
112
|
+
contain: {
|
|
113
|
+
img: string;
|
|
114
|
+
};
|
|
115
|
+
fill: {
|
|
116
|
+
img: string;
|
|
117
|
+
};
|
|
118
|
+
none: {
|
|
119
|
+
img: string;
|
|
120
|
+
};
|
|
121
|
+
'scale-down': {
|
|
122
|
+
img: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
rounded: {
|
|
126
|
+
none: {
|
|
127
|
+
root: string;
|
|
128
|
+
};
|
|
129
|
+
sm: {
|
|
130
|
+
root: string;
|
|
131
|
+
};
|
|
132
|
+
md: {
|
|
133
|
+
root: string;
|
|
134
|
+
};
|
|
135
|
+
lg: {
|
|
136
|
+
root: string;
|
|
137
|
+
};
|
|
138
|
+
full: {
|
|
139
|
+
root: string;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
}, {
|
|
143
|
+
root: string[];
|
|
144
|
+
img: string[];
|
|
145
|
+
skeleton: string[];
|
|
146
|
+
fallback: string[];
|
|
147
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
148
|
+
export type ImageVariants = VariantProps<typeof imageVariants>;
|
|
149
|
+
//# sourceMappingURL=image.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.variants.d.ts","sourceRoot":"","sources":["../../../../src/components/Image/image.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAoCxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -191,6 +191,11 @@ interface SliderCommonProps {
|
|
|
191
191
|
* `defaultValue` are `number`; `onChange` / `onCommit` receive `number`.
|
|
192
192
|
*/
|
|
193
193
|
export interface SliderSingleProps extends SliderCommonProps {
|
|
194
|
+
/**
|
|
195
|
+
* Discriminator — omit or set `false` for single-value mode. Selects
|
|
196
|
+
* the `number` value/callback shapes over the range tuple.
|
|
197
|
+
* @default false
|
|
198
|
+
*/
|
|
194
199
|
range?: false;
|
|
195
200
|
/** Controlled value. */
|
|
196
201
|
value?: number;
|
|
@@ -206,6 +211,7 @@ export interface SliderSingleProps extends SliderCommonProps {
|
|
|
206
211
|
* what writes to the form bridge — matches MUI / Ant defaults.
|
|
207
212
|
*/
|
|
208
213
|
onCommit?: (value: number) => void;
|
|
214
|
+
/** Fires when the thumb loses focus (after a commit). */
|
|
209
215
|
onBlur?: () => void;
|
|
210
216
|
}
|
|
211
217
|
/**
|
|
@@ -213,6 +219,10 @@ export interface SliderSingleProps extends SliderCommonProps {
|
|
|
213
219
|
* `[number, number]`; `onChange` / `onCommit` receive the tuple.
|
|
214
220
|
*/
|
|
215
221
|
export interface SliderRangeProps extends SliderCommonProps {
|
|
222
|
+
/**
|
|
223
|
+
* Discriminator — set `true` for range mode. Selects the
|
|
224
|
+
* `[number, number]` tuple value/callback shapes over the single number.
|
|
225
|
+
*/
|
|
216
226
|
range: true;
|
|
217
227
|
/** Controlled `[min, max]` tuple. */
|
|
218
228
|
value?: readonly [number, number];
|
|
@@ -222,6 +232,7 @@ export interface SliderRangeProps extends SliderCommonProps {
|
|
|
222
232
|
onChange?: (value: readonly [number, number]) => void;
|
|
223
233
|
/** Drag-end / keyboard-step callback. Writes to the bridge. */
|
|
224
234
|
onCommit?: (value: readonly [number, number]) => void;
|
|
235
|
+
/** Fires when a thumb loses focus (after a commit). */
|
|
225
236
|
onBlur?: () => void;
|
|
226
237
|
}
|
|
227
238
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Slider/slider.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Slider/slider.types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -122,6 +122,10 @@ export { spinnerVariants, SPINNER_STROKE_WIDTH, SPINNER_TRACK_OPACITY, SPINNER_C
|
|
|
122
122
|
export { Avatar, AvatarGroup } from './components/Avatar/Avatar.js';
|
|
123
123
|
export type { AvatarProps, AvatarVariantProps, AvatarGroupProps, AvatarSize, AvatarShape, AvatarColor, AvatarTone, } from './components/Avatar/avatar.types.js';
|
|
124
124
|
export { avatarVariants, AVATAR_SOFT_FALLBACK, AVATAR_TONE_FALLBACK, } from './components/Avatar/avatar.variants.js';
|
|
125
|
+
export { Image } from './components/Image/Image.js';
|
|
126
|
+
export type { ImageProps, ImageSlotProps, ImageVariantProps, } from './components/Image/image.types.js';
|
|
127
|
+
export { imageVariants } from './components/Image/image.variants.js';
|
|
128
|
+
export type { ImageVariants } from './components/Image/image.variants.js';
|
|
125
129
|
export { Card, CardContent, CardActionArea } from './components/Card/Card.js';
|
|
126
130
|
export type { CardProps, CardContentProps, CardActionAreaProps, CardVariantProps, } from './components/Card/card.types.js';
|
|
127
131
|
export { Chip } from './components/Chip/Chip.js';
|
|
@@ -187,5 +191,5 @@ export type { VariantProps } from 'tailwind-variants';
|
|
|
187
191
|
/**
|
|
188
192
|
* Package version (synced with `package.json` at publish time).
|
|
189
193
|
*/
|
|
190
|
-
export declare const VERSION = "1.
|
|
194
|
+
export declare const VERSION = "1.3.0";
|
|
191
195
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dashforge/tw",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.esm.js",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"tailwind-merge": "^3.0.0",
|
|
36
36
|
"tailwind-variants": "^3.1.1",
|
|
37
37
|
"@dashforge/calendar-core": "1.0.0",
|
|
38
|
-
"@dashforge/forms": "1.0.0",
|
|
39
38
|
"@dashforge/rbac": "1.0.0",
|
|
40
|
-
"@dashforge/ui-core": "1.0.0"
|
|
39
|
+
"@dashforge/ui-core": "1.0.0",
|
|
40
|
+
"@dashforge/forms": "1.0.0"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": "^18.0.0 || ^19.0.0",
|