@jigx/core-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (902) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +87 -0
  3. package/dist/PACKAGE.d.ts +4 -0
  4. package/dist/PACKAGE.d.ts.map +1 -0
  5. package/dist/PACKAGE.js +5 -0
  6. package/dist/abstract/app-info.d.ts +8 -0
  7. package/dist/abstract/app-info.d.ts.map +1 -0
  8. package/dist/abstract/app-info.js +8 -0
  9. package/dist/abstract/app-name.d.ts +15 -0
  10. package/dist/abstract/app-name.d.ts.map +1 -0
  11. package/dist/abstract/app-name.js +28 -0
  12. package/dist/abstract/base-builder.d.ts +4 -0
  13. package/dist/abstract/base-builder.d.ts.map +1 -0
  14. package/dist/abstract/base-builder.js +3 -0
  15. package/dist/abstract/element-base-builder.d.ts +7 -0
  16. package/dist/abstract/element-base-builder.d.ts.map +1 -0
  17. package/dist/abstract/element-base-builder.js +11 -0
  18. package/dist/abstract/generic.d.ts +31 -0
  19. package/dist/abstract/generic.d.ts.map +1 -0
  20. package/dist/abstract/generic.js +2 -0
  21. package/dist/abstract/index.d.ts +12 -0
  22. package/dist/abstract/index.d.ts.map +1 -0
  23. package/dist/abstract/index.js +11 -0
  24. package/dist/abstract/register.d.ts +31 -0
  25. package/dist/abstract/register.d.ts.map +1 -0
  26. package/dist/abstract/register.js +48 -0
  27. package/dist/abstract/sdk.expression.d.ts +43 -0
  28. package/dist/abstract/sdk.expression.d.ts.map +1 -0
  29. package/dist/abstract/sdk.expression.js +175 -0
  30. package/dist/abstract/sdk.text.d.ts +23 -0
  31. package/dist/abstract/sdk.text.d.ts.map +1 -0
  32. package/dist/abstract/sdk.text.js +110 -0
  33. package/dist/abstract/sdk.types.d.ts +16 -0
  34. package/dist/abstract/sdk.types.d.ts.map +1 -0
  35. package/dist/abstract/sdk.types.js +88 -0
  36. package/dist/abstract/zod.strata.d.ts +17 -0
  37. package/dist/abstract/zod.strata.d.ts.map +1 -0
  38. package/dist/abstract/zod.strata.js +11 -0
  39. package/dist/abstract/zod.types.d.ts +1937 -0
  40. package/dist/abstract/zod.types.d.ts.map +1 -0
  41. package/dist/abstract/zod.types.js +848 -0
  42. package/dist/action/action-definition.builder.d.ts +16 -0
  43. package/dist/action/action-definition.builder.d.ts.map +1 -0
  44. package/dist/action/action-definition.builder.js +35 -0
  45. package/dist/action/action.descriptor.d.ts +8 -0
  46. package/dist/action/action.descriptor.d.ts.map +1 -0
  47. package/dist/action/action.descriptor.js +2 -0
  48. package/dist/action/index.d.ts +57 -0
  49. package/dist/action/index.d.ts.map +1 -0
  50. package/dist/action/index.js +48 -0
  51. package/dist/action/ja.abstract.d.ts +33 -0
  52. package/dist/action/ja.abstract.d.ts.map +1 -0
  53. package/dist/action/ja.abstract.js +58 -0
  54. package/dist/action/ja.action-definition.d.ts +11 -0
  55. package/dist/action/ja.action-definition.d.ts.map +1 -0
  56. package/dist/action/ja.action-definition.js +12 -0
  57. package/dist/action/ja.action-list.d.ts +9 -0
  58. package/dist/action/ja.action-list.d.ts.map +1 -0
  59. package/dist/action/ja.action-list.js +15 -0
  60. package/dist/action/ja.clear-queue.d.ts +9 -0
  61. package/dist/action/ja.clear-queue.d.ts.map +1 -0
  62. package/dist/action/ja.clear-queue.js +9 -0
  63. package/dist/action/ja.color.d.ts +3 -0
  64. package/dist/action/ja.color.d.ts.map +1 -0
  65. package/dist/action/ja.color.js +2 -0
  66. package/dist/action/ja.confirm.abstract.d.ts +16 -0
  67. package/dist/action/ja.confirm.abstract.d.ts.map +1 -0
  68. package/dist/action/ja.confirm.abstract.js +25 -0
  69. package/dist/action/ja.confirm.d.ts +23 -0
  70. package/dist/action/ja.confirm.d.ts.map +1 -0
  71. package/dist/action/ja.confirm.js +28 -0
  72. package/dist/action/ja.delete-queue-command.d.ts +9 -0
  73. package/dist/action/ja.delete-queue-command.d.ts.map +1 -0
  74. package/dist/action/ja.delete-queue-command.js +9 -0
  75. package/dist/action/ja.delete-sync-scope.d.ts +10 -0
  76. package/dist/action/ja.delete-sync-scope.d.ts.map +1 -0
  77. package/dist/action/ja.delete-sync-scope.js +14 -0
  78. package/dist/action/ja.delete-sync-status.d.ts +9 -0
  79. package/dist/action/ja.delete-sync-status.d.ts.map +1 -0
  80. package/dist/action/ja.delete-sync-status.js +9 -0
  81. package/dist/action/ja.evaluate.d.ts +12 -0
  82. package/dist/action/ja.evaluate.d.ts.map +1 -0
  83. package/dist/action/ja.evaluate.js +9 -0
  84. package/dist/action/ja.execute-action.d.ts +11 -0
  85. package/dist/action/ja.execute-action.d.ts.map +1 -0
  86. package/dist/action/ja.execute-action.js +15 -0
  87. package/dist/action/ja.execute-entities.d.ts +7 -0
  88. package/dist/action/ja.execute-entities.d.ts.map +1 -0
  89. package/dist/action/ja.execute-entities.js +8 -0
  90. package/dist/action/ja.execute-entity.abstract.d.ts +41 -0
  91. package/dist/action/ja.execute-entity.abstract.d.ts.map +1 -0
  92. package/dist/action/ja.execute-entity.abstract.js +104 -0
  93. package/dist/action/ja.execute-entity.d.ts +6 -0
  94. package/dist/action/ja.execute-entity.d.ts.map +1 -0
  95. package/dist/action/ja.execute-entity.dynamic-data.d.ts +6 -0
  96. package/dist/action/ja.execute-entity.dynamic-data.d.ts.map +1 -0
  97. package/dist/action/ja.execute-entity.dynamic-data.js +2 -0
  98. package/dist/action/ja.execute-entity.generic.d.ts +11 -0
  99. package/dist/action/ja.execute-entity.generic.d.ts.map +1 -0
  100. package/dist/action/ja.execute-entity.generic.js +2 -0
  101. package/dist/action/ja.execute-entity.js +8 -0
  102. package/dist/action/ja.execute-entity.sql.d.ts +12 -0
  103. package/dist/action/ja.execute-entity.sql.d.ts.map +1 -0
  104. package/dist/action/ja.execute-entity.sql.js +2 -0
  105. package/dist/action/ja.execute-sql.abstract.d.ts +6 -0
  106. package/dist/action/ja.execute-sql.abstract.d.ts.map +1 -0
  107. package/dist/action/ja.execute-sql.abstract.js +2 -0
  108. package/dist/action/ja.execute-sql.d.ts +16 -0
  109. package/dist/action/ja.execute-sql.d.ts.map +1 -0
  110. package/dist/action/ja.execute-sql.js +64 -0
  111. package/dist/action/ja.find-replace.d.ts +12 -0
  112. package/dist/action/ja.find-replace.d.ts.map +1 -0
  113. package/dist/action/ja.find-replace.js +22 -0
  114. package/dist/action/ja.generate-file.d.ts +11 -0
  115. package/dist/action/ja.generate-file.d.ts.map +1 -0
  116. package/dist/action/ja.generate-file.js +19 -0
  117. package/dist/action/ja.generate-pdf.d.ts +10 -0
  118. package/dist/action/ja.generate-pdf.d.ts.map +1 -0
  119. package/dist/action/ja.generate-pdf.js +10 -0
  120. package/dist/action/ja.go-back.d.ts +9 -0
  121. package/dist/action/ja.go-back.d.ts.map +1 -0
  122. package/dist/action/ja.go-back.js +11 -0
  123. package/dist/action/ja.go-to.d.ts +18 -0
  124. package/dist/action/ja.go-to.d.ts.map +1 -0
  125. package/dist/action/ja.go-to.js +41 -0
  126. package/dist/action/ja.in-background.d.ts +95 -0
  127. package/dist/action/ja.in-background.d.ts.map +1 -0
  128. package/dist/action/ja.in-background.factory.d.ts +88 -0
  129. package/dist/action/ja.in-background.factory.d.ts.map +1 -0
  130. package/dist/action/ja.in-background.factory.js +98 -0
  131. package/dist/action/ja.in-background.js +247 -0
  132. package/dist/action/ja.info-modal.d.ts +37 -0
  133. package/dist/action/ja.info-modal.d.ts.map +1 -0
  134. package/dist/action/ja.info-modal.js +61 -0
  135. package/dist/action/ja.jig-actions.d.ts +16 -0
  136. package/dist/action/ja.jig-actions.d.ts.map +1 -0
  137. package/dist/action/ja.jig-actions.js +35 -0
  138. package/dist/action/ja.on-button.factory.d.ts +89 -0
  139. package/dist/action/ja.on-button.factory.d.ts.map +1 -0
  140. package/dist/action/ja.on-button.factory.js +86 -0
  141. package/dist/action/ja.open-app-settings.d.ts +6 -0
  142. package/dist/action/ja.open-app-settings.d.ts.map +1 -0
  143. package/dist/action/ja.open-app-settings.js +8 -0
  144. package/dist/action/ja.open-map.abstract.d.ts +6 -0
  145. package/dist/action/ja.open-map.abstract.d.ts.map +1 -0
  146. package/dist/action/ja.open-map.abstract.js +2 -0
  147. package/dist/action/ja.open-map.d.ts +11 -0
  148. package/dist/action/ja.open-map.d.ts.map +1 -0
  149. package/dist/action/ja.open-map.js +25 -0
  150. package/dist/action/ja.open-media-picker.abstract.d.ts +8 -0
  151. package/dist/action/ja.open-media-picker.abstract.d.ts.map +1 -0
  152. package/dist/action/ja.open-media-picker.abstract.js +2 -0
  153. package/dist/action/ja.open-media-picker.d.ts +18 -0
  154. package/dist/action/ja.open-media-picker.d.ts.map +1 -0
  155. package/dist/action/ja.open-media-picker.js +46 -0
  156. package/dist/action/ja.open-scanner.d.ts +14 -0
  157. package/dist/action/ja.open-scanner.d.ts.map +1 -0
  158. package/dist/action/ja.open-scanner.js +23 -0
  159. package/dist/action/ja.open-url.d.ts +10 -0
  160. package/dist/action/ja.open-url.d.ts.map +1 -0
  161. package/dist/action/ja.open-url.js +13 -0
  162. package/dist/action/ja.print.d.ts +10 -0
  163. package/dist/action/ja.print.d.ts.map +1 -0
  164. package/dist/action/ja.print.js +17 -0
  165. package/dist/action/ja.reset-application-state.d.ts +9 -0
  166. package/dist/action/ja.reset-application-state.d.ts.map +1 -0
  167. package/dist/action/ja.reset-application-state.js +12 -0
  168. package/dist/action/ja.reset-component-state.d.ts +9 -0
  169. package/dist/action/ja.reset-component-state.d.ts.map +1 -0
  170. package/dist/action/ja.reset-component-state.js +13 -0
  171. package/dist/action/ja.reset-screen-state.d.ts +9 -0
  172. package/dist/action/ja.reset-screen-state.d.ts.map +1 -0
  173. package/dist/action/ja.reset-screen-state.js +12 -0
  174. package/dist/action/ja.reset-state.d.ts +9 -0
  175. package/dist/action/ja.reset-state.d.ts.map +1 -0
  176. package/dist/action/ja.reset-state.js +13 -0
  177. package/dist/action/ja.retry-queue-command.d.ts +9 -0
  178. package/dist/action/ja.retry-queue-command.d.ts.map +1 -0
  179. package/dist/action/ja.retry-queue-command.js +9 -0
  180. package/dist/action/ja.sdk.d.ts +4 -0
  181. package/dist/action/ja.sdk.d.ts.map +1 -0
  182. package/dist/action/ja.sdk.js +2 -0
  183. package/dist/action/ja.set-active-tab.d.ts +13 -0
  184. package/dist/action/ja.set-active-tab.d.ts.map +1 -0
  185. package/dist/action/ja.set-active-tab.js +29 -0
  186. package/dist/action/ja.set-application-state.d.ts +9 -0
  187. package/dist/action/ja.set-application-state.d.ts.map +1 -0
  188. package/dist/action/ja.set-application-state.js +17 -0
  189. package/dist/action/ja.set-screen-state.d.ts +9 -0
  190. package/dist/action/ja.set-screen-state.d.ts.map +1 -0
  191. package/dist/action/ja.set-screen-state.js +12 -0
  192. package/dist/action/ja.share.d.ts +12 -0
  193. package/dist/action/ja.share.d.ts.map +1 -0
  194. package/dist/action/ja.share.js +23 -0
  195. package/dist/action/ja.show-alert.d.ts +33 -0
  196. package/dist/action/ja.show-alert.d.ts.map +1 -0
  197. package/dist/action/ja.show-alert.js +61 -0
  198. package/dist/action/ja.start-location-sharing.abstract.d.ts +6 -0
  199. package/dist/action/ja.start-location-sharing.abstract.d.ts.map +1 -0
  200. package/dist/action/ja.start-location-sharing.abstract.js +2 -0
  201. package/dist/action/ja.start-location-sharing.d.ts +18 -0
  202. package/dist/action/ja.start-location-sharing.d.ts.map +1 -0
  203. package/dist/action/ja.start-location-sharing.js +33 -0
  204. package/dist/action/ja.start-sync-scope.d.ts +9 -0
  205. package/dist/action/ja.start-sync-scope.d.ts.map +1 -0
  206. package/dist/action/ja.start-sync-scope.js +18 -0
  207. package/dist/action/ja.stop-location-sharing.d.ts +6 -0
  208. package/dist/action/ja.stop-location-sharing.d.ts.map +1 -0
  209. package/dist/action/ja.stop-location-sharing.js +8 -0
  210. package/dist/action/ja.submit-form.abstract.d.ts +11 -0
  211. package/dist/action/ja.submit-form.abstract.d.ts.map +1 -0
  212. package/dist/action/ja.submit-form.abstract.js +2 -0
  213. package/dist/action/ja.submit-form.d.ts +31 -0
  214. package/dist/action/ja.submit-form.d.ts.map +1 -0
  215. package/dist/action/ja.submit-form.js +124 -0
  216. package/dist/action/ja.swipeable-action.d.ts +19 -0
  217. package/dist/action/ja.swipeable-action.d.ts.map +1 -0
  218. package/dist/action/ja.swipeable-action.js +25 -0
  219. package/dist/action/ja.sync-entities.abstract.d.ts +25 -0
  220. package/dist/action/ja.sync-entities.abstract.d.ts.map +1 -0
  221. package/dist/action/ja.sync-entities.abstract.js +2 -0
  222. package/dist/action/ja.sync-entities.d.ts +32 -0
  223. package/dist/action/ja.sync-entities.d.ts.map +1 -0
  224. package/dist/action/ja.sync-entities.js +142 -0
  225. package/dist/action/ja.update-profile.d.ts +12 -0
  226. package/dist/action/ja.update-profile.d.ts.map +1 -0
  227. package/dist/action/ja.update-profile.js +20 -0
  228. package/dist/application/application.sdk.d.ts +84 -0
  229. package/dist/application/application.sdk.d.ts.map +1 -0
  230. package/dist/application/application.sdk.js +217 -0
  231. package/dist/application/application.tab.d.ts +20 -0
  232. package/dist/application/application.tab.d.ts.map +1 -0
  233. package/dist/application/application.tab.js +45 -0
  234. package/dist/application/context.sdk.d.ts +48 -0
  235. package/dist/application/context.sdk.d.ts.map +1 -0
  236. package/dist/application/context.sdk.js +116 -0
  237. package/dist/application/index.d.ts +4 -0
  238. package/dist/application/index.d.ts.map +1 -0
  239. package/dist/application/index.js +4 -0
  240. package/dist/assets/example-extraction-cache.json +9 -0
  241. package/dist/assets/extracted-core-sdk-examples.yaml +44440 -0
  242. package/dist/assets/extracted-core-sdk-types.yaml +12100 -0
  243. package/dist/assets/stream-line-icons.csv +19281 -0
  244. package/dist/assets/type-extraction-cache.json +9 -0
  245. package/dist/builder/application-analyzer/application-analyzer.d.ts +42 -0
  246. package/dist/builder/application-analyzer/application-analyzer.d.ts.map +1 -0
  247. package/dist/builder/application-analyzer/application-analyzer.js +150 -0
  248. package/dist/builder/application-analyzer/create-application-analyzer.d.ts +17 -0
  249. package/dist/builder/application-analyzer/create-application-analyzer.d.ts.map +1 -0
  250. package/dist/builder/application-analyzer/create-application-analyzer.js +121 -0
  251. package/dist/builder/application-analyzer/index.d.ts +5 -0
  252. package/dist/builder/application-analyzer/index.d.ts.map +1 -0
  253. package/dist/builder/application-analyzer/index.js +5 -0
  254. package/dist/builder/application-analyzer/select-component-nodes.d.ts +7 -0
  255. package/dist/builder/application-analyzer/select-component-nodes.d.ts.map +1 -0
  256. package/dist/builder/application-analyzer/select-component-nodes.js +15 -0
  257. package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts +8 -0
  258. package/dist/builder/application-analyzer/select-datasource-node-by-id.d.ts.map +1 -0
  259. package/dist/builder/application-analyzer/select-datasource-node-by-id.js +20 -0
  260. package/dist/builder/application-analyzer/types.d.ts +60 -0
  261. package/dist/builder/application-analyzer/types.d.ts.map +1 -0
  262. package/dist/builder/application-analyzer/types.js +16 -0
  263. package/dist/builder/application-analyzer/utils.d.ts +3 -0
  264. package/dist/builder/application-analyzer/utils.d.ts.map +1 -0
  265. package/dist/builder/application-analyzer/utils.js +8 -0
  266. package/dist/builder/builder.d.ts +8 -0
  267. package/dist/builder/builder.d.ts.map +1 -0
  268. package/dist/builder/builder.js +54 -0
  269. package/dist/builder/index.d.ts +5 -0
  270. package/dist/builder/index.d.ts.map +1 -0
  271. package/dist/builder/index.js +4 -0
  272. package/dist/builder/transform-summary.d.ts +3 -0
  273. package/dist/builder/transform-summary.d.ts.map +1 -0
  274. package/dist/builder/transform-summary.js +39 -0
  275. package/dist/builder/types.d.ts +8 -0
  276. package/dist/builder/types.d.ts.map +1 -0
  277. package/dist/builder/types.js +2 -0
  278. package/dist/builder/validate-datasource-ids.d.ts +17 -0
  279. package/dist/builder/validate-datasource-ids.d.ts.map +1 -0
  280. package/dist/builder/validate-datasource-ids.js +51 -0
  281. package/dist/component/common/index.d.ts +22 -0
  282. package/dist/component/common/index.d.ts.map +1 -0
  283. package/dist/component/common/index.js +16 -0
  284. package/dist/component/common/jc.avatar-field.types.d.ts +9 -0
  285. package/dist/component/common/jc.avatar-field.types.d.ts.map +1 -0
  286. package/dist/component/common/jc.avatar-field.types.js +11 -0
  287. package/dist/component/common/jc.chart.common.abstract.d.ts +85 -0
  288. package/dist/component/common/jc.chart.common.abstract.d.ts.map +1 -0
  289. package/dist/component/common/jc.chart.common.abstract.js +2 -0
  290. package/dist/component/common/jc.chart.common.builders.d.ts +37 -0
  291. package/dist/component/common/jc.chart.common.builders.d.ts.map +1 -0
  292. package/dist/component/common/jc.chart.common.builders.js +81 -0
  293. package/dist/component/common/jc.component.types.d.ts +101 -0
  294. package/dist/component/common/jc.component.types.d.ts.map +1 -0
  295. package/dist/component/common/jc.component.types.js +144 -0
  296. package/dist/component/common/jc.context.d.ts +7 -0
  297. package/dist/component/common/jc.context.d.ts.map +1 -0
  298. package/dist/component/common/jc.context.js +2 -0
  299. package/dist/component/common/jc.element.types.d.ts +14 -0
  300. package/dist/component/common/jc.element.types.d.ts.map +1 -0
  301. package/dist/component/common/jc.element.types.js +13 -0
  302. package/dist/component/common/jc.field-base.builder.d.ts +21 -0
  303. package/dist/component/common/jc.field-base.builder.d.ts.map +1 -0
  304. package/dist/component/common/jc.field-base.builder.js +101 -0
  305. package/dist/component/common/jc.field-base.types.d.ts +28 -0
  306. package/dist/component/common/jc.field-base.types.d.ts.map +1 -0
  307. package/dist/component/common/jc.field-base.types.js +2 -0
  308. package/dist/component/common/jc.left-right.element.avatar.d.ts +11 -0
  309. package/dist/component/common/jc.left-right.element.avatar.d.ts.map +1 -0
  310. package/dist/component/common/jc.left-right.element.avatar.js +18 -0
  311. package/dist/component/common/jc.left-right.element.badge.d.ts +11 -0
  312. package/dist/component/common/jc.left-right.element.badge.d.ts.map +1 -0
  313. package/dist/component/common/jc.left-right.element.badge.js +17 -0
  314. package/dist/component/common/jc.left-right.element.button.d.ts +11 -0
  315. package/dist/component/common/jc.left-right.element.button.d.ts.map +1 -0
  316. package/dist/component/common/jc.left-right.element.button.js +14 -0
  317. package/dist/component/common/jc.left-right.element.checkbox.d.ts +13 -0
  318. package/dist/component/common/jc.left-right.element.checkbox.d.ts.map +1 -0
  319. package/dist/component/common/jc.left-right.element.checkbox.js +21 -0
  320. package/dist/component/common/jc.left-right.element.d.ts +31 -0
  321. package/dist/component/common/jc.left-right.element.d.ts.map +1 -0
  322. package/dist/component/common/jc.left-right.element.icon.d.ts +18 -0
  323. package/dist/component/common/jc.left-right.element.icon.d.ts.map +1 -0
  324. package/dist/component/common/jc.left-right.element.icon.js +32 -0
  325. package/dist/component/common/jc.left-right.element.image.d.ts +16 -0
  326. package/dist/component/common/jc.left-right.element.image.d.ts.map +1 -0
  327. package/dist/component/common/jc.left-right.element.image.js +29 -0
  328. package/dist/component/common/jc.left-right.element.js +2 -0
  329. package/dist/component/common/jc.left-right.element.progress.d.ts +11 -0
  330. package/dist/component/common/jc.left-right.element.progress.d.ts.map +1 -0
  331. package/dist/component/common/jc.left-right.element.progress.js +17 -0
  332. package/dist/component/common/jc.left-right.element.switch.d.ts +13 -0
  333. package/dist/component/common/jc.left-right.element.switch.d.ts.map +1 -0
  334. package/dist/component/common/jc.left-right.element.switch.js +21 -0
  335. package/dist/component/common/jc.left-right.element.value.d.ts +10 -0
  336. package/dist/component/common/jc.left-right.element.value.d.ts.map +1 -0
  337. package/dist/component/common/jc.left-right.element.value.js +12 -0
  338. package/dist/component/common/jc.picker-field-options.types.d.ts +13 -0
  339. package/dist/component/common/jc.picker-field-options.types.d.ts.map +1 -0
  340. package/dist/component/common/jc.picker-field-options.types.js +2 -0
  341. package/dist/component/common/jc.text.types.d.ts +6 -0
  342. package/dist/component/common/jc.text.types.d.ts.map +1 -0
  343. package/dist/component/common/jc.text.types.js +2 -0
  344. package/dist/component/common/jc.validation.d.ts +9 -0
  345. package/dist/component/common/jc.validation.d.ts.map +1 -0
  346. package/dist/component/common/jc.validation.js +48 -0
  347. package/dist/component/index.d.ts +86 -0
  348. package/dist/component/index.d.ts.map +1 -0
  349. package/dist/component/index.js +83 -0
  350. package/dist/component/jc.abstract.d.ts +32 -0
  351. package/dist/component/jc.abstract.d.ts.map +1 -0
  352. package/dist/component/jc.abstract.factory.d.ts +488 -0
  353. package/dist/component/jc.abstract.factory.d.ts.map +1 -0
  354. package/dist/component/jc.abstract.factory.js +757 -0
  355. package/dist/component/jc.abstract.js +53 -0
  356. package/dist/component/jc.abstract.utils.d.ts +3 -0
  357. package/dist/component/jc.abstract.utils.d.ts.map +1 -0
  358. package/dist/component/jc.abstract.utils.js +26 -0
  359. package/dist/component/jc.amount-control.d.ts +16 -0
  360. package/dist/component/jc.amount-control.d.ts.map +1 -0
  361. package/dist/component/jc.amount-control.js +36 -0
  362. package/dist/component/jc.avatar-field.d.ts +11 -0
  363. package/dist/component/jc.avatar-field.d.ts.map +1 -0
  364. package/dist/component/jc.avatar-field.js +27 -0
  365. package/dist/component/jc.avatar.d.ts +14 -0
  366. package/dist/component/jc.avatar.d.ts.map +1 -0
  367. package/dist/component/jc.avatar.js +26 -0
  368. package/dist/component/jc.banner.d.ts +81 -0
  369. package/dist/component/jc.banner.d.ts.map +1 -0
  370. package/dist/component/jc.banner.js +49 -0
  371. package/dist/component/jc.bar-chart.d.ts +23 -0
  372. package/dist/component/jc.bar-chart.d.ts.map +1 -0
  373. package/dist/component/jc.bar-chart.js +45 -0
  374. package/dist/component/jc.button.d.ts +20 -0
  375. package/dist/component/jc.button.d.ts.map +1 -0
  376. package/dist/component/jc.button.js +39 -0
  377. package/dist/component/jc.card.abstract.d.ts +14 -0
  378. package/dist/component/jc.card.abstract.d.ts.map +1 -0
  379. package/dist/component/jc.card.abstract.js +31 -0
  380. package/dist/component/jc.card.on-default.d.ts +91 -0
  381. package/dist/component/jc.card.on-default.d.ts.map +1 -0
  382. package/dist/component/jc.card.on-default.js +96 -0
  383. package/dist/component/jc.carousel.d.ts +31 -0
  384. package/dist/component/jc.carousel.d.ts.map +1 -0
  385. package/dist/component/jc.carousel.js +58 -0
  386. package/dist/component/jc.chat-message.d.ts +17 -0
  387. package/dist/component/jc.chat-message.d.ts.map +1 -0
  388. package/dist/component/jc.chat-message.js +32 -0
  389. package/dist/component/jc.chat.d.ts +23 -0
  390. package/dist/component/jc.chat.d.ts.map +1 -0
  391. package/dist/component/jc.chat.js +68 -0
  392. package/dist/component/jc.checkbox.d.ts +15 -0
  393. package/dist/component/jc.checkbox.d.ts.map +1 -0
  394. package/dist/component/jc.checkbox.js +38 -0
  395. package/dist/component/jc.choice-field-item.d.ts +15 -0
  396. package/dist/component/jc.choice-field-item.d.ts.map +1 -0
  397. package/dist/component/jc.choice-field-item.js +41 -0
  398. package/dist/component/jc.choice-field.d.ts +21 -0
  399. package/dist/component/jc.choice-field.d.ts.map +1 -0
  400. package/dist/component/jc.choice-field.js +34 -0
  401. package/dist/component/jc.count-down.d.ts +18 -0
  402. package/dist/component/jc.count-down.d.ts.map +1 -0
  403. package/dist/component/jc.count-down.js +55 -0
  404. package/dist/component/jc.count-up.d.ts +15 -0
  405. package/dist/component/jc.count-up.d.ts.map +1 -0
  406. package/dist/component/jc.count-up.js +42 -0
  407. package/dist/component/jc.custom-component.interop.d.ts +58 -0
  408. package/dist/component/jc.custom-component.interop.d.ts.map +1 -0
  409. package/dist/component/jc.custom-component.interop.js +115 -0
  410. package/dist/component/jc.date-picker.d.ts +15 -0
  411. package/dist/component/jc.date-picker.d.ts.map +1 -0
  412. package/dist/component/jc.date-picker.js +31 -0
  413. package/dist/component/jc.divider.d.ts +7 -0
  414. package/dist/component/jc.divider.d.ts.map +1 -0
  415. package/dist/component/jc.divider.js +8 -0
  416. package/dist/component/jc.dropdown.d.ts +20 -0
  417. package/dist/component/jc.dropdown.d.ts.map +1 -0
  418. package/dist/component/jc.dropdown.item.d.ts +22 -0
  419. package/dist/component/jc.dropdown.item.d.ts.map +1 -0
  420. package/dist/component/jc.dropdown.item.js +85 -0
  421. package/dist/component/jc.dropdown.js +33 -0
  422. package/dist/component/jc.duration-picker.d.ts +18 -0
  423. package/dist/component/jc.duration-picker.d.ts.map +1 -0
  424. package/dist/component/jc.duration-picker.js +35 -0
  425. package/dist/component/jc.email-field.d.ts +11 -0
  426. package/dist/component/jc.email-field.d.ts.map +1 -0
  427. package/dist/component/jc.email-field.js +19 -0
  428. package/dist/component/jc.entity-field.d.ts +23 -0
  429. package/dist/component/jc.entity-field.d.ts.map +1 -0
  430. package/dist/component/jc.entity-field.js +71 -0
  431. package/dist/component/jc.entity.d.ts +15 -0
  432. package/dist/component/jc.entity.d.ts.map +1 -0
  433. package/dist/component/jc.entity.js +27 -0
  434. package/dist/component/jc.event.d.ts +22 -0
  435. package/dist/component/jc.event.d.ts.map +1 -0
  436. package/dist/component/jc.event.js +68 -0
  437. package/dist/component/jc.expander.d.ts +49 -0
  438. package/dist/component/jc.expander.d.ts.map +1 -0
  439. package/dist/component/jc.expander.header.d.ts +25 -0
  440. package/dist/component/jc.expander.header.d.ts.map +1 -0
  441. package/dist/component/jc.expander.header.js +39 -0
  442. package/dist/component/jc.expander.js +53 -0
  443. package/dist/component/jc.field-row.d.ts +34 -0
  444. package/dist/component/jc.field-row.d.ts.map +1 -0
  445. package/dist/component/jc.field-row.entity.d.ts +12 -0
  446. package/dist/component/jc.field-row.entity.d.ts.map +1 -0
  447. package/dist/component/jc.field-row.entity.js +35 -0
  448. package/dist/component/jc.field-row.js +37 -0
  449. package/dist/component/jc.form.d.ts +98 -0
  450. package/dist/component/jc.form.d.ts.map +1 -0
  451. package/dist/component/jc.form.js +127 -0
  452. package/dist/component/jc.gallery-item.d.ts +12 -0
  453. package/dist/component/jc.gallery-item.d.ts.map +1 -0
  454. package/dist/component/jc.gallery-item.js +24 -0
  455. package/dist/component/jc.grid-item.d.ts +15 -0
  456. package/dist/component/jc.grid-item.d.ts.map +1 -0
  457. package/dist/component/jc.grid-item.js +31 -0
  458. package/dist/component/jc.grid.d.ts +16 -0
  459. package/dist/component/jc.grid.d.ts.map +1 -0
  460. package/dist/component/jc.grid.js +64 -0
  461. package/dist/component/jc.guards.d.ts +17 -0
  462. package/dist/component/jc.guards.d.ts.map +1 -0
  463. package/dist/component/jc.guards.js +14 -0
  464. package/dist/component/jc.icon.d.ts +19 -0
  465. package/dist/component/jc.icon.d.ts.map +1 -0
  466. package/dist/component/jc.icon.js +41 -0
  467. package/dist/component/jc.image.abstract.d.ts +28 -0
  468. package/dist/component/jc.image.abstract.d.ts.map +1 -0
  469. package/dist/component/jc.image.abstract.js +52 -0
  470. package/dist/component/jc.image.d.ts +5 -0
  471. package/dist/component/jc.image.d.ts.map +1 -0
  472. package/dist/component/jc.image.js +2 -0
  473. package/dist/component/jc.image.on-carousel.d.ts +23 -0
  474. package/dist/component/jc.image.on-carousel.d.ts.map +1 -0
  475. package/dist/component/jc.image.on-carousel.js +19 -0
  476. package/dist/component/jc.image.on-default.d.ts +25 -0
  477. package/dist/component/jc.image.on-default.d.ts.map +1 -0
  478. package/dist/component/jc.image.on-default.js +22 -0
  479. package/dist/component/jc.interactive-image.d.ts +41 -0
  480. package/dist/component/jc.interactive-image.d.ts.map +1 -0
  481. package/dist/component/jc.interactive-image.item.d.ts +24 -0
  482. package/dist/component/jc.interactive-image.item.d.ts.map +1 -0
  483. package/dist/component/jc.interactive-image.item.js +78 -0
  484. package/dist/component/jc.interactive-image.js +78 -0
  485. package/dist/component/jc.jig-header.d.ts +19 -0
  486. package/dist/component/jc.jig-header.d.ts.map +1 -0
  487. package/dist/component/jc.jig-header.js +42 -0
  488. package/dist/component/jc.jig-widget.d.ts +15 -0
  489. package/dist/component/jc.jig-widget.d.ts.map +1 -0
  490. package/dist/component/jc.jig-widget.js +41 -0
  491. package/dist/component/jc.jig.d.ts +11 -0
  492. package/dist/component/jc.jig.d.ts.map +1 -0
  493. package/dist/component/jc.jig.js +24 -0
  494. package/dist/component/jc.line-chart.d.ts +28 -0
  495. package/dist/component/jc.line-chart.d.ts.map +1 -0
  496. package/dist/component/jc.line-chart.js +45 -0
  497. package/dist/component/jc.list-item.d.ts +106 -0
  498. package/dist/component/jc.list-item.d.ts.map +1 -0
  499. package/dist/component/jc.list-item.js +274 -0
  500. package/dist/component/jc.list-item.standalone.d.ts +13 -0
  501. package/dist/component/jc.list-item.standalone.d.ts.map +1 -0
  502. package/dist/component/jc.list-item.standalone.js +10 -0
  503. package/dist/component/jc.list.abstract.d.ts +36 -0
  504. package/dist/component/jc.list.abstract.d.ts.map +1 -0
  505. package/dist/component/jc.list.abstract.js +2 -0
  506. package/dist/component/jc.list.d.ts +39 -0
  507. package/dist/component/jc.list.d.ts.map +1 -0
  508. package/dist/component/jc.list.js +95 -0
  509. package/dist/component/jc.location.d.ts +41 -0
  510. package/dist/component/jc.location.d.ts.map +1 -0
  511. package/dist/component/jc.location.js +63 -0
  512. package/dist/component/jc.marker-item.d.ts +29 -0
  513. package/dist/component/jc.marker-item.d.ts.map +1 -0
  514. package/dist/component/jc.marker-item.js +48 -0
  515. package/dist/component/jc.media-field.d.ts +13 -0
  516. package/dist/component/jc.media-field.d.ts.map +1 -0
  517. package/dist/component/jc.media-field.js +37 -0
  518. package/dist/component/jc.menu-item.d.ts +89 -0
  519. package/dist/component/jc.menu-item.d.ts.map +1 -0
  520. package/dist/component/jc.menu-item.js +65 -0
  521. package/dist/component/jc.number-field.d.ts +21 -0
  522. package/dist/component/jc.number-field.d.ts.map +1 -0
  523. package/dist/component/jc.number-field.js +33 -0
  524. package/dist/component/jc.pie-chart.d.ts +26 -0
  525. package/dist/component/jc.pie-chart.d.ts.map +1 -0
  526. package/dist/component/jc.pie-chart.js +45 -0
  527. package/dist/component/jc.product-item.amount.d.ts +17 -0
  528. package/dist/component/jc.product-item.amount.d.ts.map +1 -0
  529. package/dist/component/jc.product-item.amount.js +31 -0
  530. package/dist/component/jc.product-item.d.ts +30 -0
  531. package/dist/component/jc.product-item.d.ts.map +1 -0
  532. package/dist/component/jc.product-item.js +68 -0
  533. package/dist/component/jc.progress-bar.d.ts +45 -0
  534. package/dist/component/jc.progress-bar.d.ts.map +1 -0
  535. package/dist/component/jc.progress-bar.js +58 -0
  536. package/dist/component/jc.rating.d.ts +17 -0
  537. package/dist/component/jc.rating.d.ts.map +1 -0
  538. package/dist/component/jc.rating.js +38 -0
  539. package/dist/component/jc.section.abstract.d.ts +87 -0
  540. package/dist/component/jc.section.abstract.d.ts.map +1 -0
  541. package/dist/component/jc.section.abstract.js +33 -0
  542. package/dist/component/jc.section.on-default.d.ts +85 -0
  543. package/dist/component/jc.section.on-default.d.ts.map +1 -0
  544. package/dist/component/jc.section.on-default.js +85 -0
  545. package/dist/component/jc.section.on-entity.d.ts +11 -0
  546. package/dist/component/jc.section.on-entity.d.ts.map +1 -0
  547. package/dist/component/jc.section.on-entity.js +11 -0
  548. package/dist/component/jc.segmented-control.d.ts +23 -0
  549. package/dist/component/jc.segmented-control.d.ts.map +1 -0
  550. package/dist/component/jc.segmented-control.js +66 -0
  551. package/dist/component/jc.signature-field.d.ts +11 -0
  552. package/dist/component/jc.signature-field.d.ts.map +1 -0
  553. package/dist/component/jc.signature-field.js +18 -0
  554. package/dist/component/jc.slider.d.ts +36 -0
  555. package/dist/component/jc.slider.d.ts.map +1 -0
  556. package/dist/component/jc.slider.js +53 -0
  557. package/dist/component/jc.stage.d.ts +23 -0
  558. package/dist/component/jc.stage.d.ts.map +1 -0
  559. package/dist/component/jc.stage.js +31 -0
  560. package/dist/component/jc.step.d.ts +30 -0
  561. package/dist/component/jc.step.d.ts.map +1 -0
  562. package/dist/component/jc.step.js +35 -0
  563. package/dist/component/jc.stepper.d.ts +34 -0
  564. package/dist/component/jc.stepper.d.ts.map +1 -0
  565. package/dist/component/jc.stepper.js +59 -0
  566. package/dist/component/jc.story-group.d.ts +18 -0
  567. package/dist/component/jc.story-group.d.ts.map +1 -0
  568. package/dist/component/jc.story-group.js +27 -0
  569. package/dist/component/jc.summary.abstract.d.ts +15 -0
  570. package/dist/component/jc.summary.abstract.d.ts.map +1 -0
  571. package/dist/component/jc.summary.abstract.js +29 -0
  572. package/dist/component/jc.summary.card.d.ts +14 -0
  573. package/dist/component/jc.summary.card.d.ts.map +1 -0
  574. package/dist/component/jc.summary.card.js +36 -0
  575. package/dist/component/jc.summary.counter.d.ts +12 -0
  576. package/dist/component/jc.summary.counter.d.ts.map +1 -0
  577. package/dist/component/jc.summary.counter.js +28 -0
  578. package/dist/component/jc.summary.default.d.ts +16 -0
  579. package/dist/component/jc.summary.default.d.ts.map +1 -0
  580. package/dist/component/jc.summary.default.js +34 -0
  581. package/dist/component/jc.summary.progress.d.ts +46 -0
  582. package/dist/component/jc.summary.progress.d.ts.map +1 -0
  583. package/dist/component/jc.summary.progress.js +35 -0
  584. package/dist/component/jc.tab-button.d.ts +18 -0
  585. package/dist/component/jc.tab-button.d.ts.map +1 -0
  586. package/dist/component/jc.tab-button.js +43 -0
  587. package/dist/component/jc.text-field.d.ts +20 -0
  588. package/dist/component/jc.text-field.d.ts.map +1 -0
  589. package/dist/component/jc.text-field.js +49 -0
  590. package/dist/component/jc.text.d.ts +24 -0
  591. package/dist/component/jc.text.d.ts.map +1 -0
  592. package/dist/component/jc.text.js +44 -0
  593. package/dist/component/jc.titles.d.ts +19 -0
  594. package/dist/component/jc.titles.d.ts.map +1 -0
  595. package/dist/component/jc.titles.js +34 -0
  596. package/dist/component/jc.trend.d.ts +18 -0
  597. package/dist/component/jc.trend.d.ts.map +1 -0
  598. package/dist/component/jc.trend.js +31 -0
  599. package/dist/component/jc.types.d.ts +75 -0
  600. package/dist/component/jc.types.d.ts.map +1 -0
  601. package/dist/component/jc.types.js +74 -0
  602. package/dist/component/jc.video-player.abstract.d.ts +28 -0
  603. package/dist/component/jc.video-player.abstract.d.ts.map +1 -0
  604. package/dist/component/jc.video-player.abstract.js +38 -0
  605. package/dist/component/jc.video-player.d.ts +4 -0
  606. package/dist/component/jc.video-player.d.ts.map +1 -0
  607. package/dist/component/jc.video-player.js +2 -0
  608. package/dist/component/jc.video-player.on-jig.d.ts +25 -0
  609. package/dist/component/jc.video-player.on-jig.d.ts.map +1 -0
  610. package/dist/component/jc.video-player.on-jig.js +31 -0
  611. package/dist/component/jc.view.d.ts +158 -0
  612. package/dist/component/jc.view.d.ts.map +1 -0
  613. package/dist/component/jc.view.js +85 -0
  614. package/dist/component/jc.web-view.abstract.d.ts +15 -0
  615. package/dist/component/jc.web-view.abstract.d.ts.map +1 -0
  616. package/dist/component/jc.web-view.abstract.js +33 -0
  617. package/dist/component/jc.web-view.on-default.d.ts +5 -0
  618. package/dist/component/jc.web-view.on-default.d.ts.map +1 -0
  619. package/dist/component/jc.web-view.on-default.js +4 -0
  620. package/dist/component/jc.web-view.on-full.d.ts +10 -0
  621. package/dist/component/jc.web-view.on-full.d.ts.map +1 -0
  622. package/dist/component/jc.web-view.on-full.js +14 -0
  623. package/dist/database/database.abstract.d.ts +39 -0
  624. package/dist/database/database.abstract.d.ts.map +1 -0
  625. package/dist/database/database.abstract.js +42 -0
  626. package/dist/database/index.d.ts +2 -0
  627. package/dist/database/index.d.ts.map +1 -0
  628. package/dist/database/index.js +2 -0
  629. package/dist/datasource/datasource.abstract.d.ts +39 -0
  630. package/dist/datasource/datasource.abstract.d.ts.map +1 -0
  631. package/dist/datasource/datasource.abstract.js +47 -0
  632. package/dist/datasource/datasource.descriptor.d.ts +11 -0
  633. package/dist/datasource/datasource.descriptor.d.ts.map +1 -0
  634. package/dist/datasource/datasource.descriptor.js +2 -0
  635. package/dist/datasource/datasource.reference.d.ts +33 -0
  636. package/dist/datasource/datasource.reference.d.ts.map +1 -0
  637. package/dist/datasource/datasource.reference.js +66 -0
  638. package/dist/datasource/datasource.sdk.d.ts +7 -0
  639. package/dist/datasource/datasource.sdk.d.ts.map +1 -0
  640. package/dist/datasource/datasource.sdk.js +5 -0
  641. package/dist/datasource/datasource.sqlite.d.ts +88 -0
  642. package/dist/datasource/datasource.sqlite.d.ts.map +1 -0
  643. package/dist/datasource/datasource.sqlite.js +286 -0
  644. package/dist/datasource/datasource.static.d.ts +21 -0
  645. package/dist/datasource/datasource.static.d.ts.map +1 -0
  646. package/dist/datasource/datasource.static.js +30 -0
  647. package/dist/datasource/datasource.system.d.ts +18 -0
  648. package/dist/datasource/datasource.system.d.ts.map +1 -0
  649. package/dist/datasource/datasource.system.js +10 -0
  650. package/dist/datasource/entity.descriptor.d.ts +9 -0
  651. package/dist/datasource/entity.descriptor.d.ts.map +1 -0
  652. package/dist/datasource/entity.descriptor.js +2 -0
  653. package/dist/datasource/index.d.ts +11 -0
  654. package/dist/datasource/index.d.ts.map +1 -0
  655. package/dist/datasource/index.js +9 -0
  656. package/dist/datasource/sqlite-normalizer.d.ts +3 -0
  657. package/dist/datasource/sqlite-normalizer.d.ts.map +1 -0
  658. package/dist/datasource/sqlite-normalizer.js +194 -0
  659. package/dist/datasource/sqlite-validator.d.ts +28 -0
  660. package/dist/datasource/sqlite-validator.d.ts.map +1 -0
  661. package/dist/datasource/sqlite-validator.js +218 -0
  662. package/dist/function/function.abstract.d.ts +538 -0
  663. package/dist/function/function.abstract.d.ts.map +1 -0
  664. package/dist/function/function.abstract.js +271 -0
  665. package/dist/function/function.guard.d.ts +17 -0
  666. package/dist/function/function.guard.d.ts.map +1 -0
  667. package/dist/function/function.guard.js +62 -0
  668. package/dist/function/function.operation.d.ts +26 -0
  669. package/dist/function/function.operation.d.ts.map +1 -0
  670. package/dist/function/function.operation.js +118 -0
  671. package/dist/function/function.rest.continuation.d.ts +12 -0
  672. package/dist/function/function.rest.continuation.d.ts.map +1 -0
  673. package/dist/function/function.rest.continuation.js +24 -0
  674. package/dist/function/function.rest.d.ts +31 -0
  675. package/dist/function/function.rest.d.ts.map +1 -0
  676. package/dist/function/function.rest.error-builder.d.ts +38 -0
  677. package/dist/function/function.rest.error-builder.d.ts.map +1 -0
  678. package/dist/function/function.rest.error-builder.js +161 -0
  679. package/dist/function/function.rest.js +72 -0
  680. package/dist/function/function.rest.parameter-builder.d.ts +33 -0
  681. package/dist/function/function.rest.parameter-builder.d.ts.map +1 -0
  682. package/dist/function/function.rest.parameter-builder.js +81 -0
  683. package/dist/function/function.rest.types.d.ts +28 -0
  684. package/dist/function/function.rest.types.d.ts.map +1 -0
  685. package/dist/function/function.rest.types.js +2 -0
  686. package/dist/function/function.sdk.d.ts +10 -0
  687. package/dist/function/function.sdk.d.ts.map +1 -0
  688. package/dist/function/function.sdk.js +12 -0
  689. package/dist/function/function.soap.d.ts +19 -0
  690. package/dist/function/function.soap.d.ts.map +1 -0
  691. package/dist/function/function.soap.js +36 -0
  692. package/dist/function/function.soap.parameter-builder.d.ts +25 -0
  693. package/dist/function/function.soap.parameter-builder.d.ts.map +1 -0
  694. package/dist/function/function.soap.parameter-builder.js +41 -0
  695. package/dist/function/function.soap.types.d.ts +17 -0
  696. package/dist/function/function.soap.types.d.ts.map +1 -0
  697. package/dist/function/function.soap.types.js +2 -0
  698. package/dist/function/function.sql.d.ts +20 -0
  699. package/dist/function/function.sql.d.ts.map +1 -0
  700. package/dist/function/function.sql.js +53 -0
  701. package/dist/function/function.sql.parameter-builder.d.ts +24 -0
  702. package/dist/function/function.sql.parameter-builder.d.ts.map +1 -0
  703. package/dist/function/function.sql.parameter-builder.js +44 -0
  704. package/dist/function/function.sql.types.d.ts +20 -0
  705. package/dist/function/function.sql.types.d.ts.map +1 -0
  706. package/dist/function/function.sql.types.js +2 -0
  707. package/dist/function/function.types.d.ts +7 -0
  708. package/dist/function/function.types.d.ts.map +1 -0
  709. package/dist/function/function.types.js +2 -0
  710. package/dist/function/index.d.ts +17 -0
  711. package/dist/function/index.d.ts.map +1 -0
  712. package/dist/function/index.js +13 -0
  713. package/dist/icon/index.d.ts +3 -0
  714. package/dist/icon/index.d.ts.map +1 -0
  715. package/dist/icon/index.js +3 -0
  716. package/dist/icon/sdk.icon.d.ts +10 -0
  717. package/dist/icon/sdk.icon.d.ts.map +1 -0
  718. package/dist/icon/sdk.icon.data.d.ts +7 -0
  719. package/dist/icon/sdk.icon.data.d.ts.map +1 -0
  720. package/dist/icon/sdk.icon.data.js +19283 -0
  721. package/dist/icon/sdk.icon.js +27 -0
  722. package/dist/icon/sdk.icon.loader.d.ts +7 -0
  723. package/dist/icon/sdk.icon.loader.d.ts.map +1 -0
  724. package/dist/icon/sdk.icon.loader.js +15 -0
  725. package/dist/icon/sdk.icon.name.d.ts +7 -0
  726. package/dist/icon/sdk.icon.name.d.ts.map +1 -0
  727. package/dist/icon/sdk.icon.name.js +19305 -0
  728. package/dist/index.d.ts +14 -0
  729. package/dist/index.d.ts.map +1 -0
  730. package/dist/index.js +14 -0
  731. package/dist/jsonata/ast.d.ts +15 -0
  732. package/dist/jsonata/ast.d.ts.map +1 -0
  733. package/dist/jsonata/ast.js +118 -0
  734. package/dist/jsonata/base.d.ts +7 -0
  735. package/dist/jsonata/base.d.ts.map +1 -0
  736. package/dist/jsonata/base.js +43 -0
  737. package/dist/jsonata/builder.d.ts +28 -0
  738. package/dist/jsonata/builder.d.ts.map +1 -0
  739. package/dist/jsonata/builder.js +140 -0
  740. package/dist/jsonata/context.d.ts +10 -0
  741. package/dist/jsonata/context.d.ts.map +1 -0
  742. package/dist/jsonata/context.js +349 -0
  743. package/dist/jsonata/expression.d.ts +35 -0
  744. package/dist/jsonata/expression.d.ts.map +1 -0
  745. package/dist/jsonata/expression.js +498 -0
  746. package/dist/jsonata/index.d.ts +6 -0
  747. package/dist/jsonata/index.d.ts.map +1 -0
  748. package/dist/jsonata/index.js +6 -0
  749. package/dist/logger/index.d.ts +2 -0
  750. package/dist/logger/index.d.ts.map +1 -0
  751. package/dist/logger/index.js +2 -0
  752. package/dist/logger/logger.d.ts +14 -0
  753. package/dist/logger/logger.d.ts.map +1 -0
  754. package/dist/logger/logger.js +40 -0
  755. package/dist/runtime/auth.d.ts +19 -0
  756. package/dist/runtime/auth.d.ts.map +1 -0
  757. package/dist/runtime/auth.js +11 -0
  758. package/dist/runtime/index.d.ts +5 -0
  759. package/dist/runtime/index.d.ts.map +1 -0
  760. package/dist/runtime/index.js +3 -0
  761. package/dist/runtime/system.d.ts +27 -0
  762. package/dist/runtime/system.d.ts.map +1 -0
  763. package/dist/runtime/system.js +26 -0
  764. package/dist/screen/common/index.d.ts +9 -0
  765. package/dist/screen/common/index.d.ts.map +1 -0
  766. package/dist/screen/common/index.js +7 -0
  767. package/dist/screen/common/screen.badge.d.ts +8 -0
  768. package/dist/screen/common/screen.badge.d.ts.map +1 -0
  769. package/dist/screen/common/screen.badge.js +2 -0
  770. package/dist/screen/common/screen.bottom-sheet.d.ts +62 -0
  771. package/dist/screen/common/screen.bottom-sheet.d.ts.map +1 -0
  772. package/dist/screen/common/screen.bottom-sheet.js +31 -0
  773. package/dist/screen/common/screen.callback-actions.d.ts +7 -0
  774. package/dist/screen/common/screen.callback-actions.d.ts.map +1 -0
  775. package/dist/screen/common/screen.callback-actions.js +19 -0
  776. package/dist/screen/common/screen.input-definition.d.ts +108 -0
  777. package/dist/screen/common/screen.input-definition.d.ts.map +1 -0
  778. package/dist/screen/common/screen.input-definition.js +109 -0
  779. package/dist/screen/common/screen.placeholder.d.ts +20 -0
  780. package/dist/screen/common/screen.placeholder.d.ts.map +1 -0
  781. package/dist/screen/common/screen.placeholder.js +54 -0
  782. package/dist/screen/common/screen.preview.actions.d.ts +47 -0
  783. package/dist/screen/common/screen.preview.actions.d.ts.map +1 -0
  784. package/dist/screen/common/screen.preview.actions.js +122 -0
  785. package/dist/screen/common/screen.preview.d.ts +40 -0
  786. package/dist/screen/common/screen.preview.d.ts.map +1 -0
  787. package/dist/screen/common/screen.preview.js +87 -0
  788. package/dist/screen/common/screen.state.d.ts +7 -0
  789. package/dist/screen/common/screen.state.d.ts.map +1 -0
  790. package/dist/screen/common/screen.state.js +2 -0
  791. package/dist/screen/common/screen.summary.d.ts +14 -0
  792. package/dist/screen/common/screen.summary.d.ts.map +1 -0
  793. package/dist/screen/common/screen.summary.js +22 -0
  794. package/dist/screen/index.d.ts +16 -0
  795. package/dist/screen/index.d.ts.map +1 -0
  796. package/dist/screen/index.js +16 -0
  797. package/dist/screen/screen.abstract.d.ts +105 -0
  798. package/dist/screen/screen.abstract.d.ts.map +1 -0
  799. package/dist/screen/screen.abstract.js +175 -0
  800. package/dist/screen/screen.calendar.d.ts +22 -0
  801. package/dist/screen/screen.calendar.d.ts.map +1 -0
  802. package/dist/screen/screen.calendar.js +32 -0
  803. package/dist/screen/screen.default.d.ts +65 -0
  804. package/dist/screen/screen.default.d.ts.map +1 -0
  805. package/dist/screen/screen.default.js +68 -0
  806. package/dist/screen/screen.document.d.ts +58 -0
  807. package/dist/screen/screen.document.d.ts.map +1 -0
  808. package/dist/screen/screen.document.js +72 -0
  809. package/dist/screen/screen.full-screen.d.ts +23 -0
  810. package/dist/screen/screen.full-screen.d.ts.map +1 -0
  811. package/dist/screen/screen.full-screen.js +18 -0
  812. package/dist/screen/screen.gallery.d.ts +15 -0
  813. package/dist/screen/screen.gallery.d.ts.map +1 -0
  814. package/dist/screen/screen.gallery.js +14 -0
  815. package/dist/screen/screen.grid.base.d.ts +18 -0
  816. package/dist/screen/screen.grid.base.d.ts.map +1 -0
  817. package/dist/screen/screen.grid.base.js +17 -0
  818. package/dist/screen/screen.grid.dynamic.d.ts +18 -0
  819. package/dist/screen/screen.grid.dynamic.d.ts.map +1 -0
  820. package/dist/screen/screen.grid.dynamic.js +26 -0
  821. package/dist/screen/screen.grid.static.d.ts +14 -0
  822. package/dist/screen/screen.grid.static.d.ts.map +1 -0
  823. package/dist/screen/screen.grid.static.js +12 -0
  824. package/dist/screen/screen.guards.d.ts +41 -0
  825. package/dist/screen/screen.guards.d.ts.map +1 -0
  826. package/dist/screen/screen.guards.js +35 -0
  827. package/dist/screen/screen.list.d.ts +79 -0
  828. package/dist/screen/screen.list.d.ts.map +1 -0
  829. package/dist/screen/screen.list.js +123 -0
  830. package/dist/screen/screen.sdk.d.ts +13 -0
  831. package/dist/screen/screen.sdk.d.ts.map +1 -0
  832. package/dist/screen/screen.sdk.js +9 -0
  833. package/dist/screen/screen.tabs.d.ts +27 -0
  834. package/dist/screen/screen.tabs.d.ts.map +1 -0
  835. package/dist/screen/screen.tabs.instance.d.ts +34 -0
  836. package/dist/screen/screen.tabs.instance.d.ts.map +1 -0
  837. package/dist/screen/screen.tabs.instance.js +79 -0
  838. package/dist/screen/screen.tabs.js +35 -0
  839. package/dist/screen/screen.wizard.d.ts +12 -0
  840. package/dist/screen/screen.wizard.d.ts.map +1 -0
  841. package/dist/screen/screen.wizard.instance.d.ts +20 -0
  842. package/dist/screen/screen.wizard.instance.d.ts.map +1 -0
  843. package/dist/screen/screen.wizard.instance.js +40 -0
  844. package/dist/screen/screen.wizard.js +23 -0
  845. package/dist/utils/check.d.ts +3 -0
  846. package/dist/utils/check.d.ts.map +1 -0
  847. package/dist/utils/check.js +7 -0
  848. package/dist/utils/convert.d.ts +2 -0
  849. package/dist/utils/convert.d.ts.map +1 -0
  850. package/dist/utils/convert.js +8 -0
  851. package/dist/utils/dedent.d.ts +2 -0
  852. package/dist/utils/dedent.d.ts.map +1 -0
  853. package/dist/utils/dedent.js +28 -0
  854. package/dist/utils/index.d.ts +6 -0
  855. package/dist/utils/index.d.ts.map +1 -0
  856. package/dist/utils/index.js +5 -0
  857. package/dist/utils/types.d.ts +2 -0
  858. package/dist/utils/types.d.ts.map +1 -0
  859. package/dist/utils/types.js +2 -0
  860. package/dist/utils/utils.d.ts +9 -0
  861. package/dist/utils/utils.d.ts.map +1 -0
  862. package/dist/utils/utils.js +49 -0
  863. package/dist/widget/index.d.ts +12 -0
  864. package/dist/widget/index.d.ts.map +1 -0
  865. package/dist/widget/index.js +12 -0
  866. package/dist/widget/jw.abstract.d.ts +27 -0
  867. package/dist/widget/jw.abstract.d.ts.map +1 -0
  868. package/dist/widget/jw.abstract.js +36 -0
  869. package/dist/widget/jw.actions.d.ts +17 -0
  870. package/dist/widget/jw.actions.d.ts.map +1 -0
  871. package/dist/widget/jw.actions.js +30 -0
  872. package/dist/widget/jw.avatar.d.ts +19 -0
  873. package/dist/widget/jw.avatar.d.ts.map +1 -0
  874. package/dist/widget/jw.avatar.js +23 -0
  875. package/dist/widget/jw.chart.d.ts +18 -0
  876. package/dist/widget/jw.chart.d.ts.map +1 -0
  877. package/dist/widget/jw.chart.js +23 -0
  878. package/dist/widget/jw.group.d.ts +28 -0
  879. package/dist/widget/jw.group.d.ts.map +1 -0
  880. package/dist/widget/jw.group.js +35 -0
  881. package/dist/widget/jw.image.d.ts +27 -0
  882. package/dist/widget/jw.image.d.ts.map +1 -0
  883. package/dist/widget/jw.image.js +54 -0
  884. package/dist/widget/jw.list.d.ts +44 -0
  885. package/dist/widget/jw.list.d.ts.map +1 -0
  886. package/dist/widget/jw.list.js +44 -0
  887. package/dist/widget/jw.location.d.ts +41 -0
  888. package/dist/widget/jw.location.d.ts.map +1 -0
  889. package/dist/widget/jw.location.js +54 -0
  890. package/dist/widget/jw.sdk.d.ts +2 -0
  891. package/dist/widget/jw.sdk.d.ts.map +1 -0
  892. package/dist/widget/jw.sdk.js +2 -0
  893. package/dist/widget/jw.status.condition.d.ts +20 -0
  894. package/dist/widget/jw.status.condition.d.ts.map +1 -0
  895. package/dist/widget/jw.status.condition.js +27 -0
  896. package/dist/widget/jw.status.d.ts +8 -0
  897. package/dist/widget/jw.status.d.ts.map +1 -0
  898. package/dist/widget/jw.status.js +11 -0
  899. package/dist/widget/jw.value.d.ts +24 -0
  900. package/dist/widget/jw.value.d.ts.map +1 -0
  901. package/dist/widget/jw.value.js +51 -0
  902. package/package.json +94 -0
@@ -0,0 +1,42 @@
1
+ import { toNumberOrExpression } from '../abstract/index.js';
2
+ import { toCountUpLabels, toCountUpSize, } from './common/index.js';
3
+ import { ComponentBaseBuilder } from './jc.abstract.js';
4
+ import { COMPONENT_TYPE } from './jc.types.js';
5
+ export class JcCountUpBuilder extends ComponentBaseBuilder {
6
+ constructor(options = {}) {
7
+ super(COMPONENT_TYPE.COUNT_UP, options);
8
+ this._config.startTimestamp = Date.now();
9
+ if (options.startTimestamp !== undefined) {
10
+ this._config.startTimestamp = toNumberOrExpression(options.startTimestamp);
11
+ }
12
+ if (options.size !== undefined) {
13
+ this._config.size = toCountUpSize(options.size);
14
+ }
15
+ if (options.labels !== undefined) {
16
+ this._config.labels = toCountUpLabels(options.labels);
17
+ }
18
+ }
19
+ startTimestamp(timestamp) {
20
+ this._config.startTimestamp = toNumberOrExpression(timestamp);
21
+ return this;
22
+ }
23
+ with(options) {
24
+ super.with(options);
25
+ if (options?.startTimestamp !== undefined) {
26
+ this._config.startTimestamp = toNumberOrExpression(options.startTimestamp);
27
+ }
28
+ if (options?.size !== undefined) {
29
+ this._config.size = toCountUpSize(options.size);
30
+ }
31
+ if (options?.labels !== undefined) {
32
+ this._config.labels = toCountUpLabels(options.labels);
33
+ }
34
+ return this;
35
+ }
36
+ _validate() {
37
+ if (this._config.startTimestamp === undefined || this._config.startTimestamp === null) {
38
+ throw new Error('Count-up startTimestamp is required');
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY291bnQtdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmNvdW50LXVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUM1RSxPQUFPLEVBR0wsZUFBZSxFQUNmLGFBQWEsR0FDZCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBb0Isb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBZTlDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0M7SUFDeEUsWUFBWSxPQUFPLEdBQW1CLEVBQUUsRUFBRTtRQUN4QyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUd2QyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFeEMsSUFBSSxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUM1RSxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZELENBQUM7SUFBQSxDQUNGO0lBTUQsY0FBYyxDQUFDLFNBQThCLEVBQVE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDN0QsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBRVEsSUFBSSxDQUFDLE9BQXFELEVBQVE7UUFDekUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVuQixJQUFJLE9BQU8sRUFBRSxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzVFLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQUVRLFNBQVMsR0FBUztRQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN0RixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7UUFDeEQsQ0FBQztJQUFBLENBQ0Y7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhwcmVzc2lvbiwgdG9OdW1iZXJPckV4cHJlc3Npb24gfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7XG4gIHR5cGUgQ291bnRVcFNpemUsXG4gIHR5cGUgSmNDb3VudFVwTGFiZWxzLFxuICB0b0NvdW50VXBMYWJlbHMsXG4gIHRvQ291bnRVcFNpemUsXG59IGZyb20gJy4vY29tbW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGNvdW50LXVwIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKY0NvdW50VXBJbnB1dCBleHRlbmRzIEpjQmFzZUlucHV0IHtcbiAgcmVhZG9ubHkgc3RhcnRUaW1lc3RhbXA/OiBudW1iZXIgfCBFeHByZXNzaW9uXG4gIHJlYWRvbmx5IHNpemU/OiBDb3VudFVwU2l6ZSB8IEV4cHJlc3Npb25cbiAgcmVhZG9ubHkgbGFiZWxzPzogSmNDb3VudFVwTGFiZWxzXG59XG5cbi8qKlxuICogQnVpbGRzIGNvdW50LXVwIHRpbWVycyB3aXRoIGVsYXBzZWQgdGltZSBkaXNwbGF5LCBsYWJlbHMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmNvdW50LXVwXG4gKi9cbmV4cG9ydCBjbGFzcyBKY0NvdW50VXBCdWlsZGVyIGV4dGVuZHMgQ29tcG9uZW50QmFzZUJ1aWxkZXI8SmNDb3VudFVwSW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNDb3VudFVwSW5wdXQgPSB7fSkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkNPVU5UX1VQLCBvcHRpb25zKVxuXG4gICAgLy8gRGVmYXVsdCBzdGFydFRpbWVzdGFtcCB0byBub3dcbiAgICB0aGlzLl9jb25maWcuc3RhcnRUaW1lc3RhbXAgPSBEYXRlLm5vdygpXG5cbiAgICBpZiAob3B0aW9ucy5zdGFydFRpbWVzdGFtcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuc3RhcnRUaW1lc3RhbXAgPSB0b051bWJlck9yRXhwcmVzc2lvbihvcHRpb25zLnN0YXJ0VGltZXN0YW1wKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5zaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5zaXplID0gdG9Db3VudFVwU2l6ZShvcHRpb25zLnNpemUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmxhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubGFiZWxzID0gdG9Db3VudFVwTGFiZWxzKG9wdGlvbnMubGFiZWxzKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHN0YXJ0aW5nIHRpbWVzdGFtcCBmb3IgdGltZXIuXG4gICAqIEBwYXJhbSB0aW1lc3RhbXAgVW5peCB0aW1lc3RhbXAgaW4gbWlsbGlzZWNvbmRzXG4gICAqL1xuICBzdGFydFRpbWVzdGFtcCh0aW1lc3RhbXA6IG51bWJlciB8IEV4cHJlc3Npb24pOiB0aGlzIHtcbiAgICB0aGlzLl9jb25maWcuc3RhcnRUaW1lc3RhbXAgPSB0b051bWJlck9yRXhwcmVzc2lvbih0aW1lc3RhbXApXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9ucz86IFBhcnRpYWw8T21pdDxKY0NvdW50VXBJbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucz8uc3RhcnRUaW1lc3RhbXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnN0YXJ0VGltZXN0YW1wID0gdG9OdW1iZXJPckV4cHJlc3Npb24ob3B0aW9ucy5zdGFydFRpbWVzdGFtcClcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnNpemUgPSB0b0NvdW50VXBTaXplKG9wdGlvbnMuc2l6ZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmxhYmVscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubGFiZWxzID0gdG9Db3VudFVwTGFiZWxzKG9wdGlvbnMubGFiZWxzKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBvdmVycmlkZSBfdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5zdGFydFRpbWVzdGFtcCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX2NvbmZpZy5zdGFydFRpbWVzdGFtcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VudC11cCBzdGFydFRpbWVzdGFtcCBpcyByZXF1aXJlZCcpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod/v4';
2
+ import { type Primitive, type InstanceId, type Expression } from '../abstract/index.js';
3
+ import { type JcBase, type JcAddToJig } from './jc.abstract.js';
4
+ import { type ComponentType } from './jc.types.js';
5
+ export type InteropValue = Primitive | InteropValue[] | {
6
+ [key: string]: InteropValue;
7
+ };
8
+ declare const CustomComponentSchema: z.ZodUnion<readonly [z.ZodObject<{
9
+ type: z.ZodLiteral<"component.custom-component">;
10
+ componentId: z.ZodString;
11
+ instanceId: z.ZodOptional<z.ZodString>;
12
+ instanceScope: z.ZodOptional<z.ZodEnum<{
13
+ jig: "jig";
14
+ solution: "solution";
15
+ }>>;
16
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>;
17
+ inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<InteropValue, unknown, z.core.$ZodTypeInternals<InteropValue, unknown>>>>;
18
+ actions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<InteropValue, unknown, z.core.$ZodTypeInternals<InteropValue, unknown>>>>;
19
+ }, z.core.$loose>, z.ZodObject<{
20
+ type: z.ZodLiteral<"component.custom-component">;
21
+ instanceId: z.ZodOptional<z.ZodString>;
22
+ instanceScope: z.ZodOptional<z.ZodEnum<{
23
+ jig: "jig";
24
+ solution: "solution";
25
+ }>>;
26
+ when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>;
27
+ options: z.ZodObject<{
28
+ children: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<InteropValue, unknown, z.core.$ZodTypeInternals<InteropValue, unknown>>>>;
29
+ }, z.core.$loose>;
30
+ }, z.core.$loose>]>;
31
+ export type JcCustomComponentInterop = z.infer<typeof CustomComponentSchema> & JcBase;
32
+ export type JcCustomComponentInteropInput = {
33
+ json: JcCustomComponentInterop;
34
+ } | {
35
+ yaml: string;
36
+ } | {
37
+ file: string | URL;
38
+ relativeTo?: string | URL;
39
+ };
40
+ export declare class JcCustomComponentInteropBuilder implements JcAddToJig<JcCustomComponentInterop> {
41
+ protected readonly _draftJc: JcCustomComponentInterop;
42
+ constructor(input: JcCustomComponentInteropInput);
43
+ get type(): ComponentType;
44
+ when(jsonata: Expression): this;
45
+ _validate(): void;
46
+ build(): JcCustomComponentInterop;
47
+ static from(input: JcCustomComponentInteropInput): JcCustomComponentInteropBuilder;
48
+ static ref(options: {
49
+ componentId: string;
50
+ instanceId?: InstanceId;
51
+ instanceScope?: 'solution' | 'jig';
52
+ when?: string | boolean;
53
+ inputs?: Record<string, unknown>;
54
+ actions?: Record<string, unknown>;
55
+ }): JcCustomComponentInteropBuilder;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY3VzdG9tLWNvbXBvbmVudC5pbnRlcm9wLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmN1c3RvbS1jb21wb25lbnQuaW50ZXJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzFCLE9BQU8sRUFDTCxLQUFLLFNBQVMsRUFFZCxLQUFLLFVBQVUsRUFDZixLQUFLLFVBQVUsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMvRCxPQUFPLEVBQWtCLEtBQUssYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR2xFLE1BQU0sTUFBTSxZQUFZLEdBQUcsU0FBUyxHQUFHLFlBQVksRUFBRSxHQUFHO0lBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FBQTtDQUFFLENBQUE7QUEwQ3ZGLFFBQUEsTUFBTSxxQkFBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBQW1FLENBQUE7QUFFOUYsTUFBTSxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxHQUFHLE1BQU0sQ0FBQTtBQVNyRixNQUFNLE1BQU0sNkJBQTZCLEdBQ3JDO0lBQ0UsSUFBSSxFQUFFLHdCQUF3QixDQUFBO0NBQy9CLEdBQ0Q7SUFDRSxJQUFJLEVBQUUsTUFBTSxDQUFBO0NBQ2IsR0FDRDtJQUNFLElBQUksRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFBO0lBQ2xCLFVBQVUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUE7Q0FDMUIsQ0FBQTtBQXVGTCxxQkFBYSwrQkFBZ0MsWUFBVyxVQUFVLENBQUMsd0JBQXdCLENBQUM7SUFDMUYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUE7SUFFckQsWUFBWSxLQUFLLEVBQUUsNkJBQTZCLEVBRS9DO0lBRUQsSUFBSSxJQUFJLElBQUksYUFBYSxDQUV4QjtJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FHOUI7SUFFRCxTQUFTLElBQUksSUFBSSxDQUVoQjtJQUVELEtBQUssSUFBSSx3QkFBd0IsQ0FFaEM7SUFPRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsR0FBRywrQkFBK0IsQ0FFakY7SUFPRCxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRTtRQUNsQixXQUFXLEVBQUUsTUFBTSxDQUFBO1FBQ25CLFVBQVUsQ0FBQyxFQUFFLFVBQVUsQ0FBQTtRQUN2QixhQUFhLENBQUMsRUFBRSxVQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUE7UUFDdkIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNoQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0tBQ2xDLEdBQUcsK0JBQStCLENBT2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnbm9kZTpmcydcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGgsIHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCdcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlWWFtbCB9IGZyb20gJ3lhbWwnXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kL3Y0J1xuaW1wb3J0IHtcbiAgdHlwZSBQcmltaXRpdmUsXG4gIFByaW1pdGl2ZVNjaGVtYSxcbiAgdHlwZSBJbnN0YW5jZUlkLFxuICB0eXBlIEV4cHJlc3Npb24sXG4gIHRvRXhwcmVzc2lvbixcbn0gZnJvbSAnLi4vYWJzdHJhY3QvaW5kZXguanMnXG5pbXBvcnQgeyB0eXBlIEpjQmFzZSwgdHlwZSBKY0FkZFRvSmlnIH0gZnJvbSAnLi9qYy5hYnN0cmFjdC5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFLCB0eXBlIENvbXBvbmVudFR5cGUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKiogUmVjdXJzaXZlIHZhbHVlIHR5cGUgZm9yIGN1c3RvbSBjb21wb25lbnQgaW5wdXRzL2FjdGlvbnMgKHByaW1pdGl2ZXMsIGFycmF5cywgb2JqZWN0cykuICovXG5leHBvcnQgdHlwZSBJbnRlcm9wVmFsdWUgPSBQcmltaXRpdmUgfCBJbnRlcm9wVmFsdWVbXSB8IHsgW2tleTogc3RyaW5nXTogSW50ZXJvcFZhbHVlIH1cblxuY29uc3QgSW50ZXJvcFZhbHVlU2NoZW1hOiB6LlpvZFR5cGU8SW50ZXJvcFZhbHVlPiA9IHoudW5pb24oW1xuICBQcmltaXRpdmVTY2hlbWEsXG4gIHouYXJyYXkoei5sYXp5KCgpID0+IEludGVyb3BWYWx1ZVNjaGVtYSkpLFxuICB6LnJlY29yZChcbiAgICB6LnN0cmluZygpLFxuICAgIHoubGF6eSgoKSA9PiBJbnRlcm9wVmFsdWVTY2hlbWEpLFxuICApLFxuXSlcblxuLy8gUmVmZXJlbmNlIGZvcm06IGNvbXBvbmVudElkICsgb3B0aW9uYWwgaW5wdXRzL2FjdGlvbnMuXG4vLyBNb3N0IGNvbW1vbiBwYXR0ZXJuIOKAlCByZWZlcmVuY2VzIGEgc2VwYXJhdGVseS1kZWZpbmVkIGN1c3RvbSBjb21wb25lbnQgYnkgSUQuXG5jb25zdCBDdXN0b21Db21wb25lbnRSZWZTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChDT01QT05FTlRfVFlQRS5DVVNUT01fQ09NUE9ORU5UKSxcbiAgICBjb21wb25lbnRJZDogei5zdHJpbmcoKS5taW4oMSksXG4gICAgaW5zdGFuY2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGluc3RhbmNlU2NvcGU6IHouZW51bShbJ3NvbHV0aW9uJywgJ2ppZyddKS5vcHRpb25hbCgpLFxuICAgIHdoZW46IHoudW5pb24oW3ouc3RyaW5nKCksIHouYm9vbGVhbigpXSkub3B0aW9uYWwoKSxcbiAgICBpbnB1dHM6IHoucmVjb3JkKHouc3RyaW5nKCksIEludGVyb3BWYWx1ZVNjaGVtYSkub3B0aW9uYWwoKSxcbiAgICBhY3Rpb25zOiB6LnJlY29yZCh6LnN0cmluZygpLCBJbnRlcm9wVmFsdWVTY2hlbWEpLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5sb29zZSgpXG5cbi8vIElubGluZSBmb3JtOiBvcHRpb25zLmNoaWxkcmVuIGFycmF5IGluc3RlYWQgb2YgY29tcG9uZW50SWQuXG4vLyBMZXNzIGNvbW1vbiDigJQgZW1iZWRzIGNoaWxkIGNvbXBvbmVudHMgZGlyZWN0bHkuXG5jb25zdCBDdXN0b21Db21wb25lbnRJbmxpbmVTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChDT01QT05FTlRfVFlQRS5DVVNUT01fQ09NUE9ORU5UKSxcbiAgICBpbnN0YW5jZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaW5zdGFuY2VTY29wZTogei5lbnVtKFsnc29sdXRpb24nLCAnamlnJ10pLm9wdGlvbmFsKCksXG4gICAgd2hlbjogei51bmlvbihbei5zdHJpbmcoKSwgei5ib29sZWFuKCldKS5vcHRpb25hbCgpLFxuICAgIG9wdGlvbnM6IHpcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBjaGlsZHJlbjogei5hcnJheSh6LnJlY29yZCh6LnN0cmluZygpLCBJbnRlcm9wVmFsdWVTY2hlbWEpKS5taW4oMSksXG4gICAgICB9KVxuICAgICAgLmxvb3NlKCksXG4gIH0pXG4gIC5sb29zZSgpXG5cbi8vIERpc2NyaW1pbmF0ZWQgdW5pb246IHJlZiBmb3JtIChoYXMgY29tcG9uZW50SWQpIG9yIGlubGluZSBmb3JtIChoYXMgb3B0aW9ucy5jaGlsZHJlbikuXG5jb25zdCBDdXN0b21Db21wb25lbnRTY2hlbWEgPSB6LnVuaW9uKFtDdXN0b21Db21wb25lbnRSZWZTY2hlbWEsIEN1c3RvbUNvbXBvbmVudElubGluZVNjaGVtYV0pXG5cbmV4cG9ydCB0eXBlIEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcCA9IHouaW5mZXI8dHlwZW9mIEN1c3RvbUNvbXBvbmVudFNjaGVtYT4gJiBKY0Jhc2VcblxuLyoqXG4gKiBBY2NlcHRlZCBpbnB1dCBmb3JtcyBmb3IgbG9hZGluZyBhIGN1c3RvbSBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqIC0gYGpzb25gOiBBbHJlYWR5LXBhcnNlZCBvYmplY3QgKHZhbGlkYXRlZCBpbW1lZGlhdGVseSkuXG4gKiAtIGB5YW1sYDogUmF3IFlBTUwgc3RyaW5nIChwYXJzZWQgdGhlbiB2YWxpZGF0ZWQpLlxuICogLSBgZmlsZWAgKyBvcHRpb25hbCBgcmVsYXRpdmVUb2A6IFBhdGggdG8gYSBZQU1ML0pTT04gZmlsZSBvbiBkaXNrLlxuICogICBQYXNzIGBpbXBvcnQubWV0YS51cmxgIGFzIGByZWxhdGl2ZVRvYCBmb3IgcmVsaWFibGUgcmVzb2x1dGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgSmNDdXN0b21Db21wb25lbnRJbnRlcm9wSW5wdXQgPVxuICB8IHtcbiAgICAgIGpzb246IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcFxuICAgIH1cbiAgfCB7XG4gICAgICB5YW1sOiBzdHJpbmdcbiAgICB9XG4gIHwge1xuICAgICAgZmlsZTogc3RyaW5nIHwgVVJMXG4gICAgICByZWxhdGl2ZVRvPzogc3RyaW5nIHwgVVJMXG4gICAgfVxuXG4vKipcbiAqIFJlc29sdmUgYSBmaWxlIHBhdGggKHN0cmluZyBvciBVUkwpIGludG8gYSBmaWxlOi8vIFVSTC5cbiAqIEhhbmRsZXMgYWJzb2x1dGUgcGF0aHMsIHJlbGF0aXZlIHBhdGhzLCBVUkwgb2JqZWN0cywgYW5kIHN0cmluZyBVUkxzLlxuICogV2hlbiBgcmVsYXRpdmVUb2AgaXMgYSBmaWxlIHBhdGggKG5vdCBhIGRpcmVjdG9yeSksIHN0cmlwcyB0aGUgZmlsZW5hbWVcbiAqIGJlZm9yZSByZXNvbHZpbmcgc28gY2FsbGVycyBjYW4gcGFzcyBgX19maWxlbmFtZWAgb3IgYGltcG9ydC5tZXRhLnVybGAuXG4gKi9cbmZ1bmN0aW9uIHRvRmlsZVVybChpbnB1dDogc3RyaW5nIHwgVVJMLCByZWxhdGl2ZVRvPzogc3RyaW5nIHwgVVJMKTogVVJMIHtcbiAgaWYgKGlucHV0IGluc3RhbmNlb2YgVVJMKSB7XG4gICAgcmV0dXJuIGlucHV0XG4gIH1cblxuICBpZiAocGF0aC5pc0Fic29sdXRlKGlucHV0KSkge1xuICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKGlucHV0KVxuICB9XG5cbiAgLy8gUmVsYXRpdmUgcGF0aCByZXF1aXJlcyBhIGJhc2UgdG8gcmVzb2x2ZSBhZ2FpbnN0LlxuICBpZiAoIXJlbGF0aXZlVG8pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgUmVsYXRpdmUgZmlsZSBwYXRoIFwiJHtpbnB1dH1cIiByZXF1aXJlcyBcInJlbGF0aXZlVG9cIiAocGFzcyBpbXBvcnQubWV0YS51cmwgZm9yIHJlbGlhYmxlIHJlc29sdXRpb24pLmAsXG4gICAgKVxuICB9XG5cbiAgLy8gVVJMIGJhc2Ug4oCUIGxldCB0aGUgVVJMIGNvbnN0cnVjdG9yIGhhbmRsZSByZWxhdGl2ZSByZXNvbHV0aW9uLlxuICBpZiAocmVsYXRpdmVUbyBpbnN0YW5jZW9mIFVSTCkge1xuICAgIHJldHVybiBuZXcgVVJMKGlucHV0LCByZWxhdGl2ZVRvKVxuICB9XG5cbiAgLy8gQ2FsbGVycyBtYXkgcGFzcyBhIGZpbGUgcGF0aCAoZS5nLiBfX2ZpbGVuYW1lKSDigJQgZGV0ZWN0IGFuZCBzdHJpcCB0byBkaXJuYW1lLlxuICBpZiAocGF0aC5pc0Fic29sdXRlKHJlbGF0aXZlVG8pKSB7XG4gICAgLy8gQ2hlY2sgaWYgcmVsYXRpdmVUbyBwb2ludHMgdG8gYSBkaXJlY3RvcnkgKHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcGF0aHMpLlxuICAgIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhyZWxhdGl2ZVRvLCB7IHRocm93SWZOb0VudHJ5OiBmYWxzZSB9KVxuXG4gICAgLy8gSWYgaXQncyBhIGRpcmVjdG9yeSwgcmVzb2x2ZSBkaXJlY3RseSBhZ2FpbnN0IGl0LlxuICAgIC8vIE90aGVyd2lzZSB0cmVhdCBpdCBhcyBhIGZpbGUgcGF0aCBhbmQgc3RyaXAgdG8gaXRzIHBhcmVudCBkaXJlY3RvcnkuXG4gICAgY29uc3QgYmFzZVBhdGggPSBzdGF0Py5pc0RpcmVjdG9yeSgpID8gcmVsYXRpdmVUbyA6IHBhdGguZGlybmFtZShyZWxhdGl2ZVRvKVxuXG4gICAgLy8gSm9pbiBiYXNlICsgcmVsYXRpdmUgaW5wdXQsIHRoZW4gY29udmVydCB0byBhIGZpbGU6Ly8gVVJMLlxuICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKHBhdGgucmVzb2x2ZShiYXNlUGF0aCwgaW5wdXQpKVxuICB9XG5cbiAgLy8gU3RyaW5nIFVSTCAoZS5nLiBcImZpbGU6Ly8vLi4uXCIpIOKAlCBkZWxlZ2F0ZSB0byBVUkwgY29uc3RydWN0b3IuXG4gIHJldHVybiBuZXcgVVJMKGlucHV0LCByZWxhdGl2ZVRvKVxufVxuXG4vKipcbiAqIExvYWQgYW5kIHZhbGlkYXRlIGEgY3VzdG9tIGNvbXBvbmVudCBkZWZpbml0aW9uIGZyb20gYW55IGlucHV0IGZvcm0uXG4gKiBSZXR1cm5zIGEgWm9kLXZhbGlkYXRlZCBjb25maWcgb2JqZWN0IHJlYWR5IHRvIHBhc3MgdGhyb3VnaCBhcy1pcy5cbiAqL1xuZnVuY3Rpb24gbG9hZEludGVyb3BDb25maWcoaW5wdXQ6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcElucHV0KTogSmNDdXN0b21Db21wb25lbnRJbnRlcm9wIHtcbiAgbGV0IHJhdzogdW5rbm93blxuXG4gIGlmICgnanNvbicgaW4gaW5wdXQpIHtcbiAgICByYXcgPSBpbnB1dC5qc29uXG4gIH0gZWxzZSBpZiAoJ3lhbWwnIGluIGlucHV0KSB7XG4gICAgcmF3ID0gcGFyc2VZYW1sKGlucHV0LnlhbWwpXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsOiBVUkwgPSB0b0ZpbGVVcmwoaW5wdXQuZmlsZSwgaW5wdXQucmVsYXRpdmVUbylcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmlsZVVSTFRvUGF0aCh1cmwpXG5cbiAgICBjb25zdCBleHQ6IHN0cmluZyA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCkudG9Mb3dlckNhc2UoKVxuICAgIGlmIChleHQgIT09ICcuanNvbicgJiYgZXh0ICE9PSAnLnlhbWwnICYmIGV4dCAhPT0gJy5qaWd4Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBjdXN0b20gY29tcG9uZW50IGZpbGUgZXh0ZW5zaW9uIFwiJHtleHR9XCI6ICR7ZmlsZVBhdGh9YClcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29udGVudDogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmOCcpXG4gICAgICByYXcgPVxuICAgICAgICBleHQgPT09ICcuanNvbidcbiAgICAgICAgICA/IEpTT04ucGFyc2UoY29udGVudCkgLy8gLmpzb25cbiAgICAgICAgICA6IHBhcnNlWWFtbChjb250ZW50KSAvLyAueWFtbCBvciAuamlneFxuICAgIH0gY2F0Y2ggKGNhdXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBjdXN0b20gY29tcG9uZW50IGZpbGU6ICR7ZmlsZVBhdGh9YCwgeyBjYXVzZSB9KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBDdXN0b21Db21wb25lbnRTY2hlbWEucGFyc2UocmF3KVxufVxuXG4vKipcbiAqIENvbXBhdGliaWxpdHktb25seSBicmlkZ2UgZm9yIGRlcHJlY2F0ZWQgY3VzdG9tIGNvbXBvbmVudHMuXG4gKlxuICogTG9hZHMgWUFNTC9KU09OLCB2YWxpZGF0ZXMgc2hhcGUsIHRoZW4gZW1pdHMgdGhlIHBheWxvYWQgdW5jaGFuZ2VkLlxuICpcbiAqIEBkZXByZWNhdGVkIEN1c3RvbSBjb21wb25lbnRzIGFyZSBkZXByZWNhdGVkLiBQcmVmZXIgbmF0aXZlIFNESyBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgSmNDdXN0b21Db21wb25lbnRJbnRlcm9wQnVpbGRlciBpbXBsZW1lbnRzIEpjQWRkVG9KaWc8SmNDdXN0b21Db21wb25lbnRJbnRlcm9wPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfZHJhZnRKYzogSmNDdXN0b21Db21wb25lbnRJbnRlcm9wXG5cbiAgY29uc3RydWN0b3IoaW5wdXQ6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcElucHV0KSB7XG4gICAgdGhpcy5fZHJhZnRKYyA9IGxvYWRJbnRlcm9wQ29uZmlnKGlucHV0KVxuICB9XG5cbiAgZ2V0IHR5cGUoKTogQ29tcG9uZW50VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWZ0SmMudHlwZVxuICB9XG5cbiAgd2hlbihqc29uYXRhOiBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fZHJhZnRKYy53aGVuID0gdG9FeHByZXNzaW9uKGpzb25hdGEpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIF92YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICAvLyBOby1vcCDigJQga2VwdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBidWlsZGVyc1xuICB9XG5cbiAgYnVpbGQoKTogSmNDdXN0b21Db21wb25lbnRJbnRlcm9wIHtcbiAgICByZXR1cm4gdGhpcy5fZHJhZnRKY1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGZyb20gYSB2YWxpZGF0ZWQgSlNPTi9ZQU1MIHNvdXJjZS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgQ3VzdG9tIGNvbXBvbmVudHMgYXJlIGRlcHJlY2F0ZWQuIFByZWZlciBuYXRpdmUgU0RLIGNvbXBvbmVudHMuXG4gICAqL1xuICBzdGF0aWMgZnJvbShpbnB1dDogSmNDdXN0b21Db21wb25lbnRJbnRlcm9wSW5wdXQpOiBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcEJ1aWxkZXIoaW5wdXQpXG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSByZWZlcmVuY2UtZm9ybSBjdXN0b20gY29tcG9uZW50IGRpcmVjdGx5IGluIGNvZGUuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIEN1c3RvbSBjb21wb25lbnRzIGFyZSBkZXByZWNhdGVkLiBQcmVmZXIgbmF0aXZlIFNESyBjb21wb25lbnRzLlxuICAgKi9cbiAgc3RhdGljIHJlZihvcHRpb25zOiB7XG4gICAgY29tcG9uZW50SWQ6IHN0cmluZ1xuICAgIGluc3RhbmNlSWQ/OiBJbnN0YW5jZUlkXG4gICAgaW5zdGFuY2VTY29wZT86ICdzb2x1dGlvbicgfCAnamlnJ1xuICAgIHdoZW4/OiBzdHJpbmcgfCBib29sZWFuXG4gICAgaW5wdXRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBhY3Rpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfSk6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgSmNDdXN0b21Db21wb25lbnRJbnRlcm9wQnVpbGRlcih7XG4gICAgICBqc29uOiBDdXN0b21Db21wb25lbnRTY2hlbWEucGFyc2Uoe1xuICAgICAgICB0eXBlOiBDT01QT05FTlRfVFlQRS5DVVNUT01fQ09NUE9ORU5ULFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfSksXG4gICAgfSlcbiAgfVxufVxuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jc.custom-component.interop.d.ts","sourceRoot":"","sources":["../../src/component/jc.custom-component.interop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAGlE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAA;AA0CvF,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;mBAAmE,CAAA;AAE9F,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAAG,MAAM,CAAA;AASrF,MAAM,MAAM,6BAA6B,GACrC;IACE,IAAI,EAAE,wBAAwB,CAAA;CAC/B,GACD;IACE,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAC1B,CAAA;AAuFL,qBAAa,+BAAgC,YAAW,UAAU,CAAC,wBAAwB,CAAC;IAC1F,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAA;IAErD,YAAY,KAAK,EAAE,6BAA6B,EAE/C;IAED,IAAI,IAAI,IAAI,aAAa,CAExB;IAED,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAG9B;IAED,SAAS,IAAI,IAAI,CAEhB;IAED,KAAK,IAAI,wBAAwB,CAEhC;IAOD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,6BAA6B,GAAG,+BAA+B,CAEjF;IAOD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,UAAU,CAAA;QACvB,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;QAClC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,GAAG,+BAA+B,CAOlC;CACF","sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\nimport { fileURLToPath, pathToFileURL } from 'node:url'\nimport { parse as parseYaml } from 'yaml'\nimport { z } from 'zod/v4'\nimport {\n type Primitive,\n PrimitiveSchema,\n type InstanceId,\n type Expression,\n toExpression,\n} from '../abstract/index.js'\nimport { type JcBase, type JcAddToJig } from './jc.abstract.js'\nimport { COMPONENT_TYPE, type ComponentType } from './jc.types.js'\n\n/** Recursive value type for custom component inputs/actions (primitives, arrays, objects). */\nexport type InteropValue = Primitive | InteropValue[] | { [key: string]: InteropValue }\n\nconst InteropValueSchema: z.ZodType<InteropValue> = z.union([\n PrimitiveSchema,\n z.array(z.lazy(() => InteropValueSchema)),\n z.record(\n z.string(),\n z.lazy(() => InteropValueSchema),\n ),\n])\n\n// Reference form: componentId + optional inputs/actions.\n// Most common pattern — references a separately-defined custom component by ID.\nconst CustomComponentRefSchema = z\n .object({\n type: z.literal(COMPONENT_TYPE.CUSTOM_COMPONENT),\n componentId: z.string().min(1),\n instanceId: z.string().optional(),\n instanceScope: z.enum(['solution', 'jig']).optional(),\n when: z.union([z.string(), z.boolean()]).optional(),\n inputs: z.record(z.string(), InteropValueSchema).optional(),\n actions: z.record(z.string(), InteropValueSchema).optional(),\n })\n .loose()\n\n// Inline form: options.children array instead of componentId.\n// Less common — embeds child components directly.\nconst CustomComponentInlineSchema = z\n .object({\n type: z.literal(COMPONENT_TYPE.CUSTOM_COMPONENT),\n instanceId: z.string().optional(),\n instanceScope: z.enum(['solution', 'jig']).optional(),\n when: z.union([z.string(), z.boolean()]).optional(),\n options: z\n .object({\n children: z.array(z.record(z.string(), InteropValueSchema)).min(1),\n })\n .loose(),\n })\n .loose()\n\n// Discriminated union: ref form (has componentId) or inline form (has options.children).\nconst CustomComponentSchema = z.union([CustomComponentRefSchema, CustomComponentInlineSchema])\n\nexport type JcCustomComponentInterop = z.infer<typeof CustomComponentSchema> & JcBase\n\n/**\n * Accepted input forms for loading a custom component definition.\n * - `json`: Already-parsed object (validated immediately).\n * - `yaml`: Raw YAML string (parsed then validated).\n * - `file` + optional `relativeTo`: Path to a YAML/JSON file on disk.\n * Pass `import.meta.url` as `relativeTo` for reliable resolution.\n */\nexport type JcCustomComponentInteropInput =\n | {\n json: JcCustomComponentInterop\n }\n | {\n yaml: string\n }\n | {\n file: string | URL\n relativeTo?: string | URL\n }\n\n/**\n * Resolve a file path (string or URL) into a file:// URL.\n * Handles absolute paths, relative paths, URL objects, and string URLs.\n * When `relativeTo` is a file path (not a directory), strips the filename\n * before resolving so callers can pass `__filename` or `import.meta.url`.\n */\nfunction toFileUrl(input: string | URL, relativeTo?: string | URL): URL {\n if (input instanceof URL) {\n return input\n }\n\n if (path.isAbsolute(input)) {\n return pathToFileURL(input)\n }\n\n // Relative path requires a base to resolve against.\n if (!relativeTo) {\n throw new Error(\n `Relative file path \"${input}\" requires \"relativeTo\" (pass import.meta.url for reliable resolution).`,\n )\n }\n\n // URL base — let the URL constructor handle relative resolution.\n if (relativeTo instanceof URL) {\n return new URL(input, relativeTo)\n }\n\n // Callers may pass a file path (e.g. __filename) — detect and strip to dirname.\n if (path.isAbsolute(relativeTo)) {\n // Check if relativeTo points to a directory (returns undefined for non-existent paths).\n const stat = fs.statSync(relativeTo, { throwIfNoEntry: false })\n\n // If it's a directory, resolve directly against it.\n // Otherwise treat it as a file path and strip to its parent directory.\n const basePath = stat?.isDirectory() ? relativeTo : path.dirname(relativeTo)\n\n // Join base + relative input, then convert to a file:// URL.\n return pathToFileURL(path.resolve(basePath, input))\n }\n\n // String URL (e.g. \"file:///...\") — delegate to URL constructor.\n return new URL(input, relativeTo)\n}\n\n/**\n * Load and validate a custom component definition from any input form.\n * Returns a Zod-validated config object ready to pass through as-is.\n */\nfunction loadInteropConfig(input: JcCustomComponentInteropInput): JcCustomComponentInterop {\n let raw: unknown\n\n if ('json' in input) {\n raw = input.json\n } else if ('yaml' in input) {\n raw = parseYaml(input.yaml)\n } else {\n const url: URL = toFileUrl(input.file, input.relativeTo)\n const filePath: string = fileURLToPath(url)\n\n const ext: string = path.extname(filePath).toLowerCase()\n if (ext !== '.json' && ext !== '.yaml' && ext !== '.jigx') {\n throw new Error(`Unsupported custom component file extension \"${ext}\": ${filePath}`)\n }\n\n try {\n const content: string = fs.readFileSync(filePath, 'utf8')\n raw =\n ext === '.json'\n ? JSON.parse(content) // .json\n : parseYaml(content) // .yaml or .jigx\n } catch (cause) {\n throw new Error(`Failed to parse custom component file: ${filePath}`, { cause })\n }\n }\n\n return CustomComponentSchema.parse(raw)\n}\n\n/**\n * Compatibility-only bridge for deprecated custom components.\n *\n * Loads YAML/JSON, validates shape, then emits the payload unchanged.\n *\n * @deprecated Custom components are deprecated. Prefer native SDK components.\n */\nexport class JcCustomComponentInteropBuilder implements JcAddToJig<JcCustomComponentInterop> {\n protected readonly _draftJc: JcCustomComponentInterop\n\n constructor(input: JcCustomComponentInteropInput) {\n this._draftJc = loadInteropConfig(input)\n }\n\n get type(): ComponentType {\n return this._draftJc.type\n }\n\n when(jsonata: Expression): this {\n this._draftJc.when = toExpression(jsonata)\n return this\n }\n\n _validate(): void {\n // No-op — kept for consistency with other builders\n }\n\n build(): JcCustomComponentInterop {\n return this._draftJc\n }\n\n /**\n * Build from a validated JSON/YAML source.\n *\n * @deprecated Custom components are deprecated. Prefer native SDK components.\n */\n static from(input: JcCustomComponentInteropInput): JcCustomComponentInteropBuilder {\n return new JcCustomComponentInteropBuilder(input)\n }\n\n /**\n * Build a reference-form custom component directly in code.\n *\n * @deprecated Custom components are deprecated. Prefer native SDK components.\n */\n static ref(options: {\n componentId: string\n instanceId?: InstanceId\n instanceScope?: 'solution' | 'jig'\n when?: string | boolean\n inputs?: Record<string, unknown>\n actions?: Record<string, unknown>\n }): JcCustomComponentInteropBuilder {\n return new JcCustomComponentInteropBuilder({\n json: CustomComponentSchema.parse({\n type: COMPONENT_TYPE.CUSTOM_COMPONENT,\n ...options,\n }),\n })\n }\n}\n"]}
@@ -0,0 +1,115 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath, pathToFileURL } from 'node:url';
4
+ import { parse as parseYaml } from 'yaml';
5
+ import { z } from 'zod/v4';
6
+ import { PrimitiveSchema, toExpression, } from '../abstract/index.js';
7
+ import { COMPONENT_TYPE } from './jc.types.js';
8
+ const InteropValueSchema = z.union([
9
+ PrimitiveSchema,
10
+ z.array(z.lazy(() => InteropValueSchema)),
11
+ z.record(z.string(), z.lazy(() => InteropValueSchema)),
12
+ ]);
13
+ const CustomComponentRefSchema = z
14
+ .object({
15
+ type: z.literal(COMPONENT_TYPE.CUSTOM_COMPONENT),
16
+ componentId: z.string().min(1),
17
+ instanceId: z.string().optional(),
18
+ instanceScope: z.enum(['solution', 'jig']).optional(),
19
+ when: z.union([z.string(), z.boolean()]).optional(),
20
+ inputs: z.record(z.string(), InteropValueSchema).optional(),
21
+ actions: z.record(z.string(), InteropValueSchema).optional(),
22
+ })
23
+ .loose();
24
+ const CustomComponentInlineSchema = z
25
+ .object({
26
+ type: z.literal(COMPONENT_TYPE.CUSTOM_COMPONENT),
27
+ instanceId: z.string().optional(),
28
+ instanceScope: z.enum(['solution', 'jig']).optional(),
29
+ when: z.union([z.string(), z.boolean()]).optional(),
30
+ options: z
31
+ .object({
32
+ children: z.array(z.record(z.string(), InteropValueSchema)).min(1),
33
+ })
34
+ .loose(),
35
+ })
36
+ .loose();
37
+ const CustomComponentSchema = z.union([CustomComponentRefSchema, CustomComponentInlineSchema]);
38
+ function toFileUrl(input, relativeTo) {
39
+ if (input instanceof URL) {
40
+ return input;
41
+ }
42
+ if (path.isAbsolute(input)) {
43
+ return pathToFileURL(input);
44
+ }
45
+ if (!relativeTo) {
46
+ throw new Error(`Relative file path "${input}" requires "relativeTo" (pass import.meta.url for reliable resolution).`);
47
+ }
48
+ if (relativeTo instanceof URL) {
49
+ return new URL(input, relativeTo);
50
+ }
51
+ if (path.isAbsolute(relativeTo)) {
52
+ const stat = fs.statSync(relativeTo, { throwIfNoEntry: false });
53
+ const basePath = stat?.isDirectory() ? relativeTo : path.dirname(relativeTo);
54
+ return pathToFileURL(path.resolve(basePath, input));
55
+ }
56
+ return new URL(input, relativeTo);
57
+ }
58
+ function loadInteropConfig(input) {
59
+ let raw;
60
+ if ('json' in input) {
61
+ raw = input.json;
62
+ }
63
+ else if ('yaml' in input) {
64
+ raw = parseYaml(input.yaml);
65
+ }
66
+ else {
67
+ const url = toFileUrl(input.file, input.relativeTo);
68
+ const filePath = fileURLToPath(url);
69
+ const ext = path.extname(filePath).toLowerCase();
70
+ if (ext !== '.json' && ext !== '.yaml' && ext !== '.jigx') {
71
+ throw new Error(`Unsupported custom component file extension "${ext}": ${filePath}`);
72
+ }
73
+ try {
74
+ const content = fs.readFileSync(filePath, 'utf8');
75
+ raw =
76
+ ext === '.json'
77
+ ? JSON.parse(content)
78
+ : parseYaml(content);
79
+ }
80
+ catch (cause) {
81
+ throw new Error(`Failed to parse custom component file: ${filePath}`, { cause });
82
+ }
83
+ }
84
+ return CustomComponentSchema.parse(raw);
85
+ }
86
+ export class JcCustomComponentInteropBuilder {
87
+ _draftJc;
88
+ constructor(input) {
89
+ this._draftJc = loadInteropConfig(input);
90
+ }
91
+ get type() {
92
+ return this._draftJc.type;
93
+ }
94
+ when(jsonata) {
95
+ this._draftJc.when = toExpression(jsonata);
96
+ return this;
97
+ }
98
+ _validate() {
99
+ }
100
+ build() {
101
+ return this._draftJc;
102
+ }
103
+ static from(input) {
104
+ return new JcCustomComponentInteropBuilder(input);
105
+ }
106
+ static ref(options) {
107
+ return new JcCustomComponentInteropBuilder({
108
+ json: CustomComponentSchema.parse({
109
+ type: COMPONENT_TYPE.CUSTOM_COMPONENT,
110
+ ...options,
111
+ }),
112
+ });
113
+ }
114
+ }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuY3VzdG9tLWNvbXBvbmVudC5pbnRlcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5jdXN0b20tY29tcG9uZW50LmludGVyb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3hCLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN6QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzFCLE9BQU8sRUFFTCxlQUFlLEVBR2YsWUFBWSxHQUNiLE1BQU0sc0JBQXNCLENBQUE7QUFFN0IsT0FBTyxFQUFFLGNBQWMsRUFBc0IsTUFBTSxlQUFlLENBQUE7QUFLbEUsTUFBTSxrQkFBa0IsR0FBNEIsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRCxlQUFlO0lBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLE1BQU0sQ0FDTixDQUFDLENBQUMsTUFBTSxFQUFFLEVBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUNqQztDQUNGLENBQUMsQ0FBQTtBQUlGLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQztLQUMvQixNQUFNLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7SUFDaEQsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JELElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25ELE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMzRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDN0QsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFBO0FBSVYsTUFBTSwyQkFBMkIsR0FBRyxDQUFDO0tBQ2xDLE1BQU0sQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNoRCxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuRCxPQUFPLEVBQUUsQ0FBQztTQUNQLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ25FLENBQUM7U0FDRCxLQUFLLEVBQUU7Q0FDWCxDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUE7QUFHVixNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUE7QUE2QjlGLFNBQVMsU0FBUyxDQUFDLEtBQW1CLEVBQUUsVUFBeUIsRUFBTztJQUN0RSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBR0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUJBQXVCLEtBQUsseUVBQXlFLENBQ3RHLENBQUE7SUFDSCxDQUFDO0lBR0QsSUFBSSxVQUFVLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUdELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBRWhDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFJL0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7UUFHNUUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBR0QsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFBQSxDQUNsQztBQU1ELFNBQVMsaUJBQWlCLENBQUMsS0FBb0MsRUFBNEI7SUFDekYsSUFBSSxHQUFZLENBQUE7SUFFaEIsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7UUFDcEIsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUE7SUFDbEIsQ0FBQztTQUFNLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQzNCLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzdCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxHQUFHLEdBQVEsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3hELE1BQU0sUUFBUSxHQUFXLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUUzQyxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3hELElBQUksR0FBRyxLQUFLLE9BQU8sSUFBSSxHQUFHLEtBQUssT0FBTyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxHQUFHLE1BQU0sUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDekQsR0FBRztnQkFDRCxHQUFHLEtBQUssT0FBTztvQkFDYixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDMUIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbEYsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFBLENBQ3hDO0FBU0QsTUFBTSxPQUFPLCtCQUErQjtJQUN2QixRQUFRLENBQTBCO0lBRXJELFlBQVksS0FBb0MsRUFBRTtRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQUEsQ0FDekM7SUFFRCxJQUFJLElBQUksR0FBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQTtJQUFBLENBQzFCO0lBRUQsSUFBSSxDQUFDLE9BQW1CLEVBQVE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzFDLE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtJQUVELFNBQVMsR0FBUztJQUFDLENBRWxCO0lBRUQsS0FBSyxHQUE2QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFBQSxDQUNyQjtJQU9ELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBb0MsRUFBbUM7UUFDakYsT0FBTyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQUEsQ0FDbEQ7SUFPRCxNQUFNLENBQUMsR0FBRyxDQUFDLE9BT1YsRUFBbUM7UUFDbEMsT0FBTyxJQUFJLCtCQUErQixDQUFDO1lBQ3pDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hDLElBQUksRUFBRSxjQUFjLENBQUMsZ0JBQWdCO2dCQUNyQyxHQUFHLE9BQU87YUFDWCxDQUFDO1NBQ0gsQ0FBQyxDQUFBO0lBQUEsQ0FDSDtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZVlhbWwgfSBmcm9tICd5YW1sJ1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZC92NCdcbmltcG9ydCB7XG4gIHR5cGUgUHJpbWl0aXZlLFxuICBQcmltaXRpdmVTY2hlbWEsXG4gIHR5cGUgSW5zdGFuY2VJZCxcbiAgdHlwZSBFeHByZXNzaW9uLFxuICB0b0V4cHJlc3Npb24sXG59IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBKY0Jhc2UsIHR5cGUgSmNBZGRUb0ppZyB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSwgdHlwZSBDb21wb25lbnRUeXBlIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLyoqIFJlY3Vyc2l2ZSB2YWx1ZSB0eXBlIGZvciBjdXN0b20gY29tcG9uZW50IGlucHV0cy9hY3Rpb25zIChwcmltaXRpdmVzLCBhcnJheXMsIG9iamVjdHMpLiAqL1xuZXhwb3J0IHR5cGUgSW50ZXJvcFZhbHVlID0gUHJpbWl0aXZlIHwgSW50ZXJvcFZhbHVlW10gfCB7IFtrZXk6IHN0cmluZ106IEludGVyb3BWYWx1ZSB9XG5cbmNvbnN0IEludGVyb3BWYWx1ZVNjaGVtYTogei5ab2RUeXBlPEludGVyb3BWYWx1ZT4gPSB6LnVuaW9uKFtcbiAgUHJpbWl0aXZlU2NoZW1hLFxuICB6LmFycmF5KHoubGF6eSgoKSA9PiBJbnRlcm9wVmFsdWVTY2hlbWEpKSxcbiAgei5yZWNvcmQoXG4gICAgei5zdHJpbmcoKSxcbiAgICB6LmxhenkoKCkgPT4gSW50ZXJvcFZhbHVlU2NoZW1hKSxcbiAgKSxcbl0pXG5cbi8vIFJlZmVyZW5jZSBmb3JtOiBjb21wb25lbnRJZCArIG9wdGlvbmFsIGlucHV0cy9hY3Rpb25zLlxuLy8gTW9zdCBjb21tb24gcGF0dGVybiDigJQgcmVmZXJlbmNlcyBhIHNlcGFyYXRlbHktZGVmaW5lZCBjdXN0b20gY29tcG9uZW50IGJ5IElELlxuY29uc3QgQ3VzdG9tQ29tcG9uZW50UmVmU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoQ09NUE9ORU5UX1RZUEUuQ1VTVE9NX0NPTVBPTkVOVCksXG4gICAgY29tcG9uZW50SWQ6IHouc3RyaW5nKCkubWluKDEpLFxuICAgIGluc3RhbmNlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpbnN0YW5jZVNjb3BlOiB6LmVudW0oWydzb2x1dGlvbicsICdqaWcnXSkub3B0aW9uYWwoKSxcbiAgICB3aGVuOiB6LnVuaW9uKFt6LnN0cmluZygpLCB6LmJvb2xlYW4oKV0pLm9wdGlvbmFsKCksXG4gICAgaW5wdXRzOiB6LnJlY29yZCh6LnN0cmluZygpLCBJbnRlcm9wVmFsdWVTY2hlbWEpLm9wdGlvbmFsKCksXG4gICAgYWN0aW9uczogei5yZWNvcmQoei5zdHJpbmcoKSwgSW50ZXJvcFZhbHVlU2NoZW1hKS5vcHRpb25hbCgpLFxuICB9KVxuICAubG9vc2UoKVxuXG4vLyBJbmxpbmUgZm9ybTogb3B0aW9ucy5jaGlsZHJlbiBhcnJheSBpbnN0ZWFkIG9mIGNvbXBvbmVudElkLlxuLy8gTGVzcyBjb21tb24g4oCUIGVtYmVkcyBjaGlsZCBjb21wb25lbnRzIGRpcmVjdGx5LlxuY29uc3QgQ3VzdG9tQ29tcG9uZW50SW5saW5lU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoQ09NUE9ORU5UX1RZUEUuQ1VTVE9NX0NPTVBPTkVOVCksXG4gICAgaW5zdGFuY2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGluc3RhbmNlU2NvcGU6IHouZW51bShbJ3NvbHV0aW9uJywgJ2ppZyddKS5vcHRpb25hbCgpLFxuICAgIHdoZW46IHoudW5pb24oW3ouc3RyaW5nKCksIHouYm9vbGVhbigpXSkub3B0aW9uYWwoKSxcbiAgICBvcHRpb25zOiB6XG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgY2hpbGRyZW46IHouYXJyYXkoei5yZWNvcmQoei5zdHJpbmcoKSwgSW50ZXJvcFZhbHVlU2NoZW1hKSkubWluKDEpLFxuICAgICAgfSlcbiAgICAgIC5sb29zZSgpLFxuICB9KVxuICAubG9vc2UoKVxuXG4vLyBEaXNjcmltaW5hdGVkIHVuaW9uOiByZWYgZm9ybSAoaGFzIGNvbXBvbmVudElkKSBvciBpbmxpbmUgZm9ybSAoaGFzIG9wdGlvbnMuY2hpbGRyZW4pLlxuY29uc3QgQ3VzdG9tQ29tcG9uZW50U2NoZW1hID0gei51bmlvbihbQ3VzdG9tQ29tcG9uZW50UmVmU2NoZW1hLCBDdXN0b21Db21wb25lbnRJbmxpbmVTY2hlbWFdKVxuXG5leHBvcnQgdHlwZSBKY0N1c3RvbUNvbXBvbmVudEludGVyb3AgPSB6LmluZmVyPHR5cGVvZiBDdXN0b21Db21wb25lbnRTY2hlbWE+ICYgSmNCYXNlXG5cbi8qKlxuICogQWNjZXB0ZWQgaW5wdXQgZm9ybXMgZm9yIGxvYWRpbmcgYSBjdXN0b20gY29tcG9uZW50IGRlZmluaXRpb24uXG4gKiAtIGBqc29uYDogQWxyZWFkeS1wYXJzZWQgb2JqZWN0ICh2YWxpZGF0ZWQgaW1tZWRpYXRlbHkpLlxuICogLSBgeWFtbGA6IFJhdyBZQU1MIHN0cmluZyAocGFyc2VkIHRoZW4gdmFsaWRhdGVkKS5cbiAqIC0gYGZpbGVgICsgb3B0aW9uYWwgYHJlbGF0aXZlVG9gOiBQYXRoIHRvIGEgWUFNTC9KU09OIGZpbGUgb24gZGlzay5cbiAqICAgUGFzcyBgaW1wb3J0Lm1ldGEudXJsYCBhcyBgcmVsYXRpdmVUb2AgZm9yIHJlbGlhYmxlIHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcElucHV0ID1cbiAgfCB7XG4gICAgICBqc29uOiBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BcbiAgICB9XG4gIHwge1xuICAgICAgeWFtbDogc3RyaW5nXG4gICAgfVxuICB8IHtcbiAgICAgIGZpbGU6IHN0cmluZyB8IFVSTFxuICAgICAgcmVsYXRpdmVUbz86IHN0cmluZyB8IFVSTFxuICAgIH1cblxuLyoqXG4gKiBSZXNvbHZlIGEgZmlsZSBwYXRoIChzdHJpbmcgb3IgVVJMKSBpbnRvIGEgZmlsZTovLyBVUkwuXG4gKiBIYW5kbGVzIGFic29sdXRlIHBhdGhzLCByZWxhdGl2ZSBwYXRocywgVVJMIG9iamVjdHMsIGFuZCBzdHJpbmcgVVJMcy5cbiAqIFdoZW4gYHJlbGF0aXZlVG9gIGlzIGEgZmlsZSBwYXRoIChub3QgYSBkaXJlY3RvcnkpLCBzdHJpcHMgdGhlIGZpbGVuYW1lXG4gKiBiZWZvcmUgcmVzb2x2aW5nIHNvIGNhbGxlcnMgY2FuIHBhc3MgYF9fZmlsZW5hbWVgIG9yIGBpbXBvcnQubWV0YS51cmxgLlxuICovXG5mdW5jdGlvbiB0b0ZpbGVVcmwoaW5wdXQ6IHN0cmluZyB8IFVSTCwgcmVsYXRpdmVUbz86IHN0cmluZyB8IFVSTCk6IFVSTCB7XG4gIGlmIChpbnB1dCBpbnN0YW5jZW9mIFVSTCkge1xuICAgIHJldHVybiBpbnB1dFxuICB9XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShpbnB1dCkpIHtcbiAgICByZXR1cm4gcGF0aFRvRmlsZVVSTChpbnB1dClcbiAgfVxuXG4gIC8vIFJlbGF0aXZlIHBhdGggcmVxdWlyZXMgYSBiYXNlIHRvIHJlc29sdmUgYWdhaW5zdC5cbiAgaWYgKCFyZWxhdGl2ZVRvKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFJlbGF0aXZlIGZpbGUgcGF0aCBcIiR7aW5wdXR9XCIgcmVxdWlyZXMgXCJyZWxhdGl2ZVRvXCIgKHBhc3MgaW1wb3J0Lm1ldGEudXJsIGZvciByZWxpYWJsZSByZXNvbHV0aW9uKS5gLFxuICAgIClcbiAgfVxuXG4gIC8vIFVSTCBiYXNlIOKAlCBsZXQgdGhlIFVSTCBjb25zdHJ1Y3RvciBoYW5kbGUgcmVsYXRpdmUgcmVzb2x1dGlvbi5cbiAgaWYgKHJlbGF0aXZlVG8gaW5zdGFuY2VvZiBVUkwpIHtcbiAgICByZXR1cm4gbmV3IFVSTChpbnB1dCwgcmVsYXRpdmVUbylcbiAgfVxuXG4gIC8vIENhbGxlcnMgbWF5IHBhc3MgYSBmaWxlIHBhdGggKGUuZy4gX19maWxlbmFtZSkg4oCUIGRldGVjdCBhbmQgc3RyaXAgdG8gZGlybmFtZS5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShyZWxhdGl2ZVRvKSkge1xuICAgIC8vIENoZWNrIGlmIHJlbGF0aXZlVG8gcG9pbnRzIHRvIGEgZGlyZWN0b3J5IChyZXR1cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50IHBhdGhzKS5cbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMocmVsYXRpdmVUbywgeyB0aHJvd0lmTm9FbnRyeTogZmFsc2UgfSlcblxuICAgIC8vIElmIGl0J3MgYSBkaXJlY3RvcnksIHJlc29sdmUgZGlyZWN0bHkgYWdhaW5zdCBpdC5cbiAgICAvLyBPdGhlcndpc2UgdHJlYXQgaXQgYXMgYSBmaWxlIHBhdGggYW5kIHN0cmlwIHRvIGl0cyBwYXJlbnQgZGlyZWN0b3J5LlxuICAgIGNvbnN0IGJhc2VQYXRoID0gc3RhdD8uaXNEaXJlY3RvcnkoKSA/IHJlbGF0aXZlVG8gOiBwYXRoLmRpcm5hbWUocmVsYXRpdmVUbylcblxuICAgIC8vIEpvaW4gYmFzZSArIHJlbGF0aXZlIGlucHV0LCB0aGVuIGNvbnZlcnQgdG8gYSBmaWxlOi8vIFVSTC5cbiAgICByZXR1cm4gcGF0aFRvRmlsZVVSTChwYXRoLnJlc29sdmUoYmFzZVBhdGgsIGlucHV0KSlcbiAgfVxuXG4gIC8vIFN0cmluZyBVUkwgKGUuZy4gXCJmaWxlOi8vLy4uLlwiKSDigJQgZGVsZWdhdGUgdG8gVVJMIGNvbnN0cnVjdG9yLlxuICByZXR1cm4gbmV3IFVSTChpbnB1dCwgcmVsYXRpdmVUbylcbn1cblxuLyoqXG4gKiBMb2FkIGFuZCB2YWxpZGF0ZSBhIGN1c3RvbSBjb21wb25lbnQgZGVmaW5pdGlvbiBmcm9tIGFueSBpbnB1dCBmb3JtLlxuICogUmV0dXJucyBhIFpvZC12YWxpZGF0ZWQgY29uZmlnIG9iamVjdCByZWFkeSB0byBwYXNzIHRocm91Z2ggYXMtaXMuXG4gKi9cbmZ1bmN0aW9uIGxvYWRJbnRlcm9wQ29uZmlnKGlucHV0OiBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BJbnB1dCk6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcCB7XG4gIGxldCByYXc6IHVua25vd25cblxuICBpZiAoJ2pzb24nIGluIGlucHV0KSB7XG4gICAgcmF3ID0gaW5wdXQuanNvblxuICB9IGVsc2UgaWYgKCd5YW1sJyBpbiBpbnB1dCkge1xuICAgIHJhdyA9IHBhcnNlWWFtbChpbnB1dC55YW1sKVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVybDogVVJMID0gdG9GaWxlVXJsKGlucHV0LmZpbGUsIGlucHV0LnJlbGF0aXZlVG8pXG4gICAgY29uc3QgZmlsZVBhdGg6IHN0cmluZyA9IGZpbGVVUkxUb1BhdGgodXJsKVxuXG4gICAgY29uc3QgZXh0OiBzdHJpbmcgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpLnRvTG93ZXJDYXNlKClcbiAgICBpZiAoZXh0ICE9PSAnLmpzb24nICYmIGV4dCAhPT0gJy55YW1sJyAmJiBleHQgIT09ICcuamlneCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgY3VzdG9tIGNvbXBvbmVudCBmaWxlIGV4dGVuc2lvbiBcIiR7ZXh0fVwiOiAke2ZpbGVQYXRofWApXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKVxuICAgICAgcmF3ID1cbiAgICAgICAgZXh0ID09PSAnLmpzb24nXG4gICAgICAgICAgPyBKU09OLnBhcnNlKGNvbnRlbnQpIC8vIC5qc29uXG4gICAgICAgICAgOiBwYXJzZVlhbWwoY29udGVudCkgLy8gLnlhbWwgb3IgLmppZ3hcbiAgICB9IGNhdGNoIChjYXVzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gcGFyc2UgY3VzdG9tIGNvbXBvbmVudCBmaWxlOiAke2ZpbGVQYXRofWAsIHsgY2F1c2UgfSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gQ3VzdG9tQ29tcG9uZW50U2NoZW1hLnBhcnNlKHJhdylcbn1cblxuLyoqXG4gKiBDb21wYXRpYmlsaXR5LW9ubHkgYnJpZGdlIGZvciBkZXByZWNhdGVkIGN1c3RvbSBjb21wb25lbnRzLlxuICpcbiAqIExvYWRzIFlBTUwvSlNPTiwgdmFsaWRhdGVzIHNoYXBlLCB0aGVuIGVtaXRzIHRoZSBwYXlsb2FkIHVuY2hhbmdlZC5cbiAqXG4gKiBAZGVwcmVjYXRlZCBDdXN0b20gY29tcG9uZW50cyBhcmUgZGVwcmVjYXRlZC4gUHJlZmVyIG5hdGl2ZSBTREsgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcEJ1aWxkZXIgaW1wbGVtZW50cyBKY0FkZFRvSmlnPEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcD4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RyYWZ0SmM6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcFxuXG4gIGNvbnN0cnVjdG9yKGlucHV0OiBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BJbnB1dCkge1xuICAgIHRoaXMuX2RyYWZ0SmMgPSBsb2FkSW50ZXJvcENvbmZpZyhpbnB1dClcbiAgfVxuXG4gIGdldCB0eXBlKCk6IENvbXBvbmVudFR5cGUge1xuICAgIHJldHVybiB0aGlzLl9kcmFmdEpjLnR5cGVcbiAgfVxuXG4gIHdoZW4oanNvbmF0YTogRXhwcmVzc2lvbik6IHRoaXMge1xuICAgIHRoaXMuX2RyYWZ0SmMud2hlbiA9IHRvRXhwcmVzc2lvbihqc29uYXRhKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBfdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgLy8gTm8tb3Ag4oCUIGtlcHQgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgYnVpbGRlcnNcbiAgfVxuXG4gIGJ1aWxkKCk6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcCB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWZ0SmNcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBmcm9tIGEgdmFsaWRhdGVkIEpTT04vWUFNTCBzb3VyY2UuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIEN1c3RvbSBjb21wb25lbnRzIGFyZSBkZXByZWNhdGVkLiBQcmVmZXIgbmF0aXZlIFNESyBjb21wb25lbnRzLlxuICAgKi9cbiAgc3RhdGljIGZyb20oaW5wdXQ6IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcElucHV0KTogSmNDdXN0b21Db21wb25lbnRJbnRlcm9wQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BCdWlsZGVyKGlucHV0KVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgcmVmZXJlbmNlLWZvcm0gY3VzdG9tIGNvbXBvbmVudCBkaXJlY3RseSBpbiBjb2RlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBDdXN0b20gY29tcG9uZW50cyBhcmUgZGVwcmVjYXRlZC4gUHJlZmVyIG5hdGl2ZSBTREsgY29tcG9uZW50cy5cbiAgICovXG4gIHN0YXRpYyByZWYob3B0aW9uczoge1xuICAgIGNvbXBvbmVudElkOiBzdHJpbmdcbiAgICBpbnN0YW5jZUlkPzogSW5zdGFuY2VJZFxuICAgIGluc3RhbmNlU2NvcGU/OiAnc29sdXRpb24nIHwgJ2ppZydcbiAgICB3aGVuPzogc3RyaW5nIHwgYm9vbGVhblxuICAgIGlucHV0cz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgYWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH0pOiBKY0N1c3RvbUNvbXBvbmVudEludGVyb3BCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IEpjQ3VzdG9tQ29tcG9uZW50SW50ZXJvcEJ1aWxkZXIoe1xuICAgICAganNvbjogQ3VzdG9tQ29tcG9uZW50U2NoZW1hLnBhcnNlKHtcbiAgICAgICAgdHlwZTogQ09NUE9ORU5UX1RZUEUuQ1VTVE9NX0NPTVBPTkVOVCxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { type Expression, type TextValue } from '../abstract/index.js';
2
+ import { type DatePickerMode, JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js';
3
+ export interface JcDatePickerInput extends JcFieldBaseInput {
4
+ readonly value?: string | TextValue | Expression;
5
+ readonly initialValue?: string | TextValue | Expression;
6
+ readonly mode?: DatePickerMode;
7
+ readonly format?: string;
8
+ readonly minimum?: string | number | Expression;
9
+ readonly maximum?: string | number | Expression;
10
+ }
11
+ export declare class JcDatePickerBuilder extends JcFieldBaseBuilder<JcDatePickerInput> {
12
+ constructor(options: JcDatePickerInput);
13
+ with(options: Partial<Omit<JcDatePickerInput, 'instanceId'>>): this;
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZGF0ZS1waWNrZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuZGF0ZS1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssU0FBUyxFQUFvQixNQUFNLHNCQUFzQixDQUFBO0FBQ3hGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFNbEcsTUFBTSxXQUFXLGlCQUFrQixTQUFRLGdCQUFnQjtJQUV6RCxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUE7SUFHaEQsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsVUFBVSxDQUFBO0lBR3ZELFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLENBQUE7SUFHOUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtJQUd4QixRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBQUE7SUFHL0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsVUFBVSxDQUFBO0NBQ2hEO0FBU0QscUJBQWEsbUJBQW9CLFNBQVEsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7SUFDNUUsWUFBWSxPQUFPLEVBQUUsaUJBQWlCLEVBRXJDO0lBRVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQXVCM0U7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhwcmVzc2lvbiwgdHlwZSBUZXh0VmFsdWUsIFRleHRWYWx1ZUJ1aWxkZXIgfSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgRGF0ZVBpY2tlck1vZGUsIEpjRmllbGRCYXNlQnVpbGRlciwgdHlwZSBKY0ZpZWxkQmFzZUlucHV0IH0gZnJvbSAnLi9jb21tb24vaW5kZXguanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8qKlxuICogRGF0ZSBwaWNrZXIgc3BlY2lmaWMgaW5wdXQgaW50ZXJmYWNlIGV4dGVuZGluZyBiYXNlIGZpZWxkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjRGF0ZVBpY2tlcklucHV0IGV4dGVuZHMgSmNGaWVsZEJhc2VJbnB1dCB7XG4gIC8qKiBTZWxlY3RlZCBkYXRlIHZhbHVlICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBJbml0aWFsIGRhdGUgdmFsdWUgKi9cbiAgcmVhZG9ubHkgaW5pdGlhbFZhbHVlPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBEYXRlIHBpY2tlciBtb2RlOiAnZGF0ZScsICd0aW1lJywgb3IgJ2RhdGV0aW1lJyAqL1xuICByZWFkb25seSBtb2RlPzogRGF0ZVBpY2tlck1vZGVcblxuICAvKiogRGF0ZSBkaXNwbGF5IGZvcm1hdCAoZS5nLiAnTU0vZGQveXl5eScpICovXG4gIHJlYWRvbmx5IGZvcm1hdD86IHN0cmluZ1xuXG4gIC8qKiBNaW5pbXVtIHNlbGVjdGFibGUgZGF0ZSAqL1xuICByZWFkb25seSBtaW5pbXVtPzogc3RyaW5nIHwgbnVtYmVyIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBNYXhpbXVtIHNlbGVjdGFibGUgZGF0ZSAqL1xuICByZWFkb25seSBtYXhpbXVtPzogc3RyaW5nIHwgbnVtYmVyIHwgRXhwcmVzc2lvblxufVxuXG4vKipcbiAqIEJ1aWxkcyBkYXRlIHBpY2tlciBmaWVsZHMgZm9yIGZvcm1zLCB3aXRoIGNhbGVuZGFyIHNlbGVjdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEBhbGlhcyBjb21wb25lbnQuZGF0ZS1waWNrZXJcbiAqXG4gKiBTZWxlY3RzIGRhdGVzIGFuZCB0aW1lcyB3aXRoIGNhbGVuZGFyIGludGVyZmFjZSwgdmFsaWRhdGlvbixcbiAqIG1pbi9tYXggY29uc3RyYWludHMsIGFuZCBjdXN0b20gZm9ybWF0dGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEpjRGF0ZVBpY2tlckJ1aWxkZXIgZXh0ZW5kcyBKY0ZpZWxkQmFzZUJ1aWxkZXI8SmNEYXRlUGlja2VySW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNEYXRlUGlja2VySW5wdXQpIHtcbiAgICBzdXBlcihDT01QT05FTlRfVFlQRS5EQVRFX1BJQ0tFUiwgb3B0aW9ucylcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9uczogUGFydGlhbDxPbWl0PEpjRGF0ZVBpY2tlcklucHV0LCAnaW5zdGFuY2VJZCc+Pik6IHRoaXMge1xuICAgIHN1cGVyLndpdGgob3B0aW9ucylcblxuICAgIGlmIChvcHRpb25zLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy52YWx1ZSA9IFRleHRWYWx1ZUJ1aWxkZXIuZnJvbShvcHRpb25zLnZhbHVlKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbml0aWFsVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmluaXRpYWxWYWx1ZSA9IFRleHRWYWx1ZUJ1aWxkZXIuZnJvbShvcHRpb25zLmluaXRpYWxWYWx1ZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubW9kZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubW9kZSA9IG9wdGlvbnMubW9kZVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5mb3JtYXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLmZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm1pbmltdW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLm1pbmltdW0gPSBvcHRpb25zLm1pbmltdW1cbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubWF4aW11bSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubWF4aW11bSA9IG9wdGlvbnMubWF4aW11bVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jc.date-picker.d.ts","sourceRoot":"","sources":["../../src/component/jc.date-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAoB,MAAM,sBAAsB,CAAA;AACxF,OAAO,EAAE,KAAK,cAAc,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAMlG,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAEzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAGhD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAGvD,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAG9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAGxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;CAChD;AASD,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAC5E,YAAY,OAAO,EAAE,iBAAiB,EAErC;IAEQ,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAuB3E;CACF","sourcesContent":["import { type Expression, type TextValue, TextValueBuilder } from '../abstract/index.js'\nimport { type DatePickerMode, JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Date picker specific input interface extending base field.\n */\nexport interface JcDatePickerInput extends JcFieldBaseInput {\n /** Selected date value */\n readonly value?: string | TextValue | Expression\n\n /** Initial date value */\n readonly initialValue?: string | TextValue | Expression\n\n /** Date picker mode: 'date', 'time', or 'datetime' */\n readonly mode?: DatePickerMode\n\n /** Date display format (e.g. 'MM/dd/yyyy') */\n readonly format?: string\n\n /** Minimum selectable date */\n readonly minimum?: string | number | Expression\n\n /** Maximum selectable date */\n readonly maximum?: string | number | Expression\n}\n\n/**\n * Builds date picker fields for forms, with calendar selection and validation.\n * @alias component.date-picker\n *\n * Selects dates and times with calendar interface, validation,\n * min/max constraints, and custom formatting.\n */\nexport class JcDatePickerBuilder extends JcFieldBaseBuilder<JcDatePickerInput> {\n constructor(options: JcDatePickerInput) {\n super(COMPONENT_TYPE.DATE_PICKER, options)\n }\n\n override with(options: Partial<Omit<JcDatePickerInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options.value !== undefined) {\n this._config.value = TextValueBuilder.from(options.value)\n }\n if (options.initialValue !== undefined) {\n this._config.initialValue = TextValueBuilder.from(options.initialValue)\n }\n if (options.mode !== undefined) {\n this._config.mode = options.mode\n }\n if (options.format !== undefined) {\n this._config.format = options.format\n }\n if (options.minimum !== undefined) {\n this._config.minimum = options.minimum\n }\n if (options.maximum !== undefined) {\n this._config.maximum = options.maximum\n }\n\n return this\n }\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import { TextValueBuilder } from '../abstract/index.js';
2
+ import { JcFieldBaseBuilder } from './common/index.js';
3
+ import { COMPONENT_TYPE } from './jc.types.js';
4
+ export class JcDatePickerBuilder extends JcFieldBaseBuilder {
5
+ constructor(options) {
6
+ super(COMPONENT_TYPE.DATE_PICKER, options);
7
+ }
8
+ with(options) {
9
+ super.with(options);
10
+ if (options.value !== undefined) {
11
+ this._config.value = TextValueBuilder.from(options.value);
12
+ }
13
+ if (options.initialValue !== undefined) {
14
+ this._config.initialValue = TextValueBuilder.from(options.initialValue);
15
+ }
16
+ if (options.mode !== undefined) {
17
+ this._config.mode = options.mode;
18
+ }
19
+ if (options.format !== undefined) {
20
+ this._config.format = options.format;
21
+ }
22
+ if (options.minimum !== undefined) {
23
+ this._config.minimum = options.minimum;
24
+ }
25
+ if (options.maximum !== undefined) {
26
+ this._config.maximum = options.maximum;
27
+ }
28
+ return this;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZGF0ZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50L2pjLmRhdGUtcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RixPQUFPLEVBQXVCLGtCQUFrQixFQUF5QixNQUFNLG1CQUFtQixDQUFBO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFnQzlDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBcUM7SUFDNUUsWUFBWSxPQUEwQixFQUFFO1FBQ3RDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQUEsQ0FDM0M7SUFFUSxJQUFJLENBQUMsT0FBdUQsRUFBUTtRQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5CLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN6RSxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDbEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQ3RDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtRQUN4QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUE7UUFDeEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQUEsQ0FDWjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBFeHByZXNzaW9uLCB0eXBlIFRleHRWYWx1ZSwgVGV4dFZhbHVlQnVpbGRlciB9IGZyb20gJy4uL2Fic3RyYWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgdHlwZSBEYXRlUGlja2VyTW9kZSwgSmNGaWVsZEJhc2VCdWlsZGVyLCB0eXBlIEpjRmllbGRCYXNlSW5wdXQgfSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLyoqXG4gKiBEYXRlIHBpY2tlciBzcGVjaWZpYyBpbnB1dCBpbnRlcmZhY2UgZXh0ZW5kaW5nIGJhc2UgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmNEYXRlUGlja2VySW5wdXQgZXh0ZW5kcyBKY0ZpZWxkQmFzZUlucHV0IHtcbiAgLyoqIFNlbGVjdGVkIGRhdGUgdmFsdWUgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBFeHByZXNzaW9uXG5cbiAgLyoqIEluaXRpYWwgZGF0ZSB2YWx1ZSAqL1xuICByZWFkb25seSBpbml0aWFsVmFsdWU/OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBFeHByZXNzaW9uXG5cbiAgLyoqIERhdGUgcGlja2VyIG1vZGU6ICdkYXRlJywgJ3RpbWUnLCBvciAnZGF0ZXRpbWUnICovXG4gIHJlYWRvbmx5IG1vZGU/OiBEYXRlUGlja2VyTW9kZVxuXG4gIC8qKiBEYXRlIGRpc3BsYXkgZm9ybWF0IChlLmcuICdNTS9kZC95eXl5JykgKi9cbiAgcmVhZG9ubHkgZm9ybWF0Pzogc3RyaW5nXG5cbiAgLyoqIE1pbmltdW0gc2VsZWN0YWJsZSBkYXRlICovXG4gIHJlYWRvbmx5IG1pbmltdW0/OiBzdHJpbmcgfCBudW1iZXIgfCBFeHByZXNzaW9uXG5cbiAgLyoqIE1heGltdW0gc2VsZWN0YWJsZSBkYXRlICovXG4gIHJlYWRvbmx5IG1heGltdW0/OiBzdHJpbmcgfCBudW1iZXIgfCBFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGRzIGRhdGUgcGlja2VyIGZpZWxkcyBmb3IgZm9ybXMsIHdpdGggY2FsZW5kYXIgc2VsZWN0aW9uIGFuZCB2YWxpZGF0aW9uLlxuICogQGFsaWFzIGNvbXBvbmVudC5kYXRlLXBpY2tlclxuICpcbiAqIFNlbGVjdHMgZGF0ZXMgYW5kIHRpbWVzIHdpdGggY2FsZW5kYXIgaW50ZXJmYWNlLCB2YWxpZGF0aW9uLFxuICogbWluL21heCBjb25zdHJhaW50cywgYW5kIGN1c3RvbSBmb3JtYXR0aW5nLlxuICovXG5leHBvcnQgY2xhc3MgSmNEYXRlUGlja2VyQnVpbGRlciBleHRlbmRzIEpjRmllbGRCYXNlQnVpbGRlcjxKY0RhdGVQaWNrZXJJbnB1dD4ge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKY0RhdGVQaWNrZXJJbnB1dCkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkRBVEVfUElDS0VSLCBvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zOiBQYXJ0aWFsPE9taXQ8SmNEYXRlUGlja2VySW5wdXQsICdpbnN0YW5jZUlkJz4+KTogdGhpcyB7XG4gICAgc3VwZXIud2l0aChvcHRpb25zKVxuXG4gICAgaWYgKG9wdGlvbnMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKG9wdGlvbnMudmFsdWUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuaW5pdGlhbFZhbHVlID0gVGV4dFZhbHVlQnVpbGRlci5mcm9tKG9wdGlvbnMuaW5pdGlhbFZhbHVlKVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5tb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5tb2RlID0gb3B0aW9ucy5tb2RlXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmZvcm1hdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuZm9ybWF0ID0gb3B0aW9ucy5mb3JtYXRcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubWluaW11bSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcubWluaW11bSA9IG9wdGlvbnMubWluaW11bVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5tYXhpbXVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5tYXhpbXVtID0gb3B0aW9ucy5tYXhpbXVtXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js';
2
+ export interface JcDividerInput extends JcBaseInput {
3
+ }
4
+ export declare class JcDividerBuilder extends ComponentBaseBuilder<JcDividerInput> {
5
+ constructor(options?: JcDividerInput);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZGl2aWRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5kaXZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBT3pFLE1BQU0sV0FBVyxjQUFlLFNBQVEsV0FBVztDQUVsRDtBQVNELHFCQUFhLGdCQUFpQixTQUFRLG9CQUFvQixDQUFDLGNBQWMsQ0FBQztJQUN4RSxZQUFZLE9BQU8sR0FBRSxjQUFtQixFQUV2QztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBKY0Jhc2VJbnB1dCwgQ29tcG9uZW50QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2pjLmFic3RyYWN0LmpzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX1RZUEUgfSBmcm9tICcuL2pjLnR5cGVzLmpzJ1xuXG4vKipcbiAqIElucHV0IG9wdGlvbnMgZm9yIGRpdmlkZXIgY29tcG9uZW50LlxuICogRGl2aWRlciBpcyBhIHZpc3VhbCBzZXBhcmF0b3Igd2l0aCBubyBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmNEaXZpZGVySW5wdXQgZXh0ZW5kcyBKY0Jhc2VJbnB1dCB7XG4gIC8vIERpdmlkZXIgaGFzIG5vIGFkZGl0aW9uYWwgb3B0aW9uc1xufVxuXG4vKipcbiAqIEJ1aWxkIGRpdmlkZXIgY29tcG9uZW50cy5cbiAqIEBhbGlhcyBjb21wb25lbnQuZGl2aWRlclxuICpcbiAqIFZpc3VhbCBicmVha3MgYmV0d2VlbiBzZWN0aW9ucy5cbiAqIFVzZSBiZXR3ZWVuIGZvcm0gc2VjdGlvbnMsIGxpc3QgZ3JvdXBzLCBjYXJkIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBKY0RpdmlkZXJCdWlsZGVyIGV4dGVuZHMgQ29tcG9uZW50QmFzZUJ1aWxkZXI8SmNEaXZpZGVySW5wdXQ+IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmNEaXZpZGVySW5wdXQgPSB7fSkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkRJVklERVIsIG9wdGlvbnMpXG4gIH1cblxuICAvLyBObyBidWlsZCgpIG92ZXJyaWRlIC0gdXNlcyBwYXJlbnQncyBidWlsZFRyZWUoKVxufVxuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jc.divider.d.ts","sourceRoot":"","sources":["../../src/component/jc.divider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAOzE,MAAM,WAAW,cAAe,SAAQ,WAAW;CAElD;AASD,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IACxE,YAAY,OAAO,GAAE,cAAmB,EAEvC;CAGF","sourcesContent":["import { type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Input options for divider component.\n * Divider is a visual separator with no configuration options.\n */\nexport interface JcDividerInput extends JcBaseInput {\n // Divider has no additional options\n}\n\n/**\n * Build divider components.\n * @alias component.divider\n *\n * Visual breaks between sections.\n * Use between form sections, list groups, card content.\n */\nexport class JcDividerBuilder extends ComponentBaseBuilder<JcDividerInput> {\n constructor(options: JcDividerInput = {}) {\n super(COMPONENT_TYPE.DIVIDER, options)\n }\n\n // No build() override - uses parent's buildTree()\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { ComponentBaseBuilder } from './jc.abstract.js';
2
+ import { COMPONENT_TYPE } from './jc.types.js';
3
+ export class JcDividerBuilder extends ComponentBaseBuilder {
4
+ constructor(options = {}) {
5
+ super(COMPONENT_TYPE.DIVIDER, options);
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZGl2aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuZGl2aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWlCOUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQztJQUN4RSxZQUFZLE9BQU8sR0FBbUIsRUFBRSxFQUFFO1FBQ3hDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQUEsQ0FDdkM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgSmNCYXNlSW5wdXQsIENvbXBvbmVudEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9qYy5hYnN0cmFjdC5qcydcbmltcG9ydCB7IENPTVBPTkVOVF9UWVBFIH0gZnJvbSAnLi9qYy50eXBlcy5qcydcblxuLyoqXG4gKiBJbnB1dCBvcHRpb25zIGZvciBkaXZpZGVyIGNvbXBvbmVudC5cbiAqIERpdmlkZXIgaXMgYSB2aXN1YWwgc2VwYXJhdG9yIHdpdGggbm8gY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpjRGl2aWRlcklucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICAvLyBEaXZpZGVyIGhhcyBubyBhZGRpdGlvbmFsIG9wdGlvbnNcbn1cblxuLyoqXG4gKiBCdWlsZCBkaXZpZGVyIGNvbXBvbmVudHMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmRpdmlkZXJcbiAqXG4gKiBWaXN1YWwgYnJlYWtzIGJldHdlZW4gc2VjdGlvbnMuXG4gKiBVc2UgYmV0d2VlbiBmb3JtIHNlY3Rpb25zLCBsaXN0IGdyb3VwcywgY2FyZCBjb250ZW50LlxuICovXG5leHBvcnQgY2xhc3MgSmNEaXZpZGVyQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjRGl2aWRlcklucHV0PiB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjRGl2aWRlcklucHV0ID0ge30pIHtcbiAgICBzdXBlcihDT01QT05FTlRfVFlQRS5ESVZJREVSLCBvcHRpb25zKVxuICB9XG5cbiAgLy8gTm8gYnVpbGQoKSBvdmVycmlkZSAtIHVzZXMgcGFyZW50J3MgYnVpbGRUcmVlKClcbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { type DatasourceId, type Expression } from '../abstract/index.js';
2
+ import { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js';
3
+ import { JcDropdownItemBuilder } from './jc.dropdown.item.js';
4
+ export interface JcDropdownInput extends JcFieldBaseInput {
5
+ readonly data?: DatasourceId | Expression | {
6
+ datasourceId: string;
7
+ };
8
+ readonly initialValue?: string | number | boolean | Expression;
9
+ readonly value?: string | number | boolean | Expression;
10
+ readonly isMultiple?: boolean | Expression;
11
+ readonly isSearchable?: boolean | Expression;
12
+ }
13
+ export declare class JcDropdownBuilder extends JcFieldBaseBuilder<JcDropdownInput> {
14
+ constructor(options: JcDropdownInput);
15
+ with(options: Partial<Omit<JcDropdownInput, 'instanceId'>>): this;
16
+ readonly addControl: {
17
+ item: (options?: import("./jc.dropdown.item.js").JcDropdownItemInput | undefined) => JcDropdownItemBuilder;
18
+ };
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZHJvcGRvd24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUU3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSTdELE1BQU0sV0FBVyxlQUFnQixTQUFRLGdCQUFnQjtJQUV2RCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRztRQUFFLFlBQVksRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFBO0lBR3BFLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUE7SUFHOUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUd2RCxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FBQTtJQUUxQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FBQTtDQUM3QztBQU1ELHFCQUFhLGlCQUFrQixTQUFRLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztJQUN4RSxZQUFZLE9BQU8sRUFBRSxlQUFlLEVBRW5DO0lBRVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FvQnpFO0lBR0QsUUFBUSxDQUFDLFVBQVU7O01BRWxCO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhc3NpZ25CdWlsZGVyRmFjdG9yeSxcbiAgdHlwZSBEYXRhc291cmNlSWQsXG4gIHR5cGUgRXhwcmVzc2lvbixcbiAgdG9Cb29sZWFuT3JFeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGFzb3VyY2UgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IEpjRmllbGRCYXNlQnVpbGRlciwgdHlwZSBKY0ZpZWxkQmFzZUlucHV0IH0gZnJvbSAnLi9jb21tb24vaW5kZXguanMnXG5pbXBvcnQgeyBKY0Ryb3Bkb3duSXRlbUJ1aWxkZXIgfSBmcm9tICcuL2pjLmRyb3Bkb3duLml0ZW0uanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8vIE9wdGlvbnMgaW5jbHVkZSBpc0Rpc2FibGVkIGZvciBjb252ZW5pZW5jZSAobW9yZSBpbnR1aXRpdmUgYXMgYW4gb3B0aW9uIHRoYW4gc3R5bGUpXG5leHBvcnQgaW50ZXJmYWNlIEpjRHJvcGRvd25JbnB1dCBleHRlbmRzIEpjRmllbGRCYXNlSW5wdXQge1xuICAvKiogRGF0YSBzb3VyY2UgZm9yIGNob2ljZSBpdGVtcyAqL1xuICByZWFkb25seSBkYXRhPzogRGF0YXNvdXJjZUlkIHwgRXhwcmVzc2lvbiB8IHsgZGF0YXNvdXJjZUlkOiBzdHJpbmcgfVxuXG4gIC8qKiBJbml0aWFsIHNlbGVjdGVkIHZhbHVlKHMpICovXG4gIHJlYWRvbmx5IGluaXRpYWxWYWx1ZT86IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBFeHByZXNzaW9uXG5cbiAgLyoqIEN1cnJlbnQgc2VsZWN0ZWQgdmFsdWUocykgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgRXhwcmVzc2lvblxuXG4gIC8qKiBXaGV0aGVyIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkICovXG4gIHJlYWRvbmx5IGlzTXVsdGlwbGU/OiBib29sZWFuIHwgRXhwcmVzc2lvblxuXG4gIHJlYWRvbmx5IGlzU2VhcmNoYWJsZT86IGJvb2xlYW4gfCBFeHByZXNzaW9uXG59XG5cbi8qKlxuICogQnVpbGRzIGRyb3Bkb3duIGZpZWxkcyBmb3IgZm9ybXMsIHdpdGggb3B0aW9ucywgc2VhcmNoLCBhbmQgdmFsaWRhdGlvbi5cbiAqIEBhbGlhcyBjb21wb25lbnQuZHJvcGRvd25cbiAqL1xuZXhwb3J0IGNsYXNzIEpjRHJvcGRvd25CdWlsZGVyIGV4dGVuZHMgSmNGaWVsZEJhc2VCdWlsZGVyPEpjRHJvcGRvd25JbnB1dD4ge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKY0Ryb3Bkb3duSW5wdXQpIHtcbiAgICBzdXBlcihDT01QT05FTlRfVFlQRS5EUk9QRE9XTiwgb3B0aW9ucylcbiAgfVxuXG4gIG92ZXJyaWRlIHdpdGgob3B0aW9uczogUGFydGlhbDxPbWl0PEpjRHJvcGRvd25JbnB1dCwgJ2luc3RhbmNlSWQnPj4pOiB0aGlzIHtcbiAgICBzdXBlci53aXRoKG9wdGlvbnMpXG5cbiAgICBpZiAob3B0aW9ucy5kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5kYXRhID0gbm9ybWFsaXplRGF0YXNvdXJjZShvcHRpb25zLmRhdGEpXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9jb25maWcuaW5pdGlhbFZhbHVlID0gb3B0aW9ucy5pbml0aWFsVmFsdWVcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID0gb3B0aW9ucy52YWx1ZVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pc011bHRpcGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pc011bHRpcGxlID0gdG9Cb29sZWFuT3JFeHByZXNzaW9uKG9wdGlvbnMuaXNNdWx0aXBsZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaXNTZWFyY2hhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5pc1NlYXJjaGFibGUgPSB0b0Jvb2xlYW5PckV4cHJlc3Npb24ob3B0aW9ucy5pc1NlYXJjaGFibGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiBGYWN0b3J5IGZvciBhZGRpbmcgZHJvcGRvd24gZmllbGQgaXRlbSAqL1xuICByZWFkb25seSBhZGRDb250cm9sID0ge1xuICAgIGl0ZW06IGFzc2lnbkJ1aWxkZXJGYWN0b3J5KEpjRHJvcGRvd25JdGVtQnVpbGRlciwgdGhpcy5fY29uZmlnLCAnaXRlbScpLFxuICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jc.dropdown.d.ts","sourceRoot":"","sources":["../../src/component/jc.dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IAEvD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAGpE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAG9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAGvD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAE1C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;CAC7C;AAMD,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,YAAY,OAAO,EAAE,eAAe,EAEnC;IAEQ,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAoBzE;IAGD,QAAQ,CAAC,UAAU;;MAElB;CACF","sourcesContent":["import {\n assignBuilderFactory,\n type DatasourceId,\n type Expression,\n toBooleanOrExpression,\n} from '../abstract/index.js'\nimport { normalizeDatasource } from '../application/index.js'\nimport { JcFieldBaseBuilder, type JcFieldBaseInput } from './common/index.js'\nimport { JcDropdownItemBuilder } from './jc.dropdown.item.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n// Options include isDisabled for convenience (more intuitive as an option than style)\nexport interface JcDropdownInput extends JcFieldBaseInput {\n /** Data source for choice items */\n readonly data?: DatasourceId | Expression | { datasourceId: string }\n\n /** Initial selected value(s) */\n readonly initialValue?: string | number | boolean | Expression\n\n /** Current selected value(s) */\n readonly value?: string | number | boolean | Expression\n\n /** Whether multiple selection is allowed */\n readonly isMultiple?: boolean | Expression\n\n readonly isSearchable?: boolean | Expression\n}\n\n/**\n * Builds dropdown fields for forms, with options, search, and validation.\n * @alias component.dropdown\n */\nexport class JcDropdownBuilder extends JcFieldBaseBuilder<JcDropdownInput> {\n constructor(options: JcDropdownInput) {\n super(COMPONENT_TYPE.DROPDOWN, options)\n }\n\n override with(options: Partial<Omit<JcDropdownInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options.data !== undefined) {\n this._config.data = normalizeDatasource(options.data)\n }\n if (options.initialValue !== undefined) {\n this._config.initialValue = options.initialValue\n }\n if (options.value !== undefined) {\n this._config.value = options.value\n }\n if (options.isMultiple !== undefined) {\n this._config.isMultiple = toBooleanOrExpression(options.isMultiple)\n }\n if (options.isSearchable !== undefined) {\n this._config.isSearchable = toBooleanOrExpression(options.isSearchable)\n }\n\n return this\n }\n\n /** Factory for adding dropdown field item */\n readonly addControl = {\n item: assignBuilderFactory(JcDropdownItemBuilder, this._config, 'item'),\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { type Expression, type InstanceId, type TextValue, TextValueBuilder } from '../abstract/index.js';
2
+ import { type LeftElementFactory } from './common/index.js';
3
+ import { type JcBase, type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js';
4
+ export interface JcDropdownItemInput extends JcBaseInput {
5
+ readonly instanceId?: InstanceId | Expression;
6
+ readonly title?: string | TextValue | TextValueBuilder;
7
+ readonly value?: string | Expression;
8
+ readonly subtitle?: string | TextValue | TextValueBuilder;
9
+ readonly description?: string | TextValue | TextValueBuilder;
10
+ }
11
+ export declare class JcDropdownItemBuilder extends ComponentBaseBuilder<JcDropdownItemInput> {
12
+ private _leftElement?;
13
+ readonly leftElement: Pick<LeftElementFactory, 'icon' | 'avatar' | 'image'>;
14
+ constructor(options?: JcDropdownItemInput);
15
+ with(options?: Partial<Omit<JcDropdownItemInput, 'instanceId'>>): this;
16
+ title(text: string | TextValue | TextValueBuilder): this;
17
+ value(value: string | Expression): this;
18
+ subtitle(text: string | TextValue | TextValueBuilder): this;
19
+ description(text: string | TextValue | TextValueBuilder): this;
20
+ build(): JcBase;
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZHJvcGRvd24uaXRlbS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudC9qYy5kcm9wZG93bi5pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLFVBQVUsRUFDZixLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxnQkFBZ0IsRUFFakIsTUFBTSxzQkFBc0IsQ0FBQTtBQUU3QixPQUFPLEVBT0wsS0FBSyxrQkFBa0IsRUFDeEIsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQU10RixNQUFNLFdBQVcsbUJBQW9CLFNBQVEsV0FBVztJQUV0RCxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FBQTtJQUU3QyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtJQUV0RCxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQTtJQUVwQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtJQUV6RCxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtDQUM3RDtBQU1ELHFCQUFhLHFCQUFzQixTQUFRLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDO0lBQ2xGLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBaUU7SUFHdEYsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FtQjFFO0lBRUQsWUFBWSxPQUFPLEdBQUUsbUJBQXdCLEVBUzVDO0lBRVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxJQUFJLENBaUM5RTtJQUdELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBRXZEO0lBR0QsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FFdEM7SUFHRCxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUUxRDtJQUdELFdBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBRTdEO0lBRVEsS0FBSyxJQUFJLE1BQU0sQ0FTdkI7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRXhwcmVzc2lvbixcbiAgdHlwZSBJbnN0YW5jZUlkLFxuICB0eXBlIFRleHRWYWx1ZSxcbiAgVGV4dFZhbHVlQnVpbGRlcixcbiAgdG9FeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2luZGV4LmpzJ1xuaW1wb3J0IHtcbiAgQXZhdGFyRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgQXZhdGFyRWxlbWVudElucHV0LFxuICBJY29uRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgSW1hZ2VFbGVtZW50SW5wdXQsXG4gIEltYWdlRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgSmNJY29uRWxlbWVudE9wdGlvbnMsXG4gIHR5cGUgTGVmdEVsZW1lbnRGYWN0b3J5LFxufSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSmNCYXNlLCB0eXBlIEpjQmFzZUlucHV0LCBDb21wb25lbnRCYXNlQnVpbGRlciB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8qKlxuICogSW5wdXQgb3B0aW9ucyBmb3IgZHJvcGRvd24gaXRlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKY0Ryb3Bkb3duSXRlbUlucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICAvKiogVW5pcXVlIGNvbXBvbmVudCBpZGVudGlmaWVyICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWQ/OiBJbnN0YW5jZUlkIHwgRXhwcmVzc2lvblxuICAvKiogRGlzcGxheSB0aXRsZSAqL1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZyB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXJcbiAgLyoqIFVuaXF1ZSB2YWx1ZSAoZXhwcmVzc2lvbiBvciBzdGF0aWMgc3RyaW5nKSAqL1xuICByZWFkb25seSB2YWx1ZT86IHN0cmluZyB8IEV4cHJlc3Npb25cbiAgLyoqIFNlY29uZGFyeSB0ZXh0IGJlbG93IHRpdGxlICovXG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlclxuICAvKiogQWRkaXRpb25hbCBkZXNjcmlwdGlvbiB0ZXh0ICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlclxufVxuXG4vKipcbiAqIEJ1aWxkcyBkcm9wZG93biBpdGVtcyB3aXRoIHRpdGxlLCB2YWx1ZSwgYW5kIG9wdGlvbmFsIGxlZnQgZWxlbWVudHMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmRyb3Bkb3duLWl0ZW1cbiAqL1xuZXhwb3J0IGNsYXNzIEpjRHJvcGRvd25JdGVtQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjRHJvcGRvd25JdGVtSW5wdXQ+IHtcbiAgcHJpdmF0ZSBfbGVmdEVsZW1lbnQ/OiBJY29uRWxlbWVudEJ1aWxkZXIgfCBBdmF0YXJFbGVtZW50QnVpbGRlciB8IEltYWdlRWxlbWVudEJ1aWxkZXJcblxuICAvKiogQ3JlYXRlIGxlZnQgZWxlbWVudCAoaWNvbiwgYXZhdGFyLCBpbWFnZSkuICovXG4gIHJlYWRvbmx5IGxlZnRFbGVtZW50OiBQaWNrPExlZnRFbGVtZW50RmFjdG9yeSwgJ2ljb24nIHwgJ2F2YXRhcicgfCAnaW1hZ2UnPiA9IHtcbiAgICAvKiogQ3JlYXRlIGljb24uICovXG4gICAgaWNvbjogKG5hbWU6IEljb25OYW1lIHwgRXhwcmVzc2lvbiwgb3B0aW9ucz86IEpjSWNvbkVsZW1lbnRPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEljb25FbGVtZW50QnVpbGRlcihuYW1lLCBvcHRpb25zKVxuICAgICAgdGhpcy5fbGVmdEVsZW1lbnQgPSBidWlsZGVyXG4gICAgICByZXR1cm4gYnVpbGRlclxuICAgIH0sXG4gICAgLyoqIENyZWF0ZSBhdmF0YXIuICovXG4gICAgYXZhdGFyOiAob3B0aW9ucz86IEF2YXRhckVsZW1lbnRJbnB1dCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBBdmF0YXJFbGVtZW50QnVpbGRlcihvcHRpb25zKVxuICAgICAgdGhpcy5fbGVmdEVsZW1lbnQgPSBidWlsZGVyXG4gICAgICByZXR1cm4gYnVpbGRlclxuICAgIH0sXG4gICAgLyoqIENyZWF0ZSBpbWFnZS4gKi9cbiAgICBpbWFnZTogKG9wdGlvbnM/OiBJbWFnZUVsZW1lbnRJbnB1dCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBJbWFnZUVsZW1lbnRCdWlsZGVyKG9wdGlvbnMpXG4gICAgICB0aGlzLl9sZWZ0RWxlbWVudCA9IGJ1aWxkZXJcbiAgICAgIHJldHVybiBidWlsZGVyXG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjRHJvcGRvd25JdGVtSW5wdXQgPSB7fSkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkRST1BET1dOX0lURU0sIG9wdGlvbnMpXG5cbiAgICAvLyBTZXQgZGVmYXVsdHNcbiAgICB0aGlzLl9jb25maWcudGl0bGUgPSAnJ1xuICAgIHRoaXMuX2NvbmZpZy52YWx1ZSA9IHRvRXhwcmVzc2lvbignPVwiXCInKVxuXG4gICAgLy8gQXBwbHkgb3B0aW9uc1xuICAgIHRoaXMud2l0aChvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zPzogUGFydGlhbDxPbWl0PEpjRHJvcGRvd25JdGVtSW5wdXQsICdpbnN0YW5jZUlkJz4+KTogdGhpcyB7XG4gICAgc3VwZXIud2l0aChvcHRpb25zKVxuXG4gICAgaWYgKG9wdGlvbnM/LnRpdGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB0aXRsZSA9IG9wdGlvbnMudGl0bGVcbiAgICAgIGlmICh0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnICYmIHRpdGxlLnN0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgICB0aXRsZSA9IHRvRXhwcmVzc2lvbih0aXRsZSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2NvbmZpZy50aXRsZSA9IFRleHRWYWx1ZUJ1aWxkZXIuZnJvbSh0aXRsZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucy52YWx1ZVxuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKCc9JylcbiAgICAgICAgICA/IHRvRXhwcmVzc2lvbih2YWx1ZSlcbiAgICAgICAgICA6IHRvRXhwcmVzc2lvbihgPVwiJHt2YWx1ZX1cImApXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5zdWJ0aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgc3VidGl0bGUgPSBvcHRpb25zLnN1YnRpdGxlXG4gICAgICBpZiAodHlwZW9mIHN1YnRpdGxlID09PSAnc3RyaW5nJyAmJiBzdWJ0aXRsZS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgc3VidGl0bGUgPSB0b0V4cHJlc3Npb24oc3VidGl0bGUpXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcuc3VidGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oc3VidGl0bGUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5kZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZGVzY3JpcHRpb24gPSBvcHRpb25zLmRlc2NyaXB0aW9uXG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyAmJiBkZXNjcmlwdGlvbi5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSB0b0V4cHJlc3Npb24oZGVzY3JpcHRpb24pXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcuZGVzY3JpcHRpb24gPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oZGVzY3JpcHRpb24pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiBTZXRzIGRyb3Bkb3duIGl0ZW0gdGl0bGUuICovXG4gIHRpdGxlKHRleHQ6IHN0cmluZyB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy53aXRoKHsgdGl0bGU6IHRleHQgfSlcbiAgfVxuXG4gIC8qKiBTZXRzIGRyb3Bkb3duIGl0ZW0gdmFsdWUuICovXG4gIHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHZhbHVlIH0pXG4gIH1cblxuICAvKiogU2V0cyBkcm9wZG93biBpdGVtIHN1YnRpdGxlLiAqL1xuICBzdWJ0aXRsZSh0ZXh0OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHN1YnRpdGxlOiB0ZXh0IH0pXG4gIH1cblxuICAvKiogU2V0cyBkcm9wZG93biBpdGVtIGRlc2NyaXB0aW9uLiAqL1xuICBkZXNjcmlwdGlvbih0ZXh0OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IGRlc2NyaXB0aW9uOiB0ZXh0IH0pXG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIGNvbnN0IGJhc2UgPSBzdXBlci5idWlsZCgpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIC4uLmJhc2Uub3B0aW9ucyxcbiAgICAgICAgbGVmdEVsZW1lbnQ6IHRoaXMuX2xlZnRFbGVtZW50Py5idWlsZCgpLFxuICAgICAgfSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jc.dropdown.item.d.ts","sourceRoot":"","sources":["../../src/component/jc.dropdown.item.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,gBAAgB,EAEjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAMtF,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IAEtD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAE7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAA;IAEtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAEpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAA;IAEzD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAA;CAC7D;AAMD,qBAAa,qBAAsB,SAAQ,oBAAoB,CAAC,mBAAmB,CAAC;IAClF,OAAO,CAAC,YAAY,CAAC,CAAiE;IAGtF,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAmB1E;IAED,YAAY,OAAO,GAAE,mBAAwB,EAS5C;IAEQ,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAiC9E;IAGD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAEvD;IAGD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtC;IAGD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAE1D;IAGD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAE7D;IAEQ,KAAK,IAAI,MAAM,CASvB;CACF","sourcesContent":["import {\n type Expression,\n type InstanceId,\n type TextValue,\n TextValueBuilder,\n toExpression,\n} from '../abstract/index.js'\nimport { type IconName } from '../icon/index.js'\nimport {\n AvatarElementBuilder,\n type AvatarElementInput,\n IconElementBuilder,\n type ImageElementInput,\n ImageElementBuilder,\n type JcIconElementOptions,\n type LeftElementFactory,\n} from './common/index.js'\nimport { type JcBase, type JcBaseInput, ComponentBaseBuilder } from './jc.abstract.js'\nimport { COMPONENT_TYPE } from './jc.types.js'\n\n/**\n * Input options for dropdown item.\n */\nexport interface JcDropdownItemInput extends JcBaseInput {\n /** Unique component identifier */\n readonly instanceId?: InstanceId | Expression\n /** Display title */\n readonly title?: string | TextValue | TextValueBuilder\n /** Unique value (expression or static string) */\n readonly value?: string | Expression\n /** Secondary text below title */\n readonly subtitle?: string | TextValue | TextValueBuilder\n /** Additional description text */\n readonly description?: string | TextValue | TextValueBuilder\n}\n\n/**\n * Builds dropdown items with title, value, and optional left elements.\n * @alias component.dropdown-item\n */\nexport class JcDropdownItemBuilder extends ComponentBaseBuilder<JcDropdownItemInput> {\n private _leftElement?: IconElementBuilder | AvatarElementBuilder | ImageElementBuilder\n\n /** Create left element (icon, avatar, image). */\n readonly leftElement: Pick<LeftElementFactory, 'icon' | 'avatar' | 'image'> = {\n /** Create icon. */\n icon: (name: IconName | Expression, options?: JcIconElementOptions) => {\n const builder = new IconElementBuilder(name, options)\n this._leftElement = builder\n return builder\n },\n /** Create avatar. */\n avatar: (options?: AvatarElementInput) => {\n const builder = new AvatarElementBuilder(options)\n this._leftElement = builder\n return builder\n },\n /** Create image. */\n image: (options?: ImageElementInput) => {\n const builder = new ImageElementBuilder(options)\n this._leftElement = builder\n return builder\n },\n }\n\n constructor(options: JcDropdownItemInput = {}) {\n super(COMPONENT_TYPE.DROPDOWN_ITEM, options)\n\n // Set defaults\n this._config.title = ''\n this._config.value = toExpression('=\"\"')\n\n // Apply options\n this.with(options)\n }\n\n override with(options?: Partial<Omit<JcDropdownItemInput, 'instanceId'>>): this {\n super.with(options)\n\n if (options?.title !== undefined) {\n let title = options.title\n if (typeof title === 'string' && title.startsWith('=')) {\n title = toExpression(title)\n }\n this._config.title = TextValueBuilder.from(title)\n }\n if (options?.value !== undefined) {\n const value = options.value\n this._config.value =\n typeof value === 'string' && value.startsWith('=')\n ? toExpression(value)\n : toExpression(`=\"${value}\"`)\n }\n if (options?.subtitle !== undefined) {\n let subtitle = options.subtitle\n if (typeof subtitle === 'string' && subtitle.startsWith('=')) {\n subtitle = toExpression(subtitle)\n }\n this._config.subtitle = TextValueBuilder.from(subtitle)\n }\n if (options?.description !== undefined) {\n let description = options.description\n if (typeof description === 'string' && description.startsWith('=')) {\n description = toExpression(description)\n }\n this._config.description = TextValueBuilder.from(description)\n }\n\n return this\n }\n\n /** Sets dropdown item title. */\n title(text: string | TextValue | TextValueBuilder): this {\n return this.with({ title: text })\n }\n\n /** Sets dropdown item value. */\n value(value: string | Expression): this {\n return this.with({ value })\n }\n\n /** Sets dropdown item subtitle. */\n subtitle(text: string | TextValue | TextValueBuilder): this {\n return this.with({ subtitle: text })\n }\n\n /** Sets dropdown item description. */\n description(text: string | TextValue | TextValueBuilder): this {\n return this.with({ description: text })\n }\n\n override build(): JcBase {\n const base = super.build()\n return {\n ...base,\n options: {\n ...base.options,\n leftElement: this._leftElement?.build(),\n },\n }\n }\n}\n"]}
@@ -0,0 +1,85 @@
1
+ import { TextValueBuilder, toExpression, } from '../abstract/index.js';
2
+ import { AvatarElementBuilder, IconElementBuilder, ImageElementBuilder, } from './common/index.js';
3
+ import { ComponentBaseBuilder } from './jc.abstract.js';
4
+ import { COMPONENT_TYPE } from './jc.types.js';
5
+ export class JcDropdownItemBuilder extends ComponentBaseBuilder {
6
+ _leftElement;
7
+ leftElement = {
8
+ icon: (name, options) => {
9
+ const builder = new IconElementBuilder(name, options);
10
+ this._leftElement = builder;
11
+ return builder;
12
+ },
13
+ avatar: (options) => {
14
+ const builder = new AvatarElementBuilder(options);
15
+ this._leftElement = builder;
16
+ return builder;
17
+ },
18
+ image: (options) => {
19
+ const builder = new ImageElementBuilder(options);
20
+ this._leftElement = builder;
21
+ return builder;
22
+ },
23
+ };
24
+ constructor(options = {}) {
25
+ super(COMPONENT_TYPE.DROPDOWN_ITEM, options);
26
+ this._config.title = '';
27
+ this._config.value = toExpression('=""');
28
+ this.with(options);
29
+ }
30
+ with(options) {
31
+ super.with(options);
32
+ if (options?.title !== undefined) {
33
+ let title = options.title;
34
+ if (typeof title === 'string' && title.startsWith('=')) {
35
+ title = toExpression(title);
36
+ }
37
+ this._config.title = TextValueBuilder.from(title);
38
+ }
39
+ if (options?.value !== undefined) {
40
+ const value = options.value;
41
+ this._config.value =
42
+ typeof value === 'string' && value.startsWith('=')
43
+ ? toExpression(value)
44
+ : toExpression(`="${value}"`);
45
+ }
46
+ if (options?.subtitle !== undefined) {
47
+ let subtitle = options.subtitle;
48
+ if (typeof subtitle === 'string' && subtitle.startsWith('=')) {
49
+ subtitle = toExpression(subtitle);
50
+ }
51
+ this._config.subtitle = TextValueBuilder.from(subtitle);
52
+ }
53
+ if (options?.description !== undefined) {
54
+ let description = options.description;
55
+ if (typeof description === 'string' && description.startsWith('=')) {
56
+ description = toExpression(description);
57
+ }
58
+ this._config.description = TextValueBuilder.from(description);
59
+ }
60
+ return this;
61
+ }
62
+ title(text) {
63
+ return this.with({ title: text });
64
+ }
65
+ value(value) {
66
+ return this.with({ value });
67
+ }
68
+ subtitle(text) {
69
+ return this.with({ subtitle: text });
70
+ }
71
+ description(text) {
72
+ return this.with({ description: text });
73
+ }
74
+ build() {
75
+ const base = super.build();
76
+ return {
77
+ ...base,
78
+ options: {
79
+ ...base.options,
80
+ leftElement: this._leftElement?.build(),
81
+ },
82
+ };
83
+ }
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamMuZHJvcGRvd24uaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnQvamMuZHJvcGRvd24uaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFBO0FBRTdCLE9BQU8sRUFDTCxvQkFBb0IsRUFFcEIsa0JBQWtCLEVBRWxCLG1CQUFtQixHQUdwQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBaUMsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBc0I5QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQXlDO0lBQzFFLFlBQVksQ0FBa0U7SUFHN0UsV0FBVyxHQUEwRDtRQUU1RSxJQUFJLEVBQUUsQ0FBQyxJQUEyQixFQUFFLE9BQThCLEVBQUUsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ3JELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFBO1lBQzNCLE9BQU8sT0FBTyxDQUFBO1FBQUEsQ0FDZjtRQUVELE1BQU0sRUFBRSxDQUFDLE9BQTRCLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7WUFDM0IsT0FBTyxPQUFPLENBQUE7UUFBQSxDQUNmO1FBRUQsS0FBSyxFQUFFLENBQUMsT0FBMkIsRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQTtZQUMzQixPQUFPLE9BQU8sQ0FBQTtRQUFBLENBQ2Y7S0FDRixDQUFBO0lBRUQsWUFBWSxPQUFPLEdBQXdCLEVBQUUsRUFBRTtRQUM3QyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUc1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBR3hDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFBQSxDQUNuQjtJQUVRLElBQUksQ0FBQyxPQUEwRCxFQUFRO1FBQzlFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFbkIsSUFBSSxPQUFPLEVBQUUsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUE7WUFDekIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzdCLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkQsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztnQkFDaEIsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNoRCxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztvQkFDckIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDbkMsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO1lBQy9CLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0QsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtZQUNyQyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDekMsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUMvRCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFBQSxDQUNaO0lBR0QsS0FBSyxDQUFDLElBQTJDLEVBQVE7UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFBQSxDQUNsQztJQUdELEtBQUssQ0FBQyxLQUEwQixFQUFRO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFBQSxDQUM1QjtJQUdELFFBQVEsQ0FBQyxJQUEyQyxFQUFRO1FBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FDckM7SUFHRCxXQUFXLENBQUMsSUFBMkMsRUFBUTtRQUM3RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQ3hDO0lBRVEsS0FBSyxHQUFXO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUMxQixPQUFPO1lBQ0wsR0FBRyxJQUFJO1lBQ1AsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFO2FBQ3hDO1NBQ0YsQ0FBQTtJQUFBLENBQ0Y7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRXhwcmVzc2lvbixcbiAgdHlwZSBJbnN0YW5jZUlkLFxuICB0eXBlIFRleHRWYWx1ZSxcbiAgVGV4dFZhbHVlQnVpbGRlcixcbiAgdG9FeHByZXNzaW9uLFxufSBmcm9tICcuLi9hYnN0cmFjdC9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2luZGV4LmpzJ1xuaW1wb3J0IHtcbiAgQXZhdGFyRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgQXZhdGFyRWxlbWVudElucHV0LFxuICBJY29uRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgSW1hZ2VFbGVtZW50SW5wdXQsXG4gIEltYWdlRWxlbWVudEJ1aWxkZXIsXG4gIHR5cGUgSmNJY29uRWxlbWVudE9wdGlvbnMsXG4gIHR5cGUgTGVmdEVsZW1lbnRGYWN0b3J5LFxufSBmcm9tICcuL2NvbW1vbi9pbmRleC5qcydcbmltcG9ydCB7IHR5cGUgSmNCYXNlLCB0eXBlIEpjQmFzZUlucHV0LCBDb21wb25lbnRCYXNlQnVpbGRlciB9IGZyb20gJy4vamMuYWJzdHJhY3QuanMnXG5pbXBvcnQgeyBDT01QT05FTlRfVFlQRSB9IGZyb20gJy4vamMudHlwZXMuanMnXG5cbi8qKlxuICogSW5wdXQgb3B0aW9ucyBmb3IgZHJvcGRvd24gaXRlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKY0Ryb3Bkb3duSXRlbUlucHV0IGV4dGVuZHMgSmNCYXNlSW5wdXQge1xuICAvKiogVW5pcXVlIGNvbXBvbmVudCBpZGVudGlmaWVyICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWQ/OiBJbnN0YW5jZUlkIHwgRXhwcmVzc2lvblxuICAvKiogRGlzcGxheSB0aXRsZSAqL1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZyB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXJcbiAgLyoqIFVuaXF1ZSB2YWx1ZSAoZXhwcmVzc2lvbiBvciBzdGF0aWMgc3RyaW5nKSAqL1xuICByZWFkb25seSB2YWx1ZT86IHN0cmluZyB8IEV4cHJlc3Npb25cbiAgLyoqIFNlY29uZGFyeSB0ZXh0IGJlbG93IHRpdGxlICovXG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlclxuICAvKiogQWRkaXRpb25hbCBkZXNjcmlwdGlvbiB0ZXh0ICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgVGV4dFZhbHVlIHwgVGV4dFZhbHVlQnVpbGRlclxufVxuXG4vKipcbiAqIEJ1aWxkcyBkcm9wZG93biBpdGVtcyB3aXRoIHRpdGxlLCB2YWx1ZSwgYW5kIG9wdGlvbmFsIGxlZnQgZWxlbWVudHMuXG4gKiBAYWxpYXMgY29tcG9uZW50LmRyb3Bkb3duLWl0ZW1cbiAqL1xuZXhwb3J0IGNsYXNzIEpjRHJvcGRvd25JdGVtQnVpbGRlciBleHRlbmRzIENvbXBvbmVudEJhc2VCdWlsZGVyPEpjRHJvcGRvd25JdGVtSW5wdXQ+IHtcbiAgcHJpdmF0ZSBfbGVmdEVsZW1lbnQ/OiBJY29uRWxlbWVudEJ1aWxkZXIgfCBBdmF0YXJFbGVtZW50QnVpbGRlciB8IEltYWdlRWxlbWVudEJ1aWxkZXJcblxuICAvKiogQ3JlYXRlIGxlZnQgZWxlbWVudCAoaWNvbiwgYXZhdGFyLCBpbWFnZSkuICovXG4gIHJlYWRvbmx5IGxlZnRFbGVtZW50OiBQaWNrPExlZnRFbGVtZW50RmFjdG9yeSwgJ2ljb24nIHwgJ2F2YXRhcicgfCAnaW1hZ2UnPiA9IHtcbiAgICAvKiogQ3JlYXRlIGljb24uICovXG4gICAgaWNvbjogKG5hbWU6IEljb25OYW1lIHwgRXhwcmVzc2lvbiwgb3B0aW9ucz86IEpjSWNvbkVsZW1lbnRPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEljb25FbGVtZW50QnVpbGRlcihuYW1lLCBvcHRpb25zKVxuICAgICAgdGhpcy5fbGVmdEVsZW1lbnQgPSBidWlsZGVyXG4gICAgICByZXR1cm4gYnVpbGRlclxuICAgIH0sXG4gICAgLyoqIENyZWF0ZSBhdmF0YXIuICovXG4gICAgYXZhdGFyOiAob3B0aW9ucz86IEF2YXRhckVsZW1lbnRJbnB1dCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBBdmF0YXJFbGVtZW50QnVpbGRlcihvcHRpb25zKVxuICAgICAgdGhpcy5fbGVmdEVsZW1lbnQgPSBidWlsZGVyXG4gICAgICByZXR1cm4gYnVpbGRlclxuICAgIH0sXG4gICAgLyoqIENyZWF0ZSBpbWFnZS4gKi9cbiAgICBpbWFnZTogKG9wdGlvbnM/OiBJbWFnZUVsZW1lbnRJbnB1dCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBJbWFnZUVsZW1lbnRCdWlsZGVyKG9wdGlvbnMpXG4gICAgICB0aGlzLl9sZWZ0RWxlbWVudCA9IGJ1aWxkZXJcbiAgICAgIHJldHVybiBidWlsZGVyXG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEpjRHJvcGRvd25JdGVtSW5wdXQgPSB7fSkge1xuICAgIHN1cGVyKENPTVBPTkVOVF9UWVBFLkRST1BET1dOX0lURU0sIG9wdGlvbnMpXG5cbiAgICAvLyBTZXQgZGVmYXVsdHNcbiAgICB0aGlzLl9jb25maWcudGl0bGUgPSAnJ1xuICAgIHRoaXMuX2NvbmZpZy52YWx1ZSA9IHRvRXhwcmVzc2lvbignPVwiXCInKVxuXG4gICAgLy8gQXBwbHkgb3B0aW9uc1xuICAgIHRoaXMud2l0aChvcHRpb25zKVxuICB9XG5cbiAgb3ZlcnJpZGUgd2l0aChvcHRpb25zPzogUGFydGlhbDxPbWl0PEpjRHJvcGRvd25JdGVtSW5wdXQsICdpbnN0YW5jZUlkJz4+KTogdGhpcyB7XG4gICAgc3VwZXIud2l0aChvcHRpb25zKVxuXG4gICAgaWYgKG9wdGlvbnM/LnRpdGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB0aXRsZSA9IG9wdGlvbnMudGl0bGVcbiAgICAgIGlmICh0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnICYmIHRpdGxlLnN0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgICB0aXRsZSA9IHRvRXhwcmVzc2lvbih0aXRsZSlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2NvbmZpZy50aXRsZSA9IFRleHRWYWx1ZUJ1aWxkZXIuZnJvbSh0aXRsZSlcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucy52YWx1ZVxuICAgICAgdGhpcy5fY29uZmlnLnZhbHVlID1cbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5zdGFydHNXaXRoKCc9JylcbiAgICAgICAgICA/IHRvRXhwcmVzc2lvbih2YWx1ZSlcbiAgICAgICAgICA6IHRvRXhwcmVzc2lvbihgPVwiJHt2YWx1ZX1cImApXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5zdWJ0aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgc3VidGl0bGUgPSBvcHRpb25zLnN1YnRpdGxlXG4gICAgICBpZiAodHlwZW9mIHN1YnRpdGxlID09PSAnc3RyaW5nJyAmJiBzdWJ0aXRsZS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgc3VidGl0bGUgPSB0b0V4cHJlc3Npb24oc3VidGl0bGUpXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcuc3VidGl0bGUgPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oc3VidGl0bGUpXG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5kZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZGVzY3JpcHRpb24gPSBvcHRpb25zLmRlc2NyaXB0aW9uXG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0aW9uID09PSAnc3RyaW5nJyAmJiBkZXNjcmlwdGlvbi5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSB0b0V4cHJlc3Npb24oZGVzY3JpcHRpb24pXG4gICAgICB9XG4gICAgICB0aGlzLl9jb25maWcuZGVzY3JpcHRpb24gPSBUZXh0VmFsdWVCdWlsZGVyLmZyb20oZGVzY3JpcHRpb24pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiBTZXRzIGRyb3Bkb3duIGl0ZW0gdGl0bGUuICovXG4gIHRpdGxlKHRleHQ6IHN0cmluZyB8IFRleHRWYWx1ZSB8IFRleHRWYWx1ZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy53aXRoKHsgdGl0bGU6IHRleHQgfSlcbiAgfVxuXG4gIC8qKiBTZXRzIGRyb3Bkb3duIGl0ZW0gdmFsdWUuICovXG4gIHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBFeHByZXNzaW9uKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHZhbHVlIH0pXG4gIH1cblxuICAvKiogU2V0cyBkcm9wZG93biBpdGVtIHN1YnRpdGxlLiAqL1xuICBzdWJ0aXRsZSh0ZXh0OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IHN1YnRpdGxlOiB0ZXh0IH0pXG4gIH1cblxuICAvKiogU2V0cyBkcm9wZG93biBpdGVtIGRlc2NyaXB0aW9uLiAqL1xuICBkZXNjcmlwdGlvbih0ZXh0OiBzdHJpbmcgfCBUZXh0VmFsdWUgfCBUZXh0VmFsdWVCdWlsZGVyKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMud2l0aCh7IGRlc2NyaXB0aW9uOiB0ZXh0IH0pXG4gIH1cblxuICBvdmVycmlkZSBidWlsZCgpOiBKY0Jhc2Uge1xuICAgIGNvbnN0IGJhc2UgPSBzdXBlci5idWlsZCgpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIC4uLmJhc2Uub3B0aW9ucyxcbiAgICAgICAgbGVmdEVsZW1lbnQ6IHRoaXMuX2xlZnRFbGVtZW50Py5idWlsZCgpLFxuICAgICAgfSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==