@dhis2/analytics 999.9.9-value-align-alpha.1 → 999.99.9-dashboard-plugin-wrapper-alpha.1
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/build/cjs/__demo__/CalculationModal.stories.js +1 -1
- package/build/cjs/__demo__/DimensionsPanel.stories.js +1 -1
- package/build/cjs/__demo__/DynamicDimension.stories.js +1 -1
- package/build/cjs/__demo__/FileMenu.stories.js +1 -1
- package/build/cjs/__demo__/Filter.stories.js +3 -3
- package/build/cjs/__demo__/FixedPeriodSelect.stories.js +3 -3
- package/build/cjs/__demo__/InterpretationsUnit.stories.js +1 -1
- package/build/cjs/__demo__/OpenFileDialog.stories.js +1 -1
- package/build/cjs/__demo__/OrgUnitDimension.stories.js +3 -4
- package/build/cjs/__demo__/PeriodDimension.stories.js +1 -1
- package/build/cjs/__demo__/PivotTable.stories.js +3 -3
- package/build/cjs/__demo__/Toolbar.stories.js +2 -2
- package/build/cjs/__fixtures__/fixtures.js +2 -3
- package/build/cjs/api/analytics/Analytics.js +2 -3
- package/build/cjs/api/analytics/AnalyticsAggregate.js +2 -3
- package/build/cjs/api/analytics/AnalyticsBase.js +2 -3
- package/build/cjs/api/analytics/AnalyticsEnrollments.js +2 -3
- package/build/cjs/api/analytics/AnalyticsEvents.js +2 -3
- package/build/cjs/api/analytics/AnalyticsRequest.js +2 -3
- package/build/cjs/api/analytics/AnalyticsRequestBase.js +2 -3
- package/build/cjs/api/analytics/AnalyticsRequestDimensionsMixin.js +2 -3
- package/build/cjs/api/analytics/AnalyticsRequestFiltersMixin.js +2 -3
- package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +2 -3
- package/build/cjs/api/analytics/AnalyticsResponse.js +2 -4
- package/build/cjs/api/analytics/AnalyticsResponseHeader.js +1 -2
- package/build/cjs/api/analytics/AnalyticsTrackedEntities.js +2 -3
- package/build/cjs/api/analytics/__tests__/Analytics.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsAggregate.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +2 -2
- package/build/cjs/api/analytics/__tests__/AnalyticsEnrollments.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsEvents.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsRequestBase.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsResponse.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +1 -1
- package/build/cjs/api/analytics/__tests__/AnalyticsTrackedEntities.spec.js +44 -0
- package/build/cjs/api/analytics/__tests__/__snapshots__/AnalyticsTrackedEntities.spec.js.snap +3 -0
- package/build/cjs/api/dimensions.js +11 -21
- package/build/cjs/api/expression.js +5 -9
- package/build/cjs/assets/AssignedCategoriesIcon.js +2 -3
- package/build/cjs/assets/DimensionItemIcons/CalculationIcon.js +3 -4
- package/build/cjs/assets/DimensionItemIcons/DataElementIcon.js +3 -4
- package/build/cjs/assets/DimensionItemIcons/GenericIcon.js +3 -4
- package/build/cjs/assets/DimensionItemIcons/PeriodIcon.js +3 -4
- package/build/cjs/assets/DynamicDimensionIcon.js +2 -3
- package/build/cjs/assets/FormulaIcon.js +2 -3
- package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +4 -5
- package/build/cjs/components/AboutAOUnit/styles/AboutAOUnit.style.js +1 -2
- package/build/cjs/components/AboutAOUnit/utils.js +5 -9
- package/build/cjs/components/CachedDataQueryProvider.js +3 -3
- package/build/cjs/components/DashboardPluginWrapper/DashboardPluginWrapper.js +89 -0
- package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +4 -5
- package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +3 -4
- package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +4 -5
- package/build/cjs/components/DataDimension/Calculation/DndContext.js +8 -10
- package/build/cjs/components/DataDimension/Calculation/DragHandleIcon.js +3 -4
- package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +2 -3
- package/build/cjs/components/DataDimension/Calculation/DropZone.js +2 -3
- package/build/cjs/components/DataDimension/Calculation/FormulaField.js +4 -7
- package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +5 -6
- package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +2 -3
- package/build/cjs/components/DataDimension/Calculation/Operator.js +3 -4
- package/build/cjs/components/DataDimension/Calculation/styles/CalculationModal.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/DataElementOption.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/DataElementSelector.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/DraggingItem.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/DropZone.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/FormulaField.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/FormulaItem.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/MathOperatorSelector.style.js +1 -2
- package/build/cjs/components/DataDimension/Calculation/styles/Operator.style.js +1 -2
- package/build/cjs/components/DataDimension/DataDimension.js +4 -5
- package/build/cjs/components/DataDimension/DataTypeSelector.js +2 -3
- package/build/cjs/components/DataDimension/DetailSelector.js +2 -3
- package/build/cjs/components/DataDimension/GroupSelector.js +4 -5
- package/build/cjs/components/DataDimension/ItemSelector.js +5 -7
- package/build/cjs/components/DataDimension/MetricSelector.js +2 -3
- package/build/cjs/components/DataDimension/styles/DataTypeSelector.style.js +1 -2
- package/build/cjs/components/DataDimension/styles/DetailSelector.style.js +1 -2
- package/build/cjs/components/DataDimension/styles/GroupSelector.style.js +1 -2
- package/build/cjs/components/DataDimension/styles/MetricSelector.style.js +1 -2
- package/build/cjs/components/DimensionMenu.js +2 -3
- package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +7 -8
- package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +8 -9
- package/build/cjs/components/DimensionsPanel/List/DimensionList.js +7 -8
- package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +2 -3
- package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +2 -3
- package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +1 -1
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +1 -2
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +1 -2
- package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +2 -3
- package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +1 -1
- package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +2 -3
- package/build/cjs/components/DynamicDimension/DynamicDimension.js +3 -5
- package/build/cjs/components/DynamicDimension/ItemSelector.js +5 -7
- package/build/cjs/components/DynamicDimension/styles/DynamicDimension.style.js +1 -2
- package/build/cjs/components/FileMenu/DeleteDialog.js +3 -3
- package/build/cjs/components/FileMenu/FileMenu.js +4 -5
- package/build/cjs/components/FileMenu/FileMenu.styles.js +2 -4
- package/build/cjs/components/FileMenu/GetLinkDialog.js +1 -1
- package/build/cjs/components/FileMenu/GetLinkDialog.styles.js +1 -2
- package/build/cjs/components/FileMenu/RenameDialog.js +3 -3
- package/build/cjs/components/FileMenu/SaveAsDialog.js +3 -3
- package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -1
- package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +1 -1
- package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +1 -1
- package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +1 -1
- package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -1
- package/build/cjs/components/FileMenu/utils.js +8 -11
- package/build/cjs/components/Filter/Filter.js +2 -3
- package/build/cjs/components/Filter/__tests__/Filter.spec.js +1 -1
- package/build/cjs/components/Filter/styles/Filter.style.js +1 -2
- package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +3 -3
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +1 -1
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +4 -5
- package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +3 -3
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +1 -1
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +3 -3
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +3 -3
- package/build/cjs/components/Interpretations/common/Message/Message.js +1 -1
- package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +1 -1
- package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +1 -1
- package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +1 -1
- package/build/cjs/components/Interpretations/common/Message/MessageInput.js +5 -6
- package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +1 -1
- package/build/cjs/components/Interpretations/common/RichTextEditor/RichTextEditor.js +4 -5
- package/build/cjs/components/Interpretations/common/RichTextEditor/markdownHandler.js +9 -18
- package/build/cjs/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +4 -8
- package/build/cjs/components/Interpretations/common/UserMention/UserList.js +1 -1
- package/build/cjs/components/Interpretations/common/UserMention/UserMentionWrapper.js +4 -6
- package/build/cjs/components/Interpretations/common/UserMention/styles/UserMentionWrapper.style.js +4 -6
- package/build/cjs/components/Interpretations/common/UserMention/useUserSearchResults.js +1 -1
- package/build/cjs/components/LegendKey/LegendKey.js +2 -3
- package/build/cjs/components/LegendKey/styles/LegendKey.style.js +1 -2
- package/build/cjs/components/OfflineTooltip.js +1 -1
- package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +5 -9
- package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +2 -3
- package/build/cjs/components/OpenFileDialog/DateField.js +2 -3
- package/build/cjs/components/OpenFileDialog/FileList.js +2 -3
- package/build/cjs/components/OpenFileDialog/NameFilter.js +2 -3
- package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +4 -5
- package/build/cjs/components/OpenFileDialog/OpenFileDialog.styles.js +1 -2
- package/build/cjs/components/OpenFileDialog/PaginationControls.js +2 -3
- package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +2 -3
- package/build/cjs/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -2
- package/build/cjs/components/OpenFileDialog/utils.js +5 -9
- package/build/cjs/components/Options/VisualizationOptions.js +4 -5
- package/build/cjs/components/Options/styles/VisualizationOptions.style.js +17 -32
- package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +4 -5
- package/build/cjs/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +1 -2
- package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +2 -3
- package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +7 -8
- package/build/cjs/components/PeriodDimension/PeriodDimension.js +2 -3
- package/build/cjs/components/PeriodDimension/PeriodTransfer.js +5 -6
- package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +2 -3
- package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +1 -1
- package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +1 -1
- package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +1 -1
- package/build/cjs/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -2
- package/build/cjs/components/PeriodDimension/styles/PeriodFilter.style.js +1 -2
- package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +1 -2
- package/build/cjs/components/PeriodDimension/utils/index.js +19 -38
- package/build/cjs/components/PeriodDimension/utils/relativePeriods.js +1 -1
- package/build/cjs/components/PivotTable/PivotTable.js +4 -5
- package/build/cjs/components/PivotTable/PivotTableBody.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableCell.js +3 -4
- package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableContainer.js +2 -3
- package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -4
- package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableEngineContext.js +4 -5
- package/build/cjs/components/PivotTable/PivotTableHead.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableRow.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableSortIcon.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableTitleRow.js +3 -3
- package/build/cjs/components/PivotTable/PivotTableTitleRows.js +1 -1
- package/build/cjs/components/PivotTable/PivotTableValueCell.js +3 -3
- package/build/cjs/components/PivotTable/icons/SortIconAscending.js +1 -1
- package/build/cjs/components/PivotTable/icons/SortIconDescending.js +1 -1
- package/build/cjs/components/PivotTable/icons/SortIconIdle.js +1 -1
- package/build/cjs/components/PivotTable/styles/PivotTable.style.js +4 -7
- package/build/cjs/components/RichText/Editor.bk/Editor.js +39 -0
- package/build/cjs/components/RichText/Editor.bk/__tests__/Editor.spec.js +29 -0
- package/build/cjs/components/RichText/Editor.bk/__tests__/convertCtrlKey.spec.js +205 -0
- package/build/cjs/components/RichText/Editor.bk/convertCtrlKey.js +86 -0
- package/build/cjs/components/RichText/Parser.bk/MdParser.js +106 -0
- package/build/cjs/components/RichText/Parser.bk/Parser.js +33 -0
- package/build/cjs/components/RichText/Parser.bk/__tests__/MdParser.spec.js +34 -0
- package/build/cjs/components/RichText/Parser.bk/__tests__/Parser.spec.js +41 -0
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +3 -3
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +3 -3
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +3 -3
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +3 -3
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +1 -2
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +1 -1
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +1 -1
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +1 -1
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +1 -1
- package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +1 -1
- package/build/cjs/components/Toolbar/MenuButton.styles.js +1 -2
- package/build/cjs/components/Toolbar/Toolbar.js +1 -1
- package/build/cjs/components/Toolbar/ToolbarSidebar.js +1 -1
- package/build/cjs/components/Toolbar/UpdateButton.js +1 -1
- package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +1 -1
- package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +1 -1
- package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +1 -1
- package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +1 -1
- package/build/cjs/components/TransferOption.js +1 -1
- package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +1 -1
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +3 -3
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +3 -3
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +1 -1
- package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +1 -1
- package/build/cjs/components/VisTypeIcon.js +2 -3
- package/build/cjs/components/styles/DimensionSelector.style.js +1 -2
- package/build/cjs/components/styles/DimensionsPanel.style.js +2 -3
- package/build/cjs/components/styles/OfflineTooltip.style.js +1 -2
- package/build/cjs/components/styles/TransferOption.style.js +1 -2
- package/build/cjs/index.js +11 -3
- package/build/cjs/locales/index.js +2 -3
- package/build/cjs/modules/axis.js +1 -1
- package/build/cjs/modules/dataSets.js +8 -14
- package/build/cjs/modules/dataTypes.js +24 -47
- package/build/cjs/modules/dimensionListItem.js +1 -1
- package/build/cjs/modules/dimensionSelectorHelper.js +3 -6
- package/build/cjs/modules/expressions.js +6 -11
- package/build/cjs/modules/fontStyle.js +19 -37
- package/build/cjs/modules/getAdaptedUiLayoutByType.js +1 -1
- package/build/cjs/modules/getOuLevelAndGroupText.js +1 -1
- package/build/cjs/modules/getPWAInstallationStatus.js +77 -0
- package/build/cjs/modules/hash.js +1 -1
- package/build/cjs/modules/layout/axis.js +10 -16
- package/build/cjs/modules/layout/dimension.js +11 -19
- package/build/cjs/modules/layout/item.js +5 -7
- package/build/cjs/modules/layout/layout.js +3 -4
- package/build/cjs/modules/layout/testResources.js +39 -71
- package/build/cjs/modules/layoutTypes.js +8 -16
- package/build/cjs/modules/layoutUiRules/rules.js +4 -7
- package/build/cjs/modules/legends.js +4 -8
- package/build/cjs/modules/list.js +1 -1
- package/build/cjs/modules/ouIdHelper/index.js +5 -9
- package/build/cjs/modules/outliers/index.js +13 -25
- package/build/cjs/modules/outliers/iqr.js +5 -9
- package/build/cjs/modules/outliers/modZScore.js +2 -3
- package/build/cjs/modules/outliers/normalization.js +2 -2
- package/build/cjs/modules/outliers/zScore.js +2 -3
- package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +3 -3
- package/build/cjs/modules/pivotTable/PivotTableEngine.js +4 -4
- package/build/cjs/modules/pivotTable/clipAxis.js +1 -1
- package/build/cjs/modules/pivotTable/pivotTableConstants.js +29 -58
- package/build/cjs/modules/pivotTable/useParentSize.js +1 -1
- package/build/cjs/modules/pivotTable/useScrollPosition.js +1 -1
- package/build/cjs/modules/pivotTable/useSortableColumns.js +0 -1
- package/build/cjs/modules/predefinedDimensions.js +6 -11
- package/build/cjs/modules/valueTypes.js +21 -42
- package/build/cjs/modules/visTypes.js +24 -47
- package/build/cjs/visualizations/config/adapters/dhis_dhis/index.js +2 -3
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/singleValue.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -4
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCategories.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +3 -3
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/pane/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/scatter.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +1 -1
- package/build/cjs/visualizations/config/adapters/index.js +3 -4
- package/build/cjs/visualizations/config/generators/dhis/index.js +1 -1
- package/build/cjs/visualizations/config/generators/highcharts/index.js +1 -1
- package/build/cjs/visualizations/config/generators/index.js +3 -4
- package/build/cjs/visualizations/config/index.js +1 -1
- package/build/cjs/visualizations/config/validators/index.js +3 -4
- package/build/cjs/visualizations/index.js +2 -3
- package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +1 -1
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +1 -1
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/twoCategory.js +1 -1
- package/build/cjs/visualizations/store/adapters/index.js +3 -4
- package/build/cjs/visualizations/store/index.js +1 -1
- package/build/cjs/visualizations/store/validators/dhis/index.js +1 -1
- package/build/cjs/visualizations/store/validators/index.js +3 -4
- package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +1 -1
- package/build/cjs/visualizations/util/colors/colorSets.js +11 -20
- package/build/cjs/visualizations/util/colors/themes.js +3 -5
- package/build/es/__demo__/OrgUnitDimension.stories.js +0 -1
- package/build/es/api/analytics/AnalyticsResponse.js +0 -1
- package/build/es/api/analytics/__tests__/AnalyticsTrackedEntities.spec.js +41 -0
- package/build/es/api/analytics/__tests__/__snapshots__/AnalyticsTrackedEntities.spec.js.snap +3 -0
- package/build/es/components/DashboardPluginWrapper/DashboardPluginWrapper.js +79 -0
- package/build/es/components/DataDimension/Calculation/DataElementOption.js +1 -1
- package/build/es/components/DataDimension/Calculation/DndContext.js +3 -3
- package/build/es/components/DataDimension/Calculation/FormulaItem.js +1 -1
- package/build/es/components/DataDimension/Calculation/Operator.js +1 -1
- package/build/es/components/DataDimension/ItemSelector.js +1 -2
- package/build/es/components/DimensionsPanel/DimensionsPanel.js +3 -3
- package/build/es/components/DimensionsPanel/List/DimensionItem.js +4 -4
- package/build/es/components/DimensionsPanel/List/DimensionList.js +3 -3
- package/build/es/components/DynamicDimension/ItemSelector.js +1 -2
- package/build/es/components/FileMenu/utils.js +2 -0
- package/build/es/components/Interpretations/common/Message/MessageInput.js +1 -1
- package/build/es/components/Interpretations/common/UserMention/UserMentionWrapper.js +0 -1
- package/build/es/components/PeriodDimension/FixedPeriodSelect.js +3 -3
- package/build/es/components/PeriodDimension/PeriodTransfer.js +1 -1
- package/build/es/components/PeriodDimension/utils/fixedPeriods.js +0 -1
- package/build/es/components/PivotTable/PivotTableCell.js +1 -1
- package/build/es/components/PivotTable/PivotTableEmptyCell.js +1 -1
- package/build/es/components/PivotTable/styles/PivotTable.style.js +2 -2
- package/build/es/components/RichText/Editor.bk/Editor.js +30 -0
- package/build/es/components/RichText/Editor.bk/__tests__/Editor.spec.js +26 -0
- package/build/es/components/RichText/Editor.bk/__tests__/convertCtrlKey.spec.js +202 -0
- package/build/es/components/RichText/Editor.bk/convertCtrlKey.js +80 -0
- package/build/es/components/RichText/Parser.bk/MdParser.js +99 -0
- package/build/es/components/RichText/Parser.bk/Parser.js +24 -0
- package/build/es/components/RichText/Parser.bk/__tests__/MdParser.spec.js +31 -0
- package/build/es/components/RichText/Parser.bk/__tests__/Parser.spec.js +38 -0
- package/build/es/index.js +1 -0
- package/build/es/modules/getPWAInstallationStatus.js +70 -0
- package/build/es/modules/pivotTable/AdaptiveClippingController.js +3 -3
- package/build/es/modules/pivotTable/PivotTableEngine.js +3 -3
- package/build/es/modules/pivotTable/useSortableColumns.js +0 -1
- package/package.json +3 -3
|
@@ -8,7 +8,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _PivotTableColumnHeaders = require("./PivotTableColumnHeaders.js");
|
|
10
10
|
var _PivotTableTitleRows = require("./PivotTableTitleRows.js");
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
const PivotTableHead = _ref => {
|
|
13
13
|
let {
|
|
14
14
|
clippingResult,
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.PivotTableHeaderCell = void 0;
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
8
|
var _getHeaderForDisplay = require("../../modules/pivotTable/getHeaderForDisplay.js");
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
const PivotTableHeaderCell = _ref => {
|
|
11
11
|
let {
|
|
12
12
|
axisClippingResult,
|
|
@@ -12,7 +12,7 @@ var _PivotTableEmptyCell = require("./PivotTableEmptyCell.js");
|
|
|
12
12
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
13
13
|
var _PivotTableRowHeaderCell = require("./PivotTableRowHeaderCell.js");
|
|
14
14
|
var _PivotTableValueCell = require("./PivotTableValueCell.js");
|
|
15
|
-
function _interopRequireDefault(
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
const PivotTableRow = _ref => {
|
|
17
17
|
let {
|
|
18
18
|
clippingResult,
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _PivotTableCell = require("./PivotTableCell.js");
|
|
10
10
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
11
11
|
var _PivotTableHeaderCell = require("./PivotTableHeaderCell.js");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const PivotTableRowHeaderCell = _ref => {
|
|
14
14
|
var _engine$adaptiveClipp;
|
|
15
15
|
let {
|
|
@@ -13,7 +13,7 @@ var _SortIconDescending = require("./icons/SortIconDescending.js");
|
|
|
13
13
|
var _SortIconIdle = require("./icons/SortIconIdle.js");
|
|
14
14
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
15
15
|
var _PivotTableStyle = require("./styles/PivotTable.style.js");
|
|
16
|
-
function _interopRequireDefault(
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
const PivotTableSortIcon = _ref => {
|
|
18
18
|
let {
|
|
19
19
|
index,
|
|
@@ -11,9 +11,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _PivotTableCell = require("./PivotTableCell.js");
|
|
12
12
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
13
13
|
var _PivotTableStyle = require("./styles/PivotTable.style.js");
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
16
|
-
function _interopRequireDefault(
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
const PivotTableTitleRow = _ref => {
|
|
18
18
|
var _scrollPosition$x;
|
|
19
19
|
let {
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _getFilterText = _interopRequireDefault(require("../../visualizations/util/getFilterText.js"));
|
|
10
10
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
11
11
|
var _PivotTableTitleRow = require("./PivotTableTitleRow.js");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const PivotTableTitleRows = _ref => {
|
|
14
14
|
var _engine$visualization;
|
|
15
15
|
let {
|
|
@@ -12,9 +12,9 @@ var _valueTypes = require("../../modules/valueTypes.js");
|
|
|
12
12
|
var _PivotTableCell = require("./PivotTableCell.js");
|
|
13
13
|
var _PivotTableEmptyCell = require("./PivotTableEmptyCell.js");
|
|
14
14
|
var _PivotTableEngineContext = require("./PivotTableEngineContext.js");
|
|
15
|
-
function _getRequireWildcardCache(
|
|
16
|
-
function _interopRequireWildcard(
|
|
17
|
-
function _interopRequireDefault(
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
const PivotTableValueCell = _ref => {
|
|
19
19
|
var _cellContent$rendered;
|
|
20
20
|
let {
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SortIconAscending = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const SortIconAscending = () => /*#__PURE__*/_react.default.createElement("svg", {
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
viewBox: "0 0 6 10",
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SortIconDescending = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const SortIconDescending = () => /*#__PURE__*/_react.default.createElement("svg", {
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
viewBox: "0 0 6 10",
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SortIconIdle = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const SortIconIdle = () => /*#__PURE__*/_react.default.createElement("svg", {
|
|
10
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11
11
|
viewBox: "0 0 6 10",
|
|
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.table = exports.sortIcon = exports.cell = void 0;
|
|
7
7
|
var _ui = require("@dhis2/ui");
|
|
8
8
|
var _pivotTableConstants = require("../../../modules/pivotTable/pivotTableConstants.js");
|
|
9
|
-
const table = [`div.pivot-table-container{font-family:'Roboto',Arial,sans-serif;overflow:auto;color:${_ui.colors.grey900};}`, `table{border-spacing:0;white-space:nowrap;box-sizing:border-box;text-align:center;border:1px solid ${_pivotTableConstants.BORDER_COLOR};border-width:1px 1px 0 0;}`, "table.fixed-headers{border-width:0 0 0 1px;}", "table.fixed-headers tr th,table.fixed-headers tr td{border-width:0 1px 1px 0;}", "table.fixed-column-headers{border-width:0 1px 0 0;}", "table.fixed-column-headers tr th,table.fixed-column-headers tr td{border-width:0 0 1px 1px;}", `table.fixed-headers thead tr:first-of-type th,table.fixed-column-headers thead tr:first-of-type th{border-top:1px solid ${_pivotTableConstants.BORDER_COLOR};}`, "table.fixed-row-headers{border-width:0 0 1px 1px;}", "table.fixed-row-headers tr th,table.fixed-row-headers tr td{border-width:1px 1px 0 0;}"];
|
|
10
|
-
exports.table = table;
|
|
9
|
+
const table = exports.table = [`div.pivot-table-container{font-family:'Roboto',Arial,sans-serif;overflow:auto;color:${_ui.colors.grey900};}`, `table{border-spacing:0;white-space:nowrap;box-sizing:border-box;text-align:center;border:1px solid ${_pivotTableConstants.BORDER_COLOR};border-width:1px 1px 0 0;}`, "table.fixed-headers{border-width:0 0 0 1px;}", "table.fixed-headers tr th,table.fixed-headers tr td{border-width:0 1px 1px 0;}", "table.fixed-column-headers{border-width:0 1px 0 0;}", "table.fixed-column-headers tr th,table.fixed-column-headers tr td{border-width:0 0 1px 1px;}", `table.fixed-headers thead tr:first-of-type th,table.fixed-column-headers thead tr:first-of-type th{border-top:1px solid ${_pivotTableConstants.BORDER_COLOR};}`, "table.fixed-row-headers{border-width:0 0 1px 1px;}", "table.fixed-row-headers tr th,table.fixed-row-headers tr td{border-width:1px 1px 0 0;}"];
|
|
11
10
|
table.__hash = "712241344";
|
|
12
|
-
const cell = [`td.jsx-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const sortIcon = [`.fontsize-SMALL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_SMALL}px;margin-bottom:1px;margin-left:5px;}`, `.fontsize-NORMAL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_NORMAL}px;max-height:11px;margin-bottom:2px;margin-left:6px;}`, `.fontsize-LARGE.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_LARGE}px;margin-bottom:2px;margin-left:7px;}`];
|
|
16
|
-
exports.sortIcon = sortIcon;
|
|
11
|
+
const cell = exports.cell = [`td.jsx-3234356038,th.jsx-3234356038{box-sizing:border-box;font-weight:normal;overflow:hidden;text-overflow:ellipsis;border:1px solid ${_pivotTableConstants.BORDER_COLOR};border-width:0 0 1px 1px;cursor:default;}`, "th.fixed-header.jsx-3234356038{position:-webkit-sticky;position:sticky;z-index:1;top:0;left:0;}", `.fontsize-SMALL.jsx-3234356038{font-size:${_pivotTableConstants.FONT_SIZE_SMALL}px;line-height:${_pivotTableConstants.FONT_SIZE_SMALL}px;}`, `.fontsize-NORMAL.jsx-3234356038{font-size:${_pivotTableConstants.FONT_SIZE_NORMAL}px;line-height:${_pivotTableConstants.FONT_SIZE_NORMAL}px;}`, `.fontsize-LARGE.jsx-3234356038{font-size:${_pivotTableConstants.FONT_SIZE_LARGE}px;line-height:${_pivotTableConstants.FONT_SIZE_LARGE}px;}`, `.displaydensity-COMPACT.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMPACT}px;}`, `.displaydensity-NORMAL.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_NORMAL}px;}`, `.displaydensity-COMFORTABLE.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMFORTABLE}px;}`, ".column-header.jsx-3234356038{background-color:#dae6f8;}", "div.column-header-inner.jsx-3234356038{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}", ".title-cell.jsx-3234356038{font-weight:bold;background-color:#cddaed;padding:0;}", ".title-cell-content.jsx-3234356038{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}", `.title-cell.displaydensity-COMPACT.jsx-3234356038>.title-cell-content.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMPACT}px;}`, `.title-cell.displaydensity-NORMAL.jsx-3234356038>.title-cell-content.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_NORMAL}px;}`, `.title-cell.displaydensity-COMFORTABLE.jsx-3234356038>.title-cell-content.jsx-3234356038{padding:${_pivotTableConstants.DISPLAY_DENSITY_PADDING_COMFORTABLE}px;}`, ".row-header.jsx-3234356038{background-color:#dae6f8;}", ".row-header-hierarchy.jsx-3234356038{text-align:left;}", ".empty-header.jsx-3234356038{background-color:#cddaed;}", ".total-header.jsx-3234356038{background-color:#bac6d8;}", ".value.jsx-3234356038{background-color:#ffffff;text-align:left;}", ".NUMBER.jsx-3234356038,.INTEGER.jsx-3234356038,.INTEGER_POSITIVE.jsx-3234356038,.INTEGER_NEGATIVE.jsx-3234356038,.INTEGER_ZERO_OR_POSITIVE.jsx-3234356038,.UNIT_INTERVAL.jsx-3234356038,.PERCENTAGE.jsx-3234356038,.BOOLEAN.jsx-3234356038,.TRUE_ONLY.jsx-3234356038{text-align:right;}", ".clickable.jsx-3234356038{cursor:pointer;}", ".value.jsx-3234356038:hover{background-color:#f3f3f3;}", ".subtotal.jsx-3234356038{background-color:#f4f4f4;}", ".total.jsx-3234356038{background-color:#d8d8d8;}", ".column-header-label.jsx-3234356038{overflow:hidden;text-overflow:ellipsis;}"];
|
|
12
|
+
cell.__hash = "3234356038";
|
|
13
|
+
const sortIcon = exports.sortIcon = [`.fontsize-SMALL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_SMALL}px;margin-bottom:1px;margin-left:5px;}`, `.fontsize-NORMAL.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_NORMAL}px;max-height:11px;margin-bottom:2px;margin-left:6px;}`, `.fontsize-LARGE.jsx-2877616992{height:${_pivotTableConstants.FONT_SIZE_LARGE}px;margin-bottom:2px;margin-left:7px;}`];
|
|
17
14
|
sortIcon.__hash = "2877616992";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _convertCtrlKey = _interopRequireDefault(require("./convertCtrlKey.js"));
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
+
class Editor extends _react.Component {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
_defineProperty(this, "onKeyDown", event => {
|
|
20
|
+
(0, _convertCtrlKey.default)(event, this.props.onEdit);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
const {
|
|
25
|
+
children
|
|
26
|
+
} = this.props;
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
+
onKeyDown: this.onKeyDown
|
|
29
|
+
}, children);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
Editor.defaultProps = {
|
|
33
|
+
onEdit: null
|
|
34
|
+
};
|
|
35
|
+
Editor.propTypes = {
|
|
36
|
+
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]),
|
|
37
|
+
onEdit: _propTypes.default.func
|
|
38
|
+
};
|
|
39
|
+
var _default = exports.default = Editor;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _enzyme = require("enzyme");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _convertCtrlKey = _interopRequireDefault(require("../convertCtrlKey.js"));
|
|
6
|
+
var _Editor = _interopRequireDefault(require("../Editor.js"));
|
|
7
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
jest.mock('../convertCtrlKey');
|
|
9
|
+
describe('RichText: Editor component', () => {
|
|
10
|
+
let richTextEditor;
|
|
11
|
+
const componentProps = {
|
|
12
|
+
onEdit: jest.fn()
|
|
13
|
+
};
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
_convertCtrlKey.default.mockClear();
|
|
16
|
+
});
|
|
17
|
+
const renderComponent = props => {
|
|
18
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_Editor.default, props, /*#__PURE__*/_react.default.createElement("input", null)));
|
|
19
|
+
};
|
|
20
|
+
it('renders a result', () => {
|
|
21
|
+
richTextEditor = renderComponent(componentProps);
|
|
22
|
+
expect(richTextEditor).toHaveLength(1);
|
|
23
|
+
});
|
|
24
|
+
it('calls convertCtrlKey on keydown', () => {
|
|
25
|
+
richTextEditor = renderComponent(componentProps);
|
|
26
|
+
richTextEditor.simulate('keyDown');
|
|
27
|
+
expect(_convertCtrlKey.default).toHaveBeenCalled();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _convertCtrlKey = _interopRequireDefault(require("../convertCtrlKey.js"));
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('convertCtrlKey', () => {
|
|
6
|
+
it('does not trigger callback if no ctrl key', () => {
|
|
7
|
+
const cb = jest.fn();
|
|
8
|
+
const e = {
|
|
9
|
+
key: 'j',
|
|
10
|
+
preventDefault: () => {}
|
|
11
|
+
};
|
|
12
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
13
|
+
expect(cb).not.toHaveBeenCalled();
|
|
14
|
+
});
|
|
15
|
+
describe('when ctrl key + "b" pressed', () => {
|
|
16
|
+
it('triggers callback with open/close markers and caret pos in between', () => {
|
|
17
|
+
const cb = jest.fn();
|
|
18
|
+
const e = {
|
|
19
|
+
key: 'b',
|
|
20
|
+
ctrlKey: true,
|
|
21
|
+
target: {
|
|
22
|
+
selectionStart: 0,
|
|
23
|
+
selectionEnd: 0,
|
|
24
|
+
value: 'rainbow dash'
|
|
25
|
+
},
|
|
26
|
+
preventDefault: () => {}
|
|
27
|
+
};
|
|
28
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
29
|
+
expect(cb).toHaveBeenCalled();
|
|
30
|
+
expect(cb).toHaveBeenCalledWith('** rainbow dash', 1);
|
|
31
|
+
});
|
|
32
|
+
it('triggers callback with open/close markers and caret pos in between (end of text)', () => {
|
|
33
|
+
const cb = jest.fn();
|
|
34
|
+
const e = {
|
|
35
|
+
key: 'b',
|
|
36
|
+
ctrlKey: true,
|
|
37
|
+
target: {
|
|
38
|
+
selectionStart: 22,
|
|
39
|
+
selectionEnd: 22,
|
|
40
|
+
value: 'rainbow dash is purple'
|
|
41
|
+
},
|
|
42
|
+
preventDefault: () => {}
|
|
43
|
+
};
|
|
44
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
45
|
+
expect(cb).toHaveBeenCalled();
|
|
46
|
+
expect(cb).toHaveBeenCalledWith('rainbow dash is purple **', 24);
|
|
47
|
+
});
|
|
48
|
+
it('triggers callback with open/close markers mid-text with surrounding spaces (1)', () => {
|
|
49
|
+
const cb = jest.fn();
|
|
50
|
+
const e = {
|
|
51
|
+
key: 'b',
|
|
52
|
+
metaKey: true,
|
|
53
|
+
target: {
|
|
54
|
+
selectionStart: 4,
|
|
55
|
+
// caret located just before "quick"
|
|
56
|
+
selectionEnd: 4,
|
|
57
|
+
value: 'the quick brown fox'
|
|
58
|
+
},
|
|
59
|
+
preventDefault: () => {}
|
|
60
|
+
};
|
|
61
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
62
|
+
expect(cb).toHaveBeenCalled();
|
|
63
|
+
expect(cb).toHaveBeenCalledWith('the ** quick brown fox', 5);
|
|
64
|
+
});
|
|
65
|
+
it('triggers callback with open/close markers mid-text with surrounding spaces (2)', () => {
|
|
66
|
+
const cb = jest.fn();
|
|
67
|
+
const e = {
|
|
68
|
+
key: 'b',
|
|
69
|
+
metaKey: true,
|
|
70
|
+
target: {
|
|
71
|
+
selectionStart: 3,
|
|
72
|
+
// caret located just after "the"
|
|
73
|
+
selectionEnd: 3,
|
|
74
|
+
value: 'the quick brown fox'
|
|
75
|
+
},
|
|
76
|
+
preventDefault: () => {}
|
|
77
|
+
};
|
|
78
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
79
|
+
expect(cb).toHaveBeenCalled();
|
|
80
|
+
expect(cb).toHaveBeenCalledWith('the ** quick brown fox', 5);
|
|
81
|
+
});
|
|
82
|
+
it('triggers callback with correct double markers and padding', () => {
|
|
83
|
+
const cb = jest.fn();
|
|
84
|
+
const e = {
|
|
85
|
+
key: 'b',
|
|
86
|
+
metaKey: true,
|
|
87
|
+
target: {
|
|
88
|
+
selectionStart: 9,
|
|
89
|
+
// between the underscores
|
|
90
|
+
selectionEnd: 9,
|
|
91
|
+
value: 'rainbow __'
|
|
92
|
+
},
|
|
93
|
+
preventDefault: () => {}
|
|
94
|
+
};
|
|
95
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
96
|
+
expect(cb).toHaveBeenCalled();
|
|
97
|
+
expect(cb).toHaveBeenCalledWith('rainbow _**_', 10);
|
|
98
|
+
});
|
|
99
|
+
describe('selected text', () => {
|
|
100
|
+
it('triggers callback with open/close markers around text and caret pos after closing marker', () => {
|
|
101
|
+
const cb = jest.fn();
|
|
102
|
+
const e = {
|
|
103
|
+
key: 'b',
|
|
104
|
+
metaKey: true,
|
|
105
|
+
target: {
|
|
106
|
+
selectionStart: 5,
|
|
107
|
+
// "ow da" is selected
|
|
108
|
+
selectionEnd: 10,
|
|
109
|
+
value: 'rainbow dash is purple'
|
|
110
|
+
},
|
|
111
|
+
preventDefault: () => {}
|
|
112
|
+
};
|
|
113
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
114
|
+
expect(cb).toHaveBeenCalled();
|
|
115
|
+
expect(cb).toHaveBeenCalledWith('rainb *ow da* sh is purple', 13);
|
|
116
|
+
});
|
|
117
|
+
it('triggers callback with open/close markers around text when starting at beginning of line', () => {
|
|
118
|
+
const cb = jest.fn();
|
|
119
|
+
const e = {
|
|
120
|
+
key: 'b',
|
|
121
|
+
metaKey: true,
|
|
122
|
+
target: {
|
|
123
|
+
selectionStart: 0,
|
|
124
|
+
// "rainbow" is selected
|
|
125
|
+
selectionEnd: 7,
|
|
126
|
+
value: 'rainbow dash is purple'
|
|
127
|
+
},
|
|
128
|
+
preventDefault: () => {}
|
|
129
|
+
};
|
|
130
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
131
|
+
expect(cb).toHaveBeenCalled();
|
|
132
|
+
expect(cb).toHaveBeenCalledWith('*rainbow* dash is purple', 9);
|
|
133
|
+
});
|
|
134
|
+
it('triggers callback with open/close markers around text when ending at end of line', () => {
|
|
135
|
+
const cb = jest.fn();
|
|
136
|
+
const e = {
|
|
137
|
+
key: 'b',
|
|
138
|
+
metaKey: true,
|
|
139
|
+
target: {
|
|
140
|
+
selectionStart: 16,
|
|
141
|
+
// "purple" is selected
|
|
142
|
+
selectionEnd: 22,
|
|
143
|
+
value: 'rainbow dash is purple'
|
|
144
|
+
},
|
|
145
|
+
preventDefault: () => {}
|
|
146
|
+
};
|
|
147
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
148
|
+
expect(cb).toHaveBeenCalled();
|
|
149
|
+
expect(cb).toHaveBeenCalledWith('rainbow dash is *purple*', 24);
|
|
150
|
+
});
|
|
151
|
+
it('triggers callback with open/close markers around word', () => {
|
|
152
|
+
const cb = jest.fn();
|
|
153
|
+
const e = {
|
|
154
|
+
key: 'b',
|
|
155
|
+
metaKey: true,
|
|
156
|
+
target: {
|
|
157
|
+
selectionStart: 8,
|
|
158
|
+
// "dash" is selected
|
|
159
|
+
selectionEnd: 12,
|
|
160
|
+
value: 'rainbow dash is purple'
|
|
161
|
+
},
|
|
162
|
+
preventDefault: () => {}
|
|
163
|
+
};
|
|
164
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
165
|
+
expect(cb).toHaveBeenCalled();
|
|
166
|
+
expect(cb).toHaveBeenCalledWith('rainbow *dash* is purple', 14);
|
|
167
|
+
});
|
|
168
|
+
it('triggers callback with leading/trailing spaces trimmed from selection', () => {
|
|
169
|
+
const cb = jest.fn();
|
|
170
|
+
const e = {
|
|
171
|
+
key: 'b',
|
|
172
|
+
metaKey: true,
|
|
173
|
+
target: {
|
|
174
|
+
selectionStart: 8,
|
|
175
|
+
// " dash " is selected (note leading and trailing space)
|
|
176
|
+
selectionEnd: 13,
|
|
177
|
+
value: 'rainbow dash is purple'
|
|
178
|
+
},
|
|
179
|
+
preventDefault: () => {}
|
|
180
|
+
};
|
|
181
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
182
|
+
expect(cb).toHaveBeenCalled();
|
|
183
|
+
expect(cb).toHaveBeenCalledWith('rainbow *dash* is purple', 14);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
describe('when ctrl key + "i" pressed', () => {
|
|
188
|
+
it('triggers callback with open/close italics markers and caret pos in between', () => {
|
|
189
|
+
const cb = jest.fn();
|
|
190
|
+
const e = {
|
|
191
|
+
key: 'i',
|
|
192
|
+
ctrlKey: true,
|
|
193
|
+
target: {
|
|
194
|
+
selectionStart: 0,
|
|
195
|
+
selectionEnd: 0,
|
|
196
|
+
value: ''
|
|
197
|
+
},
|
|
198
|
+
preventDefault: () => {}
|
|
199
|
+
};
|
|
200
|
+
(0, _convertCtrlKey.default)(e, cb);
|
|
201
|
+
expect(cb).toHaveBeenCalled();
|
|
202
|
+
expect(cb).toHaveBeenCalledWith('__', 1);
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const state = {
|
|
8
|
+
boldMode: false,
|
|
9
|
+
italicMode: false,
|
|
10
|
+
element: null
|
|
11
|
+
};
|
|
12
|
+
const markerMap = {
|
|
13
|
+
italic: '_',
|
|
14
|
+
bold: '*'
|
|
15
|
+
};
|
|
16
|
+
const trim = str => {
|
|
17
|
+
const leftSpaces = /^\s+/;
|
|
18
|
+
const rightSpaces = /\s+$/;
|
|
19
|
+
return str.replace(leftSpaces, '').replace(rightSpaces, '');
|
|
20
|
+
};
|
|
21
|
+
const toggleMode = mode => {
|
|
22
|
+
const prop = `${mode}Mode`;
|
|
23
|
+
state[prop] = !state[prop];
|
|
24
|
+
};
|
|
25
|
+
const insertMarkers = (mode, cb) => {
|
|
26
|
+
const {
|
|
27
|
+
selectionStart: start,
|
|
28
|
+
selectionEnd: end,
|
|
29
|
+
value
|
|
30
|
+
} = state.element;
|
|
31
|
+
const marker = markerMap[mode] || null;
|
|
32
|
+
if (!marker || !cb || start < 0) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
toggleMode(mode);
|
|
36
|
+
let newValue;
|
|
37
|
+
let caretPos = end + 1;
|
|
38
|
+
const padMarkers = text => {
|
|
39
|
+
// is caret between two markers (i.e., "**" or "__")? Then do not add padding
|
|
40
|
+
if (start === end && value.length && start > 0) {
|
|
41
|
+
if (value[start - 1] === markerMap.bold && value[start] === markerMap.bold || value[start - 1] === markerMap.italic && value[start] === markerMap.italic) {
|
|
42
|
+
return text;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (value.length && start > 0 && value[start - 1] !== ' ') {
|
|
46
|
+
text = ` ${text}`;
|
|
47
|
+
++caretPos;
|
|
48
|
+
}
|
|
49
|
+
if (value.length && end !== value.length && value[end] !== ' ') {
|
|
50
|
+
text = `${text} `;
|
|
51
|
+
}
|
|
52
|
+
return text;
|
|
53
|
+
};
|
|
54
|
+
if (start === end) {
|
|
55
|
+
//no text
|
|
56
|
+
const valueArr = value.split('');
|
|
57
|
+
valueArr.splice(start, 0, padMarkers(`${marker}${marker}`));
|
|
58
|
+
newValue = valueArr.join('');
|
|
59
|
+
} else {
|
|
60
|
+
const text = value.slice(start, end);
|
|
61
|
+
const trimmedText = trim(text);
|
|
62
|
+
|
|
63
|
+
// adjust caretPos based on trimmed text selection
|
|
64
|
+
caretPos = caretPos - (text.length - trimmedText.length) + 1;
|
|
65
|
+
newValue = [value.slice(0, start), padMarkers(`${marker}${trimmedText}${marker}`), value.slice(end)].join('');
|
|
66
|
+
toggleMode(mode);
|
|
67
|
+
}
|
|
68
|
+
cb(newValue, caretPos);
|
|
69
|
+
};
|
|
70
|
+
const convertCtrlKey = (event, cb) => {
|
|
71
|
+
const {
|
|
72
|
+
key,
|
|
73
|
+
ctrlKey,
|
|
74
|
+
metaKey
|
|
75
|
+
} = event;
|
|
76
|
+
const element = event.target;
|
|
77
|
+
state.element = element;
|
|
78
|
+
if (key === 'b' && (ctrlKey || metaKey)) {
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
insertMarkers('bold', cb);
|
|
81
|
+
} else if (key === 'i' && (ctrlKey || metaKey)) {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
insertMarkers('italic', cb);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var _default = exports.default = convertCtrlKey;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _markdownIt = _interopRequireDefault(require("markdown-it"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const emojiDb = {
|
|
10
|
+
':-)': '\u{1F642}',
|
|
11
|
+
':)': '\u{1F642}',
|
|
12
|
+
':-(': '\u{1F641}',
|
|
13
|
+
':(': '\u{1F641}',
|
|
14
|
+
':+1': '\u{1F44D}',
|
|
15
|
+
':-1': '\u{1F44E}'
|
|
16
|
+
};
|
|
17
|
+
const codes = {
|
|
18
|
+
bold: {
|
|
19
|
+
name: 'bold',
|
|
20
|
+
char: '*',
|
|
21
|
+
domEl: 'strong',
|
|
22
|
+
encodedChar: 0x2a,
|
|
23
|
+
// see https://regex101.com/r/evswdV/8 for explanation of regexp
|
|
24
|
+
regexString: '\\B\\*((?!\\s)[^*]+(?:\\b|[^*\\s]))\\*\\B',
|
|
25
|
+
contentFn: val => val
|
|
26
|
+
},
|
|
27
|
+
italic: {
|
|
28
|
+
name: 'italic',
|
|
29
|
+
char: '_',
|
|
30
|
+
domEl: 'em',
|
|
31
|
+
encodedChar: 0x5f,
|
|
32
|
+
// see https://regex101.com/r/p6LpjK/6 for explanation of regexp
|
|
33
|
+
regexString: '\\b_((?!\\s)[^_]+(?:\\B|[^_\\s]))_\\b',
|
|
34
|
+
contentFn: val => val
|
|
35
|
+
},
|
|
36
|
+
emoji: {
|
|
37
|
+
name: 'emoji',
|
|
38
|
+
char: ':',
|
|
39
|
+
domEl: 'span',
|
|
40
|
+
encodedChar: 0x3a,
|
|
41
|
+
regexString: '^(:-\\)|:\\)|:\\(|:-\\(|:\\+1|:-1)',
|
|
42
|
+
contentFn: val => emojiDb[val]
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
let md;
|
|
46
|
+
let linksInText;
|
|
47
|
+
const markerIsInLinkText = pos => linksInText.some(link => pos >= link.index && pos <= link.lastIndex);
|
|
48
|
+
const parse = code => (state, silent) => {
|
|
49
|
+
if (silent) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const start = state.pos;
|
|
53
|
+
|
|
54
|
+
// skip parsing emphasis if marker is within a link
|
|
55
|
+
if (markerIsInLinkText(start)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const marker = state.src.charCodeAt(start);
|
|
59
|
+
|
|
60
|
+
// marker character: "_", "*", ":"
|
|
61
|
+
if (marker !== codes[code].encodedChar) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const MARKER_REGEX = new RegExp(codes[code].regexString);
|
|
65
|
+
const token = state.src.slice(start);
|
|
66
|
+
if (MARKER_REGEX.test(token)) {
|
|
67
|
+
const markerMatch = token.match(MARKER_REGEX);
|
|
68
|
+
|
|
69
|
+
// skip parsing sections where the marker is not at the start of the token
|
|
70
|
+
if (markerMatch.index !== 0) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
const text = markerMatch[1];
|
|
74
|
+
state.push(`${codes[code].domEl}_open`, codes[code].domEl, 1);
|
|
75
|
+
const t = state.push('text', '', 0);
|
|
76
|
+
t.content = codes[code].contentFn(text);
|
|
77
|
+
state.push(`${codes.bold.domEl}_close`, codes[code].domEl, -1);
|
|
78
|
+
state.pos += markerMatch[0].length;
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
};
|
|
83
|
+
class MdParser {
|
|
84
|
+
constructor() {
|
|
85
|
+
// disable all rules, enable autolink for URLs and email addresses
|
|
86
|
+
md = new _markdownIt.default('zero', {
|
|
87
|
+
linkify: true
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// *bold* -> <strong>bold</strong>
|
|
91
|
+
md.inline.ruler.push('strong', parse(codes.bold.name));
|
|
92
|
+
|
|
93
|
+
// _italic_ -> <em>italic</em>
|
|
94
|
+
md.inline.ruler.push('italic', parse(codes.italic.name));
|
|
95
|
+
|
|
96
|
+
// :-) :) :-( :( :+1 :-1 -> <span>[unicode]</span>
|
|
97
|
+
md.inline.ruler.push('emoji', parse(codes.emoji.name));
|
|
98
|
+
md.enable(['link', 'linkify', 'strong', 'italic', 'emoji']);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
render(text) {
|
|
102
|
+
linksInText = md.linkify.match(text) || [];
|
|
103
|
+
return md.renderInline(text);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
var _default = exports.default = MdParser;
|