@hanzo/ui 8.27.31 → 8.27.35
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/consent/Consent.cjs +76 -0
- package/dist/consent/Consent.d.ts +13 -0
- package/dist/consent/Consent.d.ts.map +1 -0
- package/dist/consent/Consent.js +72 -0
- package/dist/consent/Consent.js.map +1 -0
- package/dist/consent/index.cjs +7 -0
- package/dist/consent/index.d.ts +2 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +2 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/gallery.cjs +11 -0
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +5 -5
- package/dist/gallery.js +11 -0
- package/dist/gallery.js.map +1 -1
- package/dist/marketing/ClosingCta.cjs +4 -4
- package/dist/marketing/ClosingCta.d.ts +5 -3
- package/dist/marketing/ClosingCta.d.ts.map +1 -1
- package/dist/marketing/ClosingCta.js +4 -4
- package/dist/marketing/ClosingCta.js.map +1 -1
- package/dist/marketing/Footer.cjs +27 -0
- package/dist/marketing/Footer.d.ts +25 -0
- package/dist/marketing/Footer.d.ts.map +1 -0
- package/dist/marketing/Footer.js +25 -0
- package/dist/marketing/Footer.js.map +1 -0
- package/dist/marketing/Plans.cjs +14 -8
- package/dist/marketing/Plans.d.ts +5 -3
- package/dist/marketing/Plans.d.ts.map +1 -1
- package/dist/marketing/Plans.js +15 -9
- package/dist/marketing/Plans.js.map +1 -1
- package/dist/marketing/index.cjs +4 -1
- package/dist/marketing/index.d.ts +2 -1
- package/dist/marketing/index.d.ts.map +1 -1
- package/dist/marketing/index.js +2 -1
- package/dist/marketing/index.js.map +1 -1
- package/dist/marketing/rows.cjs +26 -0
- package/dist/marketing/rows.d.ts +10 -0
- package/dist/marketing/rows.d.ts.map +1 -1
- package/dist/marketing/rows.js +25 -0
- package/dist/marketing/rows.js.map +1 -1
- package/dist/onboarding/Checkout.cjs +19 -5
- package/dist/onboarding/Checkout.d.ts +3 -1
- package/dist/onboarding/Checkout.d.ts.map +1 -1
- package/dist/onboarding/Checkout.js +20 -6
- package/dist/onboarding/Checkout.js.map +1 -1
- package/dist/onboarding/Onboarding.cjs +18 -8
- package/dist/onboarding/Onboarding.d.ts +5 -1
- package/dist/onboarding/Onboarding.d.ts.map +1 -1
- package/dist/onboarding/Onboarding.js +19 -9
- package/dist/onboarding/Onboarding.js.map +1 -1
- package/dist/onboarding/catalog.cjs +30 -0
- package/dist/onboarding/catalog.d.ts +5 -0
- package/dist/onboarding/catalog.d.ts.map +1 -0
- package/dist/onboarding/catalog.js +27 -0
- package/dist/onboarding/catalog.js.map +1 -0
- package/dist/onboarding/frame.cjs +2 -3
- package/dist/onboarding/frame.d.ts +3 -2
- package/dist/onboarding/frame.d.ts.map +1 -1
- package/dist/onboarding/frame.js +2 -3
- package/dist/onboarding/frame.js.map +1 -1
- package/dist/onboarding/index.cjs +7 -3
- package/dist/onboarding/index.d.ts +2 -1
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/index.js +2 -1
- package/dist/onboarding/index.js.map +1 -1
- package/dist/onboarding/plans.cjs +75 -68
- package/dist/onboarding/plans.d.ts +41 -22
- package/dist/onboarding/plans.d.ts.map +1 -1
- package/dist/onboarding/plans.js +66 -64
- package/dist/onboarding/plans.js.map +1 -1
- package/dist/onboarding/screens.cjs +8 -7
- package/dist/onboarding/screens.d.ts +2 -1
- package/dist/onboarding/screens.d.ts.map +1 -1
- package/dist/onboarding/screens.js +9 -8
- package/dist/onboarding/screens.js.map +1 -1
- package/package.json +12 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ConsentLink = exports.Consent = exports.openConsent = void 0;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
/**
|
|
7
|
+
* Consent — the one cookie banner every Hanzo, Lux and Zoo site mounts.
|
|
8
|
+
*
|
|
9
|
+
* It draws the choice; @hanzo/event stores it (`hz_consent`) and the tag
|
|
10
|
+
* manager reacts: nothing from an ad platform loads before Accept, and Google
|
|
11
|
+
* Consent Mode v2 starts denied.
|
|
12
|
+
*
|
|
13
|
+
* - opt-in zones (EU, UK, CH, anywhere that is not a US zone): a banner with
|
|
14
|
+
* Accept all, Reject all and Choose, until the visitor has chosen.
|
|
15
|
+
* - US: no banner; `ConsentLink` ("Do not sell or share my personal
|
|
16
|
+
* information") in the footer opens the same choices.
|
|
17
|
+
* - Global Privacy Control: marketing and ads are off and their switches are
|
|
18
|
+
* locked, in every zone.
|
|
19
|
+
*
|
|
20
|
+
* `Consent` mounts once near the root; `ConsentLink` goes wherever a footer
|
|
21
|
+
* link goes and opens the panel from anywhere.
|
|
22
|
+
*/
|
|
23
|
+
const gui_1 = require("@hanzo/gui");
|
|
24
|
+
const event_1 = require("@hanzo/event");
|
|
25
|
+
const react_1 = require("react");
|
|
26
|
+
const button_1 = require("../backends/gui/button.cjs");
|
|
27
|
+
const switch_1 = require("../backends/gui/switch.cjs");
|
|
28
|
+
const slot_1 = require("../backends/gui/slot.cjs");
|
|
29
|
+
const OPEN = 'hzconsent-open';
|
|
30
|
+
/** Opens the choices from anywhere. */
|
|
31
|
+
const openConsent = () => {
|
|
32
|
+
if (typeof window !== 'undefined')
|
|
33
|
+
window.dispatchEvent(new Event(OPEN));
|
|
34
|
+
};
|
|
35
|
+
exports.openConsent = openConsent;
|
|
36
|
+
const KINDS = [
|
|
37
|
+
{ key: 'analytics', title: 'Analytics', body: 'Counts visits and finds what is broken, so Hanzo can get better.' },
|
|
38
|
+
{ key: 'marketing', title: 'Marketing', body: 'Lets ad platforms measure the sign-ups and orders their ads led to.' },
|
|
39
|
+
{ key: 'ads', title: 'Personalized ads', body: 'Lets those platforms use your visit to show you ads elsewhere.' },
|
|
40
|
+
];
|
|
41
|
+
const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
|
|
42
|
+
const [shown, setShown] = (0, react_1.useState)(false);
|
|
43
|
+
const [choosing, setChoosing] = (0, react_1.useState)(false);
|
|
44
|
+
const [draft, setDraft] = (0, react_1.useState)({ analytics: false, marketing: false, ads: false });
|
|
45
|
+
const locked = typeof window !== 'undefined' && (0, event_1.gpc)();
|
|
46
|
+
(0, react_1.useEffect)(() => {
|
|
47
|
+
setShown((0, event_1.asks)());
|
|
48
|
+
const open = () => {
|
|
49
|
+
setDraft((0, event_1.readConsent)());
|
|
50
|
+
setChoosing(true);
|
|
51
|
+
setShown(true);
|
|
52
|
+
};
|
|
53
|
+
window.addEventListener(OPEN, open);
|
|
54
|
+
return () => window.removeEventListener(OPEN, open);
|
|
55
|
+
}, []);
|
|
56
|
+
if (!shown)
|
|
57
|
+
return null;
|
|
58
|
+
const done = (fn) => () => {
|
|
59
|
+
fn();
|
|
60
|
+
setShown(false);
|
|
61
|
+
setChoosing(false);
|
|
62
|
+
};
|
|
63
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('consent'), role: "dialog", "aria-label": "Cookie preferences", position: "fixed", b: 16, l: 16, r: 16, z: 2147483000, maxW: 560, gap: "$3", p: "$4", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", shadowColor: "rgba(0,0,0,0.25)", shadowRadius: 24, shadowOffset: { width: 0, height: 8 }, children: [(0, jsx_runtime_1.jsxs)(gui_1.Paragraph, { size: "$3", color: "$ink", m: 0, children: [choosing
|
|
64
|
+
? 'Choose what Hanzo may measure and share. You can change this at any time.'
|
|
65
|
+
: 'Hanzo uses cookies to count visits and to measure its ads. Nothing from an advertiser loads until you accept.', ' ', (0, jsx_runtime_1.jsx)("a", { href: privacy, style: { color: 'inherit', textDecoration: 'underline' }, children: "Privacy policy" })] }), choosing ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", children: [locked ? ((0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
|
|
66
|
+
const off = locked && k.key !== 'analytics';
|
|
67
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", items: "center", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, children: [(0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$3", color: "$ink", fontWeight: "500", m: 0, children: k.title }), (0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$soft", m: 0, children: k.body })] }), (0, jsx_runtime_1.jsx)(switch_1.Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
|
|
68
|
+
}), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", onClick: done(() => (0, event_1.saveConsent)(draft)), children: "Save choices" })] })] })) : ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "link", onClick: () => {
|
|
69
|
+
setDraft((0, event_1.readConsent)());
|
|
70
|
+
setChoosing(true);
|
|
71
|
+
}, children: "Choose" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", onClick: done(event_1.acceptAll), children: "Accept all" })] }))] }));
|
|
72
|
+
};
|
|
73
|
+
exports.Consent = Consent;
|
|
74
|
+
/** The footer link that reopens the choices. In the US it reads as the opt-out the law names. */
|
|
75
|
+
const ConsentLink = ({ label = 'Do not sell or share my personal information' }) => ((0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('consent-link'), type: "button", variant: "link", size: "sm", px: 0, minH: 0, onClick: exports.openConsent, children: label }));
|
|
76
|
+
exports.ConsentLink = ConsentLink;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Opens the choices from anywhere. */
|
|
2
|
+
export declare const openConsent: () => void;
|
|
3
|
+
export type ConsentProps = {
|
|
4
|
+
/** Where the privacy policy lives. */
|
|
5
|
+
privacy?: string;
|
|
6
|
+
};
|
|
7
|
+
declare const Consent: ({ privacy }: ConsentProps) => import("react").JSX.Element | null;
|
|
8
|
+
/** The footer link that reopens the choices. In the US it reads as the opt-out the law names. */
|
|
9
|
+
declare const ConsentLink: ({ label }: {
|
|
10
|
+
label?: string;
|
|
11
|
+
}) => import("react").JSX.Element;
|
|
12
|
+
export { Consent, ConsentLink };
|
|
13
|
+
//# sourceMappingURL=Consent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"AA6BA,uCAAuC;AACvC,eAAO,MAAM,WAAW,QAAO,IAE9B,CAAA;AAQD,MAAM,MAAM,YAAY,GAAG;IACzB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,QAAA,MAAM,OAAO,gBAA8C,YAAY,uCAiHtE,CAAA;AAED,iGAAiG;AACjG,QAAA,MAAM,WAAW,cAAgE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,gCAIlG,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Consent — the one cookie banner every Hanzo, Lux and Zoo site mounts.
|
|
5
|
+
*
|
|
6
|
+
* It draws the choice; @hanzo/event stores it (`hz_consent`) and the tag
|
|
7
|
+
* manager reacts: nothing from an ad platform loads before Accept, and Google
|
|
8
|
+
* Consent Mode v2 starts denied.
|
|
9
|
+
*
|
|
10
|
+
* - opt-in zones (EU, UK, CH, anywhere that is not a US zone): a banner with
|
|
11
|
+
* Accept all, Reject all and Choose, until the visitor has chosen.
|
|
12
|
+
* - US: no banner; `ConsentLink` ("Do not sell or share my personal
|
|
13
|
+
* information") in the footer opens the same choices.
|
|
14
|
+
* - Global Privacy Control: marketing and ads are off and their switches are
|
|
15
|
+
* locked, in every zone.
|
|
16
|
+
*
|
|
17
|
+
* `Consent` mounts once near the root; `ConsentLink` goes wherever a footer
|
|
18
|
+
* link goes and opens the panel from anywhere.
|
|
19
|
+
*/
|
|
20
|
+
import { Paragraph, XStack, YStack } from '@hanzo/gui';
|
|
21
|
+
import { acceptAll, asks, gpc, readConsent, rejectAll, saveConsent } from '@hanzo/event';
|
|
22
|
+
import { useEffect, useState } from 'react';
|
|
23
|
+
import { Button } from '../backends/gui/button.js';
|
|
24
|
+
import { Switch } from '../backends/gui/switch.js';
|
|
25
|
+
import { slot } from '../backends/gui/slot.js';
|
|
26
|
+
const OPEN = 'hzconsent-open';
|
|
27
|
+
/** Opens the choices from anywhere. */
|
|
28
|
+
export const openConsent = () => {
|
|
29
|
+
if (typeof window !== 'undefined')
|
|
30
|
+
window.dispatchEvent(new Event(OPEN));
|
|
31
|
+
};
|
|
32
|
+
const KINDS = [
|
|
33
|
+
{ key: 'analytics', title: 'Analytics', body: 'Counts visits and finds what is broken, so Hanzo can get better.' },
|
|
34
|
+
{ key: 'marketing', title: 'Marketing', body: 'Lets ad platforms measure the sign-ups and orders their ads led to.' },
|
|
35
|
+
{ key: 'ads', title: 'Personalized ads', body: 'Lets those platforms use your visit to show you ads elsewhere.' },
|
|
36
|
+
];
|
|
37
|
+
const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
|
|
38
|
+
const [shown, setShown] = useState(false);
|
|
39
|
+
const [choosing, setChoosing] = useState(false);
|
|
40
|
+
const [draft, setDraft] = useState({ analytics: false, marketing: false, ads: false });
|
|
41
|
+
const locked = typeof window !== 'undefined' && gpc();
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setShown(asks());
|
|
44
|
+
const open = () => {
|
|
45
|
+
setDraft(readConsent());
|
|
46
|
+
setChoosing(true);
|
|
47
|
+
setShown(true);
|
|
48
|
+
};
|
|
49
|
+
window.addEventListener(OPEN, open);
|
|
50
|
+
return () => window.removeEventListener(OPEN, open);
|
|
51
|
+
}, []);
|
|
52
|
+
if (!shown)
|
|
53
|
+
return null;
|
|
54
|
+
const done = (fn) => () => {
|
|
55
|
+
fn();
|
|
56
|
+
setShown(false);
|
|
57
|
+
setChoosing(false);
|
|
58
|
+
};
|
|
59
|
+
return (_jsxs(YStack, { ...slot('consent'), role: "dialog", "aria-label": "Cookie preferences", position: "fixed", b: 16, l: 16, r: 16, z: 2147483000, maxW: 560, gap: "$3", p: "$4", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", shadowColor: "rgba(0,0,0,0.25)", shadowRadius: 24, shadowOffset: { width: 0, height: 8 }, children: [_jsxs(Paragraph, { size: "$3", color: "$ink", m: 0, children: [choosing
|
|
60
|
+
? 'Choose what Hanzo may measure and share. You can change this at any time.'
|
|
61
|
+
: 'Hanzo uses cookies to count visits and to measure its ads. Nothing from an advertiser loads until you accept.', ' ', _jsx("a", { href: privacy, style: { color: 'inherit', textDecoration: 'underline' }, children: "Privacy policy" })] }), choosing ? (_jsxs(YStack, { gap: "$3", children: [locked ? (_jsx(Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
|
|
62
|
+
const off = locked && k.key !== 'analytics';
|
|
63
|
+
return (_jsxs(XStack, { gap: "$3", items: "center", justify: "space-between", children: [_jsxs(YStack, { flex: 1, children: [_jsx(Paragraph, { size: "$3", color: "$ink", fontWeight: "500", m: 0, children: k.title }), _jsx(Paragraph, { size: "$2", color: "$soft", m: 0, children: k.body })] }), _jsx(Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
|
|
64
|
+
}), _jsxs(XStack, { gap: "$3", justify: "flex-end", children: [_jsx(Button, { type: "button", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", onClick: done(() => saveConsent(draft)), children: "Save choices" })] })] })) : (_jsxs(XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [_jsx(Button, { type: "button", variant: "link", onClick: () => {
|
|
65
|
+
setDraft(readConsent());
|
|
66
|
+
setChoosing(true);
|
|
67
|
+
}, children: "Choose" }), _jsx(Button, { type: "button", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", onClick: done(acceptAll), children: "Accept all" })] }))] }));
|
|
68
|
+
};
|
|
69
|
+
/** The footer link that reopens the choices. In the US it reads as the opt-out the law names. */
|
|
70
|
+
const ConsentLink = ({ label = 'Do not sell or share my personal information' }) => (_jsx(Button, { ...slot('consent-link'), type: "button", variant: "link", size: "sm", px: 0, minH: 0, onClick: openConsent, children: label }));
|
|
71
|
+
export { Consent, ConsentLink };
|
|
72
|
+
//# sourceMappingURL=Consent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Consent.js","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openConsent = exports.ConsentLink = exports.Consent = void 0;
|
|
4
|
+
var Consent_1 = require("./Consent.cjs");
|
|
5
|
+
Object.defineProperty(exports, "Consent", { enumerable: true, get: function () { return Consent_1.Consent; } });
|
|
6
|
+
Object.defineProperty(exports, "ConsentLink", { enumerable: true, get: function () { return Consent_1.ConsentLink; } });
|
|
7
|
+
Object.defineProperty(exports, "openConsent", { enumerable: true, get: function () { return Consent_1.openConsent; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,WAAW,CAAA"}
|
package/dist/gallery.cjs
CHANGED
|
@@ -47,7 +47,18 @@ const react_2 = require("@hanzo/iam/react");
|
|
|
47
47
|
const auth_1 = require("./auth/index.cjs");
|
|
48
48
|
const gui_3 = require("./backends/gui/index.cjs");
|
|
49
49
|
const frame_1 = require("./onboarding/frame.cjs");
|
|
50
|
+
const plans_1 = require("./onboarding/plans.cjs");
|
|
50
51
|
const screens_1 = require("./onboarding/screens.cjs");
|
|
52
|
+
// The onboarding screens price from the live catalog, which a render has not read;
|
|
53
|
+
// these rows stand in for it so every screen draws (the prices are not shipped).
|
|
54
|
+
(0, plans_1.adopt)([
|
|
55
|
+
{ slug: 'free', name: 'Free', price: 0 },
|
|
56
|
+
{ slug: 'dev', name: 'Pro', price: 2000, annualTotal: 20000 },
|
|
57
|
+
{ slug: 'max-5x', name: 'Max 5x', price: 10000, annualTotal: 100000 },
|
|
58
|
+
{ slug: 'max-20x', name: 'Max 20x', price: 20000, annualTotal: 200000 },
|
|
59
|
+
{ slug: 'team', name: 'Team', price: 2500, annualTotal: 24000 },
|
|
60
|
+
{ slug: 'team-premium', name: 'Team premium', price: 10400, annualTotal: 104000 },
|
|
61
|
+
]);
|
|
51
62
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
52
63
|
// The settings page and its section parts. Aliased where a part shares a word
|
|
53
64
|
// with a primitive above (`Card`, `Field`), exactly as a consumer importing both
|
package/dist/gallery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AA6OA;;;GAGG;AACH,eAAO,MAAM,OAAO,mCAs2BnB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,gCA4BpB;eAEc,OAAO"}
|