@cratis/scene.components 0.1.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/.storybook/main.ts +55 -0
- package/.storybook/preview.tsx +36 -0
- package/CratisComponents.stories.tsx +235 -0
- package/README.md +192 -0
- package/bindings/ArcRuntimeBoundary.tsx +36 -0
- package/bindings/BindingKind.ts +18 -0
- package/bindings/BoundConstructor.ts +21 -0
- package/bindings/ElementBinding.ts +19 -0
- package/bindings/MissingBinding.tsx +34 -0
- package/bindings/Placeholder.tsx +42 -0
- package/bindings/bindingRegistry.ts +105 -0
- package/bindings/for_bindingRegistry/when_a_command_is_registered.ts +30 -0
- package/bindings/for_bindingRegistry/when_a_query_is_not_registered.ts +17 -0
- package/bindings/for_bindingRegistry/when_a_query_is_registered.ts +30 -0
- package/bindings/for_bindingRegistry/when_bindings_are_cleared.ts +29 -0
- package/bindings/for_resolveElementBinding/when_resolving_a_command_binding.ts +34 -0
- package/bindings/for_resolveElementBinding/when_resolving_a_query_binding.ts +45 -0
- package/bindings/index.ts +11 -0
- package/bindings/resolveElementBinding.ts +33 -0
- package/common/SceneDropdown.tsx +31 -0
- package/common/SceneErrorBoundary.tsx +17 -0
- package/common/SceneIcon.tsx +18 -0
- package/common/SceneTooltip.tsx +28 -0
- package/common/index.ts +7 -0
- package/cratisComponents.ts +91 -0
- package/cratisComponentsPackage.ts +101 -0
- package/data/SceneDataTable.tsx +41 -0
- package/data/SceneObservableDataTable.tsx +41 -0
- package/data/for_SceneDataTable/when_the_query_binding_is_missing.tsx +48 -0
- package/data/index.ts +5 -0
- package/dialogs/SceneBusyIndicatorDialog.tsx +29 -0
- package/dialogs/SceneCommandDialog.tsx +42 -0
- package/dialogs/SceneConfirmationDialog.tsx +23 -0
- package/dialogs/SceneDialog.tsx +41 -0
- package/dialogs/SceneStepperCommandDialog.tsx +50 -0
- package/dialogs/index.ts +8 -0
- package/dist/cjs/bindings/ArcRuntimeBoundary.js +37 -0
- package/dist/cjs/bindings/ArcRuntimeBoundary.js.map +1 -0
- package/dist/cjs/bindings/BindingKind.js +19 -0
- package/dist/cjs/bindings/BindingKind.js.map +1 -0
- package/dist/cjs/bindings/MissingBinding.js +24 -0
- package/dist/cjs/bindings/MissingBinding.js.map +1 -0
- package/dist/cjs/bindings/Placeholder.js +38 -0
- package/dist/cjs/bindings/Placeholder.js.map +1 -0
- package/dist/cjs/bindings/bindingRegistry.js +101 -0
- package/dist/cjs/bindings/bindingRegistry.js.map +1 -0
- package/dist/cjs/bindings/resolveElementBinding.js +34 -0
- package/dist/cjs/bindings/resolveElementBinding.js.map +1 -0
- package/dist/cjs/common/SceneDropdown.js +30 -0
- package/dist/cjs/common/SceneDropdown.js.map +1 -0
- package/dist/cjs/common/SceneErrorBoundary.js +20 -0
- package/dist/cjs/common/SceneErrorBoundary.js.map +1 -0
- package/dist/cjs/common/SceneIcon.js +22 -0
- package/dist/cjs/common/SceneIcon.js.map +1 -0
- package/dist/cjs/common/SceneTooltip.js +29 -0
- package/dist/cjs/common/SceneTooltip.js.map +1 -0
- package/dist/cjs/cratisComponents.js +106 -0
- package/dist/cjs/cratisComponents.js.map +1 -0
- package/dist/cjs/cratisComponentsPackage.js +105 -0
- package/dist/cjs/cratisComponentsPackage.js.map +1 -0
- package/dist/cjs/data/SceneDataTable.js +46 -0
- package/dist/cjs/data/SceneDataTable.js.map +1 -0
- package/dist/cjs/data/SceneObservableDataTable.js +44 -0
- package/dist/cjs/data/SceneObservableDataTable.js.map +1 -0
- package/dist/cjs/dialogs/SceneBusyIndicatorDialog.js +30 -0
- package/dist/cjs/dialogs/SceneBusyIndicatorDialog.js.map +1 -0
- package/dist/cjs/dialogs/SceneCommandDialog.js +47 -0
- package/dist/cjs/dialogs/SceneCommandDialog.js.map +1 -0
- package/dist/cjs/dialogs/SceneConfirmationDialog.js +25 -0
- package/dist/cjs/dialogs/SceneConfirmationDialog.js.map +1 -0
- package/dist/cjs/dialogs/SceneDialog.js +41 -0
- package/dist/cjs/dialogs/SceneDialog.js.map +1 -0
- package/dist/cjs/dialogs/SceneStepperCommandDialog.js +54 -0
- package/dist/cjs/dialogs/SceneStepperCommandDialog.js.map +1 -0
- package/dist/cjs/editors/SceneFilterPanel.js +57 -0
- package/dist/cjs/editors/SceneFilterPanel.js.map +1 -0
- package/dist/cjs/editors/SceneObjectContentEditor.js +37 -0
- package/dist/cjs/editors/SceneObjectContentEditor.js.map +1 -0
- package/dist/cjs/editors/SceneObjectNavigationalBar.js +34 -0
- package/dist/cjs/editors/SceneObjectNavigationalBar.js.map +1 -0
- package/dist/cjs/editors/SceneSchemaEditor.js +33 -0
- package/dist/cjs/editors/SceneSchemaEditor.js.map +1 -0
- package/dist/cjs/editors/SceneTimeMachine.js +32 -0
- package/dist/cjs/editors/SceneTimeMachine.js.map +1 -0
- package/dist/cjs/editors/filterDefinitions.js +59 -0
- package/dist/cjs/editors/filterDefinitions.js.map +1 -0
- package/dist/cjs/editors/timeMachineVersions.js +44 -0
- package/dist/cjs/editors/timeMachineVersions.js.map +1 -0
- package/dist/cjs/editors/useEditableCopy.js +39 -0
- package/dist/cjs/editors/useEditableCopy.js.map +1 -0
- package/dist/cjs/forms/SceneCommandForm.js +46 -0
- package/dist/cjs/forms/SceneCommandForm.js.map +1 -0
- package/dist/cjs/forms/fields/CommandFormField.js +31 -0
- package/dist/cjs/forms/fields/CommandFormField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneCalendarField.js +41 -0
- package/dist/cjs/forms/fields/SceneCalendarField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneCheckboxField.js +28 -0
- package/dist/cjs/forms/fields/SceneCheckboxField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneChipsField.js +33 -0
- package/dist/cjs/forms/fields/SceneChipsField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneColorPickerField.js +30 -0
- package/dist/cjs/forms/fields/SceneColorPickerField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneDropdownField.js +35 -0
- package/dist/cjs/forms/fields/SceneDropdownField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneInputTextField.js +45 -0
- package/dist/cjs/forms/fields/SceneInputTextField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneMultiSelectField.js +40 -0
- package/dist/cjs/forms/fields/SceneMultiSelectField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneNumberField.js +32 -0
- package/dist/cjs/forms/fields/SceneNumberField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneRadioButtonField.js +35 -0
- package/dist/cjs/forms/fields/SceneRadioButtonField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneRadioGroupField.js +36 -0
- package/dist/cjs/forms/fields/SceneRadioGroupField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneSliderField.js +31 -0
- package/dist/cjs/forms/fields/SceneSliderField.js.map +1 -0
- package/dist/cjs/forms/fields/SceneTextAreaField.js +31 -0
- package/dist/cjs/forms/fields/SceneTextAreaField.js.map +1 -0
- package/dist/cjs/forms/fields/resolveFieldBinding.js +27 -0
- package/dist/cjs/forms/fields/resolveFieldBinding.js.map +1 -0
- package/dist/cjs/index.js +123 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/pages/SceneDataPage.js +45 -0
- package/dist/cjs/pages/SceneDataPage.js.map +1 -0
- package/dist/cjs/pages/SceneFormElement.js +26 -0
- package/dist/cjs/pages/SceneFormElement.js.map +1 -0
- package/dist/cjs/pages/ScenePage.js +28 -0
- package/dist/cjs/pages/ScenePage.js.map +1 -0
- package/dist/cjs/properties.js +104 -0
- package/dist/cjs/properties.js.map +1 -0
- package/dist/cjs/toolbar/SceneToolbar.js +27 -0
- package/dist/cjs/toolbar/SceneToolbar.js.map +1 -0
- package/dist/cjs/toolbar/SceneToolbarButton.js +32 -0
- package/dist/cjs/toolbar/SceneToolbarButton.js.map +1 -0
- package/dist/cjs/toolbar/SceneToolbarGroup.js +27 -0
- package/dist/cjs/toolbar/SceneToolbarGroup.js.map +1 -0
- package/dist/cjs/toolbar/SceneToolbarSeparator.js +25 -0
- package/dist/cjs/toolbar/SceneToolbarSeparator.js.map +1 -0
- package/dist/esm/CratisComponents.stories.d.ts +29 -0
- package/dist/esm/CratisComponents.stories.d.ts.map +1 -0
- package/dist/esm/CratisComponents.stories.js +187 -0
- package/dist/esm/CratisComponents.stories.js.map +1 -0
- package/dist/esm/bindings/ArcRuntimeBoundary.d.ts +6 -0
- package/dist/esm/bindings/ArcRuntimeBoundary.d.ts.map +1 -0
- package/dist/esm/bindings/ArcRuntimeBoundary.js +35 -0
- package/dist/esm/bindings/ArcRuntimeBoundary.js.map +1 -0
- package/dist/esm/bindings/BindingKind.d.ts +5 -0
- package/dist/esm/bindings/BindingKind.d.ts.map +1 -0
- package/dist/esm/bindings/BindingKind.js +17 -0
- package/dist/esm/bindings/BindingKind.js.map +1 -0
- package/dist/esm/bindings/BoundConstructor.d.ts +2 -0
- package/dist/esm/bindings/BoundConstructor.d.ts.map +1 -0
- package/dist/esm/bindings/BoundConstructor.js +2 -0
- package/dist/esm/bindings/BoundConstructor.js.map +1 -0
- package/dist/esm/bindings/ElementBinding.d.ts +6 -0
- package/dist/esm/bindings/ElementBinding.d.ts.map +1 -0
- package/dist/esm/bindings/ElementBinding.js +2 -0
- package/dist/esm/bindings/ElementBinding.js.map +1 -0
- package/dist/esm/bindings/MissingBinding.d.ts +9 -0
- package/dist/esm/bindings/MissingBinding.d.ts.map +1 -0
- package/dist/esm/bindings/MissingBinding.js +22 -0
- package/dist/esm/bindings/MissingBinding.js.map +1 -0
- package/dist/esm/bindings/Placeholder.d.ts +7 -0
- package/dist/esm/bindings/Placeholder.d.ts.map +1 -0
- package/dist/esm/bindings/Placeholder.js +36 -0
- package/dist/esm/bindings/Placeholder.js.map +1 -0
- package/dist/esm/bindings/bindingRegistry.d.ts +11 -0
- package/dist/esm/bindings/bindingRegistry.d.ts.map +1 -0
- package/dist/esm/bindings/bindingRegistry.js +91 -0
- package/dist/esm/bindings/bindingRegistry.js.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_command_is_registered.d.ts +2 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_command_is_registered.d.ts.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_command_is_registered.js +25 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_command_is_registered.js.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_not_registered.d.ts +2 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_not_registered.d.ts.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_not_registered.js +12 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_not_registered.js.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_registered.d.ts +2 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_registered.d.ts.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_registered.js +23 -0
- package/dist/esm/bindings/for_bindingRegistry/when_a_query_is_registered.js.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_bindings_are_cleared.d.ts +2 -0
- package/dist/esm/bindings/for_bindingRegistry/when_bindings_are_cleared.d.ts.map +1 -0
- package/dist/esm/bindings/for_bindingRegistry/when_bindings_are_cleared.js +18 -0
- package/dist/esm/bindings/for_bindingRegistry/when_bindings_are_cleared.js.map +1 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_command_binding.d.ts +2 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_command_binding.d.ts.map +1 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_command_binding.js +25 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_command_binding.js.map +1 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_query_binding.d.ts +2 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_query_binding.d.ts.map +1 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_query_binding.js +33 -0
- package/dist/esm/bindings/for_resolveElementBinding/when_resolving_a_query_binding.js.map +1 -0
- package/dist/esm/bindings/index.d.ts +9 -0
- package/dist/esm/bindings/index.d.ts.map +1 -0
- package/dist/esm/bindings/index.js +9 -0
- package/dist/esm/bindings/index.js.map +1 -0
- package/dist/esm/bindings/resolveElementBinding.d.ts +5 -0
- package/dist/esm/bindings/resolveElementBinding.d.ts.map +1 -0
- package/dist/esm/bindings/resolveElementBinding.js +32 -0
- package/dist/esm/bindings/resolveElementBinding.js.map +1 -0
- package/dist/esm/common/SceneDropdown.d.ts +3 -0
- package/dist/esm/common/SceneDropdown.d.ts.map +1 -0
- package/dist/esm/common/SceneDropdown.js +28 -0
- package/dist/esm/common/SceneDropdown.js.map +1 -0
- package/dist/esm/common/SceneErrorBoundary.d.ts +3 -0
- package/dist/esm/common/SceneErrorBoundary.d.ts.map +1 -0
- package/dist/esm/common/SceneErrorBoundary.js +18 -0
- package/dist/esm/common/SceneErrorBoundary.js.map +1 -0
- package/dist/esm/common/SceneIcon.d.ts +3 -0
- package/dist/esm/common/SceneIcon.d.ts.map +1 -0
- package/dist/esm/common/SceneIcon.js +20 -0
- package/dist/esm/common/SceneIcon.js.map +1 -0
- package/dist/esm/common/SceneTooltip.d.ts +3 -0
- package/dist/esm/common/SceneTooltip.d.ts.map +1 -0
- package/dist/esm/common/SceneTooltip.js +27 -0
- package/dist/esm/common/SceneTooltip.js.map +1 -0
- package/dist/esm/common/index.d.ts +5 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +5 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/cratisComponents.d.ts +4 -0
- package/dist/esm/cratisComponents.d.ts.map +1 -0
- package/dist/esm/cratisComponents.js +103 -0
- package/dist/esm/cratisComponents.js.map +1 -0
- package/dist/esm/cratisComponentsPackage.d.ts +5 -0
- package/dist/esm/cratisComponentsPackage.d.ts.map +1 -0
- package/dist/esm/cratisComponentsPackage.js +102 -0
- package/dist/esm/cratisComponentsPackage.js.map +1 -0
- package/dist/esm/data/SceneDataTable.d.ts +3 -0
- package/dist/esm/data/SceneDataTable.d.ts.map +1 -0
- package/dist/esm/data/SceneDataTable.js +44 -0
- package/dist/esm/data/SceneDataTable.js.map +1 -0
- package/dist/esm/data/SceneObservableDataTable.d.ts +3 -0
- package/dist/esm/data/SceneObservableDataTable.d.ts.map +1 -0
- package/dist/esm/data/SceneObservableDataTable.js +42 -0
- package/dist/esm/data/SceneObservableDataTable.js.map +1 -0
- package/dist/esm/data/for_SceneDataTable/when_the_query_binding_is_missing.d.ts +2 -0
- package/dist/esm/data/for_SceneDataTable/when_the_query_binding_is_missing.d.ts.map +1 -0
- package/dist/esm/data/for_SceneDataTable/when_the_query_binding_is_missing.js +36 -0
- package/dist/esm/data/for_SceneDataTable/when_the_query_binding_is_missing.js.map +1 -0
- package/dist/esm/data/index.d.ts +3 -0
- package/dist/esm/data/index.d.ts.map +1 -0
- package/dist/esm/data/index.js +3 -0
- package/dist/esm/data/index.js.map +1 -0
- package/dist/esm/dialogs/SceneBusyIndicatorDialog.d.ts +3 -0
- package/dist/esm/dialogs/SceneBusyIndicatorDialog.d.ts.map +1 -0
- package/dist/esm/dialogs/SceneBusyIndicatorDialog.js +28 -0
- package/dist/esm/dialogs/SceneBusyIndicatorDialog.js.map +1 -0
- package/dist/esm/dialogs/SceneCommandDialog.d.ts +3 -0
- package/dist/esm/dialogs/SceneCommandDialog.d.ts.map +1 -0
- package/dist/esm/dialogs/SceneCommandDialog.js +45 -0
- package/dist/esm/dialogs/SceneCommandDialog.js.map +1 -0
- package/dist/esm/dialogs/SceneConfirmationDialog.d.ts +2 -0
- package/dist/esm/dialogs/SceneConfirmationDialog.d.ts.map +1 -0
- package/dist/esm/dialogs/SceneConfirmationDialog.js +23 -0
- package/dist/esm/dialogs/SceneConfirmationDialog.js.map +1 -0
- package/dist/esm/dialogs/SceneDialog.d.ts +3 -0
- package/dist/esm/dialogs/SceneDialog.d.ts.map +1 -0
- package/dist/esm/dialogs/SceneDialog.js +39 -0
- package/dist/esm/dialogs/SceneDialog.js.map +1 -0
- package/dist/esm/dialogs/SceneStepperCommandDialog.d.ts +3 -0
- package/dist/esm/dialogs/SceneStepperCommandDialog.d.ts.map +1 -0
- package/dist/esm/dialogs/SceneStepperCommandDialog.js +52 -0
- package/dist/esm/dialogs/SceneStepperCommandDialog.js.map +1 -0
- package/dist/esm/dialogs/index.d.ts +6 -0
- package/dist/esm/dialogs/index.d.ts.map +1 -0
- package/dist/esm/dialogs/index.js +6 -0
- package/dist/esm/dialogs/index.js.map +1 -0
- package/dist/esm/editors/SceneFilterPanel.d.ts +3 -0
- package/dist/esm/editors/SceneFilterPanel.d.ts.map +1 -0
- package/dist/esm/editors/SceneFilterPanel.js +55 -0
- package/dist/esm/editors/SceneFilterPanel.js.map +1 -0
- package/dist/esm/editors/SceneObjectContentEditor.d.ts +3 -0
- package/dist/esm/editors/SceneObjectContentEditor.d.ts.map +1 -0
- package/dist/esm/editors/SceneObjectContentEditor.js +35 -0
- package/dist/esm/editors/SceneObjectContentEditor.js.map +1 -0
- package/dist/esm/editors/SceneObjectNavigationalBar.d.ts +3 -0
- package/dist/esm/editors/SceneObjectNavigationalBar.d.ts.map +1 -0
- package/dist/esm/editors/SceneObjectNavigationalBar.js +32 -0
- package/dist/esm/editors/SceneObjectNavigationalBar.js.map +1 -0
- package/dist/esm/editors/SceneSchemaEditor.d.ts +3 -0
- package/dist/esm/editors/SceneSchemaEditor.d.ts.map +1 -0
- package/dist/esm/editors/SceneSchemaEditor.js +31 -0
- package/dist/esm/editors/SceneSchemaEditor.js.map +1 -0
- package/dist/esm/editors/SceneTimeMachine.d.ts +3 -0
- package/dist/esm/editors/SceneTimeMachine.d.ts.map +1 -0
- package/dist/esm/editors/SceneTimeMachine.js +30 -0
- package/dist/esm/editors/SceneTimeMachine.js.map +1 -0
- package/dist/esm/editors/filterDefinitions.d.ts +3 -0
- package/dist/esm/editors/filterDefinitions.d.ts.map +1 -0
- package/dist/esm/editors/filterDefinitions.js +57 -0
- package/dist/esm/editors/filterDefinitions.js.map +1 -0
- package/dist/esm/editors/for_SceneObjectNavigationalBar/when_navigating_back_up_the_trail.d.ts +2 -0
- package/dist/esm/editors/for_SceneObjectNavigationalBar/when_navigating_back_up_the_trail.d.ts.map +1 -0
- package/dist/esm/editors/for_SceneObjectNavigationalBar/when_navigating_back_up_the_trail.js +15 -0
- package/dist/esm/editors/for_SceneObjectNavigationalBar/when_navigating_back_up_the_trail.js.map +1 -0
- package/dist/esm/editors/for_filterDefinitions/when_reading_filter_definitions.d.ts +2 -0
- package/dist/esm/editors/for_filterDefinitions/when_reading_filter_definitions.d.ts.map +1 -0
- package/dist/esm/editors/for_filterDefinitions/when_reading_filter_definitions.js +39 -0
- package/dist/esm/editors/for_filterDefinitions/when_reading_filter_definitions.js.map +1 -0
- package/dist/esm/editors/for_timeMachineVersions/when_reading_versions.d.ts +2 -0
- package/dist/esm/editors/for_timeMachineVersions/when_reading_versions.d.ts.map +1 -0
- package/dist/esm/editors/for_timeMachineVersions/when_reading_versions.js +32 -0
- package/dist/esm/editors/for_timeMachineVersions/when_reading_versions.js.map +1 -0
- package/dist/esm/editors/index.d.ts +9 -0
- package/dist/esm/editors/index.d.ts.map +1 -0
- package/dist/esm/editors/index.js +9 -0
- package/dist/esm/editors/index.js.map +1 -0
- package/dist/esm/editors/timeMachineVersions.d.ts +3 -0
- package/dist/esm/editors/timeMachineVersions.d.ts.map +1 -0
- package/dist/esm/editors/timeMachineVersions.js +42 -0
- package/dist/esm/editors/timeMachineVersions.js.map +1 -0
- package/dist/esm/editors/useEditableCopy.d.ts +2 -0
- package/dist/esm/editors/useEditableCopy.d.ts.map +1 -0
- package/dist/esm/editors/useEditableCopy.js +37 -0
- package/dist/esm/editors/useEditableCopy.js.map +1 -0
- package/dist/esm/for_cratisComponents/when_rendering_a_screen_through_the_real_renderer.d.ts +2 -0
- package/dist/esm/for_cratisComponents/when_rendering_a_screen_through_the_real_renderer.d.ts.map +1 -0
- package/dist/esm/for_cratisComponents/when_rendering_a_screen_through_the_real_renderer.js +25 -0
- package/dist/esm/for_cratisComponents/when_rendering_a_screen_through_the_real_renderer.js.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_a_profile_ranks_it_above_the_packages_it_layers_on.d.ts +2 -0
- package/dist/esm/for_cratisComponentsPackage/when_a_profile_ranks_it_above_the_packages_it_layers_on.d.ts.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_a_profile_ranks_it_above_the_packages_it_layers_on.js +34 -0
- package/dist/esm/for_cratisComponentsPackage/when_a_profile_ranks_it_above_the_packages_it_layers_on.js.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_resolving_its_dependencies.d.ts +2 -0
- package/dist/esm/for_cratisComponentsPackage/when_resolving_its_dependencies.d.ts.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_resolving_its_dependencies.js +49 -0
- package/dist/esm/for_cratisComponentsPackage/when_resolving_its_dependencies.js.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_validating_the_bundle.d.ts +2 -0
- package/dist/esm/for_cratisComponentsPackage/when_validating_the_bundle.d.ts.map +1 -0
- package/dist/esm/for_cratisComponentsPackage/when_validating_the_bundle.js +27 -0
- package/dist/esm/for_cratisComponentsPackage/when_validating_the_bundle.js.map +1 -0
- package/dist/esm/for_properties/when_a_property_has_the_wrong_type.d.ts +2 -0
- package/dist/esm/for_properties/when_a_property_has_the_wrong_type.d.ts.map +1 -0
- package/dist/esm/for_properties/when_a_property_has_the_wrong_type.js +24 -0
- package/dist/esm/for_properties/when_a_property_has_the_wrong_type.js.map +1 -0
- package/dist/esm/for_properties/when_a_property_is_missing.d.ts +2 -0
- package/dist/esm/for_properties/when_a_property_is_missing.d.ts.map +1 -0
- package/dist/esm/for_properties/when_a_property_is_missing.js +13 -0
- package/dist/esm/for_properties/when_a_property_is_missing.js.map +1 -0
- package/dist/esm/for_properties/when_a_property_is_present.d.ts +2 -0
- package/dist/esm/for_properties/when_a_property_is_present.d.ts.map +1 -0
- package/dist/esm/for_properties/when_a_property_is_present.js +21 -0
- package/dist/esm/for_properties/when_a_property_is_present.js.map +1 -0
- package/dist/esm/forms/SceneCommandForm.d.ts +3 -0
- package/dist/esm/forms/SceneCommandForm.d.ts.map +1 -0
- package/dist/esm/forms/SceneCommandForm.js +44 -0
- package/dist/esm/forms/SceneCommandForm.js.map +1 -0
- package/dist/esm/forms/fields/CommandFormField.d.ts +9 -0
- package/dist/esm/forms/fields/CommandFormField.d.ts.map +1 -0
- package/dist/esm/forms/fields/CommandFormField.js +29 -0
- package/dist/esm/forms/fields/CommandFormField.js.map +1 -0
- package/dist/esm/forms/fields/FieldBinding.d.ts +6 -0
- package/dist/esm/forms/fields/FieldBinding.d.ts.map +1 -0
- package/dist/esm/forms/fields/FieldBinding.js +2 -0
- package/dist/esm/forms/fields/FieldBinding.js.map +1 -0
- package/dist/esm/forms/fields/SceneCalendarField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneCalendarField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneCalendarField.js +39 -0
- package/dist/esm/forms/fields/SceneCalendarField.js.map +1 -0
- package/dist/esm/forms/fields/SceneCheckboxField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneCheckboxField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneCheckboxField.js +26 -0
- package/dist/esm/forms/fields/SceneCheckboxField.js.map +1 -0
- package/dist/esm/forms/fields/SceneChipsField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneChipsField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneChipsField.js +31 -0
- package/dist/esm/forms/fields/SceneChipsField.js.map +1 -0
- package/dist/esm/forms/fields/SceneColorPickerField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneColorPickerField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneColorPickerField.js +28 -0
- package/dist/esm/forms/fields/SceneColorPickerField.js.map +1 -0
- package/dist/esm/forms/fields/SceneDropdownField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneDropdownField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneDropdownField.js +33 -0
- package/dist/esm/forms/fields/SceneDropdownField.js.map +1 -0
- package/dist/esm/forms/fields/SceneInputTextField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneInputTextField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneInputTextField.js +43 -0
- package/dist/esm/forms/fields/SceneInputTextField.js.map +1 -0
- package/dist/esm/forms/fields/SceneMultiSelectField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneMultiSelectField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneMultiSelectField.js +38 -0
- package/dist/esm/forms/fields/SceneMultiSelectField.js.map +1 -0
- package/dist/esm/forms/fields/SceneNumberField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneNumberField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneNumberField.js +30 -0
- package/dist/esm/forms/fields/SceneNumberField.js.map +1 -0
- package/dist/esm/forms/fields/SceneRadioButtonField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneRadioButtonField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneRadioButtonField.js +33 -0
- package/dist/esm/forms/fields/SceneRadioButtonField.js.map +1 -0
- package/dist/esm/forms/fields/SceneRadioGroupField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneRadioGroupField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneRadioGroupField.js +34 -0
- package/dist/esm/forms/fields/SceneRadioGroupField.js.map +1 -0
- package/dist/esm/forms/fields/SceneSliderField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneSliderField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneSliderField.js +29 -0
- package/dist/esm/forms/fields/SceneSliderField.js.map +1 -0
- package/dist/esm/forms/fields/SceneTextAreaField.d.ts +3 -0
- package/dist/esm/forms/fields/SceneTextAreaField.d.ts.map +1 -0
- package/dist/esm/forms/fields/SceneTextAreaField.js +29 -0
- package/dist/esm/forms/fields/SceneTextAreaField.js.map +1 -0
- package/dist/esm/forms/fields/for_CommandFormField/when_the_field_names_no_property.d.ts +2 -0
- package/dist/esm/forms/fields/for_CommandFormField/when_the_field_names_no_property.d.ts.map +1 -0
- package/dist/esm/forms/fields/for_CommandFormField/when_the_field_names_no_property.js +12 -0
- package/dist/esm/forms/fields/for_CommandFormField/when_the_field_names_no_property.js.map +1 -0
- package/dist/esm/forms/fields/for_resolveFieldBinding/when_resolving_a_field_binding.d.ts +2 -0
- package/dist/esm/forms/fields/for_resolveFieldBinding/when_resolving_a_field_binding.d.ts.map +1 -0
- package/dist/esm/forms/fields/for_resolveFieldBinding/when_resolving_a_field_binding.js +24 -0
- package/dist/esm/forms/fields/for_resolveFieldBinding/when_resolving_a_field_binding.js.map +1 -0
- package/dist/esm/forms/fields/index.d.ts +16 -0
- package/dist/esm/forms/fields/index.d.ts.map +1 -0
- package/dist/esm/forms/fields/index.js +16 -0
- package/dist/esm/forms/fields/index.js.map +1 -0
- package/dist/esm/forms/fields/resolveFieldBinding.d.ts +4 -0
- package/dist/esm/forms/fields/resolveFieldBinding.d.ts.map +1 -0
- package/dist/esm/forms/fields/resolveFieldBinding.js +25 -0
- package/dist/esm/forms/fields/resolveFieldBinding.js.map +1 -0
- package/dist/esm/forms/index.d.ts +3 -0
- package/dist/esm/forms/index.d.ts.map +1 -0
- package/dist/esm/forms/index.js +3 -0
- package/dist/esm/forms/index.js.map +1 -0
- package/dist/esm/given.d.ts +3 -0
- package/dist/esm/given.d.ts.map +1 -0
- package/dist/esm/given.js +21 -0
- package/dist/esm/given.js.map +1 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +51 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/pages/SceneDataPage.d.ts +3 -0
- package/dist/esm/pages/SceneDataPage.d.ts.map +1 -0
- package/dist/esm/pages/SceneDataPage.js +43 -0
- package/dist/esm/pages/SceneDataPage.js.map +1 -0
- package/dist/esm/pages/SceneFormElement.d.ts +3 -0
- package/dist/esm/pages/SceneFormElement.d.ts.map +1 -0
- package/dist/esm/pages/SceneFormElement.js +24 -0
- package/dist/esm/pages/SceneFormElement.js.map +1 -0
- package/dist/esm/pages/ScenePage.d.ts +3 -0
- package/dist/esm/pages/ScenePage.d.ts.map +1 -0
- package/dist/esm/pages/ScenePage.js +26 -0
- package/dist/esm/pages/ScenePage.js.map +1 -0
- package/dist/esm/pages/for_ScenePage/when_rendering_a_page.d.ts +2 -0
- package/dist/esm/pages/for_ScenePage/when_rendering_a_page.d.ts.map +1 -0
- package/dist/esm/pages/for_ScenePage/when_rendering_a_page.js +31 -0
- package/dist/esm/pages/for_ScenePage/when_rendering_a_page.js.map +1 -0
- package/dist/esm/pages/index.d.ts +4 -0
- package/dist/esm/pages/index.d.ts.map +1 -0
- package/dist/esm/pages/index.js +4 -0
- package/dist/esm/pages/index.js.map +1 -0
- package/dist/esm/properties.d.ts +9 -0
- package/dist/esm/properties.d.ts.map +1 -0
- package/dist/esm/properties.js +95 -0
- package/dist/esm/properties.js.map +1 -0
- package/dist/esm/toolbar/SceneToolbar.d.ts +3 -0
- package/dist/esm/toolbar/SceneToolbar.d.ts.map +1 -0
- package/dist/esm/toolbar/SceneToolbar.js +25 -0
- package/dist/esm/toolbar/SceneToolbar.js.map +1 -0
- package/dist/esm/toolbar/SceneToolbarButton.d.ts +3 -0
- package/dist/esm/toolbar/SceneToolbarButton.d.ts.map +1 -0
- package/dist/esm/toolbar/SceneToolbarButton.js +30 -0
- package/dist/esm/toolbar/SceneToolbarButton.js.map +1 -0
- package/dist/esm/toolbar/SceneToolbarGroup.d.ts +3 -0
- package/dist/esm/toolbar/SceneToolbarGroup.d.ts.map +1 -0
- package/dist/esm/toolbar/SceneToolbarGroup.js +25 -0
- package/dist/esm/toolbar/SceneToolbarGroup.js.map +1 -0
- package/dist/esm/toolbar/SceneToolbarSeparator.d.ts +3 -0
- package/dist/esm/toolbar/SceneToolbarSeparator.d.ts.map +1 -0
- package/dist/esm/toolbar/SceneToolbarSeparator.js +23 -0
- package/dist/esm/toolbar/SceneToolbarSeparator.js.map +1 -0
- package/dist/esm/toolbar/index.d.ts +5 -0
- package/dist/esm/toolbar/index.d.ts.map +1 -0
- package/dist/esm/toolbar/index.js +5 -0
- package/dist/esm/toolbar/index.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/editors/SceneFilterPanel.tsx +52 -0
- package/editors/SceneObjectContentEditor.tsx +36 -0
- package/editors/SceneObjectNavigationalBar.tsx +34 -0
- package/editors/SceneSchemaEditor.tsx +34 -0
- package/editors/SceneTimeMachine.tsx +32 -0
- package/editors/filterDefinitions.ts +59 -0
- package/editors/for_SceneObjectNavigationalBar/when_navigating_back_up_the_trail.tsx +18 -0
- package/editors/for_filterDefinitions/when_reading_filter_definitions.ts +49 -0
- package/editors/for_timeMachineVersions/when_reading_versions.ts +39 -0
- package/editors/index.ts +11 -0
- package/editors/timeMachineVersions.ts +44 -0
- package/editors/useEditableCopy.ts +32 -0
- package/for_cratisComponents/when_rendering_a_screen_through_the_real_renderer.tsx +37 -0
- package/for_cratisComponentsPackage/when_a_profile_ranks_it_above_the_packages_it_layers_on.ts +49 -0
- package/for_cratisComponentsPackage/when_resolving_its_dependencies.ts +68 -0
- package/for_cratisComponentsPackage/when_validating_the_bundle.ts +39 -0
- package/for_properties/when_a_property_has_the_wrong_type.ts +41 -0
- package/for_properties/when_a_property_is_missing.ts +26 -0
- package/for_properties/when_a_property_is_present.ts +36 -0
- package/forms/SceneCommandForm.tsx +45 -0
- package/forms/fields/CommandFormField.tsx +32 -0
- package/forms/fields/FieldBinding.ts +26 -0
- package/forms/fields/SceneCalendarField.tsx +41 -0
- package/forms/fields/SceneCheckboxField.tsx +29 -0
- package/forms/fields/SceneChipsField.tsx +34 -0
- package/forms/fields/SceneColorPickerField.tsx +31 -0
- package/forms/fields/SceneDropdownField.tsx +36 -0
- package/forms/fields/SceneInputTextField.tsx +37 -0
- package/forms/fields/SceneMultiSelectField.tsx +40 -0
- package/forms/fields/SceneNumberField.tsx +33 -0
- package/forms/fields/SceneRadioButtonField.tsx +37 -0
- package/forms/fields/SceneRadioGroupField.tsx +36 -0
- package/forms/fields/SceneSliderField.tsx +32 -0
- package/forms/fields/SceneTextAreaField.tsx +32 -0
- package/forms/fields/for_CommandFormField/when_the_field_names_no_property.tsx +16 -0
- package/forms/fields/for_resolveFieldBinding/when_resolving_a_field_binding.ts +34 -0
- package/forms/fields/index.ts +18 -0
- package/forms/fields/resolveFieldBinding.ts +27 -0
- package/forms/index.ts +5 -0
- package/given.ts +33 -0
- package/index.ts +14 -0
- package/package.json +68 -0
- package/pages/SceneDataPage.tsx +40 -0
- package/pages/SceneFormElement.tsx +21 -0
- package/pages/ScenePage.tsx +30 -0
- package/pages/for_ScenePage/when_rendering_a_page.tsx +39 -0
- package/pages/index.ts +6 -0
- package/properties.ts +112 -0
- package/storybook-static/assets/CommandDialog-B78_eDOU.css +1 -0
- package/storybook-static/assets/CratisComponents-qPooLvTv.css +1 -0
- package/storybook-static/assets/DataPage-CroWzXsC.css +1 -0
- package/storybook-static/assets/iframe-DQhZBFM5.css +1 -0
- package/theme/sceneTokenBridge.css +72 -0
- package/toolbar/SceneToolbar.tsx +28 -0
- package/toolbar/SceneToolbarButton.tsx +31 -0
- package/toolbar/SceneToolbarGroup.tsx +28 -0
- package/toolbar/SceneToolbarSeparator.tsx +21 -0
- package/toolbar/index.ts +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneToolbarButton.js","sources":["../../../toolbar/SceneToolbarButton.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ToolbarButton } from '@cratis/components/Toolbar';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, stringProperty, unionProperty } from '../properties';\n\n/** Which side of the button its tooltip appears on. */\nconst tooltipPositions = ['top', 'right', 'bottom', 'left'] as const;\n\n/**\n * The `Cratis.Components:toolbarButton` component - `ToolbarButton` from `@cratis/components/Toolbar`.\n *\n * `title` is required by the underlying component and is not decoration: it is both the tooltip text and\n * the accessible name, so a toolbar of icon-only buttons is still usable by anyone who cannot see the\n * icons. It defaults to the `text` property rather than to an empty string, so a button that has a\n * visible label is never left nameless.\n */\nexport function SceneToolbarButton({ element }: RegisteredComponentProps) {\n const text = stringProperty(element.properties, 'text');\n\n return (\n <ToolbarButton\n icon={stringProperty(element.properties, 'icon')}\n text={text}\n title={stringProperty(element.properties, 'title') ?? text ?? ''}\n active={booleanProperty(element.properties, 'active')}\n tooltipPosition={unionProperty(element.properties, 'tooltipPosition', tooltipPositions)}\n />\n );\n}\n"],"names":["tooltipPositions","SceneToolbarButton","element","text","stringProperty","properties","_jsx","ToolbarButton","icon","title","active","booleanProperty","tooltipPosition","unionProperty"],"mappings":";;;;;;AAOA,wDACA,MAAMA,gBAAAA,GAAmB;AAAC,IAAA,KAAA;AAAO,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA;AAAO,CAAA;AAE3D;;;;;;;AAOC,IACM,SAASC,kBAAAA,CAAmB,EAAEC,OAAO,EAA4B,EAAA;AACpE,IAAA,MAAMC,IAAAA,GAAOC,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,MAAA,CAAA;AAEhD,IAAA,qBACIC,cAAA,CAACC,qBAAAA,EAAAA;QACGC,IAAAA,EAAMJ,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,MAAA,CAAA;QACzCF,IAAAA,EAAMA,IAAAA;AACNM,QAAAA,KAAAA,EAAOL,yBAAAA,CAAeF,OAAAA,CAAQG,UAAU,EAAE,YAAYF,IAAAA,IAAQ,EAAA;QAC9DO,MAAAA,EAAQC,0BAAAA,CAAgBT,OAAAA,CAAQG,UAAU,EAAE,QAAA,CAAA;AAC5CO,QAAAA,eAAAA,EAAiBC,wBAAAA,CAAcX,OAAAA,CAAQG,UAAU,EAAE,iBAAA,EAAmBL,gBAAAA;;AAGlF;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Toolbar = require('@cratis/components/Toolbar');
|
|
5
|
+
var properties = require('../properties.js');
|
|
6
|
+
|
|
7
|
+
/** Whether the group's buttons stack or sit in a row. */ const orientations = [
|
|
8
|
+
'vertical',
|
|
9
|
+
'horizontal'
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* The `Cratis.Components:toolbarGroup` component - `ToolbarGroup` from `@cratis/components/Toolbar`.
|
|
13
|
+
*
|
|
14
|
+
* Keeps related buttons together inside a toolbar. `slotName` opts the group into the library's toolbar
|
|
15
|
+
* slot mechanism, which lets content contributed from elsewhere in the application land in this group -
|
|
16
|
+
* the same idea as Scene's own contribution points, and the reason the property is worth exposing rather
|
|
17
|
+
* than treating the group as purely visual.
|
|
18
|
+
*/ function SceneToolbarGroup({ element, slots }) {
|
|
19
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Toolbar.ToolbarGroup, {
|
|
20
|
+
slotName: properties.stringProperty(element.properties, 'slotName'),
|
|
21
|
+
orientation: properties.unionProperty(element.properties, 'orientation', orientations),
|
|
22
|
+
children: slots.content
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.SceneToolbarGroup = SceneToolbarGroup;
|
|
27
|
+
//# sourceMappingURL=SceneToolbarGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneToolbarGroup.js","sources":["../../../toolbar/SceneToolbarGroup.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ToolbarGroup } from '@cratis/components/Toolbar';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { stringProperty, unionProperty } from '../properties';\n\n/** Whether the group's buttons stack or sit in a row. */\nconst orientations = ['vertical', 'horizontal'] as const;\n\n/**\n * The `Cratis.Components:toolbarGroup` component - `ToolbarGroup` from `@cratis/components/Toolbar`.\n *\n * Keeps related buttons together inside a toolbar. `slotName` opts the group into the library's toolbar\n * slot mechanism, which lets content contributed from elsewhere in the application land in this group -\n * the same idea as Scene's own contribution points, and the reason the property is worth exposing rather\n * than treating the group as purely visual.\n */\nexport function SceneToolbarGroup({ element, slots }: RegisteredComponentProps) {\n return (\n <ToolbarGroup\n slotName={stringProperty(element.properties, 'slotName')}\n orientation={unionProperty(element.properties, 'orientation', orientations)}\n >\n {slots.content}\n </ToolbarGroup>\n );\n}\n"],"names":["orientations","SceneToolbarGroup","element","slots","_jsx","ToolbarGroup","slotName","stringProperty","properties","orientation","unionProperty","content"],"mappings":";;;;;;AAOA,0DACA,MAAMA,YAAAA,GAAe;AAAC,IAAA,UAAA;AAAY,IAAA;AAAa,CAAA;AAE/C;;;;;;;AAOC,IACM,SAASC,iBAAAA,CAAkB,EAAEC,OAAO,EAAEC,KAAK,EAA4B,EAAA;AAC1E,IAAA,qBACIC,cAAA,CAACC,oBAAAA,EAAAA;QACGC,QAAAA,EAAUC,yBAAAA,CAAeL,OAAAA,CAAQM,UAAU,EAAE,UAAA,CAAA;AAC7CC,QAAAA,WAAAA,EAAaC,wBAAAA,CAAcR,OAAAA,CAAQM,UAAU,EAAE,aAAA,EAAeR,YAAAA,CAAAA;AAE7DG,QAAAA,QAAAA,EAAAA,KAAAA,CAAMQ;;AAGnB;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Toolbar = require('@cratis/components/Toolbar');
|
|
5
|
+
var properties = require('../properties.js');
|
|
6
|
+
|
|
7
|
+
/** Whether the separator is drawn as a horizontal rule or a vertical one. */ const orientations = [
|
|
8
|
+
'vertical',
|
|
9
|
+
'horizontal'
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* The `Cratis.Components:toolbarSeparator` component - `ToolbarSeparator` from
|
|
13
|
+
* `@cratis/components/Toolbar`.
|
|
14
|
+
*
|
|
15
|
+
* The divider between groups of tools. Its `orientation` describes the *toolbar* it sits in rather than
|
|
16
|
+
* the line it draws - a vertical toolbar gets a horizontal rule - which matches how the toolbar's own
|
|
17
|
+
* `orientation` reads, so a screen sets the same value on both.
|
|
18
|
+
*/ function SceneToolbarSeparator({ element }) {
|
|
19
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Toolbar.ToolbarSeparator, {
|
|
20
|
+
orientation: properties.unionProperty(element.properties, 'orientation', orientations)
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.SceneToolbarSeparator = SceneToolbarSeparator;
|
|
25
|
+
//# sourceMappingURL=SceneToolbarSeparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneToolbarSeparator.js","sources":["../../../toolbar/SceneToolbarSeparator.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ToolbarSeparator } from '@cratis/components/Toolbar';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { unionProperty } from '../properties';\n\n/** Whether the separator is drawn as a horizontal rule or a vertical one. */\nconst orientations = ['vertical', 'horizontal'] as const;\n\n/**\n * The `Cratis.Components:toolbarSeparator` component - `ToolbarSeparator` from\n * `@cratis/components/Toolbar`.\n *\n * The divider between groups of tools. Its `orientation` describes the *toolbar* it sits in rather than\n * the line it draws - a vertical toolbar gets a horizontal rule - which matches how the toolbar's own\n * `orientation` reads, so a screen sets the same value on both.\n */\nexport function SceneToolbarSeparator({ element }: RegisteredComponentProps) {\n return <ToolbarSeparator orientation={unionProperty(element.properties, 'orientation', orientations)} />;\n}\n"],"names":["orientations","SceneToolbarSeparator","element","_jsx","ToolbarSeparator","orientation","unionProperty","properties"],"mappings":";;;;;;AAOA,8EACA,MAAMA,YAAAA,GAAe;AAAC,IAAA,UAAA;AAAY,IAAA;AAAa,CAAA;AAE/C;;;;;;;AAOC,IACM,SAASC,qBAAAA,CAAsB,EAAEC,OAAO,EAA4B,EAAA;AACvE,IAAA,qBAAOC,cAAA,CAACC,wBAAAA,EAAAA;AAAiBC,QAAAA,WAAAA,EAAaC,wBAAAA,CAAcJ,OAAAA,CAAQK,UAAU,EAAE,aAAA,EAAeP,YAAAA;;AAC3F;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import { SceneElementView } from '@cratis/scene.react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof SceneElementView;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
args: {
|
|
16
|
+
registry: import("@cratis/scene.react").ComponentRegistry;
|
|
17
|
+
resolveBinding: () => undefined;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export default meta;
|
|
21
|
+
type Story = StoryObj<typeof meta>;
|
|
22
|
+
export declare const Playground: Story;
|
|
23
|
+
export declare const MissingBindings: Story;
|
|
24
|
+
export declare const Toolbar: Story;
|
|
25
|
+
export declare const Editors: Story;
|
|
26
|
+
export declare const InContext: Story;
|
|
27
|
+
export declare const Themed: Story;
|
|
28
|
+
export declare const Interactive: Story;
|
|
29
|
+
//# sourceMappingURL=CratisComponents.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CratisComponents.stories.d.ts","sourceRoot":"","sources":["../../CratisComponents.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AA6D3E,QAAA,MAAM,IAAI;;;;;QAKF,MAAM;QACN,IAAI;YACA,WAAW;gBACP,SAAS;;;;;QAQjB,QAAQ;QACR,cAAc;;CAEmB,CAAC;eAE3B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAGnC,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAOF,eAAO,MAAM,eAAe,EAAE,KAY7B,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KA0BrB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,KA4BvB,CAAC;AA+BF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { expect, fireEvent, within } from 'storybook/test';
|
|
3
|
+
import { HorizontalAlignment, VerticalAlignment, Visibility } from '@cratis/scene.model';
|
|
4
|
+
import { SceneElementView, SceneThemeProvider } from '@cratis/scene.react';
|
|
5
|
+
import { cratisComponents } from './cratisComponents';
|
|
6
|
+
function component(id, componentName, properties = {}, slots = {}) {
|
|
7
|
+
return {
|
|
8
|
+
id,
|
|
9
|
+
name: id,
|
|
10
|
+
componentName,
|
|
11
|
+
properties,
|
|
12
|
+
slots,
|
|
13
|
+
visibility: Visibility.Visible,
|
|
14
|
+
isEnabled: true,
|
|
15
|
+
opacity: 1,
|
|
16
|
+
size: {},
|
|
17
|
+
zIndex: 0,
|
|
18
|
+
minimumSize: {},
|
|
19
|
+
maximumSize: {},
|
|
20
|
+
margin: { left: 0, top: 0, right: 0, bottom: 0 },
|
|
21
|
+
horizontalAlignment: HorizontalAlignment.Stretch,
|
|
22
|
+
verticalAlignment: VerticalAlignment.Stretch,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const toolbar = component('toolbar', 'Cratis.Components:toolbar', { orientation: 'horizontal' }, {
|
|
26
|
+
content: [
|
|
27
|
+
component('new', 'Cratis.Components:toolbarButton', { icon: 'pi pi-plus', title: 'New invoice' }),
|
|
28
|
+
component('refresh', 'Cratis.Components:toolbarButton', { icon: 'pi pi-refresh', title: 'Refresh' }),
|
|
29
|
+
component('separator', 'Cratis.Components:toolbarSeparator', { orientation: 'horizontal' }),
|
|
30
|
+
component('group', 'Cratis.Components:toolbarGroup', { orientation: 'horizontal' }, {
|
|
31
|
+
content: [
|
|
32
|
+
component('approve', 'Cratis.Components:toolbarButton', { icon: 'pi pi-check', title: 'Approve', active: true }),
|
|
33
|
+
component('reject', 'Cratis.Components:toolbarButton', { icon: 'pi pi-times', title: 'Reject' }),
|
|
34
|
+
],
|
|
35
|
+
}),
|
|
36
|
+
],
|
|
37
|
+
});
|
|
38
|
+
const statusDropdown = component('status', 'Cratis.Components:dropdown', {
|
|
39
|
+
placeholder: 'Any status',
|
|
40
|
+
showClear: true,
|
|
41
|
+
options: [
|
|
42
|
+
{ label: 'Draft', value: 'draft' },
|
|
43
|
+
{ label: 'Approved', value: 'approved' },
|
|
44
|
+
{ label: 'Paid', value: 'paid' },
|
|
45
|
+
],
|
|
46
|
+
});
|
|
47
|
+
const invoicesTable = component('invoices', 'Cratis.Components:dataTable', {
|
|
48
|
+
query: 'AllInvoices',
|
|
49
|
+
emptyMessage: 'No invoices yet',
|
|
50
|
+
dataKey: 'invoiceId',
|
|
51
|
+
});
|
|
52
|
+
const invoicesScreen = component('page', 'Cratis.Components:page', { title: 'Invoices', showTitle: true, panel: true }, {
|
|
53
|
+
content: [toolbar, statusDropdown, invoicesTable],
|
|
54
|
+
});
|
|
55
|
+
const meta = {
|
|
56
|
+
title: 'Packages/Cratis Components',
|
|
57
|
+
component: SceneElementView,
|
|
58
|
+
tags: ['autodocs'],
|
|
59
|
+
parameters: {
|
|
60
|
+
layout: 'padded',
|
|
61
|
+
docs: {
|
|
62
|
+
description: {
|
|
63
|
+
component: 'The `Cratis.Components` Scene package: `@cratis/components` exposed as resolvable Scene components. ' +
|
|
64
|
+
'Every story renders a real `ExternalComponent` tree through the real `SceneElementView` and the real ' +
|
|
65
|
+
'component registry, so what is shown is exactly what a `.play` screen resolves to.',
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
args: {
|
|
70
|
+
registry: cratisComponents,
|
|
71
|
+
resolveBinding: () => undefined,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
export default meta;
|
|
75
|
+
export const Playground = {
|
|
76
|
+
args: { element: invoicesScreen },
|
|
77
|
+
};
|
|
78
|
+
export const MissingBindings = {
|
|
79
|
+
args: {
|
|
80
|
+
element: component('unbound', 'Cratis.Components:page', { title: 'Unbound', showTitle: true }, {
|
|
81
|
+
content: [
|
|
82
|
+
component('table', 'Cratis.Components:dataTable', { query: 'AllInvoices', emptyMessage: 'None' }),
|
|
83
|
+
component('live', 'Cratis.Components:observableDataTable', { query: 'InvoicesInFlight', emptyMessage: 'None' }),
|
|
84
|
+
component('form', 'Cratis.Components:commandForm', { command: 'RegisterInvoice' }),
|
|
85
|
+
component('nameless', 'Cratis.Components:dataPage', { title: 'No query named' }),
|
|
86
|
+
component('field', 'Cratis.Components:inputTextField', { title: 'No property named' }),
|
|
87
|
+
],
|
|
88
|
+
}),
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
export const Toolbar = {
|
|
92
|
+
args: {
|
|
93
|
+
element: component('page', 'Cratis.Components:page', { title: 'Toolbar', showTitle: true }, { content: [toolbar] }),
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
export const Editors = {
|
|
97
|
+
args: {
|
|
98
|
+
element: component('page', 'Cratis.Components:page', { title: 'Editors', showTitle: true }, {
|
|
99
|
+
content: [
|
|
100
|
+
component('trail', 'Cratis.Components:objectNavigationalBar', { navigationPath: ['shipping', 'address'] }),
|
|
101
|
+
component('schema', 'Cratis.Components:schemaEditor', {
|
|
102
|
+
eventTypeName: 'InvoiceRegistered',
|
|
103
|
+
canEdit: true,
|
|
104
|
+
schema: {
|
|
105
|
+
title: 'InvoiceRegistered',
|
|
106
|
+
type: 'object',
|
|
107
|
+
properties: {
|
|
108
|
+
number: { type: 'string' },
|
|
109
|
+
amount: { type: 'number' },
|
|
110
|
+
issued: { type: 'string', format: 'date-time' },
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
}),
|
|
114
|
+
component('document', 'Cratis.Components:objectContentEditor', {
|
|
115
|
+
editMode: true,
|
|
116
|
+
object: { number: 'INV-1001', amount: 4200 },
|
|
117
|
+
schema: { type: 'object', properties: { number: { type: 'string' }, amount: { type: 'number' } } },
|
|
118
|
+
}),
|
|
119
|
+
],
|
|
120
|
+
}),
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
export const InContext = {
|
|
124
|
+
args: {
|
|
125
|
+
element: component('page', 'Cratis.Components:page', { title: 'Invoice INV-1001', showTitle: true, panel: true }, {
|
|
126
|
+
content: [
|
|
127
|
+
component('guard', 'Cratis.Components:errorBoundary', {}, {
|
|
128
|
+
content: [
|
|
129
|
+
component('hint', 'Cratis.Components:tooltip', { content: 'Approved on 5 January', position: 'right' }, {
|
|
130
|
+
content: [component('icon', 'Cratis.Components:icon', { icon: 'pi pi-check-circle' })],
|
|
131
|
+
}),
|
|
132
|
+
component('filters', 'Cratis.Components:filterPanel', {
|
|
133
|
+
label: 'Filters',
|
|
134
|
+
filters: [
|
|
135
|
+
{
|
|
136
|
+
key: 'status',
|
|
137
|
+
label: 'Status',
|
|
138
|
+
multi: true,
|
|
139
|
+
options: [
|
|
140
|
+
{ key: 'draft', label: 'Draft', count: 12 },
|
|
141
|
+
{ key: 'approved', label: 'Approved', count: 44 },
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
}),
|
|
146
|
+
],
|
|
147
|
+
}),
|
|
148
|
+
],
|
|
149
|
+
}),
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
const midnight = {
|
|
153
|
+
name: 'Midnight',
|
|
154
|
+
compatibleWith: ['Cratis.Components', 'PrimeReact', 'Tailwind'],
|
|
155
|
+
isDark: true,
|
|
156
|
+
description: 'A dark Scene theme, applied to Cratis Components entirely through design tokens.',
|
|
157
|
+
tokens: {
|
|
158
|
+
'primary.color': '#a78bfa',
|
|
159
|
+
'primary.contrastColor': '#1e1b4b',
|
|
160
|
+
'surface.background': '#0f172a',
|
|
161
|
+
'surface.card': '#1e293b',
|
|
162
|
+
'surface.border': '#334155',
|
|
163
|
+
'surface.hover': '#273449',
|
|
164
|
+
'surface.overlay': '#1e293b',
|
|
165
|
+
'text.color': '#e2e8f0',
|
|
166
|
+
'text.mutedColor': '#94a3b8',
|
|
167
|
+
'highlight.background': '#312e81',
|
|
168
|
+
'highlight.color': '#e0e7ff',
|
|
169
|
+
'content.borderRadius': '10px',
|
|
170
|
+
'focus.ring': '0 0 0 0.2rem #4c1d95',
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
export const Themed = {
|
|
174
|
+
args: { element: invoicesScreen },
|
|
175
|
+
render: args => (_jsx(SceneThemeProvider, { theme: midnight, children: _jsx(SceneElementView, { ...args }) })),
|
|
176
|
+
};
|
|
177
|
+
export const Interactive = {
|
|
178
|
+
args: {
|
|
179
|
+
element: component('trail', 'Cratis.Components:objectNavigationalBar', { navigationPath: ['shipping', 'address', 'street'] }),
|
|
180
|
+
},
|
|
181
|
+
play: async ({ canvasElement }) => {
|
|
182
|
+
const canvas = within(canvasElement);
|
|
183
|
+
fireEvent.click(canvas.getByText('address'));
|
|
184
|
+
await expect(canvas.queryByText('street')).toBeNull();
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=CratisComponents.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CratisComponents.stories.js","sourceRoot":"","sources":["../../CratisComponents.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ArcRuntimeBoundaryProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare function ArcRuntimeBoundary({ children }: ArcRuntimeBoundaryProps): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ArcRuntimeBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcRuntimeBoundary.d.ts","sourceRoot":"","sources":["../../../bindings/ArcRuntimeBoundary.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,uBAAuB;IAEpC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAoBD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BAMvE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Suspense } from 'react';
|
|
3
|
+
import { ErrorBoundary } from '@cratis/components/Common';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Isolates one Arc-bound component so that neither loading it nor failing to load it can take the
|
|
7
|
+
* surrounding screen down with it.
|
|
8
|
+
*
|
|
9
|
+
* The Arc-bound half of `@cratis/components` - `DataPage`, the data tables, `CommandForm` and its
|
|
10
|
+
* fields, every dialog - reaches `@cratis/arc` and `@cratis/arc.react` at import time. Those are peer
|
|
11
|
+
* dependencies the *host* supplies, and a design surface is not a host: Studio previews a screen without
|
|
12
|
+
* an Arc client, without a backend, and often without a single binding registered. This package
|
|
13
|
+
* therefore imports every Arc-bound component through a dynamic `import()` rather than a static one, so
|
|
14
|
+
* that a screen made only of the library's Arc-free components never pulls the Arc runtime in at all.
|
|
15
|
+
*
|
|
16
|
+
* That deferral has two visible states, and this covers both: `Suspense` while the chunk is in flight,
|
|
17
|
+
* and the library's own `ErrorBoundary` when it cannot be loaded - which is what a host without Arc
|
|
18
|
+
* installed will see. One dashed-out region, not a blank screen and not a thrown render.
|
|
19
|
+
*
|
|
20
|
+
* `ErrorBoundary` is used by composition rather than by writing another one: an error boundary is the
|
|
21
|
+
* one thing React still requires a class for, and `@cratis/components` already ships that class.
|
|
22
|
+
*/ function ArcRuntimeBoundary({ children }) {
|
|
23
|
+
return /*#__PURE__*/ jsx(ErrorBoundary, {
|
|
24
|
+
children: /*#__PURE__*/ jsx(Suspense, {
|
|
25
|
+
fallback: /*#__PURE__*/ jsx("span", {
|
|
26
|
+
"data-scene-arc-loading": "",
|
|
27
|
+
children: "Loading"
|
|
28
|
+
}),
|
|
29
|
+
children: children
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { ArcRuntimeBoundary };
|
|
35
|
+
//# sourceMappingURL=ArcRuntimeBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcRuntimeBoundary.js","sources":["../../../bindings/ArcRuntimeBoundary.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ReactNode, Suspense } from 'react';\nimport { ErrorBoundary } from '@cratis/components/Common';\n\nexport interface ArcRuntimeBoundaryProps {\n /** The lazily loaded, Arc-bound content this boundary isolates. */\n children: ReactNode;\n}\n\n/**\n * Isolates one Arc-bound component so that neither loading it nor failing to load it can take the\n * surrounding screen down with it.\n *\n * The Arc-bound half of `@cratis/components` - `DataPage`, the data tables, `CommandForm` and its\n * fields, every dialog - reaches `@cratis/arc` and `@cratis/arc.react` at import time. Those are peer\n * dependencies the *host* supplies, and a design surface is not a host: Studio previews a screen without\n * an Arc client, without a backend, and often without a single binding registered. This package\n * therefore imports every Arc-bound component through a dynamic `import()` rather than a static one, so\n * that a screen made only of the library's Arc-free components never pulls the Arc runtime in at all.\n *\n * That deferral has two visible states, and this covers both: `Suspense` while the chunk is in flight,\n * and the library's own `ErrorBoundary` when it cannot be loaded - which is what a host without Arc\n * installed will see. One dashed-out region, not a blank screen and not a thrown render.\n *\n * `ErrorBoundary` is used by composition rather than by writing another one: an error boundary is the\n * one thing React still requires a class for, and `@cratis/components` already ships that class.\n */\nexport function ArcRuntimeBoundary({ children }: ArcRuntimeBoundaryProps) {\n return (\n <ErrorBoundary>\n <Suspense fallback={<span data-scene-arc-loading=''>Loading</span>}>{children}</Suspense>\n </ErrorBoundary>\n );\n}\n"],"names":["ArcRuntimeBoundary","children","_jsx","ErrorBoundary","Suspense","fallback","span","data-scene-arc-loading"],"mappings":";;;;AAWA;;;;;;;;;;;;;;;;;AAiBC,IACM,SAASA,kBAAAA,CAAmB,EAAEC,QAAQ,EAA2B,EAAA;AACpE,IAAA,qBACIC,GAAA,CAACC,aAAAA,EAAAA;AACG,QAAA,QAAA,gBAAAD,GAAA,CAACE,QAAAA,EAAAA;AAASC,YAAAA,QAAAA,gBAAUH,GAAA,CAACI,MAAAA,EAAAA;gBAAKC,wBAAAA,EAAuB,EAAA;AAAG,gBAAA,QAAA,EAAA;;AAAiBN,YAAAA,QAAAA,EAAAA;;;AAGjF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BindingKind.d.ts","sourceRoot":"","sources":["../../../bindings/BindingKind.ts"],"names":[],"mappings":"AAWA,oBAAY,WAAW;IAEnB,KAAK,UAAU;IAGf,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/**
|
|
4
|
+
* What a name in a screen is expected to resolve to when it is looked up in the binding registry.
|
|
5
|
+
*
|
|
6
|
+
* Queries and commands are kept apart rather than sharing one namespace because they are opposite halves
|
|
7
|
+
* of CQRS and a screen means exactly one of them at each site: `data Invoices via query AllInvoices`
|
|
8
|
+
* cannot be satisfied by a command of the same name, and letting it be satisfied would turn a modeling
|
|
9
|
+
* mistake into a runtime one.
|
|
10
|
+
*/ var BindingKind = /*#__PURE__*/ function(BindingKind) {
|
|
11
|
+
/** An Arc query proxy - what a data table or data page reads its rows from. */ BindingKind["Query"] = "query";
|
|
12
|
+
/** An Arc command proxy - what a command form or command dialog submits. */ BindingKind["Command"] = "command";
|
|
13
|
+
return BindingKind;
|
|
14
|
+
}({});
|
|
15
|
+
|
|
16
|
+
export { BindingKind };
|
|
17
|
+
//# sourceMappingURL=BindingKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BindingKind.js","sources":["../../../bindings/BindingKind.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * What a name in a screen is expected to resolve to when it is looked up in the binding registry.\n *\n * Queries and commands are kept apart rather than sharing one namespace because they are opposite halves\n * of CQRS and a screen means exactly one of them at each site: `data Invoices via query AllInvoices`\n * cannot be satisfied by a command of the same name, and letting it be satisfied would turn a modeling\n * mistake into a runtime one.\n */\nexport enum BindingKind {\n /** An Arc query proxy - what a data table or data page reads its rows from. */\n Query = 'query',\n\n /** An Arc command proxy - what a command form or command dialog submits. */\n Command = 'command',\n}\n"],"names":["BindingKind"],"mappings":"AAAA;AACA;AAEA;;;;;;;IAQO,IAAKA,WAAAA,iBAAAA,SAAAA,WAAAA,EAAAA;oFACqE,WAAA,CAAA,OAAA,CAAA,GAAA,OAAA;iFAGH,WAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAJlEA,IAAAA,OAAAA,WAAAA;AAMX,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundConstructor.d.ts","sourceRoot":"","sources":["../../../bindings/BoundConstructor.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundConstructor.js","sourceRoot":"","sources":["../../../bindings/BoundConstructor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementBinding.d.ts","sourceRoot":"","sources":["../../../bindings/ElementBinding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,MAAM,WAAW,cAAc;IAE3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementBinding.js","sourceRoot":"","sources":["../../../bindings/ElementBinding.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExternalComponent } from '@cratis/scene.model';
|
|
2
|
+
import { BindingKind } from './BindingKind';
|
|
3
|
+
export interface MissingBindingProps {
|
|
4
|
+
element: ExternalComponent;
|
|
5
|
+
kind: BindingKind;
|
|
6
|
+
name?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function MissingBinding({ element, kind, name }: MissingBindingProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=MissingBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingBinding.d.ts","sourceRoot":"","sources":["../../../bindings/MissingBinding.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,mBAAmB;IAEhC,OAAO,EAAE,iBAAiB,CAAC;IAG3B,IAAI,EAAE,WAAW,CAAC;IAOlB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,mBAAmB,+BAG1E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Placeholder } from './Placeholder.js';
|
|
3
|
+
|
|
4
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
5
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
6
|
+
/**
|
|
7
|
+
* The placeholder an Arc-bound adapter renders instead of its real component when the binding it needs
|
|
8
|
+
* is not available.
|
|
9
|
+
*
|
|
10
|
+
* It names the binding, because that is the only actionable part: the fix is either to register that
|
|
11
|
+
* name in the host or to correct the name in the screen, and the message has to be enough to tell those
|
|
12
|
+
* two apart without opening a debugger.
|
|
13
|
+
*/ function MissingBinding({ element, kind, name }) {
|
|
14
|
+
const problem = name === undefined ? `Missing ${kind} binding` : `Unresolved ${kind} binding '${name}'`;
|
|
15
|
+
return /*#__PURE__*/ jsx(Placeholder, {
|
|
16
|
+
element: element,
|
|
17
|
+
problem: problem
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { MissingBinding };
|
|
22
|
+
//# sourceMappingURL=MissingBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MissingBinding.js","sources":["../../../bindings/MissingBinding.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ExternalComponent } from '@cratis/scene.model';\nimport { BindingKind } from './BindingKind';\nimport { Placeholder } from './Placeholder';\n\nexport interface MissingBindingProps {\n /** The element whose binding could not be satisfied. */\n element: ExternalComponent;\n\n /** Whether a query or a command was wanted. */\n kind: BindingKind;\n\n /**\n * The name the screen asked for, or `undefined` when the screen never named one. The two are\n * different mistakes and get different messages - a screen that names `AllInvoices` needs the host\n * to register it, while a screen that names nothing needs editing.\n */\n name?: string;\n}\n\n/**\n * The placeholder an Arc-bound adapter renders instead of its real component when the binding it needs\n * is not available.\n *\n * It names the binding, because that is the only actionable part: the fix is either to register that\n * name in the host or to correct the name in the screen, and the message has to be enough to tell those\n * two apart without opening a debugger.\n */\nexport function MissingBinding({ element, kind, name }: MissingBindingProps) {\n const problem = name === undefined ? `Missing ${kind} binding` : `Unresolved ${kind} binding '${name}'`;\n return <Placeholder element={element} problem={problem} />;\n}\n"],"names":["MissingBinding","element","kind","name","problem","undefined","_jsx","Placeholder"],"mappings":";;;AAAA;AACA;AAqBA;;;;;;;IAQO,SAASA,cAAAA,CAAe,EAAEC,OAAO,EAAEC,IAAI,EAAEC,IAAI,EAAuB,EAAA;AACvE,IAAA,MAAMC,UAAUD,IAAAA,KAASE,SAAAA,GAAY,CAAC,QAAQ,EAAEH,KAAK,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAEA,IAAAA,CAAK,UAAU,EAAEC,IAAAA,CAAK,CAAC,CAAC;AACvG,IAAA,qBAAOG,GAAA,CAACC,WAAAA,EAAAA;QAAYN,OAAAA,EAASA,OAAAA;QAASG,OAAAA,EAASA;;AACnD;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExternalComponent } from '@cratis/scene.model';
|
|
2
|
+
export interface PlaceholderProps {
|
|
3
|
+
element: ExternalComponent;
|
|
4
|
+
problem: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function Placeholder({ element, problem }: PlaceholderProps): import("react").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=Placeholder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Placeholder.d.ts","sourceRoot":"","sources":["../../../bindings/Placeholder.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAK7B,OAAO,EAAE,iBAAiB,CAAC;IAK3B,OAAO,EAAE,MAAM,CAAC;CACnB;AAeD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,gBAAgB,+BAUjE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
/**
|
|
6
|
+
* The stand-in an adapter renders when it has been given a screen it cannot honor - a binding name
|
|
7
|
+
* nothing is registered under, or a required property the screen never set.
|
|
8
|
+
*
|
|
9
|
+
* Deliberately the same presentation as `UnresolvedComponent` in `@cratis/scene.react`: a dashed red box
|
|
10
|
+
* that states the problem in monospace. They are the same class of failure seen at two different depths -
|
|
11
|
+
* the renderer could not find the component, or the component could not find what it needs - and a
|
|
12
|
+
* designer scanning a preview should recognize both instantly as "something here is not wired up".
|
|
13
|
+
*
|
|
14
|
+
* Rendering this rather than throwing is the whole point. Studio's design-time preview usually has no
|
|
15
|
+
* bindings registered at all, and it still has to show a usable layout: one unbound table must cost one
|
|
16
|
+
* dashed box, not the entire screen.
|
|
17
|
+
*/ function Placeholder({ element, problem }) {
|
|
18
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
19
|
+
"data-scene-id": element.id,
|
|
20
|
+
"data-scene-placeholder": element.componentName,
|
|
21
|
+
style: {
|
|
22
|
+
border: '1px dashed red',
|
|
23
|
+
color: 'red',
|
|
24
|
+
padding: '0.25rem 0.5rem',
|
|
25
|
+
fontFamily: 'monospace'
|
|
26
|
+
},
|
|
27
|
+
children: [
|
|
28
|
+
problem,
|
|
29
|
+
" on ",
|
|
30
|
+
element.componentName
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { Placeholder };
|
|
36
|
+
//# sourceMappingURL=Placeholder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Placeholder.js","sources":["../../../bindings/Placeholder.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ExternalComponent } from '@cratis/scene.model';\n\nexport interface PlaceholderProps {\n /**\n * The element that could not be rendered as configured. Its `componentName` names what was being\n * rendered, which is most of what makes the placeholder actionable.\n */\n element: ExternalComponent;\n\n /**\n * What is wrong, phrased as the problem rather than the remedy - `Unresolved query binding 'AllInvoices'`.\n */\n problem: string;\n}\n\n/**\n * The stand-in an adapter renders when it has been given a screen it cannot honor - a binding name\n * nothing is registered under, or a required property the screen never set.\n *\n * Deliberately the same presentation as `UnresolvedComponent` in `@cratis/scene.react`: a dashed red box\n * that states the problem in monospace. They are the same class of failure seen at two different depths -\n * the renderer could not find the component, or the component could not find what it needs - and a\n * designer scanning a preview should recognize both instantly as \"something here is not wired up\".\n *\n * Rendering this rather than throwing is the whole point. Studio's design-time preview usually has no\n * bindings registered at all, and it still has to show a usable layout: one unbound table must cost one\n * dashed box, not the entire screen.\n */\nexport function Placeholder({ element, problem }: PlaceholderProps) {\n return (\n <div\n data-scene-id={element.id}\n data-scene-placeholder={element.componentName}\n style={{ border: '1px dashed red', color: 'red', padding: '0.25rem 0.5rem', fontFamily: 'monospace' }}\n >\n {problem} on {element.componentName}\n </div>\n );\n}\n"],"names":["Placeholder","element","problem","_jsxs","div","data-scene-id","id","data-scene-placeholder","componentName","style","border","color","padding","fontFamily"],"mappings":";;AAAA;AACA;AAiBA;;;;;;;;;;;;AAYC,IACM,SAASA,WAAAA,CAAY,EAAEC,OAAO,EAAEC,OAAO,EAAoB,EAAA;AAC9D,IAAA,qBACIC,IAAA,CAACC,KAAAA,EAAAA;AACGC,QAAAA,eAAAA,EAAeJ,QAAQK,EAAE;AACzBC,QAAAA,wBAAAA,EAAwBN,QAAQO,aAAa;QAC7CC,KAAAA,EAAO;YAAEC,MAAAA,EAAQ,gBAAA;YAAkBC,KAAAA,EAAO,KAAA;YAAOC,OAAAA,EAAS,gBAAA;YAAkBC,UAAAA,EAAY;AAAY,SAAA;;AAEnGX,YAAAA,OAAAA;AAAQ,YAAA,MAAA;AAAKD,YAAAA,OAAAA,CAAQO;;;AAGlC;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BoundConstructor } from './BoundConstructor';
|
|
2
|
+
export declare function registerQuery(name: string, queryClass: BoundConstructor): void;
|
|
3
|
+
export declare function registerQueries(bindings: Record<string, BoundConstructor>): void;
|
|
4
|
+
export declare function resolveQuery(name: string): BoundConstructor | undefined;
|
|
5
|
+
export declare function registerCommand(name: string, commandClass: BoundConstructor): void;
|
|
6
|
+
export declare function registerCommands(bindings: Record<string, BoundConstructor>): void;
|
|
7
|
+
export declare function resolveCommand(name: string): BoundConstructor | undefined;
|
|
8
|
+
export declare function registeredQueryNames(): string[];
|
|
9
|
+
export declare function registeredCommandNames(): string[];
|
|
10
|
+
export declare function clearBindings(): void;
|
|
11
|
+
//# sourceMappingURL=bindingRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindingRegistry.d.ts","sourceRoot":"","sources":["../../../bindings/bindingRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAqBtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAE9E;AASD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAIhF;AASD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEvE;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAElF;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAIjF;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEzE;AASD,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAKD,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AASD,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
|