@ai-table/grid 0.0.12 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. package/angular-konva/components/container.component.d.ts +7 -0
  2. package/angular-konva/components/container.component.d.ts.map +1 -0
  3. package/angular-konva/components/container.token.d.ts +3 -0
  4. package/angular-konva/components/container.token.d.ts.map +1 -0
  5. package/angular-konva/components/index.d.ts +4 -0
  6. package/angular-konva/components/index.d.ts.map +1 -0
  7. package/angular-konva/components/shape.component.d.ts +61 -0
  8. package/angular-konva/components/shape.component.d.ts.map +1 -0
  9. package/angular-konva/components/stage.component.d.ts +40 -0
  10. package/angular-konva/components/stage.component.d.ts.map +1 -0
  11. package/angular-konva/index.d.ts +5 -0
  12. package/angular-konva/index.d.ts.map +1 -0
  13. package/angular-konva/interfaces/component.d.ts +49 -0
  14. package/angular-konva/interfaces/component.d.ts.map +1 -0
  15. package/angular-konva/interfaces/config.d.ts +26 -0
  16. package/angular-konva/interfaces/config.d.ts.map +1 -0
  17. package/angular-konva/interfaces/event-object.d.ts +7 -0
  18. package/angular-konva/interfaces/event-object.d.ts.map +1 -0
  19. package/angular-konva/interfaces/index.d.ts +5 -0
  20. package/angular-konva/interfaces/index.d.ts.map +1 -0
  21. package/angular-konva/interfaces/shape.d.ts +42 -0
  22. package/angular-konva/interfaces/shape.d.ts.map +1 -0
  23. package/angular-konva/utils/apply-node-props.d.ts +4 -0
  24. package/angular-konva/utils/apply-node-props.d.ts.map +1 -0
  25. package/angular-konva/utils/common.d.ts +8 -0
  26. package/angular-konva/utils/common.d.ts.map +1 -0
  27. package/angular-konva/utils/index.d.ts +5 -0
  28. package/angular-konva/utils/index.d.ts.map +1 -0
  29. package/angular-konva/utils/types.d.ts +4 -0
  30. package/angular-konva/utils/types.d.ts.map +1 -0
  31. package/angular-konva/utils/update-picture.d.ts +4 -0
  32. package/angular-konva/utils/update-picture.d.ts.map +1 -0
  33. package/components/cell-editors/abstract-cell-editor.component.d.ts +7 -5
  34. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  35. package/components/cell-editors/cell-editor.scss +38 -25
  36. package/components/cell-editors/cell-editor.variables.scss +5 -0
  37. package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
  38. package/components/cell-editors/link/edit-link/edit-link.component.d.ts +33 -0
  39. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -0
  40. package/components/cell-editors/link/link-editor.component.d.ts +36 -0
  41. package/components/cell-editors/link/link-editor.component.d.ts.map +1 -0
  42. package/components/cell-editors/link/link-editor.component.scss +21 -0
  43. package/components/cell-editors/progress/progress-editor.component.d.ts +0 -1
  44. package/components/cell-editors/progress/progress-editor.component.d.ts.map +1 -1
  45. package/components/cell-editors/progress/progress-editor.component.scss +12 -4
  46. package/components/cell-editors/rating/rating-editor.component.d.ts +0 -1
  47. package/components/cell-editors/rating/rating-editor.component.d.ts.map +1 -1
  48. package/components/cell-editors/rating/rating-editor.component.scss +10 -0
  49. package/components/cell-editors/select/select-editor.component.d.ts +3 -4
  50. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  51. package/components/cell-editors/text/text-editor.component.d.ts +0 -1
  52. package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
  53. package/components/cell-views/select/option.component.d.ts.map +1 -1
  54. package/components/cell-views/select/option.scss +10 -0
  55. package/components/field-menu/field-menu.component.d.ts +8 -3
  56. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  57. package/components/field-property-editor/field-property-editor.component.d.ts +4 -2
  58. package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
  59. package/components/index.d.ts +3 -1
  60. package/components/index.d.ts.map +1 -1
  61. package/constants/colors.d.ts +18 -0
  62. package/constants/colors.d.ts.map +1 -0
  63. package/constants/grid.d.ts +17 -1
  64. package/constants/grid.d.ts.map +1 -1
  65. package/constants/icon.d.ts +19 -0
  66. package/constants/icon.d.ts.map +1 -0
  67. package/constants/index.d.ts +5 -1
  68. package/constants/index.d.ts.map +1 -1
  69. package/constants/table.d.ts +60 -0
  70. package/constants/table.d.ts.map +1 -0
  71. package/constants/text.d.ts +22 -0
  72. package/constants/text.d.ts.map +1 -0
  73. package/core/context.d.ts +14 -0
  74. package/core/context.d.ts.map +1 -0
  75. package/core/coordinate.d.ts +96 -0
  76. package/core/coordinate.d.ts.map +1 -0
  77. package/core/index.d.ts +3 -2
  78. package/core/index.d.ts.map +1 -1
  79. package/core/types/ai-table.d.ts +56 -0
  80. package/core/types/ai-table.d.ts.map +1 -0
  81. package/core/types/core.d.ts +29 -23
  82. package/core/types/core.d.ts.map +1 -1
  83. package/core/types/index.d.ts +1 -1
  84. package/core/types/index.d.ts.map +1 -1
  85. package/core/utils/common.d.ts +1 -2
  86. package/core/utils/common.d.ts.map +1 -1
  87. package/core/utils/field.d.ts +3 -1
  88. package/core/utils/field.d.ts.map +1 -1
  89. package/core/utils/index.d.ts +0 -1
  90. package/core/utils/index.d.ts.map +1 -1
  91. package/core/utils/queries.d.ts +5 -5
  92. package/core/utils/queries.d.ts.map +1 -1
  93. package/dom-grid.component.d.ts +11 -0
  94. package/dom-grid.component.d.ts.map +1 -0
  95. package/esm2022/angular-konva/components/container.component.mjs +29 -0
  96. package/esm2022/angular-konva/components/container.token.mjs +3 -0
  97. package/esm2022/angular-konva/components/index.mjs +4 -0
  98. package/esm2022/angular-konva/components/shape.component.mjs +142 -0
  99. package/esm2022/angular-konva/components/stage.component.mjs +123 -0
  100. package/esm2022/angular-konva/index.mjs +5 -0
  101. package/esm2022/angular-konva/interfaces/component.mjs +4 -0
  102. package/esm2022/angular-konva/interfaces/config.mjs +2 -0
  103. package/esm2022/angular-konva/interfaces/event-object.mjs +2 -0
  104. package/esm2022/angular-konva/interfaces/index.mjs +5 -0
  105. package/esm2022/angular-konva/interfaces/shape.mjs +42 -0
  106. package/esm2022/angular-konva/utils/apply-node-props.mjs +67 -0
  107. package/esm2022/angular-konva/utils/common.mjs +48 -0
  108. package/esm2022/angular-konva/utils/index.mjs +5 -0
  109. package/esm2022/angular-konva/utils/types.mjs +2 -0
  110. package/esm2022/angular-konva/utils/update-picture.mjs +7 -0
  111. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +15 -7
  112. package/esm2022/components/cell-editors/date/date-editor.component.mjs +6 -3
  113. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +66 -0
  114. package/esm2022/components/cell-editors/link/link-editor.component.mjs +117 -0
  115. package/esm2022/components/cell-editors/number/number-editor.component.mjs +2 -2
  116. package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +3 -6
  117. package/esm2022/components/cell-editors/rating/rating-editor.component.mjs +4 -7
  118. package/esm2022/components/cell-editors/select/select-editor.component.mjs +19 -17
  119. package/esm2022/components/cell-editors/text/text-editor.component.mjs +10 -11
  120. package/esm2022/components/cell-views/select/option.component.mjs +6 -5
  121. package/esm2022/components/field-menu/field-menu.component.mjs +11 -8
  122. package/esm2022/components/field-property-editor/field-property-editor.component.mjs +17 -12
  123. package/esm2022/components/index.mjs +4 -2
  124. package/esm2022/constants/colors.mjs +18 -0
  125. package/esm2022/constants/editor.mjs +2 -3
  126. package/esm2022/constants/grid.mjs +22 -4
  127. package/esm2022/constants/icon.mjs +26 -0
  128. package/esm2022/constants/index.mjs +6 -2
  129. package/esm2022/constants/table.mjs +62 -0
  130. package/esm2022/constants/text.mjs +23 -0
  131. package/esm2022/core/context.mjs +25 -0
  132. package/esm2022/core/coordinate.mjs +222 -0
  133. package/esm2022/core/index.mjs +4 -3
  134. package/esm2022/core/types/ai-table.mjs +44 -0
  135. package/esm2022/core/types/core.mjs +6 -1
  136. package/esm2022/core/types/index.mjs +2 -2
  137. package/esm2022/core/utils/common.mjs +3 -20
  138. package/esm2022/core/utils/field.mjs +18 -5
  139. package/esm2022/core/utils/index.mjs +1 -2
  140. package/esm2022/core/utils/queries.mjs +4 -4
  141. package/esm2022/dom-grid.component.mjs +82 -0
  142. package/esm2022/grid-base.component.mjs +154 -0
  143. package/esm2022/grid.component.mjs +337 -160
  144. package/esm2022/public-api.mjs +9 -5
  145. package/esm2022/renderer/components/add-field-column.component.mjs +68 -0
  146. package/esm2022/renderer/components/cells.component.mjs +35 -0
  147. package/esm2022/renderer/components/field-head.component.mjs +130 -0
  148. package/esm2022/renderer/components/field-icon.component.mjs +66 -0
  149. package/esm2022/renderer/components/frozen-cells.component.mjs +36 -0
  150. package/esm2022/renderer/components/frozen-heads.component.mjs +117 -0
  151. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +38 -0
  152. package/esm2022/renderer/components/heads.component.mjs +38 -0
  153. package/esm2022/renderer/components/hover-row-heads.component.mjs +107 -0
  154. package/esm2022/renderer/components/icon.component.mjs +80 -0
  155. package/esm2022/renderer/components/index.mjs +14 -0
  156. package/esm2022/renderer/components/other-rows.component.mjs +68 -0
  157. package/esm2022/renderer/components/placeholder-cells.component.mjs +33 -0
  158. package/esm2022/renderer/components/text.component.mjs +45 -0
  159. package/esm2022/renderer/creations/create-active-cell-border.mjs +68 -0
  160. package/esm2022/renderer/creations/create-cells.mjs +135 -0
  161. package/esm2022/renderer/creations/create-heads.mjs +45 -0
  162. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +97 -0
  163. package/esm2022/renderer/drawers/cell-drawer.mjs +587 -0
  164. package/esm2022/renderer/drawers/drawer.mjs +936 -0
  165. package/esm2022/renderer/drawers/layout-drawer.mjs +58 -0
  166. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +101 -0
  167. package/esm2022/renderer/index.mjs +4 -0
  168. package/esm2022/renderer/renderer.component.mjs +174 -0
  169. package/esm2022/services/event.service.mjs +120 -11
  170. package/esm2022/services/field.service.mjs +28 -5
  171. package/esm2022/services/index.mjs +4 -0
  172. package/esm2022/services/selection.service.mjs +8 -1
  173. package/esm2022/types/avatar.mjs +27 -0
  174. package/esm2022/types/canvas.mjs +2 -0
  175. package/esm2022/types/cell.mjs +2 -0
  176. package/esm2022/types/component-config.mjs +7 -0
  177. package/esm2022/types/field.mjs +1 -1
  178. package/esm2022/types/grid.mjs +16 -2
  179. package/esm2022/types/index.mjs +8 -2
  180. package/esm2022/types/layout.mjs +2 -0
  181. package/esm2022/types/row.mjs +6 -0
  182. package/esm2022/utils/build.mjs +39 -0
  183. package/esm2022/utils/cell.mjs +71 -0
  184. package/esm2022/utils/common.mjs +49 -0
  185. package/esm2022/utils/get-placeholder-cells.mjs +66 -0
  186. package/esm2022/utils/get-text-width.mjs +30 -0
  187. package/esm2022/utils/image-cache.mjs +57 -0
  188. package/esm2022/utils/index.mjs +12 -0
  189. package/esm2022/utils/os.mjs +16 -0
  190. package/esm2022/utils/position.mjs +48 -0
  191. package/esm2022/utils/style.mjs +25 -0
  192. package/esm2022/utils/text-measure.mjs +122 -0
  193. package/esm2022/utils/visible-range.mjs +38 -0
  194. package/fesm2022/ai-table-grid.mjs +5549 -690
  195. package/fesm2022/ai-table-grid.mjs.map +1 -1
  196. package/grid-base.component.d.ts +52 -0
  197. package/grid-base.component.d.ts.map +1 -0
  198. package/grid.component.d.ts +43 -40
  199. package/grid.component.d.ts.map +1 -1
  200. package/package.json +5 -2
  201. package/public-api.d.ts +8 -4
  202. package/public-api.d.ts.map +1 -1
  203. package/renderer/components/add-field-column.component.d.ts +16 -0
  204. package/renderer/components/add-field-column.component.d.ts.map +1 -0
  205. package/renderer/components/cells.component.d.ts +14 -0
  206. package/renderer/components/cells.component.d.ts.map +1 -0
  207. package/renderer/components/field-head.component.d.ts +73 -0
  208. package/renderer/components/field-head.component.d.ts.map +1 -0
  209. package/renderer/components/field-icon.component.d.ts +17 -0
  210. package/renderer/components/field-icon.component.d.ts.map +1 -0
  211. package/renderer/components/frozen-cells.component.d.ts +14 -0
  212. package/renderer/components/frozen-cells.component.d.ts.map +1 -0
  213. package/renderer/components/frozen-heads.component.d.ts +47 -0
  214. package/renderer/components/frozen-heads.component.d.ts.map +1 -0
  215. package/renderer/components/frozen-placeholder-cells.component.d.ts +22 -0
  216. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -0
  217. package/renderer/components/heads.component.d.ts +9 -0
  218. package/renderer/components/heads.component.d.ts.map +1 -0
  219. package/renderer/components/hover-row-heads.component.d.ts +11 -0
  220. package/renderer/components/hover-row-heads.component.d.ts.map +1 -0
  221. package/renderer/components/icon.component.d.ts +37 -0
  222. package/renderer/components/icon.component.d.ts.map +1 -0
  223. package/renderer/components/index.d.ts +14 -0
  224. package/renderer/components/index.d.ts.map +1 -0
  225. package/renderer/components/other-rows.component.d.ts +31 -0
  226. package/renderer/components/other-rows.component.d.ts.map +1 -0
  227. package/renderer/components/placeholder-cells.component.d.ts +22 -0
  228. package/renderer/components/placeholder-cells.component.d.ts.map +1 -0
  229. package/renderer/components/text.component.d.ts +99 -0
  230. package/renderer/components/text.component.d.ts.map +1 -0
  231. package/renderer/creations/create-active-cell-border.d.ts +7 -0
  232. package/renderer/creations/create-active-cell-border.d.ts.map +1 -0
  233. package/renderer/creations/create-cells.d.ts +8 -0
  234. package/renderer/creations/create-cells.d.ts.map +1 -0
  235. package/renderer/creations/create-heads.d.ts +3 -0
  236. package/renderer/creations/create-heads.d.ts.map +1 -0
  237. package/renderer/drawers/add-row-layout-drawer.d.ts +12 -0
  238. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -0
  239. package/renderer/drawers/cell-drawer.d.ts +22 -0
  240. package/renderer/drawers/cell-drawer.d.ts.map +1 -0
  241. package/renderer/drawers/drawer.d.ts +136 -0
  242. package/renderer/drawers/drawer.d.ts.map +1 -0
  243. package/renderer/drawers/layout-drawer.d.ts +22 -0
  244. package/renderer/drawers/layout-drawer.d.ts.map +1 -0
  245. package/renderer/drawers/record-row-layout-drawer.d.ts +14 -0
  246. package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -0
  247. package/renderer/index.d.ts +4 -0
  248. package/renderer/index.d.ts.map +1 -0
  249. package/renderer/renderer.component.d.ts +64 -0
  250. package/renderer/renderer.component.d.ts.map +1 -0
  251. package/services/event.service.d.ts +17 -3
  252. package/services/event.service.d.ts.map +1 -1
  253. package/services/field.service.d.ts +5 -4
  254. package/services/field.service.d.ts.map +1 -1
  255. package/services/index.d.ts +4 -0
  256. package/services/index.d.ts.map +1 -0
  257. package/services/selection.service.d.ts.map +1 -1
  258. package/styles/styles.scss +71 -11
  259. package/types/avatar.d.ts +24 -0
  260. package/types/avatar.d.ts.map +1 -0
  261. package/types/canvas.d.ts +83 -0
  262. package/types/canvas.d.ts.map +1 -0
  263. package/types/cell.d.ts +43 -0
  264. package/types/cell.d.ts.map +1 -0
  265. package/types/component-config.d.ts +50 -0
  266. package/types/component-config.d.ts.map +1 -0
  267. package/types/field.d.ts +27 -1
  268. package/types/field.d.ts.map +1 -1
  269. package/types/grid.d.ts +81 -2
  270. package/types/grid.d.ts.map +1 -1
  271. package/types/index.d.ts +7 -1
  272. package/types/index.d.ts.map +1 -1
  273. package/types/layout.d.ts +11 -0
  274. package/types/layout.d.ts.map +1 -0
  275. package/types/row.d.ts +27 -0
  276. package/types/row.d.ts.map +1 -0
  277. package/utils/build.d.ts +5 -0
  278. package/utils/build.d.ts.map +1 -0
  279. package/utils/cell.d.ts +19 -0
  280. package/utils/cell.d.ts.map +1 -0
  281. package/utils/common.d.ts +20 -0
  282. package/utils/common.d.ts.map +1 -0
  283. package/utils/get-placeholder-cells.d.ts +16 -0
  284. package/utils/get-placeholder-cells.d.ts.map +1 -0
  285. package/utils/get-text-width.d.ts +9 -0
  286. package/utils/get-text-width.d.ts.map +1 -0
  287. package/utils/image-cache.d.ts +16 -0
  288. package/utils/image-cache.d.ts.map +1 -0
  289. package/utils/index.d.ts +12 -0
  290. package/utils/index.d.ts.map +1 -0
  291. package/utils/os.d.ts +4 -0
  292. package/utils/os.d.ts.map +1 -0
  293. package/utils/position.d.ts +20 -0
  294. package/utils/position.d.ts.map +1 -0
  295. package/utils/style.d.ts +4 -0
  296. package/utils/style.d.ts.map +1 -0
  297. package/utils/text-measure.d.ts +32 -0
  298. package/utils/text-measure.d.ts.map +1 -0
  299. package/utils/visible-range.d.ts +13 -0
  300. package/utils/visible-range.d.ts.map +1 -0
  301. package/components/cell-editors/link/number-editor.component.d.ts +0 -8
  302. package/components/cell-editors/link/number-editor.component.d.ts.map +0 -1
  303. package/constants/field.d.ts +0 -20
  304. package/constants/field.d.ts.map +0 -1
  305. package/core/action/field.d.ts +0 -12
  306. package/core/action/field.d.ts.map +0 -1
  307. package/core/action/general.d.ts +0 -5
  308. package/core/action/general.d.ts.map +0 -1
  309. package/core/action/index.d.ts +0 -12
  310. package/core/action/index.d.ts.map +0 -1
  311. package/core/action/record.d.ts +0 -12
  312. package/core/action/record.d.ts.map +0 -1
  313. package/core/types/action.d.ts +0 -64
  314. package/core/types/action.d.ts.map +0 -1
  315. package/core/utils/weak-map.d.ts +0 -3
  316. package/core/utils/weak-map.d.ts.map +0 -1
  317. package/esm2022/components/cell-editors/link/number-editor.component.mjs +0 -25
  318. package/esm2022/constants/field.mjs +0 -25
  319. package/esm2022/core/action/field.mjs +0 -57
  320. package/esm2022/core/action/general.mjs +0 -116
  321. package/esm2022/core/action/index.mjs +0 -9
  322. package/esm2022/core/action/record.mjs +0 -44
  323. package/esm2022/core/types/action.mjs +0 -18
  324. package/esm2022/core/utils/weak-map.mjs +0 -2
@@ -0,0 +1,56 @@
1
+ import { Signal, WritableSignal } from '@angular/core';
2
+ import { AITableSelection } from '../../types';
3
+ import { RendererContext } from '../context';
4
+ import { AITableField, AITableFields, AITableRecord, AITableRecords } from './core';
5
+ export interface AITable {
6
+ records: WritableSignal<AITableRecords>;
7
+ fields: WritableSignal<AITableFields>;
8
+ context?: RendererContext;
9
+ selection: WritableSignal<AITableSelection>;
10
+ recordsMap: Signal<{
11
+ [kay: string]: AITableRecord;
12
+ }>;
13
+ fieldsMap: Signal<{
14
+ [kay: string]: AITableField;
15
+ }>;
16
+ recordsWillHidden: WritableSignal<string[]>;
17
+ recordsWillMove: WritableSignal<string[]>;
18
+ }
19
+ export type AIPlugin = (aiTable: AITable) => AITable;
20
+ export declare const AITable: {
21
+ getColors(): {
22
+ primary: string;
23
+ gray100: string;
24
+ gray200: string;
25
+ gray300: string;
26
+ gray800: string;
27
+ gray600: string;
28
+ gray700: string;
29
+ white: string;
30
+ black: string;
31
+ transparent: string;
32
+ gray80: string;
33
+ headSelectedBgColor: string;
34
+ itemActiveBgColor: string;
35
+ waring: string;
36
+ success: string;
37
+ };
38
+ getVisibleFields(aiTable: AITable): AITableField[];
39
+ getVisibleRows(aiTable: AITable): AITableRecords;
40
+ getActiveCell(aiTable: AITable): {
41
+ recordId: string;
42
+ fieldId: string;
43
+ } | null;
44
+ isCellVisible(aiTable: AITable, cell: {
45
+ recordId: string;
46
+ fieldId: string;
47
+ }): boolean;
48
+ getCellIndex(aiTable: AITable, cell: {
49
+ recordId: string;
50
+ fieldId: string;
51
+ }): {
52
+ rowIndex: number;
53
+ columnIndex: number;
54
+ } | null;
55
+ };
56
+ //# sourceMappingURL=ai-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-table.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/ai-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEpF,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;CAC5C;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;8BAIU,OAAO;4BAGT,OAAO;2BAGR,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;2BAetD,OAAO,QAAQ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;0BAKrD,OAAO,QAAQ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAWhI,CAAC"}
@@ -1,7 +1,4 @@
1
- import { Signal, WritableSignal } from '@angular/core';
2
1
  import { Id } from 'ngx-tethys/types';
3
- import { AITableSelection } from '../../types';
4
- import { AITableAction } from './action';
5
2
  export declare enum AITableFieldType {
6
3
  text = "text",// 包含多行文本
7
4
  richText = "rich_text",// 包含多行文本
@@ -102,24 +99,33 @@ export interface AITableValue {
102
99
  records: AITableRecords;
103
100
  fields: AITableFields;
104
101
  }
105
- export interface AITable {
106
- records: WritableSignal<AITableRecords>;
107
- fields: WritableSignal<AITableFields>;
108
- actions: AITableAction[];
109
- selection: WritableSignal<AITableSelection>;
110
- recordsMap: Signal<{
111
- [kay: string]: AITableRecord;
112
- }>;
113
- fieldsMap: Signal<{
114
- [kay: string]: AITableField;
115
- }>;
116
- onChange: () => void;
117
- apply: (action: AITableAction) => void;
118
- }
119
- export interface AITableChangeOptions {
120
- records: AITableRecord[];
121
- fields: AITableField[];
122
- actions: AITableAction[];
123
- }
124
- export type AIPlugin = (aiTable: AITable) => AITable;
102
+ export declare enum Direction {
103
+ before = "before",
104
+ after = "after"
105
+ }
106
+ export interface AddRecordOptions {
107
+ originId: string;
108
+ direction?: Direction;
109
+ isDuplicate?: boolean;
110
+ count?: number;
111
+ }
112
+ export interface AddFieldOptions {
113
+ originId: string;
114
+ defaultValue: Partial<AITableField>;
115
+ direction?: Direction;
116
+ isDuplicate?: boolean;
117
+ count?: number;
118
+ }
119
+ export interface UpdateFieldValueOptions<T = unknown> {
120
+ value: T;
121
+ path: AIFieldValueIdPath;
122
+ }
123
+ export interface SetFieldOptions<T = unknown> {
124
+ field: AITableField;
125
+ path: IdPath;
126
+ }
127
+ export type NumberPath = [number];
128
+ export type IdPath = [string];
129
+ export type AIFieldValueIdPath = [string, string];
130
+ export type Path = NumberPath | IdPath | AIFieldValueIdPath;
125
131
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/core.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
+ export * from './ai-table';
1
2
  export * from './core';
2
- export * from './action';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
@@ -1,5 +1,4 @@
1
- import { AITable, AITableFields, AITableRecords, Path } from '../types';
2
1
  import { WritableSignal } from '@angular/core';
2
+ import { AITable, AITableFields, AITableRecords } from '../types';
3
3
  export declare function createAITable(records: WritableSignal<AITableRecords>, fields: WritableSignal<AITableFields>): AITable;
4
- export declare function isPathEqual(path: Path, another: Path): boolean;
5
4
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA+B,aAAa,EAAiB,cAAc,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEpH,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC;AAEjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,OAAO,CA4CrH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,OAAO,EAAgB,aAAa,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,OAAO,CA+BrH"}
@@ -1,5 +1,7 @@
1
1
  import { AITable, AITableField, AITableFieldOption, AITableFieldType } from '../types';
2
- export declare function getDefaultFieldValue(field: AITableField): never[] | "";
2
+ export declare const isArrayFiled: (field: AITableField) => boolean;
3
+ export declare const isNumberFiled: (field: AITableField) => boolean;
4
+ export declare function getDefaultFieldValue(field: AITableField): "" | 0 | never[];
3
5
  export declare function createDefaultFieldName(aiTable: AITable, field: AITableFieldOption): string;
4
6
  export declare function getFieldOptionByField(field: Partial<AITableField>): AITableFieldOption | undefined;
5
7
  export declare function isSameFieldOption(fieldOption: AITableFieldOption, field: Partial<AITableField>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AAGnG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,gBAKvD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,UASjF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,kCAEjE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAExG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAwC;;;;EAGlG"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAC;AAGnG,eAAO,MAAM,YAAY,UAAW,YAAY,YAK/C,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,YAAY,YAEhD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,oBAQvD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,UASjF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,kCAEjE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAOxG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAwC;;;;EAGlG"}
@@ -1,7 +1,6 @@
1
1
  export * from './id-creator';
2
2
  export * from './field';
3
3
  export * from './common';
4
- export * from './weak-map';
5
4
  export * from './record';
6
5
  export * from './queries';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,9 +1,9 @@
1
- import { AITable, AITableField, AITableRecord, AIFieldValueIdPath, AIRecordPath, AIFieldPath, AIFieldIdPath } from '../types';
1
+ import { AITable, AITableField, AITableRecord, AIFieldValueIdPath, IdPath, NumberPath } from '../types';
2
2
  export declare const AITableQueries: {
3
- findRecordPath(aiTable: AITable, record: AITableRecord): AIRecordPath;
4
- findFieldPath(aiTable: AITable, field: AITableField): AIFieldPath;
3
+ findRecordPath(aiTable: AITable, record: AITableRecord): NumberPath;
4
+ findFieldPath(aiTable: AITable, field: AITableField): NumberPath;
5
5
  getFieldValue(aiTable: AITable, path: AIFieldValueIdPath): any;
6
- getField(aiTable: AITable, path: AIFieldIdPath): AITableField | undefined;
7
- getRecord(aiTable: AITable, path: AIRecordPath): AITableRecord;
6
+ getField(aiTable: AITable, path: IdPath): AITableField | undefined;
7
+ getRecord(aiTable: AITable, path: NumberPath): AITableRecord;
8
8
  };
9
9
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9H,eAAO,MAAM,cAAc;4BACC,OAAO,UAAU,aAAa;2BAO/B,OAAO,SAAS,YAAY;2BAO5B,OAAO,6BAA6B,GAAG;sBAoB5C,OAAO,wBAAwB,YAAY,GAAG,SAAS;uBAUtD,OAAO,uBAAuB,aAAa;CASjE,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExG,eAAO,MAAM,cAAc;4BACC,OAAO,UAAU,aAAa;2BAO/B,OAAO,SAAS,YAAY;2BAO5B,OAAO,6BAA6B,GAAG;sBAoB5C,OAAO,iBAAiB,YAAY,GAAG,SAAS;uBAU/C,OAAO,qBAAqB,aAAa;CAS/D,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { AITableField } from './core';
3
+ import { AITableGridBase } from './grid-base.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AITableDomGrid extends AITableGridBase implements OnInit {
6
+ ngOnInit(): void;
7
+ openFieldMenu(e: Event, field: AITableField, fieldAction: HTMLElement): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AITableDomGrid, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<AITableDomGrid, "ai-table-dom-grid", never, {}, {}, never, never, true, never>;
10
+ }
11
+ //# sourceMappingURL=dom-grid.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-grid.component.d.ts","sourceRoot":"","sources":["../../packages/grid/src/dom-grid.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,MAAM,EAAE,MAAM,eAAe,CAAC;AAiBrF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;;AAOxD,qBAyCa,cAAe,SAAQ,eAAgB,YAAW,MAAM;IACxD,QAAQ,IAAI,IAAI;IAKzB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW;yCAN5D,cAAc;2CAAd,cAAc;CAe1B"}
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { KO_CONTAINER_TOKEN } from './container.token';
3
+ import { KoShape } from './shape.component';
4
+ import * as i0 from "@angular/core";
5
+ export class KoContainer extends KoShape {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: KoContainer, isStandalone: true, selector: "ko-layer, ko-fastlayer, ko-group", providers: [
8
+ {
9
+ provide: KO_CONTAINER_TOKEN,
10
+ useExisting: KoContainer
11
+ }
12
+ ], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoContainer, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'ko-layer, ko-fastlayer, ko-group',
18
+ standalone: true,
19
+ template: `<ng-content></ng-content>`,
20
+ providers: [
21
+ {
22
+ provide: KO_CONTAINER_TOKEN,
23
+ useExisting: KoContainer
24
+ }
25
+ ],
26
+ changeDetection: ChangeDetectionStrategy.OnPush
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2FuZ3VsYXIta29udmEvY29tcG9uZW50cy9jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWM1QyxNQUFNLE9BQU8sV0FBWSxTQUFRLE9BQU87OEdBQTNCLFdBQVc7a0dBQVgsV0FBVywrRUFSVDtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxXQUFXO2FBQzNCO1NBQ0osaURBTlMsMkJBQTJCOzsyRkFTNUIsV0FBVztrQkFadkIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsYUFBYTt5QkFDM0I7cUJBQ0o7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS09fQ09OVEFJTkVSX1RPS0VOIH0gZnJvbSAnLi9jb250YWluZXIudG9rZW4nO1xuaW1wb3J0IHsgS29TaGFwZSB9IGZyb20gJy4vc2hhcGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrby1sYXllciwga28tZmFzdGxheWVyLCBrby1ncm91cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBLT19DT05UQUlORVJfVE9LRU4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogS29Db250YWluZXJcbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS29Db250YWluZXIgZXh0ZW5kcyBLb1NoYXBlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const KO_CONTAINER_TOKEN = new InjectionToken('KO_CONTAINER_TOKEN');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS9jb21wb25lbnRzL2NvbnRhaW5lci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFNLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgS09fQ09OVEFJTkVSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0tPX0NPTlRBSU5FUl9UT0tFTicpO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './container.component';
2
+ export * from './shape.component';
3
+ export * from './stage.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFwZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFnZS5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,142 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Output, effect, inject, input } from '@angular/core';
2
+ import Konva from 'konva';
3
+ import { Shape } from 'konva/lib/Shape';
4
+ import { Sprite } from 'konva/lib/shapes/Sprite';
5
+ import { applyNodeProps, createListener, getName, updatePicture } from '../utils';
6
+ import { KO_CONTAINER_TOKEN } from './container.token';
7
+ import * as i0 from "@angular/core";
8
+ export class KoShape {
9
+ constructor() {
10
+ this.config = input();
11
+ this.koMouseover = new EventEmitter();
12
+ this.koMousemove = new EventEmitter();
13
+ this.koMouseout = new EventEmitter();
14
+ this.koMouseenter = new EventEmitter();
15
+ this.koMouseleave = new EventEmitter();
16
+ this.koMousedown = new EventEmitter();
17
+ this.koMouseup = new EventEmitter();
18
+ this.koWheel = new EventEmitter();
19
+ this.koContextmenu = new EventEmitter();
20
+ this.koClick = new EventEmitter();
21
+ this.koDblclick = new EventEmitter();
22
+ this.koTouchstart = new EventEmitter();
23
+ this.koTouchmove = new EventEmitter();
24
+ this.koTouchend = new EventEmitter();
25
+ this.koTap = new EventEmitter();
26
+ this.koDbltap = new EventEmitter();
27
+ this.koDragstart = new EventEmitter();
28
+ this.koDragmove = new EventEmitter();
29
+ this.koDragend = new EventEmitter();
30
+ this.elementRef = inject((ElementRef));
31
+ this.container = inject(KO_CONTAINER_TOKEN, { skipSelf: true });
32
+ this.cacheProps = {};
33
+ this.nameNode = getName(this.elementRef.nativeElement.localName);
34
+ effect(() => {
35
+ if (this.config()) {
36
+ this.updateNode(this.config());
37
+ }
38
+ });
39
+ }
40
+ getNode() {
41
+ return this._node;
42
+ }
43
+ ngOnInit() {
44
+ this.initKonva();
45
+ }
46
+ initKonva() {
47
+ if (!this._node) {
48
+ this._node = new Shape();
49
+ }
50
+ if (this.nameNode === 'Shape') {
51
+ this._node = new Shape();
52
+ }
53
+ else if (this.nameNode === 'Sprite') {
54
+ this._node = new Sprite(this.config());
55
+ }
56
+ else {
57
+ this._node = new Konva[this.nameNode](undefined);
58
+ }
59
+ const animationStage = this._node.to.bind(this._node);
60
+ this._node.to = (newConfig) => {
61
+ animationStage(newConfig);
62
+ setTimeout(() => {
63
+ Object.keys(this._node.attrs).forEach((key) => {
64
+ if (typeof this._node.attrs[key] !== 'function') {
65
+ this.config()[key] = this._node.attrs[key];
66
+ }
67
+ });
68
+ }, 200);
69
+ };
70
+ if (this.config()) {
71
+ this.updateNode(this.config());
72
+ }
73
+ }
74
+ updateNode(config) {
75
+ if (!this._node)
76
+ return;
77
+ const props = {
78
+ ...config,
79
+ ...createListener(this)
80
+ };
81
+ applyNodeProps(this, props, this.cacheProps);
82
+ this.cacheProps = props;
83
+ }
84
+ ngAfterViewInit() {
85
+ const container = this.container.getNode();
86
+ container.add(this.getNode());
87
+ updatePicture(this.container.getNode());
88
+ }
89
+ ngOnDestroy() {
90
+ this._node?.destroy();
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoShape, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: KoShape, isStandalone: true, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoShape, decorators: [{
96
+ type: Component,
97
+ args: [{
98
+ selector: 'ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer',
99
+ standalone: true,
100
+ template: `<ng-content></ng-content>`,
101
+ changeDetection: ChangeDetectionStrategy.OnPush
102
+ }]
103
+ }], ctorParameters: () => [], propDecorators: { koMouseover: [{
104
+ type: Output
105
+ }], koMousemove: [{
106
+ type: Output
107
+ }], koMouseout: [{
108
+ type: Output
109
+ }], koMouseenter: [{
110
+ type: Output
111
+ }], koMouseleave: [{
112
+ type: Output
113
+ }], koMousedown: [{
114
+ type: Output
115
+ }], koMouseup: [{
116
+ type: Output
117
+ }], koWheel: [{
118
+ type: Output
119
+ }], koContextmenu: [{
120
+ type: Output
121
+ }], koClick: [{
122
+ type: Output
123
+ }], koDblclick: [{
124
+ type: Output
125
+ }], koTouchstart: [{
126
+ type: Output
127
+ }], koTouchmove: [{
128
+ type: Output
129
+ }], koTouchend: [{
130
+ type: Output
131
+ }], koTap: [{
132
+ type: Output
133
+ }], koDbltap: [{
134
+ type: Output
135
+ }], koDragstart: [{
136
+ type: Output
137
+ }], koDragmove: [{
138
+ type: Output
139
+ }], koDragend: [{
140
+ type: Output
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS9jb21wb25lbnRzL3NoYXBlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFJMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBWXhDLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0seUJBQXlCLENBQUM7QUFPL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFTdkQsTUFBTSxPQUFPLE9BQU87SUE0RWhCO1FBM0VBLFdBQU0sR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUU1RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRTVELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUUzRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRTdELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUU1RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFMUQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRXhELGtCQUFhLEdBQUcsSUFB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QUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxLQUFLO3NCQUFkLE1BQU07Z0JBRUcsUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBLb252YSBmcm9tICdrb252YSc7XG5pbXBvcnQgeyBGYXN0TGF5ZXIgfSBmcm9tICdrb252YS9saWIvRmFzdExheWVyJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAna29udmEvbGliL0dyb3VwJztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAna29udmEvbGliL0xheWVyJztcbmltcG9ydCB7IFNoYXBlIH0gZnJvbSAna29udmEvbGliL1NoYXBlJztcbmltcG9ydCB7IEFyYyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvQXJjJztcbmltcG9ydCB7IEFycm93IH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9BcnJvdyc7XG5pbXBvcnQgeyBDaXJjbGUgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0NpcmNsZSc7XG5pbXBvcnQgeyBFbGxpcHNlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9FbGxpcHNlJztcbmltcG9ydCB7IEltYWdlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9JbWFnZSc7XG5pbXBvcnQgeyBMYWJlbCwgVGFnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9MYWJlbCc7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9MaW5lJztcbmltcG9ydCB7IFBhdGggfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1BhdGgnO1xuaW1wb3J0IHsgUmVjdCB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvUmVjdCc7XG5pbXBvcnQgeyBSZWd1bGFyUG9seWdvbiB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvUmVndWxhclBvbHlnb24nO1xuaW1wb3J0IHsgUmluZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvUmluZyc7XG5pbXBvcnQgeyBTcHJpdGUsIFNwcml0ZUNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvU3ByaXRlJztcbmltcG9ydCB7IFN0YXIgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1N0YXInO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVGV4dCc7XG5pbXBvcnQgeyBUZXh0UGF0aCB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVGV4dFBhdGgnO1xuaW1wb3J0IHsgVHJhbnNmb3JtZXIgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1RyYW5zZm9ybWVyJztcbmltcG9ydCB7IFdlZGdlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9XZWRnZSc7XG5pbXBvcnQgeyBLb0NvbXBvbmVudCwgS29FdmVudE9iamVjdCwgS29TaGFwZUNvbmZpZ1R5cGVzLCBLb1NoYXBlVHlwZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFwcGx5Tm9kZVByb3BzLCBjcmVhdGVMaXN0ZW5lciwgZ2V0TmFtZSwgdXBkYXRlUGljdHVyZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEtPX0NPTlRBSU5FUl9UT0tFTiB9IGZyb20gJy4vY29udGFpbmVyLnRva2VuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdrby1zaGFwZSwga28tY2lyY2xlLCBrby1sYWJlbCwga28tcmVjdCwga28tZWxsaXBzZSwga28td2VkZ2UsIGtvLWxpbmUsIGtvLXNwcml0ZSwga28taW1hZ2UsIGtvLXRleHQsIGtvLXRleHQtcGF0aCwga28tc3Rhciwga28tcmluZywga28tYXJjLCBrby10YWcsIGtvLXBhdGgsIGtvLXJlZ3VsYXItcG9seWdvbiwga28tYXJyb3csIGtvLXRyYW5zZm9ybWVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS29TaGFwZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBLb0NvbXBvbmVudCB7XG4gICAgY29uZmlnID0gaW5wdXQ8S29TaGFwZUNvbmZpZ1R5cGVzPigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2Vtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VvdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29Nb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb01vdXNlZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb01vdXNldXAgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29XaGVlbCA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxXaGVlbEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb0NvbnRleHRtZW51ID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFBvaW50ZXJFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb0RibGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvVG91Y2hzdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb1RvdWNobW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb1RvdWNoZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvVGFwID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRGJsdGFwID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRHJhZ3N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRHJhZ21vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29EcmFnZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIHByaXZhdGUgY29udGFpbmVyID0gaW5qZWN0KEtPX0NPTlRBSU5FUl9UT0tFTiwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcblxuICAgIHByaXZhdGUgY2FjaGVQcm9wczogS29TaGFwZUNvbmZpZ1R5cGVzID0ge307XG5cbiAgICBwcml2YXRlIG5hbWVOb2RlOiBrZXlvZiB0eXBlb2YgS29TaGFwZVR5cGVzIHwgJ1NoYXBlJyB8ICdTcHJpdGUnID0gZ2V0TmFtZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5sb2NhbE5hbWUpIGFzXG4gICAgICAgIHwga2V5b2YgdHlwZW9mIEtvU2hhcGVUeXBlc1xuICAgICAgICB8ICdTaGFwZSdcbiAgICAgICAgfCAnU3ByaXRlJztcblxuICAgIHByaXZhdGUgX25vZGUhOlxuICAgICAgICB8IFNoYXBlXG4gICAgICAgIHwgQXJjXG4gICAgICAgIHwgQXJyb3dcbiAgICAgICAgfCBDaXJjbGVcbiAgICAgICAgfCBFbGxpcHNlXG4gICAgICAgIHwgSW1hZ2VcbiAgICAgICAgfCBMYWJlbFxuICAgICAgICB8IFRhZ1xuICAgICAgICB8IExpbmVcbiAgICAgICAgfCBQYXRoXG4gICAgICAgIHwgUmVjdFxuICAgICAgICB8IFJlZ3VsYXJQb2x5Z29uXG4gICAgICAgIHwgUmluZ1xuICAgICAgICB8IFNwcml0ZVxuICAgICAgICB8IFN0YXJcbiAgICAgICAgfCBUZXh0XG4gICAgICAgIHwgVGV4dFBhdGhcbiAgICAgICAgfCBUcmFuc2Zvcm1lclxuICAgICAgICB8IFdlZGdlXG4gICAgICAgIHwgR3JvdXBcbiAgICAgICAgfCBMYXllclxuICAgICAgICB8IEZhc3RMYXllcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGUodGhpcy5jb25maWcoKSEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Tm9kZSgpOlxuICAgICAgICB8IFNoYXBlXG4gICAgICAgIHwgQXJjXG4gICAgICAgIHwgQXJyb3dcbiAgICAgICAgfCBDaXJjbGVcbiAgICAgICAgfCBFbGxpcHNlXG4gICAgICAgIHwgSW1hZ2VcbiAgICAgICAgfCBMYWJlbFxuICAgICAgICB8IFRhZ1xuICAgICAgICB8IExpbmVcbiAgICAgICAgfCBQYXRoXG4gICAgICAgIHwgUmVjdFxuICAgICAgICB8IFJlZ3VsYXJQb2x5Z29uXG4gICAgICAgIHwgUmluZ1xuICAgICAgICB8IFNwcml0ZVxuICAgICAgICB8IFN0YXJcbiAgICAgICAgfCBUZXh0XG4gICAgICAgIHwgVGV4dFBhdGhcbiAgICAgICAgfCBUcmFuc2Zvcm1lclxuICAgICAgICB8IFdlZGdlXG4gICAgICAgIHwgR3JvdXBcbiAgICAgICAgfCBMYXllclxuICAgICAgICB8IEZhc3RMYXllciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub2RlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRLb252YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEtvbnZhKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX25vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX25vZGUgPSBuZXcgU2hhcGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5uYW1lTm9kZSA9PT0gJ1NoYXBlJykge1xuICAgICAgICAgICAgdGhpcy5fbm9kZSA9IG5ldyBTaGFwZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubmFtZU5vZGUgPT09ICdTcHJpdGUnKSB7XG4gICAgICAgICAgICB0aGlzLl9ub2RlID0gbmV3IFNwcml0ZSh0aGlzLmNvbmZpZygpIGFzIFNwcml0ZUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9ub2RlID0gbmV3IEtvbnZhW3RoaXMubmFtZU5vZGVdKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhbmltYXRpb25TdGFnZSA9IHRoaXMuX25vZGUudG8uYmluZCh0aGlzLl9ub2RlKTtcbiAgICAgICAgdGhpcy5fbm9kZS50byA9IChuZXdDb25maWc6IEtvU2hhcGVDb25maWdUeXBlcyk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgYW5pbWF0aW9uU3RhZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuX25vZGUuYXR0cnMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuX25vZGUuYXR0cnNba2V5XSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcoKSFba2V5XSA9IHRoaXMuX25vZGUuYXR0cnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcoKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlKHRoaXMuY29uZmlnKCkhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTm9kZShjb25maWc6IEtvU2hhcGVDb25maWdUeXBlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX25vZGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAuLi5jcmVhdGVMaXN0ZW5lcih0aGlzKVxuICAgICAgICB9O1xuICAgICAgICBhcHBseU5vZGVQcm9wcyh0aGlzLCBwcm9wcywgdGhpcy5jYWNoZVByb3BzKTtcbiAgICAgICAgdGhpcy5jYWNoZVByb3BzID0gcHJvcHM7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5nZXROb2RlKCk7XG4gICAgICAgIGNvbnRhaW5lci5hZGQoPExheWVyPnRoaXMuZ2V0Tm9kZSgpKTtcbiAgICAgICAgdXBkYXRlUGljdHVyZSh0aGlzLmNvbnRhaW5lci5nZXROb2RlKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ub2RlPy5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,123 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Output, effect, inject, input } from '@angular/core';
2
+ import { Stage } from 'konva/lib/Stage';
3
+ import { applyNodeProps, createListener } from '../utils';
4
+ import { KO_CONTAINER_TOKEN } from './container.token';
5
+ import * as i0 from "@angular/core";
6
+ export class KoStage {
7
+ constructor() {
8
+ this.config = input();
9
+ this.koMouseover = new EventEmitter();
10
+ this.koMousemove = new EventEmitter();
11
+ this.koMouseout = new EventEmitter();
12
+ this.koMouseenter = new EventEmitter();
13
+ this.koMouseleave = new EventEmitter();
14
+ this.koMousedown = new EventEmitter();
15
+ this.koMouseup = new EventEmitter();
16
+ this.koWheel = new EventEmitter();
17
+ this.koContextmenu = new EventEmitter();
18
+ this.koClick = new EventEmitter();
19
+ this.koDblclick = new EventEmitter();
20
+ this.koTouchstart = new EventEmitter();
21
+ this.koTouchmove = new EventEmitter();
22
+ this.koTouchend = new EventEmitter();
23
+ this.koTap = new EventEmitter();
24
+ this.koDbltap = new EventEmitter();
25
+ this.koDragstart = new EventEmitter();
26
+ this.koDragmove = new EventEmitter();
27
+ this.koDragend = new EventEmitter();
28
+ this.cacheProps = {};
29
+ this.nodeContainer = inject(ElementRef).nativeElement;
30
+ effect(() => {
31
+ if (this.config()) {
32
+ if (!this._stage) {
33
+ this.initStage();
34
+ }
35
+ this.updateNode(this.config());
36
+ }
37
+ });
38
+ }
39
+ ngOnInit() {
40
+ this.initStage();
41
+ }
42
+ getNode() {
43
+ return this._stage;
44
+ }
45
+ initStage() {
46
+ this._stage = new Stage({
47
+ ...this.config(),
48
+ container: this.nodeContainer
49
+ });
50
+ }
51
+ updateNode(config) {
52
+ const props = {
53
+ ...config,
54
+ ...createListener(this)
55
+ };
56
+ applyNodeProps(this, props, this.cacheProps);
57
+ this.cacheProps = props;
58
+ }
59
+ ngOnDestroy() {
60
+ this._stage?.destroy();
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: KoStage, isStandalone: true, selector: "ko-stage", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { koMouseover: "koMouseover", koMousemove: "koMousemove", koMouseout: "koMouseout", koMouseenter: "koMouseenter", koMouseleave: "koMouseleave", koMousedown: "koMousedown", koMouseup: "koMouseup", koWheel: "koWheel", koContextmenu: "koContextmenu", koClick: "koClick", koDblclick: "koDblclick", koTouchstart: "koTouchstart", koTouchmove: "koTouchmove", koTouchend: "koTouchend", koTap: "koTap", koDbltap: "koDbltap", koDragstart: "koDragstart", koDragmove: "koDragmove", koDragend: "koDragend" }, providers: [
64
+ {
65
+ provide: KO_CONTAINER_TOKEN,
66
+ useExisting: KoStage
67
+ }
68
+ ], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KoStage, decorators: [{
71
+ type: Component,
72
+ args: [{
73
+ selector: 'ko-stage',
74
+ standalone: true,
75
+ template: `<ng-content></ng-content>`,
76
+ providers: [
77
+ {
78
+ provide: KO_CONTAINER_TOKEN,
79
+ useExisting: KoStage
80
+ }
81
+ ],
82
+ changeDetection: ChangeDetectionStrategy.OnPush
83
+ }]
84
+ }], ctorParameters: () => [], propDecorators: { koMouseover: [{
85
+ type: Output
86
+ }], koMousemove: [{
87
+ type: Output
88
+ }], koMouseout: [{
89
+ type: Output
90
+ }], koMouseenter: [{
91
+ type: Output
92
+ }], koMouseleave: [{
93
+ type: Output
94
+ }], koMousedown: [{
95
+ type: Output
96
+ }], koMouseup: [{
97
+ type: Output
98
+ }], koWheel: [{
99
+ type: Output
100
+ }], koContextmenu: [{
101
+ type: Output
102
+ }], koClick: [{
103
+ type: Output
104
+ }], koDblclick: [{
105
+ type: Output
106
+ }], koTouchstart: [{
107
+ type: Output
108
+ }], koTouchmove: [{
109
+ type: Output
110
+ }], koTouchend: [{
111
+ type: Output
112
+ }], koTap: [{
113
+ type: Output
114
+ }], koDbltap: [{
115
+ type: Output
116
+ }], koDragstart: [{
117
+ type: Output
118
+ }], koDragmove: [{
119
+ type: Output
120
+ }], koDragend: [{
121
+ type: Output
122
+ }] } });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS9jb21wb25lbnRzL3N0YWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUdaLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBY3ZELE1BQU0sT0FBTyxPQUFPO0lBK0NoQjtRQTlDQSxXQUFNLEdBQUcsS0FBSyxFQUFtQixDQUFDO1FBRXhCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFNUQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUU1RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFM0QsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUU3RCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRTdELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFNUQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRTFELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUV4RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBRWhFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUV4RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFF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UTtzQkFBakIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250YWluZXJDb25maWcgfSBmcm9tICdrb252YS9saWIvQ29udGFpbmVyJztcbmltcG9ydCB7IFN0YWdlIH0gZnJvbSAna29udmEvbGliL1N0YWdlJztcbmltcG9ydCB7IEtvRXZlbnRPYmplY3QsIEtvU2hhcGVDb25maWdUeXBlcyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgS29Db21wb25lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBhcHBseU5vZGVQcm9wcywgY3JlYXRlTGlzdGVuZXIgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBLT19DT05UQUlORVJfVE9LRU4gfSBmcm9tICcuL2NvbnRhaW5lci50b2tlbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna28tc3RhZ2UnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogS09fQ09OVEFJTkVSX1RPS0VOLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEtvU3RhZ2VcbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS29TdGFnZSBpbXBsZW1lbnRzIEtvQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgY29uZmlnID0gaW5wdXQ8Q29udGFpbmVyQ29uZmlnPigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2Vtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VvdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29Nb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvTW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb01vdXNlZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb01vdXNldXAgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29XaGVlbCA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxXaGVlbEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb0NvbnRleHRtZW51ID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFBvaW50ZXJFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb0RibGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvVG91Y2hzdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb1RvdWNobW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj4oKTtcblxuICAgIEBPdXRwdXQoKSBrb1RvdWNoZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvVGFwID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRGJsdGFwID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PFRvdWNoRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRHJhZ3N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgQE91dHB1dCgpIGtvRHJhZ21vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBAT3V0cHV0KCkga29EcmFnZW5kID0gbmV3IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PigpO1xuXG4gICAgcHJpdmF0ZSBfc3RhZ2UhOiBTdGFnZTtcblxuICAgIHByaXZhdGUgY2FjaGVQcm9wczogS29TaGFwZUNvbmZpZ1R5cGVzID0ge307XG5cbiAgICBwcml2YXRlIG5vZGVDb250YWluZXIgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3N0YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN0YWdlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTm9kZSh0aGlzLmNvbmZpZygpISk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRTdGFnZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROb2RlKCk6IFN0YWdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YWdlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFN0YWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdGFnZSA9IG5ldyBTdGFnZSh7XG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZygpLFxuICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLm5vZGVDb250YWluZXJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVOb2RlKGNvbmZpZzogQ29udGFpbmVyQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgLi4uY3JlYXRlTGlzdGVuZXIodGhpcylcbiAgICAgICAgfTtcbiAgICAgICAgYXBwbHlOb2RlUHJvcHModGhpcywgcHJvcHMsIHRoaXMuY2FjaGVQcm9wcyk7XG4gICAgICAgIHRoaXMuY2FjaGVQcm9wcyA9IHByb3BzO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdGFnZT8uZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './components';
2
+ export * from './components/container.token';
3
+ export * from './interfaces';
4
+ export * from './utils';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbnRhaW5lci50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { Component } from '@angular/core';
2
+ export class KoComponent extends Component {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS9pbnRlcmZhY2VzL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQTBCeEQsTUFBTSxPQUFnQixXQUFZLFNBQVEsU0FBUztDQStDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFzdExheWVyIH0gZnJvbSAna29udmEvbGliL0Zhc3RMYXllcic7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ2tvbnZhL2xpYi9Hcm91cCc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJ2tvbnZhL2xpYi9MYXllcic7XG5pbXBvcnQgeyBTaGFwZSB9IGZyb20gJ2tvbnZhL2xpYi9TaGFwZSc7XG5pbXBvcnQgeyBBcmMgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0FyYyc7XG5pbXBvcnQgeyBBcnJvdyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvQXJyb3cnO1xuaW1wb3J0IHsgQ2lyY2xlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9DaXJjbGUnO1xuaW1wb3J0IHsgRWxsaXBzZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvRWxsaXBzZSc7XG5pbXBvcnQgeyBJbWFnZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvSW1hZ2UnO1xuaW1wb3J0IHsgTGFiZWwsIFRhZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvTGFiZWwnO1xuaW1wb3J0IHsgTGluZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvTGluZSc7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9QYXRoJztcbmltcG9ydCB7IFJlY3QgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlY3QnO1xuaW1wb3J0IHsgUmVndWxhclBvbHlnb24gfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlZ3VsYXJQb2x5Z29uJztcbmltcG9ydCB7IFJpbmcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JpbmcnO1xuaW1wb3J0IHsgU3ByaXRlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9TcHJpdGUnO1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvU3Rhcic7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IFRleHRQYXRoIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0UGF0aCc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgV2VkZ2UgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1dlZGdlJztcbmltcG9ydCB7IFN0YWdlIH0gZnJvbSAna29udmEvbGliL1N0YWdlJztcbmltcG9ydCB7IEtvU2hhcGVDb25maWdUeXBlcyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IEtvRXZlbnRPYmplY3QgfSBmcm9tICcuL2V2ZW50LW9iamVjdCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLb0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uZmlnITogS29TaGFwZUNvbmZpZ1R5cGVzO1xuXG4gICAga29Nb3VzZW92ZXI/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG4gICAga29Nb3VzZW1vdmU/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG4gICAga29Nb3VzZW91dD86IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PjtcbiAgICBrb01vdXNlZW50ZXI/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG4gICAga29Nb3VzZWxlYXZlPzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+O1xuICAgIGtvTW91c2Vkb3duPzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+O1xuICAgIGtvTW91c2V1cD86IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PjtcbiAgICBrb1doZWVsPzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8V2hlZWxFdmVudD4+O1xuICAgIGtvQ29udGV4dG1lbnU/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxQb2ludGVyRXZlbnQ+PjtcbiAgICBrb0NsaWNrPzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+O1xuICAgIGtvRGJsY2xpY2s/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG4gICAga29Ub3VjaHN0YXJ0PzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8VG91Y2hFdmVudD4+O1xuICAgIGtvVG91Y2htb3ZlPzogRXZlbnRFbWl0dGVyPEtvRXZlbnRPYmplY3Q8VG91Y2hFdmVudD4+O1xuICAgIGtvVG91Y2hlbmQ/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj47XG4gICAga29UYXA/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj47XG4gICAga29EYmx0YXA/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxUb3VjaEV2ZW50Pj47XG4gICAga29EcmFnc3RhcnQ/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG4gICAga29EcmFnbW92ZT86IEV2ZW50RW1pdHRlcjxLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+PjtcbiAgICBrb0RyYWdlbmQ/OiBFdmVudEVtaXR0ZXI8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj47XG5cbiAgICBnZXROb2RlITogKCkgPT5cbiAgICAgICAgfCBTdGFnZVxuICAgICAgICB8IFNoYXBlXG4gICAgICAgIHwgQXJjXG4gICAgICAgIHwgQXJyb3dcbiAgICAgICAgfCBDaXJjbGVcbiAgICAgICAgfCBFbGxpcHNlXG4gICAgICAgIHwgSW1hZ2VcbiAgICAgICAgfCBMYWJlbFxuICAgICAgICB8IFRhZ1xuICAgICAgICB8IExpbmVcbiAgICAgICAgfCBQYXRoXG4gICAgICAgIHwgUmVjdFxuICAgICAgICB8IFJlZ3VsYXJQb2x5Z29uXG4gICAgICAgIHwgUmluZ1xuICAgICAgICB8IFNwcml0ZVxuICAgICAgICB8IFN0YXJcbiAgICAgICAgfCBUZXh0XG4gICAgICAgIHwgVGV4dFBhdGhcbiAgICAgICAgfCBUcmFuc2Zvcm1lclxuICAgICAgICB8IFdlZGdlXG4gICAgICAgIHwgR3JvdXBcbiAgICAgICAgfCBMYXllclxuICAgICAgICB8IEZhc3RMYXllcjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS9pbnRlcmZhY2VzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyQ29uZmlnIH0gZnJvbSAna29udmEvbGliL0NvbnRhaW5lcic7XG5pbXBvcnQgeyBHcm91cENvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9Hcm91cCc7XG5pbXBvcnQgeyBMYXllckNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9MYXllcic7XG5pbXBvcnQgeyBOb2RlQ29uZmlnIH0gZnJvbSAna29udmEvbGliL05vZGUnO1xuaW1wb3J0IHsgU2hhcGVDb25maWcgfSBmcm9tICdrb252YS9saWIvU2hhcGUnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgVHdlZW5Db25maWcgfSBmcm9tICdrb252YS9saWIvVHdlZW4nO1xuaW1wb3J0IHsgQXJjQ29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9BcmMnO1xuaW1wb3J0IHsgQXJyb3dDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0Fycm93JztcbmltcG9ydCB7IENpcmNsZUNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvQ2lyY2xlJztcbmltcG9ydCB7IEVsbGlwc2VDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0VsbGlwc2UnO1xuaW1wb3J0IHsgSW1hZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0ltYWdlJztcbmltcG9ydCB7IExhYmVsQ29uZmlnLCBUYWdDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0xhYmVsJztcbmltcG9ydCB7IExpbmVDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0xpbmUnO1xuaW1wb3J0IHsgUGF0aENvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvUGF0aCc7XG5pbXBvcnQgeyBSZWN0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9SZWN0JztcbmltcG9ydCB7IFJlZ3VsYXJQb2x5Z29uQ29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9SZWd1bGFyUG9seWdvbic7XG5pbXBvcnQgeyBSaW5nQ29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9SaW5nJztcbmltcG9ydCB7IFNwcml0ZUNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvU3ByaXRlJztcbmltcG9ydCB7IFN0YXJDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1N0YXInO1xuaW1wb3J0IHsgVGV4dENvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVGV4dCc7XG5pbXBvcnQgeyBUZXh0UGF0aENvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVGV4dFBhdGgnO1xuaW1wb3J0IHsgVHJhbnNmb3JtZXJDb25maWcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1RyYW5zZm9ybWVyJztcbmltcG9ydCB7IFdlZGdlQ29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9XZWRnZSc7XG5cbmV4cG9ydCB0eXBlIEtvU2hhcGVDb25maWdUeXBlcyA9XG4gICAgfCBOb2RlQ29uZmlnXG4gICAgfCBDb250YWluZXJDb25maWdcbiAgICB8IFN0YWdlQ29uZmlnXG4gICAgfCBMYXllckNvbmZpZ1xuICAgIHwgR3JvdXBDb25maWdcbiAgICB8IFNoYXBlQ29uZmlnXG4gICAgfCBUd2VlbkNvbmZpZ1xuICAgIHwgQXJjQ29uZmlnXG4gICAgfCBBcnJvd0NvbmZpZ1xuICAgIHwgQ2lyY2xlQ29uZmlnXG4gICAgfCBFbGxpcHNlQ29uZmlnXG4gICAgfCBJbWFnZUNvbmZpZ1xuICAgIHwgTGFiZWxDb25maWdcbiAgICB8IFRhZ0NvbmZpZ1xuICAgIHwgTGluZUNvbmZpZ1xuICAgIHwgUGF0aENvbmZpZ1xuICAgIHwgUmVjdENvbmZpZ1xuICAgIHwgUmVndWxhclBvbHlnb25Db25maWdcbiAgICB8IFJpbmdDb25maWdcbiAgICB8IFNwcml0ZUNvbmZpZ1xuICAgIHwgU3RhckNvbmZpZ1xuICAgIHwgVGV4dENvbmZpZ1xuICAgIHwgVGV4dFBhdGhDb25maWdcbiAgICB8IFRyYW5zZm9ybWVyQ29uZmlnXG4gICAgfCBXZWRnZUNvbmZpZztcbiJdfQ==