efficient-easel 26.1.0 → 26.3.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/README.md +17 -3
- package/dist/{chunk-6BOOYHHK.js → chunk-2C2IUWBH.js} +4 -4
- package/dist/chunk-6F6OAL3C.js +13 -0
- package/dist/chunk-BTQ3FJKT.js +1 -0
- package/dist/chunk-C4HXU4HJ.js +1 -0
- package/dist/{chunk-R76XMEKT.js → chunk-C7IFWSUA.js} +6 -6
- package/dist/chunk-FWPKYUGM.js +5 -0
- package/dist/{chunk-BA5X67LQ.js → chunk-JYVQ62TL.js} +1 -1
- package/dist/chunk-LKP5V3GT.js +1 -0
- package/dist/{chunk-UCZQWQNS.js → chunk-OKJ6KH24.js} +1 -1
- package/dist/{chunk-QAVA4V2C.js → chunk-R76RCEEC.js} +1 -1
- package/dist/chunk-RKLDSLU6.js +4 -0
- package/dist/{chunk-WOA775T4.js → chunk-UQAN4BIP.js} +1 -1
- package/dist/chunk-X3EMJ2EX.js +1 -0
- package/dist/{chunk-7PGO4K5M.js → chunk-XC4PINYS.js} +8 -8
- package/dist/{chunk-VXAGXHKI.js → chunk-XVQNVPIK.js} +35 -35
- package/dist/{chunk-5QUIXGQU.js → chunk-Y5M64LEB.js} +1 -1
- package/dist/chunk-YAFMYW4J.js +16 -0
- package/dist/draw/index.d.ts +2 -0
- package/dist/draw/index.js +1 -1
- package/dist/easel/index.d.ts +16 -1
- package/dist/easel/index.js +1 -1
- package/dist/fields/index.d.ts +5 -1
- package/dist/fields/index.js +1 -1
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddSidePanel.js +1 -1
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +16 -16
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/content/block-size.d.ts +74 -0
- package/dist/screen/lib/content/block-size.js +1 -0
- package/dist/screen/lib/content/style-keys.d.ts +35 -0
- package/dist/screen/lib/content/style-keys.js +1 -0
- package/dist/screen/lib/document/block-set-host.js +1 -1
- package/dist/screen/lib/document/block-size-fields.d.ts +48 -0
- package/dist/screen/lib/document/block-size-fields.js +1 -0
- package/dist/screen/lib/document/box-fields.d.ts +24 -5
- package/dist/screen/lib/document/box-fields.js +1 -1
- package/dist/screen/lib/document/button-fields.d.ts +6 -18
- package/dist/screen/lib/document/button-fields.js +1 -1
- package/dist/screen/lib/document/image-fields.js +4 -4
- package/dist/screen/lib/document/style-clipboard.js +1 -1
- package/dist/screen/lib/document/style-fields.d.ts +3 -3
- package/dist/screen/lib/document/style-fields.js +1 -1
- package/dist/screen/lib/document/use-section-ops.js +1 -1
- package/dist/screen/lib/key-scope.js +1 -1
- package/dist/screen/lib/screen-parts.js +1 -1
- package/package.json +19 -1
- package/dist/chunk-5OKOCRXT.js +0 -11
- package/dist/chunk-BBD3FLU3.js +0 -16
- package/dist/chunk-IMAN6IP5.js +0 -4
- package/dist/chunk-LSGKADNV.js +0 -5
- package/dist/chunk-O4DQ6O6W.js +0 -1
- package/dist/chunk-TTCUC2Q3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blockKey,AddSidePanel as default,presetKey,sectionKey,sharedKey,templateKey}from"../../chunk-
|
|
1
|
+
export{blockKey,AddSidePanel as default,presetKey,sectionKey,sharedKey,templateKey}from"../../chunk-XC4PINYS.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-FWPKYUGM.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-Q3VAJMXS.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenChrome as default}from"../../chunk-
|
|
1
|
+
export{ScreenChrome as default}from"../../chunk-XVQNVPIK.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-JYVQ62TL.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-7GGNFLHT.js";import"../../chunk-22I55W37.js";import"../../chunk-LUOY3A3Q.js";import"../../chunk-OKJ6KH24.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-6EDVZBUO.js";import"../../chunk-LKP5V3GT.js";import"../../chunk-UQAN4BIP.js";import"../../chunk-TOEJCZUO.js";import"../../chunk-PVBDKBJB.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-BYONFJVQ.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-5545A3PC.js";import"../../chunk-XC4PINYS.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-FWPKYUGM.js";import"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-STQDOTHF.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-XFYFKITX.js";import"../../chunk-Q3VAJMXS.js";import"../../chunk-CWELHADJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-5NHQ452C.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DocumentScreen,ScreenMount as default}from"../../chunk-
|
|
1
|
+
export{DocumentScreen,ScreenMount as default}from"../../chunk-2C2IUWBH.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-R76RCEEC.js";import"../../chunk-XVQNVPIK.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-JYVQ62TL.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-7GGNFLHT.js";import"../../chunk-22I55W37.js";import"../../chunk-LUOY3A3Q.js";import"../../chunk-OKJ6KH24.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-6EDVZBUO.js";import"../../chunk-LKP5V3GT.js";import"../../chunk-UQAN4BIP.js";import"../../chunk-TOEJCZUO.js";import"../../chunk-PVBDKBJB.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-BYONFJVQ.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-5545A3PC.js";import"../../chunk-XC4PINYS.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-FWPKYUGM.js";import"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-STQDOTHF.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-XFYFKITX.js";import"../../chunk-Q3VAJMXS.js";import"../../chunk-CWELHADJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-5NHQ452C.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenStoreProvider as default}from"../../chunk-
|
|
1
|
+
export{ScreenStoreProvider as default}from"../../chunk-R76RCEEC.js";import"../../chunk-FWPKYUGM.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{AddBlockRow as e}from"../../chunk-
|
|
2
|
-
return U
|
|
3
|
-
return
|
|
4
|
-
/* @__PURE__ */L(
|
|
5
|
-
return
|
|
6
|
-
/* @__PURE__ */L("div",{className:"sf-section-bar",children:/* @__PURE__ */L(
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */L("div",{className:"sf-panel-head",children:/* @__PURE__ */L(
|
|
9
|
-
/* @__PURE__ */L(
|
|
10
|
-
/* @__PURE__ */L(
|
|
11
|
-
return
|
|
12
|
-
/* @__PURE__ */L(
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */L("span",{className:"sf-plus sf-plus--sm",children:"+"}),
|
|
1
|
+
import{AddBlockRow as e}from"../../chunk-Y5M64LEB.js";import{scrollPreviewToSection as n,gotoPreviewSlide as o}from"../../chunk-LUOY3A3Q.js";import{useEaselUndoKeys as r}from"../../chunk-OKJ6KH24.js";import{SlotChildActionsProvider as t}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as s}from"../../chunk-6EDVZBUO.js";import{usePartBridge as i}from"../../chunk-LKP5V3GT.js";import{useSectionOps as c}from"../../chunk-UQAN4BIP.js";import{useScreenDocument as p}from"../../chunk-BYONFJVQ.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import{SELECTION_MODE as l,useScreenPinned as m,useScreenCanvasFrame as d,useScreenInspectorPanel as u,useScreenPickFollowsSelection as a,sameInspectorMode as h,useStandaloneScreenBridges as k,useScreenBlockLook as j,useScreenBlockRules as f,isSelectionMode as S,shownChildSlotsOf as A}from"../../chunk-FWPKYUGM.js";import{MediaPopup as N}from"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import{DEFAULT_SCREEN_WORDS as y}from"../../chunk-Q3VAJMXS.js";import{slotChildRowName as C}from"../../chunk-5NHQ452C.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import{slotFieldsOf as E,nestsInTree as P}from"../../chunk-TCAAOYQY.js";import{useEasel as x}from"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import{LayersTree as F,Subtree as Y,TreeRow as Q,TreeRowAction as R,TreeSeam as B}from"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import{DEFAULT_TREE_WORDS as M}from"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as O,saveIndicator as W}from"../../chunk-H6DDIBQ4.js";import{SaveState as g,panelWidthVars as I}from"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import{useWords as T}from"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import{useTreeDrag as v}from"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import{zoneKey as K,parseZoneKey as b}from"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";import{useState as z,useRef as V,useEffect as w,useCallback as D,Fragment as J}from"react";import{Tooltip as X}from"efficient-shell/ui";import{TrashIcon as Z}from"efficient-shell/icons/efficient";import{jsxs as H,jsx as L,Fragment as U}from"react/jsx-runtime";var G=e=>n=>{n.target.closest("button, input")||e()},$={rowClick:G};function q(){const{saveState:q,readOnly:_,readOnlyReason:ee=null}=p(),ne=c(),{appState:oe,selectedItem:re,config:te}=x(e=>e),[se,ie]=z(l),ce=T("screen",y),pe=T("tree",M),le=T("save",O),{first:me,last:de,panelOf:ue}=m(),ae=ue(me),he=d(),ke=u(),je=oe.data.content?.[0]??null,fe=je?.props.id??null,Se=je?.type===me,Ae=je?.type===de,Ne=V(null),ye=V(null);r(ye),a(re?.props.id),w(()=>{fe&&Ne.current!==fe&&(Ne.current=fe,Se?ie(ae??l):re||ne.select({index:0}))},[fe,re,ne,Se]);const Ce=D(e=>ie(n=>h(n,e)?n:e),[]),Ee=k({kind:se.kind,mode:se,open:Ce,show:e=>ie(e),reveal:()=>{},select:(e,n)=>{ie(e=>h(e,n)?e:n),ne.select(e)}}),{selectNode:Pe}=i({mode:se,setMode:ie,onOpenPart:n}),xe=j(),{labelAtLevel:Fe,Icon:Ye}=xe,{canAddTo:Qe}=f(),Re=e=>Fe(e,"block",te.components[e]?.label??e),Be=e=>Fe(e,"section",Re(e)),Me=!Se&&S(se)&&re?.props.id===fe,Oe=je?Qe(je.type)?.spec??null:null,We=je&&Oe?`${je.props.id}:${Oe.slot}`:null,ge=je&&Oe&&Array.isArray(je.props[Oe.slot])?je.props[Oe.slot]:[],Ie=e=>C(e,Re,xe.plainText),Te=(e,r)=>{je&&Oe&&We&&(ie(l),Oe.slider?(o(String(je.props.id),e),ne.select({index:e,zone:We}),n(String(je.props.id))):(ne.select({index:e,zone:We}),n(r)))},ve=()=>{if(!je||!Oe||!We)return;const e=ge.length;ne.insertComponent(We,Oe.childType,e),ie(l),Oe.slider?requestAnimationFrame(()=>{o(String(je.props.id),e),ne.select({index:e,zone:We})}):ne.select({index:e,zone:We})},Ke=e=>E(te,e),be=e=>{const{parentId:n,slot:o}=b(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of Ke(e.type)){const o=Array.isArray(e.props[n])?e.props[n]:[];for(const e of o){const n=r(e);if(n)return n}}return null},t=r(je)?.props[o];return Array.isArray(t)?t.length:0},ze=(e,n,o)=>{const r=Math.min(Math.max(o,0),be(e)),t=n<r?r-1:r;t!==n&&(ne.reorderComponent(e,n,t),ie(l),ne.select({index:t,zone:e}))},Ve=v({keyOf:e=>e.id,readOnly:Boolean(_),canDrop:(e,n)=>K(n)===e.zone&&n.index>=0&&n.index<=be(e.zone),onDrop:(e,n)=>ze(e.zone,e.index,n.index),onStep:(e,n)=>ze(e.zone,e.index,n<0?e.index-1:e.index+2)}),we=(e,n)=>/* @__PURE__ */L(B,{..._?{}:Ve.seam({place:{...b(e),index:n}})},`seam:${e}:${n}`),De=e=>xe.blockRowName(e,Re),Je=(e,o,r)=>{ie(l),ne.select({index:o,zone:e}),n(r)},Xe=(e,n,o)=>{ne.insertComponent(e,n,o),ie(l),ne.select({index:o,zone:e})},Ze=(n,o,r)=>/* @__PURE__ */L(e,{choices:r,onPick:e=>Xe(n,e,o)}),He=(e,n)=>{const o=A(te,e);const r=Qe(e.type,void 0,void 0,{id:String(e.props.id??""),data:oe.data}),t=r?.choices??null,s="footer"===r?.source?De:Ie;/* @__PURE__ */
|
|
2
|
+
return H(U,{children:[o.map(({child:e,zone:o,index:r})=>{const t=re?.props.id===e.props.id,i=P(te,e.type,n),c=s(e),p=String(e.props.id),m=()=>Je(o,r,p),{rowProps:d,...u}=Ve.row({item:{id:p,zone:o,index:r},place:{...b(o),index:r}},{onClick:G(m)});/* @__PURE__ */
|
|
3
|
+
return H(J,{children:[0===r&&we(o,0),
|
|
4
|
+
/* @__PURE__ */L(Q,{words:pe,icon:/* @__PURE__ */L(Ye,{type:e.type,size:13}),name:c,selected:t,onSelect:m,...u,actions:/* @__PURE__ */L(R,{kind:"delete",label:ce.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,ne.removeComponent(e,n),ie(l),void ne.select(null);var e,n},children:/* @__PURE__ */L(Z,{size:13})}),rowProps:d}),i&&/* @__PURE__ */L(Y,{children:He(e,n+1)}),we(o,r+1)]},String(e.props.id??`${o}-${r}`))}),r&&t?Ze(`${e.props.id}:${r.slot}`,o.length,t):null]})},Le="HeroSingle"===je?.type,Ue=Boolean(je)&&(Boolean(Qe(je.type))||Ke(je.type).length>0),Ge=Boolean(je)&&(Boolean(Oe)||Ae||Se||Le||Ue);/* @__PURE__ */
|
|
5
|
+
return H("div",{ref:ye,className:"sf-editor es-editor",style:I(s),children:[
|
|
6
|
+
/* @__PURE__ */L("div",{className:"sf-section-bar",children:/* @__PURE__ */L(g,null!==ee?{tone:"off",label:ee,role:"status"}:{...W(q,le),role:"status"})}),
|
|
7
|
+
/* @__PURE__ */H("div",{className:"sf-body",children:[Ge&&je&&/* @__PURE__ */H("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
|
|
8
|
+
/* @__PURE__ */L("div",{className:"sf-panel-head",children:/* @__PURE__ */L(X,{content:Se?ce.headerSettings:ce.sectionSettings({name:Be(je.type)}),side:"bottom",children:/* @__PURE__ */L("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Me?"is-selected":""),"aria-pressed":Me,onClick:()=>{Se?ie(ae??l):(ie(l),ne.select({index:0}))},children:Be(je.type)})})}),
|
|
9
|
+
/* @__PURE__ */L(F,{className:"sf-tree sf-scroll",rootProps:Ve.rootProps(),words:pe,children:/* @__PURE__ */L(Y,{children:Se?
|
|
10
|
+
/* @__PURE__ */L(Q,{words:pe,icon:/* @__PURE__ */L(Ye,{type:"header",size:13}),name:ce.headerSettings,selected:se.kind===ae?.kind,onSelect:()=>ie(ae??l),rowProps:{onClick:G(()=>ie(ae??l))}}):Oe?/* @__PURE__ */H(U,{children:[ge.map((e,n)=>{const o=re?.props.id===e.props.id,r=Ie(e),t=String(e.props.id),s=()=>Te(n,t),{rowProps:i,...c}=Ve.row({item:{id:t,zone:We,index:n},place:{...b(We),index:n}},{onClick:G(s)});/* @__PURE__ */
|
|
11
|
+
return H(J,{children:[0===n&&we(We,0),
|
|
12
|
+
/* @__PURE__ */L(Q,{words:pe,icon:/* @__PURE__ */L(Ye,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */L(R,{kind:"delete",label:ce.deleteNamed({name:r}),onClick:()=>{return e=n,void(We&&(ne.removeComponent(We,e),ie(l),ne.select(null)));var e},children:/* @__PURE__ */L(Z,{size:13})}),rowProps:i}),we(We,n+1)]},String(e.props.id??n))}),
|
|
13
|
+
/* @__PURE__ */H("button",{type:"button",className:"sf-add-card",onClick:ve,children:[
|
|
14
|
+
/* @__PURE__ */L("span",{className:"sf-plus sf-plus--sm",children:"+"}),Oe.addLabel]}),fe?Ee.partRows?.(je,$):null]}):He(je,1)})})]}),
|
|
15
15
|
/* @__PURE__ */L("div",{className:"sf-center",children:/* @__PURE__ */L("div",{className:"sf-preview-host",children:/* @__PURE__ */L(he,{})})}),
|
|
16
|
-
/* @__PURE__ */L(t,{value:{selectChild:(e,n,o,r)=>"section"===
|
|
17
|
-
/* @__PURE__ */L(
|
|
16
|
+
/* @__PURE__ */L(t,{value:{selectChild:(e,n,o,r)=>"section"===Qe(r)?.source?Te(n,o):Je(e,n,o),addChild:(e,n,o,r,t)=>"section"===Qe(t)?.source?ve():Xe(`${e}:${n}`,o,r),childRowName:Ie,blockRowName:De},children:/* @__PURE__ */L(ke,{mode:se,onOpenWebsiteSettings:Ee.openSettings??(()=>{}),onSelectNode:Pe,hideNodeActions:!0})})]}),
|
|
17
|
+
/* @__PURE__ */L(N,{})]})}export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{usePartBridge}from"../../chunk-
|
|
1
|
+
export{usePartBridge}from"../../chunk-LKP5V3GT.js";import"../../chunk-UQAN4BIP.js";import"../../chunk-FWPKYUGM.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-YAFMYW4J.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-C7IFWSUA.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-56ID6FKZ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
package/dist/screen/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-
|
|
1
|
+
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-2C2IUWBH.js";import"../chunk-GXQCZJOP.js";export{ScreenStoreProvider}from"../chunk-R76RCEEC.js";import"../chunk-XVQNVPIK.js";import"../chunk-OXZDSOZV.js";import"../chunk-7OCEPOEJ.js";import"../chunk-JYVQ62TL.js";import"../chunk-UMBNBCL4.js";import"../chunk-5XL2RXFU.js";import"../chunk-3QB2ZQXK.js";import"../chunk-7GGNFLHT.js";import"../chunk-22I55W37.js";import"../chunk-LUOY3A3Q.js";import"../chunk-OKJ6KH24.js";import"../chunk-KCBEE2MC.js";import"../chunk-6EDVZBUO.js";import"../chunk-LKP5V3GT.js";import"../chunk-UQAN4BIP.js";import"../chunk-TOEJCZUO.js";import"../chunk-PVBDKBJB.js";import"../chunk-RKTF5XLP.js";import"../chunk-BYONFJVQ.js";import"../chunk-QZJKWKGH.js";import"../chunk-ERR437B5.js";import"../chunk-JIP5JNRB.js";import"../chunk-GR3XRILS.js";export{NO_DOCUMENT_ADDRESSING}from"../chunk-RLBXE4EU.js";import"../chunk-6ATIYLUL.js";import"../chunk-KO47WAWR.js";import"../chunk-NQW6XCAY.js";import"../chunk-LOMEH6DG.js";import"../chunk-5545A3PC.js";import"../chunk-XC4PINYS.js";import"../chunk-GDO4QJ4G.js";import"../chunk-IZGFJWH4.js";import"../chunk-N7E6264U.js";import"../chunk-N3MJOHAG.js";import"../chunk-SBVIW3KJ.js";import"../chunk-UMDQ6CLQ.js";import"../chunk-KCOBHPN6.js";import"../chunk-RUQOIQWI.js";export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../chunk-FWPKYUGM.js";import"../chunk-T2RINM7R.js";import"../chunk-NCXYC7WI.js";import"../chunk-STQDOTHF.js";export{EaselSessionProvider,useEaselSession}from"../chunk-YM4UEGBV.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-SNF5764Q.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,FIELD_DESCRIPTION_MARKER,createEaselHost,describedAs,useEaselHost,useHostEscape}from"../chunk-LX23TCTP.js";import"../chunk-XFYFKITX.js";import"../chunk-Q3VAJMXS.js";import"../chunk-CWELHADJ.js";import"../chunk-6WY6ZXJG.js";import"../chunk-5NHQ452C.js";import"../chunk-AJ2SUSET.js";import"../chunk-6UAEFOJ4.js";import"../chunk-ANPOR6EY.js";import"../chunk-R4AUZVA3.js";import"../chunk-TCAAOYQY.js";import"../chunk-YAFMYW4J.js";import"../chunk-JQQFB7EZ.js";import"../chunk-TBY3DFKS.js";import"../chunk-C7IFWSUA.js";import"../chunk-BPXEFVSQ.js";import"../chunk-YCSZAP7T.js";import"../chunk-ZEH6QLBH.js";import"../chunk-WHS6Y55E.js";import"../chunk-FM6JO4WF.js";import"../chunk-K56YDHYQ.js";import"../chunk-56ID6FKZ.js";import"../chunk-K53PQAMP.js";import"../chunk-ZKY45F5G.js";import"../chunk-FIVU2COQ.js";import"../chunk-P5VYGWYO.js";import"../chunk-WK3AFPXY.js";import"../chunk-QTHQPJWA.js";import"../chunk-NDRZP6YR.js";import"../chunk-H6DDIBQ4.js";import"../chunk-VBEVZZTV.js";import"../chunk-MJM6SFD3.js";import"../chunk-AJSDWWJW.js";import"../chunk-2OAZYSWJ.js";import"../chunk-YYD257TD.js";import"../chunk-RE4LP46F.js";import"../chunk-HZSZT3BE.js";import"../chunk-PMRN5Z3T.js";import"../chunk-Y2T3JX7K.js";import"../chunk-KFWNGPW3.js";import"../chunk-MIX7EGRG.js";import"../chunk-DX3VILZ3.js";import"../chunk-JACEEVVF.js";import"../chunk-MFIRYGHW.js";import"../chunk-SQTVXE5D.js";import"../chunk-TQ5Y6S2X.js";import"../chunk-3XECMGXX.js";import"../chunk-P2VEMZH5.js";import"../chunk-TOKMFZPB.js";import"../chunk-FR7EEKFF.js";import"../chunk-7UFKEX72.js";import"../chunk-EUFDQ4KL.js";import"../chunk-KXM6YRG2.js";import"../chunk-BSPCSC45.js";import"../chunk-467WWV4I.js";import"../chunk-TIAWIOGD.js";import"../chunk-MGVI67QV.js";
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block size — the values the Size group and the Text group's `When the text
|
|
3
|
+
* does not fit` row store on a block, ONE copy for both editors and for the
|
|
4
|
+
* page that draws them (plan [PLAN] Fill Editor Gaps Both Ways, step E-S).
|
|
5
|
+
*
|
|
6
|
+
* Lewis approved the design on 2026-10-29 (mockup c25-gaps-2026-10-29, row 4).
|
|
7
|
+
* Every block a Box holds has:
|
|
8
|
+
*
|
|
9
|
+
* Width Fit content / Fill / Fixed (`widthFit`; `width` px when Fixed)
|
|
10
|
+
* Min width the narrowest the block gets (`minWidth`)
|
|
11
|
+
* Content width the widest it gets (`maxWidth`, N10.1: never "max width")
|
|
12
|
+
* When the text does not fit Wrap / Shrink to fit (`textFit`)
|
|
13
|
+
* Min font size the smallest Shrink to fit goes (`minFont`)
|
|
14
|
+
*
|
|
15
|
+
* The email Button's Width and Min width are this group too (Lewis
|
|
16
|
+
* 2026-10-30, "Button width = web Size group").
|
|
17
|
+
*
|
|
18
|
+
* PURE: no React, no import. A host's published render code reads it through
|
|
19
|
+
* `efficient-easel/draw`; the rows are `screen/lib/document/block-size-fields`.
|
|
20
|
+
* What each value DRAWS (classes, custom properties) stays the host's.
|
|
21
|
+
*/
|
|
22
|
+
/** The Width row's three choices. `fit` is what every block already draws. */
|
|
23
|
+
declare const BLOCK_WIDTH_FIT_POINTS: readonly [{
|
|
24
|
+
readonly label: "Fit content";
|
|
25
|
+
readonly value: "fit";
|
|
26
|
+
}, {
|
|
27
|
+
readonly label: "Fill";
|
|
28
|
+
readonly value: "fill";
|
|
29
|
+
}, {
|
|
30
|
+
readonly label: "Fixed";
|
|
31
|
+
readonly value: "fixed";
|
|
32
|
+
}];
|
|
33
|
+
type BlockWidthFit = (typeof BLOCK_WIDTH_FIT_POINTS)[number]['value'];
|
|
34
|
+
/** What an unset Width draws. */
|
|
35
|
+
declare const BLOCK_WIDTH_FIT_DEFAULT: BlockWidthFit;
|
|
36
|
+
/** A stored Width, or `undefined` for nothing (or a word nobody knows). */
|
|
37
|
+
declare function parseBlockWidthFit(value: unknown): BlockWidthFit | undefined;
|
|
38
|
+
/** The Fixed px row: its track, and the number a Fixed block with no number
|
|
39
|
+
* draws (and the knob rests on), 480 as the approved mockup shows. */
|
|
40
|
+
declare const BLOCK_FIXED_WIDTH: {
|
|
41
|
+
readonly min: 40;
|
|
42
|
+
readonly max: 2000;
|
|
43
|
+
readonly step: 10;
|
|
44
|
+
readonly fallback: 480;
|
|
45
|
+
};
|
|
46
|
+
/** The Min width and Content width rows' track. 2000 is the widest page. */
|
|
47
|
+
declare const BLOCK_WIDTH_LIMIT: {
|
|
48
|
+
readonly min: 40;
|
|
49
|
+
readonly max: 2000;
|
|
50
|
+
readonly step: 10;
|
|
51
|
+
};
|
|
52
|
+
/** The text-fit row's two choices. */
|
|
53
|
+
declare const TEXT_FIT_POINTS: readonly [{
|
|
54
|
+
readonly label: "Wrap";
|
|
55
|
+
readonly value: "wrap";
|
|
56
|
+
}, {
|
|
57
|
+
readonly label: "Shrink to fit";
|
|
58
|
+
readonly value: "shrink";
|
|
59
|
+
}];
|
|
60
|
+
type TextFit = (typeof TEXT_FIT_POINTS)[number]['value'];
|
|
61
|
+
/** A stored text fit, or `undefined`. */
|
|
62
|
+
declare function parseTextFit(value: unknown): TextFit | undefined;
|
|
63
|
+
/** The Min font size row. 16 is the word fit's own floor. */
|
|
64
|
+
declare const TEXT_FIT_MIN_FONT: {
|
|
65
|
+
readonly min: 8;
|
|
66
|
+
readonly max: 120;
|
|
67
|
+
readonly step: 1;
|
|
68
|
+
readonly fallback: 16;
|
|
69
|
+
};
|
|
70
|
+
/** The stored keys, desktop names (each has its phone twin). */
|
|
71
|
+
declare const BLOCK_SIZE_KEYS: readonly ["widthFit", "width", "minWidth", "maxWidth", "textFit", "minFont"];
|
|
72
|
+
type BlockSizeKey = (typeof BLOCK_SIZE_KEYS)[number];
|
|
73
|
+
|
|
74
|
+
export { BLOCK_FIXED_WIDTH, BLOCK_SIZE_KEYS, BLOCK_WIDTH_FIT_DEFAULT, BLOCK_WIDTH_FIT_POINTS, BLOCK_WIDTH_LIMIT, type BlockSizeKey, type BlockWidthFit, TEXT_FIT_MIN_FONT, TEXT_FIT_POINTS, type TextFit, parseBlockWidthFit, parseTextFit };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{BLOCK_FIXED_WIDTH,BLOCK_SIZE_KEYS,BLOCK_WIDTH_FIT_DEFAULT,BLOCK_WIDTH_FIT_POINTS,BLOCK_WIDTH_LIMIT,TEXT_FIT_MIN_FONT,TEXT_FIT_POINTS,parseBlockWidthFit,parseTextFit}from"../../../chunk-X3EMJ2EX.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style keys — the stored keys of the Button's style rows and the corners a
|
|
3
|
+
* Corners row keeps, ONE copy for both editors and for the page that draws
|
|
4
|
+
* them (plan [PLAN] Fill Editor Gaps Both Ways, step E-R).
|
|
5
|
+
*
|
|
6
|
+
* The rows are `screen/lib/document/button-fields` (`buttonFieldSet`) and
|
|
7
|
+
* `screen/lib/document/style-fields` (`cornersField`); they import these
|
|
8
|
+
* objects and re-export them under the names hosts already import. A host's
|
|
9
|
+
* published render code reads the same objects through `efficient-easel/draw`,
|
|
10
|
+
* so it keeps no copy of its own.
|
|
11
|
+
*
|
|
12
|
+
* PURE: no React, no import. What each value DRAWS stays the host's.
|
|
13
|
+
*/
|
|
14
|
+
/** The keys the Button's style rows store, as the website stores them. */
|
|
15
|
+
declare const BUTTON_STYLE_KEYS: {
|
|
16
|
+
readonly fill: "buttonColor";
|
|
17
|
+
readonly fillOpacity: "buttonFillOpacity";
|
|
18
|
+
readonly border: "buttonBorder";
|
|
19
|
+
readonly text: "buttonTextColor";
|
|
20
|
+
readonly corners: "buttonCorners";
|
|
21
|
+
readonly cornerSides: "buttonCornerSides";
|
|
22
|
+
};
|
|
23
|
+
/** The Button's own padding keys, as the website stores them. */
|
|
24
|
+
declare const BUTTON_PAD_KEYS: {
|
|
25
|
+
readonly top: "buttonPaddingTop";
|
|
26
|
+
readonly right: "buttonPaddingRight";
|
|
27
|
+
readonly bottom: "buttonPaddingBottom";
|
|
28
|
+
readonly left: "buttonPaddingLeft";
|
|
29
|
+
};
|
|
30
|
+
/** The corners in the order they are stored. Absence means all four. */
|
|
31
|
+
declare const CORNER_SIDES: readonly ["tl", "tr", "br", "bl"];
|
|
32
|
+
/** One corner. */
|
|
33
|
+
type CornerSide = (typeof CORNER_SIDES)[number];
|
|
34
|
+
|
|
35
|
+
export { BUTTON_PAD_KEYS, BUTTON_STYLE_KEYS, CORNER_SIDES, type CornerSide };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{BUTTON_PAD_KEYS,BUTTON_STYLE_KEYS,CORNER_SIDES}from"../../../chunk-BTQ3FJKT.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{buttonFieldSet as e}from"../../../chunk-
|
|
1
|
+
import{buttonFieldSet as e}from"../../../chunk-C4HXU4HJ.js";import"../../../chunk-RKLDSLU6.js";import{boxFieldSet as o}from"../../../chunk-6F6OAL3C.js";import"../../../chunk-CLAADE4J.js";import"../../../chunk-2T22IY3J.js";import"../../../chunk-7GGNFLHT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-Q3VAJMXS.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import"../../../chunk-BTQ3FJKT.js";import{phoneKey as t}from"../../../chunk-E52W3M5I.js";import{foldMetaOf as n}from"../../../chunk-ANPOR6EY.js";import"../../../chunk-YAFMYW4J.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-56ID6FKZ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";function s(e){return Object.keys(e).filter(o=>{return t=e[o],!(null!==n(t));var t})}function r(e,o){const t=o.off??{},s=o.keys??{};for(const[e,o]of Object.entries(t))if(!o.trim())throw new Error(`blockSetFor: off row "${e}" needs a reason.`);for(const o of[...Object.keys(t),...Object.keys(s)]){if(!Object.hasOwn(e,o))throw new Error(`blockSetFor: the set has no row "${o}".`);if(Object.hasOwn(t,o)&&Object.hasOwn(s,o))throw new Error(`blockSetFor: row "${o}" is both off and renamed.`)}const r={};let i=[];for(const[o,c]of Object.entries(e)){const a=n(c);if(a){i=i.filter(([,e])=>n(e).level<a.level),i.push([o,c]);continue}if(Object.hasOwn(t,o))continue;for(const[e,o]of i)r[e]=o;i=[];const u=Object.hasOwn(s,o)?s[o]:o;if(Object.hasOwn(r,u)||u!==o&&Object.hasOwn(e,u))throw new Error(`blockSetFor: renamed key "${u}" is already a row.`);r[u]=c}return r}function i(e){const o=e.build();r(o,e.email),r(o,e.website);const t=s(o),n=e=>new Set(Object.keys(e.off??{})),i=n(e.email),c=n(e.website),a=[];for(const o of t)i.has(o)&&!c.has(o)&&a.push({row:o,only:"website",reason:e.email.off[o]}),c.has(o)&&!i.has(o)&&a.push({row:o,only:"email",reason:e.website.off[o]});return a}var c=["button","image","box","divider","logo","text","section","social"],a={useFill:()=>"",useText:()=>"",useBorder:()=>({width:0,color:""}),useCorners:()=>0},u={button:{build:()=>e({follows:a,padding:{fallback:{}}}),email:{editor:"email"},website:{editor:"website"}},box:{build:()=>o(),email:{editor:"email",keys:{gap:"itemGap"},off:Object.fromEntries(["sectionPaddingTop","sectionPaddingRight","sectionPaddingBottom","sectionPaddingLeft"].map(e=>[t(e),"email: a Banner Box draws in the desktop view only (admin inBannerFields)"]))},website:{editor:"website"}}},h={button:"the set is in easel; admin (A-B) and web-builder (W-B) still build their own rows (plan group 1)",image:"no easel set yet (plan group 2)",box:"the set is in easel and the email Banner Box imports it; the website Flex builds its own rows (plan group 3)",divider:"no easel set yet (plan group 4)",logo:"no easel set yet (plan group 5)",text:"no easel set yet (plan group 6)",section:"no easel set yet (plan group 7)",social:"no easel set yet (plan group 7)"};export{c as BLOCK_KINDS,h as BLOCK_SETS_STILL_TWO_COPIES,u as BLOCK_SET_PAIRS,i as blockSetDifferences,r as blockSetFor,s as blockSetRowKeys};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TextFit } from '../content/block-size.js';
|
|
2
|
+
import { PhoneValueAccess, BoxFieldSay, BoxField } from './box-fields.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import 'efficient-shell/format';
|
|
5
|
+
import 'efficient-shell/ui';
|
|
6
|
+
import '../../../ScreenDocumentContext-DPW_6gOC.js';
|
|
7
|
+
import '../../../blocks/index.js';
|
|
8
|
+
import '../../../types-BljCVdzR.js';
|
|
9
|
+
import '../../../data/index.js';
|
|
10
|
+
import '../../../types-Dq180WRV.js';
|
|
11
|
+
import '../../../resolve-Bz4mszpL.js';
|
|
12
|
+
import '../../../plan-D0DgSLnY.js';
|
|
13
|
+
import '../document-contract.js';
|
|
14
|
+
import '../document-switch.js';
|
|
15
|
+
import '../../../engine-CvXpFE86.js';
|
|
16
|
+
import '../../../edit-lock/index.js';
|
|
17
|
+
import '../admin-bridge.js';
|
|
18
|
+
import '../session.js';
|
|
19
|
+
import '../backend-error.js';
|
|
20
|
+
import '../host-chrome.js';
|
|
21
|
+
import '../links/link-filters.js';
|
|
22
|
+
import '../document-hooks.js';
|
|
23
|
+
import '../section-template-types.js';
|
|
24
|
+
import './content-tree.js';
|
|
25
|
+
import '../shared-section-types.js';
|
|
26
|
+
|
|
27
|
+
/** What a host tells {@link blockSizeFieldSet}. */
|
|
28
|
+
interface BlockSizeFieldSetOptions {
|
|
29
|
+
/** What a text block's words do with nothing stored (a heading shrinks,
|
|
30
|
+
* body text wraps). Left out: the block is not text, and has no Text group. */
|
|
31
|
+
textFit?: TextFit;
|
|
32
|
+
/** Where the phone values are kept (default: `phoneKey(key)` beside each). */
|
|
33
|
+
phone?: PhoneValueAccess;
|
|
34
|
+
/** The host's words. */
|
|
35
|
+
say?: BoxFieldSay;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The rows, in the order the panel shows them: `size` is the Size group,
|
|
39
|
+
* `text` the Text group (empty unless `textFit` names the block's default).
|
|
40
|
+
* The order is load-bearing: the inspector is a FLAT SIBLING LIST, so a
|
|
41
|
+
* heading precedes its rows and never wraps them.
|
|
42
|
+
*/
|
|
43
|
+
declare function blockSizeFieldSet(opts?: BlockSizeFieldSetOptions): {
|
|
44
|
+
size: Record<string, BoxField<unknown>>;
|
|
45
|
+
text: Record<string, BoxField<unknown>>;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export { type BlockSizeFieldSetOptions, blockSizeFieldSet };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{noGlyph as t,boxFieldBuilders as i,PHONE_KEY_ACCESS as n,group as o,phoneTwinFields as r}from"../../../chunk-6F6OAL3C.js";import"../../../chunk-CLAADE4J.js";import"../../../chunk-2T22IY3J.js";import"../../../chunk-7GGNFLHT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-Q3VAJMXS.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import{BLOCK_WIDTH_LIMIT as h,BLOCK_FIXED_WIDTH as m,BLOCK_WIDTH_FIT_POINTS as e,BLOCK_WIDTH_FIT_DEFAULT as s,TEXT_FIT_MIN_FONT as c,TEXT_FIT_POINTS as p}from"../../../chunk-X3EMJ2EX.js";import"../../../chunk-E52W3M5I.js";import"../../../chunk-ANPOR6EY.js";import"../../../chunk-YAFMYW4J.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-56ID6FKZ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";import{WidthIcon as u,TextLinesIcon as k}from"efficient-shell/icons/efficient";import{jsx as j}from"react/jsx-runtime";var F=t("a value or limit row under the Width and text-fit choices; drawn bare in the approved design (owner 2026-10-29, c25 row 4); no shell glyph names a min, max or fixed width");function d(t={}){const d=i(t.say),a=t.phone??n,x=(t,i)=>r(t,i,a),E=(t,i,n,o,r)=>x(t,d.slider(i,F,n.min,n.max,n.step,o,"px",{clear:r?{hint:o,emptyLabel:r}:{hint:o}}));return{size:{_gBlockSize:o("Size"),...x("widthFit",d.segmented("Width",/* @__PURE__ */j(u,{}),[...e],s)),...E("width","Fixed width",m,m.fallback),...E("minWidth","Min width",h,h.min,"None"),...E("maxWidth","Content width",h,h.min,"None")},text:t.textFit?{_gText:o("Text"),...x("textFit",d.segmented("When the text does not fit",/* @__PURE__ */j(k,{}),[...p],t.textFit)),...E("minFont","Min font size",c,c.fallback)}:{}}}export{d as blockSizeFieldSet};
|
|
@@ -297,6 +297,16 @@ interface SliderOptions {
|
|
|
297
297
|
/** The typed box's ceiling, when a typed number may go past the track. */
|
|
298
298
|
inputMax?: number;
|
|
299
299
|
}
|
|
300
|
+
/** What {@link boxFieldBuilders}' `segmented` is told past its options. */
|
|
301
|
+
interface SegmentedOptions<V> {
|
|
302
|
+
/**
|
|
303
|
+
* What a phone twin with nothing stored USES, from the desktop value: the
|
|
304
|
+
* host's own rule, when the phone does not simply repeat the desktop (the
|
|
305
|
+
* website Hero: Side by side on a desktop stacks on a phone). Left out, the
|
|
306
|
+
* phone rests on the desktop value itself. Display only: it never writes.
|
|
307
|
+
*/
|
|
308
|
+
phoneRest?: (desktop: unknown) => V | undefined;
|
|
309
|
+
}
|
|
300
310
|
/** What {@link directionField} is told: the directions this container offers,
|
|
301
311
|
* in the order the strip draws them, and the one an absent value means. */
|
|
302
312
|
interface DirectionFieldOptions<V extends string = string> {
|
|
@@ -367,6 +377,15 @@ type SidesPaddingOptions = {
|
|
|
367
377
|
phone?: boolean;
|
|
368
378
|
/** What an EMPTY side draws, per side, shown in grey (default 0). */
|
|
369
379
|
fallback?: Partial<Record<PadSide, number>>;
|
|
380
|
+
/**
|
|
381
|
+
* What an EMPTY side draws, as a HOOK, for a number the host holds live
|
|
382
|
+
* (the campaign's Button padding, which the merchant changes in Styles).
|
|
383
|
+
* Read on each render; a side it leaves out rests on `fallback`. Left out,
|
|
384
|
+
* `fallback` alone is what an empty side draws. It is a React hook, called
|
|
385
|
+
* by the row: give it ALWAYS or NEVER for one field set, never only
|
|
386
|
+
* sometimes, or the row's hook count changes between renders.
|
|
387
|
+
*/
|
|
388
|
+
useFallback?: () => Partial<Record<PadSide, number>> | undefined;
|
|
370
389
|
/** The `Padding` group head before the row (default true). */
|
|
371
390
|
group?: boolean;
|
|
372
391
|
min?: number;
|
|
@@ -478,12 +497,12 @@ declare function boxFieldBuilders(say?: BoxFieldSay): {
|
|
|
478
497
|
label: string;
|
|
479
498
|
value: string;
|
|
480
499
|
picture?: ReactElement;
|
|
481
|
-
})[], fallback: string): BoxField<string>;
|
|
500
|
+
})[], fallback: string, more?: SegmentedOptions<string>): BoxField<string>;
|
|
482
501
|
<V>(label: string, icon: ReactElement, options: {
|
|
483
502
|
label: string;
|
|
484
503
|
value: V;
|
|
485
504
|
picture?: ReactElement;
|
|
486
|
-
}[], fallback: V): BoxField<V>;
|
|
505
|
+
}[], fallback: V, more?: SegmentedOptions<V>): BoxField<V>;
|
|
487
506
|
};
|
|
488
507
|
boxJustifyField: (o?: BoxFlexRowOptions) => SelectField;
|
|
489
508
|
boxAlignField: (o?: BoxFlexRowOptions) => SelectField;
|
|
@@ -533,12 +552,12 @@ declare const segmented: {
|
|
|
533
552
|
label: string;
|
|
534
553
|
value: string;
|
|
535
554
|
picture?: ReactElement;
|
|
536
|
-
})[], fallback: string): BoxField<string>;
|
|
555
|
+
})[], fallback: string, more?: SegmentedOptions<string>): BoxField<string>;
|
|
537
556
|
<V>(label: string, icon: ReactElement, options: {
|
|
538
557
|
label: string;
|
|
539
558
|
value: V;
|
|
540
559
|
picture?: ReactElement;
|
|
541
|
-
}[], fallback: V): BoxField<V>;
|
|
560
|
+
}[], fallback: V, more?: SegmentedOptions<V>): BoxField<V>;
|
|
542
561
|
};
|
|
543
562
|
declare const boxJustifyField: (o?: BoxFlexRowOptions) => SelectField;
|
|
544
563
|
declare const boxAlignField: (o?: BoxFlexRowOptions) => SelectField;
|
|
@@ -579,4 +598,4 @@ declare const boxFieldSet: (opts?: BoxFieldSetOptions) => {
|
|
|
579
598
|
_gNudge: BoxField<undefined>;
|
|
580
599
|
};
|
|
581
600
|
|
|
582
|
-
export { ANCHOR_LABELS, type AlignmentOptions, AlignmentStrip, BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BlockAlignmentOptions, BlockAlignmentStrip, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, FLAT_ACCESS, type GapFieldOptions, OPEN_PLACEMENT_POINTS, PHONE_KEY_ACCESS, type PhoneValueAccess, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SelectField, type SelectOption, type SidesPaddingOptions, type SliderAction, type SliderClear, type SliderOptions, type ValueAccess, alignmentField, alignmentFields, blockAlignmentField, blockAlignmentFields, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, objectAccess, phoneObjectAccess, phoneTwinFields, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesFromObject, sidesPaddingFields, sidesPaddingPatch, sidesToObject, slider, useAccessPatch, useAccessValue };
|
|
601
|
+
export { ANCHOR_LABELS, type AlignmentOptions, AlignmentStrip, BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BlockAlignmentOptions, BlockAlignmentStrip, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, FLAT_ACCESS, type GapFieldOptions, OPEN_PLACEMENT_POINTS, PHONE_KEY_ACCESS, type PhoneValueAccess, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SegmentedOptions, type SelectField, type SelectOption, type SidesPaddingOptions, type SliderAction, type SliderClear, type SliderOptions, type ValueAccess, alignmentField, alignmentFields, blockAlignmentField, blockAlignmentFields, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, objectAccess, phoneObjectAccess, phoneTwinFields, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesFromObject, sidesPaddingFields, sidesPaddingPatch, sidesToObject, slider, useAccessPatch, useAccessValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ANCHOR_LABELS,AlignmentStrip,BOX_ALIGN_POINTS,BOX_DIRECTIONS,BOX_DIRECTION_LABEL,BOX_GAP,BOX_JUSTIFY_POINTS,BOX_NUDGE_LIMIT,BOX_PLACEMENTS,BOX_PLACEMENT_DEFAULT,BOX_WIDTH,BOX_WRAP_LABEL,BOX_WRAP_POINTS,BlockAlignmentStrip,FLAT_ACCESS,OPEN_PLACEMENT_POINTS,PHONE_KEY_ACCESS,PlacementGridView,SIDE_PAD_KEYS,Segmented,alignmentField,alignmentFields,blockAlignmentField,blockAlignmentFields,boxAlignField,boxFieldBuilders,boxFieldSet,boxJustifyField,boxWrapField,directionField,gapField,group,iconOf,isNoGlyph,noGlyph,normaliseBoxPlacement,objectAccess,phoneObjectAccess,phoneTwinFields,placementField,positionFields,positionPatch,section,segmented,select,sharedStyleKinds,sidesFromObject,sidesPaddingFields,sidesPaddingPatch,sidesToObject,slider,useAccessPatch,useAccessValue}from"../../../chunk-
|
|
1
|
+
export{ANCHOR_LABELS,AlignmentStrip,BOX_ALIGN_POINTS,BOX_DIRECTIONS,BOX_DIRECTION_LABEL,BOX_GAP,BOX_JUSTIFY_POINTS,BOX_NUDGE_LIMIT,BOX_PLACEMENTS,BOX_PLACEMENT_DEFAULT,BOX_WIDTH,BOX_WRAP_LABEL,BOX_WRAP_POINTS,BlockAlignmentStrip,FLAT_ACCESS,OPEN_PLACEMENT_POINTS,PHONE_KEY_ACCESS,PlacementGridView,SIDE_PAD_KEYS,Segmented,alignmentField,alignmentFields,blockAlignmentField,blockAlignmentFields,boxAlignField,boxFieldBuilders,boxFieldSet,boxJustifyField,boxWrapField,directionField,gapField,group,iconOf,isNoGlyph,noGlyph,normaliseBoxPlacement,objectAccess,phoneObjectAccess,phoneTwinFields,placementField,positionFields,positionPatch,section,segmented,select,sharedStyleKinds,sidesFromObject,sidesPaddingFields,sidesPaddingPatch,sidesToObject,slider,useAccessPatch,useAccessValue}from"../../../chunk-6F6OAL3C.js";import"../../../chunk-CLAADE4J.js";import"../../../chunk-2T22IY3J.js";import"../../../chunk-7GGNFLHT.js";import"../../../chunk-22I55W37.js";export{FIELD_DESCRIPTION_MARKER,describedAs}from"../../../chunk-LX23TCTP.js";import"../../../chunk-Q3VAJMXS.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import"../../../chunk-E52W3M5I.js";import"../../../chunk-ANPOR6EY.js";import"../../../chunk-YAFMYW4J.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-56ID6FKZ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValueAccess, SidesPaddingOptions, PhoneValueAccess, BoxFieldSay, BoxField } from './box-fields.js';
|
|
2
2
|
import { ColorPreset } from 'efficient-shell/ui';
|
|
3
|
+
export { BUTTON_PAD_KEYS, BUTTON_STYLE_KEYS } from '../content/style-keys.js';
|
|
3
4
|
import 'react';
|
|
4
5
|
import 'efficient-shell/format';
|
|
5
6
|
import '../../../ScreenDocumentContext-DPW_6gOC.js';
|
|
@@ -23,22 +24,6 @@ import '../section-template-types.js';
|
|
|
23
24
|
import './content-tree.js';
|
|
24
25
|
import '../shared-section-types.js';
|
|
25
26
|
|
|
26
|
-
/** The keys the Button's style rows store, as the website stores them. */
|
|
27
|
-
declare const BUTTON_STYLE_KEYS: {
|
|
28
|
-
readonly fill: "buttonColor";
|
|
29
|
-
readonly fillOpacity: "buttonFillOpacity";
|
|
30
|
-
readonly border: "buttonBorder";
|
|
31
|
-
readonly text: "buttonTextColor";
|
|
32
|
-
readonly corners: "buttonCorners";
|
|
33
|
-
readonly cornerSides: "buttonCornerSides";
|
|
34
|
-
};
|
|
35
|
-
/** The Button's own padding keys, as the website stores them. */
|
|
36
|
-
declare const BUTTON_PAD_KEYS: {
|
|
37
|
-
readonly top: "buttonPaddingTop";
|
|
38
|
-
readonly right: "buttonPaddingRight";
|
|
39
|
-
readonly bottom: "buttonPaddingBottom";
|
|
40
|
-
readonly left: "buttonPaddingLeft";
|
|
41
|
-
};
|
|
42
27
|
/** What a host tells {@link buttonFieldSet}. Values only: every host gets
|
|
43
28
|
* every row. */
|
|
44
29
|
interface ButtonFieldSetOptions {
|
|
@@ -63,7 +48,10 @@ interface ButtonFieldSetOptions {
|
|
|
63
48
|
style?: ValueAccess;
|
|
64
49
|
/** The Padding row. `fallback` is the HOST's: what an empty side draws
|
|
65
50
|
* (the website's Btn classes, the campaign's Button padding). The set keeps
|
|
66
|
-
* no number of its own. `
|
|
51
|
+
* no number of its own. `useFallback` is the same as a hook, for a number
|
|
52
|
+
* the host holds live (the campaign's Button padding in Styles); a side it
|
|
53
|
+
* leaves out rests on `fallback`. A hook: give it always or never for one
|
|
54
|
+
* field set (the row's hook count). `object` is the email designer's storage. */
|
|
67
55
|
padding: SidesPaddingOptions & {
|
|
68
56
|
fallback: NonNullable<SidesPaddingOptions['fallback']>;
|
|
69
57
|
};
|
|
@@ -94,4 +82,4 @@ declare function buttonFieldSet(opts: ButtonFieldSetOptions): {
|
|
|
94
82
|
_dSize: BoxField<undefined>;
|
|
95
83
|
};
|
|
96
84
|
|
|
97
|
-
export {
|
|
85
|
+
export { type ButtonFieldSetOptions, buttonFieldSet };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{buttonFieldSet}from"../../../chunk-C4HXU4HJ.js";import"../../../chunk-RKLDSLU6.js";import"../../../chunk-6F6OAL3C.js";import"../../../chunk-CLAADE4J.js";import"../../../chunk-2T22IY3J.js";import"../../../chunk-7GGNFLHT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-Q3VAJMXS.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";export{BUTTON_PAD_KEYS,BUTTON_STYLE_KEYS}from"../../../chunk-BTQ3FJKT.js";import"../../../chunk-E52W3M5I.js";import"../../../chunk-ANPOR6EY.js";import"../../../chunk-YAFMYW4J.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-56ID6FKZ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";
|