@panphora/clayjs 1.21.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.js +1 -1
- package/dist/clay-dom.js +1 -1
- package/dist/clay-events.js +1 -1
- package/dist/clay-internals.js +1 -1
- package/dist/clay-options.js +1 -1
- package/dist/clay-router.js +1 -1
- package/dist/clay-ui.js +1 -1
- package/dist/clay-utils.js +1 -1
- package/dist/clay.js +1 -1
- package/dist/clay.standalone.js +7698 -7969
- package/dist/m/{c-JOH753EJ.js → c-26KVJS6J.js} +1 -1
- package/dist/m/{c-ZE46QDIH.js → c-3TLG3OLG.js} +1 -1
- package/dist/m/{c-RT3C74GY.js → c-4OGEVKR3.js} +1 -1
- package/dist/m/{c-Y33LUUIQ.js → c-4PHDUV3H.js} +1 -1
- package/dist/m/{c-SJPD46ZO.js → c-4RFZROCF.js} +4 -4
- package/dist/m/{c-XQSXKIKM.js → c-4TWARTLS.js} +1 -1
- package/dist/m/{c-S5IEIZCN.js → c-5AQYL27I.js} +1 -1
- package/dist/m/{c-OJYM642Q.js → c-5FKRZNJV.js} +1 -1
- package/dist/m/{c-CJFDLD43.js → c-6KBKYLPO.js} +1 -1
- package/dist/m/{c-DHXPDLW6.js → c-6PBXRWDX.js} +1 -1
- package/dist/m/{c-BRLCTNMC.js → c-6RC66MYY.js} +1 -1
- package/dist/m/{c-PIVIYLTY.js → c-6UEFPHHE.js} +1 -1
- package/dist/m/{c-YQUJ74R3.js → c-BV6FQQXM.js} +1 -1
- package/dist/m/{c-YSB6JKV2.js → c-DEAFCHDO.js} +2 -2
- package/dist/m/{c-NLZ5AN4L.js → c-DKFSOJCV.js} +1 -1
- package/dist/m/c-DP4X4JID.js +1 -0
- package/dist/m/{c-LIBE4HPD.js → c-DZBZ57EE.js} +1 -1
- package/dist/m/c-ECY5AZMH.js +1 -0
- package/dist/m/{c-VAK7SG37.js → c-EUGJVHDD.js} +1 -1
- package/dist/m/{c-GPGYKER7.js → c-F5AER2ID.js} +1 -1
- package/dist/m/{c-RG6XUZFA.js → c-FAXQU7MQ.js} +1 -1
- package/dist/m/{c-XD5MOROJ.js → c-FLBUYV3P.js} +1 -1
- package/dist/m/{c-NFR673TL.js → c-FMCPQ4VT.js} +2 -2
- package/dist/m/{c-VBLFAQD2.js → c-FNIGX4FI.js} +1 -1
- package/dist/m/{c-BTLFLLML.js → c-FWFJUU3T.js} +1 -1
- package/dist/m/{c-2VB555FG.js → c-GPTKI7AQ.js} +1 -1
- package/dist/m/{c-EZ7B5AZT.js → c-GY4ODHO2.js} +1 -1
- package/dist/m/{c-5734MF2P.js → c-H6DXQEH2.js} +1 -1
- package/dist/m/{c-5FEU5MMY.js → c-HAVGDXAL.js} +1 -1
- package/dist/m/{c-W23KVGUO.js → c-HWR6GMGK.js} +1 -1
- package/dist/m/{c-BJ7YQ5QZ.js → c-IHUWUKIU.js} +1 -1
- package/dist/m/{c-AL4RBJF2.js → c-ILGQ3UXQ.js} +1 -1
- package/dist/m/{c-W3K23S72.js → c-IWTTOC2V.js} +1 -1
- package/dist/m/c-JFST6QE7.js +1 -0
- package/dist/m/{c-FNVQAACK.js → c-KE33W4RE.js} +1 -1
- package/dist/m/c-KV7R47FR.js +1 -0
- package/dist/m/{c-LPUJXRXW.js → c-L7K5EXU2.js} +1 -1
- package/dist/m/{c-3YH6JSIL.js → c-LF6HNVPU.js} +1 -1
- package/dist/m/{c-MIL4B2JQ.js → c-MRURHLKV.js} +1 -1
- package/dist/m/{c-LQU7TXIH.js → c-N33TPVTL.js} +1 -1
- package/dist/m/{c-EOCZ2YVL.js → c-NBNRLZXO.js} +1 -1
- package/dist/m/{c-JUE7B4OX.js → c-NLWEZYKJ.js} +1 -1
- package/dist/m/{c-DDDOKPI6.js → c-NNNR7OXA.js} +1 -1
- package/dist/m/{c-E4IBSAQM.js → c-OI2BYWVV.js} +1 -1
- package/dist/m/{c-SBSMJIPC.js → c-P3WATEDR.js} +1 -1
- package/dist/m/{c-ZJLU56DV.js → c-PCEMXY2K.js} +1 -1
- package/dist/m/{c-3GJ4XARY.js → c-PWBJVHA4.js} +1 -1
- package/dist/m/{c-67ILSNPR.js → c-Q5KAQJAG.js} +1 -1
- package/dist/m/{c-U5X57T4L.js → c-QHVCUTJV.js} +1 -1
- package/dist/m/{c-GKEATME6.js → c-QJFYVCJO.js} +1 -1
- package/dist/m/{c-VY6XRBOW.js → c-QTC6VGA4.js} +1 -1
- package/dist/m/{c-44B5ODN7.js → c-TMT5TL65.js} +2 -2
- package/dist/m/{c-OABVRYOT.js → c-TV7JHSRL.js} +1 -1
- package/dist/m/{c-SO63UGPQ.js → c-UWT4CXQ4.js} +1 -1
- package/dist/m/{c-EFD6QNTE.js → c-VFES2BP5.js} +1 -1
- package/dist/m/{c-UXEVJ63W.js → c-VIW5X35H.js} +1 -1
- package/dist/m/{c-EOCKLMKX.js → c-WWE67K5Y.js} +1 -1
- package/dist/m/{c-J3BXFTZS.js → c-XDVAZDUE.js} +1 -1
- package/dist/m/{c-K76AUL4I.js → c-XZJ5IK6Q.js} +1 -1
- package/dist/m/{c-2ZZBC45O.js → c-Z7RJANGO.js} +1 -1
- package/dist/m/{c-I2IFKJX2.js → c-ZAHTFCXQ.js} +1 -1
- package/dist/m/{c-GVPNDIKJ.js → c-ZKELCT4T.js} +1 -1
- package/dist/m/{c-7SXYQCN4.js → c-ZO6VL2SC.js} +1 -1
- package/dist/m/{c-M4FSPNQ2.js → c-ZYEJLZEY.js} +1 -1
- package/dist/m/core/{autosave-VPORYJSE.js → autosave-GI3WNJYN.js} +1 -1
- package/dist/m/core/{conflict-notice-JMAZLVRX.js → conflict-notice-CEI3XY6A.js} +1 -1
- package/dist/m/core/{save-AOJBDSOK.js → save-OJ5NSLS7.js} +1 -1
- package/dist/m/core/{save-core-IOCMXO5L.js → save-core-DX3RFVO3.js} +1 -1
- package/dist/m/core/{unsaved-warning-U5VUJFOE.js → unsaved-warning-HGYH7O4H.js} +1 -1
- package/dist/m/internals/{index-HDRANDWE.js → index-V4WC44FU.js} +1 -1
- package/dist/m/loader-V6VI46HU.js +1 -0
- package/dist/m/{manifest-5498AFD3.js → manifest-83C18DED.js} +1 -1
- package/dist/m/{manifest-edit-62A5A00F.js → manifest-edit-B28C1985.js} +1 -1
- package/dist/m/manifest.json +553 -553
- package/dist/m/page/{editor-EY2WAAGB.js → editor-BQEPCJLG.js} +2 -2
- package/dist/m/plugins/ai-edit-45A2J6LC.js +6 -0
- package/dist/m/plugins/cms-IFTKWF4S.js +2235 -0
- package/dist/m/plugins/{indicator-4VDXWYTD.js → indicator-IPZJ35K6.js} +1 -1
- package/dist/m/plugins/{live-5EZN2EYP.js → live-GPQXSXSM.js} +1 -1
- package/dist/m/plugins/{menu-DM2JHPSR.js → menu-UN3KRCOF.js} +1 -1
- package/dist/m/plugins/{page-LVW5DWA4.js → page-BAVLWCP6.js} +2 -2
- package/dist/m/plugins/{page-view-5KQ76IJB.js → page-view-P3UGJFDZ.js} +1 -1
- package/dist/m/plugins/{people-C7TVBBMR.js → people-Z4RGVQAV.js} +1 -1
- package/dist/m/plugins/{quickcrop-BQ5YYFCH.js → quickcrop-E34PUYA3.js} +2 -2
- package/dist/m/plugins/{richclay-KLGETK77.js → richclay-S4NVJYIK.js} +2 -2
- package/dist/m/plugins/{source-CCEUM3OR.js → source-KVN6YNTY.js} +1 -1
- package/dist/m/plugins/{upgrade-NW556WJD.js → upgrade-KTSICB22.js} +1 -1
- package/dist/m/plugins/{wire-VRYPY6EJ.js → wire-SYVIBNSE.js} +1 -1
- package/dist/m/{reader-core-2GXY7SHY.js → reader-core-RUIFH32Y.js} +2 -2
- package/dist/m/sync/{live-sync-SKPMFYOO.js → live-sync-RGQMMWK2.js} +1 -1
- package/dist/m/ui/{index-QNIPDHXQ.js → index-EZGLEM5P.js} +1 -1
- package/dist/offline-manifest.json +442 -448
- package/docs/guide.md +2 -2
- package/package.json +2 -2
- package/src/loader-logic.js +4 -1
- package/src/plugins/ai-edit.js +6 -17
- package/src/plugins/cms.js +3 -6
- package/src/ui/bevel.js +1 -1
- package/src/ui/skins/cms.js +1 -1
- package/src/ui/skins/quickcrop.js +1 -1
- package/src/ui/skins/richclay.js +1 -1
- package/src/vendor/hypercms.vendor.js +16 -69
- package/dist/m/c-FSWRGBVQ.js +0 -1
- package/dist/m/c-HMYWIHFG.js +0 -1
- package/dist/m/c-M6FNQCTQ.js +0 -1
- package/dist/m/c-WFMRX5RZ.js +0 -1
- package/dist/m/loader-ZVPK4ZN3.js +0 -1
- package/dist/m/plugins/ai-edit-J5VLSW5I.js +0 -6
- package/dist/m/plugins/cms-LRAOZHT7.js +0 -2293
- package/src/ui/skins/cms-toggle.js +0 -15
- /package/dist/m/plugins/{quickcrop-BQ5YYFCH.js.LEGAL.txt → quickcrop-E34PUYA3.js.LEGAL.txt} +0 -0
- /package/dist/m/plugins/{richclay-KLGETK77.js.LEGAL.txt → richclay-S4NVJYIK.js.LEGAL.txt} +0 -0
package/docs/guide.md
CHANGED
|
@@ -1979,7 +1979,7 @@ Rules for sapjs in a malleable file:
|
|
|
1979
1979
|
|
|
1980
1980
|
### 7.12 cms: content-managed pages
|
|
1981
1981
|
|
|
1982
|
-
`?plugins=cms` turns a page into a content-managed page. A JSON rules tag maps field names to selectors, and
|
|
1982
|
+
`?plugins=cms` turns a page into a content-managed page. It brings ClayJS's menu plugin automatically; the menu is a small dock in a corner of the page, shown only to someone who can edit. A JSON rules tag maps field names to selectors, and **Open the CMS (Edit content)** in the menu opens a sidebar form (or edits text in place) that writes straight into the DOM.
|
|
1983
1983
|
|
|
1984
1984
|
```html
|
|
1985
1985
|
<script data-rules-name="cms" data-rules-version="1" type="application/json">
|
|
@@ -1989,7 +1989,7 @@ Rules for sapjs in a malleable file:
|
|
|
1989
1989
|
|
|
1990
1990
|
It fits fixed-layout content sites such as landing pages, menus, pricing, FAQs, and team pages, where a non-developer changes copy and images. It does not fit apps where editing is the product: its form is a separate surface from the content, new list items clone the first item's attributes (including its state), and rich text inside lists is flattened in the sidebar. A file can use both if the CMS owns the header copy, the app owns `<main>`, and the rules never reach into the app's region. Give every list that can become empty a `cms-template` seed hidden by CSS, not by the `hidden` attribute (which is copied into every new item). Add `sortable` to the plugin list for drag in the sidebar.
|
|
1991
1991
|
|
|
1992
|
-
The rules tag can declare which editor opens. `data-cms-view="inline"` edits text in place and opens small popovers for everything else, while no attribute (or `"sidebar"`) opens the form in a side panel.
|
|
1992
|
+
The rules tag can declare which editor opens. `data-cms-view="inline"` edits text in place and opens small popovers for everything else, while no attribute (or `"sidebar"`) opens the form in a side panel. **Open the CMS (Edit content)** in the menu opens whichever the page declares. The CMS edits only in edit mode: while the page is in view, `clay.cms.open()` answers `{ ok: false, code: "not-allowed" }`, so a button of your own calls `clay.setMode("edit")` first.
|
|
1993
1993
|
|
|
1994
1994
|
The CMS also edits how a page looks. A rule ending in `@--name` reads and writes one CSS custom property in an element's `style` attribute. For example, `"accent": "html@--color-accent"` with `a { color: var(--color-accent) }` in your CSS gives the owner a color picker. Any `--color-*` name gets a color picker, any `--font-*` name gets a list of 40 Google Fonts, and the CMS keeps one `<link data-hcms-fonts>` loading the fonts in use. For a layout choice, put `data-hcms-component:data-layout="variant"` and `data-hcms-options:data-layout="1:cols-1 2:cols-2 3:cols-3"` on a section and key your grid CSS on `[data-layout]`: the owner gets icon tiles, and the choice writes only the attribute. Style fields on `html`, `body`, or `:root` gather in a "Page style" group at the top of the form.
|
|
1995
1995
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panphora/clayjs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "clayjs: malleable documents. Save lifecycle for self-saving HTML.",
|
|
6
6
|
"license": "MIT-0",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"@fontsource-variable/work-sans": "5.3.0",
|
|
97
97
|
"@fontsource/ibm-plex-mono": "5.3.0",
|
|
98
98
|
"@fontsource/ibm-plex-sans": "5.3.0",
|
|
99
|
-
"@panphora/bevel": "0.
|
|
99
|
+
"@panphora/bevel": "0.3.2",
|
|
100
100
|
"@web/test-runner": "^0.20.2",
|
|
101
101
|
"@web/test-runner-commands": "^0.9.0",
|
|
102
102
|
"@web/test-runner-playwright": "^0.11.1",
|
package/src/loader-logic.js
CHANGED
|
@@ -182,7 +182,10 @@ const PLUGIN_ORDER = ["visitor-drafts", "richclay", "indicator", "sortable", "un
|
|
|
182
182
|
// image and file blocks send through `clay.upload`: without the plugin every drop
|
|
183
183
|
// ends in "File uploads are not available", while with it a host that stores no
|
|
184
184
|
// files answers `unsupported` and the editor offers to embed the file instead.
|
|
185
|
-
|
|
185
|
+
// The menu is how a person opens the CMS: hypercms adds no button of its own. It loads
|
|
186
|
+
// in view too, because that is where a person starts, and it shows itself only to
|
|
187
|
+
// someone who can edit. A page with its own control uses exclude=menu.
|
|
188
|
+
const IMPLIES = { cms: ["quickcrop", "upload", "menu"], "ai-edit": ["wire"], page: ["live", "sync", "upload"] };
|
|
186
189
|
|
|
187
190
|
// A Document's editor owns its article's rich text, so richclay (for [editable]) has
|
|
188
191
|
// nothing to do there; plugins=page,richclay still loads it.
|
package/src/plugins/ai-edit.js
CHANGED
|
@@ -670,17 +670,13 @@ function buildChrome() {
|
|
|
670
670
|
|
|
671
671
|
window.addEventListener('scroll', () => { positionChrome(); hideChip(); }, { passive: true, signal });
|
|
672
672
|
window.addEventListener('resize', () => { placeBubble(); if (panel && !panel.hidden) fitTextarea(); positionChrome(); }, { passive: true, signal });
|
|
673
|
-
//
|
|
673
|
+
// A docked CMS sidebar shifts the page under this chrome.
|
|
674
674
|
const replace = () => { placeBubble(); positionChrome(); };
|
|
675
675
|
document.addEventListener('hcms:open', () => { replace(); setTimeout(replace, 350); }, { signal });
|
|
676
676
|
document.addEventListener('hcms:close', () => { replace(); setTimeout(replace, 350); }, { signal });
|
|
677
|
-
const
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
if (records.some((r) => touched(r.addedNodes) || touched(r.removedNodes))) replace();
|
|
681
|
-
});
|
|
682
|
-
cmsToggle.observe(document.body, { childList: true });
|
|
683
|
-
observers.push(cmsToggle);
|
|
677
|
+
const bodyChildren = new MutationObserver(() => syncBubble());
|
|
678
|
+
bodyChildren.observe(document.body, { childList: true });
|
|
679
|
+
observers.push(bodyChildren);
|
|
684
680
|
|
|
685
681
|
// A target removed from the page ends its edit, so the save hold and the paused
|
|
686
682
|
// observers never outlive it. A running bar is no exception: it is torn down with
|
|
@@ -748,17 +744,10 @@ function refreshHelperState() {
|
|
|
748
744
|
}).catch(() => {});
|
|
749
745
|
}
|
|
750
746
|
|
|
751
|
-
// The bubble sits in the bottom-right corner
|
|
752
|
-
// toggle when the page has one, bottoms aligned, so the two never overlap.
|
|
747
|
+
// The bubble sits in the bottom-right corner.
|
|
753
748
|
function placeBubble() {
|
|
754
749
|
if (!docBubble) return;
|
|
755
|
-
|
|
756
|
-
const rect = host && host.getBoundingClientRect();
|
|
757
|
-
const beside = !!rect && rect.width > 0 && rect.height > 0;
|
|
758
|
-
docBubble.pin({
|
|
759
|
-
right: beside ? `${Math.round((document.documentElement.clientWidth || window.innerWidth) - rect.left + 8)}px` : '16px',
|
|
760
|
-
bottom: beside ? `${Math.round((document.documentElement.clientHeight || window.innerHeight) - rect.bottom)}px` : '16px',
|
|
761
|
-
});
|
|
750
|
+
docBubble.pin({ right: '16px', bottom: '16px' });
|
|
762
751
|
paintLook(docBubble);
|
|
763
752
|
}
|
|
764
753
|
|
package/src/plugins/cms.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
// The CMS shell,
|
|
2
|
-
//
|
|
3
|
-
//
|
|
1
|
+
// The CMS shell, inline layer and ghost rows, with their --mirk-* tokens pinned to Bevel
|
|
2
|
+
// and the Bevel system mono face. The CMS keeps its own stylesheet and its own light/dark
|
|
3
|
+
// switching.
|
|
4
4
|
import { installSkin } from "../ui/vendor-skin.js";
|
|
5
5
|
import { CSS } from "../ui/skins/cms.js";
|
|
6
|
-
import { CSS as TOGGLE_CSS, ROOTS as TOGGLE_ROOTS } from "../ui/skins/cms-toggle.js";
|
|
7
6
|
import { cms as hypercms } from "../vendor/hypercms.vendor.js";
|
|
8
7
|
|
|
9
8
|
export { cms, default } from "../vendor/hypercms.vendor.js";
|
|
10
9
|
|
|
11
10
|
installSkin("cms", CSS);
|
|
12
|
-
// The toggle takes the page's scheme, so Bevel's face and ink resolve the way the page reads.
|
|
13
|
-
installSkin("cms-toggle", TOGGLE_CSS, { roots: TOGGLE_ROOTS });
|
|
14
11
|
|
|
15
12
|
const fault = (message, code) => Object.assign(new Error(`clay:cms: ${message}`), { code });
|
|
16
13
|
|
package/src/ui/bevel.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// GENERATED from bevel/bevel.css and bevel/icons by scripts/build-bevel-subset.mjs. Run `npm run build:bevel`.
|
|
2
|
-
export const SOURCE_SHA256 = "
|
|
2
|
+
export const SOURCE_SHA256 = "0b54b9f2165dcd7d79a4b9749fe4ea5666f14b6f83461d952f5f6c034d224ab9";
|
|
3
3
|
export const FONT_SANS = "system-ui,-apple-system,\"Segoe UI\",sans-serif";
|
|
4
4
|
export const FONT_MONO = "ui-monospace,SFMono-Regular,Menlo,Consolas,monospace";
|
|
5
5
|
export const SHADOW = "0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35)";
|
package/src/ui/skins/cms.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// GENERATED from src/vendor/hypercms.vendor.js by scripts/build-vendor-skins.mjs. Run `npm run build:skins`.
|
|
2
|
-
export const SOURCE_SHA256 = "
|
|
2
|
+
export const SOURCE_SHA256 = "34ad22f65c67a35a9e8062b83bd00395ecd5620badabfa012598840bdd980f32";
|
|
3
3
|
export const ROOTS = [".hcms-shell"];
|
|
4
4
|
export const CSS = "@layer clay-skin{\n:is(.hcms-shell):not([data-theme]),:is(.hcms-shell):not([data-theme]) *{--mirk-canvas:light-dark(#FDF8F0, #0B0C13) !important;--mirk-bg:light-dark(#FFFCF6, #11131E) !important;--mirk-fg:light-dark(#2B241B, #ECEAF2) !important;--mirk-accent:light-dark(#F4ECDF, #1A1D2C) !important;--mirk-destructive:light-dark(#A83A2C, #FF5566) !important;--mirk-focus-color:light-dark(#8F6310, #D9A445) !important;--mirk-bevel-bg:light-dark(#F1E7D4, #22273E) !important;--mirk-bevel-fg:light-dark(#2B241B, #ECEAF2) !important;--mirk-bevel-tl:light-dark(#FFF9ED, #3C4260) !important;--mirk-bevel-br:light-dark(#D6C3A5, #1B2033) !important;--mirk-bevel-hover-bg:color-mix(in srgb, light-dark(#F1E7D4, #22273E), light-dark(#FFF9ED, #3C4260) 45%) !important;--mirk-pill-inner-top:light-dark(#FFF9ED, #3C4260) !important;--mirk-input-border:light-dark(#D8C8AF, #353B52) !important;--mirk-placeholder-color:light-dark(#9A8A70, #6A7090) !important;--mirk-ctrl-bg:light-dark(#6B5942, #8A90AB) !important;--mirk-toggle-bg:light-dark(#FCF8F1, #4A5275) !important;--mirk-toggle-hi:light-dark(#FFF9ED, #6C759A) !important;--mirk-toggle-lo:light-dark(#D6C3A5, #1B2033) !important;--mirk-mark-fg:light-dark(#2B241B, #ECEAF2) !important;--mirk-sortable-dot:light-dark(#D8C8AF, #353B52) !important;--mirk-sortable-shadow:light-dark(#D6C3A5, #1B2033) !important;--mirk-sortable-label:light-dark(#6B5942, #8A90AB) !important;--mirk-sortable-placeholder:light-dark(#9A8A70, #6A7090) !important;--mirk-slider-fill:light-dark(#F0E4CC, #3A2F17) !important;--mirk-slider-nub-bg:light-dark(#FCF8F1, #4A5275) !important;--mirk-slider-nub-hi:light-dark(#FFF9ED, #6C759A) !important;--mirk-slider-nub-lo:light-dark(#D6C3A5, #1B2033) !important;--mirk-chip-surface:light-dark(#FFFCF6, #11131E) !important;--mirk-chip-edge:light-dark(#D8C8AF, #353B52) !important;--mirk-chip-primary-bg:light-dark(#2B241B, #ECEAF2) !important;--mirk-chip-primary-fg:light-dark(#FDF8F0, #0B0C13) !important;--mirk-chip-alert:light-dark(#A83A2C, #FF5566) !important;--mirk-radius:0px !important;--mirk-focus-offset:2px !important}\n:is(.hcms-shell){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important}\n.hcms-shell .mirk-chip__actions .mirk-chip__action--primary{--mirk-bevel-bg:var(--mirk-chip-primary-bg) !important;--mirk-bevel-fg:var(--mirk-chip-primary-fg) !important;--mirk-bevel-tl:color-mix(in srgb, var(--mirk-chip-primary-bg), white 24%) !important;--mirk-bevel-br:color-mix(in srgb, var(--mirk-chip-primary-bg), black 32%) !important;--mirk-bevel-hover-bg:color-mix(in srgb, var(--mirk-chip-primary-bg), white 10%) !important}\n}";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// GENERATED from src/vendor/quickcrop.vendor.js and bevel/integrations/quickcrop.css by scripts/build-vendor-skins.mjs. Run `npm run build:skins`.
|
|
2
|
-
export const SOURCE_SHA256 = "
|
|
2
|
+
export const SOURCE_SHA256 = "c7f2d2e24de702a5932c49e16c4599f7e4a2c60f05e80ea0fa17b635ccd3b39e";
|
|
3
3
|
export const ROOTS = [".qc-stage",".qc-backdrop"];
|
|
4
4
|
export const CSS = "@layer clay-skin{\n:is(.qc-stage, .qc-backdrop),:is(.qc-stage, .qc-backdrop) *{--qc-surface:light-dark(#FFFCF6, #11131E) !important;--qc-text:light-dark(#2B241B, #ECEAF2) !important;--qc-border:light-dark(#D8C8AF, #353B52) !important;--qc-radius:0px !important;--qc-font:system-ui,-apple-system,\"Segoe UI\",sans-serif !important;--qc-surface-hover:light-dark(#F4ECDF, #1A1D2C) !important;--qc-text-hover:color-mix(in srgb, light-dark(#2B241B, #ECEAF2), light-dark(#FDF8F0, #0B0C13) 12%) !important;--qc-on-dark:light-dark(#FDF8F0, #0B0C13) !important;--qc-overlay:color-mix(in srgb, light-dark(#FDF8F0, #0B0C13) 70%, transparent) !important;--qc-dim:rgba(0,0,0,.55) !important;--qc-crop-line:#fff !important}\n.qc-stage{margin-inline:auto !important;inline-size:fit-content !important;background:light-dark(#F4ECDF, #1A1D2C) !important}\n.qc-stage img{display:block !important;max-inline-size:100% !important}\n.qc-backdrop{position:fixed !important;inset:0 !important;background:var(--qc-overlay) !important;display:grid !important;place-items:center !important;z-index:1000 !important;animation:qc-fade .15s ease !important}\n.qc-modal{background:var(--qc-surface) !important;border:1px solid var(--qc-border) !important;border-radius:var(--qc-radius) !important;padding:16px !important;max-width:92vw !important;font-family:var(--qc-font) !important}\n.qc-bar{display:flex !important;justify-content:flex-end !important;gap:10px !important;margin-top:12px !important}\n.qc-btn{font:inherit !important;font-family:var(--qc-font) !important;font-size:.85rem !important;padding:.3rem .75rem !important;border:1px solid var(--qc-border) !important;border-radius:6px !important;background:var(--qc-surface) !important;color:var(--qc-text) !important;cursor:pointer !important}\n.qc-btn:hover{background:var(--qc-surface-hover) !important}\n.qc-btn-primary{background:var(--qc-text) !important;border-color:var(--qc-text) !important;color:var(--qc-on-dark) !important;font-weight:600 !important}\n.qc-btn-primary:hover{background:var(--qc-text-hover) !important;border-color:var(--qc-text-hover) !important}\n.qc-stage{position:relative !important;line-height:0 !important;user-select:none !important;-webkit-user-select:none !important;touch-action:none !important}\n.qc-stage img{display:block !important;max-width:100% !important;pointer-events:none !important}\n.qc-dim{position:absolute !important;inset:0 !important;background:var(--qc-dim) !important;pointer-events:none !important}\n.qc-box{position:absolute !important;cursor:move !important;outline:1px solid var(--qc-crop-line) !important;background:linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 33.33%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 0 66.66%/100% 1px no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 33.33% 0/1px 100% no-repeat,linear-gradient(var(--qc-crop-line),var(--qc-crop-line)) 66.66% 0/1px 100% no-repeat !important;background-blend-mode:overlay !important}\n.qc-handle{position:absolute !important;box-sizing:border-box !important;width:28px !important;height:28px !important;border:7px solid transparent !important;background:var(--qc-crop-line) !important;background-clip:padding-box !important;border-radius:9px !important}\n.qc-nw{left:-14px !important;top:-14px !important;cursor:nwse-resize !important}\n.qc-ne{right:-14px !important;top:-14px !important;cursor:nesw-resize !important}\n.qc-sw{left:-14px !important;bottom:-14px !important;cursor:nesw-resize !important}\n.qc-se{right:-14px !important;bottom:-14px !important;cursor:nwse-resize !important}\n.qc-mount{line-height:0 !important}\n.qc-stage img[hidden]{display:none !important}\n.qc-backdrop[hidden]{display:none !important}\n.qc-bar[hidden]{display:none !important}\n}";
|
package/src/ui/skins/richclay.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// GENERATED from src/vendor/richclay.vendor.js and bevel/integrations/richclay.css by scripts/build-vendor-skins.mjs. Run `npm run build:skins`.
|
|
2
|
-
export const SOURCE_SHA256 = "
|
|
2
|
+
export const SOURCE_SHA256 = "1989b03f549880bea355a97b4946ee3a6922e8f3c9612406ba18e440878def3a";
|
|
3
3
|
export const ROOTS = [".richclay-toolbar",".richclay-float",".richclay-dialog"];
|
|
4
4
|
export const CSS = "@layer clay-skin{\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog),:is(.richclay-toolbar, .richclay-float, .richclay-dialog) *{--richclay-surface:light-dark(#FFFCF6, #11131E) !important;--richclay-surface-alt:light-dark(#F4ECDF, #1A1D2C) !important;--richclay-text:light-dark(#2B241B, #ECEAF2) !important;--richclay-muted:light-dark(#6B5942, #8A90AB) !important;--richclay-border:light-dark(#D8C8AF, #353B52) !important;--richclay-accent:light-dark(#8F6310, #D9A445) !important;--richclay-accent-ink:light-dark(#FDF8F0, #0B0C13) !important;--richclay-focus:light-dark(#8F6310, #D9A445) !important;--richclay-danger:light-dark(#A83A2C, #FF5566) !important;--richclay-radius:0px !important;--richclay-control-size:32px !important;--richclay-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog){font-family:system-ui,-apple-system,\"Segoe UI\",sans-serif !important}\n:where(.richclay-float, .richclay-dialog):is(.richclay-toolbar, .richclay-float, .richclay-dialog){color:light-dark(#2B241B, #ECEAF2) !important;background:light-dark(#FFFCF6, #11131E) !important;border:1px solid light-dark(#D8C8AF, #353B52) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-toolbar{gap:3px !important;margin:0 !important;padding:8px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important}\n.richclay-toolbar:is(.richclay-toolbar, .richclay-float, .richclay-dialog){gap:3px !important;padding:8px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button{min-width:32px !important;height:32px !important;padding:0 7px !important;gap:6px !important;border:2px solid !important;border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;border-radius:0 !important;background:light-dark(#F1E7D4, #22273E) !important;font:14px system-ui,-apple-system,\"Segoe UI\",sans-serif !important;cursor:pointer !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:is([aria-pressed=\"true\"], [aria-expanded=\"true\"]){background:light-dark(#E3D0B3, #28304D) !important;border-color:light-dark(#B89F7B, #1F2339) light-dark(#F0E1C9, #4D587A) light-dark(#F0E1C9, #4D587A) light-dark(#B89F7B, #1F2339) !important;box-shadow:none !important;color:light-dark(#2B241B, #ECEAF2) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button[aria-pressed=\"true\"] > svg{translate:1px 1px !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:disabled{opacity:.45 !important;cursor:not-allowed !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:hover:not([aria-pressed=\"true\"], [aria-expanded=\"true\"], :disabled){border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;background:color-mix(in srgb, light-dark(#F1E7D4, #22273E), light-dark(#FFF9ED, #3C4260) 45%) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-separator{align-self:center !important;height:22px !important;margin:0 5px !important;background:light-dark(#D8C8AF, #353B52) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu{inset-block-start:38px !important;min-width:210px !important;padding:5px !important;border-radius:0 !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu-item{padding:8px 10px !important;border:0 !important;border-radius:0 !important;font:14px system-ui,-apple-system,\"Segoe UI\",sans-serif !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu-item[aria-checked=\"true\"]{background:light-dark(#F4ECDF, #1A1D2C) !important;box-shadow:inset 2px 0 light-dark(#8F6310, #D9A445) !important}\n.richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog){width:min(100%, 360px) !important;padding:14px 16px 12px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#FFFCF6, #11131E) !important;color:light-dark(#2B241B, #ECEAF2) !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}\n.richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog)::before{content:\"\" !important;position:absolute !important;left:calc(var(--richclay-dialog-arrow, 28px) - 6px) !important;top:-7px !important;width:12px !important;height:12px !important;background:light-dark(#FFFCF6, #11131E) !important;border-top:1px solid light-dark(#D8C8AF, #353B52) !important;border-left:1px solid light-dark(#D8C8AF, #353B52) !important;transform:rotate(45deg) !important}\n.richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog)[data-richclay-side=\"above\"]::before{top:auto !important;bottom:-7px !important;border:0 !important;border-right:1px solid light-dark(#D8C8AF, #353B52) !important;border-bottom:1px solid light-dark(#D8C8AF, #353B52) !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-dialog-title{margin-bottom:2px !important;font:500 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;text-transform:uppercase !important;letter-spacing:.12em !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-field{gap:5px !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-field > span{color:light-dark(#4A4033, #C9CDE0) !important;font-size:12px !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-input{min-height:30px !important;padding:4px 8px !important;border:2px solid !important;border-color:light-dark(#B89F7B, #1F2339) light-dark(#F0E1C9, #4D587A) light-dark(#F0E1C9, #4D587A) light-dark(#B89F7B, #1F2339) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important;font:13px system-ui,-apple-system,\"Segoe UI\",sans-serif !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-dialog-actions{margin-top:4px !important;padding-top:12px !important;border-top:1px solid light-dark(#E8DCC6, #262B42) !important;flex-wrap:wrap !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) :is(.richclay-primary, .richclay-secondary){min-height:30px !important;padding:4px 10px !important;border:2px solid !important;border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;border-radius:0 !important;background:light-dark(#F1E7D4, #22273E) !important;color:light-dark(#2B241B, #ECEAF2) !important;font:13px system-ui,-apple-system,\"Segoe UI\",sans-serif !important}\n:is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-primary{background:light-dark(#2B241B, #ECEAF2) !important;color:light-dark(#FDF8F0, #0B0C13) !important;border-color:color-mix(in srgb, light-dark(#2B241B, #ECEAF2), white 24%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), black 32%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), black 32%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), white 24%) !important}\n.richclay-float:is(.richclay-toolbar, .richclay-float, .richclay-dialog){border-radius:0 !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}\n.richclay-float:is(.richclay-toolbar, .richclay-float, .richclay-dialog) > .richclay-toolbar{padding:5px !important}\n.richclay-toolbar{align-items:center !important;background:var(--richclay-surface-alt) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;color:var(--richclay-text) !important;display:flex !important;flex-wrap:wrap !important;gap:2px !important;margin-block:0 6px !important;padding:4px !important}\n.richclay-toolbar:has(+ .richclay-editor){margin-block-end:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}\n.richclay-button{align-items:center !important;appearance:none !important;background:transparent !important;border:1px solid transparent !important;border-radius:5px !important;color:currentColor !important;display:inline-flex !important;height:var(--richclay-control-size) !important;justify-content:center !important;margin:0 !important;min-width:var(--richclay-control-size) !important;padding:0 !important;position:relative !important}\n.richclay-button:hover,.richclay-button[aria-expanded=\"true\"],.richclay-menu-item:hover{background:var(--richclay-surface) !important;border-color:var(--richclay-border) !important}\n.richclay-button.is-active,.richclay-button[aria-pressed=\"true\"],.richclay-menu-item.is-active{background:rgb(0 0 0 / 0.13) !important;border-color:rgb(0 0 0 / 0.22) !important;color:var(--richclay-text) !important;box-shadow:inset 0 1px 3px rgb(0 0 0 / 0.26) !important}\n.richclay-button:focus-visible,.richclay-menu-item:focus-visible,.richclay-input:focus-visible,.richclay-primary:focus-visible,.richclay-secondary:focus-visible{outline:3px solid var(--richclay-focus) !important;outline-offset:2px !important}\n.richclay-button:disabled{color:var(--richclay-muted) !important;cursor:not-allowed !important;opacity:0.55 !important}\n.richclay-separator{align-self:stretch !important;background:var(--richclay-border) !important;display:inline-block !important;margin:5px 4px !important;width:1px !important}\n.richclay-menu-wrap{display:inline-flex !important;position:relative !important}\n.richclay-menu{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;box-shadow:var(--richclay-shadow) !important;color:var(--richclay-text) !important;display:grid !important;gap:2px !important;inset-block-start:calc(100% + 4px) !important;inset-inline-start:0 !important;min-width:160px !important;padding:4px !important;position:absolute !important;z-index:1000 !important}\n.richclay-menu[hidden]{display:none !important}\n.richclay-menu-item{align-items:center !important;appearance:none !important;background:transparent !important;border:1px solid transparent !important;border-radius:4px !important;color:inherit !important;display:flex !important;font:inherit !important;gap:8px !important;min-height:32px !important;padding:5px 9px !important;text-align:start !important}\n.richclay-float{left:0 !important;position:fixed !important;top:0 !important;will-change:transform !important;z-index:99999 !important}\n.richclay-float .richclay-toolbar{box-shadow:var(--richclay-shadow) !important;margin-block:0 !important}\n.richclay-float-rail .richclay-toolbar{--richclay-control-size:28px !important;flex-direction:column !important;flex-wrap:nowrap !important}\n.richclay-float-rail .richclay-toolbar svg{height:15px !important;width:15px !important}\n.richclay-float-rail .richclay-separator{align-self:stretch !important;height:1px !important;margin:4px 5px !important;width:auto !important}\n.richclay-float-rail .richclay-menu{inset-block-start:0 !important;inset-inline-start:calc(100% + 4px) !important}\n.richclay-dialog{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;box-shadow:var(--richclay-shadow) !important;color:var(--richclay-text) !important;display:grid !important;gap:10px !important;box-sizing:border-box !important;width:min(420px, calc(100vw - 16px)) !important;z-index:99999 !important;padding:12px !important}\n.richclay-dialog-title{font-weight:650 !important}\n.richclay-field{display:grid !important;gap:4px !important}\n.richclay-field span{color:var(--richclay-muted) !important;font-size:0.875rem !important}\n.richclay-input{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:4px !important;color:var(--richclay-text) !important;font:inherit !important;min-height:36px !important;padding:6px 8px !important}\n.richclay-dialog-actions{display:flex !important;gap:8px !important;justify-content:flex-end !important}\n.richclay-dialog-actions [data-richclay-remove-link]{margin-inline-end:auto !important}\n.richclay-primary,.richclay-secondary{appearance:none !important;border:1px solid var(--richclay-border) !important;border-radius:4px !important;font:inherit !important;min-height:34px !important;padding:5px 10px !important}\n.richclay-primary{background:var(--richclay-accent) !important;border-color:var(--richclay-accent) !important;color:var(--richclay-accent-ink) !important}\n.richclay-secondary{background:var(--richclay-surface-alt) !important;color:var(--richclay-text) !important}\n.richclay-sr-only{border:0 !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important}\n@media (forced-colors: active){\n.richclay-toolbar,.richclay-menu,.richclay-input{border-color:CanvasText !important}\n.richclay-dialog{border-color:CanvasText !important}\n.richclay-button.is-active,.richclay-button[aria-pressed=\"true\"],.richclay-menu-item.is-active,.richclay-primary{background:Highlight !important;color:HighlightText !important}\n.richclay-button:focus-visible,.richclay-menu-item:focus-visible,.richclay-input:focus-visible{outline-color:Highlight !important}\n}\n.richclay-toolbar[hidden]{display:none !important}\n.richclay-button[hidden]{display:none !important}\n.richclay-separator[hidden]{display:none !important}\n.richclay-menu-wrap[hidden]{display:none !important}\n.richclay-menu[hidden]{display:none !important}\n.richclay-menu-item[hidden]{display:none !important}\n.richclay-dialog[hidden]{display:none !important}\n.richclay-field[hidden]{display:none !important}\n.richclay-dialog-actions[hidden]{display:none !important}\n}";
|