@talxis/base-controls 1.2507.2 → 1.2509.1-alpha.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/dist/components/DatasetControl/DatasetControl.js +59 -55
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/DatasetControl/DatasetControlModel.d.ts +37 -0
- package/dist/components/DatasetControl/DatasetControlModel.js +110 -0
- package/dist/components/DatasetControl/DatasetControlModel.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +3 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +166 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +16 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +59 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/interfaces.d.ts +32 -0
- package/dist/components/DatasetControl/Filtering/styles.d.ts +16 -0
- package/dist/components/DatasetControl/Filtering/styles.js +23 -0
- package/dist/components/DatasetControl/Filtering/styles.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/translations.d.ts +154 -0
- package/dist/components/DatasetControl/Filtering/translations.js +43 -0
- package/dist/components/DatasetControl/Filtering/translations.js.map +1 -0
- package/dist/components/DatasetControl/Header/Header.d.ts +5 -0
- package/dist/components/DatasetControl/Header/Header.js +89 -0
- package/dist/components/DatasetControl/Header/Header.js.map +1 -0
- package/dist/components/DatasetControl/Header/styles.d.ts +22 -0
- package/dist/components/DatasetControl/Header/styles.js +29 -0
- package/dist/components/DatasetControl/Header/styles.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/Pagination.d.ts +5 -0
- package/dist/components/DatasetControl/Pagination/Pagination.js +91 -0
- package/dist/components/DatasetControl/Pagination/Pagination.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +10 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.js +42 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/styles.d.ts +17 -0
- package/dist/components/DatasetControl/Pagination/styles.js +23 -0
- package/dist/components/DatasetControl/Pagination/styles.js.map +1 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +4 -12
- package/dist/components/DatasetControl/QuickFind/QuickFind.js +36 -32
- package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
- package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
- package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
- package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
- package/dist/components/DatasetControl/index.d.ts +0 -1
- package/dist/components/DatasetControl/index.js +0 -2
- package/dist/components/DatasetControl/index.js.map +1 -1
- package/dist/components/DatasetControl/interfaces.d.ts +54 -20
- package/dist/components/DatasetControl/styles.d.ts +4 -11
- package/dist/components/DatasetControl/styles.js +5 -11
- package/dist/components/DatasetControl/styles.js.map +1 -1
- package/dist/components/DatasetControl/translations.d.ts +44 -0
- package/dist/components/DatasetControl/translations.js +15 -1
- package/dist/components/DatasetControl/translations.js.map +1 -1
- package/dist/components/DatasetControl/useModel.d.ts +4 -0
- package/dist/components/DatasetControl/useModel.js +9 -0
- package/dist/components/DatasetControl/useModel.js.map +1 -0
- package/dist/components/DateTime/translations.d.ts +1 -0
- package/dist/components/Duration/durationOptions.d.ts +1 -0
- package/dist/components/Grid/{core/components/Cell → cells/cell}/Cell.d.ts +3 -3
- package/dist/components/Grid/cells/cell/Cell.js +302 -0
- package/dist/components/Grid/cells/cell/Cell.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.d.ts +2 -2
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.js +41 -32
- package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -0
- package/dist/components/Grid/cells/cell/content/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.d.ts +1 -1
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.js +5 -5
- package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.js +1 -1
- package/dist/components/Grid/cells/cell/notifications/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.d.ts +34 -3
- package/dist/components/Grid/cells/cell/styles.js +78 -0
- package/dist/components/Grid/cells/cell/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/ColumnHeader → column-headers/column-header}/ColumnHeader.d.ts +1 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +82 -0
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -0
- package/dist/components/Grid/{sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts → column-headers/column-header/ColumnHeaderContextualMenu.d.ts} +3 -3
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +115 -0
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +1 -0
- package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/FilterCallout.d.ts +1 -1
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js +103 -0
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +1 -0
- package/dist/components/Grid/column-headers/column-header/styles.d.ts +84 -0
- package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/styles.js +20 -11
- package/dist/components/Grid/column-headers/column-header/styles.js.map +1 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +2 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +50 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +1 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +1 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +6 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +15 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +1 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +6 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +13 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/AgGrid.d.ts → grid/Grid.d.ts} +2 -2
- package/dist/components/Grid/grid/Grid.js +64 -0
- package/dist/components/Grid/grid/Grid.js.map +1 -0
- package/dist/components/Grid/grid/GridContext.d.ts +3 -0
- package/dist/components/Grid/grid/GridContext.js.map +1 -0
- package/dist/components/Grid/grid/GridModel.d.ts +118 -0
- package/dist/components/Grid/grid/GridModel.js +787 -0
- package/dist/components/Grid/grid/GridModel.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/model/Comparator.d.ts → grid/ValueComparator.d.ts} +1 -1
- package/dist/components/Grid/{core/components/AgGrid/model/Comparator.js → grid/ValueComparator.js} +7 -1
- package/dist/components/Grid/grid/ValueComparator.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/context.d.ts → grid/ag-grid/AgGridContext.d.ts} +2 -2
- package/dist/components/Grid/{core/components/AgGrid/context.js → grid/ag-grid/AgGridContext.js} +1 -1
- package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +87 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +554 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +7 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +38 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +2 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +9 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid → grid}/styles.d.ts +24 -4
- package/dist/components/Grid/{core/components/AgGrid → grid}/styles.js +37 -6
- package/dist/components/Grid/grid/styles.js.map +1 -0
- package/dist/components/Grid/grid/useGridInstance.d.ts +2 -0
- package/dist/components/Grid/{core/hooks → grid}/useGridInstance.js +2 -2
- package/dist/components/Grid/grid/useGridInstance.js.map +1 -0
- package/dist/components/Grid/index.d.ts +1 -1
- package/dist/components/Grid/index.js +1 -1
- package/dist/components/Grid/interfaces.d.ts +10 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +3 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.js +33 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +1 -0
- package/dist/components/Grid/loading/full-row/styles.d.ts +9 -0
- package/dist/components/Grid/loading/full-row/styles.js +16 -0
- package/dist/components/Grid/loading/full-row/styles.js.map +1 -0
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +13 -0
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.d.ts +1 -1
- package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.js +1 -1
- package/dist/components/Grid/overlays/empty-records/styles.js.map +1 -0
- package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +1 -0
- package/dist/components/Grid/translations.d.ts +20 -180
- package/dist/components/Grid/translations.js +5 -48
- package/dist/components/Grid/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/GridCellRenderer.js +99 -282
- package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
- package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +52 -0
- package/dist/components/GridCellRenderer/GridCellRendererModel.js +211 -0
- package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +10 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +53 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +20 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +29 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +7 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +76 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +18 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +25 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +3 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +52 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +1666 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js +31 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/interfaces.d.ts +54 -42
- package/dist/components/GridCellRenderer/properties/Email.d.ts +5 -0
- package/dist/components/GridCellRenderer/properties/Email.js +15 -0
- package/dist/components/GridCellRenderer/properties/Email.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/File.d.ts +20 -0
- package/dist/components/GridCellRenderer/properties/File.js +99 -0
- package/dist/components/GridCellRenderer/properties/File.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Image.d.ts +4 -0
- package/dist/components/GridCellRenderer/properties/Image.js +15 -0
- package/dist/components/GridCellRenderer/properties/Image.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Lookup.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js +19 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +11 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +4 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.js +10 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.js +11 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +8 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js +19 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Phone.d.ts +9 -0
- package/dist/components/GridCellRenderer/properties/Phone.js +15 -0
- package/dist/components/GridCellRenderer/properties/Phone.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Property.d.ts +20 -0
- package/dist/components/GridCellRenderer/properties/Property.js +54 -0
- package/dist/components/GridCellRenderer/properties/Property.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.js +11 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Url.d.ts +5 -0
- package/dist/components/GridCellRenderer/properties/Url.js +15 -0
- package/dist/components/GridCellRenderer/properties/Url.js.map +1 -0
- package/dist/components/GridCellRenderer/styles.d.ts +32 -60
- package/dist/components/GridCellRenderer/styles.js +67 -77
- package/dist/components/GridCellRenderer/styles.js.map +1 -1
- package/dist/components/GridCellRenderer/translations.d.ts +1 -1
- package/dist/components/GridCellRenderer/translations.js +30 -32
- package/dist/components/GridCellRenderer/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/useModel.d.ts +4 -0
- package/dist/components/GridCellRenderer/useModel.js +9 -0
- package/dist/components/GridCellRenderer/useModel.js.map +1 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +3 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.js +133 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.js.map +1 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +26 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +87 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +1 -0
- package/dist/components/GridColumnHeader/interfaces.d.ts +45 -0
- package/dist/components/GridColumnHeader/styles.d.ts +34 -0
- package/dist/components/GridColumnHeader/styles.js +52 -0
- package/dist/components/GridColumnHeader/styles.js.map +1 -0
- package/dist/components/GridColumnHeader/translations.d.ts +26 -0
- package/dist/components/GridColumnHeader/translations.js +29 -0
- package/dist/components/GridColumnHeader/translations.js.map +1 -0
- package/dist/components/Lookup/Lookup.js +39 -14
- package/dist/components/Lookup/Lookup.js.map +1 -1
- package/dist/components/Lookup/hooks/useFetchXml.d.ts +1 -0
- package/dist/components/Lookup/hooks/useLookup.d.ts +1 -0
- package/dist/components/Lookup/hooks/useLookup.js +68 -2
- package/dist/components/Lookup/hooks/useLookup.js.map +1 -1
- package/dist/components/Lookup/interfaces.d.ts +1 -0
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControl.d.ts +3 -0
- package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
- package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +11 -6
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
- package/dist/components/NestedControlRenderer/interfaces.d.ts +4 -0
- package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
- package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
- package/dist/components/NestedControlRenderer/properties/Property.d.ts +1 -0
- package/dist/components/OptionSet/OptionSet.js +5 -4
- package/dist/components/OptionSet/OptionSet.js.map +1 -1
- package/dist/components/OptionSet/shared.d.ts +1 -0
- package/dist/components/Ribbon/Ribbon.d.ts +3 -0
- package/dist/components/Ribbon/Ribbon.js +97 -0
- package/dist/components/Ribbon/Ribbon.js.map +1 -0
- package/dist/components/Ribbon/RibbonModel.d.ts +4 -0
- package/dist/components/Ribbon/interfaces.d.ts +19 -0
- package/dist/components/Ribbon/styles.d.ts +11 -0
- package/dist/components/Ribbon/styles.js +18 -0
- package/dist/components/Ribbon/styles.js.map +1 -0
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/index.js +1 -3
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useControl.d.ts +1 -0
- package/dist/hooks/useControl.js +1 -0
- package/dist/hooks/useControl.js.map +1 -1
- package/dist/hooks/useControlSizing.d.ts +1 -0
- package/dist/hooks/useEventEmitter.d.ts +2 -0
- package/dist/hooks/useEventEmitter.js +18 -0
- package/dist/hooks/useEventEmitter.js.map +1 -0
- package/dist/hooks/useInputBasedControl.js +2 -1
- package/dist/hooks/useInputBasedControl.js.map +1 -1
- package/dist/index.d.ts +153 -288
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/context.d.ts +1 -0
- package/dist/interfaces/property.d.ts +2 -1
- package/dist/utils/BaseControls.d.ts +2 -1
- package/dist/utils/BaseControls.js +5 -1
- package/dist/utils/BaseControls.js.map +1 -1
- package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +1 -0
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +1 -5
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +4 -49
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
- package/dist/utils/theme/ControlTheme.d.ts +1 -0
- package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -0
- package/dist/utils/theme/hooks/useControlTheme.js +2 -1
- package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
- package/package.json +9 -5
- package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +0 -3
- package/dist/components/DatasetControl/Paging/DatasetPaging.js +0 -69
- package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +0 -1
- package/dist/components/DatasetControl/Paging/Paging.d.ts +0 -26
- package/dist/components/DatasetControl/Paging/Paging.js +0 -80
- package/dist/components/DatasetControl/Paging/Paging.js.map +0 -1
- package/dist/components/DatasetControl/Paging/index.d.ts +0 -3
- package/dist/components/DatasetControl/Paging/index.js +0 -3
- package/dist/components/DatasetControl/Paging/index.js.map +0 -1
- package/dist/components/DatasetControl/Paging/interfaces.d.ts +0 -16
- package/dist/components/DatasetControl/Paging/styles.d.ts +0 -35
- package/dist/components/DatasetControl/Paging/styles.js +0 -41
- package/dist/components/DatasetControl/Paging/styles.js.map +0 -1
- package/dist/components/DatasetControl/Paging/translations.d.ts +0 -38
- package/dist/components/DatasetControl/Paging/translations.js +0 -14
- package/dist/components/DatasetControl/Paging/translations.js.map +0 -1
- package/dist/components/Grid/Grid.d.ts +0 -3
- package/dist/components/Grid/Grid.js +0 -37
- package/dist/components/Grid/Grid.js.map +0 -1
- package/dist/components/Grid/GridContext.d.ts +0 -3
- package/dist/components/Grid/GridContext.js.map +0 -1
- package/dist/components/Grid/aggregation/Aggregation.d.ts +0 -18
- package/dist/components/Grid/aggregation/Aggregation.js +0 -129
- package/dist/components/Grid/aggregation/Aggregation.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +0 -203
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +0 -12
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/context.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -52
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -343
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Cell.js +0 -158
- package/dist/components/Grid/core/components/Cell/Cell.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/styles.js +0 -59
- package/dist/components/Grid/core/components/Cell/styles.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +0 -61
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +0 -2
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +0 -50
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +0 -42
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +0 -48
- package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/Constants.d.ts +0 -2
- package/dist/components/Grid/core/components/Dialog/Constants.js +0 -9
- package/dist/components/Grid/core/components/Dialog/Constants.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/Styles.d.ts +0 -2
- package/dist/components/Grid/core/components/Dialog/Styles.js +0 -61
- package/dist/components/Grid/core/components/Dialog/Styles.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/index.d.ts +0 -4
- package/dist/components/Grid/core/components/Dialog/index.js +0 -16
- package/dist/components/Grid/core/components/Dialog/index.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +0 -6
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js +0 -2
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +0 -1
- package/dist/components/Grid/core/components/Save/Save.d.ts +0 -2
- package/dist/components/Grid/core/components/Save/Save.js +0 -59
- package/dist/components/Grid/core/components/Save/Save.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +0 -7
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +0 -73
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +0 -11
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +0 -231
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +0 -39
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +0 -45
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +0 -31
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +0 -37
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Save/styles.d.ts +0 -35
- package/dist/components/Grid/core/components/Save/styles.js +0 -42
- package/dist/components/Grid/core/components/Save/styles.js.map +0 -1
- package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -7
- package/dist/components/Grid/core/controllers/useGridController.js +0 -29
- package/dist/components/Grid/core/controllers/useGridController.js.map +0 -1
- package/dist/components/Grid/core/enums/ConditionOperator.d.ts +0 -48
- package/dist/components/Grid/core/enums/ConditionOperator.js +0 -52
- package/dist/components/Grid/core/enums/ConditionOperator.js.map +0 -1
- package/dist/components/Grid/core/enums/DataType.d.ts +0 -25
- package/dist/components/Grid/core/enums/DataType.js +0 -30
- package/dist/components/Grid/core/enums/DataType.js.map +0 -1
- package/dist/components/Grid/core/hooks/useGridInstance.d.ts +0 -2
- package/dist/components/Grid/core/hooks/useGridInstance.js.map +0 -1
- package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +0 -2
- package/dist/components/Grid/core/hooks/useRefreshCallback.js +0 -20
- package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +0 -1
- package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +0 -13
- package/dist/components/Grid/core/interfaces/IGridContext.d.ts +0 -4
- package/dist/components/Grid/core/model/Grid.d.ts +0 -81
- package/dist/components/Grid/core/model/Grid.js +0 -513
- package/dist/components/Grid/core/model/Grid.js.map +0 -1
- package/dist/components/Grid/core/model/GridDependency.d.ts +0 -13
- package/dist/components/Grid/core/model/GridDependency.js +0 -28
- package/dist/components/Grid/core/model/GridDependency.js.map +0 -1
- package/dist/components/Grid/core/services/KeyListener.d.ts +0 -12
- package/dist/components/Grid/core/services/KeyListener.js +0 -31
- package/dist/components/Grid/core/services/KeyListener.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +0 -59
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -56
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +0 -73
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +0 -90
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +0 -48
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +0 -146
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +0 -11
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +0 -53
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +0 -9
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +0 -31
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +0 -10
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +0 -294
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +0 -35
- package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +0 -1
- package/dist/components/Grid/filtering/constants.d.ts +0 -5
- package/dist/components/Grid/filtering/constants.js +0 -53
- package/dist/components/Grid/filtering/constants.js.map +0 -1
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +0 -21
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +0 -44
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +0 -1
- package/dist/components/Grid/filtering/model/Condition.d.ts +0 -49
- package/dist/components/Grid/filtering/model/Condition.js +0 -347
- package/dist/components/Grid/filtering/model/Condition.js.map +0 -1
- package/dist/components/Grid/filtering/model/Filtering.d.ts +0 -11
- package/dist/components/Grid/filtering/model/Filtering.js +0 -78
- package/dist/components/Grid/filtering/model/Filtering.js.map +0 -1
- package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +0 -34
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js +0 -195
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +0 -1
- package/dist/components/Grid/selection/model/Selection.d.ts +0 -12
- package/dist/components/Grid/selection/model/Selection.js +0 -54
- package/dist/components/Grid/selection/model/Selection.js.map +0 -1
- package/dist/components/Grid/sorting/Sorting.d.ts +0 -10
- package/dist/components/Grid/sorting/Sorting.js +0 -31
- package/dist/components/Grid/sorting/Sorting.js.map +0 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +0 -157
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +0 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +0 -9
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +0 -15
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +0 -1
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +0 -9
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +0 -22
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +0 -2
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +0 -11
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +0 -2
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +0 -5
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +0 -75
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/index.d.ts +0 -1
- package/dist/components/GridCellRenderer/OptionSet/index.js +0 -2
- package/dist/components/GridCellRenderer/OptionSet/index.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +0 -20
- package/dist/components/GridCellRenderer/OptionSet/styles.js +0 -29
- package/dist/components/GridCellRenderer/OptionSet/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +0 -7
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js +0 -32
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +0 -13
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +0 -103
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +0 -13
- package/dist/components/GridCellRenderer/RecordCommands/styles.js +0 -32
- package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/useComponentProps.d.ts +0 -6
- package/dist/components/GridCellRenderer/useComponentProps.js +0 -10
- package/dist/components/GridCellRenderer/useComponentProps.js.map +0 -1
- /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +0 -0
- /package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +0 -0
- /package/dist/components/Grid/{GridContext.js → grid/GridContext.js} +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts → overlays/empty-records/EmptyRecordsOverlay.d.ts} +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.d.ts +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.js +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
/// <reference types="powerapps-component-framework" />
|
|
3
|
+
import { IGridCellRenderer } from "./interfaces";
|
|
4
|
+
import { ITranslation } from "../../hooks";
|
|
5
|
+
import { gridGroupCellRendererTranslations } from "./translations";
|
|
6
|
+
import { IIconProps, ITheme } from "@fluentui/react";
|
|
7
|
+
type Labels = Required<ITranslation<typeof gridGroupCellRendererTranslations>>;
|
|
8
|
+
interface IDeps {
|
|
9
|
+
getProps: () => IGridCellRenderer;
|
|
10
|
+
getControlTheme: () => ITheme;
|
|
11
|
+
labels: Labels;
|
|
12
|
+
}
|
|
13
|
+
export declare class GridCellRendererModel {
|
|
14
|
+
private _getProps;
|
|
15
|
+
private _getControlTheme;
|
|
16
|
+
private _property;
|
|
17
|
+
private _labels;
|
|
18
|
+
private _tickMemoizer;
|
|
19
|
+
constructor(deps: IDeps);
|
|
20
|
+
getValue(): any;
|
|
21
|
+
/**
|
|
22
|
+
* Returns an object so we can use both --- and null as valid null values.
|
|
23
|
+
*/
|
|
24
|
+
getFormattedValue(): {
|
|
25
|
+
value: string | null;
|
|
26
|
+
placeholder: string | null;
|
|
27
|
+
};
|
|
28
|
+
isTotalRow(): boolean;
|
|
29
|
+
getFileAttachmentIcon(): string | undefined;
|
|
30
|
+
getImageThumbnailUrl(): string | null;
|
|
31
|
+
getPrefixIconProps(): IIconProps | undefined;
|
|
32
|
+
shouldUsePortalDownload(): boolean;
|
|
33
|
+
getSuffixIconProps(): IIconProps | undefined;
|
|
34
|
+
getColumn(): import("@talxis/client-libraries").IColumn;
|
|
35
|
+
getRecord(): import("@talxis/client-libraries").IRecord;
|
|
36
|
+
getDataset(): import("@talxis/client-libraries").IDataset;
|
|
37
|
+
getValueAttributes(): any;
|
|
38
|
+
getLinkProps(): import("@fluentui/react").ILinkProps | null;
|
|
39
|
+
downloadPortalFile(): Promise<void>;
|
|
40
|
+
getColorfulOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[] | null;
|
|
41
|
+
getFormattedAggregatedValue(): string | null;
|
|
42
|
+
getAggregationLabel(): string | undefined;
|
|
43
|
+
getContext(): import("../..").IContext;
|
|
44
|
+
getControlTheme(): ITheme;
|
|
45
|
+
getColumnAlignment(): "left" | "right" | "center";
|
|
46
|
+
isMultiline(): boolean;
|
|
47
|
+
isAutoHeightEnabled(): boolean;
|
|
48
|
+
isFile(): boolean;
|
|
49
|
+
private _getPropertyInstance;
|
|
50
|
+
private _getIconProps;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { Property } from './properties/Property.js';
|
|
2
|
+
import { Email } from './properties/Email.js';
|
|
3
|
+
import { Phone } from './properties/Phone.js';
|
|
4
|
+
import { Url } from './properties/Url.js';
|
|
5
|
+
import { Lookup } from './properties/Lookup.js';
|
|
6
|
+
import { MultilineText } from './properties/MultilineText.js';
|
|
7
|
+
import { OptionSet } from './properties/OptionSet.js';
|
|
8
|
+
import { MultiSelectOptionSet } from './properties/MultiSelectOptionSet.js';
|
|
9
|
+
import { TwoOptions } from './properties/TwoOptions.js';
|
|
10
|
+
import { File } from './properties/File.js';
|
|
11
|
+
import { Image } from './properties/Image.js';
|
|
12
|
+
import { TickMemoizer } from '@talxis/client-libraries/dist/helpers/cache/TickMemoizer';
|
|
13
|
+
|
|
14
|
+
const propertyMap = new Map([
|
|
15
|
+
['SingleLine.Email', Email],
|
|
16
|
+
['SingleLine.Phone', Phone],
|
|
17
|
+
['SingleLine.URL', Url],
|
|
18
|
+
['Lookup.Customer', Lookup],
|
|
19
|
+
['Lookup.Owner', Lookup],
|
|
20
|
+
['Lookup.Simple', Lookup],
|
|
21
|
+
['Lookup.Regarding', Lookup],
|
|
22
|
+
['OptionSet', OptionSet],
|
|
23
|
+
['MultiSelectPicklist', MultiSelectOptionSet],
|
|
24
|
+
['TwoOptions', TwoOptions],
|
|
25
|
+
['SingleLine.TextArea', MultilineText],
|
|
26
|
+
['Multiple', MultilineText],
|
|
27
|
+
['File', File],
|
|
28
|
+
['Image', Image]
|
|
29
|
+
]);
|
|
30
|
+
class GridCellRendererModel {
|
|
31
|
+
constructor(deps) {
|
|
32
|
+
this._tickMemoizer = new TickMemoizer();
|
|
33
|
+
this._getProps = deps.getProps;
|
|
34
|
+
this._labels = deps.labels;
|
|
35
|
+
this._getControlTheme = deps.getControlTheme;
|
|
36
|
+
this._property = this._getPropertyInstance();
|
|
37
|
+
}
|
|
38
|
+
getValue() {
|
|
39
|
+
return this._getProps().parameters.value.raw;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns an object so we can use both --- and null as valid null values.
|
|
43
|
+
*/
|
|
44
|
+
getFormattedValue() {
|
|
45
|
+
const formattedValue = this._getProps().parameters.value.formatted ?? null;
|
|
46
|
+
//action columns should always return empty string;
|
|
47
|
+
if (this.getColumn().type === 'action') {
|
|
48
|
+
return {
|
|
49
|
+
value: null,
|
|
50
|
+
placeholder: null
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
else if (this.getColumn().grouping?.isGrouped) {
|
|
54
|
+
//if the column is grouped, we should aways have --- as placeholder
|
|
55
|
+
return {
|
|
56
|
+
value: formattedValue,
|
|
57
|
+
placeholder: formattedValue ?? '---'
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
else if (this.getColumn().aggregation?.aggregationFunction) {
|
|
61
|
+
return {
|
|
62
|
+
value: formattedValue,
|
|
63
|
+
placeholder: formattedValue
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return {
|
|
68
|
+
value: formattedValue,
|
|
69
|
+
placeholder: formattedValue ?? '---'
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
isTotalRow() {
|
|
74
|
+
return this.getRecord().getDataProvider().getSummarizationType() === 'aggregation';
|
|
75
|
+
}
|
|
76
|
+
getFileAttachmentIcon() {
|
|
77
|
+
return this._getPropertyInstance().getFileAttachmentIcon();
|
|
78
|
+
}
|
|
79
|
+
getImageThumbnailUrl() {
|
|
80
|
+
return this._getPropertyInstance().getImageThumbnailUrl();
|
|
81
|
+
}
|
|
82
|
+
getPrefixIconProps() {
|
|
83
|
+
return this._tickMemoizer.getOnce('getPrefixIconProps', () => this._getIconProps('PrefixIcon'));
|
|
84
|
+
}
|
|
85
|
+
shouldUsePortalDownload() {
|
|
86
|
+
return this._property.shouldUsePortalDownload();
|
|
87
|
+
}
|
|
88
|
+
getSuffixIconProps() {
|
|
89
|
+
return this._tickMemoizer.getOnce('getSuffixIconProps', () => this._getIconProps('SuffixIcon'));
|
|
90
|
+
}
|
|
91
|
+
getColumn() {
|
|
92
|
+
return this._getProps().parameters.Column.raw;
|
|
93
|
+
}
|
|
94
|
+
getRecord() {
|
|
95
|
+
return this._getProps().parameters.Record.raw;
|
|
96
|
+
}
|
|
97
|
+
getDataset() {
|
|
98
|
+
return this._getProps().parameters.Dataset.raw;
|
|
99
|
+
}
|
|
100
|
+
getValueAttributes() {
|
|
101
|
+
return this._getProps().parameters.value.attributes ?? {};
|
|
102
|
+
}
|
|
103
|
+
getLinkProps() {
|
|
104
|
+
const formattedValue = this.getFormattedValue().value;
|
|
105
|
+
switch (true) {
|
|
106
|
+
case formattedValue == null:
|
|
107
|
+
//navigation enabled by default
|
|
108
|
+
case this._getProps().parameters.EnableNavigation?.raw === false && !this.isFile(): {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
default: {
|
|
112
|
+
return this._property.getLinkProps();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async downloadPortalFile() {
|
|
117
|
+
return this._property.downloadPortalFile();
|
|
118
|
+
}
|
|
119
|
+
getColorfulOptionSet() {
|
|
120
|
+
switch (true) {
|
|
121
|
+
case this.getFormattedValue().value == null:
|
|
122
|
+
case this._getProps().parameters.EnableOptionSetColors?.raw !== true:
|
|
123
|
+
case this._getProps().parameters.AggregationFunction?.raw != null: {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
default: {
|
|
127
|
+
return this._property.getColorfulOptionSet();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
getFormattedAggregatedValue() {
|
|
132
|
+
const aggregatedFormattedValue = this._getProps().parameters.AggregatedValue?.formatted ?? null;
|
|
133
|
+
if (!aggregatedFormattedValue) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
if (this.getColumn().grouping?.isGrouped) {
|
|
137
|
+
return `(${aggregatedFormattedValue})`;
|
|
138
|
+
}
|
|
139
|
+
return aggregatedFormattedValue;
|
|
140
|
+
}
|
|
141
|
+
getAggregationLabel() {
|
|
142
|
+
const aggregationFunction = this._getProps().parameters.AggregationFunction?.raw;
|
|
143
|
+
switch (aggregationFunction) {
|
|
144
|
+
case 'avg': {
|
|
145
|
+
return this._labels.avg();
|
|
146
|
+
}
|
|
147
|
+
case 'max': {
|
|
148
|
+
return this._labels.max();
|
|
149
|
+
}
|
|
150
|
+
case 'min': {
|
|
151
|
+
return this._labels.min();
|
|
152
|
+
}
|
|
153
|
+
case 'sum': {
|
|
154
|
+
return this._labels.sum();
|
|
155
|
+
}
|
|
156
|
+
case 'count': {
|
|
157
|
+
return this._labels.count();
|
|
158
|
+
}
|
|
159
|
+
case 'countcolumn': {
|
|
160
|
+
return this._labels.countcolumn();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
getContext() {
|
|
165
|
+
return this._getProps().context;
|
|
166
|
+
}
|
|
167
|
+
getControlTheme() {
|
|
168
|
+
return this._getControlTheme();
|
|
169
|
+
}
|
|
170
|
+
getColumnAlignment() {
|
|
171
|
+
return this._getProps().parameters.ColumnAlignment.raw;
|
|
172
|
+
}
|
|
173
|
+
isMultiline() {
|
|
174
|
+
if (this.isTotalRow()) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
if (this.getRecord().getSummarizationType() === 'grouping' && !this.getValue()) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
return this._property.isMultiline();
|
|
181
|
+
}
|
|
182
|
+
isAutoHeightEnabled() {
|
|
183
|
+
if (this.isTotalRow()) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
return !!this.getColumn().autoHeight;
|
|
187
|
+
}
|
|
188
|
+
isFile() {
|
|
189
|
+
if (!this.getFormattedValue().value) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
return this._property.isFile();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
_getPropertyInstance() {
|
|
197
|
+
const dataType = this._getProps().parameters.value.type;
|
|
198
|
+
const PropertyClass = propertyMap.get(dataType) ?? Property;
|
|
199
|
+
return new PropertyClass(this);
|
|
200
|
+
}
|
|
201
|
+
_getIconProps(propName) {
|
|
202
|
+
const rawJson = this._getProps().parameters[propName]?.raw;
|
|
203
|
+
if (!rawJson) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
return JSON.parse(rawJson);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export { GridCellRendererModel };
|
|
211
|
+
//# sourceMappingURL=GridCellRendererModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridCellRendererModel.js","sources":["../../../src/components/GridCellRenderer/GridCellRendererModel.ts"],"sourcesContent":["import { DataType } from \"@talxis/client-libraries\";\nimport { Property } from \"./properties/Property\";\nimport { Email } from \"./properties/Email\";\nimport { Phone } from \"./properties/Phone\";\nimport { IGridCellRenderer } from \"./interfaces\";\nimport { ITranslation } from \"../../hooks\";\nimport { gridGroupCellRendererTranslations } from \"./translations\";\nimport { Url } from \"./properties/Url\";\nimport { Lookup } from './properties/Lookup';\nimport { IIconProps, ITheme } from \"@fluentui/react\";\nimport { MultilineText } from \"./properties/MultilineText\";\nimport { OptionSet } from \"./properties/OptionSet\";\nimport { MultiSelectOptionSet } from \"./properties/MultiSelectOptionSet\";\nimport { TwoOptions } from \"./properties/TwoOptions\";\nimport { File } from \"./properties/File\";\nimport { Image } from \"./properties/Image\";\nimport { TickMemoizer } from '@talxis/client-libraries/dist/helpers/cache/TickMemoizer'\n\ntype Labels = Required<ITranslation<typeof gridGroupCellRendererTranslations>>;\n\ninterface IDeps {\n getProps: () => IGridCellRenderer;\n getControlTheme: () => ITheme;\n labels: Labels;\n}\n\nconst propertyMap: Map<DataType, typeof Property> = new Map([\n ['SingleLine.Email', Email],\n ['SingleLine.Phone', Phone],\n ['SingleLine.URL', Url],\n ['Lookup.Customer', Lookup],\n ['Lookup.Owner', Lookup],\n ['Lookup.Simple', Lookup],\n ['Lookup.Regarding', Lookup],\n ['OptionSet', OptionSet],\n ['MultiSelectPicklist', MultiSelectOptionSet],\n ['TwoOptions', TwoOptions],\n ['SingleLine.TextArea', MultilineText],\n ['Multiple', MultilineText],\n ['File', File],\n ['Image', Image]\n]);\n\ntype MemoizedFunction = 'getSuffixIconProps' | 'getPrefixIconProps';\n\nexport class GridCellRendererModel {\n private _getProps: () => IGridCellRenderer;\n private _getControlTheme: () => ITheme;\n private _property: Property;\n private _labels: Labels;\n private _tickMemoizer: TickMemoizer<MemoizedFunction> = new TickMemoizer();\n\n constructor(deps: IDeps) {\n this._getProps = deps.getProps;\n this._labels = deps.labels;\n this._getControlTheme = deps.getControlTheme;\n this._property = this._getPropertyInstance();\n }\n\n public getValue() {\n return this._getProps().parameters.value.raw;\n }\n /**\n * Returns an object so we can use both --- and null as valid null values.\n */\n public getFormattedValue(): { value: string | null, placeholder: string | null } {\n const formattedValue = this._getProps().parameters.value.formatted ?? null;\n //action columns should always return empty string;\n if (this.getColumn().type === 'action') {\n return {\n value: null,\n placeholder: null\n }\n }\n else if(this.getColumn().grouping?.isGrouped) {\n //if the column is grouped, we should aways have --- as placeholder\n return {\n value: formattedValue,\n placeholder: formattedValue ?? '---'\n }\n }\n else if(this.getColumn().aggregation?.aggregationFunction) {\n return {\n value: formattedValue,\n placeholder: formattedValue\n }\n }\n else {\n return {\n value: formattedValue,\n placeholder: formattedValue ?? '---'\n }\n }\n }\n public isTotalRow() {\n return this.getRecord().getDataProvider().getSummarizationType() === 'aggregation';\n }\n\n public getFileAttachmentIcon() {\n return this._getPropertyInstance().getFileAttachmentIcon();\n }\n\n public getImageThumbnailUrl() {\n return this._getPropertyInstance().getImageThumbnailUrl();\n }\n\n public getPrefixIconProps(): IIconProps | undefined {\n return this._tickMemoizer.getOnce('getPrefixIconProps', () => this._getIconProps('PrefixIcon'))\n }\n\n public shouldUsePortalDownload(): boolean {\n return this._property.shouldUsePortalDownload();\n }\n\n public getSuffixIconProps(): IIconProps | undefined {\n return this._tickMemoizer.getOnce('getSuffixIconProps', () => this._getIconProps('SuffixIcon'))\n }\n\n public getColumn() {\n return this._getProps().parameters.Column.raw;\n }\n\n public getRecord() {\n return this._getProps().parameters.Record.raw;\n }\n\n public getDataset() {\n return this._getProps().parameters.Dataset.raw;\n }\n\n public getValueAttributes() {\n return this._getProps().parameters.value.attributes ?? {};\n }\n\n public getLinkProps() {\n const formattedValue = this.getFormattedValue().value;\n switch (true) {\n case formattedValue == null: \n //navigation enabled by default\n case this._getProps().parameters.EnableNavigation?.raw === false && !this.isFile(): {\n return null;\n }\n default: {\n return this._property.getLinkProps();\n }\n }\n }\n\n public async downloadPortalFile() {\n return this._property.downloadPortalFile();\n }\n\n public getColorfulOptionSet() {\n switch (true) {\n case this.getFormattedValue().value == null:\n case this._getProps().parameters.EnableOptionSetColors?.raw !== true:\n case this._getProps().parameters.AggregationFunction?.raw != null: {\n return null;\n }\n default: {\n return this._property.getColorfulOptionSet();\n }\n }\n }\n\n public getFormattedAggregatedValue(): string | null {\n const aggregatedFormattedValue = this._getProps().parameters.AggregatedValue?.formatted ?? null;\n if (!aggregatedFormattedValue) {\n return null;\n }\n if(this.getColumn().grouping?.isGrouped) {\n return `(${aggregatedFormattedValue})`;\n }\n return aggregatedFormattedValue;\n }\n\n public getAggregationLabel() {\n const aggregationFunction = this._getProps().parameters.AggregationFunction?.raw\n switch (aggregationFunction) {\n case 'avg': {\n return this._labels.avg();\n }\n case 'max': {\n return this._labels.max();\n }\n case 'min': {\n return this._labels.min();\n }\n case 'sum': {\n return this._labels.sum();\n }\n case 'count': {\n return this._labels.count()\n }\n case 'countcolumn': {\n return this._labels.countcolumn()\n }\n }\n }\n\n public getContext() {\n return this._getProps().context;\n }\n\n public getControlTheme() {\n return this._getControlTheme();\n }\n\n public getColumnAlignment() {\n return this._getProps().parameters.ColumnAlignment.raw;\n }\n\n public isMultiline() {\n if (this.isTotalRow()) {\n return false;\n }\n if(this.getRecord().getSummarizationType() === 'grouping' && !this.getValue()) {\n return false;\n }\n return this._property.isMultiline();\n }\n\n public isAutoHeightEnabled() {\n if(this.isTotalRow()) {\n return false;\n }\n return !!this.getColumn().autoHeight;\n }\n\n public isFile() {\n if (!this.getFormattedValue().value) {\n return false;\n }\n else {\n return this._property.isFile();\n }\n }\n\n private _getPropertyInstance(): Property {\n const dataType = this._getProps().parameters.value.type as DataType;\n const PropertyClass = propertyMap.get(dataType) ?? Property;\n return new PropertyClass(this);\n }\n\n private _getIconProps(propName: 'PrefixIcon' | 'SuffixIcon'): IIconProps | undefined {\n const rawJson = this._getProps().parameters[propName]?.raw;\n if (!rawJson) {\n return undefined;\n }\n return JSON.parse(rawJson);\n }\n\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
3
|
+
/// <reference types="powerapps-component-framework" />
|
|
4
|
+
import { IColorfulOptionSetValueRendererProps as IColorfulOptionSetValueRendererPropsBase } from "../../interfaces";
|
|
5
|
+
interface IColorfulOptionSetValueRendererProps {
|
|
6
|
+
optionSet: ComponentFramework.PropertyHelper.OptionMetadata[];
|
|
7
|
+
onRenderColorfulOptionSet: (props: IColorfulOptionSetValueRendererPropsBase, defaultRender: (props: IColorfulOptionSetValueRendererPropsBase) => React.ReactElement) => React.ReactElement;
|
|
8
|
+
}
|
|
9
|
+
export declare const ColorfulOptionSetValueRenderer: (props: IColorfulOptionSetValueRendererProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { getColorfulOptionSetValuesRendererStyles, getColorfulOptionValueRendererStyles } from './styles.js';
|
|
4
|
+
import { useTheme, merge, ThemeProvider, Text } from '@fluentui/react';
|
|
5
|
+
import { Theming, useThemeGenerator } from '@talxis/react-components';
|
|
6
|
+
import { useModel } from '../../useModel.js';
|
|
7
|
+
|
|
8
|
+
const ColorfulOptionSetValueRenderer = (props) => {
|
|
9
|
+
const { onRenderColorfulOptionSet, optionSet } = props;
|
|
10
|
+
const model = useModel();
|
|
11
|
+
const styles = useMemo(() => getColorfulOptionSetValuesRendererStyles(model.getColumnAlignment()), [model.getColumnAlignment()]);
|
|
12
|
+
return onRenderColorfulOptionSet({
|
|
13
|
+
container: {
|
|
14
|
+
className: styles.colorfulOptionSetValueRendererRoot
|
|
15
|
+
},
|
|
16
|
+
onRenderOption: (props, defaultRender) => defaultRender(props)
|
|
17
|
+
}, (props) => {
|
|
18
|
+
return jsx("div", { ...props.container, children: optionSet.map(option => {
|
|
19
|
+
return jsx(ColorOptionValueRenderer, { option: option, onRenderOption: props.onRenderOption }, option.Value);
|
|
20
|
+
}) });
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const ColorOptionValueRenderer = (props) => {
|
|
24
|
+
const { option, onRenderOption } = props;
|
|
25
|
+
const model = useModel();
|
|
26
|
+
const theme = useTheme();
|
|
27
|
+
const backgroundColor = option.Color ?? theme.palette.neutralLight;
|
|
28
|
+
const textColor = Theming.GetTextColorForBackground(backgroundColor);
|
|
29
|
+
const styles = useMemo(() => getColorfulOptionValueRendererStyles(), []);
|
|
30
|
+
const optionTheme = useThemeGenerator(textColor, backgroundColor, textColor, merge({}, {
|
|
31
|
+
fonts: {
|
|
32
|
+
medium: {
|
|
33
|
+
fontWeight: 600
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, model.getContext().fluentDesignLanguage?.v8FluentOverrides));
|
|
37
|
+
return onRenderOption({
|
|
38
|
+
container: {
|
|
39
|
+
theme: optionTheme,
|
|
40
|
+
className: styles.colorfulOptionValueRendererRoot
|
|
41
|
+
},
|
|
42
|
+
onRenderText: (props, defaultRender) => defaultRender(props)
|
|
43
|
+
}, (props) => {
|
|
44
|
+
return jsx(ThemeProvider, { ...props.container, children: props.onRenderText({
|
|
45
|
+
children: option.Label,
|
|
46
|
+
}, (props) => {
|
|
47
|
+
return jsx(Text, { ...props });
|
|
48
|
+
}) });
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { ColorfulOptionSetValueRenderer };
|
|
53
|
+
//# sourceMappingURL=ColorfulOptionSetValueRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorfulOptionSetValueRenderer.js","sources":["../../../../../src/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { IColorfulOptionSetValueRendererProps as IColorfulOptionSetValueRendererPropsBase, IColorfulOptionValueRendererProps as IColorfulOptionValueRendererPropsBase } from \"../../interfaces\"\nimport { getColorfulOptionSetValuesRendererStyles, getColorfulOptionValueRendererStyles } from \"./styles\";\nimport { PartialTheme, Text, ThemeProvider, useTheme, merge } from \"@fluentui/react\";\nimport { Theming, useThemeGenerator } from \"@talxis/react-components\";\nimport { useModel } from \"../../useModel\";\n\ninterface IColorfulOptionSetValueRendererProps {\n optionSet: ComponentFramework.PropertyHelper.OptionMetadata[];\n onRenderColorfulOptionSet: (props: IColorfulOptionSetValueRendererPropsBase, defaultRender: (props: IColorfulOptionSetValueRendererPropsBase) => React.ReactElement) => React.ReactElement;\n}\n\ninterface IColorfulOptionValueRendererProps {\n option: ComponentFramework.PropertyHelper.OptionMetadata;\n onRenderOption: (props: IColorfulOptionValueRendererPropsBase, defaultRender: (props: IColorfulOptionValueRendererPropsBase) => React.ReactElement) => React.ReactElement;\n}\n\nexport const ColorfulOptionSetValueRenderer = (props: IColorfulOptionSetValueRendererProps) => {\n const { onRenderColorfulOptionSet, optionSet } = props;\n const model = useModel();\n const styles = useMemo(() => getColorfulOptionSetValuesRendererStyles(model.getColumnAlignment()), [model.getColumnAlignment()]);\n\n return onRenderColorfulOptionSet({\n container: {\n className: styles.colorfulOptionSetValueRendererRoot\n },\n onRenderOption: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <div {...props.container}>\n {optionSet.map(option => {\n return <ColorOptionValueRenderer\n key={option.Value}\n option={option}\n onRenderOption={props.onRenderOption} />\n })}\n </div>\n })\n}\n\nconst ColorOptionValueRenderer = (props: IColorfulOptionValueRendererProps) => {\n const { option, onRenderOption } = props;\n const model = useModel();\n const theme = useTheme();\n const backgroundColor = option.Color ?? theme.palette.neutralLight;\n const textColor = Theming.GetTextColorForBackground(backgroundColor);\n const styles = useMemo(() => getColorfulOptionValueRendererStyles(), []);\n const optionTheme = useThemeGenerator(textColor, backgroundColor, textColor, merge({}, {\n fonts: {\n medium: {\n fontWeight: 600\n }\n }\n } as PartialTheme, model.getContext().fluentDesignLanguage?.v8FluentOverrides as PartialTheme));\n\n return onRenderOption({\n container: {\n theme: optionTheme,\n className: styles.colorfulOptionValueRendererRoot\n },\n onRenderText: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <ThemeProvider {...props.container}>\n {props.onRenderText({\n children: option.Label,\n }, (props) => {\n return <Text {...props} />\n })}\n </ThemeProvider>\n })\n}"],"names":["_jsx"],"mappings":";;;;;;;AAiBa,MAAA,8BAA8B,GAAG,CAAC,KAA2C,KAAI;AAC1F,IAAA,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AACvD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,wCAAwC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AAEjI,IAAA,OAAO,yBAAyB,CAAC;AAC7B,QAAA,SAAS,EAAE;YACP,SAAS,EAAE,MAAM,CAAC,kCAAkC;AACvD,SAAA;QACD,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;KACjE,EAAE,CAAC,KAAK,KAAI;QACT,OAAOA,GAAA,CAAA,KAAA,EAAA,EAAA,GAAS,KAAK,CAAC,SAAS,EAAA,QAAA,EAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,IAAG;AACpB,gBAAA,OAAOA,IAAC,wBAAwB,EAAA,EAE5B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,KAAK,CAAC,cAAc,EAAA,EAF/B,MAAM,CAAC,KAAK,CAEuB,CAAA;aAC/C,CAAC,GACA,CAAA;AACV,KAAC,CAAC,CAAA;AACN,EAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,KAAwC,KAAI;AAC1E,IAAA,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;AACzC,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;AACrE,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,oCAAoC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzE,IAAA,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;AACnF,QAAA,KAAK,EAAE;AACH,YAAA,MAAM,EAAE;AACJ,gBAAA,UAAU,EAAE,GAAG;AAClB,aAAA;AACJ,SAAA;KACY,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,oBAAoB,EAAE,iBAAiC,CAAC,CAAC,CAAC;AAEhG,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,SAAS,EAAE;AACP,YAAA,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM,CAAC,+BAA+B;AACpD,SAAA;QACD,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;KAC/D,EAAE,CAAC,KAAK,KAAI;QACT,OAAOA,GAAA,CAAC,aAAa,EAAA,EAAA,GAAK,KAAK,CAAC,SAAS,EACpC,QAAA,EAAA,KAAK,CAAC,YAAY,CAAC;gBAChB,QAAQ,EAAE,MAAM,CAAC,KAAK;aACzB,EAAE,CAAC,KAAK,KAAI;AACT,gBAAA,OAAOA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;aAC7B,CAAC,GACU,CAAA;AACpB,KAAC,CAAC,CAAA;AACN,CAAC;;;;"}
|
package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IColumn } from "@talxis/client-libraries";
|
|
2
|
+
export declare const getColorfulOptionSetValuesRendererStyles: (columnAlignment: IColumn['alignment']) => import("@fluentui/react").IProcessedStyleSet<{
|
|
3
|
+
colorfulOptionSetValueRendererRoot: {
|
|
4
|
+
display: string;
|
|
5
|
+
gap: number;
|
|
6
|
+
width: string;
|
|
7
|
+
justifyContent: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
export declare const getColorfulOptionValueRendererStyles: () => import("@fluentui/react").IProcessedStyleSet<{
|
|
11
|
+
colorfulOptionValueRendererRoot: {
|
|
12
|
+
borderRadius: number;
|
|
13
|
+
paddingLeft: number;
|
|
14
|
+
paddingRight: number;
|
|
15
|
+
overflow: string;
|
|
16
|
+
textOverflow: string;
|
|
17
|
+
flexGrow: number;
|
|
18
|
+
maxWidth: string;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { mergeStyleSets } from '@fluentui/react';
|
|
2
|
+
import { getJustifyContent } from '../../styles.js';
|
|
3
|
+
|
|
4
|
+
const getColorfulOptionSetValuesRendererStyles = (columnAlignment) => {
|
|
5
|
+
return mergeStyleSets({
|
|
6
|
+
colorfulOptionSetValueRendererRoot: {
|
|
7
|
+
display: 'flex',
|
|
8
|
+
gap: 5,
|
|
9
|
+
width: '100%',
|
|
10
|
+
justifyContent: getJustifyContent(columnAlignment)
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
const getColorfulOptionValueRendererStyles = () => {
|
|
15
|
+
return mergeStyleSets({
|
|
16
|
+
colorfulOptionValueRendererRoot: {
|
|
17
|
+
borderRadius: 5,
|
|
18
|
+
paddingLeft: 4,
|
|
19
|
+
paddingRight: 4,
|
|
20
|
+
overflow: 'hidden',
|
|
21
|
+
textOverflow: 'ellipsis',
|
|
22
|
+
flexGrow: 1,
|
|
23
|
+
maxWidth: 'fit-content'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { getColorfulOptionSetValuesRendererStyles, getColorfulOptionValueRendererStyles };
|
|
29
|
+
//# sourceMappingURL=styles.js.map
|
package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\nimport { getJustifyContent } from \"../../styles\"\nimport { IColumn } from \"@talxis/client-libraries\"\n\nexport const getColorfulOptionSetValuesRendererStyles = (columnAlignment: IColumn['alignment']) => {\n return mergeStyleSets({\n colorfulOptionSetValueRendererRoot: {\n display: 'flex',\n gap: 5,\n width: '100%',\n justifyContent: getJustifyContent(columnAlignment)\n }\n })\n}\n\nexport const getColorfulOptionValueRendererStyles = () => {\n return mergeStyleSets({\n colorfulOptionValueRendererRoot: {\n borderRadius: 5,\n paddingLeft: 4,\n paddingRight: 4,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n flexGrow: 1,\n maxWidth: 'fit-content'\n }\n })\n}"],"names":[],"mappings":";;;AAIa,MAAA,wCAAwC,GAAG,CAAC,eAAqC,KAAI;AAC9F,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,kCAAkC,EAAE;AAChC,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,cAAc,EAAE,iBAAiB,CAAC,eAAe,CAAC;AACrD,SAAA;AACJ,KAAA,CAAC,CAAA;AACN,EAAC;AAEM,MAAM,oCAAoC,GAAG,MAAK;AACrD,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,+BAA+B,EAAE;AAC7B,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,QAAQ,EAAE,aAAa;AAC1B,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IFileRendererProps as IFileRendererPropsBase } from "../../interfaces";
|
|
3
|
+
interface IFileRendererProps {
|
|
4
|
+
onRenderFile: (props: IFileRendererPropsBase, defaultRender: (props: IFileRendererPropsBase) => React.ReactElement) => React.ReactElement;
|
|
5
|
+
}
|
|
6
|
+
export declare const FileRenderer: (props: IFileRendererProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import { useModel } from '../../useModel.js';
|
|
4
|
+
import { Link, SpinnerSize, Image, Icon } from '@fluentui/react';
|
|
5
|
+
import { getFileRendererStyles } from './styles.js';
|
|
6
|
+
import { Spinner } from '@talxis/react-components';
|
|
7
|
+
|
|
8
|
+
const FileRenderer = (props) => {
|
|
9
|
+
const model = useModel();
|
|
10
|
+
const styles = useMemo(() => getFileRendererStyles(), []);
|
|
11
|
+
const [isFileDownloading, setIsFileDownloading] = React.useState(false);
|
|
12
|
+
const [thumbnailFailedToLoad, setThumbnailFailedToLoad] = React.useState(false);
|
|
13
|
+
const onLinkClick = async (e) => {
|
|
14
|
+
if (model.shouldUsePortalDownload()) {
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
setIsFileDownloading(true);
|
|
17
|
+
await model.downloadPortalFile();
|
|
18
|
+
setIsFileDownloading(false);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const onRenderLoadingPrefix = (props) => {
|
|
22
|
+
const thumbnailUrl = model.getImageThumbnailUrl();
|
|
23
|
+
if (isFileDownloading) {
|
|
24
|
+
return props.onRenderLoading({
|
|
25
|
+
size: SpinnerSize.xSmall,
|
|
26
|
+
styles: {
|
|
27
|
+
circle: styles.spinner
|
|
28
|
+
}
|
|
29
|
+
}, (props) => {
|
|
30
|
+
return jsx(Spinner, { ...props });
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else if (thumbnailUrl && !thumbnailFailedToLoad) {
|
|
34
|
+
return props.onRenderImageThumbnail({
|
|
35
|
+
src: thumbnailUrl,
|
|
36
|
+
styles: {
|
|
37
|
+
image: styles.thumbnail
|
|
38
|
+
},
|
|
39
|
+
onLoadingStateChange: (state) => {
|
|
40
|
+
if (state == 2) {
|
|
41
|
+
setThumbnailFailedToLoad(true);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, (props) => {
|
|
45
|
+
return jsx(Image, { ...props });
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return props.onRenderFileAttachmentIcon({
|
|
50
|
+
iconName: model.getFileAttachmentIcon()
|
|
51
|
+
}, (props) => {
|
|
52
|
+
return jsx(Icon, { ...props });
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return props.onRenderFile({
|
|
57
|
+
container: {
|
|
58
|
+
className: styles.fileRendererRoot
|
|
59
|
+
},
|
|
60
|
+
onRenderFileAttachmentIcon: (props, defaultRender) => defaultRender(props),
|
|
61
|
+
onRenderImageThumbnail: (props, defaultRender) => defaultRender(props),
|
|
62
|
+
onRenderLoading: (props, defaultRender) => defaultRender(props),
|
|
63
|
+
onRenderLink: (props, defaultRender) => defaultRender(props)
|
|
64
|
+
}, (props) => {
|
|
65
|
+
return jsxs("div", { ...props.container, children: [onRenderLoadingPrefix(props), props.onRenderLink({
|
|
66
|
+
...model.getLinkProps(),
|
|
67
|
+
className: styles.link,
|
|
68
|
+
onClick: onLinkClick,
|
|
69
|
+
}, (props) => {
|
|
70
|
+
return jsx(Link, { ...props });
|
|
71
|
+
})] });
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export { FileRenderer };
|
|
76
|
+
//# sourceMappingURL=FileRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileRenderer.js","sources":["../../../../../src/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useModel } from \"../../useModel\";\nimport { IFileRendererProps as IFileRendererPropsBase } from \"../../interfaces\";\nimport { Link, SpinnerSize, Image, Icon, ImageFit } from \"@fluentui/react\";\nimport { getFileRendererStyles } from \"./styles\";\nimport { Spinner } from \"@talxis/react-components\";\n\ninterface IFileRendererProps {\n onRenderFile: (props: IFileRendererPropsBase, defaultRender: (props: IFileRendererPropsBase) => React.ReactElement) => React.ReactElement;\n}\n\nexport const FileRenderer = (props: IFileRendererProps) => {\n const model = useModel();\n const styles = useMemo(() => getFileRendererStyles(), [])\n const [isFileDownloading, setIsFileDownloading] = React.useState(false);\n const [thumbnailFailedToLoad, setThumbnailFailedToLoad] = React.useState(false);\n\n const onLinkClick = async (e: React.MouseEvent<HTMLElement | HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => {\n if (model.shouldUsePortalDownload()) {\n e.preventDefault();\n setIsFileDownloading(true);\n await model.downloadPortalFile();\n setIsFileDownloading(false);\n }\n }\n\n const onRenderLoadingPrefix = (props: IFileRendererPropsBase) => {\n const thumbnailUrl = model.getImageThumbnailUrl();\n if (isFileDownloading) {\n return props.onRenderLoading({\n size: SpinnerSize.xSmall,\n styles: {\n circle: styles.spinner\n }\n }, (props) => {\n return <Spinner {...props} />\n })\n }\n else if (thumbnailUrl && !thumbnailFailedToLoad) {\n return props.onRenderImageThumbnail({\n src: thumbnailUrl,\n styles: {\n image: styles.thumbnail\n },\n onLoadingStateChange: (state) => {\n if(state == 2) {\n setThumbnailFailedToLoad(true);\n }\n }\n }, (props) => {\n return <Image {...props} />\n })\n }\n else {\n return props.onRenderFileAttachmentIcon({\n iconName: model.getFileAttachmentIcon()\n }, (props) => {\n return <Icon {...props} />\n })\n }\n }\n\n return props.onRenderFile({\n container: {\n className: styles.fileRendererRoot\n },\n onRenderFileAttachmentIcon: (props, defaultRender) => defaultRender(props),\n onRenderImageThumbnail: (props, defaultRender) => defaultRender(props),\n onRenderLoading: (props, defaultRender) => defaultRender(props),\n onRenderLink: (props, defaultRender) => defaultRender(props)\n\n }, (props) => {\n return <div {...props.container}>\n {onRenderLoadingPrefix(props)}\n {props.onRenderLink({\n ...model.getLinkProps(),\n className: styles.link,\n onClick: onLinkClick,\n }, (props) => {\n return <Link {...props} />\n })}\n </div>\n })\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const getFileRendererStyles: () => import("@fluentui/react").IProcessedStyleSet<{
|
|
2
|
+
fileRendererRoot: {
|
|
3
|
+
display: string;
|
|
4
|
+
gap: number;
|
|
5
|
+
alignItems: string;
|
|
6
|
+
};
|
|
7
|
+
link: {
|
|
8
|
+
overflow: string;
|
|
9
|
+
textOverflow: string;
|
|
10
|
+
};
|
|
11
|
+
thumbnail: {
|
|
12
|
+
width: number;
|
|
13
|
+
};
|
|
14
|
+
spinner: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mergeStyleSets } from '@fluentui/react';
|
|
2
|
+
|
|
3
|
+
const getFileRendererStyles = () => {
|
|
4
|
+
return mergeStyleSets({
|
|
5
|
+
fileRendererRoot: {
|
|
6
|
+
display: 'flex',
|
|
7
|
+
gap: 5,
|
|
8
|
+
alignItems: 'center'
|
|
9
|
+
},
|
|
10
|
+
link: {
|
|
11
|
+
overflow: 'hidden',
|
|
12
|
+
textOverflow: 'ellipsis',
|
|
13
|
+
},
|
|
14
|
+
thumbnail: {
|
|
15
|
+
width: 32
|
|
16
|
+
},
|
|
17
|
+
spinner: {
|
|
18
|
+
width: 18,
|
|
19
|
+
height: 18
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { getFileRendererStyles };
|
|
25
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getFileRendererStyles = () => {\n return mergeStyleSets({\n fileRendererRoot: {\n display: 'flex',\n gap: 5,\n alignItems: 'center'\n },\n link: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n thumbnail: {\n width: 32\n },\n spinner: {\n width: 18,\n height: 18\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,qBAAqB,GAAG,MAAK;AACtC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,gBAAgB,EAAE;AACd,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,UAAU,EAAE,QAAQ;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACF,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,YAAY,EAAE,UAAU;AAC3B,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,KAAK,EAAE,EAAE;AACZ,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;AACb,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { Link, Text } from '@fluentui/react';
|
|
4
|
+
import { getValueRendererStyles } from './styles.js';
|
|
5
|
+
import { ColorfulOptionSetValueRenderer } from './ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js';
|
|
6
|
+
import { useModel } from '../useModel.js';
|
|
7
|
+
import { FileRenderer } from './FileRenderer/FileRenderer.js';
|
|
8
|
+
import { getClassNames } from '@talxis/react-components';
|
|
9
|
+
|
|
10
|
+
const ValueRenderer = (props) => {
|
|
11
|
+
const model = useModel();
|
|
12
|
+
const theme = model.getControlTheme();
|
|
13
|
+
const formattedValue = model.getFormattedValue();
|
|
14
|
+
const linkProps = model.getLinkProps();
|
|
15
|
+
const isFile = model.isFile();
|
|
16
|
+
const colorfulOptionSet = model.getColorfulOptionSet();
|
|
17
|
+
const styles = useMemo(() => getValueRendererStyles({
|
|
18
|
+
theme: theme,
|
|
19
|
+
isMultiline: model.isMultiline(),
|
|
20
|
+
makeBold: !!model.getAggregationLabel() || !!model.getFormattedAggregatedValue()
|
|
21
|
+
}), [theme,
|
|
22
|
+
model.isMultiline(),
|
|
23
|
+
model.getAggregationLabel(),
|
|
24
|
+
!!model.getAggregationLabel() || !!model.getFormattedAggregatedValue()
|
|
25
|
+
]);
|
|
26
|
+
if (isFile) {
|
|
27
|
+
return jsx(FileRenderer, { onRenderFile: props.onRenderFile });
|
|
28
|
+
}
|
|
29
|
+
else if (linkProps) {
|
|
30
|
+
return props.onRenderLink({
|
|
31
|
+
...linkProps,
|
|
32
|
+
className: styles.link,
|
|
33
|
+
as: 'a'
|
|
34
|
+
}, (props) => {
|
|
35
|
+
return jsx(Link, { ...props });
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else if (colorfulOptionSet) {
|
|
39
|
+
return jsx(ColorfulOptionSetValueRenderer, { optionSet: colorfulOptionSet, onRenderColorfulOptionSet: props.onRenderColorfulOptionSet });
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return props.onRenderText({
|
|
43
|
+
className: getClassNames([styles.text, !formattedValue.value ? styles.placeholder : undefined]),
|
|
44
|
+
children: formattedValue.placeholder
|
|
45
|
+
}, (props) => {
|
|
46
|
+
return jsx(Text, { ...props, children: formattedValue.placeholder });
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { ValueRenderer };
|
|
52
|
+
//# sourceMappingURL=ValueRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueRenderer.js","sources":["../../../../src/components/GridCellRenderer/ValueRenderer/ValueRenderer.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { IValueRendererProps } from \"../interfaces\";\nimport { Link, Text } from '@fluentui/react';\nimport { getValueRendererStyles } from \"./styles\";\nimport { ColorfulOptionSetValueRenderer } from \"./ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer\";\nimport { useModel } from \"../useModel\";\nimport { FileRenderer } from \"./FileRenderer/FileRenderer\";\nimport { getClassNames } from \"@talxis/react-components\";\n\nexport const ValueRenderer = (props: IValueRendererProps) => {\n const model = useModel();\n const theme = model.getControlTheme();\n const formattedValue = model.getFormattedValue();\n const linkProps = model.getLinkProps();\n const isFile = model.isFile();\n const colorfulOptionSet = model.getColorfulOptionSet();\n const styles = useMemo(() => getValueRendererStyles({\n theme: theme,\n isMultiline: model.isMultiline(),\n makeBold: !!model.getAggregationLabel() || !!model.getFormattedAggregatedValue()\n }), [theme,\n model.isMultiline(),\n model.getAggregationLabel(),\n !!model.getAggregationLabel() || !!model.getFormattedAggregatedValue()\n ]);\n\n if (isFile) {\n return <FileRenderer onRenderFile={props.onRenderFile} />\n }\n\n else if (linkProps) {\n return props.onRenderLink({\n ...linkProps,\n className: styles.link,\n as: 'a'\n }, (props) => {\n return <Link {...props} />\n })\n }\n\n else if (colorfulOptionSet) {\n return <ColorfulOptionSetValueRenderer\n optionSet={colorfulOptionSet}\n onRenderColorfulOptionSet={props.onRenderColorfulOptionSet}\n />\n }\n else {\n return props.onRenderText({\n className: getClassNames([styles.text, !formattedValue.value ? styles.placeholder : undefined]),\n children: formattedValue.placeholder\n }, (props) => {\n return <Text {...props}>{formattedValue.placeholder}</Text>;\n })\n }\n}"],"names":["_jsx"],"mappings":";;;;;;;;;AASa,MAAA,aAAa,GAAG,CAAC,KAA0B,KAAI;AACxD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;AACtC,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;AACvC,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AAC9B,IAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,sBAAsB,CAAC;AAChD,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;AAChC,QAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE;KACnF,CAAC,EAAE,CAAC,KAAK;QACN,KAAK,CAAC,WAAW,EAAE;QACnB,KAAK,CAAC,mBAAmB,EAAE;QAC3B,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE;AACzE,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,MAAM,EAAE;QACR,OAAOA,GAAA,CAAC,YAAY,EAAC,EAAA,YAAY,EAAE,KAAK,CAAC,YAAY,EAAA,CAAI,CAAA;AAC5D,KAAA;AAEI,SAAA,IAAI,SAAS,EAAE;QAChB,OAAO,KAAK,CAAC,YAAY,CAAC;AACtB,YAAA,GAAG,SAAS;YACZ,SAAS,EAAE,MAAM,CAAC,IAAI;AACtB,YAAA,EAAE,EAAE,GAAG;SACV,EAAE,CAAC,KAAK,KAAI;AACT,YAAA,OAAOA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;AAC9B,SAAC,CAAC,CAAA;AACL,KAAA;AAEI,SAAA,IAAI,iBAAiB,EAAE;AACxB,QAAA,OAAOA,GAAC,CAAA,8BAA8B,EAClC,EAAA,SAAS,EAAE,iBAAiB,EAC5B,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,GAC5D,CAAA;AACL,KAAA;AACI,SAAA;QACD,OAAO,KAAK,CAAC,YAAY,CAAC;YACtB,SAAS,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;YAC/F,QAAQ,EAAE,cAAc,CAAC,WAAW;SACvC,EAAE,CAAC,KAAK,KAAI;YACT,OAAOA,GAAA,CAAC,IAAI,EAAK,EAAA,GAAA,KAAK,YAAG,cAAc,CAAC,WAAW,EAAA,CAAQ,CAAC;AAChE,SAAC,CAAC,CAAA;AACL,KAAA;AACL;;;;"}
|