@gooddata/sdk-ui-metric-component 0.0.0-stage → 11.65.0-alpha.4
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/LICENSE +29 -0
- package/NOTICE +71721 -0
- package/README.md +13 -2
- package/esm/MaqlEditor/components/ExpandableTooltip.d.ts +50 -0
- package/esm/MaqlEditor/components/ExpandableTooltip.d.ts.map +1 -0
- package/esm/MaqlEditor/components/ExpandableTooltip.js +150 -0
- package/esm/MaqlEditor/components/ExpandableTooltipContext.d.ts +10 -0
- package/esm/MaqlEditor/components/ExpandableTooltipContext.d.ts.map +1 -0
- package/esm/MaqlEditor/components/ExpandableTooltipContext.js +17 -0
- package/esm/MaqlEditor/components/hooks/useExpandableTooltip.d.ts +3 -0
- package/esm/MaqlEditor/components/hooks/useExpandableTooltip.d.ts.map +1 -0
- package/esm/MaqlEditor/components/hooks/useExpandableTooltip.js +10 -0
- package/esm/MaqlEditor/components/hooks/useOutsideEvents.d.ts +10 -0
- package/esm/MaqlEditor/components/hooks/useOutsideEvents.d.ts.map +1 -0
- package/esm/MaqlEditor/components/hooks/useOutsideEvents.js +43 -0
- package/esm/MaqlEditor/components/hooks/useRePosition.d.ts +20 -0
- package/esm/MaqlEditor/components/hooks/useRePosition.d.ts.map +1 -0
- package/esm/MaqlEditor/components/hooks/useRePosition.js +108 -0
- package/esm/MaqlEditor/components/hooks/utils.d.ts +4 -0
- package/esm/MaqlEditor/components/hooks/utils.d.ts.map +1 -0
- package/esm/MaqlEditor/components/hooks/utils.js +18 -0
- package/esm/MaqlEditor/hooks/useAutoformat.d.ts +3 -0
- package/esm/MaqlEditor/hooks/useAutoformat.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useAutoformat.js +15 -0
- package/esm/MaqlEditor/hooks/useCleanCallback.d.ts +4 -0
- package/esm/MaqlEditor/hooks/useCleanCallback.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useCleanCallback.js +12 -0
- package/esm/MaqlEditor/hooks/useCodeTheme.d.ts +3 -0
- package/esm/MaqlEditor/hooks/useCodeTheme.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useCodeTheme.js +48 -0
- package/esm/MaqlEditor/hooks/useCopyToClipboard.d.ts +3 -0
- package/esm/MaqlEditor/hooks/useCopyToClipboard.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useCopyToClipboard.js +16 -0
- package/esm/MaqlEditor/hooks/useMountCallback.d.ts +13 -0
- package/esm/MaqlEditor/hooks/useMountCallback.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useMountCallback.js +26 -0
- package/esm/MaqlEditor/hooks/useUpdateCallback.d.ts +19 -0
- package/esm/MaqlEditor/hooks/useUpdateCallback.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useUpdateCallback.js +63 -0
- package/esm/MaqlEditor/hooks/useValueCallbacks.d.ts +6 -0
- package/esm/MaqlEditor/hooks/useValueCallbacks.d.ts.map +1 -0
- package/esm/MaqlEditor/hooks/useValueCallbacks.js +14 -0
- package/esm/MaqlEditor/languageService/LanguageServiceContext.d.ts +13 -0
- package/esm/MaqlEditor/languageService/LanguageServiceContext.d.ts.map +1 -0
- package/esm/MaqlEditor/languageService/LanguageServiceContext.js +20 -0
- package/esm/MaqlEditor/maql/MaqlEditor.d.ts +30 -0
- package/esm/MaqlEditor/maql/MaqlEditor.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/MaqlEditor.js +42 -0
- package/esm/MaqlEditor/maql/MaqlEditor.styles.d.ts +8 -0
- package/esm/MaqlEditor/maql/MaqlEditor.styles.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/MaqlEditor.styles.js +154 -0
- package/esm/MaqlEditor/maql/MaqlEditor.tooltip.d.ts +36 -0
- package/esm/MaqlEditor/maql/MaqlEditor.tooltip.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/MaqlEditor.tooltip.js +187 -0
- package/esm/MaqlEditor/maql/constants.d.ts +2 -0
- package/esm/MaqlEditor/maql/constants.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/constants.js +2 -0
- package/esm/MaqlEditor/maql/formatter.d.ts +6 -0
- package/esm/MaqlEditor/maql/formatter.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/formatter.js +14 -0
- package/esm/MaqlEditor/maql/hooks/hover/doHover.d.ts +12 -0
- package/esm/MaqlEditor/maql/hooks/hover/doHover.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/hover/doHover.js +126 -0
- package/esm/MaqlEditor/maql/hooks/hover/useHoverEvent.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/hover/useHoverEvent.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/hover/useHoverEvent.js +32 -0
- package/esm/MaqlEditor/maql/hooks/useAutocomplete.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useAutocomplete.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useAutocomplete.js +60 -0
- package/esm/MaqlEditor/maql/hooks/useDecoration.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useDecoration.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useDecoration.js +73 -0
- package/esm/MaqlEditor/maql/hooks/useDocumentFormatting.d.ts +3 -0
- package/esm/MaqlEditor/maql/hooks/useDocumentFormatting.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useDocumentFormatting.js +29 -0
- package/esm/MaqlEditor/maql/hooks/useHover.d.ts +6 -0
- package/esm/MaqlEditor/maql/hooks/useHover.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useHover.js +77 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageConfiguration.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageConfiguration.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageConfiguration.js +21 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageService.d.ts +3 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageService.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageService.js +21 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageServiceInitializer.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageServiceInitializer.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useLanguageServiceInitializer.js +11 -0
- package/esm/MaqlEditor/maql/hooks/useMonaco.d.ts +21 -0
- package/esm/MaqlEditor/maql/hooks/useMonaco.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useMonaco.js +75 -0
- package/esm/MaqlEditor/maql/hooks/useSemanticHighlight.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useSemanticHighlight.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useSemanticHighlight.js +33 -0
- package/esm/MaqlEditor/maql/hooks/useSyntaxHighlight.d.ts +2 -0
- package/esm/MaqlEditor/maql/hooks/useSyntaxHighlight.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useSyntaxHighlight.js +28 -0
- package/esm/MaqlEditor/maql/hooks/useValidation.d.ts +4 -0
- package/esm/MaqlEditor/maql/hooks/useValidation.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/hooks/useValidation.js +56 -0
- package/esm/MaqlEditor/maql/utils.d.ts +4 -0
- package/esm/MaqlEditor/maql/utils.d.ts.map +1 -0
- package/esm/MaqlEditor/maql/utils.js +6 -0
- package/esm/MaqlEditor/mock/monaco-shim.d.ts +2 -0
- package/esm/MaqlEditor/mock/monaco-shim.d.ts.map +1 -0
- package/esm/MaqlEditor/mock/monaco-shim.js +36 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.d.ts +49 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.js +71 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.styles.d.ts +47 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.styles.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/MonacoEditor.styles.js +427 -0
- package/esm/MaqlEditor/monaco/hooks/useAutofocus.d.ts +3 -0
- package/esm/MaqlEditor/monaco/hooks/useAutofocus.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/hooks/useAutofocus.js +33 -0
- package/esm/MaqlEditor/monaco/hooks/useDefaultValue.d.ts +3 -0
- package/esm/MaqlEditor/monaco/hooks/useDefaultValue.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/hooks/useDefaultValue.js +14 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorInit.d.ts +3 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorInit.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorInit.js +84 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorOptions.d.ts +3 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorOptions.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/hooks/useEditorOptions.js +51 -0
- package/esm/MaqlEditor/monaco/hooks/useMonaco.d.ts +3 -0
- package/esm/MaqlEditor/monaco/hooks/useMonaco.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/hooks/useMonaco.js +24 -0
- package/esm/MaqlEditor/monaco/monacoContributions.d.ts +74 -0
- package/esm/MaqlEditor/monaco/monacoContributions.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/monacoContributions.js +88 -0
- package/esm/MaqlEditor/monaco/monacoWorkers.d.ts +12 -0
- package/esm/MaqlEditor/monaco/monacoWorkers.d.ts.map +1 -0
- package/esm/MaqlEditor/monaco/monacoWorkers.js +63 -0
- package/esm/MaqlEditor/sql/SqlEditor.d.ts +21 -0
- package/esm/MaqlEditor/sql/SqlEditor.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/SqlEditor.js +45 -0
- package/esm/MaqlEditor/sql/SqlEditor.styles.d.ts +3 -0
- package/esm/MaqlEditor/sql/SqlEditor.styles.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/SqlEditor.styles.js +3 -0
- package/esm/MaqlEditor/sql/constants.d.ts +2 -0
- package/esm/MaqlEditor/sql/constants.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/constants.js +2 -0
- package/esm/MaqlEditor/sql/formatter.d.ts +6 -0
- package/esm/MaqlEditor/sql/formatter.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/formatter.js +17 -0
- package/esm/MaqlEditor/sql/hooks/useDocumentFormatting.d.ts +2 -0
- package/esm/MaqlEditor/sql/hooks/useDocumentFormatting.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/hooks/useDocumentFormatting.js +26 -0
- package/esm/MaqlEditor/sql/hooks/useLanguageConfiguration.d.ts +4 -0
- package/esm/MaqlEditor/sql/hooks/useLanguageConfiguration.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/hooks/useLanguageConfiguration.js +29 -0
- package/esm/MaqlEditor/sql/hooks/useMonaco.d.ts +14 -0
- package/esm/MaqlEditor/sql/hooks/useMonaco.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/hooks/useMonaco.js +26 -0
- package/esm/MaqlEditor/sql/hooks/useSyntaxHighlight.d.ts +2 -0
- package/esm/MaqlEditor/sql/hooks/useSyntaxHighlight.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/hooks/useSyntaxHighlight.js +796 -0
- package/esm/MaqlEditor/sql/utils.d.ts +4 -0
- package/esm/MaqlEditor/sql/utils.d.ts.map +1 -0
- package/esm/MaqlEditor/sql/utils.js +6 -0
- package/esm/MaqlEditor/statusBar/SuggestionStatusBar.d.ts +9 -0
- package/esm/MaqlEditor/statusBar/SuggestionStatusBar.d.ts.map +1 -0
- package/esm/MaqlEditor/statusBar/SuggestionStatusBar.js +38 -0
- package/esm/MaqlEditor/theme/default.d.ts +204 -0
- package/esm/MaqlEditor/theme/default.d.ts.map +1 -0
- package/esm/MaqlEditor/theme/default.js +223 -0
- package/esm/MaqlEditor/theme/styles.d.ts +411 -0
- package/esm/MaqlEditor/theme/styles.d.ts.map +1 -0
- package/esm/MaqlEditor/theme/styles.js +5 -0
- package/esm/MaqlEditor/theme/theme.d.ts +206 -0
- package/esm/MaqlEditor/theme/theme.d.ts.map +1 -0
- package/esm/MaqlEditor/theme/theme.js +9 -0
- package/esm/MetricComponent/ConflictContext/ConflictContext.d.ts +9 -0
- package/esm/MetricComponent/ConflictContext/ConflictContext.d.ts.map +1 -0
- package/esm/MetricComponent/ConflictContext/ConflictContext.js +9 -0
- package/esm/MetricComponent/ConflictContext/useConflictDetection.d.ts +8 -0
- package/esm/MetricComponent/ConflictContext/useConflictDetection.d.ts.map +1 -0
- package/esm/MetricComponent/ConflictContext/useConflictDetection.js +48 -0
- package/esm/MetricComponent/Content/EditMetricContent.d.ts +3 -0
- package/esm/MetricComponent/Content/EditMetricContent.d.ts.map +1 -0
- package/esm/MetricComponent/Content/EditMetricContent.data.d.ts +52 -0
- package/esm/MetricComponent/Content/EditMetricContent.data.d.ts.map +1 -0
- package/esm/MetricComponent/Content/EditMetricContent.data.js +12 -0
- package/esm/MetricComponent/Content/EditMetricContent.events.d.ts +9 -0
- package/esm/MetricComponent/Content/EditMetricContent.events.d.ts.map +1 -0
- package/esm/MetricComponent/Content/EditMetricContent.events.js +21 -0
- package/esm/MetricComponent/Content/EditMetricContent.js +27 -0
- package/esm/MetricComponent/DeleteMetric.d.ts +12 -0
- package/esm/MetricComponent/DeleteMetric.d.ts.map +1 -0
- package/esm/MetricComponent/DeleteMetric.events.d.ts +10 -0
- package/esm/MetricComponent/DeleteMetric.events.d.ts.map +1 -0
- package/esm/MetricComponent/DeleteMetric.events.js +24 -0
- package/esm/MetricComponent/DeleteMetric.js +8 -0
- package/esm/MetricComponent/DeleteMetricConfirmDialog/DeleteMetricConfirmDialog.d.ts +6 -0
- package/esm/MetricComponent/DeleteMetricConfirmDialog/DeleteMetricConfirmDialog.d.ts.map +1 -0
- package/esm/MetricComponent/DeleteMetricConfirmDialog/DeleteMetricConfirmDialog.js +19 -0
- package/esm/MetricComponent/EditMetric.d.ts +48 -0
- package/esm/MetricComponent/EditMetric.d.ts.map +1 -0
- package/esm/MetricComponent/EditMetric.events.d.ts +16 -0
- package/esm/MetricComponent/EditMetric.events.d.ts.map +1 -0
- package/esm/MetricComponent/EditMetric.events.js +55 -0
- package/esm/MetricComponent/EditMetric.js +30 -0
- package/esm/MetricComponent/FeaturesAndSettings/index.d.ts +18 -0
- package/esm/MetricComponent/FeaturesAndSettings/index.d.ts.map +1 -0
- package/esm/MetricComponent/FeaturesAndSettings/index.js +25 -0
- package/esm/MetricComponent/Form/CloseButton/CloseButton.d.ts +6 -0
- package/esm/MetricComponent/Form/CloseButton/CloseButton.d.ts.map +1 -0
- package/esm/MetricComponent/Form/CloseButton/CloseButton.js +14 -0
- package/esm/MetricComponent/Form/EditMetricCenterForm.d.ts +15 -0
- package/esm/MetricComponent/Form/EditMetricCenterForm.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditMetricCenterForm.js +157 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.d.ts +45 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.events.d.ts +13 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.events.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.events.js +32 -0
- package/esm/MetricComponent/Form/EditMetricContentForm.js +106 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRow.d.ts +16 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRow.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRow.js +82 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRowError.d.ts +13 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRowError.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditableRow/EditableRowError.js +5 -0
- package/esm/MetricComponent/Form/EditableRow/InlineEditableValue.d.ts +27 -0
- package/esm/MetricComponent/Form/EditableRow/InlineEditableValue.d.ts.map +1 -0
- package/esm/MetricComponent/Form/EditableRow/InlineEditableValue.js +125 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.d.ts +9 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.events.d.ts +7 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.events.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.events.js +11 -0
- package/esm/MetricComponent/Form/Footer/EditMetricContentFooter.js +63 -0
- package/esm/MetricComponent/Form/Footer/EditMetricSaveMessage.d.ts +8 -0
- package/esm/MetricComponent/Form/Footer/EditMetricSaveMessage.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Footer/EditMetricSaveMessage.js +22 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.d.ts +28 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.events.d.ts +7 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.events.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.events.js +11 -0
- package/esm/MetricComponent/Form/Header/EditMetricContentHeader.js +48 -0
- package/esm/MetricComponent/Form/Header/LockedBubble.d.ts +3 -0
- package/esm/MetricComponent/Form/Header/LockedBubble.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/LockedBubble.js +14 -0
- package/esm/MetricComponent/Form/Header/MetricDescriptionField.d.ts +10 -0
- package/esm/MetricComponent/Form/Header/MetricDescriptionField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/MetricDescriptionField.js +24 -0
- package/esm/MetricComponent/Form/Header/MetricIdField.d.ts +9 -0
- package/esm/MetricComponent/Form/Header/MetricIdField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/MetricIdField.js +80 -0
- package/esm/MetricComponent/Form/Header/MetricTagsField.d.ts +8 -0
- package/esm/MetricComponent/Form/Header/MetricTagsField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/MetricTagsField.js +61 -0
- package/esm/MetricComponent/Form/Header/MetricTitleField.d.ts +8 -0
- package/esm/MetricComponent/Form/Header/MetricTitleField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/MetricTitleField.js +40 -0
- package/esm/MetricComponent/Form/Header/MetricTypeField.d.ts +8 -0
- package/esm/MetricComponent/Form/Header/MetricTypeField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/MetricTypeField.js +42 -0
- package/esm/MetricComponent/Form/Header/Usage/Usage.d.ts +13 -0
- package/esm/MetricComponent/Form/Header/Usage/Usage.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/Usage/Usage.js +68 -0
- package/esm/MetricComponent/Form/Header/Usage/UsageItems.d.ts +11 -0
- package/esm/MetricComponent/Form/Header/Usage/UsageItems.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/Usage/UsageItems.js +88 -0
- package/esm/MetricComponent/Form/Header/Usage/UsagesOverlay.d.ts +17 -0
- package/esm/MetricComponent/Form/Header/Usage/UsagesOverlay.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/Usage/UsagesOverlay.js +119 -0
- package/esm/MetricComponent/Form/Header/share/MetricAccessChip.d.ts +9 -0
- package/esm/MetricComponent/Form/Header/share/MetricAccessChip.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/share/MetricAccessChip.js +39 -0
- package/esm/MetricComponent/Form/Header/share/MetricShare.d.ts +17 -0
- package/esm/MetricComponent/Form/Header/share/MetricShare.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/share/MetricShare.js +36 -0
- package/esm/MetricComponent/Form/Header/share/useApplyMetricAccess.d.ts +10 -0
- package/esm/MetricComponent/Form/Header/share/useApplyMetricAccess.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Header/share/useApplyMetricAccess.js +39 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorEditor.d.ts +11 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorEditor.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorEditor.js +128 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.d.ts +9 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.events.d.ts +11 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.events.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.events.js +25 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorField.js +68 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorHeader.d.ts +14 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorHeader.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorField/MaqlEditorHeader.js +84 -0
- package/esm/MetricComponent/Form/MaqlEditorField/suggestionDetailsFunctions.d.ts +3 -0
- package/esm/MetricComponent/Form/MaqlEditorField/suggestionDetailsFunctions.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorField/suggestionDetailsFunctions.js +57 -0
- package/esm/MetricComponent/Form/MaqlEditorUtils/Placeholder.d.ts +8 -0
- package/esm/MetricComponent/Form/MaqlEditorUtils/Placeholder.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlEditorUtils/Placeholder.js +72 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResult.d.ts +19 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResult.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResult.js +144 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResultHeader.d.ts +23 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResultHeader.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlResultHeader.js +54 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSql.d.ts +8 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSql.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSql.js +54 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSqlHeader.d.ts +10 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSqlHeader.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/MaqlSqlHeader.js +46 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelect.d.ts +15 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelect.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelect.js +171 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelectItem.d.ts +10 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelectItem.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/components/AttributesSelectItem.js +23 -0
- package/esm/MetricComponent/Form/MaqlResult/components/LimitSelect.d.ts +11 -0
- package/esm/MetricComponent/Form/MaqlResult/components/LimitSelect.d.ts.map +1 -0
- package/esm/MetricComponent/Form/MaqlResult/components/LimitSelect.js +134 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.d.ts +10 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.d.ts.map +1 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.events.d.ts +7 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.events.d.ts.map +1 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.events.js +12 -0
- package/esm/MetricComponent/Form/NumberFormat/EditMetricContentNumberFormat.js +83 -0
- package/esm/MetricComponent/Form/OtherMetrics/OtherMetricsContext.d.ts +13 -0
- package/esm/MetricComponent/Form/OtherMetrics/OtherMetricsContext.d.ts.map +1 -0
- package/esm/MetricComponent/Form/OtherMetrics/OtherMetricsContext.js +23 -0
- package/esm/MetricComponent/Form/OtherMetrics/useOtherMetrics.d.ts +3 -0
- package/esm/MetricComponent/Form/OtherMetrics/useOtherMetrics.d.ts.map +1 -0
- package/esm/MetricComponent/Form/OtherMetrics/useOtherMetrics.js +6 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeader.d.ts +20 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeader.d.ts.map +1 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeader.js +90 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeaderButton.d.ts +16 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeaderButton.d.ts.map +1 -0
- package/esm/MetricComponent/Form/PartHeader/PartHeaderButton.js +29 -0
- package/esm/MetricComponent/Form/Prefixes/PrefixesContext.d.ts +12 -0
- package/esm/MetricComponent/Form/Prefixes/PrefixesContext.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Prefixes/PrefixesContext.js +10 -0
- package/esm/MetricComponent/Form/Prefixes/usePrefixes.d.ts +3 -0
- package/esm/MetricComponent/Form/Prefixes/usePrefixes.d.ts.map +1 -0
- package/esm/MetricComponent/Form/Prefixes/usePrefixes.js +6 -0
- package/esm/MetricComponent/Form/TestingFormProvider.d.ts +10 -0
- package/esm/MetricComponent/Form/TestingFormProvider.d.ts.map +1 -0
- package/esm/MetricComponent/Form/TestingFormProvider.js +7 -0
- package/esm/MetricComponent/Form/attribute.d.ts +3 -0
- package/esm/MetricComponent/Form/attribute.d.ts.map +1 -0
- package/esm/MetricComponent/Form/attribute.js +9 -0
- package/esm/MetricComponent/Form/data.d.ts +23 -0
- package/esm/MetricComponent/Form/data.d.ts.map +1 -0
- package/esm/MetricComponent/Form/data.js +12 -0
- package/esm/MetricComponent/Form/hooks/useCatalog.d.ts +9 -0
- package/esm/MetricComponent/Form/hooks/useCatalog.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useCatalog.js +72 -0
- package/esm/MetricComponent/Form/hooks/useExecute.d.ts +14 -0
- package/esm/MetricComponent/Form/hooks/useExecute.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useExecute.js +26 -0
- package/esm/MetricComponent/Form/hooks/useExplain.d.ts +10 -0
- package/esm/MetricComponent/Form/hooks/useExplain.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useExplain.js +50 -0
- package/esm/MetricComponent/Form/hooks/useInvalidFocus.d.ts +5 -0
- package/esm/MetricComponent/Form/hooks/useInvalidFocus.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useInvalidFocus.js +20 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormField.d.ts +10 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormField.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormField.js +16 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormStatus.d.ts +5 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormStatus.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormStatus.js +5 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormatState.d.ts +41 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormatState.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useMetricFormatState.js +50 -0
- package/esm/MetricComponent/Form/hooks/useMetricValidation.d.ts +11 -0
- package/esm/MetricComponent/Form/hooks/useMetricValidation.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useMetricValidation.js +53 -0
- package/esm/MetricComponent/Form/hooks/useTitleExistsCheck.d.ts +2 -0
- package/esm/MetricComponent/Form/hooks/useTitleExistsCheck.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useTitleExistsCheck.js +19 -0
- package/esm/MetricComponent/Form/hooks/useToggleWithCollapse.d.ts +4 -0
- package/esm/MetricComponent/Form/hooks/useToggleWithCollapse.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useToggleWithCollapse.js +16 -0
- package/esm/MetricComponent/Form/hooks/useUniqIdGenerator.d.ts +2 -0
- package/esm/MetricComponent/Form/hooks/useUniqIdGenerator.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useUniqIdGenerator.js +48 -0
- package/esm/MetricComponent/Form/hooks/useValidationScheme.d.ts +10 -0
- package/esm/MetricComponent/Form/hooks/useValidationScheme.d.ts.map +1 -0
- package/esm/MetricComponent/Form/hooks/useValidationScheme.js +17 -0
- package/esm/MetricComponent/Form/inlineMeasure.d.ts +3 -0
- package/esm/MetricComponent/Form/inlineMeasure.d.ts.map +1 -0
- package/esm/MetricComponent/Form/inlineMeasure.js +11 -0
- package/esm/MetricComponent/Form/maqlFieldFunctions.d.ts +17 -0
- package/esm/MetricComponent/Form/maqlFieldFunctions.d.ts.map +1 -0
- package/esm/MetricComponent/Form/maqlFieldFunctions.js +43 -0
- package/esm/MetricComponent/Form/validationSchema.d.ts +12 -0
- package/esm/MetricComponent/Form/validationSchema.d.ts.map +1 -0
- package/esm/MetricComponent/Form/validationSchema.js +123 -0
- package/esm/MetricComponent/IdChangeConfirmDialog/IdChangeConfirmDialog.d.ts +15 -0
- package/esm/MetricComponent/IdChangeConfirmDialog/IdChangeConfirmDialog.d.ts.map +1 -0
- package/esm/MetricComponent/IdChangeConfirmDialog/IdChangeConfirmDialog.js +75 -0
- package/esm/MetricComponent/ManageMetric.d.ts +38 -0
- package/esm/MetricComponent/ManageMetric.d.ts.map +1 -0
- package/esm/MetricComponent/ManageMetric.js +29 -0
- package/esm/MetricComponent/ManageMetrics.d.ts +23 -0
- package/esm/MetricComponent/ManageMetrics.d.ts.map +1 -0
- package/esm/MetricComponent/ManageMetrics.js +32 -0
- package/esm/MetricComponent/MetricService.d.ts +7 -0
- package/esm/MetricComponent/MetricService.d.ts.map +1 -0
- package/esm/MetricComponent/MetricService.js +7 -0
- package/esm/MetricComponent/MetricState/TabContent.d.ts +37 -0
- package/esm/MetricComponent/MetricState/TabContent.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/TabContent.js +21 -0
- package/esm/MetricComponent/MetricState/hooks/useChangeIdDialog.d.ts +23 -0
- package/esm/MetricComponent/MetricState/hooks/useChangeIdDialog.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useChangeIdDialog.js +68 -0
- package/esm/MetricComponent/MetricState/hooks/useDirtyChanged.d.ts +4 -0
- package/esm/MetricComponent/MetricState/hooks/useDirtyChanged.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useDirtyChanged.js +16 -0
- package/esm/MetricComponent/MetricState/hooks/useOnChangeCallback.d.ts +17 -0
- package/esm/MetricComponent/MetricState/hooks/useOnChangeCallback.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useOnChangeCallback.js +41 -0
- package/esm/MetricComponent/MetricState/hooks/useOnDeleteCallback.d.ts +5 -0
- package/esm/MetricComponent/MetricState/hooks/useOnDeleteCallback.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useOnDeleteCallback.js +9 -0
- package/esm/MetricComponent/MetricState/hooks/useOnSaveCallback.d.ts +6 -0
- package/esm/MetricComponent/MetricState/hooks/useOnSaveCallback.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useOnSaveCallback.js +9 -0
- package/esm/MetricComponent/MetricState/hooks/useSaveTab.d.ts +9 -0
- package/esm/MetricComponent/MetricState/hooks/useSaveTab.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useSaveTab.js +93 -0
- package/esm/MetricComponent/MetricState/hooks/useTabsData.d.ts +16 -0
- package/esm/MetricComponent/MetricState/hooks/useTabsData.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useTabsData.js +62 -0
- package/esm/MetricComponent/MetricState/hooks/useUnsavedChanges.d.ts +17 -0
- package/esm/MetricComponent/MetricState/hooks/useUnsavedChanges.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useUnsavedChanges.js +86 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricData.d.ts +5 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricData.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricData.js +10 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricTab.d.ts +6 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricTab.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/hooks/useUpdateMetricTab.js +17 -0
- package/esm/MetricComponent/MetricState/metricState.data.d.ts +37 -0
- package/esm/MetricComponent/MetricState/metricState.data.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/metricState.data.js +13 -0
- package/esm/MetricComponent/MetricState/useMetricState.d.ts +27 -0
- package/esm/MetricComponent/MetricState/useMetricState.d.ts.map +1 -0
- package/esm/MetricComponent/MetricState/useMetricState.js +127 -0
- package/esm/MetricComponent/MetricsContext/MetricsContext.d.ts +11 -0
- package/esm/MetricComponent/MetricsContext/MetricsContext.d.ts.map +1 -0
- package/esm/MetricComponent/MetricsContext/MetricsContext.js +14 -0
- package/esm/MetricComponent/MetricsContext/useMetricsContext.d.ts +3 -0
- package/esm/MetricComponent/MetricsContext/useMetricsContext.d.ts.map +1 -0
- package/esm/MetricComponent/MetricsContext/useMetricsContext.js +6 -0
- package/esm/MetricComponent/MetricsState.d.ts +39 -0
- package/esm/MetricComponent/MetricsState.d.ts.map +1 -0
- package/esm/MetricComponent/MetricsState.js +73 -0
- package/esm/MetricComponent/MinimizedMetricComponent/MinimizedMetricComponent.d.ts +12 -0
- package/esm/MetricComponent/MinimizedMetricComponent/MinimizedMetricComponent.d.ts.map +1 -0
- package/esm/MetricComponent/MinimizedMetricComponent/MinimizedMetricComponent.js +110 -0
- package/esm/MetricComponent/MinimizedMetrics.d.ts +10 -0
- package/esm/MetricComponent/MinimizedMetrics.d.ts.map +1 -0
- package/esm/MetricComponent/MinimizedMetrics.js +19 -0
- package/esm/MetricComponent/MultipleMetricsState.d.ts +61 -0
- package/esm/MetricComponent/MultipleMetricsState.d.ts.map +1 -0
- package/esm/MetricComponent/MultipleMetricsState.js +53 -0
- package/esm/MetricComponent/UnsavedChangesConfirmDialog/UnsavedChangesConfirmDialog.d.ts +14 -0
- package/esm/MetricComponent/UnsavedChangesConfirmDialog/UnsavedChangesConfirmDialog.d.ts.map +1 -0
- package/esm/MetricComponent/UnsavedChangesConfirmDialog/UnsavedChangesConfirmDialog.js +52 -0
- package/esm/MetricComponent/hooks/useDeleteCallbacks.d.ts +7 -0
- package/esm/MetricComponent/hooks/useDeleteCallbacks.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useDeleteCallbacks.js +52 -0
- package/esm/MetricComponent/hooks/useDirtyChanged.d.ts +2 -0
- package/esm/MetricComponent/hooks/useDirtyChanged.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useDirtyChanged.js +10 -0
- package/esm/MetricComponent/hooks/useEditCallbacks.d.ts +23 -0
- package/esm/MetricComponent/hooks/useEditCallbacks.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useEditCallbacks.js +107 -0
- package/esm/MetricComponent/hooks/useFocusedField.d.ts +4 -0
- package/esm/MetricComponent/hooks/useFocusedField.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useFocusedField.js +9 -0
- package/esm/MetricComponent/hooks/useIdCallbacks.d.ts +22 -0
- package/esm/MetricComponent/hooks/useIdCallbacks.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useIdCallbacks.js +46 -0
- package/esm/MetricComponent/hooks/useInitialValueMetric.d.ts +4 -0
- package/esm/MetricComponent/hooks/useInitialValueMetric.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useInitialValueMetric.js +12 -0
- package/esm/MetricComponent/hooks/useInitialValues.d.ts +3 -0
- package/esm/MetricComponent/hooks/useInitialValues.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useInitialValues.js +13 -0
- package/esm/MetricComponent/hooks/useMetricContentState.d.ts +38 -0
- package/esm/MetricComponent/hooks/useMetricContentState.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useMetricContentState.js +73 -0
- package/esm/MetricComponent/hooks/useMetricDelete.d.ts +3 -0
- package/esm/MetricComponent/hooks/useMetricDelete.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useMetricDelete.js +14 -0
- package/esm/MetricComponent/hooks/useMetricSave.d.ts +4 -0
- package/esm/MetricComponent/hooks/useMetricSave.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useMetricSave.js +52 -0
- package/esm/MetricComponent/hooks/useMetricUsage.d.ts +8 -0
- package/esm/MetricComponent/hooks/useMetricUsage.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useMetricUsage.js +21 -0
- package/esm/MetricComponent/hooks/useOnCloseOrCancel.d.ts +7 -0
- package/esm/MetricComponent/hooks/useOnCloseOrCancel.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useOnCloseOrCancel.js +26 -0
- package/esm/MetricComponent/hooks/useOnSaveUnchanged.d.ts +12 -0
- package/esm/MetricComponent/hooks/useOnSaveUnchanged.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useOnSaveUnchanged.js +30 -0
- package/esm/MetricComponent/hooks/useSaveAsClick.d.ts +6 -0
- package/esm/MetricComponent/hooks/useSaveAsClick.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useSaveAsClick.js +62 -0
- package/esm/MetricComponent/hooks/useSaveClick.d.ts +11 -0
- package/esm/MetricComponent/hooks/useSaveClick.d.ts.map +1 -0
- package/esm/MetricComponent/hooks/useSaveClick.js +47 -0
- package/esm/MetricComponent/metric/deleteInfo.d.ts +6 -0
- package/esm/MetricComponent/metric/deleteInfo.d.ts.map +1 -0
- package/esm/MetricComponent/metric/deleteInfo.js +6 -0
- package/esm/MetricComponent/metric/emptyMetric.d.ts +8 -0
- package/esm/MetricComponent/metric/emptyMetric.d.ts.map +1 -0
- package/esm/MetricComponent/metric/emptyMetric.js +13 -0
- package/esm/MetricComponent/metric/idChangeHelper.d.ts +5 -0
- package/esm/MetricComponent/metric/idChangeHelper.d.ts.map +1 -0
- package/esm/MetricComponent/metric/idChangeHelper.js +11 -0
- package/esm/MetricComponent/metric/idValidator.d.ts +3 -0
- package/esm/MetricComponent/metric/idValidator.d.ts.map +1 -0
- package/esm/MetricComponent/metric/idValidator.js +5 -0
- package/esm/MetricComponent/metric/metricHelpers.d.ts +29 -0
- package/esm/MetricComponent/metric/metricHelpers.d.ts.map +1 -0
- package/esm/MetricComponent/metric/metricHelpers.js +114 -0
- package/esm/MetricComponent/metric/nameGenerators.d.ts +13 -0
- package/esm/MetricComponent/metric/nameGenerators.d.ts.map +1 -0
- package/esm/MetricComponent/metric/nameGenerators.js +63 -0
- package/esm/MetricComponent/metric/prefixHelper.d.ts +7 -0
- package/esm/MetricComponent/metric/prefixHelper.d.ts.map +1 -0
- package/esm/MetricComponent/metric/prefixHelper.js +43 -0
- package/esm/MetricComponent/metric/saveInfo.d.ts +13 -0
- package/esm/MetricComponent/metric/saveInfo.d.ts.map +1 -0
- package/esm/MetricComponent/metric/saveInfo.js +10 -0
- package/esm/MetricComponent/metric/transformer.d.ts +5 -0
- package/esm/MetricComponent/metric/transformer.d.ts.map +1 -0
- package/esm/MetricComponent/metric/transformer.js +17 -0
- package/esm/index.d.ts +41 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +35 -0
- package/esm/shared/Form/Form.d.ts +25 -0
- package/esm/shared/Form/Form.d.ts.map +1 -0
- package/esm/shared/Form/Form.js +48 -0
- package/esm/shared/Form/FormApi.d.ts +8 -0
- package/esm/shared/Form/FormApi.d.ts.map +1 -0
- package/esm/shared/Form/FormApi.js +14 -0
- package/esm/shared/Form/FormContext.d.ts +52 -0
- package/esm/shared/Form/FormContext.d.ts.map +1 -0
- package/esm/shared/Form/FormContext.js +50 -0
- package/esm/shared/Form/data.d.ts +5 -0
- package/esm/shared/Form/data.d.ts.map +1 -0
- package/esm/shared/Form/data.js +6 -0
- package/esm/shared/Form/hooks/useChanged.d.ts +5 -0
- package/esm/shared/Form/hooks/useChanged.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useChanged.js +14 -0
- package/esm/shared/Form/hooks/useDirty.d.ts +3 -0
- package/esm/shared/Form/hooks/useDirty.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useDirty.js +9 -0
- package/esm/shared/Form/hooks/useFormHandlersInternal.d.ts +12 -0
- package/esm/shared/Form/hooks/useFormHandlersInternal.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useFormHandlersInternal.js +16 -0
- package/esm/shared/Form/hooks/useFormState.d.ts +4 -0
- package/esm/shared/Form/hooks/useFormState.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useFormState.js +33 -0
- package/esm/shared/Form/hooks/useFormStatusInternal.d.ts +32 -0
- package/esm/shared/Form/hooks/useFormStatusInternal.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useFormStatusInternal.js +34 -0
- package/esm/shared/Form/hooks/useInvalidFocusField.d.ts +3 -0
- package/esm/shared/Form/hooks/useInvalidFocusField.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useInvalidFocusField.js +8 -0
- package/esm/shared/Form/hooks/useMutations.d.ts +4 -0
- package/esm/shared/Form/hooks/useMutations.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useMutations.js +97 -0
- package/esm/shared/Form/hooks/useRealFocus.d.ts +5 -0
- package/esm/shared/Form/hooks/useRealFocus.d.ts.map +1 -0
- package/esm/shared/Form/hooks/useRealFocus.js +38 -0
- package/esm/shared/Form/useFormChanged.d.ts +2 -0
- package/esm/shared/Form/useFormChanged.d.ts.map +1 -0
- package/esm/shared/Form/useFormChanged.js +12 -0
- package/esm/shared/Form/useFormDefaults.d.ts +2 -0
- package/esm/shared/Form/useFormDefaults.d.ts.map +1 -0
- package/esm/shared/Form/useFormDefaults.js +7 -0
- package/esm/shared/Form/useFormDirty.d.ts +2 -0
- package/esm/shared/Form/useFormDirty.d.ts.map +1 -0
- package/esm/shared/Form/useFormDirty.js +13 -0
- package/esm/shared/Form/useFormErrors.d.ts +3 -0
- package/esm/shared/Form/useFormErrors.d.ts.map +1 -0
- package/esm/shared/Form/useFormErrors.js +18 -0
- package/esm/shared/Form/useFormField.d.ts +24 -0
- package/esm/shared/Form/useFormField.d.ts.map +1 -0
- package/esm/shared/Form/useFormField.js +60 -0
- package/esm/shared/Form/useFormFieldElementRef.d.ts +3 -0
- package/esm/shared/Form/useFormFieldElementRef.d.ts.map +1 -0
- package/esm/shared/Form/useFormFieldElementRef.js +10 -0
- package/esm/shared/Form/useFormHandlers.d.ts +8 -0
- package/esm/shared/Form/useFormHandlers.d.ts.map +1 -0
- package/esm/shared/Form/useFormHandlers.js +45 -0
- package/esm/shared/Form/useFormStatus.d.ts +3 -0
- package/esm/shared/Form/useFormStatus.d.ts.map +1 -0
- package/esm/shared/Form/useFormStatus.js +10 -0
- package/esm/shared/Form/useFormValues.d.ts +3 -0
- package/esm/shared/Form/useFormValues.d.ts.map +1 -0
- package/esm/shared/Form/useFormValues.js +11 -0
- package/esm/shared/Form/utils.d.ts +2 -0
- package/esm/shared/Form/utils.d.ts.map +1 -0
- package/esm/shared/Form/utils.js +5 -0
- package/esm/shared/GlobalLoading/GlobalLoading.d.ts +2 -0
- package/esm/shared/GlobalLoading/GlobalLoading.d.ts.map +1 -0
- package/esm/shared/GlobalLoading/GlobalLoading.js +15 -0
- package/esm/shared/MaqlPreview/MaqlPreview.d.ts +19 -0
- package/esm/shared/MaqlPreview/MaqlPreview.d.ts.map +1 -0
- package/esm/shared/MaqlPreview/MaqlPreview.js +107 -0
- package/esm/shared/MaqlPreview/backend/measureExpressionTokens.d.ts +18 -0
- package/esm/shared/MaqlPreview/backend/measureExpressionTokens.d.ts.map +1 -0
- package/esm/shared/MaqlPreview/backend/measureExpressionTokens.js +83 -0
- package/esm/shared/MaqlPreview/hooks/useMetricTokens.d.ts +8 -0
- package/esm/shared/MaqlPreview/hooks/useMetricTokens.d.ts.map +1 -0
- package/esm/shared/MaqlPreview/hooks/useMetricTokens.js +14 -0
- package/esm/shared/MetricTooltip/MetricTooltip.d.ts +14 -0
- package/esm/shared/MetricTooltip/MetricTooltip.d.ts.map +1 -0
- package/esm/shared/MetricTooltip/MetricTooltip.events.d.ts +9 -0
- package/esm/shared/MetricTooltip/MetricTooltip.events.d.ts.map +1 -0
- package/esm/shared/MetricTooltip/MetricTooltip.events.js +18 -0
- package/esm/shared/MetricTooltip/MetricTooltip.js +46 -0
- package/esm/shared/MetricTooltip/MetricTooltipContent.d.ts +12 -0
- package/esm/shared/MetricTooltip/MetricTooltipContent.d.ts.map +1 -0
- package/esm/shared/MetricTooltip/MetricTooltipContent.js +38 -0
- package/esm/shared/MetricTooltip/fixtures.d.ts +3 -0
- package/esm/shared/MetricTooltip/fixtures.d.ts.map +1 -0
- package/esm/shared/MetricTooltip/fixtures.js +16 -0
- package/esm/shared/Tabs/Tab.d.ts +31 -0
- package/esm/shared/Tabs/Tab.d.ts.map +1 -0
- package/esm/shared/Tabs/Tab.js +171 -0
- package/esm/shared/Tabs/Tabs.classes.d.ts +13 -0
- package/esm/shared/Tabs/Tabs.classes.d.ts.map +1 -0
- package/esm/shared/Tabs/Tabs.classes.js +13 -0
- package/esm/shared/Tabs/Tabs.d.ts +4 -0
- package/esm/shared/Tabs/Tabs.d.ts.map +1 -0
- package/esm/shared/Tabs/Tabs.data.d.ts +37 -0
- package/esm/shared/Tabs/Tabs.data.d.ts.map +1 -0
- package/esm/shared/Tabs/Tabs.data.js +4 -0
- package/esm/shared/Tabs/Tabs.js +195 -0
- package/esm/shared/Tabs/hooks/useChangeScroll.d.ts +2 -0
- package/esm/shared/Tabs/hooks/useChangeScroll.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useChangeScroll.js +19 -0
- package/esm/shared/Tabs/hooks/useMouseDownRepeat.d.ts +3 -0
- package/esm/shared/Tabs/hooks/useMouseDownRepeat.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useMouseDownRepeat.js +43 -0
- package/esm/shared/Tabs/hooks/useScrollByButtons.d.ts +9 -0
- package/esm/shared/Tabs/hooks/useScrollByButtons.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useScrollByButtons.js +76 -0
- package/esm/shared/Tabs/hooks/useScrollToActive.d.ts +2 -0
- package/esm/shared/Tabs/hooks/useScrollToActive.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useScrollToActive.js +36 -0
- package/esm/shared/Tabs/hooks/useTabCallbacks.d.ts +7 -0
- package/esm/shared/Tabs/hooks/useTabCallbacks.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useTabCallbacks.js +17 -0
- package/esm/shared/Tabs/hooks/useTabs.d.ts +24 -0
- package/esm/shared/Tabs/hooks/useTabs.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useTabs.js +130 -0
- package/esm/shared/Tabs/hooks/useTabsCallbacks.d.ts +8 -0
- package/esm/shared/Tabs/hooks/useTabsCallbacks.d.ts.map +1 -0
- package/esm/shared/Tabs/hooks/useTabsCallbacks.js +19 -0
- package/esm/shared/authentication/Authentication.d.ts +8 -0
- package/esm/shared/authentication/Authentication.d.ts.map +1 -0
- package/esm/shared/authentication/Authentication.js +51 -0
- package/esm/shared/backend/tigerContractExpiredHandler.d.ts +3 -0
- package/esm/shared/backend/tigerContractExpiredHandler.d.ts.map +1 -0
- package/esm/shared/backend/tigerContractExpiredHandler.js +19 -0
- package/esm/shared/backend/tigerNotAuthenticatedHandler.d.ts +9 -0
- package/esm/shared/backend/tigerNotAuthenticatedHandler.d.ts.map +1 -0
- package/esm/shared/backend/tigerNotAuthenticatedHandler.js +36 -0
- package/esm/shared/eventing/EventContext.d.ts +25 -0
- package/esm/shared/eventing/EventContext.d.ts.map +1 -0
- package/esm/shared/eventing/EventContext.js +35 -0
- package/esm/shared/eventing/events.d.ts +52 -0
- package/esm/shared/eventing/events.d.ts.map +1 -0
- package/esm/shared/eventing/events.js +56 -0
- package/esm/shared/eventing/functions/errorToTrackingData.d.ts +12 -0
- package/esm/shared/eventing/functions/errorToTrackingData.d.ts.map +1 -0
- package/esm/shared/eventing/functions/errorToTrackingData.js +10 -0
- package/esm/shared/eventing/useEvents.d.ts +10 -0
- package/esm/shared/eventing/useEvents.d.ts.map +1 -0
- package/esm/shared/eventing/useEvents.js +16 -0
- package/esm/shared/hooks/useApi.d.ts +4 -0
- package/esm/shared/hooks/useApi.d.ts.map +1 -0
- package/esm/shared/hooks/useApi.js +15 -0
- package/esm/shared/hooks/useFocus.d.ts +3 -0
- package/esm/shared/hooks/useFocus.d.ts.map +1 -0
- package/esm/shared/hooks/useFocus.js +55 -0
- package/esm/shared/hooks/usePromiseHandlerIndicator.d.ts +2 -0
- package/esm/shared/hooks/usePromiseHandlerIndicator.d.ts.map +1 -0
- package/esm/shared/hooks/usePromiseHandlerIndicator.js +11 -0
- package/esm/shared/hooks/useProp.d.ts +3 -0
- package/esm/shared/hooks/useProp.d.ts.map +1 -0
- package/esm/shared/hooks/useProp.js +15 -0
- package/esm/shared/links.d.ts +9 -0
- package/esm/shared/links.d.ts.map +1 -0
- package/esm/shared/links.js +9 -0
- package/esm/shared/metrics/MetricsReloadContext.d.ts +8 -0
- package/esm/shared/metrics/MetricsReloadContext.d.ts.map +1 -0
- package/esm/shared/metrics/MetricsReloadContext.js +14 -0
- package/esm/shared/metrics/functions/metricListData.d.ts +4 -0
- package/esm/shared/metrics/functions/metricListData.d.ts.map +1 -0
- package/esm/shared/metrics/functions/metricListData.js +29 -0
- package/esm/shared/metrics/useMetricListData.d.ts +29 -0
- package/esm/shared/metrics/useMetricListData.d.ts.map +1 -0
- package/esm/shared/metrics/useMetricListData.events.d.ts +12 -0
- package/esm/shared/metrics/useMetricListData.events.d.ts.map +1 -0
- package/esm/shared/metrics/useMetricListData.events.js +31 -0
- package/esm/shared/metrics/useMetricListData.js +52 -0
- package/esm/shared/metrics/useMetrics.d.ts +16 -0
- package/esm/shared/metrics/useMetrics.d.ts.map +1 -0
- package/esm/shared/metrics/useMetrics.js +34 -0
- package/esm/shared/metrics/useReloadMetrics.d.ts +3 -0
- package/esm/shared/metrics/useReloadMetrics.d.ts.map +1 -0
- package/esm/shared/metrics/useReloadMetrics.js +10 -0
- package/esm/shared/permissions.d.ts +10 -0
- package/esm/shared/permissions.d.ts.map +1 -0
- package/esm/shared/permissions.js +53 -0
- package/esm/shared/platform.d.ts +2 -0
- package/esm/shared/platform.d.ts.map +1 -0
- package/esm/shared/platform.js +4 -0
- package/esm/shared/theme/index.d.ts +416 -0
- package/esm/shared/theme/index.d.ts.map +1 -0
- package/esm/shared/theme/index.js +193 -0
- package/esm/tests/render.test.utils.d.ts +9 -0
- package/esm/tests/render.test.utils.d.ts.map +1 -0
- package/esm/tests/render.test.utils.js +18 -0
- package/esm/translations/IntlWrapper.d.ts +9 -0
- package/esm/translations/IntlWrapper.d.ts.map +1 -0
- package/esm/translations/IntlWrapper.js +11 -0
- package/esm/translations/de-DE.json +131 -0
- package/esm/translations/en-AU.json +131 -0
- package/esm/translations/en-GB.json +131 -0
- package/esm/translations/en-US.json +518 -0
- package/esm/translations/es-419.json +131 -0
- package/esm/translations/es-ES.json +131 -0
- package/esm/translations/fi-FI.json +131 -0
- package/esm/translations/fr-CA.json +131 -0
- package/esm/translations/fr-FR.json +131 -0
- package/esm/translations/id-ID.json +131 -0
- package/esm/translations/it-IT.json +131 -0
- package/esm/translations/ja-JP.json +131 -0
- package/esm/translations/ko-KR.json +131 -0
- package/esm/translations/nl-NL.json +131 -0
- package/esm/translations/pl-PL.json +131 -0
- package/esm/translations/pt-BR.json +131 -0
- package/esm/translations/pt-PT.json +131 -0
- package/esm/translations/ru-RU.json +131 -0
- package/esm/translations/sl-SI.json +131 -0
- package/esm/translations/th-TH.json +131 -0
- package/esm/translations/tr-TR.json +131 -0
- package/esm/translations/translations.d.ts +21 -0
- package/esm/translations/translations.d.ts.map +1 -0
- package/esm/translations/translations.js +89 -0
- package/esm/translations/uk-UA.json +131 -0
- package/esm/translations/vi-VN.json +131 -0
- package/esm/translations/zh-HK.json +131 -0
- package/esm/translations/zh-Hans.json +131 -0
- package/esm/translations/zh-Hant.json +131 -0
- package/package.json +116 -3
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2022-2026 GoodData Corporation
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Bubble, BubbleHoverTrigger, Button, IconClose, IconContract, IconExpand, IconMinimize, } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { makeStyles } from "../theme/index.js";
|
|
6
|
+
import { useChangeScroll } from "./hooks/useChangeScroll.js";
|
|
7
|
+
import { useScrollByButtons } from "./hooks/useScrollByButtons.js";
|
|
8
|
+
import { useScrollToActive } from "./hooks/useScrollToActive.js";
|
|
9
|
+
import { useTabCallbacks } from "./hooks/useTabCallbacks.js";
|
|
10
|
+
import { useTabsCallbacks } from "./hooks/useTabsCallbacks.js";
|
|
11
|
+
import { NameButton, Tab, TabActive, TitleText } from "./Tab.js";
|
|
12
|
+
import { TabsClasses } from "./Tabs.classes.js";
|
|
13
|
+
import { TabMaxWidth, TabsIconSize } from "./Tabs.data.js";
|
|
14
|
+
export const ButtonDivider = "divider";
|
|
15
|
+
const useStyles = makeStyles()((theme) => {
|
|
16
|
+
const buttonSize = TabsIconSize + theme.tabs.sizes.buttonMargin * 2;
|
|
17
|
+
const button = {
|
|
18
|
+
cursor: "pointer",
|
|
19
|
+
minWidth: theme.tabs.sizes.arrowButtonWidth,
|
|
20
|
+
width: theme.tabs.sizes.arrowButtonWidth,
|
|
21
|
+
background: "transparent",
|
|
22
|
+
border: "none",
|
|
23
|
+
borderBottom: `1px solid ${theme.tabs.colors.border}`,
|
|
24
|
+
display: "flex",
|
|
25
|
+
alignContent: "center",
|
|
26
|
+
alignItems: "center",
|
|
27
|
+
justifyContent: "center",
|
|
28
|
+
transition: "all 0.25s ease-in-out",
|
|
29
|
+
color: theme.tabs.colors.arrow,
|
|
30
|
+
"&:hover": {
|
|
31
|
+
color: theme.tabs.colors.hover,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
root: {
|
|
36
|
+
display: "block",
|
|
37
|
+
},
|
|
38
|
+
tabs: {
|
|
39
|
+
padding: `${theme.tabs.sizes.tabsPadding}px 0 0 0`,
|
|
40
|
+
display: "flex",
|
|
41
|
+
overflow: "hidden",
|
|
42
|
+
[`button.${NameButton}`]: {
|
|
43
|
+
display: "none",
|
|
44
|
+
},
|
|
45
|
+
[`.${TabActive}`]: {
|
|
46
|
+
[`button.${NameButton}`]: {
|
|
47
|
+
display: "block",
|
|
48
|
+
},
|
|
49
|
+
[`div.${TitleText}`]: {
|
|
50
|
+
width: `calc(100% - ${theme.tabs.sizes.buttonMargin + theme.tabs.sizes.controlsDividerMargin}px)`,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
"&:hover": {
|
|
54
|
+
[`button.${NameButton}`]: {
|
|
55
|
+
display: "block",
|
|
56
|
+
},
|
|
57
|
+
[`div.${TitleText}`]: {
|
|
58
|
+
width: `calc(100% - ${theme.tabs.sizes.buttonMargin + theme.tabs.sizes.controlsDividerMargin}px)`,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
//list
|
|
63
|
+
tabsList: {
|
|
64
|
+
display: "flex",
|
|
65
|
+
flexGrow: 0,
|
|
66
|
+
overflow: "hidden",
|
|
67
|
+
maxWidth: "100%",
|
|
68
|
+
position: "relative",
|
|
69
|
+
"&.minimizable": {
|
|
70
|
+
maxWidth: `calc(100% - ${buttonSize}px)`,
|
|
71
|
+
},
|
|
72
|
+
"&.closeable": {
|
|
73
|
+
maxWidth: `calc(100% - ${buttonSize}px)`,
|
|
74
|
+
},
|
|
75
|
+
"&.minimizable.closeable": {
|
|
76
|
+
maxWidth: `calc(100% - ${buttonSize * 2 + theme.tabs.sizes.controlsDividerWidth}px)`,
|
|
77
|
+
},
|
|
78
|
+
"&.scrollable > div:last-child": {
|
|
79
|
+
width: `${theme.tabs.sizes.tabLastDivider}px`,
|
|
80
|
+
"&:after": {
|
|
81
|
+
display: "none",
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
//filler
|
|
86
|
+
filler: {
|
|
87
|
+
borderBottom: `1px solid ${theme.tabs.colors.border}`,
|
|
88
|
+
flexShrink: 1,
|
|
89
|
+
flexGrow: 1,
|
|
90
|
+
},
|
|
91
|
+
//arrows
|
|
92
|
+
leftButton: {
|
|
93
|
+
...button,
|
|
94
|
+
borderRight: `1px solid ${theme.tabs.colors.border}`,
|
|
95
|
+
},
|
|
96
|
+
rightButton: {
|
|
97
|
+
...button,
|
|
98
|
+
borderLeft: `1px solid ${theme.tabs.colors.border}`,
|
|
99
|
+
},
|
|
100
|
+
disabled: {
|
|
101
|
+
cursor: "default",
|
|
102
|
+
span: {
|
|
103
|
+
color: `${theme.tabs.colors.disabled} !important`,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
//create button
|
|
107
|
+
create: {
|
|
108
|
+
// `&&` doubles specificity (.x.x → 0,2,0) so these beat kit's single-class (0,1,0)
|
|
109
|
+
// `.gd-button-action` background/border/box-shadow, which get re-injected into the shared
|
|
110
|
+
// <head> on host preload and would otherwise win the tie by order and restore the button look.
|
|
111
|
+
"&&": {
|
|
112
|
+
background: "transparent",
|
|
113
|
+
border: "none",
|
|
114
|
+
boxShadow: "none",
|
|
115
|
+
fontSize: `${TabsIconSize}px`,
|
|
116
|
+
".gd-button-icon::before": {
|
|
117
|
+
color: theme.tabs.colors.create,
|
|
118
|
+
},
|
|
119
|
+
"&:hover, &:focus, &:active": {
|
|
120
|
+
background: "transparent",
|
|
121
|
+
border: "none",
|
|
122
|
+
boxShadow: "none",
|
|
123
|
+
".gd-button-icon": {
|
|
124
|
+
marginTop: "0 !important",
|
|
125
|
+
},
|
|
126
|
+
".gd-button-icon::before": {
|
|
127
|
+
color: theme.tabs.colors.hover,
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
//controls
|
|
133
|
+
controls: {
|
|
134
|
+
display: "flex",
|
|
135
|
+
borderBottom: `1px solid ${theme.tabs.colors.border}`,
|
|
136
|
+
},
|
|
137
|
+
trigger: {
|
|
138
|
+
display: "block",
|
|
139
|
+
position: "relative",
|
|
140
|
+
bottom: "-1px",
|
|
141
|
+
},
|
|
142
|
+
divider: {
|
|
143
|
+
margin: `${theme.tabs.sizes.controlsDividerMargin}px 0`,
|
|
144
|
+
width: theme.tabs.sizes.controlsDividerWidth,
|
|
145
|
+
background: theme.tabs.colors.divider,
|
|
146
|
+
},
|
|
147
|
+
button: {
|
|
148
|
+
padding: 0,
|
|
149
|
+
border: "none",
|
|
150
|
+
cursor: "pointer",
|
|
151
|
+
background: "none",
|
|
152
|
+
margin: `0 ${theme.tabs.sizes.buttonMargin}px`,
|
|
153
|
+
"svg path": {
|
|
154
|
+
transition: "all 0.25s ease-in-out",
|
|
155
|
+
fill: theme.tabs.colors.normal,
|
|
156
|
+
},
|
|
157
|
+
"&:hover svg path": {
|
|
158
|
+
fill: theme.tabs.colors.hover,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
export function Tabs({ tabs, active, render, content, className, closeable = false, minimizable = false, maximizable = false, maximized = false, creatable = false, onTabCreate = () => { }, onTabActivate = () => { }, onTabClose = () => { }, onTabsMinimize = () => { }, onTabsMaximizable = () => { }, onTabsClose = () => { }, options = {}, locales = {}, }) {
|
|
164
|
+
if (content && render) {
|
|
165
|
+
throw new Error(`Only one property "render" or "content" can be set.`);
|
|
166
|
+
}
|
|
167
|
+
const { classes, cx } = useStyles();
|
|
168
|
+
const { scrollToTabSpace = 3, scrollByArrowsRepeat = 150, scrollByArrowsStep = 100 } = options;
|
|
169
|
+
const [tabsElement, setTabsElement] = useState(null);
|
|
170
|
+
const { enabled, canLeft, canRight, onLeft, onRight } = useScrollByButtons(tabsElement, scrollByArrowsRepeat, scrollByArrowsStep);
|
|
171
|
+
useChangeScroll(tabsElement);
|
|
172
|
+
useScrollToActive(tabsElement, active, enabled, scrollToTabSpace);
|
|
173
|
+
const { onTabsMinimizeHandler, onTabsCloseHandler, onTabCreateHandler, onTabsMaximizeHandler } = useTabsCallbacks(onTabCreate, onTabsMinimize, onTabsMaximizable, onTabsClose);
|
|
174
|
+
const { onTabActiveHandler, onTabCloseHandler } = useTabCallbacks(tabs, onTabActivate, onTabClose, onTabsClose);
|
|
175
|
+
const Content = content;
|
|
176
|
+
return (_jsxs("div", { className: cx(classes.root, className), children: [_jsxs("div", { className: cx(classes.tabs), children: [enabled && (_jsx("button", { className: cx(classes.leftButton, !canLeft && classes.disabled, TabsClasses.ButtonLeft), onMouseDown: onLeft, children: _jsx("span", { className: "gd-icon-navigateleft" }) })), _jsx("div", { className: cx(classes.tabsList, {
|
|
177
|
+
minimizable: minimizable,
|
|
178
|
+
closeable: closeable,
|
|
179
|
+
scrollable: enabled,
|
|
180
|
+
}), style: { width: TabMaxWidth * tabs.length }, ref: setTabsElement, children: tabs.map((tab, i) => (_jsx(Tab, { tab: tab, placeholder: locales.titlePlaceholder, active: active === i, last: i === tabs.length - 1, beforeActive: active - 1 === i, afterActive: active + 1 === i, onActive: onTabActiveHandler, onClose: onTabCloseHandler }, tab.id))) }), enabled && (_jsx("button", { className: cx(classes.rightButton, !canRight && classes.disabled, TabsClasses.ButtonRight), onMouseDown: onRight, children: _jsx("span", { className: "gd-icon-navigateright" }) })), creatable && (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 100, eventsOnBubble: true, className: classes.trigger, children: [_jsx("div", { className: cx(classes.controls), children: _jsx(Button, { iconLeft: "gd-icon-add", onClick: onTabCreateHandler, className: cx(classes.create, "gd-button-action", TabsClasses.ButtonNewTab) }) }), locales.createTooltip && (_jsx(Bubble, { className: cx("bubble-dark", "s-tabs-create-tooltip"), alignPoints: [{ align: "bc tr", offset: { x: 0, y: -5 } }], children: locales.createTooltip }))] })), _jsx("div", { className: cx(classes.filler) }), _jsx("div", { className: cx(classes.controls), children: _jsx(TabsControls, { maximized: maximized, minimizable: minimizable, maximizable: maximizable, closeable: closeable, onTabsClose: onTabsCloseHandler, onTabsMinimize: onTabsMinimizeHandler, onTabsMaximize: onTabsMaximizeHandler }) })] }), Content && tabs[active] && _jsx(Content, { tab: tabs[active] }), render && tabs[active] && render({ tab: tabs[active] })] }));
|
|
181
|
+
}
|
|
182
|
+
function TabsControls({ minimizable, maximizable, maximized, closeable, onTabsMinimize, onTabsMaximize, onTabsClose, }) {
|
|
183
|
+
const { classes, cx } = useStyles();
|
|
184
|
+
const controls = [
|
|
185
|
+
minimizable && (_jsx("button", { className: cx(classes.button, TabsClasses.ButtonMinimize), onClick: onTabsMinimize, children: _jsx(IconMinimize, { width: TabsIconSize, height: TabsIconSize }) }, "minimize")),
|
|
186
|
+
maximizable && (_jsx("button", { className: cx(classes.button, TabsClasses.ButtonMaximize), onClick: () => onTabsMaximize?.(!maximized), children: maximized ? (_jsx(IconContract, { width: TabsIconSize, height: TabsIconSize })) : (_jsx(IconExpand, { width: TabsIconSize, height: TabsIconSize })) }, "maximize")),
|
|
187
|
+
closeable && (_jsx("button", { className: cx(classes.button, TabsClasses.ButtonCloseTabs), onClick: onTabsClose, children: _jsx(IconClose, { width: TabsIconSize, height: TabsIconSize }) }, "close")),
|
|
188
|
+
];
|
|
189
|
+
return (_jsx(_Fragment, { children: controls.filter(Boolean).reduce((prev, current, i) => {
|
|
190
|
+
if (i !== 0) {
|
|
191
|
+
return [...prev, _jsx("div", { className: cx(classes.divider, ButtonDivider) }, i), current];
|
|
192
|
+
}
|
|
193
|
+
return [...prev, current];
|
|
194
|
+
}, []) }));
|
|
195
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChangeScroll.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useChangeScroll.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAmBjE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
export function useChangeScroll(element) {
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (!element) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
function transformScroll(event) {
|
|
9
|
+
if (!event.deltaY || !element) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
element.scrollLeft += event.deltaY + event.deltaX;
|
|
13
|
+
event.preventDefault();
|
|
14
|
+
event.stopPropagation();
|
|
15
|
+
}
|
|
16
|
+
element.addEventListener("wheel", transformScroll);
|
|
17
|
+
return () => element.removeEventListener("wheel", transformScroll);
|
|
18
|
+
}, [element]);
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMouseDownRepeat.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useMouseDownRepeat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA4C,MAAM,OAAO,CAAC;AAElF,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAC7C,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAkBzB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// (C) 2021-2026 GoodData Corporation
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
export function useMouseDownRepeat(timeout, onMouseDownHandler) {
|
|
4
|
+
const callback = useCallback((e) => onMouseDownHandler?.(e), [onMouseDownHandler]);
|
|
5
|
+
const [start, stop] = useInterval(callback, timeout);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
document.addEventListener("mouseup", stop);
|
|
8
|
+
return () => document.removeEventListener("mouseup", stop);
|
|
9
|
+
}, [stop]);
|
|
10
|
+
return useCallback((e) => {
|
|
11
|
+
start(e);
|
|
12
|
+
if (onMouseDownHandler) {
|
|
13
|
+
onMouseDownHandler(e);
|
|
14
|
+
}
|
|
15
|
+
}, [onMouseDownHandler, start]);
|
|
16
|
+
}
|
|
17
|
+
function useInterval(handler, timeout) {
|
|
18
|
+
const timer = useRef(-1);
|
|
19
|
+
const [start, setStart] = useState(false);
|
|
20
|
+
const [fnArgs, setArguments] = useState([]);
|
|
21
|
+
const clear = useCallback(() => {
|
|
22
|
+
window.clearInterval(timer.current);
|
|
23
|
+
}, []);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (start) {
|
|
26
|
+
timer.current = window.setInterval(() => handler(...fnArgs), timeout);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
clear();
|
|
30
|
+
}
|
|
31
|
+
return clear;
|
|
32
|
+
}, [clear, fnArgs, handler, start, timeout]);
|
|
33
|
+
return [
|
|
34
|
+
(...args) => {
|
|
35
|
+
setArguments(args);
|
|
36
|
+
setStart(true);
|
|
37
|
+
},
|
|
38
|
+
() => {
|
|
39
|
+
setStart(false);
|
|
40
|
+
clear();
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type MouseEvent } from "react";
|
|
2
|
+
export declare function useScrollByButtons(element: HTMLElement | null, timeout?: number, step?: number): {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
canLeft: boolean;
|
|
5
|
+
canRight: boolean;
|
|
6
|
+
onLeft: (e: MouseEvent) => void;
|
|
7
|
+
onRight: (e: MouseEvent) => void;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useScrollByButtons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollByButtons.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useScrollByButtons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA6C,MAAM,OAAO,CAAC;AAInF,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,OAAO,SAAM,EACb,IAAI,SAAM,GACX;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACpC,CAqBA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { useMouseDownRepeat } from "./useMouseDownRepeat.js";
|
|
4
|
+
export function useScrollByButtons(element, timeout = 150, step = 100) {
|
|
5
|
+
const { enabled, canLeft, canRight } = useChanged(element);
|
|
6
|
+
const changed = useScroll(element);
|
|
7
|
+
const onLeftHandler = useCallback(() => onMove(element, -step), [element, step]);
|
|
8
|
+
const onLeft = useMouseDownRepeat(timeout, onLeftHandler);
|
|
9
|
+
const onRightHandler = useCallback(() => onMove(element, step), [element, step]);
|
|
10
|
+
const onRight = useMouseDownRepeat(timeout, onRightHandler);
|
|
11
|
+
return useMemo(() => ({
|
|
12
|
+
enabled,
|
|
13
|
+
canLeft,
|
|
14
|
+
canRight,
|
|
15
|
+
onLeft,
|
|
16
|
+
onRight,
|
|
17
|
+
}),
|
|
18
|
+
// oxlint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
[enabled, canLeft, canRight, onLeft, onRight, changed]);
|
|
20
|
+
}
|
|
21
|
+
function useScroll(element) {
|
|
22
|
+
const [changed, setChanged] = useState("");
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!element) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const handler = (e) => setChanged(e.timeStamp + Math.random().toString(36));
|
|
28
|
+
element.addEventListener("scroll", handler);
|
|
29
|
+
return () => {
|
|
30
|
+
element.removeEventListener("scroll", handler);
|
|
31
|
+
};
|
|
32
|
+
}, [element]);
|
|
33
|
+
return changed;
|
|
34
|
+
}
|
|
35
|
+
function useChanged(element) {
|
|
36
|
+
const { offsetWidth = 0, scrollWidth = 0, scrollLeft = 0 } = element || {};
|
|
37
|
+
const [width, setWidth] = useState(offsetWidth);
|
|
38
|
+
const [contentWidth, setContentWidth] = useState(scrollWidth);
|
|
39
|
+
const enabled = contentWidth > width;
|
|
40
|
+
const canLeft = scrollLeft > 0;
|
|
41
|
+
const canRight = scrollLeft < contentWidth - width;
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
let pointer;
|
|
44
|
+
const checkChange = () => {
|
|
45
|
+
const { offsetWidth = 0, scrollWidth = 0 } = element || {};
|
|
46
|
+
if (width !== offsetWidth) {
|
|
47
|
+
setWidth(offsetWidth);
|
|
48
|
+
}
|
|
49
|
+
if (contentWidth !== scrollWidth) {
|
|
50
|
+
setContentWidth(scrollWidth);
|
|
51
|
+
}
|
|
52
|
+
pointer = window.requestAnimationFrame(checkChange);
|
|
53
|
+
};
|
|
54
|
+
pointer = window.requestAnimationFrame(checkChange);
|
|
55
|
+
return () => window.cancelAnimationFrame(pointer);
|
|
56
|
+
}, [contentWidth, element, width]);
|
|
57
|
+
return {
|
|
58
|
+
enabled,
|
|
59
|
+
canLeft,
|
|
60
|
+
canRight,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function onMove(element, step) {
|
|
64
|
+
if (!element) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (element.scrollBy) {
|
|
68
|
+
element.scrollBy({
|
|
69
|
+
left: step,
|
|
70
|
+
behavior: "smooth",
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
//fallback for IE
|
|
75
|
+
element.scrollLeft += step;
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollToActive.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useScrollToActive.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,SAAI,GACV,IAAI,CA4BN"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { TabActive, TabRoot } from "../Tab.js";
|
|
4
|
+
export function useScrollToActive(element, active, enabled, space = 3) {
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!element) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const { offsetWidth, scrollLeft } = element;
|
|
10
|
+
const [start, end] = [scrollLeft, scrollLeft + offsetWidth];
|
|
11
|
+
const activeTab = element.querySelector(`.${TabRoot}.${TabActive}`);
|
|
12
|
+
if (!activeTab) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const isBefore = activeTab.offsetLeft < start;
|
|
16
|
+
const isAfter = activeTab.offsetLeft + activeTab.offsetWidth > end;
|
|
17
|
+
if (isBefore) {
|
|
18
|
+
scrollToLeft(element, activeTab, activeTab.offsetLeft - space);
|
|
19
|
+
}
|
|
20
|
+
if (isAfter) {
|
|
21
|
+
scrollToLeft(element, activeTab, activeTab.offsetLeft + activeTab.offsetWidth - offsetWidth + space);
|
|
22
|
+
}
|
|
23
|
+
}, [element, active, enabled, space]);
|
|
24
|
+
}
|
|
25
|
+
function scrollToLeft(element, activeTab, left) {
|
|
26
|
+
if (element.scrollTo) {
|
|
27
|
+
element.scrollTo({
|
|
28
|
+
left,
|
|
29
|
+
top: 0,
|
|
30
|
+
behavior: "smooth",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
activeTab.scrollIntoView({ behavior: "smooth", inline: "nearest", block: "nearest" });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ITab } from "../Tab.js";
|
|
2
|
+
import { type ITabsProps } from "../Tabs.data.js";
|
|
3
|
+
export declare function useTabCallbacks<T>(tabs: Array<ITab<T>>, onTabActivate: NonNullable<ITabsProps<T>["onTabActivate"]>, onTabClose: NonNullable<ITabsProps<T>["onTabClose"]>, onTabsClose: NonNullable<ITabsProps<T>["onTabsClose"]>): {
|
|
4
|
+
onTabActiveHandler: (tab: ITab<T>) => void;
|
|
5
|
+
onTabCloseHandler: (tab: ITab<T>) => void;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useTabCallbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useTabCallbacks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAgB,eAAe,CAAC,CAAC,EAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACpB,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAC1D,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACpD,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GACvD;IACC,kBAAkB,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3C,iBAAiB,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC7C,CAgBA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
export function useTabCallbacks(tabs, onTabActivate, onTabClose, onTabsClose) {
|
|
4
|
+
return useMemo(() => {
|
|
5
|
+
function onTabActiveHandler(tab) {
|
|
6
|
+
onTabActivate(tab);
|
|
7
|
+
}
|
|
8
|
+
function onTabCloseHandler(tab) {
|
|
9
|
+
if (tabs.length === 1) {
|
|
10
|
+
onTabsClose();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
onTabClose(tab);
|
|
14
|
+
}
|
|
15
|
+
return { onTabActiveHandler, onTabCloseHandler };
|
|
16
|
+
}, [onTabActivate, onTabClose, onTabsClose, tabs]);
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ITab } from "../Tab.js";
|
|
2
|
+
import { type ITabsProps } from "../Tabs.data.js";
|
|
3
|
+
export interface IUseTabsProps<T = undefined> {
|
|
4
|
+
tabs: Array<ITab<T>>;
|
|
5
|
+
active: number;
|
|
6
|
+
creatable?: ITabsProps<T>["creatable"];
|
|
7
|
+
onTabClose?: ITabsProps<T>["onTabClose"];
|
|
8
|
+
onBeforeTabClose?: (tab: ITab<T>, next: () => void) => void;
|
|
9
|
+
onTabActivate?: ITabsProps<T>["onTabActivate"];
|
|
10
|
+
onBeforeTabActivate?: (tab: ITab<T>, next: () => void) => void;
|
|
11
|
+
onTabAdd?: (tab: ITab<T>) => void;
|
|
12
|
+
onBeforeTabAdd?: (tab: ITab<T>, next: () => void) => void;
|
|
13
|
+
onTabUpdate?: (oldTab: ITab<T>, newTab: ITab<T>) => void;
|
|
14
|
+
}
|
|
15
|
+
export interface IUseTabsReturn<T> {
|
|
16
|
+
addTab: (tab: ITab<T>, index?: number) => void;
|
|
17
|
+
activateTab: (tab: ITab<T>) => void;
|
|
18
|
+
updateTab: (tab: ITab<T>, props: Partial<ITab<T>>) => void;
|
|
19
|
+
updateData: (tab: ITab<T>, data: T) => void;
|
|
20
|
+
closeTab: (tab: ITab<T>) => void;
|
|
21
|
+
tabsProps: IUseTabsProps<T>;
|
|
22
|
+
}
|
|
23
|
+
export declare function useTabs<T>(props: IUseTabsProps<T>): IUseTabsReturn<T>;
|
|
24
|
+
//# sourceMappingURL=useTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabs.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useTabs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,SAAS;IACxC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC/C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CA2CrE"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useProp } from "../../hooks/useProp.js";
|
|
4
|
+
const nextFn = nextInvoke();
|
|
5
|
+
export function useTabs(props) {
|
|
6
|
+
const [tabs, setTabs] = useProp(props.tabs);
|
|
7
|
+
const [active, setActive] = useProp(Math.min(props.active, props.tabs.length - 1));
|
|
8
|
+
const { onTabActivate, onTabClose, onTabAdd, onTabUpdate } = props;
|
|
9
|
+
const { creatable = true } = props;
|
|
10
|
+
const { onBeforeTabClose = nextFn, onBeforeTabActivate = nextFn, onBeforeTabAdd = nextFn } = props;
|
|
11
|
+
const activateTab = useCallback((tab) => activateTabHandler(tab, setActive, setTabs, onBeforeTabActivate, onTabActivate), [onBeforeTabActivate, onTabActivate, setActive, setTabs]);
|
|
12
|
+
const addTab = useCallback((tab, index = Number.MAX_SAFE_INTEGER) => addTabHandler(tab, index, creatable, setActive, setTabs, onBeforeTabAdd, onTabAdd), [creatable, onBeforeTabAdd, onTabAdd, setActive, setTabs]);
|
|
13
|
+
const closeTab = useCallback((tab) => removeTabHandler(tab, setActive, setTabs, onBeforeTabClose, onTabClose), [onBeforeTabClose, onTabClose, setActive, setTabs]);
|
|
14
|
+
const updateTab = useCallback((tab, newProps) => updateTabHandler(tab, newProps, setTabs, onTabUpdate), [onTabUpdate, setTabs]);
|
|
15
|
+
const updateData = useCallback((tab, data) => updateDataHandler(data, tab, setTabs, onTabUpdate), [onTabUpdate, setTabs]);
|
|
16
|
+
return {
|
|
17
|
+
activateTab,
|
|
18
|
+
addTab,
|
|
19
|
+
closeTab,
|
|
20
|
+
updateTab,
|
|
21
|
+
updateData,
|
|
22
|
+
tabsProps: {
|
|
23
|
+
tabs,
|
|
24
|
+
active,
|
|
25
|
+
creatable,
|
|
26
|
+
onTabClose: closeTab,
|
|
27
|
+
onTabActivate: activateTab,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function addTabHandler(tab, index, creatable, setActive, setTabs, onBeforeTabAdd, onTabAdd) {
|
|
32
|
+
if (!creatable) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
onBeforeTabAdd(tab, () => setTabs((oldTabs) => {
|
|
36
|
+
const newTabs = oldTabs.slice();
|
|
37
|
+
newTabs.splice(index, 0, tab);
|
|
38
|
+
setActive(newTabs.indexOf(tab));
|
|
39
|
+
if (onTabAdd) {
|
|
40
|
+
onTabAdd(tab);
|
|
41
|
+
}
|
|
42
|
+
return newTabs;
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
function removeTabHandler(tab, setActive, setTabs, onBeforeTabClose, onTabClose) {
|
|
46
|
+
if (!tab.options?.closeable) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
setTabs((oldTabs) => {
|
|
50
|
+
const index = findIndex(tab, oldTabs);
|
|
51
|
+
const found = oldTabs[index];
|
|
52
|
+
if (!found) {
|
|
53
|
+
return oldTabs;
|
|
54
|
+
}
|
|
55
|
+
let shouldProceed = false;
|
|
56
|
+
onBeforeTabClose(found, () => {
|
|
57
|
+
shouldProceed = true;
|
|
58
|
+
});
|
|
59
|
+
if (!shouldProceed) {
|
|
60
|
+
return oldTabs;
|
|
61
|
+
}
|
|
62
|
+
setActive((oldActive) => index <= oldActive ? Math.max(oldActive - 1, 0) : Math.min(oldActive, oldTabs.length - 2));
|
|
63
|
+
if (onTabClose) {
|
|
64
|
+
onTabClose(found);
|
|
65
|
+
}
|
|
66
|
+
return oldTabs.filter((t) => t !== tab);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function updateTabHandler(tab, newProps, setTabs, onTabUpdate) {
|
|
70
|
+
setTabs((oldTabs) => {
|
|
71
|
+
const index = findIndex(tab, oldTabs);
|
|
72
|
+
if (index >= 0) {
|
|
73
|
+
const currentTab = oldTabs[index];
|
|
74
|
+
const newTab = { ...currentTab, ...newProps };
|
|
75
|
+
const newTabs = oldTabs.slice();
|
|
76
|
+
newTabs.splice(index, 1, newTab);
|
|
77
|
+
if (onTabUpdate) {
|
|
78
|
+
onTabUpdate(currentTab, newProps);
|
|
79
|
+
}
|
|
80
|
+
return newTabs;
|
|
81
|
+
}
|
|
82
|
+
return oldTabs;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function updateDataHandler(data, tab, setTabs, onTabUpdate) {
|
|
86
|
+
setTabs((oldTabs) => {
|
|
87
|
+
const index = findIndex(tab, oldTabs);
|
|
88
|
+
if (index >= 0) {
|
|
89
|
+
const oldTab = oldTabs[index];
|
|
90
|
+
const newTab = { ...oldTab, data };
|
|
91
|
+
const newTabs = oldTabs.slice();
|
|
92
|
+
newTabs[index] = newTab;
|
|
93
|
+
if (onTabUpdate) {
|
|
94
|
+
onTabUpdate(oldTab, { data });
|
|
95
|
+
}
|
|
96
|
+
return newTabs;
|
|
97
|
+
}
|
|
98
|
+
return oldTabs;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function activateTabHandler(tab, setActive, setTabs, onBeforeTabActivate, onTabActivate) {
|
|
102
|
+
setTabs((oldTabs) => {
|
|
103
|
+
const index = findIndex(tab, oldTabs);
|
|
104
|
+
const found = oldTabs[index];
|
|
105
|
+
if (!found) {
|
|
106
|
+
return oldTabs;
|
|
107
|
+
}
|
|
108
|
+
let shouldProceed = false;
|
|
109
|
+
onBeforeTabActivate(found, () => {
|
|
110
|
+
shouldProceed = true;
|
|
111
|
+
});
|
|
112
|
+
if (!shouldProceed) {
|
|
113
|
+
return oldTabs;
|
|
114
|
+
}
|
|
115
|
+
setActive(index);
|
|
116
|
+
if (onTabActivate) {
|
|
117
|
+
onTabActivate(found);
|
|
118
|
+
}
|
|
119
|
+
return oldTabs;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function findIndex(tab, tabs) {
|
|
123
|
+
const found = tabs
|
|
124
|
+
.map((current, i) => (current.id === tab.id ? i : null))
|
|
125
|
+
.filter((item) => item !== null);
|
|
126
|
+
return found.length ? found[0] : -1;
|
|
127
|
+
}
|
|
128
|
+
function nextInvoke() {
|
|
129
|
+
return (_, next) => next();
|
|
130
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ITabsProps } from "../Tabs.data.js";
|
|
2
|
+
export declare function useTabsCallbacks<T>(onTabCreate: NonNullable<ITabsProps<T>["onTabCreate"]>, onTabsMinimize: NonNullable<ITabsProps<T>["onTabsMinimize"]>, onTabsMaximizable: NonNullable<ITabsProps<T>["onTabsMaximizable"]>, onTabsClose: NonNullable<ITabsProps<T>["onTabsClose"]>): {
|
|
3
|
+
onTabCreateHandler: () => void;
|
|
4
|
+
onTabsMinimizeHandler: () => void;
|
|
5
|
+
onTabsMaximizeHandler: (state: boolean) => void;
|
|
6
|
+
onTabsCloseHandler: () => void;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=useTabsCallbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabsCallbacks.d.ts","sourceRoot":"","sources":["../../../../src/shared/Tabs/hooks/useTabsCallbacks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,CAAC,EAC9B,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EACtD,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAC5D,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GACvD;IACC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAClC,CAoBA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// (C) 2022-2026 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
export function useTabsCallbacks(onTabCreate, onTabsMinimize, onTabsMaximizable, onTabsClose) {
|
|
4
|
+
return useMemo(() => {
|
|
5
|
+
function onTabsMinimizeHandler() {
|
|
6
|
+
onTabsMinimize();
|
|
7
|
+
}
|
|
8
|
+
function onTabsMaximizeHandler(state) {
|
|
9
|
+
onTabsMaximizable(state);
|
|
10
|
+
}
|
|
11
|
+
function onTabsCloseHandler() {
|
|
12
|
+
onTabsClose();
|
|
13
|
+
}
|
|
14
|
+
function onTabCreateHandler() {
|
|
15
|
+
onTabCreate();
|
|
16
|
+
}
|
|
17
|
+
return { onTabCreateHandler, onTabsMinimizeHandler, onTabsMaximizeHandler, onTabsCloseHandler };
|
|
18
|
+
}, [onTabCreate, onTabsClose, onTabsMinimize, onTabsMaximizable]);
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from "react";
|
|
2
|
+
export declare function Authentication({ children, Error, initOpenNotAuthenticatedOverlay, initOpenContractExpiredDialog, }: {
|
|
3
|
+
Error: (err: Error) => ReactElement;
|
|
4
|
+
initOpenNotAuthenticatedOverlay?: ((callback: (err: Error) => void) => void) | false;
|
|
5
|
+
initOpenContractExpiredDialog?: ((callback: (tier: string) => void) => void) | false;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=Authentication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Authentication.d.ts","sourceRoot":"","sources":["../../../src/shared/authentication/Authentication.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAO/E,wBAAgB,cAAc,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,+BAA+B,EAC/B,6BAA6B,GAChC,EAAE;IACC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,YAAY,CAAC;IACpC,+BAA+B,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC;IACrF,6BAA6B,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC;IACrF,QAAQ,EAAE,SAAS,CAAC;CACvB,2CAwCA"}
|