@atlaskit/jql-editor 4.0.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/CHANGELOG.md +1048 -0
- package/LICENSE.md +13 -0
- package/README.md +3 -0
- package/dist/cjs/accessibility/index.js +12 -0
- package/dist/cjs/accessibility/styled.js +12 -0
- package/dist/cjs/analytics/constants.js +27 -0
- package/dist/cjs/analytics/index.js +57 -0
- package/dist/cjs/analytics/listener/analytics-web-client-wrapper.js +77 -0
- package/dist/cjs/analytics/listener/handle-event.js +21 -0
- package/dist/cjs/analytics/listener/helpers/logger.js +89 -0
- package/dist/cjs/analytics/listener/index.js +13 -0
- package/dist/cjs/analytics/listener/jql-editor-analytics-listener.js +52 -0
- package/dist/cjs/analytics/listener/process-event-payload.js +44 -0
- package/dist/cjs/analytics/listener/types.js +5 -0
- package/dist/cjs/analytics/types.js +5 -0
- package/dist/cjs/analytics/util.js +10 -0
- package/dist/cjs/async.js +34 -0
- package/dist/cjs/commands/select-error-command/index.js +30 -0
- package/dist/cjs/common/constants.js +11 -0
- package/dist/cjs/common/messages.js +14 -0
- package/dist/cjs/common/styled.js +15 -0
- package/dist/cjs/hooks/use-editor-theme/index.js +53 -0
- package/dist/cjs/hooks/use-editor-view-has-infos/index.js +16 -0
- package/dist/cjs/hooks/use-editor-view-has-warnings/index.js +19 -0
- package/dist/cjs/hooks/use-editor-view-is-invalid/index.js +52 -0
- package/dist/cjs/i18n/cs.js +68 -0
- package/dist/cjs/i18n/da.js +68 -0
- package/dist/cjs/i18n/de.js +68 -0
- package/dist/cjs/i18n/en.js +68 -0
- package/dist/cjs/i18n/en_GB.js +68 -0
- package/dist/cjs/i18n/en_ZZ.js +68 -0
- package/dist/cjs/i18n/es.js +68 -0
- package/dist/cjs/i18n/et.js +14 -0
- package/dist/cjs/i18n/fi.js +68 -0
- package/dist/cjs/i18n/fr.js +68 -0
- package/dist/cjs/i18n/hu.js +68 -0
- package/dist/cjs/i18n/index.js +132 -0
- package/dist/cjs/i18n/it.js +68 -0
- package/dist/cjs/i18n/ja.js +68 -0
- package/dist/cjs/i18n/ko.js +68 -0
- package/dist/cjs/i18n/nb.js +68 -0
- package/dist/cjs/i18n/nl.js +68 -0
- package/dist/cjs/i18n/pl.js +68 -0
- package/dist/cjs/i18n/pt_BR.js +68 -0
- package/dist/cjs/i18n/pt_PT.js +14 -0
- package/dist/cjs/i18n/ru.js +68 -0
- package/dist/cjs/i18n/sk.js +14 -0
- package/dist/cjs/i18n/sv.js +68 -0
- package/dist/cjs/i18n/th.js +68 -0
- package/dist/cjs/i18n/tr.js +68 -0
- package/dist/cjs/i18n/uk.js +68 -0
- package/dist/cjs/i18n/vi.js +68 -0
- package/dist/cjs/i18n/zh.js +68 -0
- package/dist/cjs/i18n/zh_TW.js +68 -0
- package/dist/cjs/index.js +52 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete/index.js +48 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-dropdown/index.js +278 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-dropdown/styled.js +22 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-option/glyphs.js +104 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-option/index.js +175 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-option/messages.js +19 -0
- package/dist/cjs/plugins/autocomplete/components/autocomplete-option/styled.js +26 -0
- package/dist/cjs/plugins/autocomplete/components/types.js +5 -0
- package/dist/cjs/plugins/autocomplete/constants.js +35 -0
- package/dist/cjs/plugins/autocomplete/index.js +37 -0
- package/dist/cjs/plugins/autocomplete/messages.js +14 -0
- package/dist/cjs/plugins/autocomplete/types.js +5 -0
- package/dist/cjs/plugins/autocomplete/view.js +125 -0
- package/dist/cjs/plugins/common/get-document-position/index.js +99 -0
- package/dist/cjs/plugins/common/plugin-keymap.js +50 -0
- package/dist/cjs/plugins/common/react-plugin-view.js +93 -0
- package/dist/cjs/plugins/index.js +41 -0
- package/dist/cjs/plugins/jql-ast/JQLEditorErrorStrategy.js +218 -0
- package/dist/cjs/plugins/jql-ast/constants.js +15 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/CustomFieldRuleErrorHandler.js +13 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/ExpectedTokensErrorHandler.js +62 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/FieldPropertyIdErrorHandler.js +17 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/FieldRuleErrorHandler.js +20 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/FunctionArgumentRuleErrorHandler.js +17 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/OperandRuleErrorHandler.js +66 -0
- package/dist/cjs/plugins/jql-ast/error-handlers/OperatorRuleErrorHandler.js +18 -0
- package/dist/cjs/plugins/jql-ast/index.js +46 -0
- package/dist/cjs/plugins/jql-ast/messages.js +179 -0
- package/dist/cjs/plugins/jql-ast/utils.js +23 -0
- package/dist/cjs/plugins/jql-syntax-highlighting/index.js +69 -0
- package/dist/cjs/plugins/jql-syntax-highlighting/types.js +5 -0
- package/dist/cjs/plugins/jql-syntax-highlighting/visitor.js +89 -0
- package/dist/cjs/plugins/rich-inline-nodes/constants.js +9 -0
- package/dist/cjs/plugins/rich-inline-nodes/index.js +63 -0
- package/dist/cjs/plugins/rich-inline-nodes/nodes/index.js +10 -0
- package/dist/cjs/plugins/rich-inline-nodes/nodes/types.js +5 -0
- package/dist/cjs/plugins/rich-inline-nodes/nodes/user/index.js +41 -0
- package/dist/cjs/plugins/rich-inline-nodes/nodes/user/styled.js +35 -0
- package/dist/cjs/plugins/rich-inline-nodes/types.js +5 -0
- package/dist/cjs/plugins/rich-inline-nodes/util/create-node-spec.js +37 -0
- package/dist/cjs/plugins/rich-inline-nodes/util/react-node-view.js +129 -0
- package/dist/cjs/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +138 -0
- package/dist/cjs/plugins/types.js +5 -0
- package/dist/cjs/plugins/validation-tooltip/constants.js +11 -0
- package/dist/cjs/plugins/validation-tooltip/index.js +58 -0
- package/dist/cjs/plugins/validation-tooltip/view.js +74 -0
- package/dist/cjs/schema/index.js +137 -0
- package/dist/cjs/state/analytics/index.js +56 -0
- package/dist/cjs/state/autocomplete/index.js +23 -0
- package/dist/cjs/state/hydration/index.js +92 -0
- package/dist/cjs/state/hydration/util.js +89 -0
- package/dist/cjs/state/index.js +997 -0
- package/dist/cjs/state/types.js +5 -0
- package/dist/cjs/state/util.js +176 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/ui/error-boundary/index.js +81 -0
- package/dist/cjs/ui/index.js +11 -0
- package/dist/cjs/ui/intl-provider/index.js +23 -0
- package/dist/cjs/ui/jql-editor/index.js +75 -0
- package/dist/cjs/ui/jql-editor/types.js +5 -0
- package/dist/cjs/ui/jql-editor-controls-content/base-expand-toggle/index.js +55 -0
- package/dist/cjs/ui/jql-editor-controls-content/base-expand-toggle/styled.js +12 -0
- package/dist/cjs/ui/jql-editor-controls-content/base-search/index.js +44 -0
- package/dist/cjs/ui/jql-editor-controls-content/base-syntax-help/index.js +33 -0
- package/dist/cjs/ui/jql-editor-controls-content/base-syntax-help/styled.js +12 -0
- package/dist/cjs/ui/jql-editor-controls-content/expand-toggle/index.js +67 -0
- package/dist/cjs/ui/jql-editor-controls-content/expand-toggle/messages.js +24 -0
- package/dist/cjs/ui/jql-editor-controls-content/index.js +17 -0
- package/dist/cjs/ui/jql-editor-controls-content/read-only-controls-content/index.js +38 -0
- package/dist/cjs/ui/jql-editor-controls-content/search/index.js +40 -0
- package/dist/cjs/ui/jql-editor-controls-content/search/messages.js +14 -0
- package/dist/cjs/ui/jql-editor-controls-content/syntax-help/index.js +62 -0
- package/dist/cjs/ui/jql-editor-controls-content/syntax-help/messages.js +19 -0
- package/dist/cjs/ui/jql-editor-footer-content/index.js +34 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-editor-help/index.js +42 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-editor-help/messages.js +24 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-editor-help/styled.js +15 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/errors/index.js +70 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/errors/messages.js +14 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/format/index.js +34 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/format/styled.js +14 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/index.js +26 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/infos/index.js +41 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/warnings/index.js +110 -0
- package/dist/cjs/ui/jql-editor-footer-content/jql-messages/warnings/messages.js +24 -0
- package/dist/cjs/ui/jql-editor-layout/index.js +104 -0
- package/dist/cjs/ui/jql-editor-layout/styled.js +61 -0
- package/dist/cjs/ui/jql-editor-portal-provider/context.js +17 -0
- package/dist/cjs/ui/jql-editor-portal-provider/index.js +116 -0
- package/dist/cjs/ui/jql-editor-portal-provider/types.js +5 -0
- package/dist/cjs/ui/jql-editor-view/index.js +198 -0
- package/dist/cjs/ui/messages.js +14 -0
- package/dist/cjs/ui/tooltip-tag/index.js +19 -0
- package/dist/cjs/ui/tooltip-tag/styled.js +11 -0
- package/dist/cjs/ui/types.js +5 -0
- package/dist/cjs/utils/document-text/index.js +43 -0
- package/dist/cjs/utils/split-text-by-new-line/index.js +12 -0
- package/dist/es2019/accessibility/index.js +1 -0
- package/dist/es2019/accessibility/styled.js +5 -0
- package/dist/es2019/analytics/constants.js +21 -0
- package/dist/es2019/analytics/index.js +5 -0
- package/dist/es2019/analytics/listener/analytics-web-client-wrapper.js +57 -0
- package/dist/es2019/analytics/listener/handle-event.js +15 -0
- package/dist/es2019/analytics/listener/helpers/logger.js +49 -0
- package/dist/es2019/analytics/listener/index.js +7 -0
- package/dist/es2019/analytics/listener/jql-editor-analytics-listener.js +30 -0
- package/dist/es2019/analytics/listener/process-event-payload.js +29 -0
- package/dist/es2019/analytics/listener/types.js +1 -0
- package/dist/es2019/analytics/types.js +1 -0
- package/dist/es2019/analytics/util.js +4 -0
- package/dist/es2019/async.js +19 -0
- package/dist/es2019/commands/select-error-command/index.js +23 -0
- package/dist/es2019/common/constants.js +5 -0
- package/dist/es2019/common/messages.js +8 -0
- package/dist/es2019/common/styled.js +19 -0
- package/dist/es2019/hooks/use-editor-theme/index.js +33 -0
- package/dist/es2019/hooks/use-editor-view-has-infos/index.js +8 -0
- package/dist/es2019/hooks/use-editor-view-has-warnings/index.js +9 -0
- package/dist/es2019/hooks/use-editor-view-is-invalid/index.js +38 -0
- package/dist/es2019/i18n/cs.js +62 -0
- package/dist/es2019/i18n/da.js +62 -0
- package/dist/es2019/i18n/de.js +62 -0
- package/dist/es2019/i18n/en.js +62 -0
- package/dist/es2019/i18n/en_GB.js +62 -0
- package/dist/es2019/i18n/en_ZZ.js +62 -0
- package/dist/es2019/i18n/es.js +62 -0
- package/dist/es2019/i18n/et.js +8 -0
- package/dist/es2019/i18n/fi.js +62 -0
- package/dist/es2019/i18n/fr.js +62 -0
- package/dist/es2019/i18n/hu.js +62 -0
- package/dist/es2019/i18n/index.js +24 -0
- package/dist/es2019/i18n/it.js +62 -0
- package/dist/es2019/i18n/ja.js +62 -0
- package/dist/es2019/i18n/ko.js +62 -0
- package/dist/es2019/i18n/nb.js +62 -0
- package/dist/es2019/i18n/nl.js +62 -0
- package/dist/es2019/i18n/pl.js +62 -0
- package/dist/es2019/i18n/pt_BR.js +62 -0
- package/dist/es2019/i18n/pt_PT.js +8 -0
- package/dist/es2019/i18n/ru.js +62 -0
- package/dist/es2019/i18n/sk.js +8 -0
- package/dist/es2019/i18n/sv.js +62 -0
- package/dist/es2019/i18n/th.js +62 -0
- package/dist/es2019/i18n/tr.js +62 -0
- package/dist/es2019/i18n/uk.js +62 -0
- package/dist/es2019/i18n/vi.js +62 -0
- package/dist/es2019/i18n/zh.js +62 -0
- package/dist/es2019/i18n/zh_TW.js +62 -0
- package/dist/es2019/index.js +4 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete/index.js +33 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-dropdown/index.js +245 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-dropdown/styled.js +46 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-option/glyphs.js +80 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-option/index.js +159 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-option/messages.js +13 -0
- package/dist/es2019/plugins/autocomplete/components/autocomplete-option/styled.js +51 -0
- package/dist/es2019/plugins/autocomplete/components/types.js +1 -0
- package/dist/es2019/plugins/autocomplete/constants.js +21 -0
- package/dist/es2019/plugins/autocomplete/index.js +36 -0
- package/dist/es2019/plugins/autocomplete/messages.js +8 -0
- package/dist/es2019/plugins/autocomplete/types.js +1 -0
- package/dist/es2019/plugins/autocomplete/view.js +102 -0
- package/dist/es2019/plugins/common/get-document-position/index.js +92 -0
- package/dist/es2019/plugins/common/plugin-keymap.js +30 -0
- package/dist/es2019/plugins/common/react-plugin-view.js +67 -0
- package/dist/es2019/plugins/index.js +5 -0
- package/dist/es2019/plugins/jql-ast/JQLEditorErrorStrategy.js +183 -0
- package/dist/es2019/plugins/jql-ast/constants.js +9 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/CustomFieldRuleErrorHandler.js +8 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/ExpectedTokensErrorHandler.js +53 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/FieldPropertyIdErrorHandler.js +12 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/FieldRuleErrorHandler.js +15 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/FunctionArgumentRuleErrorHandler.js +12 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/OperandRuleErrorHandler.js +61 -0
- package/dist/es2019/plugins/jql-ast/error-handlers/OperatorRuleErrorHandler.js +13 -0
- package/dist/es2019/plugins/jql-ast/index.js +40 -0
- package/dist/es2019/plugins/jql-ast/messages.js +173 -0
- package/dist/es2019/plugins/jql-ast/utils.js +13 -0
- package/dist/es2019/plugins/jql-syntax-highlighting/index.js +59 -0
- package/dist/es2019/plugins/jql-syntax-highlighting/types.js +1 -0
- package/dist/es2019/plugins/jql-syntax-highlighting/visitor.js +55 -0
- package/dist/es2019/plugins/rich-inline-nodes/constants.js +3 -0
- package/dist/es2019/plugins/rich-inline-nodes/index.js +48 -0
- package/dist/es2019/plugins/rich-inline-nodes/nodes/index.js +4 -0
- package/dist/es2019/plugins/rich-inline-nodes/nodes/types.js +1 -0
- package/dist/es2019/plugins/rich-inline-nodes/nodes/user/index.js +32 -0
- package/dist/es2019/plugins/rich-inline-nodes/nodes/user/styled.js +77 -0
- package/dist/es2019/plugins/rich-inline-nodes/types.js +1 -0
- package/dist/es2019/plugins/rich-inline-nodes/util/create-node-spec.js +26 -0
- package/dist/es2019/plugins/rich-inline-nodes/util/react-node-view.js +101 -0
- package/dist/es2019/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +104 -0
- package/dist/es2019/plugins/types.js +1 -0
- package/dist/es2019/plugins/validation-tooltip/constants.js +5 -0
- package/dist/es2019/plugins/validation-tooltip/index.js +52 -0
- package/dist/es2019/plugins/validation-tooltip/view.js +55 -0
- package/dist/es2019/schema/index.js +117 -0
- package/dist/es2019/state/analytics/index.js +49 -0
- package/dist/es2019/state/autocomplete/index.js +15 -0
- package/dist/es2019/state/hydration/index.js +63 -0
- package/dist/es2019/state/hydration/util.js +57 -0
- package/dist/es2019/state/index.js +968 -0
- package/dist/es2019/state/types.js +1 -0
- package/dist/es2019/state/util.js +144 -0
- package/dist/es2019/types.js +1 -0
- package/dist/es2019/ui/error-boundary/index.js +55 -0
- package/dist/es2019/ui/index.js +4 -0
- package/dist/es2019/ui/intl-provider/index.js +16 -0
- package/dist/es2019/ui/jql-editor/index.js +63 -0
- package/dist/es2019/ui/jql-editor/types.js +1 -0
- package/dist/es2019/ui/jql-editor-controls-content/base-expand-toggle/index.js +48 -0
- package/dist/es2019/ui/jql-editor-controls-content/base-expand-toggle/styled.js +20 -0
- package/dist/es2019/ui/jql-editor-controls-content/base-search/index.js +35 -0
- package/dist/es2019/ui/jql-editor-controls-content/base-syntax-help/index.js +27 -0
- package/dist/es2019/ui/jql-editor-controls-content/base-syntax-help/styled.js +29 -0
- package/dist/es2019/ui/jql-editor-controls-content/expand-toggle/index.js +51 -0
- package/dist/es2019/ui/jql-editor-controls-content/expand-toggle/messages.js +18 -0
- package/dist/es2019/ui/jql-editor-controls-content/index.js +11 -0
- package/dist/es2019/ui/jql-editor-controls-content/read-only-controls-content/index.js +29 -0
- package/dist/es2019/ui/jql-editor-controls-content/search/index.js +26 -0
- package/dist/es2019/ui/jql-editor-controls-content/search/messages.js +8 -0
- package/dist/es2019/ui/jql-editor-controls-content/syntax-help/index.js +44 -0
- package/dist/es2019/ui/jql-editor-controls-content/syntax-help/messages.js +13 -0
- package/dist/es2019/ui/jql-editor-footer-content/index.js +28 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-editor-help/index.js +27 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-editor-help/messages.js +18 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-editor-help/styled.js +23 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/errors/index.js +55 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/errors/messages.js +8 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/format/index.js +29 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/format/styled.js +8 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/index.js +3 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/infos/index.js +30 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/warnings/index.js +84 -0
- package/dist/es2019/ui/jql-editor-footer-content/jql-messages/warnings/messages.js +18 -0
- package/dist/es2019/ui/jql-editor-layout/index.js +100 -0
- package/dist/es2019/ui/jql-editor-layout/styled.js +223 -0
- package/dist/es2019/ui/jql-editor-portal-provider/context.js +8 -0
- package/dist/es2019/ui/jql-editor-portal-provider/index.js +99 -0
- package/dist/es2019/ui/jql-editor-portal-provider/types.js +1 -0
- package/dist/es2019/ui/jql-editor-view/index.js +167 -0
- package/dist/es2019/ui/messages.js +8 -0
- package/dist/es2019/ui/tooltip-tag/index.js +8 -0
- package/dist/es2019/ui/tooltip-tag/styled.js +4 -0
- package/dist/es2019/ui/types.js +1 -0
- package/dist/es2019/utils/document-text/index.js +37 -0
- package/dist/es2019/utils/split-text-by-new-line/index.js +4 -0
- package/dist/esm/accessibility/index.js +1 -0
- package/dist/esm/accessibility/styled.js +5 -0
- package/dist/esm/analytics/constants.js +21 -0
- package/dist/esm/analytics/index.js +5 -0
- package/dist/esm/analytics/listener/analytics-web-client-wrapper.js +70 -0
- package/dist/esm/analytics/listener/handle-event.js +15 -0
- package/dist/esm/analytics/listener/helpers/logger.js +83 -0
- package/dist/esm/analytics/listener/index.js +7 -0
- package/dist/esm/analytics/listener/jql-editor-analytics-listener.js +48 -0
- package/dist/esm/analytics/listener/process-event-payload.js +39 -0
- package/dist/esm/analytics/listener/types.js +1 -0
- package/dist/esm/analytics/types.js +1 -0
- package/dist/esm/analytics/util.js +4 -0
- package/dist/esm/async.js +22 -0
- package/dist/esm/commands/select-error-command/index.js +23 -0
- package/dist/esm/common/constants.js +5 -0
- package/dist/esm/common/messages.js +8 -0
- package/dist/esm/common/styled.js +9 -0
- package/dist/esm/hooks/use-editor-theme/index.js +46 -0
- package/dist/esm/hooks/use-editor-view-has-infos/index.js +9 -0
- package/dist/esm/hooks/use-editor-view-has-warnings/index.js +12 -0
- package/dist/esm/hooks/use-editor-view-is-invalid/index.js +46 -0
- package/dist/esm/i18n/cs.js +62 -0
- package/dist/esm/i18n/da.js +62 -0
- package/dist/esm/i18n/de.js +62 -0
- package/dist/esm/i18n/en.js +62 -0
- package/dist/esm/i18n/en_GB.js +62 -0
- package/dist/esm/i18n/en_ZZ.js +62 -0
- package/dist/esm/i18n/es.js +62 -0
- package/dist/esm/i18n/et.js +8 -0
- package/dist/esm/i18n/fi.js +62 -0
- package/dist/esm/i18n/fr.js +62 -0
- package/dist/esm/i18n/hu.js +62 -0
- package/dist/esm/i18n/index.js +24 -0
- package/dist/esm/i18n/it.js +62 -0
- package/dist/esm/i18n/ja.js +62 -0
- package/dist/esm/i18n/ko.js +62 -0
- package/dist/esm/i18n/nb.js +62 -0
- package/dist/esm/i18n/nl.js +62 -0
- package/dist/esm/i18n/pl.js +62 -0
- package/dist/esm/i18n/pt_BR.js +62 -0
- package/dist/esm/i18n/pt_PT.js +8 -0
- package/dist/esm/i18n/ru.js +62 -0
- package/dist/esm/i18n/sk.js +8 -0
- package/dist/esm/i18n/sv.js +62 -0
- package/dist/esm/i18n/th.js +62 -0
- package/dist/esm/i18n/tr.js +62 -0
- package/dist/esm/i18n/uk.js +62 -0
- package/dist/esm/i18n/vi.js +62 -0
- package/dist/esm/i18n/zh.js +62 -0
- package/dist/esm/i18n/zh_TW.js +62 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete/index.js +38 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-dropdown/index.js +268 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-dropdown/styled.js +16 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-option/glyphs.js +98 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-option/index.js +165 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-option/messages.js +13 -0
- package/dist/esm/plugins/autocomplete/components/autocomplete-option/styled.js +21 -0
- package/dist/esm/plugins/autocomplete/components/types.js +1 -0
- package/dist/esm/plugins/autocomplete/constants.js +29 -0
- package/dist/esm/plugins/autocomplete/index.js +30 -0
- package/dist/esm/plugins/autocomplete/messages.js +8 -0
- package/dist/esm/plugins/autocomplete/types.js +1 -0
- package/dist/esm/plugins/autocomplete/view.js +120 -0
- package/dist/esm/plugins/common/get-document-position/index.js +93 -0
- package/dist/esm/plugins/common/plugin-keymap.js +43 -0
- package/dist/esm/plugins/common/react-plugin-view.js +84 -0
- package/dist/esm/plugins/index.js +5 -0
- package/dist/esm/plugins/jql-ast/JQLEditorErrorStrategy.js +212 -0
- package/dist/esm/plugins/jql-ast/constants.js +9 -0
- package/dist/esm/plugins/jql-ast/error-handlers/CustomFieldRuleErrorHandler.js +8 -0
- package/dist/esm/plugins/jql-ast/error-handlers/ExpectedTokensErrorHandler.js +57 -0
- package/dist/esm/plugins/jql-ast/error-handlers/FieldPropertyIdErrorHandler.js +12 -0
- package/dist/esm/plugins/jql-ast/error-handlers/FieldRuleErrorHandler.js +15 -0
- package/dist/esm/plugins/jql-ast/error-handlers/FunctionArgumentRuleErrorHandler.js +12 -0
- package/dist/esm/plugins/jql-ast/error-handlers/OperandRuleErrorHandler.js +61 -0
- package/dist/esm/plugins/jql-ast/error-handlers/OperatorRuleErrorHandler.js +13 -0
- package/dist/esm/plugins/jql-ast/index.js +39 -0
- package/dist/esm/plugins/jql-ast/messages.js +173 -0
- package/dist/esm/plugins/jql-ast/utils.js +17 -0
- package/dist/esm/plugins/jql-syntax-highlighting/index.js +62 -0
- package/dist/esm/plugins/jql-syntax-highlighting/types.js +1 -0
- package/dist/esm/plugins/jql-syntax-highlighting/visitor.js +82 -0
- package/dist/esm/plugins/rich-inline-nodes/constants.js +3 -0
- package/dist/esm/plugins/rich-inline-nodes/index.js +56 -0
- package/dist/esm/plugins/rich-inline-nodes/nodes/index.js +4 -0
- package/dist/esm/plugins/rich-inline-nodes/nodes/types.js +1 -0
- package/dist/esm/plugins/rich-inline-nodes/nodes/user/index.js +34 -0
- package/dist/esm/plugins/rich-inline-nodes/nodes/user/styled.js +28 -0
- package/dist/esm/plugins/rich-inline-nodes/types.js +1 -0
- package/dist/esm/plugins/rich-inline-nodes/util/create-node-spec.js +30 -0
- package/dist/esm/plugins/rich-inline-nodes/util/react-node-view.js +119 -0
- package/dist/esm/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +131 -0
- package/dist/esm/plugins/types.js +1 -0
- package/dist/esm/plugins/validation-tooltip/constants.js +5 -0
- package/dist/esm/plugins/validation-tooltip/index.js +52 -0
- package/dist/esm/plugins/validation-tooltip/view.js +67 -0
- package/dist/esm/schema/index.js +129 -0
- package/dist/esm/state/analytics/index.js +50 -0
- package/dist/esm/state/autocomplete/index.js +17 -0
- package/dist/esm/state/hydration/index.js +85 -0
- package/dist/esm/state/hydration/util.js +83 -0
- package/dist/esm/state/index.js +991 -0
- package/dist/esm/state/types.js +1 -0
- package/dist/esm/state/util.js +169 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/ui/error-boundary/index.js +73 -0
- package/dist/esm/ui/index.js +4 -0
- package/dist/esm/ui/intl-provider/index.js +16 -0
- package/dist/esm/ui/jql-editor/index.js +63 -0
- package/dist/esm/ui/jql-editor/types.js +1 -0
- package/dist/esm/ui/jql-editor-controls-content/base-expand-toggle/index.js +49 -0
- package/dist/esm/ui/jql-editor-controls-content/base-expand-toggle/styled.js +5 -0
- package/dist/esm/ui/jql-editor-controls-content/base-search/index.js +34 -0
- package/dist/esm/ui/jql-editor-controls-content/base-syntax-help/index.js +26 -0
- package/dist/esm/ui/jql-editor-controls-content/base-syntax-help/styled.js +5 -0
- package/dist/esm/ui/jql-editor-controls-content/expand-toggle/index.js +55 -0
- package/dist/esm/ui/jql-editor-controls-content/expand-toggle/messages.js +18 -0
- package/dist/esm/ui/jql-editor-controls-content/index.js +10 -0
- package/dist/esm/ui/jql-editor-controls-content/read-only-controls-content/index.js +28 -0
- package/dist/esm/ui/jql-editor-controls-content/search/index.js +31 -0
- package/dist/esm/ui/jql-editor-controls-content/search/messages.js +8 -0
- package/dist/esm/ui/jql-editor-controls-content/syntax-help/index.js +50 -0
- package/dist/esm/ui/jql-editor-controls-content/syntax-help/messages.js +13 -0
- package/dist/esm/ui/jql-editor-footer-content/index.js +28 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-editor-help/index.js +35 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-editor-help/messages.js +18 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-editor-help/styled.js +8 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/errors/index.js +60 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/errors/messages.js +8 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/format/index.js +28 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/format/styled.js +7 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/index.js +3 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/infos/index.js +31 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/warnings/index.js +100 -0
- package/dist/esm/ui/jql-editor-footer-content/jql-messages/warnings/messages.js +18 -0
- package/dist/esm/ui/jql-editor-layout/index.js +98 -0
- package/dist/esm/ui/jql-editor-layout/styled.js +56 -0
- package/dist/esm/ui/jql-editor-portal-provider/context.js +10 -0
- package/dist/esm/ui/jql-editor-portal-provider/index.js +107 -0
- package/dist/esm/ui/jql-editor-portal-provider/types.js +1 -0
- package/dist/esm/ui/jql-editor-view/index.js +190 -0
- package/dist/esm/ui/messages.js +8 -0
- package/dist/esm/ui/tooltip-tag/index.js +10 -0
- package/dist/esm/ui/tooltip-tag/styled.js +4 -0
- package/dist/esm/ui/types.js +1 -0
- package/dist/esm/utils/document-text/index.js +37 -0
- package/dist/esm/utils/split-text-by-new-line/index.js +6 -0
- package/dist/types/accessibility/index.d.ts +1 -0
- package/dist/types/accessibility/styled.d.ts +2 -0
- package/dist/types/analytics/constants.d.ts +18 -0
- package/dist/types/analytics/index.d.ts +7 -0
- package/dist/types/analytics/listener/analytics-web-client-wrapper.d.ts +9 -0
- package/dist/types/analytics/listener/handle-event.d.ts +9 -0
- package/dist/types/analytics/listener/helpers/logger.d.ts +24 -0
- package/dist/types/analytics/listener/index.d.ts +7 -0
- package/dist/types/analytics/listener/jql-editor-analytics-listener.d.ts +20 -0
- package/dist/types/analytics/listener/process-event-payload.d.ts +8 -0
- package/dist/types/analytics/listener/types.d.ts +7 -0
- package/dist/types/analytics/types.d.ts +3 -0
- package/dist/types/analytics/util.d.ts +4 -0
- package/dist/types/async.d.ts +3 -0
- package/dist/types/commands/select-error-command/index.d.ts +5 -0
- package/dist/types/common/constants.d.ts +5 -0
- package/dist/types/common/messages.d.ts +7 -0
- package/dist/types/common/styled.d.ts +3 -0
- package/dist/types/hooks/use-editor-theme/index.d.ts +38 -0
- package/dist/types/hooks/use-editor-view-has-infos/index.d.ts +1 -0
- package/dist/types/hooks/use-editor-view-has-warnings/index.d.ts +1 -0
- package/dist/types/hooks/use-editor-view-is-invalid/index.d.ts +11 -0
- package/dist/types/i18n/cs.d.ts +61 -0
- package/dist/types/i18n/da.d.ts +61 -0
- package/dist/types/i18n/de.d.ts +61 -0
- package/dist/types/i18n/en.d.ts +61 -0
- package/dist/types/i18n/en_GB.d.ts +61 -0
- package/dist/types/i18n/en_ZZ.d.ts +61 -0
- package/dist/types/i18n/es.d.ts +61 -0
- package/dist/types/i18n/et.d.ts +8 -0
- package/dist/types/i18n/fi.d.ts +61 -0
- package/dist/types/i18n/fr.d.ts +61 -0
- package/dist/types/i18n/hu.d.ts +61 -0
- package/dist/types/i18n/index.d.ts +24 -0
- package/dist/types/i18n/it.d.ts +61 -0
- package/dist/types/i18n/ja.d.ts +61 -0
- package/dist/types/i18n/ko.d.ts +61 -0
- package/dist/types/i18n/nb.d.ts +61 -0
- package/dist/types/i18n/nl.d.ts +61 -0
- package/dist/types/i18n/pl.d.ts +61 -0
- package/dist/types/i18n/pt_BR.d.ts +61 -0
- package/dist/types/i18n/pt_PT.d.ts +8 -0
- package/dist/types/i18n/ru.d.ts +61 -0
- package/dist/types/i18n/sk.d.ts +8 -0
- package/dist/types/i18n/sv.d.ts +61 -0
- package/dist/types/i18n/th.d.ts +61 -0
- package/dist/types/i18n/tr.d.ts +61 -0
- package/dist/types/i18n/uk.d.ts +61 -0
- package/dist/types/i18n/vi.d.ts +61 -0
- package/dist/types/i18n/zh.d.ts +61 -0
- package/dist/types/i18n/zh_TW.d.ts +61 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/plugins/autocomplete/components/autocomplete/index.d.ts +4 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-dropdown/index.d.ts +11 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-dropdown/styled.d.ts +9 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-option/glyphs.d.ts +10 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-option/index.d.ts +10 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-option/messages.d.ts +12 -0
- package/dist/types/plugins/autocomplete/components/autocomplete-option/styled.d.ts +11 -0
- package/dist/types/plugins/autocomplete/components/types.d.ts +38 -0
- package/dist/types/plugins/autocomplete/constants.d.ts +14 -0
- package/dist/types/plugins/autocomplete/index.d.ts +4 -0
- package/dist/types/plugins/autocomplete/messages.d.ts +7 -0
- package/dist/types/plugins/autocomplete/types.d.ts +1 -0
- package/dist/types/plugins/autocomplete/view.d.ts +19 -0
- package/dist/types/plugins/common/get-document-position/index.d.ts +9 -0
- package/dist/types/plugins/common/plugin-keymap.d.ts +7 -0
- package/dist/types/plugins/common/react-plugin-view.d.ts +48 -0
- package/dist/types/plugins/index.d.ts +5 -0
- package/dist/types/plugins/jql-ast/JQLEditorErrorStrategy.d.ts +17 -0
- package/dist/types/plugins/jql-ast/constants.d.ts +3 -0
- package/dist/types/plugins/jql-ast/error-handlers/CustomFieldRuleErrorHandler.d.ts +5 -0
- package/dist/types/plugins/jql-ast/error-handlers/ExpectedTokensErrorHandler.d.ts +11 -0
- package/dist/types/plugins/jql-ast/error-handlers/FieldPropertyIdErrorHandler.d.ts +6 -0
- package/dist/types/plugins/jql-ast/error-handlers/FieldRuleErrorHandler.d.ts +6 -0
- package/dist/types/plugins/jql-ast/error-handlers/FunctionArgumentRuleErrorHandler.d.ts +6 -0
- package/dist/types/plugins/jql-ast/error-handlers/OperandRuleErrorHandler.d.ts +9 -0
- package/dist/types/plugins/jql-ast/error-handlers/OperatorRuleErrorHandler.d.ts +6 -0
- package/dist/types/plugins/jql-ast/index.d.ts +7 -0
- package/dist/types/plugins/jql-ast/messages.d.ts +172 -0
- package/dist/types/plugins/jql-ast/utils.d.ts +4 -0
- package/dist/types/plugins/jql-syntax-highlighting/index.d.ts +4 -0
- package/dist/types/plugins/jql-syntax-highlighting/types.d.ts +5 -0
- package/dist/types/plugins/jql-syntax-highlighting/visitor.d.ts +19 -0
- package/dist/types/plugins/rich-inline-nodes/constants.d.ts +3 -0
- package/dist/types/plugins/rich-inline-nodes/index.d.ts +4 -0
- package/dist/types/plugins/rich-inline-nodes/nodes/index.d.ts +3 -0
- package/dist/types/plugins/rich-inline-nodes/nodes/types.d.ts +9 -0
- package/dist/types/plugins/rich-inline-nodes/nodes/user/index.d.ts +7 -0
- package/dist/types/plugins/rich-inline-nodes/nodes/user/styled.d.ts +7 -0
- package/dist/types/plugins/rich-inline-nodes/types.d.ts +2 -0
- package/dist/types/plugins/rich-inline-nodes/util/create-node-spec.d.ts +4 -0
- package/dist/types/plugins/rich-inline-nodes/util/react-node-view.d.ts +24 -0
- package/dist/types/plugins/rich-inline-nodes/util/replace-nodes-transaction.d.ts +3 -0
- package/dist/types/plugins/types.d.ts +16 -0
- package/dist/types/plugins/validation-tooltip/constants.d.ts +5 -0
- package/dist/types/plugins/validation-tooltip/index.d.ts +3 -0
- package/dist/types/plugins/validation-tooltip/view.d.ts +18 -0
- package/dist/types/schema/index.d.ts +28 -0
- package/dist/types/state/analytics/index.d.ts +9 -0
- package/dist/types/state/autocomplete/index.d.ts +4 -0
- package/dist/types/state/hydration/index.d.ts +3 -0
- package/dist/types/state/hydration/util.d.ts +23 -0
- package/dist/types/state/index.d.ts +796 -0
- package/dist/types/state/types.d.ts +242 -0
- package/dist/types/state/util.d.ts +16 -0
- package/dist/types/types.d.ts +5 -0
- package/dist/types/ui/error-boundary/index.d.ts +25 -0
- package/dist/types/ui/index.d.ts +4 -0
- package/dist/types/ui/intl-provider/index.d.ts +10 -0
- package/dist/types/ui/jql-editor/index.d.ts +13 -0
- package/dist/types/ui/jql-editor/types.d.ts +101 -0
- package/dist/types/ui/jql-editor-controls-content/base-expand-toggle/index.d.ts +10 -0
- package/dist/types/ui/jql-editor-controls-content/base-expand-toggle/styled.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/base-search/index.d.ts +9 -0
- package/dist/types/ui/jql-editor-controls-content/base-syntax-help/index.d.ts +9 -0
- package/dist/types/ui/jql-editor-controls-content/base-syntax-help/styled.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/expand-toggle/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/expand-toggle/messages.d.ts +17 -0
- package/dist/types/ui/jql-editor-controls-content/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/read-only-controls-content/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/search/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/search/messages.d.ts +7 -0
- package/dist/types/ui/jql-editor-controls-content/syntax-help/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-controls-content/syntax-help/messages.d.ts +12 -0
- package/dist/types/ui/jql-editor-footer-content/index.d.ts +6 -0
- package/dist/types/ui/jql-editor-footer-content/jql-editor-help/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-footer-content/jql-editor-help/messages.d.ts +17 -0
- package/dist/types/ui/jql-editor-footer-content/jql-editor-help/styled.d.ts +6 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/errors/index.d.ts +2 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/errors/messages.d.ts +7 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/format/index.d.ts +8 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/format/styled.d.ts +5 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/index.d.ts +3 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/infos/index.d.ts +3 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/warnings/index.d.ts +3 -0
- package/dist/types/ui/jql-editor-footer-content/jql-messages/warnings/messages.d.ts +17 -0
- package/dist/types/ui/jql-editor-layout/index.d.ts +64 -0
- package/dist/types/ui/jql-editor-layout/styled.d.ts +65 -0
- package/dist/types/ui/jql-editor-portal-provider/context.d.ts +4 -0
- package/dist/types/ui/jql-editor-portal-provider/index.d.ts +7 -0
- package/dist/types/ui/jql-editor-portal-provider/types.d.ts +38 -0
- package/dist/types/ui/jql-editor-view/index.d.ts +10 -0
- package/dist/types/ui/messages.d.ts +7 -0
- package/dist/types/ui/tooltip-tag/index.d.ts +2 -0
- package/dist/types/ui/tooltip-tag/styled.d.ts +2 -0
- package/dist/types/ui/types.d.ts +9 -0
- package/dist/types/utils/document-text/index.d.ts +9 -0
- package/dist/types/utils/split-text-by-new-line/index.d.ts +4 -0
- package/dist/types-ts4.5/accessibility/index.d.ts +1 -0
- package/dist/types-ts4.5/accessibility/styled.d.ts +2 -0
- package/dist/types-ts4.5/analytics/constants.d.ts +18 -0
- package/dist/types-ts4.5/analytics/index.d.ts +7 -0
- package/dist/types-ts4.5/analytics/listener/analytics-web-client-wrapper.d.ts +9 -0
- package/dist/types-ts4.5/analytics/listener/handle-event.d.ts +9 -0
- package/dist/types-ts4.5/analytics/listener/helpers/logger.d.ts +24 -0
- package/dist/types-ts4.5/analytics/listener/index.d.ts +7 -0
- package/dist/types-ts4.5/analytics/listener/jql-editor-analytics-listener.d.ts +20 -0
- package/dist/types-ts4.5/analytics/listener/process-event-payload.d.ts +8 -0
- package/dist/types-ts4.5/analytics/listener/types.d.ts +7 -0
- package/dist/types-ts4.5/analytics/types.d.ts +3 -0
- package/dist/types-ts4.5/analytics/util.d.ts +4 -0
- package/dist/types-ts4.5/async.d.ts +3 -0
- package/dist/types-ts4.5/commands/select-error-command/index.d.ts +5 -0
- package/dist/types-ts4.5/common/constants.d.ts +5 -0
- package/dist/types-ts4.5/common/messages.d.ts +7 -0
- package/dist/types-ts4.5/common/styled.d.ts +3 -0
- package/dist/types-ts4.5/hooks/use-editor-theme/index.d.ts +38 -0
- package/dist/types-ts4.5/hooks/use-editor-view-has-infos/index.d.ts +1 -0
- package/dist/types-ts4.5/hooks/use-editor-view-has-warnings/index.d.ts +1 -0
- package/dist/types-ts4.5/hooks/use-editor-view-is-invalid/index.d.ts +11 -0
- package/dist/types-ts4.5/i18n/cs.d.ts +61 -0
- package/dist/types-ts4.5/i18n/da.d.ts +61 -0
- package/dist/types-ts4.5/i18n/de.d.ts +61 -0
- package/dist/types-ts4.5/i18n/en.d.ts +61 -0
- package/dist/types-ts4.5/i18n/en_GB.d.ts +61 -0
- package/dist/types-ts4.5/i18n/en_ZZ.d.ts +61 -0
- package/dist/types-ts4.5/i18n/es.d.ts +61 -0
- package/dist/types-ts4.5/i18n/et.d.ts +8 -0
- package/dist/types-ts4.5/i18n/fi.d.ts +61 -0
- package/dist/types-ts4.5/i18n/fr.d.ts +61 -0
- package/dist/types-ts4.5/i18n/hu.d.ts +61 -0
- package/dist/types-ts4.5/i18n/index.d.ts +24 -0
- package/dist/types-ts4.5/i18n/it.d.ts +61 -0
- package/dist/types-ts4.5/i18n/ja.d.ts +61 -0
- package/dist/types-ts4.5/i18n/ko.d.ts +61 -0
- package/dist/types-ts4.5/i18n/nb.d.ts +61 -0
- package/dist/types-ts4.5/i18n/nl.d.ts +61 -0
- package/dist/types-ts4.5/i18n/pl.d.ts +61 -0
- package/dist/types-ts4.5/i18n/pt_BR.d.ts +61 -0
- package/dist/types-ts4.5/i18n/pt_PT.d.ts +8 -0
- package/dist/types-ts4.5/i18n/ru.d.ts +61 -0
- package/dist/types-ts4.5/i18n/sk.d.ts +8 -0
- package/dist/types-ts4.5/i18n/sv.d.ts +61 -0
- package/dist/types-ts4.5/i18n/th.d.ts +61 -0
- package/dist/types-ts4.5/i18n/tr.d.ts +61 -0
- package/dist/types-ts4.5/i18n/uk.d.ts +61 -0
- package/dist/types-ts4.5/i18n/vi.d.ts +61 -0
- package/dist/types-ts4.5/i18n/zh.d.ts +61 -0
- package/dist/types-ts4.5/i18n/zh_TW.d.ts +61 -0
- package/dist/types-ts4.5/index.d.ts +5 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete/index.d.ts +4 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-dropdown/index.d.ts +11 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-dropdown/styled.d.ts +9 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-option/glyphs.d.ts +10 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-option/index.d.ts +10 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-option/messages.d.ts +12 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/autocomplete-option/styled.d.ts +11 -0
- package/dist/types-ts4.5/plugins/autocomplete/components/types.d.ts +38 -0
- package/dist/types-ts4.5/plugins/autocomplete/constants.d.ts +14 -0
- package/dist/types-ts4.5/plugins/autocomplete/index.d.ts +4 -0
- package/dist/types-ts4.5/plugins/autocomplete/messages.d.ts +7 -0
- package/dist/types-ts4.5/plugins/autocomplete/types.d.ts +1 -0
- package/dist/types-ts4.5/plugins/autocomplete/view.d.ts +19 -0
- package/dist/types-ts4.5/plugins/common/get-document-position/index.d.ts +9 -0
- package/dist/types-ts4.5/plugins/common/plugin-keymap.d.ts +7 -0
- package/dist/types-ts4.5/plugins/common/react-plugin-view.d.ts +48 -0
- package/dist/types-ts4.5/plugins/index.d.ts +5 -0
- package/dist/types-ts4.5/plugins/jql-ast/JQLEditorErrorStrategy.d.ts +17 -0
- package/dist/types-ts4.5/plugins/jql-ast/constants.d.ts +3 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/CustomFieldRuleErrorHandler.d.ts +5 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/ExpectedTokensErrorHandler.d.ts +11 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/FieldPropertyIdErrorHandler.d.ts +6 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/FieldRuleErrorHandler.d.ts +6 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/FunctionArgumentRuleErrorHandler.d.ts +6 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/OperandRuleErrorHandler.d.ts +9 -0
- package/dist/types-ts4.5/plugins/jql-ast/error-handlers/OperatorRuleErrorHandler.d.ts +6 -0
- package/dist/types-ts4.5/plugins/jql-ast/index.d.ts +7 -0
- package/dist/types-ts4.5/plugins/jql-ast/messages.d.ts +172 -0
- package/dist/types-ts4.5/plugins/jql-ast/utils.d.ts +4 -0
- package/dist/types-ts4.5/plugins/jql-syntax-highlighting/index.d.ts +4 -0
- package/dist/types-ts4.5/plugins/jql-syntax-highlighting/types.d.ts +5 -0
- package/dist/types-ts4.5/plugins/jql-syntax-highlighting/visitor.d.ts +19 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/constants.d.ts +3 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/index.d.ts +4 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/index.d.ts +3 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/types.d.ts +9 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/user/index.d.ts +7 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/user/styled.d.ts +7 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/types.d.ts +2 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/util/create-node-spec.d.ts +4 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/util/react-node-view.d.ts +24 -0
- package/dist/types-ts4.5/plugins/rich-inline-nodes/util/replace-nodes-transaction.d.ts +3 -0
- package/dist/types-ts4.5/plugins/types.d.ts +16 -0
- package/dist/types-ts4.5/plugins/validation-tooltip/constants.d.ts +5 -0
- package/dist/types-ts4.5/plugins/validation-tooltip/index.d.ts +3 -0
- package/dist/types-ts4.5/plugins/validation-tooltip/view.d.ts +18 -0
- package/dist/types-ts4.5/schema/index.d.ts +28 -0
- package/dist/types-ts4.5/state/analytics/index.d.ts +9 -0
- package/dist/types-ts4.5/state/autocomplete/index.d.ts +4 -0
- package/dist/types-ts4.5/state/hydration/index.d.ts +3 -0
- package/dist/types-ts4.5/state/hydration/util.d.ts +23 -0
- package/dist/types-ts4.5/state/index.d.ts +796 -0
- package/dist/types-ts4.5/state/types.d.ts +242 -0
- package/dist/types-ts4.5/state/util.d.ts +16 -0
- package/dist/types-ts4.5/types.d.ts +5 -0
- package/dist/types-ts4.5/ui/error-boundary/index.d.ts +25 -0
- package/dist/types-ts4.5/ui/index.d.ts +4 -0
- package/dist/types-ts4.5/ui/intl-provider/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/jql-editor/index.d.ts +13 -0
- package/dist/types-ts4.5/ui/jql-editor/types.d.ts +101 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/base-expand-toggle/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/base-expand-toggle/styled.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/base-search/index.d.ts +9 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/base-syntax-help/index.d.ts +9 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/base-syntax-help/styled.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/expand-toggle/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/expand-toggle/messages.d.ts +17 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/read-only-controls-content/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/search/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/search/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/syntax-help/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-controls-content/syntax-help/messages.d.ts +12 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/index.d.ts +6 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-editor-help/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-editor-help/messages.d.ts +17 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-editor-help/styled.d.ts +6 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/errors/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/errors/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/format/index.d.ts +8 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/format/styled.d.ts +5 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/index.d.ts +3 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/infos/index.d.ts +3 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/warnings/index.d.ts +3 -0
- package/dist/types-ts4.5/ui/jql-editor-footer-content/jql-messages/warnings/messages.d.ts +17 -0
- package/dist/types-ts4.5/ui/jql-editor-layout/index.d.ts +64 -0
- package/dist/types-ts4.5/ui/jql-editor-layout/styled.d.ts +65 -0
- package/dist/types-ts4.5/ui/jql-editor-portal-provider/context.d.ts +4 -0
- package/dist/types-ts4.5/ui/jql-editor-portal-provider/index.d.ts +7 -0
- package/dist/types-ts4.5/ui/jql-editor-portal-provider/types.d.ts +38 -0
- package/dist/types-ts4.5/ui/jql-editor-view/index.d.ts +10 -0
- package/dist/types-ts4.5/ui/messages.d.ts +7 -0
- package/dist/types-ts4.5/ui/tooltip-tag/index.d.ts +2 -0
- package/dist/types-ts4.5/ui/tooltip-tag/styled.d.ts +2 -0
- package/dist/types-ts4.5/ui/types.d.ts +9 -0
- package/dist/types-ts4.5/utils/document-text/index.d.ts +9 -0
- package/dist/types-ts4.5/utils/split-text-by-new-line/index.d.ts +4 -0
- package/i18n/package.json +15 -0
- package/package.json +127 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { forwardRef, useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import deburr from 'lodash/deburr';
|
|
4
|
+
import noop from 'lodash/noop';
|
|
5
|
+
import Icon from '@atlaskit/icon';
|
|
6
|
+
import InfoIcon from '@atlaskit/icon/glyph/editor/panel';
|
|
7
|
+
import { normaliseJqlString } from '@atlaskit/jql-ast';
|
|
8
|
+
import { N400 } from '@atlaskit/theme/colors';
|
|
9
|
+
import Tooltip from '@atlaskit/tooltip';
|
|
10
|
+
import { useIntl } from '../../../../state';
|
|
11
|
+
import { checkboxGlyph, dateGlyph, dropdownGlyph, labelGlyph, numberGlyph, paragraphGlyph, peopleGlyph, shortTextGlyph, timeStampGlyph } from './glyphs';
|
|
12
|
+
import { messages } from './messages';
|
|
13
|
+
import { DeprecatedOptionContainer, FieldType, FieldTypeIcon, OptionHighlight, OptionListItem, OptionName, TooltipContent } from './styled';
|
|
14
|
+
const ResizedIcon = ({
|
|
15
|
+
glyph
|
|
16
|
+
}) => /*#__PURE__*/React.createElement(Icon, {
|
|
17
|
+
glyph: glyph,
|
|
18
|
+
size: "small",
|
|
19
|
+
label: "",
|
|
20
|
+
testId: "jql-editor-field-type-icon"
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* List of types with supported icons is derived from GIN
|
|
25
|
+
* Custom SVGs are provisional while we work on making field type icons consistent across Atlassian
|
|
26
|
+
*/
|
|
27
|
+
const getFieldTypeIcon = type => {
|
|
28
|
+
switch (type) {
|
|
29
|
+
case 'Checkboxes':
|
|
30
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
31
|
+
glyph: checkboxGlyph
|
|
32
|
+
});
|
|
33
|
+
case 'Date':
|
|
34
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
35
|
+
glyph: dateGlyph
|
|
36
|
+
});
|
|
37
|
+
case 'Dropdown':
|
|
38
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
39
|
+
glyph: dropdownGlyph
|
|
40
|
+
});
|
|
41
|
+
case 'Labels':
|
|
42
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
43
|
+
glyph: labelGlyph
|
|
44
|
+
});
|
|
45
|
+
case 'Number':
|
|
46
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
47
|
+
glyph: numberGlyph
|
|
48
|
+
});
|
|
49
|
+
case 'Paragraph':
|
|
50
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
51
|
+
glyph: paragraphGlyph
|
|
52
|
+
});
|
|
53
|
+
case 'People':
|
|
54
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
55
|
+
glyph: peopleGlyph
|
|
56
|
+
});
|
|
57
|
+
case 'Short text':
|
|
58
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
59
|
+
glyph: shortTextGlyph
|
|
60
|
+
});
|
|
61
|
+
case 'Time stamp':
|
|
62
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
63
|
+
glyph: timeStampGlyph
|
|
64
|
+
});
|
|
65
|
+
default:
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const getHighlightPosition = (name, matchedText) => {
|
|
70
|
+
const normalizedName = deburr(name).toLowerCase();
|
|
71
|
+
const normalizedMatchedText = deburr(normaliseJqlString(matchedText)).toLowerCase();
|
|
72
|
+
const index = normalizedName.indexOf(normalizedMatchedText);
|
|
73
|
+
if (index === -1) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return [index, index + normalizedMatchedText.length];
|
|
77
|
+
};
|
|
78
|
+
const getDeprecatedTooltipMessage = deprecatedSearcherKey => {
|
|
79
|
+
switch (deprecatedSearcherKey) {
|
|
80
|
+
case 'com.pyxis.greenhopper.jira:gh-epic-link-searcher':
|
|
81
|
+
case 'com.atlassian.jpo:jpo-custom-field-parent-searcher':
|
|
82
|
+
return messages.deprecatedFieldTooltipParentReplacementMessage;
|
|
83
|
+
default:
|
|
84
|
+
return messages.deprecatedFieldTooltipDefaultMessage;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const AutocompleteOption = /*#__PURE__*/forwardRef((props, ref) => {
|
|
88
|
+
const {
|
|
89
|
+
option: {
|
|
90
|
+
id,
|
|
91
|
+
name,
|
|
92
|
+
fieldType,
|
|
93
|
+
matchedText,
|
|
94
|
+
isDeprecated = false,
|
|
95
|
+
deprecatedSearcherKey
|
|
96
|
+
},
|
|
97
|
+
isSelected,
|
|
98
|
+
onClick,
|
|
99
|
+
onMouseMove
|
|
100
|
+
} = props;
|
|
101
|
+
const [overflows, setOverflows] = useState(false);
|
|
102
|
+
const [{
|
|
103
|
+
formatMessage
|
|
104
|
+
}] = useIntl();
|
|
105
|
+
const onNameRef = useCallback(node => {
|
|
106
|
+
// This ref will be re-invoked after a tooltip is rendered, so we avoid recomputing the overflow in that instance
|
|
107
|
+
// so we don't risk infinite re-renders (which we've observed through production logs).
|
|
108
|
+
if (node != null && !overflows) {
|
|
109
|
+
setOverflows(node.offsetWidth < node.scrollWidth);
|
|
110
|
+
}
|
|
111
|
+
}, [overflows]);
|
|
112
|
+
|
|
113
|
+
// TODO: verify type is i18n'd after integrating with GraphQL API
|
|
114
|
+
|
|
115
|
+
const fieldTypeIcon = fieldType ? getFieldTypeIcon(fieldType) : null;
|
|
116
|
+
const optionName = useMemo(() => {
|
|
117
|
+
const highlightPosition = getHighlightPosition(name, matchedText);
|
|
118
|
+
return highlightPosition ? /*#__PURE__*/React.createElement(OptionName, {
|
|
119
|
+
ref: onNameRef,
|
|
120
|
+
"aria-label": name
|
|
121
|
+
}, name.substring(0, highlightPosition[0]), /*#__PURE__*/React.createElement(OptionHighlight, null, name.substring(...highlightPosition)), name.substring(highlightPosition[1])) : /*#__PURE__*/React.createElement(OptionName, {
|
|
122
|
+
ref: onNameRef
|
|
123
|
+
}, name);
|
|
124
|
+
}, [onNameRef, name, matchedText]);
|
|
125
|
+
const deprecatedTooltipContent = /*#__PURE__*/React.createElement(TooltipContent, null, formatMessage(getDeprecatedTooltipMessage(deprecatedSearcherKey), {
|
|
126
|
+
b: text => /*#__PURE__*/React.createElement("b", null, text),
|
|
127
|
+
received: name,
|
|
128
|
+
parentReplacement: 'Parent'
|
|
129
|
+
}));
|
|
130
|
+
const ListItem = /*#__PURE__*/React.createElement(OptionListItem, _extends({
|
|
131
|
+
id: id,
|
|
132
|
+
"data-testid": "jql-editor-autocomplete-option",
|
|
133
|
+
role: "option",
|
|
134
|
+
isSelected: isSelected,
|
|
135
|
+
isDeprecated: isDeprecated,
|
|
136
|
+
onClick: isDeprecated ? noop : onClick,
|
|
137
|
+
onMouseMove: isDeprecated ? noop : onMouseMove
|
|
138
|
+
}, ref && {
|
|
139
|
+
ref: ref
|
|
140
|
+
}, {
|
|
141
|
+
"aria-selected": isSelected
|
|
142
|
+
}), isDeprecated ? /*#__PURE__*/React.createElement(DeprecatedOptionContainer, null, optionName, /*#__PURE__*/React.createElement(Tooltip, {
|
|
143
|
+
content: deprecatedTooltipContent,
|
|
144
|
+
position: 'right'
|
|
145
|
+
}, /*#__PURE__*/React.createElement(InfoIcon, {
|
|
146
|
+
testId: "jql-editor-deprecated-icon",
|
|
147
|
+
label: "",
|
|
148
|
+
primaryColor: `var(--ds-icon, ${N400})`
|
|
149
|
+
}))) : optionName, fieldType && /*#__PURE__*/React.createElement(FieldType, null, fieldTypeIcon && /*#__PURE__*/React.createElement(FieldTypeIcon, null, fieldTypeIcon), fieldType));
|
|
150
|
+
const tooltipContent = /*#__PURE__*/React.createElement(TooltipContent, null, name);
|
|
151
|
+
if (overflows) {
|
|
152
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
153
|
+
content: tooltipContent,
|
|
154
|
+
position: 'right'
|
|
155
|
+
}, ListItem);
|
|
156
|
+
}
|
|
157
|
+
return ListItem;
|
|
158
|
+
});
|
|
159
|
+
export default AutocompleteOption;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export const messages = defineMessages({
|
|
3
|
+
deprecatedFieldTooltipDefaultMessage: {
|
|
4
|
+
id: 'jql-editor.plugins.autocomplete.autocomplete-option.deprecated-tooltip.default',
|
|
5
|
+
defaultMessage: 'This field has been deprecated and may stop working in the future.',
|
|
6
|
+
description: 'Default tooltip message for a deprecated field.'
|
|
7
|
+
},
|
|
8
|
+
deprecatedFieldTooltipParentReplacementMessage: {
|
|
9
|
+
id: 'jql-editor.plugins.autocomplete.autocomplete-option.deprecated-tooltip.epic-link',
|
|
10
|
+
defaultMessage: "<b>''{received}''</b> will soon be replaced with <b>''{parentReplacement}''</b>. Use the <b>''{parentReplacement}''</b> field instead.",
|
|
11
|
+
description: 'Tooltip message served to user when there is a deprecated field'
|
|
12
|
+
}
|
|
13
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { css } from '@emotion/react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { N100, N20, N50, N800 } from '@atlaskit/theme/colors';
|
|
4
|
+
import { codeFontFamily, fontFamily,
|
|
5
|
+
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
6
|
+
gridSize } from '@atlaskit/theme/constants';
|
|
7
|
+
export const TooltipContent = styled.div`
|
|
8
|
+
font-family: ${fontFamily};
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
12
|
+
export const OptionListItem = styled.li`
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
padding: ${"var(--ds-space-075, 6px)"} ${5 / 4 * gridSize()}px;
|
|
15
|
+
font-family: ${codeFontFamily};
|
|
16
|
+
line-height: 24px;
|
|
17
|
+
${props => props.isSelected ? css`
|
|
18
|
+
background: ${`var(--ds-background-neutral-subtle-hovered, ${N20})`};
|
|
19
|
+
` : ''}
|
|
20
|
+
${props => props.isDeprecated ? css`
|
|
21
|
+
cursor: default;
|
|
22
|
+
color: ${`var(--ds-text-disabled, ${N50})`};
|
|
23
|
+
` : ''}
|
|
24
|
+
`;
|
|
25
|
+
export const OptionName = styled.div`
|
|
26
|
+
color: ${`var(--ds-text, ${N800})`};
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
white-space: nowrap;
|
|
29
|
+
text-overflow: ellipsis;
|
|
30
|
+
// Added so that overflowed option names do not squish the deprecated info icon
|
|
31
|
+
flex: 1;
|
|
32
|
+
`;
|
|
33
|
+
export const DeprecatedOptionContainer = styled.div`
|
|
34
|
+
color: ${`var(--ds-text-disabled, ${N50})`};
|
|
35
|
+
display: flex;
|
|
36
|
+
justify-content: space-between;
|
|
37
|
+
opacity: 0.6;
|
|
38
|
+
`;
|
|
39
|
+
export const OptionHighlight = styled.span`
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
`;
|
|
42
|
+
export const FieldType = styled.div`
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
margin-top: ${"var(--ds-space-negative-025, -2px)"};
|
|
46
|
+
color: ${`var(--ds-text-subtlest, ${N100})`};
|
|
47
|
+
`;
|
|
48
|
+
export const FieldTypeIcon = styled.span`
|
|
49
|
+
display: flex;
|
|
50
|
+
margin-right: ${"var(--ds-space-050, 4px)"};
|
|
51
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { empty } from 'rxjs/observable/empty';
|
|
2
|
+
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
export const AUTOCOMPLETE_PLUGIN_NAME = 'jql-autocomplete-plugin';
|
|
4
|
+
export const ARROW_UP_KEY = 'ArrowUp';
|
|
5
|
+
export const ARROW_DOWN_KEY = 'ArrowDown';
|
|
6
|
+
export const CMD_ARROW_UP_KEY = 'Cmd-ArrowUp';
|
|
7
|
+
export const CMD_ARROW_DOWN_KEY = 'Cmd-ArrowDown';
|
|
8
|
+
export const HOME_KEY = 'Home'; // === Fn-Left in Mac
|
|
9
|
+
export const END_KEY = 'End'; // === Fn-Right in Mac
|
|
10
|
+
export const ENTER_KEY = 'Enter';
|
|
11
|
+
export const ESCAPE_KEY = 'Escape';
|
|
12
|
+
export const TAB_KEY = 'Tab';
|
|
13
|
+
|
|
14
|
+
// No-op autocomplete provider used when creating the initial state
|
|
15
|
+
export const defaultAutocompleteProvider = {
|
|
16
|
+
onFields: () => empty(),
|
|
17
|
+
onOperators: () => empty(),
|
|
18
|
+
onValues: () => empty(),
|
|
19
|
+
onFunctions: () => empty()
|
|
20
|
+
};
|
|
21
|
+
export const JQLAutocompletePluginKey = new PluginKey(AUTOCOMPLETE_PLUGIN_NAME);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { keydownHandler } from '@atlaskit/editor-prosemirror/keymap';
|
|
2
|
+
import { Plugin } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
import { PluginKeymap } from '../common/plugin-keymap';
|
|
4
|
+
import { ARROW_DOWN_KEY, ARROW_UP_KEY, CMD_ARROW_DOWN_KEY, CMD_ARROW_UP_KEY, END_KEY, ENTER_KEY, ESCAPE_KEY, HOME_KEY, JQLAutocompletePluginKey, TAB_KEY } from './constants';
|
|
5
|
+
import AutocompletePluginView from './view';
|
|
6
|
+
const getKeyHandler = (keymap, key) => (state, dispatch, view) => {
|
|
7
|
+
const binding = keymap.getKeyBinding(key);
|
|
8
|
+
return binding ? binding(state, dispatch, view) : false;
|
|
9
|
+
};
|
|
10
|
+
const autocompletePlugin = (portalActions, enableRichInlineNodes) => {
|
|
11
|
+
// Empty keymap passed down to the React component so it can register key bindings
|
|
12
|
+
const keymap = new PluginKeymap();
|
|
13
|
+
return new Plugin({
|
|
14
|
+
key: JQLAutocompletePluginKey,
|
|
15
|
+
view: editorView => {
|
|
16
|
+
const view = new AutocompletePluginView(editorView, keymap, portalActions, enableRichInlineNodes);
|
|
17
|
+
// Initialise view to mount the react component
|
|
18
|
+
view.init();
|
|
19
|
+
return view;
|
|
20
|
+
},
|
|
21
|
+
props: {
|
|
22
|
+
handleKeyDown: keydownHandler({
|
|
23
|
+
[ARROW_UP_KEY]: getKeyHandler(keymap, ARROW_UP_KEY),
|
|
24
|
+
[ARROW_DOWN_KEY]: getKeyHandler(keymap, ARROW_DOWN_KEY),
|
|
25
|
+
[CMD_ARROW_UP_KEY]: getKeyHandler(keymap, CMD_ARROW_UP_KEY),
|
|
26
|
+
[CMD_ARROW_DOWN_KEY]: getKeyHandler(keymap, CMD_ARROW_DOWN_KEY),
|
|
27
|
+
[HOME_KEY]: getKeyHandler(keymap, HOME_KEY),
|
|
28
|
+
[END_KEY]: getKeyHandler(keymap, END_KEY),
|
|
29
|
+
[ESCAPE_KEY]: getKeyHandler(keymap, ESCAPE_KEY),
|
|
30
|
+
[ENTER_KEY]: getKeyHandler(keymap, ENTER_KEY),
|
|
31
|
+
[TAB_KEY]: getKeyHandler(keymap, TAB_KEY)
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
export default autocompletePlugin;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export const messages = defineMessages({
|
|
3
|
+
optionsFound: {
|
|
4
|
+
id: 'jql-editor.plugins.autocomplete.options-found',
|
|
5
|
+
defaultMessage: 'Choose from the suggested list of options below.',
|
|
6
|
+
description: 'This message is read by screen readers when autocomplete suggestions are available in the JQL editor.'
|
|
7
|
+
}
|
|
8
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
|
|
3
|
+
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
4
|
+
import { isListOperator } from '@atlaskit/jql-ast';
|
|
5
|
+
import getDocumentPosition from '../common/get-document-position';
|
|
6
|
+
import ReactPluginView from '../common/react-plugin-view';
|
|
7
|
+
import Autocomplete from './components/autocomplete';
|
|
8
|
+
import { AUTOCOMPLETE_PLUGIN_NAME, JQLAutocompletePluginKey } from './constants';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns whether an opening parenthesis should be automatically inserted for this option (e.g. after a list operator)
|
|
12
|
+
*/
|
|
13
|
+
const shouldInsertOpeningParenthesis = ({
|
|
14
|
+
type,
|
|
15
|
+
context,
|
|
16
|
+
isListFunction
|
|
17
|
+
}) => {
|
|
18
|
+
if (type === 'value' || type === 'function' || type === 'keyword') {
|
|
19
|
+
const operator = context === null || context === void 0 ? void 0 : context.operator;
|
|
20
|
+
if (operator && isListOperator(operator) && !(context !== null && context !== void 0 && context.isList) && !isListFunction) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
};
|
|
26
|
+
export default class AutocompletePluginView extends ReactPluginView {
|
|
27
|
+
constructor(view, keymap, portalActions, enableRichInlineNodes) {
|
|
28
|
+
super(portalActions, AUTOCOMPLETE_PLUGIN_NAME, 'main');
|
|
29
|
+
_defineProperty(this, "getComponent", () => {
|
|
30
|
+
return Autocomplete;
|
|
31
|
+
});
|
|
32
|
+
_defineProperty(this, "getInitialComponentProps", () => {
|
|
33
|
+
return {
|
|
34
|
+
keymap: this.keymap,
|
|
35
|
+
onClick: this.onReplaceSuggestion
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
_defineProperty(this, "onReplaceSuggestion", option => {
|
|
39
|
+
const [from, to] = option.replacePosition;
|
|
40
|
+
const transaction = this.view.state.tr;
|
|
41
|
+
transaction.setMeta(JQLAutocompletePluginKey, true);
|
|
42
|
+
|
|
43
|
+
// Request query hydration if we are inserting a user node
|
|
44
|
+
if (this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'user') {
|
|
45
|
+
transaction.setMeta('hydrate', true);
|
|
46
|
+
}
|
|
47
|
+
const documentFrom = getDocumentPosition(transaction.doc, from);
|
|
48
|
+
const documentTo = getDocumentPosition(transaction.doc, to);
|
|
49
|
+
|
|
50
|
+
// Change current selection to the mapped replace position
|
|
51
|
+
transaction.setSelection(TextSelection.create(transaction.doc, documentTo, documentFrom));
|
|
52
|
+
|
|
53
|
+
// Replace selected range with the selected autocomplete option
|
|
54
|
+
transaction.replaceSelection(this.getSliceForSuggestion(option));
|
|
55
|
+
this.view.focus();
|
|
56
|
+
this.view.dispatch(transaction);
|
|
57
|
+
});
|
|
58
|
+
_defineProperty(this, "getSliceForSuggestion", option => {
|
|
59
|
+
const {
|
|
60
|
+
value,
|
|
61
|
+
name,
|
|
62
|
+
nameOnRichInlineNode,
|
|
63
|
+
valueType,
|
|
64
|
+
context
|
|
65
|
+
} = option;
|
|
66
|
+
const nodes = [];
|
|
67
|
+
if (shouldInsertOpeningParenthesis(option)) {
|
|
68
|
+
nodes.push(this.view.state.schema.text('('));
|
|
69
|
+
}
|
|
70
|
+
const textContent = this.view.state.schema.text(value);
|
|
71
|
+
if (!this.enableRichInlineNodes) {
|
|
72
|
+
nodes.push(textContent);
|
|
73
|
+
} else {
|
|
74
|
+
switch (valueType) {
|
|
75
|
+
case 'user':
|
|
76
|
+
{
|
|
77
|
+
const attributes = {
|
|
78
|
+
type: 'user',
|
|
79
|
+
id: value,
|
|
80
|
+
name: nameOnRichInlineNode !== null && nameOnRichInlineNode !== void 0 ? nameOnRichInlineNode : name,
|
|
81
|
+
fieldName: context === null || context === void 0 ? void 0 : context.field
|
|
82
|
+
};
|
|
83
|
+
nodes.push(this.view.state.schema.nodes.user.create(attributes, textContent));
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
default:
|
|
87
|
+
{
|
|
88
|
+
nodes.push(textContent);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return new Slice(Fragment.from(nodes), 0, 0);
|
|
94
|
+
});
|
|
95
|
+
this.view = view;
|
|
96
|
+
this.keymap = keymap;
|
|
97
|
+
this.enableRichInlineNodes = enableRichInlineNodes;
|
|
98
|
+
}
|
|
99
|
+
isSameState(state, prevState) {
|
|
100
|
+
return prevState.doc.eq(state.doc) && prevState.selection.eq(state.selection);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { JQLEditorSchema } from '../../../schema';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Accumulator object to represent the current PM document position + text position within a PM node.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Recursively find the PM node which includes our text position. This method tracks the offset of PM nodes in order
|
|
9
|
+
* to compute the correct document position according to the rules identified here: https://prosemirror.net/docs/guide/#doc.indexing.
|
|
10
|
+
*
|
|
11
|
+
* If for some reason the text position can not be found in the node then the position at which the current node ends
|
|
12
|
+
* will be returned.
|
|
13
|
+
*
|
|
14
|
+
* @param node Node to search
|
|
15
|
+
* @param parentNodePos Current document and text position within the parent when entering the current node.
|
|
16
|
+
* @param textPosition Text position to find in the Prosemirror document.
|
|
17
|
+
*/
|
|
18
|
+
const enterNode = (node, parentNodePos, textPosition) => {
|
|
19
|
+
let nodePos = {
|
|
20
|
+
...parentNodePos
|
|
21
|
+
};
|
|
22
|
+
const isDocNode = node.type === JQLEditorSchema.nodes.doc;
|
|
23
|
+
|
|
24
|
+
// Enter non-leaf node
|
|
25
|
+
if (!node.isLeaf && !isDocNode) {
|
|
26
|
+
nodePos.doc += 1;
|
|
27
|
+
if (node.isBlock) {
|
|
28
|
+
if (nodePos.enteredInitialBlock) {
|
|
29
|
+
// Every time we enter a block node (after the initial block),
|
|
30
|
+
// we need to increment text position to account for newline char.
|
|
31
|
+
nodePos.text += 1;
|
|
32
|
+
}
|
|
33
|
+
nodePos.enteredInitialBlock = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// If we've entered a new block and now have a matching node then return the current node position.
|
|
37
|
+
if (nodePos.text === textPosition) {
|
|
38
|
+
return nodePos;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// If text position matches last position of a node view, return its outer document position
|
|
42
|
+
if (node.isAtom && textPosition === nodePos.text + node.content.size) {
|
|
43
|
+
nodePos.doc += node.content.size + 1;
|
|
44
|
+
nodePos.text += node.content.size;
|
|
45
|
+
return nodePos;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (node.isText) {
|
|
49
|
+
// If our expected text position lies within the text nodes content, then return the associated document position.
|
|
50
|
+
if (textPosition >= nodePos.text && textPosition <= nodePos.text + node.nodeSize) {
|
|
51
|
+
const textOffset = textPosition - nodePos.text;
|
|
52
|
+
nodePos.doc += textOffset;
|
|
53
|
+
nodePos.text += textOffset;
|
|
54
|
+
return nodePos;
|
|
55
|
+
} else {
|
|
56
|
+
// Otherwise increment our accumulated document/text position
|
|
57
|
+
nodePos.doc += node.nodeSize;
|
|
58
|
+
nodePos.text += node.nodeSize;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
62
|
+
nodePos = enterNode(node.child(i), nodePos, textPosition);
|
|
63
|
+
|
|
64
|
+
// If we have a matching node after iterating this nodes children then return the current node position.
|
|
65
|
+
if (nodePos.text === textPosition) {
|
|
66
|
+
return nodePos;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Exit non-leaf node
|
|
71
|
+
if (!node.isLeaf && !isDocNode) {
|
|
72
|
+
nodePos.doc += 1;
|
|
73
|
+
}
|
|
74
|
+
return nodePos;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Return the Prosemirror document position that maps to the provided plain text position.
|
|
79
|
+
*
|
|
80
|
+
* @param doc Prosemirror document
|
|
81
|
+
* @param textPosition Text position to find in the Prosemirror document.
|
|
82
|
+
*/
|
|
83
|
+
const getDocumentPosition = (doc, textPosition) => {
|
|
84
|
+
const currentPos = {
|
|
85
|
+
doc: 0,
|
|
86
|
+
text: 0,
|
|
87
|
+
enteredInitialBlock: false
|
|
88
|
+
};
|
|
89
|
+
const matchingNodePos = enterNode(doc, currentPos, textPosition);
|
|
90
|
+
return matchingNodePos.doc;
|
|
91
|
+
};
|
|
92
|
+
export default getDocumentPosition;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
export class PluginKeymap {
|
|
3
|
+
constructor() {
|
|
4
|
+
_defineProperty(this, "keymap", {});
|
|
5
|
+
}
|
|
6
|
+
bindKey(key, handler) {
|
|
7
|
+
this.keymap = {
|
|
8
|
+
...this.keymap,
|
|
9
|
+
[key]: handler
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
bindMultipleKeys(keys, handler) {
|
|
13
|
+
keys.forEach(key => {
|
|
14
|
+
this.keymap = {
|
|
15
|
+
...this.keymap,
|
|
16
|
+
[key]: handler
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
unbindKey(key) {
|
|
21
|
+
const {
|
|
22
|
+
[key]: keyToUnbind,
|
|
23
|
+
...rest
|
|
24
|
+
} = this.keymap;
|
|
25
|
+
this.keymap = rest;
|
|
26
|
+
}
|
|
27
|
+
getKeyBinding(key) {
|
|
28
|
+
return this.keymap[key];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import { Subject } from 'rxjs/Subject';
|
|
4
|
+
/**
|
|
5
|
+
* Abstract class for Prosemirror plugin views which need to mount a React component. Concrete subclasses must implement
|
|
6
|
+
* {@link ReactPluginView#getComponent} which specifies the React component to render, along with
|
|
7
|
+
* {@link ReactPluginView#getInitialComponentProps} which returns any props to pass to the component on initial render.
|
|
8
|
+
*
|
|
9
|
+
* After the class is constructed, the caller must invoke {@link ReactPluginView#init} in order to mount the component.
|
|
10
|
+
*
|
|
11
|
+
* If there are external changes which the component needs to respond to, {@link ReactPluginView#componentSubject} can
|
|
12
|
+
* be used to trigger a re-render of the component with updated props. For example:
|
|
13
|
+
* ```
|
|
14
|
+
* update = (view: EditorView) => {
|
|
15
|
+
* this.componentSubject.next(this.getComponentProps(view));
|
|
16
|
+
* };
|
|
17
|
+
*
|
|
18
|
+
* getComponentProps = (view: EditorView) => {
|
|
19
|
+
* // Some logic to get props from the Prosemirror view
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export default class ReactPluginView {
|
|
24
|
+
/**
|
|
25
|
+
* Construct a Prosemirror plugin view which will render a React component in a portal.
|
|
26
|
+
*
|
|
27
|
+
* @param portalActions Provides callback functions which can be invoked to create and destroy a portal.
|
|
28
|
+
* @param portalKey Unique identifier for the plugin component.
|
|
29
|
+
* @param containerKey Key representing the HTML container the React component will be portalled into.
|
|
30
|
+
* @protected
|
|
31
|
+
*/
|
|
32
|
+
constructor(portalActions, portalKey, containerKey) {
|
|
33
|
+
_defineProperty(this, "componentSubject", new Subject());
|
|
34
|
+
_defineProperty(this, "init", () => {
|
|
35
|
+
const Component = this.getComponent();
|
|
36
|
+
const PortallingComponent = () => {
|
|
37
|
+
const [state, setState] = useState(() => this.getInitialComponentProps());
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
// Subscribe to the RxJS subject so concrete subclasses can emit events to re-render the plugin component.
|
|
40
|
+
const subscription = this.componentSubject.subscribe(updatedProps => {
|
|
41
|
+
setState(updatedProps);
|
|
42
|
+
});
|
|
43
|
+
return () => subscription.unsubscribe();
|
|
44
|
+
}, []);
|
|
45
|
+
return /*#__PURE__*/React.createElement(Component, state);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Dispatch onCreatePortal which will allow the handler to create a new portalled React component
|
|
49
|
+
this.portalActions.onCreatePortal(this.portalKey, /*#__PURE__*/React.createElement(PortallingComponent, null), this.containerKey);
|
|
50
|
+
});
|
|
51
|
+
this.portalActions = portalActions;
|
|
52
|
+
this.portalKey = portalKey;
|
|
53
|
+
this.containerKey = containerKey;
|
|
54
|
+
}
|
|
55
|
+
destroy() {
|
|
56
|
+
// Dispatch onDestroyPortal which will allow the handler to remove the portalled React component.
|
|
57
|
+
this.portalActions.onDestroyPortal(this.portalKey);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Return a React component to render for the plugin.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Return props to set on the component for initial render.
|
|
66
|
+
*/
|
|
67
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as autocompletePlugin } from './autocomplete';
|
|
2
|
+
export { default as jqlAstPlugin } from './jql-ast';
|
|
3
|
+
export { default as jqlSyntaxHighlightingPlugin } from './jql-syntax-highlighting';
|
|
4
|
+
export { default as richInlineNodesPlugin } from './rich-inline-nodes';
|
|
5
|
+
export { default as validationTooltipPlugin } from './validation-tooltip';
|