@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,268 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import Spinner from '@atlaskit/spinner';
|
|
5
|
+
import { ScreenReaderText } from '../../../../accessibility';
|
|
6
|
+
import { JQL_EDITOR_AUTOCOMPLETE_ID } from '../../../../common/constants';
|
|
7
|
+
import { useAutocomplete, useAutocompleteIsOpen, useAutocompletePosition, useIntl, useRichInlineNodesEnabled, useScopedId, useStoreActions } from '../../../../state';
|
|
8
|
+
import { ARROW_DOWN_KEY, ARROW_UP_KEY, CMD_ARROW_DOWN_KEY, CMD_ARROW_UP_KEY, END_KEY, ENTER_KEY, ESCAPE_KEY, HOME_KEY, TAB_KEY } from '../../constants';
|
|
9
|
+
import { messages } from '../../messages';
|
|
10
|
+
import AutocompleteOption from '../autocomplete-option';
|
|
11
|
+
import { AutocompleteContainer, AutocompleteLoadingFooter, AutocompleteOptionsContainer, OptionList } from './styled';
|
|
12
|
+
var getPreviousOptionId = function getPreviousOptionId(options, selectedOptionId) {
|
|
13
|
+
if (!selectedOptionId) {
|
|
14
|
+
return options[options.length - 1].id;
|
|
15
|
+
}
|
|
16
|
+
var index = options.findIndex(function (option) {
|
|
17
|
+
return option.id === selectedOptionId;
|
|
18
|
+
});
|
|
19
|
+
if (index === -1) {
|
|
20
|
+
return options[options.length - 1].id;
|
|
21
|
+
}
|
|
22
|
+
if (index > 0) {
|
|
23
|
+
return options[index - 1].id;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
};
|
|
27
|
+
var getNextOptionId = function getNextOptionId(options, selectedOptionId) {
|
|
28
|
+
if (!selectedOptionId) {
|
|
29
|
+
return options[0].id;
|
|
30
|
+
}
|
|
31
|
+
var index = options.findIndex(function (option) {
|
|
32
|
+
return option.id === selectedOptionId;
|
|
33
|
+
});
|
|
34
|
+
if (index === -1) {
|
|
35
|
+
return options[0].id;
|
|
36
|
+
}
|
|
37
|
+
if (index < options.length - 1) {
|
|
38
|
+
return options[index + 1].id;
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
var AutocompleteDropdown = function AutocompleteDropdown(_ref) {
|
|
43
|
+
var options = _ref.options,
|
|
44
|
+
loading = _ref.loading,
|
|
45
|
+
keymap = _ref.keymap,
|
|
46
|
+
onClick = _ref.onClick;
|
|
47
|
+
var containerRef = useRef(null);
|
|
48
|
+
var scrollContainerRef = useRef(null);
|
|
49
|
+
var selectedItemRef = useRef(null);
|
|
50
|
+
var _useState = useState(false),
|
|
51
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
52
|
+
navigatingWithKeyboard = _useState2[0],
|
|
53
|
+
setNavigatingWithKeyboard = _useState2[1];
|
|
54
|
+
var _useIntl = useIntl(),
|
|
55
|
+
_useIntl2 = _slicedToArray(_useIntl, 1),
|
|
56
|
+
intl = _useIntl2[0];
|
|
57
|
+
var _useStoreActions = useStoreActions(),
|
|
58
|
+
_useStoreActions2 = _slicedToArray(_useStoreActions, 2),
|
|
59
|
+
_useStoreActions2$ = _useStoreActions2[1],
|
|
60
|
+
onEditorViewFocus = _useStoreActions2$.onEditorViewFocus,
|
|
61
|
+
onEditorViewBlur = _useStoreActions2$.onEditorViewBlur;
|
|
62
|
+
var _useAutocomplete = useAutocomplete(),
|
|
63
|
+
_useAutocomplete2 = _slicedToArray(_useAutocomplete, 2),
|
|
64
|
+
selectedOptionId = _useAutocomplete2[0].selectedOptionId,
|
|
65
|
+
_useAutocomplete2$ = _useAutocomplete2[1],
|
|
66
|
+
closeAutocomplete = _useAutocomplete2$.closeAutocomplete,
|
|
67
|
+
setAutocompleteContainer = _useAutocomplete2$.setAutocompleteContainer,
|
|
68
|
+
setSelectedAutocompleteOptionId = _useAutocomplete2$.setSelectedAutocompleteOptionId;
|
|
69
|
+
var _useAutocompleteIsOpe = useAutocompleteIsOpen(),
|
|
70
|
+
_useAutocompleteIsOpe2 = _slicedToArray(_useAutocompleteIsOpe, 1),
|
|
71
|
+
isAutocompleteOpen = _useAutocompleteIsOpe2[0];
|
|
72
|
+
var _useAutocompletePosit = useAutocompletePosition(),
|
|
73
|
+
_useAutocompletePosit2 = _slicedToArray(_useAutocompletePosit, 1),
|
|
74
|
+
_useAutocompletePosit3 = _useAutocompletePosit2[0],
|
|
75
|
+
top = _useAutocompletePosit3.top,
|
|
76
|
+
left = _useAutocompletePosit3.left;
|
|
77
|
+
var _useRichInlineNodesEn = useRichInlineNodesEnabled(),
|
|
78
|
+
_useRichInlineNodesEn2 = _slicedToArray(_useRichInlineNodesEn, 1),
|
|
79
|
+
areRichInlineNodesEnabled = _useRichInlineNodesEn2[0];
|
|
80
|
+
var _useScopedId = useScopedId(JQL_EDITOR_AUTOCOMPLETE_ID),
|
|
81
|
+
_useScopedId2 = _slicedToArray(_useScopedId, 1),
|
|
82
|
+
autocompleteId = _useScopedId2[0];
|
|
83
|
+
var onContainerRef = useCallback(function (container) {
|
|
84
|
+
containerRef.current = container;
|
|
85
|
+
setAutocompleteContainer(container);
|
|
86
|
+
}, [containerRef, setAutocompleteContainer]);
|
|
87
|
+
var onScrollContainerRef = useCallback(function (container) {
|
|
88
|
+
scrollContainerRef.current = container;
|
|
89
|
+
}, [scrollContainerRef]);
|
|
90
|
+
var handleClick = useCallback(function (option, optionIndex, keyboard) {
|
|
91
|
+
closeAutocomplete();
|
|
92
|
+
onClick(option, {
|
|
93
|
+
keyboard: keyboard,
|
|
94
|
+
numberOfOptions: options.length,
|
|
95
|
+
optionIndex: optionIndex,
|
|
96
|
+
optionType: option.type,
|
|
97
|
+
queryLength: option.matchedText.length,
|
|
98
|
+
nodeType: areRichInlineNodesEnabled && option.valueType !== undefined ? option.valueType : 'text'
|
|
99
|
+
});
|
|
100
|
+
}, [options, onClick, closeAutocomplete, areRichInlineNodesEnabled]);
|
|
101
|
+
var onMouseMove = useCallback(function () {
|
|
102
|
+
if (navigatingWithKeyboard) {
|
|
103
|
+
setNavigatingWithKeyboard(false);
|
|
104
|
+
}
|
|
105
|
+
}, [navigatingWithKeyboard, setNavigatingWithKeyboard]);
|
|
106
|
+
useEffect(function () {
|
|
107
|
+
keymap.bindKey(ARROW_UP_KEY, function () {
|
|
108
|
+
if (!isAutocompleteOpen) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
!navigatingWithKeyboard && setNavigatingWithKeyboard(true);
|
|
112
|
+
var previousOptionId = getPreviousOptionId(options, selectedOptionId);
|
|
113
|
+
setSelectedAutocompleteOptionId(previousOptionId);
|
|
114
|
+
return true;
|
|
115
|
+
});
|
|
116
|
+
keymap.bindKey(ARROW_DOWN_KEY, function () {
|
|
117
|
+
if (!isAutocompleteOpen) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
!navigatingWithKeyboard && setNavigatingWithKeyboard(true);
|
|
121
|
+
var nextOptionId = getNextOptionId(options, selectedOptionId);
|
|
122
|
+
setSelectedAutocompleteOptionId(nextOptionId);
|
|
123
|
+
return true;
|
|
124
|
+
});
|
|
125
|
+
keymap.bindMultipleKeys([ENTER_KEY, TAB_KEY], function () {
|
|
126
|
+
if (!isAutocompleteOpen) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
var selectedOptionIndex = options.findIndex(function (option) {
|
|
130
|
+
return option.id === selectedOptionId;
|
|
131
|
+
});
|
|
132
|
+
if (selectedOptionId && selectedOptionIndex !== -1) {
|
|
133
|
+
if (options[selectedOptionIndex].isDeprecated) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
handleClick(options[selectedOptionIndex], selectedOptionIndex, true);
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
// Open with no option selected, so we let PM do its stuff (a.k.a. keep inserting new lines)
|
|
140
|
+
return false;
|
|
141
|
+
});
|
|
142
|
+
keymap.bindKey(ESCAPE_KEY, function () {
|
|
143
|
+
if (!isAutocompleteOpen) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
closeAutocomplete();
|
|
147
|
+
return true;
|
|
148
|
+
});
|
|
149
|
+
keymap.bindMultipleKeys([HOME_KEY, CMD_ARROW_UP_KEY], function () {
|
|
150
|
+
var _options$;
|
|
151
|
+
if (!isAutocompleteOpen) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
!navigatingWithKeyboard && setNavigatingWithKeyboard(true);
|
|
155
|
+
setSelectedAutocompleteOptionId((_options$ = options[0]) === null || _options$ === void 0 ? void 0 : _options$.id);
|
|
156
|
+
return true;
|
|
157
|
+
});
|
|
158
|
+
keymap.bindMultipleKeys([END_KEY, CMD_ARROW_DOWN_KEY], function () {
|
|
159
|
+
var _options;
|
|
160
|
+
if (!isAutocompleteOpen) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
!navigatingWithKeyboard && setNavigatingWithKeyboard(true);
|
|
164
|
+
setSelectedAutocompleteOptionId((_options = options[options.length - 1]) === null || _options === void 0 ? void 0 : _options.id);
|
|
165
|
+
return true;
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// New bindings should also be registered in plugins/autocomplete/index.tsx
|
|
169
|
+
|
|
170
|
+
return function () {
|
|
171
|
+
keymap.unbindKey(ARROW_UP_KEY);
|
|
172
|
+
keymap.unbindKey(ARROW_DOWN_KEY);
|
|
173
|
+
keymap.unbindKey(ENTER_KEY);
|
|
174
|
+
keymap.unbindKey(TAB_KEY);
|
|
175
|
+
keymap.unbindKey(ESCAPE_KEY);
|
|
176
|
+
keymap.unbindKey(HOME_KEY);
|
|
177
|
+
keymap.unbindKey(END_KEY);
|
|
178
|
+
keymap.unbindKey(CMD_ARROW_UP_KEY);
|
|
179
|
+
keymap.unbindKey(CMD_ARROW_DOWN_KEY);
|
|
180
|
+
};
|
|
181
|
+
}, [keymap, isAutocompleteOpen, closeAutocomplete, navigatingWithKeyboard, setNavigatingWithKeyboard, options, selectedOptionId, setSelectedAutocompleteOptionId, handleClick]);
|
|
182
|
+
useEffect(function () {
|
|
183
|
+
// Reset to no selection when:
|
|
184
|
+
// - autocomplete is closed
|
|
185
|
+
// - we get new options and those don't include the currently selected option
|
|
186
|
+
if (!isAutocompleteOpen || !options.some(function (option) {
|
|
187
|
+
return option.id === selectedOptionId;
|
|
188
|
+
})) {
|
|
189
|
+
setSelectedAutocompleteOptionId(undefined);
|
|
190
|
+
}
|
|
191
|
+
}, [isAutocompleteOpen, options, selectedOptionId, setSelectedAutocompleteOptionId]);
|
|
192
|
+
useLayoutEffect(function () {
|
|
193
|
+
requestAnimationFrame(function () {
|
|
194
|
+
if (containerRef.current) {
|
|
195
|
+
containerRef.current.style.top = "".concat(top, "px");
|
|
196
|
+
containerRef.current.style.left = "".concat(left, "px");
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}, [top, left]);
|
|
200
|
+
useLayoutEffect(function () {
|
|
201
|
+
if (navigatingWithKeyboard) {
|
|
202
|
+
var _selectedItemRef$curr;
|
|
203
|
+
(_selectedItemRef$curr = selectedItemRef.current) === null || _selectedItemRef$curr === void 0 || _selectedItemRef$curr.scrollIntoView({
|
|
204
|
+
block: 'nearest'
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}, [navigatingWithKeyboard, selectedOptionId, selectedItemRef]);
|
|
208
|
+
useLayoutEffect(function () {
|
|
209
|
+
var _selectedItemRef$curr2;
|
|
210
|
+
(_selectedItemRef$curr2 = selectedItemRef.current) === null || _selectedItemRef$curr2 === void 0 || _selectedItemRef$curr2.scrollIntoView({
|
|
211
|
+
block: 'nearest'
|
|
212
|
+
});
|
|
213
|
+
}, [options, selectedItemRef]);
|
|
214
|
+
useLayoutEffect(function () {
|
|
215
|
+
if (isAutocompleteOpen && !selectedOptionId && scrollContainerRef.current) {
|
|
216
|
+
scrollContainerRef.current.scrollTop = 0;
|
|
217
|
+
}
|
|
218
|
+
}, [isAutocompleteOpen, selectedOptionId]);
|
|
219
|
+
var announcedMessage = useMemo(function () {
|
|
220
|
+
if (!isAutocompleteOpen || !options.length) {
|
|
221
|
+
return '';
|
|
222
|
+
}
|
|
223
|
+
return intl.formatMessage(messages.optionsFound);
|
|
224
|
+
}, [isAutocompleteOpen, intl, options]);
|
|
225
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AutocompleteContainer, {
|
|
226
|
+
"data-testid": "jql-editor-autocomplete",
|
|
227
|
+
tabIndex: -1,
|
|
228
|
+
ref: onContainerRef,
|
|
229
|
+
isOpen: isAutocompleteOpen,
|
|
230
|
+
onBlur: onEditorViewBlur,
|
|
231
|
+
onFocus: onEditorViewFocus
|
|
232
|
+
}, /*#__PURE__*/React.createElement(AutocompleteOptionsContainer, {
|
|
233
|
+
ref: onScrollContainerRef,
|
|
234
|
+
onMouseMove: onMouseMove
|
|
235
|
+
}, /*#__PURE__*/React.createElement(OptionList, {
|
|
236
|
+
role: "listbox",
|
|
237
|
+
id: autocompleteId
|
|
238
|
+
}, options.map(function (option, index) {
|
|
239
|
+
var isSelected = option.id === selectedOptionId;
|
|
240
|
+
return /*#__PURE__*/React.createElement(AutocompleteOption, _extends({
|
|
241
|
+
key: option.value,
|
|
242
|
+
isSelected: isSelected
|
|
243
|
+
}, isSelected && {
|
|
244
|
+
ref: selectedItemRef
|
|
245
|
+
}, {
|
|
246
|
+
option: option,
|
|
247
|
+
onClick: function onClick() {
|
|
248
|
+
return handleClick(option, index, false);
|
|
249
|
+
},
|
|
250
|
+
onMouseMove: function onMouseMove() {
|
|
251
|
+
var _options$index;
|
|
252
|
+
if (((_options$index = options[index]) === null || _options$index === void 0 ? void 0 : _options$index.id) !== selectedOptionId) {
|
|
253
|
+
var _options$index2;
|
|
254
|
+
setSelectedAutocompleteOptionId((_options$index2 = options[index]) === null || _options$index2 === void 0 ? void 0 : _options$index2.id);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}));
|
|
258
|
+
}))), loading && /*#__PURE__*/React.createElement(AutocompleteLoadingFooter, {
|
|
259
|
+
"data-testid": "jql-editor-autocomplete-loading",
|
|
260
|
+
hasOptions: !!options.length
|
|
261
|
+
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
262
|
+
size: "small"
|
|
263
|
+
}))), /*#__PURE__*/React.createElement(ScreenReaderText, {
|
|
264
|
+
role: "status",
|
|
265
|
+
"aria-live": "polite"
|
|
266
|
+
}, announcedMessage));
|
|
267
|
+
};
|
|
268
|
+
export default AutocompleteDropdown;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import styled from '@emotion/styled';
|
|
5
|
+
import { N200, N40, N50A, N60A } from '@atlaskit/theme/colors';
|
|
6
|
+
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
7
|
+
import { gridSize, layers } from '@atlaskit/theme/constants';
|
|
8
|
+
export var AutocompleteContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n background-color: ", ";\n border-radius: ", ";\n will-change: top, left;\n visibility: ", ";\n z-index: ", ";\n box-shadow: ", ";\n padding: ", " 0;\n min-width: ", "px;\n max-width: ", "px;\n\n &:focus {\n outline: none;\n }\n"])), "var(--ds-surface-overlay, white)", "var(--ds-border-radius-100, 3px)", function (props) {
|
|
9
|
+
return props.isOpen ? 'visible' : 'hidden';
|
|
10
|
+
}, layers.dialog, "var(--ds-shadow-overlay, ".concat("0 4px 8px -2px ".concat(N50A, ", 0 0 1px ").concat(N60A), ")"), "var(--ds-space-075, 6px)", 25 * gridSize(), 50 * gridSize());
|
|
11
|
+
export var AutocompleteOptionsContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n max-height: ", "px;\n overflow: auto;\n"])), 36 * gridSize());
|
|
12
|
+
export var OptionList = styled.ul(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n list-style: none;\n margin: 0;\n padding: 0;\n"])));
|
|
13
|
+
export var AutocompleteLoadingFooter = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n color: ", ";\n font-style: italic;\n padding: ", ";\n text-align: center;\n ", ";\n"])), "var(--ds-text-subtlest, ".concat(N200, ")"), "var(--ds-space-150, 12px)", function (props) {
|
|
14
|
+
return props.hasOptions ? // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
15
|
+
css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n border-top: solid 1px ", ";\n margin-top: ", ";\n /* 3/2 + 3/4 */\n padding-top: ", "px;\n "])), "var(--ds-border, ".concat(N40, ")"), "var(--ds-space-075, 6px)", 9 / 4 * gridSize()) : '';
|
|
16
|
+
});
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
// Custom icons not from Atlaskit
|
|
4
|
+
|
|
5
|
+
export var numberGlyph = function numberGlyph() {
|
|
6
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
7
|
+
viewBox: "0 0 24 24",
|
|
8
|
+
focusable: "false"
|
|
9
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
10
|
+
d: "M7 4h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3zm.417 10.636h1.15V9.141H7.42L6 10.12v1.07l1.348-.93h.069v4.376zm1.923-3.85v.02h1.067v-.024c0-.506.365-.857.898-.857.503 0 .861.313.861.755 0 .357-.194.643-.967 1.397l-1.794 1.756v.803h3.964v-.955h-2.406v-.069l1.05-1.002c.953-.895 1.277-1.409 1.277-2.007 0-.944-.8-1.603-1.947-1.603-1.188 0-2.003.724-2.003 1.786zm5.811 1.466h.682c.617 0 .994.297.994.777 0 .469-.4.792-.975.792-.59 0-.983-.293-1.017-.757h-1.1c.05 1.035.88 1.713 2.106 1.713 1.253 0 2.159-.697 2.159-1.66 0-.724-.472-1.226-1.226-1.31v-.069c.613-.125 1.013-.62 1.013-1.257 0-.864-.811-1.481-1.939-1.481-1.2 0-1.972.655-2.01 1.695H14.9c.03-.476.385-.777.918-.777.537 0 .88.282.88.723 0 .45-.355.754-.876.754h-.67v.857z",
|
|
11
|
+
fill: "currentColor",
|
|
12
|
+
fillRule: "evenodd"
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// Following same approach as SWIFT page in Jira Frontend:
|
|
17
|
+
// Most glyphs in the Atlaskit icon package are 20x20 on a 24px canvas, however there are several icons we use which do
|
|
18
|
+
// not match these dimensions. We've copied these icons and standardised them to fit within a 16x16 box on a 24px canvas
|
|
19
|
+
// to remain visually consistent. See jira-frontend/src/packages/project-settings/common/src/glyphs.js for more details.
|
|
20
|
+
|
|
21
|
+
export var checkboxGlyph = function checkboxGlyph() {
|
|
22
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
23
|
+
viewBox: "0 0 24 24",
|
|
24
|
+
focusable: "false"
|
|
25
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
26
|
+
d: "M4 5.994C4 4.893 4.895 4 5.994 4h12.012C19.107 4 20 4.895 20 5.994v12.012A1.995 1.995 0 0 1 18.006 20H5.994A1.995 1.995 0 0 1 4 18.006V5.994zm5.707 5.299a1 1 0 1 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 1 0-1.414-1.414L11 12.586l-1.293-1.293z",
|
|
27
|
+
fill: "currentColor",
|
|
28
|
+
fillRule: "evenodd"
|
|
29
|
+
}));
|
|
30
|
+
};
|
|
31
|
+
export var dateGlyph = function dateGlyph() {
|
|
32
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
33
|
+
viewBox: "0 0 24 24",
|
|
34
|
+
focusable: "false"
|
|
35
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
36
|
+
d: "M8.667 6.167V7A.834.834 0 0 1 7 7V5.333a.834.834 0 0 1 1.667 0v.834zm6.666 0v-.834a.834.834 0 0 1 1.667 0V7a.834.834 0 0 1-1.667 0v-.833zm2.5 0h.005c.918 0 1.662.745 1.662 1.661v10.01c0 .918-.743 1.662-1.662 1.662H6.161A1.663 1.663 0 0 1 4.5 17.838V7.828c0-.917.743-1.661 1.662-1.661h.005V7c0 .927.746 1.667 1.666 1.667C8.76 8.667 9.5 7.92 9.5 7v-.833h5V7c0 .927.746 1.667 1.667 1.667.927 0 1.666-.747 1.666-1.667v-.833zm-10 6.667H9.5v-1.667H7.833v1.667zm0 3.334H9.5V14.5H7.833v1.668zm3.334-3.334h1.666v-1.667h-1.666v1.667zm0 3.334h1.666V14.5h-1.666v1.668zm3.333-3.334h1.667v-1.667H14.5v1.667zm0 3.334h1.667V14.5H14.5v1.668z",
|
|
37
|
+
fill: "currentColor",
|
|
38
|
+
fillRule: "evenodd"
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
41
|
+
export var dropdownGlyph = function dropdownGlyph() {
|
|
42
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
43
|
+
viewBox: "0 0 24 24",
|
|
44
|
+
focusable: "false"
|
|
45
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
46
|
+
d: "M12 19.5a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15zm.65-5.268l2.44-2.463a.84.84 0 0 0 0-1.182.822.822 0 0 0-1.17 0l-1.916 1.93-1.922-1.939a.824.824 0 0 0-1.173 0 .842.842 0 0 0 0 1.183l2.45 2.47a.92.92 0 0 0 .649.269.9.9 0 0 0 .641-.268z",
|
|
47
|
+
fill: "currentColor"
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
export var labelGlyph = function labelGlyph() {
|
|
51
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
52
|
+
viewBox: "0 0 24 24",
|
|
53
|
+
focusable: "false"
|
|
54
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
55
|
+
d: "M11.433 5.428l-4.207.6a2 2 0 0 0-1.697 1.698l-.601 4.207a1 1 0 0 0 .283.849l6.894 6.894a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0 0-1.414L12.282 5.71a1 1 0 0 0-.849-.283zm-.647 5.858a1.667 1.667 0 1 1-2.357-2.357 1.667 1.667 0 0 1 2.357 2.357z",
|
|
56
|
+
fill: "currentColor",
|
|
57
|
+
fillRule: "evenodd"
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
export var paragraphGlyph = function paragraphGlyph() {
|
|
61
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
62
|
+
viewBox: "0 0 24 24",
|
|
63
|
+
focusable: "false"
|
|
64
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
65
|
+
d: "M7 7h11a1 1 0 0 1 0 2H7a1 1 0 1 1 0-2zm0 4h11a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2zm0 4h6a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2z",
|
|
66
|
+
fill: "currentColor",
|
|
67
|
+
fillRule: "evenodd"
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
export var peopleGlyph = function peopleGlyph() {
|
|
71
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
72
|
+
viewBox: "0 0 24 24",
|
|
73
|
+
focusable: "false"
|
|
74
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
75
|
+
d: "M12.12 20.249a8.398 8.398 0 0 1-.39-.003A8.25 8.25 0 0 1 3.75 12 8.25 8.25 0 0 1 12 3.75 8.25 8.25 0 0 1 20.25 12a8.25 8.25 0 0 1-8.13 8.25v-.001zm4.463-3.762A6.396 6.396 0 0 0 18.417 12 6.424 6.424 0 0 0 12 5.583 6.424 6.424 0 0 0 5.583 12c0 1.745.7 3.33 1.834 4.487v-1.27a2.291 2.291 0 0 1 2.292-2.292h4.582a2.292 2.292 0 0 1 2.292 2.291v1.27zM12 12a2.75 2.75 0 1 1 0-5.5 2.75 2.75 0 0 1 0 5.5z",
|
|
76
|
+
fill: "currentColor",
|
|
77
|
+
fillRule: "evenodd"
|
|
78
|
+
}));
|
|
79
|
+
};
|
|
80
|
+
export var shortTextGlyph = function shortTextGlyph() {
|
|
81
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
82
|
+
viewBox: "0 0 24 24",
|
|
83
|
+
focusable: "false"
|
|
84
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
85
|
+
d: "M6.72 7.178l-2.93 8.627a.5.5 0 0 0 .473.661h.842a.75.75 0 0 0 .716-.53l.581-1.887h3.425l.58 1.887a.75.75 0 0 0 .717.53h.916a.5.5 0 0 0 .473-.66L9.578 7.177a1 1 0 0 0-.946-.678h-.966a1 1 0 0 0-.947.678zm1.37 1.228h.047l1.25 4.082H6.841l1.25-4.082zm10.187 1.872v-.23a.986.986 0 1 1 1.972 0v5.433a.986.986 0 0 1-1.972 0v-.217h-.08c-.36.802-1.13 1.32-2.217 1.32-1.81 0-2.952-1.479-2.952-3.834 0-2.334 1.149-3.805 2.952-3.805 1.075 0 1.858.546 2.216 1.333h.08zm-.04 2.486c0-1.347-.63-2.203-1.61-2.203-.978 0-1.58.843-1.58 2.203 0 1.368.602 2.196 1.58 2.196.988 0 1.61-.836 1.61-2.196z",
|
|
86
|
+
fill: "currentColor"
|
|
87
|
+
}));
|
|
88
|
+
};
|
|
89
|
+
export var timeStampGlyph = function timeStampGlyph() {
|
|
90
|
+
return /*#__PURE__*/React.createElement("svg", {
|
|
91
|
+
viewBox: "0 0 24 24",
|
|
92
|
+
focusable: "false"
|
|
93
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
94
|
+
d: "M12 20a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm.787-7.674V8.944c0-.52-.402-.944-.893-.944-.492 0-.894.425-.894.944v3.777c0 .263.104.5.269.672l2.207 2.332a.862.862 0 0 0 1.263 0 .985.985 0 0 0 0-1.336l-1.952-2.063z",
|
|
95
|
+
fill: "currentColor",
|
|
96
|
+
fillRule: "evenodd"
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import React, { forwardRef, useCallback, useMemo, useState } from 'react';
|
|
5
|
+
import deburr from 'lodash/deburr';
|
|
6
|
+
import noop from 'lodash/noop';
|
|
7
|
+
import Icon from '@atlaskit/icon';
|
|
8
|
+
import InfoIcon from '@atlaskit/icon/glyph/editor/panel';
|
|
9
|
+
import { normaliseJqlString } from '@atlaskit/jql-ast';
|
|
10
|
+
import { N400 } from '@atlaskit/theme/colors';
|
|
11
|
+
import Tooltip from '@atlaskit/tooltip';
|
|
12
|
+
import { useIntl } from '../../../../state';
|
|
13
|
+
import { checkboxGlyph, dateGlyph, dropdownGlyph, labelGlyph, numberGlyph, paragraphGlyph, peopleGlyph, shortTextGlyph, timeStampGlyph } from './glyphs';
|
|
14
|
+
import { messages } from './messages';
|
|
15
|
+
import { DeprecatedOptionContainer, FieldType, FieldTypeIcon, OptionHighlight, OptionListItem, OptionName, TooltipContent } from './styled';
|
|
16
|
+
var ResizedIcon = function ResizedIcon(_ref) {
|
|
17
|
+
var glyph = _ref.glyph;
|
|
18
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
19
|
+
glyph: glyph,
|
|
20
|
+
size: "small",
|
|
21
|
+
label: "",
|
|
22
|
+
testId: "jql-editor-field-type-icon"
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* List of types with supported icons is derived from GIN
|
|
28
|
+
* Custom SVGs are provisional while we work on making field type icons consistent across Atlassian
|
|
29
|
+
*/
|
|
30
|
+
var getFieldTypeIcon = function getFieldTypeIcon(type) {
|
|
31
|
+
switch (type) {
|
|
32
|
+
case 'Checkboxes':
|
|
33
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
34
|
+
glyph: checkboxGlyph
|
|
35
|
+
});
|
|
36
|
+
case 'Date':
|
|
37
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
38
|
+
glyph: dateGlyph
|
|
39
|
+
});
|
|
40
|
+
case 'Dropdown':
|
|
41
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
42
|
+
glyph: dropdownGlyph
|
|
43
|
+
});
|
|
44
|
+
case 'Labels':
|
|
45
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
46
|
+
glyph: labelGlyph
|
|
47
|
+
});
|
|
48
|
+
case 'Number':
|
|
49
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
50
|
+
glyph: numberGlyph
|
|
51
|
+
});
|
|
52
|
+
case 'Paragraph':
|
|
53
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
54
|
+
glyph: paragraphGlyph
|
|
55
|
+
});
|
|
56
|
+
case 'People':
|
|
57
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
58
|
+
glyph: peopleGlyph
|
|
59
|
+
});
|
|
60
|
+
case 'Short text':
|
|
61
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
62
|
+
glyph: shortTextGlyph
|
|
63
|
+
});
|
|
64
|
+
case 'Time stamp':
|
|
65
|
+
return /*#__PURE__*/React.createElement(ResizedIcon, {
|
|
66
|
+
glyph: timeStampGlyph
|
|
67
|
+
});
|
|
68
|
+
default:
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var getHighlightPosition = function getHighlightPosition(name, matchedText) {
|
|
73
|
+
var normalizedName = deburr(name).toLowerCase();
|
|
74
|
+
var normalizedMatchedText = deburr(normaliseJqlString(matchedText)).toLowerCase();
|
|
75
|
+
var index = normalizedName.indexOf(normalizedMatchedText);
|
|
76
|
+
if (index === -1) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return [index, index + normalizedMatchedText.length];
|
|
80
|
+
};
|
|
81
|
+
var getDeprecatedTooltipMessage = function getDeprecatedTooltipMessage(deprecatedSearcherKey) {
|
|
82
|
+
switch (deprecatedSearcherKey) {
|
|
83
|
+
case 'com.pyxis.greenhopper.jira:gh-epic-link-searcher':
|
|
84
|
+
case 'com.atlassian.jpo:jpo-custom-field-parent-searcher':
|
|
85
|
+
return messages.deprecatedFieldTooltipParentReplacementMessage;
|
|
86
|
+
default:
|
|
87
|
+
return messages.deprecatedFieldTooltipDefaultMessage;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var AutocompleteOption = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
91
|
+
var _props$option = props.option,
|
|
92
|
+
id = _props$option.id,
|
|
93
|
+
name = _props$option.name,
|
|
94
|
+
fieldType = _props$option.fieldType,
|
|
95
|
+
matchedText = _props$option.matchedText,
|
|
96
|
+
_props$option$isDepre = _props$option.isDeprecated,
|
|
97
|
+
isDeprecated = _props$option$isDepre === void 0 ? false : _props$option$isDepre,
|
|
98
|
+
deprecatedSearcherKey = _props$option.deprecatedSearcherKey,
|
|
99
|
+
isSelected = props.isSelected,
|
|
100
|
+
onClick = props.onClick,
|
|
101
|
+
onMouseMove = props.onMouseMove;
|
|
102
|
+
var _useState = useState(false),
|
|
103
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
104
|
+
overflows = _useState2[0],
|
|
105
|
+
setOverflows = _useState2[1];
|
|
106
|
+
var _useIntl = useIntl(),
|
|
107
|
+
_useIntl2 = _slicedToArray(_useIntl, 1),
|
|
108
|
+
formatMessage = _useIntl2[0].formatMessage;
|
|
109
|
+
var onNameRef = useCallback(function (node) {
|
|
110
|
+
// This ref will be re-invoked after a tooltip is rendered, so we avoid recomputing the overflow in that instance
|
|
111
|
+
// so we don't risk infinite re-renders (which we've observed through production logs).
|
|
112
|
+
if (node != null && !overflows) {
|
|
113
|
+
setOverflows(node.offsetWidth < node.scrollWidth);
|
|
114
|
+
}
|
|
115
|
+
}, [overflows]);
|
|
116
|
+
|
|
117
|
+
// TODO: verify type is i18n'd after integrating with GraphQL API
|
|
118
|
+
|
|
119
|
+
var fieldTypeIcon = fieldType ? getFieldTypeIcon(fieldType) : null;
|
|
120
|
+
var optionName = useMemo(function () {
|
|
121
|
+
var highlightPosition = getHighlightPosition(name, matchedText);
|
|
122
|
+
return highlightPosition ? /*#__PURE__*/React.createElement(OptionName, {
|
|
123
|
+
ref: onNameRef,
|
|
124
|
+
"aria-label": name
|
|
125
|
+
}, name.substring(0, highlightPosition[0]), /*#__PURE__*/React.createElement(OptionHighlight, null, name.substring.apply(name, _toConsumableArray(highlightPosition))), name.substring(highlightPosition[1])) : /*#__PURE__*/React.createElement(OptionName, {
|
|
126
|
+
ref: onNameRef
|
|
127
|
+
}, name);
|
|
128
|
+
}, [onNameRef, name, matchedText]);
|
|
129
|
+
var deprecatedTooltipContent = /*#__PURE__*/React.createElement(TooltipContent, null, formatMessage(getDeprecatedTooltipMessage(deprecatedSearcherKey), {
|
|
130
|
+
b: function b(text) {
|
|
131
|
+
return /*#__PURE__*/React.createElement("b", null, text);
|
|
132
|
+
},
|
|
133
|
+
received: name,
|
|
134
|
+
parentReplacement: 'Parent'
|
|
135
|
+
}));
|
|
136
|
+
var ListItem = /*#__PURE__*/React.createElement(OptionListItem, _extends({
|
|
137
|
+
id: id,
|
|
138
|
+
"data-testid": "jql-editor-autocomplete-option",
|
|
139
|
+
role: "option",
|
|
140
|
+
isSelected: isSelected,
|
|
141
|
+
isDeprecated: isDeprecated,
|
|
142
|
+
onClick: isDeprecated ? noop : onClick,
|
|
143
|
+
onMouseMove: isDeprecated ? noop : onMouseMove
|
|
144
|
+
}, ref && {
|
|
145
|
+
ref: ref
|
|
146
|
+
}, {
|
|
147
|
+
"aria-selected": isSelected
|
|
148
|
+
}), isDeprecated ? /*#__PURE__*/React.createElement(DeprecatedOptionContainer, null, optionName, /*#__PURE__*/React.createElement(Tooltip, {
|
|
149
|
+
content: deprecatedTooltipContent,
|
|
150
|
+
position: 'right'
|
|
151
|
+
}, /*#__PURE__*/React.createElement(InfoIcon, {
|
|
152
|
+
testId: "jql-editor-deprecated-icon",
|
|
153
|
+
label: "",
|
|
154
|
+
primaryColor: "var(--ds-icon, ".concat(N400, ")")
|
|
155
|
+
}))) : optionName, fieldType && /*#__PURE__*/React.createElement(FieldType, null, fieldTypeIcon && /*#__PURE__*/React.createElement(FieldTypeIcon, null, fieldTypeIcon), fieldType));
|
|
156
|
+
var tooltipContent = /*#__PURE__*/React.createElement(TooltipContent, null, name);
|
|
157
|
+
if (overflows) {
|
|
158
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
159
|
+
content: tooltipContent,
|
|
160
|
+
position: 'right'
|
|
161
|
+
}, ListItem);
|
|
162
|
+
}
|
|
163
|
+
return ListItem;
|
|
164
|
+
});
|
|
165
|
+
export default AutocompleteOption;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export var 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,21 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import styled from '@emotion/styled';
|
|
5
|
+
import { N100, N20, N50, N800 } from '@atlaskit/theme/colors';
|
|
6
|
+
import { codeFontFamily, fontFamily,
|
|
7
|
+
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
8
|
+
gridSize } from '@atlaskit/theme/constants';
|
|
9
|
+
export var TooltipContent = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-family: ", ";\n"])), fontFamily);
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
12
|
+
export var OptionListItem = styled.li(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n cursor: pointer;\n padding: ", " ", "px;\n font-family: ", ";\n line-height: 24px;\n ", "\n ", "\n"])), "var(--ds-space-075, 6px)", 5 / 4 * gridSize(), codeFontFamily, function (props) {
|
|
13
|
+
return props.isSelected ? css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background: ", ";\n "])), "var(--ds-background-neutral-subtle-hovered, ".concat(N20, ")")) : '';
|
|
14
|
+
}, function (props) {
|
|
15
|
+
return props.isDeprecated ? css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n cursor: default;\n color: ", ";\n "])), "var(--ds-text-disabled, ".concat(N50, ")")) : '';
|
|
16
|
+
});
|
|
17
|
+
export var OptionName = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n // Added so that overflowed option names do not squish the deprecated info icon\n flex: 1;\n"])), "var(--ds-text, ".concat(N800, ")"));
|
|
18
|
+
export var DeprecatedOptionContainer = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n display: flex;\n justify-content: space-between;\n opacity: 0.6;\n"])), "var(--ds-text-disabled, ".concat(N50, ")"));
|
|
19
|
+
export var OptionHighlight = styled.span(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-weight: bold;\n"])));
|
|
20
|
+
export var FieldType = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin-top: ", ";\n color: ", ";\n"])), "var(--ds-space-negative-025, -2px)", "var(--ds-text-subtlest, ".concat(N100, ")"));
|
|
21
|
+
export var FieldTypeIcon = styled.span(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n display: flex;\n margin-right: ", ";\n"])), "var(--ds-space-050, 4px)");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { empty } from 'rxjs/observable/empty';
|
|
2
|
+
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
export var AUTOCOMPLETE_PLUGIN_NAME = 'jql-autocomplete-plugin';
|
|
4
|
+
export var ARROW_UP_KEY = 'ArrowUp';
|
|
5
|
+
export var ARROW_DOWN_KEY = 'ArrowDown';
|
|
6
|
+
export var CMD_ARROW_UP_KEY = 'Cmd-ArrowUp';
|
|
7
|
+
export var CMD_ARROW_DOWN_KEY = 'Cmd-ArrowDown';
|
|
8
|
+
export var HOME_KEY = 'Home'; // === Fn-Left in Mac
|
|
9
|
+
export var END_KEY = 'End'; // === Fn-Right in Mac
|
|
10
|
+
export var ENTER_KEY = 'Enter';
|
|
11
|
+
export var ESCAPE_KEY = 'Escape';
|
|
12
|
+
export var TAB_KEY = 'Tab';
|
|
13
|
+
|
|
14
|
+
// No-op autocomplete provider used when creating the initial state
|
|
15
|
+
export var defaultAutocompleteProvider = {
|
|
16
|
+
onFields: function onFields() {
|
|
17
|
+
return empty();
|
|
18
|
+
},
|
|
19
|
+
onOperators: function onOperators() {
|
|
20
|
+
return empty();
|
|
21
|
+
},
|
|
22
|
+
onValues: function onValues() {
|
|
23
|
+
return empty();
|
|
24
|
+
},
|
|
25
|
+
onFunctions: function onFunctions() {
|
|
26
|
+
return empty();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export var JQLAutocompletePluginKey = new PluginKey(AUTOCOMPLETE_PLUGIN_NAME);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { keydownHandler } from '@atlaskit/editor-prosemirror/keymap';
|
|
3
|
+
import { Plugin } from '@atlaskit/editor-prosemirror/state';
|
|
4
|
+
import { PluginKeymap } from '../common/plugin-keymap';
|
|
5
|
+
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';
|
|
6
|
+
import AutocompletePluginView from './view';
|
|
7
|
+
var getKeyHandler = function getKeyHandler(keymap, key) {
|
|
8
|
+
return function (state, dispatch, view) {
|
|
9
|
+
var binding = keymap.getKeyBinding(key);
|
|
10
|
+
return binding ? binding(state, dispatch, view) : false;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
var autocompletePlugin = function autocompletePlugin(portalActions, enableRichInlineNodes) {
|
|
14
|
+
var _keydownHandler;
|
|
15
|
+
// Empty keymap passed down to the React component so it can register key bindings
|
|
16
|
+
var keymap = new PluginKeymap();
|
|
17
|
+
return new Plugin({
|
|
18
|
+
key: JQLAutocompletePluginKey,
|
|
19
|
+
view: function view(editorView) {
|
|
20
|
+
var view = new AutocompletePluginView(editorView, keymap, portalActions, enableRichInlineNodes);
|
|
21
|
+
// Initialise view to mount the react component
|
|
22
|
+
view.init();
|
|
23
|
+
return view;
|
|
24
|
+
},
|
|
25
|
+
props: {
|
|
26
|
+
handleKeyDown: keydownHandler((_keydownHandler = {}, _defineProperty(_keydownHandler, ARROW_UP_KEY, getKeyHandler(keymap, ARROW_UP_KEY)), _defineProperty(_keydownHandler, ARROW_DOWN_KEY, getKeyHandler(keymap, ARROW_DOWN_KEY)), _defineProperty(_keydownHandler, CMD_ARROW_UP_KEY, getKeyHandler(keymap, CMD_ARROW_UP_KEY)), _defineProperty(_keydownHandler, CMD_ARROW_DOWN_KEY, getKeyHandler(keymap, CMD_ARROW_DOWN_KEY)), _defineProperty(_keydownHandler, HOME_KEY, getKeyHandler(keymap, HOME_KEY)), _defineProperty(_keydownHandler, END_KEY, getKeyHandler(keymap, END_KEY)), _defineProperty(_keydownHandler, ESCAPE_KEY, getKeyHandler(keymap, ESCAPE_KEY)), _defineProperty(_keydownHandler, ENTER_KEY, getKeyHandler(keymap, ENTER_KEY)), _defineProperty(_keydownHandler, TAB_KEY, getKeyHandler(keymap, TAB_KEY)), _keydownHandler))
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
export default autocompletePlugin;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export var 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
|
+
});
|