@ponchia/ui 0.8.1 → 0.10.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 +149 -3
- package/MIGRATIONS.json +117 -27
- package/README.md +19 -11
- package/behaviors/index.d.ts +0 -2
- package/behaviors/index.d.ts.map +1 -1
- package/behaviors/index.js +0 -2
- package/behaviors/popover.js +4 -4
- package/classes/classes.json +48 -10
- package/classes/index.d.ts +16 -3
- package/classes/index.js +28 -3
- package/classes/vscode.css-custom-data.json +10 -10
- package/css/app.css +52 -30
- package/css/base.css +10 -14
- package/css/content.css +23 -21
- package/css/core.css +1 -0
- package/css/disclosure.css +17 -17
- package/css/feedback.css +15 -15
- package/css/forms.css +8 -7
- package/css/navigation.css +3 -3
- package/css/overlay.css +37 -39
- package/css/primitives.css +48 -28
- package/css/report.css +66 -42
- package/css/row.css +154 -0
- package/css/state.css +95 -6
- package/css/table.css +3 -3
- package/css/tokens.css +10 -10
- package/css/workbench.css +22 -10
- package/dist/bronto.css +1 -1
- package/dist/css/app.css +1 -1
- package/dist/css/base.css +1 -1
- package/dist/css/content.css +1 -1
- package/dist/css/disclosure.css +1 -1
- package/dist/css/feedback.css +1 -1
- package/dist/css/forms.css +1 -1
- package/dist/css/navigation.css +1 -1
- package/dist/css/overlay.css +1 -1
- package/dist/css/primitives.css +1 -1
- package/dist/css/report-kit.css +1 -1
- package/dist/css/report.css +1 -1
- package/dist/css/row.css +1 -0
- package/dist/css/state.css +1 -1
- package/dist/css/table.css +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/workbench.css +1 -1
- package/docs/adr/0004-prune-unused-adapters.md +5 -1
- package/docs/adr/0005-productive-tools-and-editorial-reports.md +58 -0
- package/docs/adr/0006-trusted-publishing.md +92 -0
- package/docs/architecture.md +16 -23
- package/docs/command.md +1 -2
- package/docs/compositions.md +110 -0
- package/docs/frontier-primitives.md +1 -2
- package/docs/migrations/0.8-to-0.9.md +66 -0
- package/docs/migrations/0.9-to-0.10.md +47 -0
- package/docs/package-contract.md +13 -13
- package/docs/reference.md +43 -18
- package/docs/reporting.md +15 -9
- package/docs/stability.md +20 -55
- package/docs/state.md +47 -0
- package/docs/theming.md +16 -0
- package/docs/usage.md +60 -30
- package/llms.txt +7 -18
- package/package.json +15 -54
- package/tokens/figma.variables.json +20 -20
- package/tokens/index.js +10 -10
- package/tokens/index.json +20 -20
- package/tokens/resolved.json +10 -10
- package/tokens/tokens.dtcg.json +20 -20
- package/behaviors/modal.d.ts +0 -45
- package/behaviors/modal.d.ts.map +0 -1
- package/behaviors/modal.js +0 -373
- package/qwik/index.d.ts +0 -48
- package/qwik/index.d.ts.map +0 -1
- package/qwik/index.js +0 -227
- package/react/index.d.ts +0 -45
- package/react/index.d.ts.map +0 -1
- package/react/index.js +0 -165
- package/solid/index.d.ts +0 -75
- package/solid/index.d.ts.map +0 -1
- package/solid/index.js +0 -172
- package/svelte/index.d.ts +0 -114
- package/svelte/index.d.ts.map +0 -1
- package/svelte/index.js +0 -197
- package/vue/index.d.ts +0 -116
- package/vue/index.d.ts.map +0 -1
- package/vue/index.js +0 -266
package/qwik/index.js
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @ponchia/ui/qwik — thin Qwik bindings over @ponchia/ui/behaviors.
|
|
3
|
-
*
|
|
4
|
-
* The CSS is the framework; these are *optional* hooks that wrap the SSR-safe
|
|
5
|
-
* vanilla `init*` behaviors in Qwik's client lifecycle. Thin adapters, not a
|
|
6
|
-
* component library (architecture ADR). `@builder.io/qwik` is an optional peer
|
|
7
|
-
* dependency.
|
|
8
|
-
*
|
|
9
|
-
* Qwik is resumable: nothing runs until needed, and our behaviors are exactly
|
|
10
|
-
* the kind of "enhance on the client" glue that fits — they `useVisibleTask$`
|
|
11
|
-
* (run when the owning component first becomes visible) and register cleanup,
|
|
12
|
-
* so a server-rendered page stays zero-JS until interaction. Each hook inlines
|
|
13
|
-
* its specific behavior so the Qwik optimizer can resolve the import inside the
|
|
14
|
-
* extracted task segment.
|
|
15
|
-
*
|
|
16
|
-
* import { component$ } from '@builder.io/qwik';
|
|
17
|
-
* import { useDialog, useToast } from '@ponchia/ui/qwik';
|
|
18
|
-
* export default component$(() => {
|
|
19
|
-
* useDialog(); // wires every .ui-modal under document
|
|
20
|
-
* const toast = useToast();
|
|
21
|
-
* return <button onClick$={() => toast('Saved', { tone: 'success' })}>Save</button>;
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* Scope a behavior to a subtree by passing a Qwik signal:
|
|
25
|
-
* const root = useSignal();
|
|
26
|
-
* useDialog({ root }); // <section ref={root}> … </section>
|
|
27
|
-
*
|
|
28
|
-
* @deprecated Import the framework-agnostic behavior initializers directly.
|
|
29
|
-
* This adapter remains compatible in 0.7 and is scheduled for removal no
|
|
30
|
-
* earlier than 0.8 because no real consumer adopted it.
|
|
31
|
-
*
|
|
32
|
-
* @typedef {import('../behaviors/index.js').Cleanup} Cleanup
|
|
33
|
-
* @typedef {import('../behaviors/index.js').DelegateOpts} DelegateOpts
|
|
34
|
-
* @typedef {import('../behaviors/index.js').ThemeStorageOpts} ThemeStorageOpts
|
|
35
|
-
* @typedef {import('../behaviors/index.js').ToastOpts} ToastOpts
|
|
36
|
-
*
|
|
37
|
-
* @typedef {Document
|
|
38
|
-
* | Element
|
|
39
|
-
* | { value: Document | Element | null | undefined }
|
|
40
|
-
* | { current: Document | Element | null | undefined }
|
|
41
|
-
* | (() => Document | Element | null | undefined)
|
|
42
|
-
* | null
|
|
43
|
-
* | undefined} BrontoBindingRoot
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
48
|
-
* @typedef {Omit<T, 'root'> & { root?: BrontoBindingRoot }} BrontoBindingOpts
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
53
|
-
* @typedef {BrontoBindingOpts<T>
|
|
54
|
-
* | (() => BrontoBindingOpts<T> | null | undefined)
|
|
55
|
-
* | null
|
|
56
|
-
* | undefined} BrontoBindingOptsResolver
|
|
57
|
-
*/
|
|
58
|
-
import { useVisibleTask$ } from '@builder.io/qwik';
|
|
59
|
-
import {
|
|
60
|
-
applyStoredTheme,
|
|
61
|
-
initThemeToggle,
|
|
62
|
-
dismissible,
|
|
63
|
-
initDisabledGuard,
|
|
64
|
-
initDisclosure,
|
|
65
|
-
initMenu,
|
|
66
|
-
initFormValidation,
|
|
67
|
-
initCombobox,
|
|
68
|
-
initPopover,
|
|
69
|
-
initTableSort,
|
|
70
|
-
initTabs,
|
|
71
|
-
initDialog,
|
|
72
|
-
initModal,
|
|
73
|
-
initCarousel,
|
|
74
|
-
initDotGlyph,
|
|
75
|
-
initLegend,
|
|
76
|
-
initConnectors,
|
|
77
|
-
initSpotlight,
|
|
78
|
-
initCrosshair,
|
|
79
|
-
initCommand,
|
|
80
|
-
initSources,
|
|
81
|
-
initSplitter,
|
|
82
|
-
toast,
|
|
83
|
-
} from '../behaviors/index.js';
|
|
84
|
-
|
|
85
|
-
function resolveMaybe(v) {
|
|
86
|
-
return typeof v === 'function' ? v() : v;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function resolveRoot(root) {
|
|
90
|
-
const value = resolveMaybe(root);
|
|
91
|
-
if (value && typeof value === 'object') {
|
|
92
|
-
if ('value' in value) return value.value; // Qwik signal (useSignal)
|
|
93
|
-
if ('current' in value) return value.current; // generic ref shape
|
|
94
|
-
}
|
|
95
|
-
return value;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function resolveOpts(opts) {
|
|
99
|
-
const value = resolveMaybe(opts);
|
|
100
|
-
if (!value || typeof value !== 'object') return undefined;
|
|
101
|
-
// No `root` key → no scope requested; leave root out so the behavior
|
|
102
|
-
// delegates from `document`. A `root` key that resolves falsy means a scope
|
|
103
|
-
// WAS requested but the ref is not ready: emit `root: null` so the behavior
|
|
104
|
-
// no-ops instead of hijacking the whole document.
|
|
105
|
-
if (!('root' in value)) return { ...value };
|
|
106
|
-
const root = resolveRoot(value.root);
|
|
107
|
-
return { ...value, root: root || null };
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** Run a delegated behavior on visible and register its cleanup on dispose.
|
|
111
|
-
* `init` and `opts` are resolved inside the visible task, so a Qwik-signal
|
|
112
|
-
* root is read after the element is assigned and tracked for later changes.
|
|
113
|
-
* Shared, non-QRL, so the optimizer keeps the captured behavior import inside
|
|
114
|
-
* the task segment. */
|
|
115
|
-
function start(init, opts, ctx) {
|
|
116
|
-
const cleanup = init(ctx.track(() => resolveOpts(opts)));
|
|
117
|
-
if (typeof cleanup === 'function') ctx.cleanup(cleanup);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/** Generic escape hatch. NOTE for Qwik: prefer the specific `use*` hooks
|
|
121
|
-
* below — they inline a statically-imported behavior so the optimizer can
|
|
122
|
-
* serialize the task. Passing a runtime function here is only safe when it
|
|
123
|
-
* is itself optimizer-visible (a module import).
|
|
124
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
125
|
-
* @param {(opts?: T) => Cleanup | void} init
|
|
126
|
-
* @param {BrontoBindingOptsResolver<T>} [opts]
|
|
127
|
-
* @returns {void} */
|
|
128
|
-
export function useBrontoBehavior(init, opts) {
|
|
129
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
130
|
-
useVisibleTask$((ctx) => start(init, opts, ctx));
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/** @param {BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>} [opts] @returns {void} */
|
|
134
|
-
export const useThemeToggle = (opts) =>
|
|
135
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
136
|
-
useVisibleTask$((ctx) => start(initThemeToggle, opts, ctx));
|
|
137
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
138
|
-
export const useDismissible = (opts) =>
|
|
139
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
140
|
-
useVisibleTask$((ctx) => start(dismissible, opts, ctx));
|
|
141
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
142
|
-
export const useDisabledGuard = (opts) =>
|
|
143
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
144
|
-
useVisibleTask$((ctx) => start(initDisabledGuard, opts, ctx));
|
|
145
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
146
|
-
export const useDisclosure = (opts) =>
|
|
147
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
148
|
-
useVisibleTask$((ctx) => start(initDisclosure, opts, ctx));
|
|
149
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
150
|
-
export const useMenu = (opts) =>
|
|
151
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
152
|
-
useVisibleTask$((ctx) => start(initMenu, opts, ctx));
|
|
153
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
154
|
-
export const useFormValidation = (opts) =>
|
|
155
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
156
|
-
useVisibleTask$((ctx) => start(initFormValidation, opts, ctx));
|
|
157
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
158
|
-
export const useCombobox = (opts) =>
|
|
159
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
160
|
-
useVisibleTask$((ctx) => start(initCombobox, opts, ctx));
|
|
161
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
162
|
-
export const usePopover = (opts) =>
|
|
163
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
164
|
-
useVisibleTask$((ctx) => start(initPopover, opts, ctx));
|
|
165
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
166
|
-
export const useTableSort = (opts) =>
|
|
167
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
168
|
-
useVisibleTask$((ctx) => start(initTableSort, opts, ctx));
|
|
169
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
170
|
-
export const useTabs = (opts) =>
|
|
171
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
172
|
-
useVisibleTask$((ctx) => start(initTabs, opts, ctx));
|
|
173
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
174
|
-
export const useDialog = (opts) =>
|
|
175
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
176
|
-
useVisibleTask$((ctx) => start(initDialog, opts, ctx));
|
|
177
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
178
|
-
export const useModal = (opts) =>
|
|
179
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
180
|
-
useVisibleTask$((ctx) => start(initModal, opts, ctx));
|
|
181
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
182
|
-
export const useCarousel = (opts) =>
|
|
183
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
184
|
-
useVisibleTask$((ctx) => start(initCarousel, opts, ctx));
|
|
185
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
186
|
-
export const useDotGlyph = (opts) =>
|
|
187
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
188
|
-
useVisibleTask$((ctx) => start(initDotGlyph, opts, ctx));
|
|
189
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
190
|
-
export const useLegend = (opts) =>
|
|
191
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
192
|
-
useVisibleTask$((ctx) => start(initLegend, opts, ctx));
|
|
193
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
194
|
-
export const useConnectors = (opts) =>
|
|
195
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
196
|
-
useVisibleTask$((ctx) => start(initConnectors, opts, ctx));
|
|
197
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
198
|
-
export const useSpotlight = (opts) =>
|
|
199
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
200
|
-
useVisibleTask$((ctx) => start(initSpotlight, opts, ctx));
|
|
201
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
202
|
-
export const useCrosshair = (opts) =>
|
|
203
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
204
|
-
useVisibleTask$((ctx) => start(initCrosshair, opts, ctx));
|
|
205
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
206
|
-
export const useCommand = (opts) =>
|
|
207
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
208
|
-
useVisibleTask$((ctx) => start(initCommand, opts, ctx));
|
|
209
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
210
|
-
export const useSources = (opts) =>
|
|
211
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
212
|
-
useVisibleTask$((ctx) => start(initSources, opts, ctx));
|
|
213
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
214
|
-
export const useSplitter = (opts) =>
|
|
215
|
-
// eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
|
|
216
|
-
useVisibleTask$((ctx) => start(initSplitter, opts, ctx));
|
|
217
|
-
|
|
218
|
-
/** The `toast()` imperative (no lifecycle of its own).
|
|
219
|
-
* @returns {(message: string, opts?: ToastOpts) => Cleanup} */
|
|
220
|
-
export const useToast = () => toast;
|
|
221
|
-
|
|
222
|
-
// No-flash theme application must run before paint — do it in an inline head
|
|
223
|
-
// script, not on visible. Re-exported for manual/SSR-bootstrap use.
|
|
224
|
-
export { applyStoredTheme };
|
|
225
|
-
|
|
226
|
-
// Convenience: the framework-agnostic class contract, re-exported.
|
|
227
|
-
export { cls, ui, cx } from '../classes/index.js';
|
package/react/index.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/** Run a delegated behavior for the component's lifetime (init on mount, its
|
|
2
|
-
* returned cleanup on unmount). The behavior is run once; `opts` resolves
|
|
3
|
-
* on mount so refs are usable for scoped roots.
|
|
4
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
5
|
-
* @param {(opts?: T) => Cleanup | void} init
|
|
6
|
-
* @param {BrontoBindingOptsResolver<T>} [opts]
|
|
7
|
-
* @returns {void} */
|
|
8
|
-
export function useBrontoBehavior<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts>(init: (opts?: T) => Cleanup | void, opts?: BrontoBindingOptsResolver<T>): void;
|
|
9
|
-
export function useThemeToggle(opts?: BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>): void;
|
|
10
|
-
export function useDismissible(opts?: BrontoBindingOptsResolver): void;
|
|
11
|
-
export function useDisabledGuard(opts?: BrontoBindingOptsResolver): void;
|
|
12
|
-
export function useDisclosure(opts?: BrontoBindingOptsResolver): void;
|
|
13
|
-
export function useMenu(opts?: BrontoBindingOptsResolver): void;
|
|
14
|
-
export function useFormValidation(opts?: BrontoBindingOptsResolver): void;
|
|
15
|
-
export function useCombobox(opts?: BrontoBindingOptsResolver): void;
|
|
16
|
-
export function usePopover(opts?: BrontoBindingOptsResolver): void;
|
|
17
|
-
export function useTableSort(opts?: BrontoBindingOptsResolver): void;
|
|
18
|
-
export function useTabs(opts?: BrontoBindingOptsResolver): void;
|
|
19
|
-
export function useDialog(opts?: BrontoBindingOptsResolver): void;
|
|
20
|
-
export function useModal(opts?: BrontoBindingOptsResolver): void;
|
|
21
|
-
export function useCarousel(opts?: BrontoBindingOptsResolver): void;
|
|
22
|
-
export function useDotGlyph(opts?: BrontoBindingOptsResolver): void;
|
|
23
|
-
export function useLegend(opts?: BrontoBindingOptsResolver): void;
|
|
24
|
-
export function useConnectors(opts?: BrontoBindingOptsResolver): void;
|
|
25
|
-
export function useSpotlight(opts?: BrontoBindingOptsResolver): void;
|
|
26
|
-
export function useCrosshair(opts?: BrontoBindingOptsResolver): void;
|
|
27
|
-
export function useCommand(opts?: BrontoBindingOptsResolver): void;
|
|
28
|
-
export function useSources(opts?: BrontoBindingOptsResolver): void;
|
|
29
|
-
export function useSplitter(opts?: BrontoBindingOptsResolver): void;
|
|
30
|
-
export function useToast(): (message: string, opts?: ToastOpts) => Cleanup;
|
|
31
|
-
export { applyStoredTheme };
|
|
32
|
-
export type Cleanup = import("../behaviors/index.js").Cleanup;
|
|
33
|
-
export type DelegateOpts = import("../behaviors/index.js").DelegateOpts;
|
|
34
|
-
export type ThemeStorageOpts = import("../behaviors/index.js").ThemeStorageOpts;
|
|
35
|
-
export type ToastOpts = import("../behaviors/index.js").ToastOpts;
|
|
36
|
-
export type BrontoBindingRoot = Document | Element | {
|
|
37
|
-
current: Document | Element | null | undefined;
|
|
38
|
-
} | (() => Document | Element | null | undefined) | null | undefined;
|
|
39
|
-
export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = Omit<T, "root"> & {
|
|
40
|
-
root?: BrontoBindingRoot;
|
|
41
|
-
};
|
|
42
|
-
export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
|
|
43
|
-
import { applyStoredTheme } from '../behaviors/index.js';
|
|
44
|
-
export { cls, ui, cx } from "../classes/index.js";
|
|
45
|
-
//# sourceMappingURL=index.d.ts.map
|
package/react/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAoGA;;;;;;sBAMsB;AACtB,kCAJ8B,CAAC,SAAhB,YAAa,0DAChB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,SAC5B,yBAAyB,CAAC,CAAC,CAAC,GAC1B,IAAI,CAGjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CACb;AAEzE,sCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,wCADK,yBAAyB,GAAmB,IAAI,CACwB;AAE7E,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,yCADK,yBAAyB,GAAmB,IAAI,CAC0B;AAE/E,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,gCADK,yBAAyB,GAAmB,IAAI,CACQ;AAE7D,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAInE,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBAlItB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCA2BT,uBAAuB"}
|
package/react/index.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @ponchia/ui/react — thin React bindings over @ponchia/ui/behaviors.
|
|
3
|
-
*
|
|
4
|
-
* The CSS is the framework; these are *optional* hooks that wrap the SSR-safe
|
|
5
|
-
* vanilla `init*` behaviors in a component lifecycle (run on mount, clean up on
|
|
6
|
-
* unmount). They are deliberately thin adapters — not a component library — per
|
|
7
|
-
* the architecture ADR. `react` is an optional peer dependency.
|
|
8
|
-
*
|
|
9
|
-
* The behaviors delegate from a root (default `document`), so call a hook once
|
|
10
|
-
* near the relevant subtree; pass `{ root: ref }` or a resolver callback to
|
|
11
|
-
* scope it. The options resolve on mount, after refs have been assigned.
|
|
12
|
-
*
|
|
13
|
-
* import { useDialog, useToast } from '@ponchia/ui/react';
|
|
14
|
-
* function App() {
|
|
15
|
-
* useDialog(); // wires every .ui-modal under document
|
|
16
|
-
* const toast = useToast();
|
|
17
|
-
* return <button onClick={() => toast('Saved', { tone: 'success' })}>Save</button>;
|
|
18
|
-
* }
|
|
19
|
-
*
|
|
20
|
-
* The public types below are JSDoc `@typedef`s; the shipped `index.d.ts` is
|
|
21
|
-
* generated from them (and these signatures) by `tsc --emitDeclarationOnly`.
|
|
22
|
-
*
|
|
23
|
-
* @deprecated Import the framework-agnostic behavior initializers directly.
|
|
24
|
-
* This adapter remains compatible in 0.7 and is scheduled for removal no
|
|
25
|
-
* earlier than 0.8 because no real consumer adopted it.
|
|
26
|
-
*
|
|
27
|
-
* @typedef {import('../behaviors/index.js').Cleanup} Cleanup
|
|
28
|
-
* @typedef {import('../behaviors/index.js').DelegateOpts} DelegateOpts
|
|
29
|
-
* @typedef {import('../behaviors/index.js').ThemeStorageOpts} ThemeStorageOpts
|
|
30
|
-
* @typedef {import('../behaviors/index.js').ToastOpts} ToastOpts
|
|
31
|
-
*
|
|
32
|
-
* @typedef {Document
|
|
33
|
-
* | Element
|
|
34
|
-
* | { current: Document | Element | null | undefined }
|
|
35
|
-
* | (() => Document | Element | null | undefined)
|
|
36
|
-
* | null
|
|
37
|
-
* | undefined} BrontoBindingRoot
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
42
|
-
* @typedef {Omit<T, 'root'> & { root?: BrontoBindingRoot }} BrontoBindingOpts
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
47
|
-
* @typedef {BrontoBindingOpts<T>
|
|
48
|
-
* | (() => BrontoBindingOpts<T> | null | undefined)
|
|
49
|
-
* | null
|
|
50
|
-
* | undefined} BrontoBindingOptsResolver
|
|
51
|
-
*/
|
|
52
|
-
import { useEffect } from 'react';
|
|
53
|
-
import {
|
|
54
|
-
applyStoredTheme,
|
|
55
|
-
initThemeToggle,
|
|
56
|
-
dismissible,
|
|
57
|
-
initDisabledGuard,
|
|
58
|
-
initDisclosure,
|
|
59
|
-
initMenu,
|
|
60
|
-
initFormValidation,
|
|
61
|
-
initCombobox,
|
|
62
|
-
initPopover,
|
|
63
|
-
initTableSort,
|
|
64
|
-
initTabs,
|
|
65
|
-
initDialog,
|
|
66
|
-
initModal,
|
|
67
|
-
initCarousel,
|
|
68
|
-
initDotGlyph,
|
|
69
|
-
initLegend,
|
|
70
|
-
initConnectors,
|
|
71
|
-
initSpotlight,
|
|
72
|
-
initCrosshair,
|
|
73
|
-
initCommand,
|
|
74
|
-
initSources,
|
|
75
|
-
initSplitter,
|
|
76
|
-
toast,
|
|
77
|
-
} from '../behaviors/index.js';
|
|
78
|
-
|
|
79
|
-
function resolveMaybe(v) {
|
|
80
|
-
return typeof v === 'function' ? v() : v;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function resolveRoot(root) {
|
|
84
|
-
const value = resolveMaybe(root);
|
|
85
|
-
if (value && typeof value === 'object' && 'current' in value) return value.current;
|
|
86
|
-
return value;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function resolveOpts(opts) {
|
|
90
|
-
const value = resolveMaybe(opts);
|
|
91
|
-
if (!value || typeof value !== 'object') return undefined;
|
|
92
|
-
// No `root` key → no scope requested; leave root out so the behavior
|
|
93
|
-
// delegates from `document`. A `root` key that resolves falsy means a scope
|
|
94
|
-
// WAS requested but the ref is not ready: emit `root: null` so the behavior
|
|
95
|
-
// no-ops instead of hijacking the whole document.
|
|
96
|
-
if (!('root' in value)) return { ...value };
|
|
97
|
-
const root = resolveRoot(value.root);
|
|
98
|
-
return { ...value, root: root || null };
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/** Run a delegated behavior for the component's lifetime (init on mount, its
|
|
102
|
-
* returned cleanup on unmount). The behavior is run once; `opts` resolves
|
|
103
|
-
* on mount so refs are usable for scoped roots.
|
|
104
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
105
|
-
* @param {(opts?: T) => Cleanup | void} init
|
|
106
|
-
* @param {BrontoBindingOptsResolver<T>} [opts]
|
|
107
|
-
* @returns {void} */
|
|
108
|
-
export function useBrontoBehavior(init, opts) {
|
|
109
|
-
useEffect(() => init(resolveOpts(opts)), []); // eslint-disable-line react-hooks/exhaustive-deps -- intentional delegated once on mount
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** @param {BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>} [opts] @returns {void} */
|
|
113
|
-
export const useThemeToggle = (opts) => useBrontoBehavior(initThemeToggle, opts);
|
|
114
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
115
|
-
export const useDismissible = (opts) => useBrontoBehavior(dismissible, opts);
|
|
116
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
117
|
-
export const useDisabledGuard = (opts) => useBrontoBehavior(initDisabledGuard, opts);
|
|
118
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
119
|
-
export const useDisclosure = (opts) => useBrontoBehavior(initDisclosure, opts);
|
|
120
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
121
|
-
export const useMenu = (opts) => useBrontoBehavior(initMenu, opts);
|
|
122
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
123
|
-
export const useFormValidation = (opts) => useBrontoBehavior(initFormValidation, opts);
|
|
124
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
125
|
-
export const useCombobox = (opts) => useBrontoBehavior(initCombobox, opts);
|
|
126
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
127
|
-
export const usePopover = (opts) => useBrontoBehavior(initPopover, opts);
|
|
128
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
129
|
-
export const useTableSort = (opts) => useBrontoBehavior(initTableSort, opts);
|
|
130
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
131
|
-
export const useTabs = (opts) => useBrontoBehavior(initTabs, opts);
|
|
132
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
133
|
-
export const useDialog = (opts) => useBrontoBehavior(initDialog, opts);
|
|
134
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
135
|
-
export const useModal = (opts) => useBrontoBehavior(initModal, opts);
|
|
136
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
137
|
-
export const useCarousel = (opts) => useBrontoBehavior(initCarousel, opts);
|
|
138
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
139
|
-
export const useDotGlyph = (opts) => useBrontoBehavior(initDotGlyph, opts);
|
|
140
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
141
|
-
export const useLegend = (opts) => useBrontoBehavior(initLegend, opts);
|
|
142
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
143
|
-
export const useConnectors = (opts) => useBrontoBehavior(initConnectors, opts);
|
|
144
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
145
|
-
export const useSpotlight = (opts) => useBrontoBehavior(initSpotlight, opts);
|
|
146
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
147
|
-
export const useCrosshair = (opts) => useBrontoBehavior(initCrosshair, opts);
|
|
148
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
149
|
-
export const useCommand = (opts) => useBrontoBehavior(initCommand, opts);
|
|
150
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
151
|
-
export const useSources = (opts) => useBrontoBehavior(initSources, opts);
|
|
152
|
-
/** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
|
|
153
|
-
export const useSplitter = (opts) => useBrontoBehavior(initSplitter, opts);
|
|
154
|
-
|
|
155
|
-
/** The `toast()` imperative (no lifecycle of its own).
|
|
156
|
-
* @returns {(message: string, opts?: ToastOpts) => Cleanup} */
|
|
157
|
-
export const useToast = () => toast;
|
|
158
|
-
|
|
159
|
-
// No-flash theme application has to run before paint; do it in an inline head
|
|
160
|
-
// script, not an effect. Re-exported for manual/SSR-bootstrap use.
|
|
161
|
-
export { applyStoredTheme };
|
|
162
|
-
|
|
163
|
-
// Convenience: the framework-agnostic class contract, re-exported so a React
|
|
164
|
-
// consumer needs one import.
|
|
165
|
-
export { cls, ui, cx } from '../classes/index.js';
|
package/solid/index.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/** Run a delegated behavior for the component's lifetime (init after mount, its
|
|
2
|
-
* returned cleanup before re-init/dispose). Options resolve after mount and
|
|
3
|
-
* re-resolve when tracked Solid signals change.
|
|
4
|
-
* @template {DelegateOpts} [T=DelegateOpts]
|
|
5
|
-
* @param {(opts?: T) => Cleanup | void} init
|
|
6
|
-
* @param {BrontoBindingOptsResolver<T>} [opts]
|
|
7
|
-
* @returns {void}
|
|
8
|
-
*/
|
|
9
|
-
export function useBrontoBehavior<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts>(init: (opts?: T) => Cleanup | void, opts?: BrontoBindingOptsResolver<T>): void;
|
|
10
|
-
/** @type {(opts?: BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>) => void} */
|
|
11
|
-
export const useThemeToggle: (opts?: BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>) => void;
|
|
12
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
13
|
-
export const useDismissible: (opts?: BrontoBindingOptsResolver) => void;
|
|
14
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
15
|
-
export const useDisabledGuard: (opts?: BrontoBindingOptsResolver) => void;
|
|
16
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
17
|
-
export const useDisclosure: (opts?: BrontoBindingOptsResolver) => void;
|
|
18
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
19
|
-
export const useMenu: (opts?: BrontoBindingOptsResolver) => void;
|
|
20
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
21
|
-
export const useFormValidation: (opts?: BrontoBindingOptsResolver) => void;
|
|
22
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
23
|
-
export const useCombobox: (opts?: BrontoBindingOptsResolver) => void;
|
|
24
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
25
|
-
export const usePopover: (opts?: BrontoBindingOptsResolver) => void;
|
|
26
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
27
|
-
export const useTableSort: (opts?: BrontoBindingOptsResolver) => void;
|
|
28
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
29
|
-
export const useTabs: (opts?: BrontoBindingOptsResolver) => void;
|
|
30
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
31
|
-
export const useDialog: (opts?: BrontoBindingOptsResolver) => void;
|
|
32
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
33
|
-
export const useModal: (opts?: BrontoBindingOptsResolver) => void;
|
|
34
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
35
|
-
export const useCarousel: (opts?: BrontoBindingOptsResolver) => void;
|
|
36
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
37
|
-
export const useDotGlyph: (opts?: BrontoBindingOptsResolver) => void;
|
|
38
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
39
|
-
export const useLegend: (opts?: BrontoBindingOptsResolver) => void;
|
|
40
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
41
|
-
export const useConnectors: (opts?: BrontoBindingOptsResolver) => void;
|
|
42
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
43
|
-
export const useSpotlight: (opts?: BrontoBindingOptsResolver) => void;
|
|
44
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
45
|
-
export const useCrosshair: (opts?: BrontoBindingOptsResolver) => void;
|
|
46
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
47
|
-
export const useCommand: (opts?: BrontoBindingOptsResolver) => void;
|
|
48
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
49
|
-
export const useSources: (opts?: BrontoBindingOptsResolver) => void;
|
|
50
|
-
/** @type {(opts?: BrontoBindingOptsResolver) => void} */
|
|
51
|
-
export const useSplitter: (opts?: BrontoBindingOptsResolver) => void;
|
|
52
|
-
/** The `toast()` imperative (no lifecycle of its own).
|
|
53
|
-
* @type {() => (message: string, opts?: ToastOpts) => Cleanup} */
|
|
54
|
-
export const useToast: () => (message: string, opts?: ToastOpts) => Cleanup;
|
|
55
|
-
export { applyStoredTheme };
|
|
56
|
-
export type Cleanup = import("../behaviors/index.js").Cleanup;
|
|
57
|
-
export type DelegateOpts = import("../behaviors/index.js").DelegateOpts;
|
|
58
|
-
export type ThemeStorageOpts = import("../behaviors/index.js").ThemeStorageOpts;
|
|
59
|
-
export type ToastOpts = import("../behaviors/index.js").ToastOpts;
|
|
60
|
-
export type BrontoBindingRoot = Document | Element | {
|
|
61
|
-
current: Document | Element | null | undefined;
|
|
62
|
-
} | (() => Document | Element | null | undefined) | null | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* Behavior options with the `root` widened to accept Solid refs/resolvers.
|
|
65
|
-
*/
|
|
66
|
-
export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = Omit<T, "root"> & {
|
|
67
|
-
root?: BrontoBindingRoot;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* `BrontoBindingOpts<T>`, or a callback that returns it on mount (after refs).
|
|
71
|
-
*/
|
|
72
|
-
export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
|
|
73
|
-
import { applyStoredTheme } from '../behaviors/index.js';
|
|
74
|
-
export { cls, ui, cx } from "../classes/index.js";
|
|
75
|
-
//# sourceMappingURL=index.d.ts.map
|
package/solid/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"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"}
|