@kaspernj/api-maker 1.0.2054 → 1.0.2056

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 (386) hide show
  1. package/build/api.js +65 -213
  2. package/build/attribute-not-loaded-error.js +3 -26
  3. package/build/base-component.js +4 -27
  4. package/build/base-error.js +21 -46
  5. package/build/base-model/attribute.js +15 -22
  6. package/build/base-model/column.js +5 -9
  7. package/build/base-model/reflection.js +12 -52
  8. package/build/base-model/scope.js +9 -46
  9. package/build/base-model.js +584 -837
  10. package/build/bootstrap/attribute-row.js +88 -173
  11. package/build/bootstrap/attribute-rows.js +22 -51
  12. package/build/bootstrap/card.js +77 -160
  13. package/build/bootstrap/checkbox.js +54 -103
  14. package/build/bootstrap/checkboxes.js +117 -203
  15. package/build/bootstrap/index.js +1 -1
  16. package/build/bootstrap/input.js +81 -132
  17. package/build/bootstrap/invalid-feedback.js +19 -47
  18. package/build/bootstrap/paginate.js +100 -165
  19. package/build/bootstrap/radio-buttons.js +44 -81
  20. package/build/bootstrap/select.js +44 -91
  21. package/build/bootstrap/sort-link.js +69 -152
  22. package/build/cable-connection-pool.js +44 -66
  23. package/build/cable-subscription-pool.js +105 -162
  24. package/build/cable-subscription.js +10 -17
  25. package/build/cache-key-generator.js +28 -37
  26. package/build/can-can.js +81 -202
  27. package/build/channels-consumer.js +6 -11
  28. package/build/collection-loader.js +36 -54
  29. package/build/collection.d.ts.map +1 -1
  30. package/build/collection.js +160 -308
  31. package/build/command-submit-data.d.ts +1 -1
  32. package/build/command-submit-data.d.ts.map +1 -1
  33. package/build/command-submit-data.js +30 -39
  34. package/build/commands-pool.js +140 -216
  35. package/build/compose.js +4 -12
  36. package/build/config.js +21 -68
  37. package/build/custom-error.js +5 -30
  38. package/build/data-set-to-attributes.js +6 -42
  39. package/build/deserializer.js +27 -80
  40. package/build/destroy-error.js +5 -30
  41. package/build/devise.js +84 -188
  42. package/build/draggable-sort/controller.js +88 -111
  43. package/build/draggable-sort/index.js +68 -145
  44. package/build/draggable-sort/item.js +132 -198
  45. package/build/error-logger.js +79 -164
  46. package/build/error-messages.js +5 -8
  47. package/build/event-connection.js +24 -62
  48. package/build/event-emitter-listener.js +7 -24
  49. package/build/event-model-class.js +20 -47
  50. package/build/events.js +4 -9
  51. package/build/form.js +66 -154
  52. package/build/history-expo.js +13 -25
  53. package/build/history-react-native.js +15 -27
  54. package/build/history.js +3 -5
  55. package/build/index.js +3 -6
  56. package/build/inputs/attachment.js +72 -123
  57. package/build/inputs/auto-submit.js +16 -55
  58. package/build/inputs/checkbox.js +78 -167
  59. package/build/inputs/checkboxes.js +76 -159
  60. package/build/inputs/id-for-component.js +5 -41
  61. package/build/inputs/input-wrapper.js +8 -27
  62. package/build/inputs/input.js +159 -245
  63. package/build/inputs/money.js +124 -186
  64. package/build/inputs/name-for-component.js +5 -41
  65. package/build/inputs/select.js +69 -123
  66. package/build/instance-of-class-name.js +16 -21
  67. package/build/is-expo.js +9 -11
  68. package/build/key-value-store.js +52 -128
  69. package/build/link.js +52 -115
  70. package/build/logger.js +20 -26
  71. package/build/merge-styles.js +6 -10
  72. package/build/modal.js +15 -62
  73. package/build/model-class-require.js +9 -44
  74. package/build/model-events.js +25 -34
  75. package/build/model-name.js +16 -57
  76. package/build/model-prop-type.js +52 -63
  77. package/build/model-recipes-loader.js +17 -25
  78. package/build/model-recipes-model-loader.d.ts +1 -1
  79. package/build/model-recipes-model-loader.js +130 -208
  80. package/build/models-response-reader.js +25 -66
  81. package/build/models.js +6 -11
  82. package/build/money-formatter.d.ts +2 -2
  83. package/build/money-formatter.d.ts.map +1 -1
  84. package/build/money-formatter.js +46 -56
  85. package/build/not-loaded-error.js +3 -26
  86. package/build/params.js +32 -42
  87. package/build/preloaded.js +19 -59
  88. package/build/resize-observer.js +6 -12
  89. package/build/rest-props-validator.js +5 -7
  90. package/build/result.js +11 -15
  91. package/build/router/route.js +179 -312
  92. package/build/router/switch.js +56 -130
  93. package/build/router.js +34 -94
  94. package/build/routes-native.js +64 -148
  95. package/build/routes.js +26 -80
  96. package/build/run-last.js +20 -25
  97. package/build/serializer.js +29 -34
  98. package/build/services.js +10 -19
  99. package/build/session-status-updater.js +85 -184
  100. package/build/source-maps-loader.d.ts +37 -0
  101. package/build/source-maps-loader.d.ts.map +1 -0
  102. package/build/source-maps-loader.js +103 -225
  103. package/build/super-admin/config-reader.d.ts +2 -2
  104. package/build/super-admin/config-reader.js +42 -83
  105. package/build/super-admin/edit-page/edit-attribute-checkbox.js +53 -115
  106. package/build/super-admin/edit-page/edit-attribute-content.js +47 -77
  107. package/build/super-admin/edit-page/edit-attribute-input.js +57 -119
  108. package/build/super-admin/edit-page/edit-attribute.js +40 -104
  109. package/build/super-admin/edit-page.js +88 -201
  110. package/build/super-admin/has-edit-config.js +7 -13
  111. package/build/super-admin/index-page.js +17 -44
  112. package/build/super-admin/index.js +87 -210
  113. package/build/super-admin/layout/header/index.js +91 -152
  114. package/build/super-admin/layout/index.js +70 -153
  115. package/build/super-admin/layout/menu/index.js +85 -161
  116. package/build/super-admin/layout/menu/menu-content.js +25 -85
  117. package/build/super-admin/layout/menu/menu-item.js +52 -102
  118. package/build/super-admin/layout/no-access.js +19 -45
  119. package/build/super-admin/model-class-table.js +45 -129
  120. package/build/super-admin/models.js +6 -42
  121. package/build/super-admin/show-nav.js +27 -89
  122. package/build/super-admin/show-page/belongs-to-attribute-row.js +18 -76
  123. package/build/super-admin/show-page/index.js +101 -187
  124. package/build/super-admin/show-reflection-actions.js +39 -100
  125. package/build/super-admin/show-reflection-link.js +27 -99
  126. package/build/super-admin/show-reflection-page.js +34 -97
  127. package/build/table/column-content.js +77 -121
  128. package/build/table/column-identifier.js +7 -11
  129. package/build/table/column-visible.js +2 -5
  130. package/build/table/components/column.js +13 -60
  131. package/build/table/components/flat-list.js +13 -60
  132. package/build/table/components/header.js +15 -62
  133. package/build/table/components/row.js +16 -63
  134. package/build/table/filters/attribute-element.js +34 -62
  135. package/build/table/filters/filter-form.js +280 -483
  136. package/build/table/filters/filter.js +45 -73
  137. package/build/table/filters/index.js +95 -139
  138. package/build/table/filters/load-search-modal.js +64 -212
  139. package/build/table/filters/reflection-element.js +27 -55
  140. package/build/table/filters/save-search-modal.js +44 -140
  141. package/build/table/filters/scope-element.js +28 -56
  142. package/build/table/header-column-content.js +33 -71
  143. package/build/table/header-column.js +89 -218
  144. package/build/table/header-select.js +45 -77
  145. package/build/table/model-callback-args.js +5 -41
  146. package/build/table/model-column.js +59 -144
  147. package/build/table/model-row.js +75 -187
  148. package/build/table/select-calculator.js +27 -86
  149. package/build/table/settings/column-row.js +66 -186
  150. package/build/table/settings/download-action.js +38 -74
  151. package/build/table/settings/index.js +38 -102
  152. package/build/table/table-settings.js +185 -323
  153. package/build/table/table.js +583 -781
  154. package/build/table/use-sorting.js +16 -35
  155. package/build/table/widths.js +32 -38
  156. package/build/table/worker-plugins-check-all-checkbox.js +77 -225
  157. package/build/table/worker-plugins-checkbox.js +74 -185
  158. package/build/translated-attributes.js +6 -11
  159. package/build/translated-collections.js +11 -20
  160. package/build/updated-attribute.js +47 -120
  161. package/build/url-encode.js +6 -12
  162. package/build/use-breakpoint.js +43 -95
  163. package/build/use-can-can.js +30 -92
  164. package/build/use-collection.js +119 -229
  165. package/build/use-created-event.js +27 -44
  166. package/build/use-current-user-context.js +57 -151
  167. package/build/use-current-user.js +14 -32
  168. package/build/use-destroyed-event.js +22 -43
  169. package/build/use-event-emitter.d.ts +1 -2
  170. package/build/use-event-emitter.d.ts.map +1 -1
  171. package/build/use-event-emitter.js +10 -16
  172. package/build/use-event-listener.js +13 -22
  173. package/build/use-input.js +49 -69
  174. package/build/use-model-event.js +22 -43
  175. package/build/use-model.js +96 -199
  176. package/build/use-resize-observer.js +11 -21
  177. package/build/use-router.js +65 -107
  178. package/build/use-screen-layout.js +17 -19
  179. package/build/use-styles.js +24 -75
  180. package/build/use-updated-event.js +22 -44
  181. package/build/use-validation-errors.js +12 -18
  182. package/build/utils/button.js +86 -136
  183. package/build/utils/card.js +31 -106
  184. package/build/utils/checkbox.js +51 -112
  185. package/build/utils/checkboxes.js +109 -182
  186. package/build/utils/default-style.js +29 -103
  187. package/build/utils/header.js +8 -35
  188. package/build/utils/icon.js +36 -117
  189. package/build/utils/invalid-feedback.js +16 -43
  190. package/build/utils/modal.js +25 -108
  191. package/build/utils/text.js +10 -37
  192. package/build/validation-error.js +31 -89
  193. package/build/validation-errors.js +61 -111
  194. package/build/with-api-maker.js +15 -67
  195. package/build/with-collection.js +14 -64
  196. package/build/with-current-user.js +7 -23
  197. package/build/with-model.js +11 -27
  198. package/build/with-router.js +8 -35
  199. package/package.json +4 -3
  200. package/build/api.js.map +0 -1
  201. package/build/attribute-not-loaded-error.js.map +0 -1
  202. package/build/base-component.js.map +0 -1
  203. package/build/base-error.js.map +0 -1
  204. package/build/base-model/attribute.js.map +0 -1
  205. package/build/base-model/column.js.map +0 -1
  206. package/build/base-model/reflection.js.map +0 -1
  207. package/build/base-model/scope.js.map +0 -1
  208. package/build/base-model.js.map +0 -1
  209. package/build/bootstrap/attribute-row.js.map +0 -1
  210. package/build/bootstrap/attribute-rows.js.map +0 -1
  211. package/build/bootstrap/card.js.map +0 -1
  212. package/build/bootstrap/checkbox.js.map +0 -1
  213. package/build/bootstrap/checkboxes.js.map +0 -1
  214. package/build/bootstrap/index.js.map +0 -1
  215. package/build/bootstrap/input.js.map +0 -1
  216. package/build/bootstrap/invalid-feedback.js.map +0 -1
  217. package/build/bootstrap/paginate.js.map +0 -1
  218. package/build/bootstrap/radio-buttons.js.map +0 -1
  219. package/build/bootstrap/select.js.map +0 -1
  220. package/build/bootstrap/sort-link.js.map +0 -1
  221. package/build/cable-connection-pool.js.map +0 -1
  222. package/build/cable-subscription-pool.js.map +0 -1
  223. package/build/cable-subscription.js.map +0 -1
  224. package/build/cache-key-generator.js.map +0 -1
  225. package/build/can-can.js.map +0 -1
  226. package/build/channels-consumer.js.map +0 -1
  227. package/build/collection-loader.js.map +0 -1
  228. package/build/collection.js.map +0 -1
  229. package/build/command-submit-data.js.map +0 -1
  230. package/build/commands-pool.js.map +0 -1
  231. package/build/compose.js.map +0 -1
  232. package/build/config.js.map +0 -1
  233. package/build/custom-error.js.map +0 -1
  234. package/build/data-set-to-attributes.js.map +0 -1
  235. package/build/deserializer.js.map +0 -1
  236. package/build/destroy-error.js.map +0 -1
  237. package/build/devise.js.map +0 -1
  238. package/build/draggable-sort/controller.js.map +0 -1
  239. package/build/draggable-sort/index.js.map +0 -1
  240. package/build/draggable-sort/item.js.map +0 -1
  241. package/build/error-logger.js.map +0 -1
  242. package/build/error-messages.js.map +0 -1
  243. package/build/event-connection.js.map +0 -1
  244. package/build/event-emitter-listener.js.map +0 -1
  245. package/build/event-model-class.js.map +0 -1
  246. package/build/events.js.map +0 -1
  247. package/build/form.js.map +0 -1
  248. package/build/history-expo.js.map +0 -1
  249. package/build/history-react-native.js.map +0 -1
  250. package/build/history.js.map +0 -1
  251. package/build/index.js.map +0 -1
  252. package/build/inputs/attachment.js.map +0 -1
  253. package/build/inputs/auto-submit.js.map +0 -1
  254. package/build/inputs/checkbox.js.map +0 -1
  255. package/build/inputs/checkboxes.js.map +0 -1
  256. package/build/inputs/id-for-component.js.map +0 -1
  257. package/build/inputs/input-wrapper.js.map +0 -1
  258. package/build/inputs/input.js.map +0 -1
  259. package/build/inputs/money.js.map +0 -1
  260. package/build/inputs/name-for-component.js.map +0 -1
  261. package/build/inputs/select.js.map +0 -1
  262. package/build/instance-of-class-name.js.map +0 -1
  263. package/build/is-expo.js.map +0 -1
  264. package/build/key-value-store.js.map +0 -1
  265. package/build/link.js.map +0 -1
  266. package/build/logger.js.map +0 -1
  267. package/build/merge-styles.js.map +0 -1
  268. package/build/modal.js.map +0 -1
  269. package/build/model-class-require.js.map +0 -1
  270. package/build/model-events.js.map +0 -1
  271. package/build/model-name.js.map +0 -1
  272. package/build/model-prop-type.js.map +0 -1
  273. package/build/model-recipes-loader.js.map +0 -1
  274. package/build/model-recipes-model-loader.js.map +0 -1
  275. package/build/models-response-reader.js.map +0 -1
  276. package/build/models.js.map +0 -1
  277. package/build/money-formatter.js.map +0 -1
  278. package/build/not-loaded-error.js.map +0 -1
  279. package/build/params.js.map +0 -1
  280. package/build/preloaded.js.map +0 -1
  281. package/build/resize-observer.js.map +0 -1
  282. package/build/rest-props-validator.js.map +0 -1
  283. package/build/result.js.map +0 -1
  284. package/build/router/route.js.map +0 -1
  285. package/build/router/switch.js.map +0 -1
  286. package/build/router.js.map +0 -1
  287. package/build/routes-native.js.map +0 -1
  288. package/build/routes.js.map +0 -1
  289. package/build/run-last.js.map +0 -1
  290. package/build/serializer.js.map +0 -1
  291. package/build/services.js.map +0 -1
  292. package/build/session-status-updater.js.map +0 -1
  293. package/build/source-maps-loader.js.map +0 -1
  294. package/build/super-admin/config-reader.js.map +0 -1
  295. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
  296. package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
  297. package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
  298. package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
  299. package/build/super-admin/edit-page.js.map +0 -1
  300. package/build/super-admin/has-edit-config.js.map +0 -1
  301. package/build/super-admin/index-page.js.map +0 -1
  302. package/build/super-admin/index.js.map +0 -1
  303. package/build/super-admin/layout/header/index.js.map +0 -1
  304. package/build/super-admin/layout/index.js.map +0 -1
  305. package/build/super-admin/layout/menu/index.js.map +0 -1
  306. package/build/super-admin/layout/menu/menu-content.js.map +0 -1
  307. package/build/super-admin/layout/menu/menu-item.js.map +0 -1
  308. package/build/super-admin/layout/no-access.js.map +0 -1
  309. package/build/super-admin/model-class-table.js.map +0 -1
  310. package/build/super-admin/models.js.map +0 -1
  311. package/build/super-admin/show-nav.js.map +0 -1
  312. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
  313. package/build/super-admin/show-page/index.js.map +0 -1
  314. package/build/super-admin/show-reflection-actions.js.map +0 -1
  315. package/build/super-admin/show-reflection-link.js.map +0 -1
  316. package/build/super-admin/show-reflection-page.js.map +0 -1
  317. package/build/table/column-content.js.map +0 -1
  318. package/build/table/column-identifier.js.map +0 -1
  319. package/build/table/column-visible.js.map +0 -1
  320. package/build/table/components/column.js.map +0 -1
  321. package/build/table/components/flat-list.js.map +0 -1
  322. package/build/table/components/header.js.map +0 -1
  323. package/build/table/components/row.js.map +0 -1
  324. package/build/table/filters/attribute-element.js.map +0 -1
  325. package/build/table/filters/filter-form.js.map +0 -1
  326. package/build/table/filters/filter.js.map +0 -1
  327. package/build/table/filters/index.js.map +0 -1
  328. package/build/table/filters/load-search-modal.js.map +0 -1
  329. package/build/table/filters/reflection-element.js.map +0 -1
  330. package/build/table/filters/save-search-modal.js.map +0 -1
  331. package/build/table/filters/scope-element.js.map +0 -1
  332. package/build/table/header-column-content.js.map +0 -1
  333. package/build/table/header-column.js.map +0 -1
  334. package/build/table/header-select.js.map +0 -1
  335. package/build/table/model-callback-args.js.map +0 -1
  336. package/build/table/model-column.js.map +0 -1
  337. package/build/table/model-row.js.map +0 -1
  338. package/build/table/select-calculator.js.map +0 -1
  339. package/build/table/settings/column-row.js.map +0 -1
  340. package/build/table/settings/download-action.js.map +0 -1
  341. package/build/table/settings/index.js.map +0 -1
  342. package/build/table/table-settings.js.map +0 -1
  343. package/build/table/table.js.map +0 -1
  344. package/build/table/use-sorting.js.map +0 -1
  345. package/build/table/widths.js.map +0 -1
  346. package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
  347. package/build/table/worker-plugins-checkbox.js.map +0 -1
  348. package/build/translated-attributes.js.map +0 -1
  349. package/build/translated-collections.js.map +0 -1
  350. package/build/updated-attribute.js.map +0 -1
  351. package/build/url-encode.js.map +0 -1
  352. package/build/use-breakpoint.js.map +0 -1
  353. package/build/use-can-can.js.map +0 -1
  354. package/build/use-collection.js.map +0 -1
  355. package/build/use-created-event.js.map +0 -1
  356. package/build/use-current-user-context.js.map +0 -1
  357. package/build/use-current-user.js.map +0 -1
  358. package/build/use-destroyed-event.js.map +0 -1
  359. package/build/use-event-emitter.js.map +0 -1
  360. package/build/use-event-listener.js.map +0 -1
  361. package/build/use-input.js.map +0 -1
  362. package/build/use-model-event.js.map +0 -1
  363. package/build/use-model.js.map +0 -1
  364. package/build/use-resize-observer.js.map +0 -1
  365. package/build/use-router.js.map +0 -1
  366. package/build/use-screen-layout.js.map +0 -1
  367. package/build/use-styles.js.map +0 -1
  368. package/build/use-updated-event.js.map +0 -1
  369. package/build/use-validation-errors.js.map +0 -1
  370. package/build/utils/button.js.map +0 -1
  371. package/build/utils/card.js.map +0 -1
  372. package/build/utils/checkbox.js.map +0 -1
  373. package/build/utils/checkboxes.js.map +0 -1
  374. package/build/utils/default-style.js.map +0 -1
  375. package/build/utils/header.js.map +0 -1
  376. package/build/utils/icon.js.map +0 -1
  377. package/build/utils/invalid-feedback.js.map +0 -1
  378. package/build/utils/modal.js.map +0 -1
  379. package/build/utils/text.js.map +0 -1
  380. package/build/validation-error.js.map +0 -1
  381. package/build/validation-errors.js.map +0 -1
  382. package/build/with-api-maker.js.map +0 -1
  383. package/build/with-collection.js.map +0 -1
  384. package/build/with-current-user.js.map +0 -1
  385. package/build/with-model.js.map +0 -1
  386. package/build/with-router.js.map +0 -1
@@ -1,209 +1,123 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { shapeComponent, ShapeComponent } from "set-state-compare/build/shape-component.js";
3
+ import React, { useMemo } from "react";
4
+ import { digs } from "diggerize";
5
+ import { useForm } from "../form";
6
+ import * as inflection from "inflection";
7
+ import InvalidFeedback from "./invalid-feedback.js";
8
+ import memo from "set-state-compare/build/memo.js";
9
+ import PropTypes from "prop-types";
10
+ import propTypesExact from "prop-types-exact";
11
+ import useInput from "../use-input.js";
12
+ const OptionElement = memo(shapeComponent(class OptionElement extends ShapeComponent {
13
+ render() {
14
+ const { generatedId, inputCheckboxClassName, isDefaultSelected, inputName, option, optionIndex, options, wrapperOpts } = this.p;
15
+ const { errors } = digs(wrapperOpts, "errors");
16
+ const id = `${generatedId}-${optionIndex}`;
17
+ return (_jsxs("div", { className: "checkboxes-option", children: [_jsx("input", { className: inputCheckboxClassName, "data-option-value": option[1], defaultChecked: isDefaultSelected, id: id, name: inputName, onChange: this.tt.onChange, type: "checkbox", value: option[1] }), _jsx("label", { className: "ml-1", htmlFor: id, children: option[0] }), (optionIndex + 1) == options.length && errors.length > 0 &&
18
+ _jsx(InvalidFeedback, { errors: errors })] }, `option-${option[1]}`));
22
19
  }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || (function () {
34
- var ownKeys = function(o) {
35
- ownKeys = Object.getOwnPropertyNames || function (o) {
36
- var ar = [];
37
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
- return ar;
39
- };
40
- return ownKeys(o);
41
- };
42
- return function (mod) {
43
- if (mod && mod.__esModule) return mod;
44
- var result = {};
45
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
- __setModuleDefault(result, mod);
47
- return result;
20
+ onChange = (event, ...restProps) => {
21
+ this.p.onOptionChecked({ event, option: this.p.option });
22
+ if (this.props.onChange)
23
+ this.props.onChange(event, ...restProps);
48
24
  };
49
- })();
50
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
51
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
52
- if (ar || !(i in from)) {
53
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
54
- ar[i] = from[i];
25
+ }));
26
+ export default memo(shapeComponent(class ApiMakerBootstrapCheckboxes extends ShapeComponent {
27
+ static propTypes = propTypesExact({
28
+ attribute: PropTypes.string,
29
+ defaultValue: PropTypes.array,
30
+ label: PropTypes.string,
31
+ labelClassName: PropTypes.string,
32
+ model: PropTypes.object,
33
+ name: PropTypes.string,
34
+ onChange: PropTypes.func,
35
+ options: PropTypes.array.isRequired
36
+ });
37
+ setup() {
38
+ const { inputProps, wrapperOpts } = useInput({ props: this.props });
39
+ this.generatedId = useMemo(() => Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15), []);
40
+ this.setInstance({
41
+ form: useForm(),
42
+ inputProps,
43
+ wrapperOpts
44
+ });
45
+ this.useStates({
46
+ checkedOptions: () => {
47
+ if (Array.isArray(this.props.defaultValue))
48
+ return this.props.defaultValue;
49
+ if (this.props.defaultValue)
50
+ return [this.props.defaultValue];
51
+ return [];
52
+ }
53
+ });
54
+ useMemo(() => {
55
+ if (this.form && inputProps.name) {
56
+ this.form.setValue(inputProps.name, this.s.checkedOptions);
57
+ }
58
+ }, []);
59
+ }
60
+ render() {
61
+ return (_jsxs("div", { className: "component-bootstrap-checkboxes form-group", children: [_jsx("label", { className: this.labelClassName(), children: this.tt.wrapperOpts.label }), _jsx("input", { name: this.inputName(), ref: this.tt.inputProps.ref, type: "hidden", value: "" }), this.props.options.map((option, index) => _jsx(OptionElement, { inputCheckboxClassName: this.tt.inputCheckboxClassName(), inputName: this.inputName(), isDefaultSelected: this.isDefaultSelected(option[1]), generatedId: this.tt.generatedId, onChange: this.props.onChange, onOptionChecked: this.tt.onOptionChecked, option: option, optionIndex: index, options: this.props.options, wrapperOpts: this.tt.wrapperOpts }, option[1]))] }));
62
+ }
63
+ inputDefaultValue() {
64
+ const { attribute, defaultValue, model } = this.props;
65
+ if (defaultValue) {
66
+ return defaultValue;
67
+ }
68
+ else if (attribute && model) {
69
+ if (!model[attribute])
70
+ throw `No such attribute: ${attribute}`;
71
+ return this.props.model[attribute]();
55
72
  }
56
73
  }
57
- return to.concat(ar || Array.prototype.slice.call(from));
58
- };
59
- var __importDefault = (this && this.__importDefault) || function (mod) {
60
- return (mod && mod.__esModule) ? mod : { "default": mod };
61
- };
62
- var _a;
63
- Object.defineProperty(exports, "__esModule", { value: true });
64
- var jsx_runtime_1 = require("react/jsx-runtime");
65
- var shape_component_js_1 = require("set-state-compare/build/shape-component.js");
66
- var react_1 = __importStar(require("react"));
67
- var diggerize_1 = require("diggerize");
68
- var form_1 = require("../form");
69
- var inflection = __importStar(require("inflection"));
70
- var invalid_feedback_js_1 = __importDefault(require("./invalid-feedback.js"));
71
- var memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
72
- var prop_types_1 = __importDefault(require("prop-types"));
73
- var prop_types_exact_1 = __importDefault(require("prop-types-exact"));
74
- var use_input_js_1 = __importDefault(require("../use-input.js"));
75
- var OptionElement = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(/** @class */ (function (_super) {
76
- __extends(OptionElement, _super);
77
- function OptionElement() {
78
- var _this = _super !== null && _super.apply(this, arguments) || this;
79
- _this.onChange = function (event) {
80
- var _b;
81
- var restProps = [];
82
- for (var _i = 1; _i < arguments.length; _i++) {
83
- restProps[_i - 1] = arguments[_i];
84
- }
85
- _this.p.onOptionChecked({ event: event, option: _this.p.option });
86
- if (_this.props.onChange)
87
- (_b = _this.props).onChange.apply(_b, __spreadArray([event], restProps, false));
88
- };
89
- return _this;
74
+ inputCheckboxClassName() {
75
+ const classNames = [];
76
+ if (this.tt.wrapperOpts.errors.length > 0)
77
+ classNames.push("is-invalid");
78
+ return classNames.join(" ");
90
79
  }
91
- OptionElement.prototype.render = function () {
92
- var _b = this.p, generatedId = _b.generatedId, inputCheckboxClassName = _b.inputCheckboxClassName, isDefaultSelected = _b.isDefaultSelected, inputName = _b.inputName, option = _b.option, optionIndex = _b.optionIndex, options = _b.options, wrapperOpts = _b.wrapperOpts;
93
- var errors = (0, diggerize_1.digs)(wrapperOpts, "errors").errors;
94
- var id = "".concat(generatedId, "-").concat(optionIndex);
95
- return ((0, jsx_runtime_1.jsxs)("div", { className: "checkboxes-option", children: [(0, jsx_runtime_1.jsx)("input", { className: inputCheckboxClassName, "data-option-value": option[1], defaultChecked: isDefaultSelected, id: id, name: inputName, onChange: this.tt.onChange, type: "checkbox", value: option[1] }), (0, jsx_runtime_1.jsx)("label", { className: "ml-1", htmlFor: id, children: option[0] }), (optionIndex + 1) == options.length && errors.length > 0 &&
96
- (0, jsx_runtime_1.jsx)(invalid_feedback_js_1.default, { errors: errors })] }, "option-".concat(option[1])));
97
- };
98
- return OptionElement;
99
- }(shape_component_js_1.ShapeComponent))));
100
- exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)((_a = /** @class */ (function (_super) {
101
- __extends(ApiMakerBootstrapCheckboxes, _super);
102
- function ApiMakerBootstrapCheckboxes() {
103
- var _this = _super !== null && _super.apply(this, arguments) || this;
104
- _this.onOptionChecked = function (_b) {
105
- var event = _b.event, option = _b.option;
106
- var _c = _this.tt, inputProps = _c.inputProps, form = _c.form;
107
- var name = inputProps.name;
108
- var checked = event.target.checked;
109
- var newOptions;
110
- if (checked) {
111
- newOptions = _this.s.checkedOptions.concat([option[1]]);
112
- _this.setState({ checkedOptions: newOptions });
113
- }
114
- else {
115
- newOptions = _this.s.checkedOptions.filter(function (value) { return value != option[1]; });
116
- _this.setState({ checkedOptions: newOptions });
117
- }
118
- if (form && name) {
119
- form.setValue(name, newOptions);
120
- }
121
- };
122
- return _this;
80
+ inputName() {
81
+ if (this.props.name) {
82
+ return `${this.props.name}[]`;
123
83
  }
124
- ApiMakerBootstrapCheckboxes.prototype.setup = function () {
125
- var _this = this;
126
- var _b = (0, use_input_js_1.default)({ props: this.props }), inputProps = _b.inputProps, wrapperOpts = _b.wrapperOpts;
127
- this.generatedId = (0, react_1.useMemo)(function () { return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); }, []);
128
- this.setInstance({
129
- form: (0, form_1.useForm)(),
130
- inputProps: inputProps,
131
- wrapperOpts: wrapperOpts
132
- });
133
- this.useStates({
134
- checkedOptions: function () {
135
- if (Array.isArray(_this.props.defaultValue))
136
- return _this.props.defaultValue;
137
- if (_this.props.defaultValue)
138
- return [_this.props.defaultValue];
139
- return [];
140
- }
141
- });
142
- (0, react_1.useMemo)(function () {
143
- if (_this.form && inputProps.name) {
144
- _this.form.setValue(inputProps.name, _this.s.checkedOptions);
145
- }
146
- }, []);
147
- };
148
- ApiMakerBootstrapCheckboxes.prototype.render = function () {
149
- var _this = this;
150
- return ((0, jsx_runtime_1.jsxs)("div", { className: "component-bootstrap-checkboxes form-group", children: [(0, jsx_runtime_1.jsx)("label", { className: this.labelClassName(), children: this.tt.wrapperOpts.label }), (0, jsx_runtime_1.jsx)("input", { name: this.inputName(), ref: this.tt.inputProps.ref, type: "hidden", value: "" }), this.props.options.map(function (option, index) {
151
- return (0, jsx_runtime_1.jsx)(OptionElement, { inputCheckboxClassName: _this.tt.inputCheckboxClassName(), inputName: _this.inputName(), isDefaultSelected: _this.isDefaultSelected(option[1]), generatedId: _this.tt.generatedId, onChange: _this.props.onChange, onOptionChecked: _this.tt.onOptionChecked, option: option, optionIndex: index, options: _this.props.options, wrapperOpts: _this.tt.wrapperOpts }, option[1]);
152
- })] }));
153
- };
154
- ApiMakerBootstrapCheckboxes.prototype.inputDefaultValue = function () {
155
- var _b = this.props, attribute = _b.attribute, defaultValue = _b.defaultValue, model = _b.model;
156
- if (defaultValue) {
157
- return defaultValue;
158
- }
159
- else if (attribute && model) {
160
- if (!model[attribute])
161
- throw "No such attribute: ".concat(attribute);
162
- return this.props.model[attribute]();
163
- }
164
- };
165
- ApiMakerBootstrapCheckboxes.prototype.inputCheckboxClassName = function () {
166
- var classNames = [];
167
- if (this.tt.wrapperOpts.errors.length > 0)
168
- classNames.push("is-invalid");
169
- return classNames.join(" ");
170
- };
171
- ApiMakerBootstrapCheckboxes.prototype.inputName = function () {
172
- if (this.props.name) {
173
- return "".concat(this.props.name, "[]");
174
- }
175
- else if (this.props.model) {
176
- return "".concat(this.props.model.modelClassData().paramKey, "[").concat(inflection.underscore(this.props.attribute), "]");
177
- }
178
- };
179
- ApiMakerBootstrapCheckboxes.prototype.isDefaultSelected = function (option) {
180
- var defaultValue = this.inputDefaultValue();
181
- if (!defaultValue)
182
- return false;
183
- if (defaultValue.constructor === Array) {
184
- return defaultValue.includes(option);
185
- }
186
- else {
187
- return defaultValue == option;
188
- }
189
- };
190
- ApiMakerBootstrapCheckboxes.prototype.labelClassName = function () {
191
- var classNames = [];
192
- if (this.props.labelClassName)
193
- classNames.push(this.props.labelClassName);
194
- return classNames.join(" ");
195
- };
196
- return ApiMakerBootstrapCheckboxes;
197
- }(shape_component_js_1.ShapeComponent)),
198
- _a.propTypes = (0, prop_types_exact_1.default)({
199
- attribute: prop_types_1.default.string,
200
- defaultValue: prop_types_1.default.array,
201
- label: prop_types_1.default.string,
202
- labelClassName: prop_types_1.default.string,
203
- model: prop_types_1.default.object,
204
- name: prop_types_1.default.string,
205
- onChange: prop_types_1.default.func,
206
- options: prop_types_1.default.array.isRequired
207
- }),
208
- _a)));
209
- //# sourceMappingURL=checkboxes.js.map
84
+ else if (this.props.model) {
85
+ return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
86
+ }
87
+ }
88
+ isDefaultSelected(option) {
89
+ let defaultValue = this.inputDefaultValue();
90
+ if (!defaultValue)
91
+ return false;
92
+ if (defaultValue.constructor === Array) {
93
+ return defaultValue.includes(option);
94
+ }
95
+ else {
96
+ return defaultValue == option;
97
+ }
98
+ }
99
+ labelClassName() {
100
+ const classNames = [];
101
+ if (this.props.labelClassName)
102
+ classNames.push(this.props.labelClassName);
103
+ return classNames.join(" ");
104
+ }
105
+ onOptionChecked = ({ event, option }) => {
106
+ const { inputProps, form } = this.tt;
107
+ const { name } = inputProps;
108
+ const checked = event.target.checked;
109
+ let newOptions;
110
+ if (checked) {
111
+ newOptions = this.s.checkedOptions.concat([option[1]]);
112
+ this.setState({ checkedOptions: newOptions });
113
+ }
114
+ else {
115
+ newOptions = this.s.checkedOptions.filter((value) => value != option[1]);
116
+ this.setState({ checkedOptions: newOptions });
117
+ }
118
+ if (form && name) {
119
+ form.setValue(name, newOptions);
120
+ }
121
+ };
122
+ }));
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiYm9vdHN0cmFwL2NoZWNrYm94ZXMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGVBQWUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUE7QUFFdEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGFBQWMsU0FBUSxjQUFjO0lBQ2xGLE1BQU07UUFDSixNQUFNLEVBQUMsV0FBVyxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQzdILE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQzVDLE1BQU0sRUFBRSxHQUFHLEdBQUcsV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUFBO1FBRTFDLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBQyxtQkFBbUIsYUFDaEMsZ0JBQ0UsU0FBUyxFQUFFLHNCQUFzQix1QkFDZCxNQUFNLENBQUMs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LENBQUMsQ0FBQTtZQUV0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDTixVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNqQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCB7dXNlRm9ybX0gZnJvbSBcIi4uL2Zvcm1cIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgSW52YWxpZEZlZWRiYWNrIGZyb20gXCIuL2ludmFsaWQtZmVlZGJhY2suanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXQuanNcIlxuXG5jb25zdCBPcHRpb25FbGVtZW50ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBPcHRpb25FbGVtZW50IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2dlbmVyYXRlZElkLCBpbnB1dENoZWNrYm94Q2xhc3NOYW1lLCBpc0RlZmF1bHRTZWxlY3RlZCwgaW5wdXROYW1lLCBvcHRpb24sIG9wdGlvbkluZGV4LCBvcHRpb25zLCB3cmFwcGVyT3B0c30gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXJyb3JzfSA9IGRpZ3Mod3JhcHBlck9wdHMsIFwiZXJyb3JzXCIpXG4gICAgY29uc3QgaWQgPSBgJHtnZW5lcmF0ZWRJZH0tJHtvcHRpb25JbmRleH1gXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaGVja2JveGVzLW9wdGlvblwiIGtleT17YG9wdGlvbi0ke29wdGlvblsxXX1gfT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtpbnB1dENoZWNrYm94Q2xhc3NOYW1lfVxuICAgICAgICAgIGRhdGEtb3B0aW9uLXZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2lzRGVmYXVsdFNlbGVjdGVkfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICBuYW1lPXtpbnB1dE5hbWV9XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DaGFuZ2V9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICB2YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJtbC0xXCIgaHRtbEZvcj17aWR9PlxuICAgICAgICAgIHtvcHRpb25bMF19XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgeyhvcHRpb25JbmRleCArIDEpID09IG9wdGlvbnMubGVuZ3RoICYmIGVycm9ycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgb25DaGFuZ2UgPSAoZXZlbnQsIC4uLnJlc3RQcm9wcykgPT4ge1xuICAgIHRoaXMucC5vbk9wdGlvbkNoZWNrZWQoe2V2ZW50LCBvcHRpb246IHRoaXMucC5vcHRpb259KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHRoaXMucHJvcHMub25DaGFuZ2UoZXZlbnQsIC4uLnJlc3RQcm9wcylcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBDaGVja2JveGVzIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5hcnJheSxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHN9KVxuXG4gICAgdGhpcy5nZW5lcmF0ZWRJZCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KSxcbiAgICAgIFtdXG4gICAgKVxuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgd3JhcHBlck9wdHNcbiAgICB9KVxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGNoZWNrZWRPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKSkgcmV0dXJuIHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmRlZmF1bHRWYWx1ZSkgcmV0dXJuIFt0aGlzLnByb3BzLmRlZmF1bHRWYWx1ZV1cblxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtICYmIGlucHV0UHJvcHMubmFtZSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoaW5wdXRQcm9wcy5uYW1lLCB0aGlzLnMuY2hlY2tlZE9wdGlvbnMpXG4gICAgICB9XG4gICAgfSwgW10pXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbXBvbmVudC1ib290c3RyYXAtY2hlY2tib3hlcyBmb3JtLWdyb3VwXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0+XG4gICAgICAgICAge3RoaXMudHQud3JhcHBlck9wdHMubGFiZWx9XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPGlucHV0IG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9IHJlZj17dGhpcy50dC5pbnB1dFByb3BzLnJlZn0gdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiXCIgLz5cbiAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+XG4gICAgICAgICAgPE9wdGlvbkVsZW1lbnRcbiAgICAgICAgICAgIGlucHV0Q2hlY2tib3hDbGFzc05hbWU9e3RoaXMudHQuaW5wdXRDaGVja2JveENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgaW5wdXROYW1lPXt0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgaXNEZWZhdWx0U2VsZWN0ZWQ9e3RoaXMuaXNEZWZhdWx0U2VsZWN0ZWQob3B0aW9uWzFdKX1cbiAgICAgICAgICAgIGdlbmVyYXRlZElkPXt0aGlzLnR0LmdlbmVyYXRlZElkfVxuICAgICAgICAgICAga2V5PXtvcHRpb25bMV19XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5wcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgIG9uT3B0aW9uQ2hlY2tlZD17dGhpcy50dC5vbk9wdGlvbkNoZWNrZWR9XG4gICAgICAgICAgICBvcHRpb249e29wdGlvbn1cbiAgICAgICAgICAgIG9wdGlvbkluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMucHJvcHMub3B0aW9uc31cbiAgICAgICAgICAgIHdyYXBwZXJPcHRzPXt0aGlzLnR0LndyYXBwZXJPcHRzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgZGVmYXVsdFZhbHVlLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGlmICghbW9kZWxbYXR0cmlidXRlXSkgdGhyb3cgYE5vIHN1Y2ggYXR0cmlidXRlOiAke2F0dHJpYnV0ZX1gXG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsW2F0dHJpYnV0ZV0oKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hlY2tib3hDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXVxuXG4gICAgaWYgKHRoaXMudHQud3JhcHBlck9wdHMuZXJyb3JzLmxlbmd0aCA+IDApIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnByb3BzLm5hbWUpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm5hbWV9W11gXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9XWBcbiAgICB9XG4gIH1cblxuICBpc0RlZmF1bHRTZWxlY3RlZCAob3B0aW9uKSB7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuaW5wdXREZWZhdWx0VmFsdWUoKVxuXG4gICAgaWYgKCFkZWZhdWx0VmFsdWUpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUuaW5jbHVkZXMob3B0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlID09IG9wdGlvblxuICAgIH1cbiAgfVxuXG4gIGxhYmVsQ2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW11cblxuICAgIGlmICh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKSBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBvbk9wdGlvbkNoZWNrZWQgPSAoe2V2ZW50LCBvcHRpb259KSA9PiB7XG4gICAgY29uc3Qge2lucHV0UHJvcHMsIGZvcm19ID0gdGhpcy50dFxuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWRcbiAgICBsZXQgbmV3T3B0aW9uc1xuXG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIG5ld09wdGlvbnMgPSB0aGlzLnMuY2hlY2tlZE9wdGlvbnMuY29uY2F0KFtvcHRpb25bMV1dKVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkT3B0aW9uczogbmV3T3B0aW9uc30pXG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09wdGlvbnMgPSB0aGlzLnMuY2hlY2tlZE9wdGlvbnMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT0gb3B0aW9uWzFdKVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkT3B0aW9uczogbmV3T3B0aW9uc30pXG4gICAgfVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgZm9ybS5zZXRWYWx1ZShuYW1lLCBuZXdPcHRpb25zKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -1 +1 @@
1
- //# sourceMappingURL=index.js.map
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiIl19
@@ -1,135 +1,84 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { digs } from "diggerize";
3
+ import inputWrapper from "../inputs/input-wrapper";
4
+ import { Input } from "../inputs/input";
5
+ import InvalidFeedback from "./invalid-feedback.js";
6
+ import memo from "set-state-compare/build/memo.js";
7
+ import Money from "../inputs/money";
8
+ import PropTypes from "prop-types";
9
+ import React from "react";
10
+ import { shapeComponent, ShapeComponent } from "set-state-compare/build/shape-component.js";
11
+ const ApiMakerBootstrapInput = memo(shapeComponent(class ApiMakerBootstrapInput extends ShapeComponent {
12
+ static propTypes = {
13
+ append: PropTypes.any,
14
+ appendText: PropTypes.any,
15
+ attribute: PropTypes.string,
16
+ className: PropTypes.string,
17
+ currenciesCollection: PropTypes.array,
18
+ currencyName: PropTypes.string,
19
+ hint: PropTypes.any,
20
+ hintBottom: PropTypes.any,
21
+ id: PropTypes.string,
22
+ label: PropTypes.any,
23
+ labelClassName: PropTypes.string,
24
+ model: PropTypes.object,
25
+ name: PropTypes.string,
26
+ placeholder: PropTypes.any,
27
+ prepend: PropTypes.any,
28
+ prependText: PropTypes.any,
29
+ small: PropTypes.bool,
30
+ type: PropTypes.string,
31
+ wrapperClassName: PropTypes.string
8
32
  };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __rest = (this && this.__rest) || function (s, e) {
29
- var t = {};
30
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
31
- t[p] = s[p];
32
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
33
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
34
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
35
- t[p[i]] = s[p[i]];
33
+ render() {
34
+ const { append, appendText, attribute, className, currenciesCollection, currencyName, hint, hintBottom, id, inputClassName, inputProps, inputRef, label, labelClassName, model, name, prepend, prependText, type, wrapperClassName, wrapperOpts, ...restProps } = this.props;
35
+ const { ref, ...forwardedInputProps } = inputProps;
36
+ const { errors } = digs(wrapperOpts, "errors");
37
+ return (_jsxs("div", { className: this.wrapperClassName(), ref: this.props.wrapperRef, children: [wrapperOpts.label &&
38
+ _jsx("label", { className: this.labelClassName(), htmlFor: inputProps.id, children: wrapperOpts.label }), hint &&
39
+ _jsx("span", { className: "form-text text-muted font-smoothing font-xs", children: hint }), type == "money" &&
40
+ _jsx(Money, { name: inputProps.name, className: this.inputClassName(), ref: this.props.moneyRef, ...this.moneyProps() }), type != "money" &&
41
+ _jsxs("div", { className: "input-group", children: [(prepend || prependText) &&
42
+ _jsxs("div", { className: "input-group-prepend", children: [prependText &&
43
+ _jsx("span", { className: "input-group-text", children: prependText }), prepend] }), _jsx(Input, { attribute: attribute, className: this.inputClassName(), inputProps: inputProps, model: model, wrapperOpts: wrapperOpts, ...forwardedInputProps, ...restProps }), (append || appendText) &&
44
+ _jsxs("div", { className: "input-group-append", children: [appendText &&
45
+ _jsx("span", { className: "input-group-text", children: appendText }), append] }), errors.length > 0 && _jsx(InvalidFeedback, { errors: errors })] }), hintBottom &&
46
+ _jsx("span", { className: "form-text text-muted font-smoothing font-xs", children: hintBottom })] }));
47
+ }
48
+ inputClassName() {
49
+ const classNames = ["form-control"];
50
+ if (this.props.className)
51
+ classNames.push(this.props.className);
52
+ if (this.props.wrapperOpts.errors.length > 0)
53
+ classNames.push("is-invalid");
54
+ return classNames.join(" ");
55
+ }
56
+ labelClassName() {
57
+ const classNames = [];
58
+ if (this.props.labelClassName)
59
+ classNames.push(this.props.labelClassName);
60
+ return classNames.join(" ");
61
+ }
62
+ moneyProps() {
63
+ const moneyProps = {};
64
+ const forwardedProps = ["attribute", "currenciesCollection", "currencyName", "model", "onChange", "placeholder", "small"];
65
+ for (const forwardedProp of forwardedProps) {
66
+ if (forwardedProp in this.props)
67
+ moneyProps[forwardedProp] = this.props[forwardedProp];
36
68
  }
37
- return t;
38
- };
39
- var __importDefault = (this && this.__importDefault) || function (mod) {
40
- return (mod && mod.__esModule) ? mod : { "default": mod };
41
- };
42
- var _a;
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- var jsx_runtime_1 = require("react/jsx-runtime");
45
- var diggerize_1 = require("diggerize");
46
- var input_wrapper_1 = __importDefault(require("../inputs/input-wrapper"));
47
- var input_1 = require("../inputs/input");
48
- var invalid_feedback_js_1 = __importDefault(require("./invalid-feedback.js"));
49
- var memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
50
- var money_1 = __importDefault(require("../inputs/money"));
51
- var prop_types_1 = __importDefault(require("prop-types"));
52
- var react_1 = __importDefault(require("react"));
53
- var shape_component_js_1 = require("set-state-compare/build/shape-component.js");
54
- var ApiMakerBootstrapInput = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)((_a = /** @class */ (function (_super) {
55
- __extends(ApiMakerBootstrapInput, _super);
56
- function ApiMakerBootstrapInput() {
57
- return _super !== null && _super.apply(this, arguments) || this;
69
+ const forwardedInputProps = ["defaultValue"];
70
+ for (const forwardedInputProp of forwardedInputProps) {
71
+ if (forwardedInputProp in this.props.inputProps)
72
+ moneyProps[forwardedInputProp] = this.props.inputProps[forwardedInputProp];
58
73
  }
59
- ApiMakerBootstrapInput.prototype.render = function () {
60
- var _b = this.props, append = _b.append, appendText = _b.appendText, attribute = _b.attribute, className = _b.className, currenciesCollection = _b.currenciesCollection, currencyName = _b.currencyName, hint = _b.hint, hintBottom = _b.hintBottom, id = _b.id, inputClassName = _b.inputClassName, inputProps = _b.inputProps, inputRef = _b.inputRef, label = _b.label, labelClassName = _b.labelClassName, model = _b.model, name = _b.name, prepend = _b.prepend, prependText = _b.prependText, type = _b.type, wrapperClassName = _b.wrapperClassName, wrapperOpts = _b.wrapperOpts, restProps = __rest(_b, ["append", "appendText", "attribute", "className", "currenciesCollection", "currencyName", "hint", "hintBottom", "id", "inputClassName", "inputProps", "inputRef", "label", "labelClassName", "model", "name", "prepend", "prependText", "type", "wrapperClassName", "wrapperOpts"]);
61
- var ref = inputProps.ref, forwardedInputProps = __rest(inputProps, ["ref"]);
62
- var errors = (0, diggerize_1.digs)(wrapperOpts, "errors").errors;
63
- return ((0, jsx_runtime_1.jsxs)("div", { className: this.wrapperClassName(), ref: this.props.wrapperRef, children: [wrapperOpts.label &&
64
- (0, jsx_runtime_1.jsx)("label", { className: this.labelClassName(), htmlFor: inputProps.id, children: wrapperOpts.label }), hint &&
65
- (0, jsx_runtime_1.jsx)("span", { className: "form-text text-muted font-smoothing font-xs", children: hint }), type == "money" &&
66
- (0, jsx_runtime_1.jsx)(money_1.default, __assign({ name: inputProps.name, className: this.inputClassName(), ref: this.props.moneyRef }, this.moneyProps())), type != "money" &&
67
- (0, jsx_runtime_1.jsxs)("div", { className: "input-group", children: [(prepend || prependText) &&
68
- (0, jsx_runtime_1.jsxs)("div", { className: "input-group-prepend", children: [prependText &&
69
- (0, jsx_runtime_1.jsx)("span", { className: "input-group-text", children: prependText }), prepend] }), (0, jsx_runtime_1.jsx)(input_1.Input, __assign({ attribute: attribute, className: this.inputClassName(), inputProps: inputProps, model: model, wrapperOpts: wrapperOpts }, forwardedInputProps, restProps)), (append || appendText) &&
70
- (0, jsx_runtime_1.jsxs)("div", { className: "input-group-append", children: [appendText &&
71
- (0, jsx_runtime_1.jsx)("span", { className: "input-group-text", children: appendText }), append] }), errors.length > 0 && (0, jsx_runtime_1.jsx)(invalid_feedback_js_1.default, { errors: errors })] }), hintBottom &&
72
- (0, jsx_runtime_1.jsx)("span", { className: "form-text text-muted font-smoothing font-xs", children: hintBottom })] }));
73
- };
74
- ApiMakerBootstrapInput.prototype.inputClassName = function () {
75
- var classNames = ["form-control"];
76
- if (this.props.className)
77
- classNames.push(this.props.className);
78
- if (this.props.wrapperOpts.errors.length > 0)
79
- classNames.push("is-invalid");
80
- return classNames.join(" ");
81
- };
82
- ApiMakerBootstrapInput.prototype.labelClassName = function () {
83
- var classNames = [];
84
- if (this.props.labelClassName)
85
- classNames.push(this.props.labelClassName);
86
- return classNames.join(" ");
87
- };
88
- ApiMakerBootstrapInput.prototype.moneyProps = function () {
89
- var moneyProps = {};
90
- var forwardedProps = ["attribute", "currenciesCollection", "currencyName", "model", "onChange", "placeholder", "small"];
91
- for (var _i = 0, forwardedProps_1 = forwardedProps; _i < forwardedProps_1.length; _i++) {
92
- var forwardedProp = forwardedProps_1[_i];
93
- if (forwardedProp in this.props)
94
- moneyProps[forwardedProp] = this.props[forwardedProp];
95
- }
96
- var forwardedInputProps = ["defaultValue"];
97
- for (var _b = 0, forwardedInputProps_1 = forwardedInputProps; _b < forwardedInputProps_1.length; _b++) {
98
- var forwardedInputProp = forwardedInputProps_1[_b];
99
- if (forwardedInputProp in this.props.inputProps)
100
- moneyProps[forwardedInputProp] = this.props.inputProps[forwardedInputProp];
101
- }
102
- return moneyProps;
103
- };
104
- ApiMakerBootstrapInput.prototype.wrapperClassName = function () {
105
- var classNames = ["form-group", "component-bootstrap-string-input"];
106
- if (this.props.wrapperClassName)
107
- classNames.push(this.props.wrapperClassName);
108
- return classNames.join(" ");
109
- };
110
- return ApiMakerBootstrapInput;
111
- }(shape_component_js_1.ShapeComponent)),
112
- _a.propTypes = {
113
- append: prop_types_1.default.any,
114
- appendText: prop_types_1.default.any,
115
- attribute: prop_types_1.default.string,
116
- className: prop_types_1.default.string,
117
- currenciesCollection: prop_types_1.default.array,
118
- currencyName: prop_types_1.default.string,
119
- hint: prop_types_1.default.any,
120
- hintBottom: prop_types_1.default.any,
121
- id: prop_types_1.default.string,
122
- label: prop_types_1.default.any,
123
- labelClassName: prop_types_1.default.string,
124
- model: prop_types_1.default.object,
125
- name: prop_types_1.default.string,
126
- placeholder: prop_types_1.default.any,
127
- prepend: prop_types_1.default.any,
128
- prependText: prop_types_1.default.any,
129
- small: prop_types_1.default.bool,
130
- type: prop_types_1.default.string,
131
- wrapperClassName: prop_types_1.default.string
132
- },
133
- _a)));
134
- exports.default = (0, input_wrapper_1.default)(ApiMakerBootstrapInput);
135
- //# sourceMappingURL=input.js.map
74
+ return moneyProps;
75
+ }
76
+ wrapperClassName() {
77
+ const classNames = ["form-group", "component-bootstrap-string-input"];
78
+ if (this.props.wrapperClassName)
79
+ classNames.push(this.props.wrapperClassName);
80
+ return classNames.join(" ");
81
+ }
82
+ }));
83
+ export default inputWrapper(ApiMakerBootstrapInput);
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJvb3RzdHJhcC9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0seUJBQXlCLENBQUE7QUFDbEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sZUFBZSxNQUFNLHVCQUF1QixDQUFBO0FBQ25ELE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFBO0FBQ25DLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV6RixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxzQkFBdUIsU0FBUSxjQUFjO0lBQ3BHLE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3JCLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRztRQUN6QixTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3JDLFlBQVksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUM5QixJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDbkIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3pCLEVBQUUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNwQixLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDcEIsY0FBYyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ2hDLEtBQUssRUFBRSxTQUFTLENBQUMs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QUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM3SCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUE7SUFDbkIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBWSxFQUFFLGtDQUFrQyxDQUFDLENBQUE7UUFFckUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtZQUM3QixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUU5QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0IsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsZUFBZSxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgaW5wdXRXcmFwcGVyIGZyb20gXCIuLi9pbnB1dHMvaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQge0lucHV0fSBmcm9tIFwiLi4vaW5wdXRzL2lucHV0XCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4vaW52YWxpZC1mZWVkYmFjay5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgTW9uZXkgZnJvbSBcIi4uL2lucHV0cy9tb25leVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuXG5jb25zdCBBcGlNYWtlckJvb3RzdHJhcElucHV0ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcElucHV0IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGFwcGVuZDogUHJvcFR5cGVzLmFueSxcbiAgICBhcHBlbmRUZXh0OiBQcm9wVHlwZXMuYW55LFxuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVuY2llc0NvbGxlY3Rpb246IFByb3BUeXBlcy5hcnJheSxcbiAgICBjdXJyZW5jeU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGludDogUHJvcFR5cGVzLmFueSxcbiAgICBoaW50Qm90dG9tOiBQcm9wVHlwZXMuYW55LFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuYW55LFxuICAgIGxhYmVsQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5hbnksXG4gICAgcHJlcGVuZDogUHJvcFR5cGVzLmFueSxcbiAgICBwcmVwZW5kVGV4dDogUHJvcFR5cGVzLmFueSxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3cmFwcGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFwcGVuZCxcbiAgICAgIGFwcGVuZFRleHQsXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjdXJyZW5jaWVzQ29sbGVjdGlvbixcbiAgICAgIGN1cnJlbmN5TmFtZSxcbiAgICAgIGhpbnQsXG4gICAgICBoaW50Qm90dG9tLFxuICAgICAgaWQsXG4gICAgICBpbnB1dENsYXNzTmFtZSxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWxDbGFzc05hbWUsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBwcmVwZW5kLFxuICAgICAgcHJlcGVuZFRleHQsXG4gICAgICB0eXBlLFxuICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgIHdyYXBwZXJPcHRzLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7cmVmLCAuLi5mb3J3YXJkZWRJbnB1dFByb3BzfSA9IGlucHV0UHJvcHNcbiAgICBjb25zdCB7ZXJyb3JzfSA9IGRpZ3Mod3JhcHBlck9wdHMsIFwiZXJyb3JzXCIpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3RoaXMud3JhcHBlckNsYXNzTmFtZSgpfSByZWY9e3RoaXMucHJvcHMud3JhcHBlclJlZn0+XG4gICAgICAgIHt3cmFwcGVyT3B0cy5sYWJlbCAmJlxuICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0gaHRtbEZvcj17aW5wdXRQcm9wcy5pZH0+XG4gICAgICAgICAgICB7d3JhcHBlck9wdHMubGFiZWx9XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICB7aGludCAmJlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGZvbnQtc21vb3RoaW5nIGZvbnQteHNcIj5cbiAgICAgICAgICAgIHtoaW50fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcIm1vbmV5XCIgJiZcbiAgICAgICAgICA8TW9uZXlcbiAgICAgICAgICAgIG5hbWU9e2lucHV0UHJvcHMubmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5pbnB1dENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLnByb3BzLm1vbmV5UmVmfVxuICAgICAgICAgICAgey4uLnRoaXMubW9uZXlQcm9wcygpfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgIT0gXCJtb25leVwiICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgeyhwcmVwZW5kIHx8IHByZXBlbmRUZXh0KSAmJlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgICB7cHJlcGVuZFRleHQgJiZcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3ByZXBlbmRUZXh0fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7cHJlcGVuZH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5pbnB1dENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgICBpbnB1dFByb3BzPXtpbnB1dFByb3BzfVxuICAgICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICAgIHdyYXBwZXJPcHRzPXt3cmFwcGVyT3B0c31cbiAgICAgICAgICAgICAgey4uLmZvcndhcmRlZElucHV0UHJvcHN9XG4gICAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgeyhhcHBlbmQgfHwgYXBwZW5kVGV4dCkgJiZcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cbiAgICAgICAgICAgICAgICB7YXBwZW5kVGV4dCAmJlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7YXBwZW5kVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAge2FwcGVuZH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7ZXJyb3JzLmxlbmd0aCA+IDAgJiYgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAge2hpbnRCb3R0b20gJiZcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBmb250LXNtb290aGluZyBmb250LXhzXCI+XG4gICAgICAgICAgICB7aGludEJvdHRvbX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0Q2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1wiZm9ybS1jb250cm9sXCJdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5jbGFzc05hbWUpXG4gICAgICBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy5jbGFzc05hbWUpXG5cbiAgICBpZiAodGhpcy5wcm9wcy53cmFwcGVyT3B0cy5lcnJvcnMubGVuZ3RoID4gMClcbiAgICAgIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBsYWJlbENsYXNzTmFtZSAoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIG1vbmV5UHJvcHMoKSB7XG4gICAgY29uc3QgbW9uZXlQcm9wcyA9IHt9XG4gICAgY29uc3QgZm9yd2FyZGVkUHJvcHMgPSBbXCJhdHRyaWJ1dGVcIiwgXCJjdXJyZW5jaWVzQ29sbGVjdGlvblwiLCBcImN1cnJlbmN5TmFtZVwiLCBcIm1vZGVsXCIsIFwib25DaGFuZ2VcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNtYWxsXCJdXG5cbiAgICBmb3IgKGNvbnN0IGZvcndhcmRlZFByb3Agb2YgZm9yd2FyZGVkUHJvcHMpIHtcbiAgICAgIGlmIChmb3J3YXJkZWRQcm9wIGluIHRoaXMucHJvcHMpIG1vbmV5UHJvcHNbZm9yd2FyZGVkUHJvcF0gPSB0aGlzLnByb3BzW2ZvcndhcmRlZFByb3BdXG4gICAgfVxuXG4gICAgY29uc3QgZm9yd2FyZGVkSW5wdXRQcm9wcyA9IFtcImRlZmF1bHRWYWx1ZVwiXVxuXG4gICAgZm9yIChjb25zdCBmb3J3YXJkZWRJbnB1dFByb3Agb2YgZm9yd2FyZGVkSW5wdXRQcm9wcykge1xuICAgICAgaWYgKGZvcndhcmRlZElucHV0UHJvcCBpbiB0aGlzLnByb3BzLmlucHV0UHJvcHMpIG1vbmV5UHJvcHNbZm9yd2FyZGVkSW5wdXRQcm9wXSA9IHRoaXMucHJvcHMuaW5wdXRQcm9wc1tmb3J3YXJkZWRJbnB1dFByb3BdXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbmV5UHJvcHNcbiAgfVxuXG4gIHdyYXBwZXJDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJmb3JtLWdyb3VwXCIsIFwiY29tcG9uZW50LWJvb3RzdHJhcC1zdHJpbmctaW5wdXRcIl1cblxuICAgIGlmICh0aGlzLnByb3BzLndyYXBwZXJDbGFzc05hbWUpXG4gICAgICBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy53cmFwcGVyQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IGlucHV0V3JhcHBlcihBcGlNYWtlckJvb3RzdHJhcElucHV0KVxuIl19