@bettercms-ai/kit 0.1.1 → 2.0.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 +22 -16
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/adapters/dock-values.d.ts +28 -0
- package/dist/adapters/dock-values.js +41 -0
- package/dist/adapters/dock-values.js.map +1 -0
- package/dist/adapters/icons.d.ts +15 -0
- package/dist/adapters/icons.js +27 -0
- package/dist/adapters/icons.js.map +1 -0
- package/dist/adapters/lossy.d.ts +326 -0
- package/dist/adapters/lossy.js +414 -0
- package/dist/adapters/lossy.js.map +1 -0
- package/dist/adapters/prod-types.d.ts +546 -0
- package/dist/adapters/prod-types.js +714 -0
- package/dist/adapters/prod-types.js.map +1 -0
- package/dist/adapters/schema.d.ts +154 -0
- package/dist/adapters/schema.js +3020 -0
- package/dist/adapters/schema.js.map +1 -0
- package/dist/adapters/values.d.ts +221 -0
- package/dist/adapters/values.js +623 -0
- package/dist/adapters/values.js.map +1 -0
- package/dist/brand/logo.d.ts +17 -0
- package/dist/brand/logo.js +96 -0
- package/dist/brand/logo.js.map +1 -0
- package/dist/context.d.ts +359 -0
- package/dist/context.js +217 -0
- package/dist/context.js.map +1 -0
- package/dist/controls/button.d.ts +72 -0
- package/dist/controls/button.js +578 -0
- package/dist/controls/button.js.map +1 -0
- package/dist/controls/c1.d.ts +11 -0
- package/dist/controls/c1.js +24 -0
- package/dist/controls/c1.js.map +1 -0
- package/dist/controls/c2.d.ts +10 -0
- package/dist/controls/c2.js +19 -0
- package/dist/controls/c2.js.map +1 -0
- package/dist/controls/choice.d.ts +44 -0
- package/dist/controls/choice.js +463 -0
- package/dist/controls/choice.js.map +1 -0
- package/dist/controls/code-register.d.ts +1 -0
- package/dist/controls/code-register.js +8 -0
- package/dist/controls/code-register.js.map +1 -0
- package/dist/controls/code.d.ts +42 -0
- package/dist/controls/code.js +397 -0
- package/dist/controls/code.js.map +1 -0
- package/dist/controls/color.d.ts +5 -0
- package/dist/controls/color.js +130 -0
- package/dist/controls/color.js.map +1 -0
- package/dist/controls/component-services.d.ts +156 -0
- package/dist/controls/component-services.js +7 -0
- package/dist/controls/component-services.js.map +1 -0
- package/dist/controls/date-register.d.ts +1 -0
- package/dist/controls/date-register.js +9 -0
- package/dist/controls/date-register.js.map +1 -0
- package/dist/controls/date-zone.d.ts +104 -0
- package/dist/controls/date-zone.js +278 -0
- package/dist/controls/date-zone.js.map +1 -0
- package/dist/controls/date.d.ts +7 -0
- package/dist/controls/date.js +466 -0
- package/dist/controls/date.js.map +1 -0
- package/dist/controls/form-picker-register.d.ts +1 -0
- package/dist/controls/form-picker-register.js +19 -0
- package/dist/controls/form-picker-register.js.map +1 -0
- package/dist/controls/form-picker.d.ts +43 -0
- package/dist/controls/form-picker.js +85 -0
- package/dist/controls/form-picker.js.map +1 -0
- package/dist/controls/icon-register.d.ts +1 -0
- package/dist/controls/icon-register.js +8 -0
- package/dist/controls/icon-register.js.map +1 -0
- package/dist/controls/icon.d.ts +40 -0
- package/dist/controls/icon.js +360 -0
- package/dist/controls/icon.js.map +1 -0
- package/dist/controls/index.d.ts +5 -0
- package/dist/controls/index.js +38 -0
- package/dist/controls/index.js.map +1 -0
- package/dist/controls/json-register.d.ts +1 -0
- package/dist/controls/json-register.js +8 -0
- package/dist/controls/json-register.js.map +1 -0
- package/dist/controls/json.d.ts +2 -0
- package/dist/controls/json.js +82 -0
- package/dist/controls/json.js.map +1 -0
- package/dist/controls/link.d.ts +260 -0
- package/dist/controls/link.js +1186 -0
- package/dist/controls/link.js.map +1 -0
- package/dist/controls/location-register.d.ts +1 -0
- package/dist/controls/location-register.js +8 -0
- package/dist/controls/location-register.js.map +1 -0
- package/dist/controls/location.d.ts +16 -0
- package/dist/controls/location.js +221 -0
- package/dist/controls/location.js.map +1 -0
- package/dist/controls/media-register.d.ts +1 -0
- package/dist/controls/media-register.js +12 -0
- package/dist/controls/media-register.js.map +1 -0
- package/dist/controls/media-services.d.ts +46 -0
- package/dist/controls/media-services.js +0 -0
- package/dist/controls/media.d.ts +104 -0
- package/dist/controls/media.js +1396 -0
- package/dist/controls/media.js.map +1 -0
- package/dist/controls/number.d.ts +22 -0
- package/dist/controls/number.js +196 -0
- package/dist/controls/number.js.map +1 -0
- package/dist/controls/reference-register.d.ts +1 -0
- package/dist/controls/reference-register.js +10 -0
- package/dist/controls/reference-register.js.map +1 -0
- package/dist/controls/reference-services.d.ts +58 -0
- package/dist/controls/reference-services.js +0 -0
- package/dist/controls/reference.d.ts +23 -0
- package/dist/controls/reference.js +777 -0
- package/dist/controls/reference.js.map +1 -0
- package/dist/controls/rich-text/blocks.d.ts +49 -0
- package/dist/controls/rich-text/blocks.js +1859 -0
- package/dist/controls/rich-text/blocks.js.map +1 -0
- package/dist/controls/rich-text/catalog.d.ts +101 -0
- package/dist/controls/rich-text/catalog.js +623 -0
- package/dist/controls/rich-text/catalog.js.map +1 -0
- package/dist/controls/rich-text/codec.d.ts +64 -0
- package/dist/controls/rich-text/codec.js +34 -0
- package/dist/controls/rich-text/codec.js.map +1 -0
- package/dist/controls/rich-text/component-card.d.ts +14 -0
- package/dist/controls/rich-text/component-card.js +1024 -0
- package/dist/controls/rich-text/component-card.js.map +1 -0
- package/dist/controls/rich-text/component-panel.d.ts +47 -0
- package/dist/controls/rich-text/component-panel.js +141 -0
- package/dist/controls/rich-text/component-panel.js.map +1 -0
- package/dist/controls/rich-text/control.d.ts +20 -0
- package/dist/controls/rich-text/control.js +296 -0
- package/dist/controls/rich-text/control.js.map +1 -0
- package/dist/controls/rich-text/dom.d.ts +233 -0
- package/dist/controls/rich-text/dom.js +1019 -0
- package/dist/controls/rich-text/dom.js.map +1 -0
- package/dist/controls/rich-text/editor.d.ts +57 -0
- package/dist/controls/rich-text/editor.js +1630 -0
- package/dist/controls/rich-text/editor.js.map +1 -0
- package/dist/controls/rich-text/floating.d.ts +28 -0
- package/dist/controls/rich-text/floating.js +154 -0
- package/dist/controls/rich-text/floating.js.map +1 -0
- package/dist/controls/rich-text/index.d.ts +1 -0
- package/dist/controls/rich-text/index.js +12 -0
- package/dist/controls/rich-text/index.js.map +1 -0
- package/dist/controls/rich-text/link-form.d.ts +13 -0
- package/dist/controls/rich-text/link-form.js +147 -0
- package/dist/controls/rich-text/link-form.js.map +1 -0
- package/dist/controls/rich-text/markdown.d.ts +6 -0
- package/dist/controls/rich-text/markdown.js +181 -0
- package/dist/controls/rich-text/markdown.js.map +1 -0
- package/dist/controls/rich-text/ops.d.ts +35 -0
- package/dist/controls/rich-text/ops.js +316 -0
- package/dist/controls/rich-text/ops.js.map +1 -0
- package/dist/controls/rich-text/plain.d.ts +17 -0
- package/dist/controls/rich-text/plain.js +44 -0
- package/dist/controls/rich-text/plain.js.map +1 -0
- package/dist/controls/rich-text/toolbar.d.ts +89 -0
- package/dist/controls/rich-text/toolbar.js +343 -0
- package/dist/controls/rich-text/toolbar.js.map +1 -0
- package/dist/controls/scale.d.ts +56 -0
- package/dist/controls/scale.js +563 -0
- package/dist/controls/scale.js.map +1 -0
- package/dist/controls/slot-register.d.ts +1 -0
- package/dist/controls/slot-register.js +16 -0
- package/dist/controls/slot-register.js.map +1 -0
- package/dist/controls/slot-services.d.ts +122 -0
- package/dist/controls/slot-services.js +155 -0
- package/dist/controls/slot-services.js.map +1 -0
- package/dist/controls/slot.d.ts +33 -0
- package/dist/controls/slot.js +366 -0
- package/dist/controls/slot.js.map +1 -0
- package/dist/controls/table/index.d.ts +1 -0
- package/dist/controls/table/index.js +12 -0
- package/dist/controls/table/index.js.map +1 -0
- package/dist/controls/table/prod.d.ts +21 -0
- package/dist/controls/table/prod.js +79 -0
- package/dist/controls/table/prod.js.map +1 -0
- package/dist/controls/table/refs.d.ts +50 -0
- package/dist/controls/table/refs.js +79 -0
- package/dist/controls/table/refs.js.map +1 -0
- package/dist/controls/table/stored.d.ts +15 -0
- package/dist/controls/table/stored.js +44 -0
- package/dist/controls/table/stored.js.map +1 -0
- package/dist/controls/table/table-editor.d.ts +103 -0
- package/dist/controls/table/table-editor.js +2725 -0
- package/dist/controls/table/table-editor.js.map +1 -0
- package/dist/controls/table/table-link.d.ts +24 -0
- package/dist/controls/table/table-link.js +180 -0
- package/dist/controls/table/table-link.js.map +1 -0
- package/dist/controls/table/table.d.ts +9 -0
- package/dist/controls/table/table.js +103 -0
- package/dist/controls/table/table.js.map +1 -0
- package/dist/controls/text.d.ts +17 -0
- package/dist/controls/text.js +322 -0
- package/dist/controls/text.js.map +1 -0
- package/dist/controls/unknown-value.d.ts +17 -0
- package/dist/controls/unknown-value.js +66 -0
- package/dist/controls/unknown-value.js.map +1 -0
- package/dist/core/core.d.ts +63 -0
- package/dist/core/core.js +171 -0
- package/dist/core/core.js.map +1 -0
- package/dist/core/facets.d.ts +347 -0
- package/dist/core/facets.js +334 -0
- package/dist/core/facets.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.js +3 -0
- package/dist/engine/array.d.ts +101 -0
- package/dist/engine/array.js +906 -0
- package/dist/engine/array.js.map +1 -0
- package/dist/engine/bits.d.ts +24 -0
- package/dist/engine/bits.js +60 -0
- package/dist/engine/bits.js.map +1 -0
- package/dist/engine/breadcrumb.d.ts +45 -0
- package/dist/engine/breadcrumb.js +63 -0
- package/dist/engine/breadcrumb.js.map +1 -0
- package/dist/engine/expand.d.ts +66 -0
- package/dist/engine/expand.js +153 -0
- package/dist/engine/expand.js.map +1 -0
- package/dist/engine/field-list.d.ts +20 -0
- package/dist/engine/field-list.js +19 -0
- package/dist/engine/field-list.js.map +1 -0
- package/dist/engine/field-shell.d.ts +49 -0
- package/dist/engine/field-shell.js +988 -0
- package/dist/engine/field-shell.js.map +1 -0
- package/dist/engine/frame.d.ts +122 -0
- package/dist/engine/frame.js +601 -0
- package/dist/engine/frame.js.map +1 -0
- package/dist/engine/group-summary.d.ts +5 -0
- package/dist/engine/group-summary.js +70 -0
- package/dist/engine/group-summary.js.map +1 -0
- package/dist/engine/grouping.d.ts +238 -0
- package/dist/engine/grouping.js +996 -0
- package/dist/engine/grouping.js.map +1 -0
- package/dist/engine/item-list.d.ts +99 -0
- package/dist/engine/item-list.js +725 -0
- package/dist/engine/item-list.js.map +1 -0
- package/dist/engine/kit-field.d.ts +72 -0
- package/dist/engine/kit-field.js +558 -0
- package/dist/engine/kit-field.js.map +1 -0
- package/dist/engine/schema-form.d.ts +116 -0
- package/dist/engine/schema-form.js +462 -0
- package/dist/engine/schema-form.js.map +1 -0
- package/dist/engine/slot.d.ts +13 -0
- package/dist/engine/slot.js +216 -0
- package/dist/engine/slot.js.map +1 -0
- package/dist/index.d.ts +45 -3139
- package/dist/index.js +47 -2036
- package/dist/index.js.map +1 -0
- package/dist/kit.css +75 -0
- package/dist/lib/cn.d.ts +4 -0
- package/dist/lib/cn.js +56 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/columns.d.ts +14 -0
- package/dist/lib/columns.js +30 -0
- package/dist/lib/columns.js.map +1 -0
- package/dist/lib/frames.d.ts +36 -0
- package/dist/lib/frames.js +214 -0
- package/dist/lib/frames.js.map +1 -0
- package/dist/lib/icon-image.d.ts +10 -0
- package/dist/lib/icon-image.js +8 -0
- package/dist/lib/icon-image.js.map +1 -0
- package/dist/lib/icons.d.ts +16 -0
- package/dist/lib/icons.js +173 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/input-modality.d.ts +11 -0
- package/dist/lib/input-modality.js +47 -0
- package/dist/lib/input-modality.js.map +1 -0
- package/dist/lib/key-event.d.ts +11 -0
- package/dist/lib/key-event.js +16 -0
- package/dist/lib/key-event.js.map +1 -0
- package/dist/lib/path.d.ts +29 -0
- package/dist/lib/path.js +66 -0
- package/dist/lib/path.js.map +1 -0
- package/dist/lib/schema.d.ts +80 -0
- package/dist/lib/schema.js +384 -0
- package/dist/lib/schema.js.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.js +37 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/validate.d.ts +30 -0
- package/dist/lib/validate.js +224 -0
- package/dist/lib/validate.js.map +1 -0
- package/dist/library/analysis.d.ts +23 -0
- package/dist/library/analysis.js +160 -0
- package/dist/library/analysis.js.map +1 -0
- package/dist/library/catalog.d.ts +57 -0
- package/dist/library/catalog.js +307 -0
- package/dist/library/catalog.js.map +1 -0
- package/dist/library/coreNotes.d.ts +8 -0
- package/dist/library/coreNotes.js +111 -0
- package/dist/library/coreNotes.js.map +1 -0
- package/dist/library/coverage.d.ts +40 -0
- package/dist/library/coverage.js +59 -0
- package/dist/library/coverage.js.map +1 -0
- package/dist/library/entries/advanced.entries.d.ts +2 -0
- package/dist/library/entries/advanced.entries.js +6579 -0
- package/dist/library/entries/advanced.entries.js.map +1 -0
- package/dist/library/entries/commerce.entries.d.ts +2 -0
- package/dist/library/entries/commerce.entries.js +4140 -0
- package/dist/library/entries/commerce.entries.js.map +1 -0
- package/dist/library/entries/company.entries.d.ts +2 -0
- package/dist/library/entries/company.entries.js +2731 -0
- package/dist/library/entries/company.entries.js.map +1 -0
- package/dist/library/entries/conversion.entries.d.ts +2 -0
- package/dist/library/entries/conversion.entries.js +3707 -0
- package/dist/library/entries/conversion.entries.js.map +1 -0
- package/dist/library/entries/data.entries.d.ts +7 -0
- package/dist/library/entries/data.entries.js +4613 -0
- package/dist/library/entries/data.entries.js.map +1 -0
- package/dist/library/entries/events.entries.d.ts +2 -0
- package/dist/library/entries/events.entries.js +3428 -0
- package/dist/library/entries/events.entries.js.map +1 -0
- package/dist/library/entries/features.entries.d.ts +2 -0
- package/dist/library/entries/features.entries.js +3157 -0
- package/dist/library/entries/features.entries.js.map +1 -0
- package/dist/library/entries/heroes.entries.d.ts +2 -0
- package/dist/library/entries/heroes.entries.js +3401 -0
- package/dist/library/entries/heroes.entries.js.map +1 -0
- package/dist/library/entries/index.d.ts +3 -0
- package/dist/library/entries/index.js +35 -0
- package/dist/library/entries/index.js.map +1 -0
- package/dist/library/entries/listings.entries.d.ts +2 -0
- package/dist/library/entries/listings.entries.js +2976 -0
- package/dist/library/entries/listings.entries.js.map +1 -0
- package/dist/library/entries/longform.entries.d.ts +2 -0
- package/dist/library/entries/longform.entries.js +4227 -0
- package/dist/library/entries/longform.entries.js.map +1 -0
- package/dist/library/entries/media.entries.d.ts +2 -0
- package/dist/library/entries/media.entries.js +2781 -0
- package/dist/library/entries/media.entries.js.map +1 -0
- package/dist/library/entries/navigation.entries.d.ts +2 -0
- package/dist/library/entries/navigation.entries.js +4011 -0
- package/dist/library/entries/navigation.entries.js.map +1 -0
- package/dist/library/entries/pricing.entries.d.ts +2 -0
- package/dist/library/entries/pricing.entries.js +2383 -0
- package/dist/library/entries/pricing.entries.js.map +1 -0
- package/dist/library/entries/social-proof.entries.d.ts +2 -0
- package/dist/library/entries/social-proof.entries.js +2297 -0
- package/dist/library/entries/social-proof.entries.js.map +1 -0
- package/dist/library/examples/bento.d.ts +92 -0
- package/dist/library/examples/bento.js +201 -0
- package/dist/library/examples/bento.js.map +1 -0
- package/dist/library/examples/blocks.d.ts +14 -0
- package/dist/library/examples/blocks.js +313 -0
- package/dist/library/examples/blocks.js.map +1 -0
- package/dist/library/examples/faq.d.ts +28 -0
- package/dist/library/examples/faq.js +230 -0
- package/dist/library/examples/faq.js.map +1 -0
- package/dist/library/examples/hero.d.ts +43 -0
- package/dist/library/examples/hero.js +222 -0
- package/dist/library/examples/hero.js.map +1 -0
- package/dist/library/examples/index.d.ts +36 -0
- package/dist/library/examples/index.js +109 -0
- package/dist/library/examples/index.js.map +1 -0
- package/dist/library/examples/journalStory.d.ts +93 -0
- package/dist/library/examples/journalStory.js +338 -0
- package/dist/library/examples/journalStory.js.map +1 -0
- package/dist/library/examples/megaMenu.d.ts +134 -0
- package/dist/library/examples/megaMenu.js +442 -0
- package/dist/library/examples/megaMenu.js.map +1 -0
- package/dist/library/examples/pricing.d.ts +103 -0
- package/dist/library/examples/pricing.js +479 -0
- package/dist/library/examples/pricing.js.map +1 -0
- package/dist/library/examples/tabs.d.ts +87 -0
- package/dist/library/examples/tabs.js +180 -0
- package/dist/library/examples/tabs.js.map +1 -0
- package/dist/library/export.d.ts +42 -0
- package/dist/library/export.js +80 -0
- package/dist/library/export.js.map +1 -0
- package/dist/library/index.d.ts +13 -0
- package/dist/library/index.js +6 -0
- package/dist/library/kit-catalog.json +1510 -0
- package/dist/library/types.d.ts +42 -0
- package/dist/library/types.js +0 -0
- package/dist/schema/adapters.d.ts +28 -0
- package/dist/schema/adapters.js +492 -0
- package/dist/schema/adapters.js.map +1 -0
- package/dist/schema/help.d.ts +27 -0
- package/dist/schema/help.js +56 -0
- package/dist/schema/help.js.map +1 -0
- package/dist/schema/scale.d.ts +69 -0
- package/dist/schema/scale.js +250 -0
- package/dist/schema/scale.js.map +1 -0
- package/dist/schema/sources.d.ts +103 -0
- package/dist/schema/sources.js +65 -0
- package/dist/schema/sources.js.map +1 -0
- package/dist/schema/table.d.ts +319 -0
- package/dist/schema/table.js +1199 -0
- package/dist/schema/table.js.map +1 -0
- package/dist/schema/types.d.ts +297 -0
- package/dist/schema/types.js +14 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/table/table-view.d.ts +14 -0
- package/dist/table/table-view.js +140 -0
- package/dist/table/table-view.js.map +1 -0
- package/dist/table/table.css +73 -0
- package/dist/testing/corpus.d.ts +63 -0
- package/dist/testing/corpus.js +129 -0
- package/dist/testing/corpus.js.map +1 -0
- package/dist/testing/test-form.d.ts +11 -0
- package/dist/testing/test-form.js +38 -0
- package/dist/testing/test-form.js.map +1 -0
- package/dist/theme.css +345 -0
- package/dist/theme.d.ts +20 -1504
- package/dist/theme.js +43 -4126
- package/dist/theme.js.map +1 -0
- package/dist/tokens.css +542 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.js +0 -0
- package/dist/ui/action-tray.d.ts +54 -0
- package/dist/ui/action-tray.js +154 -0
- package/dist/ui/action-tray.js.map +1 -0
- package/dist/ui/autocomplete.d.ts +30 -0
- package/dist/ui/autocomplete.js +139 -0
- package/dist/ui/autocomplete.js.map +1 -0
- package/dist/ui/button.d.ts +57 -0
- package/dist/ui/button.js +201 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/choice-switch.d.ts +36 -0
- package/dist/ui/choice-switch.js +57 -0
- package/dist/ui/choice-switch.js.map +1 -0
- package/dist/ui/controls.d.ts +83 -0
- package/dist/ui/controls.js +331 -0
- package/dist/ui/controls.js.map +1 -0
- package/dist/ui/display.d.ts +163 -0
- package/dist/ui/display.js +455 -0
- package/dist/ui/display.js.map +1 -0
- package/dist/ui/expanded-editor-modal.d.ts +26 -0
- package/dist/ui/expanded-editor-modal.js +140 -0
- package/dist/ui/expanded-editor-modal.js.map +1 -0
- package/dist/ui/field-context.d.ts +12 -0
- package/dist/ui/field-context.js +23 -0
- package/dist/ui/field-context.js.map +1 -0
- package/dist/ui/floating-panel.d.ts +152 -0
- package/dist/ui/floating-panel.js +928 -0
- package/dist/ui/floating-panel.js.map +1 -0
- package/dist/ui/index.d.ts +16 -0
- package/dist/ui/index.js +18 -0
- package/dist/ui/input.d.ts +78 -0
- package/dist/ui/input.js +250 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/mode-bar.d.ts +31 -0
- package/dist/ui/mode-bar.js +65 -0
- package/dist/ui/mode-bar.js.map +1 -0
- package/dist/ui/overlay.d.ts +195 -0
- package/dist/ui/overlay.js +697 -0
- package/dist/ui/overlay.js.map +1 -0
- package/dist/ui/path-crumbs.d.ts +90 -0
- package/dist/ui/path-crumbs.js +566 -0
- package/dist/ui/path-crumbs.js.map +1 -0
- package/dist/ui/presence.d.ts +16 -0
- package/dist/ui/presence.js +65 -0
- package/dist/ui/presence.js.map +1 -0
- package/dist/ui/select.d.ts +66 -0
- package/dist/ui/select.js +407 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/shortcut-hint.d.ts +14 -0
- package/dist/ui/shortcut-hint.js +35 -0
- package/dist/ui/shortcut-hint.js.map +1 -0
- package/dist/ui/spinner.d.ts +24 -0
- package/dist/ui/spinner.js +42 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/split-button.d.ts +32 -0
- package/dist/ui/split-button.js +60 -0
- package/dist/ui/split-button.js.map +1 -0
- package/dist/ui/surfaces.d.ts +23 -0
- package/dist/ui/surfaces.js +26 -0
- package/dist/ui/surfaces.js.map +1 -0
- package/dist/ui/tab.d.ts +38 -0
- package/dist/ui/tab.js +87 -0
- package/dist/ui/tab.js.map +1 -0
- package/dist/ui/toast.d.ts +20 -0
- package/dist/ui/toast.js +115 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/tooltip-root.d.ts +13 -0
- package/dist/ui/tooltip-root.js +77 -0
- package/dist/ui/tooltip-root.js.map +1 -0
- package/dist/ui/variants.d.ts +15 -0
- package/dist/ui/variants.js +14 -0
- package/dist/ui/variants.js.map +1 -0
- package/package.json +76 -50
- package/LICENSE +0 -21
- package/dist/_chunks-cjs/_visual-editing.js +0 -5898
- package/dist/_chunks-cjs/refractor.js +0 -22
- package/dist/_chunks-es/_visual-editing.mjs +0 -5904
- package/dist/_chunks-es/refractor.mjs +0 -25
- package/dist/_color.d.mts +0 -119
- package/dist/_color.d.ts +0 -119
- package/dist/_color.js +0 -1412
- package/dist/_color.mjs +0 -1411
- package/dist/_visual-editing.d.mts +0 -1126
- package/dist/_visual-editing.d.ts +0 -1126
- package/dist/_visual-editing.js +0 -30
- package/dist/_visual-editing.mjs +0 -30
- package/dist/index.d.mts +0 -3140
- package/dist/index.mjs +0 -2044
- package/dist/theme.d.mts +0 -1506
- package/dist/theme.mjs +0 -4126
- package/exports/_visual-editing.ts +0 -31
- package/exports/index.ts +0 -1
- package/exports/theme.ts +0 -1
- package/src/color/index.d.mts +0 -119
- package/src/color/index.mjs +0 -1411
- package/src/core/__workshop__/constants.ts +0 -293
- package/src/core/_compat.ts +0 -264
- package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
- package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
- package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
- package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
- package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
- package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
- package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
- package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
- package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
- package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
- package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
- package/src/core/components/autocomplete/autocomplete.tsx +0 -767
- package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
- package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
- package/src/core/components/autocomplete/constants.ts +0 -28
- package/src/core/components/autocomplete/index.ts +0 -2
- package/src/core/components/autocomplete/types.ts +0 -108
- package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
- package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
- package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
- package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -51
- package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -133
- package/src/core/components/breadcrumbs/index.ts +0 -1
- package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
- package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
- package/src/core/components/dialog/__workshop__/index.ts +0 -19
- package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
- package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
- package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
- package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
- package/src/core/components/dialog/__workshop__/position.tsx +0 -30
- package/src/core/components/dialog/__workshop__/props.tsx +0 -75
- package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
- package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
- package/src/core/components/dialog/dialog.tsx +0 -430
- package/src/core/components/dialog/dialogContext.ts +0 -20
- package/src/core/components/dialog/dialogProvider.tsx +0 -35
- package/src/core/components/dialog/index.ts +0 -4
- package/src/core/components/dialog/styles.ts +0 -77
- package/src/core/components/dialog/useDialog.ts +0 -11
- package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
- package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
- package/src/core/components/hotkeys/hotkeys.test.tsx +0 -42
- package/src/core/components/hotkeys/hotkeys.tsx +0 -66
- package/src/core/components/hotkeys/index.ts +0 -1
- package/src/core/components/index.ts +0 -9
- package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
- package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
- package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
- package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
- package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
- package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
- package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
- package/src/core/components/menu/__workshop__/groups.tsx +0 -156
- package/src/core/components/menu/__workshop__/index.ts +0 -89
- package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
- package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -58
- package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
- package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
- package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
- package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
- package/src/core/components/menu/__workshop__/tones.tsx +0 -25
- package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
- package/src/core/components/menu/helpers.ts +0 -82
- package/src/core/components/menu/index.ts +0 -5
- package/src/core/components/menu/menu.spacing.test.tsx +0 -63
- package/src/core/components/menu/menu.test.tsx +0 -125
- package/src/core/components/menu/menu.tsx +0 -178
- package/src/core/components/menu/menuButton.tsx +0 -268
- package/src/core/components/menu/menuContext.ts +0 -18
- package/src/core/components/menu/menuDivider.ts +0 -23
- package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -63
- package/src/core/components/menu/menuGroup.tsx +0 -233
- package/src/core/components/menu/menuItem.spacing.test.tsx +0 -59
- package/src/core/components/menu/menuItem.tsx +0 -197
- package/src/core/components/menu/useMenu.ts +0 -21
- package/src/core/components/menu/useMenuController.ts +0 -231
- package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
- package/src/core/components/skeleton/__workshop__/index.ts +0 -11
- package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
- package/src/core/components/skeleton/index.ts +0 -2
- package/src/core/components/skeleton/skeleton.tsx +0 -57
- package/src/core/components/skeleton/styles.ts +0 -50
- package/src/core/components/skeleton/textSkeleton.tsx +0 -122
- package/src/core/components/tab/__workshop__/example.tsx +0 -79
- package/src/core/components/tab/__workshop__/index.ts +0 -14
- package/src/core/components/tab/index.ts +0 -3
- package/src/core/components/tab/tab.tsx +0 -101
- package/src/core/components/tab/tabList.test.tsx +0 -48
- package/src/core/components/tab/tabList.tsx +0 -70
- package/src/core/components/tab/tabPanel.tsx +0 -39
- package/src/core/components/toast/__workshop__/hook.tsx +0 -71
- package/src/core/components/toast/__workshop__/index.ts +0 -19
- package/src/core/components/toast/__workshop__/toast.tsx +0 -26
- package/src/core/components/toast/index.ts +0 -4
- package/src/core/components/toast/styles.ts +0 -77
- package/src/core/components/toast/toast.test.tsx +0 -101
- package/src/core/components/toast/toast.tsx +0 -198
- package/src/core/components/toast/toastContext.ts +0 -7
- package/src/core/components/toast/toastLayer.tsx +0 -51
- package/src/core/components/toast/toastProvider.tsx +0 -113
- package/src/core/components/toast/toastState.ts +0 -6
- package/src/core/components/toast/types.ts +0 -26
- package/src/core/components/toast/useToast.ts +0 -25
- package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
- package/src/core/components/tree/__workshop__/basic.tsx +0 -105
- package/src/core/components/tree/__workshop__/index.ts +0 -21
- package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
- package/src/core/components/tree/helpers.ts +0 -105
- package/src/core/components/tree/index.ts +0 -4
- package/src/core/components/tree/style.ts +0 -105
- package/src/core/components/tree/tree.test.tsx +0 -55
- package/src/core/components/tree/tree.tsx +0 -240
- package/src/core/components/tree/treeContext.ts +0 -10
- package/src/core/components/tree/treeGroup.tsx +0 -28
- package/src/core/components/tree/treeItem.test.tsx +0 -65
- package/src/core/components/tree/treeItem.tsx +0 -224
- package/src/core/components/tree/types.ts +0 -25
- package/src/core/components/tree/useTree.ts +0 -17
- package/src/core/constants.ts +0 -79
- package/src/core/helpers/animation.ts +0 -27
- package/src/core/helpers/element.ts +0 -55
- package/src/core/helpers/focus.ts +0 -100
- package/src/core/helpers/index.ts +0 -4
- package/src/core/helpers/scroll.ts +0 -15
- package/src/core/hooks/index.ts +0 -12
- package/src/core/hooks/useArrayProp.ts +0 -17
- package/src/core/hooks/useClickOutside.test.tsx +0 -482
- package/src/core/hooks/useClickOutside.ts +0 -118
- package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -115
- package/src/core/hooks/useClickOutsideEvent.ts +0 -73
- package/src/core/hooks/useCustomValidity.ts +0 -13
- package/src/core/hooks/useDelayed.test.ts +0 -88
- package/src/core/hooks/useDelayedState.ts +0 -36
- package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
- package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
- package/src/core/hooks/useElementRect/index.ts +0 -1
- package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
- package/src/core/hooks/useElementSize.ts +0 -19
- package/src/core/hooks/useForwardedRef.ts +0 -19
- package/src/core/hooks/useGlobalKeyDown.ts +0 -24
- package/src/core/hooks/useIsomorphicEffect.ts +0 -7
- package/src/core/hooks/useMatchMedia.ts +0 -28
- package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
- package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
- package/src/core/hooks/useMediaIndex/index.ts +0 -1
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -36
- package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
- package/src/core/hooks/useMounted.ts +0 -15
- package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
- package/src/core/hooks/usePrefersDark.test.tsx +0 -19
- package/src/core/hooks/usePrefersDark.ts +0 -16
- package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
- package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -19
- package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
- package/src/core/index.ts +0 -10
- package/src/core/lib/createGlobalScopedContext.ts +0 -36
- package/src/core/lib/globalScope.ts +0 -19
- package/src/core/lib/isRecord.ts +0 -3
- package/src/core/middleware/origin.ts +0 -47
- package/src/core/observers/elementSizeObserver.ts +0 -116
- package/src/core/observers/index.ts +0 -2
- package/src/core/observers/resizeObserver.ts +0 -9
- package/src/core/primitives/_selectable/index.ts +0 -1
- package/src/core/primitives/_selectable/selectable.tsx +0 -15
- package/src/core/primitives/_selectable/style.ts +0 -115
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
- package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
- package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
- package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
- package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
- package/src/core/primitives/avatar/avatar.tsx +0 -200
- package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
- package/src/core/primitives/avatar/avatarStack.tsx +0 -100
- package/src/core/primitives/avatar/index.ts +0 -4
- package/src/core/primitives/avatar/styles.ts +0 -167
- package/src/core/primitives/avatar/types.ts +0 -17
- package/src/core/primitives/badge/__workshop__/index.ts +0 -19
- package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
- package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
- package/src/core/primitives/badge/badge.test.tsx +0 -16
- package/src/core/primitives/badge/badge.tsx +0 -70
- package/src/core/primitives/badge/index.ts +0 -1
- package/src/core/primitives/badge/styles.ts +0 -20
- package/src/core/primitives/badge/types.ts +0 -8
- package/src/core/primitives/box/__workshop__/asComponent.tsx +0 -31
- package/src/core/primitives/box/__workshop__/index.ts +0 -24
- package/src/core/primitives/box/__workshop__/props.tsx +0 -20
- package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
- package/src/core/primitives/box/box.test.tsx +0 -142
- package/src/core/primitives/box/box.tsx +0 -154
- package/src/core/primitives/box/index.ts +0 -1
- package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
- package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
- package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
- package/src/core/primitives/button/__workshop__/index.ts +0 -59
- package/src/core/primitives/button/__workshop__/labelUploadButton.tsx +0 -36
- package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
- package/src/core/primitives/button/__workshop__/props.tsx +0 -55
- package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
- package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
- package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
- package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
- package/src/core/primitives/button/button.test.tsx +0 -82
- package/src/core/primitives/button/button.tsx +0 -210
- package/src/core/primitives/button/index.ts +0 -1
- package/src/core/primitives/button/styles.ts +0 -117
- package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
- package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
- package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
- package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
- package/src/core/primitives/card/__workshop__/index.ts +0 -18
- package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
- package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
- package/src/core/primitives/card/__workshop__/props.tsx +0 -53
- package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
- package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
- package/src/core/primitives/card/card.tsx +0 -128
- package/src/core/primitives/card/index.ts +0 -2
- package/src/core/primitives/card/styles.ts +0 -147
- package/src/core/primitives/card/types.ts +0 -11
- package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
- package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
- package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
- package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
- package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
- package/src/core/primitives/checkbox/checkbox.tsx +0 -73
- package/src/core/primitives/checkbox/index.ts +0 -1
- package/src/core/primitives/checkbox/styles.ts +0 -128
- package/src/core/primitives/code/__workshop__/index.ts +0 -19
- package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
- package/src/core/primitives/code/__workshop__/props.tsx +0 -21
- package/src/core/primitives/code/code.tsx +0 -55
- package/src/core/primitives/code/index.ts +0 -1
- package/src/core/primitives/code/refractor.tsx +0 -20
- package/src/core/primitives/code/styles.ts +0 -77
- package/src/core/primitives/container/__workshop__/example.tsx +0 -20
- package/src/core/primitives/container/__workshop__/index.ts +0 -8
- package/src/core/primitives/container/container.tsx +0 -54
- package/src/core/primitives/container/index.ts +0 -2
- package/src/core/primitives/container/styles.ts +0 -23
- package/src/core/primitives/container/types.ts +0 -6
- package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
- package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
- package/src/core/primitives/flex/__workshop__/index.ts +0 -11
- package/src/core/primitives/flex/flex.tsx +0 -64
- package/src/core/primitives/flex/index.ts +0 -1
- package/src/core/primitives/grid/__workshop__/index.ts +0 -10
- package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
- package/src/core/primitives/grid/grid.test.tsx +0 -80
- package/src/core/primitives/grid/grid.tsx +0 -74
- package/src/core/primitives/grid/index.ts +0 -1
- package/src/core/primitives/heading/__workshop__/index.ts +0 -19
- package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
- package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
- package/src/core/primitives/heading/heading.tsx +0 -88
- package/src/core/primitives/heading/index.ts +0 -1
- package/src/core/primitives/heading/styles.ts +0 -64
- package/src/core/primitives/heading/types.ts +0 -7
- package/src/core/primitives/index.ts +0 -27
- package/src/core/primitives/inline/__workshop__/index.ts +0 -8
- package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
- package/src/core/primitives/inline/index.ts +0 -1
- package/src/core/primitives/inline/inline.test.tsx +0 -51
- package/src/core/primitives/inline/inline.tsx +0 -63
- package/src/core/primitives/inline/styles.ts +0 -32
- package/src/core/primitives/inline/types.ts +0 -6
- package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
- package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
- package/src/core/primitives/kbd/index.ts +0 -1
- package/src/core/primitives/kbd/kbd.tsx +0 -69
- package/src/core/primitives/label/__workshop__/index.ts +0 -19
- package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
- package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
- package/src/core/primitives/label/index.ts +0 -1
- package/src/core/primitives/label/label.tsx +0 -87
- package/src/core/primitives/label/styles.ts +0 -45
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
- package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
- package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
- package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
- package/src/core/primitives/popover/__workshop__/index.ts +0 -49
- package/src/core/primitives/popover/constants.ts +0 -22
- package/src/core/primitives/popover/floating-ui/size.ts +0 -99
- package/src/core/primitives/popover/helpers.ts +0 -31
- package/src/core/primitives/popover/index.ts +0 -2
- package/src/core/primitives/popover/popover.tsx +0 -511
- package/src/core/primitives/popover/popoverCard.tsx +0 -166
- package/src/core/primitives/popover/types.ts +0 -7
- package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
- package/src/core/primitives/radio/__workshop__/index.ts +0 -11
- package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
- package/src/core/primitives/radio/index.ts +0 -1
- package/src/core/primitives/radio/radio.tsx +0 -51
- package/src/core/primitives/radio/styles.ts +0 -117
- package/src/core/primitives/select/__workshop__/index.ts +0 -11
- package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
- package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
- package/src/core/primitives/select/index.ts +0 -1
- package/src/core/primitives/select/select.test.tsx +0 -52
- package/src/core/primitives/select/select.tsx +0 -94
- package/src/core/primitives/select/styles.ts +0 -166
- package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
- package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
- package/src/core/primitives/spinner/index.ts +0 -1
- package/src/core/primitives/spinner/spinner.tsx +0 -46
- package/src/core/primitives/stack/__workshop__/index.ts +0 -14
- package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
- package/src/core/primitives/stack/index.ts +0 -1
- package/src/core/primitives/stack/stack.test.tsx +0 -57
- package/src/core/primitives/stack/stack.tsx +0 -57
- package/src/core/primitives/stack/styles.ts +0 -32
- package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
- package/src/core/primitives/switch/__workshop__/index.ts +0 -11
- package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
- package/src/core/primitives/switch/index.ts +0 -1
- package/src/core/primitives/switch/styles.ts +0 -173
- package/src/core/primitives/switch/switch.tsx +0 -68
- package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
- package/src/core/primitives/text/__workshop__/example.tsx +0 -39
- package/src/core/primitives/text/__workshop__/index.ts +0 -24
- package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
- package/src/core/primitives/text/index.ts +0 -1
- package/src/core/primitives/text/styles.ts +0 -74
- package/src/core/primitives/text/text.tsx +0 -89
- package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
- package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
- package/src/core/primitives/textArea/index.ts +0 -1
- package/src/core/primitives/textArea/textArea.tsx +0 -120
- package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
- package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
- package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
- package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
- package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
- package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
- package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
- package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
- package/src/core/primitives/textInput/index.ts +0 -1
- package/src/core/primitives/textInput/textInput.test.tsx +0 -48
- package/src/core/primitives/textInput/textInput.tsx +0 -395
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
- package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
- package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
- package/src/core/primitives/tooltip/constants.ts +0 -23
- package/src/core/primitives/tooltip/index.ts +0 -2
- package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
- package/src/core/primitives/tooltip/tooltip.tsx +0 -495
- package/src/core/primitives/tooltip/tooltipCard.tsx +0 -109
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
- package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
- package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
- package/src/core/primitives/types.ts +0 -179
- package/src/core/styles/border/borderStyle.ts +0 -56
- package/src/core/styles/border/index.ts +0 -2
- package/src/core/styles/border/types.ts +0 -10
- package/src/core/styles/box/boxStyle.ts +0 -69
- package/src/core/styles/box/index.ts +0 -2
- package/src/core/styles/box/types.ts +0 -11
- package/src/core/styles/card/_cardColorStyle.ts +0 -108
- package/src/core/styles/card/index.ts +0 -1
- package/src/core/styles/flex/flexItemStyle.ts +0 -27
- package/src/core/styles/flex/flexStyle.ts +0 -70
- package/src/core/styles/flex/index.ts +0 -3
- package/src/core/styles/flex/types.ts +0 -25
- package/src/core/styles/focusRing/index.ts +0 -25
- package/src/core/styles/font/codeFontStyle.ts +0 -13
- package/src/core/styles/font/headingFontStyle.ts +0 -13
- package/src/core/styles/font/index.ts +0 -6
- package/src/core/styles/font/labelFontStyle.ts +0 -13
- package/src/core/styles/font/responsiveFont.ts +0 -103
- package/src/core/styles/font/textAlignStyle.ts +0 -19
- package/src/core/styles/font/textFontStyle.ts +0 -13
- package/src/core/styles/font/types.ts +0 -35
- package/src/core/styles/grid/gridItemStyle.ts +0 -82
- package/src/core/styles/grid/gridStyle.ts +0 -108
- package/src/core/styles/grid/index.ts +0 -3
- package/src/core/styles/grid/types.ts +0 -37
- package/src/core/styles/helpers.ts +0 -72
- package/src/core/styles/index.ts +0 -5
- package/src/core/styles/input/index.ts +0 -2
- package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
- package/src/core/styles/input/textInputStyle.ts +0 -263
- package/src/core/styles/internal.ts +0 -12
- package/src/core/styles/margin/index.ts +0 -2
- package/src/core/styles/margin/marginStyle.ts +0 -21
- package/src/core/styles/margin/marginsStyle.test.ts +0 -33
- package/src/core/styles/margin/types.ts +0 -9
- package/src/core/styles/padding/index.ts +0 -2
- package/src/core/styles/padding/paddingStyle.test.ts +0 -33
- package/src/core/styles/padding/paddingStyle.ts +0 -21
- package/src/core/styles/padding/types.ts +0 -12
- package/src/core/styles/radius/index.ts +0 -2
- package/src/core/styles/radius/radiusStyle.ts +0 -23
- package/src/core/styles/radius/types.ts +0 -8
- package/src/core/styles/shadow/index.ts +0 -2
- package/src/core/styles/shadow/shadowStyle.ts +0 -29
- package/src/core/styles/shadow/types.ts +0 -6
- package/src/core/styles/types.ts +0 -8
- package/src/core/theme/__workshop__/build/Root.tsx +0 -367
- package/src/core/theme/__workshop__/build/helpers.ts +0 -46
- package/src/core/theme/__workshop__/build/story.tsx +0 -465
- package/src/core/theme/__workshop__/canvas.tsx +0 -352
- package/src/core/theme/__workshop__/color.tsx +0 -62
- package/src/core/theme/__workshop__/debug/story.tsx +0 -408
- package/src/core/theme/__workshop__/index.ts +0 -39
- package/src/core/theme/__workshop__/layer.tsx +0 -78
- package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
- package/src/core/theme/index.ts +0 -5
- package/src/core/theme/theme.test.tsx +0 -73
- package/src/core/theme/themeColorProvider.tsx +0 -29
- package/src/core/theme/themeContext.ts +0 -10
- package/src/core/theme/themeProvider.tsx +0 -62
- package/src/core/theme/types.ts +0 -12
- package/src/core/theme/useRootTheme.ts +0 -17
- package/src/core/theme/useTheme.ts +0 -16
- package/src/core/types/avatar.ts +0 -14
- package/src/core/types/badge.ts +0 -12
- package/src/core/types/box.ts +0 -19
- package/src/core/types/button.ts +0 -21
- package/src/core/types/card.ts +0 -6
- package/src/core/types/component.ts +0 -32
- package/src/core/types/dialog.ts +0 -4
- package/src/core/types/flex.ts +0 -30
- package/src/core/types/grid.ts +0 -14
- package/src/core/types/gridItem.ts +0 -29
- package/src/core/types/index.ts +0 -15
- package/src/core/types/placement.ts +0 -18
- package/src/core/types/popover.ts +0 -4
- package/src/core/types/radius.ts +0 -4
- package/src/core/types/selectable.ts +0 -6
- package/src/core/types/text.ts +0 -4
- package/src/core/utils/arrow/arrow.tsx +0 -123
- package/src/core/utils/arrow/cmds.ts +0 -91
- package/src/core/utils/arrow/index.ts +0 -1
- package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
- package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
- package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -100
- package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
- package/src/core/utils/boundaryElement/index.ts +0 -3
- package/src/core/utils/boundaryElement/types.ts +0 -7
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
- package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
- package/src/core/utils/conditionalWrapper/index.ts +0 -1
- package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
- package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
- package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
- package/src/core/utils/elementQuery/helpers.ts +0 -27
- package/src/core/utils/elementQuery/index.ts +0 -1
- package/src/core/utils/errorBoundary.tsx +0 -48
- package/src/core/utils/getElementRef.ts +0 -26
- package/src/core/utils/index.ts +0 -9
- package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
- package/src/core/utils/layer/__workshop__/index.ts +0 -24
- package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
- package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
- package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
- package/src/core/utils/layer/getLayerContext.test.ts +0 -30
- package/src/core/utils/layer/getLayerContext.ts +0 -21
- package/src/core/utils/layer/index.ts +0 -4
- package/src/core/utils/layer/layer.test.tsx +0 -108
- package/src/core/utils/layer/layer.tsx +0 -98
- package/src/core/utils/layer/layerContext.ts +0 -7
- package/src/core/utils/layer/layerProvider.tsx +0 -111
- package/src/core/utils/layer/types.ts +0 -9
- package/src/core/utils/layer/useLayer.ts +0 -26
- package/src/core/utils/portal/__workshop__/index.ts +0 -14
- package/src/core/utils/portal/__workshop__/named.tsx +0 -63
- package/src/core/utils/portal/index.ts +0 -4
- package/src/core/utils/portal/portal.test.tsx +0 -103
- package/src/core/utils/portal/portal.ts +0 -32
- package/src/core/utils/portal/portalContext.ts +0 -31
- package/src/core/utils/portal/portalProvider.tsx +0 -47
- package/src/core/utils/portal/types.ts +0 -9
- package/src/core/utils/portal/usePortal.ts +0 -25
- package/src/core/utils/spanWithTextOverflow.tsx +0 -10
- package/src/core/utils/srOnly/index.ts +0 -1
- package/src/core/utils/srOnly/srOnly.tsx +0 -36
- package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
- package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
- package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
- package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
- package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
- package/src/core/utils/virtualList/index.ts +0 -1
- package/src/core/utils/virtualList/virtualList.tsx +0 -200
- package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
- package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
- package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -22
- package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
- package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
- package/src/theme/build/_deprecated/color/color.test.ts +0 -63
- package/src/theme/build/_deprecated/color/defaults.ts +0 -390
- package/src/theme/build/_deprecated/color/factory.ts +0 -142
- package/src/theme/build/_deprecated/color/index.ts +0 -1
- package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
- package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
- package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
- package/src/theme/build/buildColorTheme.test.ts +0 -183
- package/src/theme/build/buildColorTheme.ts +0 -499
- package/src/theme/build/buildTheme.test.ts +0 -87
- package/src/theme/build/buildTheme.ts +0 -36
- package/src/theme/build/colorToken/colorToken.ts +0 -19
- package/src/theme/build/colorToken/compileColorToken.ts +0 -21
- package/src/theme/build/colorToken/index.ts +0 -2
- package/src/theme/build/colorToken/types.ts +0 -6
- package/src/theme/build/index.ts +0 -3
- package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
- package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
- package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
- package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
- package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
- package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
- package/src/theme/build/lib/color-fns/convert.ts +0 -150
- package/src/theme/build/lib/color-fns/index.ts +0 -6
- package/src/theme/build/lib/color-fns/parse.ts +0 -60
- package/src/theme/build/lib/color-fns/rgba.ts +0 -10
- package/src/theme/build/lib/color-fns/types.ts +0 -28
- package/src/theme/build/lib/isRecord.ts +0 -3
- package/src/theme/build/lib/lazy.ts +0 -30
- package/src/theme/build/lib/utils.ts +0 -19
- package/src/theme/build/merge.ts +0 -26
- package/src/theme/build/mixThemeColor.test.ts +0 -21
- package/src/theme/build/mixThemeColor.ts +0 -53
- package/src/theme/build/renderColorTheme.ts +0 -532
- package/src/theme/build/renderColorValue.ts +0 -85
- package/src/theme/build/resolveColorTokens.ts +0 -268
- package/src/theme/build/theme.test.ts +0 -27
- package/src/theme/config/helpers.ts +0 -55
- package/src/theme/config/index.ts +0 -4
- package/src/theme/config/system.ts +0 -115
- package/src/theme/config/tokens/color/index.ts +0 -1
- package/src/theme/config/tokens/color/types.ts +0 -133
- package/src/theme/config/tokens/index.ts +0 -4
- package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
- package/src/theme/config/tokens/parseTokenKey.ts +0 -67
- package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
- package/src/theme/config/tokens/parseTokenValue.ts +0 -133
- package/src/theme/config/tokens/types.ts +0 -53
- package/src/theme/config/types.ts +0 -46
- package/src/theme/defaults/colorPalette.ts +0 -5
- package/src/theme/defaults/colorTokens.ts +0 -648
- package/src/theme/defaults/config.ts +0 -84
- package/src/theme/defaults/fonts.ts +0 -227
- package/src/theme/getScopedTheme.ts +0 -98
- package/src/theme/index.ts +0 -5
- package/src/theme/system/avatar.ts +0 -14
- package/src/theme/system/color/_constants.ts +0 -45
- package/src/theme/system/color/_helpers.ts +0 -24
- package/src/theme/system/color/_system.ts +0 -40
- package/src/theme/system/color/avatar.ts +0 -15
- package/src/theme/system/color/badge.ts +0 -16
- package/src/theme/system/color/button.ts +0 -17
- package/src/theme/system/color/color.ts +0 -34
- package/src/theme/system/color/index.ts +0 -13
- package/src/theme/system/color/input.ts +0 -25
- package/src/theme/system/color/kbd.ts +0 -8
- package/src/theme/system/color/selectable.ts +0 -12
- package/src/theme/system/color/shadow.ts +0 -7
- package/src/theme/system/color/state.ts +0 -43
- package/src/theme/system/color/syntax.ts +0 -41
- package/src/theme/system/css.ts +0 -14
- package/src/theme/system/focusRing.ts +0 -7
- package/src/theme/system/font.ts +0 -52
- package/src/theme/system/index.ts +0 -11
- package/src/theme/system/input.ts +0 -33
- package/src/theme/system/layer.ts +0 -8
- package/src/theme/system/shadow.ts +0 -19
- package/src/theme/system/styles.ts +0 -13
- package/src/theme/system/theme.ts +0 -138
- package/src/theme/system/v0/avatar.ts +0 -10
- package/src/theme/system/v0/color/_generic.ts +0 -35
- package/src/theme/system/v0/color/_system.ts +0 -17
- package/src/theme/system/v0/color/base.ts +0 -21
- package/src/theme/system/v0/color/button.ts +0 -42
- package/src/theme/system/v0/color/card.ts +0 -19
- package/src/theme/system/v0/color/color.ts +0 -40
- package/src/theme/system/v0/color/index.ts +0 -11
- package/src/theme/system/v0/color/input.ts +0 -34
- package/src/theme/system/v0/color/muted.ts +0 -26
- package/src/theme/system/v0/color/selectable.ts +0 -31
- package/src/theme/system/v0/color/solid.ts +0 -26
- package/src/theme/system/v0/color/spot.ts +0 -13
- package/src/theme/system/v0/index.ts +0 -3
- package/src/theme/system/v0/input.ts +0 -23
- package/src/theme/versioning/getTheme_v2.ts +0 -57
- package/src/theme/versioning/index.ts +0 -5
- package/src/theme/versioning/is_v0.ts +0 -6
- package/src/theme/versioning/is_v2.ts +0 -6
- package/src/theme/versioning/themeColor_v0_v2.ts +0 -243
- package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
- package/src/theme/versioning/v0_v2.ts +0 -94
- package/src/theme/versioning/v2_v0.ts +0 -135
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","names":[],"sources":["../../src/engine/frame.tsx"],"sourcesContent":["/**\n * FrameView — what the panel shows for the current breadcrumb: the root fields, a drilled object / array item /\n * slot block (with \"2 of 4\" stepper, variant switcher and per-slot layout settings), the one button screen,\n * or a field's history as a stacked panel. Port of V2 engine/frame.tsx.\n *\n * FrameStage + useFrameNavigation — V2 schema-form's drill-in stage (direction-aware slide, scroll memory per frame,\n * focus on the entering frame, Esc / ⌥↑↓). Exported here so SchemaForm wires them without re-deriving the motion.\n *\n * FrameSlots — the frame draws other lanes' pieces (FieldList / FieldSection from grouping, ButtonScreen from link,\n * TableFrame from table). They arrive through context so this file never imports a module that does not exist yet;\n * a missing slot falls back to a plain field list (FieldList), the raw value (ButtonScreen, through\n * FallbackControl), a named note (TableFrame) or nothing (FieldSection). SchemaForm always hands ButtonScreen and TableFrame.\n */\nimport * as React from \"react\";\nimport { AnimatePresence, motion, useReducedMotion } from \"framer-motion\";\nimport { IconArrowBackUp, IconArrowDown, IconArrowUp, IconCopy, IconDots, IconTrash } from \"@tabler/icons-react\";\nimport { Button, IconButton } from \"../ui/button\";\nimport { Avatar } from \"../ui/display\";\nimport { Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Tooltip } from \"../ui/overlay\";\nimport { Segmented } from \"../ui/controls\";\nimport { fitsSegmented } from \"../ui/choice-switch\";\nimport { Select } from \"../ui/select\";\nimport { resolveFieldAccess, seesDevSurfaces, useForm, useKitEnv, useKitServices } from \"../context\";\nimport { cn } from \"../lib/cn\";\nimport { relTime } from \"../lib/utils\";\nimport { HISTORY_SEGMENT, type FieldGroup, type FieldPath, type FieldSchema, type Fieldset } from \"../schema/types\";\nimport type { Frame } from \"../lib/frames\";\nimport { frameKeyOf, isObj, newKey, pathKey, same } from \"../lib/path\";\nimport { condCtx, isHidden, isTextual, plainText, previewOf, summarize } from \"../lib/schema\";\nimport { Thumb } from \"./bits\";\nimport { FallbackControl, KitField } from \"./kit-field\";\nimport { apiName } from \"./field-shell\";\n\n/* ── Slots (other lanes) ───────────────────────────────────────────── */\nexport interface FrameFieldListProps {\n fields: FieldSchema[];\n fieldsets?: Fieldset[];\n groups?: FieldGroup[];\n basePath: FieldPath;\n memoryKey: string;\n}\nexport interface FrameSlots {\n /** grouping lane: engine/field-list.tsx `FieldList` */\n FieldList?: React.ComponentType<FrameFieldListProps>;\n /** grouping lane: engine/grouping.tsx `FieldSection` (the slot-settings section of a slot block) */\n FieldSection?: React.ComponentType<{ title: string; description?: string; collapsible?: boolean; children: React.ReactNode }>;\n /** link lane: controls/link.tsx `ButtonScreen` + `normLink` (the \"button\" frame) */\n ButtonScreen?: React.ComponentType<{ value: unknown; onChange: (v: unknown) => void; title: string; readOnly?: boolean }>;\n normLink?: (v: unknown) => { label?: string };\n /** table lane: controls/table.tsx `TableFrame` (tableRow / tableColumn frames) */\n TableFrame?: React.ComponentType<{ frame: Frame }>;\n}\nconst SlotsCtx = React.createContext<FrameSlots>({});\nexport const FrameSlotsProvider = SlotsCtx.Provider;\nexport const useFrameSlots = () => React.useContext(SlotsCtx);\n\n/** Stand-in until the grouping lane's FieldList lands: the frame's visible fields in schema order. */\nfunction PlainFieldList({ fields, basePath }: FrameFieldListProps) {\n const form = useForm()!;\n const raw = basePath.length ? form.getAt(basePath) : form.value;\n const parent = isObj(raw) ? raw : {};\n const cc = condCtx(form, basePath);\n const shown = fields.filter((f) => !isHidden(f, parent, cc));\n return (\n <div className=\"flex flex-col gap-5\">\n {shown.map((f) => (\n <div key={f.name} className=\"min-w-0\">\n <KitField field={f} path={[...basePath, f.name]} parent={parent} />\n </div>\n ))}\n {shown.length === 0 ? <p className=\"py-6 text-center text-kit-sm text-kit-fg-3\">No fields here yet.</p> : null}\n </div>\n );\n}\n\n/** A button frame outside SchemaForm (no ButtonScreen slot) edits the button's raw value (FallbackControl), never an empty body. */\nfunction RawButtonScreen({ frame }: { frame: Frame }) {\n const form = useForm()!;\n const id = React.useId();\n const field = frame.field ?? { name: String(frame.path.at(-1) ?? \"button\"), title: frame.title, type: \"button\" as const };\n return <FallbackControl field={field} value={form.getAt(frame.path)} onChange={(n) => form.setAt(frame.path, n)} id={id} path={frame.path} />;\n}\n\n/** The button frame: header (the button's label) + the kit ButtonScreen, read-only when the lens can't edit the field. */\nfunction ButtonFrame({ frame, parentTitle }: { frame: Frame; parentTitle?: string }) {\n const form = useForm()!;\n const env = useKitEnv();\n const slots = useFrameSlots();\n const v = form.getAt(frame.path);\n const ButtonScreen = slots.ButtonScreen;\n const readOnly = frame.field ? resolveFieldAccess(frame.field, env).readOnly : !!env.readOnly;\n return (\n <div className=\"flex flex-col gap-5\">\n <FrameHeader frame={frame} context={parentTitle ? `${frame.title} in ${parentTitle}` : frame.title} title={slots.normLink?.(v).label || frame.title} />\n {ButtonScreen ? <ButtonScreen value={v} onChange={(n) => form.setAt(frame.path, n)} title={frame.title} readOnly={readOnly} /> : <RawButtonScreen frame={frame} />}\n </div>\n );\n}\n\n/* ── FrameView ─────────────────────────────────────────────────────── */\nexport function FrameView({ frame, parentTitle }: { frame: Frame; parentTitle?: string }) {\n const form = useForm()!;\n const slots = useFrameSlots();\n const FieldList = slots.FieldList ?? PlainFieldList;\n if (frame.kind === \"history\") return <HistoryView field={frame.field!} path={frame.path.slice(0, -1)} />;\n if (frame.kind === \"button\") return <ButtonFrame frame={frame} parentTitle={parentTitle} />;\n // D50: a table row or column drills exactly like an array item: the same header (title, n of N, ↑ ↓ ⋯), its cells below\n if (frame.kind === \"tableRow\" || frame.kind === \"tableColumn\") {\n const it = frame.item!;\n const TableFrame = slots.TableFrame;\n return (\n <div className=\"flex flex-col gap-5\">\n <FrameHeader frame={frame} context={`${it.itemSchema?.title} ${it.index + 1} of ${it.count} in ${frame.field?.title ?? \"the table\"}`} title={frame.title} />\n {TableFrame ? (\n <TableFrame frame={frame} />\n ) : (\n /* Only the kit table control opens a row or column frame; until it is ported the table is the host's control,\n which edits rows in place. A path restored into one says so instead of drawing an empty body. */\n <p role=\"note\" data-kit-legacy=\"table\" className=\"text-kit-sm text-kit-fg-3\">\n This table's rows and columns are edited in the table itself.\n </p>\n )}\n </div>\n );\n }\n if (frame.kind === \"root\") return <FieldList fields={frame.fields} fieldsets={frame.fieldsets} groups={frame.groups} basePath={[]} memoryKey=\"root\" />;\n const it = frame.item;\n const block = it?.block;\n const variants = block?.variants ?? [];\n const raw = form.getAt(frame.path);\n const cur = isObj(raw) ? raw : {};\n const FieldSection = slots.FieldSection;\n return (\n <div className=\"flex flex-col gap-5\">\n <FrameHeader frame={frame} context={frameContext(frame, parentTitle)} title={frame.title} />\n {block && variants.length > 1 ? (\n <div className=\"flex flex-col gap-1.5\">\n <span className=\"text-kit-sm font-medium text-kit-fg-2\">Layout</span>\n {fitsSegmented(variants.map((v) => v.name)) ? (\n <Segmented\n aria-label=\"Layout\"\n value={String(cur._variant ?? variants[0].id)}\n onChange={(v) => form.setAt([...frame.path, \"_variant\"], v)}\n items={variants.map((v) => ({ value: v.id, label: v.name }))}\n className=\"w-full [&>button]:flex-1\"\n />\n ) : (\n <Select\n aria-label=\"Variant\"\n value={String(cur._variant ?? variants[0].id)}\n onValueChange={(v) => form.setAt([...frame.path, \"_variant\"], v)}\n options={variants.map((v) => ({ value: v.id, label: v.name, description: v.description }))}\n />\n )}\n </div>\n ) : null}\n <FieldList fields={frame.fields} fieldsets={frame.fieldsets} groups={frame.groups} basePath={frame.path} memoryKey={`f:${frame.kind}:${it?.block?.name ?? it?.itemSchema?.name ?? frame.field?.name ?? \"\"}`} />\n {it?.slotField?.slotSettings?.length && FieldSection ? (\n <FieldSection title={`Layout in ${it.slotField.title.toLowerCase()}`} description=\"How this block sits in its parent. The block's own content is above.\" collapsible={false}>\n <FieldList fields={it.slotField.slotSettings} basePath={[...frame.path, \"_settings\"]} memoryKey={`slotset:${it.slotField.name}`} />\n </FieldSection>\n ) : null}\n </div>\n );\n}\n\n/**\n * The context line under a drilled frame's title: \"Tier 1 of 3 in Tiers\" for an item (the item noun is the item\n * schema's title, which the adapter reads back from prod `ui.itemLabel`), \"Address in Author\" for an object.\n */\nexport function frameContext(frame: Frame, parentTitle?: string): string {\n const it = frame.item;\n if (it) {\n const noun = (frame.kind === \"block\" ? it.block?.title : it.itemSchema?.title) ?? \"Item\";\n const owner = (frame.kind === \"block\" ? it.slotField?.title : frame.field?.title) ?? \"the list\";\n return `${noun} ${it.index + 1} of ${it.count} in ${owner}`;\n }\n return parentTitle ? `${frame.field?.title ?? \"Group\"} in ${parentTitle}` : \"Group\";\n}\n\n/**\n * CPO D43 — the drilled frame's header answers \"what am I editing, and where does it live?\":\n * [media?] Starter [↑] [↓] [⋯]\n * Tier 1 of 3 in Tiers\n * The big title lives HERE only; the breadcrumb above is the path (its current crumb is small, D38). Prev / next are\n * labelled icon buttons whose tooltips name the sibling (\"Previous tier: Starter\"). No eyebrow, no duplicate counter.\n * Title 14/24 semibold (owner call). The native title= on the truncating h2 is V2 parity (kit-engine deviation from\n * the dashboard's no-title rule, see run ledger #32).\n */\nexport function FrameHeader({ frame, context, title }: { frame: Frame; context: string; title: string }) {\n const form = useForm()!;\n const { toast } = useKitServices();\n const it = frame.item;\n const media = it ? previewOf(it.block ?? it.itemSchema, form.getAt(frame.path), it.index).media : undefined;\n const step = (d: -1 | 1) => {\n if (!it) return;\n const n = it.index + d;\n if (n < 0 || n >= it.count) return;\n form.navigate([...it.arrayPath, n]);\n };\n const listRaw = it ? form.getAt(it.arrayPath) : undefined;\n const list = Array.isArray(listRaw) ? listRaw : [];\n const noun = (it?.block?.title ?? it?.itemSchema?.title ?? \"item\").toLowerCase();\n const sibling = (i: number) =>\n it && i >= 0 && i < it.count ? (it.titleAt ? it.titleAt(i) : previewOf(it.block ?? it.itemSchema, list[i], i, it.block?.title ?? it.itemSchema?.title).title) : \"\";\n const prev = it ? sibling(it.index - 1) : \"\";\n const next = it ? sibling(it.index + 1) : \"\";\n /* Duplicate / Remove move to another frame: the menu must not hand focus back to its trigger in the exiting frame\n (it unmounts, focus would drop to <body>); the stage focuses the entering frame instead */\n const moved = React.useRef(false);\n return (\n <div className=\"flex items-start gap-2.5 outline-none\" data-frame-header tabIndex={-1}>\n {media ? <Thumb media={media} size={36} /> : null}\n <div className=\"min-w-0 flex-1\">\n <h2 className=\"truncate text-kit-base font-semibold leading-6 text-kit-fg\" title={title}>\n {title}\n </h2>\n <p className=\"truncate text-kit-xs leading-4 text-kit-fg-3\">{context}</p>\n </div>\n {it ? (\n <div className=\"-mr-1 flex shrink-0 items-center gap-0.5 pt-0.5\">\n <IconButton\n label={prev ? `Previous ${noun}: ${prev}` : `No previous ${noun}`}\n tooltip={prev ? `Previous ${noun}: ${prev}` : `First ${noun}`}\n size=\"sm\"\n disabled={it.index === 0}\n onClick={() => step(-1)}\n >\n <IconArrowUp stroke={1.5} />\n </IconButton>\n <IconButton\n label={next ? `Next ${noun}: ${next}` : `No next ${noun}`}\n tooltip={next ? `Next ${noun}: ${next}` : `Last ${noun}`}\n size=\"sm\"\n disabled={it.index >= it.count - 1}\n onClick={() => step(1)}\n >\n <IconArrowDown stroke={1.5} />\n </IconButton>\n <Menu>\n <Tooltip content={`${title} actions`}>\n <MenuTrigger\n render={\n <IconButton label={`${title} actions`} tooltip={false} size=\"sm\">\n <IconDots stroke={1.5} />\n </IconButton>\n }\n />\n </Tooltip>\n <MenuContent align=\"end\" className=\"w-48\" finalFocus={() => !moved.current}>\n <MenuItem\n icon={<IconCopy stroke={1.5} />}\n onClick={() => {\n moved.current = true;\n const copy = isObj(list[it.index]) ? { ...(structuredClone(list[it.index]) as object), _key: newKey() } : list[it.index];\n form.setAt(it.arrayPath, [...list.slice(0, it.index + 1), copy, ...list.slice(it.index + 1)]);\n form.navigate([...it.arrayPath, it.index + 1]);\n toast?.success(\"Duplicated\", { description: \"You're now editing the copy.\" });\n }}\n >\n Duplicate\n </MenuItem>\n <MenuSeparator />\n <MenuItem\n danger\n icon={<IconTrash stroke={1.5} />}\n onClick={() => {\n moved.current = true;\n const prevList = list;\n form.navigate(parentFramePath(it.arrayPath));\n form.setAt(it.arrayPath, list.filter((_, j) => j !== it.index));\n toast?.(`“${title}” removed`, { action: { label: \"Undo\", onClick: () => form.setAt(it.arrayPath, prevList) }, duration: 10_000 });\n }}\n >\n Remove\n </MenuItem>\n </MenuContent>\n </Menu>\n </div>\n ) : null}\n </div>\n );\n}\n/** The frame that owns an array: drop the array field name (and the item index above it, if any). */\nconst parentFramePath = (arrayPath: FieldPath): FieldPath => arrayPath.slice(0, -1);\n\n/* ── History (stacked panel) ───────────────────────────────────────── */\n/**\n * V2 drew demo people (seed `currentUser` / `members`, a fixed \"26 hours ago\" / \"3 days ago\"). The kit has no seed:\n * session versions carry their own `by` and `at`; the opened and published baselines have no author or time here, so\n * their row says only what they are.\n */\nexport function HistoryView({ field, path }: { field: FieldSchema; path: FieldPath }) {\n const env = useKitEnv();\n const form = useForm()!;\n const { toast } = useKitServices();\n const key = pathKey(path);\n const now = form.getAt(path);\n const session = form.history(key);\n const baseline = form.baselineAt(path);\n const published = form.hasPublished ? form.publishedAt(path) : undefined;\n type V = { id: string; label: string; by?: string; at?: number; value: unknown; current?: boolean };\n const versions: V[] = [];\n versions.push({ id: \"now\", label: \"Current draft\", by: session[0]?.by ?? \"You\", at: Date.now(), value: now, current: true });\n session.slice(1).forEach((h, i) => versions.push({ id: `s${i}`, label: h.label ?? \"Edit\", by: h.by, at: h.at, value: h.value }));\n if (!same(baseline, now) && !session.some((h) => same(h.value, baseline))) versions.push({ id: \"open\", label: \"When you opened it\", value: baseline });\n if (published !== undefined) versions.push({ id: \"pub\", label: \"Published\", value: published });\n const show = (v: unknown) => {\n if (isTextual(field.type)) return plainText(v) || \"Empty\";\n if (Array.isArray(v)) return `${v.length} ${v.length === 1 ? \"item\" : \"items\"}`;\n if (isObj(v)) return summarize(field.fields ?? [], v) || plainText(v) || \"Set\";\n if (typeof v === \"boolean\") return v ? \"On\" : \"Off\";\n return v == null || v === \"\" ? \"Empty\" : String(v);\n };\n const meta = (v: V) => {\n if (v.current) return `Now · ${v.by}`;\n if (v.at === undefined) return v.label;\n return `${relTime(v.at)}${v.by ? ` · ${v.by}` : \"\"}${v.label ? ` · ${v.label}` : \"\"}`;\n };\n return (\n <div className=\"flex flex-col gap-4\">\n <div>\n {seesDevSurfaces(env) ? <div className=\"text-kit-2xs font-medium text-kit-fg-3\">{apiName(form.schema.name, path)}</div> : null}\n <h2 className=\"text-kit-base font-semibold text-kit-fg\">History of {field.title.toLowerCase()}</h2>\n <p className=\"mt-1 text-kit-xs text-kit-fg-3\">Restoring lands in the draft and doesn't publish. Publish afterwards to go live.</p>\n </div>\n <ul className=\"overflow-hidden rounded-kit-lg border border-kit-line\">\n {versions.map((v, i) => (\n <li key={v.id} data-version={v.id} className=\"group/ver flex items-start gap-2.5 border-b border-kit-line-subtle px-3 py-2.5 last:border-b-0\">\n {v.by ? <Avatar name={v.by} size={22} /> : <span aria-hidden className=\"size-[22px] shrink-0 rounded-full bg-kit-muted\" />}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-1.5 text-kit-sm\">\n <span className=\"font-medium text-kit-fg\">{v.current ? \"Current draft\" : `Version ${versions.length - i}`}</span>\n {v.id === \"pub\" ? <span className=\"rounded-kit-md bg-kit-success-soft px-1 text-kit-2xs text-kit-success-fg\">Published</span> : null}\n </div>\n <div className=\"text-kit-xs text-kit-fg-3\">{meta(v)}</div>\n <div className={cn(\"mt-1 line-clamp-2 rounded-kit-md bg-kit-subtle px-2 py-1 text-kit-xs text-kit-fg-2\", field.type === \"color\" && \"flex items-center gap-1.5\")}>\n {field.type === \"color\" && typeof v.value === \"string\" ? <span className=\"size-3 rounded-kit-md\" style={{ background: v.value }} /> : null}\n {show(v.value)}\n </div>\n </div>\n {v.current ? null : (\n <Button\n size=\"xs\"\n variant=\"secondary\"\n className=\"opacity-0 transition-opacity focus-visible:opacity-100 group-hover/ver:opacity-100 [@media(pointer:coarse)]:opacity-100\"\n leftIcon={<IconArrowBackUp stroke={1.5} />}\n onClick={() => {\n const prev = now;\n form.setAt(path, v.value, { label: \"Restored\" });\n form.navigate(parentOfField(path));\n toast?.(\"Restored as a draft\", { description: field.title, action: { label: \"Undo\", onClick: () => form.setAt(path, prev) }, duration: 10_000 });\n }}\n >\n Restore\n </Button>\n )}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n/** Navigate back from a field's history to the frame that shows the field. */\nexport function parentOfField(path: FieldPath): FieldPath {\n // walk up to the nearest drillable frame boundary: an array index or the root\n for (let i = path.length - 1; i >= 0; i--) if (typeof path[i] === \"number\") return path.slice(0, i + 1);\n return path.length > 1 ? path.slice(0, -1) : [];\n}\n\n/* ── Stage: direction-aware slide, scroll memory, focus, keys (V2 schema-form) ───────────────── */\n/** The title shown as `parentTitle` for the current frame (the root crumb's label for depth 1). */\nexport function parentTitleOf(frames: Frame[], rootLabel: string): string | undefined {\n if (frames.length < 2) return undefined;\n return frames.length === 2 ? rootLabel : frames[frames.length - 2].title;\n}\n\n/** Floating layers (Base UI popups carry these roles); keys and focus coming from one belong to that layer. */\nconst LAYER = \"[role=dialog],[role=menu],[role=listbox]\";\n\n/** Slide direction for a frame change: deeper → 1, shallower → −1, a sibling step → by index. */\nexport function frameDirection(prev: { depth: number; index: number; key: string }, frames: Frame[], key: string): 0 | 1 | -1 {\n if (prev.key === key) return 0;\n const cur = frames[frames.length - 1];\n if (frames.length > prev.depth) return 1;\n if (frames.length < prev.depth) return -1;\n return (cur.item?.index ?? 0) >= prev.index ? 1 : -1;\n}\n\n/**\n * The drill-in stack's behaviour. `root` wraps the form (keys bubble to it), `scroller` is the scrolling element (or\n * null when the host scrolls). Returns the current frame, its key, the slide direction and the form's onKeyDown.\n */\nexport function useFrameNavigation({\n frames,\n navigate,\n root,\n scroller,\n}: {\n frames: Frame[];\n navigate: (path: FieldPath) => void;\n root: React.RefObject<HTMLElement | null>;\n scroller: React.RefObject<HTMLElement | null>;\n}) {\n const current = frames[frames.length - 1];\n const frameKey = frameKeyOf(current.path);\n const prev = React.useRef({ depth: frames.length, index: current.item?.index ?? 0, key: frameKey });\n const dir = frameDirection(prev.current, frames, frameKey);\n const dirRef = React.useRef<number>(1);\n if (dir) dirRef.current = dir;\n\n const scrollMem = React.useRef(new Map<string, number>());\n React.useLayoutEffect(() => {\n const was = prev.current.key;\n if (was === frameKey) return;\n if (scroller.current) scrollMem.current.set(was, scroller.current.scrollTop);\n prev.current = { depth: frames.length, index: current.item?.index ?? 0, key: frameKey };\n const el = scroller.current;\n if (el) el.scrollTop = scrollMem.current.get(frameKey) ?? 0;\n const active = document.activeElement;\n /* a move started from a portalled menu (FrameHeader ⋯ → Duplicate / Remove) leaves focus in that layer, outside root */\n const layer = active && active !== document.body ? active.closest(LAYER) : null;\n const fromLayer = !!layer && !layer.contains(root.current);\n if (root.current && (active === document.body || root.current.contains(active) || fromLayer)) {\n // the exiting frame is still mounted during its exit animation — focus the ENTERING one\n const target = root.current.querySelector<HTMLElement>(`[data-frame-body=\"${CSS.escape(frameKey)}\"]`);\n target?.focus({ preventScroll: true });\n }\n });\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n if (e.defaultPrevented) return;\n const t = e.target as HTMLElement;\n // ignore keys from floating layers opened by this form; a form INSIDE a dialog still handles its own keys\n // (V2 also listed Radix's popper wrapper; Base UI popups carry these roles themselves)\n const layer = t.closest(LAYER);\n if (layer && root.current && !layer.contains(root.current)) return;\n if (e.key === \"Escape\" && frames.length > 1 && !t.isContentEditable) {\n e.preventDefault();\n e.stopPropagation();\n navigate(frames[frames.length - 2].path);\n return;\n }\n const it = current.item;\n if (it && (e.key === \"ArrowUp\" || e.key === \"ArrowDown\")) {\n const typing = t.matches(\"input,textarea,select\") || t.isContentEditable;\n if (e.altKey || (!typing && t.matches(\"[data-frame-body],[data-frame-header]\"))) {\n const n = it.index + (e.key === \"ArrowUp\" ? -1 : 1);\n if (n >= 0 && n < it.count) {\n e.preventDefault();\n navigate([...it.arrayPath, n]);\n }\n }\n }\n };\n\n return { current, frameKey, dir: dirRef.current, onKeyDown };\n}\n\nconst EASE: [number, number, number, number] = [0.22, 1, 0.36, 1];\n\n/**\n * The frame body with V2's slide: 24px along the travel direction + fade, 220ms, ease [0.22, 1, 0.36, 1]; reduced\n * motion keeps only the fade. `before` renders inside the root frame above its fields (the synced-from note).\n */\nexport function FrameStage({\n frames,\n frameKey,\n dir,\n rootLabel,\n variant,\n before,\n review,\n}: {\n frames: Frame[];\n frameKey: string;\n dir: number;\n rootLabel: string;\n variant: \"panel\" | \"document\";\n before?: React.ReactNode;\n /** D61 Review changes is on: the clip leaves 16px on the left for the change bars */\n review?: boolean;\n}) {\n const reduce = useReducedMotion();\n const current = frames[frames.length - 1];\n return (\n // the drill slide is clipped sideways; with Review changes on (D61) the clip leaves 16px on the left for the change bars\n <div className=\"relative\" style={review ? { clipPath: \"inset(-100vh 0 -100vh -16px)\" } : { overflowX: \"clip\" }}>\n <AnimatePresence mode=\"popLayout\" initial={false} custom={dir}>\n <motion.div\n key={frameKey}\n custom={dir}\n variants={{\n enter: (d: number) => ({ x: reduce ? 0 : d * 24, opacity: 0 }),\n center: { x: 0, opacity: 1 },\n exit: (d: number) => ({ x: reduce ? 0 : d * -24, opacity: 0 }),\n }}\n initial=\"enter\"\n animate=\"center\"\n exit=\"exit\"\n transition={{ duration: 0.22, ease: EASE }}\n data-frame-body={frameKey}\n tabIndex={-1}\n className={cn(\"outline-none focus-visible:shadow-none\", variant === \"document\" ? \"py-1\" : \"px-4 py-4\")}\n >\n {current.kind === \"root\" ? before : null}\n <FrameView frame={current} parentTitle={parentTitleOf(frames, rootLabel)} />\n </motion.div>\n </AnimatePresence>\n </div>\n );\n}\n\nexport { HISTORY_SEGMENT };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FieldSchema } from "../schema/types";
|
|
2
|
+
/** "Top 56 · Bottom 88 · Sides M". Short values (numbers, scales, 1–4 letter options, on-switches) get their field's
|
|
3
|
+
* name in front so they mean something; text speaks for itself. Media, references and code are skipped, unless
|
|
4
|
+
* nothing else is set: a group of set icons then reads as their names, never as "Nothing set yet". */
|
|
5
|
+
export declare function groupSummary(fields: FieldSchema[], value: unknown, max?: number): string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { isObj } from "../lib/path.js";
|
|
2
|
+
import { isEmptyValue, isHidden, plainText } from "../lib/schema.js";
|
|
3
|
+
import { resolveScale } from "../schema/scale.js";
|
|
4
|
+
//#region src/engine/group-summary.ts
|
|
5
|
+
/**
|
|
6
|
+
* groupSummary (V2 HEAD 9829bf1 kit/engine/grouping.tsx): what a collapsed group holds, in one line. Lives on its own
|
|
7
|
+
* until the grouping lane ports grouping.tsx, which then re-exports it from there.
|
|
8
|
+
*/
|
|
9
|
+
/** "Top 56 · Bottom 88 · Sides M". Short values (numbers, scales, 1–4 letter options, on-switches) get their field's
|
|
10
|
+
* name in front so they mean something; text speaks for itself. Media, references and code are skipped, unless
|
|
11
|
+
* nothing else is set: a group of set icons then reads as their names, never as "Nothing set yet". */
|
|
12
|
+
function groupSummary(fields, value, max = 3) {
|
|
13
|
+
if (!isObj(value)) return "";
|
|
14
|
+
const parts = [];
|
|
15
|
+
const media = [];
|
|
16
|
+
for (const f of fields) {
|
|
17
|
+
if (parts.length >= max) break;
|
|
18
|
+
if (isHidden(f, value)) continue;
|
|
19
|
+
const x = value[f.name];
|
|
20
|
+
if (isEmptyValue(x)) continue;
|
|
21
|
+
switch (f.type) {
|
|
22
|
+
case "image":
|
|
23
|
+
case "file":
|
|
24
|
+
case "video":
|
|
25
|
+
media.push(f.title);
|
|
26
|
+
continue;
|
|
27
|
+
case "reference":
|
|
28
|
+
case "json":
|
|
29
|
+
case "code":
|
|
30
|
+
case "object":
|
|
31
|
+
case "slot":
|
|
32
|
+
case "geopoint": continue;
|
|
33
|
+
case "boolean":
|
|
34
|
+
if (x === true) parts.push(f.title);
|
|
35
|
+
continue;
|
|
36
|
+
case "number": {
|
|
37
|
+
const label = f.scale ? resolveScale(f.scale, x).label : `${x}${f.numeric?.unit ? ` ${f.numeric.unit}` : ""}`;
|
|
38
|
+
parts.push(`${f.title} ${label}`);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
case "rating":
|
|
42
|
+
parts.push(`${f.title} ${x} / 5`);
|
|
43
|
+
continue;
|
|
44
|
+
case "select": {
|
|
45
|
+
const label = f.options?.find((o) => o.value === x)?.label ?? String(x);
|
|
46
|
+
parts.push(label.length <= 4 ? `${f.title} ${label}` : label);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
case "multiselect":
|
|
50
|
+
case "tags":
|
|
51
|
+
if (Array.isArray(x)) parts.push(x.length <= 2 ? x.map((v) => f.options?.find((o) => o.value === v)?.label ?? String(v)).join(", ") : `${x.length} ${f.title.toLowerCase()}`);
|
|
52
|
+
continue;
|
|
53
|
+
case "array":
|
|
54
|
+
if (Array.isArray(x)) parts.push(`${x.length} ${f.title.toLowerCase()}`);
|
|
55
|
+
continue;
|
|
56
|
+
case "color":
|
|
57
|
+
parts.push(`${f.title} ${String(x)}`);
|
|
58
|
+
continue;
|
|
59
|
+
default: {
|
|
60
|
+
const t = plainText(x);
|
|
61
|
+
if (t) parts.push(t.length > 32 ? `${t.slice(0, 30)}…` : t);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return (parts.length ? parts : media.slice(0, max)).join(" · ");
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { groupSummary };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=group-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-summary.js","names":[],"sources":["../../src/engine/group-summary.ts"],"sourcesContent":["/**\n * groupSummary (V2 HEAD 9829bf1 kit/engine/grouping.tsx): what a collapsed group holds, in one line. Lives on its own\n * until the grouping lane ports grouping.tsx, which then re-exports it from there.\n */\nimport { isHidden, isEmptyValue, plainText } from \"../lib/schema\";\nimport { isObj } from \"../lib/path\";\nimport { resolveScale } from \"../schema/scale\";\nimport type { FieldSchema } from \"../schema/types\";\n\n/** \"Top 56 · Bottom 88 · Sides M\". Short values (numbers, scales, 1–4 letter options, on-switches) get their field's\n * name in front so they mean something; text speaks for itself. Media, references and code are skipped, unless\n * nothing else is set: a group of set icons then reads as their names, never as \"Nothing set yet\". */\nexport function groupSummary(fields: FieldSchema[], value: unknown, max = 3): string {\n if (!isObj(value)) return \"\";\n const parts: string[] = [];\n const media: string[] = [];\n for (const f of fields) {\n if (parts.length >= max) break;\n if (isHidden(f, value)) continue;\n const x = value[f.name];\n if (isEmptyValue(x)) continue;\n switch (f.type) {\n case \"image\": case \"file\": case \"video\":\n media.push(f.title);\n continue;\n case \"reference\": case \"json\": case \"code\": case \"object\": case \"slot\": case \"geopoint\":\n continue;\n case \"boolean\":\n if (x === true) parts.push(f.title);\n continue;\n case \"number\": {\n const label = f.scale ? resolveScale(f.scale, x).label : `${x}${f.numeric?.unit ? ` ${f.numeric.unit}` : \"\"}`;\n parts.push(`${f.title} ${label}`);\n continue;\n }\n case \"rating\":\n parts.push(`${f.title} ${x} / 5`);\n continue;\n case \"select\": {\n const label = f.options?.find((o) => o.value === x)?.label ?? String(x);\n parts.push(label.length <= 4 ? `${f.title} ${label}` : label);\n continue;\n }\n case \"multiselect\": case \"tags\":\n if (Array.isArray(x)) parts.push(x.length <= 2 ? x.map((v) => f.options?.find((o) => o.value === v)?.label ?? String(v)).join(\", \") : `${x.length} ${f.title.toLowerCase()}`);\n continue;\n case \"array\":\n if (Array.isArray(x)) parts.push(`${x.length} ${f.title.toLowerCase()}`);\n continue;\n case \"color\":\n parts.push(`${f.title} ${String(x)}`);\n continue;\n default: {\n const t = plainText(x);\n if (t) parts.push(t.length > 32 ? `${t.slice(0, 30)}…` : t);\n }\n }\n }\n return (parts.length ? parts : media.slice(0, max)).join(\" · \");\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,aAAa,QAAuB,OAAgB,MAAM,GAAW;CACnF,IAAI,CAAC,MAAM,KAAK,GAAG,OAAO;CAC1B,MAAM,QAAkB,CAAC;CACzB,MAAM,QAAkB,CAAC;CACzB,KAAK,MAAM,KAAK,QAAQ;EACtB,IAAI,MAAM,UAAU,KAAK;EACzB,IAAI,SAAS,GAAG,KAAK,GAAG;EACxB,MAAM,IAAI,MAAM,EAAE;EAClB,IAAI,aAAa,CAAC,GAAG;EACrB,QAAQ,EAAE,MAAV;GACE,KAAK;GAAS,KAAK;GAAQ,KAAK;IAC9B,MAAM,KAAK,EAAE,KAAK;IAClB;GACF,KAAK;GAAa,KAAK;GAAQ,KAAK;GAAQ,KAAK;GAAU,KAAK;GAAQ,KAAK,YAC3E;GACF,KAAK;IACH,IAAI,MAAM,MAAM,MAAM,KAAK,EAAE,KAAK;IAClC;GACF,KAAK,UAAU;IACb,MAAM,QAAQ,EAAE,QAAQ,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,SAAS,OAAO,IAAI,EAAE,QAAQ,SAAS;IACzG,MAAM,KAAK,GAAG,EAAE,MAAM,GAAG,OAAO;IAChC;GACF;GACA,KAAK;IACH,MAAM,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK;IAChC;GACF,KAAK,UAAU;IACb,MAAM,QAAQ,EAAE,SAAS,MAAM,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC;IACtE,MAAM,KAAK,MAAM,UAAU,IAAI,GAAG,EAAE,MAAM,GAAG,UAAU,KAAK;IAC5D;GACF;GACA,KAAK;GAAe,KAAK;IACvB,IAAI,MAAM,QAAQ,CAAC,GAAG,MAAM,KAAK,EAAE,UAAU,IAAI,EAAE,KAAK,MAAM,EAAE,SAAS,MAAM,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,EAAE,OAAO,GAAG,EAAE,MAAM,YAAY,GAAG;IAC5K;GACF,KAAK;IACH,IAAI,MAAM,QAAQ,CAAC,GAAG,MAAM,KAAK,GAAG,EAAE,OAAO,GAAG,EAAE,MAAM,YAAY,GAAG;IACvE;GACF,KAAK;IACH,MAAM,KAAK,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IACpC;GACF,SAAS;IACP,MAAM,IAAI,UAAU,CAAC;IACrB,IAAI,GAAG,MAAM,KAAK,EAAE,SAAS,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC;GAC5D;EACF;CACF;CACA,QAAQ,MAAM,SAAS,QAAQ,MAAM,MAAM,GAAG,GAAG,EAAA,CAAG,KAAK,KAAK;AAChE"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GROUPING (CPO D45; V2 HEAD 9829bf1 kit/engine/grouping.tsx + the layout half of kit/engine/field-list.tsx) — the four
|
|
3
|
+
* ways the Block Kit puts fields together, and the rules for nesting them.
|
|
4
|
+
*
|
|
5
|
+
* Group tabs Content · Media · Design · Settings top of a frame only (FieldList)
|
|
6
|
+
* <FieldSection> ────────────────────────────────── a titled set of siblings: hairline above, 36px header,
|
|
7
|
+
* Spacing Top 56 · Bottom 88 › no box, no left rule; collapsed = one-line summary
|
|
8
|
+
* <FieldInset> Rating line a small object (≤3 simple fields): its label, then the
|
|
9
|
+
* │ Stars [ 4.9 / 5 ] children behind ONE 1px --line inset line (D63). No tint,
|
|
10
|
+
* │ Text [ 4.9 from 2,400+ reviews ] no box, no radius: never a box inside a line.
|
|
11
|
+
* <FieldUnit> ┌ Shop cookware Primary › ┐ ONE compound control (button = label + link, image + alt)
|
|
12
|
+
* └ /products ┘
|
|
13
|
+
* Drill row [▣] Desktop › anything bigger, or anything one level deeper
|
|
14
|
+
*
|
|
15
|
+
* Nesting: section (level 1, spacing only) → inset (level 2, the inset line) → level 3+ always drills. Never two
|
|
16
|
+
* containers in one level. Rhythm: field gap 16 · group gap 24, the same gap inside an inset; dense (form width ≤ 360px)
|
|
17
|
+
* 12 · 20; document 20 · 32.
|
|
18
|
+
* Columns (D63, `columnSpans`): side by side only for genuinely short fields (number, switch, select, date, colour, icon,
|
|
19
|
+
* rating, text with max ≤ 24) AND only when the form is at least 420px wide (a container query). Everything else is full
|
|
20
|
+
* width, so a text value never wraps in a cramped column.
|
|
21
|
+
* `<BreakpointGroup>`: per-screen-size objects (desktop / tablet / phone) as ONE group with a segmented switcher.
|
|
22
|
+
*
|
|
23
|
+
* Port notes (kit vs V2): V2 token utilities carry the kit- prefix (text-fg-3 → text-kit-fg-3, bg-well →
|
|
24
|
+
* bg-kit-well, border-field → border-kit-field-border); `motion/react` is `framer-motion`; V2's `scrollbar-none` and
|
|
25
|
+
* `tabular` utilities are written out. V2's FieldList imports KitField directly; here it takes `renderField` so the
|
|
26
|
+
* engine has no grouping ↔ kit-field import cycle.
|
|
27
|
+
*/
|
|
28
|
+
import * as React from "react";
|
|
29
|
+
import type { FieldGroup, FieldPath, FieldSchema, Fieldset } from "../schema/types";
|
|
30
|
+
import { type KitPeer } from "../context";
|
|
31
|
+
import { groupSummary } from "./group-summary";
|
|
32
|
+
export { columnSpans, isColumnField, SHORT_TEXT_MAX } from "../lib/columns";
|
|
33
|
+
export { groupSummary };
|
|
34
|
+
/** Gaps per host. `stack` = between sibling fields; `group` = before a section / after one; `gridY` = rows of a column grid.
|
|
35
|
+
* An inset uses the same field gap as everything else (D63: one rhythm). */
|
|
36
|
+
export declare const RHYTHM: {
|
|
37
|
+
readonly panel: {
|
|
38
|
+
readonly tabs: "pb-4 @max-[360px]:pb-3";
|
|
39
|
+
readonly stack: "gap-4 @max-[360px]:gap-3";
|
|
40
|
+
readonly field: "pt-4 @max-[360px]:pt-3";
|
|
41
|
+
readonly group: "pt-6 @max-[360px]:pt-5";
|
|
42
|
+
readonly gridY: "gap-y-4 @max-[360px]:gap-y-3";
|
|
43
|
+
};
|
|
44
|
+
readonly document: {
|
|
45
|
+
readonly tabs: "pb-5";
|
|
46
|
+
readonly stack: "gap-5";
|
|
47
|
+
readonly field: "pt-5";
|
|
48
|
+
readonly group: "pt-8";
|
|
49
|
+
readonly gridY: "gap-y-5";
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export declare const useRhythm: () => {
|
|
53
|
+
readonly tabs: "pb-4 @max-[360px]:pb-3";
|
|
54
|
+
readonly stack: "gap-4 @max-[360px]:gap-3";
|
|
55
|
+
readonly field: "pt-4 @max-[360px]:pt-3";
|
|
56
|
+
readonly group: "pt-6 @max-[360px]:pt-5";
|
|
57
|
+
readonly gridY: "gap-y-4 @max-[360px]:gap-y-3";
|
|
58
|
+
} | {
|
|
59
|
+
readonly tabs: "pb-5";
|
|
60
|
+
readonly stack: "gap-5";
|
|
61
|
+
readonly field: "pt-5";
|
|
62
|
+
readonly group: "pt-8";
|
|
63
|
+
readonly gridY: "gap-y-5";
|
|
64
|
+
};
|
|
65
|
+
/** 0 at a frame's top level and inside sections; 1 inside an inset (or an expanded array row). */
|
|
66
|
+
export declare const useInsetDepth: () => number;
|
|
67
|
+
/** Mark children as sitting inside one container (array inline rows use this so objects inside them drill). */
|
|
68
|
+
export declare function InsetScope({ children }: {
|
|
69
|
+
children: React.ReactNode;
|
|
70
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
export declare function useGroupStatus(paths: FieldPath[]): {
|
|
72
|
+
errors: number;
|
|
73
|
+
warnings: number;
|
|
74
|
+
peers: KitPeer[];
|
|
75
|
+
comments: number;
|
|
76
|
+
};
|
|
77
|
+
export type GroupStatus = ReturnType<typeof useGroupStatus>;
|
|
78
|
+
/** A field that animates its height in and out when a condition shows or hides it (D45). `space` = its top spacing. */
|
|
79
|
+
export declare const Appear: React.ForwardRefExoticComponent<{
|
|
80
|
+
children: React.ReactNode;
|
|
81
|
+
space?: string;
|
|
82
|
+
className?: string;
|
|
83
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
84
|
+
/** Sibling fields that appear / disappear smoothly. `gapless`: the parent draws the gaps (grid, inset). */
|
|
85
|
+
export declare function AnimatedFields({ fields, render, gapless, space }: {
|
|
86
|
+
fields: FieldSchema[];
|
|
87
|
+
render: (f: FieldSchema) => React.ReactNode;
|
|
88
|
+
gapless?: boolean;
|
|
89
|
+
space?: string;
|
|
90
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
91
|
+
/**
|
|
92
|
+
* Sibling fields, laid out by the D63 rule: a plain animated stack, or (when `columns` and at least one pair of short
|
|
93
|
+
* neighbours) a grid that turns two-up only when the form is ≥ 420px wide. Used by sections, insets and array rows.
|
|
94
|
+
*/
|
|
95
|
+
export declare function FieldRun({ fields, render, columns, values }: {
|
|
96
|
+
fields: FieldSchema[];
|
|
97
|
+
render: (f: FieldSchema) => React.ReactNode;
|
|
98
|
+
columns?: boolean;
|
|
99
|
+
values?: Record<string, unknown>;
|
|
100
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
/**
|
|
102
|
+
* A header with eight social icons would otherwise stack eight rows between its texts. A lone icon is just its row:
|
|
103
|
+
* no heading for one. `isIconImage` is the same rule the image control draws the row by.
|
|
104
|
+
*/
|
|
105
|
+
export declare function splitIcons(fields: FieldSchema[], values: Record<string, unknown>): {
|
|
106
|
+
before: FieldSchema[];
|
|
107
|
+
icons: FieldSchema[];
|
|
108
|
+
after: FieldSchema[];
|
|
109
|
+
} | null;
|
|
110
|
+
export declare function IconGroup({ fields, render }: {
|
|
111
|
+
fields: FieldSchema[];
|
|
112
|
+
render: (f: FieldSchema) => React.ReactNode;
|
|
113
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
114
|
+
export interface FieldSectionProps {
|
|
115
|
+
title: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
/** collapsible header (default true). false = a static heading. */
|
|
118
|
+
collapsible?: boolean;
|
|
119
|
+
defaultOpen?: boolean;
|
|
120
|
+
/** controlled */
|
|
121
|
+
open?: boolean;
|
|
122
|
+
onOpenChange?: (open: boolean) => void;
|
|
123
|
+
/** one-line summary shown while collapsed ("Top 56 · Bottom 88"); a string list renders as neutral chips */
|
|
124
|
+
summary?: React.ReactNode;
|
|
125
|
+
/** roll-up shown on the header while collapsed */
|
|
126
|
+
status?: Partial<GroupStatus>;
|
|
127
|
+
/** hairline above (off for the first item of a frame) */
|
|
128
|
+
divider?: boolean;
|
|
129
|
+
/** open the section when this turns true (e.g. a publish attempt found errors inside) */
|
|
130
|
+
revealWhen?: boolean;
|
|
131
|
+
disabled?: boolean;
|
|
132
|
+
/** extra header control, outside the toggle (rare) */
|
|
133
|
+
actions?: React.ReactNode;
|
|
134
|
+
/** content above the fields, inside the body (e.g. a breakpoint switcher) */
|
|
135
|
+
lead?: React.ReactNode;
|
|
136
|
+
columns?: 1 | 2;
|
|
137
|
+
/** leading glyph before the title (dense panels: the Design tab's section icons) */
|
|
138
|
+
icon?: React.ReactNode;
|
|
139
|
+
/** small mark right after the title, inside the toggle (e.g. a "changed" dot) */
|
|
140
|
+
adornment?: React.ReactNode;
|
|
141
|
+
className?: string;
|
|
142
|
+
/** override the body's gap (dense rows) */
|
|
143
|
+
bodyClassName?: string;
|
|
144
|
+
children: React.ReactNode;
|
|
145
|
+
}
|
|
146
|
+
export declare function FieldSection({ title, description, collapsible, defaultOpen, open: openProp, onOpenChange, summary, status, divider, revealWhen, disabled, actions, lead, columns, icon, adornment, className, bodyClassName, children, }: FieldSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
147
|
+
/**
|
|
148
|
+
* D63: the ONE way to show "these fields belong together" inside a form. The object's label sits above (the field shell);
|
|
149
|
+
* the children sit behind a single 1px --line inset line, `ml-1.5 pl-3`. No tint, no ring, no radius, no padding box.
|
|
150
|
+
* Children keep the form's own field gap. Short neighbours pair up on wide forms through `FieldRun`.
|
|
151
|
+
*/
|
|
152
|
+
export declare function FieldInset({ children, labelledBy, label, className, }: {
|
|
153
|
+
children: React.ReactNode;
|
|
154
|
+
labelledBy?: string;
|
|
155
|
+
label?: string;
|
|
156
|
+
className?: string;
|
|
157
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
158
|
+
/** The inset line every nested group uses (inline objects, expanded array rows). */
|
|
159
|
+
export declare const INSET_LINE = "ml-1.5 min-w-0 border-l border-kit-line pl-3";
|
|
160
|
+
/**
|
|
161
|
+
* Reads as ONE input: the field border, radius 6, the input focus treatment on the whole unit; rows inside are split by a
|
|
162
|
+
* hairline and have no borders of their own. Use for values that only make sense together (founder rule: a button's
|
|
163
|
+
* label and link are one unit).
|
|
164
|
+
*/
|
|
165
|
+
export declare const FieldUnit: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
166
|
+
invalid?: boolean;
|
|
167
|
+
disabled?: boolean;
|
|
168
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
169
|
+
/** One row of a unit: 36px, 8px side padding, no border (the unit draws the hairline between rows). */
|
|
170
|
+
export declare function FieldUnitRow({ className, children, ...rest }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
171
|
+
export declare const isBreakpointName: (n: string) => boolean;
|
|
172
|
+
export type RenderField = (field: FieldSchema, path: FieldPath, parent: Record<string, unknown>) => React.ReactNode;
|
|
173
|
+
/**
|
|
174
|
+
* Per-screen-size settings as ONE group: the section header, then a segmented switcher (Desktop · Tablet · Phone) with a
|
|
175
|
+
* dot on every size that has its own values; only the chosen size's fields show. Replaces three stacked groups.
|
|
176
|
+
*/
|
|
177
|
+
export declare function BreakpointGroup({ set, members, basePath, memoryKey, divider, renderField, }: {
|
|
178
|
+
set: Fieldset;
|
|
179
|
+
members: FieldSchema[];
|
|
180
|
+
basePath: FieldPath;
|
|
181
|
+
memoryKey: string;
|
|
182
|
+
divider?: boolean;
|
|
183
|
+
renderField: RenderField;
|
|
184
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
185
|
+
type ArrangedItem = {
|
|
186
|
+
kind: "field";
|
|
187
|
+
field: FieldSchema;
|
|
188
|
+
} | {
|
|
189
|
+
kind: "set";
|
|
190
|
+
set: Fieldset;
|
|
191
|
+
fields: FieldSchema[];
|
|
192
|
+
};
|
|
193
|
+
/** Fields in schema order, with each fieldset (and the auto "Advanced" / "Screen sizes" sets) placed at its first member. */
|
|
194
|
+
export declare function arrangeFields(fields: FieldSchema[], fieldsets?: Fieldset[]): ArrangedItem[];
|
|
195
|
+
/** The group a field without `group` belongs to: the one marked `default`, else the first. */
|
|
196
|
+
export declare const defaultGroup: (groups?: FieldGroup[]) => FieldGroup | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* FieldList — lays out one frame's fields (CPO D45 grouping): group TABS (with error dots) at the top of the frame only,
|
|
199
|
+
* FIELDSETS as <FieldSection> (hairline + 36px header, no box, collapsed = one-line summary), breakpoint objects as ONE
|
|
200
|
+
* <BreakpointGroup> with a switcher, an auto "Advanced" section for `advanced` fields, and `hidden` conditions that
|
|
201
|
+
* appear / disappear with a height animation.
|
|
202
|
+
* Rhythm: label→control 6 · fields 16 · groups 24 (dense ≤360px: 12 · 20; document: 20 · 32).
|
|
203
|
+
*/
|
|
204
|
+
export declare function FieldList({ fields, fieldsets, groups, basePath, memoryKey, renderField, }: {
|
|
205
|
+
fields: FieldSchema[];
|
|
206
|
+
fieldsets?: Fieldset[];
|
|
207
|
+
groups?: FieldGroup[];
|
|
208
|
+
basePath: FieldPath;
|
|
209
|
+
/** where to remember the selected tab / open fieldsets */
|
|
210
|
+
memoryKey: string;
|
|
211
|
+
/** draws one field (the engine passes KitField) */
|
|
212
|
+
renderField: RenderField;
|
|
213
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
214
|
+
export interface GroupTabItem {
|
|
215
|
+
value: string;
|
|
216
|
+
label: string;
|
|
217
|
+
icon?: string;
|
|
218
|
+
errors: number;
|
|
219
|
+
}
|
|
220
|
+
/** Tabs that don't fit the width fold into a "More" menu, never clipped (V2 HEAD c896beb field-list.tsx GroupTabs). The
|
|
221
|
+
* active tab always shows its label: when it sits in the fold it takes the last visible slot. */
|
|
222
|
+
export declare function GroupTabs({ id, value, onChange, items }: {
|
|
223
|
+
id: string;
|
|
224
|
+
value: string;
|
|
225
|
+
onChange: (v: string) => void;
|
|
226
|
+
items: GroupTabItem[];
|
|
227
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
228
|
+
export declare function FieldsetSection({ set, fields, basePath, obj, memoryKey, divider, renderField, }: {
|
|
229
|
+
set: Fieldset;
|
|
230
|
+
fields: FieldSchema[];
|
|
231
|
+
basePath: FieldPath;
|
|
232
|
+
obj: Record<string, unknown>;
|
|
233
|
+
memoryKey: string;
|
|
234
|
+
divider: boolean;
|
|
235
|
+
renderField: RenderField;
|
|
236
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
237
|
+
/** D41: a short field shares a 2-column row; a scale, slider, cards or radio select needs the full row. */
|
|
238
|
+
export declare const isShort: (f: FieldSchema) => boolean;
|