@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/hover-card.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-card.mjs","names":["
|
|
1
|
+
{"version":3,"file":"hover-card.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveStyle","reactiveAttr","reactiveTextValue","reactiveText","hoverCard","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","HoverCard","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","openDelay","closeDelay","positioning","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","el1","el2","marker3","marker4","childNodes","class","display","href","t3","triggerLabel","t4","children"],"sources":["../src/components/hover-card.tsx"],"sourcesContent":["import * as hoverCard from '@zag-js/hover-card'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class HoverCard extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return hoverCard.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,\n closeDelay: props.closeDelay,\n positioning: props.positioning,\n onOpenChange: (details: hoverCard.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return hoverCard.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 <a data-part=\"trigger\" href={props.href || '#'} class=\"hover-card-trigger inline-block\">\n {props.triggerLabel || 'Hover me'}\n </a>\n <div data-part=\"positioner\" class=\"hover-card-positioner\">\n <div\n data-part=\"content\"\n class=\"hover-card-content z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden\"\n >\n {props.children}\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;;;;;AAIA,IAAIS,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBC,YAArB,cAAuCT,aAAa;CAElDW,cAAcC,QAAkB;AAC9B,SAAOd,UAAUe;;CAEnBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,WAAWH,MAAMG;GACjBC,YAAYJ,MAAMI;GAClBC,aAAaL,MAAMK;GACnBC,eAAeC,YAAyC;AACtD,SAAKZ,OAAOY,QAAQZ;AACpBK,UAAMM,eAAeC,QAAQ;;GAEhC;;CAEHE,WAAWC,SAAc;AACvB,SAAO3B,UAAU4B,QAAQD,SAAS1B,eAAe;;CAEnD4B,eAAe;AACb,SAAO;GACL,2BAAyB;GACzB,8BAA4B;GAC5B,2BAAyB;GACzB,yBAAuB;GACvB,6BAA2B;GAC5B;;CAEHC,UAAUC,KAAU;AAClB,OAAKnB,OAAOmB,IAAInB;;CAElB,CAAClB,qBAAqBsC,GAAG;EACvB,MAAMC,QAAQ9B,eAAeA,aAAaC,cAAc,GAAG8B,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,MAAMD;EACZ,MAAME,MAAMJ,KAAKvB;EACjB,MAAM4B,UAAUL,KAAKvB,WAAWA;EAChC,MAAM6B,UAAUN,KAAKO,WAAW,GAAG9B,WAAWA;AAC9Cf,gBAAcwC,KAAKH,GAAG,YAAY,KAAKf,MAAMwB,SAAS,GAAG;AACzD7C,gBAAcwC,KAAKJ,GAAG,aAAa,EACjCU,SAAS,gBACV,EAAE;AACH7C,eAAawC,KAAKL,GAAG,MAAM,cAAc,KAAKf,MAAM0B,QAAQ,IAAI;AAEhE7C,oBAAkB8C,SAAIZ,GAAG,YAAY,KAAKf,MAAM4B,gBAAgB,WAAW;AAE3E9C,eAAa+C,SAAId,GAAG,YAAY,KAAKf,MAAM8B,SAAS;AACpD,SAAOd"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { n as cn } from "./compiled-component.mjs";
|
|
3
|
+
import { t as Draggable } from "./draggable2.mjs";
|
|
4
|
+
import { t as Input } from "./input2.mjs";
|
|
3
5
|
import Accordion from "./accordion.mjs";
|
|
4
6
|
import Avatar from "./avatar.mjs";
|
|
5
7
|
import Checkbox from "./checkbox.mjs";
|
|
@@ -28,7 +30,6 @@ import Tooltip from "./tooltip.mjs";
|
|
|
28
30
|
import TreeView from "./tree-view.mjs";
|
|
29
31
|
import Button from "./button.mjs";
|
|
30
32
|
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./card.mjs";
|
|
31
|
-
import Input from "./input.mjs";
|
|
32
33
|
import Textarea from "./textarea.mjs";
|
|
33
34
|
import Label from "./label.mjs";
|
|
34
35
|
import Badge from "./badge.mjs";
|
|
@@ -36,7 +37,6 @@ import { Alert, AlertDescription, AlertTitle } from "./alert.mjs";
|
|
|
36
37
|
import Separator from "./separator.mjs";
|
|
37
38
|
import Skeleton from "./skeleton.mjs";
|
|
38
39
|
import { dndManager } from "./dnd-manager.mjs";
|
|
39
|
-
import Draggable from "./draggable.mjs";
|
|
40
40
|
import Droppable from "./droppable.mjs";
|
|
41
41
|
import DragDropContext from "./drag-drop-context.mjs";
|
|
42
42
|
export { Accordion, Alert, AlertDescription, AlertTitle, Avatar, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Clipboard, Collapsible, Combobox, Dialog, DragDropContext, Draggable, Droppable, FileUpload, HoverCard, Input, Label, Menu, NumberInput, Pagination, PinInput, Popover, Progress, RadioGroup, RatingGroup, Select, Separator, Skeleton, Slider, Switch, Tabs, TagsInput, Textarea, ToastStore, Toaster, ToggleGroup, Tooltip, TreeView, ZagComponent, cn, dndManager };
|
package/dist/input.d.mts
CHANGED
package/dist/input.mjs
CHANGED
|
@@ -1,94 +1,2 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from "@geajs/core";
|
|
3
|
-
//#region src/components/input.tsx
|
|
4
|
-
var Input = class extends Component {
|
|
5
|
-
static {
|
|
6
|
-
this.__geaTagName = "gea-input";
|
|
7
|
-
}
|
|
8
|
-
template(props) {
|
|
9
|
-
const __id = this.id;
|
|
10
|
-
return `<input id="${props.inputId}" data-gcc="${__id}"${cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) == null || cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) === false ? "" : ` class="${(cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) != null ? String(cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class)) : "").trim()}"`}${(props.type || "text") == null || (props.type || "text") === false ? "" : ` type="${props.type || "text"}"`}${props.placeholder == null || props.placeholder === false ? "" : ` placeholder="${props.placeholder}"`}${props.value == null || props.value === false ? "" : ` value="${props.value}"`}${props.disabled == null || props.disabled === false ? "" : ` disabled="${props.disabled}"`}${props.name == null || props.name === false ? "" : ` name="${props.name}"`} />`;
|
|
11
|
-
}
|
|
12
|
-
get events() {
|
|
13
|
-
if (this.__evts && this[GEA_ELEMENT]) return this.__evts;
|
|
14
|
-
const __geaEvtsResult = { input: { [`#${this.props.inputId}`]: this.__event_input_0 } };
|
|
15
|
-
if (this[GEA_ELEMENT]) this.__evts = __geaEvtsResult;
|
|
16
|
-
return __geaEvtsResult;
|
|
17
|
-
}
|
|
18
|
-
__event_input_0(e, targetComponent) {
|
|
19
|
-
this.props.onInput?.(e);
|
|
20
|
-
}
|
|
21
|
-
[GEA_ON_PROP_CHANGE](key, value) {
|
|
22
|
-
if (key === "class") {
|
|
23
|
-
const __el = this[GEA_ELEMENT];
|
|
24
|
-
this.props;
|
|
25
|
-
const __boundValue = cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", value);
|
|
26
|
-
if (__el) {
|
|
27
|
-
const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
|
|
28
|
-
if (__el.className !== __newClass) __el.className = __newClass;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
if (key === "type") {
|
|
32
|
-
const __el = this[GEA_ELEMENT];
|
|
33
|
-
this.props;
|
|
34
|
-
const __boundValue = value || "text";
|
|
35
|
-
if (__el) {
|
|
36
|
-
var __av = __boundValue;
|
|
37
|
-
if (__av == null || __av === false) __el.removeAttribute("type");
|
|
38
|
-
else {
|
|
39
|
-
const __newAttr = String(__av);
|
|
40
|
-
if (__el.getAttribute("type") !== __newAttr) __el.setAttribute("type", __newAttr);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (key === "placeholder") {
|
|
45
|
-
const __el = this[GEA_ELEMENT];
|
|
46
|
-
if (__el) {
|
|
47
|
-
var __av = value;
|
|
48
|
-
if (__av == null || __av === false) __el.removeAttribute("placeholder");
|
|
49
|
-
else {
|
|
50
|
-
const __newAttr = String(__av);
|
|
51
|
-
if (__el.getAttribute("placeholder") !== __newAttr) __el.setAttribute("placeholder", __newAttr);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (key === "value") {
|
|
56
|
-
const __el = this[GEA_ELEMENT];
|
|
57
|
-
if (__el) __el.value = value == null ? "" : String(value);
|
|
58
|
-
}
|
|
59
|
-
if (key === "disabled") {
|
|
60
|
-
const __el = this[GEA_ELEMENT];
|
|
61
|
-
if (__el) if (!value) __el.removeAttribute("disabled");
|
|
62
|
-
else {
|
|
63
|
-
const __newAttr = "";
|
|
64
|
-
if (__el.getAttribute("disabled") !== __newAttr) __el.setAttribute("disabled", __newAttr);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (key === "name") {
|
|
68
|
-
const __el = this[GEA_ELEMENT];
|
|
69
|
-
if (__el) {
|
|
70
|
-
var __av = value;
|
|
71
|
-
if (__av == null || __av === false) __el.removeAttribute("name");
|
|
72
|
-
else {
|
|
73
|
-
const __newAttr = String(__av);
|
|
74
|
-
if (__el.getAttribute("name") !== __newAttr) __el.setAttribute("name", __newAttr);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (key === "inputId") {
|
|
79
|
-
const __el = this[GEA_ELEMENT];
|
|
80
|
-
if (__el) {
|
|
81
|
-
var __av = value;
|
|
82
|
-
if (__av == null || __av === false) __el.removeAttribute("id");
|
|
83
|
-
else {
|
|
84
|
-
const __newAttr = String(__av);
|
|
85
|
-
if (__el.getAttribute("id") !== __newAttr) __el.setAttribute("id", __newAttr);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
//#endregion
|
|
1
|
+
import { t as Input } from "./input2.mjs";
|
|
92
2
|
export { Input as default };
|
|
93
|
-
|
|
94
|
-
//# sourceMappingURL=input.mjs.map
|
package/dist/input2.mjs
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { n as cn, t as CompiledComponent } from "./compiled-component.mjs";
|
|
2
|
+
import { o as GEA_CREATE_TEMPLATE, t as bind } from "./bind.mjs";
|
|
3
|
+
import { t as reactiveAttr } from "./reactive-attr.mjs";
|
|
4
|
+
import { t as reactiveBoolAttr } from "./reactive-bool.mjs";
|
|
5
|
+
import { t as reactiveClass } from "./reactive-class.mjs";
|
|
6
|
+
import { t as delegateEvent } from "./delegate-event.mjs";
|
|
7
|
+
//#region ../gea/src/runtime/reactive-value.ts
|
|
8
|
+
const reactiveValueRead = (el, d, root, pathOrGetter) => {
|
|
9
|
+
let controlled = false;
|
|
10
|
+
const apply = (v) => {
|
|
11
|
+
if (v === void 0 && !controlled) return;
|
|
12
|
+
controlled = true;
|
|
13
|
+
const s = v == null ? "" : String(v);
|
|
14
|
+
if (el.value !== s) el.value = s;
|
|
15
|
+
};
|
|
16
|
+
bind(d, root, pathOrGetter, apply);
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/input.tsx
|
|
20
|
+
function _tpl0_create() {
|
|
21
|
+
return document.createElement("input");
|
|
22
|
+
}
|
|
23
|
+
var Input = class extends CompiledComponent {
|
|
24
|
+
[GEA_CREATE_TEMPLATE](d) {
|
|
25
|
+
const root = _tpl0_create();
|
|
26
|
+
const el0 = root;
|
|
27
|
+
const el1 = el0;
|
|
28
|
+
const el2 = el0;
|
|
29
|
+
const el3 = el0;
|
|
30
|
+
const el4 = el0;
|
|
31
|
+
const el5 = el0;
|
|
32
|
+
const el6 = el0;
|
|
33
|
+
const evt7 = el0;
|
|
34
|
+
reactiveClass(el0, d, this, () => cn("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", this.props.class));
|
|
35
|
+
reactiveAttr(el1, d, this, "type", () => this.props.type || "text");
|
|
36
|
+
reactiveAttr(el2, d, this, "placeholder", () => this.props.placeholder);
|
|
37
|
+
reactiveValueRead(el3, d, this, () => this.props.value);
|
|
38
|
+
reactiveBoolAttr(el4, d, this, "disabled", () => this.props.disabled);
|
|
39
|
+
reactiveAttr(el5, d, this, "name", () => this.props.name);
|
|
40
|
+
reactiveAttr(el6, d, this, "id", () => this.props.inputId);
|
|
41
|
+
const h7 = (e) => {
|
|
42
|
+
((e) => this.props.onInput?.(e))(e);
|
|
43
|
+
const __v = this.props.value;
|
|
44
|
+
if (__v !== void 0) {
|
|
45
|
+
const __s = __v == null ? "" : String(__v);
|
|
46
|
+
if (evt7.value !== __s) evt7.value = __s;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
delegateEvent(root, "input", [[evt7, h7]], d);
|
|
50
|
+
return root;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
export { Input as t };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=input2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input2.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveAttr","reactiveValueRead","reactiveBoolAttr","delegateEvent","CompiledComponent","Component","cn","_tpl0_create","e","document","createElement","Input","d","root","el0","el1","el2","el3","el4","el5","el6","evt7","props","class","type","placeholder","value","disabled","name","inputId","h7","Event","onInput","__v","undefined","__s","String"],"sources":["../../gea/src/runtime/reactive-value.ts","../src/components/input.tsx"],"sourcesContent":["import type { Disposer } from './disposer'\nimport { bind } from './bind'\n\ntype InputLike = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement\n\nexport const reactiveValueRead = (\n el: InputLike,\n d: Disposer,\n root: any,\n pathOrGetter: readonly string[] | (() => unknown),\n): void => {\n let controlled = false\n const apply = (v: unknown): void => {\n if (v === undefined && !controlled) return\n controlled = true\n const s = v == null ? '' : String(v)\n if (el.value !== s) el.value = s\n }\n bind(d, root, pathOrGetter, apply)\n}\n\nexport const reactiveValue = (\n el: InputLike,\n d: Disposer,\n root: any,\n pathOrGetter: readonly string[] | (() => unknown),\n writeBack?: (v: string) => void,\n): void => {\n reactiveValueRead(el, d, root, pathOrGetter)\n if (writeBack) {\n const onInput = (): void => {\n writeBack(el.value)\n }\n el.addEventListener('input', onInput)\n d.add(() => el.removeEventListener('input', onInput))\n }\n}\n","import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Input extends Component {\n template(props: any) {\n return (\n <input\n class={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n props.class,\n )}\n type={props.type || 'text'}\n placeholder={props.placeholder}\n value={props.value}\n disabled={props.disabled}\n name={props.name}\n id={props.inputId}\n input={(e: Event) => props.onInput?.(e)}\n />\n )\n }\n}\n"],"mappings":";;;;;;;AAKA,MAAa,qBACX,IACA,GACA,MACA,iBACS;CACT,IAAI,aAAa;CACjB,MAAM,SAAS,MAAqB;AAClC,MAAI,MAAM,KAAA,KAAa,CAAC,WAAY;AACpC,eAAa;EACb,MAAM,IAAI,KAAK,OAAO,KAAK,OAAO,EAAE;AACpC,MAAI,GAAG,UAAU,EAAG,IAAG,QAAQ;;AAEjC,MAAK,GAAG,MAAM,cAAc,MAAM;;;;ACfpC,SAASS,eAAe;AAEtB,QADUE,SAASC,cAAc,QACzB;;AAEV,IAAqBC,QAArB,cAAmCP,kBAAkB;CACnD,CAACN,qBAAqBc,GAAG;EACvB,MAAMC,OAAON,cAAc;EAC3B,MAAMO,MAAMD;EACZ,MAAME,MAAMD;EACZ,MAAME,MAAMF;EACZ,MAAMG,MAAMH;EACZ,MAAMI,MAAMJ;EACZ,MAAMK,MAAML;EACZ,MAAMM,MAAMN;EACZ,MAAMO,OAAOP;AACbf,gBAAce,KAAKF,GAAG,YAAYN,GAAG,6WAA6W,KAAKgB,MAAMC,MAAM,CAAC;AACpavB,eAAae,KAAKH,GAAG,MAAM,cAAc,KAAKU,MAAME,QAAQ,OAAO;AACnExB,eAAagB,KAAKJ,GAAG,MAAM,qBAAqB,KAAKU,MAAMG,YAAY;AACvExB,oBAAkBgB,KAAKL,GAAG,YAAY,KAAKU,MAAMI,MAAM;AACvDxB,mBAAiBgB,KAAKN,GAAG,MAAM,kBAAkB,KAAKU,MAAMK,SAAS;AACrE3B,eAAamB,KAAKP,GAAG,MAAM,cAAc,KAAKU,MAAMM,KAAK;AACzD5B,eAAaoB,KAAKR,GAAG,MAAM,YAAY,KAAKU,MAAMO,QAAQ;EAC1D,MAAMC,MAAKtB,MAAK;AACd,KAAEA,MAAa,KAAKc,MAAMU,UAAUxB,EAAE,EAAEA,EAAE;GAC1C,MAAMyB,MAAM,KAAKX,MAAMI;AACvB,OAAIO,QAAQC,KAAAA,GAAW;IACrB,MAAMC,MAAMF,OAAO,OAAO,KAAKG,OAAOH,IAAI;AAC1C,QAAIZ,KAAKK,UAAUS,IACjBd,MAAKK,QAAQS;;;AAInBhC,gBAAcU,MAAM,SAAS,CAAC,CAACQ,MAAMS,GAAG,CAAC,EAAElB,EAAE;AAC7C,SAAOC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region ../gea/src/runtime/internal-symbols.ts
|
|
2
|
+
const GEA_SET_PROPS = Symbol.for("gea.component.setProps");
|
|
3
|
+
const GEA_DISPOSER = Symbol();
|
|
4
|
+
const GEA_CREATED_CALLED = Symbol();
|
|
5
|
+
const GEA_OBSERVE_DIRECT = Symbol();
|
|
6
|
+
//#endregion
|
|
7
|
+
export { GEA_SET_PROPS as i, GEA_DISPOSER as n, GEA_OBSERVE_DIRECT as r, GEA_CREATED_CALLED as t };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=internal-symbols.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-symbols.mjs","names":[],"sources":["../../gea/src/runtime/internal-symbols.ts"],"sourcesContent":["export const GEA_SET_PROPS = Symbol.for('gea.component.setProps')\nexport const GEA_DISPOSER = Symbol()\nexport const GEA_CREATED_CALLED = Symbol()\nexport const GEA_OBSERVE_DIRECT = Symbol()\nexport const GEA_ROOT_PROXY_HANDLER_FACTORY = Symbol.for('gea.store.rootProxyHandlerFactory')\nexport const GEA_NO_STORE_PROXY = Symbol()\n"],"mappings":";AAAA,MAAa,gBAAgB,OAAO,IAAI,yBAAyB;AACjE,MAAa,eAAe,QAAQ;AACpC,MAAa,qBAAqB,QAAQ;AAC1C,MAAa,qBAAqB,QAAQ"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { n as trackRead, u as GEA_PROXY_RAW } from "./bind.mjs";
|
|
2
|
+
//#region ../gea/src/runtime/keyed-list/item-obs.ts
|
|
3
|
+
/**
|
|
4
|
+
* Per-item observable for keyed-list rows that have item-rooted reactive
|
|
5
|
+
* bindings NOT extractable into patchRow (e.g., destructured item params,
|
|
6
|
+
* reactive getters referencing `item` inside createItem). Each row gets
|
|
7
|
+
* one `ItemObservable` and one Proxy wrapping it so that `trackRead` picks
|
|
8
|
+
* up a dep on the current item value.
|
|
9
|
+
*
|
|
10
|
+
* Elided at the keyed-list level when `cfg.noItemProxy` is true — the
|
|
11
|
+
* compiler sets that flag when it proves createItem has no such bindings.
|
|
12
|
+
*/
|
|
13
|
+
var ItemObs = class {
|
|
14
|
+
constructor(initial) {
|
|
15
|
+
this._o = [];
|
|
16
|
+
this.current = initial;
|
|
17
|
+
}
|
|
18
|
+
observe(_path, fn) {
|
|
19
|
+
const o = this._o;
|
|
20
|
+
const idx = o.length;
|
|
21
|
+
o.push(fn);
|
|
22
|
+
return () => {
|
|
23
|
+
o[idx] = null;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
_fire() {
|
|
27
|
+
const o = this._o;
|
|
28
|
+
for (let i = 0; i < o.length; i++) {
|
|
29
|
+
const fn = o[i];
|
|
30
|
+
if (fn) fn();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
function createItemObservable(initial) {
|
|
35
|
+
return new ItemObs(initial);
|
|
36
|
+
}
|
|
37
|
+
function createItemProxy(obs) {
|
|
38
|
+
return new Proxy({}, {
|
|
39
|
+
get(_t, prop) {
|
|
40
|
+
if (prop === GEA_PROXY_RAW) return obs.current;
|
|
41
|
+
trackRead(obs, "current");
|
|
42
|
+
const cur = obs.current;
|
|
43
|
+
if (cur == null) return void 0;
|
|
44
|
+
return cur[prop];
|
|
45
|
+
},
|
|
46
|
+
has(_t, prop) {
|
|
47
|
+
const cur = obs.current;
|
|
48
|
+
return cur != null && prop in Object(cur);
|
|
49
|
+
},
|
|
50
|
+
ownKeys() {
|
|
51
|
+
const cur = obs.current;
|
|
52
|
+
return cur != null ? Reflect.ownKeys(Object(cur)) : [];
|
|
53
|
+
},
|
|
54
|
+
getOwnPropertyDescriptor(_t, prop) {
|
|
55
|
+
const cur = obs.current;
|
|
56
|
+
if (cur == null) return void 0;
|
|
57
|
+
return Object.getOwnPropertyDescriptor(Object(cur), prop) ?? {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
value: cur[prop]
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { createItemProxy as n, createItemObservable as t };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=item-obs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-obs.mjs","names":[],"sources":["../../gea/src/runtime/keyed-list/item-obs.ts"],"sourcesContent":["/**\n * Per-item observable for keyed-list rows that have item-rooted reactive\n * bindings NOT extractable into patchRow (e.g., destructured item params,\n * reactive getters referencing `item` inside createItem). Each row gets\n * one `ItemObservable` and one Proxy wrapping it so that `trackRead` picks\n * up a dep on the current item value.\n *\n * Elided at the keyed-list level when `cfg.noItemProxy` is true — the\n * compiler sets that flag when it proves createItem has no such bindings.\n */\nimport { GEA_PROXY_RAW } from '../../symbols'\nimport { trackRead } from '../with-tracking'\nimport type { ItemObservable } from './types'\n\n// Class-based (prototype shares observe/_fire) + tombstone-array observer\n// list. Per-row savings: no per-instance method closures (was 2 per row),\n// and O(1) unsubscribe for teardown (was Set.delete hop + hash probe per\n// binding × rows on 09_clear1k).\nclass ItemObs implements ItemObservable {\n current: any\n _o: Array<(() => void) | null> = []\n constructor(initial: any) {\n this.current = initial\n }\n observe(_path: string | string[], fn: () => void): () => void {\n const o = this._o\n const idx = o.length\n o.push(fn)\n return () => {\n o[idx] = null\n }\n }\n _fire(): void {\n const o = this._o\n for (let i = 0; i < o.length; i++) {\n const fn = o[i]\n if (fn) fn()\n }\n }\n}\n\nexport function createItemObservable(initial: any): ItemObservable {\n return new ItemObs(initial)\n}\n\nexport function createItemProxy(obs: ItemObservable): any {\n return new Proxy(\n {},\n {\n get(_t, prop) {\n if (prop === GEA_PROXY_RAW) return obs.current\n trackRead(obs as any, 'current')\n const cur = obs.current\n if (cur == null) return undefined\n return (cur as any)[prop as any]\n },\n has(_t, prop) {\n const cur = obs.current\n return cur != null && prop in Object(cur)\n },\n ownKeys() {\n const cur = obs.current\n return cur != null ? Reflect.ownKeys(Object(cur)) : []\n },\n getOwnPropertyDescriptor(_t, prop) {\n const cur = obs.current\n if (cur == null) return undefined\n return (\n Object.getOwnPropertyDescriptor(Object(cur), prop) ?? {\n enumerable: true,\n configurable: true,\n value: (cur as any)[prop as any],\n }\n )\n },\n },\n )\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAM,UAAN,MAAwC;CAGtC,YAAY,SAAc;YADO,EAAE;AAEjC,OAAK,UAAU;;CAEjB,QAAQ,OAA0B,IAA4B;EAC5D,MAAM,IAAI,KAAK;EACf,MAAM,MAAM,EAAE;AACd,IAAE,KAAK,GAAG;AACV,eAAa;AACX,KAAE,OAAO;;;CAGb,QAAc;EACZ,MAAM,IAAI,KAAK;AACf,OAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;GACjC,MAAM,KAAK,EAAE;AACb,OAAI,GAAI,KAAI;;;;AAKlB,SAAgB,qBAAqB,SAA8B;AACjE,QAAO,IAAI,QAAQ,QAAQ;;AAG7B,SAAgB,gBAAgB,KAA0B;AACxD,QAAO,IAAI,MACT,EAAE,EACF;EACE,IAAI,IAAI,MAAM;AACZ,OAAI,SAAS,cAAe,QAAO,IAAI;AACvC,aAAU,KAAY,UAAU;GAChC,MAAM,MAAM,IAAI;AAChB,OAAI,OAAO,KAAM,QAAO,KAAA;AACxB,UAAQ,IAAY;;EAEtB,IAAI,IAAI,MAAM;GACZ,MAAM,MAAM,IAAI;AAChB,UAAO,OAAO,QAAQ,QAAQ,OAAO,IAAI;;EAE3C,UAAU;GACR,MAAM,MAAM,IAAI;AAChB,UAAO,OAAO,OAAO,QAAQ,QAAQ,OAAO,IAAI,CAAC,GAAG,EAAE;;EAExD,yBAAyB,IAAI,MAAM;GACjC,MAAM,MAAM,IAAI;AAChB,OAAI,OAAO,KAAM,QAAO,KAAA;AACxB,UACE,OAAO,yBAAyB,OAAO,IAAI,EAAE,KAAK,IAAI;IACpD,YAAY;IACZ,cAAc;IACd,OAAQ,IAAY;IACrB;;EAGN,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyed-list-symbols.mjs","names":[],"sources":["../../gea/src/runtime/keyed-list-symbols.ts"],"sourcesContent":["/** Symbols used by keyed-list row roots and compiler/runtime compatibility. */\nexport const GEA_DOM_KEY = Symbol()\nexport const GEA_DOM_ITEM = Symbol()\n"],"mappings":";AAEA,MAAa,eAAe,QAAQ"}
|