@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,101 @@
|
|
|
1
|
+
'use strict';
|
|
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
|
+
const queries = new Map();
|
|
6
|
+
const commands = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Registers an Arc query proxy under the name screens refer to it by.
|
|
9
|
+
*
|
|
10
|
+
* This is the seam that makes the Arc-bound half of `@cratis/components` usable from Scene at all. A
|
|
11
|
+
* screen says `data Invoices via query AllInvoices`, and by the time that reaches a renderer it is an
|
|
12
|
+
* `ExternalComponent` whose `properties` bag holds the *string* `'AllInvoices'` - a property bag carries
|
|
13
|
+
* plain values and named slots, and there is no way to put a TypeScript class into one. `DataTableForQuery`
|
|
14
|
+
* needs the class. The name is the only thing that survives the trip, so the name is what the lookup has
|
|
15
|
+
* to be keyed on, and a host that owns the generated proxies is the only party that can supply the class
|
|
16
|
+
* behind it.
|
|
17
|
+
*
|
|
18
|
+
* A host - Stage's generated application, or Studio's preview when it is wired to a real backend -
|
|
19
|
+
* registers every proxy a screen can name, once, during startup. Registering the same name twice
|
|
20
|
+
* replaces the earlier registration, so a host can re-register on hot reload without having to unwind
|
|
21
|
+
* the previous run.
|
|
22
|
+
*/ function registerQuery(name, queryClass) {
|
|
23
|
+
queries.set(name, queryClass);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Registers several query proxies at once, keyed by the name screens refer to each by.
|
|
27
|
+
*
|
|
28
|
+
* Stage generates a module that exports every proxy it produced; handing that module's exports straight
|
|
29
|
+
* to this is the whole of a generated host's registration step, and it stays correct as proxies are
|
|
30
|
+
* added and removed without anyone editing a list.
|
|
31
|
+
*/ function registerQueries(bindings) {
|
|
32
|
+
for (const [name, queryClass] of Object.entries(bindings)){
|
|
33
|
+
registerQuery(name, queryClass);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The query proxy registered under a name, or `undefined` when nothing is registered under it.
|
|
38
|
+
*
|
|
39
|
+
* `undefined` rather than a throw: design-time preview in Studio normally has nothing registered at all,
|
|
40
|
+
* and a screen still has to render so its layout can be worked on. Every adapter turns `undefined` into
|
|
41
|
+
* a visible placeholder naming the binding it wanted.
|
|
42
|
+
*/ function resolveQuery(name) {
|
|
43
|
+
return queries.get(name);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Registers an Arc command proxy under the name screens refer to it by. The command half of
|
|
47
|
+
* {@link registerQuery}, with the same contract.
|
|
48
|
+
*/ function registerCommand(name, commandClass) {
|
|
49
|
+
commands.set(name, commandClass);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Registers several command proxies at once, keyed by the name screens refer to each by.
|
|
53
|
+
*/ function registerCommands(bindings) {
|
|
54
|
+
for (const [name, commandClass] of Object.entries(bindings)){
|
|
55
|
+
registerCommand(name, commandClass);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The command proxy registered under a name, or `undefined` when nothing is registered under it.
|
|
60
|
+
*/ function resolveCommand(name) {
|
|
61
|
+
return commands.get(name);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Every registered query name, sorted.
|
|
65
|
+
*
|
|
66
|
+
* A design-time tool uses this to offer the names a screen can actually bind to, and a diagnostics
|
|
67
|
+
* surface uses it to explain a placeholder - "this screen wants `AllInvoices`, and here is what is
|
|
68
|
+
* registered" is a far more useful message than the placeholder alone.
|
|
69
|
+
*/ function registeredQueryNames() {
|
|
70
|
+
return [
|
|
71
|
+
...queries.keys()
|
|
72
|
+
].sort();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Every registered command name, sorted.
|
|
76
|
+
*/ function registeredCommandNames() {
|
|
77
|
+
return [
|
|
78
|
+
...commands.keys()
|
|
79
|
+
].sort();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Forgets every registered query and command.
|
|
83
|
+
*
|
|
84
|
+
* The registry is module-level state, which is right for a host that registers once at startup but wrong
|
|
85
|
+
* for anything that switches between applications - Studio previewing a different project, or a spec
|
|
86
|
+
* that must not inherit what the previous one registered. Both need a way back to empty.
|
|
87
|
+
*/ function clearBindings() {
|
|
88
|
+
queries.clear();
|
|
89
|
+
commands.clear();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
exports.clearBindings = clearBindings;
|
|
93
|
+
exports.registerCommand = registerCommand;
|
|
94
|
+
exports.registerCommands = registerCommands;
|
|
95
|
+
exports.registerQueries = registerQueries;
|
|
96
|
+
exports.registerQuery = registerQuery;
|
|
97
|
+
exports.registeredCommandNames = registeredCommandNames;
|
|
98
|
+
exports.registeredQueryNames = registeredQueryNames;
|
|
99
|
+
exports.resolveCommand = resolveCommand;
|
|
100
|
+
exports.resolveQuery = resolveQuery;
|
|
101
|
+
//# sourceMappingURL=bindingRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindingRegistry.js","sources":["../../../bindings/bindingRegistry.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\nimport { BoundConstructor } from './BoundConstructor';\n\nconst queries = new Map<string, BoundConstructor>();\nconst commands = new Map<string, BoundConstructor>();\n\n/**\n * Registers an Arc query proxy under the name screens refer to it by.\n *\n * This is the seam that makes the Arc-bound half of `@cratis/components` usable from Scene at all. A\n * screen says `data Invoices via query AllInvoices`, and by the time that reaches a renderer it is an\n * `ExternalComponent` whose `properties` bag holds the *string* `'AllInvoices'` - a property bag carries\n * plain values and named slots, and there is no way to put a TypeScript class into one. `DataTableForQuery`\n * needs the class. The name is the only thing that survives the trip, so the name is what the lookup has\n * to be keyed on, and a host that owns the generated proxies is the only party that can supply the class\n * behind it.\n *\n * A host - Stage's generated application, or Studio's preview when it is wired to a real backend -\n * registers every proxy a screen can name, once, during startup. Registering the same name twice\n * replaces the earlier registration, so a host can re-register on hot reload without having to unwind\n * the previous run.\n */\nexport function registerQuery(name: string, queryClass: BoundConstructor): void {\n queries.set(name, queryClass);\n}\n\n/**\n * Registers several query proxies at once, keyed by the name screens refer to each by.\n *\n * Stage generates a module that exports every proxy it produced; handing that module's exports straight\n * to this is the whole of a generated host's registration step, and it stays correct as proxies are\n * added and removed without anyone editing a list.\n */\nexport function registerQueries(bindings: Record<string, BoundConstructor>): void {\n for (const [name, queryClass] of Object.entries(bindings)) {\n registerQuery(name, queryClass);\n }\n}\n\n/**\n * The query proxy registered under a name, or `undefined` when nothing is registered under it.\n *\n * `undefined` rather than a throw: design-time preview in Studio normally has nothing registered at all,\n * and a screen still has to render so its layout can be worked on. Every adapter turns `undefined` into\n * a visible placeholder naming the binding it wanted.\n */\nexport function resolveQuery(name: string): BoundConstructor | undefined {\n return queries.get(name);\n}\n\n/**\n * Registers an Arc command proxy under the name screens refer to it by. The command half of\n * {@link registerQuery}, with the same contract.\n */\nexport function registerCommand(name: string, commandClass: BoundConstructor): void {\n commands.set(name, commandClass);\n}\n\n/**\n * Registers several command proxies at once, keyed by the name screens refer to each by.\n */\nexport function registerCommands(bindings: Record<string, BoundConstructor>): void {\n for (const [name, commandClass] of Object.entries(bindings)) {\n registerCommand(name, commandClass);\n }\n}\n\n/**\n * The command proxy registered under a name, or `undefined` when nothing is registered under it.\n */\nexport function resolveCommand(name: string): BoundConstructor | undefined {\n return commands.get(name);\n}\n\n/**\n * Every registered query name, sorted.\n *\n * A design-time tool uses this to offer the names a screen can actually bind to, and a diagnostics\n * surface uses it to explain a placeholder - \"this screen wants `AllInvoices`, and here is what is\n * registered\" is a far more useful message than the placeholder alone.\n */\nexport function registeredQueryNames(): string[] {\n return [...queries.keys()].sort();\n}\n\n/**\n * Every registered command name, sorted.\n */\nexport function registeredCommandNames(): string[] {\n return [...commands.keys()].sort();\n}\n\n/**\n * Forgets every registered query and command.\n *\n * The registry is module-level state, which is right for a host that registers once at startup but wrong\n * for anything that switches between applications - Studio previewing a different project, or a spec\n * that must not inherit what the previous one registered. Both need a way back to empty.\n */\nexport function clearBindings(): void {\n queries.clear();\n commands.clear();\n}\n"],"names":["queries","Map","commands","registerQuery","name","queryClass","set","registerQueries","bindings","Object","entries","resolveQuery","get","registerCommand","commandClass","registerCommands","resolveCommand","registeredQueryNames","keys","sort","registeredCommandNames","clearBindings","clear"],"mappings":";;AAAA;AACA;AAIA,MAAMA,UAAU,IAAIC,GAAAA,EAAAA;AACpB,MAAMC,WAAW,IAAID,GAAAA,EAAAA;AAErB;;;;;;;;;;;;;;;AAeC,IACM,SAASE,aAAAA,CAAcC,IAAY,EAAEC,UAA4B,EAAA;IACpEL,OAAAA,CAAQM,GAAG,CAACF,IAAAA,EAAMC,UAAAA,CAAAA;AACtB;AAEA;;;;;;IAOO,SAASE,eAAAA,CAAgBC,QAA0C,EAAA;IACtE,KAAK,MAAM,CAACJ,IAAAA,EAAMC,UAAAA,CAAW,IAAII,MAAAA,CAAOC,OAAO,CAACF,QAAAA,CAAAA,CAAW;AACvDL,QAAAA,aAAAA,CAAcC,IAAAA,EAAMC,UAAAA,CAAAA;AACxB,IAAA;AACJ;AAEA;;;;;;IAOO,SAASM,YAAAA,CAAaP,IAAY,EAAA;IACrC,OAAOJ,OAAAA,CAAQY,GAAG,CAACR,IAAAA,CAAAA;AACvB;AAEA;;;AAGC,IACM,SAASS,eAAAA,CAAgBT,IAAY,EAAEU,YAA8B,EAAA;IACxEZ,QAAAA,CAASI,GAAG,CAACF,IAAAA,EAAMU,YAAAA,CAAAA;AACvB;AAEA;;IAGO,SAASC,gBAAAA,CAAiBP,QAA0C,EAAA;IACvE,KAAK,MAAM,CAACJ,IAAAA,EAAMU,YAAAA,CAAa,IAAIL,MAAAA,CAAOC,OAAO,CAACF,QAAAA,CAAAA,CAAW;AACzDK,QAAAA,eAAAA,CAAgBT,IAAAA,EAAMU,YAAAA,CAAAA;AAC1B,IAAA;AACJ;AAEA;;IAGO,SAASE,cAAAA,CAAeZ,IAAY,EAAA;IACvC,OAAOF,QAAAA,CAASU,GAAG,CAACR,IAAAA,CAAAA;AACxB;AAEA;;;;;;AAMC,IACM,SAASa,oBAAAA,GAAAA;IACZ,OAAO;AAAIjB,QAAAA,GAAAA,OAAAA,CAAQkB,IAAI;AAAG,KAAA,CAACC,IAAI,EAAA;AACnC;AAEA;;AAEC,IACM,SAASC,sBAAAA,GAAAA;IACZ,OAAO;AAAIlB,QAAAA,GAAAA,QAAAA,CAASgB,IAAI;AAAG,KAAA,CAACC,IAAI,EAAA;AACpC;AAEA;;;;;;AAMC,IACM,SAASE,aAAAA,GAAAA;AACZrB,IAAAA,OAAAA,CAAQsB,KAAK,EAAA;AACbpB,IAAAA,QAAAA,CAASoB,KAAK,EAAA;AAClB;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var properties = require('../properties.js');
|
|
4
|
+
var BindingKind = require('./BindingKind.js');
|
|
5
|
+
var bindingRegistry = require('./bindingRegistry.js');
|
|
6
|
+
|
|
7
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
8
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
9
|
+
/**
|
|
10
|
+
* The property an element carries its binding name in, per kind. Queries and commands use different
|
|
11
|
+
* property names so a single element could in principle carry both - a command dialog launched from a
|
|
12
|
+
* data page, say - without the two names colliding.
|
|
13
|
+
*/ const bindingPropertyNames = {
|
|
14
|
+
[BindingKind.BindingKind.Query]: 'query',
|
|
15
|
+
[BindingKind.BindingKind.Command]: 'command'
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Reads the binding name an element carries for the given kind and looks it up in the binding registry.
|
|
19
|
+
*
|
|
20
|
+
* Every Arc-bound adapter starts here, so the "name in, class out" step happens in exactly one place and
|
|
21
|
+
* every adapter reports a missing binding the same way. Nothing throws: an absent property and an
|
|
22
|
+
* unregistered name both come back as an {@link ElementBinding} with no `target`, which the adapter
|
|
23
|
+
* turns into a visible placeholder.
|
|
24
|
+
*/ function resolveElementBinding(element, kind) {
|
|
25
|
+
const name = properties.stringProperty(element.properties, bindingPropertyNames[kind]);
|
|
26
|
+
if (name === undefined) return {};
|
|
27
|
+
return {
|
|
28
|
+
name,
|
|
29
|
+
target: kind === BindingKind.BindingKind.Query ? bindingRegistry.resolveQuery(name) : bindingRegistry.resolveCommand(name)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.resolveElementBinding = resolveElementBinding;
|
|
34
|
+
//# sourceMappingURL=resolveElementBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveElementBinding.js","sources":["../../../bindings/resolveElementBinding.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\nimport { ExternalComponent } from '@cratis/scene.model';\nimport { stringProperty } from '../properties';\nimport { BindingKind } from './BindingKind';\nimport { ElementBinding } from './ElementBinding';\nimport { resolveCommand, resolveQuery } from './bindingRegistry';\n\n/**\n * The property an element carries its binding name in, per kind. Queries and commands use different\n * property names so a single element could in principle carry both - a command dialog launched from a\n * data page, say - without the two names colliding.\n */\nconst bindingPropertyNames: Record<BindingKind, string> = {\n [BindingKind.Query]: 'query',\n [BindingKind.Command]: 'command',\n};\n\n/**\n * Reads the binding name an element carries for the given kind and looks it up in the binding registry.\n *\n * Every Arc-bound adapter starts here, so the \"name in, class out\" step happens in exactly one place and\n * every adapter reports a missing binding the same way. Nothing throws: an absent property and an\n * unregistered name both come back as an {@link ElementBinding} with no `target`, which the adapter\n * turns into a visible placeholder.\n */\nexport function resolveElementBinding(element: ExternalComponent, kind: BindingKind): ElementBinding {\n const name = stringProperty(element.properties, bindingPropertyNames[kind]);\n if (name === undefined) return {};\n\n return { name, target: kind === BindingKind.Query ? resolveQuery(name) : resolveCommand(name) };\n}\n"],"names":["bindingPropertyNames","BindingKind","Query","Command","resolveElementBinding","element","kind","name","stringProperty","properties","undefined","target","resolveQuery","resolveCommand"],"mappings":";;;;;;AAAA;AACA;AAQA;;;;AAIC,IACD,MAAMA,oBAAAA,GAAoD;IACtD,CAACC,uBAAAA,CAAYC,KAAK,GAAG,OAAA;IACrB,CAACD,uBAAAA,CAAYE,OAAO,GAAG;AAC3B,CAAA;AAEA;;;;;;;AAOC,IACM,SAASC,qBAAAA,CAAsBC,OAA0B,EAAEC,IAAiB,EAAA;AAC/E,IAAA,MAAMC,OAAOC,yBAAAA,CAAeH,OAAAA,CAAQI,UAAU,EAAET,oBAAoB,CAACM,IAAAA,CAAK,CAAA;IAC1E,IAAIC,IAAAA,KAASG,SAAAA,EAAW,OAAO,EAAC;IAEhC,OAAO;AAAEH,QAAAA,IAAAA;AAAMI,QAAAA,MAAAA,EAAQL,SAASL,uBAAAA,CAAYC,KAAK,GAAGU,4BAAAA,CAAaL,QAAQM,8BAAAA,CAAeN,IAAAA;AAAM,KAAA;AAClG;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Dropdown = require('@cratis/components/Dropdown');
|
|
5
|
+
var properties = require('../properties.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The `Cratis.Components:dropdown` component - `Dropdown` from `@cratis/components/Dropdown`.
|
|
9
|
+
*
|
|
10
|
+
* The library's own `Dropdown` rather than PrimeReact's, because it carries the overlay z-index fix the
|
|
11
|
+
* library applies across every overlay it owns - a dropdown inside a dialog renders above the dialog
|
|
12
|
+
* instead of behind it, which is the single most common overlay bug in a PrimeReact application.
|
|
13
|
+
*
|
|
14
|
+
* This is the standalone dropdown, not the command-form one: it takes its options from the screen and is
|
|
15
|
+
* not bound to a command property. Use `dropdownField` inside a `commandForm`.
|
|
16
|
+
*/ function SceneDropdown({ element }) {
|
|
17
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Dropdown.Dropdown, {
|
|
18
|
+
options: properties.objectArrayProperty(element.properties, 'options') ?? [],
|
|
19
|
+
optionLabel: properties.stringProperty(element.properties, 'optionLabel') ?? 'label',
|
|
20
|
+
optionValue: properties.stringProperty(element.properties, 'optionValue') ?? 'value',
|
|
21
|
+
placeholder: properties.stringProperty(element.properties, 'placeholder'),
|
|
22
|
+
disabled: properties.booleanProperty(element.properties, 'disabled'),
|
|
23
|
+
showClear: properties.booleanProperty(element.properties, 'showClear'),
|
|
24
|
+
filter: properties.booleanProperty(element.properties, 'filter'),
|
|
25
|
+
className: properties.stringProperty(element.properties, 'className')
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.SceneDropdown = SceneDropdown;
|
|
30
|
+
//# sourceMappingURL=SceneDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneDropdown.js","sources":["../../../common/SceneDropdown.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 { Dropdown } from '@cratis/components/Dropdown';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, objectArrayProperty, stringProperty } from '../properties';\n\n/**\n * The `Cratis.Components:dropdown` component - `Dropdown` from `@cratis/components/Dropdown`.\n *\n * The library's own `Dropdown` rather than PrimeReact's, because it carries the overlay z-index fix the\n * library applies across every overlay it owns - a dropdown inside a dialog renders above the dialog\n * instead of behind it, which is the single most common overlay bug in a PrimeReact application.\n *\n * This is the standalone dropdown, not the command-form one: it takes its options from the screen and is\n * not bound to a command property. Use `dropdownField` inside a `commandForm`.\n */\nexport function SceneDropdown({ element }: RegisteredComponentProps) {\n return (\n <Dropdown\n options={objectArrayProperty(element.properties, 'options') ?? []}\n optionLabel={stringProperty(element.properties, 'optionLabel') ?? 'label'}\n optionValue={stringProperty(element.properties, 'optionValue') ?? 'value'}\n placeholder={stringProperty(element.properties, 'placeholder')}\n disabled={booleanProperty(element.properties, 'disabled')}\n showClear={booleanProperty(element.properties, 'showClear')}\n filter={booleanProperty(element.properties, 'filter')}\n className={stringProperty(element.properties, 'className')}\n />\n );\n}\n"],"names":["SceneDropdown","element","_jsx","Dropdown","options","objectArrayProperty","properties","optionLabel","stringProperty","optionValue","placeholder","disabled","booleanProperty","showClear","filter","className"],"mappings":";;;;;;AAOA;;;;;;;;;AASC,IACM,SAASA,aAAAA,CAAc,EAAEC,OAAO,EAA4B,EAAA;AAC/D,IAAA,qBACIC,cAAA,CAACC,iBAAAA,EAAAA;AACGC,QAAAA,OAAAA,EAASC,8BAAAA,CAAoBJ,OAAAA,CAAQK,UAAU,EAAE,cAAc,EAAE;AACjEC,QAAAA,WAAAA,EAAaC,yBAAAA,CAAeP,OAAAA,CAAQK,UAAU,EAAE,aAAA,CAAA,IAAkB,OAAA;AAClEG,QAAAA,WAAAA,EAAaD,yBAAAA,CAAeP,OAAAA,CAAQK,UAAU,EAAE,aAAA,CAAA,IAAkB,OAAA;QAClEI,WAAAA,EAAaF,yBAAAA,CAAeP,OAAAA,CAAQK,UAAU,EAAE,aAAA,CAAA;QAChDK,QAAAA,EAAUC,0BAAAA,CAAgBX,OAAAA,CAAQK,UAAU,EAAE,UAAA,CAAA;QAC9CO,SAAAA,EAAWD,0BAAAA,CAAgBX,OAAAA,CAAQK,UAAU,EAAE,WAAA,CAAA;QAC/CQ,MAAAA,EAAQF,0BAAAA,CAAgBX,OAAAA,CAAQK,UAAU,EAAE,QAAA,CAAA;QAC5CS,SAAAA,EAAWP,yBAAAA,CAAeP,OAAAA,CAAQK,UAAU,EAAE,WAAA;;AAG1D;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Common = require('@cratis/components/Common');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The `Cratis.Components:errorBoundary` component - `ErrorBoundary` from `@cratis/components/Common`.
|
|
8
|
+
*
|
|
9
|
+
* Lets a screen decide where a failure stops. React's default is that a throw anywhere unmounts the
|
|
10
|
+
* whole tree, which for a composed screen means one broken region takes the navigation with it; placing
|
|
11
|
+
* a boundary around a region scopes that to the region. Which regions deserve one is a design decision
|
|
12
|
+
* about the screen, which is precisely why it belongs in the screen rather than in the renderer.
|
|
13
|
+
*/ function SceneErrorBoundary({ slots }) {
|
|
14
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Common.ErrorBoundary, {
|
|
15
|
+
children: slots.content
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.SceneErrorBoundary = SceneErrorBoundary;
|
|
20
|
+
//# sourceMappingURL=SceneErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneErrorBoundary.js","sources":["../../../common/SceneErrorBoundary.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 { ErrorBoundary } from '@cratis/components/Common';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\n\n/**\n * The `Cratis.Components:errorBoundary` component - `ErrorBoundary` from `@cratis/components/Common`.\n *\n * Lets a screen decide where a failure stops. React's default is that a throw anywhere unmounts the\n * whole tree, which for a composed screen means one broken region takes the navigation with it; placing\n * a boundary around a region scopes that to the region. Which regions deserve one is a design decision\n * about the screen, which is precisely why it belongs in the screen rather than in the renderer.\n */\nexport function SceneErrorBoundary({ slots }: RegisteredComponentProps) {\n return <ErrorBoundary>{slots.content}</ErrorBoundary>;\n}\n"],"names":["SceneErrorBoundary","slots","_jsx","ErrorBoundary","content"],"mappings":";;;;;AAMA;;;;;;;AAOC,IACM,SAASA,kBAAAA,CAAmB,EAAEC,KAAK,EAA4B,EAAA;AAClE,IAAA,qBAAOC,cAAA,CAACC,oBAAAA,EAAAA;AAAeF,QAAAA,QAAAA,EAAAA,KAAAA,CAAMG;;AACjC;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Common = require('@cratis/components/Common');
|
|
5
|
+
var properties = require('../properties.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The `Cratis.Components:icon` component - `IconDisplay` from `@cratis/components/Common`.
|
|
9
|
+
*
|
|
10
|
+
* Takes an icon class name (`pi pi-check`) rather than an image, and normalizes the shorthand forms
|
|
11
|
+
* people actually write - `pi-check` on its own, or a bare name - into the class PrimeIcons expects.
|
|
12
|
+
* That normalization is the whole reason to route a screen's icons through this rather than emitting an
|
|
13
|
+
* `<i>`: a screen author writes what they remember and it still renders.
|
|
14
|
+
*/ function SceneIcon({ element }) {
|
|
15
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Common.IconDisplay, {
|
|
16
|
+
icon: properties.stringProperty(element.properties, 'icon') ?? '',
|
|
17
|
+
className: properties.stringProperty(element.properties, 'className')
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.SceneIcon = SceneIcon;
|
|
22
|
+
//# sourceMappingURL=SceneIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneIcon.js","sources":["../../../common/SceneIcon.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 { IconDisplay } from '@cratis/components/Common';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { stringProperty } from '../properties';\n\n/**\n * The `Cratis.Components:icon` component - `IconDisplay` from `@cratis/components/Common`.\n *\n * Takes an icon class name (`pi pi-check`) rather than an image, and normalizes the shorthand forms\n * people actually write - `pi-check` on its own, or a bare name - into the class PrimeIcons expects.\n * That normalization is the whole reason to route a screen's icons through this rather than emitting an\n * `<i>`: a screen author writes what they remember and it still renders.\n */\nexport function SceneIcon({ element }: RegisteredComponentProps) {\n return <IconDisplay icon={stringProperty(element.properties, 'icon') ?? ''} className={stringProperty(element.properties, 'className')} />;\n}\n"],"names":["SceneIcon","element","_jsx","IconDisplay","icon","stringProperty","properties","className"],"mappings":";;;;;;AAOA;;;;;;;AAOC,IACM,SAASA,SAAAA,CAAU,EAAEC,OAAO,EAA4B,EAAA;AAC3D,IAAA,qBAAOC,cAAA,CAACC,kBAAAA,EAAAA;AAAYC,QAAAA,IAAAA,EAAMC,yBAAAA,CAAeJ,OAAAA,CAAQK,UAAU,EAAE,MAAA,CAAA,IAAW,EAAA;QAAIC,SAAAA,EAAWF,yBAAAA,CAAeJ,OAAAA,CAAQK,UAAU,EAAE,WAAA;;AAC9H;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Common = require('@cratis/components/Common');
|
|
5
|
+
var properties = require('../properties.js');
|
|
6
|
+
|
|
7
|
+
/** Which side of the wrapped content the tooltip appears on. */ const positions = [
|
|
8
|
+
'top',
|
|
9
|
+
'right',
|
|
10
|
+
'bottom',
|
|
11
|
+
'left'
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* The `Cratis.Components:tooltip` component - `Tooltip` from `@cratis/components/Common`.
|
|
15
|
+
*
|
|
16
|
+
* Wraps whatever is in its `content` slot and explains it on hover. `disabled` exists so a screen can
|
|
17
|
+
* keep the wrapper in place while turning the hint off, rather than restructuring the element tree to
|
|
18
|
+
* remove it - the tree is authored, and a conditional wrapper would be a worse thing to model.
|
|
19
|
+
*/ function SceneTooltip({ element, slots }) {
|
|
20
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Common.Tooltip, {
|
|
21
|
+
content: properties.stringProperty(element.properties, 'content') ?? '',
|
|
22
|
+
position: properties.unionProperty(element.properties, 'position', positions),
|
|
23
|
+
disabled: properties.booleanProperty(element.properties, 'disabled'),
|
|
24
|
+
children: slots.content
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
exports.SceneTooltip = SceneTooltip;
|
|
29
|
+
//# sourceMappingURL=SceneTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneTooltip.js","sources":["../../../common/SceneTooltip.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 { Tooltip } from '@cratis/components/Common';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, stringProperty, unionProperty } from '../properties';\n\n/** Which side of the wrapped content the tooltip appears on. */\nconst positions = ['top', 'right', 'bottom', 'left'] as const;\n\n/**\n * The `Cratis.Components:tooltip` component - `Tooltip` from `@cratis/components/Common`.\n *\n * Wraps whatever is in its `content` slot and explains it on hover. `disabled` exists so a screen can\n * keep the wrapper in place while turning the hint off, rather than restructuring the element tree to\n * remove it - the tree is authored, and a conditional wrapper would be a worse thing to model.\n */\nexport function SceneTooltip({ element, slots }: RegisteredComponentProps) {\n return (\n <Tooltip\n content={stringProperty(element.properties, 'content') ?? ''}\n position={unionProperty(element.properties, 'position', positions)}\n disabled={booleanProperty(element.properties, 'disabled')}\n >\n {slots.content}\n </Tooltip>\n );\n}\n"],"names":["positions","SceneTooltip","element","slots","_jsx","Tooltip","content","stringProperty","properties","position","unionProperty","disabled","booleanProperty"],"mappings":";;;;;;AAOA,iEACA,MAAMA,SAAAA,GAAY;AAAC,IAAA,KAAA;AAAO,IAAA,OAAA;AAAS,IAAA,QAAA;AAAU,IAAA;AAAO,CAAA;AAEpD;;;;;;AAMC,IACM,SAASC,YAAAA,CAAa,EAAEC,OAAO,EAAEC,KAAK,EAA4B,EAAA;AACrE,IAAA,qBACIC,cAAA,CAACC,cAAAA,EAAAA;AACGC,QAAAA,OAAAA,EAASC,yBAAAA,CAAeL,OAAAA,CAAQM,UAAU,EAAE,SAAA,CAAA,IAAc,EAAA;AAC1DC,QAAAA,QAAAA,EAAUC,wBAAAA,CAAcR,OAAAA,CAAQM,UAAU,EAAE,UAAA,EAAYR,SAAAA,CAAAA;QACxDW,QAAAA,EAAUC,0BAAAA,CAAgBV,OAAAA,CAAQM,UAAU,EAAE,UAAA,CAAA;AAE7CL,QAAAA,QAAAA,EAAAA,KAAAA,CAAMG;;AAGnB;;;;"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var scene_react = require('@cratis/scene.react');
|
|
4
|
+
var ScenePage = require('./pages/ScenePage.js');
|
|
5
|
+
var SceneDataPage = require('./pages/SceneDataPage.js');
|
|
6
|
+
var SceneFormElement = require('./pages/SceneFormElement.js');
|
|
7
|
+
var SceneDataTable = require('./data/SceneDataTable.js');
|
|
8
|
+
var SceneObservableDataTable = require('./data/SceneObservableDataTable.js');
|
|
9
|
+
var SceneCommandForm = require('./forms/SceneCommandForm.js');
|
|
10
|
+
require('react/jsx-runtime');
|
|
11
|
+
require('./bindings/resolveElementBinding.js');
|
|
12
|
+
require('react');
|
|
13
|
+
require('@cratis/components/Common');
|
|
14
|
+
var SceneInputTextField = require('./forms/fields/SceneInputTextField.js');
|
|
15
|
+
var SceneNumberField = require('./forms/fields/SceneNumberField.js');
|
|
16
|
+
var SceneCheckboxField = require('./forms/fields/SceneCheckboxField.js');
|
|
17
|
+
var SceneTextAreaField = require('./forms/fields/SceneTextAreaField.js');
|
|
18
|
+
var SceneDropdownField = require('./forms/fields/SceneDropdownField.js');
|
|
19
|
+
var SceneSliderField = require('./forms/fields/SceneSliderField.js');
|
|
20
|
+
var SceneCalendarField = require('./forms/fields/SceneCalendarField.js');
|
|
21
|
+
var SceneColorPickerField = require('./forms/fields/SceneColorPickerField.js');
|
|
22
|
+
var SceneMultiSelectField = require('./forms/fields/SceneMultiSelectField.js');
|
|
23
|
+
var SceneChipsField = require('./forms/fields/SceneChipsField.js');
|
|
24
|
+
var SceneRadioButtonField = require('./forms/fields/SceneRadioButtonField.js');
|
|
25
|
+
var SceneRadioGroupField = require('./forms/fields/SceneRadioGroupField.js');
|
|
26
|
+
var SceneDialog = require('./dialogs/SceneDialog.js');
|
|
27
|
+
var SceneConfirmationDialog = require('./dialogs/SceneConfirmationDialog.js');
|
|
28
|
+
var SceneBusyIndicatorDialog = require('./dialogs/SceneBusyIndicatorDialog.js');
|
|
29
|
+
var SceneCommandDialog = require('./dialogs/SceneCommandDialog.js');
|
|
30
|
+
var SceneStepperCommandDialog = require('./dialogs/SceneStepperCommandDialog.js');
|
|
31
|
+
var SceneIcon = require('./common/SceneIcon.js');
|
|
32
|
+
var SceneTooltip = require('./common/SceneTooltip.js');
|
|
33
|
+
var SceneErrorBoundary = require('./common/SceneErrorBoundary.js');
|
|
34
|
+
var SceneDropdown = require('./common/SceneDropdown.js');
|
|
35
|
+
var SceneObjectContentEditor = require('./editors/SceneObjectContentEditor.js');
|
|
36
|
+
var SceneObjectNavigationalBar = require('./editors/SceneObjectNavigationalBar.js');
|
|
37
|
+
var SceneSchemaEditor = require('./editors/SceneSchemaEditor.js');
|
|
38
|
+
var SceneTimeMachine = require('./editors/SceneTimeMachine.js');
|
|
39
|
+
var SceneFilterPanel = require('./editors/SceneFilterPanel.js');
|
|
40
|
+
var SceneToolbar = require('./toolbar/SceneToolbar.js');
|
|
41
|
+
var SceneToolbarButton = require('./toolbar/SceneToolbarButton.js');
|
|
42
|
+
var SceneToolbarGroup = require('./toolbar/SceneToolbarGroup.js');
|
|
43
|
+
var SceneToolbarSeparator = require('./toolbar/SceneToolbarSeparator.js');
|
|
44
|
+
|
|
45
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
46
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
47
|
+
/**
|
|
48
|
+
* The package name every component here is registered under, and the one a screen writes when it
|
|
49
|
+
* qualifies a name explicitly (`Cratis.Components.table`).
|
|
50
|
+
*/ const cratisComponentsPackageName = 'Cratis.Components';
|
|
51
|
+
/**
|
|
52
|
+
* The `Cratis.Components` package's component registry - the abstract names a screen can resolve to a
|
|
53
|
+
* real `@cratis/components` component.
|
|
54
|
+
*
|
|
55
|
+
* Names are `lowerCamelCase` and deliberately *abstract*: a screen names `dataTable`, not
|
|
56
|
+
* `DataTableForQuery`, so the same screen resolves against whichever package a profile ranks highest.
|
|
57
|
+
* Two of them - `table` and `dialog` - are names `core` and `PrimeReact` also declare, and that overlap
|
|
58
|
+
* is the point: a profile listing `core`, `PrimeReact`, `Cratis.Components` in that order resolves both
|
|
59
|
+
* here and records the others as shadowed, which is override priority doing exactly what it exists for.
|
|
60
|
+
*
|
|
61
|
+
* `table` and `dataTable` are the same component under two names. `dataTable` says what it is; `table`
|
|
62
|
+
* is what a screen written against the base vocabulary already says, and both should land on the
|
|
63
|
+
* query-aware implementation.
|
|
64
|
+
*/ const cratisComponents = {
|
|
65
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'page')]: ScenePage.ScenePage,
|
|
66
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'dataPage')]: SceneDataPage.SceneDataPage,
|
|
67
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'formElement')]: SceneFormElement.SceneFormElement,
|
|
68
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'dataTable')]: SceneDataTable.SceneDataTable,
|
|
69
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'table')]: SceneDataTable.SceneDataTable,
|
|
70
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'observableDataTable')]: SceneObservableDataTable.SceneObservableDataTable,
|
|
71
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'commandForm')]: SceneCommandForm.SceneCommandForm,
|
|
72
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'inputTextField')]: SceneInputTextField.SceneInputTextField,
|
|
73
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'numberField')]: SceneNumberField.SceneNumberField,
|
|
74
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'checkboxField')]: SceneCheckboxField.SceneCheckboxField,
|
|
75
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'textAreaField')]: SceneTextAreaField.SceneTextAreaField,
|
|
76
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'dropdownField')]: SceneDropdownField.SceneDropdownField,
|
|
77
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'sliderField')]: SceneSliderField.SceneSliderField,
|
|
78
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'calendarField')]: SceneCalendarField.SceneCalendarField,
|
|
79
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'colorPickerField')]: SceneColorPickerField.SceneColorPickerField,
|
|
80
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'multiSelectField')]: SceneMultiSelectField.SceneMultiSelectField,
|
|
81
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'chipsField')]: SceneChipsField.SceneChipsField,
|
|
82
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'radioButtonField')]: SceneRadioButtonField.SceneRadioButtonField,
|
|
83
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'radioGroupField')]: SceneRadioGroupField.SceneRadioGroupField,
|
|
84
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'dialog')]: SceneDialog.SceneDialog,
|
|
85
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'confirmationDialog')]: SceneConfirmationDialog.SceneConfirmationDialog,
|
|
86
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'busyIndicatorDialog')]: SceneBusyIndicatorDialog.SceneBusyIndicatorDialog,
|
|
87
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'commandDialog')]: SceneCommandDialog.SceneCommandDialog,
|
|
88
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'stepperCommandDialog')]: SceneStepperCommandDialog.SceneStepperCommandDialog,
|
|
89
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'icon')]: SceneIcon.SceneIcon,
|
|
90
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'tooltip')]: SceneTooltip.SceneTooltip,
|
|
91
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'dropdown')]: SceneDropdown.SceneDropdown,
|
|
92
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'errorBoundary')]: SceneErrorBoundary.SceneErrorBoundary,
|
|
93
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'objectContentEditor')]: SceneObjectContentEditor.SceneObjectContentEditor,
|
|
94
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'objectNavigationalBar')]: SceneObjectNavigationalBar.SceneObjectNavigationalBar,
|
|
95
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'schemaEditor')]: SceneSchemaEditor.SceneSchemaEditor,
|
|
96
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'timeMachine')]: SceneTimeMachine.SceneTimeMachine,
|
|
97
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'filterPanel')]: SceneFilterPanel.SceneFilterPanel,
|
|
98
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'toolbar')]: SceneToolbar.SceneToolbar,
|
|
99
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'toolbarButton')]: SceneToolbarButton.SceneToolbarButton,
|
|
100
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'toolbarGroup')]: SceneToolbarGroup.SceneToolbarGroup,
|
|
101
|
+
[scene_react.componentRegistryKey(cratisComponentsPackageName, 'toolbarSeparator')]: SceneToolbarSeparator.SceneToolbarSeparator
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
exports.cratisComponents = cratisComponents;
|
|
105
|
+
exports.cratisComponentsPackageName = cratisComponentsPackageName;
|
|
106
|
+
//# sourceMappingURL=cratisComponents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cratisComponents.js","sources":["../../cratisComponents.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\nimport { ComponentRegistry, componentRegistryKey } from '@cratis/scene.react';\nimport { SceneDataPage, SceneFormElement, ScenePage } from './pages';\nimport { SceneDataTable, SceneObservableDataTable } from './data';\nimport {\n SceneCalendarField,\n SceneCheckboxField,\n SceneChipsField,\n SceneColorPickerField,\n SceneCommandForm,\n SceneDropdownField,\n SceneInputTextField,\n SceneMultiSelectField,\n SceneNumberField,\n SceneRadioButtonField,\n SceneRadioGroupField,\n SceneSliderField,\n SceneTextAreaField,\n} from './forms';\nimport { SceneBusyIndicatorDialog, SceneCommandDialog, SceneConfirmationDialog, SceneDialog, SceneStepperCommandDialog } from './dialogs';\nimport { SceneDropdown, SceneErrorBoundary, SceneIcon, SceneTooltip } from './common';\nimport { SceneFilterPanel, SceneObjectContentEditor, SceneObjectNavigationalBar, SceneSchemaEditor, SceneTimeMachine } from './editors';\nimport { SceneToolbar, SceneToolbarButton, SceneToolbarGroup, SceneToolbarSeparator } from './toolbar';\n\n/**\n * The package name every component here is registered under, and the one a screen writes when it\n * qualifies a name explicitly (`Cratis.Components.table`).\n */\nexport const cratisComponentsPackageName = 'Cratis.Components';\n\n/**\n * The `Cratis.Components` package's component registry - the abstract names a screen can resolve to a\n * real `@cratis/components` component.\n *\n * Names are `lowerCamelCase` and deliberately *abstract*: a screen names `dataTable`, not\n * `DataTableForQuery`, so the same screen resolves against whichever package a profile ranks highest.\n * Two of them - `table` and `dialog` - are names `core` and `PrimeReact` also declare, and that overlap\n * is the point: a profile listing `core`, `PrimeReact`, `Cratis.Components` in that order resolves both\n * here and records the others as shadowed, which is override priority doing exactly what it exists for.\n *\n * `table` and `dataTable` are the same component under two names. `dataTable` says what it is; `table`\n * is what a screen written against the base vocabulary already says, and both should land on the\n * query-aware implementation.\n */\nexport const cratisComponents: ComponentRegistry = {\n [componentRegistryKey(cratisComponentsPackageName, 'page')]: ScenePage,\n [componentRegistryKey(cratisComponentsPackageName, 'dataPage')]: SceneDataPage,\n [componentRegistryKey(cratisComponentsPackageName, 'formElement')]: SceneFormElement,\n\n [componentRegistryKey(cratisComponentsPackageName, 'dataTable')]: SceneDataTable,\n [componentRegistryKey(cratisComponentsPackageName, 'table')]: SceneDataTable,\n [componentRegistryKey(cratisComponentsPackageName, 'observableDataTable')]: SceneObservableDataTable,\n\n [componentRegistryKey(cratisComponentsPackageName, 'commandForm')]: SceneCommandForm,\n [componentRegistryKey(cratisComponentsPackageName, 'inputTextField')]: SceneInputTextField,\n [componentRegistryKey(cratisComponentsPackageName, 'numberField')]: SceneNumberField,\n [componentRegistryKey(cratisComponentsPackageName, 'checkboxField')]: SceneCheckboxField,\n [componentRegistryKey(cratisComponentsPackageName, 'textAreaField')]: SceneTextAreaField,\n [componentRegistryKey(cratisComponentsPackageName, 'dropdownField')]: SceneDropdownField,\n [componentRegistryKey(cratisComponentsPackageName, 'sliderField')]: SceneSliderField,\n [componentRegistryKey(cratisComponentsPackageName, 'calendarField')]: SceneCalendarField,\n [componentRegistryKey(cratisComponentsPackageName, 'colorPickerField')]: SceneColorPickerField,\n [componentRegistryKey(cratisComponentsPackageName, 'multiSelectField')]: SceneMultiSelectField,\n [componentRegistryKey(cratisComponentsPackageName, 'chipsField')]: SceneChipsField,\n [componentRegistryKey(cratisComponentsPackageName, 'radioButtonField')]: SceneRadioButtonField,\n [componentRegistryKey(cratisComponentsPackageName, 'radioGroupField')]: SceneRadioGroupField,\n\n [componentRegistryKey(cratisComponentsPackageName, 'dialog')]: SceneDialog,\n [componentRegistryKey(cratisComponentsPackageName, 'confirmationDialog')]: SceneConfirmationDialog,\n [componentRegistryKey(cratisComponentsPackageName, 'busyIndicatorDialog')]: SceneBusyIndicatorDialog,\n [componentRegistryKey(cratisComponentsPackageName, 'commandDialog')]: SceneCommandDialog,\n [componentRegistryKey(cratisComponentsPackageName, 'stepperCommandDialog')]: SceneStepperCommandDialog,\n\n [componentRegistryKey(cratisComponentsPackageName, 'icon')]: SceneIcon,\n [componentRegistryKey(cratisComponentsPackageName, 'tooltip')]: SceneTooltip,\n [componentRegistryKey(cratisComponentsPackageName, 'dropdown')]: SceneDropdown,\n [componentRegistryKey(cratisComponentsPackageName, 'errorBoundary')]: SceneErrorBoundary,\n\n [componentRegistryKey(cratisComponentsPackageName, 'objectContentEditor')]: SceneObjectContentEditor,\n [componentRegistryKey(cratisComponentsPackageName, 'objectNavigationalBar')]: SceneObjectNavigationalBar,\n [componentRegistryKey(cratisComponentsPackageName, 'schemaEditor')]: SceneSchemaEditor,\n [componentRegistryKey(cratisComponentsPackageName, 'timeMachine')]: SceneTimeMachine,\n [componentRegistryKey(cratisComponentsPackageName, 'filterPanel')]: SceneFilterPanel,\n\n [componentRegistryKey(cratisComponentsPackageName, 'toolbar')]: SceneToolbar,\n [componentRegistryKey(cratisComponentsPackageName, 'toolbarButton')]: SceneToolbarButton,\n [componentRegistryKey(cratisComponentsPackageName, 'toolbarGroup')]: SceneToolbarGroup,\n [componentRegistryKey(cratisComponentsPackageName, 'toolbarSeparator')]: SceneToolbarSeparator,\n};\n"],"names":["cratisComponentsPackageName","cratisComponents","componentRegistryKey","ScenePage","SceneDataPage","SceneFormElement","SceneDataTable","SceneObservableDataTable","SceneCommandForm","SceneInputTextField","SceneNumberField","SceneCheckboxField","SceneTextAreaField","SceneDropdownField","SceneSliderField","SceneCalendarField","SceneColorPickerField","SceneMultiSelectField","SceneChipsField","SceneRadioButtonField","SceneRadioGroupField","SceneDialog","SceneConfirmationDialog","SceneBusyIndicatorDialog","SceneCommandDialog","SceneStepperCommandDialog","SceneIcon","SceneTooltip","SceneDropdown","SceneErrorBoundary","SceneObjectContentEditor","SceneObjectNavigationalBar","SceneSchemaEditor","SceneTimeMachine","SceneFilterPanel","SceneToolbar","SceneToolbarButton","SceneToolbarGroup","SceneToolbarSeparator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAyBA;;;IAIO,MAAMA,2BAAAA,GAA8B;AAE3C;;;;;;;;;;;;;UAcaC,gBAAAA,GAAsC;IAC/C,CAACC,gCAAAA,CAAqBF,2BAAAA,EAA6B,MAAA,CAAA,GAAUG,mBAAAA;IAC7D,CAACD,gCAAAA,CAAqBF,2BAAAA,EAA6B,UAAA,CAAA,GAAcI,2BAAAA;IACjE,CAACF,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBK,iCAAAA;IAEpE,CAACH,gCAAAA,CAAqBF,2BAAAA,EAA6B,WAAA,CAAA,GAAeM,6BAAAA;IAClE,CAACJ,gCAAAA,CAAqBF,2BAAAA,EAA6B,OAAA,CAAA,GAAWM,6BAAAA;IAC9D,CAACJ,gCAAAA,CAAqBF,2BAAAA,EAA6B,qBAAA,CAAA,GAAyBO,iDAAAA;IAE5E,CAACL,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBQ,iCAAAA;IACpE,CAACN,gCAAAA,CAAqBF,2BAAAA,EAA6B,gBAAA,CAAA,GAAoBS,uCAAAA;IACvE,CAACP,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBU,iCAAAA;IACpE,CAACR,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBW,qCAAAA;IACtE,CAACT,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBY,qCAAAA;IACtE,CAACV,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBa,qCAAAA;IACtE,CAACX,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBc,iCAAAA;IACpE,CAACZ,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBe,qCAAAA;IACtE,CAACb,gCAAAA,CAAqBF,2BAAAA,EAA6B,kBAAA,CAAA,GAAsBgB,2CAAAA;IACzE,CAACd,gCAAAA,CAAqBF,2BAAAA,EAA6B,kBAAA,CAAA,GAAsBiB,2CAAAA;IACzE,CAACf,gCAAAA,CAAqBF,2BAAAA,EAA6B,YAAA,CAAA,GAAgBkB,+BAAAA;IACnE,CAAChB,gCAAAA,CAAqBF,2BAAAA,EAA6B,kBAAA,CAAA,GAAsBmB,2CAAAA;IACzE,CAACjB,gCAAAA,CAAqBF,2BAAAA,EAA6B,iBAAA,CAAA,GAAqBoB,yCAAAA;IAExE,CAAClB,gCAAAA,CAAqBF,2BAAAA,EAA6B,QAAA,CAAA,GAAYqB,uBAAAA;IAC/D,CAACnB,gCAAAA,CAAqBF,2BAAAA,EAA6B,oBAAA,CAAA,GAAwBsB,+CAAAA;IAC3E,CAACpB,gCAAAA,CAAqBF,2BAAAA,EAA6B,qBAAA,CAAA,GAAyBuB,iDAAAA;IAC5E,CAACrB,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBwB,qCAAAA;IACtE,CAACtB,gCAAAA,CAAqBF,2BAAAA,EAA6B,sBAAA,CAAA,GAA0ByB,mDAAAA;IAE7E,CAACvB,gCAAAA,CAAqBF,2BAAAA,EAA6B,MAAA,CAAA,GAAU0B,mBAAAA;IAC7D,CAACxB,gCAAAA,CAAqBF,2BAAAA,EAA6B,SAAA,CAAA,GAAa2B,yBAAAA;IAChE,CAACzB,gCAAAA,CAAqBF,2BAAAA,EAA6B,UAAA,CAAA,GAAc4B,2BAAAA;IACjE,CAAC1B,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmB6B,qCAAAA;IAEtE,CAAC3B,gCAAAA,CAAqBF,2BAAAA,EAA6B,qBAAA,CAAA,GAAyB8B,iDAAAA;IAC5E,CAAC5B,gCAAAA,CAAqBF,2BAAAA,EAA6B,uBAAA,CAAA,GAA2B+B,qDAAAA;IAC9E,CAAC7B,gCAAAA,CAAqBF,2BAAAA,EAA6B,cAAA,CAAA,GAAkBgC,mCAAAA;IACrE,CAAC9B,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBiC,iCAAAA;IACpE,CAAC/B,gCAAAA,CAAqBF,2BAAAA,EAA6B,aAAA,CAAA,GAAiBkC,iCAAAA;IAEpE,CAAChC,gCAAAA,CAAqBF,2BAAAA,EAA6B,SAAA,CAAA,GAAamC,yBAAAA;IAChE,CAACjC,gCAAAA,CAAqBF,2BAAAA,EAA6B,eAAA,CAAA,GAAmBoC,qCAAAA;IACtE,CAAClC,gCAAAA,CAAqBF,2BAAAA,EAA6B,cAAA,CAAA,GAAkBqC,mCAAAA;IACrE,CAACnC,gCAAAA,CAAqBF,2BAAAA,EAA6B,kBAAA,CAAA,GAAsBsC;AAC7E;;;;;"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var scene_model = require('@cratis/scene.model');
|
|
4
|
+
var cratisComponents = require('./cratisComponents.js');
|
|
5
|
+
|
|
6
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
7
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
8
|
+
/**
|
|
9
|
+
* The `Cratis.Components` package's declaration - what a profile gets when it lists this package.
|
|
10
|
+
*
|
|
11
|
+
* This is the concrete case the whole package-dependency mechanism exists for. `@cratis/components` is
|
|
12
|
+
* not a self-contained library: every component in it is a wrapper over a PrimeReact widget, and its
|
|
13
|
+
* own styling is a compiled Tailwind utility sheet (`@cratis/components/styles`) plus a `--cratis-*`
|
|
14
|
+
* token layer. Activate it in a profile without PrimeReact and nothing renders; activate it without
|
|
15
|
+
* Tailwind and everything renders unstyled. Both are stated as dependencies so a package picker can say
|
|
16
|
+
* so while the profile is being configured, instead of leaving it to be discovered when the page opens.
|
|
17
|
+
*
|
|
18
|
+
* The version ranges are the real ones the library carries: `>=10.9.0` for PrimeReact because its
|
|
19
|
+
* `--cratis-*` tokens resolve PrimeReact 11's design tokens first and fall back to the version 10 theme
|
|
20
|
+
* variables, so it spans the upgrade window; `^4.0.0` for Tailwind because the utility sheet is compiled
|
|
21
|
+
* against Tailwind 4.
|
|
22
|
+
*/ const cratisComponentsPackageManifest = {
|
|
23
|
+
name: cratisComponents.cratisComponentsPackageName,
|
|
24
|
+
version: '2.8.1',
|
|
25
|
+
kind: scene_model.PackageKind.ComponentLibrary,
|
|
26
|
+
dependencies: [
|
|
27
|
+
{
|
|
28
|
+
name: 'PrimeReact',
|
|
29
|
+
versionRange: '>=10.9.0'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'Tailwind',
|
|
33
|
+
versionRange: '^4.0.0'
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
components: [
|
|
37
|
+
'page',
|
|
38
|
+
'dataPage',
|
|
39
|
+
'formElement',
|
|
40
|
+
'dataTable',
|
|
41
|
+
'table',
|
|
42
|
+
'observableDataTable',
|
|
43
|
+
'commandForm',
|
|
44
|
+
'inputTextField',
|
|
45
|
+
'numberField',
|
|
46
|
+
'checkboxField',
|
|
47
|
+
'textAreaField',
|
|
48
|
+
'dropdownField',
|
|
49
|
+
'sliderField',
|
|
50
|
+
'calendarField',
|
|
51
|
+
'colorPickerField',
|
|
52
|
+
'multiSelectField',
|
|
53
|
+
'chipsField',
|
|
54
|
+
'radioButtonField',
|
|
55
|
+
'radioGroupField',
|
|
56
|
+
'dialog',
|
|
57
|
+
'confirmationDialog',
|
|
58
|
+
'busyIndicatorDialog',
|
|
59
|
+
'commandDialog',
|
|
60
|
+
'stepperCommandDialog',
|
|
61
|
+
'icon',
|
|
62
|
+
'tooltip',
|
|
63
|
+
'dropdown',
|
|
64
|
+
'errorBoundary',
|
|
65
|
+
'objectContentEditor',
|
|
66
|
+
'objectNavigationalBar',
|
|
67
|
+
'schemaEditor',
|
|
68
|
+
'timeMachine',
|
|
69
|
+
'filterPanel',
|
|
70
|
+
'toolbar',
|
|
71
|
+
'toolbarButton',
|
|
72
|
+
'toolbarGroup',
|
|
73
|
+
'toolbarSeparator'
|
|
74
|
+
],
|
|
75
|
+
// A component library ships components, and nothing else. Layouts, screen templates and dialog
|
|
76
|
+
// templates all belong to a Blueprint: they are decisions about what an application looks like as a
|
|
77
|
+
// whole, and this package deliberately makes none of them - it provides the Arc-bound composites a
|
|
78
|
+
// template is *built from*, so that a blueprint can place a `dataPage` in a slot and configure it,
|
|
79
|
+
// rather than shipping one opinionated data page nobody can rearrange.
|
|
80
|
+
layouts: [],
|
|
81
|
+
screenTemplates: [],
|
|
82
|
+
dialogTemplates: [],
|
|
83
|
+
// No themes either, for a different reason: `@cratis/components` has no palette of its own. It reads
|
|
84
|
+
// a `--cratis-*` variable layer that resolves whatever PrimeReact theme - or Scene theme, through
|
|
85
|
+
// this package's token bridge - happens to be active. Shipping a theme here would be this library
|
|
86
|
+
// asserting a look it was specifically built not to have.
|
|
87
|
+
themes: [],
|
|
88
|
+
displayName: 'Cratis Components',
|
|
89
|
+
description: "Cratis' Arc-bound data, form and dialog composites, built on PrimeReact and Tailwind.",
|
|
90
|
+
module: '@cratis/scene.components'
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* The `Cratis.Components` package as a loadable bundle - the manifest above, plus the React components
|
|
94
|
+
* behind the names it declares.
|
|
95
|
+
*
|
|
96
|
+
* No `layouts`, `screenTemplates`, `dialogTemplates` or `themes` are provided, matching a manifest that
|
|
97
|
+
* declares none of them; `validatePackageBundle` is what proves the two halves agree.
|
|
98
|
+
*/ const cratisComponentsPackage = {
|
|
99
|
+
manifest: cratisComponentsPackageManifest,
|
|
100
|
+
components: cratisComponents.cratisComponents
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
exports.cratisComponentsPackage = cratisComponentsPackage;
|
|
104
|
+
exports.cratisComponentsPackageManifest = cratisComponentsPackageManifest;
|
|
105
|
+
//# sourceMappingURL=cratisComponentsPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cratisComponentsPackage.js","sources":["../../cratisComponentsPackage.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\nimport { PackageKind, ScenePackage } from '@cratis/scene.model';\nimport { ScenePackageBundle } from '@cratis/scene.react';\nimport { cratisComponents, cratisComponentsPackageName } from './cratisComponents';\n\n/**\n * The `Cratis.Components` package's declaration - what a profile gets when it lists this package.\n *\n * This is the concrete case the whole package-dependency mechanism exists for. `@cratis/components` is\n * not a self-contained library: every component in it is a wrapper over a PrimeReact widget, and its\n * own styling is a compiled Tailwind utility sheet (`@cratis/components/styles`) plus a `--cratis-*`\n * token layer. Activate it in a profile without PrimeReact and nothing renders; activate it without\n * Tailwind and everything renders unstyled. Both are stated as dependencies so a package picker can say\n * so while the profile is being configured, instead of leaving it to be discovered when the page opens.\n *\n * The version ranges are the real ones the library carries: `>=10.9.0` for PrimeReact because its\n * `--cratis-*` tokens resolve PrimeReact 11's design tokens first and fall back to the version 10 theme\n * variables, so it spans the upgrade window; `^4.0.0` for Tailwind because the utility sheet is compiled\n * against Tailwind 4.\n */\nexport const cratisComponentsPackageManifest: ScenePackage = {\n name: cratisComponentsPackageName,\n version: '2.8.1',\n kind: PackageKind.ComponentLibrary,\n dependencies: [\n { name: 'PrimeReact', versionRange: '>=10.9.0' },\n { name: 'Tailwind', versionRange: '^4.0.0' },\n ],\n components: [\n 'page',\n 'dataPage',\n 'formElement',\n 'dataTable',\n 'table',\n 'observableDataTable',\n 'commandForm',\n 'inputTextField',\n 'numberField',\n 'checkboxField',\n 'textAreaField',\n 'dropdownField',\n 'sliderField',\n 'calendarField',\n 'colorPickerField',\n 'multiSelectField',\n 'chipsField',\n 'radioButtonField',\n 'radioGroupField',\n 'dialog',\n 'confirmationDialog',\n 'busyIndicatorDialog',\n 'commandDialog',\n 'stepperCommandDialog',\n 'icon',\n 'tooltip',\n 'dropdown',\n 'errorBoundary',\n 'objectContentEditor',\n 'objectNavigationalBar',\n 'schemaEditor',\n 'timeMachine',\n 'filterPanel',\n 'toolbar',\n 'toolbarButton',\n 'toolbarGroup',\n 'toolbarSeparator',\n ],\n\n // A component library ships components, and nothing else. Layouts, screen templates and dialog\n // templates all belong to a Blueprint: they are decisions about what an application looks like as a\n // whole, and this package deliberately makes none of them - it provides the Arc-bound composites a\n // template is *built from*, so that a blueprint can place a `dataPage` in a slot and configure it,\n // rather than shipping one opinionated data page nobody can rearrange.\n layouts: [],\n screenTemplates: [],\n dialogTemplates: [],\n\n // No themes either, for a different reason: `@cratis/components` has no palette of its own. It reads\n // a `--cratis-*` variable layer that resolves whatever PrimeReact theme - or Scene theme, through\n // this package's token bridge - happens to be active. Shipping a theme here would be this library\n // asserting a look it was specifically built not to have.\n themes: [],\n\n displayName: 'Cratis Components',\n description: \"Cratis' Arc-bound data, form and dialog composites, built on PrimeReact and Tailwind.\",\n module: '@cratis/scene.components',\n};\n\n/**\n * The `Cratis.Components` package as a loadable bundle - the manifest above, plus the React components\n * behind the names it declares.\n *\n * No `layouts`, `screenTemplates`, `dialogTemplates` or `themes` are provided, matching a manifest that\n * declares none of them; `validatePackageBundle` is what proves the two halves agree.\n */\nexport const cratisComponentsPackage: ScenePackageBundle = {\n manifest: cratisComponentsPackageManifest,\n components: cratisComponents,\n};\n"],"names":["cratisComponentsPackageManifest","name","cratisComponentsPackageName","version","kind","PackageKind","ComponentLibrary","dependencies","versionRange","components","layouts","screenTemplates","dialogTemplates","themes","displayName","description","module","cratisComponentsPackage","manifest","cratisComponents"],"mappings":";;;;;AAAA;AACA;AAMA;;;;;;;;;;;;;;UAeaA,+BAAAA,GAAgD;IACzDC,IAAAA,EAAMC,4CAAAA;IACNC,OAAAA,EAAS,OAAA;AACTC,IAAAA,IAAAA,EAAMC,wBAAYC,gBAAgB;IAClCC,YAAAA,EAAc;AACV,QAAA;YAAEN,IAAAA,EAAM,YAAA;YAAcO,YAAAA,EAAc;AAAW,SAAA;AAC/C,QAAA;YAAEP,IAAAA,EAAM,UAAA;YAAYO,YAAAA,EAAc;AAAS;AAC9C,KAAA;IACDC,UAAAA,EAAY;AACR,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,WAAA;AACA,QAAA,OAAA;AACA,QAAA,qBAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,eAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,kBAAA;AACA,QAAA,kBAAA;AACA,QAAA,YAAA;AACA,QAAA,kBAAA;AACA,QAAA,iBAAA;AACA,QAAA,QAAA;AACA,QAAA,oBAAA;AACA,QAAA,qBAAA;AACA,QAAA,eAAA;AACA,QAAA,sBAAA;AACA,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,UAAA;AACA,QAAA,eAAA;AACA,QAAA,qBAAA;AACA,QAAA,uBAAA;AACA,QAAA,cAAA;AACA,QAAA,aAAA;AACA,QAAA,aAAA;AACA,QAAA,SAAA;AACA,QAAA,eAAA;AACA,QAAA,cAAA;AACA,QAAA;AACH,KAAA;;;;;;AAODC,IAAAA,OAAAA,EAAS,EAAE;AACXC,IAAAA,eAAAA,EAAiB,EAAE;AACnBC,IAAAA,eAAAA,EAAiB,EAAE;;;;;AAMnBC,IAAAA,MAAAA,EAAQ,EAAE;IAEVC,WAAAA,EAAa,mBAAA;IACbC,WAAAA,EAAa,uFAAA;IACbC,MAAAA,EAAQ;AACZ;AAEA;;;;;;UAOaC,uBAAAA,GAA8C;IACvDC,QAAAA,EAAUlB,+BAAAA;IACVS,UAAAA,EAAYU;AAChB;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var BindingKind = require('../bindings/BindingKind.js');
|
|
6
|
+
var resolveElementBinding = require('../bindings/resolveElementBinding.js');
|
|
7
|
+
var MissingBinding = require('../bindings/MissingBinding.js');
|
|
8
|
+
var ArcRuntimeBoundary = require('../bindings/ArcRuntimeBoundary.js');
|
|
9
|
+
var properties = require('../properties.js');
|
|
10
|
+
|
|
11
|
+
const DataTableForQuery = /*#__PURE__*/ react.lazy(async ()=>({
|
|
12
|
+
default: (await import('@cratis/components/DataTables')).DataTableForQuery
|
|
13
|
+
}));
|
|
14
|
+
/**
|
|
15
|
+
* The `Cratis.Components:dataTable` component, also registered as `table` - `DataTableForQuery` from
|
|
16
|
+
* `@cratis/components/DataTables`.
|
|
17
|
+
*
|
|
18
|
+
* Registering it under the bare name `table` as well is override priority working as designed: a profile
|
|
19
|
+
* listing `core`, `PrimeReact` and `Cratis.Components` in that order resolves `table` here and records
|
|
20
|
+
* the other two as shadowed. That is the right outcome, because this is a strictly better `table` for a
|
|
21
|
+
* Cratis application - it performs the query, pages against the server, and wires filtering and sorting
|
|
22
|
+
* back into it, where PrimeReact's `DataTable` is handed rows and knows nothing about where they came from.
|
|
23
|
+
*
|
|
24
|
+
* The `query` property names an Arc query proxy; the columns come from the `content` slot.
|
|
25
|
+
*/ function SceneDataTable({ element, slots }) {
|
|
26
|
+
const { name, target } = resolveElementBinding.resolveElementBinding(element, BindingKind.BindingKind.Query);
|
|
27
|
+
if (!target) return /*#__PURE__*/ jsxRuntime.jsx(MissingBinding.MissingBinding, {
|
|
28
|
+
element: element,
|
|
29
|
+
kind: BindingKind.BindingKind.Query,
|
|
30
|
+
name: name
|
|
31
|
+
});
|
|
32
|
+
return /*#__PURE__*/ jsxRuntime.jsx(ArcRuntimeBoundary.ArcRuntimeBoundary, {
|
|
33
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(DataTableForQuery, {
|
|
34
|
+
query: target,
|
|
35
|
+
emptyMessage: properties.stringProperty(element.properties, 'emptyMessage') ?? '',
|
|
36
|
+
dataKey: properties.stringProperty(element.properties, 'dataKey'),
|
|
37
|
+
globalFilterFields: properties.stringArrayProperty(element.properties, 'globalFilterFields'),
|
|
38
|
+
clientFiltering: properties.booleanProperty(element.properties, 'clientFiltering'),
|
|
39
|
+
className: properties.stringProperty(element.properties, 'className'),
|
|
40
|
+
children: slots.content
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
exports.SceneDataTable = SceneDataTable;
|
|
46
|
+
//# sourceMappingURL=SceneDataTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneDataTable.js","sources":["../../../data/SceneDataTable.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 { lazy } from 'react';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { ArcRuntimeBoundary, BindingKind, MissingBinding, resolveElementBinding } from '../bindings';\nimport { booleanProperty, stringArrayProperty, stringProperty } from '../properties';\n\nconst DataTableForQuery = lazy(async () => ({ default: (await import('@cratis/components/DataTables')).DataTableForQuery }));\n\n/**\n * The `Cratis.Components:dataTable` component, also registered as `table` - `DataTableForQuery` from\n * `@cratis/components/DataTables`.\n *\n * Registering it under the bare name `table` as well is override priority working as designed: a profile\n * listing `core`, `PrimeReact` and `Cratis.Components` in that order resolves `table` here and records\n * the other two as shadowed. That is the right outcome, because this is a strictly better `table` for a\n * Cratis application - it performs the query, pages against the server, and wires filtering and sorting\n * back into it, where PrimeReact's `DataTable` is handed rows and knows nothing about where they came from.\n *\n * The `query` property names an Arc query proxy; the columns come from the `content` slot.\n */\nexport function SceneDataTable({ element, slots }: RegisteredComponentProps) {\n const { name, target } = resolveElementBinding(element, BindingKind.Query);\n if (!target) return <MissingBinding element={element} kind={BindingKind.Query} name={name} />;\n\n return (\n <ArcRuntimeBoundary>\n <DataTableForQuery\n query={target}\n emptyMessage={stringProperty(element.properties, 'emptyMessage') ?? ''}\n dataKey={stringProperty(element.properties, 'dataKey')}\n globalFilterFields={stringArrayProperty(element.properties, 'globalFilterFields')}\n clientFiltering={booleanProperty(element.properties, 'clientFiltering')}\n className={stringProperty(element.properties, 'className')}\n >\n {slots.content}\n </DataTableForQuery>\n </ArcRuntimeBoundary>\n );\n}\n"],"names":["DataTableForQuery","lazy","default","SceneDataTable","element","slots","name","target","resolveElementBinding","BindingKind","Query","_jsx","MissingBinding","kind","ArcRuntimeBoundary","query","emptyMessage","stringProperty","properties","dataKey","globalFilterFields","stringArrayProperty","clientFiltering","booleanProperty","className","content"],"mappings":";;;;;;;;;;AAQA,MAAMA,iBAAAA,iBAAoBC,UAAAA,CAAK,WAAa;AAAEC,QAAAA,OAAAA,EAAS,CAAC,MAAM,OAAO,+BAAA,CAA+B,EAAGF;KAAkB,CAAA,CAAA;AAEzH;;;;;;;;;;;AAWC,IACM,SAASG,cAAAA,CAAe,EAAEC,OAAO,EAAEC,KAAK,EAA4B,EAAA;IACvE,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGC,2CAAAA,CAAsBJ,OAAAA,EAASK,uBAAAA,CAAYC,KAAK,CAAA;IACzE,IAAI,CAACH,MAAAA,EAAQ,qBAAOI,cAAA,CAACC,6BAAAA,EAAAA;QAAeR,OAAAA,EAASA,OAAAA;AAASS,QAAAA,IAAAA,EAAMJ,wBAAYC,KAAK;QAAEJ,IAAAA,EAAMA;;AAErF,IAAA,qBACIK,cAAA,CAACG,qCAAAA,EAAAA;AACG,QAAA,QAAA,gBAAAH,cAAA,CAACX,iBAAAA,EAAAA;YACGe,KAAAA,EAAOR,MAAAA;AACPS,YAAAA,YAAAA,EAAcC,yBAAAA,CAAeb,OAAAA,CAAQc,UAAU,EAAE,cAAA,CAAA,IAAmB,EAAA;YACpEC,OAAAA,EAASF,yBAAAA,CAAeb,OAAAA,CAAQc,UAAU,EAAE,SAAA,CAAA;YAC5CE,kBAAAA,EAAoBC,8BAAAA,CAAoBjB,OAAAA,CAAQc,UAAU,EAAE,oBAAA,CAAA;YAC5DI,eAAAA,EAAiBC,0BAAAA,CAAgBnB,OAAAA,CAAQc,UAAU,EAAE,iBAAA,CAAA;YACrDM,SAAAA,EAAWP,yBAAAA,CAAeb,OAAAA,CAAQc,UAAU,EAAE,WAAA,CAAA;AAE7Cb,YAAAA,QAAAA,EAAAA,KAAAA,CAAMoB;;;AAIvB;;;;"}
|