@geajs/ui 0.2.4 → 0.2.9
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/accordion.d.mts +2 -2
- package/dist/accordion.mjs +92 -122
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert.d.mts +3 -3
- package/dist/alert.mjs +45 -107
- package/dist/alert.mjs.map +1 -1
- package/dist/avatar.d.mts +2 -2
- package/dist/avatar.mjs +38 -62
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.d.mts +1 -1
- package/dist/badge.mjs +18 -43
- package/dist/badge.mjs.map +1 -1
- package/dist/bind.mjs +130 -0
- package/dist/bind.mjs.map +1 -0
- package/dist/button.d.mts +3 -2
- package/dist/button.mjs +30 -85
- package/dist/button.mjs.map +1 -1
- package/dist/card.d.mts +6 -6
- package/dist/card.mjs +82 -194
- package/dist/card.mjs.map +1 -1
- package/dist/checkbox.d.mts +2 -2
- package/dist/checkbox.mjs +30 -31
- package/dist/checkbox.mjs.map +1 -1
- package/dist/clipboard.d.mts +2 -2
- package/dist/clipboard.mjs +49 -55
- package/dist/clipboard.mjs.map +1 -1
- package/dist/collapsible.d.mts +2 -2
- package/dist/collapsible.mjs +18 -45
- package/dist/collapsible.mjs.map +1 -1
- package/dist/combobox.d.mts +2 -2
- package/dist/combobox.mjs +322 -261
- package/dist/combobox.mjs.map +1 -1
- package/dist/compiled-component.mjs +119 -0
- package/dist/compiled-component.mjs.map +1 -0
- package/dist/compiled-reactive-component.mjs +337 -0
- package/dist/compiled-reactive-component.mjs.map +1 -0
- package/dist/component-id.mjs +10 -0
- package/dist/component-id.mjs.map +1 -0
- package/dist/conditional-truthy.mjs +48 -0
- package/dist/conditional-truthy.mjs.map +1 -0
- package/dist/conditional.mjs +54 -0
- package/dist/conditional.mjs.map +1 -0
- package/dist/delegate-event.mjs +53 -0
- package/dist/delegate-event.mjs.map +1 -0
- package/dist/dialog.d.mts +4 -3
- package/dist/dialog.mjs +57 -70
- package/dist/dialog.mjs.map +1 -1
- package/dist/dirty-symbols.mjs +7 -0
- package/dist/dirty-symbols.mjs.map +1 -0
- package/dist/disposer.mjs +46 -0
- package/dist/disposer.mjs.map +1 -0
- package/dist/dnd-manager.d.mts +9 -1
- package/dist/dnd-manager.mjs +67 -29
- package/dist/dnd-manager.mjs.map +1 -1
- package/dist/drag-drop-context.d.mts +1 -1
- package/dist/drag-drop-context.mjs +17 -33
- package/dist/drag-drop-context.mjs.map +1 -1
- package/dist/draggable.d.mts +1 -1
- package/dist/draggable.mjs +2 -91
- package/dist/draggable2.mjs +321 -0
- package/dist/draggable2.mjs.map +1 -0
- package/dist/droppable.d.mts +1 -1
- package/dist/droppable.mjs +20 -44
- package/dist/droppable.mjs.map +1 -1
- package/dist/file-upload.d.mts +2 -2
- package/dist/file-upload.mjs +337 -122
- package/dist/file-upload.mjs.map +1 -1
- package/dist/hover-card.d.mts +2 -2
- package/dist/hover-card.mjs +24 -59
- package/dist/hover-card.mjs.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/input.d.mts +1 -1
- package/dist/input.mjs +1 -93
- package/dist/input2.mjs +56 -0
- package/dist/input2.mjs.map +1 -0
- package/dist/internal-symbols.mjs +9 -0
- package/dist/internal-symbols.mjs.map +1 -0
- package/dist/item-obs.mjs +68 -0
- package/dist/item-obs.mjs.map +1 -0
- package/dist/keyed-list-symbols.mjs +6 -0
- package/dist/keyed-list-symbols.mjs.map +1 -0
- package/dist/keyed-list.mjs +487 -0
- package/dist/keyed-list.mjs.map +1 -0
- package/dist/label.d.mts +1 -1
- package/dist/label.mjs +20 -45
- package/dist/label.mjs.map +1 -1
- package/dist/menu.d.mts +2 -2
- package/dist/menu.mjs +87 -41
- package/dist/menu.mjs.map +1 -1
- package/dist/number-input.d.mts +2 -2
- package/dist/number-input.mjs +28 -32
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.d.mts +2 -2
- package/dist/pagination.mjs +12 -35
- package/dist/pagination.mjs.map +1 -1
- package/dist/patch.mjs +21 -0
- package/dist/patch.mjs.map +1 -0
- package/dist/pin-input.d.mts +2 -2
- package/dist/pin-input.mjs +88 -87
- package/dist/pin-input.mjs.map +1 -1
- package/dist/popover.d.mts +2 -2
- package/dist/popover.mjs +45 -67
- package/dist/popover.mjs.map +1 -1
- package/dist/progress.d.mts +2 -2
- package/dist/progress.mjs +37 -43
- package/dist/progress.mjs.map +1 -1
- package/dist/radio-group.d.mts +2 -2
- package/dist/radio-group.mjs +99 -140
- package/dist/radio-group.mjs.map +1 -1
- package/dist/rating-group.d.mts +2 -2
- package/dist/rating-group.mjs +91 -99
- package/dist/rating-group.mjs.map +1 -1
- package/dist/reactive-attr.mjs +13 -0
- package/dist/reactive-attr.mjs.map +1 -0
- package/dist/reactive-bool.mjs +13 -0
- package/dist/reactive-bool.mjs.map +1 -0
- package/dist/reactive-class-name.mjs +15 -0
- package/dist/reactive-class-name.mjs.map +1 -0
- package/dist/reactive-class.mjs +53 -0
- package/dist/reactive-class.mjs.map +1 -0
- package/dist/reactive-style.mjs +21 -0
- package/dist/reactive-style.mjs.map +1 -0
- package/dist/reactive-text.mjs +62 -0
- package/dist/reactive-text.mjs.map +1 -0
- package/dist/select.d.mts +2 -2
- package/dist/select.mjs +106 -186
- package/dist/select.mjs.map +1 -1
- package/dist/separator.d.mts +1 -1
- package/dist/separator.mjs +19 -45
- package/dist/separator.mjs.map +1 -1
- package/dist/skeleton.d.mts +1 -1
- package/dist/skeleton.mjs +11 -35
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.d.mts +2 -2
- package/dist/slider.mjs +31 -32
- package/dist/slider.mjs.map +1 -1
- package/dist/switch.d.mts +2 -2
- package/dist/switch.mjs +30 -31
- package/dist/switch.mjs.map +1 -1
- package/dist/tabs.d.mts +7 -2
- package/dist/tabs.mjs +180 -147
- package/dist/tabs.mjs.map +1 -1
- package/dist/tags-input.d.mts +2 -2
- package/dist/tags-input.mjs +102 -188
- package/dist/tags-input.mjs.map +1 -1
- package/dist/textarea.d.mts +1 -1
- package/dist/textarea.mjs +32 -75
- package/dist/textarea.mjs.map +1 -1
- package/dist/theme.css +4 -5
- package/dist/toast.d.mts +1 -1
- package/dist/toast.mjs +14 -34
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-group.d.mts +2 -2
- package/dist/toggle-group.mjs +78 -85
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/tooltip.d.mts +2 -2
- package/dist/tooltip.mjs +23 -43
- package/dist/tooltip.mjs.map +1 -1
- package/dist/tree-view.d.mts +2 -2
- package/dist/tree-view.mjs +32 -50
- package/dist/tree-view.mjs.map +1 -1
- package/dist/types.d.mts +9 -0
- package/dist/zag-component.d.mts +25 -3
- package/dist/zag-component.mjs +63 -16
- package/dist/zag-component.mjs.map +1 -1
- package/package.json +4 -3
- package/dist/cn.mjs +0 -10
- package/dist/cn.mjs.map +0 -1
- package/dist/draggable.mjs.map +0 -1
- package/dist/input.mjs.map +0 -1
package/dist/toast.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
|
|
2
|
+
import { t as CompiledReactiveComponent } from "./compiled-reactive-component.mjs";
|
|
3
|
+
import { t as reactiveClassName } from "./reactive-class-name.mjs";
|
|
2
4
|
import { VanillaMachine, normalizeProps, spreadProps } from "@zag-js/vanilla";
|
|
3
5
|
import * as toast from "@zag-js/toast";
|
|
4
6
|
//#region src/components/toast.tsx
|
|
@@ -17,6 +19,12 @@ function getStore(props) {
|
|
|
17
19
|
});
|
|
18
20
|
return _store;
|
|
19
21
|
}
|
|
22
|
+
let _tpl0_root = null;
|
|
23
|
+
function _tpl0_create() {
|
|
24
|
+
const t = document.createElement("template");
|
|
25
|
+
t.innerHTML = "<div data-part=group>";
|
|
26
|
+
return t.content.firstChild;
|
|
27
|
+
}
|
|
20
28
|
var ToastStore = class {
|
|
21
29
|
static {
|
|
22
30
|
this.getStore = getStore;
|
|
@@ -53,10 +61,7 @@ var ToastStore = class {
|
|
|
53
61
|
else getStore().dismiss();
|
|
54
62
|
}
|
|
55
63
|
};
|
|
56
|
-
var Toaster = class extends
|
|
57
|
-
static {
|
|
58
|
-
this.__geaTagName = "gea-toaster";
|
|
59
|
-
}
|
|
64
|
+
var Toaster = class extends CompiledReactiveComponent {
|
|
60
65
|
created(props) {
|
|
61
66
|
this._toastMachines = /* @__PURE__ */ new Map();
|
|
62
67
|
this._spreadCleanups = /* @__PURE__ */ new Map();
|
|
@@ -175,35 +180,10 @@ var Toaster = class extends Component {
|
|
|
175
180
|
this._api = null;
|
|
176
181
|
super.dispose();
|
|
177
182
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
this.__tpl = (() => {
|
|
183
|
-
if (typeof document === "undefined") return void 0;
|
|
184
|
-
var t = document.createElement("template");
|
|
185
|
-
t.innerHTML = "<div data-part=\"group\"></div>";
|
|
186
|
-
return t;
|
|
187
|
-
})();
|
|
188
|
-
}
|
|
189
|
-
[GEA_CLONE_TEMPLATE]() {
|
|
190
|
-
var __tpl = this.constructor.__tpl;
|
|
191
|
-
if (!__tpl) throw new Error("[gea] __tpl missing for clone template");
|
|
192
|
-
var __root = __tpl.content.firstElementChild.cloneNode(true);
|
|
193
|
-
__root.id = this.id;
|
|
194
|
-
__root.className = `toaster fixed z-[100] flex max-h-screen flex-col-reverse gap-2 p-4 ${props.class || "bottom-0 right-0"}`.trim();
|
|
195
|
-
return __root;
|
|
196
|
-
}
|
|
197
|
-
[GEA_ON_PROP_CHANGE](key, value) {
|
|
198
|
-
if (key === "class") {
|
|
199
|
-
const __el = this[GEA_ELEMENT];
|
|
200
|
-
this.props;
|
|
201
|
-
const __boundValue = `toaster fixed z-[100] flex max-h-screen flex-col-reverse gap-2 p-4 ${value || "bottom-0 right-0"}`;
|
|
202
|
-
if (__el) {
|
|
203
|
-
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
204
|
-
if (__el.className !== __newClass) __el.className = __newClass;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
183
|
+
[GEA_CREATE_TEMPLATE](d) {
|
|
184
|
+
const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
|
|
185
|
+
reactiveClassName(root, d, this, () => `toaster fixed z-[100] flex max-h-screen flex-col-reverse gap-2 p-4 ${this.props.class || "bottom-0 right-0"}`);
|
|
186
|
+
return root;
|
|
207
187
|
}
|
|
208
188
|
};
|
|
209
189
|
//#endregion
|
package/dist/toast.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.mjs","names":["toast","VanillaMachine","normalizeProps","spreadProps","Component","GEA_CLONE_TEMPLATE","GEA_ON_PROP_CHANGE","GEA_ELEMENT","stripStyle","props","Record","style","_style","rest","_store","Store","getStore","StoreProps","createStore","placement","duration","removeDelay","max","ToastStore","create","options","Options","success","Omit","type","error","info","loading","dismiss","id","Toaster","__geaTagName","_machine","_api","_toastMachines","Map","_spreadCleanups","Array","_currentToasts","created","store","storeProps","group","machine","start","connect","service","subscribe","nextToasts","getToasts","_syncToastDOM","_syncToastMachines","queueMicrotask","_applyGroupSpreads","_createToastElement","t","HTMLElement","div","document","createElement","setAttribute","className","inner","title","description","innerHTML","container","el","currentIds","Set","map","nextIds","has","querySelector","cleanups","get","forEach","fn","delete","remove","appendChild","stop","i","length","toastMachine","parent","index","stacked","set","rendered","groupEl","getGroupProps","toastEls","$$","toastId","dataset","api","prevCleanups","rootProps","getRootProps","push","getTitleProps","desc","getDescriptionProps","close","getCloseTriggerProps","action","getActionTriggerProps","onAfterRender","dispose","values","clear","template","__id","class","trim","__tpl","undefined","constructor","Error","__root","content","firstElementChild","cloneNode","key","value","__el","__boundValue","__newClass","String","replace"],"sources":["../src/components/toast.tsx"],"sourcesContent":["import * as toast from '@zag-js/toast'\nimport { VanillaMachine, normalizeProps, spreadProps } from '@zag-js/vanilla'\nimport { Component } from '@geajs/core'\n\nfunction stripStyle(props: Record<string, any>): Record<string, any> {\n const { style: _style, ...rest } = props\n return rest\n}\n\nlet _store: toast.Store | null = null\n\nfunction getStore(props?: toast.StoreProps) {\n if (!_store) {\n _store = toast.createStore({\n placement: 'bottom-end',\n duration: 5000,\n removeDelay: 200,\n max: 5,\n ...props,\n })\n }\n return _store\n}\n\nexport class ToastStore {\n static getStore = getStore\n\n static create(options: toast.Options) {\n return getStore().create(options)\n }\n\n static success(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'success' })\n }\n\n static error(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'error' })\n }\n\n static info(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'info' })\n }\n\n static loading(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'loading' })\n }\n\n static dismiss(id?: string) {\n if (id) getStore().dismiss(id)\n else getStore().dismiss()\n }\n}\n\nexport class Toaster extends Component {\n declare _machine: VanillaMachine<any> | null\n declare _api: any\n declare _toastMachines: Map<string, VanillaMachine<any>>\n declare _spreadCleanups: Map<string, Array<() => void>>\n declare _currentToasts: toast.Options[]\n\n created(props: any) {\n this._toastMachines = new Map()\n this._spreadCleanups = new Map()\n this._currentToasts = []\n\n const store = getStore(props.storeProps)\n\n this._machine = new VanillaMachine(toast.group.machine, { store })\n this._machine.start()\n\n this._api = toast.group.connect(this._machine.service, normalizeProps)\n\n this._machine.subscribe(() => {\n if (!this._machine) return\n this._api = toast.group.connect(this._machine.service, normalizeProps)\n const nextToasts = this._api.getToasts()\n this._syncToastDOM(nextToasts)\n this._currentToasts = nextToasts\n this._syncToastMachines()\n queueMicrotask(() => this._applyGroupSpreads())\n })\n }\n\n _createToastElement(t: any): HTMLElement {\n const div = document.createElement('div')\n div.setAttribute('data-part', 'toast-root')\n div.setAttribute('data-toast-id', t.id)\n div.className =\n 'toast-root group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 shadow-lg transition-all bg-background text-foreground'\n\n let inner = '<div class=\"grid gap-1\">'\n if (t.title) inner += `<div data-part=\"title\" class=\"toast-title text-sm font-semibold\">${t.title}</div>`\n if (t.description)\n inner += `<div data-part=\"description\" class=\"toast-description text-sm opacity-90\">${t.description}</div>`\n inner += '</div>'\n inner +=\n '<button data-part=\"close-trigger\" class=\"toast-close-trigger text-foreground/50 hover:text-foreground\">✕</button>'\n div.innerHTML = inner\n return div\n }\n\n _syncToastDOM(nextToasts: any[]) {\n const container = this.el\n if (!container) return\n\n const currentIds = new Set(this._currentToasts.map((t: any) => t.id))\n const nextIds = new Set(nextToasts.map((t: any) => t.id))\n\n for (const id of currentIds) {\n if (!nextIds.has(id)) {\n const el = container.querySelector(`[data-toast-id=\"${id}\"]`)\n if (el) {\n const cleanups = this._spreadCleanups.get(id)\n if (cleanups) cleanups.forEach((fn) => fn())\n this._spreadCleanups.delete(id)\n el.remove()\n }\n }\n }\n\n for (const t of nextToasts) {\n if (!currentIds.has((t as any).id)) {\n const el = this._createToastElement(t as any)\n container.appendChild(el)\n }\n }\n }\n\n _syncToastMachines() {\n if (!this._machine) return\n const currentIds = new Set(this._currentToasts.map((t: any) => t.id))\n\n for (const [id, machine] of this._toastMachines) {\n if (!currentIds.has(id)) {\n machine.stop()\n this._toastMachines.delete(id)\n }\n }\n\n for (let i = 0; i < this._currentToasts.length; i++) {\n const t = this._currentToasts[i] as any\n if (!this._toastMachines.has(t.id)) {\n const toastMachine = new VanillaMachine(toast.machine, {\n ...t,\n parent: this._machine.service,\n index: i,\n stacked: true,\n removeDelay: t.removeDelay ?? 200,\n })\n toastMachine.start()\n this._toastMachines.set(t.id, toastMachine)\n\n toastMachine.subscribe(() => {\n queueMicrotask(() => this._applyGroupSpreads())\n })\n }\n }\n }\n\n _applyGroupSpreads() {\n if (!this.rendered || !this._api) return\n\n const groupEl = this.el\n if (groupEl) {\n spreadProps(groupEl, stripStyle(this._api.getGroupProps()))\n }\n\n const toastEls = this.$$('[data-toast-id]')\n for (const el of toastEls) {\n const toastId = (el as HTMLElement).dataset.toastId\n if (!toastId) continue\n\n const toastMachine = this._toastMachines.get(toastId)\n if (!toastMachine) continue\n\n const api = toast.connect(toastMachine.service, normalizeProps)\n\n const prevCleanups = this._spreadCleanups.get(toastId)\n if (prevCleanups) prevCleanups.forEach((fn) => fn())\n\n const cleanups: Array<() => void> = []\n const rootProps = stripStyle(api.getRootProps())\n delete rootProps['data-part']\n cleanups.push(spreadProps(el, rootProps))\n\n const title = el.querySelector('[data-part=\"title\"]')\n if (title) cleanups.push(spreadProps(title, api.getTitleProps()))\n\n const desc = el.querySelector('[data-part=\"description\"]')\n if (desc) cleanups.push(spreadProps(desc, api.getDescriptionProps()))\n\n const close = el.querySelector('[data-part=\"close-trigger\"]')\n if (close) cleanups.push(spreadProps(close, api.getCloseTriggerProps()))\n\n const action = el.querySelector('[data-part=\"action-trigger\"]')\n if (action) cleanups.push(spreadProps(action, api.getActionTriggerProps()))\n\n this._spreadCleanups.set(toastId, cleanups)\n }\n }\n\n onAfterRender() {\n this._applyGroupSpreads()\n }\n\n dispose() {\n for (const cleanups of this._spreadCleanups.values()) {\n cleanups.forEach((fn) => fn())\n }\n this._spreadCleanups.clear()\n\n for (const machine of this._toastMachines.values()) {\n machine.stop()\n }\n this._toastMachines.clear()\n\n if (this._machine) {\n this._machine.stop()\n this._machine = null\n }\n this._api = null\n\n super.dispose()\n }\n\n template(props: any) {\n return (\n <div\n data-part=\"group\"\n class={`toaster fixed z-[100] flex max-h-screen flex-col-reverse gap-2 p-4 ${props.class || 'bottom-0 right-0'}`}\n />\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClassName","CompiledReactiveComponent","toast","VanillaMachine","normalizeProps","spreadProps","Component","stripStyle","props","Record","style","_style","rest","_store","Store","getStore","StoreProps","createStore","placement","duration","removeDelay","max","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","ToastStore","create","options","Options","success","Omit","type","error","info","loading","dismiss","id","Toaster","_machine","_api","_toastMachines","Map","_spreadCleanups","Array","_currentToasts","created","store","storeProps","group","machine","start","connect","service","subscribe","nextToasts","getToasts","_syncToastDOM","_syncToastMachines","queueMicrotask","_applyGroupSpreads","_createToastElement","HTMLElement","div","setAttribute","className","inner","title","description","container","el","currentIds","Set","map","nextIds","has","querySelector","cleanups","get","forEach","fn","delete","remove","appendChild","stop","i","length","toastMachine","parent","index","stacked","set","rendered","groupEl","getGroupProps","toastEls","$$","toastId","dataset","api","prevCleanups","rootProps","getRootProps","push","getTitleProps","desc","getDescriptionProps","close","getCloseTriggerProps","action","getActionTriggerProps","onAfterRender","dispose","values","clear","d","root","cloneNode","el0","class"],"sources":["../src/components/toast.tsx"],"sourcesContent":["import * as toast from '@zag-js/toast'\nimport { VanillaMachine, normalizeProps, spreadProps } from '@zag-js/vanilla'\nimport { Component } from '@geajs/core'\n\nfunction stripStyle(props: Record<string, any>): Record<string, any> {\n const { style: _style, ...rest } = props\n return rest\n}\n\nlet _store: toast.Store | null = null\n\nfunction getStore(props?: toast.StoreProps) {\n if (!_store) {\n _store = toast.createStore({\n placement: 'bottom-end',\n duration: 5000,\n removeDelay: 200,\n max: 5,\n ...props,\n })\n }\n return _store\n}\n\nexport class ToastStore {\n static getStore = getStore\n\n static create(options: toast.Options) {\n return getStore().create(options)\n }\n\n static success(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'success' })\n }\n\n static error(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'error' })\n }\n\n static info(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'info' })\n }\n\n static loading(options: Omit<toast.Options, 'type'>) {\n return getStore().create({ ...options, type: 'loading' })\n }\n\n static dismiss(id?: string) {\n if (id) getStore().dismiss(id)\n else getStore().dismiss()\n }\n}\n\nexport class Toaster extends Component {\n declare _machine: VanillaMachine<any> | null\n declare _api: any\n declare _toastMachines: Map<string, VanillaMachine<any>>\n declare _spreadCleanups: Map<string, Array<() => void>>\n declare _currentToasts: toast.Options[]\n\n created(props: any) {\n this._toastMachines = new Map()\n this._spreadCleanups = new Map()\n this._currentToasts = []\n\n const store = getStore(props.storeProps)\n\n this._machine = new VanillaMachine(toast.group.machine, { store })\n this._machine.start()\n\n this._api = toast.group.connect(this._machine.service, normalizeProps)\n\n this._machine.subscribe(() => {\n if (!this._machine) return\n this._api = toast.group.connect(this._machine.service, normalizeProps)\n const nextToasts = this._api.getToasts()\n this._syncToastDOM(nextToasts)\n this._currentToasts = nextToasts\n this._syncToastMachines()\n queueMicrotask(() => this._applyGroupSpreads())\n })\n }\n\n _createToastElement(t: any): HTMLElement {\n const div = document.createElement('div')\n div.setAttribute('data-part', 'toast-root')\n div.setAttribute('data-toast-id', t.id)\n div.className =\n 'toast-root group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 shadow-lg transition-all bg-background text-foreground'\n\n let inner = '<div class=\"grid gap-1\">'\n if (t.title) inner += `<div data-part=\"title\" class=\"toast-title text-sm font-semibold\">${t.title}</div>`\n if (t.description)\n inner += `<div data-part=\"description\" class=\"toast-description text-sm opacity-90\">${t.description}</div>`\n inner += '</div>'\n inner +=\n '<button data-part=\"close-trigger\" class=\"toast-close-trigger text-foreground/50 hover:text-foreground\">✕</button>'\n div.innerHTML = inner\n return div\n }\n\n _syncToastDOM(nextToasts: any[]) {\n const container = this.el\n if (!container) return\n\n const currentIds = new Set(this._currentToasts.map((t: any) => t.id))\n const nextIds = new Set(nextToasts.map((t: any) => t.id))\n\n for (const id of currentIds) {\n if (!nextIds.has(id)) {\n const el = container.querySelector(`[data-toast-id=\"${id}\"]`)\n if (el) {\n const cleanups = this._spreadCleanups.get(id)\n if (cleanups) cleanups.forEach((fn) => fn())\n this._spreadCleanups.delete(id)\n el.remove()\n }\n }\n }\n\n for (const t of nextToasts) {\n if (!currentIds.has((t as any).id)) {\n const el = this._createToastElement(t as any)\n container.appendChild(el)\n }\n }\n }\n\n _syncToastMachines() {\n if (!this._machine) return\n const currentIds = new Set(this._currentToasts.map((t: any) => t.id))\n\n for (const [id, machine] of this._toastMachines) {\n if (!currentIds.has(id)) {\n machine.stop()\n this._toastMachines.delete(id)\n }\n }\n\n for (let i = 0; i < this._currentToasts.length; i++) {\n const t = this._currentToasts[i] as any\n if (!this._toastMachines.has(t.id)) {\n const toastMachine = new VanillaMachine(toast.machine, {\n ...t,\n parent: this._machine.service,\n index: i,\n stacked: true,\n removeDelay: t.removeDelay ?? 200,\n })\n toastMachine.start()\n this._toastMachines.set(t.id, toastMachine)\n\n toastMachine.subscribe(() => {\n queueMicrotask(() => this._applyGroupSpreads())\n })\n }\n }\n }\n\n _applyGroupSpreads() {\n if (!this.rendered || !this._api) return\n\n const groupEl = this.el\n if (groupEl) {\n spreadProps(groupEl, stripStyle(this._api.getGroupProps()))\n }\n\n const toastEls = this.$$('[data-toast-id]')\n for (const el of toastEls) {\n const toastId = (el as HTMLElement).dataset.toastId\n if (!toastId) continue\n\n const toastMachine = this._toastMachines.get(toastId)\n if (!toastMachine) continue\n\n const api = toast.connect(toastMachine.service, normalizeProps)\n\n const prevCleanups = this._spreadCleanups.get(toastId)\n if (prevCleanups) prevCleanups.forEach((fn) => fn())\n\n const cleanups: Array<() => void> = []\n const rootProps = stripStyle(api.getRootProps())\n delete rootProps['data-part']\n cleanups.push(spreadProps(el, rootProps))\n\n const title = el.querySelector('[data-part=\"title\"]')\n if (title) cleanups.push(spreadProps(title, api.getTitleProps()))\n\n const desc = el.querySelector('[data-part=\"description\"]')\n if (desc) cleanups.push(spreadProps(desc, api.getDescriptionProps()))\n\n const close = el.querySelector('[data-part=\"close-trigger\"]')\n if (close) cleanups.push(spreadProps(close, api.getCloseTriggerProps()))\n\n const action = el.querySelector('[data-part=\"action-trigger\"]')\n if (action) cleanups.push(spreadProps(action, api.getActionTriggerProps()))\n\n this._spreadCleanups.set(toastId, cleanups)\n }\n }\n\n onAfterRender() {\n this._applyGroupSpreads()\n }\n\n dispose() {\n for (const cleanups of this._spreadCleanups.values()) {\n cleanups.forEach((fn) => fn())\n }\n this._spreadCleanups.clear()\n\n for (const machine of this._toastMachines.values()) {\n machine.stop()\n }\n this._toastMachines.clear()\n\n if (this._machine) {\n this._machine.stop()\n this._machine = null\n }\n this._api = null\n\n super.dispose()\n }\n\n template(props: any) {\n return (\n <div\n data-part=\"group\"\n class={`toaster fixed z-[100] flex max-h-screen flex-col-reverse gap-2 p-4 ${props.class || 'bottom-0 right-0'}`}\n />\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/toggle-group.d.mts
CHANGED
|
@@ -7,7 +7,7 @@ declare class ToggleGroup extends ZagComponent {
|
|
|
7
7
|
value: string[];
|
|
8
8
|
createMachine(_props: any): any;
|
|
9
9
|
getMachineProps(props: any): {
|
|
10
|
-
id:
|
|
10
|
+
id: string;
|
|
11
11
|
value: any;
|
|
12
12
|
defaultValue: any;
|
|
13
13
|
multiple: any;
|
|
@@ -25,7 +25,7 @@ declare class ToggleGroup extends ZagComponent {
|
|
|
25
25
|
'[data-part="item"]': (api: any, el: any) => any;
|
|
26
26
|
};
|
|
27
27
|
syncState(api: any): void;
|
|
28
|
-
template(props: any):
|
|
28
|
+
template(props: any): any;
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
31
31
|
export { ToggleGroup as default };
|
package/dist/toggle-group.mjs
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { t as NOOP_DISPOSER } from "./disposer.mjs";
|
|
3
|
+
import { o as GEA_CREATE_TEMPLATE, u as GEA_PROXY_RAW } from "./bind.mjs";
|
|
4
|
+
import { n as _DIRTY_PROPS } from "./dirty-symbols.mjs";
|
|
5
|
+
import { t as reactiveClassName } from "./reactive-class-name.mjs";
|
|
6
|
+
import { n as _rescue, t as keyedList } from "./keyed-list.mjs";
|
|
7
|
+
import { t as GEA_DOM_ITEM } from "./keyed-list-symbols.mjs";
|
|
3
8
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
9
|
import * as toggleGroup from "@zag-js/toggle-group";
|
|
5
10
|
//#region src/components/toggle-group.tsx
|
|
6
|
-
|
|
11
|
+
let _tpl0_root = null;
|
|
12
|
+
function _tpl0_create() {
|
|
13
|
+
const t = document.createElement("template");
|
|
14
|
+
t.innerHTML = "<div data-part=root><!--1-->";
|
|
15
|
+
return t.content.firstChild;
|
|
16
|
+
}
|
|
17
|
+
let _tpl1_root = null;
|
|
18
|
+
function _tpl1_create() {
|
|
19
|
+
const t = document.createElement("template");
|
|
20
|
+
t.innerHTML = "<button data-part=item class=\"toggle-group-item inline-flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\">0";
|
|
21
|
+
return t.content.firstChild;
|
|
22
|
+
}
|
|
23
|
+
const __rq_L0 = /* @__PURE__ */ new Map();
|
|
7
24
|
var ToggleGroup = class extends ZagComponent {
|
|
8
|
-
static {
|
|
9
|
-
this.__geaTagName = "toggle-group";
|
|
10
|
-
}
|
|
11
|
-
#__rowEls_list;
|
|
12
|
-
#__dc___unresolved_0;
|
|
13
25
|
createMachine(_props) {
|
|
14
26
|
return toggleGroup.machine;
|
|
15
27
|
}
|
|
@@ -41,85 +53,66 @@ var ToggleGroup = class extends ZagComponent {
|
|
|
41
53
|
syncState(api) {
|
|
42
54
|
this.value = api.value;
|
|
43
55
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var __tw = document.createElement("template");
|
|
57
|
-
__tw.innerHTML = this.render__unresolved_0Item({
|
|
58
|
-
value: 0,
|
|
59
|
-
label: " "
|
|
60
|
-
});
|
|
61
|
-
__c.__geaTpl = __tw.content.firstElementChild;
|
|
62
|
-
__c.__geaTpl?.removeAttribute("data-gid");
|
|
63
|
-
} catch (__err) {
|
|
64
|
-
console.error(__err);
|
|
65
|
-
}
|
|
66
|
-
if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
|
|
67
|
-
else {
|
|
68
|
-
var __fw = document.createElement("template");
|
|
69
|
-
__fw.innerHTML = this.render__unresolved_0Item(item);
|
|
70
|
-
var el = __fw.content.firstElementChild;
|
|
71
|
-
}
|
|
72
|
-
var __av = item.value;
|
|
73
|
-
if (__av == null || __av === false) el.removeAttribute("data-value");
|
|
74
|
-
else {
|
|
75
|
-
const __newAttr = String(__av);
|
|
76
|
-
if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
|
|
77
|
-
}
|
|
78
|
-
if (el.textContent !== `
|
|
79
|
-
${item.label}
|
|
80
|
-
`) el.textContent = `
|
|
81
|
-
${item.label}
|
|
82
|
-
`;
|
|
83
|
-
el[GEA_DOM_KEY] = String(item?.value ?? item);
|
|
84
|
-
el[GEA_DOM_ITEM] = item;
|
|
85
|
-
return el;
|
|
86
|
-
}
|
|
87
|
-
patch__unresolved_0Item(row, item, __prevItem) {
|
|
88
|
-
if (!row) return;
|
|
89
|
-
var __av = item.value;
|
|
90
|
-
if (__av == null || __av === false) row.removeAttribute("data-value");
|
|
91
|
-
else {
|
|
92
|
-
const __newAttr = String(__av);
|
|
93
|
-
if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
|
|
94
|
-
}
|
|
95
|
-
if (row.textContent !== `
|
|
96
|
-
${item.label}
|
|
97
|
-
`) row.textContent = `
|
|
98
|
-
${item.label}
|
|
99
|
-
`;
|
|
100
|
-
row[GEA_DOM_KEY] = String(item?.value ?? item);
|
|
101
|
-
(this.#__rowEls_list || (this.#__rowEls_list = {}))[String(item?.value ?? item)] = row;
|
|
102
|
-
row[GEA_DOM_ITEM] = item;
|
|
103
|
-
}
|
|
104
|
-
[GEA_ON_PROP_CHANGE](key, value) {
|
|
105
|
-
if (key === "class") {
|
|
106
|
-
const __el = this[GEA_ELEMENT];
|
|
107
|
-
this.props;
|
|
108
|
-
const __boundValue = `toggle-group-root inline-flex rounded-md border ${value || ""}`;
|
|
109
|
-
if (__el) {
|
|
110
|
-
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
111
|
-
if (__el.className !== __newClass) __el.className = __newClass;
|
|
56
|
+
[GEA_CREATE_TEMPLATE](d) {
|
|
57
|
+
this.props.items;
|
|
58
|
+
const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
|
|
59
|
+
const el0 = root;
|
|
60
|
+
const anchor1 = root.firstChild;
|
|
61
|
+
reactiveClassName(el0, d, this, () => `toggle-group-root inline-flex rounded-md border ${this.props.class || ""}`);
|
|
62
|
+
const __ki_L0 = (item, idx, d) => {
|
|
63
|
+
const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
|
|
64
|
+
root.setAttribute("data-value", String(item.value));
|
|
65
|
+
{
|
|
66
|
+
const __n = root.firstChild;
|
|
67
|
+
__n.nodeValue = `${item.label ?? ""}`;
|
|
112
68
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
69
|
+
root[GEA_DOM_ITEM] = item;
|
|
70
|
+
return root;
|
|
71
|
+
};
|
|
72
|
+
const __kp_L0 = (el, item) => {
|
|
73
|
+
if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("value")) el.setAttribute("data-value", String(item.value));
|
|
74
|
+
if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("label")) {
|
|
75
|
+
const __n = el.__r0 || (el.__r0 = el.firstChild);
|
|
76
|
+
__n.nodeValue = `${item.label ?? ""}`;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
keyedList({
|
|
80
|
+
container: anchor1.parentNode,
|
|
81
|
+
anchor: anchor1,
|
|
82
|
+
disposer: d,
|
|
83
|
+
root: this,
|
|
84
|
+
pending: __rq_L0,
|
|
85
|
+
path: () => this.props.items || [],
|
|
86
|
+
key: (item, idx) => item.value,
|
|
87
|
+
createEntry: (item, idx) => {
|
|
88
|
+
const __k = item.value;
|
|
89
|
+
const __r = _rescue(__rq_L0, String(__k), item);
|
|
90
|
+
if (__r) {
|
|
91
|
+
const __raw = item && item[GEA_PROXY_RAW] || item;
|
|
92
|
+
if (__r.item !== __raw) {
|
|
93
|
+
const __prev = __r.item;
|
|
94
|
+
__r.item = __raw;
|
|
95
|
+
__kp_L0(__r.element, item, __prev, idx);
|
|
96
|
+
}
|
|
97
|
+
return __r;
|
|
98
|
+
}
|
|
99
|
+
const __rd = NOOP_DISPOSER;
|
|
100
|
+
const __obs = null;
|
|
101
|
+
const __el = __ki_L0(item, idx, __rd);
|
|
102
|
+
return {
|
|
103
|
+
key: __k,
|
|
104
|
+
item: item && item[GEA_PROXY_RAW] || item,
|
|
105
|
+
element: __el,
|
|
106
|
+
disposer: __rd,
|
|
107
|
+
obs: __obs
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
patchEntry: (e, newItem, newIdx) => {
|
|
111
|
+
e.item = newItem && newItem[GEA_PROXY_RAW] || newItem;
|
|
112
|
+
__kp_L0(e.element, newItem);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
return root;
|
|
123
116
|
}
|
|
124
117
|
};
|
|
125
118
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.mjs","names":["
|
|
1
|
+
{"version":3,"file":"toggle-group.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClassName","reactiveAttr","reactiveTextValue","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","_rescue","NOOP_DISPOSER","keyedList","toggleGroup","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","__rq_L0","Map","ToggleGroup","value","createMachine","_props","machine","getMachineProps","props","id","defaultValue","multiple","disabled","orientation","loopFocus","rovingFocus","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","getItemProps","HTMLElement","dataset","syncState","d","items","root","cloneNode","el0","anchor1","class","__ki_L0","item","idx","setAttribute","String","__n","nodeValue","label","__kp_L0","has","__r0","container","parentNode","anchor","disposer","pending","path","key","createEntry","__k","__r","__raw","__prev","element","__rd","__obs","__li","__el","obs","patchEntry","e","newItem","newIdx"],"sources":["../src/components/toggle-group.tsx"],"sourcesContent":["import * as toggleGroup from '@zag-js/toggle-group'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class ToggleGroup extends ZagComponent {\n declare value: string[]\n\n createMachine(_props: any): any {\n return toggleGroup.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n orientation: props.orientation ?? 'horizontal',\n loopFocus: props.loopFocus ?? true,\n rovingFocus: props.rovingFocus ?? true,\n onValueChange: (details: toggleGroup.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return toggleGroup.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"item\"]': (api, el) => api.getItemProps({ value: (el as HTMLElement).dataset.value }),\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n template(props: any) {\n const items = props.items || []\n return (\n <div data-part=\"root\" class={`toggle-group-root inline-flex rounded-md border ${props.class || ''}`}>\n {items.map((item: any) => (\n <button\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n class=\"toggle-group-item inline-flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\"\n >\n {item.label}\n </button>\n ))}\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
package/dist/tooltip.d.mts
CHANGED
|
@@ -7,7 +7,7 @@ declare class Tooltip extends ZagComponent {
|
|
|
7
7
|
open: boolean;
|
|
8
8
|
createMachine(_props: any): any;
|
|
9
9
|
getMachineProps(props: any): {
|
|
10
|
-
id:
|
|
10
|
+
id: string;
|
|
11
11
|
open: any;
|
|
12
12
|
defaultOpen: any;
|
|
13
13
|
openDelay: any;
|
|
@@ -32,7 +32,7 @@ declare class Tooltip extends ZagComponent {
|
|
|
32
32
|
'[data-part="arrow-tip"]': string;
|
|
33
33
|
};
|
|
34
34
|
syncState(api: any): void;
|
|
35
|
-
template(props: any):
|
|
35
|
+
template(props: any): any;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
38
|
export { Tooltip as default };
|
package/dist/tooltip.mjs
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
|
|
3
|
+
import { n as reactiveTextValue, t as reactiveText } from "./reactive-text.mjs";
|
|
4
|
+
import { t as reactiveClass } from "./reactive-class.mjs";
|
|
5
|
+
import { t as reactiveStyle } from "./reactive-style.mjs";
|
|
3
6
|
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
7
|
import * as tooltip from "@zag-js/tooltip";
|
|
5
8
|
//#region src/components/tooltip.tsx
|
|
9
|
+
let _tpl0_root = null;
|
|
10
|
+
function _tpl0_create() {
|
|
11
|
+
const t = document.createElement("template");
|
|
12
|
+
t.innerHTML = "<div><div data-part=trigger class=tooltip-trigger>0</div><div data-part=positioner class=tooltip-positioner><div data-part=content class=\"tooltip-content z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-md\">0";
|
|
13
|
+
return t.content.firstChild;
|
|
14
|
+
}
|
|
6
15
|
var Tooltip = class extends ZagComponent {
|
|
7
|
-
static {
|
|
8
|
-
this.__geaTagName = "gea-tooltip";
|
|
9
|
-
}
|
|
10
16
|
createMachine(_props) {
|
|
11
17
|
return tooltip.machine;
|
|
12
18
|
}
|
|
@@ -45,45 +51,19 @@ var Tooltip = class extends ZagComponent {
|
|
|
45
51
|
syncState(api) {
|
|
46
52
|
this.open = api.open;
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (__el.className !== __newClass) __el.className = __newClass;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (key === "children") {
|
|
65
|
-
const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
|
|
66
|
-
if (__el) {
|
|
67
|
-
const __tw = document.createElement("template");
|
|
68
|
-
__tw.innerHTML = value;
|
|
69
|
-
const __newEl = __tw.content.firstElementChild;
|
|
70
|
-
const __existEl = __el.firstElementChild;
|
|
71
|
-
if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
|
|
72
|
-
else if (__el.innerHTML !== value) {
|
|
73
|
-
__el.innerHTML = value;
|
|
74
|
-
this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
|
|
75
|
-
if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (key === "content") {
|
|
80
|
-
const __el = this.__e1 || (this.__e1 = __gid(__id + "-b2"));
|
|
81
|
-
if (__el && __el.textContent !== value) __el.textContent = value;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
__resetEls() {
|
|
85
|
-
this.__e0 = null;
|
|
86
|
-
this.__e1 = null;
|
|
54
|
+
[GEA_CREATE_TEMPLATE](d) {
|
|
55
|
+
const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
|
|
56
|
+
const el0 = root;
|
|
57
|
+
const el1 = el0;
|
|
58
|
+
const el2 = root.firstChild;
|
|
59
|
+
const marker3 = root.firstChild.firstChild;
|
|
60
|
+
const marker4 = root.childNodes[1].firstChild.firstChild;
|
|
61
|
+
reactiveClass(el0, d, this, () => this.props.class || "");
|
|
62
|
+
reactiveStyle(el1, d, this, () => ({ display: "inline-block" }));
|
|
63
|
+
reactiveStyle(el2, d, this, () => ({ display: "inline-block" }));
|
|
64
|
+
reactiveText(marker3, d, this, () => this.props.children);
|
|
65
|
+
reactiveTextValue(marker4, d, this, () => this.props.content);
|
|
66
|
+
return root;
|
|
87
67
|
}
|
|
88
68
|
};
|
|
89
69
|
//#endregion
|
package/dist/tooltip.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.mjs","names":["
|
|
1
|
+
{"version":3,"file":"tooltip.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveStyle","reactiveText","reactiveTextValue","tooltip","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","Tooltip","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","openDelay","closeDelay","closeOnPointerDown","closeOnEscape","closeOnScroll","interactive","disabled","positioning","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","el1","el2","marker3","marker4","childNodes","class","display","t3","children","t4"],"sources":["../src/components/tooltip.tsx"],"sourcesContent":["import * as tooltip from '@zag-js/tooltip'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Tooltip extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return tooltip.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n openDelay: props.openDelay ?? 400,\n closeDelay: props.closeDelay ?? 150,\n closeOnPointerDown: props.closeOnPointerDown ?? true,\n closeOnEscape: props.closeOnEscape ?? true,\n closeOnScroll: props.closeOnScroll ?? true,\n interactive: props.interactive ?? false,\n disabled: props.disabled,\n positioning: props.positioning,\n 'aria-label': props['aria-label'],\n onOpenChange: (details: tooltip.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return tooltip.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"arrow\"]': 'getArrowProps',\n '[data-part=\"arrow-tip\"]': 'getArrowTipProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div class={props.class || ''} style={{ display: 'inline-block' }}>\n <div data-part=\"trigger\" class=\"tooltip-trigger\" style={{ display: 'inline-block' }}>\n {props.children}\n </div>\n <div data-part=\"positioner\" class=\"tooltip-positioner\">\n <div\n data-part=\"content\"\n class=\"tooltip-content z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-md\"\n >\n {props.content}\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;;;;AAIA,IAAIQ,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBC,UAArB,cAAqCT,aAAa;CAEhDW,cAAcC,QAAkB;AAC9B,SAAOd,QAAQe;;CAEjBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,WAAWH,MAAMG,aAAa;GAC9BC,YAAYJ,MAAMI,cAAc;GAChCC,oBAAoBL,MAAMK,sBAAsB;GAChDC,eAAeN,MAAMM,iBAAiB;GACtCC,eAAeP,MAAMO,iBAAiB;GACtCC,aAAaR,MAAMQ,eAAe;GAClCC,UAAUT,MAAMS;GAChBC,aAAaV,MAAMU;GACnB,cAAcV,MAAM;GACpBW,eAAeC,YAAuC;AACpD,SAAKjB,OAAOiB,QAAQjB;AACpBK,UAAMW,eAAeC,QAAQ;;GAEhC;;CAEHE,WAAWC,SAAc;AACvB,SAAOhC,QAAQiC,QAAQD,SAAS/B,eAAe;;CAEjDiC,eAAe;AACb,SAAO;GACL,2BAAyB;GACzB,8BAA4B;GAC5B,2BAAyB;GACzB,yBAAuB;GACvB,6BAA2B;GAC5B;;CAEHC,UAAUC,KAAU;AAClB,OAAKxB,OAAOwB,IAAIxB;;CAElB,CAACjB,qBAAqB0C,GAAG;EACvB,MAAMC,QAAQnC,eAAeA,aAAaC,cAAc,GAAGmC,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,MAAMD;EACZ,MAAME,MAAMJ,KAAK5B;EACjB,MAAMiC,UAAUL,KAAK5B,WAAWA;EAChC,MAAMkC,UAAUN,KAAKO,WAAW,GAAGnC,WAAWA;AAC9Cd,gBAAc4C,KAAKH,GAAG,YAAY,KAAKpB,MAAM6B,SAAS,GAAG;AACzDjD,gBAAc4C,KAAKJ,GAAG,aAAa,EACjCU,SAAS,gBACV,EAAE;AACHlD,gBAAc6C,KAAKL,GAAG,aAAa,EACjCU,SAAS,gBACV,EAAE;AAEHjD,eAAakD,SAAIX,GAAG,YAAY,KAAKpB,MAAMgC,SAAS;AAEpDlD,oBAAkBmD,SAAIb,GAAG,YAAY,KAAKpB,MAAMR,QAAQ;AACxD,SAAO6B"}
|
package/dist/tree-view.d.mts
CHANGED
|
@@ -8,7 +8,7 @@ declare class TreeView extends ZagComponent {
|
|
|
8
8
|
expandedValue: string[];
|
|
9
9
|
createMachine(_props: any): any;
|
|
10
10
|
getMachineProps(props: any): {
|
|
11
|
-
id:
|
|
11
|
+
id: string;
|
|
12
12
|
collection: any;
|
|
13
13
|
selectedValue: any;
|
|
14
14
|
defaultSelectedValue: any;
|
|
@@ -28,7 +28,7 @@ declare class TreeView extends ZagComponent {
|
|
|
28
28
|
'[data-part="tree"]': string;
|
|
29
29
|
};
|
|
30
30
|
syncState(api: any): void;
|
|
31
|
-
template(props: any):
|
|
31
|
+
template(props: any): any;
|
|
32
32
|
}
|
|
33
33
|
//#endregion
|
|
34
34
|
export { TreeView as default };
|