@cratis/scene.primereact 4.5.0 → 4.7.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/preview.tsx +8 -1
- package/EnumerationResolution.ts +7 -0
- package/README.md +42 -10
- package/chart/ChartGallery.stories.tsx +63 -0
- package/chart/ChartType.ts +14 -0
- package/chart/ChartTypeResolution.ts +14 -0
- package/chart/PrimeChart.tsx +62 -0
- package/chart/chartHasData.ts +22 -0
- package/chart/chartTypeChoices.ts +32 -0
- package/chart/index.ts +7 -0
- package/chart/resolveChartType.ts +61 -0
- package/chart/useChart.ts +61 -0
- package/data/DataGallery.stories.tsx +6 -0
- package/data/DataScrollerRow.tsx +35 -0
- package/data/PrimeDataScroller.tsx +84 -0
- package/data/PrimeTreeTable.tsx +145 -0
- package/data/TreeTableCheckState.ts +9 -0
- package/data/TreeTableRow.ts +22 -0
- package/data/TreeTableRowView.tsx +86 -0
- package/data/TreeTableSelectionMode.ts +10 -0
- package/data/checkboxSelection.ts +92 -0
- package/data/index.ts +4 -0
- package/data/isSerializedLegacyElement.ts +30 -0
- package/data/readableValue.ts +32 -0
- package/data/selectionKeysOf.ts +40 -0
- package/data/treeTableRows.ts +32 -0
- package/data/useIncrementalLoad.ts +36 -0
- package/data/useLoadOnReach.ts +31 -0
- package/data/useTreeGridNavigation.ts +81 -0
- package/dist/cjs/chart/ChartType.js +18 -0
- package/dist/cjs/chart/ChartType.js.map +1 -0
- package/dist/cjs/chart/PrimeChart.js +92 -0
- package/dist/cjs/chart/PrimeChart.js.map +1 -0
- package/dist/cjs/chart/chartHasData.js +24 -0
- package/dist/cjs/chart/chartHasData.js.map +1 -0
- package/dist/cjs/chart/chartTypeChoices.js +43 -0
- package/dist/cjs/chart/chartTypeChoices.js.map +1 -0
- package/dist/cjs/chart/resolveChartType.js +69 -0
- package/dist/cjs/chart/resolveChartType.js.map +1 -0
- package/dist/cjs/chart/useChart.js +62 -0
- package/dist/cjs/chart/useChart.js.map +1 -0
- package/dist/cjs/data/DataScrollerRow.js +50 -0
- package/dist/cjs/data/DataScrollerRow.js.map +1 -0
- package/dist/cjs/data/PrimeDataScroller.js +120 -0
- package/dist/cjs/data/PrimeDataScroller.js.map +1 -0
- package/dist/cjs/data/PrimeTreeTable.js +217 -0
- package/dist/cjs/data/PrimeTreeTable.js.map +1 -0
- package/dist/cjs/data/TreeTableCheckState.js +13 -0
- package/dist/cjs/data/TreeTableCheckState.js.map +1 -0
- package/dist/cjs/data/TreeTableRowView.js +76 -0
- package/dist/cjs/data/TreeTableRowView.js.map +1 -0
- package/dist/cjs/data/TreeTableSelectionMode.js +14 -0
- package/dist/cjs/data/TreeTableSelectionMode.js.map +1 -0
- package/dist/cjs/data/checkboxSelection.js +88 -0
- package/dist/cjs/data/checkboxSelection.js.map +1 -0
- package/dist/cjs/data/isSerializedLegacyElement.js +30 -0
- package/dist/cjs/data/isSerializedLegacyElement.js.map +1 -0
- package/dist/cjs/data/readableValue.js +31 -0
- package/dist/cjs/data/readableValue.js.map +1 -0
- package/dist/cjs/data/selectionKeysOf.js +40 -0
- package/dist/cjs/data/selectionKeysOf.js.map +1 -0
- package/dist/cjs/data/treeTableRows.js +42 -0
- package/dist/cjs/data/treeTableRows.js.map +1 -0
- package/dist/cjs/data/useIncrementalLoad.js +46 -0
- package/dist/cjs/data/useIncrementalLoad.js.map +1 -0
- package/dist/cjs/data/useLoadOnReach.js +42 -0
- package/dist/cjs/data/useLoadOnReach.js.map +1 -0
- package/dist/cjs/data/useTreeGridNavigation.js +75 -0
- package/dist/cjs/data/useTreeGridNavigation.js.map +1 -0
- package/dist/cjs/editor/PrimeEditor.js +96 -0
- package/dist/cjs/editor/PrimeEditor.js.map +1 -0
- package/dist/cjs/editor/QuillLoaderContext.js +10 -0
- package/dist/cjs/editor/QuillLoaderContext.js.map +1 -0
- package/dist/cjs/editor/QuillLoaderProvider.js +21 -0
- package/dist/cjs/editor/QuillLoaderProvider.js.map +1 -0
- package/dist/cjs/editor/applyHtml.js +25 -0
- package/dist/cjs/editor/applyHtml.js.map +1 -0
- package/dist/cjs/editor/characterCount.js +10 -0
- package/dist/cjs/editor/characterCount.js.map +1 -0
- package/dist/cjs/editor/htmlToPlainText.js +101 -0
- package/dist/cjs/editor/htmlToPlainText.js.map +1 -0
- package/dist/cjs/editor/renderSafeNodes.js +35 -0
- package/dist/cjs/editor/renderSafeNodes.js.map +1 -0
- package/dist/cjs/editor/safeUrls.js +44 -0
- package/dist/cjs/editor/safeUrls.js.map +1 -0
- package/dist/cjs/editor/sanitizeHtml.js +140 -0
- package/dist/cjs/editor/sanitizeHtml.js.map +1 -0
- package/dist/cjs/editor/serializeSafeNodes.js +33 -0
- package/dist/cjs/editor/serializeSafeNodes.js.map +1 -0
- package/dist/cjs/editor/toolbarLayout.js +35 -0
- package/dist/cjs/editor/toolbarLayout.js.map +1 -0
- package/dist/cjs/editor/useQuillEditor.js +137 -0
- package/dist/cjs/editor/useQuillEditor.js.map +1 -0
- package/dist/cjs/file/FileUploadContext.js +13 -0
- package/dist/cjs/file/FileUploadContext.js.map +1 -0
- package/dist/cjs/file/FileUploadHandlerProvider.js +25 -0
- package/dist/cjs/file/FileUploadHandlerProvider.js.map +1 -0
- package/dist/cjs/file/FileUploadMode.js +13 -0
- package/dist/cjs/file/FileUploadMode.js.map +1 -0
- package/dist/cjs/file/PrimeFileUpload.js +161 -0
- package/dist/cjs/file/PrimeFileUpload.js.map +1 -0
- package/dist/cjs/file/postFiles.js +31 -0
- package/dist/cjs/file/postFiles.js.map +1 -0
- package/dist/cjs/file/resolveUploadTarget.js +68 -0
- package/dist/cjs/file/resolveUploadTarget.js.map +1 -0
- package/dist/cjs/file/useUploadSession.js +62 -0
- package/dist/cjs/file/useUploadSession.js.map +1 -0
- package/dist/cjs/form/MultiStateGlyph.js +59 -0
- package/dist/cjs/form/MultiStateGlyph.js.map +1 -0
- package/dist/cjs/form/PrimeMultiStateCheckbox.js +123 -0
- package/dist/cjs/form/PrimeMultiStateCheckbox.js.map +1 -0
- package/dist/cjs/form/multiStateOptions.js +77 -0
- package/dist/cjs/form/multiStateOptions.js.map +1 -0
- package/dist/cjs/form/multiStateStates.js +32 -0
- package/dist/cjs/form/multiStateStates.js.map +1 -0
- package/dist/cjs/form/useMultiStateSelection.js +51 -0
- package/dist/cjs/form/useMultiStateSelection.js.map +1 -0
- package/dist/cjs/index.js +44 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/legacyEnumerationChoices.js +39 -0
- package/dist/cjs/legacyEnumerationChoices.js.map +1 -0
- package/dist/cjs/loadQuill/index.js +22 -0
- package/dist/cjs/loadQuill/index.js.map +1 -0
- package/dist/cjs/primeReactComponents.js +15 -0
- package/dist/cjs/primeReactComponents.js.map +1 -1
- package/dist/cjs/primeReactDescriptors.js +400 -0
- package/dist/cjs/primeReactDescriptors.js.map +1 -0
- package/dist/cjs/primeReactPackage.js +8 -0
- package/dist/cjs/primeReactPackage.js.map +1 -1
- package/dist/cjs/properties.js +11 -0
- package/dist/cjs/properties.js.map +1 -1
- package/dist/cjs/resolveEnumeration.js +55 -0
- package/dist/cjs/resolveEnumeration.js.map +1 -0
- package/dist/cjs/structurallyEqual.js +27 -0
- package/dist/cjs/structurallyEqual.js.map +1 -0
- package/dist/cjs/treeNodes.js +42 -7
- package/dist/cjs/treeNodes.js.map +1 -1
- package/dist/cjs/useResettingState.js +47 -0
- package/dist/cjs/useResettingState.js.map +1 -0
- package/dist/cjs/useStructuralValue.js +20 -0
- package/dist/cjs/useStructuralValue.js.map +1 -0
- package/dist/esm/EnumerationResolution.d.ts +9 -0
- package/dist/esm/EnumerationResolution.d.ts.map +1 -0
- package/dist/esm/EnumerationResolution.js +2 -0
- package/dist/esm/EnumerationResolution.js.map +1 -0
- package/dist/esm/chart/ChartGallery.stories.d.ts +14 -0
- package/dist/esm/chart/ChartGallery.stories.d.ts.map +1 -0
- package/dist/esm/chart/ChartGallery.stories.js +47 -0
- package/dist/esm/chart/ChartGallery.stories.js.map +1 -0
- package/dist/esm/chart/ChartType.d.ts +11 -0
- package/dist/esm/chart/ChartType.d.ts.map +1 -0
- package/dist/esm/chart/ChartType.js +16 -0
- package/dist/esm/chart/ChartType.js.map +1 -0
- package/dist/esm/chart/ChartTypeResolution.d.ts +10 -0
- package/dist/esm/chart/ChartTypeResolution.d.ts.map +1 -0
- package/dist/esm/chart/ChartTypeResolution.js +2 -0
- package/dist/esm/chart/ChartTypeResolution.js.map +1 -0
- package/dist/esm/chart/PrimeChart.d.ts +3 -0
- package/dist/esm/chart/PrimeChart.d.ts.map +1 -0
- package/dist/esm/chart/PrimeChart.js +90 -0
- package/dist/esm/chart/PrimeChart.js.map +1 -0
- package/dist/esm/chart/chartHasData.d.ts +2 -0
- package/dist/esm/chart/chartHasData.d.ts.map +1 -0
- package/dist/esm/chart/chartHasData.js +22 -0
- package/dist/esm/chart/chartHasData.js.map +1 -0
- package/dist/esm/chart/chartTypeChoices.d.ts +3 -0
- package/dist/esm/chart/chartTypeChoices.d.ts.map +1 -0
- package/dist/esm/chart/chartTypeChoices.js +41 -0
- package/dist/esm/chart/chartTypeChoices.js.map +1 -0
- package/dist/esm/chart/index.d.ts +5 -0
- package/dist/esm/chart/index.d.ts.map +1 -0
- package/dist/esm/chart/index.js +5 -0
- package/dist/esm/chart/index.js.map +1 -0
- package/dist/esm/chart/resolveChartType.d.ts +6 -0
- package/dist/esm/chart/resolveChartType.d.ts.map +1 -0
- package/dist/esm/chart/resolveChartType.js +66 -0
- package/dist/esm/chart/resolveChartType.js.map +1 -0
- package/dist/esm/chart/useChart.d.ts +4 -0
- package/dist/esm/chart/useChart.d.ts.map +1 -0
- package/dist/esm/chart/useChart.js +60 -0
- package/dist/esm/chart/useChart.js.map +1 -0
- package/dist/esm/data/DataGallery.stories.d.ts.map +1 -1
- package/dist/esm/data/DataGallery.stories.js +6 -0
- package/dist/esm/data/DataGallery.stories.js.map +1 -1
- package/dist/esm/data/DataScrollerRow.d.ts +4 -0
- package/dist/esm/data/DataScrollerRow.d.ts.map +1 -0
- package/dist/esm/data/DataScrollerRow.js +48 -0
- package/dist/esm/data/DataScrollerRow.js.map +1 -0
- package/dist/esm/data/PrimeDataScroller.d.ts +3 -0
- package/dist/esm/data/PrimeDataScroller.d.ts.map +1 -0
- package/dist/esm/data/PrimeDataScroller.js +118 -0
- package/dist/esm/data/PrimeDataScroller.js.map +1 -0
- package/dist/esm/data/PrimeTreeTable.d.ts +3 -0
- package/dist/esm/data/PrimeTreeTable.d.ts.map +1 -0
- package/dist/esm/data/PrimeTreeTable.js +215 -0
- package/dist/esm/data/PrimeTreeTable.js.map +1 -0
- package/dist/esm/data/TreeTableCheckState.d.ts +6 -0
- package/dist/esm/data/TreeTableCheckState.d.ts.map +1 -0
- package/dist/esm/data/TreeTableCheckState.js +11 -0
- package/dist/esm/data/TreeTableCheckState.js.map +1 -0
- package/dist/esm/data/TreeTableRow.d.ts +10 -0
- package/dist/esm/data/TreeTableRow.d.ts.map +1 -0
- package/dist/esm/data/TreeTableRow.js +2 -0
- package/dist/esm/data/TreeTableRow.js.map +1 -0
- package/dist/esm/data/TreeTableRowView.d.ts +21 -0
- package/dist/esm/data/TreeTableRowView.d.ts.map +1 -0
- package/dist/esm/data/TreeTableRowView.js +74 -0
- package/dist/esm/data/TreeTableRowView.js.map +1 -0
- package/dist/esm/data/TreeTableSelectionMode.d.ts +7 -0
- package/dist/esm/data/TreeTableSelectionMode.d.ts.map +1 -0
- package/dist/esm/data/TreeTableSelectionMode.js +12 -0
- package/dist/esm/data/TreeTableSelectionMode.js.map +1 -0
- package/dist/esm/data/checkboxSelection.d.ts +9 -0
- package/dist/esm/data/checkboxSelection.d.ts.map +1 -0
- package/dist/esm/data/checkboxSelection.js +85 -0
- package/dist/esm/data/checkboxSelection.js.map +1 -0
- package/dist/esm/data/index.d.ts +4 -0
- package/dist/esm/data/index.d.ts.map +1 -1
- package/dist/esm/data/index.js +4 -0
- package/dist/esm/data/index.js.map +1 -1
- package/dist/esm/data/isSerializedLegacyElement.d.ts +3 -0
- package/dist/esm/data/isSerializedLegacyElement.d.ts.map +1 -0
- package/dist/esm/data/isSerializedLegacyElement.js +27 -0
- package/dist/esm/data/isSerializedLegacyElement.js.map +1 -0
- package/dist/esm/data/readableValue.d.ts +2 -0
- package/dist/esm/data/readableValue.d.ts.map +1 -0
- package/dist/esm/data/readableValue.js +29 -0
- package/dist/esm/data/readableValue.js.map +1 -0
- package/dist/esm/data/selectionKeysOf.d.ts +2 -0
- package/dist/esm/data/selectionKeysOf.d.ts.map +1 -0
- package/dist/esm/data/selectionKeysOf.js +38 -0
- package/dist/esm/data/selectionKeysOf.js.map +1 -0
- package/dist/esm/data/treeTableRows.d.ts +6 -0
- package/dist/esm/data/treeTableRows.d.ts.map +1 -0
- package/dist/esm/data/treeTableRows.js +38 -0
- package/dist/esm/data/treeTableRows.js.map +1 -0
- package/dist/esm/data/useIncrementalLoad.d.ts +6 -0
- package/dist/esm/data/useIncrementalLoad.d.ts.map +1 -0
- package/dist/esm/data/useIncrementalLoad.js +44 -0
- package/dist/esm/data/useIncrementalLoad.js.map +1 -0
- package/dist/esm/data/useLoadOnReach.d.ts +3 -0
- package/dist/esm/data/useLoadOnReach.d.ts.map +1 -0
- package/dist/esm/data/useLoadOnReach.js +40 -0
- package/dist/esm/data/useLoadOnReach.js.map +1 -0
- package/dist/esm/data/useTreeGridNavigation.d.ts +17 -0
- package/dist/esm/data/useTreeGridNavigation.d.ts.map +1 -0
- package/dist/esm/data/useTreeGridNavigation.js +73 -0
- package/dist/esm/data/useTreeGridNavigation.js.map +1 -0
- package/dist/esm/editor/PrimeEditor.d.ts +3 -0
- package/dist/esm/editor/PrimeEditor.d.ts.map +1 -0
- package/dist/esm/editor/PrimeEditor.js +94 -0
- package/dist/esm/editor/PrimeEditor.js.map +1 -0
- package/dist/esm/editor/QuillConstructor.d.ts +4 -0
- package/dist/esm/editor/QuillConstructor.d.ts.map +1 -0
- package/dist/esm/editor/QuillConstructor.js +2 -0
- package/dist/esm/editor/QuillConstructor.js.map +1 -0
- package/dist/esm/editor/QuillEditorOptions.d.ts +13 -0
- package/dist/esm/editor/QuillEditorOptions.d.ts.map +1 -0
- package/dist/esm/editor/QuillEditorOptions.js +2 -0
- package/dist/esm/editor/QuillEditorOptions.js.map +1 -0
- package/dist/esm/editor/QuillEditorState.d.ts +6 -0
- package/dist/esm/editor/QuillEditorState.d.ts.map +1 -0
- package/dist/esm/editor/QuillEditorState.js +2 -0
- package/dist/esm/editor/QuillEditorState.js.map +1 -0
- package/dist/esm/editor/QuillInstance.d.ts +16 -0
- package/dist/esm/editor/QuillInstance.d.ts.map +1 -0
- package/dist/esm/editor/QuillInstance.js +2 -0
- package/dist/esm/editor/QuillInstance.js.map +1 -0
- package/dist/esm/editor/QuillLoader.d.ts +5 -0
- package/dist/esm/editor/QuillLoader.d.ts.map +1 -0
- package/dist/esm/editor/QuillLoader.js +2 -0
- package/dist/esm/editor/QuillLoader.js.map +1 -0
- package/dist/esm/editor/QuillLoaderContext.d.ts +3 -0
- package/dist/esm/editor/QuillLoaderContext.d.ts.map +1 -0
- package/dist/esm/editor/QuillLoaderContext.js +8 -0
- package/dist/esm/editor/QuillLoaderContext.js.map +1 -0
- package/dist/esm/editor/QuillLoaderProvider.d.ts +8 -0
- package/dist/esm/editor/QuillLoaderProvider.d.ts.map +1 -0
- package/dist/esm/editor/QuillLoaderProvider.js +19 -0
- package/dist/esm/editor/QuillLoaderProvider.js.map +1 -0
- package/dist/esm/editor/QuillOptions.d.ts +9 -0
- package/dist/esm/editor/QuillOptions.d.ts.map +1 -0
- package/dist/esm/editor/QuillOptions.js +2 -0
- package/dist/esm/editor/QuillOptions.js.map +1 -0
- package/dist/esm/editor/SafeElement.d.ts +7 -0
- package/dist/esm/editor/SafeElement.d.ts.map +1 -0
- package/dist/esm/editor/SafeElement.js +2 -0
- package/dist/esm/editor/SafeElement.js.map +1 -0
- package/dist/esm/editor/SafeNode.d.ts +3 -0
- package/dist/esm/editor/SafeNode.d.ts.map +1 -0
- package/dist/esm/editor/SafeNode.js +2 -0
- package/dist/esm/editor/SafeNode.js.map +1 -0
- package/dist/esm/editor/applyHtml.d.ts +3 -0
- package/dist/esm/editor/applyHtml.d.ts.map +1 -0
- package/dist/esm/editor/applyHtml.js +23 -0
- package/dist/esm/editor/applyHtml.js.map +1 -0
- package/dist/esm/editor/characterCount.d.ts +3 -0
- package/dist/esm/editor/characterCount.d.ts.map +1 -0
- package/dist/esm/editor/characterCount.js +8 -0
- package/dist/esm/editor/characterCount.js.map +1 -0
- package/dist/esm/editor/htmlToPlainText.d.ts +2 -0
- package/dist/esm/editor/htmlToPlainText.d.ts.map +1 -0
- package/dist/esm/editor/htmlToPlainText.js +99 -0
- package/dist/esm/editor/htmlToPlainText.js.map +1 -0
- package/dist/esm/editor/index.d.ts +14 -0
- package/dist/esm/editor/index.d.ts.map +1 -0
- package/dist/esm/editor/index.js +14 -0
- package/dist/esm/editor/index.js.map +1 -0
- package/dist/esm/editor/renderSafeNodes.d.ts +4 -0
- package/dist/esm/editor/renderSafeNodes.d.ts.map +1 -0
- package/dist/esm/editor/renderSafeNodes.js +33 -0
- package/dist/esm/editor/renderSafeNodes.js.map +1 -0
- package/dist/esm/editor/safeUrls.d.ts +3 -0
- package/dist/esm/editor/safeUrls.d.ts.map +1 -0
- package/dist/esm/editor/safeUrls.js +41 -0
- package/dist/esm/editor/safeUrls.js.map +1 -0
- package/dist/esm/editor/sanitizeHtml.d.ts +3 -0
- package/dist/esm/editor/sanitizeHtml.d.ts.map +1 -0
- package/dist/esm/editor/sanitizeHtml.js +138 -0
- package/dist/esm/editor/sanitizeHtml.js.map +1 -0
- package/dist/esm/editor/serializeSafeNodes.d.ts +3 -0
- package/dist/esm/editor/serializeSafeNodes.d.ts.map +1 -0
- package/dist/esm/editor/serializeSafeNodes.js +31 -0
- package/dist/esm/editor/serializeSafeNodes.js.map +1 -0
- package/dist/esm/editor/toolbarLayout.d.ts +2 -0
- package/dist/esm/editor/toolbarLayout.d.ts.map +1 -0
- package/dist/esm/editor/toolbarLayout.js +33 -0
- package/dist/esm/editor/toolbarLayout.js.map +1 -0
- package/dist/esm/editor/useQuillEditor.d.ts +4 -0
- package/dist/esm/editor/useQuillEditor.d.ts.map +1 -0
- package/dist/esm/editor/useQuillEditor.js +135 -0
- package/dist/esm/editor/useQuillEditor.js.map +1 -0
- package/dist/esm/file/FileGallery.stories.d.ts +19 -0
- package/dist/esm/file/FileGallery.stories.d.ts.map +1 -0
- package/dist/esm/file/FileGallery.stories.js +23 -0
- package/dist/esm/file/FileGallery.stories.js.map +1 -0
- package/dist/esm/file/FileUploadContext.d.ts +7 -0
- package/dist/esm/file/FileUploadContext.d.ts.map +1 -0
- package/dist/esm/file/FileUploadContext.js +11 -0
- package/dist/esm/file/FileUploadContext.js.map +1 -0
- package/dist/esm/file/FileUploadHandler.d.ts +4 -0
- package/dist/esm/file/FileUploadHandler.d.ts.map +1 -0
- package/dist/esm/file/FileUploadHandler.js +2 -0
- package/dist/esm/file/FileUploadHandler.js.map +1 -0
- package/dist/esm/file/FileUploadHandlerProvider.d.ts +9 -0
- package/dist/esm/file/FileUploadHandlerProvider.d.ts.map +1 -0
- package/dist/esm/file/FileUploadHandlerProvider.js +23 -0
- package/dist/esm/file/FileUploadHandlerProvider.js.map +1 -0
- package/dist/esm/file/FileUploadMode.d.ts +6 -0
- package/dist/esm/file/FileUploadMode.d.ts.map +1 -0
- package/dist/esm/file/FileUploadMode.js +11 -0
- package/dist/esm/file/FileUploadMode.js.map +1 -0
- package/dist/esm/file/PrimeFileUpload.d.ts +3 -0
- package/dist/esm/file/PrimeFileUpload.d.ts.map +1 -0
- package/dist/esm/file/PrimeFileUpload.js +159 -0
- package/dist/esm/file/PrimeFileUpload.js.map +1 -0
- package/dist/esm/file/UploadStatus.d.ts +5 -0
- package/dist/esm/file/UploadStatus.d.ts.map +1 -0
- package/dist/esm/file/UploadStatus.js +2 -0
- package/dist/esm/file/UploadStatus.js.map +1 -0
- package/dist/esm/file/UploadTarget.d.ts +8 -0
- package/dist/esm/file/UploadTarget.d.ts.map +1 -0
- package/dist/esm/file/UploadTarget.js +2 -0
- package/dist/esm/file/UploadTarget.js.map +1 -0
- package/dist/esm/file/index.d.ts +7 -0
- package/dist/esm/file/index.d.ts.map +1 -0
- package/dist/esm/file/index.js +7 -0
- package/dist/esm/file/index.js.map +1 -0
- package/dist/esm/file/postFiles.d.ts +2 -0
- package/dist/esm/file/postFiles.d.ts.map +1 -0
- package/dist/esm/file/postFiles.js +29 -0
- package/dist/esm/file/postFiles.js.map +1 -0
- package/dist/esm/file/resolveUploadTarget.d.ts +3 -0
- package/dist/esm/file/resolveUploadTarget.d.ts.map +1 -0
- package/dist/esm/file/resolveUploadTarget.js +66 -0
- package/dist/esm/file/resolveUploadTarget.js.map +1 -0
- package/dist/esm/file/useUploadSession.d.ts +10 -0
- package/dist/esm/file/useUploadSession.d.ts.map +1 -0
- package/dist/esm/file/useUploadSession.js +60 -0
- package/dist/esm/file/useUploadSession.js.map +1 -0
- package/dist/esm/form/FormGallery.stories.d.ts.map +1 -1
- package/dist/esm/form/FormGallery.stories.js +9 -0
- package/dist/esm/form/FormGallery.stories.js.map +1 -1
- package/dist/esm/form/MultiStateGlyph.d.ts +8 -0
- package/dist/esm/form/MultiStateGlyph.d.ts.map +1 -0
- package/dist/esm/form/MultiStateGlyph.js +57 -0
- package/dist/esm/form/MultiStateGlyph.js.map +1 -0
- package/dist/esm/form/MultiStateOption.d.ts +7 -0
- package/dist/esm/form/MultiStateOption.d.ts.map +1 -0
- package/dist/esm/form/MultiStateOption.js +2 -0
- package/dist/esm/form/MultiStateOption.js.map +1 -0
- package/dist/esm/form/PrimeMultiStateCheckbox.d.ts +3 -0
- package/dist/esm/form/PrimeMultiStateCheckbox.d.ts.map +1 -0
- package/dist/esm/form/PrimeMultiStateCheckbox.js +121 -0
- package/dist/esm/form/PrimeMultiStateCheckbox.js.map +1 -0
- package/dist/esm/form/index.d.ts +1 -0
- package/dist/esm/form/index.d.ts.map +1 -1
- package/dist/esm/form/index.js +1 -0
- package/dist/esm/form/index.js.map +1 -1
- package/dist/esm/form/multiStateOptions.d.ts +4 -0
- package/dist/esm/form/multiStateOptions.d.ts.map +1 -0
- package/dist/esm/form/multiStateOptions.js +75 -0
- package/dist/esm/form/multiStateOptions.js.map +1 -0
- package/dist/esm/form/multiStateStates.d.ts +4 -0
- package/dist/esm/form/multiStateStates.d.ts.map +1 -0
- package/dist/esm/form/multiStateStates.js +30 -0
- package/dist/esm/form/multiStateStates.js.map +1 -0
- package/dist/esm/form/useMultiStateSelection.d.ts +6 -0
- package/dist/esm/form/useMultiStateSelection.d.ts.map +1 -0
- package/dist/esm/form/useMultiStateSelection.js +49 -0
- package/dist/esm/form/useMultiStateSelection.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +22 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/legacyEnumerationChoices.d.ts +3 -0
- package/dist/esm/legacyEnumerationChoices.d.ts.map +1 -0
- package/dist/esm/legacyEnumerationChoices.js +37 -0
- package/dist/esm/legacyEnumerationChoices.js.map +1 -0
- package/dist/esm/loadQuill/index.d.ts +3 -0
- package/dist/esm/loadQuill/index.d.ts.map +1 -0
- package/dist/esm/loadQuill/index.js +20 -0
- package/dist/esm/loadQuill/index.js.map +1 -0
- package/dist/esm/primeReactComponents.d.ts.map +1 -1
- package/dist/esm/primeReactComponents.js +15 -0
- package/dist/esm/primeReactComponents.js.map +1 -1
- package/dist/esm/primeReactDescriptors.d.ts +3 -0
- package/dist/esm/primeReactDescriptors.d.ts.map +1 -0
- package/dist/esm/primeReactDescriptors.js +398 -0
- package/dist/esm/primeReactDescriptors.js.map +1 -0
- package/dist/esm/primeReactPackage.d.ts.map +1 -1
- package/dist/esm/primeReactPackage.js +8 -0
- package/dist/esm/primeReactPackage.js.map +1 -1
- package/dist/esm/properties.d.ts +1 -0
- package/dist/esm/properties.d.ts.map +1 -1
- package/dist/esm/properties.js +11 -1
- package/dist/esm/properties.js.map +1 -1
- package/dist/esm/resolveEnumeration.d.ts +3 -0
- package/dist/esm/resolveEnumeration.d.ts.map +1 -0
- package/dist/esm/resolveEnumeration.js +53 -0
- package/dist/esm/resolveEnumeration.js.map +1 -0
- package/dist/esm/structurallyEqual.d.ts +2 -0
- package/dist/esm/structurallyEqual.d.ts.map +1 -0
- package/dist/esm/structurallyEqual.js +25 -0
- package/dist/esm/structurallyEqual.js.map +1 -0
- package/dist/esm/treeNodes.d.ts +2 -1
- package/dist/esm/treeNodes.d.ts.map +1 -1
- package/dist/esm/treeNodes.js +42 -8
- package/dist/esm/treeNodes.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/useResettingState.d.ts +3 -0
- package/dist/esm/useResettingState.d.ts.map +1 -0
- package/dist/esm/useResettingState.js +45 -0
- package/dist/esm/useResettingState.js.map +1 -0
- package/dist/esm/useStructuralValue.d.ts +2 -0
- package/dist/esm/useStructuralValue.d.ts.map +1 -0
- package/dist/esm/useStructuralValue.js +18 -0
- package/dist/esm/useStructuralValue.js.map +1 -0
- package/editor/PrimeEditor.tsx +83 -0
- package/editor/QuillConstructor.ts +8 -0
- package/editor/QuillEditorOptions.ts +29 -0
- package/editor/QuillEditorState.ts +14 -0
- package/editor/QuillInstance.ts +27 -0
- package/editor/QuillLoader.ts +13 -0
- package/editor/QuillLoaderContext.ts +8 -0
- package/editor/QuillLoaderProvider.tsx +24 -0
- package/editor/QuillOptions.ts +10 -0
- package/editor/SafeElement.ts +15 -0
- package/editor/SafeNode.ts +7 -0
- package/editor/applyHtml.ts +21 -0
- package/editor/characterCount.ts +9 -0
- package/editor/htmlToPlainText.ts +74 -0
- package/editor/index.ts +16 -0
- package/editor/renderSafeNodes.tsx +26 -0
- package/editor/safeUrls.ts +43 -0
- package/editor/sanitizeHtml.ts +94 -0
- package/editor/serializeSafeNodes.ts +26 -0
- package/editor/toolbarLayout.ts +10 -0
- package/editor/useQuillEditor.ts +114 -0
- package/file/FileGallery.stories.tsx +32 -0
- package/file/FileUploadContext.ts +17 -0
- package/file/FileUploadHandler.ts +15 -0
- package/file/FileUploadHandlerProvider.tsx +33 -0
- package/file/FileUploadMode.ts +9 -0
- package/file/PrimeFileUpload.tsx +129 -0
- package/file/UploadStatus.ts +9 -0
- package/file/UploadTarget.ts +12 -0
- package/file/index.ts +9 -0
- package/file/postFiles.ts +23 -0
- package/file/resolveUploadTarget.ts +61 -0
- package/file/useUploadSession.ts +67 -0
- package/form/FormGallery.stories.tsx +9 -0
- package/form/MultiStateGlyph.tsx +55 -0
- package/form/MultiStateOption.ts +17 -0
- package/form/PrimeMultiStateCheckbox.tsx +101 -0
- package/form/index.ts +1 -0
- package/form/multiStateOptions.ts +78 -0
- package/form/multiStateStates.ts +23 -0
- package/form/useMultiStateSelection.ts +48 -0
- package/index.ts +4 -0
- package/legacyEnumerationChoices.ts +35 -0
- package/loadQuill/index.ts +21 -0
- package/package.json +27 -7
- package/primeReactComponents.ts +12 -0
- package/primeReactDescriptors.ts +111 -0
- package/primeReactPackage.ts +5 -3
- package/primeReactTheme.css +69 -0
- package/properties.ts +14 -0
- package/resolveEnumeration.ts +50 -0
- package/structurallyEqual.ts +29 -0
- package/treeNodes.ts +44 -6
- package/useResettingState.ts +34 -0
- package/useStructuralValue.ts +17 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo, useState, useEffect } from 'react';
|
|
3
|
+
import { arrayProperty, numberProperty, booleanProperty, stringProperty } from '../properties.js';
|
|
4
|
+
import { resolveEnumeration } from '../resolveEnumeration.js';
|
|
5
|
+
import { toTreeNodes, countUnreadableEntries } from '../treeNodes.js';
|
|
6
|
+
import { useResettingState } from '../useResettingState.js';
|
|
7
|
+
import { useStructuralValue } from '../useStructuralValue.js';
|
|
8
|
+
import { TreeTableRowView } from './TreeTableRowView.js';
|
|
9
|
+
import { TreeTableSelectionMode } from './TreeTableSelectionMode.js';
|
|
10
|
+
import { columnDefinitions } from './columnDefinitions.js';
|
|
11
|
+
import { settleSelection, toggleCheckbox } from './checkboxSelection.js';
|
|
12
|
+
import { isSerializedLegacyElement, legacyElementMessage } from './isSerializedLegacyElement.js';
|
|
13
|
+
import { selectionKeysOf } from './selectionKeysOf.js';
|
|
14
|
+
import { expandedKeysOf, visibleRows } from './treeTableRows.js';
|
|
15
|
+
import { useTreeGridNavigation } from './useTreeGridNavigation.js';
|
|
16
|
+
|
|
17
|
+
const labelColumn = [
|
|
18
|
+
{
|
|
19
|
+
field: 'label',
|
|
20
|
+
header: 'Label',
|
|
21
|
+
sortable: false
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* The `PrimeReact:treeTable` component, an ARIA tree grid over the canonical Scene node and column properties.
|
|
26
|
+
*
|
|
27
|
+
* `items` is an array of nodes - strings, numbers, or records with `key`, `label`, `data`, `children`,
|
|
28
|
+
* `expanded` and `selectable` - and the columns come from nested `column` elements, a `columns` property or the
|
|
29
|
+
* fields of the first row's `data`, in that order (see `columnDefinitions`). Serialized legacy UI elements in
|
|
30
|
+
* `items` or `columns` are refused with a visible message; see the package documentation for how they map to
|
|
31
|
+
* canonical slots.
|
|
32
|
+
*
|
|
33
|
+
* - Selection follows the authored `selection` (keys, numbers, `{ key }` objects or PrimeReact's key map) and
|
|
34
|
+
* starts over when it changes; expansion starts from the authored `expanded` flags the same way. An unrelated
|
|
35
|
+
* property edit leaves what the user did alone.
|
|
36
|
+
* - In checkbox mode a parent checks and unchecks its subtree and shows a partial state when only some of it is
|
|
37
|
+
* checked.
|
|
38
|
+
* - The rows form a `treegrid` with a roving tab index and the usual arrow-key navigation.
|
|
39
|
+
* - Object cell values are shown readably, never as `[object Object]`.
|
|
40
|
+
*/ function PrimeTreeTable({ element, interactions }) {
|
|
41
|
+
const authoredItems = useStructuralValue(arrayProperty(element, 'items'));
|
|
42
|
+
const items = useMemo(()=>authoredItems.filter((entry)=>!isSerializedLegacyElement(entry)), [
|
|
43
|
+
authoredItems
|
|
44
|
+
]);
|
|
45
|
+
const nodes = useMemo(()=>toTreeNodes(items), [
|
|
46
|
+
items
|
|
47
|
+
]);
|
|
48
|
+
const modeResolution = resolveEnumeration('selectionMode', element.properties.selectionMode, TreeTableSelectionMode, TreeTableSelectionMode.None);
|
|
49
|
+
const mode = modeResolution.isValid ? modeResolution.value : TreeTableSelectionMode.None;
|
|
50
|
+
const enabled = element.isEnabled;
|
|
51
|
+
const pageSize = Math.max(Math.floor(numberProperty(element, 'rows', 10)), 1);
|
|
52
|
+
const paginator = booleanProperty(element, 'paginator', false);
|
|
53
|
+
const [expanded, setExpanded] = useResettingState(expandedKeysOf(nodes), ()=>new Set(expandedKeysOf(nodes)));
|
|
54
|
+
const [requested, setRequested] = useResettingState(element.properties.selection, ()=>selectionKeysOf(element.properties.selection));
|
|
55
|
+
const [page, setPage] = useState(0);
|
|
56
|
+
const pageCount = Math.max(Math.ceil(nodes.length / pageSize), 1);
|
|
57
|
+
const currentPage = Math.min(page, pageCount - 1);
|
|
58
|
+
const rows = useMemo(()=>visibleRows(paginator ? nodes.slice(currentPage * pageSize, (currentPage + 1) * pageSize) : nodes, expanded), [
|
|
59
|
+
nodes,
|
|
60
|
+
paginator,
|
|
61
|
+
currentPage,
|
|
62
|
+
pageSize,
|
|
63
|
+
expanded
|
|
64
|
+
]);
|
|
65
|
+
const settled = useMemo(()=>mode === TreeTableSelectionMode.Checkbox ? settleSelection(nodes, requested) : {
|
|
66
|
+
checked: requested,
|
|
67
|
+
states: new Map()
|
|
68
|
+
}, [
|
|
69
|
+
mode,
|
|
70
|
+
nodes,
|
|
71
|
+
requested
|
|
72
|
+
]);
|
|
73
|
+
const columns = useMemo(()=>{
|
|
74
|
+
const first = rows.find((row)=>typeof row.node.data === 'object' && row.node.data !== null && !Array.isArray(row.node.data))?.node.data;
|
|
75
|
+
const defined = columnDefinitions(element, first === undefined ? [] : [
|
|
76
|
+
first
|
|
77
|
+
]);
|
|
78
|
+
return defined.length > 0 ? defined : labelColumn;
|
|
79
|
+
}, [
|
|
80
|
+
element,
|
|
81
|
+
rows
|
|
82
|
+
]);
|
|
83
|
+
useEffect(()=>setPage((current)=>Math.min(current, pageCount - 1)), [
|
|
84
|
+
pageCount
|
|
85
|
+
]);
|
|
86
|
+
const toggle = (key)=>{
|
|
87
|
+
if (enabled) setExpanded((current)=>{
|
|
88
|
+
const next = new Set(current);
|
|
89
|
+
if (next.has(key)) next.delete(key);
|
|
90
|
+
else next.add(key);
|
|
91
|
+
return next;
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const select = (row)=>{
|
|
95
|
+
if (mode === TreeTableSelectionMode.None || !enabled || row.node.selectable === false) return;
|
|
96
|
+
if (mode === TreeTableSelectionMode.Checkbox) {
|
|
97
|
+
setRequested(toggleCheckbox(nodes, settled, row.node));
|
|
98
|
+
} else if (mode === TreeTableSelectionMode.Single) {
|
|
99
|
+
setRequested(new Set([
|
|
100
|
+
row.key
|
|
101
|
+
]));
|
|
102
|
+
} else {
|
|
103
|
+
const next = new Set(settled.checked);
|
|
104
|
+
if (next.has(row.key)) next.delete(row.key);
|
|
105
|
+
else next.add(row.key);
|
|
106
|
+
setRequested(next);
|
|
107
|
+
}
|
|
108
|
+
interactions?.onSelect?.();
|
|
109
|
+
interactions?.onChange?.();
|
|
110
|
+
};
|
|
111
|
+
const navigation = useTreeGridNavigation({
|
|
112
|
+
rows,
|
|
113
|
+
expanded,
|
|
114
|
+
enabled,
|
|
115
|
+
toggle,
|
|
116
|
+
select
|
|
117
|
+
});
|
|
118
|
+
const changePage = (target)=>{
|
|
119
|
+
if (enabled && target >= 0 && target < pageCount) setPage(target);
|
|
120
|
+
};
|
|
121
|
+
const refusals = [
|
|
122
|
+
modeResolution.isValid ? undefined : modeResolution.message,
|
|
123
|
+
legacyElementMessage(authoredItems, 'items', 'Provide items as node data: strings, numbers, or records with key, label, data and children.'),
|
|
124
|
+
legacyElementMessage(arrayProperty(element, 'columns'), 'columns', "Author them as child elements in the 'columns' slot, or as column definitions.")
|
|
125
|
+
].filter((message)=>message !== undefined);
|
|
126
|
+
const skipped = countUnreadableEntries(items);
|
|
127
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
128
|
+
"data-scene-id": element.id,
|
|
129
|
+
"data-scene-component": "treeTable",
|
|
130
|
+
"aria-disabled": !enabled,
|
|
131
|
+
onClick: interactions?.onClick,
|
|
132
|
+
onDoubleClick: interactions?.onDoubleClick,
|
|
133
|
+
children: [
|
|
134
|
+
/*#__PURE__*/ jsxs("table", {
|
|
135
|
+
role: "treegrid",
|
|
136
|
+
"aria-label": stringProperty(element, 'ariaLabel', 'Hierarchical data'),
|
|
137
|
+
"aria-multiselectable": mode === TreeTableSelectionMode.Multiple || mode === TreeTableSelectionMode.Checkbox ? true : undefined,
|
|
138
|
+
children: [
|
|
139
|
+
/*#__PURE__*/ jsx("thead", {
|
|
140
|
+
children: /*#__PURE__*/ jsx("tr", {
|
|
141
|
+
role: "row",
|
|
142
|
+
children: columns.map((column, index)=>/*#__PURE__*/ jsx("th", {
|
|
143
|
+
role: "columnheader",
|
|
144
|
+
children: column.header
|
|
145
|
+
}, index))
|
|
146
|
+
})
|
|
147
|
+
}),
|
|
148
|
+
/*#__PURE__*/ jsxs("tbody", {
|
|
149
|
+
children: [
|
|
150
|
+
rows.map((row)=>/*#__PURE__*/ jsx(TreeTableRowView, {
|
|
151
|
+
row: row,
|
|
152
|
+
columns: columns,
|
|
153
|
+
mode: mode,
|
|
154
|
+
enabled: enabled,
|
|
155
|
+
expanded: expanded.has(row.key),
|
|
156
|
+
selected: settled.checked.has(row.key),
|
|
157
|
+
checkState: settled.states.get(row.key),
|
|
158
|
+
tabStop: navigation.tabStopKey === row.key,
|
|
159
|
+
register: navigation.register,
|
|
160
|
+
onActivate: ()=>navigation.activate(row.key),
|
|
161
|
+
onToggle: ()=>toggle(row.key),
|
|
162
|
+
onSelect: ()=>select(row),
|
|
163
|
+
onKeyDown: (event)=>navigation.onKeyDown(row, event)
|
|
164
|
+
}, row.key)),
|
|
165
|
+
rows.length === 0 && /*#__PURE__*/ jsx("tr", {
|
|
166
|
+
role: "row",
|
|
167
|
+
children: /*#__PURE__*/ jsx("td", {
|
|
168
|
+
role: "gridcell",
|
|
169
|
+
colSpan: columns.length,
|
|
170
|
+
children: stringProperty(element, 'emptyLabel', 'No records found')
|
|
171
|
+
})
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
}),
|
|
177
|
+
paginator && /*#__PURE__*/ jsxs("nav", {
|
|
178
|
+
"aria-label": "Tree table pages",
|
|
179
|
+
children: [
|
|
180
|
+
/*#__PURE__*/ jsx("button", {
|
|
181
|
+
type: "button",
|
|
182
|
+
"aria-disabled": !enabled || currentPage === 0,
|
|
183
|
+
onClick: ()=>changePage(currentPage - 1),
|
|
184
|
+
children: "Previous"
|
|
185
|
+
}),
|
|
186
|
+
/*#__PURE__*/ jsxs("span", {
|
|
187
|
+
children: [
|
|
188
|
+
currentPage + 1,
|
|
189
|
+
" / ",
|
|
190
|
+
pageCount
|
|
191
|
+
]
|
|
192
|
+
}),
|
|
193
|
+
/*#__PURE__*/ jsx("button", {
|
|
194
|
+
type: "button",
|
|
195
|
+
"aria-disabled": !enabled || currentPage + 1 >= pageCount,
|
|
196
|
+
onClick: ()=>changePage(currentPage + 1),
|
|
197
|
+
children: "Next"
|
|
198
|
+
})
|
|
199
|
+
]
|
|
200
|
+
}),
|
|
201
|
+
refusals.map((message)=>/*#__PURE__*/ jsx("p", {
|
|
202
|
+
role: "alert",
|
|
203
|
+
"data-scene-state": "refused",
|
|
204
|
+
children: message
|
|
205
|
+
}, message)),
|
|
206
|
+
skipped > 0 && /*#__PURE__*/ jsx("p", {
|
|
207
|
+
role: "status",
|
|
208
|
+
children: `${skipped} entr${skipped === 1 ? 'y' : 'ies'} of items could not be read as a node and ${skipped === 1 ? 'was' : 'were'} skipped.`
|
|
209
|
+
})
|
|
210
|
+
]
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export { PrimeTreeTable };
|
|
215
|
+
//# sourceMappingURL=PrimeTreeTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimeTreeTable.js","sources":["../../../data/PrimeTreeTable.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 { useEffect, useMemo, useState } from 'react';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { arrayProperty, booleanProperty, numberProperty, stringProperty } from '../properties';\nimport { resolveEnumeration } from '../resolveEnumeration';\nimport { countUnreadableEntries, toTreeNodes } from '../treeNodes';\nimport { useResettingState } from '../useResettingState';\nimport { useStructuralValue } from '../useStructuralValue';\nimport { ColumnDefinition } from './ColumnDefinition';\nimport { TreeTableRow } from './TreeTableRow';\nimport { TreeTableRowView } from './TreeTableRowView';\nimport { TreeTableSelectionMode } from './TreeTableSelectionMode';\nimport { columnDefinitions } from './columnDefinitions';\nimport { SettledSelection, settleSelection, toggleCheckbox } from './checkboxSelection';\nimport { isSerializedLegacyElement, legacyElementMessage } from './isSerializedLegacyElement';\nimport { selectionKeysOf } from './selectionKeysOf';\nimport { expandedKeysOf, visibleRows } from './treeTableRows';\nimport { useTreeGridNavigation } from './useTreeGridNavigation';\n\nconst labelColumn: ColumnDefinition[] = [{ field: 'label', header: 'Label', sortable: false }];\n\n/**\n * The `PrimeReact:treeTable` component, an ARIA tree grid over the canonical Scene node and column properties.\n *\n * `items` is an array of nodes - strings, numbers, or records with `key`, `label`, `data`, `children`,\n * `expanded` and `selectable` - and the columns come from nested `column` elements, a `columns` property or the\n * fields of the first row's `data`, in that order (see `columnDefinitions`). Serialized legacy UI elements in\n * `items` or `columns` are refused with a visible message; see the package documentation for how they map to\n * canonical slots.\n *\n * - Selection follows the authored `selection` (keys, numbers, `{ key }` objects or PrimeReact's key map) and\n * starts over when it changes; expansion starts from the authored `expanded` flags the same way. An unrelated\n * property edit leaves what the user did alone.\n * - In checkbox mode a parent checks and unchecks its subtree and shows a partial state when only some of it is\n * checked.\n * - The rows form a `treegrid` with a roving tab index and the usual arrow-key navigation.\n * - Object cell values are shown readably, never as `[object Object]`.\n */\nexport function PrimeTreeTable({ element, interactions }: RegisteredComponentProps) {\n const authoredItems = useStructuralValue(arrayProperty(element, 'items'));\n const items = useMemo(() => authoredItems.filter(entry => !isSerializedLegacyElement(entry)), [authoredItems]);\n const nodes = useMemo(() => toTreeNodes(items), [items]);\n const modeResolution = resolveEnumeration('selectionMode', element.properties.selectionMode, TreeTableSelectionMode, TreeTableSelectionMode.None);\n const mode = modeResolution.isValid ? modeResolution.value : TreeTableSelectionMode.None;\n const enabled = element.isEnabled;\n const pageSize = Math.max(Math.floor(numberProperty(element, 'rows', 10)), 1);\n const paginator = booleanProperty(element, 'paginator', false);\n const [expanded, setExpanded] = useResettingState(expandedKeysOf(nodes), () => new Set(expandedKeysOf(nodes)));\n const [requested, setRequested] = useResettingState(element.properties.selection, () => selectionKeysOf(element.properties.selection));\n const [page, setPage] = useState(0);\n const pageCount = Math.max(Math.ceil(nodes.length / pageSize), 1);\n const currentPage = Math.min(page, pageCount - 1);\n const rows = useMemo(() => visibleRows(paginator ? nodes.slice(currentPage * pageSize, (currentPage + 1) * pageSize) : nodes, expanded), [nodes, paginator, currentPage, pageSize, expanded]);\n const settled = useMemo<SettledSelection>(\n () => mode === TreeTableSelectionMode.Checkbox ? settleSelection(nodes, requested) : { checked: requested, states: new Map() },\n [mode, nodes, requested]\n );\n const columns = useMemo(() => {\n const first = rows.find(row => typeof row.node.data === 'object' && row.node.data !== null && !Array.isArray(row.node.data))?.node.data as Record<string, unknown> | undefined;\n const defined = columnDefinitions(element, first === undefined ? [] : [first]);\n return defined.length > 0 ? defined : labelColumn;\n }, [element, rows]);\n\n useEffect(() => setPage(current => Math.min(current, pageCount - 1)), [pageCount]);\n\n const toggle = (key: string) => {\n if (enabled) setExpanded(current => {\n const next = new Set(current);\n if (next.has(key)) next.delete(key); else next.add(key);\n return next;\n });\n };\n\n const select = (row: TreeTableRow) => {\n if (mode === TreeTableSelectionMode.None || !enabled || row.node.selectable === false) return;\n if (mode === TreeTableSelectionMode.Checkbox) {\n setRequested(toggleCheckbox(nodes, settled, row.node));\n } else if (mode === TreeTableSelectionMode.Single) {\n setRequested(new Set([row.key]));\n } else {\n const next = new Set(settled.checked);\n if (next.has(row.key)) next.delete(row.key); else next.add(row.key);\n setRequested(next);\n }\n\n interactions?.onSelect?.();\n interactions?.onChange?.();\n };\n\n const navigation = useTreeGridNavigation({ rows, expanded, enabled, toggle, select });\n const changePage = (target: number) => { if (enabled && target >= 0 && target < pageCount) setPage(target); };\n const refusals = [\n modeResolution.isValid ? undefined : modeResolution.message,\n legacyElementMessage(authoredItems, 'items', 'Provide items as node data: strings, numbers, or records with key, label, data and children.'),\n legacyElementMessage(arrayProperty(element, 'columns'), 'columns', \"Author them as child elements in the 'columns' slot, or as column definitions.\"),\n ].filter((message): message is string => message !== undefined);\n const skipped = countUnreadableEntries(items);\n\n return (\n <div data-scene-id={element.id} data-scene-component='treeTable' aria-disabled={!enabled} onClick={interactions?.onClick} onDoubleClick={interactions?.onDoubleClick}>\n <table\n role='treegrid'\n aria-label={stringProperty(element, 'ariaLabel', 'Hierarchical data')}\n aria-multiselectable={mode === TreeTableSelectionMode.Multiple || mode === TreeTableSelectionMode.Checkbox ? true : undefined}>\n <thead>\n <tr role='row'>{columns.map((column, index) => <th key={index} role='columnheader'>{column.header}</th>)}</tr>\n </thead>\n <tbody>\n {rows.map(row => (\n <TreeTableRowView\n key={row.key}\n row={row}\n columns={columns}\n mode={mode}\n enabled={enabled}\n expanded={expanded.has(row.key)}\n selected={settled.checked.has(row.key)}\n checkState={settled.states.get(row.key)}\n tabStop={navigation.tabStopKey === row.key}\n register={navigation.register}\n onActivate={() => navigation.activate(row.key)}\n onToggle={() => toggle(row.key)}\n onSelect={() => select(row)}\n onKeyDown={event => navigation.onKeyDown(row, event)}\n />\n ))}\n {rows.length === 0 && (\n <tr role='row'><td role='gridcell' colSpan={columns.length}>{stringProperty(element, 'emptyLabel', 'No records found')}</td></tr>\n )}\n </tbody>\n </table>\n {paginator && (\n <nav aria-label='Tree table pages'>\n <button type='button' aria-disabled={!enabled || currentPage === 0} onClick={() => changePage(currentPage - 1)}>Previous</button>\n <span>{currentPage + 1} / {pageCount}</span>\n <button type='button' aria-disabled={!enabled || currentPage + 1 >= pageCount} onClick={() => changePage(currentPage + 1)}>Next</button>\n </nav>\n )}\n {refusals.map(message => <p key={message} role='alert' data-scene-state='refused'>{message}</p>)}\n {skipped > 0 && <p role='status'>{`${skipped} entr${skipped === 1 ? 'y' : 'ies'} of items could not be read as a node and ${skipped === 1 ? 'was' : 'were'} skipped.`}</p>}\n </div>\n );\n}\n"],"names":["labelColumn","field","header","sortable","PrimeTreeTable","element","interactions","authoredItems","useStructuralValue","arrayProperty","items","useMemo","filter","entry","isSerializedLegacyElement","nodes","toTreeNodes","modeResolution","resolveEnumeration","properties","selectionMode","TreeTableSelectionMode","None","mode","isValid","value","enabled","isEnabled","pageSize","Math","max","floor","numberProperty","paginator","booleanProperty","expanded","setExpanded","useResettingState","expandedKeysOf","Set","requested","setRequested","selection","selectionKeysOf","page","setPage","useState","pageCount","ceil","length","currentPage","min","rows","visibleRows","slice","settled","Checkbox","settleSelection","checked","states","Map","columns","first","find","row","node","data","Array","isArray","defined","columnDefinitions","undefined","useEffect","current","toggle","key","next","has","delete","add","select","selectable","toggleCheckbox","Single","onSelect","onChange","navigation","useTreeGridNavigation","changePage","target","refusals","message","legacyElementMessage","skipped","countUnreadableEntries","_jsxs","div","data-scene-id","id","data-scene-component","aria-disabled","onClick","onDoubleClick","table","role","aria-label","stringProperty","aria-multiselectable","Multiple","_jsx","thead","tr","map","column","index","th","tbody","TreeTableRowView","selected","checkState","get","tabStop","tabStopKey","register","onActivate","activate","onToggle","onKeyDown","event","td","colSpan","nav","button","type","span","p","data-scene-state"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableCheckState.d.ts","sourceRoot":"","sources":["../../../data/TreeTableCheckState.ts"],"names":[],"mappings":"AAIA,oBAAY,mBAAmB;IAC3B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** How much of a tree table row's subtree is checked, in checkbox selection mode. */ var TreeTableCheckState = /*#__PURE__*/ function(TreeTableCheckState) {
|
|
4
|
+
TreeTableCheckState["Unchecked"] = "unchecked";
|
|
5
|
+
TreeTableCheckState["Partial"] = "partial";
|
|
6
|
+
TreeTableCheckState["Checked"] = "checked";
|
|
7
|
+
return TreeTableCheckState;
|
|
8
|
+
}({});
|
|
9
|
+
|
|
10
|
+
export { TreeTableCheckState };
|
|
11
|
+
//# sourceMappingURL=TreeTableCheckState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableCheckState.js","sources":["../../../data/TreeTableCheckState.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** How much of a tree table row's subtree is checked, in checkbox selection mode. */\nexport enum TreeTableCheckState {\n Unchecked = 'unchecked',\n Partial = 'partial',\n Checked = 'checked',\n}\n"],"names":["TreeTableCheckState"],"mappings":"AAAA;AACA;AAEA,sFACO,IAAKA,mBAAAA,iBAAAA,SAAAA,mBAAAA,EAAAA;;;;AAAAA,IAAAA,OAAAA,mBAAAA;AAIX,CAAA,CAAA,EAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableRow.d.ts","sourceRoot":"","sources":["../../../data/TreeTableRow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAG9B,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableRow.js","sourceRoot":"","sources":["../../../data/TreeTableRow.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ColumnDefinition } from './ColumnDefinition';
|
|
2
|
+
import { TreeTableCheckState } from './TreeTableCheckState';
|
|
3
|
+
import { TreeTableRow } from './TreeTableRow';
|
|
4
|
+
import { TreeTableSelectionMode } from './TreeTableSelectionMode';
|
|
5
|
+
export interface TreeTableRowViewProps {
|
|
6
|
+
row: TreeTableRow;
|
|
7
|
+
columns: ColumnDefinition[];
|
|
8
|
+
mode: TreeTableSelectionMode;
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
expanded: boolean;
|
|
11
|
+
selected: boolean;
|
|
12
|
+
checkState: TreeTableCheckState | undefined;
|
|
13
|
+
tabStop: boolean;
|
|
14
|
+
register(key: string, element: HTMLElement | null): void;
|
|
15
|
+
onActivate(): void;
|
|
16
|
+
onToggle(): void;
|
|
17
|
+
onSelect(): void;
|
|
18
|
+
onKeyDown(event: React.KeyboardEvent<HTMLElement>): void;
|
|
19
|
+
}
|
|
20
|
+
export declare function TreeTableRowView({ row, columns, mode, enabled, expanded, selected, checkState, tabStop, register, onActivate, onToggle, onSelect, onKeyDown }: TreeTableRowViewProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=TreeTableRowView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableRowView.d.ts","sourceRoot":"","sources":["../../../data/TreeTableRowView.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,IAAI,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC5D;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,+BAkDpL"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { TreeTableCheckState } from './TreeTableCheckState.js';
|
|
3
|
+
import { TreeTableSelectionMode } from './TreeTableSelectionMode.js';
|
|
4
|
+
import { nodeLabel } from './treeTableRows.js';
|
|
5
|
+
import { readableValue } from './readableValue.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
|
+
/** One `row` of the tree grid: its cells, its expand button and, in checkbox mode, its tri-state checkbox. */ function TreeTableRowView({ row, columns, mode, enabled, expanded, selected, checkState, tabStop, register, onActivate, onToggle, onSelect, onKeyDown }) {
|
|
10
|
+
const { node } = row;
|
|
11
|
+
const label = nodeLabel(node);
|
|
12
|
+
const hasChildren = (node.children?.length ?? 0) > 0;
|
|
13
|
+
const selectionOffered = mode !== TreeTableSelectionMode.None;
|
|
14
|
+
const rowSelectable = selectionOffered && node.selectable !== false;
|
|
15
|
+
return /*#__PURE__*/ jsx("tr", {
|
|
16
|
+
ref: (element)=>register(row.key, element),
|
|
17
|
+
role: "row",
|
|
18
|
+
tabIndex: tabStop ? 0 : -1,
|
|
19
|
+
"aria-level": row.depth + 1,
|
|
20
|
+
"aria-posinset": row.position,
|
|
21
|
+
"aria-setsize": row.siblings,
|
|
22
|
+
"aria-expanded": hasChildren ? expanded : undefined,
|
|
23
|
+
"aria-selected": selectionOffered ? selected : undefined,
|
|
24
|
+
className: node.className,
|
|
25
|
+
onFocus: onActivate,
|
|
26
|
+
onKeyDown: onKeyDown,
|
|
27
|
+
onClick: (event)=>{
|
|
28
|
+
onActivate();
|
|
29
|
+
if (mode === TreeTableSelectionMode.Single || mode === TreeTableSelectionMode.Multiple) {
|
|
30
|
+
if (!event.target.closest('button, input')) onSelect();
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
children: columns.map((column, index)=>/*#__PURE__*/ jsxs("td", {
|
|
34
|
+
role: "gridcell",
|
|
35
|
+
style: index === 0 ? {
|
|
36
|
+
paddingInlineStart: `${row.depth * 1.25}rem`
|
|
37
|
+
} : undefined,
|
|
38
|
+
children: [
|
|
39
|
+
index === 0 && hasChildren && /*#__PURE__*/ jsx("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
tabIndex: -1,
|
|
42
|
+
disabled: !enabled,
|
|
43
|
+
"aria-expanded": expanded,
|
|
44
|
+
"aria-label": `${expanded ? 'Collapse' : 'Expand'} ${label}`,
|
|
45
|
+
onClick: onToggle,
|
|
46
|
+
children: expanded ? 'Collapse' : 'Expand'
|
|
47
|
+
}),
|
|
48
|
+
index === 0 && mode === TreeTableSelectionMode.Checkbox && checkState !== undefined && /*#__PURE__*/ jsx("input", {
|
|
49
|
+
type: "checkbox",
|
|
50
|
+
tabIndex: -1,
|
|
51
|
+
ref: (input)=>{
|
|
52
|
+
if (input !== null) input.indeterminate = checkState === TreeTableCheckState.Partial;
|
|
53
|
+
},
|
|
54
|
+
checked: checkState === TreeTableCheckState.Checked,
|
|
55
|
+
disabled: !enabled || !rowSelectable,
|
|
56
|
+
"aria-label": `Select ${label}`,
|
|
57
|
+
"aria-checked": checkState === TreeTableCheckState.Partial ? 'mixed' : checkState === TreeTableCheckState.Checked,
|
|
58
|
+
onChange: onSelect
|
|
59
|
+
}),
|
|
60
|
+
cellText(row, column.field, index === 0)
|
|
61
|
+
]
|
|
62
|
+
}, index))
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function cellText(row, field, firstColumn) {
|
|
66
|
+
const { data } = row.node;
|
|
67
|
+
const record = typeof data === 'object' && data !== null && !Array.isArray(data) ? data : undefined;
|
|
68
|
+
if (record !== undefined && record[field] !== undefined) return readableValue(record[field]);
|
|
69
|
+
if (!firstColumn) return '';
|
|
70
|
+
return row.node.label ?? (record === undefined ? readableValue(data) : '');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { TreeTableRowView };
|
|
74
|
+
//# sourceMappingURL=TreeTableRowView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableRowView.js","sources":["../../../data/TreeTableRowView.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 { ColumnDefinition } from './ColumnDefinition';\nimport { TreeTableCheckState } from './TreeTableCheckState';\nimport { TreeTableRow } from './TreeTableRow';\nimport { TreeTableSelectionMode } from './TreeTableSelectionMode';\nimport { nodeLabel } from './treeTableRows';\nimport { readableValue } from './readableValue';\n\nexport interface TreeTableRowViewProps {\n row: TreeTableRow;\n columns: ColumnDefinition[];\n mode: TreeTableSelectionMode;\n enabled: boolean;\n expanded: boolean;\n selected: boolean;\n checkState: TreeTableCheckState | undefined;\n tabStop: boolean;\n register(key: string, element: HTMLElement | null): void;\n onActivate(): void;\n onToggle(): void;\n onSelect(): void;\n onKeyDown(event: React.KeyboardEvent<HTMLElement>): void;\n}\n\n/** One `row` of the tree grid: its cells, its expand button and, in checkbox mode, its tri-state checkbox. */\nexport function TreeTableRowView({ row, columns, mode, enabled, expanded, selected, checkState, tabStop, register, onActivate, onToggle, onSelect, onKeyDown }: TreeTableRowViewProps) {\n const { node } = row;\n const label = nodeLabel(node);\n const hasChildren = (node.children?.length ?? 0) > 0;\n const selectionOffered = mode !== TreeTableSelectionMode.None;\n const rowSelectable = selectionOffered && node.selectable !== false;\n\n return (\n <tr\n ref={element => register(row.key, element)}\n role='row'\n tabIndex={tabStop ? 0 : -1}\n aria-level={row.depth + 1}\n aria-posinset={row.position}\n aria-setsize={row.siblings}\n aria-expanded={hasChildren ? expanded : undefined}\n aria-selected={selectionOffered ? selected : undefined}\n className={node.className}\n onFocus={onActivate}\n onKeyDown={onKeyDown}\n onClick={event => {\n onActivate();\n if (mode === TreeTableSelectionMode.Single || mode === TreeTableSelectionMode.Multiple) {\n if (!(event.target as HTMLElement).closest('button, input')) onSelect();\n }\n }}>\n {columns.map((column, index) => (\n <td key={index} role='gridcell' style={index === 0 ? { paddingInlineStart: `${row.depth * 1.25}rem` } : undefined}>\n {index === 0 && hasChildren && (\n <button type='button' tabIndex={-1} disabled={!enabled} aria-expanded={expanded} aria-label={`${expanded ? 'Collapse' : 'Expand'} ${label}`} onClick={onToggle}>\n {expanded ? 'Collapse' : 'Expand'}\n </button>\n )}\n {index === 0 && mode === TreeTableSelectionMode.Checkbox && checkState !== undefined && (\n <input\n type='checkbox'\n tabIndex={-1}\n ref={input => { if (input !== null) input.indeterminate = checkState === TreeTableCheckState.Partial; }}\n checked={checkState === TreeTableCheckState.Checked}\n disabled={!enabled || !rowSelectable}\n aria-label={`Select ${label}`}\n aria-checked={checkState === TreeTableCheckState.Partial ? 'mixed' : checkState === TreeTableCheckState.Checked}\n onChange={onSelect}\n />\n )}\n {cellText(row, column.field, index === 0)}\n </td>\n ))}\n </tr>\n );\n}\n\nfunction cellText(row: TreeTableRow, field: string, firstColumn: boolean): string {\n const { data } = row.node;\n const record = typeof data === 'object' && data !== null && !Array.isArray(data) ? data as Record<string, unknown> : undefined;\n if (record !== undefined && record[field] !== undefined) return readableValue(record[field]);\n if (!firstColumn) return '';\n return row.node.label ?? (record === undefined ? readableValue(data) : '');\n}\n"],"names":["TreeTableRowView","row","columns","mode","enabled","expanded","selected","checkState","tabStop","register","onActivate","onToggle","onSelect","onKeyDown","node","label","nodeLabel","hasChildren","children","length","selectionOffered","TreeTableSelectionMode","None","rowSelectable","selectable","_jsx","tr","ref","element","key","role","tabIndex","aria-level","depth","aria-posinset","position","aria-setsize","siblings","aria-expanded","undefined","aria-selected","className","onFocus","onClick","event","Single","Multiple","target","closest","map","column","index","_jsxs","td","style","paddingInlineStart","button","type","disabled","aria-label","Checkbox","input","indeterminate","TreeTableCheckState","Partial","checked","Checked","aria-checked","onChange","cellText","field","firstColumn","data","record","Array","isArray","readableValue"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableSelectionMode.d.ts","sourceRoot":"","sources":["../../../data/TreeTableSelectionMode.ts"],"names":[],"mappings":"AAIA,oBAAY,sBAAsB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACxB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** The canonical selection behavior for a hierarchical table. */ var TreeTableSelectionMode = /*#__PURE__*/ function(TreeTableSelectionMode) {
|
|
4
|
+
TreeTableSelectionMode["None"] = "none";
|
|
5
|
+
TreeTableSelectionMode["Single"] = "single";
|
|
6
|
+
TreeTableSelectionMode["Multiple"] = "multiple";
|
|
7
|
+
TreeTableSelectionMode["Checkbox"] = "checkbox";
|
|
8
|
+
return TreeTableSelectionMode;
|
|
9
|
+
}({});
|
|
10
|
+
|
|
11
|
+
export { TreeTableSelectionMode };
|
|
12
|
+
//# sourceMappingURL=TreeTableSelectionMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeTableSelectionMode.js","sources":["../../../data/TreeTableSelectionMode.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** The canonical selection behavior for a hierarchical table. */\nexport enum TreeTableSelectionMode {\n None = 'none',\n Single = 'single',\n Multiple = 'multiple',\n Checkbox = 'checkbox',\n}\n"],"names":["TreeTableSelectionMode"],"mappings":"AAAA;AACA;AAEA,kEACO,IAAKA,sBAAAA,iBAAAA,SAAAA,sBAAAA,EAAAA;;;;;AAAAA,IAAAA,OAAAA,sBAAAA;AAKX,CAAA,CAAA,EAAA;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TreeNode } from '../TreeNode';
|
|
2
|
+
import { TreeTableCheckState } from './TreeTableCheckState';
|
|
3
|
+
export interface SettledSelection {
|
|
4
|
+
checked: Set<string>;
|
|
5
|
+
states: Map<string, TreeTableCheckState>;
|
|
6
|
+
}
|
|
7
|
+
export declare function settleSelection(nodes: TreeNode[], requested: ReadonlySet<string>): SettledSelection;
|
|
8
|
+
export declare function toggleCheckbox(nodes: TreeNode[], settled: SettledSelection, node: TreeNode): Set<string>;
|
|
9
|
+
//# sourceMappingURL=checkboxSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkboxSelection.d.ts","sourceRoot":"","sources":["../../../data/checkboxSelection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC5C;AAgBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,gBAAgB,CA8BnG;AAUD,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAexG"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { TreeTableCheckState } from './TreeTableCheckState.js';
|
|
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 selectable = (node)=>node.selectable !== false;
|
|
6
|
+
/**
|
|
7
|
+
* Settles a checkbox selection against the tree, the way a checkbox tree reads:
|
|
8
|
+
* - a checked parent has all of its selectable descendants checked;
|
|
9
|
+
* - a parent is checked when all of its selectable children are, partially checked when some are, and
|
|
10
|
+
* unchecked otherwise;
|
|
11
|
+
* - a node that is not selectable, and has nothing selectable below it, takes no part.
|
|
12
|
+
*
|
|
13
|
+
* Applying this to what the user toggled, or to an authored selection, is what keeps both consistent.
|
|
14
|
+
*
|
|
15
|
+
* @param nodes The root nodes.
|
|
16
|
+
* @param requested The keys asked for.
|
|
17
|
+
*/ function settleSelection(nodes, requested) {
|
|
18
|
+
const cascaded = new Set();
|
|
19
|
+
const cascade = (node, inherited)=>{
|
|
20
|
+
const on = inherited || requested.has(node.key ?? '');
|
|
21
|
+
if (on) cascaded.add(node.key ?? '');
|
|
22
|
+
node.children?.forEach((child)=>cascade(child, on));
|
|
23
|
+
};
|
|
24
|
+
nodes.forEach((node)=>cascade(node, false));
|
|
25
|
+
const checked = new Set();
|
|
26
|
+
const states = new Map();
|
|
27
|
+
const settle = (node)=>{
|
|
28
|
+
const key = node.key ?? '';
|
|
29
|
+
const childStates = (node.children ?? []).map(settle).filter((state)=>state !== undefined);
|
|
30
|
+
let state;
|
|
31
|
+
if (childStates.length === 0) {
|
|
32
|
+
state = selectable(node) ? cascaded.has(key) ? TreeTableCheckState.Checked : TreeTableCheckState.Unchecked : undefined;
|
|
33
|
+
} else if (childStates.every((child)=>child === TreeTableCheckState.Checked)) {
|
|
34
|
+
state = TreeTableCheckState.Checked;
|
|
35
|
+
} else {
|
|
36
|
+
state = childStates.some((child)=>child !== TreeTableCheckState.Unchecked) ? TreeTableCheckState.Partial : TreeTableCheckState.Unchecked;
|
|
37
|
+
}
|
|
38
|
+
if (state !== undefined) states.set(key, state);
|
|
39
|
+
if (state === TreeTableCheckState.Checked) checked.add(key);
|
|
40
|
+
return state;
|
|
41
|
+
};
|
|
42
|
+
nodes.forEach(settle);
|
|
43
|
+
return {
|
|
44
|
+
checked,
|
|
45
|
+
states
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Toggles one row's checkbox: a checked row unchecks its whole subtree, any other row checks it.
|
|
50
|
+
*
|
|
51
|
+
* @param nodes The root nodes.
|
|
52
|
+
* @param settled The current settled selection.
|
|
53
|
+
* @param node The row's node.
|
|
54
|
+
* @returns The keys to settle again.
|
|
55
|
+
*/ function toggleCheckbox(nodes, settled, node) {
|
|
56
|
+
const subtree = [];
|
|
57
|
+
const collect = (current)=>{
|
|
58
|
+
subtree.push(current.key ?? '');
|
|
59
|
+
current.children?.forEach(collect);
|
|
60
|
+
};
|
|
61
|
+
collect(node);
|
|
62
|
+
const next = new Set(settled.checked);
|
|
63
|
+
const checking = settled.states.get(node.key ?? '') !== TreeTableCheckState.Checked;
|
|
64
|
+
subtree.forEach((key)=>{
|
|
65
|
+
if (checking) next.add(key);
|
|
66
|
+
else next.delete(key);
|
|
67
|
+
});
|
|
68
|
+
// A checked ancestor would check the unchecked subtree again, so unchecking also unchecks the ancestors.
|
|
69
|
+
if (!checking) (ancestorKeys(nodes, node.key ?? '') ?? []).forEach((key)=>next.delete(key));
|
|
70
|
+
return settleSelection(nodes, next).checked;
|
|
71
|
+
}
|
|
72
|
+
function ancestorKeys(nodes, key, path = []) {
|
|
73
|
+
for (const node of nodes){
|
|
74
|
+
if (node.key === key) return path;
|
|
75
|
+
const found = ancestorKeys(node.children ?? [], key, [
|
|
76
|
+
...path,
|
|
77
|
+
node.key ?? ''
|
|
78
|
+
]);
|
|
79
|
+
if (found !== undefined) return found;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { settleSelection, toggleCheckbox };
|
|
85
|
+
//# sourceMappingURL=checkboxSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkboxSelection.js","sources":["../../../data/checkboxSelection.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 { TreeNode } from '../TreeNode';\nimport { TreeTableCheckState } from './TreeTableCheckState';\n\n/** The outcome of settling a checkbox selection: the keys that are checked, and how each row reads. */\nexport interface SettledSelection {\n checked: Set<string>;\n states: Map<string, TreeTableCheckState>;\n}\n\nconst selectable = (node: TreeNode) => node.selectable !== false;\n\n/**\n * Settles a checkbox selection against the tree, the way a checkbox tree reads:\n * - a checked parent has all of its selectable descendants checked;\n * - a parent is checked when all of its selectable children are, partially checked when some are, and\n * unchecked otherwise;\n * - a node that is not selectable, and has nothing selectable below it, takes no part.\n *\n * Applying this to what the user toggled, or to an authored selection, is what keeps both consistent.\n *\n * @param nodes The root nodes.\n * @param requested The keys asked for.\n */\nexport function settleSelection(nodes: TreeNode[], requested: ReadonlySet<string>): SettledSelection {\n const cascaded = new Set<string>();\n const cascade = (node: TreeNode, inherited: boolean) => {\n const on = inherited || requested.has(node.key ?? '');\n if (on) cascaded.add(node.key ?? '');\n node.children?.forEach(child => cascade(child, on));\n };\n nodes.forEach(node => cascade(node, false));\n\n const checked = new Set<string>();\n const states = new Map<string, TreeTableCheckState>();\n const settle = (node: TreeNode): TreeTableCheckState | undefined => {\n const key = node.key ?? '';\n const childStates = (node.children ?? []).map(settle).filter((state): state is TreeTableCheckState => state !== undefined);\n let state: TreeTableCheckState | undefined;\n if (childStates.length === 0) {\n state = selectable(node) ? (cascaded.has(key) ? TreeTableCheckState.Checked : TreeTableCheckState.Unchecked) : undefined;\n } else if (childStates.every(child => child === TreeTableCheckState.Checked)) {\n state = TreeTableCheckState.Checked;\n } else {\n state = childStates.some(child => child !== TreeTableCheckState.Unchecked) ? TreeTableCheckState.Partial : TreeTableCheckState.Unchecked;\n }\n\n if (state !== undefined) states.set(key, state);\n if (state === TreeTableCheckState.Checked) checked.add(key);\n return state;\n };\n nodes.forEach(settle);\n\n return { checked, states };\n}\n\n/**\n * Toggles one row's checkbox: a checked row unchecks its whole subtree, any other row checks it.\n *\n * @param nodes The root nodes.\n * @param settled The current settled selection.\n * @param node The row's node.\n * @returns The keys to settle again.\n */\nexport function toggleCheckbox(nodes: TreeNode[], settled: SettledSelection, node: TreeNode): Set<string> {\n const subtree: string[] = [];\n const collect = (current: TreeNode) => {\n subtree.push(current.key ?? '');\n current.children?.forEach(collect);\n };\n collect(node);\n\n const next = new Set(settled.checked);\n const checking = settled.states.get(node.key ?? '') !== TreeTableCheckState.Checked;\n subtree.forEach(key => { if (checking) next.add(key); else next.delete(key); });\n\n // A checked ancestor would check the unchecked subtree again, so unchecking also unchecks the ancestors.\n if (!checking) (ancestorKeys(nodes, node.key ?? '') ?? []).forEach(key => next.delete(key));\n return settleSelection(nodes, next).checked;\n}\n\nfunction ancestorKeys(nodes: TreeNode[], key: string, path: string[] = []): string[] | undefined {\n for (const node of nodes) {\n if (node.key === key) return path;\n const found = ancestorKeys(node.children ?? [], key, [...path, node.key ?? '']);\n if (found !== undefined) return found;\n }\n\n return undefined;\n}\n"],"names":["selectable","node","settleSelection","nodes","requested","cascaded","Set","cascade","inherited","on","has","key","add","children","forEach","child","checked","states","Map","settle","childStates","map","filter","state","undefined","length","TreeTableCheckState","Checked","Unchecked","every","some","Partial","set","toggleCheckbox","settled","subtree","collect","current","push","next","checking","get","delete","ancestorKeys","path","found"],"mappings":"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"}
|
package/dist/esm/data/index.d.ts
CHANGED
|
@@ -10,4 +10,8 @@ export * from './PrimePaginator';
|
|
|
10
10
|
export * from './PrimeOrderList';
|
|
11
11
|
export * from './PrimePickList';
|
|
12
12
|
export * from './PrimeOrganizationChart';
|
|
13
|
+
export * from './PrimeDataScroller';
|
|
14
|
+
export * from './PrimeTreeTable';
|
|
15
|
+
export * from './TreeTableSelectionMode';
|
|
16
|
+
export * from './readableValue';
|
|
13
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../data/index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../data/index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
|
package/dist/esm/data/index.js
CHANGED
|
@@ -10,4 +10,8 @@ export * from './PrimePaginator';
|
|
|
10
10
|
export * from './PrimeOrderList';
|
|
11
11
|
export * from './PrimePickList';
|
|
12
12
|
export * from './PrimeOrganizationChart';
|
|
13
|
+
export * from './PrimeDataScroller';
|
|
14
|
+
export * from './PrimeTreeTable';
|
|
15
|
+
export * from './TreeTableSelectionMode';
|
|
16
|
+
export * from './readableValue';
|
|
13
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../data/index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../data/index.ts"],"names":[],"mappings":"AAGA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
|