@kaspernj/api-maker 1.0.2011 → 1.0.2012

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 (410) hide show
  1. package/{.eslintrc.cjs → .eslintrc.js} +10 -1
  2. package/README.md +35 -0
  3. package/android/build.gradle +43 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/expo/modules/api_maker/ApiMakerModule.kt +50 -0
  6. package/android/src/main/java/expo/modules/api_maker/ApiMakerView.kt +30 -0
  7. package/build/api.js +120 -0
  8. package/build/attribute-not-loaded-error.js +2 -0
  9. package/build/base-component.js +5 -0
  10. package/build/base-error.js +33 -0
  11. package/build/base-model/attribute.js +25 -0
  12. package/build/base-model/column.js +11 -0
  13. package/build/base-model/reflection.js +14 -0
  14. package/build/base-model/scope.js +11 -0
  15. package/build/base-model.js +828 -0
  16. package/build/bootstrap/attribute-row.js +135 -0
  17. package/build/bootstrap/attribute-rows.js +31 -0
  18. package/build/bootstrap/card.js +138 -0
  19. package/build/bootstrap/checkbox.js +97 -0
  20. package/build/bootstrap/checkboxes.js +183 -0
  21. package/build/bootstrap/index.js +2 -0
  22. package/build/bootstrap/input.js +129 -0
  23. package/build/bootstrap/invalid-feedback.js +27 -0
  24. package/build/bootstrap/paginate.js +150 -0
  25. package/build/bootstrap/radio-buttons.js +72 -0
  26. package/build/bootstrap/select.js +88 -0
  27. package/build/bootstrap/sort-link.js +131 -0
  28. package/build/cable-connection-pool.js +128 -0
  29. package/build/cable-subscription-pool.js +207 -0
  30. package/build/cable-subscription.js +21 -0
  31. package/build/cache-key-generator.js +81 -0
  32. package/build/can-can.js +134 -0
  33. package/build/channels-consumer.js +9 -0
  34. package/build/collection-loader.js +48 -0
  35. package/build/collection.js +280 -0
  36. package/build/command-submit-data.js +81 -0
  37. package/build/commands-pool.js +195 -0
  38. package/build/compose.js +9 -0
  39. package/build/config.js +62 -0
  40. package/build/custom-error.js +5 -0
  41. package/build/data-set-to-attributes.js +10 -0
  42. package/build/deserializer.js +56 -0
  43. package/build/destroy-error.js +5 -0
  44. package/build/devise.js +112 -0
  45. package/build/draggable-sort/controller.js +136 -0
  46. package/build/draggable-sort/index.js +114 -0
  47. package/build/draggable-sort/item.js +188 -0
  48. package/build/error-logger.js +101 -0
  49. package/build/error-messages.js +13 -0
  50. package/build/event-connection.js +32 -0
  51. package/build/event-emitter-listener.js +15 -0
  52. package/build/event-model-class.js +24 -0
  53. package/build/events.js +5 -0
  54. package/build/flash-message.js +79 -0
  55. package/build/form.js +83 -0
  56. package/build/history-expo.js +20 -0
  57. package/build/history-react-native.js +20 -0
  58. package/build/history.js +3 -0
  59. package/build/index.js +3 -0
  60. package/build/inputs/attachment.js +133 -0
  61. package/build/inputs/auto-submit.js +36 -0
  62. package/build/inputs/checkbox.js +138 -0
  63. package/build/inputs/checkboxes.js +112 -0
  64. package/build/inputs/id-for-component.js +15 -0
  65. package/build/inputs/input-wrapper.js +19 -0
  66. package/build/inputs/input.js +243 -0
  67. package/build/inputs/money.js +179 -0
  68. package/build/inputs/name-for-component.js +13 -0
  69. package/build/inputs/select.js +93 -0
  70. package/build/instance-of-class-name.js +23 -0
  71. package/build/key-value-store.js +53 -0
  72. package/build/link.js +73 -0
  73. package/build/logger.js +30 -0
  74. package/build/modal.js +38 -0
  75. package/build/model-class-require.js +13 -0
  76. package/build/model-events.js +30 -0
  77. package/build/model-name.js +28 -0
  78. package/build/model-prop-type.js +101 -0
  79. package/build/model-recipes-loader.js +32 -0
  80. package/build/model-recipes-model-loader.js +357 -0
  81. package/build/models-response-reader.js +40 -0
  82. package/build/models.js +8 -0
  83. package/build/money-formatter.js +78 -0
  84. package/build/not-loaded-error.js +2 -0
  85. package/build/params.js +61 -0
  86. package/build/preloaded.js +38 -0
  87. package/build/resize-observer.js +11 -0
  88. package/build/result.js +13 -0
  89. package/build/router/route.js +270 -0
  90. package/build/router/switch.js +72 -0
  91. package/build/router.js +59 -0
  92. package/build/routes-native.js +202 -0
  93. package/build/routes.js +50 -0
  94. package/build/run-last.js +35 -0
  95. package/build/serializer.js +63 -0
  96. package/build/services.js +20 -0
  97. package/build/session-status-updater.js +134 -0
  98. package/build/source-maps-loader.js +184 -0
  99. package/build/super-admin/config-reader.js +85 -0
  100. package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
  101. package/build/super-admin/edit-page/edit-attribute-content.js +55 -0
  102. package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
  103. package/build/super-admin/edit-page/edit-attribute.js +77 -0
  104. package/build/super-admin/edit-page.js +123 -0
  105. package/build/super-admin/has-edit-config.js +12 -0
  106. package/build/super-admin/index-page.js +25 -0
  107. package/build/super-admin/index.js +181 -0
  108. package/build/super-admin/layout/header/index.js +161 -0
  109. package/build/super-admin/layout/index.js +164 -0
  110. package/build/super-admin/layout/menu/index.js +206 -0
  111. package/build/super-admin/layout/menu/menu-content.js +46 -0
  112. package/build/super-admin/layout/menu/menu-item.js +84 -0
  113. package/build/super-admin/layout/no-access.js +27 -0
  114. package/build/super-admin/model-class-table.js +61 -0
  115. package/build/super-admin/models.js +8 -0
  116. package/build/super-admin/show-nav.js +51 -0
  117. package/build/super-admin/show-page/belongs-to-attribute-row.js +29 -0
  118. package/build/super-admin/show-page/index.js +141 -0
  119. package/build/super-admin/show-reflection-actions.js +47 -0
  120. package/build/super-admin/show-reflection-link.js +48 -0
  121. package/build/super-admin/show-reflection-page.js +48 -0
  122. package/build/table/column-content.js +117 -0
  123. package/build/table/column-identifier.js +18 -0
  124. package/build/table/column-visible.js +7 -0
  125. package/build/table/components/column.js +21 -0
  126. package/build/table/components/flat-list.js +21 -0
  127. package/build/table/components/header.js +26 -0
  128. package/build/table/components/row.js +26 -0
  129. package/build/table/filters/attribute-element.js +44 -0
  130. package/build/table/filters/filter-form.js +402 -0
  131. package/build/table/filters/filter.js +90 -0
  132. package/build/table/filters/index.js +184 -0
  133. package/build/table/filters/load-search-modal.js +175 -0
  134. package/build/table/filters/reflection-element.js +37 -0
  135. package/build/table/filters/save-search-modal.js +88 -0
  136. package/build/table/filters/scope-element.js +42 -0
  137. package/build/table/header-column-content.js +68 -0
  138. package/build/table/header-column.js +144 -0
  139. package/build/table/header-select.js +105 -0
  140. package/build/table/model-callback-args.js +10 -0
  141. package/build/table/model-column.js +97 -0
  142. package/build/table/model-row.js +193 -0
  143. package/build/table/select-calculator.js +63 -0
  144. package/build/table/settings/column-row.js +97 -0
  145. package/build/table/settings/download-action.js +79 -0
  146. package/build/table/settings/index.js +92 -0
  147. package/build/table/table-settings.js +219 -0
  148. package/build/table/table.js +972 -0
  149. package/build/table/use-sorting.js +34 -0
  150. package/build/table/widths.js +75 -0
  151. package/build/table/worker-plugins-check-all-checkbox.js +125 -0
  152. package/build/table/worker-plugins-checkbox.js +115 -0
  153. package/build/translated-attributes.js +10 -0
  154. package/build/translated-collections.js +12 -0
  155. package/build/updated-attribute.js +76 -0
  156. package/build/url-encode.js +15 -0
  157. package/build/use-breakpoint.js +62 -0
  158. package/build/use-can-can.js +55 -0
  159. package/build/use-collection.js +225 -0
  160. package/build/use-created-event.js +52 -0
  161. package/build/use-current-user.js +76 -0
  162. package/build/use-destroyed-event.js +60 -0
  163. package/build/use-event-emitter.js +13 -0
  164. package/build/use-event-listener.js +16 -0
  165. package/build/use-input.js +137 -0
  166. package/build/use-model-event.js +60 -0
  167. package/build/use-model.js +169 -0
  168. package/build/use-resize-observer.js +23 -0
  169. package/build/use-router.js +104 -0
  170. package/build/use-screen-layout.js +39 -0
  171. package/build/use-updated-event.js +60 -0
  172. package/build/use-validation-errors.js +30 -0
  173. package/build/utils/card.js +51 -0
  174. package/build/utils/checkbox.js +78 -0
  175. package/build/utils/checkboxes.js +163 -0
  176. package/build/utils/default-style.js +18 -0
  177. package/build/utils/icon.js +23 -0
  178. package/build/utils/invalid-feedback.js +19 -0
  179. package/build/utils/modal.js +62 -0
  180. package/build/utils/text.js +19 -0
  181. package/build/validation-error.js +28 -0
  182. package/build/validation-errors.js +98 -0
  183. package/build/with-api-maker.js +29 -0
  184. package/build/with-collection.js +14 -0
  185. package/build/with-current-user.js +10 -0
  186. package/build/with-model.js +15 -0
  187. package/build/with-router.js +22 -0
  188. package/expo-module.config.json +17 -0
  189. package/ios/ApiMaker.podspec +29 -0
  190. package/ios/ApiMakerModule.swift +48 -0
  191. package/ios/ApiMakerView.swift +38 -0
  192. package/link.sh +8 -0
  193. package/package.json +49 -46
  194. package/src/{api.mjs → api.js} +38 -37
  195. package/src/base-component.jsx +5 -0
  196. package/src/{base-error.mjs → base-error.js} +4 -6
  197. package/src/base-model/attribute.js +33 -0
  198. package/src/base-model/column.js +13 -0
  199. package/src/base-model/reflection.js +15 -0
  200. package/src/base-model/scope.js +12 -0
  201. package/src/{base-model.mjs → base-model.js} +302 -144
  202. package/src/bootstrap/attribute-row.jsx +135 -0
  203. package/src/bootstrap/attribute-rows.jsx +27 -0
  204. package/src/bootstrap/card.jsx +149 -0
  205. package/src/bootstrap/checkbox.jsx +86 -0
  206. package/src/bootstrap/checkboxes.jsx +185 -0
  207. package/src/bootstrap/index.js +0 -0
  208. package/src/bootstrap/input.jsx +173 -0
  209. package/src/bootstrap/invalid-feedback.jsx +31 -0
  210. package/src/bootstrap/paginate.jsx +187 -0
  211. package/src/bootstrap/radio-buttons.jsx +87 -0
  212. package/src/bootstrap/select.jsx +110 -0
  213. package/src/bootstrap/sort-link.jsx +106 -0
  214. package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +16 -36
  215. package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +26 -21
  216. package/src/{cable-subscription.mjs → cable-subscription.js} +6 -4
  217. package/src/cache-key-generator.js +100 -0
  218. package/src/{can-can.mjs → can-can.js} +13 -12
  219. package/src/channels-consumer.js +10 -0
  220. package/src/collection-loader.jsx +58 -224
  221. package/src/{collection.mjs → collection.js} +98 -44
  222. package/src/{command-submit-data.mjs → command-submit-data.js} +2 -7
  223. package/src/{commands-pool.mjs → commands-pool.js} +57 -41
  224. package/src/compose.js +11 -0
  225. package/src/{config.mjs → config.js} +6 -2
  226. package/src/{custom-error.mjs → custom-error.js} +1 -1
  227. package/src/data-set-to-attributes.js +13 -0
  228. package/src/{deserializer.mjs → deserializer.js} +3 -3
  229. package/src/destroy-error.js +7 -0
  230. package/src/devise.js +129 -0
  231. package/src/draggable-sort/controller.js +137 -0
  232. package/src/draggable-sort/index.jsx +108 -0
  233. package/src/draggable-sort/item.jsx +174 -0
  234. package/src/{error-logger.mjs → error-logger.js} +12 -7
  235. package/src/{error-messages.mjs → error-messages.js} +1 -0
  236. package/src/event-connection.jsx +1 -1
  237. package/src/event-emitter-listener.jsx +8 -27
  238. package/src/event-model-class.jsx +2 -4
  239. package/src/events.js +7 -0
  240. package/src/flash-message.js +70 -0
  241. package/src/form.jsx +91 -0
  242. package/src/history-expo.js +23 -0
  243. package/src/history-react-native.js +25 -0
  244. package/src/history.js +3 -0
  245. package/src/index.js +3 -0
  246. package/src/inputs/attachment.jsx +108 -0
  247. package/src/inputs/auto-submit.js +37 -0
  248. package/src/inputs/checkbox.jsx +125 -0
  249. package/src/inputs/checkboxes.jsx +116 -0
  250. package/src/inputs/id-for-component.js +15 -0
  251. package/src/inputs/input-wrapper.jsx +16 -0
  252. package/src/inputs/input.jsx +260 -0
  253. package/src/inputs/money.jsx +187 -0
  254. package/src/inputs/name-for-component.js +15 -0
  255. package/src/inputs/select.jsx +104 -0
  256. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  257. package/src/link.jsx +54 -9
  258. package/src/logger.js +38 -0
  259. package/src/modal.jsx +37 -0
  260. package/src/model-class-require.js +17 -0
  261. package/src/{model-events.mjs → model-events.js} +1 -1
  262. package/src/{model-name.mjs → model-name.js} +8 -8
  263. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  264. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +5 -5
  265. package/src/{models-response-reader.mjs → models-response-reader.js} +3 -4
  266. package/src/models.js +7 -0
  267. package/src/{models.mjs.erb → models.js.erb} +6 -3
  268. package/src/{money-formatter.mjs → money-formatter.js} +5 -4
  269. package/src/{params.mjs → params.js} +17 -7
  270. package/src/{preloaded.mjs → preloaded.js} +2 -2
  271. package/src/resize-observer.jsx +10 -0
  272. package/src/result.js +13 -0
  273. package/src/router/route.jsx +246 -0
  274. package/src/router/switch.jsx +76 -0
  275. package/src/router.jsx +23 -21
  276. package/src/{routes-native.mjs → routes-native.js} +12 -6
  277. package/src/{routes.mjs → routes.js} +1 -1
  278. package/src/run-last.js +39 -0
  279. package/src/{serializer.mjs → serializer.js} +2 -2
  280. package/src/{services.mjs → services.js} +1 -1
  281. package/src/session-status-updater.js +172 -0
  282. package/src/{source-maps-loader.mjs → source-maps-loader.js} +54 -28
  283. package/src/super-admin/config-reader.jsx +93 -0
  284. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +81 -0
  285. package/src/super-admin/edit-page/edit-attribute-content.jsx +57 -0
  286. package/src/super-admin/edit-page/edit-attribute-input.jsx +71 -0
  287. package/src/super-admin/edit-page/edit-attribute.jsx +81 -0
  288. package/src/super-admin/edit-page.jsx +117 -0
  289. package/src/super-admin/has-edit-config.js +15 -0
  290. package/src/super-admin/index-page.jsx +23 -0
  291. package/src/super-admin/index.jsx +197 -0
  292. package/src/super-admin/layout/header/index.jsx +144 -0
  293. package/src/super-admin/layout/header/style.scss +45 -0
  294. package/src/super-admin/layout/index.jsx +154 -0
  295. package/src/super-admin/layout/menu/index.jsx +171 -0
  296. package/src/super-admin/layout/menu/menu-content.jsx +43 -0
  297. package/src/super-admin/layout/menu/menu-item.jsx +70 -0
  298. package/src/super-admin/layout/menu/style.scss +11 -0
  299. package/src/super-admin/layout/no-access.jsx +26 -0
  300. package/src/super-admin/model-class-table.jsx +66 -0
  301. package/src/super-admin/models.js +11 -0
  302. package/src/super-admin/show-nav.jsx +44 -0
  303. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +30 -0
  304. package/src/super-admin/show-page/index.jsx +141 -0
  305. package/src/super-admin/show-reflection-actions.jsx +49 -0
  306. package/src/super-admin/show-reflection-link.jsx +40 -0
  307. package/src/super-admin/show-reflection-page.jsx +47 -0
  308. package/src/super-admin/stylesheets/variables.scss +11 -0
  309. package/src/table/column-content.jsx +122 -0
  310. package/src/table/column-identifier.js +23 -0
  311. package/src/table/column-visible.js +7 -0
  312. package/src/table/components/column.jsx +19 -0
  313. package/src/table/components/flat-list.jsx +19 -0
  314. package/src/table/components/header.jsx +21 -0
  315. package/src/table/components/row.jsx +23 -0
  316. package/src/table/filters/attribute-element.jsx +47 -0
  317. package/src/table/filters/filter-form.jsx +407 -0
  318. package/src/table/filters/filter.jsx +70 -0
  319. package/src/table/filters/index.jsx +170 -0
  320. package/src/table/filters/load-search-modal.jsx +146 -0
  321. package/src/table/filters/reflection-element.jsx +38 -0
  322. package/src/table/filters/save-search-modal.jsx +74 -0
  323. package/src/table/filters/scope-element.jsx +44 -0
  324. package/src/table/header-column-content.jsx +55 -0
  325. package/src/table/header-column.jsx +129 -0
  326. package/src/table/header-select.jsx +73 -0
  327. package/src/table/model-callback-args.js +10 -0
  328. package/src/table/model-column.jsx +82 -0
  329. package/src/table/model-row.jsx +136 -0
  330. package/src/table/select-calculator.js +65 -0
  331. package/src/table/settings/column-row.jsx +93 -0
  332. package/src/table/settings/download-action.jsx +68 -0
  333. package/src/table/settings/index.jsx +65 -0
  334. package/src/table/table-settings.js +263 -0
  335. package/src/table/table.jsx +950 -0
  336. package/src/table/use-sorting.js +35 -0
  337. package/src/table/variables.scss +11 -0
  338. package/src/table/widths.jsx +87 -0
  339. package/src/table/worker-plugins-check-all-checkbox.jsx +112 -0
  340. package/src/table/worker-plugins-checkbox.jsx +104 -0
  341. package/src/translated-attributes.js +11 -0
  342. package/src/{translated-collections.mjs → translated-collections.js} +3 -2
  343. package/src/updated-attribute.jsx +1 -1
  344. package/src/url-encode.js +18 -0
  345. package/src/use-breakpoint.js +76 -0
  346. package/src/use-can-can.js +55 -0
  347. package/src/use-collection.js +280 -0
  348. package/src/use-created-event.js +55 -0
  349. package/src/use-current-user.js +88 -0
  350. package/src/use-destroyed-event.js +60 -0
  351. package/src/use-event-emitter.js +15 -0
  352. package/src/use-event-listener.js +19 -0
  353. package/src/use-input.js +157 -0
  354. package/src/use-model-event.js +60 -0
  355. package/src/use-model.js +189 -0
  356. package/src/use-resize-observer.js +24 -0
  357. package/src/use-router.jsx +128 -0
  358. package/src/use-screen-layout.js +49 -0
  359. package/src/use-updated-event.js +60 -0
  360. package/src/use-validation-errors.js +33 -0
  361. package/src/utils/card.jsx +49 -0
  362. package/src/utils/checkbox.jsx +80 -0
  363. package/src/utils/checkboxes.jsx +158 -0
  364. package/src/utils/default-style.jsx +25 -0
  365. package/src/utils/icon.jsx +21 -0
  366. package/src/utils/invalid-feedback.jsx +20 -0
  367. package/src/utils/modal.jsx +60 -0
  368. package/src/utils/text.jsx +16 -0
  369. package/src/{validation-error.mjs → validation-error.js} +9 -5
  370. package/src/{validation-errors.mjs → validation-errors.js} +15 -27
  371. package/src/with-api-maker.jsx +31 -0
  372. package/src/with-collection.jsx +17 -0
  373. package/src/with-current-user.jsx +7 -25
  374. package/src/with-model.jsx +16 -0
  375. package/src/with-router.jsx +7 -129
  376. package/__tests__/base-model.test.js +0 -71
  377. package/__tests__/cable-connection-pool.test.js +0 -227
  378. package/__tests__/cable-subscription-pool.test.js +0 -26
  379. package/__tests__/can-can.test.js +0 -34
  380. package/__tests__/collection.test.js +0 -51
  381. package/__tests__/custom-error.test.js +0 -13
  382. package/__tests__/model-name.test.js +0 -34
  383. package/__tests__/model-prop-type.test.js +0 -113
  384. package/__tests__/params.test.js +0 -40
  385. package/__tests__/routes-native.test.js +0 -103
  386. package/__tests__/routes.test.js +0 -46
  387. package/__tests__/serializer.test.js +0 -30
  388. package/__tests__/support/task.js +0 -27
  389. package/__tests__/support/user.js +0 -32
  390. package/index.js +0 -1
  391. package/jest.config.js +0 -4
  392. package/src/can-can-loader.jsx +0 -54
  393. package/src/channels-consumer.mjs +0 -3
  394. package/src/destroy-error.mjs +0 -7
  395. package/src/devise.mjs +0 -122
  396. package/src/event-created.jsx +0 -65
  397. package/src/event-destroyed.jsx +0 -29
  398. package/src/event-listener.jsx +0 -38
  399. package/src/event-updated.jsx +0 -74
  400. package/src/logger.mjs +0 -25
  401. package/src/model-class-require.mjs +0 -10
  402. package/src/model-load-wrapper.jsx +0 -116
  403. package/src/result.mjs +0 -29
  404. package/src/session-status-updater.mjs +0 -116
  405. package/webpack.config.js +0 -15
  406. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  407. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  408. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  409. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  410. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
@@ -0,0 +1,183 @@
1
+ import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
2
+ import React, { useMemo } from "react";
3
+ import { digs } from "diggerize";
4
+ import { useForm } from "../form";
5
+ import * as inflection from "inflection";
6
+ import InvalidFeedback from "./invalid-feedback";
7
+ import memo from "set-state-compare/src/memo";
8
+ import PropTypes from "prop-types";
9
+ import propTypesExact from "prop-types-exact";
10
+ import useInput from "../use-input";
11
+ const OptionElement = memo(shapeComponent(class OptionElement extends ShapeComponent {
12
+ render() {
13
+ const {
14
+ generatedId,
15
+ inputCheckboxClassName,
16
+ isDefaultSelected,
17
+ inputName,
18
+ option,
19
+ optionIndex,
20
+ options,
21
+ wrapperOpts
22
+ } = this.p;
23
+ const {
24
+ errors
25
+ } = digs(wrapperOpts, "errors");
26
+ const id = `${generatedId}-${optionIndex}`;
27
+ return /*#__PURE__*/React.createElement("div", {
28
+ className: "checkboxes-option",
29
+ key: `option-${option[1]}`
30
+ }, /*#__PURE__*/React.createElement("input", {
31
+ className: inputCheckboxClassName,
32
+ "data-option-value": option[1],
33
+ defaultChecked: isDefaultSelected,
34
+ id: id,
35
+ name: inputName,
36
+ onChange: this.tt.onChange,
37
+ type: "checkbox",
38
+ value: option[1]
39
+ }), /*#__PURE__*/React.createElement("label", {
40
+ className: "ml-1",
41
+ htmlFor: id
42
+ }, option[0]), optionIndex + 1 == options.length && errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
43
+ errors: errors
44
+ }));
45
+ }
46
+ onChange = (event, ...restProps) => {
47
+ this.p.onOptionChecked({
48
+ event,
49
+ option: this.p.option
50
+ });
51
+ if (this.props.onChange) this.props.onChange(event, ...restProps);
52
+ };
53
+ }));
54
+ export default memo(shapeComponent(class ApiMakerBootstrapCheckboxes extends ShapeComponent {
55
+ static propTypes = propTypesExact({
56
+ attribute: PropTypes.string,
57
+ defaultValue: PropTypes.array,
58
+ label: PropTypes.string,
59
+ labelClassName: PropTypes.string,
60
+ model: PropTypes.object,
61
+ name: PropTypes.string,
62
+ onChange: PropTypes.func,
63
+ options: PropTypes.array.isRequired
64
+ });
65
+ setup() {
66
+ const {
67
+ inputProps,
68
+ wrapperOpts
69
+ } = useInput({
70
+ props: this.props
71
+ });
72
+ this.generatedId = useMemo(() => Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15), []);
73
+ this.setInstance({
74
+ form: useForm(),
75
+ inputProps,
76
+ wrapperOpts
77
+ });
78
+ this.useStates({
79
+ checkedOptions: () => {
80
+ if (Array.isArray(this.props.defaultValue)) return this.props.defaultValue;
81
+ if (this.props.defaultValue) return [this.props.defaultValue];
82
+ return [];
83
+ }
84
+ });
85
+ useMemo(() => {
86
+ if (this.form && inputProps.name) {
87
+ this.form.setValue(inputProps.name, this.s.checkedOptions);
88
+ }
89
+ }, []);
90
+ }
91
+ render() {
92
+ return /*#__PURE__*/React.createElement("div", {
93
+ className: "component-bootstrap-checkboxes form-group"
94
+ }, /*#__PURE__*/React.createElement("label", {
95
+ className: this.labelClassName()
96
+ }, this.tt.wrapperOpts.label), /*#__PURE__*/React.createElement("input", {
97
+ name: this.inputName(),
98
+ ref: this.tt.inputProps.ref,
99
+ type: "hidden",
100
+ value: ""
101
+ }), this.props.options.map((option, index) => /*#__PURE__*/React.createElement(OptionElement, {
102
+ inputCheckboxClassName: this.tt.inputCheckboxClassName(),
103
+ inputName: this.inputName(),
104
+ isDefaultSelected: this.isDefaultSelected(option[1]),
105
+ generatedId: this.tt.generatedId,
106
+ key: option[1],
107
+ onChange: this.props.onChange,
108
+ onOptionChecked: this.tt.onOptionChecked,
109
+ option: option,
110
+ optionIndex: index,
111
+ options: this.props.options,
112
+ wrapperOpts: this.tt.wrapperOpts
113
+ })));
114
+ }
115
+ inputDefaultValue() {
116
+ const {
117
+ attribute,
118
+ defaultValue,
119
+ model
120
+ } = this.props;
121
+ if (defaultValue) {
122
+ return defaultValue;
123
+ } else if (attribute && model) {
124
+ if (!model[attribute]) throw `No such attribute: ${attribute}`;
125
+ return this.props.model[attribute]();
126
+ }
127
+ }
128
+ inputCheckboxClassName() {
129
+ const classNames = [];
130
+ if (this.tt.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
131
+ return classNames.join(" ");
132
+ }
133
+ inputName() {
134
+ if (this.props.name) {
135
+ return `${this.props.name}[]`;
136
+ } else if (this.props.model) {
137
+ return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
138
+ }
139
+ }
140
+ isDefaultSelected(option) {
141
+ let defaultValue = this.inputDefaultValue();
142
+ if (!defaultValue) return false;
143
+ if (defaultValue.constructor === Array) {
144
+ return defaultValue.includes(option);
145
+ } else {
146
+ return defaultValue == option;
147
+ }
148
+ }
149
+ labelClassName() {
150
+ const classNames = [];
151
+ if (this.props.labelClassName) classNames.push(this.props.labelClassName);
152
+ return classNames.join(" ");
153
+ }
154
+ onOptionChecked = ({
155
+ event,
156
+ option
157
+ }) => {
158
+ const {
159
+ inputProps,
160
+ form
161
+ } = this.tt;
162
+ const {
163
+ name
164
+ } = inputProps;
165
+ const checked = event.target.checked;
166
+ let newOptions;
167
+ if (checked) {
168
+ newOptions = this.s.checkedOptions.concat([option[1]]);
169
+ this.setState({
170
+ checkedOptions: newOptions
171
+ });
172
+ } else {
173
+ newOptions = this.s.checkedOptions.filter(value => value != option[1]);
174
+ this.setState({
175
+ checkedOptions: newOptions
176
+ });
177
+ }
178
+ if (form && name) {
179
+ form.setValue(name, newOptions);
180
+ }
181
+ };
182
+ }));
183
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50IiwiUmVhY3QiLCJ1c2VNZW1vIiwiZGlncyIsInVzZUZvcm0iLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwidXNlSW5wdXQiLCJPcHRpb25FbGVtZW50IiwicmVuZGVyIiwiZ2VuZXJhdGVkSWQiLCJpbnB1dENoZWNrYm94Q2xhc3NOYW1lIiwiaXNEZWZhdWx0U2VsZWN0ZWQiLCJpbnB1dE5hbWUiLCJvcHRpb24iLCJvcHRpb25JbmRleCIsIm9wdGlvbnMiLCJ3cmFwcGVyT3B0cyIsInAiLCJlcnJvcnMiLCJpZCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJrZXkiLCJkZWZhdWx0Q2hlY2tlZCIsIm5hbWUiLCJvbkNoYW5nZSIsInR0IiwidHlwZSIsInZhbHVlIiwiaHRtbEZvciIsImxlbmd0aCIsImV2ZW50IiwicmVzdFByb3BzIiwib25PcHRpb25DaGVja2VkIiwicHJvcHMiLCJBcGlNYWtlckJvb3RzdHJhcENoZWNrYm94ZXMiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJhcnJheSIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJtb2RlbCIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic2V0dXAiLCJpbnB1dFByb3BzIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwic2V0SW5zdGFuY2UiLCJmb3JtIiwidXNlU3RhdGVzIiwiY2hlY2tlZE9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJzZXRWYWx1ZSIsInMiLCJyZWYiLCJtYXAiLCJpbmRleCIsImlucHV0RGVmYXVsdFZhbHVlIiwiY2xhc3NOYW1lcyIsInB1c2giLCJqb2luIiwibW9kZWxDbGFzc0RhdGEiLCJwYXJhbUtleSIsInVuZGVyc2NvcmUiLCJjb25zdHJ1Y3RvciIsImluY2x1ZGVzIiwiY2hlY2tlZCIsInRhcmdldCIsIm5ld09wdGlvbnMiLCJjb25jYXQiLCJzZXRTdGF0ZSIsImZpbHRlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2hlY2tib3hlcy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge2RpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4vaW52YWxpZC1mZWVkYmFja1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuXG5jb25zdCBPcHRpb25FbGVtZW50ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBPcHRpb25FbGVtZW50IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2dlbmVyYXRlZElkLCBpbnB1dENoZWNrYm94Q2xhc3NOYW1lLCBpc0RlZmF1bHRTZWxlY3RlZCwgaW5wdXROYW1lLCBvcHRpb24sIG9wdGlvbkluZGV4LCBvcHRpb25zLCB3cmFwcGVyT3B0c30gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXJyb3JzfSA9IGRpZ3Mod3JhcHBlck9wdHMsIFwiZXJyb3JzXCIpXG4gICAgY29uc3QgaWQgPSBgJHtnZW5lcmF0ZWRJZH0tJHtvcHRpb25JbmRleH1gXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaGVja2JveGVzLW9wdGlvblwiIGtleT17YG9wdGlvbi0ke29wdGlvblsxXX1gfT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtpbnB1dENoZWNrYm94Q2xhc3NOYW1lfVxuICAgICAgICAgIGRhdGEtb3B0aW9uLXZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2lzRGVmYXVsdFNlbGVjdGVkfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICBuYW1lPXtpbnB1dE5hbWV9XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DaGFuZ2V9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICB2YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJtbC0xXCIgaHRtbEZvcj17aWR9PlxuICAgICAgICAgIHtvcHRpb25bMF19XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgeyhvcHRpb25JbmRleCArIDEpID09IG9wdGlvbnMubGVuZ3RoICYmIGVycm9ycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgb25DaGFuZ2UgPSAoZXZlbnQsIC4uLnJlc3RQcm9wcykgPT4ge1xuICAgIHRoaXMucC5vbk9wdGlvbkNoZWNrZWQoe2V2ZW50LCBvcHRpb246IHRoaXMucC5vcHRpb259KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHRoaXMucHJvcHMub25DaGFuZ2UoZXZlbnQsIC4uLnJlc3RQcm9wcylcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBDaGVja2JveGVzIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5hcnJheSxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHN9KVxuXG4gICAgdGhpcy5nZW5lcmF0ZWRJZCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KSxcbiAgICAgIFtdXG4gICAgKVxuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgd3JhcHBlck9wdHNcbiAgICB9KVxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGNoZWNrZWRPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKSkgcmV0dXJuIHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmRlZmF1bHRWYWx1ZSkgcmV0dXJuIFt0aGlzLnByb3BzLmRlZmF1bHRWYWx1ZV1cblxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtICYmIGlucHV0UHJvcHMubmFtZSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoaW5wdXRQcm9wcy5uYW1lLCB0aGlzLnMuY2hlY2tlZE9wdGlvbnMpXG4gICAgICB9XG4gICAgfSwgW10pXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbXBvbmVudC1ib290c3RyYXAtY2hlY2tib3hlcyBmb3JtLWdyb3VwXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0+XG4gICAgICAgICAge3RoaXMudHQud3JhcHBlck9wdHMubGFiZWx9XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPGlucHV0IG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9IHJlZj17dGhpcy50dC5pbnB1dFByb3BzLnJlZn0gdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiXCIgLz5cbiAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+XG4gICAgICAgICAgPE9wdGlvbkVsZW1lbnRcbiAgICAgICAgICAgIGlucHV0Q2hlY2tib3hDbGFzc05hbWU9e3RoaXMudHQuaW5wdXRDaGVja2JveENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgaW5wdXROYW1lPXt0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgaXNEZWZhdWx0U2VsZWN0ZWQ9e3RoaXMuaXNEZWZhdWx0U2VsZWN0ZWQob3B0aW9uWzFdKX1cbiAgICAgICAgICAgIGdlbmVyYXRlZElkPXt0aGlzLnR0LmdlbmVyYXRlZElkfVxuICAgICAgICAgICAga2V5PXtvcHRpb25bMV19XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5wcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgIG9uT3B0aW9uQ2hlY2tlZD17dGhpcy50dC5vbk9wdGlvbkNoZWNrZWR9XG4gICAgICAgICAgICBvcHRpb249e29wdGlvbn1cbiAgICAgICAgICAgIG9wdGlvbkluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMucHJvcHMub3B0aW9uc31cbiAgICAgICAgICAgIHdyYXBwZXJPcHRzPXt0aGlzLnR0LndyYXBwZXJPcHRzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgZGVmYXVsdFZhbHVlLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGlmICghbW9kZWxbYXR0cmlidXRlXSkgdGhyb3cgYE5vIHN1Y2ggYXR0cmlidXRlOiAke2F0dHJpYnV0ZX1gXG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsW2F0dHJpYnV0ZV0oKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hlY2tib3hDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXVxuXG4gICAgaWYgKHRoaXMudHQud3JhcHBlck9wdHMuZXJyb3JzLmxlbmd0aCA+IDApIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnByb3BzLm5hbWUpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm5hbWV9W11gXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9XWBcbiAgICB9XG4gIH1cblxuICBpc0RlZmF1bHRTZWxlY3RlZCAob3B0aW9uKSB7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuaW5wdXREZWZhdWx0VmFsdWUoKVxuXG4gICAgaWYgKCFkZWZhdWx0VmFsdWUpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUuaW5jbHVkZXMob3B0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlID09IG9wdGlvblxuICAgIH1cbiAgfVxuXG4gIGxhYmVsQ2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW11cblxuICAgIGlmICh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKSBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBvbk9wdGlvbkNoZWNrZWQgPSAoe2V2ZW50LCBvcHRpb259KSA9PiB7XG4gICAgY29uc3Qge2lucHV0UHJvcHMsIGZvcm19ID0gdGhpcy50dFxuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWRcbiAgICBsZXQgbmV3T3B0aW9uc1xuXG4gICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgIG5ld09wdGlvbnMgPSB0aGlzLnMuY2hlY2tlZE9wdGlvbnMuY29uY2F0KFtvcHRpb25bMV1dKVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkT3B0aW9uczogbmV3T3B0aW9uc30pXG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09wdGlvbnMgPSB0aGlzLnMuY2hlY2tlZE9wdGlvbnMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT0gb3B0aW9uWzFdKVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkT3B0aW9uczogbmV3T3B0aW9uc30pXG4gICAgfVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgZm9ybS5zZXRWYWx1ZShuYW1lLCBuZXdPcHRpb25zKVxuICAgIH1cbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxLQUFLLElBQUdDLE9BQU8sUUFBTyxPQUFPO0FBQ3BDLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLFNBQVFDLE9BQU8sUUFBTyxTQUFTO0FBQy9CLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG9CQUFvQjtBQUNoRCxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsUUFBUSxNQUFNLGNBQWM7QUFFbkMsTUFBTUMsYUFBYSxHQUFHSixJQUFJLENBQUNSLGNBQWMsQ0FBQyxNQUFNWSxhQUFhLFNBQVNYLGNBQWMsQ0FBQztFQUNuRlksTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDQyxXQUFXO01BQUVDLHNCQUFzQjtNQUFFQyxpQkFBaUI7TUFBRUMsU0FBUztNQUFFQyxNQUFNO01BQUVDLFdBQVc7TUFBRUMsT0FBTztNQUFFQztJQUFXLENBQUMsR0FBRyxJQUFJLENBQUNDLENBQUM7SUFDN0gsTUFBTTtNQUFDQztJQUFNLENBQUMsR0FBR25CLElBQUksQ0FBQ2lCLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDNUMsTUFBTUcsRUFBRSxHQUFHLEdBQUdWLFdBQVcsSUFBSUssV0FBVyxFQUFFO0lBRTFDLG9CQUNFakIsS0FBQSxDQUFBdUIsYUFBQTtNQUFLQyxT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
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jvb3RzdHJhcC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIiXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,129 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { digs } from "diggerize";
3
+ import inputWrapper from "../inputs/input-wrapper";
4
+ import { Input } from "../inputs/input";
5
+ import InvalidFeedback from "./invalid-feedback";
6
+ import memo from "set-state-compare/src/memo";
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/src/shape-component";
11
+ const ApiMakerBootstrapInput = memo(shapeComponent(class ApiMakerBootstrapInput extends ShapeComponent {
12
+ static propTypes = {
13
+ append: PropTypes.node,
14
+ appendText: PropTypes.node,
15
+ attribute: PropTypes.string,
16
+ className: PropTypes.string,
17
+ currenciesCollection: PropTypes.array,
18
+ currencyName: PropTypes.string,
19
+ hint: PropTypes.node,
20
+ hintBottom: PropTypes.node,
21
+ id: PropTypes.string,
22
+ label: PropTypes.node,
23
+ labelClassName: PropTypes.string,
24
+ model: PropTypes.object,
25
+ name: PropTypes.string,
26
+ placeholder: PropTypes.node,
27
+ prepend: PropTypes.node,
28
+ prependText: PropTypes.node,
29
+ small: PropTypes.bool,
30
+ type: PropTypes.string,
31
+ wrapperClassName: PropTypes.string
32
+ };
33
+ render() {
34
+ const {
35
+ append,
36
+ appendText,
37
+ attribute,
38
+ className,
39
+ currenciesCollection,
40
+ currencyName,
41
+ hint,
42
+ hintBottom,
43
+ id,
44
+ inputClassName,
45
+ inputProps,
46
+ inputRef,
47
+ label,
48
+ labelClassName,
49
+ model,
50
+ name,
51
+ prepend,
52
+ prependText,
53
+ type,
54
+ wrapperClassName,
55
+ wrapperOpts,
56
+ ...restProps
57
+ } = this.props;
58
+ const {
59
+ ref,
60
+ ...forwardedInputProps
61
+ } = inputProps;
62
+ const {
63
+ errors
64
+ } = digs(wrapperOpts, "errors");
65
+ return /*#__PURE__*/React.createElement("div", {
66
+ className: this.wrapperClassName(),
67
+ ref: this.props.wrapperRef
68
+ }, wrapperOpts.label && /*#__PURE__*/React.createElement("label", {
69
+ className: this.labelClassName(),
70
+ htmlFor: inputProps.id
71
+ }, wrapperOpts.label), hint && /*#__PURE__*/React.createElement("span", {
72
+ className: "form-text text-muted font-smoothing font-xs"
73
+ }, hint), type == "money" && /*#__PURE__*/React.createElement(Money, _extends({
74
+ name: inputProps.name,
75
+ className: this.inputClassName(),
76
+ ref: this.props.moneyRef
77
+ }, this.moneyProps())), type != "money" && /*#__PURE__*/React.createElement("div", {
78
+ className: "input-group"
79
+ }, (prepend || prependText) && /*#__PURE__*/React.createElement("div", {
80
+ className: "input-group-prepend"
81
+ }, prependText && /*#__PURE__*/React.createElement("span", {
82
+ className: "input-group-text"
83
+ }, prependText), prepend), /*#__PURE__*/React.createElement(Input, _extends({
84
+ attribute: attribute,
85
+ className: this.inputClassName(),
86
+ inputProps: inputProps,
87
+ model: model,
88
+ wrapperOpts: wrapperOpts
89
+ }, forwardedInputProps, restProps)), (append || appendText) && /*#__PURE__*/React.createElement("div", {
90
+ className: "input-group-append"
91
+ }, appendText && /*#__PURE__*/React.createElement("span", {
92
+ className: "input-group-text"
93
+ }, appendText), append), errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
94
+ errors: errors
95
+ })), hintBottom && /*#__PURE__*/React.createElement("span", {
96
+ className: "form-text text-muted font-smoothing font-xs"
97
+ }, hintBottom));
98
+ }
99
+ inputClassName() {
100
+ const classNames = ["form-control"];
101
+ if (this.props.className) classNames.push(this.props.className);
102
+ if (this.props.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
103
+ return classNames.join(" ");
104
+ }
105
+ labelClassName() {
106
+ const classNames = [];
107
+ if (this.props.labelClassName) classNames.push(this.props.labelClassName);
108
+ return classNames.join(" ");
109
+ }
110
+ moneyProps() {
111
+ const moneyProps = {};
112
+ const forwardedProps = ["attribute", "currenciesCollection", "currencyName", "model", "onChange", "placeholder", "small"];
113
+ for (const forwardedProp of forwardedProps) {
114
+ if (forwardedProp in this.props) moneyProps[forwardedProp] = this.props[forwardedProp];
115
+ }
116
+ const forwardedInputProps = ["defaultValue"];
117
+ for (const forwardedInputProp of forwardedInputProps) {
118
+ if (forwardedInputProp in this.props.inputProps) moneyProps[forwardedInputProp] = this.props.inputProps[forwardedInputProp];
119
+ }
120
+ return moneyProps;
121
+ }
122
+ wrapperClassName() {
123
+ const classNames = ["form-group", "component-bootstrap-string-input"];
124
+ if (this.props.wrapperClassName) classNames.push(this.props.wrapperClassName);
125
+ return classNames.join(" ");
126
+ }
127
+ }));
128
+ export default inputWrapper(ApiMakerBootstrapInput);
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdzIiwiaW5wdXRXcmFwcGVyIiwiSW5wdXQiLCJJbnZhbGlkRmVlZGJhY2siLCJtZW1vIiwiTW9uZXkiLCJQcm9wVHlwZXMiLCJSZWFjdCIsInNoYXBlQ29tcG9uZW50IiwiU2hhcGVDb21wb25lbnQiLCJBcGlNYWtlckJvb3RzdHJhcElucHV0IiwicHJvcFR5cGVzIiwiYXBwZW5kIiwibm9kZSIsImFwcGVuZFRleHQiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJjbGFzc05hbWUiLCJjdXJyZW5jaWVzQ29sbGVjdGlvbiIsImFycmF5IiwiY3VycmVuY3lOYW1lIiwiaGludCIsImhpbnRCb3R0b20iLCJpZCIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJtb2RlbCIsIm9iamVjdCIsIm5hbWUiLCJwbGFjZWhvbGRlciIsInByZXBlbmQiLCJwcmVwZW5kVGV4dCIsInNtYWxsIiwiYm9vbCIsInR5cGUiLCJ3cmFwcGVyQ2xhc3NOYW1lIiwicmVuZGVyIiwiaW5wdXRDbGFzc05hbWUiLCJpbnB1dFByb3BzIiwiaW5wdXRSZWYiLCJ3cmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsInByb3BzIiwicmVmIiwiZm9yd2FyZGVkSW5wdXRQcm9wcyIsImVycm9ycyIsImNyZWF0ZUVsZW1lbnQiLCJ3cmFwcGVyUmVmIiwiaHRtbEZvciIsIl9leHRlbmRzIiwibW9uZXlSZWYiLCJtb25leVByb3BzIiwibGVuZ3RoIiwiY2xhc3NOYW1lcyIsInB1c2giLCJqb2luIiwiZm9yd2FyZGVkUHJvcHMiLCJmb3J3YXJkZWRQcm9wIiwiZm9yd2FyZGVkSW5wdXRQcm9wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jvb3RzdHJhcC9pbnB1dC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4uL2lucHV0cy9pbnB1dC13cmFwcGVyXCJcbmltcG9ydCB7SW5wdXR9IGZyb20gXCIuLi9pbnB1dHMvaW5wdXRcIlxuaW1wb3J0IEludmFsaWRGZWVkYmFjayBmcm9tIFwiLi9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXkgZnJvbSBcIi4uL2lucHV0cy9tb25leVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuY29uc3QgQXBpTWFrZXJCb290c3RyYXBJbnB1dCA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBJbnB1dCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhcHBlbmQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIGFwcGVuZFRleHQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVuY2llc0NvbGxlY3Rpb246IFByb3BUeXBlcy5hcnJheSxcbiAgICBjdXJyZW5jeU5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGludDogUHJvcFR5cGVzLm5vZGUsXG4gICAgaGludEJvdHRvbTogUHJvcFR5cGVzLm5vZGUsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5ub2RlLFxuICAgIGxhYmVsQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5ub2RlLFxuICAgIHByZXBlbmQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIHByZXBlbmRUZXh0OiBQcm9wVHlwZXMubm9kZSxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3cmFwcGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFwcGVuZCxcbiAgICAgIGFwcGVuZFRleHQsXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjdXJyZW5jaWVzQ29sbGVjdGlvbixcbiAgICAgIGN1cnJlbmN5TmFtZSxcbiAgICAgIGhpbnQsXG4gICAgICBoaW50Qm90dG9tLFxuICAgICAgaWQsXG4gICAgICBpbnB1dENsYXNzTmFtZSxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWxDbGFzc05hbWUsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBwcmVwZW5kLFxuICAgICAgcHJlcGVuZFRleHQsXG4gICAgICB0eXBlLFxuICAgICAgd3JhcHBlckNsYXNzTmFtZSxcbiAgICAgIHdyYXBwZXJPcHRzLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7cmVmLCAuLi5mb3J3YXJkZWRJbnB1dFByb3BzfSA9IGlucHV0UHJvcHNcbiAgICBjb25zdCB7ZXJyb3JzfSA9IGRpZ3Mod3JhcHBlck9wdHMsIFwiZXJyb3JzXCIpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3RoaXMud3JhcHBlckNsYXNzTmFtZSgpfSByZWY9e3RoaXMucHJvcHMud3JhcHBlclJlZn0+XG4gICAgICAgIHt3cmFwcGVyT3B0cy5sYWJlbCAmJlxuICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0gaHRtbEZvcj17aW5wdXRQcm9wcy5pZH0+XG4gICAgICAgICAgICB7d3JhcHBlck9wdHMubGFiZWx9XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICB7aGludCAmJlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIGZvbnQtc21vb3RoaW5nIGZvbnQteHNcIj5cbiAgICAgICAgICAgIHtoaW50fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcIm1vbmV5XCIgJiZcbiAgICAgICAgICA8TW9uZXlcbiAgICAgICAgICAgIG5hbWU9e2lucHV0UHJvcHMubmFtZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5pbnB1dENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLnByb3BzLm1vbmV5UmVmfVxuICAgICAgICAgICAgey4uLnRoaXMubW9uZXlQcm9wcygpfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgIT0gXCJtb25leVwiICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgeyhwcmVwZW5kIHx8IHByZXBlbmRUZXh0KSAmJlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgICB7cHJlcGVuZFRleHQgJiZcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3ByZXBlbmRUZXh0fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7cHJlcGVuZH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5pbnB1dENsYXNzTmFtZSgpfVxuICAgICAgICAgICAgICBpbnB1dFByb3BzPXtpbnB1dFByb3BzfVxuICAgICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICAgIHdyYXBwZXJPcHRzPXt3cmFwcGVyT3B0c31cbiAgICAgICAgICAgICAgey4uLmZvcndhcmRlZElucHV0UHJvcHN9XG4gICAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgeyhhcHBlbmQgfHwgYXBwZW5kVGV4dCkgJiZcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cbiAgICAgICAgICAgICAgICB7YXBwZW5kVGV4dCAmJlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7YXBwZW5kVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAge2FwcGVuZH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7ZXJyb3JzLmxlbmd0aCA+IDAgJiYgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAge2hpbnRCb3R0b20gJiZcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBmb250LXNtb290aGluZyBmb250LXhzXCI+XG4gICAgICAgICAgICB7aGludEJvdHRvbX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0Q2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1wiZm9ybS1jb250cm9sXCJdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5jbGFzc05hbWUpXG4gICAgICBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy5jbGFzc05hbWUpXG5cbiAgICBpZiAodGhpcy5wcm9wcy53cmFwcGVyT3B0cy5lcnJvcnMubGVuZ3RoID4gMClcbiAgICAgIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBsYWJlbENsYXNzTmFtZSAoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIG1vbmV5UHJvcHMoKSB7XG4gICAgY29uc3QgbW9uZXlQcm9wcyA9IHt9XG4gICAgY29uc3QgZm9yd2FyZGVkUHJvcHMgPSBbXCJhdHRyaWJ1dGVcIiwgXCJjdXJyZW5jaWVzQ29sbGVjdGlvblwiLCBcImN1cnJlbmN5TmFtZVwiLCBcIm1vZGVsXCIsIFwib25DaGFuZ2VcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNtYWxsXCJdXG5cbiAgICBmb3IgKGNvbnN0IGZvcndhcmRlZFByb3Agb2YgZm9yd2FyZGVkUHJvcHMpIHtcbiAgICAgIGlmIChmb3J3YXJkZWRQcm9wIGluIHRoaXMucHJvcHMpIG1vbmV5UHJvcHNbZm9yd2FyZGVkUHJvcF0gPSB0aGlzLnByb3BzW2ZvcndhcmRlZFByb3BdXG4gICAgfVxuXG4gICAgY29uc3QgZm9yd2FyZGVkSW5wdXRQcm9wcyA9IFtcImRlZmF1bHRWYWx1ZVwiXVxuXG4gICAgZm9yIChjb25zdCBmb3J3YXJkZWRJbnB1dFByb3Agb2YgZm9yd2FyZGVkSW5wdXRQcm9wcykge1xuICAgICAgaWYgKGZvcndhcmRlZElucHV0UHJvcCBpbiB0aGlzLnByb3BzLmlucHV0UHJvcHMpIG1vbmV5UHJvcHNbZm9yd2FyZGVkSW5wdXRQcm9wXSA9IHRoaXMucHJvcHMuaW5wdXRQcm9wc1tmb3J3YXJkZWRJbnB1dFByb3BdXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbmV5UHJvcHNcbiAgfVxuXG4gIHdyYXBwZXJDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJmb3JtLWdyb3VwXCIsIFwiY29tcG9uZW50LWJvb3RzdHJhcC1zdHJpbmctaW5wdXRcIl1cblxuICAgIGlmICh0aGlzLnByb3BzLndyYXBwZXJDbGFzc05hbWUpXG4gICAgICBjbGFzc05hbWVzLnB1c2godGhpcy5wcm9wcy53cmFwcGVyQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IGlucHV0V3JhcHBlcihBcGlNYWtlckJvb3RzdHJhcElucHV0KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUUEsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsWUFBWSxNQUFNLHlCQUF5QjtBQUNsRCxTQUFRQyxLQUFLLFFBQU8saUJBQWlCO0FBQ3JDLE9BQU9DLGVBQWUsTUFBTSxvQkFBb0I7QUFDaEQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxLQUFLLE1BQU0saUJBQWlCO0FBQ25DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVFDLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUVwRixNQUFNQyxzQkFBc0IsR0FBR04sSUFBSSxDQUFDSSxjQUFjLENBQUMsTUFBTUUsc0JBQXNCLFNBQVNELGNBQWMsQ0FBQztFQUNyRyxPQUFPRSxTQUFTLEdBQUc7SUFDakJDLE1BQU0sRUFBRU4sU0FBUyxDQUFDTyxJQUFJO0lBQ3RCQyxVQUFVLEVBQUVSLFNB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VUFBVSxDQUFDQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBRS9CLE9BQU9ELFVBQVUsQ0FBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQztFQUM3QjtFQUVBOUIsY0FBY0EsQ0FBQSxFQUFJO0lBQ2hCLE1BQU00QixVQUFVLEdBQUcsRUFBRTtJQUVyQixJQUFJLElBQUksQ0FBQ1gsS0FBSyxDQUFDakIsY0FBYyxFQUMzQjRCLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQ1osS0FBSyxDQUFDakIsY0FBYyxDQUFDO0lBRTVDLE9BQU80QixVQUFVLENBQUNFLElBQUksQ0FBQyxHQUFHLENBQUM7RUFDN0I7RUFFQUosVUFBVUEsQ0FBQSxFQUFHO0lBQ1gsTUFBTUEsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNSyxjQUFjLEdBQUcsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztJQUV6SCxLQUFLLE1BQU1DLGFBQWEsSUFBSUQsY0FBYyxFQUFFO01BQzFDLElBQUlDLGFBQWEsSUFBSSxJQUFJLENBQUNmLEtBQUssRUFBRVMsVUFBVSxDQUFDTSxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUNmLEtBQUssQ0FBQ2UsYUFBYSxDQUFDO0lBQ3hGO0lBRUEsTUFBTWIsbUJBQW1CLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFFNUMsS0FBSyxNQUFNYyxrQkFBa0IsSUFBSWQsbUJBQW1CLEVBQUU7TUFDcEQsSUFBSWMsa0JBQWtCLElBQUksSUFBSSxDQUFDaEIsS0FBSyxDQUFDSixVQUFVLEVBQUVhLFVBQVUsQ0FBQ08sa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUNoQixLQUFLLENBQUNKLFVBQVUsQ0FBQ29CLGtCQUFrQixDQUFDO0lBQzdIO0lBRUEsT0FBT1AsVUFBVTtFQUNuQjtFQUVBaEIsZ0JBQWdCQSxDQUFBLEVBQUk7SUFDbEIsTUFBTWtCLFVBQVUsR0FBRyxDQUFDLFlBQVksRUFBRSxrQ0FBa0MsQ0FBQztJQUVyRSxJQUFJLElBQUksQ0FBQ1gsS0FBSyxDQUFDUCxnQkFBZ0IsRUFDN0JrQixVQUFVLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUNaLEtBQUssQ0FBQ1AsZ0JBQWdCLENBQUM7SUFFOUMsT0FBT2tCLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQztFQUM3QjtBQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsZUFBZXRELFlBQVksQ0FBQ1Msc0JBQXNCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,27 @@
1
+ import { digs } from "diggerize";
2
+ import PropTypes from "prop-types";
3
+ import propTypesExact from "prop-types-exact";
4
+ import React from "react";
5
+ export default class ApiMakerBootstrapInvalidFeedback extends React.PureComponent {
6
+ static propTypes = propTypesExact({
7
+ errors: PropTypes.array.isRequired
8
+ });
9
+ render() {
10
+ return /*#__PURE__*/React.createElement("div", {
11
+ className: "invalid-feedback"
12
+ }, this.errorMessages().join(". "));
13
+ }
14
+ errorMessages() {
15
+ const {
16
+ errors
17
+ } = digs(this.props, "errors");
18
+ const errorMessages = [];
19
+ for (const error of errors) {
20
+ for (const errorMessage of error.getErrorMessages()) {
21
+ errorMessages.push(errorMessage);
22
+ }
23
+ }
24
+ return errorMessages;
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdzIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJSZWFjdCIsIkFwaU1ha2VyQm9vdHN0cmFwSW52YWxpZEZlZWRiYWNrIiwiUHVyZUNvbXBvbmVudCIsInByb3BUeXBlcyIsImVycm9ycyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJlcnJvck1lc3NhZ2VzIiwiam9pbiIsInByb3BzIiwiZXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJnZXRFcnJvck1lc3NhZ2VzIiwicHVzaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvaW52YWxpZC1mZWVkYmFjay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckJvb3RzdHJhcEludmFsaWRGZWVkYmFjayBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGVycm9yczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAge3RoaXMuZXJyb3JNZXNzYWdlcygpLmpvaW4oXCIuIFwiKX1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGVycm9yTWVzc2FnZXMgKCkge1xuICAgIGNvbnN0IHtlcnJvcnN9ID0gZGlncyh0aGlzLnByb3BzLCBcImVycm9yc1wiKVxuICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBlcnJvciBvZiBlcnJvcnMpIHtcbiAgICAgIGZvciAoY29uc3QgZXJyb3JNZXNzYWdlIG9mIGVycm9yLmdldEVycm9yTWVzc2FnZXMoKSkge1xuICAgICAgICBlcnJvck1lc3NhZ2VzLnB1c2goZXJyb3JNZXNzYWdlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvck1lc3NhZ2VzXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUV6QixlQUFlLE1BQU1DLGdDQUFnQyxTQUFTRCxLQUFLLENBQUNFLGFBQWEsQ0FBQztFQUNoRixPQUFPQyxTQUFTLEdBQUdKLGNBQWMsQ0FBQztJQUNoQ0ssTUFBTSxFQUFFTixTQUFTLENBQUNPLEtBQUssQ0FBQ0M7RUFDMUIsQ0FBQyxDQUFDO0VBRUZDLE1BQU1BLENBQUEsRUFBSTtJQUNSLG9CQUNFUCxLQUFBLENBQUFRLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQWtCLEdBQzlCLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FDNUIsQ0FBQztFQUVWO0VBRUFELGFBQWFBLENBQUEsRUFBSTtJQUNmLE1BQU07TUFBQ047SUFBTSxDQUFDLEdBQUdQLElBQUksQ0FBQyxJQUFJLENBQUNlLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDM0MsTUFBTUYsYUFBYSxHQUFHLEVBQUU7SUFFeEIsS0FBSyxNQUFNRyxLQUFLLElBQUlULE1BQU0sRUFBRTtNQUMxQixLQUFLLE1BQU1VLFlBQVksSUFBSUQsS0FBSyxDQUFDRSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUU7UUFDbkRMLGFBQWEsQ0FBQ00sSUFBSSxDQUFDRixZQUFZLENBQUM7TUFDbEM7SUFDRjtJQUVBLE9BQU9KLGFBQWE7RUFDdEI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,150 @@
1
+ import BaseComponent from "../base-component";
2
+ import instanceOfClassName from "../instance-of-class-name";
3
+ import Link from "../link";
4
+ import PropTypes from "prop-types";
5
+ import propTypesExact from "prop-types-exact";
6
+ import memo from "set-state-compare/src/memo";
7
+ import qs from "qs";
8
+ import React, { useMemo } from "react";
9
+ import Text from "../utils/text";
10
+ import Result from "../result";
11
+ import { shapeComponent } from "set-state-compare/src/shape-component";
12
+ import urlEncode from "../url-encode";
13
+ export default memo(shapeComponent(class ApiMakerBootstrapPaginate extends BaseComponent {
14
+ static propTypes = propTypesExact({
15
+ result: PropTypes.oneOfType([instanceOfClassName("ApiMakerResult"), PropTypes.instanceOf(Result)]).isRequired
16
+ });
17
+ setup() {
18
+ const {
19
+ result
20
+ } = this.p;
21
+ this.totalPages = useMemo(() => Math.ceil(result.count() / result.perPage()), [result.count(), result.perPage()]);
22
+ this.pages = useMemo(() => this.calculatePages(), [result.currentPage(), this.totalPages]);
23
+ }
24
+ calculatePages() {
25
+ const {
26
+ result
27
+ } = this.p;
28
+ const {
29
+ totalPages
30
+ } = this.tt;
31
+ const currentPage = result.currentPage();
32
+ const pages = [];
33
+ let pagesFrom = currentPage - 5;
34
+ let pagesTo = currentPage + 5;
35
+ if (pagesFrom < 1) {
36
+ pagesFrom = 1;
37
+ }
38
+ if (pagesTo > totalPages) {
39
+ pagesTo = totalPages;
40
+ }
41
+ for (let i = pagesFrom; i <= pagesTo; i++) {
42
+ pages.push(i);
43
+ }
44
+ return pages;
45
+ }
46
+ isPageActiveClass = pageNumber => this.p.result.currentPage() == pageNumber ? "active" : "not-active";
47
+ pagePath(pageNumber) {
48
+ let pageKey = this.p.result.data.collection.queryArgs.pageKey;
49
+ if (!pageKey) {
50
+ pageKey = "page";
51
+ }
52
+ const currentParams = qs.parse(globalThis.location.search.substr(1));
53
+ currentParams[pageKey] = pageNumber;
54
+ const newParams = qs.stringify(currentParams, {
55
+ encoder: urlEncode
56
+ });
57
+ const newPath = `${location.pathname}?${newParams}`;
58
+ return newPath;
59
+ }
60
+ previousPagePath() {
61
+ const {
62
+ result
63
+ } = this.p;
64
+ let previousPage;
65
+ if (result.currentPage() > 1) {
66
+ previousPage = result.currentPage() - 1;
67
+ } else {
68
+ previousPage = result.currentPage();
69
+ }
70
+ return this.pagePath(previousPage);
71
+ }
72
+ nextPagePath() {
73
+ const {
74
+ result
75
+ } = this.p;
76
+ let nextPage;
77
+ if (result.currentPage() < this.tt.totalPages) {
78
+ nextPage = result.currentPage() + 1;
79
+ } else {
80
+ nextPage = result.currentPage();
81
+ }
82
+ return this.pagePath(nextPage);
83
+ }
84
+ showBackwardsDots = () => this.p.result.currentPage() - 5 > 1;
85
+ showForwardsDots = () => this.p.result.currentPage() + 5 < this.tt.totalPages;
86
+ render() {
87
+ const {
88
+ result
89
+ } = this.p;
90
+ const {
91
+ pages,
92
+ totalPages
93
+ } = this.tt;
94
+ const showNextPage = result.currentPage() < totalPages;
95
+ const showLastPage = result.currentPage() < totalPages;
96
+ const showPreviousPage = result.currentPage() > 1;
97
+ const showFirstPage = result.currentPage() > 1;
98
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("ul", {
99
+ className: "pagination",
100
+ "data-pages-length": pages.length
101
+ }, /*#__PURE__*/React.createElement("li", {
102
+ className: `page-item ${!showPreviousPage ? "disabled" : ""}`,
103
+ key: "page-first"
104
+ }, !showPreviousPage && /*#__PURE__*/React.createElement(Text, null, "\u21E4"), showPreviousPage && /*#__PURE__*/React.createElement(Link, {
105
+ dataSet: {
106
+ class: "page-link"
107
+ },
108
+ to: this.pagePath(1)
109
+ }, /*#__PURE__*/React.createElement(Text, null, "\u21E4"))), /*#__PURE__*/React.createElement("li", {
110
+ className: `page-item ${!showFirstPage ? "disabled" : ""}`,
111
+ key: "page-previous"
112
+ }, !showFirstPage && /*#__PURE__*/React.createElement(Text, null, "\u2190"), showFirstPage && /*#__PURE__*/React.createElement(Link, {
113
+ dataSet: {
114
+ class: "page-link"
115
+ },
116
+ to: this.previousPagePath()
117
+ }, /*#__PURE__*/React.createElement(Text, null, "\u2190"))), this.showBackwardsDots() && /*#__PURE__*/React.createElement("li", {
118
+ className: "page-item disabled"
119
+ }, "\u2026"), pages.map(page => /*#__PURE__*/React.createElement("li", {
120
+ className: `page-item ${this.isPageActiveClass(page)}`,
121
+ "data-active": this.isPageActiveClass(page) == "active",
122
+ "data-page": page,
123
+ key: `page-${page}`
124
+ }, this.isPageActiveClass(page) == "active" && page, this.isPageActiveClass(page) == "not-active" && /*#__PURE__*/React.createElement(Link, {
125
+ dataSet: {
126
+ class: "page-link"
127
+ },
128
+ to: this.pagePath(page)
129
+ }, /*#__PURE__*/React.createElement(Text, null, page)))), this.showForwardsDots() && /*#__PURE__*/React.createElement("li", {
130
+ className: "page-item disabled"
131
+ }, "\u2026"), /*#__PURE__*/React.createElement("li", {
132
+ className: `page-item ${!showNextPage ? "disabled" : ""}`,
133
+ key: "page-next"
134
+ }, !showNextPage && /*#__PURE__*/React.createElement(Text, null, "\u2192"), showNextPage && /*#__PURE__*/React.createElement(Link, {
135
+ dataSet: {
136
+ class: "page-link"
137
+ },
138
+ to: this.nextPagePath()
139
+ }, /*#__PURE__*/React.createElement(Text, null, "\u2192"))), /*#__PURE__*/React.createElement("li", {
140
+ className: `page-item ${!showLastPage ? "disabled" : ""}`,
141
+ key: "page-last"
142
+ }, !showLastPage && /*#__PURE__*/React.createElement(Text, null, "\u21E5"), showLastPage && /*#__PURE__*/React.createElement(Link, {
143
+ dataSet: {
144
+ class: "page-link"
145
+ },
146
+ to: this.pagePath(totalPages)
147
+ }, /*#__PURE__*/React.createElement(Text, null, "\u21E5")))));
148
+ }
149
+ }));
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiaW5zdGFuY2VPZkNsYXNzTmFtZSIsIkxpbmsiLCJQcm9wVHlwZXMiLCJwcm9wVHlwZXNFeGFjdCIsIm1lbW8iLCJxcyIsIlJlYWN0IiwidXNlTWVtbyIsIlRleHQiLCJSZXN1bHQiLCJzaGFwZUNvbXBvbmVudCIsInVybEVuY29kZSIsIkFwaU1ha2VyQm9vdHN0cmFwUGFnaW5hdGUiLCJwcm9wVHlwZXMiLCJyZXN1bHQiLCJvbmVPZlR5cGUiLCJpbnN0YW5jZU9mIiwiaXNSZXF1aXJlZCIsInNldHVwIiwicCIsInRvdGFsUGFnZXMiLCJNYXRoIiwiY2VpbCIsImNvdW50IiwicGVyUGFnZSIsInBhZ2VzIiwiY2FsY3VsYXRlUGFnZXMiLCJjdXJyZW50UGFnZSIsInR0IiwicGFnZXNGcm9tIiwicGFnZXNUbyIsImkiLCJwdXNoIiwiaXNQYWdlQWN0aXZlQ2xhc3MiLCJwYWdlTnVtYmVyIiwicGFnZVBhdGgiLCJwYWdlS2V5IiwiZGF0YSIsImNvbGxlY3Rpb24iLCJxdWVyeUFyZ3MiLCJjdXJyZW50UGFyYW1zIiwicGFyc2UiLCJnbG9iYWxUaGlzIiwibG9jYXRpb24iLCJzZWFyY2giLCJzdWJzdHIiLCJuZXdQYXJhbXMiLCJzdHJpbmdpZnkiLCJlbmNvZGVyIiwibmV3UGF0aCIsInBhdGhuYW1lIiwicHJldmlvdXNQYWdlUGF0aCIsInByZXZpb3VzUGFnZSIsIm5leHRQYWdlUGF0aCIsIm5leHRQYWdlIiwic2hvd0JhY2t3YXJkc0RvdHMiLCJzaG93Rm9yd2FyZHNEb3RzIiwicmVuZGVyIiwic2hvd05leHRQYWdlIiwic2hvd0xhc3RQYWdlIiwic2hvd1ByZXZpb3VzUGFnZSIsInNob3dGaXJzdFBhZ2UiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJsZW5ndGgiLCJrZXkiLCJkYXRhU2V0IiwiY2xhc3MiLCJ0byIsIm1hcCIsInBhZ2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL3BhZ2luYXRlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGluc3RhbmNlT2ZDbGFzc05hbWUgZnJvbSBcIi4uL2luc3RhbmNlLW9mLWNsYXNzLW5hbWVcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCBSZXN1bHQgZnJvbSBcIi4uL3Jlc3VsdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgdXJsRW5jb2RlIGZyb20gXCIuLi91cmwtZW5jb2RlXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcFBhZ2luYXRlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgcmVzdWx0OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIGluc3RhbmNlT2ZDbGFzc05hbWUoXCJBcGlNYWtlclJlc3VsdFwiKSxcbiAgICAgIFByb3BUeXBlcy5pbnN0YW5jZU9mKFJlc3VsdClcbiAgICBdKS5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3Jlc3VsdH0gPSB0aGlzLnBcblxuICAgIHRoaXMudG90YWxQYWdlcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBNYXRoLmNlaWwocmVzdWx0LmNvdW50KCkgLyByZXN1bHQucGVyUGFnZSgpKSxcbiAgICAgIFtyZXN1bHQuY291bnQoKSwgcmVzdWx0LnBlclBhZ2UoKV1cbiAgICApXG4gICAgdGhpcy5wYWdlcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB0aGlzLmNhbGN1bGF0ZVBhZ2VzKCksXG4gICAgICBbcmVzdWx0LmN1cnJlbnRQYWdlKCksIHRoaXMudG90YWxQYWdlc11cbiAgICApXG4gIH1cblxuICBjYWxjdWxhdGVQYWdlcyAoKSB7XG4gICAgY29uc3Qge3Jlc3VsdH0gPSB0aGlzLnBcbiAgICBjb25zdCB7dG90YWxQYWdlc30gPSB0aGlzLnR0XG4gICAgY29uc3QgY3VycmVudFBhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKVxuICAgIGNvbnN0IHBhZ2VzID0gW11cblxuICAgIGxldCBwYWdlc0Zyb20gPSBjdXJyZW50UGFnZSAtIDVcbiAgICBsZXQgcGFnZXNUbyA9IGN1cnJlbnRQYWdlICsgNVxuXG4gICAgaWYgKHBhZ2VzRnJvbSA8IDEpIHtcbiAgICAgIHBhZ2VzRnJvbSA9IDFcbiAgICB9XG5cbiAgICBpZiAocGFnZXNUbyA+IHRvdGFsUGFnZXMpIHtcbiAgICAgIHBhZ2VzVG8gPSB0b3RhbFBhZ2VzXG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IHBhZ2VzRnJvbTsgaSA8PSBwYWdlc1RvOyBpKyspIHtcbiAgICAgIHBhZ2VzLnB1c2goaSlcbiAgICB9XG5cbiAgICByZXR1cm4gcGFnZXNcbiAgfVxuXG4gIGlzUGFnZUFjdGl2ZUNsYXNzID0gKHBhZ2VOdW1iZXIpID0+IHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSA9PSBwYWdlTnVtYmVyID8gXCJhY3RpdmVcIiA6IFwibm90LWFjdGl2ZVwiXG5cbiAgcGFnZVBhdGggKHBhZ2VOdW1iZXIpIHtcbiAgICBsZXQgcGFnZUtleSA9IHRoaXMucC5yZXN1bHQuZGF0YS5jb2xsZWN0aW9uLnF1ZXJ5QXJncy5wYWdlS2V5XG5cbiAgICBpZiAoIXBhZ2VLZXkpIHtcbiAgICAgIHBhZ2VLZXkgPSBcInBhZ2VcIlxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSBxcy5wYXJzZShnbG9iYWxUaGlzLmxvY2F0aW9uLnNlYXJjaC5zdWJzdHIoMSkpXG4gICAgY3VycmVudFBhcmFtc1twYWdlS2V5XSA9IHBhZ2VOdW1iZXJcbiAgICBjb25zdCBuZXdQYXJhbXMgPSBxcy5zdHJpbmdpZnkoY3VycmVudFBhcmFtcywge2VuY29kZXI6IHVybEVuY29kZX0pXG4gICAgY29uc3QgbmV3UGF0aCA9IGAke2xvY2F0aW9uLnBhdGhuYW1lfT8ke25ld1BhcmFtc31gXG5cbiAgICByZXR1cm4gbmV3UGF0aFxuICB9XG5cbiAgcHJldmlvdXNQYWdlUGF0aCAoKSB7XG4gICAgY29uc3Qge3Jlc3VsdH0gPSB0aGlzLnBcbiAgICBsZXQgcHJldmlvdXNQYWdlXG5cbiAgICBpZiAocmVzdWx0LmN1cnJlbnRQYWdlKCkgPiAxKSB7XG4gICAgICBwcmV2aW91c1BhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSAtIDFcbiAgICB9IGVsc2Uge1xuICAgICAgcHJldmlvdXNQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlUGF0aChwcmV2aW91c1BhZ2UpXG4gIH1cblxuICBuZXh0UGFnZVBhdGggKCkge1xuICAgIGNvbnN0IHtyZXN1bHR9ID0gdGhpcy5wXG4gICAgbGV0IG5leHRQYWdlXG5cbiAgICBpZiAocmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0aGlzLnR0LnRvdGFsUGFnZXMpIHtcbiAgICAgIG5leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgKyAxXG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYWdlUGF0aChuZXh0UGFnZSlcbiAgfVxuXG4gIHNob3dCYWNrd2FyZHNEb3RzID0gKCkgPT4gKHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSAtIDUgPiAxKVxuICBzaG93Rm9yd2FyZHNEb3RzID0gKCkgPT4gKHRoaXMucC5yZXN1bHQuY3VycmVudFBhZ2UoKSArIDUgPCB0aGlzLnR0LnRvdGFsUGFnZXMpXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7cmVzdWx0fSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYWdlcywgdG90YWxQYWdlc30gPSB0aGlzLnR0XG4gICAgY29uc3Qgc2hvd05leHRQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0b3RhbFBhZ2VzXG4gICAgY29uc3Qgc2hvd0xhc3RQYWdlID0gcmVzdWx0LmN1cnJlbnRQYWdlKCkgPCB0b3RhbFBhZ2VzXG4gICAgY29uc3Qgc2hvd1ByZXZpb3VzUGFnZSA9IHJlc3VsdC5jdXJyZW50UGFnZSgpID4gMVxuICAgIGNvbnN0IHNob3dGaXJzdFBhZ2UgPSByZXN1bHQuY3VycmVudFBhZ2UoKSA+IDFcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8dWwgY2xhc3NOYW1lPVwicGFnaW5hdGlvblwiIGRhdGEtcGFnZXMtbGVuZ3RoPXtwYWdlcy5sZW5ndGh9PlxuICAgICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHshc2hvd1ByZXZpb3VzUGFnZSA/IFwiZGlzYWJsZWRcIiA6IFwiXCJ9YH0ga2V5PVwicGFnZS1maXJzdFwiPlxuICAgICAgICAgICAgeyFzaG93UHJldmlvdXNQYWdlICYmXG4gICAgICAgICAgICAgIDxUZXh0PuKHpDwvVGV4dD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHtzaG93UHJldmlvdXNQYWdlICYmXG4gICAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e3tjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnBhZ2VQYXRoKDEpfT5cbiAgICAgICAgICAgICAgICA8VGV4dD7ih6Q8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzc05hbWU9e2BwYWdlLWl0ZW0gJHshc2hvd0ZpcnN0UGFnZSA/IFwiZGlzYWJsZWRcIiA6IFwiXCJ9YH0ga2V5PVwicGFnZS1wcmV2aW91c1wiPlxuICAgICAgICAgICAgeyFzaG93Rmlyc3RQYWdlICYmXG4gICAgICAgICAgICAgIDxUZXh0PuKGkDwvVGV4dD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHtzaG93Rmlyc3RQYWdlICYmXG4gICAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e3tjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnByZXZpb3VzUGFnZVBhdGgoKX0+XG4gICAgICAgICAgICAgICAgPFRleHQ+4oaQPC9UZXh0PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICB7dGhpcy5zaG93QmFja3dhcmRzRG90cygpICYmXG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwicGFnZS1pdGVtIGRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICZoZWxsaXA7XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7cGFnZXMubWFwKChwYWdlKSA9PlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAke3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSl9YH1cbiAgICAgICAgICAgICAgZGF0YS1hY3RpdmU9e3RoaXMuaXNQYWdlQWN0aXZlQ2xhc3MocGFnZSkgPT0gXCJhY3RpdmVcIn1cbiAgICAgICAgICAgICAgZGF0YS1wYWdlPXtwYWdlfVxuICAgICAgICAgICAgICBrZXk9e2BwYWdlLSR7cGFnZX1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dGhpcy5pc1BhZ2VBY3RpdmVDbGFzcyhwYWdlKSA9PSBcImFjdGl2ZVwiICYmXG4gICAgICAgICAgICAgICAgcGFnZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHt0aGlzLmlzUGFnZUFjdGl2ZUNsYXNzKHBhZ2UpID09IFwibm90LWFjdGl2ZVwiICYmXG4gICAgICAgICAgICAgICAgPExpbmsgZGF0YVNldD17e2NsYXNzOiBcInBhZ2UtbGlua1wifX0gdG89e3RoaXMucGFnZVBhdGgocGFnZSl9PlxuICAgICAgICAgICAgICAgICAgPFRleHQ+e3BhZ2V9PC9UZXh0PlxuICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0aGlzLnNob3dGb3J3YXJkc0RvdHMoKSAmJlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInBhZ2UtaXRlbSBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAmaGVsbGlwO1xuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGxpIGNsYXNzTmFtZT17YHBhZ2UtaXRlbSAkeyFzaG93TmV4dFBhZ2UgPyBcImRpc2FibGVkXCIgOiBcIlwifWB9IGtleT1cInBhZ2UtbmV4dFwiPlxuICAgICAgICAgICAgeyFzaG93TmV4dFBhZ2UgJiZcbiAgICAgICAgICAgICAgPFRleHQ+4oaSPC9UZXh0PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3Nob3dOZXh0UGFnZSAmJlxuICAgICAgICAgICAgICA8TGluayBkYXRhU2V0PXt7Y2xhc3M6IFwicGFnZS1saW5rXCJ9fSB0bz17dGhpcy5uZXh0UGFnZVBhdGgoKX0+XG4gICAgICAgICAgICAgICAgPFRleHQ+4oaSPC9UZXh0PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgY2xhc3NOYW1lPXtgcGFnZS1pdGVtICR7IXNob3dMYXN0UGFnZSA/IFwiZGlzYWJsZWRcIiA6IFwiXCJ9YH0ga2V5PVwicGFnZS1sYXN0XCI+XG4gICAgICAgICAgICB7IXNob3dMYXN0UGFnZSAmJlxuICAgICAgICAgICAgICA8VGV4dD7ih6U8L1RleHQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7c2hvd0xhc3RQYWdlICYmXG4gICAgICAgICAgICAgIDxMaW5rIGRhdGFTZXQ9e3tjbGFzczogXCJwYWdlLWxpbmtcIn19IHRvPXt0aGlzLnBhZ2VQYXRoKHRvdGFsUGFnZXMpfT5cbiAgICAgICAgICAgICAgICA8VGV4dD7ih6U8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxPQUFPQyxtQkFBbUIsTUFBTSwyQkFBMkI7QUFDM0QsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLEVBQUUsTUFBTSxJQUFJO0FBQ25CLE9BQU9DLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsT0FBT0MsSUFBSSxNQUFNLGVBQWU7QUFDaEMsT0FBT0MsTUFBTSxNQUFNLFdBQVc7QUFDOUIsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxTQUFTLE1BQU0sZUFBZTtBQUVyQyxlQUFlUCxJQUFJLENBQUNNLGNBQWMsQ0FBQyxNQUFNRSx5QkFBeUIsU0FBU2IsYUFBYSxDQUFDO0VBQ3ZGLE9BQU9jLFNBQVMsR0FBR1YsY0FBYyxDQUFDO0lBQ2hDVyxNQUFNLEVBQUVaLFNBQVMsQ0FBQ2EsU0FBUyxDQUFDLENBQzFCZixtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNyQ0UsU0FBUyxDQUFDYyxVQUFVLENBQUNQ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