@vireo-ai/trellis-ui 0.1.50 → 0.1.52
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/package.json +6 -1
- package/packages/client/src/components/data-grid/styles.css +13 -10
- package/packages/client/src/components/import-flow/styles.css +20 -0
- package/packages/client/src/components/import-mapper/styles.css +8 -0
- package/packages/client/src/components/select/styles.css +19 -0
- package/packages/client/src/styles/components.css +2 -0
- package/packages/client/src/styles/generated-sources.css +1 -1
- package/packages/client/src/styles/theme-support.css +267 -0
- package/packages/client/src/styles/theme.css +1 -268
- package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
- package/packages/client/types/components/date-picker/contract.d.ts +15 -6
- package/packages/client/types/components/date-picker/machine.d.ts +4 -2
- package/packages/client/types/components/entry.generated.d.ts +2 -0
- package/packages/client/types/components/formset/contract.d.ts +10 -0
- package/packages/client/types/components/formset/entry.generated.d.ts +5 -0
- package/packages/client/types/components/formset/index.d.ts +41 -0
- package/packages/client/types/components/formset/machine.d.ts +22 -0
- package/packages/client/types/components/formset/runtime-docs.d.ts +2 -0
- package/packages/client/types/components/heading/contract.d.ts +4 -2
- package/packages/client/types/components/import-flow/contract.d.ts +13 -0
- package/packages/client/types/components/import-flow/index.d.ts +2 -0
- package/packages/client/types/components/import-mapper/entry.generated.d.ts +5 -0
- package/packages/client/types/components/import-mapper/index.d.ts +25 -0
- package/packages/client/types/components/runtime.d.ts +2 -0
- package/packages/client/types/components/select/contract.d.ts +1 -0
- package/packages/client/types/components/select/machine.d.ts +3 -0
- package/packages/client/types/components/text/contract.d.ts +4 -2
- package/packages/client/types/components/virtualizer/index.d.ts +4 -1
- package/packages/client/types/runtime/cursor-data-source.d.ts +19 -1
- package/packages/client/types/runtime/engine/stream.d.ts +1 -0
- package/packages/client/types/runtime/virtualizer-schema.d.ts +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +56 -12
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +393 -323
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DQitxnHn.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-BeZZfCbD.js.map → capability-motion-DQitxnHn.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Dzv1zWaL.js +3 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-D5jfePOE.js.map → capability-sortable-Dzv1zWaL.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DMbnlSdM.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-CGPV218r.js.map → core-DMbnlSdM.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js → entry.generated-2QEJDMe-.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js.map → entry.generated-2QEJDMe-.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js → entry.generated-BB7wWQfT.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js.map → entry.generated-BB7wWQfT.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js → entry.generated-C2gP0OfV.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js.map → entry.generated-C2gP0OfV.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js → entry.generated-CirM6w9Q.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js.map → entry.generated-CirM6w9Q.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js → entry.generated-CvcufWkj.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js.map → entry.generated-CvcufWkj.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js → entry.generated-DVQaci6w.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js.map → entry.generated-DVQaci6w.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js → entry.generated-DvvVMsQo.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js.map → entry.generated-DvvVMsQo.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-QspMEPHx.js → entry.generated-QspMEPHx.js} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-gxr2-89M.js → entry.generated-gxr2-89M.js} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-gxr2-89M.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js → entry.generated-payXlXhL.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js.map → entry.generated-payXlXhL.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js → entry.generated-wEt8LYAv.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js.map → entry.generated-wEt8LYAv.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{form-control-BkVb2Qed.js → form-control-DjbUb602.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-DjbUb602.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js → motion-BDQdr83d.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js.map → motion-BDQdr83d.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js +4 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +168 -126
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-BeZZfCbD.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-D5jfePOE.js +0 -3
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-CGPV218r.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-gxr2-89M.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js +0 -4
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js.map +0 -1
|
@@ -2,271 +2,4 @@
|
|
|
2
2
|
@import "./generated/theme-runtime.css";
|
|
3
3
|
@import "./components.css";
|
|
4
4
|
@import "./generated-sources.css";
|
|
5
|
-
|
|
6
|
-
@custom-variant dark (&:where(.dark, .dark *):not(:where(.light, .light *)));
|
|
7
|
-
@custom-variant ui-interactive (&:is([data-ui-interactive]));
|
|
8
|
-
@custom-variant ui-active (&:is(:active, :focus-visible, [data-active], [data-highlighted]));
|
|
9
|
-
@custom-variant ui-selected (&:is([data-selected="true"], [aria-selected="true"], [data-current], [aria-current]:not([aria-current="false"]), [data-checked], [aria-checked="true"], [data-pressed], [aria-pressed="true"]));
|
|
10
|
-
|
|
11
|
-
/* Keep the core authored palette available to custom components in the precompiled package. */
|
|
12
|
-
@source inline("{bg,text,border,ring,fill,stroke}-{neutral,accent}-{1..12}");
|
|
13
|
-
@source inline("{bg,text,border,ring,fill,stroke}-{neutral,accent}-a{1..12}");
|
|
14
|
-
@source inline("bg-canvas {bg,border,ring,fill,stroke}-surface-{0..8}");
|
|
15
|
-
@source inline("text-surface-{0..8}-{ink,ink-muted} shadow-elevation-{0..8}");
|
|
16
|
-
@source inline("rounded-{1..6} rounded-{control,surface,overlay} rounded-{control,surface,overlay}-{xs,sm,md,lg}");
|
|
17
|
-
@source inline("{rounded-t,rounded-r,rounded-b,rounded-l}-{control,surface,overlay}-{xs,sm,md,lg}");
|
|
18
|
-
@source inline("rounded-{none,full,circle}");
|
|
19
|
-
@source inline("gap-control-gap px-control-padding-{xs,sm,md,lg,xlg} px-badge-padding-{xs,sm,md,lg,xlg}");
|
|
20
|
-
@source inline("p-popover-padding px-menu-item-padding-inline");
|
|
21
|
-
@source inline("text-{1..13} text-{body,heading,code,label,description,metadata,menu-item}");
|
|
22
|
-
@source inline("text-{control,badge}-{xs,sm,md,lg,xlg}");
|
|
23
|
-
@source inline("font-{body,heading,code,control,badge,label,description,metadata,menu-item}");
|
|
24
|
-
@source inline("min-h-control-multiline-{xs,sm,md,lg,xlg}");
|
|
25
|
-
@source inline("size-{brand-logo,badge-close,checkbox-indicator,radio-indicator,radio-dot,slider-thumb}-{xs,sm,md,lg,xlg}");
|
|
26
|
-
@source inline("h-switch-track-height-{xs,sm,md,lg,xlg} w-switch-track-width-{xs,sm,md,lg,xlg} size-switch-thumb-{xs,sm,md,lg,xlg}");
|
|
27
|
-
@source inline("p-switch-inset data-checked:translate-x-switch-travel-{xs,sm,md,lg,xlg}");
|
|
28
|
-
@source inline("{h,w}-slider-track-{xs,sm,md,lg,xlg} max-w-modal-{sm,md,lg,xl}");
|
|
29
|
-
@source inline("border-{0..3} border-edge-{perimeter,control,separator,divider}");
|
|
30
|
-
@source inline("{border-t,border-r,border-b,border-l}-edge-{perimeter,control,separator,divider}");
|
|
31
|
-
|
|
32
|
-
@media (hover: hover) {
|
|
33
|
-
[data-ui-elevation][data-ui-interactive="surface"]:hover {
|
|
34
|
-
--ui-state-shadow-layers: 0 0 0 var(--border-width-edge-perimeter) var(--ui-surface-edge-hover);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
[data-ui-elevation][data-ui-interactive="surface"]:is(
|
|
39
|
-
[data-selected="true"],
|
|
40
|
-
[aria-selected="true"],
|
|
41
|
-
[data-current],
|
|
42
|
-
[aria-current]:not([aria-current="false"]),
|
|
43
|
-
[data-checked],
|
|
44
|
-
[aria-checked="true"],
|
|
45
|
-
[data-pressed],
|
|
46
|
-
[aria-pressed="true"]
|
|
47
|
-
) {
|
|
48
|
-
--ui-state-shadow-layers: 0 0 0 var(--border-width-edge-perimeter) var(--color-intent-accent-edge);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
[data-ui-elevation][data-ui-interactive="surface"]:is(:focus-visible, :has(:focus-visible)) {
|
|
52
|
-
--ui-state-shadow-layers: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/*
|
|
56
|
-
Shared interaction treatments keep state independent from its visual channels.
|
|
57
|
-
Tonal layers are painted over the element's existing surface with a background
|
|
58
|
-
image, while edge layers join the composable state/elevation shadow stack.
|
|
59
|
-
*/
|
|
60
|
-
[data-ui-selection-color],
|
|
61
|
-
[data-ui-interaction] {
|
|
62
|
-
--ui-interaction-selected-fill: var(--background-interaction-selection-neutral);
|
|
63
|
-
--ui-interaction-selected-fill-hover: var(--background-interaction-selection-neutral-hover);
|
|
64
|
-
--ui-interaction-selected-ink: var(--color-interaction-selection-neutral-ink);
|
|
65
|
-
--ui-interaction-selected-edge: var(--color-intent-neutral-edge);
|
|
66
|
-
--ui-interaction-selected-edge-hover: var(--color-intent-neutral-edge-hover);
|
|
67
|
-
--ui-interaction-selected-edge-strong: var(--color-intent-neutral-edge-strong);
|
|
68
|
-
--ui-selection-solid: var(--color-intent-neutral-solid);
|
|
69
|
-
--ui-selection-solid-ink: var(--color-intent-neutral-solid-ink);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
:is([data-ui-selection-color], [data-ui-interaction])[data-color="accent"] {
|
|
73
|
-
--ui-interaction-selected-fill: var(--background-interaction-selection-accent);
|
|
74
|
-
--ui-interaction-selected-fill-hover: var(--background-interaction-selection-accent-hover);
|
|
75
|
-
--ui-interaction-selected-ink: var(--color-interaction-selection-accent-ink);
|
|
76
|
-
--ui-interaction-selected-edge: var(--color-intent-accent-edge);
|
|
77
|
-
--ui-interaction-selected-edge-hover: var(--color-intent-accent-edge-hover);
|
|
78
|
-
--ui-interaction-selected-edge-strong: var(--color-intent-accent-edge-strong);
|
|
79
|
-
--ui-selection-solid: var(--color-intent-accent-solid);
|
|
80
|
-
--ui-selection-solid-ink: var(--color-intent-accent-solid-ink);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
[data-ui-interaction] {
|
|
84
|
-
--ui-interaction-fill: transparent;
|
|
85
|
-
--ui-interaction-edge: var(--ui-interaction-rest-edge, transparent);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
:is([data-ui-interaction="tonal"], [data-ui-interaction="combined"]) {
|
|
89
|
-
background-image: linear-gradient(var(--ui-interaction-fill), var(--ui-interaction-fill));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
:is([data-ui-interaction="edge"], [data-ui-interaction="combined"]) {
|
|
93
|
-
--ui-state-shadow-layers:
|
|
94
|
-
0 0 0 var(--border-width-edge-perimeter) var(--ui-interaction-edge);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
:is([data-ui-interaction="edge"], [data-ui-interaction="combined"]):not([data-ui-elevation]) {
|
|
98
|
-
box-shadow: var(--ui-state-shadow-layers);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
@media (hover: hover) {
|
|
102
|
-
[data-ui-interaction]:hover {
|
|
103
|
-
--ui-interaction-fill: var(--color-interaction-hover);
|
|
104
|
-
--ui-interaction-edge: var(--ui-surface-edge-hover);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
[data-ui-interaction]:active {
|
|
109
|
-
--ui-interaction-fill: var(--color-interaction-pressed);
|
|
110
|
-
--ui-interaction-edge: var(--ui-surface-edge-strong);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
[data-ui-interaction]:is(
|
|
114
|
-
[data-selected="true"],
|
|
115
|
-
[aria-selected="true"],
|
|
116
|
-
[data-current],
|
|
117
|
-
[aria-current]:not([aria-current="false"]),
|
|
118
|
-
[data-checked],
|
|
119
|
-
[aria-checked="true"],
|
|
120
|
-
[data-pressed],
|
|
121
|
-
[aria-pressed="true"]
|
|
122
|
-
) {
|
|
123
|
-
--ui-interaction-fill: var(--ui-interaction-selected-fill);
|
|
124
|
-
--ui-interaction-edge: var(--ui-interaction-selected-edge);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
:is([data-ui-interaction="tonal"], [data-ui-interaction="combined"]):is(
|
|
128
|
-
[data-selected="true"],
|
|
129
|
-
[aria-selected="true"],
|
|
130
|
-
[data-current],
|
|
131
|
-
[aria-current]:not([aria-current="false"]),
|
|
132
|
-
[data-checked],
|
|
133
|
-
[aria-checked="true"],
|
|
134
|
-
[data-pressed],
|
|
135
|
-
[aria-pressed="true"]
|
|
136
|
-
) {
|
|
137
|
-
color: var(--ui-interaction-selected-ink);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
@media (hover: hover) {
|
|
141
|
-
[data-ui-interaction]:is(
|
|
142
|
-
[data-selected="true"],
|
|
143
|
-
[aria-selected="true"],
|
|
144
|
-
[data-current],
|
|
145
|
-
[aria-current]:not([aria-current="false"]),
|
|
146
|
-
[data-checked],
|
|
147
|
-
[aria-checked="true"],
|
|
148
|
-
[data-pressed],
|
|
149
|
-
[aria-pressed="true"]
|
|
150
|
-
):hover {
|
|
151
|
-
--ui-interaction-fill: var(--ui-interaction-selected-fill-hover);
|
|
152
|
-
--ui-interaction-edge: var(--ui-interaction-selected-edge-hover);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
[data-ui-interaction]:is(:focus-visible, :has(:focus-visible)) {
|
|
157
|
-
--ui-state-shadow-layers:
|
|
158
|
-
0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/*
|
|
162
|
-
Root theme for the Trellis UI component system.
|
|
163
|
-
|
|
164
|
-
Token layers:
|
|
165
|
-
1. Generated primitives: 1–12 color families, alpha families, surfaces, and elevation.
|
|
166
|
-
2. Generated relationships: intent roles, interaction states, paired inks, and scrim.
|
|
167
|
-
3. Authored recipes: local component variables and state composition.
|
|
168
|
-
|
|
169
|
-
Theme config regenerates the first two layers. Component recipes consume their
|
|
170
|
-
relationships; custom UI may use the registered Tailwind palette directly.
|
|
171
|
-
|
|
172
|
-
CSS ownership:
|
|
173
|
-
- TypeScript style recipes own class composition, variants, sizes, and parts.
|
|
174
|
-
- This file owns imports, Tailwind source hints and variants, tokens, utilities,
|
|
175
|
-
global theme rules, and generic reusable behavior.
|
|
176
|
-
- Colocated component CSS owns selector-only styling that recipes cannot
|
|
177
|
-
express cleanly, such as pseudo-elements, ::part(...), :has(...), native
|
|
178
|
-
quirks, and child-order selectors.
|
|
179
|
-
*/
|
|
180
|
-
|
|
181
|
-
@theme {
|
|
182
|
-
--radius-scrollbar-thumb: var(--ui-scrollbar-thumb-radius);
|
|
183
|
-
--container-reading: var(--container-prose);
|
|
184
|
-
--z-index-popover: 50;
|
|
185
|
-
--z-index-dialog: 60;
|
|
186
|
-
--z-index-toast: 70;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
@theme inline {
|
|
190
|
-
--color-surface: var(--ui-surface-color);
|
|
191
|
-
--color-surface-ink: var(--ui-surface-ink);
|
|
192
|
-
--color-surface-ink-muted: var(--ui-surface-ink-muted);
|
|
193
|
-
--color-label-ink: var(--ui-label-ink);
|
|
194
|
-
--color-icon: var(--ui-surface-ink-muted);
|
|
195
|
-
--color-separator: var(--ui-surface-separator);
|
|
196
|
-
--color-separator-muted: var(--ui-surface-separator-muted);
|
|
197
|
-
--color-scrollbar-thumb: var(--ui-surface-edge);
|
|
198
|
-
--color-scrollbar-thumb-hover: var(--ui-surface-edge-hover);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
:root,
|
|
202
|
-
.light,
|
|
203
|
-
.dark {
|
|
204
|
-
color-scheme: light;
|
|
205
|
-
|
|
206
|
-
--ui-label-ink: color-mix(
|
|
207
|
-
in oklab,
|
|
208
|
-
var(--ui-surface-ink-muted),
|
|
209
|
-
var(--ui-surface-ink) var(--label-ink-emphasis)
|
|
210
|
-
);
|
|
211
|
-
|
|
212
|
-
--ui-control-height-xs: var(--spacing-control-xs);
|
|
213
|
-
--ui-control-height-sm: var(--spacing-control-sm);
|
|
214
|
-
--ui-control-height-md: var(--spacing-control-md);
|
|
215
|
-
--ui-control-height-lg: var(--spacing-control-lg);
|
|
216
|
-
--ui-control-height-xlg: var(--spacing-control-xlg);
|
|
217
|
-
--ui-popover-radius: var(--radius-overlay-sm);
|
|
218
|
-
--ui-popover-padding: var(--spacing-popover-padding);
|
|
219
|
-
|
|
220
|
-
--ui-icon-size-xs: var(--spacing-icon-xs);
|
|
221
|
-
--ui-icon-size-sm: var(--spacing-icon-sm);
|
|
222
|
-
--ui-icon-size: var(--spacing-icon);
|
|
223
|
-
--ui-icon-size-lg: var(--spacing-icon-lg);
|
|
224
|
-
--ui-scrollbar-size: var(--spacing-scrollbar);
|
|
225
|
-
--ui-scrollbar-inset: var(--spacing-scrollbar-inset);
|
|
226
|
-
--ui-scrollbar-thumb-radius: var(--radius-full);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.light {
|
|
230
|
-
color-scheme: light;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
@utility max-h-xs {
|
|
234
|
-
max-height: var(--container-xs);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
@utility max-h-sm {
|
|
238
|
-
max-height: var(--container-sm);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
@utility max-h-md {
|
|
242
|
-
max-height: var(--container-md);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
@utility max-h-lg {
|
|
246
|
-
max-height: var(--container-lg);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
@utility max-h-xl {
|
|
250
|
-
max-height: var(--container-xl);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
@utility max-h-prose {
|
|
254
|
-
max-height: 65ch;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
@utility ui-edge {
|
|
258
|
-
box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge);
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
@utility ui-focus-ring {
|
|
262
|
-
box-shadow: 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
@utility ui-focus-ring-inset {
|
|
266
|
-
box-shadow: inset 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
.dark {
|
|
271
|
-
color-scheme: dark;
|
|
272
|
-
}
|
|
5
|
+
@import "./theme-support.css";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const fullRuntimeAssetIds: readonly ["trellis:core", "trellis:motion", "trellis:resizable", "trellis:sortable", "trellis:shortcut", "trellis:accordion", "trellis:button", "trellis:checkbox", "trellis:date-picker", "trellis:direct-upload", "trellis:dropdown", "trellis:field", "trellis:file-upload", "trellis:input", "trellis:keybinding", "trellis:modal", "trellis:panels", "trellis:radio", "trellis:scroll-area", "trellis:select", "trellis:sidebar", "trellis:slider", "trellis:switch", "trellis:tabs", "trellis:toast", "trellis:tooltip", "trellis:data-grid", "trellis:virtualizer", "trellis:table"];
|
|
1
|
+
declare const fullRuntimeAssetIds: readonly ["trellis:core", "trellis:motion", "trellis:resizable", "trellis:sortable", "trellis:shortcut", "trellis:accordion", "trellis:button", "trellis:checkbox", "trellis:date-picker", "trellis:direct-upload", "trellis:dropdown", "trellis:field", "trellis:file-upload", "trellis:formset", "trellis:import-mapper", "trellis:input", "trellis:keybinding", "trellis:modal", "trellis:panels", "trellis:radio", "trellis:scroll-area", "trellis:select", "trellis:sidebar", "trellis:slider", "trellis:switch", "trellis:tabs", "trellis:toast", "trellis:tooltip", "trellis:data-grid", "trellis:virtualizer", "trellis:table"];
|
|
2
2
|
export { fullRuntimeAssetIds };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type SchemaToProps } from '../../runtime';
|
|
2
|
-
import { type Alignment, type ComponentRadius, type ElevationReference, type Position, type SurfaceReference } from '../common';
|
|
2
|
+
import { type Alignment, type ComponentRadius, type ControlVariant, type ElevationReference, type Position, type SurfaceReference } from '../common';
|
|
3
3
|
declare const DATE_PICKER_MODES: readonly ["single", "range"];
|
|
4
|
-
declare const
|
|
4
|
+
declare const DATE_PICKER_IMPLEMENTATIONS: readonly ["enhanced", "native"];
|
|
5
|
+
declare const DATE_PICKER_VARIANTS: readonly ["outline", "filled", "plain"];
|
|
5
6
|
declare const DATE_PICKER_CLOSE: readonly ["auto", "confirm"];
|
|
6
7
|
declare const DATE_PICKER_COLORS: readonly ["neutral", "accent"];
|
|
7
8
|
declare const DATE_PICKER_RADII: readonly ["none", "xs", "sm", "md", "lg", "full"];
|
|
@@ -9,7 +10,8 @@ declare const DATE_PICKER_PRESETS_POSITIONS: readonly ["left", "right", "top", "
|
|
|
9
10
|
declare const DATE_PICKER_SURFACES: readonly ["inherit", "0", "1", "2", "3", "4", "5", "6", "7", "8", "+1", "+2", "+3", "+4", "+5", "+6", "+7", "+8"];
|
|
10
11
|
declare const DATE_PICKER_ELEVATIONS: readonly ["none", "match", "1", "2", "3", "4", "5", "6", "7", "8"];
|
|
11
12
|
type DatePickerMode = typeof DATE_PICKER_MODES[number];
|
|
12
|
-
type
|
|
13
|
+
type DatePickerImplementation = typeof DATE_PICKER_IMPLEMENTATIONS[number];
|
|
14
|
+
type DatePickerVariant = ControlVariant;
|
|
13
15
|
type DatePickerClose = typeof DATE_PICKER_CLOSE[number];
|
|
14
16
|
type DatePickerColor = typeof DATE_PICKER_COLORS[number];
|
|
15
17
|
type DatePickerRadius = ComponentRadius;
|
|
@@ -56,7 +58,8 @@ declare const datePickerSchema: {
|
|
|
56
58
|
align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
|
|
57
59
|
offset: import("../../runtime/codecs").NumberCodec;
|
|
58
60
|
gap: import("../../runtime/codecs").NumberCodec;
|
|
59
|
-
|
|
61
|
+
implementation: import("../../runtime/codecs").OneOfCodec<"enhanced" | "native">;
|
|
62
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
60
63
|
color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent">;
|
|
61
64
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
62
65
|
surface: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "inherit" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
@@ -83,6 +86,11 @@ declare const datePickerPresetSchema: {
|
|
|
83
86
|
disabled: import("../../runtime/codecs").BoolCodec;
|
|
84
87
|
class: import("../../runtime/codecs").StringCodec;
|
|
85
88
|
};
|
|
89
|
+
declare const datePickerTriggerSchema: {
|
|
90
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
91
|
+
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
92
|
+
class: import("../../runtime/codecs").StringCodec;
|
|
93
|
+
};
|
|
86
94
|
declare const datePickerPresetsSchema: {
|
|
87
95
|
position: import("../../runtime/codecs").OneOfCodec<"bottom" | "left" | "right" | "top">;
|
|
88
96
|
class: import("../../runtime/codecs").StringCodec;
|
|
@@ -90,5 +98,6 @@ declare const datePickerPresetsSchema: {
|
|
|
90
98
|
type DatePickerProps = SchemaToProps<typeof datePickerSchema>;
|
|
91
99
|
type DatePickerPresetProps = SchemaToProps<typeof datePickerPresetSchema>;
|
|
92
100
|
type DatePickerPresetsProps = SchemaToProps<typeof datePickerPresetsSchema>;
|
|
93
|
-
|
|
94
|
-
export
|
|
101
|
+
type DatePickerTriggerProps = SchemaToProps<typeof datePickerTriggerSchema>;
|
|
102
|
+
export { DATE_PICKER_CLOSE, DATE_PICKER_COLORS, DATE_PICKER_ELEVATIONS, DATE_PICKER_IMPLEMENTATIONS, DATE_PICKER_MODES, DATE_PICKER_PRESETS_POSITIONS, DATE_PICKER_RADII, DATE_PICKER_SURFACES, DATE_PICKER_VARIANTS, datePickerPresetSchema, datePickerPresetsSchema, datePickerSchema, datePickerTriggerSchema, };
|
|
103
|
+
export type { DatePickerAlign, DatePickerClose, DatePickerColor, DatePickerElevation, DatePickerImplementation, DatePickerMode, DatePickerPreset, DatePickerPresetProps, DatePickerPresetsPosition, DatePickerPresetsProps, DatePickerProps, DatePickerRadius, DatePickerSide, DatePickerSurface, DatePickerTriggerProps, DatePickerVariant, };
|
|
@@ -93,7 +93,8 @@ declare const datePickerHooks: readonly [{
|
|
|
93
93
|
align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
|
|
94
94
|
offset: import("../../runtime/codecs").NumberCodec;
|
|
95
95
|
gap: import("../../runtime/codecs").NumberCodec;
|
|
96
|
-
|
|
96
|
+
implementation: import("../../runtime/codecs").OneOfCodec<"enhanced" | "native">;
|
|
97
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
97
98
|
color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent">;
|
|
98
99
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
99
100
|
surface: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "inherit" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
@@ -166,7 +167,8 @@ declare const datePickerHooks: readonly [{
|
|
|
166
167
|
align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
|
|
167
168
|
offset: import("../../runtime/codecs").NumberCodec;
|
|
168
169
|
gap: import("../../runtime/codecs").NumberCodec;
|
|
169
|
-
|
|
170
|
+
implementation: import("../../runtime/codecs").OneOfCodec<"enhanced" | "native">;
|
|
171
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
170
172
|
color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent">;
|
|
171
173
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
172
174
|
surface: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "inherit" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
@@ -12,6 +12,8 @@ export * from './direct-upload/entry.generated';
|
|
|
12
12
|
export * from './dropdown/entry.generated';
|
|
13
13
|
export * from './field/entry.generated';
|
|
14
14
|
export * from './file-upload/entry.generated';
|
|
15
|
+
export * from './formset/entry.generated';
|
|
16
|
+
export * from './import-mapper/entry.generated';
|
|
15
17
|
export * from './input/entry.generated';
|
|
16
18
|
export * from './keybinding/entry.generated';
|
|
17
19
|
export * from './modal/entry.generated';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SchemaToProps } from '../../runtime';
|
|
2
|
+
declare const formsetSchema: {
|
|
3
|
+
prefix: import("../../runtime/codecs").StringCodec;
|
|
4
|
+
minForms: import("../../runtime/codecs").NumberCodec;
|
|
5
|
+
maxForms: import("../../runtime/codecs").JsonCodec<number | null>;
|
|
6
|
+
disabled: import("../../runtime/codecs").BoolCodec;
|
|
7
|
+
};
|
|
8
|
+
type FormsetProps = SchemaToProps<typeof formsetSchema>;
|
|
9
|
+
export { formsetSchema };
|
|
10
|
+
export type { FormsetProps };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
2
|
+
import { type AlpineMachine, type TrellisAlpineComponent } from '../../runtime';
|
|
3
|
+
import { type FormsetProps } from './contract';
|
|
4
|
+
import { formsetHooks, type FormsetContext } from './machine';
|
|
5
|
+
type FormsetOperation = 'add' | 'remove' | 'restore';
|
|
6
|
+
type FormsetItemArgument = HTMLElement | number;
|
|
7
|
+
type FormsetItemDetail = {
|
|
8
|
+
index: number;
|
|
9
|
+
item: HTMLElement;
|
|
10
|
+
activeCount: number;
|
|
11
|
+
};
|
|
12
|
+
type FormsetChangeDetail = {
|
|
13
|
+
operation: FormsetOperation;
|
|
14
|
+
index: number;
|
|
15
|
+
activeCount: number;
|
|
16
|
+
};
|
|
17
|
+
/** Public Alpine API for `ui.formset`. @public */
|
|
18
|
+
interface UiFormsetApi {
|
|
19
|
+
/** Number of rows not marked for Django deletion. */
|
|
20
|
+
readonly activeCount: number;
|
|
21
|
+
/** Whether adding one row is currently permitted. */
|
|
22
|
+
readonly canAdd: boolean;
|
|
23
|
+
/** Whether removing one active row is currently permitted. */
|
|
24
|
+
readonly canRemove: boolean;
|
|
25
|
+
/** Clone, index, initialize, and focus one empty-form row. */
|
|
26
|
+
add(): HTMLElement | null;
|
|
27
|
+
/** Tombstone an active member by element or immutable index. */
|
|
28
|
+
remove(itemOrIndex?: FormsetItemArgument): boolean;
|
|
29
|
+
/** Restore a tombstoned member by element or immutable index. */
|
|
30
|
+
restore(itemOrIndex: FormsetItemArgument): boolean;
|
|
31
|
+
/** Re-derive rows and management state from server-owned DOM. */
|
|
32
|
+
refresh(): void;
|
|
33
|
+
}
|
|
34
|
+
type FormsetData = AlpineMachine<FormsetContext, FormsetProps, typeof formsetHooks> & UiFormsetApi & {
|
|
35
|
+
init(): void;
|
|
36
|
+
destroy(): void;
|
|
37
|
+
};
|
|
38
|
+
declare const UiFormset: (AlpineInstance: Alpine.Alpine) => TrellisAlpineComponent<FormsetData>;
|
|
39
|
+
declare const registerFormset: (AlpineInstance: Alpine.Alpine) => void;
|
|
40
|
+
export { registerFormset, UiFormset };
|
|
41
|
+
export type { FormsetChangeDetail, FormsetData, FormsetItemArgument, FormsetItemDetail, UiFormsetApi, };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Machine, type MachineScope } from '../../runtime/state-machine';
|
|
2
|
+
import type { FormsetProps } from './contract';
|
|
3
|
+
type FormsetContext = {
|
|
4
|
+
activeCount: number;
|
|
5
|
+
};
|
|
6
|
+
type FormsetMachineEffects = {
|
|
7
|
+
add(): void;
|
|
8
|
+
remove(scope: MachineScope<FormsetContext, FormsetProps>): void;
|
|
9
|
+
restore(scope: MachineScope<FormsetContext, FormsetProps>): void;
|
|
10
|
+
refresh(): void;
|
|
11
|
+
maxLimit(): void;
|
|
12
|
+
minLimit(): void;
|
|
13
|
+
};
|
|
14
|
+
type CreateFormsetMachineOptions = {
|
|
15
|
+
props: FormsetProps;
|
|
16
|
+
context: FormsetContext;
|
|
17
|
+
effects: FormsetMachineEffects;
|
|
18
|
+
};
|
|
19
|
+
declare const createFormsetMachine: ({ props, context, effects, }: CreateFormsetMachineOptions) => Machine<FormsetContext, FormsetProps>;
|
|
20
|
+
declare const formsetHooks: readonly [];
|
|
21
|
+
export { createFormsetMachine, formsetHooks };
|
|
22
|
+
export type { CreateFormsetMachineOptions, FormsetContext, FormsetMachineEffects };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type TypographyColor } from '../common';
|
|
2
2
|
declare const HEADING_AS_VALUES: readonly ["div", "h1", "h2", "h3", "h4", "h5", "h6"];
|
|
3
3
|
declare const HEADING_SIZE_VALUES: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"];
|
|
4
|
+
declare const HEADING_FONT_VALUES: readonly ["heading", "mono"];
|
|
4
5
|
declare const HEADING_COLOR_VALUES: readonly ["inherit", "muted", "subtle", "accent", "danger"];
|
|
5
6
|
type HeadingAs = typeof HEADING_AS_VALUES[number];
|
|
6
7
|
type HeadingSize = typeof HEADING_SIZE_VALUES[number];
|
|
8
|
+
type HeadingFont = typeof HEADING_FONT_VALUES[number];
|
|
7
9
|
type HeadingColor = TypographyColor;
|
|
8
|
-
export { HEADING_AS_VALUES, HEADING_COLOR_VALUES, HEADING_SIZE_VALUES, };
|
|
9
|
-
export type { HeadingAs, HeadingColor, HeadingSize };
|
|
10
|
+
export { HEADING_AS_VALUES, HEADING_COLOR_VALUES, HEADING_FONT_VALUES, HEADING_SIZE_VALUES, };
|
|
11
|
+
export type { HeadingAs, HeadingColor, HeadingFont, HeadingSize };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type ImportFlowProps = {
|
|
2
|
+
id: string;
|
|
3
|
+
session: string;
|
|
4
|
+
step: 'upload' | 'schema' | 'mapping' | 'review' | 'preview';
|
|
5
|
+
revision: number;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
restartUrl: string;
|
|
8
|
+
showRestart: boolean;
|
|
9
|
+
submitValue: 'next' | 'start';
|
|
10
|
+
submitLabel: string;
|
|
11
|
+
class: string;
|
|
12
|
+
};
|
|
13
|
+
export type { ImportFlowProps };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type Alpine from 'alpinejs';
|
|
2
|
+
import { type TrellisAlpineComponent } from '../../runtime';
|
|
3
|
+
type MappingProjectionRow = {
|
|
4
|
+
source: string;
|
|
5
|
+
target: string;
|
|
6
|
+
deleted: boolean;
|
|
7
|
+
};
|
|
8
|
+
type MappingProjection = {
|
|
9
|
+
usedSources: ReadonlySet<string>;
|
|
10
|
+
usedTargets: ReadonlySet<string>;
|
|
11
|
+
sourceAvailable(current: string, candidate: string): boolean;
|
|
12
|
+
targetAvailable(current: string, candidate: string): boolean;
|
|
13
|
+
};
|
|
14
|
+
declare const mappingProjection: (rows: readonly MappingProjectionRow[]) => MappingProjection;
|
|
15
|
+
type ImportMapperData = {
|
|
16
|
+
activeSource: string;
|
|
17
|
+
init(): void;
|
|
18
|
+
destroy(): void;
|
|
19
|
+
refresh(): void;
|
|
20
|
+
selectSource(source: string): void;
|
|
21
|
+
};
|
|
22
|
+
declare const UiImportMapper: () => TrellisAlpineComponent<ImportMapperData>;
|
|
23
|
+
declare const registerImportMapper: (AlpineInstance: Alpine.Alpine) => void;
|
|
24
|
+
export { mappingProjection, registerImportMapper, UiImportMapper };
|
|
25
|
+
export type { ImportMapperData, MappingProjection, MappingProjectionRow };
|
|
@@ -13,6 +13,8 @@ export type { DropdownData, DropdownTransition, UiDropdownApi } from './dropdown
|
|
|
13
13
|
export { registerField, UiField } from './field';
|
|
14
14
|
export { registerFileUpload, UiFileUpload } from './file-upload';
|
|
15
15
|
export type { FileTransferStatus, FileUploadData, FileUploadMetadata, FileUploadRecord, FileUploadTransition, UiFileUploadApi, } from './file-upload';
|
|
16
|
+
export { registerFormset, UiFormset } from './formset';
|
|
17
|
+
export type { FormsetChangeDetail, FormsetData, FormsetItemArgument, FormsetItemDetail, UiFormsetApi, } from './formset';
|
|
16
18
|
export { registerInput, UiInput } from './input';
|
|
17
19
|
export type { InputData, UiInputApi } from './input';
|
|
18
20
|
export { createKeybindingController, registerKeybinding } from './keybinding';
|
|
@@ -34,6 +34,7 @@ declare const selectSchema: {
|
|
|
34
34
|
mode: import("../../runtime/codecs").OneOfCodec<"native" | "listbox" | "combobox" | "pillbox">;
|
|
35
35
|
multiple: import("../../runtime/codecs").BoolCodec;
|
|
36
36
|
searchable: import("../../runtime/codecs").BoolCodec;
|
|
37
|
+
searchMinItems: import("../../runtime/codecs").NumberCodec;
|
|
37
38
|
virtualized: import("../../runtime/codecs").BoolCodec;
|
|
38
39
|
optionsFetchUrl: import("../../runtime/codecs").StringCodec;
|
|
39
40
|
optionsTotalItems: import("../../runtime/codecs").NumberCodec;
|
|
@@ -27,6 +27,7 @@ type SelectMachineEffects = {
|
|
|
27
27
|
syncProps(scope: MachineScope<SelectContext, SelectProps>): void;
|
|
28
28
|
syncOptions(scope: MachineScope<SelectContext, SelectProps>): void;
|
|
29
29
|
syncActive(scope: MachineScope<SelectContext, SelectProps>): void;
|
|
30
|
+
syncDom(scope: MachineScope<SelectContext, SelectProps>): void;
|
|
30
31
|
};
|
|
31
32
|
type CreateSelectMachineOptions = {
|
|
32
33
|
props: SelectProps;
|
|
@@ -71,6 +72,7 @@ declare const selectHooks: readonly [{
|
|
|
71
72
|
mode: import("../../runtime/codecs").OneOfCodec<"native" | "listbox" | "combobox" | "pillbox">;
|
|
72
73
|
multiple: import("../../runtime/codecs").BoolCodec;
|
|
73
74
|
searchable: import("../../runtime/codecs").BoolCodec;
|
|
75
|
+
searchMinItems: import("../../runtime/codecs").NumberCodec;
|
|
74
76
|
virtualized: import("../../runtime/codecs").BoolCodec;
|
|
75
77
|
optionsFetchUrl: import("../../runtime/codecs").StringCodec;
|
|
76
78
|
optionsTotalItems: import("../../runtime/codecs").NumberCodec;
|
|
@@ -148,6 +150,7 @@ declare const selectHooks: readonly [{
|
|
|
148
150
|
mode: import("../../runtime/codecs").OneOfCodec<"native" | "listbox" | "combobox" | "pillbox">;
|
|
149
151
|
multiple: import("../../runtime/codecs").BoolCodec;
|
|
150
152
|
searchable: import("../../runtime/codecs").BoolCodec;
|
|
153
|
+
searchMinItems: import("../../runtime/codecs").NumberCodec;
|
|
151
154
|
virtualized: import("../../runtime/codecs").BoolCodec;
|
|
152
155
|
optionsFetchUrl: import("../../runtime/codecs").StringCodec;
|
|
153
156
|
optionsTotalItems: import("../../runtime/codecs").NumberCodec;
|
|
@@ -2,10 +2,12 @@ import { type TypographyColor } from '../common';
|
|
|
2
2
|
declare const TEXT_AS_VALUES: readonly ["span", "p", "div", "label", "kbd", "code", "strong"];
|
|
3
3
|
declare const TEXT_SIZE_VALUES: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"];
|
|
4
4
|
declare const TEXT_WEIGHT_VALUES: readonly ["normal", "medium", "semibold", "bold"];
|
|
5
|
+
declare const TEXT_FONT_VALUES: readonly ["body", "mono"];
|
|
5
6
|
declare const TEXT_COLOR_VALUES: readonly ["inherit", "muted", "subtle", "accent", "danger"];
|
|
6
7
|
type TextAs = typeof TEXT_AS_VALUES[number];
|
|
7
8
|
type TextSize = typeof TEXT_SIZE_VALUES[number];
|
|
8
9
|
type TextWeight = typeof TEXT_WEIGHT_VALUES[number];
|
|
10
|
+
type TextFont = typeof TEXT_FONT_VALUES[number];
|
|
9
11
|
type TextColor = TypographyColor;
|
|
10
|
-
export { TEXT_AS_VALUES, TEXT_COLOR_VALUES, TEXT_SIZE_VALUES, TEXT_WEIGHT_VALUES, };
|
|
11
|
-
export type { TextAs, TextColor, TextSize, TextWeight };
|
|
12
|
+
export { TEXT_AS_VALUES, TEXT_COLOR_VALUES, TEXT_FONT_VALUES, TEXT_SIZE_VALUES, TEXT_WEIGHT_VALUES, };
|
|
13
|
+
export type { TextAs, TextColor, TextFont, TextSize, TextWeight };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type Alpine from 'alpinejs';
|
|
2
|
+
import { type TrellisAlpineComponent } from '../../runtime';
|
|
2
3
|
import { UiVirtualizer } from '../../runtime/virtualizer';
|
|
4
|
+
import type { UiVirtualizerApi, VirtualizerData } from '../../runtime/virtualizer';
|
|
5
|
+
declare const UiCursorVirtualizer: (AlpineInstance: Alpine.Alpine) => TrellisAlpineComponent<VirtualizerData<null>> & UiVirtualizerApi<null>;
|
|
3
6
|
declare const registerVirtualizer: (AlpineInstance: Alpine.Alpine) => void;
|
|
4
|
-
export { registerVirtualizer, UiVirtualizer };
|
|
7
|
+
export { registerVirtualizer, UiCursorVirtualizer, UiVirtualizer };
|
|
5
8
|
export type { CursorDataSource, CursorFirstArgs, CursorMoveArgs, CursorPage, CursorResponseAdapter, CursorRenderPayload, CursorSeekArgs, SoughtCursorPage, CursorVirtualizerOptions, ResetOptions, SetUrlOptions, UiVirtualizerApi, VirtualizerOptions, VirtualizerData, VirtualScrollAlign, } from '../../runtime/virtualizer';
|
|
@@ -14,6 +14,7 @@ type CursorRenderPayload = {
|
|
|
14
14
|
preloads?: string[];
|
|
15
15
|
}>;
|
|
16
16
|
totalItems: number | null;
|
|
17
|
+
itemCount?: number;
|
|
17
18
|
};
|
|
18
19
|
type SoughtCursorPage<Content> = CursorPage<Content> & {
|
|
19
20
|
startIndex: number;
|
|
@@ -42,4 +43,21 @@ type CursorVirtualizerOptions<Query, Content> = {
|
|
|
42
43
|
responseAdapter: CursorResponseAdapter<Content>;
|
|
43
44
|
seekDebounce?: number;
|
|
44
45
|
};
|
|
45
|
-
|
|
46
|
+
type ServerCursorResponse = {
|
|
47
|
+
content: string;
|
|
48
|
+
assets?: Array<{
|
|
49
|
+
id: string;
|
|
50
|
+
src: string;
|
|
51
|
+
preloads?: string[];
|
|
52
|
+
}>;
|
|
53
|
+
startCursor: string | null;
|
|
54
|
+
endCursor: string | null;
|
|
55
|
+
hasNext: boolean;
|
|
56
|
+
hasPrevious: boolean;
|
|
57
|
+
startIndex?: number;
|
|
58
|
+
total?: number;
|
|
59
|
+
count?: number;
|
|
60
|
+
};
|
|
61
|
+
declare const serverCursorOptions: (element: () => HTMLElement) => CursorVirtualizerOptions<null, ServerCursorResponse>;
|
|
62
|
+
export { serverCursorOptions };
|
|
63
|
+
export type { CursorDataSource, CursorFirstArgs, CursorMoveArgs, CursorPage, CursorResponseAdapter, CursorRenderPayload, CursorSeekArgs, ServerCursorResponse, SoughtCursorPage, CursorVirtualizerOptions, };
|
|
@@ -3,6 +3,7 @@ declare const VIRTUALIZER_AXES: readonly ["vertical"];
|
|
|
3
3
|
type VirtualizerAxis = typeof VIRTUALIZER_AXES[number];
|
|
4
4
|
declare const virtualizerSchema: {
|
|
5
5
|
fetchUrl: import("./codecs").StringCodec;
|
|
6
|
+
cursor: import("./codecs").BoolCodec;
|
|
6
7
|
totalItems: import("./codecs").NumberCodec;
|
|
7
8
|
itemSize: import("./codecs").NumberCodec;
|
|
8
9
|
bufferSize: import("./codecs").NumberCodec;
|