@fairfox/polly 0.29.4 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/mesh.js +9 -2
- package/dist/src/mesh.js.map +3 -3
- package/dist/src/polly-ui/Card.d.ts +24 -0
- package/dist/src/polly-ui/Modal.d.ts +12 -9
- package/dist/src/polly-ui/Surface.d.ts +73 -0
- package/dist/src/polly-ui/index.css +73 -12
- package/dist/src/polly-ui/index.d.ts +2 -0
- package/dist/src/polly-ui/index.js +344 -85
- package/dist/src/polly-ui/index.js.map +7 -5
- package/dist/src/polly-ui/styles.css +73 -12
- package/dist/src/shared/lib/mesh-client.d.ts +37 -0
- package/package.json +1 -1
|
@@ -517,6 +517,257 @@ function Button(props) {
|
|
|
517
517
|
children: content
|
|
518
518
|
}, undefined, false, undefined, this);
|
|
519
519
|
}
|
|
520
|
+
// src/polly-ui/Surface.tsx
|
|
521
|
+
import { createElement as createElement2 } from "preact";
|
|
522
|
+
|
|
523
|
+
// src/polly-ui/Surface.module.css
|
|
524
|
+
var Surface_module_default = {
|
|
525
|
+
surface: "surface_pQCFqA",
|
|
526
|
+
inline: "inline_pQCFqA",
|
|
527
|
+
"sides-block-start": "sides-block-start_pQCFqA",
|
|
528
|
+
"sides-block-end": "sides-block-end_pQCFqA",
|
|
529
|
+
"sides-inline-start": "sides-inline-start_pQCFqA",
|
|
530
|
+
"sides-inline-end": "sides-inline-end_pQCFqA",
|
|
531
|
+
"sides-block": "sides-block_pQCFqA",
|
|
532
|
+
"sides-inline": "sides-inline_pQCFqA"
|
|
533
|
+
};
|
|
534
|
+
|
|
535
|
+
// src/polly-ui/Surface.tsx
|
|
536
|
+
var variantDefaults = {
|
|
537
|
+
plain: {},
|
|
538
|
+
raised: {
|
|
539
|
+
background: "raised",
|
|
540
|
+
radius: "md",
|
|
541
|
+
shadow: "md",
|
|
542
|
+
border: "default"
|
|
543
|
+
},
|
|
544
|
+
sunken: {
|
|
545
|
+
background: "sunken",
|
|
546
|
+
radius: "md",
|
|
547
|
+
border: "default"
|
|
548
|
+
},
|
|
549
|
+
bubble: {
|
|
550
|
+
radius: "md",
|
|
551
|
+
border: "default",
|
|
552
|
+
padding: "var(--polly-space-sm) var(--polly-space-md)"
|
|
553
|
+
},
|
|
554
|
+
chip: {
|
|
555
|
+
inline: true,
|
|
556
|
+
radius: "full",
|
|
557
|
+
padding: "var(--polly-space-xs) var(--polly-space-sm)",
|
|
558
|
+
border: "default"
|
|
559
|
+
},
|
|
560
|
+
callout: {
|
|
561
|
+
border: "default",
|
|
562
|
+
radius: "sm",
|
|
563
|
+
padding: "var(--polly-space-sm) var(--polly-space-md)"
|
|
564
|
+
},
|
|
565
|
+
floating: {
|
|
566
|
+
position: "fixed",
|
|
567
|
+
radius: "lg",
|
|
568
|
+
shadow: "lg",
|
|
569
|
+
border: "default",
|
|
570
|
+
background: "raised",
|
|
571
|
+
zIndex: 9999
|
|
572
|
+
},
|
|
573
|
+
"sticky-bar": {
|
|
574
|
+
position: "sticky",
|
|
575
|
+
inset: "0 0 auto 0",
|
|
576
|
+
borderSides: "block-end",
|
|
577
|
+
border: "default"
|
|
578
|
+
}
|
|
579
|
+
};
|
|
580
|
+
function bgValue(b) {
|
|
581
|
+
if (b === "raised")
|
|
582
|
+
return "var(--polly-surface-raised)";
|
|
583
|
+
if (b === "sunken")
|
|
584
|
+
return "var(--polly-surface-sunken)";
|
|
585
|
+
if (b === "transparent")
|
|
586
|
+
return "transparent";
|
|
587
|
+
return b;
|
|
588
|
+
}
|
|
589
|
+
function radiusValue(r) {
|
|
590
|
+
if (r === "none")
|
|
591
|
+
return "0";
|
|
592
|
+
return `var(--polly-radius-${r})`;
|
|
593
|
+
}
|
|
594
|
+
function borderColorValue(b) {
|
|
595
|
+
if (b === "none")
|
|
596
|
+
return "transparent";
|
|
597
|
+
if (b === "strong")
|
|
598
|
+
return "var(--polly-border-strong)";
|
|
599
|
+
return "var(--polly-border)";
|
|
600
|
+
}
|
|
601
|
+
function borderWidthValue(w) {
|
|
602
|
+
if (w === "none")
|
|
603
|
+
return "0";
|
|
604
|
+
return `var(--polly-border-width-${w})`;
|
|
605
|
+
}
|
|
606
|
+
function shadowValue(s) {
|
|
607
|
+
if (s === "none")
|
|
608
|
+
return "none";
|
|
609
|
+
return `var(--polly-shadow-${s})`;
|
|
610
|
+
}
|
|
611
|
+
function borderSidesClass(sides) {
|
|
612
|
+
if (sides === "all")
|
|
613
|
+
return;
|
|
614
|
+
if (sides === "block-start")
|
|
615
|
+
return Surface_module_default["sides-block-start"];
|
|
616
|
+
if (sides === "block-end")
|
|
617
|
+
return Surface_module_default["sides-block-end"];
|
|
618
|
+
if (sides === "inline-start")
|
|
619
|
+
return Surface_module_default["sides-inline-start"];
|
|
620
|
+
if (sides === "inline-end")
|
|
621
|
+
return Surface_module_default["sides-inline-end"];
|
|
622
|
+
if (sides === "block")
|
|
623
|
+
return Surface_module_default["sides-block"];
|
|
624
|
+
if (sides === "inline")
|
|
625
|
+
return Surface_module_default["sides-inline"];
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
function Surface(props) {
|
|
629
|
+
const { variant = "plain" } = props;
|
|
630
|
+
const v = variantDefaults[variant];
|
|
631
|
+
const as = props.as ?? "div";
|
|
632
|
+
const padding = props.padding ?? v.padding;
|
|
633
|
+
const background = props.background ?? v.background;
|
|
634
|
+
const radius = props.radius ?? v.radius;
|
|
635
|
+
const border = props.border ?? v.border;
|
|
636
|
+
const borderSides = props.borderSides ?? v.borderSides ?? "all";
|
|
637
|
+
const shadow = props.shadow ?? v.shadow;
|
|
638
|
+
const inline = props.inline ?? v.inline;
|
|
639
|
+
const width = props.width ?? v.width;
|
|
640
|
+
const height = props.height ?? v.height;
|
|
641
|
+
const minHeight = props.minHeight ?? v.minHeight;
|
|
642
|
+
const maxInlineSize = props.maxInlineSize ?? v.maxInlineSize;
|
|
643
|
+
const position = props.position ?? v.position;
|
|
644
|
+
const inset = props.inset ?? v.inset;
|
|
645
|
+
const zIndex = props.zIndex ?? v.zIndex;
|
|
646
|
+
const borderWidth = props.borderWidth ?? v.borderWidth ?? (border && border !== "none" ? "default" : undefined);
|
|
647
|
+
const style = {};
|
|
648
|
+
if (padding)
|
|
649
|
+
style["--s-p"] = padding;
|
|
650
|
+
if (background)
|
|
651
|
+
style["--s-bg"] = bgValue(background);
|
|
652
|
+
if (radius)
|
|
653
|
+
style["--s-radius"] = radiusValue(radius);
|
|
654
|
+
if (border)
|
|
655
|
+
style["--s-border-color"] = borderColorValue(border);
|
|
656
|
+
if (borderWidth)
|
|
657
|
+
style["--s-border-width"] = borderWidthValue(borderWidth);
|
|
658
|
+
if (shadow)
|
|
659
|
+
style["--s-shadow"] = shadowValue(shadow);
|
|
660
|
+
if (width)
|
|
661
|
+
style["--s-w"] = width;
|
|
662
|
+
if (height)
|
|
663
|
+
style["--s-h"] = height;
|
|
664
|
+
if (minHeight)
|
|
665
|
+
style["--s-mh"] = minHeight;
|
|
666
|
+
if (maxInlineSize)
|
|
667
|
+
style["--s-mis"] = maxInlineSize;
|
|
668
|
+
if (position)
|
|
669
|
+
style["--s-position"] = position;
|
|
670
|
+
if (inset)
|
|
671
|
+
style["--s-inset"] = inset;
|
|
672
|
+
if (zIndex !== undefined)
|
|
673
|
+
style["--s-z"] = String(zIndex);
|
|
674
|
+
if (props.style) {
|
|
675
|
+
Object.assign(style, props.style);
|
|
676
|
+
}
|
|
677
|
+
const parts = [Surface_module_default["surface"]];
|
|
678
|
+
if (inline)
|
|
679
|
+
parts.push(Surface_module_default["inline"]);
|
|
680
|
+
parts.push(borderSidesClass(borderSides));
|
|
681
|
+
if (props.className)
|
|
682
|
+
parts.push(props.className);
|
|
683
|
+
const className = parts.filter(Boolean).join(" ");
|
|
684
|
+
const passthrough = {};
|
|
685
|
+
for (const key of Object.keys(props)) {
|
|
686
|
+
const isData = key.startsWith("data-");
|
|
687
|
+
const isAria = key.startsWith("aria-");
|
|
688
|
+
if (!isData && !isAria)
|
|
689
|
+
continue;
|
|
690
|
+
if (key === "data-polly-surface")
|
|
691
|
+
continue;
|
|
692
|
+
if (key === "aria-label" || key === "aria-labelledby" || key === "aria-describedby")
|
|
693
|
+
continue;
|
|
694
|
+
const value = props[key];
|
|
695
|
+
if (value === undefined)
|
|
696
|
+
continue;
|
|
697
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
698
|
+
passthrough[key] = value;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
return createElement2(as, {
|
|
702
|
+
id: props.id,
|
|
703
|
+
className,
|
|
704
|
+
style,
|
|
705
|
+
onClick: props.onClick,
|
|
706
|
+
onKeyDown: props.onKeyDown,
|
|
707
|
+
role: props.role,
|
|
708
|
+
tabIndex: props.tabIndex,
|
|
709
|
+
"aria-label": props["aria-label"],
|
|
710
|
+
"aria-labelledby": props["aria-labelledby"],
|
|
711
|
+
"aria-describedby": props["aria-describedby"],
|
|
712
|
+
"data-polly-surface": variant,
|
|
713
|
+
...passthrough
|
|
714
|
+
}, props.children);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
// src/polly-ui/Card.tsx
|
|
718
|
+
import { jsxDEV as jsxDEV5 } from "preact/jsx-dev-runtime";
|
|
719
|
+
function Root(props) {
|
|
720
|
+
const { variant = "raised", radius = "md", ...rest } = props;
|
|
721
|
+
return /* @__PURE__ */ jsxDEV5(Surface, {
|
|
722
|
+
variant,
|
|
723
|
+
radius,
|
|
724
|
+
"data-polly-card": true,
|
|
725
|
+
...rest,
|
|
726
|
+
children: props.children
|
|
727
|
+
}, undefined, false, undefined, this);
|
|
728
|
+
}
|
|
729
|
+
function Header(props) {
|
|
730
|
+
const {
|
|
731
|
+
padding = "var(--polly-space-md) var(--polly-space-lg)",
|
|
732
|
+
border = "default",
|
|
733
|
+
borderSides = "block-end",
|
|
734
|
+
...rest
|
|
735
|
+
} = props;
|
|
736
|
+
return /* @__PURE__ */ jsxDEV5(Surface, {
|
|
737
|
+
padding,
|
|
738
|
+
border,
|
|
739
|
+
borderSides,
|
|
740
|
+
"data-polly-card-header": true,
|
|
741
|
+
...rest,
|
|
742
|
+
children: props.children
|
|
743
|
+
}, undefined, false, undefined, this);
|
|
744
|
+
}
|
|
745
|
+
function Body(props) {
|
|
746
|
+
const { padding = "var(--polly-space-lg)", ...rest } = props;
|
|
747
|
+
return /* @__PURE__ */ jsxDEV5(Surface, {
|
|
748
|
+
padding,
|
|
749
|
+
"data-polly-card-body": true,
|
|
750
|
+
...rest,
|
|
751
|
+
children: props.children
|
|
752
|
+
}, undefined, false, undefined, this);
|
|
753
|
+
}
|
|
754
|
+
function Footer(props) {
|
|
755
|
+
const {
|
|
756
|
+
padding = "var(--polly-space-md) var(--polly-space-lg)",
|
|
757
|
+
border = "default",
|
|
758
|
+
borderSides = "block-start",
|
|
759
|
+
...rest
|
|
760
|
+
} = props;
|
|
761
|
+
return /* @__PURE__ */ jsxDEV5(Surface, {
|
|
762
|
+
padding,
|
|
763
|
+
border,
|
|
764
|
+
borderSides,
|
|
765
|
+
"data-polly-card-footer": true,
|
|
766
|
+
...rest,
|
|
767
|
+
children: props.children
|
|
768
|
+
}, undefined, false, undefined, this);
|
|
769
|
+
}
|
|
770
|
+
var Card = { Root, Header, Body, Footer };
|
|
520
771
|
// src/polly-ui/Checkbox.module.css
|
|
521
772
|
var Checkbox_module_default = {
|
|
522
773
|
checkbox: "checkbox_EKE5sg",
|
|
@@ -526,7 +777,7 @@ var Checkbox_module_default = {
|
|
|
526
777
|
};
|
|
527
778
|
|
|
528
779
|
// src/polly-ui/Checkbox.tsx
|
|
529
|
-
import { jsxDEV as
|
|
780
|
+
import { jsxDEV as jsxDEV6 } from "preact/jsx-dev-runtime";
|
|
530
781
|
function isSignal(value) {
|
|
531
782
|
return typeof value === "object" && value !== null && "value" in value && "peek" in value;
|
|
532
783
|
}
|
|
@@ -543,12 +794,12 @@ function Checkbox(props) {
|
|
|
543
794
|
parts.push(Checkbox_module_default["disabled"] ?? "");
|
|
544
795
|
if (className)
|
|
545
796
|
parts.push(className);
|
|
546
|
-
return /* @__PURE__ */
|
|
797
|
+
return /* @__PURE__ */ jsxDEV6("label", {
|
|
547
798
|
class: parts.filter(Boolean).join(" "),
|
|
548
799
|
"data-polly-ui": true,
|
|
549
800
|
"data-polly-checkbox": true,
|
|
550
801
|
children: [
|
|
551
|
-
/* @__PURE__ */
|
|
802
|
+
/* @__PURE__ */ jsxDEV6("input", {
|
|
552
803
|
id,
|
|
553
804
|
type: "checkbox",
|
|
554
805
|
class: Checkbox_module_default["input"],
|
|
@@ -558,7 +809,7 @@ function Checkbox(props) {
|
|
|
558
809
|
disabled,
|
|
559
810
|
onChange: handleChange
|
|
560
811
|
}, undefined, false, undefined, this),
|
|
561
|
-
label !== undefined && /* @__PURE__ */
|
|
812
|
+
label !== undefined && /* @__PURE__ */ jsxDEV6("span", {
|
|
562
813
|
class: Checkbox_module_default["label"],
|
|
563
814
|
children: label
|
|
564
815
|
}, undefined, false, undefined, this)
|
|
@@ -573,24 +824,24 @@ var Collapsible_module_default = {
|
|
|
573
824
|
};
|
|
574
825
|
|
|
575
826
|
// src/polly-ui/Collapsible.tsx
|
|
576
|
-
import { jsxDEV as
|
|
827
|
+
import { jsxDEV as jsxDEV7 } from "preact/jsx-dev-runtime";
|
|
577
828
|
function Collapsible(props) {
|
|
578
829
|
const { summary, children, defaultOpen = false, className, id } = props;
|
|
579
830
|
const parts = [Collapsible_module_default["collapsible"]];
|
|
580
831
|
if (className)
|
|
581
832
|
parts.push(className);
|
|
582
|
-
return /* @__PURE__ */
|
|
833
|
+
return /* @__PURE__ */ jsxDEV7("details", {
|
|
583
834
|
id,
|
|
584
835
|
class: parts.join(" "),
|
|
585
836
|
open: defaultOpen,
|
|
586
837
|
"data-polly-ui": true,
|
|
587
838
|
"data-polly-collapsible": true,
|
|
588
839
|
children: [
|
|
589
|
-
/* @__PURE__ */
|
|
840
|
+
/* @__PURE__ */ jsxDEV7("summary", {
|
|
590
841
|
class: Collapsible_module_default["summary"],
|
|
591
842
|
children: summary
|
|
592
843
|
}, undefined, false, undefined, this),
|
|
593
|
-
/* @__PURE__ */
|
|
844
|
+
/* @__PURE__ */ jsxDEV7("div", {
|
|
594
845
|
class: Collapsible_module_default["content"],
|
|
595
846
|
children
|
|
596
847
|
}, undefined, false, undefined, this)
|
|
@@ -760,7 +1011,7 @@ var OverlayRoot_module_default = {
|
|
|
760
1011
|
};
|
|
761
1012
|
|
|
762
1013
|
// src/polly-ui/OverlayRoot.tsx
|
|
763
|
-
import { jsxDEV as
|
|
1014
|
+
import { jsxDEV as jsxDEV8 } from "preact/jsx-dev-runtime";
|
|
764
1015
|
function OverlayRoot() {
|
|
765
1016
|
const ref = useRef2(null);
|
|
766
1017
|
useEffect2(() => {
|
|
@@ -779,7 +1030,7 @@ function OverlayRoot() {
|
|
|
779
1030
|
release?.();
|
|
780
1031
|
};
|
|
781
1032
|
}, []);
|
|
782
|
-
return /* @__PURE__ */
|
|
1033
|
+
return /* @__PURE__ */ jsxDEV8("div", {
|
|
783
1034
|
ref,
|
|
784
1035
|
class: OverlayRoot_module_default["root"],
|
|
785
1036
|
"data-polly-ui": true,
|
|
@@ -791,7 +1042,7 @@ function getOverlayRootNode() {
|
|
|
791
1042
|
}
|
|
792
1043
|
|
|
793
1044
|
// src/polly-ui/Modal.tsx
|
|
794
|
-
import { jsxDEV as
|
|
1045
|
+
import { jsxDEV as jsxDEV9 } from "preact/jsx-dev-runtime";
|
|
795
1046
|
var Ctx = createContext(null);
|
|
796
1047
|
function useModal() {
|
|
797
1048
|
const ctx = useContext(Ctx);
|
|
@@ -799,7 +1050,7 @@ function useModal() {
|
|
|
799
1050
|
throw new Error("Modal sub-components must render inside <Modal.Root>");
|
|
800
1051
|
return ctx;
|
|
801
1052
|
}
|
|
802
|
-
function
|
|
1053
|
+
function Root2({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
803
1054
|
const id = useId();
|
|
804
1055
|
const titleId = `${id}-title`;
|
|
805
1056
|
const descId = `${id}-desc`;
|
|
@@ -831,9 +1082,9 @@ function Root({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
|
831
1082
|
onClose?.();
|
|
832
1083
|
};
|
|
833
1084
|
const ctx = { id, titleId, descId, close };
|
|
834
|
-
const content = /* @__PURE__ */
|
|
1085
|
+
const content = /* @__PURE__ */ jsxDEV9(Ctx.Provider, {
|
|
835
1086
|
value: ctx,
|
|
836
|
-
children: /* @__PURE__ */
|
|
1087
|
+
children: /* @__PURE__ */ jsxDEV9("div", {
|
|
837
1088
|
ref: mountRef,
|
|
838
1089
|
class: Modal_module_default["container"],
|
|
839
1090
|
"data-polly-ui": true,
|
|
@@ -852,22 +1103,28 @@ function Root({ when, onClose, children, "aria-label": ariaLabel }) {
|
|
|
852
1103
|
}
|
|
853
1104
|
function Backdrop() {
|
|
854
1105
|
const { close } = useModal();
|
|
855
|
-
return /* @__PURE__ */
|
|
1106
|
+
return /* @__PURE__ */ jsxDEV9("div", {
|
|
856
1107
|
class: Modal_module_default["backdrop"],
|
|
857
1108
|
"data-polly-modal-backdrop": true,
|
|
858
1109
|
onClick: close,
|
|
859
1110
|
"aria-hidden": "true"
|
|
860
1111
|
}, undefined, false, undefined, this);
|
|
861
1112
|
}
|
|
862
|
-
function Content({ children }) {
|
|
863
|
-
|
|
864
|
-
|
|
1113
|
+
function Content({ children, className, style }) {
|
|
1114
|
+
const cls = className ? `${Modal_module_default["surface"]} ${className}` : Modal_module_default["surface"];
|
|
1115
|
+
return /* @__PURE__ */ jsxDEV9(Surface, {
|
|
1116
|
+
variant: "raised",
|
|
1117
|
+
radius: "lg",
|
|
1118
|
+
shadow: "lg",
|
|
1119
|
+
position: "relative",
|
|
1120
|
+
className: cls,
|
|
1121
|
+
style,
|
|
865
1122
|
"data-polly-modal-surface": true,
|
|
866
1123
|
children
|
|
867
1124
|
}, undefined, false, undefined, this);
|
|
868
1125
|
}
|
|
869
|
-
function
|
|
870
|
-
return /* @__PURE__ */
|
|
1126
|
+
function Header2({ children }) {
|
|
1127
|
+
return /* @__PURE__ */ jsxDEV9("header", {
|
|
871
1128
|
class: Modal_module_default["header"],
|
|
872
1129
|
"data-polly-modal-header": true,
|
|
873
1130
|
children
|
|
@@ -875,24 +1132,24 @@ function Header({ children }) {
|
|
|
875
1132
|
}
|
|
876
1133
|
function Title({ children }) {
|
|
877
1134
|
const { titleId } = useModal();
|
|
878
|
-
return /* @__PURE__ */
|
|
1135
|
+
return /* @__PURE__ */ jsxDEV9("h2", {
|
|
879
1136
|
id: titleId,
|
|
880
1137
|
class: Modal_module_default["title"],
|
|
881
1138
|
"data-polly-modal-title": true,
|
|
882
1139
|
children
|
|
883
1140
|
}, undefined, false, undefined, this);
|
|
884
1141
|
}
|
|
885
|
-
function
|
|
1142
|
+
function Body2({ children }) {
|
|
886
1143
|
const { descId } = useModal();
|
|
887
|
-
return /* @__PURE__ */
|
|
1144
|
+
return /* @__PURE__ */ jsxDEV9("div", {
|
|
888
1145
|
id: descId,
|
|
889
1146
|
class: Modal_module_default["body"],
|
|
890
1147
|
"data-polly-modal-body": true,
|
|
891
1148
|
children
|
|
892
1149
|
}, undefined, false, undefined, this);
|
|
893
1150
|
}
|
|
894
|
-
function
|
|
895
|
-
return /* @__PURE__ */
|
|
1151
|
+
function Footer2({ children }) {
|
|
1152
|
+
return /* @__PURE__ */ jsxDEV9("footer", {
|
|
896
1153
|
class: Modal_module_default["footer"],
|
|
897
1154
|
"data-polly-modal-footer": true,
|
|
898
1155
|
children
|
|
@@ -901,7 +1158,7 @@ function Footer({ children }) {
|
|
|
901
1158
|
function Close({ children, action }) {
|
|
902
1159
|
const { close } = useModal();
|
|
903
1160
|
if (action) {
|
|
904
|
-
return /* @__PURE__ */
|
|
1161
|
+
return /* @__PURE__ */ jsxDEV9("button", {
|
|
905
1162
|
type: "button",
|
|
906
1163
|
class: Modal_module_default["close"],
|
|
907
1164
|
"data-polly-ui": true,
|
|
@@ -911,7 +1168,7 @@ function Close({ children, action }) {
|
|
|
911
1168
|
children
|
|
912
1169
|
}, undefined, false, undefined, this);
|
|
913
1170
|
}
|
|
914
|
-
return /* @__PURE__ */
|
|
1171
|
+
return /* @__PURE__ */ jsxDEV9("button", {
|
|
915
1172
|
type: "button",
|
|
916
1173
|
class: Modal_module_default["close"],
|
|
917
1174
|
"data-polly-ui": true,
|
|
@@ -922,18 +1179,18 @@ function Close({ children, action }) {
|
|
|
922
1179
|
}, undefined, false, undefined, this);
|
|
923
1180
|
}
|
|
924
1181
|
var Modal = {
|
|
925
|
-
Root,
|
|
1182
|
+
Root: Root2,
|
|
926
1183
|
Backdrop,
|
|
927
1184
|
Content,
|
|
928
|
-
Header,
|
|
1185
|
+
Header: Header2,
|
|
929
1186
|
Title,
|
|
930
|
-
Body,
|
|
931
|
-
Footer,
|
|
1187
|
+
Body: Body2,
|
|
1188
|
+
Footer: Footer2,
|
|
932
1189
|
Close
|
|
933
1190
|
};
|
|
934
1191
|
|
|
935
1192
|
// src/polly-ui/ConfirmDialog.tsx
|
|
936
|
-
import { jsxDEV as
|
|
1193
|
+
import { jsxDEV as jsxDEV10 } from "preact/jsx-dev-runtime";
|
|
937
1194
|
var pending = signal2(null);
|
|
938
1195
|
var isOpen = signal2(false);
|
|
939
1196
|
var nextId = 0;
|
|
@@ -964,27 +1221,27 @@ function Host() {
|
|
|
964
1221
|
const current = pending.value;
|
|
965
1222
|
if (!current)
|
|
966
1223
|
return null;
|
|
967
|
-
return /* @__PURE__ */
|
|
1224
|
+
return /* @__PURE__ */ jsxDEV10(Modal.Root, {
|
|
968
1225
|
when: isOpen,
|
|
969
1226
|
onClose: () => close(false),
|
|
970
1227
|
children: [
|
|
971
|
-
/* @__PURE__ */
|
|
972
|
-
/* @__PURE__ */
|
|
1228
|
+
/* @__PURE__ */ jsxDEV10(Modal.Backdrop, {}, undefined, false, undefined, this),
|
|
1229
|
+
/* @__PURE__ */ jsxDEV10(Modal.Content, {
|
|
973
1230
|
children: [
|
|
974
|
-
/* @__PURE__ */
|
|
975
|
-
children: /* @__PURE__ */
|
|
1231
|
+
/* @__PURE__ */ jsxDEV10(Modal.Header, {
|
|
1232
|
+
children: /* @__PURE__ */ jsxDEV10(Modal.Title, {
|
|
976
1233
|
children: current.title
|
|
977
1234
|
}, undefined, false, undefined, this)
|
|
978
1235
|
}, undefined, false, undefined, this),
|
|
979
|
-
current.body ? /* @__PURE__ */
|
|
1236
|
+
current.body ? /* @__PURE__ */ jsxDEV10(Modal.Body, {
|
|
980
1237
|
children: current.body
|
|
981
1238
|
}, undefined, false, undefined, this) : null,
|
|
982
|
-
/* @__PURE__ */
|
|
983
|
-
children: /* @__PURE__ */
|
|
1239
|
+
/* @__PURE__ */ jsxDEV10(Modal.Footer, {
|
|
1240
|
+
children: /* @__PURE__ */ jsxDEV10("div", {
|
|
984
1241
|
class: ConfirmDialog_module_default["actions"],
|
|
985
1242
|
"data-polly-confirm-actions": true,
|
|
986
1243
|
children: [
|
|
987
|
-
/* @__PURE__ */
|
|
1244
|
+
/* @__PURE__ */ jsxDEV10("button", {
|
|
988
1245
|
type: "button",
|
|
989
1246
|
class: ConfirmDialog_module_default["cancel"],
|
|
990
1247
|
"data-polly-ui": true,
|
|
@@ -993,7 +1250,7 @@ function Host() {
|
|
|
993
1250
|
onClick: () => close(false),
|
|
994
1251
|
children: current.cancelLabel ?? "Cancel"
|
|
995
1252
|
}, undefined, false, undefined, this),
|
|
996
|
-
/* @__PURE__ */
|
|
1253
|
+
/* @__PURE__ */ jsxDEV10("button", {
|
|
997
1254
|
type: "button",
|
|
998
1255
|
class: current.danger ? ConfirmDialog_module_default["confirmDanger"] : ConfirmDialog_module_default["confirm"],
|
|
999
1256
|
"data-polly-ui": true,
|
|
@@ -1024,7 +1281,7 @@ var Dropdown_module_default = {
|
|
|
1024
1281
|
};
|
|
1025
1282
|
|
|
1026
1283
|
// src/polly-ui/Dropdown.tsx
|
|
1027
|
-
import { jsxDEV as
|
|
1284
|
+
import { jsxDEV as jsxDEV11 } from "preact/jsx-dev-runtime";
|
|
1028
1285
|
var dropdownCounter = 0;
|
|
1029
1286
|
function Dropdown(props) {
|
|
1030
1287
|
const { isOpen: isOpen2, trigger, children, align = "left", multiSelect = false, className, id } = props;
|
|
@@ -1080,19 +1337,19 @@ function Dropdown(props) {
|
|
|
1080
1337
|
const menuParts = [Dropdown_module_default["menu"] ?? ""];
|
|
1081
1338
|
if (align === "right")
|
|
1082
1339
|
menuParts.push(Dropdown_module_default["alignRight"] ?? "");
|
|
1083
|
-
return /* @__PURE__ */
|
|
1340
|
+
return /* @__PURE__ */ jsxDEV11("div", {
|
|
1084
1341
|
id,
|
|
1085
1342
|
class: parts.filter(Boolean).join(" "),
|
|
1086
1343
|
"data-polly-ui": true,
|
|
1087
1344
|
"data-polly-dropdown": true,
|
|
1088
1345
|
children: [
|
|
1089
|
-
/* @__PURE__ */
|
|
1346
|
+
/* @__PURE__ */ jsxDEV11("button", {
|
|
1090
1347
|
ref: triggerRef,
|
|
1091
1348
|
type: "button",
|
|
1092
1349
|
class: Dropdown_module_default["trigger"],
|
|
1093
1350
|
children: trigger
|
|
1094
1351
|
}, undefined, false, undefined, this),
|
|
1095
|
-
/* @__PURE__ */
|
|
1352
|
+
/* @__PURE__ */ jsxDEV11("div", {
|
|
1096
1353
|
ref: menuRef,
|
|
1097
1354
|
id: popoverId,
|
|
1098
1355
|
role: "listbox",
|
|
@@ -1102,7 +1359,7 @@ function Dropdown(props) {
|
|
|
1102
1359
|
onToggle: handleToggle,
|
|
1103
1360
|
onClick: handleMenuClick,
|
|
1104
1361
|
onKeyDown: handleKeyDown,
|
|
1105
|
-
children: /* @__PURE__ */
|
|
1362
|
+
children: /* @__PURE__ */ jsxDEV11(Layout, {
|
|
1106
1363
|
rows: "auto",
|
|
1107
1364
|
gap: "0",
|
|
1108
1365
|
children
|
|
@@ -1128,7 +1385,7 @@ var Select_module_default = {
|
|
|
1128
1385
|
};
|
|
1129
1386
|
|
|
1130
1387
|
// src/polly-ui/Select.tsx
|
|
1131
|
-
import { jsxDEV as
|
|
1388
|
+
import { jsxDEV as jsxDEV12 } from "preact/jsx-dev-runtime";
|
|
1132
1389
|
function formatSelected(options, selected) {
|
|
1133
1390
|
if (selected.size === 0)
|
|
1134
1391
|
return "";
|
|
@@ -1176,7 +1433,7 @@ function Select(props) {
|
|
|
1176
1433
|
selected.value = new Set;
|
|
1177
1434
|
};
|
|
1178
1435
|
const triggerClass = isEmpty.value ? `${Select_module_default["trigger"]} ${Select_module_default["placeholder"]}` : Select_module_default["trigger"];
|
|
1179
|
-
const triggerButton = /* @__PURE__ */
|
|
1436
|
+
const triggerButton = /* @__PURE__ */ jsxDEV12("button", {
|
|
1180
1437
|
type: "button",
|
|
1181
1438
|
class: triggerClass,
|
|
1182
1439
|
disabled,
|
|
@@ -1185,34 +1442,34 @@ function Select(props) {
|
|
|
1185
1442
|
const parts = [Select_module_default["select"] ?? ""];
|
|
1186
1443
|
if (className)
|
|
1187
1444
|
parts.push(className);
|
|
1188
|
-
return /* @__PURE__ */
|
|
1445
|
+
return /* @__PURE__ */ jsxDEV12("div", {
|
|
1189
1446
|
id,
|
|
1190
1447
|
class: parts.filter(Boolean).join(" "),
|
|
1191
1448
|
"data-polly-ui": true,
|
|
1192
1449
|
"data-polly-select": true,
|
|
1193
1450
|
children: [
|
|
1194
|
-
label !== undefined && /* @__PURE__ */
|
|
1451
|
+
label !== undefined && /* @__PURE__ */ jsxDEV12("span", {
|
|
1195
1452
|
class: Select_module_default["label"],
|
|
1196
1453
|
children: label
|
|
1197
1454
|
}, undefined, false, undefined, this),
|
|
1198
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsxDEV12(Dropdown, {
|
|
1199
1456
|
isOpen: isOpen2,
|
|
1200
1457
|
trigger: triggerButton,
|
|
1201
1458
|
multiSelect,
|
|
1202
1459
|
children: [
|
|
1203
|
-
multiSelect && /* @__PURE__ */
|
|
1460
|
+
multiSelect && /* @__PURE__ */ jsxDEV12("div", {
|
|
1204
1461
|
class: Select_module_default["actions"],
|
|
1205
|
-
children: /* @__PURE__ */
|
|
1462
|
+
children: /* @__PURE__ */ jsxDEV12(Layout, {
|
|
1206
1463
|
columns: "1fr 1fr",
|
|
1207
1464
|
gap: "var(--polly-space-xs)",
|
|
1208
1465
|
children: [
|
|
1209
|
-
/* @__PURE__ */
|
|
1466
|
+
/* @__PURE__ */ jsxDEV12("button", {
|
|
1210
1467
|
type: "button",
|
|
1211
1468
|
class: Select_module_default["actionBtn"],
|
|
1212
1469
|
onClick: handleSelectAll,
|
|
1213
1470
|
children: "Select All"
|
|
1214
1471
|
}, undefined, false, undefined, this),
|
|
1215
|
-
/* @__PURE__ */
|
|
1472
|
+
/* @__PURE__ */ jsxDEV12("button", {
|
|
1216
1473
|
type: "button",
|
|
1217
1474
|
class: Select_module_default["actionBtn"],
|
|
1218
1475
|
onClick: handleClear,
|
|
@@ -1224,19 +1481,19 @@ function Select(props) {
|
|
|
1224
1481
|
options.map((opt) => {
|
|
1225
1482
|
const isSelected = selected.value.has(opt.value);
|
|
1226
1483
|
const optClass = isSelected ? `${Select_module_default["option"]} ${Select_module_default["optionSelected"]}` : Select_module_default["option"];
|
|
1227
|
-
return /* @__PURE__ */
|
|
1484
|
+
return /* @__PURE__ */ jsxDEV12("button", {
|
|
1228
1485
|
type: "button",
|
|
1229
1486
|
class: optClass,
|
|
1230
1487
|
onClick: () => handleOptionClick(opt.value),
|
|
1231
1488
|
children: [
|
|
1232
|
-
multiSelect && /* @__PURE__ */
|
|
1489
|
+
multiSelect && /* @__PURE__ */ jsxDEV12("input", {
|
|
1233
1490
|
type: "checkbox",
|
|
1234
1491
|
class: Select_module_default["optionCheck"],
|
|
1235
1492
|
checked: isSelected,
|
|
1236
1493
|
tabIndex: -1,
|
|
1237
1494
|
readOnly: true
|
|
1238
1495
|
}, undefined, false, undefined, this),
|
|
1239
|
-
/* @__PURE__ */
|
|
1496
|
+
/* @__PURE__ */ jsxDEV12("span", {
|
|
1240
1497
|
children: opt.label
|
|
1241
1498
|
}, undefined, false, undefined, this)
|
|
1242
1499
|
]
|
|
@@ -1256,7 +1513,7 @@ var Skeleton_module_default = {
|
|
|
1256
1513
|
};
|
|
1257
1514
|
|
|
1258
1515
|
// src/polly-ui/Skeleton.tsx
|
|
1259
|
-
import { jsxDEV as
|
|
1516
|
+
import { jsxDEV as jsxDEV13 } from "preact/jsx-dev-runtime";
|
|
1260
1517
|
function resolveSize(value) {
|
|
1261
1518
|
if (value === undefined)
|
|
1262
1519
|
return;
|
|
@@ -1289,7 +1546,7 @@ function Skeleton(props) {
|
|
|
1289
1546
|
parts.push(vClass);
|
|
1290
1547
|
if (className)
|
|
1291
1548
|
parts.push(className);
|
|
1292
|
-
return /* @__PURE__ */
|
|
1549
|
+
return /* @__PURE__ */ jsxDEV13("span", {
|
|
1293
1550
|
class: parts.join(" "),
|
|
1294
1551
|
style,
|
|
1295
1552
|
"data-polly-ui": true,
|
|
@@ -1305,26 +1562,26 @@ var Tabs_module_default = {
|
|
|
1305
1562
|
};
|
|
1306
1563
|
|
|
1307
1564
|
// src/polly-ui/Tabs.tsx
|
|
1308
|
-
import { jsxDEV as
|
|
1565
|
+
import { jsxDEV as jsxDEV14 } from "preact/jsx-dev-runtime";
|
|
1309
1566
|
function Tabs(props) {
|
|
1310
1567
|
const { tabs, activeTab, action, className, id } = props;
|
|
1311
1568
|
const parts = [Tabs_module_default["tabs"] ?? ""];
|
|
1312
1569
|
if (className)
|
|
1313
1570
|
parts.push(className);
|
|
1314
|
-
return /* @__PURE__ */
|
|
1571
|
+
return /* @__PURE__ */ jsxDEV14("nav", {
|
|
1315
1572
|
id,
|
|
1316
1573
|
class: parts.filter(Boolean).join(" "),
|
|
1317
1574
|
"aria-label": props["aria-label"],
|
|
1318
1575
|
"data-polly-ui": true,
|
|
1319
1576
|
"data-polly-tabs": true,
|
|
1320
|
-
children: /* @__PURE__ */
|
|
1577
|
+
children: /* @__PURE__ */ jsxDEV14(Layout, {
|
|
1321
1578
|
columns: `repeat(${tabs.length}, auto)`,
|
|
1322
1579
|
gap: "0",
|
|
1323
1580
|
alignItems: "end",
|
|
1324
1581
|
children: tabs.map((tab) => {
|
|
1325
1582
|
const isActive = activeTab === tab.id;
|
|
1326
1583
|
const tabClass = isActive ? `${Tabs_module_default["tab"]} ${Tabs_module_default["active"]}` : Tabs_module_default["tab"];
|
|
1327
|
-
return /* @__PURE__ */
|
|
1584
|
+
return /* @__PURE__ */ jsxDEV14("button", {
|
|
1328
1585
|
type: "button",
|
|
1329
1586
|
class: tabClass,
|
|
1330
1587
|
disabled: tab.disabled,
|
|
@@ -1362,7 +1619,7 @@ var TextInput_module_default = {
|
|
|
1362
1619
|
};
|
|
1363
1620
|
|
|
1364
1621
|
// src/polly-ui/TextInput.tsx
|
|
1365
|
-
import { jsxDEV as
|
|
1622
|
+
import { jsxDEV as jsxDEV15 } from "preact/jsx-dev-runtime";
|
|
1366
1623
|
function isSignal2(v) {
|
|
1367
1624
|
return typeof v === "object" && v !== null && "value" in v && "peek" in v;
|
|
1368
1625
|
}
|
|
@@ -1383,7 +1640,7 @@ function TextInput(props) {
|
|
|
1383
1640
|
const defaultValue = controlled ? undefined : props.value ?? "";
|
|
1384
1641
|
const className = props.className ? `${TextInput_module_default["input"]} ${props.className}` : TextInput_module_default["input"];
|
|
1385
1642
|
if (variant === "multi") {
|
|
1386
|
-
return /* @__PURE__ */
|
|
1643
|
+
return /* @__PURE__ */ jsxDEV15("textarea", {
|
|
1387
1644
|
...a11y,
|
|
1388
1645
|
class: className,
|
|
1389
1646
|
"data-polly-input-variant": "multi",
|
|
@@ -1398,7 +1655,7 @@ function TextInput(props) {
|
|
|
1398
1655
|
}
|
|
1399
1656
|
}, undefined, false, undefined, this);
|
|
1400
1657
|
}
|
|
1401
|
-
return /* @__PURE__ */
|
|
1658
|
+
return /* @__PURE__ */ jsxDEV15("input", {
|
|
1402
1659
|
...a11y,
|
|
1403
1660
|
type: "text",
|
|
1404
1661
|
class: className,
|
|
@@ -1415,7 +1672,7 @@ function TextInput(props) {
|
|
|
1415
1672
|
}
|
|
1416
1673
|
// src/polly-ui/Toast.tsx
|
|
1417
1674
|
import { createPortal as createPortal2 } from "preact/compat";
|
|
1418
|
-
import { useEffect as useEffect5,
|
|
1675
|
+
import { useEffect as useEffect5, useState as useState3 } from "preact/hooks";
|
|
1419
1676
|
|
|
1420
1677
|
// src/actions/error.ts
|
|
1421
1678
|
import { signal as signal3 } from "@preact/signals";
|
|
@@ -1457,7 +1714,7 @@ var Toast_module_default = {
|
|
|
1457
1714
|
};
|
|
1458
1715
|
|
|
1459
1716
|
// src/polly-ui/Toast.tsx
|
|
1460
|
-
import { jsxDEV as
|
|
1717
|
+
import { jsxDEV as jsxDEV16 } from "preact/jsx-dev-runtime";
|
|
1461
1718
|
function Viewport(props) {
|
|
1462
1719
|
const autoDismissMs = props.autoDismissMs ?? 5000;
|
|
1463
1720
|
const [portalNode, setPortalNode] = useState3(null);
|
|
@@ -1479,13 +1736,13 @@ function Viewport(props) {
|
|
|
1479
1736
|
}, [paused, entries, autoDismissMs]);
|
|
1480
1737
|
if (!portalNode)
|
|
1481
1738
|
return null;
|
|
1482
|
-
const content = /* @__PURE__ */
|
|
1739
|
+
const content = /* @__PURE__ */ jsxDEV16("div", {
|
|
1483
1740
|
class: `${Toast_module_default["viewport"]} ${props.className ?? ""}`.trim(),
|
|
1484
1741
|
"data-polly-ui": true,
|
|
1485
1742
|
"data-polly-toast-viewport": true,
|
|
1486
1743
|
onMouseEnter: () => setPaused(true),
|
|
1487
1744
|
onMouseLeave: () => setPaused(false),
|
|
1488
|
-
children: entries.map((entry) => /* @__PURE__ */
|
|
1745
|
+
children: entries.map((entry) => /* @__PURE__ */ jsxDEV16(ToastItem, {
|
|
1489
1746
|
entry
|
|
1490
1747
|
}, entry.id, false, undefined, this))
|
|
1491
1748
|
}, undefined, false, undefined, this);
|
|
@@ -1493,21 +1750,21 @@ function Viewport(props) {
|
|
|
1493
1750
|
}
|
|
1494
1751
|
function ToastItem({ entry }) {
|
|
1495
1752
|
const liveness = entry.severity === "error" ? "assertive" : "polite";
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1753
|
+
return /* @__PURE__ */ jsxDEV16(Surface, {
|
|
1754
|
+
variant: "raised",
|
|
1755
|
+
padding: "var(--polly-space-md) var(--polly-space-lg)",
|
|
1756
|
+
className: Toast_module_default["item"],
|
|
1500
1757
|
"data-polly-ui": true,
|
|
1501
1758
|
"data-polly-toast-item": true,
|
|
1502
1759
|
"data-severity": entry.severity,
|
|
1503
1760
|
role: entry.severity === "error" ? "alert" : "status",
|
|
1504
1761
|
"aria-live": liveness,
|
|
1505
1762
|
children: [
|
|
1506
|
-
/* @__PURE__ */
|
|
1763
|
+
/* @__PURE__ */ jsxDEV16("span", {
|
|
1507
1764
|
class: Toast_module_default["message"],
|
|
1508
1765
|
children: entry.message
|
|
1509
1766
|
}, undefined, false, undefined, this),
|
|
1510
|
-
/* @__PURE__ */
|
|
1767
|
+
/* @__PURE__ */ jsxDEV16("button", {
|
|
1511
1768
|
type: "button",
|
|
1512
1769
|
class: Toast_module_default["close"],
|
|
1513
1770
|
"data-polly-ui": true,
|
|
@@ -1534,7 +1791,7 @@ var Toggle_module_default = {
|
|
|
1534
1791
|
};
|
|
1535
1792
|
|
|
1536
1793
|
// src/polly-ui/Toggle.tsx
|
|
1537
|
-
import { jsxDEV as
|
|
1794
|
+
import { jsxDEV as jsxDEV17 } from "preact/jsx-dev-runtime";
|
|
1538
1795
|
function Toggle(props) {
|
|
1539
1796
|
const { checked = false, disabled = false, label, name, className, id } = props;
|
|
1540
1797
|
const parts = [Toggle_module_default["toggle"]];
|
|
@@ -1542,12 +1799,12 @@ function Toggle(props) {
|
|
|
1542
1799
|
parts.push(Toggle_module_default["disabled"]);
|
|
1543
1800
|
if (className)
|
|
1544
1801
|
parts.push(className);
|
|
1545
|
-
return /* @__PURE__ */
|
|
1802
|
+
return /* @__PURE__ */ jsxDEV17("label", {
|
|
1546
1803
|
class: parts.join(" "),
|
|
1547
1804
|
"data-polly-ui": true,
|
|
1548
1805
|
"data-polly-toggle": true,
|
|
1549
1806
|
children: [
|
|
1550
|
-
/* @__PURE__ */
|
|
1807
|
+
/* @__PURE__ */ jsxDEV17("input", {
|
|
1551
1808
|
id,
|
|
1552
1809
|
type: "checkbox",
|
|
1553
1810
|
role: "switch",
|
|
@@ -1557,13 +1814,13 @@ function Toggle(props) {
|
|
|
1557
1814
|
checked,
|
|
1558
1815
|
disabled
|
|
1559
1816
|
}, undefined, false, undefined, this),
|
|
1560
|
-
/* @__PURE__ */
|
|
1817
|
+
/* @__PURE__ */ jsxDEV17("span", {
|
|
1561
1818
|
class: checked ? `${Toggle_module_default["track"]} ${Toggle_module_default["trackChecked"]}` : Toggle_module_default["track"],
|
|
1562
|
-
children: /* @__PURE__ */
|
|
1819
|
+
children: /* @__PURE__ */ jsxDEV17("span", {
|
|
1563
1820
|
class: checked ? `${Toggle_module_default["thumb"]} ${Toggle_module_default["thumbChecked"]}` : Toggle_module_default["thumb"]
|
|
1564
1821
|
}, undefined, false, undefined, this)
|
|
1565
1822
|
}, undefined, false, undefined, this),
|
|
1566
|
-
label !== undefined && /* @__PURE__ */
|
|
1823
|
+
label !== undefined && /* @__PURE__ */ jsxDEV17("span", {
|
|
1567
1824
|
class: Toggle_module_default["label"],
|
|
1568
1825
|
children: label
|
|
1569
1826
|
}, undefined, false, undefined, this)
|
|
@@ -1577,6 +1834,7 @@ export {
|
|
|
1577
1834
|
Toast,
|
|
1578
1835
|
TextInput,
|
|
1579
1836
|
Tabs,
|
|
1837
|
+
Surface,
|
|
1580
1838
|
Skeleton,
|
|
1581
1839
|
Select,
|
|
1582
1840
|
OverlayRoot,
|
|
@@ -1586,10 +1844,11 @@ export {
|
|
|
1586
1844
|
ConfirmDialog,
|
|
1587
1845
|
Collapsible,
|
|
1588
1846
|
Checkbox,
|
|
1847
|
+
Card,
|
|
1589
1848
|
Button,
|
|
1590
1849
|
Badge,
|
|
1591
1850
|
ActionInput,
|
|
1592
1851
|
ActionForm
|
|
1593
1852
|
};
|
|
1594
1853
|
|
|
1595
|
-
//# debugId=
|
|
1854
|
+
//# debugId=9CE0D265222997F864756E2164756E21
|