@pagehub/sdk 0.1.5 → 0.1.6

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.
Files changed (141) hide show
  1. package/README.md +1 -1
  2. package/dist/chrome/viewport/Viewport/hooks/usePageLoadIndicator.d.ts +2 -2
  3. package/dist/chrome/viewport/design-system/hooks/useDesignSystem.d.ts +2 -2
  4. package/dist/chrome/viewport/design-system/hooks/usePaletteState.d.ts +2 -2
  5. package/dist/chunks/ActionEditorPanel-9v50QUwu.js +89 -0
  6. package/dist/chunks/ActionInput-CTt7sOs6.js +929 -0
  7. package/dist/chunks/ActionsAddPicker-BeTPUUor.js +51 -0
  8. package/dist/chunks/ActionsInput-D0h-zLYj.js +174 -0
  9. package/dist/chunks/AnchoredPopover-CckPTxXu.js +2676 -0
  10. package/dist/chunks/AnimationEditorPanel-CXNmsTqV.js +26 -0
  11. package/dist/chunks/AnimationsInput-Djyz0uXG.js +292 -0
  12. package/dist/chunks/AnimationsInputPopover-B2-oNebx.js +71 -0
  13. package/dist/chunks/AnimationsPanel-DungA9qb.js +25 -0
  14. package/dist/chunks/Audio.render-CsR69fZ9.js +22 -0
  15. package/dist/chunks/AudioMainTab-BljM2NMQ.js +70 -0
  16. package/dist/chunks/BackdropEditorPanel-CA2k-6SR.js +26 -0
  17. package/dist/chunks/BackgroundImageInputPopover-vB_217Ig.js +94 -0
  18. package/dist/chunks/BackgroundImagePanel-BvMhF9eU.js +100 -0
  19. package/dist/chunks/BackgroundMainTab-CI4c5DEF.js +10 -0
  20. package/dist/chunks/BundleRowPanel-BcYfyfGQ.js +33 -0
  21. package/dist/chunks/ButtonMainTab-Civy_DoA.js +43 -0
  22. package/dist/chunks/CSSEditorInput-C1ITwAh3.js +73 -0
  23. package/dist/chunks/ClassNameInput-Ce0fGQES.js +720 -0
  24. package/dist/chunks/CodeEditor-axBXmPH8.js +33370 -0
  25. package/dist/chunks/ColorInput-BSfMNt86.js +187 -0
  26. package/dist/chunks/ColorPanel-DOLrT-gS.js +562 -0
  27. package/dist/chunks/ComponentImportExportPanel-DVcnGhGx.js +161 -0
  28. package/dist/chunks/ComponentImportExportPopover-BY1_oxU8.js +26 -0
  29. package/dist/chunks/ConditionEditorPanel-DLbqYaSF.js +43 -0
  30. package/dist/chunks/ConditionsAddPicker-SsHJlc1E.js +54 -0
  31. package/dist/chunks/ConditionsInput-B_5Nge8o.js +474 -0
  32. package/dist/chunks/ContainerMainTab-kkktm1Ns.js +1107 -0
  33. package/dist/chunks/ContainerOverflowSectionPanel-ibKXf-1N.js +120 -0
  34. package/dist/chunks/ContainerOverflowSectionPopover-CRQ9EPsn.js +24 -0
  35. package/dist/chunks/ContainerPaddingOverlay-Cd3xOv-S.js +340 -0
  36. package/dist/chunks/ContainerScrollEffectSection-Dbztqdnr.js +123 -0
  37. package/dist/chunks/ContainerStateSection-DY_gjBJL.js +478 -0
  38. package/dist/chunks/ConversionFields-Bpfl-SGP.js +135 -0
  39. package/dist/chunks/CraftListEditor-_TIy1ogW.js +73 -0
  40. package/dist/chunks/CreateTokenDialog-DNWtWqJd.js +147 -0
  41. package/dist/chunks/Data.render-DTmaqSyz.js +10 -0
  42. package/dist/chunks/DataAttributesPanel-mYhisO_O.js +125 -0
  43. package/dist/chunks/DataMainTab-Batm515E.js +23 -0
  44. package/dist/chunks/DataSourceSectionSlot-BKoO6Vxn.js +10 -0
  45. package/dist/chunks/EditorEmptyLeafHintView-D3E3UN_0.js +78 -0
  46. package/dist/chunks/EffectRowInputPopover-CYhfjFwJ.js +323 -0
  47. package/dist/chunks/EffectsClassInput-Yujuchwy.js +315 -0
  48. package/dist/chunks/Embed.render-BgKpUV8n.js +17 -0
  49. package/dist/chunks/EmbedMainTab-d_-Bnkug.js +225 -0
  50. package/dist/chunks/FilterEditorPanel-CRa0IpLr.js +26 -0
  51. package/dist/chunks/FlexDirectionInput-C5gYjk5W.js +78 -0
  52. package/dist/chunks/FloatingPanel-DJP5Vhua.js +553 -0
  53. package/dist/chunks/FontFamilyInput-CVNnVylt.js +111 -0
  54. package/dist/chunks/Form.render-6GjcmL2u.js +54 -0
  55. package/dist/chunks/FormElement.render-DWrG-2ID.js +36 -0
  56. package/dist/chunks/FormElementMainTab-DSbF3F6e.js +470 -0
  57. package/dist/chunks/FormMainTab-SHny1HxF.js +240 -0
  58. package/dist/chunks/GradientInputPopover-1K6O9jBq.js +103 -0
  59. package/dist/chunks/GradientPanel-DSRQKkaB.js +194 -0
  60. package/dist/chunks/HTMLCodeInput-CCe4Bj5z.js +69 -0
  61. package/dist/chunks/HandlerEditorPanel-DiOXobsl.js +93 -0
  62. package/dist/chunks/HandlersAddPicker-DWTgjKgo.js +101 -0
  63. package/dist/chunks/HandlersInput-p49STTn8.js +132 -0
  64. package/dist/chunks/IconDialogInput-C-81_L2n.js +105 -0
  65. package/dist/chunks/IconInput-D2Gy7Hvf.js +182 -0
  66. package/dist/chunks/IconMainTab-CNrVjDWP.js +26 -0
  67. package/dist/chunks/IconPickerPanel-BjNOlCh6.js +670 -0
  68. package/dist/chunks/ImageMainTab-C4O7RjX0.js +66 -0
  69. package/dist/chunks/ImageSettingsPanel-dvOmGg3C.js +485 -0
  70. package/dist/chunks/LayoutPresetPanel-CNAVAcvw.js +81 -0
  71. package/dist/chunks/LayoutPresetSlot-BqMTdE33.js +16 -0
  72. package/dist/chunks/LinkMainTab-BfFZx0AU.js +13 -0
  73. package/dist/chunks/ListEditor-mD-CmRNE.js +178 -0
  74. package/dist/chunks/Map.render-DFkmncHz.js +82 -0
  75. package/dist/chunks/MapLeaflet-DOfmZ3Pk.js +6588 -0
  76. package/dist/chunks/MapMainTab-CxI7IS1_.js +165 -0
  77. package/dist/chunks/MapPoint.render-0OAfCZTp.js +16 -0
  78. package/dist/chunks/MapPointMainTab-CmLcaSR5.js +60 -0
  79. package/dist/chunks/MediaInput-DHs3D8TJ.js +672 -0
  80. package/dist/chunks/MediaManagerModal-Dc5PK3dn.js +240 -0
  81. package/dist/chunks/MiniPreviewTile-B4zxTj9Y.js +32 -0
  82. package/dist/chunks/ModifierChipList-CwsWklih.js +33 -0
  83. package/dist/chunks/ModifiersAddPicker-D-vSYw7O.js +74 -0
  84. package/dist/chunks/ModifiersPickerPanel-CTefidBx.js +243 -0
  85. package/dist/chunks/NodeAiContextInputPopover-D5bn5o_T.js +66 -0
  86. package/dist/chunks/NodeAiContextPanel-Bx4rcjiM.js +81 -0
  87. package/dist/chunks/NumberSettingsPanel-DASi_l6V.js +56 -0
  88. package/dist/chunks/PageSettingsModal-D6o450IR.js +2678 -0
  89. package/dist/chunks/PatternInputPopover-qMWBv_nl.js +100 -0
  90. package/dist/chunks/PatternPanel-D2fgWDd-.js +352 -0
  91. package/dist/chunks/PeekTargetButton-ClrJX7zh.js +26 -0
  92. package/dist/chunks/PermissionsSection-DwobrV40.js +82 -0
  93. package/dist/chunks/PresetAddChildList-D6a0xdt8.js +35 -0
  94. package/dist/chunks/PropertiesInput-9O39ngbb.js +125 -0
  95. package/dist/chunks/PropertiesPanel-DO0RlalO.js +76 -0
  96. package/dist/chunks/SaveModifierPanel-B6mjKyrT.js +130 -0
  97. package/dist/chunks/ScrollEffectEditorPanel-CllGUhui.js +26 -0
  98. package/dist/chunks/SearchInput-DRUztbM0.js +76 -0
  99. package/dist/chunks/SearchableMenuPopover-DZKVXiEl.js +1251 -0
  100. package/dist/chunks/SlotRenderer-CaLf_2_C.js +38 -0
  101. package/dist/chunks/StateBindingEditorPanel-DKdcG5py.js +101 -0
  102. package/dist/chunks/StateBindingsAddPicker-DxMNAWAD.js +91 -0
  103. package/dist/chunks/StateBindingsInput-iWiqvAVB.js +103 -0
  104. package/dist/chunks/TailwindInput-660FZtyK.js +24 -0
  105. package/dist/chunks/TextEditor-B2O7DlN8.js +22032 -0
  106. package/dist/chunks/TextMainTab-B5udsXsk.js +260 -0
  107. package/dist/chunks/TextStyleEditorPanel-GRNPGzUL.js +381 -0
  108. package/dist/chunks/TextStylePickerPanel-l108SmGQ.js +140 -0
  109. package/dist/chunks/TextareaSettingsPanel-C1rQuF1O.js +50 -0
  110. package/dist/chunks/TokenPicker-Q0LToF_p.js +291 -0
  111. package/dist/chunks/ToolbarDashedButton-DbUxGmDg.js +23 -0
  112. package/dist/chunks/TransformEditorPanel-BGwyznZ6.js +26 -0
  113. package/dist/chunks/TransitionEditorPanel-BSvk58Ow.js +26 -0
  114. package/dist/chunks/TypographyPresetInput-DqnGSgR2.js +296 -0
  115. package/dist/chunks/ValidationPanel-CmA9SfoF.js +56 -0
  116. package/dist/chunks/Video.render-Dg6xvis4.js +21 -0
  117. package/dist/chunks/VideoMainTab-v5UFhUm-.js +174 -0
  118. package/dist/chunks/YouTube.esm-EbHnLU1Z.js +744 -0
  119. package/dist/chunks/dialogAtoms-CeQ2G05l.js +59 -0
  120. package/dist/chunks/extends-hS2Bh-Yp.js +12 -0
  121. package/dist/chunks/formatStorage-C3o2s3dk.js +22 -0
  122. package/dist/chunks/googleFonts-Dj4AntNi.js +323 -0
  123. package/dist/chunks/helpers-Cll72tMn.js +18 -0
  124. package/dist/chunks/index-B-GJd039.js +2875 -0
  125. package/dist/chunks/index-C66dAl3Q.js +32177 -0
  126. package/dist/chunks/index.esm-mqFx3NOs.js +644 -0
  127. package/dist/chunks/popoverOpenRequestAtom-hBS_siXv.js +22 -0
  128. package/dist/chunks/propertyRegistry-CMhVNOgl.js +38 -0
  129. package/dist/chunks/resolveAnchorsViaCraft-Cixm6ZyJ.js +31 -0
  130. package/dist/chunks/toolboxUtils-DjTMslSn.js +370 -0
  131. package/dist/chunks/uiPrimitives-BtohldWg.js +15 -0
  132. package/dist/chunks/use-event-listener-DO3Sk7g0.js +15 -0
  133. package/dist/chunks/useElementPicker-DoNuXNMQ.js +41 -0
  134. package/dist/chunks/useLayoutPreset-wOMV5YnO.js +528 -0
  135. package/dist/chunks/useMediaManager-CmKDbFfw.js +4629 -0
  136. package/dist/chunks/usePopoverAutoOpen-CxIjt0ez.js +25 -0
  137. package/dist/chunks/usePopoverPosition-83Vti7Aw.js +15 -0
  138. package/dist/render/static/index.js +9 -0
  139. package/package.json +22 -13
  140. package/dist/pagehub-viewer.umd.cjs +0 -574
  141. package/dist/pagehub.umd.cjs +0 -1130
@@ -0,0 +1,125 @@
1
+ import { jsxs as n, jsx as e, Fragment as p } from "react/jsx-runtime";
2
+ import { n as i, Q as h, C as T } from "./index-C66dAl3Q.js";
3
+ import { useNode as u } from "@craftjs/core";
4
+ import { useState as P, Suspense as A, lazy as C } from "react";
5
+ import { u as N } from "./usePopoverPosition-83Vti7Aw.js";
6
+ const I = () => /* @__PURE__ */ n(i, { propKey: "tagName", type: "select", label: "Type", propType: "component", children: [
7
+ /* @__PURE__ */ e("option", { value: "" }),
8
+ /* @__PURE__ */ e("option", { value: "span", children: "span" }),
9
+ /* @__PURE__ */ e("option", { value: "article", children: "article" }),
10
+ /* @__PURE__ */ e("option", { value: "section", children: "section" }),
11
+ /* @__PURE__ */ e("option", { value: "header", children: "header" }),
12
+ /* @__PURE__ */ e("option", { value: "footer", children: "footer" }),
13
+ /* @__PURE__ */ e("option", { value: "main", children: "main" }),
14
+ /* @__PURE__ */ e("option", { value: "nav", children: "nav" }),
15
+ /* @__PURE__ */ e("option", { value: "aside", children: "aside" }),
16
+ /* @__PURE__ */ e("option", { value: "div", children: "div" }),
17
+ /* @__PURE__ */ e("option", { value: "p", children: "p" }),
18
+ /* @__PURE__ */ e("option", { value: "h1", children: "h1" }),
19
+ /* @__PURE__ */ e("option", { value: "h2", children: "h2" }),
20
+ /* @__PURE__ */ e("option", { value: "h3", children: "h3" }),
21
+ /* @__PURE__ */ e("option", { value: "h4", children: "h4" }),
22
+ /* @__PURE__ */ e("option", { value: "h5", children: "h5" }),
23
+ /* @__PURE__ */ e("option", { value: "h6", children: "h6" }),
24
+ /* @__PURE__ */ e("option", { value: "Textfit", children: "Full Width" })
25
+ ] }), D = C(() => import("./DataAttributesPanel-mYhisO_O.js")), k = 360;
26
+ function E() {
27
+ const [t, o] = P(!1), { triggerRef: a, initialPos: m, setInitialPos: b, computePosition: v } = N(k), {
28
+ actions: { setProp: f },
29
+ count: l
30
+ } = u((r) => {
31
+ var c, d;
32
+ return {
33
+ count: (((d = (c = r.data) == null ? void 0 : c.props) == null ? void 0 : d.dataAttributes) || []).length
34
+ };
35
+ }), y = l === 0, g = `${l} attribute${l === 1 ? "" : "s"}`, x = () => {
36
+ f((r) => {
37
+ r.dataAttributes = [];
38
+ });
39
+ }, s = () => {
40
+ b(v()), o(!0);
41
+ };
42
+ return /* @__PURE__ */ n(p, { children: [
43
+ y ? /* @__PURE__ */ n(
44
+ "button",
45
+ {
46
+ ref: a,
47
+ type: "button",
48
+ onClick: () => t ? o(!1) : s(),
49
+ "aria-expanded": t,
50
+ "aria-label": "Add data attribute",
51
+ className: "text-neutral-content hover:text-base-content hover:bg-base-200 inline-flex h-7 items-center gap-1.5 self-start rounded-md px-2 text-xs transition-colors",
52
+ children: [
53
+ /* @__PURE__ */ e(h, { className: "size-3.5 shrink-0", "aria-hidden": !0 }),
54
+ /* @__PURE__ */ e("span", { children: "Add data-…" })
55
+ ]
56
+ }
57
+ ) : /* @__PURE__ */ e(
58
+ T,
59
+ {
60
+ mode: "popover",
61
+ ref: a,
62
+ open: t,
63
+ onTriggerClick: () => t ? o(!1) : s(),
64
+ onClear: () => {
65
+ t && o(!1), x();
66
+ },
67
+ triggerAriaLabel: "Edit data attributes",
68
+ clearAriaLabel: "Clear data attributes",
69
+ leading: /* @__PURE__ */ e(h, { className: "size-3.5", "aria-hidden": !0 }),
70
+ summary: g
71
+ }
72
+ ),
73
+ t && /* @__PURE__ */ e(A, { fallback: null, children: /* @__PURE__ */ e(D, { initialPosition: m, onClose: () => o(!1) }) })
74
+ ] });
75
+ }
76
+ const j = () => {
77
+ const { componentName: t } = u((o) => {
78
+ var a;
79
+ return {
80
+ componentName: String(((a = o.data) == null ? void 0 : a.name) || "")
81
+ };
82
+ });
83
+ return /* @__PURE__ */ n(p, { children: [
84
+ /* @__PURE__ */ e(
85
+ i,
86
+ {
87
+ propKey: "id",
88
+ propType: "component",
89
+ type: "text",
90
+ label: "Element ID",
91
+ placeholder: "myComponent",
92
+ labelHide: !1
93
+ }
94
+ ),
95
+ /* @__PURE__ */ e(I, {}),
96
+ t === "Image" ? /* @__PURE__ */ n(p, { children: [
97
+ /* @__PURE__ */ e(
98
+ i,
99
+ {
100
+ propKey: "alt",
101
+ propType: "component",
102
+ type: "text",
103
+ label: "Alt Text",
104
+ placeholder: "Describe this image for screen readers",
105
+ labelHide: !1
106
+ }
107
+ ),
108
+ /* @__PURE__ */ e(
109
+ i,
110
+ {
111
+ propKey: "title",
112
+ propType: "component",
113
+ type: "text",
114
+ label: "Title",
115
+ placeholder: "Optional advisory title",
116
+ labelHide: !1
117
+ }
118
+ )
119
+ ] }) : null,
120
+ /* @__PURE__ */ e(E, {})
121
+ ] });
122
+ };
123
+ export {
124
+ j as PropertiesInput
125
+ };
@@ -0,0 +1,76 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import { W as r, n as o, aF as a } from "./index-C66dAl3Q.js";
3
+ import { F as n } from "./FloatingPanel-DJP5Vhua.js";
4
+ function s({ initialPosition: p, onClose: t }) {
5
+ return /* @__PURE__ */ e(
6
+ n,
7
+ {
8
+ isOpen: !0,
9
+ onClose: t,
10
+ title: "Properties",
11
+ icon: /* @__PURE__ */ e(a, {}),
12
+ storageKey: "ph-form-element-properties",
13
+ autoSize: !0,
14
+ defaultWidth: 280,
15
+ minWidth: 260,
16
+ initialPosition: p,
17
+ zIndex: r,
18
+ scrollable: !0,
19
+ children: /* @__PURE__ */ l("div", { className: "flex flex-col gap-1.5", children: [
20
+ /* @__PURE__ */ e(
21
+ o,
22
+ {
23
+ propKey: "required",
24
+ propType: "component",
25
+ type: "checkbox",
26
+ label: "Required",
27
+ on: !0
28
+ }
29
+ ),
30
+ /* @__PURE__ */ e(
31
+ o,
32
+ {
33
+ propKey: "disabled",
34
+ propType: "component",
35
+ type: "checkbox",
36
+ label: "Disabled",
37
+ on: !0
38
+ }
39
+ ),
40
+ /* @__PURE__ */ e(
41
+ o,
42
+ {
43
+ propKey: "readOnly",
44
+ propType: "component",
45
+ type: "checkbox",
46
+ label: "Read Only",
47
+ on: !0
48
+ }
49
+ ),
50
+ /* @__PURE__ */ e(
51
+ o,
52
+ {
53
+ propKey: "autoComplete",
54
+ propType: "component",
55
+ type: "text",
56
+ label: "Autocomplete",
57
+ placeholder: "off / email / name / …"
58
+ }
59
+ ),
60
+ /* @__PURE__ */ e(
61
+ o,
62
+ {
63
+ propKey: "defaultValue",
64
+ propType: "component",
65
+ type: "text",
66
+ label: "Default",
67
+ placeholder: "Initial value"
68
+ }
69
+ )
70
+ ] })
71
+ }
72
+ );
73
+ }
74
+ export {
75
+ s as default
76
+ };
@@ -0,0 +1,130 @@
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import { F as S } from "./FloatingPanel-DJP5Vhua.js";
3
+ import { useMemo as E, useState as m, useRef as M, useEffect as y } from "react";
4
+ import { C as v, bY as O, a7 as P } from "./index-C66dAl3Q.js";
5
+ import { u as j } from "./useModifiers-BUaftv28.js";
6
+ function k(r) {
7
+ const a = /* @__PURE__ */ new Set(), s = [];
8
+ for (const d of r.split(/\s+/)) {
9
+ const n = d.trim();
10
+ !n || a.has(n) || (a.add(n), s.push(n));
11
+ }
12
+ return s;
13
+ }
14
+ function A({ onClose: r }) {
15
+ const { currentClassName: a, nodeTypeName: s, saveAsModifier: d } = j(), n = E(() => k(a), [a]), [p, N] = m(/* @__PURE__ */ new Set()), [c, T] = m(""), [u, f] = m(s), h = M(null);
16
+ y(() => f(s), [s]), y(() => {
17
+ var e;
18
+ (e = h.current) == null || e.focus();
19
+ }, []);
20
+ const x = n.filter((e) => !p.has(e)), C = x.join(" "), b = !!c.trim() && !!u.trim() && x.length > 0, w = (e) => {
21
+ N((i) => {
22
+ const o = new Set(i);
23
+ return o.has(e) ? o.delete(e) : o.add(e), o;
24
+ });
25
+ }, g = () => {
26
+ b && (d(c, u, C), r());
27
+ };
28
+ return n.length === 0 ? /* @__PURE__ */ t("div", { className: "text-neutral-content py-6 text-center text-xs", children: "This node has no classes to save." }) : /* @__PURE__ */ l("div", { className: "flex h-full min-h-0 flex-col gap-2", children: [
29
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5", children: [
30
+ /* @__PURE__ */ t("label", { className: "text-neutral-content px-0.5 text-[10px] font-medium", children: "Modifier name" }),
31
+ /* @__PURE__ */ t(v, { children: /* @__PURE__ */ t(
32
+ "input",
33
+ {
34
+ ref: h,
35
+ type: "text",
36
+ value: c,
37
+ onChange: (e) => T(e.target.value),
38
+ placeholder: "e.g. my-card-style",
39
+ onKeyDown: (e) => {
40
+ e.key === "Enter" && g(), e.key === "Escape" && r();
41
+ },
42
+ className: "h-full w-full bg-transparent px-1 text-xs outline-none"
43
+ }
44
+ ) })
45
+ ] }),
46
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5", children: [
47
+ /* @__PURE__ */ t("label", { className: "text-neutral-content px-0.5 text-[10px] font-medium", children: "Component type" }),
48
+ /* @__PURE__ */ t(v, { children: /* @__PURE__ */ t(
49
+ "input",
50
+ {
51
+ type: "text",
52
+ value: u,
53
+ onChange: (e) => f(e.target.value),
54
+ placeholder: "e.g. Button, Container",
55
+ className: "h-full w-full bg-transparent px-1 text-xs outline-none"
56
+ }
57
+ ) })
58
+ ] }),
59
+ /* @__PURE__ */ l("div", { className: "flex min-h-0 flex-1 flex-col gap-1", children: [
60
+ /* @__PURE__ */ l("div", { className: "flex items-baseline justify-between px-0.5", children: [
61
+ /* @__PURE__ */ t("span", { className: "text-neutral-content text-[10px] font-medium", children: "Classes to include" }),
62
+ /* @__PURE__ */ l("span", { className: "text-neutral-content/70 text-[10px]", children: [
63
+ x.length,
64
+ " / ",
65
+ n.length
66
+ ] })
67
+ ] }),
68
+ /* @__PURE__ */ t("div", { className: "border-base-300 bg-base-100 min-h-0 flex-1 overflow-y-auto rounded-md border p-1.5", children: /* @__PURE__ */ t("div", { className: "flex flex-wrap gap-1", children: n.map((e) => {
69
+ const i = p.has(e);
70
+ return /* @__PURE__ */ l(
71
+ "button",
72
+ {
73
+ type: "button",
74
+ onClick: () => w(e),
75
+ className: i ? "border-base-300 text-neutral-content/50 inline-flex items-center gap-1 rounded border bg-transparent px-1.5 py-0.5 font-mono text-[10px] line-through" : "border-primary/40 bg-primary/10 text-primary inline-flex items-center gap-1 rounded border px-1.5 py-0.5 font-mono text-[10px]",
76
+ "aria-pressed": !i,
77
+ "aria-label": i ? `Include ${e}` : `Exclude ${e}`,
78
+ children: [
79
+ /* @__PURE__ */ t("span", { children: e }),
80
+ !i && /* @__PURE__ */ t(O, { size: 10, "aria-hidden": !0 })
81
+ ]
82
+ },
83
+ e
84
+ );
85
+ }) }) })
86
+ ] }),
87
+ /* @__PURE__ */ l("div", { className: "flex shrink-0 gap-1.5 pt-1", children: [
88
+ /* @__PURE__ */ t(
89
+ "button",
90
+ {
91
+ type: "button",
92
+ onClick: g,
93
+ disabled: !b,
94
+ className: "bg-primary text-primary-content disabled:bg-neutral disabled:text-neutral-content/60 h-7 flex-1 rounded-md px-3 text-xs font-medium",
95
+ children: "Save modifier"
96
+ }
97
+ ),
98
+ /* @__PURE__ */ t(
99
+ "button",
100
+ {
101
+ type: "button",
102
+ onClick: r,
103
+ className: "border-base-300 hover:bg-base-200 h-7 rounded-md border px-3 text-xs",
104
+ children: "Cancel"
105
+ }
106
+ )
107
+ ] })
108
+ ] });
109
+ }
110
+ function F({ initialPosition: r, onClose: a }) {
111
+ return /* @__PURE__ */ t(
112
+ S,
113
+ {
114
+ isOpen: !0,
115
+ onClose: a,
116
+ title: "Save as modifier",
117
+ storageKey: "save-modifier-panel",
118
+ minWidth: 280,
119
+ maxWidth: 420,
120
+ minHeight: 320,
121
+ initialPosition: r,
122
+ zIndex: P,
123
+ scrollable: !0,
124
+ children: /* @__PURE__ */ t(A, { onClose: a })
125
+ }
126
+ );
127
+ }
128
+ export {
129
+ F as default
130
+ };
@@ -0,0 +1,26 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { W as o, eL as i } from "./index-C66dAl3Q.js";
3
+ import { F as l } from "./FloatingPanel-DJP5Vhua.js";
4
+ import { ContainerScrollEffectSection as n } from "./ContainerScrollEffectSection-Dbztqdnr.js";
5
+ function s({ initialPosition: r, onClose: t }) {
6
+ return /* @__PURE__ */ e(
7
+ l,
8
+ {
9
+ isOpen: !0,
10
+ onClose: t,
11
+ title: "Scroll Effect",
12
+ icon: /* @__PURE__ */ e(i, { "aria-hidden": !0 }),
13
+ storageKey: "effects-builder-scroll",
14
+ minWidth: 300,
15
+ maxWidth: 480,
16
+ minHeight: 260,
17
+ initialPosition: r,
18
+ zIndex: o,
19
+ scrollable: !0,
20
+ children: /* @__PURE__ */ e(n, {})
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ s as default
26
+ };
@@ -0,0 +1,76 @@
1
+ import { jsxs as f, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as h } from "react";
3
+ import { dp as m, P as x, bY as g } from "./index-C66dAl3Q.js";
4
+ const P = {
5
+ default: {
6
+ input: "input-transparent",
7
+ inputPadL: "pl-8",
8
+ inputPadR: "pr-3",
9
+ inputPadRWithClear: "pr-8",
10
+ icon: "left-2.5 size-3.5",
11
+ clear: "right-2 size-5",
12
+ clearIcon: "size-3.5"
13
+ },
14
+ slim: {
15
+ input: "border-base-300 placeholder:text-neutral-content focus-visible:ring-ring flex h-7 w-full rounded-md border bg-transparent text-xs transition-colors focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
16
+ inputPadL: "pl-7",
17
+ inputPadR: "pr-2",
18
+ inputPadRWithClear: "pr-7",
19
+ icon: "left-2 size-3",
20
+ clear: "right-1.5 size-4",
21
+ clearIcon: "size-3"
22
+ }
23
+ }, v = h(
24
+ ({
25
+ value: a,
26
+ onChange: n,
27
+ placeholder: s = "Search...",
28
+ className: l = "",
29
+ clearTooltip: i = "Clear",
30
+ size: o = "default",
31
+ autoFocus: c,
32
+ onKeyDown: u,
33
+ inputProps: p
34
+ }, d) => {
35
+ const r = a.length > 0, e = P[o];
36
+ return /* @__PURE__ */ f("div", { className: `relative flex-1 ${l}`, children: [
37
+ /* @__PURE__ */ t(
38
+ m,
39
+ {
40
+ className: `text-neutral-content pointer-events-none absolute top-1/2 -translate-y-1/2 ${e.icon}`,
41
+ "aria-hidden": !0
42
+ }
43
+ ),
44
+ /* @__PURE__ */ t(
45
+ "input",
46
+ {
47
+ ref: d,
48
+ type: "text",
49
+ placeholder: s,
50
+ className: `${e.input} ${e.inputPadL} ${r ? e.inputPadRWithClear : e.inputPadR}`,
51
+ value: a,
52
+ onChange: (b) => n(b.target.value),
53
+ autoFocus: c,
54
+ onKeyDown: u,
55
+ ...p
56
+ }
57
+ ),
58
+ r && /* @__PURE__ */ t(
59
+ "button",
60
+ {
61
+ type: "button",
62
+ onClick: () => n(""),
63
+ className: `text-neutral-content hover:text-base-content focus-visible:ring-ring absolute top-1/2 flex -translate-y-1/2 items-center justify-center rounded focus-visible:ring-1 focus-visible:outline-none ${e.clear}`,
64
+ "aria-label": i,
65
+ "data-tooltip-id": x,
66
+ "data-tooltip-content": i,
67
+ children: /* @__PURE__ */ t(g, { className: e.clearIcon, "aria-hidden": !0 })
68
+ }
69
+ )
70
+ ] });
71
+ }
72
+ );
73
+ v.displayName = "SearchInput";
74
+ export {
75
+ v as S
76
+ };