@kaspernj/api-maker 1.0.446 → 1.0.447

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 (357) hide show
  1. package/{.eslintrc.cjs → .eslintrc.js} +4 -0
  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/index.js +105 -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 +128 -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 +130 -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 +3 -0
  34. package/build/collection-loader.js +48 -0
  35. package/build/collection.js +279 -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 +53 -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 +109 -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-model-class.js +24 -0
  52. package/build/events.js +5 -0
  53. package/build/form.js +83 -0
  54. package/build/index.js +3 -0
  55. package/build/inputs/attachment.js +121 -0
  56. package/build/inputs/auto-submit.js +36 -0
  57. package/build/inputs/checkbox.js +145 -0
  58. package/build/inputs/checkboxes.js +111 -0
  59. package/build/inputs/id-for-component.js +15 -0
  60. package/build/inputs/input-wrapper.js +18 -0
  61. package/build/inputs/input.js +230 -0
  62. package/build/inputs/money.js +179 -0
  63. package/build/inputs/name-for-component.js +13 -0
  64. package/build/inputs/select.js +92 -0
  65. package/build/instance-of-class-name.js +23 -0
  66. package/build/key-value-store.js +53 -0
  67. package/build/link.js +68 -0
  68. package/build/logger.js +30 -0
  69. package/build/modal.js +37 -0
  70. package/build/model-class-require.js +13 -0
  71. package/build/model-events.js +30 -0
  72. package/build/model-name.js +28 -0
  73. package/build/model-prop-type.js +101 -0
  74. package/build/model-recipes-loader.js +32 -0
  75. package/build/model-recipes-model-loader.js +357 -0
  76. package/build/models-response-reader.js +40 -0
  77. package/build/models.js +8 -0
  78. package/build/money-formatter.js +77 -0
  79. package/build/not-loaded-error.js +2 -0
  80. package/build/params.js +60 -0
  81. package/build/preloaded.js +38 -0
  82. package/build/resize-observer.js +11 -0
  83. package/build/result.js +13 -0
  84. package/build/router/route.js +262 -0
  85. package/build/router/switch.js +72 -0
  86. package/build/router.js +57 -0
  87. package/build/routes-native.js +202 -0
  88. package/build/routes.js +50 -0
  89. package/build/run-last.js +35 -0
  90. package/build/serializer.js +63 -0
  91. package/build/services.js +20 -0
  92. package/build/session-status-updater.js +126 -0
  93. package/build/source-maps-loader.js +171 -0
  94. package/build/super-admin/config-reader.js +84 -0
  95. package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
  96. package/build/super-admin/edit-page/edit-attribute-content.js +54 -0
  97. package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
  98. package/build/super-admin/edit-page/edit-attribute.js +76 -0
  99. package/build/super-admin/edit-page.js +120 -0
  100. package/build/super-admin/has-edit-config.js +12 -0
  101. package/build/super-admin/index-page.js +24 -0
  102. package/build/super-admin/index.js +180 -0
  103. package/build/super-admin/layout/header/index.js +151 -0
  104. package/build/super-admin/layout/index.js +109 -0
  105. package/build/super-admin/layout/menu/index.js +93 -0
  106. package/build/super-admin/layout/menu/menu-content.js +40 -0
  107. package/build/super-admin/layout/menu/menu-item.js +83 -0
  108. package/build/super-admin/layout/no-access.js +25 -0
  109. package/build/super-admin/model-class-table.js +61 -0
  110. package/build/super-admin/models.js +8 -0
  111. package/build/super-admin/show-nav.js +49 -0
  112. package/build/super-admin/show-page/belongs-to-attribute-row.js +28 -0
  113. package/build/super-admin/show-page/index.js +141 -0
  114. package/build/super-admin/show-reflection-actions.js +47 -0
  115. package/build/super-admin/show-reflection-link.js +46 -0
  116. package/build/super-admin/show-reflection-page.js +47 -0
  117. package/build/table/column-content.js +112 -0
  118. package/build/table/column-identifier.js +18 -0
  119. package/build/table/column-visible.js +7 -0
  120. package/build/table/components/column.js +20 -0
  121. package/build/table/components/flat-list.js +20 -0
  122. package/build/table/components/header.js +25 -0
  123. package/build/table/components/row.js +25 -0
  124. package/build/table/filters/attribute-element.js +43 -0
  125. package/build/table/filters/filter-form.js +392 -0
  126. package/build/table/filters/filter.js +89 -0
  127. package/build/table/filters/index.js +182 -0
  128. package/build/table/filters/load-search-modal.js +174 -0
  129. package/build/table/filters/reflection-element.js +36 -0
  130. package/build/table/filters/save-search-modal.js +86 -0
  131. package/build/table/filters/scope-element.js +41 -0
  132. package/build/table/header-column-content.js +67 -0
  133. package/build/table/header-column.js +144 -0
  134. package/build/table/header-select.js +104 -0
  135. package/build/table/model-callback-args.js +10 -0
  136. package/build/table/model-column.js +87 -0
  137. package/build/table/model-row.js +179 -0
  138. package/build/table/select-calculator.js +63 -0
  139. package/build/table/settings/column-row.js +97 -0
  140. package/build/table/settings/download-action.js +78 -0
  141. package/build/table/settings/index.js +92 -0
  142. package/build/table/table-settings.js +219 -0
  143. package/build/table/table.js +972 -0
  144. package/build/table/use-sorting.js +34 -0
  145. package/build/table/widths.js +75 -0
  146. package/build/table/worker-plugins-check-all-checkbox.js +125 -0
  147. package/build/table/worker-plugins-checkbox.js +115 -0
  148. package/build/translated-attributes.js +10 -0
  149. package/build/translated-collections.js +11 -0
  150. package/build/updated-attribute.js +76 -0
  151. package/build/url-encode.js +15 -0
  152. package/build/use-breakpoint.js +44 -0
  153. package/build/use-can-can.js +55 -0
  154. package/build/use-collection.js +225 -0
  155. package/build/use-created-event.js +52 -0
  156. package/build/use-current-user.js +73 -0
  157. package/build/use-destroyed-event.js +60 -0
  158. package/build/use-event-emitter.js +13 -0
  159. package/build/use-event-listener.js +16 -0
  160. package/build/use-input.js +140 -0
  161. package/build/use-model-event.js +60 -0
  162. package/build/use-model.js +169 -0
  163. package/build/use-resize-observer.js +23 -0
  164. package/build/use-router.js +102 -0
  165. package/build/use-screen-layout.js +39 -0
  166. package/build/use-updated-event.js +60 -0
  167. package/build/use-validation-errors.js +30 -0
  168. package/build/utils/card.js +51 -0
  169. package/build/utils/checkbox.js +48 -0
  170. package/build/utils/default-style.js +18 -0
  171. package/build/utils/modal.js +61 -0
  172. package/build/utils/text.js +18 -0
  173. package/build/validation-error.js +28 -0
  174. package/build/validation-errors.js +98 -0
  175. package/build/with-collection.js +13 -0
  176. package/build/with-current-user.js +9 -0
  177. package/build/with-model.js +14 -0
  178. package/build/with-router.js +21 -0
  179. package/expo-module.config.json +17 -0
  180. package/ios/ApiMaker.podspec +29 -0
  181. package/ios/ApiMakerModule.swift +48 -0
  182. package/ios/ApiMakerView.swift +38 -0
  183. package/package.json +35 -15
  184. package/src/{api.mjs → api.js} +5 -5
  185. package/src/{base-error.mjs → base-error.js} +1 -1
  186. package/src/base-model/{attribute.mjs → attribute.js} +1 -1
  187. package/src/base-model/{reflection.mjs → reflection.js} +1 -1
  188. package/src/{base-model.mjs → base-model.js} +14 -14
  189. package/src/bootstrap/attribute-row/index.jsx +2 -2
  190. package/src/bootstrap/attribute-rows.jsx +1 -1
  191. package/src/bootstrap/card.jsx +1 -1
  192. package/src/bootstrap/checkbox.jsx +1 -1
  193. package/src/bootstrap/checkboxes.jsx +1 -1
  194. package/src/bootstrap/input.jsx +1 -1
  195. package/src/bootstrap/paginate.jsx +2 -2
  196. package/src/bootstrap/sort-link.jsx +3 -3
  197. package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +3 -3
  198. package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +4 -4
  199. package/src/{cable-subscription.mjs → cable-subscription.js} +1 -1
  200. package/src/{can-can.mjs → can-can.js} +1 -1
  201. package/src/collection-loader.jsx +2 -2
  202. package/src/{collection.mjs → collection.js} +3 -3
  203. package/src/{commands-pool.mjs → commands-pool.js} +11 -11
  204. package/src/{custom-error.mjs → custom-error.js} +1 -1
  205. package/src/{deserializer.mjs → deserializer.js} +2 -2
  206. package/src/{destroy-error.mjs → destroy-error.js} +1 -1
  207. package/src/{devise.mjs → devise.js} +5 -9
  208. package/src/draggable-sort/index.jsx +3 -3
  209. package/src/draggable-sort/item.jsx +2 -2
  210. package/src/{error-logger.mjs → error-logger.js} +1 -1
  211. package/src/event-connection.jsx +1 -1
  212. package/src/event-model-class.jsx +1 -1
  213. package/src/form.jsx +1 -1
  214. package/src/index.js +3 -0
  215. package/src/inputs/attachment.jsx +2 -2
  216. package/src/inputs/checkbox.jsx +7 -6
  217. package/src/inputs/checkboxes.jsx +1 -1
  218. package/src/inputs/input-wrapper.jsx +1 -1
  219. package/src/inputs/input.jsx +8 -7
  220. package/src/inputs/money.jsx +3 -3
  221. package/src/inputs/select.jsx +1 -1
  222. package/src/{key-value-store.mjs → key-value-store.js} +1 -1
  223. package/src/link.jsx +2 -2
  224. package/src/modal.jsx +1 -1
  225. package/src/{model-class-require.mjs → model-class-require.js} +4 -2
  226. package/src/{model-events.mjs → model-events.js} +1 -1
  227. package/src/{model-name.mjs → model-name.js} +1 -1
  228. package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
  229. package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +2 -2
  230. package/src/{models-response-reader.mjs → models-response-reader.js} +2 -2
  231. package/src/models.js +7 -0
  232. package/src/{models.mjs.erb → models.js.erb} +1 -1
  233. package/src/{params.mjs → params.js} +2 -2
  234. package/src/{preloaded.mjs → preloaded.js} +1 -1
  235. package/src/resize-observer.jsx +1 -1
  236. package/src/router/route.jsx +1 -1
  237. package/src/router/switch.jsx +1 -1
  238. package/src/router.jsx +1 -1
  239. package/src/{routes-native.mjs → routes-native.js} +1 -1
  240. package/src/{services.mjs → services.js} +1 -1
  241. package/src/{session-status-updater.mjs → session-status-updater.js} +3 -3
  242. package/src/{source-maps-loader.mjs → source-maps-loader.js} +1 -1
  243. package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +1 -1
  244. package/src/super-admin/edit-page/edit-attribute-content.jsx +1 -1
  245. package/src/super-admin/edit-page/edit-attribute-input.jsx +1 -1
  246. package/src/super-admin/edit-page/edit-attribute.jsx +1 -1
  247. package/src/super-admin/edit-page.jsx +2 -2
  248. package/src/super-admin/has-edit-config.js +1 -1
  249. package/src/super-admin/index-page.jsx +1 -1
  250. package/src/super-admin/index.jsx +7 -7
  251. package/src/super-admin/layout/header/index.jsx +2 -2
  252. package/src/super-admin/layout/index.jsx +3 -3
  253. package/src/super-admin/layout/menu/index.jsx +3 -3
  254. package/src/super-admin/layout/menu/menu-content.jsx +2 -2
  255. package/src/super-admin/layout/menu/{menu-item/index.jsx → menu-item.jsx} +5 -6
  256. package/src/super-admin/layout/no-access.jsx +2 -2
  257. package/src/super-admin/model-class-table.jsx +3 -3
  258. package/src/super-admin/models.js +1 -1
  259. package/src/super-admin/show-nav.jsx +2 -2
  260. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +1 -1
  261. package/src/super-admin/show-page/index.jsx +2 -2
  262. package/src/super-admin/show-reflection-actions.jsx +1 -1
  263. package/src/super-admin/show-reflection-link.jsx +1 -1
  264. package/src/super-admin/show-reflection-page.jsx +1 -1
  265. package/src/table/column-content.jsx +1 -1
  266. package/src/table/filters/filter-form.jsx +1 -1
  267. package/src/table/filters/index.jsx +5 -3
  268. package/src/table/filters/load-search-modal.jsx +6 -4
  269. package/src/table/filters/save-search-modal.jsx +4 -4
  270. package/src/table/header-select.jsx +1 -1
  271. package/src/table/model-column.jsx +1 -1
  272. package/src/table/model-row.jsx +2 -2
  273. package/src/table/{select-calculator.mjs → select-calculator.js} +1 -1
  274. package/src/table/settings/column-row.jsx +2 -2
  275. package/src/table/settings/download-action.jsx +3 -3
  276. package/src/table/settings/index.jsx +3 -3
  277. package/src/table/table-settings.js +5 -4
  278. package/src/table/table.jsx +8 -8
  279. package/src/table/{use-sorting.mjs → use-sorting.js} +1 -1
  280. package/src/table/worker-plugins-check-all-checkbox.jsx +2 -2
  281. package/src/table/worker-plugins-checkbox.jsx +2 -2
  282. package/src/{translated-collections.mjs → translated-collections.js} +1 -1
  283. package/src/updated-attribute.jsx +1 -1
  284. package/src/{use-breakpoint.mjs → use-breakpoint.js} +2 -2
  285. package/src/use-can-can.js +55 -0
  286. package/src/{use-collection.mjs → use-collection.js} +4 -4
  287. package/src/{use-created-event.mjs → use-created-event.js} +2 -2
  288. package/src/{use-current-user.mjs → use-current-user.js} +6 -5
  289. package/src/{use-destroyed-event.mjs → use-destroyed-event.js} +2 -2
  290. package/src/{use-input.mjs → use-input.js} +5 -5
  291. package/src/use-model-event.js +2 -2
  292. package/src/{use-model.mjs → use-model.js} +4 -4
  293. package/src/{use-resize-observer.mjs → use-resize-observer.js} +1 -1
  294. package/src/use-router.jsx +2 -2
  295. package/src/{use-updated-event.mjs → use-updated-event.js} +2 -2
  296. package/src/{use-validation-errors.mjs → use-validation-errors.js} +3 -3
  297. package/src/utils/checkbox.jsx +2 -2
  298. package/src/{validation-error.mjs → validation-error.js} +1 -1
  299. package/src/{validation-errors.mjs → validation-errors.js} +1 -1
  300. package/src/with-current-user.jsx +1 -1
  301. package/src/with-model.jsx +1 -1
  302. package/__tests__/base-model.test.mjs +0 -71
  303. package/__tests__/cable-connection-pool.test.mjs +0 -227
  304. package/__tests__/cable-subscription-pool.test.mjs +0 -27
  305. package/__tests__/can-can.test.mjs +0 -34
  306. package/__tests__/collection.test.mjs +0 -51
  307. package/__tests__/custom-error.test.mjs +0 -13
  308. package/__tests__/model-name.test.mjs +0 -34
  309. package/__tests__/model-prop-type.test.mjs +0 -113
  310. package/__tests__/params.test.mjs +0 -40
  311. package/__tests__/routes-native.test.mjs +0 -104
  312. package/__tests__/routes.test.mjs +0 -47
  313. package/__tests__/serializer.test.mjs +0 -30
  314. package/__tests__/support/task.mjs +0 -27
  315. package/__tests__/support/user.mjs +0 -32
  316. package/index.js +0 -1
  317. package/jest.config.js +0 -9
  318. package/src/event-created.jsx +0 -12
  319. package/src/event-destroyed.jsx +0 -25
  320. package/src/event-emitter-listener.jsx +0 -10
  321. package/src/event-listener.jsx +0 -25
  322. package/src/event-updated.jsx +0 -27
  323. package/src/super-admin/layout/menu/menu-item/style.scss +0 -10
  324. package/src/use-can-can.mjs +0 -48
  325. package/src/with-can-can.jsx +0 -12
  326. package/webpack.config.js +0 -15
  327. /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
  328. /package/src/base-model/{column.mjs → column.js} +0 -0
  329. /package/src/base-model/{scope.mjs → scope.js} +0 -0
  330. /package/src/{cache-key-generator.mjs → cache-key-generator.js} +0 -0
  331. /package/src/{channels-consumer.mjs → channels-consumer.js} +0 -0
  332. /package/src/{command-submit-data.mjs → command-submit-data.js} +0 -0
  333. /package/src/{config.mjs → config.js} +0 -0
  334. /package/src/{data-set-to-attributes.mjs → data-set-to-attributes.js} +0 -0
  335. /package/src/draggable-sort/{controller.mjs → controller.js} +0 -0
  336. /package/src/{error-messages.mjs → error-messages.js} +0 -0
  337. /package/src/{events.mjs → events.js} +0 -0
  338. /package/src/inputs/{auto-submit.mjs → auto-submit.js} +0 -0
  339. /package/src/inputs/{id-for-component.mjs → id-for-component.js} +0 -0
  340. /package/src/inputs/{name-for-component.mjs → name-for-component.js} +0 -0
  341. /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
  342. /package/src/{logger.mjs → logger.js} +0 -0
  343. /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
  344. /package/src/{money-formatter.mjs → money-formatter.js} +0 -0
  345. /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
  346. /package/src/{result.mjs → result.js} +0 -0
  347. /package/src/{routes.mjs → routes.js} +0 -0
  348. /package/src/{run-last.mjs → run-last.js} +0 -0
  349. /package/src/{serializer.mjs → serializer.js} +0 -0
  350. /package/src/table/{column-identifier.mjs → column-identifier.js} +0 -0
  351. /package/src/table/{column-visible.mjs → column-visible.js} +0 -0
  352. /package/src/table/{model-callback-args.mjs → model-callback-args.js} +0 -0
  353. /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
  354. /package/src/{url-encode.mjs → url-encode.js} +0 -0
  355. /package/src/{use-event-emitter.mjs → use-event-emitter.js} +0 -0
  356. /package/src/{use-event-listener.mjs → use-event-listener.js} +0 -0
  357. /package/src/{use-screen-layout.mjs → use-screen-layout.js} +0 -0
@@ -0,0 +1,105 @@
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 classNames from "classnames";
3
+ import { digg } from "diggerize";
4
+ import * as inflection from "inflection";
5
+ import memo from "set-state-compare/src/memo";
6
+ import MoneyFormatter from "../../money-formatter";
7
+ import PropTypes from "prop-types";
8
+ import { useMemo } from "react";
9
+ import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
10
+ import strftime from "strftime";
11
+ import useI18n from "i18n-on-steroids/src/use-i18n";
12
+ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
13
+ static defaultProps = {
14
+ checkIfAttributeLoaded: false
15
+ };
16
+ static propTypes = {
17
+ attribute: PropTypes.string,
18
+ checkIfAttributeLoaded: PropTypes.bool.isRequired,
19
+ children: PropTypes.node,
20
+ identifier: PropTypes.string,
21
+ label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
22
+ model: PropTypes.object,
23
+ value: PropTypes.node
24
+ };
25
+ setup() {
26
+ const {
27
+ t
28
+ } = useI18n({
29
+ namespace: "js.api_maker.attribute_row"
30
+ });
31
+ this.t = t;
32
+ this.attribute = useMemo(() => {
33
+ if (this.props.attribute) {
34
+ return this.props.model?.constructor?.attributes()?.find(attribute => attribute.name() == inflection.underscore(this.props.attribute));
35
+ }
36
+ }, [this.props.attribute, this.props.model]);
37
+ }
38
+ render() {
39
+ const {
40
+ attribute,
41
+ checkIfAttributeLoaded,
42
+ children,
43
+ className,
44
+ identifier,
45
+ label,
46
+ model,
47
+ value,
48
+ ...restProps
49
+ } = this.props;
50
+ return /*#__PURE__*/React.createElement("div", _extends({
51
+ className: classNames(className, "component-api-maker-attribute-row"),
52
+ "data-attribute": attribute,
53
+ "data-identifier": identifier
54
+ }, restProps), /*#__PURE__*/React.createElement("div", {
55
+ className: "attribute-row-label"
56
+ }, this.label()), /*#__PURE__*/React.createElement("div", {
57
+ className: "attribute-row-value"
58
+ }, this.value()));
59
+ }
60
+ label() {
61
+ const {
62
+ attribute,
63
+ label,
64
+ model
65
+ } = this.props;
66
+ if ("label" in this.props) return label;
67
+ if (attribute && model) return model.constructor.humanAttributeName(attribute);
68
+ throw new Error("Couldn't figure out label");
69
+ }
70
+ value() {
71
+ const {
72
+ attribute,
73
+ checkIfAttributeLoaded,
74
+ children,
75
+ model
76
+ } = this.props;
77
+ if (children) return children;
78
+ if (attribute && !(attribute in model)) throw new Error(`Attribute not found: ${digg(model.modelClassData(), "name")}#${attribute}`);
79
+ if (attribute && checkIfAttributeLoaded && !model.isAttributeLoaded(attribute)) return null;
80
+ if (attribute && model) {
81
+ const value = model[attribute]();
82
+ return this.valueContent(value);
83
+ }
84
+ }
85
+ valueContent(value) {
86
+ const columnType = this.attribute?.getColumn()?.getType();
87
+ if (columnType == "date") {
88
+ return I18n.l("date.formats.default", value);
89
+ } else if (value instanceof Date) {
90
+ return strftime("%Y-%m-%d %H:%M", value);
91
+ } else if (typeof value === "boolean") {
92
+ if (value) return this.t("js.shared.yes", {
93
+ defaultValue: "Yes"
94
+ });
95
+ return this.t("js.shared.no", {
96
+ defaultValue: "No"
97
+ });
98
+ } else if (MoneyFormatter.isMoney(value)) {
99
+ return MoneyFormatter.format(value);
100
+ } else {
101
+ return value;
102
+ }
103
+ }
104
+ }));
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGFzc05hbWVzIiwiZGlnZyIsImluZmxlY3Rpb24iLCJtZW1vIiwiTW9uZXlGb3JtYXR0ZXIiLCJQcm9wVHlwZXMiLCJ1c2VNZW1vIiwic2hhcGVDb21wb25lbnQiLCJTaGFwZUNvbXBvbmVudCIsInN0cmZ0aW1lIiwidXNlSTE4biIsIkFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93IiwiZGVmYXVsdFByb3BzIiwiY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImJvb2wiLCJpc1JlcXVpcmVkIiwiY2hpbGRyZW4iLCJub2RlIiwiaWRlbnRpZmllciIsImxhYmVsIiwib25lT2ZUeXBlIiwibW9kZWwiLCJvYmplY3QiLCJ2YWx1ZSIsInNldHVwIiwidCIsIm5hbWVzcGFjZSIsInByb3BzIiwiY29uc3RydWN0b3IiLCJhdHRyaWJ1dGVzIiwiZmluZCIsIm5hbWUiLCJ1bmRlcnNjb3JlIiwicmVuZGVyIiwiY2xhc3NOYW1lIiwicmVzdFByb3BzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJodW1hbkF0dHJpYnV0ZU5hbWUiLCJFcnJvciIsIm1vZGVsQ2xhc3NEYXRhIiwiaXNBdHRyaWJ1dGVMb2FkZWQiLCJ2YWx1ZUNvbnRlbnQiLCJjb2x1bW5UeXBlIiwiZ2V0Q29sdW1uIiwiZ2V0VHlwZSIsIkkxOG4iLCJsIiwiRGF0ZSIsImRlZmF1bHRWYWx1ZSIsImlzTW9uZXkiLCJmb3JtYXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3cvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uLy4uL21vbmV5LWZvcm1hdHRlclwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4blwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBBdHRyaWJ1dGVSb3cgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkZW50aWZpZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGFiZWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ub2RlLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5ub2RlXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLmF0dHJpYnV0ZV9yb3dcIn0pXG5cbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy5hdHRyaWJ1dGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbD8uY29uc3RydWN0b3I/LmF0dHJpYnV0ZXMoKT8uZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSkpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdGhpcy5wcm9wcy5hdHRyaWJ1dGUsIHRoaXMucHJvcHMubW9kZWxdXG4gICAgKVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCBpZGVudGlmaWVyLCBsYWJlbCwgbW9kZWwsIHZhbHVlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgXCJjb21wb25lbnQtYXBpLW1ha2VyLWF0dHJpYnV0ZS1yb3dcIil9XG4gICAgICAgIGRhdGEtYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgIGRhdGEtaWRlbnRpZmllcj17aWRlbnRpZmllcn1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhdHRyaWJ1dGUtcm93LWxhYmVsXCI+XG4gICAgICAgICAge3RoaXMubGFiZWwoKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0cmlidXRlLXJvdy12YWx1ZVwiPlxuICAgICAgICAgIHt0aGlzLnZhbHVlKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbGFiZWwsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChcImxhYmVsXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIGxhYmVsXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkgcmV0dXJuIG1vZGVsLmNvbnN0cnVjdG9yLmh1bWFuQXR0cmlidXRlTmFtZShhdHRyaWJ1dGUpXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaWd1cmUgb3V0IGxhYmVsXCIpXG4gIH1cblxuICB2YWx1ZSgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBjaGlsZHJlbiwgbW9kZWx9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGNoaWxkcmVuKSByZXR1cm4gY2hpbGRyZW5cblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgIShhdHRyaWJ1dGUgaW4gbW9kZWwpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRyaWJ1dGUgbm90IGZvdW5kOiAke2RpZ2cobW9kZWwubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpfSMke2F0dHJpYnV0ZX1gKVxuXG4gICAgaWYgKGF0dHJpYnV0ZSAmJiBjaGVja0lmQXR0cmlidXRlTG9hZGVkICYmICFtb2RlbC5pc0F0dHJpYnV0ZUxvYWRlZChhdHRyaWJ1dGUpKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbW9kZWxbYXR0cmlidXRlXSgpXG5cbiAgICAgIHJldHVybiB0aGlzLnZhbHVlQ29udGVudCh2YWx1ZSlcbiAgICB9XG4gIH1cblxuICB2YWx1ZUNvbnRlbnQodmFsdWUpIHtcbiAgICBjb25zdCBjb2x1bW5UeXBlID0gdGhpcy5hdHRyaWJ1dGU/LmdldENvbHVtbigpPy5nZXRUeXBlKClcblxuICAgIGlmIChjb2x1bW5UeXBlID09IFwiZGF0ZVwiKSB7XG4gICAgICByZXR1cm4gSTE4bi5sKFwiZGF0ZS5mb3JtYXRzLmRlZmF1bHRcIiwgdmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkICVIOiVNXCIsIHZhbHVlKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgaWYgKHZhbHVlKSByZXR1cm4gdGhpcy50KFwianMuc2hhcmVkLnllc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlllc1wifSlcblxuICAgICAgcmV0dXJuIHRoaXMudChcImpzLnNoYXJlZC5ub1wiLCB7ZGVmYXVsdFZhbHVlOiBcIk5vXCJ9KVxuICAgIH0gZWxzZSBpZiAoTW9uZXlGb3JtYXR0ZXIuaXNNb25leSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5mb3JtYXQodmFsdWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH1cbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxVQUFVLE1BQU0sWUFBWTtBQUNuQyxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPLEtBQUtDLFVBQVUsTUFBTSxZQUFZO0FBQ3hDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsY0FBYyxNQUFNLHVCQUF1QjtBQUNsRCxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxTQUFRQyxPQUFPLFFBQU8sT0FBTztBQUM3QixTQUFRQyxjQUFjLEVBQUVDLGNBQWMsUUFBTyx1Q0FBdUM7QUFDcEYsT0FBT0MsUUFBUSxNQUFNLFVBQVU7QUFDL0IsT0FBT0MsT0FBTyxNQUFNLCtCQUErQjtBQUVuRCxlQUFlUCxJQUFJLENBQUNJLGNBQWMsQ0FBQyxNQUFNSSw2QkFBNkIsU0FBU0gsY0FBYyxDQUFDO0VBQzVGLE9BQU9JLFlBQVksR0FBRztJQUNwQkMsc0JBQXNCLEVBQUU7RUFDMUIsQ0FBQztFQUVELE9BQU9DLFNB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
@@ -0,0 +1,31 @@
1
+ import AttributeRow from "./attribute-row";
2
+ import BaseComponent from "../base-component";
3
+ import memo from "set-state-compare/src/memo";
4
+ import PropTypes from "prop-types";
5
+ import propTypesExact from "prop-types-exact";
6
+ import { shapeComponent } from "set-state-compare/src/shape-component";
7
+ export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends BaseComponent {
8
+ static defaultProps = {
9
+ checkIfAttributeLoaded: false
10
+ };
11
+ static propTypes = propTypesExact({
12
+ attributes: PropTypes.array.isRequired,
13
+ checkIfAttributeLoaded: PropTypes.bool.isRequired,
14
+ model: PropTypes.object.isRequired
15
+ });
16
+ classObject = this.p.model.modelClass();
17
+ render() {
18
+ const {
19
+ attributes,
20
+ checkIfAttributeLoaded,
21
+ model
22
+ } = this.p;
23
+ return attributes.map(attribute => /*#__PURE__*/React.createElement(AttributeRow, {
24
+ attribute: attribute,
25
+ checkIfAttributeLoaded: checkIfAttributeLoaded,
26
+ key: `attribute-${attribute}`,
27
+ model: model
28
+ }));
29
+ }
30
+ }));
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVSb3ciLCJCYXNlQ29tcG9uZW50IiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0Iiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvd3MiLCJkZWZhdWx0UHJvcHMiLCJjaGVja0lmQXR0cmlidXRlTG9hZGVkIiwicHJvcFR5cGVzIiwiYXR0cmlidXRlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsImJvb2wiLCJtb2RlbCIsIm9iamVjdCIsImNsYXNzT2JqZWN0IiwicCIsIm1vZGVsQ2xhc3MiLCJyZW5kZXIiLCJtYXAiLCJhdHRyaWJ1dGUiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3dzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXR0cmlidXRlUm93IGZyb20gXCIuL2F0dHJpYnV0ZS1yb3dcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBBdHRyaWJ1dGVSb3dzIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgY2xhc3NPYmplY3QgPSB0aGlzLnAubW9kZWwubW9kZWxDbGFzcygpXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCwgbW9kZWx9ID0gdGhpcy5wXG5cbiAgICByZXR1cm4gYXR0cmlidXRlcy5tYXAoKGF0dHJpYnV0ZSkgPT5cbiAgICAgIDxBdHRyaWJ1dGVSb3cgYXR0cmlidXRlPXthdHRyaWJ1dGV9IGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ9e2NoZWNrSWZBdHRyaWJ1dGVMb2FkZWR9IGtleT17YGF0dHJpYnV0ZS0ke2F0dHJpYnV0ZX1gfSBtb2RlbD17bW9kZWx9IC8+XG4gICAgKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxNQUFNLGlCQUFpQjtBQUMxQyxPQUFPQyxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBRXBFLGVBQWVILElBQUksQ0FBQ0csY0FBYyxDQUFDLE1BQU1DLDhCQUE4QixTQUFTTCxhQUFhLENBQUM7RUFDNUYsT0FBT00sWUFBWSxHQUFHO0lBQ3BCQyxzQkFBc0IsRUFBRTtFQUMxQixDQUFDO0VBRUQsT0FBT0MsU0FBUyxHQUFHTCxjQUFjLENBQUM7SUFDaENNLFVBQVUsRUFBRVAsU0FBUyxDQUFDUSxLQUFLLENBQUNDLFVBQVU7SUFDdENKLHNCQUFzQixFQUFFTCxTQUFTLENBQUNVLElBQUksQ0FBQ0QsVUFBVTtJQUNqREUsS0FBSyxFQUFFWCxTQUFTLENBQUNZLE1BQU0sQ0FBQ0g7RUFDMUIsQ0FBQyxDQUFDO0VBRUZJLFdBQVcsR0FBRyxJQUFJLENBQUNDLENBQUMsQ0FBQ0gsS0FBSyxDQUFDSSxVQUFVLENBQUMsQ0FBQztFQUV2Q0MsTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsTUFBTTtNQUFDVCxVQUFVO01BQUVGLHNCQUFzQjtNQUFFTTtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLENBQUM7SUFFMUQsT0FBT1AsVUFBVSxDQUFDVSxHQUFHLENBQUVDLFNBQVMsaUJBQzlCQyxLQUFBLENBQUFDLGFBQUEsQ0FBQ3ZCLFlBQVk7TUFBQ3FCLFNBQVMsRUFBRUEsU0FBVTtNQUFDYixzQkFBc0IsRUFBRUEsc0JBQXVCO01BQUNnQixHQUFHLEVBQUUsYUFBYUgsU0FBUyxFQUFHO01BQUNQLEtBQUssRUFBRUE7SUFBTSxDQUFFLENBQ3BJLENBQUM7RUFDSDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,138 @@
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 BaseComponent from "../base-component";
3
+ import classNames from "classnames";
4
+ import { digg, digs } from "diggerize";
5
+ import memo from "set-state-compare/src/memo";
6
+ import PropTypes from "prop-types";
7
+ import { useRef } from "react";
8
+ import { shapeComponent } from "set-state-compare/src/shape-component";
9
+ export default memo(shapeComponent(class ApiMakerBootstrapCard extends BaseComponent {
10
+ static defaultProps = {
11
+ defaultExpanded: true,
12
+ expandable: false,
13
+ expandableHide: false,
14
+ responsiveTable: true,
15
+ table: false
16
+ };
17
+ static propTypes = {
18
+ cardRef: PropTypes.object,
19
+ className: PropTypes.string,
20
+ children: PropTypes.node,
21
+ controls: PropTypes.node,
22
+ defaultExpanded: PropTypes.bool.isRequired,
23
+ expandable: PropTypes.bool.isRequired,
24
+ expandableHide: PropTypes.bool.isRequired,
25
+ footer: PropTypes.node,
26
+ header: PropTypes.node,
27
+ striped: PropTypes.bool,
28
+ responsiveTable: PropTypes.bool.isRequired,
29
+ table: PropTypes.bool.isRequired
30
+ };
31
+ setup() {
32
+ this.cardRef = useRef();
33
+ this.useStates({
34
+ expanded: this.props.defaultExpanded
35
+ });
36
+ }
37
+ render() {
38
+ const {
39
+ cardRef,
40
+ children,
41
+ className,
42
+ controls,
43
+ defaultExpanded,
44
+ expandable,
45
+ expandableHide,
46
+ footer,
47
+ header,
48
+ responsiveTable,
49
+ striped,
50
+ table,
51
+ ...restProps
52
+ } = this.props;
53
+ const {
54
+ expanded
55
+ } = digs(this.state, "expanded");
56
+ const cardHeaderStyle = {
57
+ display: "flex"
58
+ };
59
+ const cardRefToUse = cardRef || this.cardRef;
60
+ if (!expanded) cardHeaderStyle["borderBottom"] = "0";
61
+ return /*#__PURE__*/React.createElement("div", _extends({
62
+ className: classNames("component-bootstrap-card", "card", "card-default", className),
63
+ "data-has-footer": Boolean(footer),
64
+ ref: cardRefToUse
65
+ }, restProps), (controls || expandable || header) && /*#__PURE__*/React.createElement("div", {
66
+ className: "card-header",
67
+ style: cardHeaderStyle
68
+ }, /*#__PURE__*/React.createElement("div", {
69
+ className: "card-header-label",
70
+ style: {
71
+ alignSelf: "center",
72
+ marginRight: "auto"
73
+ }
74
+ }, header), (controls || expandable) && /*#__PURE__*/React.createElement("div", {
75
+ className: "card-header-actions",
76
+ style: {
77
+ alignSelf: "center"
78
+ }
79
+ }, controls, expandable && expanded && /*#__PURE__*/React.createElement("a", {
80
+ className: "collapse-card-button text-muted",
81
+ href: "#",
82
+ onClick: digg(this, "onCollapseClicked")
83
+ }, /*#__PURE__*/React.createElement("i", {
84
+ className: "fa fa-angle-up"
85
+ })), expandable && !expanded && /*#__PURE__*/React.createElement("a", {
86
+ className: "expand-card-button text-muted",
87
+ href: "#",
88
+ onClick: digg(this, "onExpandClicked")
89
+ }, /*#__PURE__*/React.createElement("i", {
90
+ className: "fa fa-angle-down"
91
+ })))), (expanded || expandableHide) && /*#__PURE__*/React.createElement("div", {
92
+ className: this.bodyClassNames()
93
+ }, table && /*#__PURE__*/React.createElement("table", {
94
+ className: this.tableClassNames()
95
+ }, children), !table && children), footer && /*#__PURE__*/React.createElement("div", {
96
+ className: "card-footer"
97
+ }, footer));
98
+ }
99
+ bodyClassNames() {
100
+ const {
101
+ expandableHide,
102
+ responsiveTable,
103
+ table
104
+ } = digs(this.props, "expandableHide", "responsiveTable", "table");
105
+ const {
106
+ expanded
107
+ } = digs(this.state, "expanded");
108
+ const classNames = ["card-body"];
109
+ if (!expanded && expandableHide) {
110
+ classNames.push("d-none");
111
+ }
112
+ if (table) {
113
+ if (responsiveTable) {
114
+ classNames.push("table-responsive");
115
+ }
116
+ classNames.push("p-0");
117
+ }
118
+ return classNames.join(" ");
119
+ }
120
+ onCollapseClicked = e => {
121
+ e.preventDefault();
122
+ this.setState({
123
+ expanded: false
124
+ });
125
+ };
126
+ onExpandClicked = e => {
127
+ e.preventDefault();
128
+ this.setState({
129
+ expanded: true
130
+ });
131
+ };
132
+ tableClassNames() {
133
+ const classNames = ["table", "table-hover", "mb-0", "w-100"];
134
+ if (this.props.striped) classNames.push("table-striped");
135
+ return classNames.join(" ");
136
+ }
137
+ }));
138
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ2ciLCJkaWdzIiwibWVtbyIsIlByb3BUeXBlcyIsInVzZVJlZiIsInNoYXBlQ29tcG9uZW50IiwiQXBpTWFrZXJCb290c3RyYXBDYXJkIiwiZGVmYXVsdFByb3BzIiwiZGVmYXVsdEV4cGFuZGVkIiwiZXhwYW5kYWJsZSIsImV4cGFuZGFibGVIaWRlIiwicmVzcG9uc2l2ZVRhYmxlIiwidGFibGUiLCJwcm9wVHlwZXMiLCJjYXJkUmVmIiwib2JqZWN0IiwiY2xhc3NOYW1lIiwic3RyaW5nIiwiY2hpbGRyZW4iLCJub2RlIiwiY29udHJvbHMiLCJib29sIiwiaXNSZXF1aXJlZCIsImZvb3RlciIsImhlYWRlciIsInN0cmlwZWQiLCJzZXR1cCIsInVzZVN0YXRlcyIsImV4cGFuZGVkIiwicHJvcHMiLCJyZW5kZXIiLCJyZXN0UHJvcHMiLCJzdGF0ZSIsImNhcmRIZWFkZXJTdHlsZSIsImRpc3BsYXkiLCJjYXJkUmVmVG9Vc2UiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsIkJvb2xlYW4iLCJyZWYiLCJzdHlsZSIsImFsaWduU2VsZiIsIm1hcmdpblJpZ2h0IiwiaHJlZiIsIm9uQ2xpY2siLCJib2R5Q2xhc3NOYW1lcyIsInRhYmxlQ2xhc3NOYW1lcyIsInB1c2giLCJqb2luIiwib25Db2xsYXBzZUNsaWNrZWQiLCJlIiwicHJldmVudERlZmF1bHQiLCJzZXRTdGF0ZSIsIm9uRXhwYW5kQ2xpY2tlZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2FyZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQge3VzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcENhcmQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkZWZhdWx0RXhwYW5kZWQ6IHRydWUsXG4gICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gICAgZXhwYW5kYWJsZUhpZGU6IGZhbHNlLFxuICAgIHJlc3BvbnNpdmVUYWJsZTogdHJ1ZSxcbiAgICB0YWJsZTogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2FyZFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAgIGNvbnRyb2xzOiBQcm9wVHlwZXMubm9kZSxcbiAgICBkZWZhdWx0RXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZXhwYW5kYWJsZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBleHBhbmRhYmxlSGlkZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBmb290ZXI6IFByb3BUeXBlcy5ub2RlLFxuICAgIGhlYWRlcjogUHJvcFR5cGVzLm5vZGUsXG4gICAgc3RyaXBlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcmVzcG9uc2l2ZVRhYmxlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIHRhYmxlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLmNhcmRSZWYgPSB1c2VSZWYoKVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgZXhwYW5kZWQ6IHRoaXMucHJvcHMuZGVmYXVsdEV4cGFuZGVkXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2FyZFJlZixcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udHJvbHMsXG4gICAgICBkZWZhdWx0RXhwYW5kZWQsXG4gICAgICBleHBhbmRhYmxlLFxuICAgICAgZXhwYW5kYWJsZUhpZGUsXG4gICAgICBmb290ZXIsXG4gICAgICBoZWFkZXIsXG4gICAgICByZXNwb25zaXZlVGFibGUsXG4gICAgICBzdHJpcGVkLFxuICAgICAgdGFibGUsXG4gICAgICAuLi5yZXN0UHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtleHBhbmRlZH0gPSBkaWdzKHRoaXMuc3RhdGUsIFwiZXhwYW5kZWRcIilcbiAgICBjb25zdCBjYXJkSGVhZGVyU3R5bGUgPSB7ZGlzcGxheTogXCJmbGV4XCJ9XG4gICAgY29uc3QgY2FyZFJlZlRvVXNlID0gY2FyZFJlZiB8fCB0aGlzLmNhcmRSZWZcblxuICAgIGlmICghZXhwYW5kZWQpIGNhcmRIZWFkZXJTdHlsZVtcImJvcmRlckJvdHRvbVwiXSA9IFwiMFwiXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJjb21wb25lbnQtYm9vdHN0cmFwLWNhcmRcIiwgXCJjYXJkXCIsIFwiY2FyZC1kZWZhdWx0XCIsIGNsYXNzTmFtZSl9XG4gICAgICAgIGRhdGEtaGFzLWZvb3Rlcj17Qm9vbGVhbihmb290ZXIpfVxuICAgICAgICByZWY9e2NhcmRSZWZUb1VzZX1cbiAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgID5cbiAgICAgICAgeyhjb250cm9scyB8fCBleHBhbmRhYmxlIHx8IGhlYWRlcikgJiZcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyXCIgc3R5bGU9e2NhcmRIZWFkZXJTdHlsZX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyLWxhYmVsXCIgc3R5bGU9e3thbGlnblNlbGY6IFwiY2VudGVyXCIsIG1hcmdpblJpZ2h0OiBcImF1dG9cIn19PlxuICAgICAgICAgICAgICB7aGVhZGVyfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7KGNvbnRyb2xzIHx8IGV4cGFuZGFibGUpICYmXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1oZWFkZXItYWN0aW9uc1wiIHN0eWxlPXt7YWxpZ25TZWxmOiBcImNlbnRlclwifX0+XG4gICAgICAgICAgICAgICAge2NvbnRyb2xzfVxuICAgICAgICAgICAgICAgIHtleHBhbmRhYmxlICYmIGV4cGFuZGVkICYmXG4gICAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJjb2xsYXBzZS1jYXJkLWJ1dHRvbiB0ZXh0LW11dGVkXCIgaHJlZj1cIiNcIiBvbkNsaWNrPXtkaWdnKHRoaXMsIFwib25Db2xsYXBzZUNsaWNrZWRcIil9PlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1hbmdsZS11cFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHtleHBhbmRhYmxlICYmICFleHBhbmRlZCAmJlxuICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZXhwYW5kLWNhcmQtYnV0dG9uIHRleHQtbXV0ZWRcIiBocmVmPVwiI1wiIG9uQ2xpY2s9e2RpZ2codGhpcywgXCJvbkV4cGFuZENsaWNrZWRcIil9PlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1hbmdsZS1kb3duXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIHsoZXhwYW5kZWQgfHwgZXhwYW5kYWJsZUhpZGUpICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3RoaXMuYm9keUNsYXNzTmFtZXMoKX0+XG4gICAgICAgICAgICB7dGFibGUgJiZcbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT17dGhpcy50YWJsZUNsYXNzTmFtZXMoKX0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgeyF0YWJsZSAmJiBjaGlsZHJlbn1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICB7Zm9vdGVyICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWZvb3RlclwiPlxuICAgICAgICAgICAge2Zvb3Rlcn1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgYm9keUNsYXNzTmFtZXMgKCkge1xuICAgIGNvbnN0IHtleHBhbmRhYmxlSGlkZSwgcmVzcG9uc2l2ZVRhYmxlLCB0YWJsZX0gPSBkaWdzKHRoaXMucHJvcHMsIFwiZXhwYW5kYWJsZUhpZGVcIiwgXCJyZXNwb25zaXZlVGFibGVcIiwgXCJ0YWJsZVwiKVxuICAgIGNvbnN0IHtleHBhbmRlZH0gPSBkaWdzKHRoaXMuc3RhdGUsIFwiZXhwYW5kZWRcIilcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1wiY2FyZC1ib2R5XCJdXG5cbiAgICBpZiAoIWV4cGFuZGVkICYmIGV4cGFuZGFibGVIaWRlKSB7XG4gICAgICBjbGFzc05hbWVzLnB1c2goXCJkLW5vbmVcIilcbiAgICB9XG5cbiAgICBpZiAodGFibGUpIHtcbiAgICAgIGlmIChyZXNwb25zaXZlVGFibGUpe1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goXCJ0YWJsZS1yZXNwb25zaXZlXCIpXG4gICAgICB9XG5cbiAgICAgIGNsYXNzTmFtZXMucHVzaChcInAtMFwiKVxuICAgIH1cblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBvbkNvbGxhcHNlQ2xpY2tlZCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgdGhpcy5zZXRTdGF0ZSh7ZXhwYW5kZWQ6IGZhbHNlfSlcbiAgfVxuXG4gIG9uRXhwYW5kQ2xpY2tlZCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgdGhpcy5zZXRTdGF0ZSh7ZXhwYW5kZWQ6IHRydWV9KVxuICB9XG5cbiAgdGFibGVDbGFzc05hbWVzICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW1widGFibGVcIiwgXCJ0YWJsZS1ob3ZlclwiLCBcIm1iLTBcIiwgXCJ3LTEwMFwiXVxuXG4gICAgaWYgKHRoaXMucHJvcHMuc3RyaXBlZClcbiAgICAgIGNsYXNzTmFtZXMucHVzaChcInRhYmxlLXN0cmlwZWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxTQUFRQyxJQUFJLEVBQUVDLElBQUksUUFBTyxXQUFXO0FBQ3BDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsU0FBUUMsTUFBTSxRQUFPLE9BQU87QUFDNUIsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUVwRSxlQUFlSCxJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNQyxxQkFBcUIsU0FBU1IsYUFBYSxDQUFDO0VBQ25GLE9BQU9TLFlBQVksR0FBRztJQUNwQkMsZUFBZSxFQUFFLElBQUk7SUFDckJDLFVBQVUsRUFBRSxLQUFL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
@@ -0,0 +1,97 @@
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 { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
3
+ import Checkbox from "../inputs/checkbox";
4
+ import classNames from "classnames";
5
+ import { digs } from "diggerize";
6
+ import InvalidFeedback from "./invalid-feedback";
7
+ import memo from "set-state-compare/src/memo";
8
+ import PropTypes from "prop-types";
9
+ import React from "react";
10
+ import useInput from "../use-input";
11
+ export default memo(shapeComponent(class ApiMakerBootstrapCheckbox extends ShapeComponent {
12
+ static defaultProps = {
13
+ defaultValue: 1,
14
+ zeroInput: true
15
+ };
16
+ static propTypes = {
17
+ attribute: PropTypes.string,
18
+ className: PropTypes.string,
19
+ defaultChecked: PropTypes.bool,
20
+ defaultValue: PropTypes.node,
21
+ hint: PropTypes.node,
22
+ id: PropTypes.string,
23
+ label: PropTypes.node,
24
+ labelClassName: PropTypes.string,
25
+ model: PropTypes.object,
26
+ name: PropTypes.string,
27
+ onChange: PropTypes.func,
28
+ wrapperClassName: PropTypes.string,
29
+ zeroInput: PropTypes.bool
30
+ };
31
+ setup() {
32
+ const {
33
+ inputProps,
34
+ restProps: useInputRestProps,
35
+ wrapperOpts
36
+ } = useInput({
37
+ props: this.props,
38
+ wrapperOptions: {
39
+ type: "checkbox"
40
+ }
41
+ });
42
+ this.setInstance({
43
+ inputProps,
44
+ useInputRestProps,
45
+ wrapperOpts
46
+ });
47
+ }
48
+ render() {
49
+ const {
50
+ inputProps,
51
+ useInputRestProps,
52
+ wrapperOpts
53
+ } = this.tt;
54
+ const {
55
+ className,
56
+ hint,
57
+ id,
58
+ inputRef,
59
+ label,
60
+ labelClassName,
61
+ wrapperClassName,
62
+ ...restProps
63
+ } = useInputRestProps;
64
+ const {
65
+ errors
66
+ } = digs(wrapperOpts, "errors");
67
+ return /*#__PURE__*/React.createElement("div", {
68
+ className: this.wrapperClassName()
69
+ }, /*#__PURE__*/React.createElement("div", {
70
+ className: "form-check"
71
+ }, /*#__PURE__*/React.createElement(Checkbox, _extends({
72
+ className: classNames("form-check-input", className, {
73
+ "is-invalid": errors.length > 0
74
+ }),
75
+ id: id,
76
+ inputRef: inputRef
77
+ }, restProps)), wrapperOpts.label && /*#__PURE__*/React.createElement("label", {
78
+ className: this.labelClassName(),
79
+ htmlFor: inputProps.id
80
+ }, wrapperOpts.label), hint && /*#__PURE__*/React.createElement("p", {
81
+ className: "text-muted"
82
+ }, hint), errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
83
+ errors: errors
84
+ })));
85
+ }
86
+ labelClassName() {
87
+ const classNames = ["form-check-label"];
88
+ if (this.props.labelClassName) classNames.push(this.props.labelClassName);
89
+ return classNames.join(" ");
90
+ }
91
+ wrapperClassName() {
92
+ const classNames = ["component-bootstrap-checkbox", "form-group"];
93
+ if (this.props.wrapperClassName) classNames.push(this.props.wrapperClassName);
94
+ return classNames.join(" ");
95
+ }
96
+ }));
97
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50IiwiQ2hlY2tib3giLCJjbGFzc05hbWVzIiwiZGlncyIsIkludmFsaWRGZWVkYmFjayIsIm1lbW8iLCJQcm9wVHlwZXMiLCJSZWFjdCIsInVzZUlucHV0IiwiQXBpTWFrZXJCb290c3RyYXBDaGVja2JveCIsImRlZmF1bHRQcm9wcyIsImRlZmF1bHRWYWx1ZSIsInplcm9JbnB1dCIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNsYXNzTmFtZSIsImRlZmF1bHRDaGVja2VkIiwiYm9vbCIsIm5vZGUiLCJoaW50IiwiaWQiLCJsYWJlbCIsImxhYmVsQ2xhc3NOYW1lIiwibW9kZWwiLCJvYmplY3QiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwid3JhcHBlckNsYXNzTmFtZSIsInNldHVwIiwiaW5wdXRQcm9wcyIsInJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzIiwid3JhcHBlck9wdHMiLCJwcm9wcyIsIndyYXBwZXJPcHRpb25zIiwidHlwZSIsInNldEluc3RhbmNlIiwicmVuZGVyIiwidHQiLCJpbnB1dFJlZiIsImVycm9ycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsImxlbmd0aCIsImh0bWxGb3IiLCJwdXNoIiwiam9pbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2hlY2tib3guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4uL2lucHV0cy9jaGVja2JveFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge2RpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEludmFsaWRGZWVkYmFjayBmcm9tIFwiLi9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQ2hlY2tib3ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIHplcm9JbnB1dDogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGhpbnQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZSxcbiAgICBsYWJlbENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB3cmFwcGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCByZXN0UHJvcHM6IHVzZUlucHV0UmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHMsIHdyYXBwZXJPcHRpb25zOiB7dHlwZTogXCJjaGVja2JveFwifX0pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtpbnB1dFByb3BzLCB1c2VJbnB1dFJlc3RQcm9wcywgd3JhcHBlck9wdHN9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHMsIHdyYXBwZXJPcHRzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBoaW50LCBpZCwgaW5wdXRSZWYsIGxhYmVsLCBsYWJlbENsYXNzTmFtZSwgd3JhcHBlckNsYXNzTmFtZSwgLi4ucmVzdFByb3BzfSA9IHVzZUlucHV0UmVzdFByb3BzXG4gICAgY29uc3Qge2Vycm9yc30gPSBkaWdzKHdyYXBwZXJPcHRzLCBcImVycm9yc1wiKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aGlzLndyYXBwZXJDbGFzc05hbWUoKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiZm9ybS1jaGVjay1pbnB1dFwiLCBjbGFzc05hbWUsIHtcImlzLWludmFsaWRcIjogZXJyb3JzLmxlbmd0aCA+IDB9KX1cbiAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgIGlucHV0UmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7d3JhcHBlck9wdHMubGFiZWwgJiZcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0gaHRtbEZvcj17aW5wdXRQcm9wcy5pZH0+XG4gICAgICAgICAgICAgIHt3cmFwcGVyT3B0cy5sYWJlbH1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtoaW50ICYmXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIHtoaW50fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7ZXJyb3JzLmxlbmd0aCA+IDAgJiYgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgbGFiZWxDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJmb3JtLWNoZWNrLWxhYmVsXCJdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIHdyYXBwZXJDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJjb21wb25lbnQtYm9vdHN0cmFwLWNoZWNrYm94XCIsIFwiZm9ybS1ncm91cFwiXVxuXG4gICAgaWYgKHRoaXMucHJvcHMud3JhcHBlckNsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLndyYXBwZXJDbGFzc05hbWUpXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxRQUFRLE1BQU0sb0JBQW9CO0FBQ3pDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU9DLGVBQWUsTUFBTSxvQkFBb0I7QUFDaEQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxLQUFLLE1B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
@@ -0,0 +1,183 @@
1
+ import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
2
+ import { digs } from "diggerize";
3
+ import { useForm } from "../form";
4
+ import * as inflection from "inflection";
5
+ import InvalidFeedback from "./invalid-feedback";
6
+ import memo from "set-state-compare/src/memo";
7
+ import PropTypes from "prop-types";
8
+ import propTypesExact from "prop-types-exact";
9
+ import useInput from "../use-input";
10
+ import { useMemo } from "react";
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50IiwiZGlncyIsInVzZUZvcm0iLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwidXNlSW5wdXQiLCJ1c2VNZW1vIiwiT3B0aW9uRWxlbWVudCIsInJlbmRlciIsImdlbmVyYXRlZElkIiwiaW5wdXRDaGVja2JveENsYXNzTmFtZSIsImlzRGVmYXVsdFNlbGVjdGVkIiwiaW5wdXROYW1lIiwib3B0aW9uIiwib3B0aW9uSW5kZXgiLCJvcHRpb25zIiwid3JhcHBlck9wdHMiLCJwIiwiZXJyb3JzIiwiaWQiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJrZXkiLCJkZWZhdWx0Q2hlY2tlZCIsIm5hbWUiLCJvbkNoYW5nZSIsInR0IiwidHlwZSIsInZhbHVlIiwiaHRtbEZvciIsImxlbmd0aCIsImV2ZW50IiwicmVzdFByb3BzIiwib25PcHRpb25DaGVja2VkIiwicHJvcHMiLCJBcGlNYWtlckJvb3RzdHJhcENoZWNrYm94ZXMiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJhcnJheSIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJtb2RlbCIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic2V0dXAiLCJpbnB1dFByb3BzIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwic2V0SW5zdGFuY2UiLCJmb3JtIiwidXNlU3RhdGVzIiwiY2hlY2tlZE9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJzZXRWYWx1ZSIsInMiLCJyZWYiLCJtYXAiLCJpbmRleCIsImlucHV0RGVmYXVsdFZhbHVlIiwiY2xhc3NOYW1lcyIsInB1c2giLCJqb2luIiwibW9kZWxDbGFzc0RhdGEiLCJwYXJhbUtleSIsInVuZGVyc2NvcmUiLCJjb25zdHJ1Y3RvciIsImluY2x1ZGVzIiwiY2hlY2tlZCIsInRhcmdldCIsIm5ld09wdGlvbnMiLCJjb25jYXQiLCJzZXRTdGF0ZSIsImZpbHRlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2hlY2tib3hlcy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaGFwZUNvbXBvbmVudCwgU2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB7ZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IEludmFsaWRGZWVkYmFjayBmcm9tIFwiLi9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlSW5wdXQgZnJvbSBcIi4uL3VzZS1pbnB1dFwiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5cbmNvbnN0IE9wdGlvbkVsZW1lbnQgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIE9wdGlvbkVsZW1lbnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Z2VuZXJhdGVkSWQsIGlucHV0Q2hlY2tib3hDbGFzc05hbWUsIGlzRGVmYXVsdFNlbGVjdGVkLCBpbnB1dE5hbWUsIG9wdGlvbiwgb3B0aW9uSW5kZXgsIG9wdGlvbnMsIHdyYXBwZXJPcHRzfSA9IHRoaXMucFxuICAgIGNvbnN0IHtlcnJvcnN9ID0gZGlncyh3cmFwcGVyT3B0cywgXCJlcnJvcnNcIilcbiAgICBjb25zdCBpZCA9IGAke2dlbmVyYXRlZElkfS0ke29wdGlvbkluZGV4fWBcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94ZXMtb3B0aW9uXCIga2V5PXtgb3B0aW9uLSR7b3B0aW9uWzFdfWB9PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e2lucHV0Q2hlY2tib3hDbGFzc05hbWV9XG4gICAgICAgICAgZGF0YS1vcHRpb24tdmFsdWU9e29wdGlvblsxXX1cbiAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17aXNEZWZhdWx0U2VsZWN0ZWR9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG5hbWU9e2lucHV0TmFtZX1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vbkNoYW5nZX1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cIm1sLTFcIiBodG1sRm9yPXtpZH0+XG4gICAgICAgICAge29wdGlvblswXX1cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICB7KG9wdGlvbkluZGV4ICsgMSkgPT0gb3B0aW9ucy5sZW5ndGggJiYgZXJyb3JzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICA8SW52YWxpZEZlZWRiYWNrIGVycm9ycz17ZXJyb3JzfSAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBvbkNoYW5nZSA9IChldmVudCwgLi4ucmVzdFByb3BzKSA9PiB7XG4gICAgdGhpcy5wLm9uT3B0aW9uQ2hlY2tlZCh7ZXZlbnQsIG9wdGlvbjogdGhpcy5wLm9wdGlvbn0pXG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkgdGhpcy5wcm9wcy5vbkNoYW5nZShldmVudCwgLi4ucmVzdFByb3BzKVxuICB9XG59KSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcENoZWNrYm94ZXMgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHdyYXBwZXJPcHRzfSA9IHVzZUlucHV0KHtwcm9wczogdGhpcy5wcm9wc30pXG5cbiAgICB0aGlzLmdlbmVyYXRlZElkID0gdXNlTWVtbyhcbiAgICAgICgpID0+IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxNSkgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpLFxuICAgICAgW11cbiAgICApXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtcbiAgICAgIGZvcm06IHVzZUZvcm0oKSxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICB3cmFwcGVyT3B0c1xuICAgIH0pXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgY2hlY2tlZE9wdGlvbnM6ICgpID0+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm9wcy5kZWZhdWx0VmFsdWUpKSByZXR1cm4gdGhpcy5wcm9wcy5kZWZhdWx0VmFsdWVcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKSByZXR1cm4gW3RoaXMucHJvcHMuZGVmYXVsdFZhbHVlXVxuXG4gICAgICAgIHJldHVybiBbXVxuICAgICAgfVxuICAgIH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm0gJiYgaW5wdXRQcm9wcy5uYW1lKSB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShpbnB1dFByb3BzLm5hbWUsIHRoaXMucy5jaGVja2VkT3B0aW9ucylcbiAgICAgIH1cbiAgICB9LCBbXSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29tcG9uZW50LWJvb3RzdHJhcC1jaGVja2JveGVzIGZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT17dGhpcy5sYWJlbENsYXNzTmFtZSgpfT5cbiAgICAgICAgICB7dGhpcy50dC53cmFwcGVyT3B0cy5sYWJlbH1cbiAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICA8aW5wdXQgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX0gcmVmPXt0aGlzLnR0LmlucHV0UHJvcHMucmVmfSB0eXBlPVwiaGlkZGVuXCIgdmFsdWU9XCJcIiAvPlxuICAgICAgICB7dGhpcy5wcm9wcy5vcHRpb25zLm1hcCgob3B0aW9uLCBpbmRleCkgPT5cbiAgICAgICAgICA8T3B0aW9uRWxlbWVudFxuICAgICAgICAgICAgaW5wdXRDaGVja2JveENsYXNzTmFtZT17dGhpcy50dC5pbnB1dENoZWNrYm94Q2xhc3NOYW1lKCl9XG4gICAgICAgICAgICBpbnB1dE5hbWU9e3RoaXMuaW5wdXROYW1lKCl9XG4gICAgICAgICAgICBpc0RlZmF1bHRTZWxlY3RlZD17dGhpcy5pc0RlZmF1bHRTZWxlY3RlZChvcHRpb25bMV0pfVxuICAgICAgICAgICAgZ2VuZXJhdGVkSWQ9e3RoaXMudHQuZ2VuZXJhdGVkSWR9XG4gICAgICAgICAgICBrZXk9e29wdGlvblsxXX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnByb3BzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgb25PcHRpb25DaGVja2VkPXt0aGlzLnR0Lm9uT3B0aW9uQ2hlY2tlZH1cbiAgICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAgICAgb3B0aW9uSW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5wcm9wcy5vcHRpb25zfVxuICAgICAgICAgICAgd3JhcHBlck9wdHM9e3RoaXMudHQud3JhcHBlck9wdHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlICgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBkZWZhdWx0VmFsdWUsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZSAmJiBtb2RlbCkge1xuICAgICAgaWYgKCFtb2RlbFthdHRyaWJ1dGVdKSB0aHJvdyBgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7YXR0cmlidXRlfWBcblxuICAgICAgcmV0dXJuIHRoaXMucHJvcHMubW9kZWxbYXR0cmlidXRlXSgpXG4gICAgfVxuICB9XG5cbiAgaW5wdXRDaGVja2JveENsYXNzTmFtZSAoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtdXG5cbiAgICBpZiAodGhpcy50dC53cmFwcGVyT3B0cy5lcnJvcnMubGVuZ3RoID4gMCkgY2xhc3NOYW1lcy5wdXNoKFwiaXMtaW52YWxpZFwiKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIGlucHV0TmFtZSAoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMubmFtZSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMucHJvcHMubmFtZX1bXWBcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMubW9kZWwpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1dYFxuICAgIH1cbiAgfVxuXG4gIGlzRGVmYXVsdFNlbGVjdGVkIChvcHRpb24pIHtcbiAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5pbnB1dERlZmF1bHRWYWx1ZSgpXG5cbiAgICBpZiAoIWRlZmF1bHRWYWx1ZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlLmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZS5pbmNsdWRlcyhvcHRpb24pXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUgPT0gb3B0aW9uXG4gICAgfVxuICB9XG5cbiAgbGFiZWxDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXVxuXG4gICAgaWYgKHRoaXMucHJvcHMubGFiZWxDbGFzc05hbWUpIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIG9uT3B0aW9uQ2hlY2tlZCA9ICh7ZXZlbnQsIG9wdGlvbn0pID0+IHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgZm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge25hbWV9ID0gaW5wdXRQcm9wc1xuICAgIGNvbnN0IGNoZWNrZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZFxuICAgIGxldCBuZXdPcHRpb25zXG5cbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgbmV3T3B0aW9ucyA9IHRoaXMucy5jaGVja2VkT3B0aW9ucy5jb25jYXQoW29wdGlvblsxXV0pXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWRPcHRpb25zOiBuZXdPcHRpb25zfSlcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHRoaXMucy5jaGVja2VkT3B0aW9ucy5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPSBvcHRpb25bMV0pXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWRPcHRpb25zOiBuZXdPcHRpb25zfSlcbiAgICB9XG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIG5ld09wdGlvbnMpXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsY0FBYyxFQUFFQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BGLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLFNBQVFDLE9BQU8sUUFBTyxTQUFTO0FBQy9CLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG9CQUFvQjtBQUNoRCxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsUUFBUSxNQUFNLGNBQWM7QUFDbkMsU0FBUUMsT0FBTyxRQUFPLE9BQU87QUFFN0IsTUFBTUMsYUFBYSxHQUFHTCxJQUFJLENBQUNOLGNBQWMsQ0FBQyxNQUFNVyxhQUFhLFNBQVNWLGNBQWMsQ0FBQztFQUNuRlcsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDQyxXQUFXO01BQUVDLHNCQUFzQjtNQUFFQyxpQkFBaUI7TUFBRUMsU0FBUztNQUFFQyxNQUFNO01BQUVDLFdBQVc7TUFBRUMsT0FBTztNQUFFQztJQUFXLENBQUMsR0FBRyxJQUFJLENBQUNDLENBQUM7SUFDN0gsTUFBTTtNQUFDQztJQUFNLENBQUMsR0FBR3BCLElBQUksQ0FBQ2tCLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDNUMsTUFBTUcsRUFBRSxHQUFHLEdBQUdWLFdBQVcsSUFBSUssV0FBVyxFQUFFO0lBRTFDLG9CQUNFTSxLQUFBLENBQUFDLGFBQUE7TUFBS0MsU0FBUyxFQUFDLG1CQUFtQjtNQUFD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
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jvb3RzdHJhcC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIiXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=