@acorex/cdk 22.1.8 → 22.2.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/auto-follow-scroll/README.md +9 -0
  2. package/fesm2022/acorex-cdk-accordion.mjs +19 -19
  3. package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-cdk-auto-follow-scroll.mjs +187 -0
  5. package/fesm2022/acorex-cdk-auto-follow-scroll.mjs.map +1 -0
  6. package/fesm2022/acorex-cdk-carousel.mjs +25 -7
  7. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  8. package/fesm2022/acorex-cdk-clipboard.mjs +6 -6
  9. package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
  10. package/fesm2022/acorex-cdk-common.mjs +223 -108
  11. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  12. package/fesm2022/acorex-cdk-dom.mjs +3 -3
  13. package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
  14. package/fesm2022/acorex-cdk-drag-drop.mjs +158 -68
  15. package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
  16. package/fesm2022/acorex-cdk-drawer.mjs +15 -13
  17. package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
  18. package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
  19. package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
  20. package/fesm2022/acorex-cdk-full-screen.mjs +26 -147
  21. package/fesm2022/acorex-cdk-full-screen.mjs.map +1 -1
  22. package/fesm2022/acorex-cdk-gesture.mjs +30 -4
  23. package/fesm2022/acorex-cdk-gesture.mjs.map +1 -1
  24. package/fesm2022/acorex-cdk-highlight.mjs +8 -78
  25. package/fesm2022/acorex-cdk-highlight.mjs.map +1 -1
  26. package/fesm2022/acorex-cdk-horizontal-scroll.mjs +37 -14
  27. package/fesm2022/acorex-cdk-horizontal-scroll.mjs.map +1 -1
  28. package/fesm2022/acorex-cdk-input-mask.mjs +3 -3
  29. package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
  30. package/fesm2022/acorex-cdk-list-navigation.mjs +21 -10
  31. package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
  32. package/fesm2022/acorex-cdk-outline.mjs +277 -74
  33. package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
  34. package/fesm2022/acorex-cdk-overlay-scrollbar.mjs +903 -0
  35. package/fesm2022/acorex-cdk-overlay-scrollbar.mjs.map +1 -0
  36. package/fesm2022/acorex-cdk-overlay.mjs +259 -25
  37. package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
  38. package/fesm2022/acorex-cdk-pan-view.mjs +3 -3
  39. package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
  40. package/fesm2022/acorex-cdk-qrcode.mjs.map +1 -1
  41. package/fesm2022/acorex-cdk-resizable.mjs +483 -200
  42. package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
  43. package/fesm2022/acorex-cdk-selection.mjs +10 -10
  44. package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
  45. package/fesm2022/acorex-cdk-shimmer.mjs +220 -0
  46. package/fesm2022/acorex-cdk-shimmer.mjs.map +1 -0
  47. package/fesm2022/acorex-cdk-sliding-item.mjs +3 -3
  48. package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
  49. package/fesm2022/acorex-cdk-sticky.mjs +3 -3
  50. package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
  51. package/fesm2022/acorex-cdk-text-editor.mjs +942 -0
  52. package/fesm2022/acorex-cdk-text-editor.mjs.map +1 -0
  53. package/fesm2022/acorex-cdk-uploader.mjs +9 -9
  54. package/fesm2022/acorex-cdk-uploader.mjs.map +1 -1
  55. package/fesm2022/acorex-cdk-viewport-guard.mjs +616 -0
  56. package/fesm2022/acorex-cdk-viewport-guard.mjs.map +1 -0
  57. package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
  58. package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
  59. package/fesm2022/acorex-cdk-wysiwyg.mjs +694 -37
  60. package/fesm2022/acorex-cdk-wysiwyg.mjs.map +1 -1
  61. package/fesm2022/acorex-cdk-z-index.mjs +3 -3
  62. package/fesm2022/acorex-cdk-z-index.mjs.map +1 -1
  63. package/fesm2022/acorex-cdk.mjs.map +1 -1
  64. package/overlay-scrollbar/README.md +54 -0
  65. package/package.json +33 -7
  66. package/shimmer/README.md +11 -0
  67. package/text-editor/README.md +5 -0
  68. package/types/acorex-cdk-auto-follow-scroll.d.ts +72 -0
  69. package/types/acorex-cdk-carousel.d.ts +2 -0
  70. package/types/acorex-cdk-clipboard.d.ts +1 -1
  71. package/types/acorex-cdk-common.d.ts +46 -19
  72. package/types/acorex-cdk-drag-drop.d.ts +43 -17
  73. package/types/acorex-cdk-full-screen.d.ts +18 -43
  74. package/types/acorex-cdk-gesture.d.ts +11 -1
  75. package/types/acorex-cdk-highlight.d.ts +1 -28
  76. package/types/acorex-cdk-horizontal-scroll.d.ts +3 -0
  77. package/types/acorex-cdk-list-navigation.d.ts +5 -0
  78. package/types/acorex-cdk-outline.d.ts +20 -0
  79. package/types/acorex-cdk-overlay-scrollbar.d.ts +155 -0
  80. package/types/acorex-cdk-overlay.d.ts +60 -4
  81. package/types/acorex-cdk-resizable.d.ts +80 -38
  82. package/types/acorex-cdk-shimmer.d.ts +68 -0
  83. package/types/acorex-cdk-text-editor.d.ts +156 -0
  84. package/types/acorex-cdk-uploader.d.ts +1 -1
  85. package/types/acorex-cdk-viewport-guard.d.ts +99 -0
  86. package/types/acorex-cdk-wysiwyg.d.ts +121 -14
  87. package/wysiwyg/README.md +3 -1
  88. package/fesm2022/acorex-cdk-double-click.mjs +0 -178
  89. package/fesm2022/acorex-cdk-double-click.mjs.map +0 -1
  90. package/types/acorex-cdk-double-click.d.ts +0 -66
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-wysiwyg.mjs","sources":["../../../../packages/cdk/wysiwyg/src/wysiwyg.class.ts","../../../../packages/cdk/wysiwyg/src/acorex-cdk-wysiwyg.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { inject, PLATFORM_ID, signal } from '@angular/core';\nimport type Quill from 'quill/quill.d.ts';\nimport type { QuillOptions, Range } from 'quill/quill.d.ts';\n\nexport type Wysiwyg = Quill;\nexport type WysiwygOptions = QuillOptions;\n\nexport class AXWysiwyg {\n quillObj = signal<Wysiwyg | null>(null);\n\n private platformId = inject(PLATFORM_ID);\n\n async init(container: HTMLElement | string, option?: WysiwygOptions) {\n if (!isPlatformBrowser(this.platformId)) return;\n await import('quill').then((e) => {\n const wysiwygObject = new e.default(container, option);\n this.quillObj.set(wysiwygObject);\n });\n }\n\n bold(value: boolean) {\n this.quillObj().format('bold', value);\n }\n\n italic(value: boolean) {\n this.quillObj().format('italic', value);\n }\n\n underLine(value: boolean) {\n this.quillObj().format('underline', value);\n }\n\n strike(value: boolean) {\n this.quillObj().format('strike', value);\n }\n\n color(value: string) {\n this.quillObj().format('color', value);\n }\n\n header(value: number) {\n this.quillObj().format('header', value);\n }\n\n list(value: 'ordered' | 'bullet' | '') {\n this.quillObj().format('list', value);\n }\n\n align(value: 'center' | 'right' | 'left' | 'justify') {\n if (value === 'left') {\n this.quillObj().format('align', '');\n } else {\n this.quillObj().format('align', value);\n }\n }\n\n direction(value: 'rtl' | 'ltr') {\n this.quillObj().format('direction', value);\n }\n\n fontSize(value: 'small' | false | 'large' | 'huge', range: Range) {\n this.quillObj().formatText(range.index, range.length, 'size', value);\n }\n\n get HTMLoutput() {\n return this.quillObj().root.innerHTML;\n }\n\n undo() {\n this.quillObj().history.undo();\n }\n\n redo() {\n this.quillObj().history.redo();\n }\n\n background(value: string) {\n this.quillObj().format('background', value);\n }\n\n addImage(value: string) {\n const range = this.quillObj().getSelection();\n const currentIndex = range?.index;\n this.quillObj().insertEmbed(currentIndex, 'image', value);\n }\n\n focus() {\n this.quillObj().focus();\n }\n\n blur() {\n this.quillObj().blur();\n }\n\n codeBlock(range: Range, status: boolean) {\n if (!range) return;\n this.quillObj().formatLine(range.index, range.length, 'code-block', status);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-cdk-wysiwyg.mjs","sources":["../../../../packages/cdk/wysiwyg/src/lib/wysiwyg-font-size.extension.ts","../../../../packages/cdk/wysiwyg/src/lib/wysiwyg.types.ts","../../../../packages/cdk/wysiwyg/src/lib/wysiwyg-text-direction.extension.ts","../../../../packages/cdk/wysiwyg/src/lib/wysiwyg-video.extension.ts","../../../../packages/cdk/wysiwyg/src/lib/wysiwyg.extensions.ts","../../../../packages/cdk/wysiwyg/src/lib/wysiwyg.class.ts","../../../../packages/cdk/wysiwyg/src/index.ts","../../../../packages/cdk/wysiwyg/src/acorex-cdk-wysiwyg.ts"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport type { AXWysiwygFontSizeToken } from './wysiwyg.types';\n\nexport const AX_WYSIWYG_FONT_SIZE_VALUES: Record<AXWysiwygFontSizeToken, string> = {\n small: '0.75em',\n large: '1.5em',\n huge: '2.5em',\n};\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n axWysiwygFontSize: {\n setAxWysiwygFontSize: (size: AXWysiwygFontSizeToken | null) => ReturnType;\n };\n }\n}\n\nexport const AXWysiwygFontSizeExtension = Extension.create({\n name: 'axWysiwygFontSize',\n\n addGlobalAttributes() {\n return [\n {\n types: ['textStyle'],\n attributes: {\n fontSize: {\n default: null,\n parseHTML: (element) => element.style.fontSize?.replace(/['\"]+/g, '') || null,\n renderHTML: (attributes) => {\n if (!attributes['fontSize']) {\n return {};\n }\n return { style: `font-size: ${attributes['fontSize']}` };\n },\n },\n },\n },\n ];\n },\n\n addCommands() {\n return {\n setAxWysiwygFontSize:\n (size: AXWysiwygFontSizeToken | null) =>\n ({ chain }) => {\n if (!size) {\n return chain().focus().unsetMark('textStyle').run();\n }\n const cssSize = AX_WYSIWYG_FONT_SIZE_VALUES[size];\n return chain().focus().setMark('textStyle', { fontSize: cssSize }).run();\n },\n };\n },\n});\n","import type { Editor, Extensions } from '@tiptap/core';\n\nexport type AXWysiwygEditor = Editor;\n\nexport type AXWysiwygHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport type AXWysiwygTextAlign = 'left' | 'center' | 'right' | 'justify';\n\nexport type AXWysiwygFontSizeToken = 'small' | 'large' | 'huge';\n\nexport type AXWysiwygTextDirection = 'rtl' | 'ltr';\n\nexport interface AXWysiwygRange {\n index: number;\n length: number;\n}\n\nexport type AXWysiwygCommand =\n | 'bold'\n | 'italic'\n | 'underline'\n | 'strike'\n | 'code'\n | 'codeBlock'\n | 'heading'\n | 'paragraph'\n | 'bulletList'\n | 'orderedList'\n | 'blockquote'\n | 'textAlign'\n | 'color'\n | 'highlight'\n | 'link'\n | 'image'\n | 'video'\n | 'undo'\n | 'redo'\n | 'clearFormatting'\n | 'direction'\n | 'fontSize';\n\nexport interface AXWysiwygFeatures {\n textAlign?: boolean;\n image?: boolean;\n link?: boolean;\n video?: boolean;\n color?: boolean;\n highlight?: boolean;\n placeholder?: boolean;\n fontSize?: boolean;\n textDirection?: boolean;\n}\n\nexport const AX_DEFAULT_WYSIWYG_FEATURES: AXWysiwygFeatures = {\n textAlign: true,\n image: true,\n link: true,\n video: true,\n color: true,\n highlight: true,\n placeholder: true,\n fontSize: true,\n textDirection: true,\n};\n\nexport interface AXWysiwygState {\n bold: boolean;\n italic: boolean;\n underline: boolean;\n strike: boolean;\n code: boolean;\n codeBlock: boolean;\n headingLevel: AXWysiwygHeadingLevel | null;\n bulletList: boolean;\n orderedList: boolean;\n blockquote: boolean;\n textAlign: AXWysiwygTextAlign | null;\n textColor: string | null;\n highlightColor: string | null;\n linkHref: string | null;\n fontSize: AXWysiwygFontSizeToken | null;\n textDirection: AXWysiwygTextDirection | null;\n canUndo: boolean;\n canRedo: boolean;\n isEmpty: boolean;\n isFocused: boolean;\n}\n\nexport const AX_EMPTY_WYSIWYG_STATE: AXWysiwygState = {\n bold: false,\n italic: false,\n underline: false,\n strike: false,\n code: false,\n codeBlock: false,\n headingLevel: null,\n bulletList: false,\n orderedList: false,\n blockquote: false,\n textAlign: null,\n textColor: null,\n highlightColor: null,\n linkHref: null,\n fontSize: null,\n textDirection: null,\n canUndo: false,\n canRedo: false,\n isEmpty: true,\n isFocused: false,\n};\n\nexport interface AXWysiwygInitOptions {\n content?: string;\n editable?: boolean;\n placeholder?: string;\n features?: AXWysiwygFeatures;\n extensions?: Extensions;\n /** @deprecated Use `editable: false` instead. */\n readOnly?: boolean;\n onUpdate?: (editor: AXWysiwygEditor) => void;\n onFocus?: (editor: AXWysiwygEditor) => void;\n onBlur?: (editor: AXWysiwygEditor) => void;\n onSelectionUpdate?: (editor: AXWysiwygEditor) => void;\n}\n\nexport interface AXWysiwygLoadExtensionsOptions {\n features?: AXWysiwygFeatures;\n placeholder?: string;\n}\n","import { Extension } from '@tiptap/core';\nimport type { AXWysiwygTextDirection } from './wysiwyg.types';\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n axWysiwygTextDirection: {\n setAxWysiwygTextDirection: (direction: AXWysiwygTextDirection | null) => ReturnType;\n };\n }\n}\n\nexport const AXWysiwygTextDirectionExtension = Extension.create({\n name: 'axWysiwygTextDirection',\n\n addGlobalAttributes() {\n return [\n {\n types: ['paragraph', 'heading'],\n attributes: {\n dir: {\n default: null,\n parseHTML: (element) => element.getAttribute('dir'),\n renderHTML: (attributes) => {\n if (!attributes['dir']) {\n return {};\n }\n return { dir: attributes['dir'] };\n },\n },\n },\n },\n ];\n },\n\n addCommands() {\n return {\n setAxWysiwygTextDirection:\n (direction: AXWysiwygTextDirection | null) =>\n ({ chain }) =>\n chain()\n .focus()\n .updateAttributes('paragraph', { dir: direction })\n .updateAttributes('heading', { dir: direction })\n .run(),\n };\n },\n});\n","import { mergeAttributes, Node } from '@tiptap/core';\n\nexport interface AXWysiwygVideoOptions {\n inline: boolean;\n allowBase64: boolean;\n HTMLAttributes: Record<string, unknown>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n axWysiwygVideo: {\n setVideo: (options: { src: string }) => ReturnType;\n };\n }\n}\n\nfunction toEmbedSrc(src: string): string {\n const trimmed = src.trim();\n if (!trimmed) {\n return trimmed;\n }\n try {\n const url = new URL(trimmed);\n if (url.hostname.includes('youtube.com') && url.searchParams.get('v')) {\n return `https://www.youtube.com/embed/${url.searchParams.get('v')}`;\n }\n if (url.hostname === 'youtu.be') {\n return `https://www.youtube.com/embed/${url.pathname.slice(1)}`;\n }\n } catch {\n return trimmed;\n }\n return trimmed;\n}\n\nexport const AXWysiwygVideoExtension = Node.create<AXWysiwygVideoOptions>({\n name: 'video',\n\n group: 'block',\n\n atom: true,\n\n addOptions() {\n return {\n inline: false,\n allowBase64: false,\n HTMLAttributes: {},\n };\n },\n\n addAttributes() {\n return {\n src: {\n default: null,\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div[data-wysiwyg-video] iframe',\n },\n {\n tag: 'iframe[src]',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n const src = HTMLAttributes['src'] as string | undefined;\n return [\n 'div',\n mergeAttributes(this.options.HTMLAttributes, { 'data-wysiwyg-video': '' }),\n [\n 'iframe',\n mergeAttributes({\n src,\n frameborder: '0',\n allowfullscreen: 'true',\n allow: 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture',\n }),\n ],\n ];\n },\n\n addCommands() {\n return {\n setVideo:\n ({ src }) =>\n ({ commands }) =>\n commands.insertContent({\n type: this.name,\n attrs: { src: toEmbedSrc(src) },\n }),\n };\n },\n});\n","import type { Extensions } from '@tiptap/core';\nimport {\n AX_DEFAULT_WYSIWYG_FEATURES,\n type AXWysiwygFeatures,\n type AXWysiwygLoadExtensionsOptions,\n} from './wysiwyg.types';\nimport { AXWysiwygFontSizeExtension } from './wysiwyg-font-size.extension';\nimport { AXWysiwygTextDirectionExtension } from './wysiwyg-text-direction.extension';\nimport { AXWysiwygVideoExtension } from './wysiwyg-video.extension';\n\nexport async function loadAXWysiwygExtensions(options?: AXWysiwygLoadExtensionsOptions): Promise<Extensions> {\n const features: AXWysiwygFeatures = { ...AX_DEFAULT_WYSIWYG_FEATURES, ...options?.features };\n\n const [starterKitMod, textStyleMod, colorMod, highlightMod, underlineMod] = await Promise.all([\n import('@tiptap/starter-kit'),\n import('@tiptap/extension-text-style'),\n import('@tiptap/extension-color'),\n import('@tiptap/extension-highlight'),\n import('@tiptap/extension-underline'),\n ]);\n\n const extensions: Extensions = [\n starterKitMod.default.configure({\n link: features.link ? { openOnClick: false } : false,\n }),\n underlineMod.default,\n ];\n\n if (features.color || features.fontSize) {\n extensions.push(textStyleMod.TextStyle);\n }\n\n if (features.color) {\n extensions.push(colorMod.Color);\n }\n\n if (features.highlight) {\n extensions.push(highlightMod.default.configure({ multicolor: true }));\n }\n\n if (features.fontSize) {\n extensions.push(AXWysiwygFontSizeExtension);\n }\n\n if (features.textDirection) {\n extensions.push(AXWysiwygTextDirectionExtension);\n }\n\n if (features.textAlign) {\n const textAlignMod = await import('@tiptap/extension-text-align');\n extensions.push(\n textAlignMod.default.configure({\n types: ['heading', 'paragraph'],\n }),\n );\n }\n\n if (features.image) {\n const imageMod = await import('@tiptap/extension-image');\n extensions.push(\n imageMod.default.configure({\n inline: true,\n allowBase64: true,\n }),\n );\n }\n\n if (features.video) {\n extensions.push(AXWysiwygVideoExtension);\n }\n\n if (features.placeholder && options?.placeholder) {\n const { Placeholder } = await import('@tiptap/extensions');\n extensions.push(\n Placeholder.configure({\n placeholder: options.placeholder,\n }),\n );\n }\n\n return extensions;\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport type { Editor } from '@tiptap/core';\nimport { AX_WYSIWYG_FONT_SIZE_VALUES } from './wysiwyg-font-size.extension';\nimport { loadAXWysiwygExtensions } from './wysiwyg.extensions';\nimport {\n AX_EMPTY_WYSIWYG_STATE,\n type AXWysiwygCommand,\n type AXWysiwygEditor,\n type AXWysiwygFontSizeToken,\n type AXWysiwygHeadingLevel,\n type AXWysiwygInitOptions,\n type AXWysiwygRange,\n type AXWysiwygState,\n type AXWysiwygTextAlign,\n type AXWysiwygTextDirection,\n} from './wysiwyg.types';\n\n/**\n * @deprecated Use `AXTextEditor` from `@acorex/cdk/text-editor` instead.\n */\n@Injectable()\nexport class AXWysiwyg {\n readonly editor = signal<AXWysiwygEditor | null>(null);\n readonly state = signal<AXWysiwygState>(AX_EMPTY_WYSIWYG_STATE);\n readonly ready = signal(false);\n\n private readonly platformId = inject(PLATFORM_ID);\n private destroyed = false;\n private applyingContent = false;\n\n async init(container: HTMLElement | string, options: AXWysiwygInitOptions = {}): Promise<void> {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const element =\n typeof container === 'string' ? (document.querySelector(container) as HTMLElement | null) : container;\n if (!element) {\n return;\n }\n\n this.destroyed = false;\n const editable = options.readOnly === true ? false : (options.editable ?? true);\n\n const extensions = await loadAXWysiwygExtensions({\n features: options.features,\n placeholder: options.placeholder,\n });\n\n if (this.destroyed) {\n return;\n }\n\n const { Editor } = await import('@tiptap/core');\n if (this.destroyed) {\n return;\n }\n\n const allExtensions = [...extensions, ...(options.extensions ?? [])];\n\n const editor = new Editor({\n element,\n extensions: allExtensions,\n content: options.content ?? '',\n editable,\n editorProps: {\n attributes: {\n class: 'tiptap',\n },\n },\n onUpdate: ({ editor: ed }) => {\n this.refreshState(ed);\n if (!this.applyingContent) {\n options.onUpdate?.(ed);\n }\n },\n onSelectionUpdate: ({ editor: ed }) => {\n this.refreshState(ed);\n options.onSelectionUpdate?.(ed);\n },\n onFocus: ({ editor: ed }) => {\n this.refreshState(ed);\n options.onFocus?.(ed);\n },\n onBlur: ({ editor: ed }) => {\n this.refreshState(ed);\n options.onBlur?.(ed);\n },\n });\n\n this.editor.set(editor);\n this.ready.set(true);\n this.refreshState(editor);\n }\n\n destroy(): void {\n this.destroyed = true;\n const ed = this.editor();\n ed?.destroy();\n this.editor.set(null);\n this.ready.set(false);\n this.state.set(AX_EMPTY_WYSIWYG_STATE);\n }\n\n setContent(value: string | null | undefined, emit = false): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n\n const html = value?.trim() ? value : '';\n this.applyingContent = true;\n try {\n ed.commands.setContent(html, { emitUpdate: emit });\n this.refreshState(ed);\n } finally {\n this.applyingContent = false;\n }\n }\n\n getHTML(): string {\n return this.editor()?.getHTML() ?? '';\n }\n\n get JSONoutput(): unknown {\n return this.editor()?.getJSON() ?? null;\n }\n\n getText(): string {\n return this.editor()?.getText() ?? '';\n }\n\n isEmpty(): boolean {\n return this.editor()?.isEmpty ?? true;\n }\n\n setEditable(editable: boolean): void {\n this.editor()?.setEditable(editable);\n const ed = this.editor();\n if (ed) {\n this.refreshState(ed);\n }\n }\n\n get HTMLoutput(): string {\n return this.getHTML();\n }\n\n bold(value: boolean): void {\n this.setMarkActive('bold', value);\n }\n\n italic(value: boolean): void {\n this.setMarkActive('italic', value);\n }\n\n underLine(value: boolean): void {\n this.setMarkActive('underline', value);\n }\n\n strike(value: boolean): void {\n this.setMarkActive('strike', value);\n }\n\n color(value: string): void {\n if (value) {\n this.setColor(value);\n } else {\n this.unsetColor();\n }\n }\n\n header(value: number): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n if (value >= 1 && value <= 6) {\n ed.chain()\n .focus()\n .toggleHeading({ level: value as AXWysiwygHeadingLevel })\n .run();\n } else {\n ed.chain().focus().setParagraph().run();\n }\n }\n\n list(value: 'ordered' | 'bullet' | ''): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n const chain = ed.chain().focus();\n if (value === 'bullet') {\n chain.toggleBulletList().run();\n } else if (value === 'ordered') {\n chain.toggleOrderedList().run();\n } else {\n chain.liftListItem('listItem').run();\n }\n }\n\n align(value: 'center' | 'right' | 'left' | 'justify'): void {\n if (value === 'left') {\n this.setTextAlign('left');\n } else {\n this.setTextAlign(value);\n }\n }\n\n direction(value: AXWysiwygTextDirection): void {\n this.setTextDirection(value);\n }\n\n fontSize(value: 'small' | false | 'large' | 'huge', range: AXWysiwygRange): void {\n const ed = this.editor();\n if (!ed || !range) {\n return;\n }\n const from = range.index;\n const to = range.index + range.length;\n if (value === false) {\n ed.chain().focus().setTextSelection({ from, to }).setAxWysiwygFontSize(null).run();\n return;\n }\n ed.chain().focus().setTextSelection({ from, to }).setAxWysiwygFontSize(value).run();\n }\n\n background(value: string): void {\n if (value) {\n this.setHighlight(value);\n } else {\n this.unsetHighlight();\n }\n }\n\n addImage(value: string): void {\n this.insertImage(value);\n }\n\n insertVideo(src: string): void {\n this.editor()?.chain().focus().setVideo({ src }).run();\n }\n\n codeBlock(range: AXWysiwygRange, status: boolean): void {\n const ed = this.editor();\n if (!ed || !range) {\n return;\n }\n const from = range.index;\n const to = range.index + range.length;\n if (status) {\n ed.chain().focus().setTextSelection({ from, to }).toggleCodeBlock().run();\n } else {\n ed.chain().focus().setTextSelection({ from, to }).setParagraph().run();\n }\n }\n\n focus(): void {\n this.editor()?.commands.focus();\n }\n\n blur(): void {\n this.editor()?.commands.blur();\n }\n\n toggleBold(): void {\n this.editor()?.chain().focus().toggleBold().run();\n }\n\n toggleItalic(): void {\n this.editor()?.chain().focus().toggleItalic().run();\n }\n\n toggleUnderline(): void {\n this.editor()?.chain().focus().toggleUnderline().run();\n }\n\n toggleStrike(): void {\n this.editor()?.chain().focus().toggleStrike().run();\n }\n\n toggleCode(): void {\n this.editor()?.chain().focus().toggleCode().run();\n }\n\n toggleCodeBlock(): void {\n this.editor()?.chain().focus().toggleCodeBlock().run();\n }\n\n toggleHeading(level: AXWysiwygHeadingLevel): void {\n this.editor()?.chain().focus().toggleHeading({ level }).run();\n }\n\n setParagraph(): void {\n this.editor()?.chain().focus().setParagraph().run();\n }\n\n toggleBulletList(): void {\n this.editor()?.chain().focus().toggleBulletList().run();\n }\n\n toggleOrderedList(): void {\n this.editor()?.chain().focus().toggleOrderedList().run();\n }\n\n toggleBlockquote(): void {\n this.editor()?.chain().focus().toggleBlockquote().run();\n }\n\n setTextAlign(align: AXWysiwygTextAlign): void {\n this.editor()?.chain().focus().setTextAlign(align).run();\n }\n\n setTextDirection(direction: AXWysiwygTextDirection | null): void {\n this.editor()?.chain().focus().setAxWysiwygTextDirection(direction).run();\n }\n\n setFontSize(size: AXWysiwygFontSizeToken | null): void {\n this.editor()?.chain().focus().setAxWysiwygFontSize(size).run();\n }\n\n setColor(color: string): void {\n this.editor()?.chain().focus().setColor(color).run();\n }\n\n unsetColor(): void {\n this.editor()?.chain().focus().unsetColor().run();\n }\n\n setHighlight(color: string): void {\n this.editor()?.chain().focus().setHighlight({ color }).run();\n }\n\n unsetHighlight(): void {\n this.editor()?.chain().focus().unsetHighlight().run();\n }\n\n setLink(href: string): void {\n this.editor()?.chain().focus().extendMarkRange('link').setLink({ href }).run();\n }\n\n unsetLink(): void {\n this.editor()?.chain().focus().unsetLink().run();\n }\n\n insertImage(src: string, alt?: string): void {\n this.editor()?.chain().focus().setImage({ src, alt }).run();\n }\n\n undo(): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n ed.chain().focus().undo().run();\n this.refreshState(ed);\n }\n\n redo(): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n ed.chain().focus().redo().run();\n this.refreshState(ed);\n }\n\n clearFormatting(): void {\n this.editor()?.chain().focus().clearNodes().unsetAllMarks().run();\n }\n\n execute(command: AXWysiwygCommand, payload?: unknown): void {\n switch (command) {\n case 'bold':\n this.toggleBold();\n break;\n case 'italic':\n this.toggleItalic();\n break;\n case 'underline':\n this.toggleUnderline();\n break;\n case 'strike':\n this.toggleStrike();\n break;\n case 'code':\n this.toggleCode();\n break;\n case 'codeBlock':\n this.toggleCodeBlock();\n break;\n case 'heading':\n if (typeof payload === 'number') {\n this.toggleHeading(payload as AXWysiwygHeadingLevel);\n }\n break;\n case 'paragraph':\n this.setParagraph();\n break;\n case 'bulletList':\n this.toggleBulletList();\n break;\n case 'orderedList':\n this.toggleOrderedList();\n break;\n case 'blockquote':\n this.toggleBlockquote();\n break;\n case 'textAlign':\n if (typeof payload === 'string') {\n this.setTextAlign(payload as AXWysiwygTextAlign);\n }\n break;\n case 'direction':\n if (payload === 'rtl' || payload === 'ltr') {\n this.setTextDirection(payload);\n }\n break;\n case 'fontSize':\n if (payload === null) {\n this.setFontSize(null);\n } else if (payload === 'small' || payload === 'large' || payload === 'huge') {\n this.setFontSize(payload);\n }\n break;\n case 'color':\n if (typeof payload === 'string') {\n this.setColor(payload);\n } else {\n this.unsetColor();\n }\n break;\n case 'highlight':\n if (typeof payload === 'string') {\n this.setHighlight(payload);\n } else {\n this.unsetHighlight();\n }\n break;\n case 'link':\n if (typeof payload === 'string' && payload) {\n this.setLink(payload);\n } else {\n this.unsetLink();\n }\n break;\n case 'image':\n if (typeof payload === 'string') {\n this.insertImage(payload);\n }\n break;\n case 'video':\n if (typeof payload === 'string') {\n this.insertVideo(payload);\n }\n break;\n case 'undo':\n this.undo();\n break;\n case 'redo':\n this.redo();\n break;\n case 'clearFormatting':\n this.clearFormatting();\n break;\n }\n }\n\n isActive(name: string, attrs?: Record<string, unknown>): boolean {\n return this.editor()?.isActive(name, attrs) ?? false;\n }\n\n can(command: 'undo' | 'redo'): boolean {\n const ed = this.editor();\n if (!ed) {\n return false;\n }\n if (command === 'undo') {\n return ed.can().undo();\n }\n return ed.can().redo();\n }\n\n private setMarkActive(name: 'bold' | 'italic' | 'underline' | 'strike', active: boolean): void {\n const ed = this.editor();\n if (!ed) {\n return;\n }\n const chain = ed.chain().focus();\n switch (name) {\n case 'bold':\n active ? chain.setBold().run() : chain.unsetBold().run();\n break;\n case 'italic':\n active ? chain.setItalic().run() : chain.unsetItalic().run();\n break;\n case 'underline':\n active ? chain.setUnderline().run() : chain.unsetUnderline().run();\n break;\n case 'strike':\n active ? chain.setStrike().run() : chain.unsetStrike().run();\n break;\n }\n }\n\n private refreshState(editor: Editor): void {\n const textColor = editor.getAttributes('textStyle')['color'] as string | undefined;\n const fontSizeCss = editor.getAttributes('textStyle')['fontSize'] as string | undefined;\n const highlightColor = editor.getAttributes('highlight')['color'] as string | undefined;\n const linkHref = editor.getAttributes('link')['href'] as string | undefined;\n const dir = (editor.getAttributes('paragraph')['dir'] || editor.getAttributes('heading')['dir']) as\n | AXWysiwygTextDirection\n | undefined;\n\n let headingLevel: AXWysiwygHeadingLevel | null = null;\n for (let level = 1; level <= 6; level++) {\n if (editor.isActive('heading', { level })) {\n headingLevel = level as AXWysiwygHeadingLevel;\n break;\n }\n }\n\n let textAlign: AXWysiwygTextAlign | null = null;\n for (const align of ['left', 'center', 'right', 'justify'] as AXWysiwygTextAlign[]) {\n if (editor.isActive({ textAlign: align })) {\n textAlign = align;\n break;\n }\n }\n\n let fontSize: AXWysiwygFontSizeToken | null = null;\n if (fontSizeCss) {\n for (const [token, css] of Object.entries(AX_WYSIWYG_FONT_SIZE_VALUES) as [AXWysiwygFontSizeToken, string][]) {\n if (fontSizeCss === css) {\n fontSize = token;\n break;\n }\n }\n }\n\n this.state.set({\n bold: editor.isActive('bold'),\n italic: editor.isActive('italic'),\n underline: editor.isActive('underline'),\n strike: editor.isActive('strike'),\n code: editor.isActive('code'),\n codeBlock: editor.isActive('codeBlock'),\n headingLevel,\n bulletList: editor.isActive('bulletList'),\n orderedList: editor.isActive('orderedList'),\n blockquote: editor.isActive('blockquote'),\n textAlign,\n textColor: textColor ?? null,\n highlightColor: highlightColor ?? null,\n linkHref: linkHref ?? null,\n fontSize,\n textDirection: dir ?? null,\n canUndo: editor.can().undo(),\n canRedo: editor.can().redo(),\n isEmpty: editor.isEmpty,\n isFocused: editor.isFocused,\n });\n }\n}\n\nexport type { AXWysiwygRange };\n","/** @deprecated Use `@acorex/cdk/text-editor` and `@acorex/components/text-editor` instead. */\nexport * from './lib/wysiwyg.class';\nexport * from './lib/wysiwyg.extensions';\nexport * from './lib/wysiwyg.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ class AXZindexDirective {
17
17
  ngOnDestroy() {
18
18
  this.z.release(this.token());
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXZindexDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AXZindexDirective, isStandalone: true, selector: "[axZindex]", exportAs: ["axZindex"], ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXZindexDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: AXZindexDirective, isStandalone: true, selector: "[axZindex]", exportAs: ["axZindex"], ngImport: i0 }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXZindexDirective, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXZindexDirective, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: '[axZindex]',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-z-index.mjs","sources":["../../../../packages/cdk/z-index/src/lib/z-index.directive.ts","../../../../packages/cdk/z-index/src/acorex-cdk-z-index.ts"],"sourcesContent":["import { AXZIndexService, AXZToken } from '@acorex/core/z-index';\nimport { afterNextRender, Directive, ElementRef, inject, OnDestroy, signal } from '@angular/core';\n@Directive({\n selector: '[axZindex]',\n exportAs: 'axZindex',\n})\nexport class AXZindexDirective implements OnDestroy {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private z = inject(AXZIndexService);\n\n private token = signal<AXZToken>(null);\n\n #init = afterNextRender(() => {\n this.token.set(this.z.acquire());\n this.el.nativeElement.style.zIndex = String(this.token().zIndex);\n });\n\n ngOnDestroy() {\n this.z.release(this.token());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAA0B,UAAU,CAAC;AAChD,QAAA,IAAA,CAAA,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAE3B,IAAA,CAAA,KAAK,GAAG,MAAM,CAAW,IAAI;kFAAC;AAEtC,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;AAClE,QAAA,CAAC,CAAC;AAKH,IAAA;AARC,IAAA,KAAK;IAKL,WAAW,GAAA;QACT,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9B;8GAbW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-cdk-z-index.mjs","sources":["../../../../packages/cdk/z-index/src/lib/z-index.directive.ts","../../../../packages/cdk/z-index/src/acorex-cdk-z-index.ts"],"sourcesContent":["import { AXZIndexService, AXZToken } from '@acorex/core/z-index';\nimport { afterNextRender, Directive, ElementRef, inject, OnDestroy, signal } from '@angular/core';\n@Directive({\n selector: '[axZindex]',\n exportAs: 'axZindex',\n})\nexport class AXZindexDirective implements OnDestroy {\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\n private z = inject(AXZIndexService);\n\n private token = signal<AXZToken>(null);\n\n #init = afterNextRender(() => {\n this.token.set(this.z.acquire());\n this.el.nativeElement.style.zIndex = String(this.token().zIndex);\n });\n\n ngOnDestroy() {\n this.z.release(this.token());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAA0B,UAAU,CAAC;AAChD,QAAA,IAAA,CAAA,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAE3B,IAAA,CAAA,KAAK,GAAG,MAAM,CAAW,IAAI;kFAAC;AAEtC,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;AAClE,QAAA,CAAC,CAAC;AAKH,IAAA;AARC,IAAA,KAAK;IAKL,WAAW,GAAA;QACT,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9B;8GAbW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA;;;ACLD;;AAEG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk.mjs","sources":["../../../../packages/cdk/src/index.ts","../../../../packages/cdk/src/acorex-cdk.ts"],"sourcesContent":["export const ACOREX_CDK = 'ACorex CDK';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;;ACA1B;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-cdk.mjs","sources":["../../../../packages/cdk/src/index.ts","../../../../packages/cdk/src/acorex-cdk.ts"],"sourcesContent":["export const ACOREX_CDK = 'ACorex CDK';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,UAAU,GAAG;;ACA1B;;AAEG;;"}
@@ -0,0 +1,54 @@
1
+ # @acorex/cdk/overlay-scrollbar
2
+
3
+ Thin overlay scrollbars: hidden while idle, visible while scrolling. **Behavior** is configured with directive inputs or app-wide via `provideOverlayScrollbar`; **visuals** use CSS custom properties (`--ax-comp-overlay-scrollbar-*`) on the scroll host or in `designTokens`.
4
+
5
+ ```typescript
6
+ import { AXOverlayScrollbarDirective, provideOverlayScrollbar } from '@acorex/cdk/overlay-scrollbar';
7
+ ```
8
+
9
+ ## Application config
10
+
11
+ ```typescript
12
+ import { ApplicationConfig } from '@angular/core';
13
+ import { provideOverlayScrollbar } from '@acorex/cdk/overlay-scrollbar';
14
+
15
+ export const appConfig: ApplicationConfig = {
16
+ providers: [
17
+ provideOverlayScrollbar({
18
+ hideDelay: 1200,
19
+ navigationButtons: true,
20
+ navScrollStep: 48,
21
+ designTokens: {
22
+ size: '8px',
23
+ thumbRadius: '6px',
24
+ trackRadius: '4px',
25
+ thumbColor: 'var(--ax-sys-scroller-thumb-color)',
26
+ trackColor: 'transparent',
27
+ fadeDuration: '0.35s',
28
+ },
29
+ }),
30
+ ],
31
+ };
32
+ ```
33
+
34
+ Per-element inputs override these defaults when set on `axOverlayScrollbar`.
35
+
36
+ ```html
37
+ <div
38
+ class="h-64 overflow-y-auto my-scroll-panel"
39
+ axOverlayScrollbar
40
+ [hideDelay]="800"
41
+ ></div>
42
+ ```
43
+
44
+ ```css
45
+ .my-scroll-panel {
46
+ --ax-comp-overlay-scrollbar-size: 8px;
47
+ --ax-comp-overlay-scrollbar-thumb-color: #64748b;
48
+ --ax-comp-overlay-scrollbar-track-color: rgba(148, 163, 184, 0.35);
49
+ --ax-comp-overlay-scrollbar-thumb-radius: 6px;
50
+ --ax-comp-overlay-scrollbar-track-radius: 4px;
51
+ }
52
+ ```
53
+
54
+ On first use the directive injects scrollbar rules and default design tokens into the document. No `@acorex/styles` import is required.
package/package.json CHANGED
@@ -1,9 +1,19 @@
1
1
  {
2
2
  "name": "@acorex/cdk",
3
- "version": "22.1.8",
3
+ "version": "22.2.0-next.1",
4
4
  "peerDependencies": {
5
- "@acorex/core": "22.1.8",
6
- "quill": ">=2.0.2",
5
+ "@acorex/core": "22.2.0-next.1",
6
+ "@tiptap/core": ">=3.31.4",
7
+ "@tiptap/extension-color": ">=3.31.4",
8
+ "@tiptap/extension-highlight": ">=3.31.4",
9
+ "@tiptap/extension-image": ">=3.31.4",
10
+ "@tiptap/extension-table": ">=3.31.4",
11
+ "@tiptap/pm": ">=3.31.4",
12
+ "@tiptap/extension-text-align": ">=3.31.4",
13
+ "@tiptap/extension-text-style": ">=3.31.4",
14
+ "@tiptap/extension-underline": ">=3.31.4",
15
+ "@tiptap/extensions": ">=3.31.4",
16
+ "@tiptap/starter-kit": ">=3.31.4",
7
17
  "qrcode": ">=1.5.4",
8
18
  "swiper": ">=11.1.15",
9
19
  "maska": ">=3.1.1",
@@ -24,6 +34,10 @@
24
34
  "types": "./types/acorex-cdk-accordion.d.ts",
25
35
  "default": "./fesm2022/acorex-cdk-accordion.mjs"
26
36
  },
37
+ "./auto-follow-scroll": {
38
+ "types": "./types/acorex-cdk-auto-follow-scroll.d.ts",
39
+ "default": "./fesm2022/acorex-cdk-auto-follow-scroll.mjs"
40
+ },
27
41
  "./carousel": {
28
42
  "types": "./types/acorex-cdk-carousel.d.ts",
29
43
  "default": "./fesm2022/acorex-cdk-carousel.mjs"
@@ -40,10 +54,6 @@
40
54
  "types": "./types/acorex-cdk-dom.d.ts",
41
55
  "default": "./fesm2022/acorex-cdk-dom.mjs"
42
56
  },
43
- "./double-click": {
44
- "types": "./types/acorex-cdk-double-click.d.ts",
45
- "default": "./fesm2022/acorex-cdk-double-click.mjs"
46
- },
47
57
  "./drag-drop": {
48
58
  "types": "./types/acorex-cdk-drag-drop.d.ts",
49
59
  "default": "./fesm2022/acorex-cdk-drag-drop.mjs"
@@ -88,6 +98,10 @@
88
98
  "types": "./types/acorex-cdk-overlay.d.ts",
89
99
  "default": "./fesm2022/acorex-cdk-overlay.mjs"
90
100
  },
101
+ "./overlay-scrollbar": {
102
+ "types": "./types/acorex-cdk-overlay-scrollbar.d.ts",
103
+ "default": "./fesm2022/acorex-cdk-overlay-scrollbar.mjs"
104
+ },
91
105
  "./pan-view": {
92
106
  "types": "./types/acorex-cdk-pan-view.d.ts",
93
107
  "default": "./fesm2022/acorex-cdk-pan-view.mjs"
@@ -104,6 +118,10 @@
104
118
  "types": "./types/acorex-cdk-selection.d.ts",
105
119
  "default": "./fesm2022/acorex-cdk-selection.mjs"
106
120
  },
121
+ "./shimmer": {
122
+ "types": "./types/acorex-cdk-shimmer.d.ts",
123
+ "default": "./fesm2022/acorex-cdk-shimmer.mjs"
124
+ },
107
125
  "./sliding-item": {
108
126
  "types": "./types/acorex-cdk-sliding-item.d.ts",
109
127
  "default": "./fesm2022/acorex-cdk-sliding-item.mjs"
@@ -112,10 +130,18 @@
112
130
  "types": "./types/acorex-cdk-sticky.d.ts",
113
131
  "default": "./fesm2022/acorex-cdk-sticky.mjs"
114
132
  },
133
+ "./text-editor": {
134
+ "types": "./types/acorex-cdk-text-editor.d.ts",
135
+ "default": "./fesm2022/acorex-cdk-text-editor.mjs"
136
+ },
115
137
  "./uploader": {
116
138
  "types": "./types/acorex-cdk-uploader.d.ts",
117
139
  "default": "./fesm2022/acorex-cdk-uploader.mjs"
118
140
  },
141
+ "./viewport-guard": {
142
+ "types": "./types/acorex-cdk-viewport-guard.d.ts",
143
+ "default": "./fesm2022/acorex-cdk-viewport-guard.mjs"
144
+ },
119
145
  "./virtual-scroll": {
120
146
  "types": "./types/acorex-cdk-virtual-scroll.d.ts",
121
147
  "default": "./fesm2022/acorex-cdk-virtual-scroll.mjs"
@@ -0,0 +1,11 @@
1
+ # @acorex/cdk/shimmer
2
+
3
+ Text shimmer directive for loading or streaming states.
4
+
5
+ ```typescript
6
+ import { AXShimmerDirective } from '@acorex/cdk/shimmer';
7
+ ```
8
+
9
+ ```html
10
+ <p class="text-sm text-neutral-500" axShimmer>Generating response…</p>
11
+ ```
@@ -0,0 +1,5 @@
1
+ # @acorex/cdk/text-editor
2
+
3
+ Secondary entry point of `@acorex/cdk`. Headless TipTap-powered rich text editor API. Import from `@acorex/cdk/text-editor`.
4
+
5
+ Requires `@tiptap/*` peer dependencies (lazy-loaded at runtime).
@@ -0,0 +1,72 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ type ScrollState = 'following' | 'user-scrolling';
4
+ interface FollowStateChangeEvent {
5
+ state: ScrollState;
6
+ }
7
+ interface NewMessagesEvent {
8
+ count: number;
9
+ }
10
+ /**
11
+ * Manages chat-style auto-follow scroll: sticks to the bottom while the user is
12
+ * "following", and preserves scroll position with unread counts when they scroll up.
13
+ *
14
+ * Apply to the element that has `overflow: auto` (the scroll container).
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <div
19
+ * autoFollowScroll
20
+ * [threshold]="100"
21
+ * [smooth]="true"
22
+ * (followStateChange)="onFollowState($event)"
23
+ * (newMessages)="onNewMessages($event)"
24
+ * >
25
+ * @for (message of messages; track message.id) {
26
+ * <div>{{ message.text }}</div>
27
+ * }
28
+ * </div>
29
+ * ```
30
+ */
31
+ declare class AXAutoFollowScrollDirective {
32
+ private readonly host;
33
+ private readonly destroyRef;
34
+ private readonly platformId;
35
+ private readonly ngZone;
36
+ /** Distance from the bottom (px) at or below which the user is considered "following". */
37
+ readonly threshold: _angular_core.InputSignal<number>;
38
+ /** Whether programmatic scroll uses smooth behavior. */
39
+ readonly smooth: _angular_core.InputSignal<boolean>;
40
+ readonly followStateChange: _angular_core.OutputEmitterRef<FollowStateChangeEvent>;
41
+ readonly newMessages: _angular_core.OutputEmitterRef<NewMessagesEvent>;
42
+ readonly state: _angular_core.WritableSignal<ScrollState>;
43
+ readonly unreadCount: _angular_core.WritableSignal<number>;
44
+ private isProgrammaticScroll;
45
+ private scrollRafId;
46
+ private programmaticScrollTimer;
47
+ private scrollListener;
48
+ constructor();
49
+ /**
50
+ * Call after a new message is rendered in the list.
51
+ */
52
+ messageAdded(): void;
53
+ /** Scrolls to the bottom and resumes following. */
54
+ scrollToBottom(): void;
55
+ /** Resets unread count and following state without scrolling. */
56
+ reset(): void;
57
+ private attachScrollListener;
58
+ private scheduleScrollHandling;
59
+ private handleUserScroll;
60
+ private isNearBottom;
61
+ private runProgrammaticScroll;
62
+ private beginProgrammaticScroll;
63
+ private endProgrammaticScroll;
64
+ private clearProgrammaticScrollGuard;
65
+ private setState;
66
+ private teardown;
67
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXAutoFollowScrollDirective, never>;
68
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXAutoFollowScrollDirective, "[axAutoFollowScroll]", ["axautoFollowScroll"], { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; }, { "followStateChange": "followStateChange"; "newMessages": "newMessages"; }, never, never, true, never>;
69
+ }
70
+
71
+ export { AXAutoFollowScrollDirective };
72
+ export type { FollowStateChangeEvent, NewMessagesEvent, ScrollState };
@@ -7,6 +7,8 @@ declare class AXCarouselDirective {
7
7
  carousel: i0.WritableSignal<Swiper>;
8
8
  private el;
9
9
  private platformId;
10
+ private initId;
11
+ destroy(): void;
10
12
  init(option: AXCarouselOptions): Promise<void>;
11
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCarouselDirective, never>;
12
14
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXCarouselDirective, "[axCarousel]", ["axCarousel"], {}, {}, never, never, true, never>;
@@ -4,7 +4,7 @@ import { ElementRef } from '@angular/core';
4
4
  declare class AXClipBoardService {
5
5
  copy(text: string): Promise<void>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AXClipBoardService, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<AXClipBoardService>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
8
8
  }
9
9
 
10
10
  /**
@@ -50,7 +50,7 @@ declare abstract class NXComponent {
50
50
  */
51
51
  getHostElement<T = HTMLElement>(): T;
52
52
  static ɵfac: i0.ɵɵFactoryDeclaration<NXComponent, never>;
53
- static ɵprov: i0.ɵɵInjectableDeclaration<NXComponent>;
53
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
54
54
  }
55
55
 
56
56
  /**
@@ -243,7 +243,7 @@ declare abstract class MXBaseComponent {
243
243
  */
244
244
  setOption<T = any>(option: MXComponentSetOption<T>): void;
245
245
  static ɵfac: i0.ɵɵFactoryDeclaration<MXBaseComponent, never>;
246
- static ɵprov: i0.ɵɵInjectableDeclaration<MXBaseComponent>;
246
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
247
247
  }
248
248
 
249
249
  declare class MXInteractiveComponent extends MXBaseComponent {
@@ -419,7 +419,7 @@ declare class MXValueComponent<T = any> extends MXInteractiveComponent implement
419
419
  */
420
420
  resetErrors(): void;
421
421
  static ɵfac: i0.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
422
- static ɵprov: i0.ɵɵInjectableDeclaration<MXValueComponent<any>>;
422
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
423
423
  }
424
424
 
425
425
  declare const TAB_META_KEY = "__meta__";
@@ -449,13 +449,13 @@ declare class AXComponentClosedPromise extends Promise<AXComponentResult> {
449
449
  }
450
450
  declare abstract class AXComponent {
451
451
  static ɵfac: i0.ɵɵFactoryDeclaration<AXComponent, never>;
452
- static ɵprov: i0.ɵɵInjectableDeclaration<AXComponent>;
452
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
453
453
  }
454
454
  declare abstract class AXClosableComponent extends AXComponent {
455
455
  abstract close(): void;
456
456
  abstract closeAll(): void;
457
457
  static ɵfac: i0.ɵɵFactoryDeclaration<AXClosableComponent, never>;
458
- static ɵprov: i0.ɵɵInjectableDeclaration<AXClosableComponent>;
458
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
459
459
  }
460
460
  declare abstract class AXClearableComponent extends AXComponent {
461
461
  abstract reset(u: boolean): void;
@@ -463,12 +463,12 @@ declare abstract class AXClearableComponent extends AXComponent {
463
463
  abstract get disabled(): boolean;
464
464
  abstract get value(): unknown;
465
465
  static ɵfac: i0.ɵɵFactoryDeclaration<AXClearableComponent, never>;
466
- static ɵprov: i0.ɵɵInjectableDeclaration<AXClearableComponent>;
466
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
467
467
  }
468
468
  declare abstract class AXSearchableComponent extends AXComponent {
469
469
  abstract search(value: string): void;
470
470
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchableComponent, never>;
471
- static ɵprov: i0.ɵɵInjectableDeclaration<AXSearchableComponent>;
471
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
472
472
  }
473
473
  declare abstract class AXValuableComponent extends AXComponent {
474
474
  abstract get isRequired(): boolean;
@@ -483,12 +483,12 @@ declare abstract class AXValuableComponent extends AXComponent {
483
483
  abstract reset(e: boolean): void;
484
484
  abstract resetErrors(): void;
485
485
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValuableComponent, never>;
486
- static ɵprov: i0.ɵɵInjectableDeclaration<AXValuableComponent>;
486
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
487
487
  }
488
488
  declare abstract class AXFocusableComponent extends AXComponent {
489
489
  abstract focus(): any;
490
490
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFocusableComponent, never>;
491
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFocusableComponent>;
491
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
492
492
  }
493
493
  interface AXPagedComponentInterface {
494
494
  goToPage(page: number): any;
@@ -502,7 +502,7 @@ declare abstract class AXPagedComponent extends AXComponent implements AXPagedCo
502
502
  abstract pageSize: number;
503
503
  abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;
504
504
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPagedComponent, never>;
505
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPagedComponent>;
505
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
506
506
  }
507
507
  declare abstract class AXAutocompleteParentComponent<T> extends MXValueComponent<T> {
508
508
  oldInputEmitValue: T;
@@ -511,7 +511,7 @@ declare abstract class AXAutocompleteParentComponent<T> extends MXValueComponent
511
511
  onItemSelected: EventEmitter<AXValueChangedEvent<T>>;
512
512
  emitOnItemSelected(value: T, isUserInteraction?: boolean): void;
513
513
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAutocompleteParentComponent<any>, never>;
514
- static ɵprov: i0.ɵɵInjectableDeclaration<AXAutocompleteParentComponent<any>>;
514
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
515
515
  }
516
516
 
517
517
  /**
@@ -531,7 +531,7 @@ declare abstract class NXValueComponent extends NXComponent {
531
531
  resetErrors(): void;
532
532
  commitValue(value: unknown, _isUserInteraction?: boolean): void;
533
533
  static ɵfac: i0.ɵɵFactoryDeclaration<NXValueComponent, never>;
534
- static ɵprov: i0.ɵɵInjectableDeclaration<NXValueComponent>;
534
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
535
535
  }
536
536
 
537
537
  /**
@@ -643,6 +643,9 @@ declare class AXDataSource<T = unknown> {
643
643
  private _items;
644
644
  get items(): T[];
645
645
  private fetchedPages;
646
+ /** Bumped on every reset so responses requested before it are dropped instead of corrupting the cache. */
647
+ private loadGeneration;
648
+ private pendingLoads;
646
649
  private _page;
647
650
  private _query;
648
651
  get query(): AXDataSourceQuery;
@@ -656,6 +659,9 @@ declare class AXDataSource<T = unknown> {
656
659
  get isLoading(): boolean;
657
660
  constructor(config: AXDataSourceConfig<T>);
658
661
  private load;
662
+ private applyLoadResult;
663
+ /** Whether `page` was loaded (or is loading) for the current filter/sort. */
664
+ isPageFetched(page: number): boolean;
659
665
  getItemsByFilter(filter: AXDataSourceFilterOption): Promise<AXDataSourceCallbackResult<T>>;
660
666
  private setLoadingState;
661
667
  setPage(page: number): void;
@@ -664,6 +670,8 @@ declare class AXDataSource<T = unknown> {
664
670
  sort(...value: AXDataSourceSortOption[]): void;
665
671
  clearFilter(): void;
666
672
  reset(): void;
673
+ /** Resets paging state without emitting `onLoadingChanged`, so a following `load()` keeps the loading state continuous. */
674
+ private resetState;
667
675
  refresh(options?: {
668
676
  reset?: boolean;
669
677
  }): void;
@@ -690,6 +698,7 @@ declare class AXListDataSource<T = unknown> extends DataSource<T> {
690
698
  private config;
691
699
  private debounceTime;
692
700
  private subscription;
701
+ private connected;
693
702
  source: AXDataSource<T>;
694
703
  private dataStream;
695
704
  private _range;
@@ -706,6 +715,7 @@ declare class AXListDataSource<T = unknown> extends DataSource<T> {
706
715
  });
707
716
  connect(collectionViewer: CollectionViewer): Observable<T[]>;
708
717
  disconnect(): void;
718
+ private loadMissingPagesInRange;
709
719
  private getPageForIndex;
710
720
  refresh(): void;
711
721
  }
@@ -798,7 +808,7 @@ declare class MXColorComponent extends MXBaseComponent {
798
808
  declare abstract class MXLookableComponent {
799
809
  look: AXStyleLookType;
800
810
  static ɵfac: i0.ɵɵFactoryDeclaration<MXLookableComponent, never>;
801
- static ɵprov: i0.ɵɵInjectableDeclaration<MXLookableComponent>;
811
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
802
812
  }
803
813
  declare class MXLookComponent extends MXBaseComponent {
804
814
  lookChange: EventEmitter<AXStyleLookType>;
@@ -902,7 +912,7 @@ declare class MXInputBaseValueComponent<T = string> extends MXValueComponent<T>
902
912
  protected emitOnTextChanged(value: string, isUserInteraction?: boolean): void;
903
913
  focus(): void;
904
914
  static ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
905
- static ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
915
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
906
916
  }
907
917
 
908
918
  /**
@@ -914,7 +924,7 @@ declare class MXSelectionBridgeService {
914
924
  /** Cache for normalized items keyed by their unique identifier */
915
925
  cacheList: Record<string | number, unknown>;
916
926
  static ɵfac: i0.ɵɵFactoryDeclaration<MXSelectionBridgeService, never>;
917
- static ɵprov: i0.ɵɵInjectableDeclaration<MXSelectionBridgeService>;
927
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
918
928
  }
919
929
  /**
920
930
  * Injection token for the selection bridge service
@@ -1104,7 +1114,7 @@ declare abstract class MXSelectionValueComponent<T = unknown> extends MXValueCom
1104
1114
  */
1105
1115
  private loadAndCacheItemByKey;
1106
1116
  static ɵfac: i0.ɵɵFactoryDeclaration<MXSelectionValueComponent<any>, never>;
1107
- static ɵprov: i0.ɵɵInjectableDeclaration<MXSelectionValueComponent<any>>;
1117
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1108
1118
  }
1109
1119
 
1110
1120
  declare class AXNgModelDelayedValueChangedDirective implements OnDestroy {
@@ -1151,7 +1161,7 @@ declare class AXRippleDirective implements OnDestroy {
1151
1161
  declare class AXDomService {
1152
1162
  generateElementId(): string;
1153
1163
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDomService, never>;
1154
- static ɵprov: i0.ɵɵInjectableDeclaration<AXDomService>;
1164
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1155
1165
  }
1156
1166
 
1157
1167
  type Options = {
@@ -1178,8 +1188,25 @@ declare class AXHotkeysService {
1178
1188
  */
1179
1189
  addShortcut(options: Partial<Options>): Observable$1<unknown>;
1180
1190
  static ɵfac: i0.ɵɵFactoryDeclaration<AXHotkeysService, never>;
1181
- static ɵprov: i0.ɵɵInjectableDeclaration<AXHotkeysService>;
1191
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1182
1192
  }
1183
1193
 
1184
- export { AXAutoFocusDirective, AXAutocompleteParentComponent, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosableComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXItemSelectedEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, NXButtonComponent, NXClickEvent, NXColorComponent, NXComponent, NXEvent, NXInteractiveComponent, NXLookComponent, NXNativeEvent, NXValueComponent, TAB_META_KEY, applyDataSourceQuery, convertArrayToDataSource, convertToPlacement };
1194
+ /**
1195
+ * Scrolls `element` into view inside `container` using nearest-edge behavior.
1196
+ * Only adjusts the container's own scrollTop — never the document — so overlay
1197
+ * dismissal on document scroll is not triggered.
1198
+ */
1199
+ declare function scrollNearestIntoView(container: HTMLElement, element: HTMLElement, topInset?: number): void;
1200
+ /**
1201
+ * Scrolls an option into view inside a scrollable container using nearest-edge behavior.
1202
+ * Uses bounding rects relative to the container so it works even when offsetParent differs.
1203
+ */
1204
+ declare function scrollOptionWithinContainer(container: HTMLElement, option: HTMLElement): void;
1205
+ /**
1206
+ * Retries `fn` on successive animation frames until it returns true or `attempts` is exhausted.
1207
+ * Used when the target element appears only after an overlay has been positioned and laid out.
1208
+ */
1209
+ declare function retryFrames(fn: () => boolean, attempts?: number): void;
1210
+
1211
+ export { AXAutoFocusDirective, AXAutocompleteParentComponent, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosableComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXItemSelectedEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, NXButtonComponent, NXClickEvent, NXColorComponent, NXComponent, NXEvent, NXInteractiveComponent, NXLookComponent, NXNativeEvent, NXValueComponent, TAB_META_KEY, applyDataSourceQuery, convertArrayToDataSource, convertToPlacement, retryFrames, scrollNearestIntoView, scrollOptionWithinContainer };
1185
1212
  export type { AXAnimationEasing, AXComponentState, AXConnectedPosition, AXDataListFetchCallbackResult, AXDataListFetchDataCallback, AXDataListItems, AXDataListQuery, AXDataSourceByKeyCallback, AXDataSourceCallbackResult, AXDataSourceChangedEvent, AXDataSourceConfig, AXDataSourceFilterOption, AXDataSourceItemExpandedEvent, AXDataSourceLoadCallback, AXDataSourceOperator, AXDataSourceQuery, AXDataSourceSortOption, AXDirection, AXExpandToggleIcons, AXFilterLogic, AXFormValidationRule, AXHotKeyAction, AXLocation, AXOrientation, AXPagedComponentInterface, AXPlacement, AXPlacementType, AXRange, AXScrollPosition, AXSelectionMode, AXSizeType, AXSortOrder, AXStyleColorClassType, AXStyleColorType, AXStyleInteractiveLookClassType, AXStyleLookClassType, AXStyleLookType, AXStyleSizeType, AXSurfaceType, DisabledCallback, MXComponentOptionChanged, MXComponentOptionChanging, MXComponentSetOption, NormalizedItem };