cursedbelt 5.98.0 → 5.99.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/dist/react/media/ImageOriginalToggle.d.ts +3 -1
- package/dist/react/media/ImageOriginalToggle.d.ts.map +1 -1
- package/dist/react/media/ImageOriginalToggle.js +2 -2
- package/dist/react/media/ImageOriginalToggle.js.map +1 -1
- package/package.json +1 -1
- package/src/react/media/ImageOriginalToggle.tsx +4 -2
- package/src/react/media/imageOriginal.spec.tsx +6 -0
|
@@ -15,6 +15,8 @@ export interface ImageOriginalToggleProps extends Omit<ComponentPropsWithoutRef<
|
|
|
15
15
|
className?: string;
|
|
16
16
|
/** `ghost` inside a toolbar of ghost buttons (photos' zoom bar); `secondary` on its own over a picture. */
|
|
17
17
|
variant?: 'secondary' | 'ghost';
|
|
18
|
+
/** `md` beside a toolbar's other `md` buttons, so the row is one height (DESIGN FND-4); `sm` on its own over a picture. */
|
|
19
|
+
size?: 'sm' | 'md';
|
|
18
20
|
}
|
|
19
|
-
export declare function ImageOriginalToggle({ control, className, variant, ...rest }: ImageOriginalToggleProps): import("react").JSX.Element | null;
|
|
21
|
+
export declare function ImageOriginalToggle({ control, className, variant, size, ...rest }: ImageOriginalToggleProps): import("react").JSX.Element | null;
|
|
20
22
|
//# sourceMappingURL=ImageOriginalToggle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageOriginalToggle.d.ts","sourceRoot":"","sources":["../../../src/react/media/ImageOriginalToggle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChH,gFAAgF;IAChF,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageOriginalToggle.d.ts","sourceRoot":"","sources":["../../../src/react/media/ImageOriginalToggle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChH,gFAAgF;IAChF,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,2HAA2H;IAC3H,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAUD,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAqB,EAAE,IAAW,EAAE,GAAG,IAAI,EAAE,EAAE,wBAAwB,sCAmBhI"}
|
|
@@ -8,9 +8,9 @@ function hint(control) {
|
|
|
8
8
|
? 'Showing the original, because the zoom needed it — press to always show it'
|
|
9
9
|
: 'Showing the web copy; the original loads when you zoom past it — press to always show it';
|
|
10
10
|
}
|
|
11
|
-
export function ImageOriginalToggle({ control, className, variant = 'secondary', ...rest }) {
|
|
11
|
+
export function ImageOriginalToggle({ control, className, variant = 'secondary', size = 'sm', ...rest }) {
|
|
12
12
|
if (!control)
|
|
13
13
|
return null;
|
|
14
|
-
return (_jsx(Button, { ...rest, "aria-pressed": control.pinned, className: className, "data-showing": control.showing ? 'original' : 'web', loading: control.loading, onClick: control.toggle, size:
|
|
14
|
+
return (_jsx(Button, { ...rest, "aria-pressed": control.pinned, className: className, "data-showing": control.showing ? 'original' : 'web', loading: control.loading, onClick: control.toggle, size: size, tooltip: hint(control), ...(control.unavailable ? { unavailableReason: control.unavailable, tooltipMobile: 'tap' } : {}), variant: variant, children: "Original" }));
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=ImageOriginalToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageOriginalToggle.js","sourceRoot":"","sources":["../../../src/react/media/ImageOriginalToggle.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageOriginalToggle.js","sourceRoot":"","sources":["../../../src/react/media/ImageOriginalToggle.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAajD,mEAAmE;AACnE,SAAS,IAAI,CAAC,OAA6B;IACzC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,6FAA6F,CAAC;IACzH,OAAO,OAAO,CAAC,OAAO;QACpB,CAAC,CAAC,4EAA4E;QAC9E,CAAC,CAAC,0FAA0F,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAA4B;IAC/H,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CACL,KAAC,MAAM,OACD,IAAI,kBACM,OAAO,CAAC,MAAM,EAC5B,SAAS,EAAE,SAAS,kBACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAClD,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,OAAO,EAAE,OAAO,CAAC,MAAM,EACvB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAElB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1G,OAAO,EAAE,OAAO,yBAGT,CACV,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cursedbelt",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.99.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "The React design system of the cursedbelt split — components, styles, theme. cursedbelt-core below it; server tier in cursedbelt-server.",
|
|
@@ -17,6 +17,8 @@ export interface ImageOriginalToggleProps extends Omit<ComponentPropsWithoutRef<
|
|
|
17
17
|
className?: string;
|
|
18
18
|
/** `ghost` inside a toolbar of ghost buttons (photos' zoom bar); `secondary` on its own over a picture. */
|
|
19
19
|
variant?: 'secondary' | 'ghost';
|
|
20
|
+
/** `md` beside a toolbar's other `md` buttons, so the row is one height (DESIGN FND-4); `sm` on its own over a picture. */
|
|
21
|
+
size?: 'sm' | 'md';
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
/** The hint for a live toggle: what pressing it does from here. */
|
|
@@ -27,7 +29,7 @@ function hint(control: ImageOriginalControl): string {
|
|
|
27
29
|
: 'Showing the web copy; the original loads when you zoom past it — press to always show it';
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
export function ImageOriginalToggle({ control, className, variant = 'secondary', ...rest }: ImageOriginalToggleProps) {
|
|
32
|
+
export function ImageOriginalToggle({ control, className, variant = 'secondary', size = 'sm', ...rest }: ImageOriginalToggleProps) {
|
|
31
33
|
if (!control) return null;
|
|
32
34
|
return (
|
|
33
35
|
<Button
|
|
@@ -37,7 +39,7 @@ export function ImageOriginalToggle({ control, className, variant = 'secondary',
|
|
|
37
39
|
data-showing={control.showing ? 'original' : 'web'}
|
|
38
40
|
loading={control.loading}
|
|
39
41
|
onClick={control.toggle}
|
|
40
|
-
size=
|
|
42
|
+
size={size}
|
|
41
43
|
tooltip={hint(control)}
|
|
42
44
|
// A refused press is the reason's tap on a phone; a live one's words are already on it.
|
|
43
45
|
{...(control.unavailable ? { unavailableReason: control.unavailable, tooltipMobile: 'tap' as const } : {})}
|
|
@@ -170,6 +170,12 @@ describe('ImageOriginalToggle', () => {
|
|
|
170
170
|
const view = render(<ImageOriginalToggle control={{ ...control, unavailable: reason }} />);
|
|
171
171
|
expect(view.getByRole('button', { name: /Original/ }).getAttribute('aria-disabled')).toBe('true');
|
|
172
172
|
});
|
|
173
|
+
test('one height with the toolbar it sits in: md when asked, sm on its own', () => {
|
|
174
|
+
const md = render(<ImageOriginalToggle control={control} size='md' />).getByRole('button', { name: 'Original' });
|
|
175
|
+
cleanup();
|
|
176
|
+
const sm = render(<ImageOriginalToggle control={control} />).getByRole('button', { name: 'Original' });
|
|
177
|
+
expect(md.className).not.toBe(sm.className);
|
|
178
|
+
});
|
|
173
179
|
test('no control, nothing drawn', () => {
|
|
174
180
|
const view = render(<ImageOriginalToggle control={null} />);
|
|
175
181
|
expect(view.container.innerHTML).toBe('');
|