efficient-easel 0.97.0 → 0.99.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 +13 -5
- package/dist/autosave/index.d.ts +4 -4
- package/dist/{buckets-1vRlQceY.d.ts → buckets-CuLM47h9.d.ts} +1 -1
- package/dist/chrome/chrome.css +25 -16
- package/dist/chrome/index.d.ts +6 -6
- package/dist/chrome/index.js +6 -6
- package/dist/chunk-2UX75JDP.js +1 -0
- package/dist/{chunk-STFMZJKU.js → chunk-66CKSTXP.js} +6 -6
- package/dist/{chunk-YIMRTIBN.js → chunk-IBOFSS56.js} +1 -1
- package/dist/{chunk-OGZFDJ6G.js → chunk-JE63JHKO.js} +1 -1
- package/dist/{chunk-CERTFXCV.js → chunk-JYPOOHII.js} +3 -3
- package/dist/chunk-PI26YXYD.js +462 -0
- package/dist/chunk-SJQG5ENJ.js +1 -0
- package/dist/{chunk-2LUSK32B.js → chunk-ZT7M24XD.js} +1 -1
- package/dist/copy/copy.css +5 -5
- package/dist/copy/index.d.ts +5 -5
- package/dist/copy/index.js +10 -10
- package/dist/drag/drag.css +15 -15
- package/dist/drag/index.js +5 -5
- package/dist/edit-lock/index.d.ts +1 -1
- package/dist/editor/index.d.ts +2 -2
- package/dist/fields/fields.css +126 -12
- package/dist/fields/index.d.ts +59 -11
- package/dist/fields/index.js +40 -33
- package/dist/gold/index.d.ts +1 -1
- package/dist/gold/index.js +1 -1
- package/dist/icons/index.d.ts +26 -5
- package/dist/icons/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/markup/index.d.ts +97 -21
- package/dist/markup/index.js +1 -1
- package/dist/menu/menu.css +4 -4
- package/dist/node-ops/index.js +1 -1
- package/dist/panel/index.d.ts +10 -10
- package/dist/panel/panel.css +34 -25
- package/dist/pick/pick.css +8 -8
- package/dist/rail/index.d.ts +2 -2
- package/dist/rail/index.js +1 -1
- package/dist/rail/rail.css +1 -1
- package/dist/render/index.d.ts +1 -1
- package/dist/shell/index.d.ts +24 -4
- package/dist/shell/index.js +1 -1
- package/dist/shell/shell.css +12 -2
- package/dist/strings/catalogue.d.ts +4 -4
- package/dist/strings/catalogue.js +1 -1
- package/dist/strings/index.d.ts +4 -4
- package/dist/strings/index.js +1 -1
- package/dist/style-clipboard/index.js +1 -1
- package/dist/tree/index.d.ts +1 -1
- package/dist/tree/index.js +1 -1
- package/dist/tree/tree.css +11 -11
- package/dist/{types-CEqUFH2j.d.ts → types-C7HFvdtk.d.ts} +26 -4
- package/dist/{types-CuNiSnX6.d.ts → types-CnRzp9oc.d.ts} +1 -1
- package/dist/{words-CsRWXkY4.d.ts → words-Cqmyey0s.d.ts} +2 -2
- package/dist/{words-DfxEp_RH.d.ts → words-bOMsUJk9.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-6OPSJGAI.js +0 -1
- package/dist/chunk-FI23ALVJ.js +0 -1
- package/dist/chunk-YNZZYHA4.js +0 -450
package/dist/fields/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import { S as SettingsBucket } from '../buckets-
|
|
4
|
-
import { I as InspectorFields, a as InspectorFieldDef, F as FieldRenderer, b as FieldTextProps, c as FieldNumberProps, d as
|
|
5
|
-
export { A as ArrayFieldDef, C as CustomFieldDef,
|
|
2
|
+
import { ReactNode, KeyboardEvent } from 'react';
|
|
3
|
+
import { S as SettingsBucket } from '../buckets-CuLM47h9.js';
|
|
4
|
+
import { I as InspectorFields, a as InspectorFieldDef, F as FieldRenderer, b as FieldTextProps, c as FieldNumberProps, d as FieldSliderProps, e as FieldSelectProps, f as FieldOption } from '../types-C7HFvdtk.js';
|
|
5
|
+
export { A as ArrayFieldDef, C as CustomFieldDef, g as CustomFieldRenderProps, N as NumberFieldDef, O as ObjectFieldDef, R as RadioFieldDef, S as SelectFieldDef, h as SlotFieldDef, T as TextFieldDef, i as TextareaFieldDef } from '../types-C7HFvdtk.js';
|
|
6
6
|
import { R as ResolvableItem } from '../resolve-D68pb3Bx.js';
|
|
7
7
|
export { F as FieldsWords } from '../words-CD3WADyb.js';
|
|
8
8
|
import '../types-41704JE4.js';
|
|
@@ -243,17 +243,65 @@ declare function FieldText({ id, value, onChange, placeholder, multiline, rows,
|
|
|
243
243
|
declare function clampNumber(n: number, min?: number, max?: number): number;
|
|
244
244
|
/** What a typed string means as a number: null for nothing or not-a-number. */
|
|
245
245
|
declare function parseTyped(text: string): number | null;
|
|
246
|
+
interface NumberEntryOptions {
|
|
247
|
+
value: number | undefined;
|
|
248
|
+
onChange: (value: number | undefined) => void;
|
|
249
|
+
min?: number;
|
|
250
|
+
max?: number;
|
|
251
|
+
step?: number;
|
|
252
|
+
shiftStep?: number;
|
|
253
|
+
styleValue?: number;
|
|
254
|
+
readOnly?: boolean;
|
|
255
|
+
}
|
|
246
256
|
/**
|
|
247
|
-
*
|
|
248
|
-
*
|
|
257
|
+
* What a typed number box does, shared by the number cell and the slider
|
|
258
|
+
* row's value, so the two cannot drift.
|
|
249
259
|
*
|
|
250
260
|
* It keeps the TYPED TEXT while you type, so "1." and "-" are allowed on the way
|
|
251
261
|
* to a number, and writes only when the text is a number. It writes as you type
|
|
252
|
-
* (the canvas follows)
|
|
253
|
-
*
|
|
254
|
-
* `
|
|
262
|
+
* (the canvas follows). Enter or leaving the box clamps to `min` / `max`; Esc
|
|
263
|
+
* puts back the value the box had when you came in. ↑↓ move by `step`, Shift
|
|
264
|
+
* by `shiftStep` (ten steps unless the host says). An empty box writes
|
|
265
|
+
* `undefined`: the setting goes back to the style, whose number `styleValue`
|
|
266
|
+
* then shows, grey, and is where a step starts from.
|
|
267
|
+
*/
|
|
268
|
+
declare function useNumberEntry({ value, onChange, min, max, step, shiftStep, styleValue, readOnly }: NumberEntryOptions): {
|
|
269
|
+
inputProps: {
|
|
270
|
+
value: string;
|
|
271
|
+
readOnly: boolean;
|
|
272
|
+
placeholder: string | undefined;
|
|
273
|
+
onFocus: () => void;
|
|
274
|
+
onChange: (e: {
|
|
275
|
+
target: {
|
|
276
|
+
value: string;
|
|
277
|
+
};
|
|
278
|
+
}) => void;
|
|
279
|
+
onBlur: () => void;
|
|
280
|
+
onKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
|
|
281
|
+
};
|
|
282
|
+
nudge: (dir: 1 | -1, big?: boolean) => void;
|
|
283
|
+
set: (n: number | undefined) => void;
|
|
284
|
+
/** Nothing of its own: the style's number shows, grey. */
|
|
285
|
+
isStyle: boolean;
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* A number value (blueprint step 4.1; the cell, plan step E4): one box holding
|
|
289
|
+
* an optional icon, the number, an optional unit and, with `steppers`, two
|
|
290
|
+
* small stacked arrows. What the typing, the keys and the arrows do is
|
|
291
|
+
* {@link useNumberEntry}'s.
|
|
292
|
+
*/
|
|
293
|
+
declare function FieldNumber({ id, value, onChange, min, max, step, shiftStep, styleValue, icon, unit, steppers, placeholder, readOnly, ariaLabel, ariaLabelledBy, }: FieldNumberProps): react.JSX.Element;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* A slider row (plan step E4), for Site styles and Email styles: the name on
|
|
297
|
+
* the left and the value on the right on one line, the slider under them.
|
|
298
|
+
*
|
|
299
|
+
* The value is typed and takes ↑↓ (Shift = ten steps), exactly as the number
|
|
300
|
+
* cell does — it is the same {@link useNumberEntry} — and may go past the
|
|
301
|
+
* slider's own travel (`sliderMin` / `sliderMax`); only `min` / `max` hold it.
|
|
302
|
+
* The slider then rests at its end. A grey value follows the style.
|
|
255
303
|
*/
|
|
256
|
-
declare function
|
|
304
|
+
declare function FieldSlider({ id, label, value, onChange, min, max, step, shiftStep, styleValue, unit, sliderMin, sliderMax, readOnly, }: FieldSliderProps): react.JSX.Element;
|
|
257
305
|
|
|
258
306
|
/** The option a stored value names: equal by `Object.is`, so `0`, `false` and `''` are values too. */
|
|
259
307
|
declare function optionFor<V>(options: readonly FieldOption<V>[], value: V | undefined): FieldOption<V> | undefined;
|
|
@@ -270,4 +318,4 @@ declare function optionFor<V>(options: readonly FieldOption<V>[], value: V | und
|
|
|
270
318
|
*/
|
|
271
319
|
declare function FieldSelect<V>({ id, value, options, onChange, placeholder, readOnly, ariaLabel, ariaLabelledBy, }: FieldSelectProps<V>): react.JSX.Element;
|
|
272
320
|
|
|
273
|
-
export { FieldNumber, FieldNumberProps, FieldOption, type FieldPlan, FieldRenderer, FieldSelect, FieldSelectProps, FieldText, FieldTextProps, type FieldsBlock, Inspector, InspectorField, InspectorFieldDef, type InspectorFieldProps, InspectorFields, type InspectorProps, ListField, type ListFieldProps, type PlannedRow, type ResolvedFieldsInput, SettingsBucket, bucketsOf, clampNumber, copyItem, insertAt, labelOf, moveTo, optionFor, parseTyped, planFields, removeAt, useResolvedFields };
|
|
321
|
+
export { FieldNumber, FieldNumberProps, FieldOption, type FieldPlan, FieldRenderer, FieldSelect, FieldSelectProps, FieldSlider, FieldSliderProps, FieldText, FieldTextProps, type FieldsBlock, Inspector, InspectorField, InspectorFieldDef, type InspectorFieldProps, InspectorFields, type InspectorProps, ListField, type ListFieldProps, type NumberEntryOptions, type PlannedRow, type ResolvedFieldsInput, SettingsBucket, bucketsOf, clampNumber, copyItem, insertAt, labelOf, moveTo, optionFor, parseTyped, planFields, removeAt, useNumberEntry, useResolvedFields };
|
package/dist/fields/index.js
CHANGED
|
@@ -1,46 +1,53 @@
|
|
|
1
|
-
import{LayersTree as e,TreeSeam as n,TreeRow as t,TreeRowAction as
|
|
2
|
-
return
|
|
3
|
-
|
|
4
|
-
/* @__PURE__ */k("
|
|
5
|
-
/* @__PURE__ */k(
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */k("span",{className:"es-fsel-
|
|
1
|
+
import{LayersTree as e,TreeSeam as n,TreeRow as t,TreeRowAction as r}from"../chunk-66CKSTXP.js";import{SettingsField as l,SETTINGS_BUCKETS as a,SettingsTabs as i,SettingsGroup as s}from"../chunk-67VZRQLG.js";import{DEFAULT_FIELDS_WORDS as o}from"../chunk-SUO5627P.js";import{DEFAULT_TREE_WORDS as c}from"../chunk-H4B72XCJ.js";import{DEFAULT_PANEL_WORDS as d}from"../chunk-7A7O2JWQ.js";export{useResolvedFields}from"../chunk-YRLPFZW3.js";import{SettingsSegmented as u}from"../chunk-QB3BZIRA.js";import{useWords as m}from"../chunk-MFIRYGHW.js";import"../chunk-BZ5ASXOL.js";import{useTreeDrag as p,gapToMoveIndex as h}from"../chunk-6PS6STGA.js";import"../chunk-PI26YXYD.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";import{useState as f,useRef as b,useEffect as v,useId as y}from"react";import{jsxs as g,jsx as k,Fragment as x}from"react/jsx-runtime";function w(e,n,t){let r=e;return"number"==typeof n&&r<n&&(r=n),"number"==typeof t&&r>t&&(r=t),r}function N(e){const n=e.trim().replace(",",".");if(""===n||"-"===n||"."===n||"-."===n)return null;const t=Number(n);return Number.isFinite(t)?t:null}function C(e){const n=String(e),t=n.indexOf(".");return t<0?0:n.length-t-1}function O({value:e,onChange:n,min:t,max:r,step:l=1,shiftStep:a,styleValue:i,readOnly:s=!1}){const o="number"==typeof e&&Number.isFinite(e)?e:void 0,c=void 0===o?"":String(o),[d,u]=f(c),m=b(o),p=b(o);v(()=>{m.current=o,u(e=>N(e)===(o??null)?e:c)},[o,c]);const h=e=>{s||(m.current=e,n(e))},y=e=>{s||(u(void 0===e?"":String(e)),e!==m.current&&h(e))},g=(e,n=!1)=>{if(s)return;const o=w(function(e,n){const t=Math.max(C(e),C(n));return Number((e+n).toFixed(t))}(m.current??i??t??0,e*(n?a??10*l:l)),t,r);u(String(o)),h(o)},k=()=>{const e=N(d);null!==e?y(w(e,t,r)):u(void 0===m.current?"":String(m.current))};return{inputProps:{value:d,readOnly:s,placeholder:void 0===i?void 0:String(i),onFocus:()=>{p.current=m.current},onChange:e=>{const n=e.target.value;if(u(n),""===n.trim())h(void 0);else{const e=N(n);null!==e&&h(e)}},onBlur:k,onKeyDown:e=>{"ArrowUp"===e.key||"ArrowDown"===e.key?(e.preventDefault(),g("ArrowUp"===e.key?1:-1,e.shiftKey)):"Enter"===e.key?(e.preventDefault(),k(),p.current=m.current):"Escape"===e.key&&(e.preventDefault(),y(p.current))}},nudge:g,set:y,isStyle:void 0!==i&&""===d.trim()}}function S({dir:e,label:n,disabled:t,nudge:r}){const l=b(null),a=b(r);a.current=r;const i=b({}),s=()=>{const e=i.current;void 0!==e.wait&&clearTimeout(e.wait),void 0!==e.every&&clearInterval(e.every),e.off?.(),i.current={}};v(()=>{const e=l.current;return e?.addEventListener("pointerleave",s),e?.addEventListener("pointercancel",s),()=>{e?.removeEventListener("pointerleave",s),e?.removeEventListener("pointercancel",s),s()}},[]);/* @__PURE__ */
|
|
2
|
+
return k("button",{ref:l,type:"button",tabIndex:-1,className:"es-fnum-arrow es-fnum-arrow--"+(e>0?"up":"down"),"aria-label":n,disabled:t,onPointerDown:n=>{if(0!==n.button||t)return;n.preventDefault(),s();const r=n.shiftKey;a.current(e,r);const l=n.currentTarget.ownerDocument;l.addEventListener("pointerup",s),i.current={off:()=>l.removeEventListener("pointerup",s),wait:setTimeout(()=>{i.current.every=setInterval(()=>a.current(e,r),60)},350)}},onClick:n=>{0===n.detail&&a.current(e,n.shiftKey)},children:/* @__PURE__ */k("svg",{viewBox:"0 0 10 10","aria-hidden":"true",focusable:"false",children:/* @__PURE__ */k("path",{d:e>0?"M2.5 6.25 5 3.75l2.5 2.5":"M2.5 3.75 5 6.25l2.5-2.5"})})})}function $({id:e,value:n,onChange:t,min:r,max:l,step:a=1,shiftStep:i,styleValue:s,icon:c,unit:d,steppers:u=!1,placeholder:p,readOnly:h=!1,ariaLabel:f,ariaLabelledBy:b}){const v=m("fields",o),{inputProps:y,nudge:x,isStyle:w}=O({value:n,onChange:t,min:r,max:l,step:a,shiftStep:i,styleValue:s,readOnly:h});/* @__PURE__ */
|
|
3
|
+
return g("div",{className:`es-fnum${u?" es-fnum--arrows":""}${w?" is-style":""}${h?" is-readonly":""}`,children:[c?/* @__PURE__ */k("span",{className:"es-fnum-icon","aria-hidden":"true",children:c}):null,
|
|
4
|
+
/* @__PURE__ */k("input",{id:e,type:"text",inputMode:"decimal",className:"es-fnum-box","aria-label":f,"aria-labelledby":b,...y,placeholder:y.placeholder??p}),d?/* @__PURE__ */k("span",{className:"es-fnum-unit",children:d}):null,u?/* @__PURE__ */g("span",{className:"es-fnum-arrows",children:[
|
|
5
|
+
/* @__PURE__ */k(S,{dir:1,label:v.more,disabled:h,nudge:x}),
|
|
6
|
+
/* @__PURE__ */k(S,{dir:-1,label:v.less,disabled:h,nudge:x})]}):null]})}function I(e,n){return e.find(e=>Object.is(e.value,n))}function L({id:e,value:n,options:t,onChange:r,placeholder:l,readOnly:a=!1,ariaLabel:i,ariaLabelledBy:s}){const c=m("fields",o),d=y(),[u,p]=f(!1),[h,x]=f(0),w=b(null),N=b(null),C=b(null),O=I(t,n),S=O?t.indexOf(O):-1,$=()=>{a||0===t.length||(x(S>=0?S:0),p(!0))},L=e=>{p(!1),e&&N.current?.focus()},j=e=>{const l=t[e];l&&!l.disabled&&(Object.is(l.value,n)||r(l.value),L(!0))};v(()=>{if(!u)return;C.current?.focus();const e=w.current?.ownerDocument;if(!e)return;const n=e=>{w.current&&!w.current.contains(e.target)&&p(!1)};return e.addEventListener("click",n,!0),()=>e.removeEventListener("click",n,!0)},[u]);const D=e=>{const n=t.length;if(0===n)return;let r=(e%n+n)%n;for(let l=0;l<n&&t[r]?.disabled;l++)r=(r+(e>=h?1:-1)+n)%n;x(r)};/* @__PURE__ */
|
|
7
|
+
return g("div",{className:"es-fsel",ref:w,children:[
|
|
8
|
+
/* @__PURE__ */g("button",{ref:N,id:e,type:"button",className:"es-fin es-fsel-button","aria-haspopup":"listbox","aria-expanded":u,"aria-controls":u?d:void 0,"aria-label":i,"aria-labelledby":s,disabled:a,onClick:()=>u?L(!1):$(),onKeyDown:e=>{"ArrowDown"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),$())},children:[
|
|
9
|
+
/* @__PURE__ */k("span",{className:O?"es-fsel-value":"es-fsel-value is-empty",children:O?O.label:l??c.choose}),
|
|
10
|
+
/* @__PURE__ */k("span",{className:"es-fsel-chev","aria-hidden":"true"})]}),u?/* @__PURE__ */k("ul",{ref:C,id:d,role:"listbox",tabIndex:-1,className:"es-fsel-list","aria-activedescendant":`${d}-${h}`,"aria-labelledby":s,"aria-label":s?void 0:i,onKeyDown:e=>{switch(e.key){case"ArrowDown":return e.preventDefault(),void D(h+1);case"ArrowUp":return e.preventDefault(),void D(h-1);case"Home":return e.preventDefault(),void D(0);case"End":return e.preventDefault(),void D(t.length-1);case"Enter":case" ":return e.preventDefault(),void j(h);case"Escape":return e.preventDefault(),e.stopPropagation(),void L(!0);case"Tab":return void L(!1);default:if(1===e.key.length&&/\S/.test(e.key)){const n=e.key.toLowerCase(),r=t.length;for(let e=1;e<=r;e++){const l=(h+e)%r;if(!t[l]?.disabled&&t[l]?.label.toLowerCase().startsWith(n))return void x(l)}}}},children:t.map((e,n)=>/* @__PURE__ */k("li",{id:`${d}-${n}`,role:"option","aria-selected":n===S,"aria-disabled":e.disabled||void 0,className:`es-fsel-option${n===h?" is-active":""}${n===S?" is-chosen":""}`,onMouseEnter:()=>x(n),onClick:()=>j(n),children:e.label},`${n}-${String(e.value)}`))}):null]})}function j({id:e,value:n,onChange:t,placeholder:r,multiline:l=!1,rows:a=3,readOnly:i=!1,ariaLabel:s,ariaLabelledBy:o}){const c=n??"";return l?/* @__PURE__ */k("textarea",{id:e,className:"es-fin es-fin--area",value:c,rows:a,placeholder:r,readOnly:i,"aria-label":s,"aria-labelledby":o,onChange:e=>t(e.target.value)}):/* @__PURE__ */k("input",{id:e,type:"text",className:"es-fin",value:c,placeholder:r,readOnly:i,"aria-label":s,"aria-labelledby":o,onChange:e=>t(e.target.value)})}function D(e,n,t){const r=e.slice();return r.splice(Math.max(0,Math.min(n,r.length)),0,t),r}function M(e,n,t){const r=e.slice(),[l]=r.splice(n,1);return r.splice(Math.max(0,Math.min(t,r.length)),0,l),r}function P(e,n){return e.filter((e,t)=>t!==n)}function A(e){return null===e||"object"!=typeof e?e:JSON.parse(JSON.stringify(e))}function B(){/* @__PURE__ */
|
|
10
11
|
return g("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:[
|
|
11
12
|
/* @__PURE__ */k("circle",{cx:"9",cy:"6",r:"1.6"}),
|
|
12
13
|
/* @__PURE__ */k("circle",{cx:"15",cy:"6",r:"1.6"}),
|
|
13
14
|
/* @__PURE__ */k("circle",{cx:"9",cy:"12",r:"1.6"}),
|
|
14
15
|
/* @__PURE__ */k("circle",{cx:"15",cy:"12",r:"1.6"}),
|
|
15
16
|
/* @__PURE__ */k("circle",{cx:"9",cy:"18",r:"1.6"}),
|
|
16
|
-
/* @__PURE__ */k("circle",{cx:"15",cy:"18",r:"1.6"})]})}var
|
|
17
|
+
/* @__PURE__ */k("circle",{cx:"15",cy:"18",r:"1.6"})]})}var E={parentId:"list",slot:"items"};function F({label:l,icon:a,noun:i,items:s,onChange:d,newItem:u,summary:f,itemName:b,thumb:v,min:y=0,max:w,readOnly:N=!1,open:C,onOpen:O,renderItem:S}){const $=m("fields",o).list,I=m("tree",c),L=i??$.item,j=!N&&("number"!=typeof w||s.length<w),F=!N&&s.length>y,K=(e,n)=>b?b(e,n):$.itemName({noun:L,n:n+1}),V=p({keyOf:e=>String(e),canDrop:(e,n)=>n.parentId===E.parentId&&n.slot===E.slot,onDrop:(e,n)=>{const t=h({...E,index:e},n);t!==e&&d(M(s,e,t))},onStep:(e,n)=>d(M(s,e,e+n)),canStep:(e,n)=>e+n>=0&&e+n<s.length,readOnly:N}),T=e=>{j&&d(D(s,e,u()))},R=e=>{j&&d(D(s,e+1,A(s[e])))},W=e=>{F&&(d(P(s,e)),null!==C&&O(null))};if(null!==C&&C>=0&&C<s.length){const e=s[C];/* @__PURE__ */
|
|
17
18
|
return g("div",{className:"es-list is-open",children:[
|
|
18
19
|
/* @__PURE__ */g("button",{type:"button",className:"es-list-back",onClick:()=>O(null),children:[
|
|
19
|
-
/* @__PURE__ */k("span",{className:"es-list-back-chev","aria-hidden":"true"}),
|
|
20
|
+
/* @__PURE__ */k("span",{className:"es-list-back-chev","aria-hidden":"true"}),l]}),
|
|
20
21
|
/* @__PURE__ */g("div",{className:"es-list-title",children:[
|
|
21
|
-
/* @__PURE__ */k("span",{className:"es-list-name",children:
|
|
22
|
-
/* @__PURE__ */k("span",{className:"es-list-count",children
|
|
23
|
-
/* @__PURE__ */k("div",{className:"es-list-item",children
|
|
24
|
-
/* @__PURE__ */k("button",{type:"button",className:"es-fbtn",disabled:!
|
|
25
|
-
/* @__PURE__ */k("button",{type:"button",className:"es-fbtn es-fbtn--danger",disabled:!
|
|
22
|
+
/* @__PURE__ */k("span",{className:"es-list-name",children:K(e,C)}),
|
|
23
|
+
/* @__PURE__ */k("span",{className:"es-list-count",children:$.position({n:C+1,total:s.length})})]}),
|
|
24
|
+
/* @__PURE__ */k("div",{className:"es-list-item",children:S(e,C,e=>{const n=s.slice();n[C]=e,d(n)})}),N?null:/* @__PURE__ */g("div",{className:"es-list-item-actions",children:[
|
|
25
|
+
/* @__PURE__ */k("button",{type:"button",className:"es-fbtn",disabled:!j,onClick:()=>R(C),children:$.duplicate}),
|
|
26
|
+
/* @__PURE__ */k("button",{type:"button",className:"es-fbtn es-fbtn--danger",disabled:!F,onClick:()=>W(C),children:$.deleteItem({noun:L})})]})]})}/* @__PURE__ */
|
|
26
27
|
return g("div",{className:"es-list",children:[
|
|
27
28
|
/* @__PURE__ */g("div",{className:"es-list-head",children:[
|
|
28
|
-
/* @__PURE__ */g("span",{className:"es-list-label",children:[
|
|
29
|
-
/* @__PURE__ */k("span",{className:"es-list-count",children:s.length})]}),s.length?/* @__PURE__ */g(e,{className:"es-list-tree",rootProps:
|
|
30
|
-
return g("div",{className:"es-list-entry",children:[
|
|
31
|
-
/* @__PURE__ */k(t,{icon:v?v(e,
|
|
32
|
-
/* @__PURE__ */k(
|
|
29
|
+
/* @__PURE__ */g("span",{className:"es-list-label",children:[a?/* @__PURE__ */k("span",{className:"es-field-icon","aria-hidden":"true",children:a}):null,l]}),
|
|
30
|
+
/* @__PURE__ */k("span",{className:"es-list-count",children:s.length})]}),s.length?/* @__PURE__ */g(e,{className:"es-list-tree",rootProps:V.rootProps(),children:[s.map((e,l)=>{const a={...E,index:l},i=V.row({item:l,place:a});/* @__PURE__ */
|
|
31
|
+
return g("div",{className:"es-list-entry",children:[l>0?/* @__PURE__ */k(n,{...V.seam({place:a}),onAdd:j?()=>T(l):void 0,label:$.addHere({noun:L})}):null,
|
|
32
|
+
/* @__PURE__ */k(t,{icon:v?v(e,l):/* @__PURE__ */k(B,{}),name:K(e,l),preview:f?f(e,l):void 0,draggable:i.draggable,dragging:i.dragging,drop:i.drop,rowProps:i.rowProps,words:I,onSelect:()=>O(l),actions:N?void 0:/* @__PURE__ */g(x,{children:[
|
|
33
|
+
/* @__PURE__ */k(r,{kind:"plain",label:$.duplicateItem({noun:L}),disabled:!j,onClick:()=>R(l),children:/* @__PURE__ */g("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[
|
|
33
34
|
/* @__PURE__ */k("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),
|
|
34
35
|
/* @__PURE__ */k("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}),
|
|
35
|
-
/* @__PURE__ */k(
|
|
36
|
-
/* @__PURE__ */k(n,{...
|
|
37
|
-
return k(s,{id:`${t}-group`,title:
|
|
38
|
-
return k(F,{label:
|
|
39
|
-
return k(
|
|
40
|
-
return k(
|
|
41
|
-
return k(
|
|
42
|
-
return k(
|
|
43
|
-
return k(
|
|
44
|
-
return k(
|
|
45
|
-
return g("div",{className:"es-insp",children:[D?/* @__PURE__ */k("div",{className:"es-insp-tabs",children:/* @__PURE__ */k(i,{ariaLabel:
|
|
46
|
-
/* @__PURE__ */g("div",{className:"es-insp-rows",id:M,role:D?"tabpanel":void 0,"aria-labelledby":D
|
|
36
|
+
/* @__PURE__ */k(r,{kind:"delete",label:$.deleteItem({noun:L}),disabled:!F,onClick:()=>W(l),children:/* @__PURE__ */k("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:/* @__PURE__ */k("path",{d:"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3"})})})]})})]},l)}),
|
|
37
|
+
/* @__PURE__ */k(n,{...V.seam({place:{...E,index:s.length}})})]}):null,N?null:/* @__PURE__ */k("button",{type:"button",className:"es-list-add",disabled:!j,onClick:()=>T(s.length),children:$.add({noun:L})})]})}var K=(e,n)=>"string"==typeof e.label&&e.label?e.label:n;function V({field:e,name:n,id:t,value:r,onChange:l,readOnly:a,context:i,renderers:o}){const[c,d]=f(!0),u=r&&"object"==typeof r?r:{};/* @__PURE__ */
|
|
38
|
+
return k(s,{id:`${t}-group`,title:K(e,n),open:c,onToggle:d,children:Object.entries(e.objectFields).map(([e,r])=>/* @__PURE__ */k(R,{field:r,name:`${n}.${e}`,id:`${t}-${e}`,value:u[e],onChange:n=>l({...u,[e]:n}),readOnly:a,context:i,renderers:o},e))})}function T({field:e,name:n,id:t,value:r,onChange:l,readOnly:a,context:i,renderers:s,openItem:o,onOpenItem:c}){const[d,u]=f(null),m=c?o??null:d,p=c??u,h=Array.isArray(r)?r:[],b=e.getItemSummary;/* @__PURE__ */
|
|
39
|
+
return k(F,{label:K(e,n),icon:e.icon,noun:"string"==typeof e.noun?e.noun:void 0,items:h,onChange:l,newItem:()=>A({...e.defaultItemProps??{}}),summary:b?(e,n)=>b(e,n):void 0,min:e.min,max:e.max,readOnly:a,open:m,onOpen:p,renderItem:(r,l,o)=>Object.entries(e.arrayFields).map(([e,c])=>/* @__PURE__ */k(R,{field:c,name:`${n}[${l}].${e}`,id:`${t}-${l}-${e}`,value:r?.[e],onChange:n=>o({...r,[e]:n}),readOnly:a,context:i,renderers:s},e))})}function R(e){const{field:n,name:t,id:r,value:a,onChange:i,readOnly:s,context:o,renderers:c}=e;if(!n||n.marker||!1===n.visible)return null;const d=c?.[n.type];if(d)return d({field:n,name:t,id:r,value:a,onChange:i,readOnly:s});switch(n.type){case"custom":{const e={...o,field:n,name:t,id:r,value:a,onChange:i,readOnly:s};return n.render(e)}case"text":case"textarea":/* @__PURE__ */
|
|
40
|
+
return k(l,{label:K(n,t),htmlFor:r,icon:n.icon,hint:n.hint,children:/* @__PURE__ */k(j,{id:r,value:"string"==typeof a?a:null==a?"":String(a),onChange:i,placeholder:n.placeholder,multiline:"textarea"===n.type,readOnly:s})});case"number":/* @__PURE__ */
|
|
41
|
+
return k(l,{label:K(n,t),htmlFor:r,icon:n.icon,hint:n.hint,children:/* @__PURE__ */k($,{id:r,value:"number"==typeof a?a:void 0,onChange:i,min:n.min,max:n.max,step:n.step,placeholder:n.placeholder,readOnly:s})});case"select":/* @__PURE__ */
|
|
42
|
+
return k(l,{label:K(n,t),htmlFor:r,icon:n.icon,hint:n.hint,children:/* @__PURE__ */k(L,{id:r,value:a,options:n.options,onChange:i,readOnly:s})});case"radio":/* @__PURE__ */
|
|
43
|
+
return k(l,{label:K(n,t),icon:n.icon,hint:n.hint,children:/* @__PURE__ */k(u,{ariaLabel:K(n,t),value:a,options:n.options.map(e=>({id:e.value,label:e.label,icon:e.icon,disabled:e.disabled||s})),onChange:e=>{s||i(e)}})});case"object":/* @__PURE__ */
|
|
44
|
+
return k(V,{...e,field:n});case"array":/* @__PURE__ */
|
|
45
|
+
return k(T,{...e,field:n});case"slot":return null}}var W=e=>a.includes(e);function X(e){let n=a[0];const t=[],r=/* @__PURE__ */new Set;for(const[l,a]of Object.entries(e))a&&(W(a.bucket)&&(n=a.bucket),a.marker||!1===a.visible||(t.push({name:l,field:a,bucket:n}),"slot"!==a.type&&r.add(n)));return{rows:t,buckets:a.filter(e=>r.has(e))}}function U(e){return new Map(X(e).rows.map(e=>[e.name,e.bucket]))}function H({fields:e,values:n,onChange:t,readOnly:r=!1,context:l,tab:a,onTab:s,tabs:o=!0,tabIcons:c,renderers:u,idPrefix:p,ariaLabel:h,children:b}){const v=m("panel",d),x=y(),w=p??`es-insp${x.replace(/:/g,"")}`,N=X(e),[C,O]=f(void 0),S=a??C,$=S&&N.buckets.includes(S)?S:N.buckets[0],[I,L]=f(null),j=I&&I.panel===w&&N.rows.some(e=>e.name===I.name)?I:null,D=o&&N.buckets.length>1&&!j,M=`${w}-rows`,P=e=>`${w}-tab-${e.toLowerCase()}`;/* @__PURE__ */
|
|
46
|
+
return g("div",{className:"es-insp",children:[D?/* @__PURE__ */k("div",{className:"es-insp-tabs",children:/* @__PURE__ */k(i,{ariaLabel:h??v.settings,activeId:$,onSelect:e=>{const n=e;void 0===a&&O(n),s?.(n)},items:N.buckets.map(e=>({id:e,label:v.buckets[e],icon:c?.[e],htmlId:P(e),panelId:M}))})}):null,
|
|
47
|
+
/* @__PURE__ */g("div",{className:"es-insp-rows",id:M,role:D?"tabpanel":void 0,"aria-labelledby":D&&$?P($):void 0,children:[N.rows.map(({name:e,field:a,bucket:i})=>/* @__PURE__ */k("div",{className:"es-insp-row","data-field":e,"data-bucket":i,hidden:!!(j?j.name!==e:D&&i!==$)||void 0,children:/* @__PURE__ */k(R,{field:a,name:e,id:`${w}-${e}`,value:n[e],onChange:n=>t(e,n),readOnly:r,context:l,renderers:u,openItem:j&&j.name===e?j.index:null,onOpenItem:n=>L(null===n?null:{panel:w,name:e,index:n})})},e)),j?null:b]})]})}function J({id:e,label:n,value:t,onChange:r,min:l,max:a,step:i=1,shiftStep:s,styleValue:o,unit:c,sliderMin:d,sliderMax:u,readOnly:m=!1}){const p=y(),h=e??p,{inputProps:f,set:b,isStyle:v}=O({value:t,onChange:r,min:l,max:a,step:i,shiftStep:s,styleValue:o,readOnly:m}),x="number"==typeof t&&Number.isFinite(t)?t:o??d;/* @__PURE__ */
|
|
48
|
+
return g("div",{className:"es-fslider"+(v?" is-style":""),children:[
|
|
49
|
+
/* @__PURE__ */g("div",{className:"es-fslider-top",children:[
|
|
50
|
+
/* @__PURE__ */k("label",{className:"es-fslider-name",htmlFor:h,children:n}),
|
|
51
|
+
/* @__PURE__ */g("span",{className:"es-fslider-read",children:[
|
|
52
|
+
/* @__PURE__ */k("input",{id:h,type:"text",inputMode:"decimal",className:"es-fslider-value",...f}),c?/* @__PURE__ */k("span",{className:"es-fslider-unit",children:c}):null]})]}),
|
|
53
|
+
/* @__PURE__ */k("input",{type:"range",className:"es-fslider-range",min:d,max:u,step:i,value:w(x,d,u),disabled:m,"aria-label":n,onChange:e=>b(Number(e.target.value))})]})}export{$ as FieldNumber,L as FieldSelect,J as FieldSlider,j as FieldText,H as Inspector,R as InspectorField,F as ListField,U as bucketsOf,w as clampNumber,A as copyItem,D as insertAt,K as labelOf,M as moveTo,I as optionFor,N as parseTyped,X as planFields,P as removeAt,O as useNumberEntry};
|
package/dist/gold/index.d.ts
CHANGED
|
@@ -195,7 +195,7 @@ declare function goldSegments(value: string, rules: readonly InlineRule[]): Gold
|
|
|
195
195
|
*
|
|
196
196
|
* NOTHING HERE IS INVENTED (CLAUDE.md — "the tokens are not ours to invent"):
|
|
197
197
|
* - the gold defers to the page's own `--gold`, falling back to the
|
|
198
|
-
* storefront's light-theme value (`efficient-
|
|
198
|
+
* storefront's light-theme value (`efficient-storefront/app/globals.css` → `--gold:
|
|
199
199
|
* #c9a461`), so the mark in the box matches the mark on the page;
|
|
200
200
|
* - the caret and the placeholder defer to the shell layer's `--es-text` /
|
|
201
201
|
* `--es-field-placeholder` (see `shell/tokens.ts`) with the same values as
|
package/dist/gold/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{GoldLayer,GoldTextInput,goldSegments}from"../chunk-
|
|
1
|
+
export{GoldLayer,GoldTextInput,goldSegments}from"../chunk-JYPOOHII.js";import"../chunk-SJQG5ENJ.js";var e={accent:"var(--gold, #c9a461)",quiet:"var(--es-muted, #6b7280)",caret:"var(--es-text, #111827)",placeholder:"var(--es-field-placeholder, #9ca3af)",delimiterOpacity:"0.35",delimiterRestingOpacity:"0.25",boldShadow:"0 0 0.4px currentColor",italicDecoration:"underline dotted",strikeDecoration:"line-through",pad:"0"},t={accent:"--es-gold-accent",quiet:"--es-gold-quiet",caret:"--es-gold-caret",placeholder:"--es-gold-placeholder",delimiterOpacity:"--es-gold-delim-opacity",delimiterRestingOpacity:"--es-gold-delim-resting-opacity",boldShadow:"--es-gold-bold-shadow",italicDecoration:"--es-gold-italic-decoration",strikeDecoration:"--es-gold-strike-decoration",pad:"--es-gold-pad"};export{t as goldCssVars,e as goldTokens};
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ declare const iconMeanings: {
|
|
|
53
53
|
readonly anchor: "anchor";
|
|
54
54
|
readonly hash: "a NUMBER or its unit — worn by the `Measure length in` row (px / %) of the campaign editor's Divider, which picks what the length beside it is counted in.";
|
|
55
55
|
readonly columns: "columns";
|
|
56
|
-
readonly list: "a list of entries a merchant orders — worn by the `Phone order` row of the campaign editor's Section settings and by the `Links` row of its Social block.";
|
|
56
|
+
readonly list: "a list of entries a merchant orders — worn by the `Phone order` row of the campaign editor's Section settings and by the `Links` row of its Social block. …AND THE `Bulleted list` toolbar button of the campaign editor's Text block, and the `Bulleted list` item of its No list / Bulleted list / Numbered list menu (final design, 2026-10-06): lines set as a list. `numbered-list` is its pair, with figures in place of the dots.";
|
|
57
57
|
readonly "text-lines": "text lines";
|
|
58
58
|
readonly "text-size": "text size";
|
|
59
59
|
readonly "text-small": "SMALL TYPE — an eyebrow, a caption, a label run. Worn by the `Eyebrow` row of the campaign editor's Text block and by the `Tagline` row of its Logo. The set's `text-size` is the SIZE control; this is the small-type kind itself.";
|
|
@@ -121,7 +121,7 @@ declare const iconMeanings: {
|
|
|
121
121
|
readonly "column-gap": "the air between columns SIDE BY SIDE — the `Gap between columns` row of the campaign editor's Section settings. Decided 2026-09-17. The GAP is the subject: two short upright bars with an arrowed space between them, drawn like `width`'s arrows. NOT `gap`, which is the air between STACKED things (the `Space between items` row wears that), and NOT `block-column`, whose two boxes the first draft read as at 16px (GG, 2026-09-17).";
|
|
122
122
|
readonly "v-align": "where content sits UP AND DOWN inside its box — the `Content position` row (top / middle / bottom) of the campaign editor's Column settings. Decided 2026-09-17. A block between a top and a bottom rule. NOT `padding-top`, which has one rule and says how much room is above.";
|
|
123
123
|
readonly height: "how TALL a thing is — the `Min height` row of the campaign editor's Column settings. Decided 2026-09-17. `width` stood upright, so the pair reads as one family. NOT `width`, which is side to side.";
|
|
124
|
-
readonly underline: "whether links are UNDERLINED — the `Underline links` row of the campaign editor's Email styles. Decided 2026-09-17. A U over a rule, the mark every word processor uses. NOT `type`, which is the text marker, the T.";
|
|
124
|
+
readonly underline: "whether links are UNDERLINED — the `Underline links` row of the campaign editor's Email styles. Decided 2026-09-17. A U over a rule, the mark every word processor uses. NOT `type`, which is the text marker, the T. …AND THE `Underline` toolbar button of the campaign editor's Text block (final design, 2026-10-06): the mark that underlines the selected words. One idea, words with a rule under them, so the button wears this drawing rather than a second copy of it.";
|
|
125
125
|
readonly "line-style": "WHICH DASH a rule is drawn with — the `Line style` row (Solid / Dashed / Dotted) of the campaign editor's Divider, and of every Border row. Decided 2026-09-17. Three rules stacked: solid, dashed, dotted, so the row's own choices are the drawing. NOT `block-divider`, the Divider BLOCK kind, which is one plain line and never wears a settings row.";
|
|
126
126
|
readonly "full-width": "how far a picture REACHES — the `Width` row (Default / Full width) of the campaign editor's Image block. Decided 2026-09-17. A band running edge to edge between two end walls. NOT `width`, a plain measure with two arrowheads, which says how wide rather than how far it reaches.";
|
|
127
127
|
readonly "copy-style": "take a component's LOOK so it can be put on another one — the `Copy style` row (⌥⌘C) of the right-click menu in both editors, the campaign editor's block menu and the website editor's node menu. Decided 2026-09-19 (card [ADD] Copy Style And Paste Style; GG: one meaning per glyph, so it is not `copy`). The brush is the style; the back sheet is `copy`'s own, so the pair reads as \"copy, but the look\". NOT `copy`, which takes the whole block, and NOT `styles`, which opens the site's Styles panel.";
|
|
@@ -160,6 +160,13 @@ declare const iconMeanings: {
|
|
|
160
160
|
readonly emphasis: "the EMPHASIS mark — the toolbar button that writes `==words==` over the selection in the copy box's formatting bar: the phrase painted in the brand accent colour. A diamond, the ◆ the bar has shown for this mark since the campaign designer first drew it. Decided 2026-10-02.";
|
|
161
161
|
readonly quiet: "the QUIET mark — the toolbar button that writes `^^words^^` over the selection in the copy box's formatting bar: smaller, softer words, like the fine print under a price. A small one-storey a. It is drawn SMALL on purpose, under the set's 14–17.5 box: smaller is what the mark does, and the design (v5) draws this button's a smaller than the B beside it. Decided 2026-10-02.";
|
|
162
162
|
readonly "clear-marks": "CLEAR MARKS — the toolbar button that takes every mark off the selection in the copy box's formatting bar (⌘⇧X), keeping the words and any link. A T with a small × at its foot: the text, with its marks crossed out. Decided 2026-10-02.";
|
|
163
|
+
readonly superscript: "the SUPERSCRIPT mark — raised small text (®, ™, a footnote¹). Worn by the `Superscript` toolbar button of the campaign editor's Text block and the `Superscript` item of its Normal / Superscript / Subscript menu. A capital A with a small 2 at its top right (Lewis, 2026-10-06: the design's x, then a T, then, after seeing the T: use A for all). Decided 2026-10-06.";
|
|
164
|
+
readonly subscript: "the SUBSCRIPT mark — lowered small text (H₂O). Worn by the `Subscript` toolbar button of the campaign editor's Text block and the `Subscript` item of its Normal / Superscript / Subscript menu. The same capital A as `superscript`, with the small 2 at its foot (Lewis, 2026-10-06: after seeing the T: use A for all). Decided 2026-10-06.";
|
|
165
|
+
readonly "numbered-list": "a NUMBERED LIST — the lines the caret is on, written as 1. 2. 3. Worn by the `Numbered list` toolbar button of the campaign editor's Text block and the `Numbered list` item of its No list / Bulleted list / Numbered list menu. Three rules with 1, 2, 3 down the left. Decided 2026-10-06.";
|
|
166
|
+
readonly "paragraph-spacing": "PARAGRAPH SPACING — the room between one paragraph and the next, in px. Worn by the fourth value of the campaign editor's Text block number row (`Paragraph spacing`, beside Font size, Line spacing and Letter spacing). Two short paragraphs with a small upright mark in the room between them. Decided 2026-10-06.";
|
|
167
|
+
readonly "case-normal": "letter case LEFT AS TYPED — `Aa`, the `Normal` option of the Letter case buttons (Normal / Uppercase / Lowercase) on the campaign editor's Text block, and of the storefront part panel's Case strip. The plan calls it sentence case; it changes nothing the merchant typed. A capital A beside a one-storey a. Decided 2026-10-06.";
|
|
168
|
+
readonly "case-upper": "letter case ALL CAPITALS — `AA`, the `Uppercase` option of the Letter case buttons on the campaign editor's Text block, and of the storefront part panel's Case strip. Two capital A's. Decided 2026-10-06.";
|
|
169
|
+
readonly "case-lower": "letter case ALL SMALL LETTERS — `aa`, the `Lowercase` option of the Letter case buttons on the campaign editor's Text block, and of the storefront part panel's Case strip. Two one-storey a's. Decided 2026-10-06.";
|
|
163
170
|
};
|
|
164
171
|
type IconName = keyof typeof iconMeanings;
|
|
165
172
|
/** Delete · keep · efficient-shop · components/UiIcon.tsx:99 */
|
|
@@ -256,7 +263,7 @@ declare function AnchorIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
|
256
263
|
declare function HashIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
257
264
|
/** columns · new · drawn for the settings-panel design, 2026-08-20 */
|
|
258
265
|
declare function ColumnsIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
259
|
-
/** a list of entries a merchant orders — worn by the `Phone order` row of the campaign editor's Section settings and by the `Links` row of its Social block. · new · drawn for the settings-panel design, 2026-08-20 Meaning written 2026-09-17 (0.46.0): the entry named its own shape until then, which is what lets a second meaning attach to a drawing. */
|
|
266
|
+
/** a list of entries a merchant orders — worn by the `Phone order` row of the campaign editor's Section settings and by the `Links` row of its Social block. …AND THE `Bulleted list` toolbar button of the campaign editor's Text block, and the `Bulleted list` item of its No list / Bulleted list / Numbered list menu (final design, 2026-10-06): lines set as a list. `numbered-list` is its pair, with figures in place of the dots. · new · drawn for the settings-panel design, 2026-08-20 Meaning written 2026-09-17 (0.46.0): the entry named its own shape until then, which is what lets a second meaning attach to a drawing. */
|
|
260
267
|
declare function ListIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
261
268
|
/** text lines · new · drawn for the settings-panel design, 2026-08-20 */
|
|
262
269
|
declare function TextLinesIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
@@ -392,7 +399,7 @@ declare function ColumnGapIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
|
392
399
|
declare function VAlignIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
393
400
|
/** how TALL a thing is — the `Min height` row of the campaign editor's Column settings. Decided 2026-09-17. `width` stood upright, so the pair reads as one family. NOT `width`, which is side to side. · new · drawn for the campaign editor redesign approved 2026-09-17 (admin PR 8: the Section, Column and Email styles rows move onto SettingsField, and every row carries a glyph). Checked at 16px beside the glyphs it must not be read as. */
|
|
394
401
|
declare function HeightIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
395
|
-
/** whether links are UNDERLINED — the `Underline links` row of the campaign editor's Email styles. Decided 2026-09-17. A U over a rule, the mark every word processor uses. NOT `type`, which is the text marker, the T. · new · drawn for the campaign editor redesign approved 2026-09-17 (admin PR 8: the Section, Column and Email styles rows move onto SettingsField, and every row carries a glyph). Checked at 16px beside the glyphs it must not be read as. */
|
|
402
|
+
/** whether links are UNDERLINED — the `Underline links` row of the campaign editor's Email styles. Decided 2026-09-17. A U over a rule, the mark every word processor uses. NOT `type`, which is the text marker, the T. …AND THE `Underline` toolbar button of the campaign editor's Text block (final design, 2026-10-06): the mark that underlines the selected words. One idea, words with a rule under them, so the button wears this drawing rather than a second copy of it. · new · drawn for the campaign editor redesign approved 2026-09-17 (admin PR 8: the Section, Column and Email styles rows move onto SettingsField, and every row carries a glyph). Checked at 16px beside the glyphs it must not be read as. */
|
|
396
403
|
declare function UnderlineIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
397
404
|
/** WHICH DASH a rule is drawn with — the `Line style` row (Solid / Dashed / Dotted) of the campaign editor's Divider, and of every Border row. Decided 2026-09-17. Three rules stacked: solid, dashed, dotted, so the row's own choices are the drawing. NOT `block-divider`, the Divider BLOCK kind, which is one plain line and never wears a settings row. · new · drawn for the campaign editor redesign approved 2026-09-17 (admin PR 9: the content and media blocks' rows move onto SettingsField). Checked at 16px beside the glyphs it must not be read as. */
|
|
398
405
|
declare function LineStyleIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
@@ -470,5 +477,19 @@ declare function EmphasisIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
|
470
477
|
declare function QuietIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
471
478
|
/** CLEAR MARKS — the toolbar button that takes every mark off the selection in the copy box's formatting bar (⌘⇧X), keeping the words and any link. A T with a small × at its foot: the text, with its marks crossed out. Decided 2026-10-02. · new · efficient-editor · [FINISH] Markdown Text Box To The Approved Design, 2026-10-02. Lewis approved the box's toolbar on 2026-10-02 (design v5, https://claude.ai/artifact/SZDRnLuGot2tmnduhKgfVs): ONE glyph button per mark, B (**) · I (_) · S (~~) · ◆ (==) · a (^^) · link · clear, and no words on the buttons — the names live only in the tooltip and the aria-label. ⛔ NOT `close`, the bare ×, which closes a window. ⛔ NOT `type`, the bare T that marks a text setting. ⛔ NOT `revert`, the hooked arrow that puts a setting back to what it inherits — clear takes marks off words, it does not reset a setting. ⛔ NOT `trash`, which deletes. */
|
|
472
479
|
declare function ClearMarksIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
480
|
+
/** the SUPERSCRIPT mark — raised small text (®, ™, a footnote¹). Worn by the `Superscript` toolbar button of the campaign editor's Text block and the `Superscript` item of its Normal / Superscript / Subscript menu. A capital A with a small 2 at its top right (Lewis, 2026-10-06: the design's x, then a T, then, after seeing the T: use A for all). Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. ⛔ NOT `subscript`, the same A with the 2 at its FOOT: the pair differs only in where the 2 sits, and that is the meaning. ⛔ NOT `case-normal` (A beside a small a) or `case-upper` (two A's): here the small thing beside the A is a figure, raised. ⛔ NOT `clear-marks`, a T with a small × at its foot. The 2 is the design's path; the drawing sits 1 right and 0.7 down of the design so it is centred. The letter went x → T → A on Lewis's word, 2026-10-06: the Ts did not look right beside Aa / AA / aa. */
|
|
481
|
+
declare function SuperscriptIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
482
|
+
/** the SUBSCRIPT mark — lowered small text (H₂O). Worn by the `Subscript` toolbar button of the campaign editor's Text block and the `Subscript` item of its Normal / Superscript / Subscript menu. The same capital A as `superscript`, with the small 2 at its foot (Lewis, 2026-10-06: after seeing the T: use A for all). Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. ⛔ NOT `superscript`, the same A with the 2 at its TOP. ⛔ NOT `case-normal` (A beside a small a) or `case-upper` (two A's): here the small thing at the A's foot is a figure. ⛔ NOT `clear-marks`, a T with a small × at its foot. The 2 is the design's path; the drawing sits 1 right and 1 up of the design so it is centred. The letter went x → T → A on Lewis's word, 2026-10-06. */
|
|
483
|
+
declare function SubscriptIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
484
|
+
/** a NUMBERED LIST — the lines the caret is on, written as 1. 2. 3. Worn by the `Numbered list` toolbar button of the campaign editor's Text block and the `Numbered list` item of its No list / Bulleted list / Numbered list menu. Three rules with 1, 2, 3 down the left. Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. ⛔ NOT `list`, the same three rules with DOTS, which is the bulleted list (and the orderable-entries rows): dots against figures is the whole difference, and at 16px the figures still read as figures. ⛔ NOT `text-lines`, plain rules with nothing at the edge. ⛔ NOT `hash`, a number as a VALUE. Paths from the design; the 3 lifted 0.1 so the drawing is centred. */
|
|
485
|
+
declare function NumberedListIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
486
|
+
/** PARAGRAPH SPACING — the room between one paragraph and the next, in px. Worn by the fourth value of the campaign editor's Text block number row (`Paragraph spacing`, beside Font size, Line spacing and Letter spacing). Two short paragraphs with a small upright mark in the room between them. Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. ⛔ NOT `text-lines`, three rules evenly spaced, which is LINE spacing inside a paragraph: here the rules come in two pairs and the gap between the pairs is the subject. ⛔ NOT `gap`, two stacked cards, the room between BLOCKS. ⛔ NOT `padding-y`, the room inside a box. ⛔ NOT `align-left`, ragged rules. Paths from the design, unchanged. */
|
|
487
|
+
declare function ParagraphSpacingIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
488
|
+
/** letter case LEFT AS TYPED — `Aa`, the `Normal` option of the Letter case buttons (Normal / Uppercase / Lowercase) on the campaign editor's Text block, and of the storefront part panel's Case strip. The plan calls it sentence case; it changes nothing the merchant typed. A capital A beside a one-storey a. Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. MOVED FROM THE STOREFRONT: efficient-storefront `components/PartGlyphs.tsx` `CaseGlyph` drew Aa / AA / aa as live text at weight 600; the plan makes the set the one source, so these are strokes now, and the storefront should import them instead. ⛔ NOT `case`, a T beside an a, which is the Letter case ROW (the question); this is one ANSWER. ⛔ NOT `quiet`, the small a alone. ⛔ NOT `type`, the T. */
|
|
489
|
+
declare function CaseNormalIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
490
|
+
/** letter case ALL CAPITALS — `AA`, the `Uppercase` option of the Letter case buttons on the campaign editor's Text block, and of the storefront part panel's Case strip. Two capital A's. Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. MOVED FROM THE STOREFRONT: efficient-storefront `components/PartGlyphs.tsx` `CaseGlyph` (`AA`, live text); the set is the one source now. ⛔ NOT `case-normal`, which is A beside a SMALL a. ⛔ NOT `case`, the row's T + a. ⛔ NOT `bold`: this is which letters, not how heavy. The two A's are drawn narrow with a 3.5-unit channel between their feet, so they stay two letters at 16px. */
|
|
491
|
+
declare function CaseUpperIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
492
|
+
/** letter case ALL SMALL LETTERS — `aa`, the `Lowercase` option of the Letter case buttons on the campaign editor's Text block, and of the storefront part panel's Case strip. Two one-storey a's. Decided 2026-10-06. · picked · efficient-easel · [ADD] Text Box Icons For The Final Design, 2026-10-06 (step E2 of the campaign-editor plan Lewis approved that day). Final design: https://claude.ai/artifact/Mpzgvi2sZmTCmciZW36w5H. The Text block's toolbar is two rows of 32px glyph buttons with the names only in the tooltip and the aria-label; the number row is Font size · Line spacing · Letter spacing · Paragraph spacing. Checked at 16px beside every neighbour named here before it was committed. MOVED FROM THE STOREFRONT: efficient-storefront `components/PartGlyphs.tsx` `CaseGlyph` (`aa`, live text); the set is the one source now. ⛔ NOT `case-normal`, a capital A beside the a. ⛔ NOT `quiet`, ONE small a drawn under the set's box, which is the quiet mark on a phrase. ⛔ NOT `case`, the row's T + a. A 3-unit channel between the first stem and the second bowl keeps them two letters at 16px. */
|
|
493
|
+
declare function CaseLowerIcon({ size, ...rest }: IconProps): react.JSX.Element;
|
|
473
494
|
|
|
474
|
-
export { AccentIcon, AccountIcon, AddIcon, AlignCenterIcon, AlignLeftIcon, AlignRightIcon, AlignSeparateIcon, AnchorIcon, AnimationIcon, BackgroundIcon, BellIcon, BlackAndWhiteIcon, BlockBadgeIcon, BlockBannerIcon, BlockBoxIcon, BlockButtonIcon, BlockColumnIcon, BlockCouponIcon, BlockDividerIcon, BlockFooterIcon, BlockHeadingIcon, BlockIncludedListIcon, BlockLayeredImagesIcon, BlockProductIcon, BlockSectionIcon, BlockSocialIcon, BlockSpacerIcon, BlockTextIcon, BlockVideoIcon, BlogPostIcon, BoldIcon, BreadcrumbIcon, ButtonArrowIcon, ButtonIcon, CarIcon, CartIcon, CaseIcon, CategoryIcon, ChatIcon, CheckIcon, ChevronIcon, ClearMarksIcon, ClockIcon, CloseIcon, ColumnGapIcon, ColumnWidthsIcon, ColumnsIcon, ContrastIcon, CopyIcon, CopyStyleIcon, CopyToPageIcon, CornerIcon, DesktopIcon, DiagramIcon, DirectionDownIcon, DirectionIcon, DirectionLeftIcon, DirectionRightIcon, DirectionUpIcon, DollarIcon, DragIcon, DropIcon, DuplicateIcon, EmphasisIcon, ExternalIcon, EyeIcon, EyeOffIcon, FinishIcon, FullWidthIcon, GapIcon, GlobeIcon, GridIcon, GroundIcon, HashIcon, HeadquartersIcon, HeightIcon, HoverIcon, type IconName, type IconProps, ImageIcon, ItalicIcon, LayersIcon, LayoutIcon, LetterSpacingIcon, LineBetweenIcon, LineStyleIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LogoIcon, MediaIcon, MenuIcon, MetaIcon, MoveDownIcon, MoveUpIcon, NoteIcon, NudgeIcon, OpacityIcon, OwnTextIcon, PaddingBottomIcon, PaddingLeftIcon, PaddingRightIcon, PaddingTopIcon, PaddingXIcon, PaddingYIcon, PageIcon, PasteIcon, PasteStyleIcon, PhoneIcon, PlacementIcon, PlayIcon, PlusMinusIcon, ProductFieldIcon, ProductSizeIcon, QuietIcon, RadiusIcon, RedoIcon, RenameIcon, RevertIcon, RotateIcon, ScrollPointIcon, SearchIcon, SendIcon, SettingsIcon, ShadowIcon, SitemapIcon, SortIcon, SpecTableIcon, SquareIcon, StateIcon, StickyIcon, StrikeIcon, StylesIcon, TabletIcon, TabsIcon, TagIcon, TemplateIcon, TextColorIcon, TextLinesIcon, TextSizeIcon, TextSmallIcon, ThemeIcon, TitleIcon, TrashIcon, TriggerIcon, TypeIcon, UnderlineIcon, UndoIcon, VAlignIcon, WarningIcon, WeightIcon, WheelIcon, WidthIcon, WordsFromIcon, WrapIcon, iconMeanings };
|
|
495
|
+
export { AccentIcon, AccountIcon, AddIcon, AlignCenterIcon, AlignLeftIcon, AlignRightIcon, AlignSeparateIcon, AnchorIcon, AnimationIcon, BackgroundIcon, BellIcon, BlackAndWhiteIcon, BlockBadgeIcon, BlockBannerIcon, BlockBoxIcon, BlockButtonIcon, BlockColumnIcon, BlockCouponIcon, BlockDividerIcon, BlockFooterIcon, BlockHeadingIcon, BlockIncludedListIcon, BlockLayeredImagesIcon, BlockProductIcon, BlockSectionIcon, BlockSocialIcon, BlockSpacerIcon, BlockTextIcon, BlockVideoIcon, BlogPostIcon, BoldIcon, BreadcrumbIcon, ButtonArrowIcon, ButtonIcon, CarIcon, CartIcon, CaseIcon, CaseLowerIcon, CaseNormalIcon, CaseUpperIcon, CategoryIcon, ChatIcon, CheckIcon, ChevronIcon, ClearMarksIcon, ClockIcon, CloseIcon, ColumnGapIcon, ColumnWidthsIcon, ColumnsIcon, ContrastIcon, CopyIcon, CopyStyleIcon, CopyToPageIcon, CornerIcon, DesktopIcon, DiagramIcon, DirectionDownIcon, DirectionIcon, DirectionLeftIcon, DirectionRightIcon, DirectionUpIcon, DollarIcon, DragIcon, DropIcon, DuplicateIcon, EmphasisIcon, ExternalIcon, EyeIcon, EyeOffIcon, FinishIcon, FullWidthIcon, GapIcon, GlobeIcon, GridIcon, GroundIcon, HashIcon, HeadquartersIcon, HeightIcon, HoverIcon, type IconName, type IconProps, ImageIcon, ItalicIcon, LayersIcon, LayoutIcon, LetterSpacingIcon, LineBetweenIcon, LineStyleIcon, LinkIcon, ListIcon, LocationIcon, LockIcon, LogoIcon, MediaIcon, MenuIcon, MetaIcon, MoveDownIcon, MoveUpIcon, NoteIcon, NudgeIcon, NumberedListIcon, OpacityIcon, OwnTextIcon, PaddingBottomIcon, PaddingLeftIcon, PaddingRightIcon, PaddingTopIcon, PaddingXIcon, PaddingYIcon, PageIcon, ParagraphSpacingIcon, PasteIcon, PasteStyleIcon, PhoneIcon, PlacementIcon, PlayIcon, PlusMinusIcon, ProductFieldIcon, ProductSizeIcon, QuietIcon, RadiusIcon, RedoIcon, RenameIcon, RevertIcon, RotateIcon, ScrollPointIcon, SearchIcon, SendIcon, SettingsIcon, ShadowIcon, SitemapIcon, SortIcon, SpecTableIcon, SquareIcon, StateIcon, StickyIcon, StrikeIcon, StylesIcon, SubscriptIcon, SuperscriptIcon, TabletIcon, TabsIcon, TagIcon, TemplateIcon, TextColorIcon, TextLinesIcon, TextSizeIcon, TextSmallIcon, ThemeIcon, TitleIcon, TrashIcon, TriggerIcon, TypeIcon, UnderlineIcon, UndoIcon, VAlignIcon, WarningIcon, WeightIcon, WheelIcon, WidthIcon, WordsFromIcon, WrapIcon, iconMeanings };
|
package/dist/icons/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AccentIcon,AccountIcon,AddIcon,AlignCenterIcon,AlignLeftIcon,AlignRightIcon,AlignSeparateIcon,AnchorIcon,AnimationIcon,BackgroundIcon,BellIcon,BlackAndWhiteIcon,BlockBadgeIcon,BlockBannerIcon,BlockBoxIcon,BlockButtonIcon,BlockColumnIcon,BlockCouponIcon,BlockDividerIcon,BlockFooterIcon,BlockHeadingIcon,BlockIncludedListIcon,BlockLayeredImagesIcon,BlockProductIcon,BlockSectionIcon,BlockSocialIcon,BlockSpacerIcon,BlockTextIcon,BlockVideoIcon,BlogPostIcon,BoldIcon,BreadcrumbIcon,ButtonArrowIcon,ButtonIcon,CarIcon,CartIcon,CaseIcon,CategoryIcon,ChatIcon,CheckIcon,ChevronIcon,ClearMarksIcon,ClockIcon,CloseIcon,ColumnGapIcon,ColumnWidthsIcon,ColumnsIcon,ContrastIcon,CopyIcon,CopyStyleIcon,CopyToPageIcon,CornerIcon,DesktopIcon,DiagramIcon,DirectionDownIcon,DirectionIcon,DirectionLeftIcon,DirectionRightIcon,DirectionUpIcon,DollarIcon,DragIcon,DropIcon,DuplicateIcon,EmphasisIcon,ExternalIcon,EyeIcon,EyeOffIcon,FinishIcon,FullWidthIcon,GapIcon,GlobeIcon,GridIcon,GroundIcon,HashIcon,HeadquartersIcon,HeightIcon,HoverIcon,ImageIcon,ItalicIcon,LayersIcon,LayoutIcon,LetterSpacingIcon,LineBetweenIcon,LineStyleIcon,LinkIcon,ListIcon,LocationIcon,LockIcon,LogoIcon,MediaIcon,MenuIcon,MetaIcon,MoveDownIcon,MoveUpIcon,NoteIcon,NudgeIcon,OpacityIcon,OwnTextIcon,PaddingBottomIcon,PaddingLeftIcon,PaddingRightIcon,PaddingTopIcon,PaddingXIcon,PaddingYIcon,PageIcon,PasteIcon,PasteStyleIcon,PhoneIcon,PlacementIcon,PlayIcon,PlusMinusIcon,ProductFieldIcon,ProductSizeIcon,QuietIcon,RadiusIcon,RedoIcon,RenameIcon,RevertIcon,RotateIcon,ScrollPointIcon,SearchIcon,SendIcon,SettingsIcon,ShadowIcon,SitemapIcon,SortIcon,SpecTableIcon,SquareIcon,StateIcon,StickyIcon,StrikeIcon,StylesIcon,TabletIcon,TabsIcon,TagIcon,TemplateIcon,TextColorIcon,TextLinesIcon,TextSizeIcon,TextSmallIcon,ThemeIcon,TitleIcon,TrashIcon,TriggerIcon,TypeIcon,UnderlineIcon,UndoIcon,VAlignIcon,WarningIcon,WeightIcon,WheelIcon,WidthIcon,WordsFromIcon,WrapIcon,iconMeanings}from"../chunk-
|
|
1
|
+
export{AccentIcon,AccountIcon,AddIcon,AlignCenterIcon,AlignLeftIcon,AlignRightIcon,AlignSeparateIcon,AnchorIcon,AnimationIcon,BackgroundIcon,BellIcon,BlackAndWhiteIcon,BlockBadgeIcon,BlockBannerIcon,BlockBoxIcon,BlockButtonIcon,BlockColumnIcon,BlockCouponIcon,BlockDividerIcon,BlockFooterIcon,BlockHeadingIcon,BlockIncludedListIcon,BlockLayeredImagesIcon,BlockProductIcon,BlockSectionIcon,BlockSocialIcon,BlockSpacerIcon,BlockTextIcon,BlockVideoIcon,BlogPostIcon,BoldIcon,BreadcrumbIcon,ButtonArrowIcon,ButtonIcon,CarIcon,CartIcon,CaseIcon,CaseLowerIcon,CaseNormalIcon,CaseUpperIcon,CategoryIcon,ChatIcon,CheckIcon,ChevronIcon,ClearMarksIcon,ClockIcon,CloseIcon,ColumnGapIcon,ColumnWidthsIcon,ColumnsIcon,ContrastIcon,CopyIcon,CopyStyleIcon,CopyToPageIcon,CornerIcon,DesktopIcon,DiagramIcon,DirectionDownIcon,DirectionIcon,DirectionLeftIcon,DirectionRightIcon,DirectionUpIcon,DollarIcon,DragIcon,DropIcon,DuplicateIcon,EmphasisIcon,ExternalIcon,EyeIcon,EyeOffIcon,FinishIcon,FullWidthIcon,GapIcon,GlobeIcon,GridIcon,GroundIcon,HashIcon,HeadquartersIcon,HeightIcon,HoverIcon,ImageIcon,ItalicIcon,LayersIcon,LayoutIcon,LetterSpacingIcon,LineBetweenIcon,LineStyleIcon,LinkIcon,ListIcon,LocationIcon,LockIcon,LogoIcon,MediaIcon,MenuIcon,MetaIcon,MoveDownIcon,MoveUpIcon,NoteIcon,NudgeIcon,NumberedListIcon,OpacityIcon,OwnTextIcon,PaddingBottomIcon,PaddingLeftIcon,PaddingRightIcon,PaddingTopIcon,PaddingXIcon,PaddingYIcon,PageIcon,ParagraphSpacingIcon,PasteIcon,PasteStyleIcon,PhoneIcon,PlacementIcon,PlayIcon,PlusMinusIcon,ProductFieldIcon,ProductSizeIcon,QuietIcon,RadiusIcon,RedoIcon,RenameIcon,RevertIcon,RotateIcon,ScrollPointIcon,SearchIcon,SendIcon,SettingsIcon,ShadowIcon,SitemapIcon,SortIcon,SpecTableIcon,SquareIcon,StateIcon,StickyIcon,StrikeIcon,StylesIcon,SubscriptIcon,SuperscriptIcon,TabletIcon,TabsIcon,TagIcon,TemplateIcon,TextColorIcon,TextLinesIcon,TextSizeIcon,TextSmallIcon,ThemeIcon,TitleIcon,TrashIcon,TriggerIcon,TypeIcon,UnderlineIcon,UndoIcon,VAlignIcon,WarningIcon,WeightIcon,WheelIcon,WidthIcon,WordsFromIcon,WrapIcon,iconMeanings}from"../chunk-PI26YXYD.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { EditorRail, EditorRailButton, RailTokens, railCssVars, railTokens } fro
|
|
|
2
2
|
export { AddIcon, LayersIcon, MediaIcon, PageIcon as PagesIcon, IconProps as RailIconProps, SitemapIcon, StylesIcon } from './icons/index.js';
|
|
3
3
|
export { W as WordFit } from './wordFit-9B9nqyf3.js';
|
|
4
4
|
export { E as EditorRailButtonProps, a as EditorRailItem, b as EditorRailOrientation, c as EditorRailProps } from './types-DNrn_w4V.js';
|
|
5
|
-
export { ShellTokens, shellCssVars, shellTokens } from './shell/index.js';
|
|
5
|
+
export { SPACING_SCALE, ShellTokens, shellCssVars, shellTokens } from './shell/index.js';
|
|
6
6
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-OWBO4WKA.js";export{shellCssVars,shellTokens}from"./chunk-
|
|
1
|
+
import"./chunk-OWBO4WKA.js";export{SPACING_SCALE,shellCssVars,shellTokens}from"./chunk-2UX75JDP.js";export{EditorRail,EditorRailButton,railCssVars,railTokens}from"./chunk-IBOFSS56.js";import"./chunk-2OAZYSWJ.js";import"./chunk-BZ5ASXOL.js";export{AddIcon,LayersIcon,MediaIcon,PageIcon as PagesIcon,SitemapIcon,StylesIcon}from"./chunk-PI26YXYD.js";
|