@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":"company.entries.js","names":[],"sources":["../../../src/library/entries/company.entries.ts"],"sourcesContent":["/**\n * KIT LIBRARY · Company & people — team, leadership, values, careers, story and press.\n *\n * People, departments, locations and jobs are COLLECTIONS: they show up on several pages (team grid, leadership,\n * job posts, author bios, event speakers), so sections reference them or query them instead of retyping names and\n * photos. Per-placement differences (a title on the board page, a shorter bio) are conditional overrides on the\n * section, never edits to the person.\n *\n * SEO is native: no meta fields. JobPosting, Organization and Person JSON-LD are derived from these fields.\n */\nimport type { FieldGroup, FieldSchema } from \"../../schema/types\";\nimport type { KitEntry } from \"../types\";\n\nconst pic = (seed: string, w = 1600, h = 1000) => `https://picsum.photos/seed/${seed}/${w}/${h}`;\nconst image = (seed: string, alt: string, w = 1600, h = 1000) => ({ url: pic(seed, w, h), alt, name: `${seed}.jpg`, width: w * 2, height: h * 2 });\nconst file = (path: string, size: number) => ({ url: `https://caldera.bettercms.site/media/${path}`, name: path.split(\"/\").pop(), size });\n\nconst CONTENT: FieldGroup = { name: \"content\", title: \"Content\", icon: \"file-text\", default: true };\nconst DESIGN: FieldGroup = { name: \"design\", title: \"Design\", icon: \"palette\" };\n\nconst collectionField = (id: string, label: string): FieldSchema => ({\n name: \"collection\",\n title: \"Collection\",\n type: \"select\",\n access: { edit: \"schema.manage\" },\n lockReason: \"The collection is wired to the card template in code.\",\n initialValue: id,\n options: [{ value: id, label }],\n description: \"\",\n});\n\nconst DEPARTMENTS = [\n { value: \"workshop\", label: \"Workshop\" },\n { value: \"design\", label: \"Design\" },\n { value: \"care\", label: \"Customer care\" },\n { value: \"ops\", label: \"Operations\" },\n { value: \"marketing\", label: \"Marketing\" },\n { value: \"leadership\", label: \"Leadership\" },\n];\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst teamGrid: KitEntry = {\n id: \"team-grid\",\n label: \"Team grid\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"grid-4\",\n tags: [\"references\", \"dynamic-query\", \"conditional\", \"variants\", \"a11y\", \"validation\"],\n proves: \"Everyone by query or hand-picked people · department filter tabs · card fields as toggles · optional 'We're hiring' card\",\n docTitle: \"About\",\n urlPrefix: \"caldera.bettercms.site/\",\n schema: {\n name: \"teamGrid\",\n title: \"Team grid\",\n kind: \"block\",\n icon: \"users\",\n category: \"Company & people\",\n description: \"Faces and roles, filterable by department\",\n variants: [{ id: \"cards\", name: \"Cards\" }, { id: \"portraits\", name: \"Tall portraits\" }, { id: \"compact\", name: \"Compact list\" }],\n groups: [CONTENT, DESIGN],\n fieldsets: [{ name: \"hiring\", title: \"Hiring card\", description: \"An extra card at the end of the grid.\", collapsed: true }],\n preview: { title: \"heading\", subtitle: \"source\", icon: \"users\" },\n fields: [\n { name: \"eyebrow\", title: \"Eyebrow\", type: \"string\", group: \"content\", validation: { max: 40 } },\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, recommendedMax: 48 }, localized: true },\n { name: \"intro\", title: \"Intro\", type: \"text\", rows: 2, group: \"content\", localized: true, description: \"\" },\n {\n name: \"source\",\n title: \"People\",\n type: \"select\",\n group: \"content\",\n layout: \"segmented\",\n initialValue: \"query\",\n options: [{ value: \"query\", label: \"Everyone\" }, { value: \"pick\", label: \"Pick people\" }],\n description: \"Everyone adds new starters when their profile is published.\",\n },\n {\n name: \"query\",\n title: \"Who to show\",\n type: \"object\",\n group: \"content\",\n hidden: { field: \"source\", equals: \"query\" },\n fields: [\n collectionField(\"col_people\", \"People\"),\n { name: \"departments\", title: \"Departments\", type: \"multiselect\", options: DEPARTMENTS, description: \"Leave empty for every department.\" },\n { name: \"hideAlumni\", title: \"Hide people who've left\", type: \"boolean\", initialValue: true, description: \"Uses the end date on each person.\" },\n { name: \"sort\", title: \"Order\", type: \"select\", initialValue: \"department\", options: [{ value: \"department\", label: \"By department, then name\" }, { value: \"name\", label: \"A to Z\" }, { value: \"start\", label: \"Longest-serving first\" }], description: \"\" },\n ],\n },\n { name: \"people\", title: \"People\", type: \"array\", group: \"content\", hidden: { field: \"source\", equals: \"pick\" }, validation: { min: 1, max: 48, unique: true }, of: [{ name: \"person\", title: \"Person\", type: \"reference\", reference: { to: [\"col_people\"] } }] },\n { name: \"showDepartmentTabs\", title: \"Show department tabs\", type: \"boolean\", group: \"content\", initialValue: true },\n { name: \"showHiringCard\", title: \"Show a hiring card\", type: \"boolean\", group: \"content\", fieldset: \"hiring\" },\n { name: \"hiringHeading\", title: \"Card heading\", type: \"string\", group: \"content\", fieldset: \"hiring\", hidden: { field: \"showHiringCard\", equals: true }, initialValue: \"This could be you\", validation: { max: 40 }, description: \"\" },\n { name: \"hiringButton\", title: \"Hiring card button\", type: \"button\", group: \"content\", fieldset: \"hiring\", hidden: { field: \"showHiringCard\", equals: true } },\n {\n name: \"cardShows\",\n title: \"Card shows\",\n type: \"multiselect\",\n group: \"design\",\n layout: \"checkbox\",\n initialValue: [\"role\"],\n options: [{ value: \"role\", label: \"Role\" }, { value: \"location\", label: \"Location\" }, { value: \"pronouns\", label: \"Pronouns\" }, { value: \"social\", label: \"Social links\" }, { value: \"funFact\", label: \"Fun fact on hover\" }],\n description: \"\",\n },\n { name: \"photoTreatment\", title: \"Photos\", type: \"select\", group: \"design\", layout: \"segmented\", initialValue: \"color\", options: [{ value: \"color\", label: \"Color\" }, { value: \"mono\", label: \"Black & white\" }, { value: \"duotone\", label: \"Brand duotone\" }] },\n { name: \"columns\", title: \"Columns on desktop\", type: \"number\", group: \"design\", layout: \"slider\", numeric: { min: 2, max: 6, step: 1 }, initialValue: 4, description: \"\" },\n ],\n },\n value: {\n _variant: \"cards\",\n eyebrow: \"The crew\",\n heading: \"Forty people, one foundry\",\n intro: \"We cast, finish and ship every pan from Bend, Oregon — and answer your emails from the same building.\",\n source: \"query\",\n query: { collection: \"col_people\", departments: [], hideAlumni: true, sort: \"department\" },\n people: [],\n showDepartmentTabs: true,\n showHiringCard: true,\n hiringHeading: \"This could be you\",\n hiringButton: { label: \"See open roles\", href: \"/careers\", type: \"page\", title: \"Careers\", style: \"secondary\", arrow: true },\n cardShows: [\"role\", \"location\", \"funFact\"],\n photoTreatment: \"mono\",\n columns: 4,\n },\n notes: {\n why:\n \"People are a collection (name, slug, role, department, location, photo with alt, pronouns, short bio, socials, start/end dates) because the same person is an author, an event speaker and a team-page face. The grid is either everyone (a query: departments, hide alumni, order) or a hand-picked, ordered list of references — the mode select shows one or the other. Card fields and photo treatment are design. The hiring card is three fields behind one toggle.\",\n sanity:\n \"Sanity: `person` documents + `teamSection` { people: array<reference→person> }, or GROQ `*[_type=='person' && !defined(endDate)] | order(department asc, name asc)`.\",\n htmlSignals: [\n \"A grid of square/portrait headshots with a name and a smaller role line under each\",\n \"Department tabs or headings (Engineering, Design, Operations)\",\n \"Hover states revealing a bio, fun fact or LinkedIn icon\",\n \"A final card that's not a person: 'We're hiring' / 'Join us'\",\n ],\n mcp:\n \"Each face → a People entry (name, role, photo with alt 'Portrait of {name}', department from the enclosing heading/tab, socials from icons). If the grid shows everyone in the company, use source 'query' with the department order; if it's a curated subset (e.g. 'Meet the founders'), use 'pick' in DOM order. The non-person card → hiring fields.\",\n pitfalls: [\n \"Retyping people per page — a new photo must update everywhere.\",\n \"Portraits with empty alt; decorative hover images need alt=\\\"\\\" on the duplicate.\",\n \"Former employees lingering — set end dates, keep excludeAlumni on.\",\n \"Department tabs with one person each look broken — hide tabs under ~12 people.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst leadership: KitEntry = {\n id: \"leadership-bios\",\n label: \"Leadership with bios\",\n category: \"Company & people\",\n brand: \"Ledgerline\",\n previewLayout: \"grid-3\",\n tags: [\"references\", \"conditional\", \"rich-text\", \"repeater\", \"variants\", \"a11y\"],\n proves: \"Groups (Leadership, Board, Advisors) → person references with per-placement title and bio overrides · bio in modal, drawer or inline\",\n docTitle: \"Company\",\n urlPrefix: \"ledgerline.com/\",\n schema: {\n name: \"leadership\",\n title: \"Leadership\",\n kind: \"block\",\n icon: \"user-star\",\n category: \"Company & people\",\n description: \"Leaders, board and advisors with full bios\",\n variants: [{ id: \"grid\", name: \"Grid\" }, { id: \"rows\", name: \"Rows with bio\" }],\n groups: [CONTENT, DESIGN],\n preview: { title: \"heading\", icon: \"user-star\" },\n fields: [\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, max: 48 }, localized: true },\n { name: \"intro\", title: \"Intro\", type: \"text\", rows: 2, group: \"content\", description: \"\" },\n {\n name: \"groups\",\n title: \"Groups\",\n type: \"array\",\n group: \"content\",\n itemNoun: \"group\",\n validation: { min: 1, max: 4 },\n of: [\n {\n name: \"peopleGroup\",\n title: \"Group\",\n type: \"object\",\n icon: \"users-group\",\n preview: { title: \"title\", fallback: \"Untitled group\" },\n fields: [\n { name: \"title\", title: \"Group name\", type: \"string\", validation: { required: true, max: 32 }, localized: true, placeholder: \"Board of directors\" },\n {\n name: \"members\",\n title: \"People\",\n type: \"array\",\n itemNoun: \"person\",\n validation: { min: 1, max: 16 },\n of: [\n {\n name: \"member\",\n title: \"Person\",\n type: \"object\",\n icon: \"user\",\n preview: { title: \"person\", subtitle: \"titleOverride\", fallback: \"Untitled person\" },\n fields: [\n { name: \"person\", title: \"Person\", type: \"reference\", reference: { to: [\"col_people\"] }, validation: { required: true } },\n { name: \"titleOverride\", title: \"Title here\", type: \"string\", validation: { max: 48 }, description: \"Only if it differs from their job title.\" },\n { name: \"affiliation\", title: \"Affiliation\", type: \"string\", validation: { max: 48 } },\n { name: \"useOwnBio\", title: \"Write a bio for this page\", type: \"boolean\", description: \"Otherwise their profile bio is used.\" },\n { name: \"bio\", title: \"Bio\", type: \"richtext\", hidden: { field: \"useOwnBio\", equals: true }, validation: { required: true, recommendedMax: 900 }, localized: true },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n name: \"bioOpens\",\n title: \"Full bio opens in\",\n type: \"select\",\n group: \"design\",\n layout: \"segmented\",\n initialValue: \"dialog\",\n options: [{ value: \"dialog\", label: \"Dialog\" }, { value: \"drawer\", label: \"Side drawer\" }, { value: \"inline\", label: \"Expands in place\" }, { value: \"page\", label: \"Their page\" }],\n },\n { name: \"showLinkedIn\", title: \"LinkedIn link\", type: \"boolean\", group: \"design\", initialValue: true },\n { name: \"columns\", title: \"Columns on desktop\", type: \"number\", group: \"design\", layout: \"slider\", numeric: { min: 2, max: 4, step: 1 }, initialValue: 3, description: \"\" },\n ],\n },\n value: {\n _variant: \"grid\",\n heading: \"The people behind Ledgerline\",\n intro: \"Former controllers, auditors and engineers who got tired of closing the books in spreadsheets.\",\n groups: [\n {\n _key: \"g1\",\n title: \"Leadership\",\n members: [\n { _key: \"p1\", person: \"en_p_amara-osei\", useOwnBio: false },\n { _key: \"p2\", person: \"en_p_jonas-lindqvist\", useOwnBio: false },\n { _key: \"p3\", person: \"en_p_priya-raman\", titleOverride: \"Chief Accounting Officer\", useOwnBio: true, bio: \"<p>Priya spent nine years at Deloitte auditing high-growth software companies before running finance at Plaid through its Series D. At Ledgerline she owns the accounting logic every customer's close depends on.</p>\" },\n ],\n },\n {\n _key: \"g2\",\n title: \"Board of directors\",\n members: [\n { _key: \"p4\", person: \"en_p_amara-osei\", titleOverride: \"Board chair\", useOwnBio: false },\n { _key: \"p5\", person: \"en_p_helen-park\", affiliation: \"General Partner, Foundry Ventures\", useOwnBio: false },\n ],\n },\n ],\n bioOpens: \"dialog\",\n showLinkedIn: true,\n columns: 3,\n },\n notes: {\n why:\n \"Leaders are People entries, so their photo and bio are shared with the team grid, press kit and event pages. The section is groups → member objects; each member is a reference plus per-placement overrides (title here, affiliation for outside board members, an optional page-specific bio behind a toggle). The same person can sit in two groups (CEO and board chair) without duplicating them. Where the bio opens is a design choice; dialogs and drawers must restore focus (a11y).\",\n sanity:\n \"Sanity: `leadershipSection` { groups: array<object{title, members: array<object{person: reference→person, role: string, bio: portableText}>}> }. Same shape — references with sibling override fields.\",\n htmlSignals: [\n \"Larger portraits than a team grid with name + C-level title, often in a separate band\",\n \"'Read bio' buttons opening a modal/dialog (role=dialog, aria-modal)\",\n \"Sub-headings 'Leadership', 'Board of directors', 'Advisors', 'Investors'\",\n \"Board members listed with their firm ('Partner, Accel')\",\n ],\n mcp:\n \"Create/match People entries for each person (photo, name, title, bio from the modal content). Sub-headings → groups. If the modal bio differs from the person's main bio (or no person page exists), put it on the member with ownBio true. Board titles that differ from the job title → titleOverride; firm names → affiliation. bioOpens from the interaction (modal → dialog, accordion → inline).\",\n pitfalls: [\n \"Duplicating the CEO as a second person for the board group — reference twice instead.\",\n \"Modal bios that don't trap and return focus.\",\n \"Bios in first person on one page and third on another — the override exists for this.\",\n \"Investor logos mixed into this section — they belong in a logo wall.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst values: KitEntry = {\n id: \"values-culture\",\n label: \"Values & culture\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"grid-3\",\n tags: [\"repeater\", \"media-heavy\", \"variants\", \"validation\", \"a11y\"],\n proves: \"Values with a real example each · perks as a light repeater · culture photo wall with required alt\",\n schema: {\n name: \"values\",\n title: \"Values and culture\",\n kind: \"block\",\n icon: \"heart-handshake\",\n category: \"Company & people\",\n description: \"What we believe, how it shows up, and what it's like to work here\",\n variants: [{ id: \"grid\", name: \"Grid\" }, { id: \"numbered\", name: \"Numbered list\" }, { id: \"alternating\", name: \"Alternating with photos\" }],\n groups: [CONTENT, { name: \"culture\", title: \"Culture\", icon: \"photo\" }, DESIGN],\n preview: { title: \"heading\", subtitle: \"intro\", icon: \"heart-handshake\" },\n fields: [\n { name: \"eyebrow\", title: \"Eyebrow\", type: \"string\", group: \"content\", validation: { max: 40 } },\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, recommendedMax: 48 }, ai: true, localized: true },\n { name: \"intro\", title: \"Intro\", type: \"text\", rows: 2, group: \"content\", localized: true, description: \"\" },\n {\n name: \"values\",\n title: \"Values\",\n type: \"array\",\n group: \"content\",\n itemNoun: \"value\",\n validation: { min: 3, max: 8 },\n of: [\n {\n name: \"value\",\n title: \"Value\",\n type: \"object\",\n icon: \"heart\",\n preview: { title: \"title\", subtitle: \"body\", media: \"image\", fallback: \"Untitled value\" },\n fields: [\n { name: \"icon\", title: \"Icon\", type: \"icon\" },\n { name: \"title\", title: \"Value\", type: \"string\", validation: { required: true, max: 40 }, localized: true },\n { name: \"body\", title: \"Body\", type: \"text\", rows: 3, validation: { required: true, recommendedMax: 200 }, localized: true },\n { name: \"example\", title: \"In practice\", type: \"text\", rows: 2, validation: { recommendedMax: 160 }, localized: true },\n { name: \"image\", title: \"Image\", type: \"image\", description: \"Alternating layout only.\" },\n ],\n },\n ],\n },\n {\n name: \"perks\",\n title: \"Perks\",\n type: \"array\",\n group: \"culture\",\n itemNoun: \"perk\",\n openMode: \"inline\",\n validation: { max: 12 },\n of: [\n {\n name: \"perk\",\n title: \"Perk\",\n type: \"object\",\n icon: \"gift\",\n preview: { title: \"label\", subtitle: \"detail\" },\n fields: [\n { name: \"icon\", title: \"Icon\", type: \"icon\" },\n { name: \"label\", title: \"Perk\", type: \"string\", validation: { required: true, max: 32 } },\n { name: \"detail\", title: \"Detail\", type: \"string\", validation: { max: 80 } },\n ],\n },\n ],\n },\n { name: \"photos\", title: \"Photo wall\", type: \"array\", group: \"culture\", arrayLayout: \"grid\", validation: { max: 9 }, of: [{ name: \"photo\", title: \"Photo\", type: \"image\", validation: { required: true } }] },\n { name: \"button\", title: \"Button\", type: \"button\", group: \"content\" },\n { name: \"theme\", title: \"Background\", type: \"select\", group: \"design\", layout: \"segmented\", initialValue: \"light\", options: [{ value: \"light\", label: \"Light\" }, { value: \"dark\", label: \"Dark\" }, { value: \"brand\", label: \"Brand\" }], description: \"\" },\n ],\n },\n value: {\n _variant: \"numbered\",\n eyebrow: \"How we work\",\n heading: \"Made to be handed down\",\n intro: \"Five ideas we hire for, argue about and come back to when a decision is hard.\",\n values: [\n { _key: \"v1\", icon: \"hammer\", title: \"Fix it, don't replace it\", body: \"We design for repair first. A pan that can be re-seasoned beats one that can't be scratched.\", example: \"In 2025 we re-seasoned 3,100 customer pans for free instead of selling replacements.\" },\n { _key: \"v2\", icon: \"flame\", title: \"Cook with it first\", body: \"Nothing ships until the team has cooked with it for a month, outdoors and at home.\", example: \"The Cable Fold grate went through eleven prototypes and two camping trips.\" },\n { _key: \"v3\", icon: \"message-circle\", title: \"Answer like a neighbour\", body: \"Customer care replies within a day, in plain words, from someone who's used the pan.\", example: \"\" },\n { _key: \"v4\", icon: \"leaf\", title: \"Waste less than we did last year\", body: \"Every year we cut scrap iron, packaging and shipping miles — and publish the numbers.\", example: \"Our 2025 scrap rate was 2.1%, down from 4.8%.\" },\n ],\n perks: [\n { _key: \"k1\", icon: \"chef-hat\", label: \"Gear allowance\", detail: \"$600 a year on Caldera gear for you or your family\" },\n { _key: \"k2\", icon: \"calendar\", label: \"Four-day weeks in summer\", detail: \"June through August, foundry included\" },\n { _key: \"k3\", icon: \"heart\", label: \"Fully paid health cover\", detail: \"For you and dependants\" },\n { _key: \"k4\", icon: \"tent\", label: \"Two paid camping trips\", detail: \"Product testing counts as work\" },\n ],\n photos: [\n image(\"caldera-foundry-pour\", \"Two workers in leather aprons pouring molten iron into sand moulds\", 1200, 1200),\n image(\"caldera-team-campfire\", \"The Caldera team around a campfire testing skillets at dusk\", 1200, 1200),\n image(\"caldera-care-desk\", \"A customer care rep on the phone at a desk stacked with skillets\", 1200, 1200),\n ],\n button: { label: \"See open roles\", href: \"/careers\", type: \"page\", title: \"Careers\", style: \"primary\" },\n theme: \"light\",\n },\n notes: {\n why:\n \"Values are a short repeater of title → meaning → a real example (the field that separates a credible values page from a poster). Perks are a light inline repeater (icon, label, detail). The photo wall is an array of images with alt required, laid out as a grid. Layout and background are variants/design. Nothing here is shared, so it stays a section — no collection needed.\",\n sanity:\n \"Sanity: `valuesSection` { values: array<object{icon, title, body, example}>, perks: array<object>, gallery: array<image> }.\",\n htmlSignals: [\n \"3–8 short headed blocks with an icon or number ('01', '02') and a paragraph each\",\n \"Headings like 'Our values', 'What we believe', 'How we work'\",\n \"A grid of benefit icons with one-line labels (perks)\",\n \"A collage of candid team photos\",\n ],\n mcp:\n \"Each headed block → a value (icon from its SVG name if recognizable, else leave empty). A second sentence that tells a concrete story → example. Benefits list → perks. Team photo collage → photos (write alt from context; never 'team photo'). Numbered styling → variant 'numbered'.\",\n pitfalls: [\n \"Photos without alt (or alt='team') — describe who's doing what.\",\n \"Perks with prices or policies that change — keep them short and dated in HR, not here.\",\n \"Nine-value lists — validation caps at eight; past five, nobody remembers them.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst careersList: KitEntry = {\n id: \"careers-list\",\n label: \"Careers list\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"list\",\n tags: [\"dynamic-query\", \"conditional\", \"references\", \"variants\", \"embed\"],\n proves: \"Open roles from the Jobs collection or a hiring system (Greenhouse, Lever, Ashby) · grouped by department or location · filters\",\n docTitle: \"Careers\",\n urlPrefix: \"caldera.bettercms.site/\",\n schema: {\n name: \"careersList\",\n title: \"Careers list\",\n kind: \"block\",\n icon: \"id-badge-2\",\n category: \"Company & people\",\n description: \"Open roles, grouped and filterable\",\n variants: [{ id: \"rows\", name: \"Rows\" }, { id: \"cards\", name: \"Cards\" }],\n groups: [CONTENT, { name: \"source\", title: \"Roles\", icon: \"database\" }, DESIGN],\n fieldsets: [{ name: \"empty\", title: \"When there are no roles\", collapsed: true }],\n preview: { title: \"heading\", subtitle: \"source\", icon: \"briefcase\" },\n fields: [\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, max: 48 }, localized: true },\n { name: \"intro\", title: \"Intro\", type: \"text\", rows: 2, group: \"content\", description: \"\" },\n {\n name: \"source\",\n title: \"Roles come from\",\n type: \"select\",\n group: \"source\",\n layout: \"radio\",\n initialValue: \"cms\",\n options: [\n { value: \"cms\", label: \"Jobs collection\", description: \"Written in BetterCMS, each with its own page\" },\n { value: \"ats\", label: \"Hiring system\", description: \"Synced from Greenhouse, Lever or Ashby\" },\n ],\n description: \"\",\n },\n {\n name: \"query\",\n title: \"Which roles\",\n type: \"object\",\n group: \"source\",\n hidden: { field: \"source\", equals: \"cms\" },\n fields: [\n collectionField(\"col_jobs\", \"Jobs\"),\n { name: \"departments\", title: \"Departments\", type: \"array\", description: \"Leave empty for every department.\", of: [{ name: \"department\", title: \"Department\", type: \"reference\", reference: { to: [\"col_departments\"] } }] },\n { name: \"locations\", title: \"Locations\", type: \"array\", description: \"Leave empty for every location.\", of: [{ name: \"location\", title: \"Location\", type: \"reference\", reference: { to: [\"col_locations\"] } }] },\n { name: \"showOpenOnly\", title: \"Only open roles\", type: \"boolean\", initialValue: true, readOnly: true },\n ],\n },\n {\n name: \"ats\",\n title: \"Hiring system\",\n type: \"object\",\n group: \"source\",\n openMode: \"inline\",\n hidden: { field: \"source\", equals: \"ats\" },\n fields: [\n { name: \"provider\", title: \"Provider\", type: \"select\", access: { edit: \"schema.manage\" }, lockReason: \"Set by the developer when the job board is connected.\", options: [{ value: \"greenhouse\", label: \"Greenhouse\" }, { value: \"lever\", label: \"Lever\" }, { value: \"ashby\", label: \"Ashby\" }, { value: \"workable\", label: \"Workable\" }], validation: { required: true }, description: \"\" },\n { name: \"board\", title: \"Job board name\", type: \"string\", access: { edit: \"schema.manage\" }, lockReason: \"From the provider's public board URL.\", validation: { required: true }, description: \"The name in the board URL, e.g. boards.greenhouse.io/caldera.\" },\n { name: \"applyOn\", title: \"Apply button opens\", type: \"select\", layout: \"segmented\", initialValue: \"site\", options: [{ value: \"site\", label: \"Our job page\" }, { value: \"ats\", label: \"Their hosted page\" }] },\n ],\n },\n {\n name: \"groupBy\",\n title: \"Group by\",\n type: \"select\",\n group: \"content\",\n layout: \"segmented\",\n initialValue: \"department\",\n options: [{ value: \"department\", label: \"Department\" }, { value: \"location\", label: \"Location\" }, { value: \"none\", label: \"No groups\" }],\n description: \"\",\n },\n { name: \"filters\", title: \"Filters\", type: \"multiselect\", group: \"content\", layout: \"checkbox\", initialValue: [\"department\", \"location\"], options: [{ value: \"department\", label: \"Department\" }, { value: \"location\", label: \"Location\" }, { value: \"workplace\", label: \"Remote / hybrid / on-site\" }, { value: \"type\", label: \"Full-time / part-time\" }], description: \"Hidden when there are fewer than 6 roles.\" },\n { name: \"emptyHeading\", title: \"Heading\", type: \"string\", group: \"content\", fieldset: \"empty\", initialValue: \"No open roles right now\", validation: { max: 48 }, description: \"\" },\n { name: \"emptyBody\", title: \"Text\", type: \"text\", rows: 2, group: \"content\", fieldset: \"empty\", description: \"\" },\n { name: \"emptyButton\", title: \"Empty button\", type: \"button\", group: \"content\", fieldset: \"empty\" },\n { name: \"rowShows\", title: \"Each role shows\", type: \"multiselect\", group: \"design\", layout: \"checkbox\", initialValue: [\"location\", \"workplace\"], options: [{ value: \"location\", label: \"Location\" }, { value: \"workplace\", label: \"Workplace\" }, { value: \"type\", label: \"Employment type\" }, { value: \"salary\", label: \"Salary range\" }, { value: \"posted\", label: \"Posted date\" }], description: \"\" },\n ],\n },\n value: {\n _variant: \"rows\",\n heading: \"Open roles\",\n intro: \"We hire slowly and keep people for a long time. Every role below is open today.\",\n source: \"cms\",\n query: { collection: \"col_jobs\", departments: [], locations: [], showOpenOnly: true },\n ats: { provider: \"greenhouse\", board: \"caldera\", applyOn: \"site\" },\n groupBy: \"department\",\n filters: [\"department\", \"location\", \"workplace\"],\n emptyHeading: \"No open roles right now\",\n emptyBody: \"We open roles a few times a year. Join the talent list and we'll email you first.\",\n emptyButton: { label: \"Join the talent list\", href: \"/careers/talent-list\", type: \"page\", title: \"Talent list\", style: \"secondary\" },\n rowShows: [\"location\", \"workplace\", \"salary\"],\n },\n notes: {\n why:\n \"Roles are entries (each with its own page and JobPosting data), so the list is a query — or, for companies already on an ATS, a synced source whose provider and board are developer-locked. One select decides which settings show. Grouping and the filter set are editorial; filters hide themselves below six roles because three dropdowns over two roles reads as broken. The empty state is mandatory content: most of the year a small company has no roles.\",\n sanity:\n \"Sanity: `job` documents + GROQ grouped by department; ATS boards are usually fetched at build time in the frontend, outside Sanity entirely.\",\n htmlSignals: [\n \"Department headings with rows of job titles, each with location and 'Remote'/'Hybrid' tags\",\n \"Links to boards.greenhouse.io, jobs.lever.co, jobs.ashbyhq.com, or an embedded board iframe\",\n \"Filter dropdowns for Department / Location / Team\",\n \"'No open positions' message with a general application link\",\n ],\n mcp:\n \"If job links go to an ATS host, set source 'ats', provider from the host and board from the path; don't import jobs (they sync). If jobs have pages on the site, import each as a Jobs entry (see job-posting) and use source 'cms'. Department headings → groupBy 'department'; location headings → 'location'. Copy the empty-state text if visible.\",\n pitfalls: [\n \"Copying job rows into the section — they're stale the day a role closes.\",\n \"Closed roles still listed — the query hard-filters on status.\",\n \"ATS iframes are unstyled and invisible to search — prefer the sync.\",\n \"Salary on the row but not on the job page (or vice versa) — one source: the job entry.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst jobPosting: KitEntry = {\n id: \"job-posting\",\n label: \"Job posting\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"article\",\n tags: [\"seo-structured\", \"conditional\", \"references\", \"repeater\", \"validation\", \"form\"],\n proves: \"Workplace reveals remote regions or office days · salary range with currency and period · apply by form, link or email · JobPosting JSON-LD\",\n docTitle: \"Foundry Technician (Finishing)\",\n urlPrefix: \"caldera.bettercms.site/careers/\",\n schema: {\n name: \"job\",\n title: \"Job\",\n kind: \"entry\",\n icon: \"id-badge-2\",\n category: \"Company & people\",\n description: \"One open role with its own page\",\n preview: { title: \"title\", subtitle: \"department\", icon: \"briefcase\" },\n groups: [CONTENT, { name: \"details\", title: \"Details\", icon: \"list-details\" }, { name: \"apply\", title: \"Applying\", icon: \"send\" }],\n fieldsets: [\n { name: \"pay\", title: \"Pay\", description: \"Shown when the range is on. Several states require it.\", columns: 2 },\n { name: \"where\", title: \"Where\" },\n ],\n fields: [\n { name: \"title\", title: \"Job title\", type: \"string\", group: \"content\", validation: { required: true, max: 70 } },\n { name: \"slug\", title: \"Slug\", type: \"slug\", group: \"content\", validation: { required: true } },\n { name: \"status\", title: \"Status\", type: \"select\", group: \"content\", layout: \"segmented\", initialValue: \"open\", options: [{ value: \"open\", label: \"Open\" }, { value: \"paused\", label: \"Paused\" }, { value: \"closed\", label: \"Closed\" }], description: \"Paused and closed roles leave the list.\" },\n { name: \"summary\", title: \"Summary\", type: \"text\", rows: 3, group: \"content\", validation: { required: true, recommendedMax: 300 } },\n { name: \"about\", title: \"About the role\", type: \"richtext\", group: \"content\", validation: { required: true } },\n { name: \"responsibilities\", title: \"You'll\", type: \"array\", group: \"content\", itemNoun: \"responsibility\", validation: { min: 3, max: 10 }, of: [{ name: \"item\", title: \"Responsibility\", type: \"string\", validation: { required: true, max: 140 } }] },\n { name: \"requirements\", title: \"You have\", type: \"array\", group: \"content\", itemNoun: \"requirement\", validation: { min: 2, max: 8 }, of: [{ name: \"item\", title: \"Requirement\", type: \"string\", validation: { required: true, max: 140 } }] },\n { name: \"bonusPoints\", title: \"Bonus points\", type: \"array\", group: \"content\", itemNoun: \"bonus point\", validation: { max: 6 }, of: [{ name: \"bonusPoint\", title: \"Bonus point\", type: \"string\", validation: { max: 140 } }] },\n { name: \"showBenefits\", title: \"Show company benefits\", type: \"boolean\", group: \"content\", initialValue: true, description: \"The shared Benefits block, edited once in Blocks › Global.\" },\n { name: \"department\", title: \"Department\", type: \"reference\", group: \"details\", reference: { to: [\"col_departments\"] }, validation: { required: true } },\n { name: \"hiringManager\", title: \"Hiring manager\", type: \"reference\", group: \"details\", reference: { to: [\"col_people\"] } },\n { name: \"employmentType\", title: \"Type\", type: \"select\", group: \"details\", validation: { required: true }, options: [{ value: \"FULL_TIME\", label: \"Full-time\" }, { value: \"PART_TIME\", label: \"Part-time\" }, { value: \"CONTRACTOR\", label: \"Contract\" }, { value: \"TEMPORARY\", label: \"Temporary\" }, { value: \"INTERN\", label: \"Internship\" }], description: \"\" },\n { name: \"workplace\", title: \"Workplace\", type: \"select\", group: \"details\", fieldset: \"where\", layout: \"segmented\", validation: { required: true }, initialValue: \"onsite\", options: [{ value: \"onsite\", label: \"On-site\" }, { value: \"hybrid\", label: \"Hybrid\" }, { value: \"remote\", label: \"Remote\" }], description: \"\" },\n { name: \"locations\", title: \"Locations\", type: \"array\", group: \"details\", fieldset: \"where\", hidden: { field: \"workplace\", equals: [\"onsite\", \"hybrid\"] }, validation: { min: 1, max: 5 }, of: [{ name: \"location\", title: \"Location\", type: \"reference\", reference: { to: [\"col_locations\"] } }] },\n { name: \"officeDays\", title: \"Days in the office\", type: \"number\", group: \"details\", fieldset: \"where\", hidden: { field: \"workplace\", equals: \"hybrid\" }, numeric: { unit: \"days / week\", min: 1, max: 4, step: 1 }, validation: { required: true } },\n { name: \"remoteRegions\", title: \"Can work from\", type: \"multiselect\", group: \"details\", fieldset: \"where\", hidden: { field: \"workplace\", equals: \"remote\" }, validation: { required: true }, options: [{ value: \"US\", label: \"United States\" }, { value: \"CA\", label: \"Canada\" }, { value: \"MX\", label: \"Mexico\" }, { value: \"GB\", label: \"United Kingdom\" }] },\n { name: \"showSalary\", title: \"Show the pay range\", type: \"boolean\", group: \"details\", fieldset: \"pay\", initialValue: true },\n { name: \"salaryMin\", title: \"From\", type: \"number\", group: \"details\", fieldset: \"pay\", hidden: { field: \"showSalary\", equals: true }, numeric: { min: 0, step: 1000 }, validation: { required: true } },\n { name: \"salaryMax\", title: \"To\", type: \"number\", group: \"details\", fieldset: \"pay\", hidden: { field: \"showSalary\", equals: true }, numeric: { min: 0, step: 1000 }, validation: { required: true }, description: \"Must be at least the From amount.\" },\n { name: \"currency\", title: \"Currency\", type: \"select\", group: \"details\", fieldset: \"pay\", hidden: { field: \"showSalary\", equals: true }, initialValue: \"USD\", options: [{ value: \"USD\", label: \"USD\" }, { value: \"CAD\", label: \"CAD\" }, { value: \"GBP\", label: \"GBP\" }, { value: \"EUR\", label: \"EUR\" }], description: \"\" },\n { name: \"period\", title: \"Per\", type: \"select\", group: \"details\", fieldset: \"pay\", hidden: { field: \"showSalary\", equals: true }, initialValue: \"YEAR\", options: [{ value: \"HOUR\", label: \"Hour\" }, { value: \"MONTH\", label: \"Month\" }, { value: \"YEAR\", label: \"Year\" }], description: \"\" },\n { name: \"validThrough\", title: \"Apply by\", type: \"date\", group: \"apply\", description: \"Google stops showing the job after this date. Leave empty if open-ended.\" },\n {\n name: \"applyMethod\",\n title: \"People apply\",\n type: \"select\",\n group: \"apply\",\n layout: \"radio\",\n initialValue: \"form\",\n options: [\n { value: \"form\", label: \"With a form on this page\" },\n { value: \"url\", label: \"On another site\", description: \"Greenhouse, Lever, Workable…\" },\n { value: \"email\", label: \"By email\" },\n ],\n description: \"\",\n },\n { name: \"applyForm\", title: \"Application form\", type: \"reference\", group: \"apply\", reference: { to: [\"form\"] }, hidden: { field: \"applyMethod\", equals: \"form\" }, validation: { required: true }, description: \"Submissions arrive in Growth › Forms, tagged with this job.\" },\n { name: \"applyUrl\", title: \"Application link\", type: \"url\", group: \"apply\", hidden: { field: \"applyMethod\", equals: \"url\" }, validation: { required: true } },\n { name: \"applyEmail\", title: \"Send applications to\", type: \"email\", group: \"apply\", hidden: { field: \"applyMethod\", equals: \"email\" }, validation: { required: true }, description: \"Opens an email with the job title filled in.\" },\n { name: \"applyLabel\", title: \"Button label\", type: \"string\", group: \"apply\", initialValue: \"Apply for this role\", validation: { max: 28 }, description: \"\" },\n ],\n },\n value: {\n title: \"Foundry Technician (Finishing)\",\n slug: \"foundry-technician-finishing\",\n status: \"open\",\n summary: \"Turn rough castings into pans people keep for fifty years. You'll own grinding, machining and the first seasoning coat, and within a year you'll train the next technician.\",\n about: \"<p>Every Caldera pan passes through finishing: grinding the cooking surface smooth, machining the base flat and baking on the first coat of seasoning. It's skilled, physical work in a small team that cares about every pan.</p>\",\n responsibilities: [\"Grind and polish cooking surfaces to a 0.2 mm tolerance\", \"Run the CNC lathe for base flattening\", \"Apply and bake the first seasoning coat\", \"Inspect every pan and log defects\", \"Keep the finishing bay safe and clean\"],\n requirements: [\"Two years in a machine shop, foundry or fabrication\", \"Comfortable lifting 25 kg repeatedly\", \"Able to work 7am–3:30pm, Monday to Friday\"],\n bonusPoints: [\"CNC lathe experience\", \"You cook with cast iron at home\"],\n showBenefits: true,\n department: \"en_dep_workshop\",\n hiringManager: \"en_p_luis-ortega\",\n employmentType: \"FULL_TIME\",\n workplace: \"onsite\",\n locations: [\"en_loc_bend-foundry\"],\n showSalary: true,\n salaryMin: 52000,\n salaryMax: 61000,\n currency: \"USD\",\n period: \"YEAR\",\n validThrough: \"2026-11-30\",\n applyMethod: \"form\",\n applyForm: \"form_job-application\",\n applyLabel: \"Apply for this role\",\n },\n notes: {\n why:\n \"A job is an entry because it needs its own URL, it's listed by the careers query, and it emits JobPosting JSON-LD natively (title, description from summary + about, datePosted from publish, validThrough, employmentType, jobLocation from location references or applicantLocationRequirements + jobLocationType TELECOMMUTE for remote, baseSalary from the range). The select values are the schema.org enums on purpose. Workplace reveals exactly one of locations / office days / remote regions; the apply method reveals exactly one of form / URL / email. Responsibilities and requirements are arrays of strings, not one rich-text blob, so the template can count and style them.\",\n sanity:\n \"Sanity: `jobPosting` { department: reference, locations: array<reference>, employmentType: string, salary: object{min, max, currency, unit}, applyUrl: url } with hidden callbacks for remote fields.\",\n htmlSignals: [\n \"Headings 'About the role', 'What you'll do', 'What you bring', 'Nice to have', 'Benefits'\",\n \"A meta strip: Department · Location · Full-time · Remote/Hybrid\",\n \"A salary range like '$52,000 – $61,000 a year' (pay transparency)\",\n \"An 'Apply' button to an ATS or an embedded application form\",\n \"JobPosting JSON-LD in the source\",\n ],\n mcp:\n \"Use the page's JobPosting JSON-LD when present (map employmentType, baseSalary.value.minValue/maxValue/unitText, jobLocationType). Bullet lists under 'What you'll do' → responsibilities, 'What you bring/Requirements' → requirements, 'Nice to have/Bonus' → bonusPoints (one string per <li>). Benefit lists are company-wide → turn on showBenefits and import them once into the shared block. Apply button host → applyMethod url; mailto: → email; on-page form → create a form and reference it.\",\n pitfalls: [\n \"salaryMax lower than salaryMin — cross-field validation isn't in the schema language yet; the renderer must refuse it.\",\n \"Remote roles with a physical location set confuse Google — the conditional hides it.\",\n \"Closed roles deleted instead of closed: their URLs 404 and lose links. Close them.\",\n \"Benefits retyped on every job drift — use the shared block.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst aboutTimeline: KitEntry = {\n id: \"about-timeline\",\n label: \"About & mission with timeline\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"timeline\",\n tags: [\"repeater\", \"media-heavy\", \"rich-text\", \"references\", \"variants\", \"validation\"],\n proves: \"Mission + story (rich text) · founders by reference · stats · dated milestones with optional photo and link · order and orientation as design\",\n docTitle: \"Our story\",\n urlPrefix: \"caldera.bettercms.site/\",\n schema: {\n name: \"aboutStory\",\n title: \"Story and timeline\",\n kind: \"block\",\n icon: \"timeline\",\n category: \"Company & people\",\n description: \"Why we exist and how we got here\",\n variants: [{ id: \"vertical\", name: \"Vertical timeline\" }, { id: \"scroller\", name: \"Horizontal scroller\" }, { id: \"alternating\", name: \"Alternating\" }],\n groups: [CONTENT, { name: \"timeline\", title: \"Timeline\", icon: \"timeline\" }, DESIGN],\n preview: { title: \"heading\", subtitle: \"mission\", icon: \"timeline\" },\n fields: [\n { name: \"eyebrow\", title: \"Eyebrow\", type: \"string\", group: \"content\", validation: { max: 40 } },\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, recommendedMax: 56 }, ai: true, localized: true },\n { name: \"mission\", title: \"Mission\", type: \"text\", rows: 2, group: \"content\", validation: { required: true, recommendedMax: 160 }, localized: true },\n { name: \"story\", title: \"Story\", type: \"richtext\", group: \"content\", localized: true },\n { name: \"founders\", title: \"Founders\", type: \"array\", group: \"content\", validation: { max: 4 }, description: \"Photos and names come from their profiles.\", of: [{ name: \"founder\", title: \"Founder\", type: \"reference\", reference: { to: [\"col_people\"] } }] },\n {\n name: \"stats\",\n title: \"Numbers\",\n type: \"array\",\n group: \"content\",\n itemNoun: \"number\",\n openMode: \"inline\",\n validation: { max: 4 },\n of: [\n {\n name: \"stat\",\n title: \"Number\",\n type: \"object\",\n icon: \"chart-bar\",\n preview: { title: \"value\", subtitle: \"label\" },\n fields: [\n { name: \"value\", title: \"Number\", type: \"string\", validation: { required: true, max: 10 }, placeholder: \"212k\" },\n { name: \"label\", title: \"Label\", type: \"string\", validation: { required: true, max: 40 } },\n ],\n },\n ],\n },\n {\n name: \"milestones\",\n title: \"Milestones\",\n type: \"array\",\n group: \"timeline\",\n itemNoun: \"milestone\",\n validation: { min: 2, max: 30 },\n description: \"Sorted by date on the page.\",\n of: [\n {\n name: \"milestone\",\n title: \"Milestone\",\n type: \"object\",\n icon: \"flag\",\n preview: { title: \"title\", subtitle: \"year\", media: \"image\", fallback: \"Untitled milestone\" },\n fields: [\n { name: \"year\", title: \"Year\", type: \"number\", numeric: { min: 1900, max: 2100, step: 1 }, validation: { required: true } },\n { name: \"month\", title: \"Month\", type: \"select\", options: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"].map((m, i) => ({ value: String(i + 1), label: m })), description: \"Orders milestones within a year.\" },\n { name: \"title\", title: \"What happened\", type: \"string\", validation: { required: true, max: 60 }, localized: true },\n { name: \"body\", title: \"Body\", type: \"text\", rows: 2, validation: { recommendedMax: 200 }, localized: true },\n { name: \"image\", title: \"Image\", type: \"image\" },\n { name: \"link\", title: \"Link\", type: \"link\" },\n ],\n },\n ],\n },\n { name: \"order\", title: \"Order\", type: \"select\", group: \"design\", layout: \"segmented\", initialValue: \"oldest\", options: [{ value: \"oldest\", label: \"Oldest first\" }, { value: \"newest\", label: \"Newest first\" }], description: \"\" },\n { name: \"theme\", title: \"Background\", type: \"select\", group: \"design\", layout: \"segmented\", initialValue: \"light\", options: [{ value: \"light\", label: \"Light\" }, { value: \"dark\", label: \"Dark\" }], description: \"\" },\n ],\n },\n value: {\n _variant: \"vertical\",\n eyebrow: \"Our story\",\n heading: \"One skillet, a borrowed foundry and a lot of burnt eggs\",\n mission: \"We make cookware for people who cook outside, built to be repaired, re-seasoned and handed down.\",\n story: \"<p>Caldera started in 2017 with one skillet, cast on weekends in a borrowed foundry in Bend. Ana and Luis wanted a pan light enough to carry to camp and tough enough to sit in coals.</p><blockquote><p>We burned four hundred eggs getting the cooking surface right.</p><cite>Ana Vidal, co-founder</cite></blockquote><p>Nine years later we cast every piece in our own foundry, two miles from where the first one was poured.</p>\",\n founders: [\"en_p_ana-vidal\", \"en_p_luis-ortega\"],\n stats: [\n { _key: \"st1\", value: \"212k\", label: \"Pans in kitchens and camps\" },\n { _key: \"st2\", value: \"40\", label: \"People in Bend, Oregon\" },\n { _key: \"st3\", value: \"2.1%\", label: \"Scrap rate in 2025\" },\n ],\n milestones: [\n { _key: \"m1\", year: 2017, month: \"4\", title: \"The first skillet\", body: \"Poured on a Saturday in a borrowed foundry. It cracked. The second one didn't.\", image: image(\"caldera-first-skillet\", \"A rough, unfinished cast iron skillet on a workbench\", 1200, 900) },\n { _key: \"m2\", year: 2019, month: \"10\", title: \"Our own foundry\", body: \"A 6,000 sq ft building on Empire Avenue and our first four hires.\" },\n { _key: \"m3\", year: 2022, month: \"6\", title: \"Lifetime warranty\", body: \"Every pan, forever. We replaced 31 in the first year.\", link: { type: \"url\", href: \"/legal/warranty-returns\" } },\n { _key: \"m4\", year: 2026, month: \"3\", title: \"The Cable Fold Grill\", body: \"Eleven prototypes later, our first piece built for the fire itself.\", image: image(\"cable-fold-launch\", \"The Cable Fold grate unfolded over a campfire\", 1200, 900), link: { type: \"entry\", href: \"/products/cable-fold\", entryId: \"en_p1\", title: \"Cable Fold Grill\" } },\n ],\n order: \"oldest\",\n theme: \"light\",\n },\n notes: {\n why:\n \"The about page's story is one section with three jobs: a mission sentence (plain text, required — it's quoted elsewhere), a short rich-text story, and a timeline. Founders are references to People so their portraits match the team page. Milestones are an unordered repeater sorted by year + month at render time, so inserting 2020 doesn't mean dragging. Orientation and order are variants/design, never content.\",\n sanity:\n \"Sanity: `aboutSection` { mission: text, story: portableText, founders: array<reference→person>, timeline: array<object{year: number, title, body, image, link}> }; ordering via GROQ `timeline | order(year asc)`.\",\n htmlSignals: [\n \"Years as big numerals (2017, 2019…) along a vertical or horizontal line\",\n \"Headings like 'Our story', 'Our journey', 'How it started', 'Milestones'\",\n \"A one-sentence mission statement set large near the top\",\n \"Founder portraits with names and 'Co-founder' roles\",\n ],\n mcp:\n \"Each year marker + caption → a milestone (year as a number, month if shown, first line → title, remainder → body, adjacent image → image). The large standalone sentence → mission; surrounding paragraphs → story. Founder photos → People references (create if missing). Number rows ('212k pans') → stats. Don't reproduce the line/dots.\",\n pitfalls: [\n \"Years stored as strings ('2017–2019') can't sort — use the start year and put the range in the title.\",\n \"A timeline of 30 tiny events — the cap is 30; most stories need 6–10.\",\n \"Founder bios duplicated here — reference people instead.\",\n ],\n },\n};\n\n/* ─────────────────────────────────────────────────────────────────────────────────────────────── */\n\nconst pressKit: KitEntry = {\n id: \"press-kit\",\n label: \"Press & brand kit\",\n category: \"Company & people\",\n brand: \"Caldera\",\n previewLayout: \"gallery\",\n tags: [\"deep-nesting\", \"repeater\", \"media-heavy\", \"conditional\", \"validation\", \"a11y\"],\n proves: \"Asset groups → assets → formats → file (4 levels) · kind reveals photo credit or logo background · boilerplate, facts, contact and coverage\",\n docTitle: \"Press\",\n urlPrefix: \"caldera.bettercms.site/\",\n schema: {\n name: \"pressKit\",\n title: \"Press kit\",\n kind: \"block\",\n icon: \"download\",\n category: \"Company & people\",\n description: \"Logos, photos, facts and a press contact\",\n variants: [{ id: \"grid\", name: \"Grid\" }, { id: \"sidebar\", name: \"Facts on the side\" }],\n groups: [CONTENT, { name: \"assets\", title: \"Assets\", icon: \"photo\" }, { name: \"coverage\", title: \"Coverage\", icon: \"news\" }, DESIGN],\n fieldsets: [{ name: \"contact\", title: \"Press contact\" }],\n preview: { title: \"heading\", icon: \"download\" },\n fields: [\n { name: \"heading\", title: \"Heading\", type: \"string\", group: \"content\", validation: { required: true, max: 48 } },\n { name: \"boilerplate\", title: \"About Caldera\", type: \"text\", rows: 4, group: \"content\", validation: { required: true, max: 700 }, localized: true, description: \"Gets a Copy button.\" },\n {\n name: \"facts\",\n title: \"Fast facts\",\n type: \"array\",\n group: \"content\",\n itemNoun: \"fact\",\n openMode: \"inline\",\n validation: { max: 8 },\n of: [\n {\n name: \"fact\",\n title: \"Fact\",\n type: \"object\",\n icon: \"info-circle\",\n preview: { title: \"label\", subtitle: \"value\" },\n fields: [\n { name: \"label\", title: \"Label\", type: \"string\", validation: { required: true, max: 24 }, placeholder: \"Founded\" },\n { name: \"value\", title: \"Value\", type: \"string\", validation: { required: true, max: 60 }, placeholder: \"2017, Bend, Oregon\" },\n ],\n },\n ],\n },\n { name: \"contactName\", title: \"Name\", type: \"string\", group: \"content\", fieldset: \"contact\" },\n { name: \"contactEmail\", title: \"Email\", type: \"email\", group: \"content\", fieldset: \"contact\", validation: { required: true } },\n {\n name: \"assetGroups\",\n title: \"Asset groups\",\n type: \"array\",\n group: \"assets\",\n itemNoun: \"group\",\n validation: { min: 1, max: 6 },\n of: [\n {\n name: \"assetGroup\",\n title: \"Group\",\n type: \"object\",\n icon: \"folder\",\n preview: { title: \"title\", subtitle: \"description\", fallback: \"Untitled group\" },\n fields: [\n { name: \"title\", title: \"Group name\", type: \"string\", validation: { required: true, max: 32 }, placeholder: \"Logos\" },\n { name: \"description\", title: \"Usage notes\", type: \"text\", rows: 2, validation: { recommendedMax: 200 } },\n {\n name: \"assets\",\n title: \"Assets\",\n type: \"array\",\n itemNoun: \"asset\",\n arrayLayout: \"grid\",\n validation: { min: 1, max: 24 },\n of: [\n {\n name: \"asset\",\n title: \"Asset\",\n type: \"object\",\n icon: \"photo\",\n preview: { title: \"name\", subtitle: \"kind\", media: \"preview\" },\n fields: [\n { name: \"name\", title: \"Name\", type: \"string\", validation: { required: true, max: 48 } },\n { name: \"kind\", title: \"Kind\", type: \"select\", layout: \"segmented\", validation: { required: true }, initialValue: \"logo\", options: [{ value: \"logo\", label: \"Logo\" }, { value: \"photo\", label: \"Photo\" }, { value: \"document\", label: \"Document\" }], description: \"\" },\n { name: \"preview\", title: \"Preview\", type: \"image\", validation: { required: true } },\n { name: \"background\", title: \"Made for\", type: \"select\", hidden: { field: \"kind\", equals: \"logo\" }, layout: \"segmented\", initialValue: \"light\", options: [{ value: \"light\", label: \"Light backgrounds\" }, { value: \"dark\", label: \"Dark backgrounds\" }] },\n { name: \"credit\", title: \"Photo credit\", type: \"string\", hidden: { field: \"kind\", equals: \"photo\" }, validation: { required: true, max: 60 }, description: \"Journalists must print it.\" },\n {\n name: \"formats\",\n title: \"Downloads\",\n type: \"array\",\n itemNoun: \"format\",\n openMode: \"inline\",\n validation: { min: 1, max: 5 },\n of: [\n {\n name: \"format\",\n title: \"Format\",\n type: \"object\",\n icon: \"file-download\",\n preview: { title: \"format\", subtitle: \"file.name\" },\n fields: [\n { name: \"format\", title: \"Format\", type: \"select\", validation: { required: true }, options: [{ value: \"svg\", label: \"SVG\" }, { value: \"png\", label: \"PNG\" }, { value: \"eps\", label: \"EPS\" }, { value: \"jpg\", label: \"JPG\" }, { value: \"pdf\", label: \"PDF\" }], description: \"\" },\n { name: \"file\", title: \"File\", type: \"file\", validation: { required: true } },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n { name: \"downloadAll\", title: \"Download everything\", type: \"file\", group: \"assets\", description: \"One .zip of every asset.\" },\n {\n name: \"mentions\",\n title: \"Press mentions\",\n type: \"array\",\n group: \"coverage\",\n itemNoun: \"article\",\n validation: { max: 12 },\n of: [\n {\n name: \"mention\",\n title: \"Article\",\n type: \"object\",\n icon: \"news\",\n preview: { title: \"title\", subtitle: \"outlet\" },\n fields: [\n { name: \"outlet\", title: \"Publication\", type: \"string\", validation: { required: true, max: 40 } },\n { name: \"title\", title: \"Article title\", type: \"string\", validation: { required: true, max: 120 } },\n { name: \"date\", title: \"Date\", type: \"date\" },\n { name: \"link\", title: \"Link\", type: \"link\", validation: { required: true } },\n ],\n },\n ],\n },\n ],\n },\n value: {\n _variant: \"sidebar\",\n heading: \"Press & brand assets\",\n boilerplate: \"Caldera makes cast iron and carbon steel cookware for cooking outdoors, designed to be repaired and handed down. Founded in 2017 in Bend, Oregon, the company casts and finishes every piece in its own foundry and backs it with a lifetime warranty.\",\n facts: [\n { _key: \"f1\", label: \"Founded\", value: \"2017, Bend, Oregon\" },\n { _key: \"f2\", label: \"Founders\", value: \"Ana Vidal and Luis Ortega\" },\n { _key: \"f3\", label: \"Team\", value: \"40 people\" },\n { _key: \"f4\", label: \"Made in\", value: \"Our own foundry, Bend, Oregon\" },\n ],\n contactName: \"Rosa Lindgren\",\n contactEmail: \"press@caldera.co\",\n assetGroups: [\n {\n _key: \"ag1\",\n title: \"Logos\",\n description: \"Leave clear space equal to the height of the flame mark. Don't recolour, stretch or add effects.\",\n assets: [\n {\n _key: \"a1\",\n name: \"Wordmark, ember\",\n kind: \"logo\",\n preview: { url: \"https://picsum.photos/seed/caldera-wordmark/800/400\", alt: \"Caldera wordmark in ember orange\", name: \"caldera-wordmark-ember.png\", width: 800, height: 400 },\n background: \"light\",\n formats: [\n { _key: \"fm1\", format: \"svg\", file: file(\"press/caldera-wordmark-ember.svg\", 4200) },\n { _key: \"fm2\", format: \"png\", file: file(\"press/caldera-wordmark-ember.png\", 48200) },\n ],\n },\n {\n _key: \"a2\",\n name: \"Wordmark, cream\",\n kind: \"logo\",\n preview: { url: \"https://picsum.photos/seed/caldera-wordmark-dark/800/400\", alt: \"Caldera wordmark in cream on charcoal\", name: \"caldera-wordmark-cream.png\", width: 800, height: 400 },\n background: \"dark\",\n formats: [{ _key: \"fm3\", format: \"svg\", file: file(\"press/caldera-wordmark-cream.svg\", 4100) }],\n },\n ],\n },\n {\n _key: \"ag2\",\n title: \"Product photos\",\n description: \"Free for editorial use with credit.\",\n assets: [\n {\n _key: \"a3\",\n name: \"Ridge Skillet over coals\",\n kind: \"photo\",\n preview: image(\"press-ridge-coals\", \"The Ridge Skillet searing steaks over a bed of coals\", 1200, 800),\n credit: \"Photo: Tom Okafor for Caldera\",\n formats: [{ _key: \"fm4\", format: \"jpg\", file: file(\"press/ridge-skillet-coals-6000px.jpg\", 14800000) }],\n },\n ],\n },\n ],\n downloadAll: file(\"press/caldera-press-kit-2026.zip\", 96000000),\n mentions: [\n { _key: \"cv1\", outlet: \"Outside\", title: \"The best camp cookware of 2026\", date: \"2026-05-12\", link: { type: \"url\", href: \"https://www.outsideonline.com/outdoor-gear/camping/best-camp-cookware-2026/\", newTab: true, rel: \"follow\" } },\n { _key: \"cv2\", outlet: \"Bon Appétit\", title: \"This foundry in Oregon wants you to fix your skillet, not replace it\", date: \"2025-11-03\", link: { type: \"url\", href: \"https://www.bonappetit.com/story/caldera-cast-iron-repair\", newTab: true } },\n ],\n },\n notes: {\n why:\n \"A press page is mostly downloads, so the core is asset groups → assets → format variants → file: four drill levels, each with a clear preview (logo thumbnail, 'SVG · 4 KB'). The asset KIND reveals what that kind needs — a background for logos (so a cream logo isn't shown on white), a required credit for photos. Boilerplate is plain text with a hard limit because it's pasted into articles. Coverage is a small repeater of outlet/title/date/link. Nothing is shared elsewhere, so it stays a section; a brand with several sub-brands would promote assets to the media library with tags.\",\n sanity:\n \"Sanity: `pressPage` { boilerplate: text, assetGroups: array<object{title, assets: array<object{name, preview: image, files: array<file>}>}>, coverage: array<object> }. Conditional credit via hidden callbacks on parent.kind.\",\n htmlSignals: [\n \"Logo thumbnails on light and dark tiles with 'SVG' / 'PNG' / 'EPS' download links\",\n \"A 'Download press kit (.zip)' button\",\n \"An 'About {company}' paragraph and a 'Fast facts' list (Founded, HQ, Founders)\",\n \"'Press contact' with an email; 'As seen in' / 'In the press' article list\",\n ],\n mcp:\n \"Download every linked asset into the media library (keep original filenames). Group by on-page headings (Logos, Product photos, Founders). Each tile → asset: name from its caption, kind from the group/file type, preview from the tile image (alt describes it), formats from each download link's extension. Tile background dark → background 'dark'. Photo credit lines → credit. Article list → mentions (outlet from the logo alt or text).\",\n pitfalls: [\n \"Download links that point at the old CDN — re-upload, don't hotlink.\",\n \"Logos previewed on the wrong background become invisible.\",\n \"Photos without credits get printed uncredited — credit is required for photos.\",\n \"A stale .zip that no longer matches the assets shown.\",\n ],\n },\n};\n\nexport const ENTRIES: KitEntry[] = [teamGrid, leadership, values, careersList, jobPosting, aboutTimeline, pressKit];\n"],"mappings":"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"}
|