dinocollab-core 2.1.20 → 2.1.21

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 (444) hide show
  1. package/dist/_virtual/Reflect.js +2 -0
  2. package/dist/_virtual/Reflect.js.map +1 -0
  3. package/dist/_virtual/Reflect2.js +2 -0
  4. package/dist/_virtual/Reflect2.js.map +1 -0
  5. package/dist/_virtual/_commonjsHelpers.js +2 -0
  6. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  7. package/dist/api-context/index.js +1 -1
  8. package/dist/components/index.js +1 -1
  9. package/dist/data-view/index.js +1 -1
  10. package/dist/form/index.js +1 -1
  11. package/dist/hooks/index.js +1 -1
  12. package/dist/http-service/index.js +1 -1
  13. package/dist/lab/index.js +1 -1
  14. package/dist/mfe-shared/index.js +1 -1
  15. package/dist/node_modules/reflect-metadata/Reflect.js +16 -0
  16. package/dist/node_modules/reflect-metadata/Reflect.js.map +1 -0
  17. package/dist/redux/index.js +1 -1
  18. package/dist/src/api-context/alert-global.js +2 -0
  19. package/dist/src/api-context/alert-global.js.map +1 -0
  20. package/dist/src/api-context/drawer-global.js +2 -0
  21. package/dist/src/api-context/drawer-global.js.map +1 -0
  22. package/dist/src/api-context/global-modal.js +2 -0
  23. package/dist/src/api-context/global-modal.js.map +1 -0
  24. package/dist/src/api-context/popover-global.js +2 -0
  25. package/dist/src/api-context/popover-global.js.map +1 -0
  26. package/dist/src/api-context/popover.js +2 -0
  27. package/dist/src/api-context/popover.js.map +1 -0
  28. package/dist/src/api-context/ui.units.js.map +1 -0
  29. package/dist/src/components/breadcrumbs.js +2 -0
  30. package/dist/src/components/breadcrumbs.js.map +1 -0
  31. package/dist/src/components/buttons.js +2 -0
  32. package/dist/src/components/buttons.js.map +1 -0
  33. package/dist/src/components/copy-to-clipboard.js +2 -0
  34. package/dist/src/components/copy-to-clipboard.js.map +1 -0
  35. package/dist/src/components/create.multi-select-dropdown.js +2 -0
  36. package/dist/src/components/create.multi-select-dropdown.js.map +1 -0
  37. package/dist/src/components/help-tooltip.js +2 -0
  38. package/dist/src/components/help-tooltip.js.map +1 -0
  39. package/dist/src/components/image-with-fallback.js +2 -0
  40. package/dist/src/components/image-with-fallback.js.map +1 -0
  41. package/dist/src/components/rich-tooltip.js +2 -0
  42. package/dist/src/components/rich-tooltip.js.map +1 -0
  43. package/dist/src/components/text-editor.js +2 -0
  44. package/dist/src/components/text-editor.js.map +1 -0
  45. package/dist/src/components/text-editor.preview.js.map +1 -0
  46. package/dist/src/data-view/context.js +2 -0
  47. package/dist/src/data-view/context.js.map +1 -0
  48. package/dist/src/data-view/convert-filter-to-graphql.js +2 -0
  49. package/dist/src/data-view/convert-filter-to-graphql.js.map +1 -0
  50. package/dist/src/data-view/create.active-filters-panel.js +2 -0
  51. package/dist/src/data-view/create.active-filters-panel.js.map +1 -0
  52. package/dist/src/data-view/create.data-view.js +2 -0
  53. package/dist/src/data-view/create.data-view.js.map +1 -0
  54. package/dist/src/data-view/create.filter-bar.js +2 -0
  55. package/dist/src/data-view/create.filter-bar.js.map +1 -0
  56. package/dist/src/data-view/create.filter-menu.js +2 -0
  57. package/dist/src/data-view/create.filter-menu.js.map +1 -0
  58. package/dist/src/data-view/create.pagination-bar.js +2 -0
  59. package/dist/src/data-view/create.pagination-bar.js.map +1 -0
  60. package/dist/src/data-view/create.popper-panel.js +2 -0
  61. package/dist/src/data-view/create.popper-panel.js.map +1 -0
  62. package/dist/src/data-view/create.search-match.js +2 -0
  63. package/dist/src/data-view/create.search-match.js.map +1 -0
  64. package/dist/src/data-view/create.sort-menu.js +2 -0
  65. package/dist/src/data-view/create.sort-menu.js.map +1 -0
  66. package/dist/src/data-view/create.view-mode.js +2 -0
  67. package/dist/src/data-view/create.view-mode.js.map +1 -0
  68. package/dist/src/data-view/dino.js +2 -0
  69. package/dist/src/data-view/dino.js.map +1 -0
  70. package/dist/src/data-view/filter-store.js +2 -0
  71. package/dist/src/data-view/filter-store.js.map +1 -0
  72. package/dist/src/data-view/helpers.js +2 -0
  73. package/dist/src/data-view/helpers.js.map +1 -0
  74. package/dist/src/data-view/query-param-url.js +2 -0
  75. package/dist/src/data-view/query-param-url.js.map +1 -0
  76. package/dist/src/data-view/scroll-tracking.js +2 -0
  77. package/dist/src/data-view/scroll-tracking.js.map +1 -0
  78. package/dist/src/data-view/types.js.map +1 -0
  79. package/dist/src/data-view/ui.units.js +2 -0
  80. package/dist/src/data-view/ui.units.js.map +1 -0
  81. package/dist/src/data-view/view-mode.content.js +2 -0
  82. package/dist/src/data-view/view-mode.content.js.map +1 -0
  83. package/dist/src/data-view/view-mode.types.js.map +1 -0
  84. package/dist/src/data-view/view-mode.units.js +2 -0
  85. package/dist/src/data-view/view-mode.units.js.map +1 -0
  86. package/dist/src/form/create.autocomplete.chips.js +2 -0
  87. package/dist/src/form/create.autocomplete.chips.js.map +1 -0
  88. package/dist/src/form/create.color-picker.js +2 -0
  89. package/dist/src/form/create.color-picker.js.map +1 -0
  90. package/dist/src/form/create.date-expired.js +2 -0
  91. package/dist/src/form/create.date-expired.js.map +1 -0
  92. package/dist/src/form/create.date-picker.js +2 -0
  93. package/dist/src/form/create.date-picker.js.map +1 -0
  94. package/dist/src/form/create.form-base.js +2 -0
  95. package/dist/src/form/create.form-base.js.map +1 -0
  96. package/dist/src/form/create.form-comfirm.js +2 -0
  97. package/dist/src/form/create.form-comfirm.js.map +1 -0
  98. package/dist/src/form/create.form-grid-layout.js +2 -0
  99. package/dist/src/form/create.form-grid-layout.js.map +1 -0
  100. package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
  101. package/dist/src/form/create.input-file.csv-local-parser.js +2 -0
  102. package/dist/src/form/create.input-file.csv-local-parser.js.map +1 -0
  103. package/dist/src/form/create.input.file.js +2 -0
  104. package/dist/src/form/create.input.file.js.map +1 -0
  105. package/dist/src/form/create.input.image-file.js +2 -0
  106. package/dist/src/form/create.input.image-file.js.map +1 -0
  107. package/dist/src/form/create.input.js +2 -0
  108. package/dist/src/form/create.input.js.map +1 -0
  109. package/dist/src/form/create.select-simple.js +2 -0
  110. package/dist/src/form/create.select-simple.js.map +1 -0
  111. package/dist/src/form/create.select-with-api.js +2 -0
  112. package/dist/src/form/create.select-with-api.js.map +1 -0
  113. package/dist/src/form/create.text-editor.js +2 -0
  114. package/dist/src/form/create.text-editor.js.map +1 -0
  115. package/dist/src/form/decorator.form.js +2 -0
  116. package/dist/src/form/decorator.form.js.map +1 -0
  117. package/dist/src/form/decorator.js +2 -0
  118. package/dist/src/form/decorator.js.map +1 -0
  119. package/dist/src/form/dino-form.js +2 -0
  120. package/dist/src/form/dino-form.js.map +1 -0
  121. package/dist/src/form/helpers.js +2 -0
  122. package/dist/src/form/helpers.js.map +1 -0
  123. package/dist/src/form/modal-wrapper.js +2 -0
  124. package/dist/src/form/modal-wrapper.js.map +1 -0
  125. package/dist/src/form/validator.js +2 -0
  126. package/dist/src/form/validator.js.map +1 -0
  127. package/dist/src/hooks/check-scrolled.js +2 -0
  128. package/dist/src/hooks/check-scrolled.js.map +1 -0
  129. package/dist/src/hooks/debounce.js +2 -0
  130. package/dist/src/hooks/debounce.js.map +1 -0
  131. package/dist/src/hooks/use-fetch-data.js +2 -0
  132. package/dist/src/hooks/use-fetch-data.js.map +1 -0
  133. package/dist/src/http-service/base/crud-service-base.js +2 -0
  134. package/dist/src/http-service/base/crud-service-base.js.map +1 -0
  135. package/dist/src/http-service/base/gateway.js.map +1 -0
  136. package/dist/src/http-service/base/helpers.js +2 -0
  137. package/dist/src/http-service/base/helpers.js.map +1 -0
  138. package/dist/src/http-service/base/service-base.js +2 -0
  139. package/dist/src/http-service/base/service-base.js.map +1 -0
  140. package/dist/src/http-service/graphql/app-profile.js +2 -0
  141. package/dist/src/http-service/graphql/app-profile.js.map +1 -0
  142. package/dist/src/http-service/graphql/graphql-request.js +2 -0
  143. package/dist/src/http-service/graphql/graphql-request.js.map +1 -0
  144. package/dist/src/http-service/graphql/key-converter.js.map +1 -0
  145. package/dist/src/http-service/graphql/request-param.js +2 -0
  146. package/dist/src/http-service/graphql/request-param.js.map +1 -0
  147. package/dist/src/http-service/graphql/types.js.map +1 -0
  148. package/dist/src/lab/attach-widget/helpers.js +2 -0
  149. package/dist/src/lab/attach-widget/helpers.js.map +1 -0
  150. package/dist/src/lab/attach-widget/modal.js +2 -0
  151. package/dist/src/lab/attach-widget/modal.js.map +1 -0
  152. package/dist/src/lab/attach-widget/styled.js +2 -0
  153. package/dist/src/lab/attach-widget/styled.js.map +1 -0
  154. package/dist/src/lab/attach-widget/widget.js +2 -0
  155. package/dist/src/lab/attach-widget/widget.js.map +1 -0
  156. package/dist/src/lab/input.social-links/configs.js.map +1 -0
  157. package/dist/src/lab/input.social-links/create.js +2 -0
  158. package/dist/src/lab/input.social-links/create.js.map +1 -0
  159. package/dist/src/lab/input.social-links/types.js.map +1 -0
  160. package/dist/src/lab/input.social-links/unit.icons.js +2 -0
  161. package/dist/src/lab/input.social-links/unit.icons.js.map +1 -0
  162. package/dist/src/lab/input.social-links/units.js +2 -0
  163. package/dist/src/lab/input.social-links/units.js.map +1 -0
  164. package/dist/src/mfe-shared/navigation.js +2 -0
  165. package/dist/src/mfe-shared/navigation.js.map +1 -0
  166. package/dist/src/redux/create.hoc-lazy.js +2 -0
  167. package/dist/src/redux/create.hoc-lazy.js.map +1 -0
  168. package/dist/src/redux/dino.js +2 -0
  169. package/dist/src/redux/dino.js.map +1 -0
  170. package/dist/src/redux/types.js.map +1 -0
  171. package/dist/src/redux/ui.error-page.js +2 -0
  172. package/dist/src/redux/ui.error-page.js.map +1 -0
  173. package/dist/src/table/context.js.map +1 -0
  174. package/dist/src/table/create.action-row.js +2 -0
  175. package/dist/src/table/create.action-row.js.map +1 -0
  176. package/dist/src/table/create.table.js +2 -0
  177. package/dist/src/table/create.table.js.map +1 -0
  178. package/dist/src/table/custom.filter-operators.js.map +1 -0
  179. package/dist/src/table/dino.js +2 -0
  180. package/dist/src/table/dino.js.map +1 -0
  181. package/dist/src/table/helpers.js +2 -0
  182. package/dist/src/table/helpers.js.map +1 -0
  183. package/dist/src/table/model-filter.js.map +1 -0
  184. package/dist/src/table/toolbar-pannel.js +2 -0
  185. package/dist/src/table/toolbar-pannel.js.map +1 -0
  186. package/dist/src/table/ui.buttons.js.map +1 -0
  187. package/dist/src/table/ui.units.js +2 -0
  188. package/dist/src/table/ui.units.js.map +1 -0
  189. package/dist/src/table-grid/create.table-grid.js +2 -0
  190. package/dist/src/table-grid/create.table-grid.js.map +1 -0
  191. package/dist/src/table-grid/dino.js +2 -0
  192. package/dist/src/table-grid/dino.js.map +1 -0
  193. package/dist/src/table-grid/filter-bar/base.js +2 -0
  194. package/dist/src/table-grid/filter-bar/base.js.map +1 -0
  195. package/dist/src/table-grid/filter-bar/create.filter-bar.js +2 -0
  196. package/dist/src/table-grid/filter-bar/create.filter-bar.js.map +1 -0
  197. package/dist/src/table-grid/filter-bar/create.filter-menu.js +2 -0
  198. package/dist/src/table-grid/filter-bar/create.filter-menu.js.map +1 -0
  199. package/dist/src/table-grid/filter-bar/create.filter-panel.js +2 -0
  200. package/dist/src/table-grid/filter-bar/create.filter-panel.js.map +1 -0
  201. package/dist/src/table-grid/filter-bar/create.filtered.js +2 -0
  202. package/dist/src/table-grid/filter-bar/create.filtered.js.map +1 -0
  203. package/dist/src/table-grid/filter-bar/types.js.map +1 -0
  204. package/dist/src/table-grid/filter-bar/ui.units.js.map +1 -0
  205. package/dist/src/table-grid/helpers.js.map +1 -0
  206. package/dist/src/table-grid/item-actions.js +2 -0
  207. package/dist/src/table-grid/item-actions.js.map +1 -0
  208. package/dist/src/table-grid/toolbar-pannel.js +2 -0
  209. package/dist/src/table-grid/toolbar-pannel.js.map +1 -0
  210. package/dist/src/table-grid/url-query-param.js +2 -0
  211. package/dist/src/table-grid/url-query-param.js.map +1 -0
  212. package/dist/src/utils/dayjs-config.js.map +1 -0
  213. package/dist/src/utils/helpers.js +2 -0
  214. package/dist/src/utils/helpers.js.map +1 -0
  215. package/dist/src/utils/json-object.js +2 -0
  216. package/dist/src/utils/json-object.js.map +1 -0
  217. package/dist/src/utils/query-param.js +2 -0
  218. package/dist/src/utils/query-param.js.map +1 -0
  219. package/dist/table/index.js +1 -1
  220. package/dist/table-grid/index.js +1 -1
  221. package/dist/types/form/create.form-base.d.ts +2 -2
  222. package/dist/types/form/create.input.d.ts +2 -2
  223. package/dist/types/form/decorator.d.ts +30 -0
  224. package/dist/types/form/decorator.form.d.ts +20 -0
  225. package/dist/types/form/dino-form.d.ts +3 -1
  226. package/dist/types/form/index.d.ts +2 -0
  227. package/dist/utils/index.js +1 -1
  228. package/package.json +5 -1
  229. package/dist/api-context/alert-global.js +0 -2
  230. package/dist/api-context/alert-global.js.map +0 -1
  231. package/dist/api-context/drawer-global.js +0 -2
  232. package/dist/api-context/drawer-global.js.map +0 -1
  233. package/dist/api-context/global-modal.js +0 -2
  234. package/dist/api-context/global-modal.js.map +0 -1
  235. package/dist/api-context/popover-global.js +0 -2
  236. package/dist/api-context/popover-global.js.map +0 -1
  237. package/dist/api-context/popover.js +0 -2
  238. package/dist/api-context/popover.js.map +0 -1
  239. package/dist/api-context/ui.units.js.map +0 -1
  240. package/dist/components/breadcrumbs.js +0 -2
  241. package/dist/components/breadcrumbs.js.map +0 -1
  242. package/dist/components/buttons.js +0 -2
  243. package/dist/components/buttons.js.map +0 -1
  244. package/dist/components/copy-to-clipboard.js +0 -2
  245. package/dist/components/copy-to-clipboard.js.map +0 -1
  246. package/dist/components/create.multi-select-dropdown.js +0 -2
  247. package/dist/components/create.multi-select-dropdown.js.map +0 -1
  248. package/dist/components/help-tooltip.js +0 -2
  249. package/dist/components/help-tooltip.js.map +0 -1
  250. package/dist/components/image-with-fallback.js +0 -2
  251. package/dist/components/image-with-fallback.js.map +0 -1
  252. package/dist/components/rich-tooltip.js +0 -2
  253. package/dist/components/rich-tooltip.js.map +0 -1
  254. package/dist/components/text-editor.js +0 -2
  255. package/dist/components/text-editor.js.map +0 -1
  256. package/dist/components/text-editor.preview.js.map +0 -1
  257. package/dist/data-view/context.js +0 -2
  258. package/dist/data-view/context.js.map +0 -1
  259. package/dist/data-view/convert-filter-to-graphql.js +0 -2
  260. package/dist/data-view/convert-filter-to-graphql.js.map +0 -1
  261. package/dist/data-view/create.active-filters-panel.js +0 -2
  262. package/dist/data-view/create.active-filters-panel.js.map +0 -1
  263. package/dist/data-view/create.data-view.js +0 -2
  264. package/dist/data-view/create.data-view.js.map +0 -1
  265. package/dist/data-view/create.filter-bar.js +0 -2
  266. package/dist/data-view/create.filter-bar.js.map +0 -1
  267. package/dist/data-view/create.filter-menu.js +0 -2
  268. package/dist/data-view/create.filter-menu.js.map +0 -1
  269. package/dist/data-view/create.pagination-bar.js +0 -2
  270. package/dist/data-view/create.pagination-bar.js.map +0 -1
  271. package/dist/data-view/create.popper-panel.js +0 -2
  272. package/dist/data-view/create.popper-panel.js.map +0 -1
  273. package/dist/data-view/create.search-match.js +0 -2
  274. package/dist/data-view/create.search-match.js.map +0 -1
  275. package/dist/data-view/create.sort-menu.js +0 -2
  276. package/dist/data-view/create.sort-menu.js.map +0 -1
  277. package/dist/data-view/create.view-mode.js +0 -2
  278. package/dist/data-view/create.view-mode.js.map +0 -1
  279. package/dist/data-view/dino.js +0 -2
  280. package/dist/data-view/dino.js.map +0 -1
  281. package/dist/data-view/filter-store.js +0 -2
  282. package/dist/data-view/filter-store.js.map +0 -1
  283. package/dist/data-view/helpers.js +0 -2
  284. package/dist/data-view/helpers.js.map +0 -1
  285. package/dist/data-view/query-param-url.js +0 -2
  286. package/dist/data-view/query-param-url.js.map +0 -1
  287. package/dist/data-view/scroll-tracking.js +0 -2
  288. package/dist/data-view/scroll-tracking.js.map +0 -1
  289. package/dist/data-view/types.js.map +0 -1
  290. package/dist/data-view/ui.units.js +0 -2
  291. package/dist/data-view/ui.units.js.map +0 -1
  292. package/dist/data-view/view-mode.content.js +0 -2
  293. package/dist/data-view/view-mode.content.js.map +0 -1
  294. package/dist/data-view/view-mode.types.js.map +0 -1
  295. package/dist/data-view/view-mode.units.js +0 -2
  296. package/dist/data-view/view-mode.units.js.map +0 -1
  297. package/dist/form/create.autocomplete.chips.js +0 -2
  298. package/dist/form/create.autocomplete.chips.js.map +0 -1
  299. package/dist/form/create.color-picker.js +0 -2
  300. package/dist/form/create.color-picker.js.map +0 -1
  301. package/dist/form/create.date-expired.js +0 -2
  302. package/dist/form/create.date-expired.js.map +0 -1
  303. package/dist/form/create.date-picker.js +0 -2
  304. package/dist/form/create.date-picker.js.map +0 -1
  305. package/dist/form/create.form-base.js +0 -2
  306. package/dist/form/create.form-base.js.map +0 -1
  307. package/dist/form/create.form-comfirm.js +0 -2
  308. package/dist/form/create.form-comfirm.js.map +0 -1
  309. package/dist/form/create.form-grid-layout.js +0 -2
  310. package/dist/form/create.form-grid-layout.js.map +0 -1
  311. package/dist/form/create.form-grid-layout.units.js.map +0 -1
  312. package/dist/form/create.input-file.csv-local-parser.js +0 -2
  313. package/dist/form/create.input-file.csv-local-parser.js.map +0 -1
  314. package/dist/form/create.input.file.js +0 -2
  315. package/dist/form/create.input.file.js.map +0 -1
  316. package/dist/form/create.input.image-file.js +0 -2
  317. package/dist/form/create.input.image-file.js.map +0 -1
  318. package/dist/form/create.input.js +0 -2
  319. package/dist/form/create.input.js.map +0 -1
  320. package/dist/form/create.select-simple.js +0 -2
  321. package/dist/form/create.select-simple.js.map +0 -1
  322. package/dist/form/create.select-with-api.js +0 -2
  323. package/dist/form/create.select-with-api.js.map +0 -1
  324. package/dist/form/create.text-editor.js +0 -2
  325. package/dist/form/create.text-editor.js.map +0 -1
  326. package/dist/form/dino-form.js +0 -2
  327. package/dist/form/dino-form.js.map +0 -1
  328. package/dist/form/helpers.js +0 -2
  329. package/dist/form/helpers.js.map +0 -1
  330. package/dist/form/modal-wrapper.js +0 -2
  331. package/dist/form/modal-wrapper.js.map +0 -1
  332. package/dist/form/validator.js +0 -2
  333. package/dist/form/validator.js.map +0 -1
  334. package/dist/hooks/check-scrolled.js +0 -2
  335. package/dist/hooks/check-scrolled.js.map +0 -1
  336. package/dist/hooks/debounce.js +0 -2
  337. package/dist/hooks/debounce.js.map +0 -1
  338. package/dist/hooks/use-fetch-data.js +0 -2
  339. package/dist/hooks/use-fetch-data.js.map +0 -1
  340. package/dist/http-service/base/crud-service-base.js +0 -2
  341. package/dist/http-service/base/crud-service-base.js.map +0 -1
  342. package/dist/http-service/base/gateway.js.map +0 -1
  343. package/dist/http-service/base/helpers.js +0 -2
  344. package/dist/http-service/base/helpers.js.map +0 -1
  345. package/dist/http-service/base/service-base.js +0 -2
  346. package/dist/http-service/base/service-base.js.map +0 -1
  347. package/dist/http-service/graphql/app-profile.js +0 -2
  348. package/dist/http-service/graphql/app-profile.js.map +0 -1
  349. package/dist/http-service/graphql/graphql-request.js +0 -2
  350. package/dist/http-service/graphql/graphql-request.js.map +0 -1
  351. package/dist/http-service/graphql/key-converter.js.map +0 -1
  352. package/dist/http-service/graphql/request-param.js +0 -2
  353. package/dist/http-service/graphql/request-param.js.map +0 -1
  354. package/dist/http-service/graphql/types.js.map +0 -1
  355. package/dist/lab/attach-widget/helpers.js +0 -2
  356. package/dist/lab/attach-widget/helpers.js.map +0 -1
  357. package/dist/lab/attach-widget/modal.js +0 -2
  358. package/dist/lab/attach-widget/modal.js.map +0 -1
  359. package/dist/lab/attach-widget/styled.js +0 -2
  360. package/dist/lab/attach-widget/styled.js.map +0 -1
  361. package/dist/lab/attach-widget/widget.js +0 -2
  362. package/dist/lab/attach-widget/widget.js.map +0 -1
  363. package/dist/lab/input.social-links/configs.js.map +0 -1
  364. package/dist/lab/input.social-links/create.js +0 -2
  365. package/dist/lab/input.social-links/create.js.map +0 -1
  366. package/dist/lab/input.social-links/types.js.map +0 -1
  367. package/dist/lab/input.social-links/unit.icons.js +0 -2
  368. package/dist/lab/input.social-links/unit.icons.js.map +0 -1
  369. package/dist/lab/input.social-links/units.js +0 -2
  370. package/dist/lab/input.social-links/units.js.map +0 -1
  371. package/dist/mfe-shared/navigation.js +0 -2
  372. package/dist/mfe-shared/navigation.js.map +0 -1
  373. package/dist/redux/create.hoc-lazy.js +0 -2
  374. package/dist/redux/create.hoc-lazy.js.map +0 -1
  375. package/dist/redux/dino.js +0 -2
  376. package/dist/redux/dino.js.map +0 -1
  377. package/dist/redux/types.js.map +0 -1
  378. package/dist/redux/ui.error-page.js +0 -2
  379. package/dist/redux/ui.error-page.js.map +0 -1
  380. package/dist/table/context.js.map +0 -1
  381. package/dist/table/create.action-row.js +0 -2
  382. package/dist/table/create.action-row.js.map +0 -1
  383. package/dist/table/create.table.js +0 -2
  384. package/dist/table/create.table.js.map +0 -1
  385. package/dist/table/custom.filter-operators.js.map +0 -1
  386. package/dist/table/dino.js +0 -2
  387. package/dist/table/dino.js.map +0 -1
  388. package/dist/table/helpers.js +0 -2
  389. package/dist/table/helpers.js.map +0 -1
  390. package/dist/table/model-filter.js.map +0 -1
  391. package/dist/table/toolbar-pannel.js +0 -2
  392. package/dist/table/toolbar-pannel.js.map +0 -1
  393. package/dist/table/ui.buttons.js.map +0 -1
  394. package/dist/table/ui.units.js +0 -2
  395. package/dist/table/ui.units.js.map +0 -1
  396. package/dist/table-grid/create.table-grid.js +0 -2
  397. package/dist/table-grid/create.table-grid.js.map +0 -1
  398. package/dist/table-grid/dino.js +0 -2
  399. package/dist/table-grid/dino.js.map +0 -1
  400. package/dist/table-grid/filter-bar/base.js +0 -2
  401. package/dist/table-grid/filter-bar/base.js.map +0 -1
  402. package/dist/table-grid/filter-bar/create.filter-bar.js +0 -2
  403. package/dist/table-grid/filter-bar/create.filter-bar.js.map +0 -1
  404. package/dist/table-grid/filter-bar/create.filter-menu.js +0 -2
  405. package/dist/table-grid/filter-bar/create.filter-menu.js.map +0 -1
  406. package/dist/table-grid/filter-bar/create.filter-panel.js +0 -2
  407. package/dist/table-grid/filter-bar/create.filter-panel.js.map +0 -1
  408. package/dist/table-grid/filter-bar/create.filtered.js +0 -2
  409. package/dist/table-grid/filter-bar/create.filtered.js.map +0 -1
  410. package/dist/table-grid/filter-bar/types.js.map +0 -1
  411. package/dist/table-grid/filter-bar/ui.units.js.map +0 -1
  412. package/dist/table-grid/helpers.js.map +0 -1
  413. package/dist/table-grid/item-actions.js +0 -2
  414. package/dist/table-grid/item-actions.js.map +0 -1
  415. package/dist/table-grid/toolbar-pannel.js +0 -2
  416. package/dist/table-grid/toolbar-pannel.js.map +0 -1
  417. package/dist/table-grid/url-query-param.js +0 -2
  418. package/dist/table-grid/url-query-param.js.map +0 -1
  419. package/dist/utils/dayjs-config.js.map +0 -1
  420. package/dist/utils/helpers.js +0 -2
  421. package/dist/utils/helpers.js.map +0 -1
  422. package/dist/utils/json-object.js +0 -2
  423. package/dist/utils/json-object.js.map +0 -1
  424. package/dist/utils/query-param.js +0 -2
  425. package/dist/utils/query-param.js.map +0 -1
  426. /package/dist/{api-context → src/api-context}/ui.units.js +0 -0
  427. /package/dist/{components → src/components}/text-editor.preview.js +0 -0
  428. /package/dist/{data-view → src/data-view}/types.js +0 -0
  429. /package/dist/{data-view → src/data-view}/view-mode.types.js +0 -0
  430. /package/dist/{form → src/form}/create.form-grid-layout.units.js +0 -0
  431. /package/dist/{http-service → src/http-service}/base/gateway.js +0 -0
  432. /package/dist/{http-service → src/http-service}/graphql/key-converter.js +0 -0
  433. /package/dist/{http-service → src/http-service}/graphql/types.js +0 -0
  434. /package/dist/{lab → src/lab}/input.social-links/configs.js +0 -0
  435. /package/dist/{lab → src/lab}/input.social-links/types.js +0 -0
  436. /package/dist/{redux → src/redux}/types.js +0 -0
  437. /package/dist/{table → src/table}/context.js +0 -0
  438. /package/dist/{table → src/table}/custom.filter-operators.js +0 -0
  439. /package/dist/{table → src/table}/model-filter.js +0 -0
  440. /package/dist/{table → src/table}/ui.buttons.js +0 -0
  441. /package/dist/{table-grid → src/table-grid}/filter-bar/types.js +0 -0
  442. /package/dist/{table-grid → src/table-grid}/filter-bar/ui.units.js +0 -0
  443. /package/dist/{table-grid → src/table-grid}/helpers.js +0 -0
  444. /package/dist/{utils → src/utils}/dayjs-config.js +0 -0
@@ -0,0 +1,2 @@
1
+ import{inherits as r,createClass as o,classCallCheck as e,callSuper as i,defineProperty as t,toConsumableArray as n,objectSpread2 as a}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,Fragment as s,jsxs as p}from"react/jsx-runtime";import{Component as c}from"react";import{styled as m,Box as u,colors as d,ListItem as f,IconButton as h,List as v,ListItemButton as g,ListItemIcon as y,ListItemText as b}from"@mui/material";import A from"@mui/icons-material/Edit";import C from"@mui/icons-material/MoreVert";import I from"@mui/icons-material/DeleteOutline";import k from"../api-context/popover-global.js";import{mapGlobalModalContext as x}from"../api-context/global-modal.js";var E={Edit:l(A,{fontSize:"small",color:"primary"}),Delete:l(I,{fontSize:"small",color:"error"})};function P(){var m=function(){function m(){var r;e(this,m);for(var o=arguments.length,c=new Array(o),u=0;u<o;u++)c[u]=arguments[u];return r=i(this,m,[].concat(c)),t(r,"isVisible",(function(){var o=r.props.menuList,e=[].concat(n(r.singleOrArrayToArray(null==o?void 0:o.before)),n(r.singleOrArrayToArray(null==o?void 0:o.after)));return!!r.props.formEdit||!!r.props.formDelete||e.length>0})),t(r,"singleOrArrayToArray",(function(r){return r?Array.isArray(r)?r:[r]:[]})),t(r,"renderItems",(function(o){return o?(Array.isArray(o)?o:[o]).map((function(o,e){var i=o.name+e,t=o.override;if(t)return l(t,{onClose:k.Api.close},i);var n=o.listItemPropsGetter?o.listItemPropsGetter(r.props.value):o.listItemProps;return l(M,a(a({disablePadding:!0,onClick:function(e){!1!==o.closableOnClick&&k.Api.close(),o.onClick&&o.onClick(e,r.props.value)}},n),{},{children:p(g,{children:[l(y,{children:o.icon}),l(b,{primary:o.name})]})}),i)})):l(s,{})})),t(r,"renderItemWithForm",(function(o,e,i){return e?x((function(t){return l(M,{disablePadding:!0,onClick:function(){k.Api.close(),t.show(a({renderContent:function(){return e(r.props.value)}},i))},children:p(g,{children:[l(y,{children:E[o]}),l(b,{primary:o})]})})})):l(s,{})})),r}return r(m,c),o(m,[{key:"render",value:function(){var r=this;return this.isVisible()?l(T,{children:l(h,{size:"small",onClick:function(o){var e,i,t;k.Api.open({anchorEl:o.currentTarget,popoverProps:{anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},content:p(v,{children:[r.renderItems(null===(e=r.props.menuList)||void 0===e?void 0:e.before),r.renderItemWithForm("Edit",r.props.formEdit,r.props.buttonEditConfig),r.renderItemWithForm("Delete",r.props.formDelete,null!==(i=r.props.buttonEditConfig)&&void 0!==i?i:{backdropActivated:!0}),r.renderItems(null===(t=r.props.menuList)||void 0===t?void 0:t.after)]})})},children:l(C,{fontSize:"small"})})}):l(s,{})}}])}();return m}var T=m(u)({background:d.common.white,borderRadius:"6px","& > .MuiButtonBase-root":{borderRadius:"6px"}}),M=m(f)({minWidth:"150px",".MuiListItemIcon-root":{minWidth:"40px"},".MuiListItemText-root .MuiTypography-root":{color:d.grey[800]},"&:hover":{".MuiListItemText-root .MuiTypography-root":{background:d.grey[100],color:d.grey[900]}}});export{P as CreateTableGridItemActions};
2
+ //# sourceMappingURL=item-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-actions.js","sources":["../../../src/table-grid/item-actions.tsx"],"sourcesContent":["import React, { Component, ComponentType, ReactNode } from 'react'\r\nimport { Box, colors, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemProps, ListItemText, styled } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport MoreVertIcon from '@mui/icons-material/MoreVert'\r\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'\r\nimport { ClosePopover, GlobalModalState, mapGlobalModalContext, PopoverGlobal } from '../api-context'\r\n\r\nexport type ITableGridItemActionType = 'Edit' | 'Delete'\r\n\r\nconst mapIcons: { [key in ITableGridItemActionType]: ReactNode } = {\r\n Edit: <EditIcon fontSize='small' color='primary' />,\r\n Delete: <DeleteOutlineIcon fontSize='small' color='error' />\r\n}\r\n\r\nexport interface ITableGridItemActionsBaseProps<T> {\r\n value: T\r\n}\r\n\r\nexport type IActionFormGetter<T> = (value: T) => React.ReactNode\r\n\r\nexport interface IActionMenuItemDef<T> {\r\n name: string\r\n icon?: ReactNode\r\n /** Whether this item should trigger a close action when clicked. @default true */\r\n closableOnClick?: boolean\r\n /** Handler called when item is clicked */\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>, value: T) => void\r\n listItemProps?: ListItemProps\r\n listItemPropsGetter?: (value: T) => ListItemProps & { [key: string]: any }\r\n /**\r\n * Optional custom ReactNode to override the entire ListItem UI.\r\n * If provided, this will be rendered instead of the default ListItem structure\r\n * (icon + text + click behavior).\r\n */\r\n override?: ComponentType<{ onClose?: ClosePopover }>\r\n}\r\n\r\nexport interface TableGridItemActionsConfig<T> {\r\n formEdit?: IActionFormGetter<T>\r\n formDelete?: IActionFormGetter<T>\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n menuList?: {\r\n before?: SingleOrArray<IActionMenuItemDef<T>>\r\n after?: SingleOrArray<IActionMenuItemDef<T>>\r\n }\r\n}\r\n\r\nexport interface ITableGridItemActionsProps<T> extends ITableGridItemActionsBaseProps<T>, TableGridItemActionsConfig<T> {}\r\n\r\nexport function CreateTableGridItemActions<T>() {\r\n class TableGridItemActions extends Component<ITableGridItemActionsProps<T>> {\r\n render() {\r\n if (!this.isVisible()) return <></>\r\n return (\r\n <Wrap>\r\n <IconButton\r\n size='small'\r\n onClick={(e) => {\r\n PopoverGlobal.Api.open({\r\n anchorEl: e.currentTarget,\r\n popoverProps: { anchorOrigin: { vertical: 'top', horizontal: 'right' }, transformOrigin: { vertical: 'top', horizontal: 'right' } },\r\n content: (\r\n <List>\r\n {this.renderItems(this.props.menuList?.before)}\r\n {this.renderItemWithForm('Edit', this.props.formEdit, this.props.buttonEditConfig)}\r\n {this.renderItemWithForm('Delete', this.props.formDelete, this.props.buttonEditConfig ?? { backdropActivated: true })}\r\n {this.renderItems(this.props.menuList?.after)}\r\n </List>\r\n )\r\n })\r\n }}\r\n >\r\n <MoreVertIcon fontSize='small' />\r\n </IconButton>\r\n </Wrap>\r\n )\r\n }\r\n\r\n isVisible = () => {\r\n const { menuList } = this.props\r\n const list = [...this.singleOrArrayToArray(menuList?.before), ...this.singleOrArrayToArray(menuList?.after)]\r\n return !!this.props.formEdit || !!this.props.formDelete || list.length > 0\r\n }\r\n\r\n singleOrArrayToArray = (value?: SingleOrArray<IActionMenuItemDef<T>>): IActionMenuItemDef<T>[] => {\r\n if (!value) return []\r\n return Array.isArray(value) ? value : [value]\r\n }\r\n\r\n renderItems = (value?: SingleOrArray<IActionMenuItemDef<T>>) => {\r\n if (!value) return <></>\r\n const list = Array.isArray(value) ? value : [value]\r\n return list.map((item, index) => {\r\n const key = item.name + index\r\n const { override: Override } = item\r\n if (Override) return <Override key={key} onClose={PopoverGlobal.Api.close} />\r\n const itemProps = item.listItemPropsGetter ? item.listItemPropsGetter(this.props.value) : item.listItemProps\r\n return (\r\n <ListItemCustom\r\n key={key}\r\n disablePadding\r\n onClick={(e) => {\r\n if (item.closableOnClick !== false) PopoverGlobal.Api.close()\r\n item.onClick && item.onClick(e, this.props.value)\r\n }}\r\n {...itemProps}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{item.icon}</ListItemIcon>\r\n <ListItemText primary={item.name} />\r\n </ListItemButton>\r\n </ListItemCustom>\r\n )\r\n })\r\n }\r\n\r\n renderItemWithForm = (name: ITableGridItemActionType, form?: IActionFormGetter<T>, globalState?: GlobalModalState) => {\r\n if (!form) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <ListItemCustom\r\n disablePadding\r\n onClick={() => {\r\n PopoverGlobal.Api.close()\r\n context.show({ renderContent: () => form(this.props.value), ...globalState })\r\n }}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{mapIcons[name]}</ListItemIcon>\r\n <ListItemText primary={name} />\r\n </ListItemButton>\r\n </ListItemCustom>\r\n ))\r\n }\r\n }\r\n return TableGridItemActions\r\n}\r\n\r\nconst Wrap = styled(Box)({\r\n background: colors.common.white,\r\n borderRadius: '6px',\r\n '& > .MuiButtonBase-root': {\r\n borderRadius: '6px'\r\n }\r\n})\r\n\r\nconst ListItemCustom = styled(ListItem)({\r\n minWidth: '150px',\r\n '.MuiListItemIcon-root': {\r\n minWidth: '40px'\r\n },\r\n '.MuiListItemText-root .MuiTypography-root': {\r\n color: colors.grey[800]\r\n },\r\n '&:hover': {\r\n '.MuiListItemText-root .MuiTypography-root': {\r\n background: colors.grey[100],\r\n color: colors.grey[900]\r\n }\r\n }\r\n})\r\n"],"names":["mapIcons","Edit","_jsx","EditIcon","fontSize","color","Delete","DeleteOutlineIcon","CreateTableGridItemActions","TableGridItemActions","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","menuList","props","list","_toConsumableArray","singleOrArrayToArray","before","after","formEdit","formDelete","value","isArray","map","item","index","key","name","Override","override","onClose","PopoverGlobal","Api","close","itemProps","listItemPropsGetter","listItemProps","ListItemCustom","_objectSpread","disablePadding","onClick","e","closableOnClick","children","_jsxs","ListItemButton","ListItemIcon","icon","ListItemText","primary","form","globalState","mapGlobalModalContext","context","show","renderContent","_inherits","Component","_createClass","_this2","isVisible","Wrap","IconButton","size","_this2$props$menuList","_this2$props$buttonEd","_this2$props$menuList2","open","anchorEl","currentTarget","popoverProps","anchorOrigin","vertical","horizontal","transformOrigin","content","List","renderItems","renderItemWithForm","buttonEditConfig","backdropActivated","MoreVertIcon","styled","Box","background","colors","common","white","borderRadius","ListItem","minWidth","grey"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{objectSpread2 as t,defineProperty as r,inherits as e,createClass as o,classCallCheck as i,callSuper as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l,Fragment as s}from"react/jsx-runtime";import{Component as p}from"react";import{styled as u,Typography as d,Box as f,Tooltip as c,Button as m}from"@mui/material";import h from"@mui/icons-material/AddCircleOutline";import{Breadcrumbs as v}from"../components/breadcrumbs.js";import{mapGlobalModalContext as x}from"../api-context/global-modal.js";var b=function(){function u(){var e;i(this,u);for(var o=arguments.length,l=new Array(o),p=0;p<o;p++)l[p]=arguments[p];return e=n(this,u,[].concat(l)),r(e,"renderButtonCreate",(function(){return e.props.formCreate?x((function(r){var o;return a(c,{title:"Create new",children:a(m,t(t({size:"small",onClick:function(){return r.show({renderContent:function(){return e.props.formCreate}})},startIcon:a(h,{fontSize:"small"}),sx:{fontWeight:600},variant:"contained"},null===(o=e.props.slots)||void 0===o?void 0:o.buttonCreateProps),{},{children:"Create"}))})})):a(s,{})})),r(e,"renderTitle",(function(){var t,r=null!==(t=e.props)&&void 0!==t?t:{},o=r.title,i=r.breadcrumbs;return i?a(v,{value:i}):a("string"==typeof o?g:s,{children:o})})),e}return e(u,p),o(u,[{key:"render",value:function(){var r,e,o,i,n;if(!1!==this.props.visible)return l(C,t(t({},null===(r=this.props.slots)||void 0===r?void 0:r.rootProps),{},{children:[null===(e=this.props.titleSlots)||void 0===e?void 0:e.before,this.renderTitle(),null===(o=this.props.titleSlots)||void 0===o?void 0:o.after,a(f,{sx:{flex:{xs:"0 0 auto",md:1},width:{xs:"100%",md:"auto"}}}),null===(i=this.props.actionSlots)||void 0===i?void 0:i.before,this.renderButtonCreate(),null===(n=this.props.actionSlots)||void 0===n?void 0:n.after]}))}}])}(),g=u((function(r){return a(d,t({noWrap:!0,variant:"subtitle1"},r))}))({fontWeight:700,flex:1}),C=u(f)((function(t){var e=t.theme;return r({height:"var(--height-toolbar, 56px)",display:"flex",alignItems:"center",gap:"8px",padding:"0 6px",flexWrap:"wrap"},e.breakpoints.down("sm"),{height:"auto",padding:"12px 0",alignItems:"flex-start"})}));export{b as default};
2
+ //# sourceMappingURL=toolbar-pannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-pannel.js","sources":["../../../src/table-grid/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, styled, Tooltip, Typography, TypographyProps } from '@mui/material'\r\nimport AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline'\r\nimport { mapGlobalModalContext } from '../api-context'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\n\r\nexport interface ISectionSlots {\r\n before?: React.ReactNode\r\n after?: React.ReactNode\r\n}\r\n\r\nexport interface IToolbarPannelProps {\r\n /** @default true */\r\n visible?: boolean\r\n searchInclude?: string[]\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n title?: React.ReactNode\r\n titleSlots?: ISectionSlots\r\n formCreate?: React.ReactNode\r\n actionSlots?: ISectionSlots\r\n slots?: {\r\n rootProps?: BoxProps\r\n buttonCreateProps?: ButtonProps\r\n }\r\n}\r\n\r\nclass ToolbarPannel extends Component<IToolbarPannelProps> {\r\n render() {\r\n if (this.props.visible === false) return\r\n return (\r\n <Wrap {...this.props.slots?.rootProps}>\r\n {this.props.titleSlots?.before}\r\n {this.renderTitle()}\r\n {this.props.titleSlots?.after}\r\n <Box sx={{ flex: { xs: '0 0 auto', md: 1 }, width: { xs: '100%', md: 'auto' } }} />\r\n {this.props.actionSlots?.before}\r\n {this.renderButtonCreate()}\r\n {this.props.actionSlots?.after}\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderButtonCreate = () => {\r\n if (!this.props.formCreate) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <Tooltip title='Create new'>\r\n <Button\r\n size='small'\r\n onClick={() => context.show({ renderContent: () => this.props.formCreate })}\r\n startIcon={<AddCircleOutlineIcon fontSize='small' />}\r\n sx={{ fontWeight: 600 }}\r\n variant='contained'\r\n {...this.props.slots?.buttonCreateProps}\r\n >\r\n Create\r\n </Button>\r\n </Tooltip>\r\n ))\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, breadcrumbs } = this.props ?? {}\r\n if (breadcrumbs) return <Breadcrumbs value={breadcrumbs} />\r\n if (typeof title === 'string') return <Title>{title}</Title>\r\n return <>{title}</>\r\n }\r\n}\r\n\r\nexport default ToolbarPannel\r\n\r\n// const SearchHelp = styled('ul')({\r\n// margin: '0 0 0 18px',\r\n// padding: 0,\r\n// li: {\r\n// position: 'relative'\r\n// },\r\n// 'li::after': {\r\n// content: '\"►\"',\r\n// display: 'inline-block',\r\n// top: '50%',\r\n// transform: 'translateY(-50%)',\r\n// position: 'absolute',\r\n// left: '-18px'\r\n// }\r\n// })\r\n\r\nconst Title = styled((props: TypographyProps) => <Typography noWrap variant='subtitle1' {...props} />)({\r\n fontWeight: 700,\r\n flex: 1\r\n})\r\n\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n height: 'var(--height-toolbar, 56px)',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n padding: '0 6px',\r\n flexWrap: 'wrap',\r\n [theme.breakpoints.down('sm')]: {\r\n height: 'auto',\r\n padding: '12px 0',\r\n alignItems: 'flex-start'\r\n }\r\n}))\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","formCreate","mapGlobalModalContext","context","_this$props$slots","_jsx","Tooltip","title","children","Button","_objectSpread","size","onClick","show","renderContent","startIcon","AddCircleOutlineIcon","fontSize","sx","fontWeight","variant","slots","buttonCreateProps","_this$props","_ref","breadcrumbs","Breadcrumbs","value","Title","_Fragment","_inherits","Component","_createClass","key","_this$props$slots2","_this$props$titleSlot","_this$props$titleSlot2","_this$props$actionSlo","_this$props$actionSlo2","visible","_jsxs","Wrap","rootProps","titleSlots","before","renderTitle","after","Box","flex","xs","md","width","actionSlots","renderButtonCreate","styled","Typography","noWrap","_ref2","theme","height","display","alignItems","gap","padding","flexWrap","breakpoints","down"],"mappings":"mhBA0BMA,IAAAA,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAuCjB,OAvCiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,sBAgBG,WACnB,OAAKA,EAAKY,MAAMC,WACTC,GAAsB,SAACC,GAAO,IAAAC,EAAA,OACnCC,EAACC,GAAQC,MAAM,aAAYC,SACzBH,EAACI,EAAMC,EAAAA,EAAA,CACLC,KAAK,QACLC,QAAS,WAAF,OAAQT,EAAQU,KAAK,CAAEC,cAAe,WAAF,OAAQ1B,EAAKY,MAAMC,UAAU,GAAG,EAC3Ec,UAAWV,EAACW,EAAqB,CAAAC,SAAS,UAC1CC,GAAI,CAAEC,WAAY,KAClBC,QAAQ,aACY,QADDhB,EACfhB,EAAKY,MAAMqB,aAAK,IAAAjB,OAAA,EAAhBA,EAAkBkB,mBAAiB,CAAA,EAAA,uBAIjC,IAbuBjB,WAepCN,EAAAX,EAAA,eAEa,WAAK,IAAAmC,EACjBC,EAAyC,QAAzCD,EAA+BnC,EAAKY,aAAK,IAAAuB,EAAAA,EAAI,CAAE,EAAvChB,EAAKiB,EAALjB,MAAOkB,EAAWD,EAAXC,YACf,OAAIA,EAAoBpB,EAACqB,EAAW,CAACC,MAAOF,IACNpB,EAAjB,iBAAVE,EAA4BqB,EAChCC,EADuC,CAAArB,SAAAD,OAE/CnB,CAAA,CAAA,OAAA0C,EAAA3C,EAvCyB4C,GAuCzBC,EAAA7C,EAAA,CAAA,CAAA8C,IAAA,SAAAN,MAtCD,WAAM,IAAAO,EAAAC,EAAAC,EAAAC,EAAAC,EACJ,IAA2B,IAAvBzC,KAAKG,MAAMuC,QACf,OACEC,EAACC,EAAI/B,EAAAA,KAAqB,QAArBwB,EAAKrC,KAAKG,MAAMqB,aAAXa,IAAgBA,OAAhBA,EAAAA,EAAkBQ,WAAS,GAAA,WACb,UAArB7C,KAAKG,MAAM2C,kBAAXR,IAAqBA,OAArBA,EAAAA,EAAuBS,OACvB/C,KAAKgD,cACgB,QADHT,EAClBvC,KAAKG,MAAM2C,kBAAU,IAAAP,OAAA,EAArBA,EAAuBU,MACxBzC,EAAC0C,EAAI,CAAA7B,GAAI,CAAE8B,KAAM,CAAEC,GAAI,WAAYC,GAAI,GAAKC,MAAO,CAAEF,GAAI,OAAQC,GAAI,mBAAcb,EAClFxC,KAAKG,MAAMoD,mBAAW,IAAAf,OAAA,EAAtBA,EAAwBO,OACxB/C,KAAKwD,qBACiBf,QADGA,EACzBzC,KAAKG,MAAMoD,mBAAXd,IAAsBA,OAAtBA,EAAAA,EAAwBQ,SAG/B,IAAC,IA8CGlB,EAAQ0B,GAAO,SAACtD,GAAsB,OAAKK,EAACkD,EAAU7C,EAAA,CAAC8C,UAAOpC,QAAQ,aAAgBpB,GAAS,GAAvFsD,CAAyF,CACrGnC,WAAY,IACZ6B,KAAM,IAGFP,EAAOa,EAAOP,EAAPO,EAAY,SAAAG,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAA3D,EAAA,CAC/B4D,OAAQ,8BACRC,QAAS,OACTC,WAAY,SACZC,IAAK,MACLC,QAAS,QACTC,SAAU,QACTN,EAAMO,YAAYC,KAAK,MAAQ,CAC9BP,OAAQ,OACRI,QAAS,SACTF,WAAY,cACb"}
@@ -0,0 +1,2 @@
1
+ import{createClass as e,classCallCheck as t,defineProperty as a,objectSpread2 as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{deepRemoveEmptyFields as l}from"../utils/helpers.js";import"../utils/dayjs-config.js";import{QueryParam as r}from"../utils/query-param.js";var n=new(e((function e(){var n=this;t(this,e),a(this,"getUrlQuery",(function(e){try{var t=r.gets("table");return t.table?JSON.parse(t.table):null==e?void 0:e.defaultFilter}catch(t){return null==e?void 0:e.defaultFilter}})),a(this,"setUrlQuery",(function(e,t){var a=n.extractFilter(e,t),i=l(a);if(0===Object.keys(i).length)return r.replaceDeletes("table");r.replacePatch({table:JSON.stringify(i)})})),a(this,"extractFilter",(function(e,t){var a,l,r,n,o=(null==t?void 0:t.defaultFilter)||{},s=i({},e);delete s.details,delete s.loading;var u=(null===(a=s.pagination)||void 0===a?void 0:a.page)===(null===(l=o.pagination)||void 0===l?void 0:l.page),d=(null===(r=s.pagination)||void 0===r?void 0:r.pageSize)===(null===(n=o.pagination)||void 0===n?void 0:n.pageSize);return u&&d&&delete s.pagination,s}))})));export{n as default};
2
+ //# sourceMappingURL=url-query-param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-query-param.js","sources":["../../../src/table-grid/url-query-param.ts"],"sourcesContent":["import { ITableGridFilter } from './types'\r\nimport { deepRemoveEmptyFields, QueryParam } from '../utils'\r\n\r\nexport interface ITableGridQueryParams {\r\n table?: string\r\n}\r\n\r\nexport interface IUrlQueryParamOptions<T> {\r\n defaultFilter?: ITableGridFilter<T>\r\n}\r\n\r\nclass UrlQueryParamBase {\r\n getUrlQuery = <T>(options?: IUrlQueryParamOptions<T>) => {\r\n try {\r\n const query = QueryParam.gets<ITableGridQueryParams>('table')\r\n return query.table ? JSON.parse(query.table) : options?.defaultFilter\r\n } catch (error) {\r\n return options?.defaultFilter\r\n }\r\n }\r\n\r\n setUrlQuery = <T>(params: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>) => {\r\n const filter = this.extractFilter(params, options)\r\n const filterRemovedEmpty = deepRemoveEmptyFields(filter)\r\n\r\n if (Object.keys(filterRemovedEmpty).length === 0) {\r\n return QueryParam.replaceDeletes<ITableGridQueryParams>('table')\r\n }\r\n QueryParam.replacePatch<ITableGridQueryParams>({ table: JSON.stringify(filterRemovedEmpty) })\r\n }\r\n\r\n extractFilter = <T>(filter: ITableGridFilter<T>, options?: IUrlQueryParamOptions<T>): ITableGridFilter<T> => {\r\n const dFilter: Partial<ITableGridFilter<T>> = options?.defaultFilter || {}\r\n const obj = { ...filter }\r\n delete obj.details\r\n delete obj.loading\r\n\r\n const checkPagination1 = obj.pagination?.page === dFilter.pagination?.page\r\n const checkPagination2 = obj.pagination?.pageSize === dFilter.pagination?.pageSize\r\n if (checkPagination1 && checkPagination2) delete obj.pagination\r\n\r\n return obj\r\n }\r\n}\r\n\r\nconst UrlQueryParam = new UrlQueryParamBase()\r\nexport default UrlQueryParam\r\n"],"names":["UrlQueryParam","_createClass","UrlQueryParamBase","_this","this","_classCallCheck","_defineProperty","options","query","QueryParam","gets","table","JSON","parse","defaultFilter","error","params","filter","extractFilter","filterRemovedEmpty","deepRemoveEmptyFields","Object","keys","length","replaceDeletes","replacePatch","stringify","_obj$pagination","_dFilter$pagination","_obj$pagination2","_dFilter$pagination2","dFilter","obj","_objectSpread","details","loading","checkPagination1","pagination","page","checkPagination2","pageSize"],"mappings":"uRAC4D,IA4CtDA,EAAgB,IAlCCC,GAAA,SAAAC,IAAA,IAAAC,EAAAC,KAAAC,OAAAH,GAAAI,EAAAF,KAAA,eACP,SAAIG,GAChB,IACE,IAAMC,EAAQC,EAAWC,KAA4B,SACrD,OAAOF,EAAMG,MAAQC,KAAKC,MAAML,EAAMG,OAASJ,aAAAA,EAAAA,EAASO,aACzD,CAAC,MAAOC,GACP,OAAOR,aAAAA,EAAAA,EAASO,aACjB,KACFR,EAEaF,KAAA,eAAA,SAAIY,EAA6BT,GAC7C,IAAMU,EAASd,EAAKe,cAAcF,EAAQT,GACpCY,EAAqBC,EAAsBH,GAEjD,GAA+C,IAA3CI,OAAOC,KAAKH,GAAoBI,OAClC,OAAOd,EAAWe,eAAsC,SAE1Df,EAAWgB,aAAoC,CAAEd,MAAOC,KAAKc,UAAUP,QACxEb,EAEeF,KAAA,iBAAA,SAAIa,EAA6BV,GAA2D,IAAAoB,EAAAC,EAAAC,EAAAC,EACpGC,GAAwCxB,aAAAA,EAAAA,EAASO,gBAAiB,CAAE,EACpEkB,EAAGC,EAAA,CAAA,EAAQhB,UACVe,EAAIE,eACJF,EAAIG,QAEX,IAAMC,GAAiCT,QAAdA,EAAAK,EAAIK,kBAAJV,IAAcA,OAAdA,EAAAA,EAAgBW,SAA2B,QAAvBV,EAAKG,EAAQM,kBAAU,IAAAT,OAAA,EAAlBA,EAAoBU,MAChEC,GAAiCV,QAAdA,EAAAG,EAAIK,kBAAJR,IAAcA,OAAdA,EAAAA,EAAgBW,aAA+B,QAAvBV,EAAKC,EAAQM,kBAAU,IAAAP,OAAA,EAAlBA,EAAoBU,UAG1E,OAFIJ,GAAoBG,UAAyBP,EAAIK,WAE9CL,IACR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dayjs-config.js","sources":["../../../src/utils/dayjs-config.ts"],"sourcesContent":["import dayjs from 'dayjs'\r\nimport utc from 'dayjs/plugin/utc'\r\nimport timezone from 'dayjs/plugin/timezone'\r\nimport relativeTime from 'dayjs/plugin/relativeTime'\r\n\r\ndayjs.extend(utc)\r\ndayjs.extend(timezone)\r\ndayjs.extend(relativeTime)\r\n\r\n// Thiết lập múi giờ mặc định theo trình duyệt\r\ndayjs.tz.setDefault(Intl.DateTimeFormat().resolvedOptions().timeZone)\r\n\r\nexport default dayjs\r\n"],"names":["dayjs","extend","utc","timezone","relativeTime","tz","setDefault","Intl","DateTimeFormat","resolvedOptions","timeZone"],"mappings":"8JAKAA,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,GACbH,EAAMC,OAAOG,GAGbJ,EAAMK,GAAGC,WAAWC,KAAKC,iBAAiBC,kBAAkBC"}
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as r,asyncToGenerator as t,typeof as n,regenerator as e,objectSpread2 as o,toArray as a}from"../../_virtual/_rollupPluginBabelHelpers.js";import c from"dayjs";var i=function(r){return new Promise((function(t){return setTimeout(t,r)}))},u=function(){var n=t(e().m((function t(n,o){var a,c,u;return e().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,Promise.all([n(),i(o)]);case 1:return a=t.v,c=r(a,1),u=c[0],t.a(2,u)}}),t)})));return function(r,t){return n.apply(this,arguments)}}(),s=function(r){return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(r)},f=function(r){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(r)},l=function(r){return/^(\+?\d{1,4}[\s-]?)?((\(\d{1,4}\))|\d{1,4})[\s-]?\d{1,4}[\s-]?\d{1,9}$/.test((null!=r?r:"").trim())},d=function(r){return/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i.test(r)},y=function(r,t){setTimeout((function(){window.scrollTo(o({top:0,left:0,behavior:"smooth"},r))}),t||50)},v=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.join(" ")},h=function(r){return r&&"object"===n(r)&&!Array.isArray(r)},p=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];return t.reduce((function(r,t){return t?(Object.keys(t).forEach((function(n){h(r[n])&&h(t[n])?r[n]=p(r[n],t[n]):r[n]=t[n]})),r):r}),{})},A=function(t){try{return t?Object.entries(t).reduce((function(t,n){var e=r(n,2),o=e[0],a=e[1];return void 0!==a&&(t[o]=a),t}),{}):{}}catch(r){return{}}},m=function(t){if("object"!==n(t)||null===t)return t;var e=Array.isArray(t)?[]:{};return Object.entries(t).forEach((function(t){var o=r(t,2),a=o[0],c=o[1];if(null==c||"string"==typeof c&&""===c.trim()||"number"==typeof c&&isNaN(c)||Array.isArray(c)&&0===c.length||"object"===n(c)&&!Array.isArray(c)&&0===Object.keys(m(c)).length);else if("object"!==n(c)||Array.isArray(c))e[a]=c;else{var i=m(c);Object.keys(i).length>0&&(e[a]=i)}})),e},g=function(r){try{var t=(new TextEncoder).encode(r),n="";return t.forEach((function(r){n+=String.fromCharCode(r)})),btoa(n)}catch(r){return console.error("Error encoding to base64",r),""}},b=function(r){try{for(var t=atob(r),n=new Uint8Array(t.length),e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return(new TextDecoder).decode(n)}catch(r){return void console.error("Error decoding base64",r)}},w=function(r,t){try{return r?JSON.parse(r):t}catch(r){return console.log(r),t}},j=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];try{if(!r)return[];var n=JSON.parse(r);return Array.isArray(n)?n:[]}catch(r){return t}},F=function(r,t){try{return r?parseInt(r):t}catch(r){return t}},Y=function(r){return new Promise((function(t,n){var e=new FileReader;e.onload=function(){try{var r=e.result.split(/\r?\n/).filter(Boolean);if(r.length<1)return t([]);var n=r[0].split(",").map((function(r){return r.trim()})),o=r.slice(1).map((function(r){var t=r.split(",").map((function(r){return r.trim()})),e={};return n.forEach((function(r,n){var o;e[r]=null!==(o=t[n])&&void 0!==o?o:""})),e}));t(o)}catch(r){t([])}},e.onerror=function(){n(new Error("Error reading file"))},e.readAsText(r)}))},E=function(r){return r<1024?r.toFixed(2)+" Kb":r<1048576?(r/1024).toFixed(2)+" Mb":r<1073741824?(r/1048576).toFixed(2)+" Gb":(r/1073741824).toFixed(2)+" Tb"},x=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"$ ",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";try{n=parseFloat(t),isNaN(n)&&(n=0)}catch(r){n=0}var a=n.toFixed(2).split("."),c=r(a,2),i=c[0],u=c[1],s=i.replace(/\B(?=(\d{3})+(?!\d))/g," "),f=s;return"00"!==u&&(f="".concat(s,".").concat(u)),"".concat(e).concat(f).concat(o)},M=function(r){return r.toLocaleString("en-US")},T=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!r)return r;var t=Array.from(r),n=a(t),e=n[0],o=n.slice(1);return"".concat(e.toUpperCase()).concat(o.join(""))},O={style1:"DD/MM/YYYY HH:mm",style2:"MMMM D, YYYY",style3:"MM-DD-YYYY"},D=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"style1";try{if(!r)throw new Error;return c(r).format(O[t])}catch(r){return"unknown"}};export{A as cleanObject,b as decodeBase64,m as deepRemoveEmptyFields,g as encodeBase64,u as fetchDelay,T as formatCapitalizeFirstText,x as formatCurrency,D as formatDatetime,E as formatFileSize,M as formatNumberWithCommas,s as isGuid,f as isValidEmail,l as isValidPhoneNumber,d as isValidURL,v as mergeClasses,p as mergeObjects,i as sleep,j as tryParseArray,Y as tryParseCsvFileToArray,F as tryParseIntRequired,w as tryParseObject,y as windowScrollToTop};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/utils/helpers.ts"],"sourcesContent":["import dayjs from 'dayjs'\r\n\r\nexport const sleep = (sec: number) => new Promise((res) => setTimeout(res, sec))\r\n\r\nexport const fetchDelay = async function <TModel>(action: () => Promise<TModel>, sec: number) {\r\n const [res] = await Promise.all([action(), sleep(sec)])\r\n return res\r\n}\r\n\r\nexport const isGuid = (value: string): boolean => {\r\n const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/\r\n return guidRegex.test(value)\r\n}\r\n\r\nexport const isValidEmail = (value: string) => {\r\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\r\n return regex.test(value)\r\n}\r\n\r\nexport const isValidPhoneNumber = (phoneNumber?: string): boolean => {\r\n const phoneRegex = /^(\\+?\\d{1,4}[\\s-]?)?((\\(\\d{1,4}\\))|\\d{1,4})[\\s-]?\\d{1,4}[\\s-]?\\d{1,9}$/\r\n return phoneRegex.test((phoneNumber ?? '').trim())\r\n}\r\n\r\nexport const isValidURL = (url: string): boolean => {\r\n const regex = /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i\r\n return regex.test(url)\r\n}\r\n\r\nexport const windowScrollToTop = (options?: ScrollToOptions, delay?: number) => {\r\n setTimeout(() => {\r\n window.scrollTo({ top: 0, left: 0, behavior: 'smooth', ...options })\r\n }, delay || 50)\r\n}\r\n\r\nexport const mergeClasses = (...classes: string[]) => {\r\n return classes.join(' ')\r\n}\r\n\r\n//#region Object\r\n/**\r\n * Simple object check.\r\n * @param item\r\n * @returns {boolean}\r\n */\r\nconst isObject = (obj: any) => {\r\n return obj && typeof obj === 'object' && !Array.isArray(obj)\r\n}\r\n\r\ntype DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] } | undefined\r\n\r\nexport const mergeObjects = <T>(...objects: DeepPartial<T>[]): T => {\r\n return objects.reduce((prev, obj) => {\r\n if (!obj) return prev\r\n Object.keys(obj).forEach((key) => {\r\n if (isObject((prev as any)[key]) && isObject((obj as any)[key])) {\r\n ;(prev as any)[key] = mergeObjects((prev as any)[key], (obj as any)[key])\r\n } else {\r\n ;(prev as any)[key] = (obj as any)[key]\r\n }\r\n })\r\n return prev\r\n }, {} as T) as any\r\n}\r\n\r\nexport const cleanObject = <T extends object>(obj: T): Partial<T> => {\r\n try {\r\n if (!obj) return {}\r\n return Object.entries(obj).reduce((acc, [key, value]) => {\r\n if (value !== undefined) {\r\n ;(acc as any)[key] = value\r\n }\r\n return acc\r\n }, {} as Partial<T>)\r\n } catch (error) {\r\n return {}\r\n }\r\n}\r\n\r\nexport const deepRemoveEmptyFields = <T extends object>(obj: T): T => {\r\n if (typeof obj !== 'object' || obj === null) return obj\r\n const result: any = Array.isArray(obj) ? [] : {}\r\n Object.entries(obj).forEach(([key, value]) => {\r\n if (\r\n value === undefined ||\r\n value === null ||\r\n (typeof value === 'string' && value.trim() === '') ||\r\n (typeof value === 'number' && isNaN(value)) ||\r\n (Array.isArray(value) && value.length === 0) ||\r\n (typeof value === 'object' && !Array.isArray(value) && Object.keys(deepRemoveEmptyFields(value)).length === 0)\r\n ) {\r\n // skip\r\n } else if (typeof value === 'object' && !Array.isArray(value)) {\r\n const cleaned = deepRemoveEmptyFields(value)\r\n if (Object.keys(cleaned).length > 0) result[key] = cleaned\r\n } else {\r\n result[key] = value\r\n }\r\n })\r\n return result\r\n}\r\n//#endregion\r\n\r\nexport const encodeBase64 = (input: string): string => {\r\n try {\r\n const utf8Bytes = new TextEncoder().encode(input)\r\n let binaryString = ''\r\n utf8Bytes.forEach((byte) => {\r\n binaryString += String.fromCharCode(byte)\r\n })\r\n return btoa(binaryString)\r\n } catch (error) {\r\n console.error('Error encoding to base64', error)\r\n return ''\r\n }\r\n}\r\n\r\nexport const decodeBase64 = (encoded: string): string | undefined => {\r\n try {\r\n const binaryString = atob(encoded)\r\n const utf8Bytes = new Uint8Array(binaryString.length)\r\n for (let i = 0; i < binaryString.length; i++) {\r\n utf8Bytes[i] = binaryString.charCodeAt(i)\r\n }\r\n return new TextDecoder().decode(utf8Bytes)\r\n } catch (error) {\r\n console.error('Error decoding base64', error)\r\n return\r\n }\r\n}\r\n\r\n//#region Try Parse\r\nexport const tryParseObject = function <T>(value: any, defaultValue: T): T {\r\n try {\r\n if (!value) return defaultValue\r\n return JSON.parse(value)\r\n } catch (error) {\r\n console.log(error)\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseArray = function <T>(value: any, defaultValue: T[] = []): T[] {\r\n try {\r\n if (!value) return []\r\n const parseValue = JSON.parse(value)\r\n return Array.isArray(parseValue) ? parseValue : []\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseIntRequired = function (value: any, defaultValue: number): number {\r\n try {\r\n if (!value) return defaultValue\r\n return parseInt(value)\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nexport const tryParseCsvFileToArray = (file: File): Promise<Record<string, string>[]> => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n\r\n reader.onload = () => {\r\n try {\r\n const text = reader.result as string\r\n const rows = text.split(/\\r?\\n/).filter(Boolean)\r\n\r\n if (rows.length < 1) return resolve([])\r\n\r\n const headers = rows[0].split(',').map((h) => h.trim())\r\n\r\n const data = rows.slice(1).map((row) => {\r\n const values = row.split(',').map((v) => v.trim())\r\n const item: Record<string, string> = {}\r\n\r\n headers.forEach((header, index) => {\r\n item[header] = values[index] ?? ''\r\n })\r\n\r\n return item\r\n })\r\n\r\n resolve(data)\r\n } catch (error) {\r\n resolve([])\r\n }\r\n }\r\n\r\n reader.onerror = () => {\r\n reject(new Error('Error reading file'))\r\n }\r\n\r\n reader.readAsText(file)\r\n })\r\n}\r\n//#endregion\r\n\r\n//#region Format\r\nexport const formatFileSize = (sizeInKb: number) => {\r\n if (sizeInKb < 1024) {\r\n return sizeInKb.toFixed(2) + ' Kb'\r\n } else if (sizeInKb < 1024 * 1024) {\r\n return (sizeInKb / 1024).toFixed(2) + ' Mb'\r\n } else if (sizeInKb < 1024 * 1024 * 1024) {\r\n return (sizeInKb / (1024 * 1024)).toFixed(2) + ' Gb'\r\n } else {\r\n return (sizeInKb / (1024 * 1024 * 1024)).toFixed(2) + ' Tb'\r\n }\r\n}\r\n\r\nexport const formatCurrency = (value?: any, prefix = '$ ', suffix = ''): string => {\r\n let parsedValue\r\n try {\r\n parsedValue = parseFloat(value)\r\n if (isNaN(parsedValue)) parsedValue = 0\r\n } catch (e) {\r\n parsedValue = 0\r\n }\r\n const roundedValue = parsedValue.toFixed(2)\r\n const [integerPart, decimalPart] = roundedValue.split('.')\r\n const formattedIntegerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ')\r\n\r\n let formattedValue = formattedIntegerPart\r\n if (decimalPart !== '00') {\r\n formattedValue = `${formattedIntegerPart}.${decimalPart}`\r\n }\r\n return `${prefix}${formattedValue}${suffix}`\r\n}\r\n\r\nexport const formatNumberWithCommas = (number: number): string => {\r\n return number.toLocaleString('en-US')\r\n}\r\n\r\nexport const formatCapitalizeFirstText = (value: string = '') => {\r\n if (!value) return value\r\n const [first, ...data] = Array.from(value)\r\n return `${first.toUpperCase()}${data.join('')}`\r\n}\r\n\r\nconst formatDatetimeStyle = {\r\n style1: 'DD/MM/YYYY HH:mm',\r\n style2: 'MMMM D, YYYY',\r\n style3: 'MM-DD-YYYY'\r\n}\r\n\r\n/**\r\n * Formats a datetime string using one of the predefined styles.\r\n *\r\n * Available format styles:\r\n * - style1: DD/MM/YYYY HH:mm → e.g., '25/04/2025 14:30'\r\n * - style2: 'MMMM D, YYYY' → e.g., 'April 25, 2025'\r\n * - style2: 'MM-DD-YYYY' → e.g., '04-25-2025'\r\n * @param value - A datetime string (ISO format or any format parsable by dayjs).\r\n * @param format - Format style key: 'style1' or 'style2'. Defaults to 'style1'.\r\n * @returns A formatted datetime string, or 'unknown' if the input is invalid or unparsable.\r\n */\r\nexport const formatDatetime = (value: string, format: keyof typeof formatDatetimeStyle = 'style1'): string => {\r\n try {\r\n if (!value) throw new Error()\r\n return dayjs(value).format(formatDatetimeStyle[format])\r\n } catch (error) {\r\n return 'unknown'\r\n }\r\n}\r\n//#endregion\r\n"],"names":["sleep","sec","Promise","res","setTimeout","fetchDelay","_ref","_asyncToGenerator","_regenerator","m","_callee","action","_yield$Promise$all","_yield$Promise$all2","w","_context","n","all","v","_slicedToArray","a","_x","_x2","apply","this","arguments","isGuid","value","test","isValidEmail","isValidPhoneNumber","phoneNumber","trim","isValidURL","url","windowScrollToTop","options","delay","window","scrollTo","_objectSpread","top","left","behavior","mergeClasses","_len","length","classes","Array","_key","join","isObject","obj","_typeof","isArray","mergeObjects","_len2","objects","_key2","reduce","prev","Object","keys","forEach","key","cleanObject","entries","acc","_ref2","_ref3","undefined","error","deepRemoveEmptyFields","result","_ref4","_ref5","isNaN","cleaned","encodeBase64","input","utf8Bytes","TextEncoder","encode","binaryString","byte","String","fromCharCode","btoa","console","decodeBase64","encoded","atob","Uint8Array","i","charCodeAt","TextDecoder","decode","tryParseObject","defaultValue","JSON","parse","log","tryParseArray","parseValue","_unused","tryParseIntRequired","parseInt","_unused2","tryParseCsvFileToArray","file","resolve","reject","reader","FileReader","onload","rows","split","filter","Boolean","headers","map","h","data","slice","row","values","item","header","index","_values$index","onerror","Error","readAsText","formatFileSize","sizeInKb","toFixed","formatCurrency","parsedValue","prefix","suffix","parseFloat","e","_roundedValue$split","_roundedValue$split2","integerPart","decimalPart","formattedIntegerPart","replace","formattedValue","concat","formatNumberWithCommas","number","toLocaleString","formatCapitalizeFirstText","_Array$from","from","_Array$from2","_toArray","first","toUpperCase","formatDatetimeStyle","style1","style2","style3","formatDatetime","format","dayjs"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{createClass as t,classCallCheck as e,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";var u=function(){function u(t){var l=this;e(this,u),n(this,"toValue",(function(t){return l.value[t]})),n(this,"toJObject",(function(t){return new u(l.value[t])})),n(this,"setValue",(function(t,e){l.value[t]=e})),n(this,"toObject",(function(){return l.value}));try{this.value="string"==typeof t?JSON.parse(null!=t?t:"{}"):null!=t?t:{}}catch(t){this.value={}}}return t(u,null,[{key:"fromJson",value:function(t){return new u(t)}}])}();export{u as default};
2
+ //# sourceMappingURL=json-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-object.js","sources":["../../../src/utils/json-object.ts"],"sourcesContent":["export default class JObject {\r\n private value: Record<string, any>\r\n constructor(value?: any) {\r\n try {\r\n if (typeof value === 'string') {\r\n this.value = JSON.parse(value ?? '{}')\r\n } else {\r\n this.value = value ?? {}\r\n }\r\n } catch (error) {\r\n this.value = {}\r\n }\r\n }\r\n static fromJson(value?: any) {\r\n return new JObject(value)\r\n }\r\n toValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): T[TK] | undefined => {\r\n return this.value[key as any]\r\n }\r\n toJObject = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK): JObject => {\r\n return new JObject(this.value[key as any])\r\n }\r\n setValue = <T extends Record<string, any>, TK extends keyof T = keyof T>(key: TK, value: any) => {\r\n this.value[key as any] = value\r\n }\r\n toObject = <T>(): Partial<T> => {\r\n return this.value as T\r\n }\r\n}\r\n"],"names":["JObject","value","_this","this","_classCallCheck","_defineProperty","key","JSON","parse","error","_createClass"],"mappings":"sHAAqBA,EAAO,WAE1B,SAAAA,EAAYC,GAAW,IAAAC,EAAAC,KAAAC,OAAAJ,GAAAK,EAAAF,KAAA,WAcb,SAA8DG,GACtE,OAAOJ,EAAKD,MAAMK,MACnBD,EAAAF,KAAA,aACW,SAA8DG,GACxE,OAAO,IAAIN,EAAQE,EAAKD,MAAMK,OAC/BD,EACUF,KAAA,YAAA,SAA8DG,EAASL,GAChFC,EAAKD,MAAMK,GAAcL,KAC1BI,mBACU,WACT,OAAOH,EAAKD,SAvBZ,IAEIE,KAAKF,MADc,iBAAVA,EACIM,KAAKC,MAAMP,QAAAA,EAAS,MAEpBA,QAAAA,EAAS,CAAE,CAE3B,CAAC,MAAOQ,GACPN,KAAKF,MAAQ,CAAE,CAChB,CACH,CAAC,OAAAS,EAAAV,EAAA,KAAA,CAAA,CAAAM,IAAA,WAAAL,MACD,SAAgBA,GACd,OAAO,IAAID,EAAQC,EACrB,IAAC,CAfyB"}
@@ -0,0 +1,2 @@
1
+ import{createClass as e,classCallCheck as t,defineProperty as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import a from"query-string";var i=function(e){var t;return null!==(t=null==e?void 0:e.trim().toLowerCase())&&void 0!==t?t:""},r=new(function(){return e((function e(){var i=this;t(this,e),n(this,"getPath",(function(){return"/"===window.location.pathname?"":window.location.pathname})),n(this,"stringify",(function(e){var t=Object.keys(e).filter((function(t){return e[t]})).reduce((function(t,n){var a=encodeURIComponent(e[n]);return t[n]=a,t}),{});return"?"+a.stringify(t,{skipNull:!0,skipEmptyString:!0})})),n(this,"getAll",(function(){return i.getValues()}))}),[{key:"getValues",value:function(){return a.parse(decodeURIComponent(window.location.search))}},{key:"getValuesMap",value:function(){var e=this.getValues();return new Map(Object.keys(e).map((function(t){return[i(t),e[t]]})))}},{key:"getkeysMap",value:function(){var e=this.getValues();return new Map(Object.keys(e).map((function(e){return[i(e),e]})))}},{key:"replace",value:function(e,t){window.history.replaceState(null!=t?t:{},"","".concat(this.getPath()).concat(this.stringify(e))),window.dispatchEvent(new window.PopStateEvent("popstate"))}},{key:"patch",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();Object.keys(e).forEach((function(t){var r,o=i(t);a.has(o)?n[null!==(r=a.get(o))&&void 0!==r?r:""]=e[t]:n[t]=e[t]})),this.put(n,t)}},{key:"replacePatch",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();Object.keys(e).forEach((function(t){var r,o=i(t);a.has(o)?n[null!==(r=a.get(o))&&void 0!==r?r:""]=e[t]:n[t]=e[t]})),this.replace(n,t)}},{key:"put",value:function(e,t){window.history.pushState(null!=t?t:{},"","".concat(this.getPath()).concat(this.stringify(e))),window.dispatchEvent(new window.PopStateEvent("popstate"))}},{key:"deletes",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.deletesWithState(t)}},{key:"replaceDeletes",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.replaceDeletesWithState(t)}},{key:"replaceDeletesWithState",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();e.forEach((function(e){var t,r=i(e.toString());a.has(r)&&delete n[null!==(t=a.get(r))&&void 0!==t?t:""]})),this.replace(n,t)}},{key:"deletesWithState",value:function(e,t){var n=this.getValues(),a=this.getkeysMap();e.forEach((function(e){var t,r=i(e.toString());a.has(r)&&delete n[null!==(t=a.get(r))&&void 0!==t?t:""]})),this.put(n,t)}},{key:"deleteAll",value:function(){window.history.replaceState({},"","".concat(this.getPath()))}},{key:"gets",value:function(){for(var e=this.getValuesMap(),t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return n.reduce((function(t,n){var a=i(n.toString());return e.has(a)&&(t[n]=e.get(a)),t}),{})}}])}());export{r as QueryParam,r as default};
2
+ //# sourceMappingURL=query-param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-param.js","sources":["../../../src/utils/query-param.ts"],"sourcesContent":["import queryString from 'query-string'\r\n\r\nconst stringStardize = (str: string) => str?.trim().toLowerCase() ?? ''\r\n\r\nclass QueryParamBase {\r\n private getValues() {\r\n // return queryString.parse(decodeURIComponent(window.location.search))\r\n return queryString.parse(decodeURIComponent(window.location.search))\r\n }\r\n\r\n private getValuesMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), query[x] as string]))\r\n }\r\n\r\n private getkeysMap() {\r\n const query = this.getValues()\r\n return new Map(Object.keys(query).map((x) => [stringStardize(x), x]))\r\n }\r\n\r\n private getPath = () => (window.location.pathname === '/' ? '' : window.location.pathname)\r\n\r\n // stringify<TParam extends {} = any>(param: TParam) {\r\n // return `?${encodeURIComponent(queryString.stringify(param, { skipNull: true, skipEmptyString: true }))}`\r\n // }\r\n stringify = <TParam extends Record<string, any> = any>(param: TParam): string => {\r\n const entries = Object.keys(param)\r\n .filter((key) => param[key]) // skip null & empty string\r\n .reduce((a, key) => {\r\n const encodedValue = encodeURIComponent(param[key])\r\n a[key] = encodedValue\r\n return a\r\n }, {} as any)\r\n\r\n return '?' + queryString.stringify(entries, { skipNull: true, skipEmptyString: true })\r\n }\r\n\r\n replace<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.replaceState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n patch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n replacePatch<TParam extends { [key: string]: any } = any, TState = any>(param: TParam, state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n Object.keys(param).forEach((k) => {\r\n const key = stringStardize(k)\r\n if (keyMap.has(key)) {\r\n query[keyMap.get(key) ?? ''] = param[k]\r\n } else {\r\n query[k] = param[k]\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n put<TParam extends {} = any, TState = any>(param: TParam, state?: TState) {\r\n window.history.pushState(state ?? {}, '', `${this.getPath()}${this.stringify(param)}`)\r\n window.dispatchEvent(new window.PopStateEvent('popstate'))\r\n }\r\n\r\n deletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.deletesWithState(keys)\r\n }\r\n\r\n replaceDeletes<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n this.replaceDeletesWithState(keys)\r\n }\r\n\r\n replaceDeletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.replace(query, state)\r\n }\r\n\r\n deletesWithState<TValue extends {} = any, TState = any>(keys: (keyof TValue)[], state?: TState) {\r\n const query = this.getValues()\r\n const keyMap = this.getkeysMap()\r\n keys.forEach((k) => {\r\n const key = stringStardize(k.toString())\r\n if (keyMap.has(key)) {\r\n delete query[keyMap.get(key) ?? '']\r\n }\r\n })\r\n this.put(query, state)\r\n }\r\n\r\n deleteAll() {\r\n window.history.replaceState({}, '', `${this.getPath()}`)\r\n }\r\n\r\n getAll = () => {\r\n return this.getValues()\r\n }\r\n\r\n gets<TValue extends {} = any>(...keys: (keyof TValue)[]) {\r\n const query = this.getValuesMap()\r\n return keys.reduce<Partial<TValue>>((a, k) => {\r\n const key = stringStardize(k.toString())\r\n if (query.has(key)) {\r\n a[k] = query.get(key) as any\r\n }\r\n return a\r\n }, {})\r\n }\r\n}\r\n\r\nexport const QueryParam = new QueryParamBase()\r\n// ;(window as any).QueryParam = QueryParam\r\nexport default QueryParam\r\n"],"names":["stringStardize","str","_str$trim$toLowerCase","trim","toLowerCase","QueryParam","_createClass","QueryParamBase","_this","this","_classCallCheck","_defineProperty","window","location","pathname","param","entries","Object","keys","filter","key","reduce","a","encodedValue","encodeURIComponent","queryString","stringify","skipNull","skipEmptyString","getValues","value","parse","decodeURIComponent","search","query","Map","map","x","state","history","replaceState","concat","getPath","dispatchEvent","PopStateEvent","keyMap","getkeysMap","forEach","k","_keyMap$get","has","get","put","_keyMap$get2","replace","pushState","_len","arguments","length","Array","_key","deletesWithState","_len2","_key2","replaceDeletesWithState","_keyMap$get3","toString","_keyMap$get4","getValuesMap","_len3","_key3"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{ELogic,EOperator,EOrder}from"./model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";import"dayjs";import"../utils/dayjs-config.js";import"../utils/query-param.js";export{CreateTable}from"./create.table.js";export{default as DinoTable}from"./dino.js";export{dinoTableClasses}from"./helpers.js";
1
+ export{ELogic,EOperator,EOrder}from"../src/table/model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";import"dayjs";import"../src/utils/dayjs-config.js";import"../src/utils/query-param.js";export{CreateTable}from"../src/table/create.table.js";export{default as DinoTable}from"../src/table/dino.js";export{dinoTableClasses}from"../src/table/helpers.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export{default as DinoTableGrid}from"./dino.js";export{CreateTableGridItemActions}from"./item-actions.js";export{EMenuValidate,ESearchMatch}from"./filter-bar/types.js";
1
+ export{default as DinoTableGrid}from"../src/table-grid/dino.js";export{CreateTableGridItemActions}from"../src/table-grid/item-actions.js";export{EMenuValidate,ESearchMatch}from"../src/table-grid/filter-bar/types.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -29,5 +29,5 @@ export interface IFormBaseResult<T> {
29
29
  Context: React.Context<IFormBaseContext<T>>;
30
30
  mapContext: (params: (context: IFormBaseContext<T>) => JSX.Element) => JSX.Element;
31
31
  }
32
- declare const CreateFormBase: <T>(params?: IFormBaseParams<T> | undefined) => IFormBaseResult<T>;
33
- export default CreateFormBase;
32
+ declare const createFormBase: <T>(params?: IFormBaseParams<T> | undefined) => IFormBaseResult<T>;
33
+ export default createFormBase;
@@ -26,5 +26,5 @@ export interface IInputState {
26
26
  }
27
27
  export interface IInputParams<T> extends IInputSlots<T> {
28
28
  }
29
- declare const CreateInput: <T>(params?: IInputParams<T> | undefined) => React.ComponentType<IInputProps<T>>;
30
- export default CreateInput;
29
+ declare const createInput: <T>(params?: IInputParams<T> | undefined) => React.ComponentType<IInputProps<T>>;
30
+ export default createInput;
@@ -0,0 +1,30 @@
1
+ import 'reflect-metadata';
2
+ import { ComponentType } from 'react';
3
+ import { IFormInputBase } from './types';
4
+ import { IConfigValue, IFormValidatorConfig } from './validator';
5
+ export declare function registerForm(name?: string): <T extends new (...args: any[]) => {}>(constructor: T) => {
6
+ new (...args: any[]): {
7
+ __class: string;
8
+ };
9
+ } & T;
10
+ export interface IPreSubmitMetadata<T = any> {
11
+ handler: (data: T, oldData: T) => Promise<any> | any;
12
+ }
13
+ export declare function formPreSubmit<T = any>(handler: IPreSubmitMetadata<T>['handler']): <T_1 extends new (...args: any[]) => {}>(constructor: T_1) => T_1;
14
+ export declare function getFormPreSubmit(targetClass: any): IPreSubmitMetadata | undefined;
15
+ export interface IFieldMetadata<T = any> {
16
+ name: keyof T | string;
17
+ label?: string;
18
+ placeholder?: string;
19
+ default?: any;
20
+ type?: any;
21
+ size?: Partial<Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number>>;
22
+ renderInput?: ComponentType<IFormInputBase<T>>;
23
+ }
24
+ export declare function formField(options: Omit<IFieldMetadata, 'name'>): (target: any, propertyKey: string) => void;
25
+ export declare const getFormFields: (targetClass: any) => IFieldMetadata[];
26
+ export interface IValidationMetadata extends IConfigValue {
27
+ name: string;
28
+ }
29
+ export declare function formValidate(options: Omit<IValidationMetadata, 'name'>): (target: any, propertyKey: string) => void;
30
+ export declare function getFormValidators<T = any>(targetClass: any): IFormValidatorConfig<T>;
@@ -0,0 +1,20 @@
1
+ import { ComponentType, FC } from 'react';
2
+ import { IFormInputBase } from './types';
3
+ export interface IDecoratorFieldProps<T = any> extends IFormInputBase<T> {
4
+ type?: any;
5
+ renderInput?: ComponentType<IFormInputBase<T>>;
6
+ }
7
+ export declare const DecoratorField: FC<IDecoratorFieldProps>;
8
+ export interface IDecoratorFormSlots {
9
+ bottom?: React.ReactNode;
10
+ renderSubmitButton?: () => React.ReactNode;
11
+ }
12
+ export interface IDecoratorFormProps {
13
+ configClass: any;
14
+ data?: any;
15
+ onSubmit?: (data: any) => Promise<void>;
16
+ slots?: IDecoratorFormSlots;
17
+ }
18
+ export declare const DecoratorForm: FC<IDecoratorFormProps>;
19
+ export default DecoratorForm;
20
+ export declare const createDecoratorForm: <T>(configClass: any, params?: Partial<Omit<IDecoratorFormProps, 'configClass'>>) => ComponentType<Omit<IDecoratorFormProps, 'configClass'>>;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { createInputFileCsvLocalParser } from './create.input-file.csv-local-parser';
2
3
  import FormValidator from './validator';
3
4
  import CreateInputFile from './create.input.file';
4
5
  import CreateTextEditor from './create.text-editor';
@@ -7,7 +8,6 @@ import CreateDateExpired from './create.date-expired';
7
8
  import CreateSelectSimple from './create.select-simple';
8
9
  import createInputImageFile from './create.input.image-file';
9
10
  import CreateAutocompleteChip from './create.autocomplete.chips';
10
- import { createInputFileCsvLocalParser } from './create.input-file.csv-local-parser';
11
11
  declare class DinoFormBase {
12
12
  ModalWrap: import("react").FC<import("./modal-wrapper").IFormModalWrapperProps>;
13
13
  BottomBarWrap: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
@@ -18,6 +18,8 @@ declare class DinoFormBase {
18
18
  createFormBase: <T>(params?: import("./create.form-base").IFormBaseParams<T> | undefined) => import("./create.form-base").IFormBaseResult<T>;
19
19
  createFormComfirm: <T = any>(param?: import("./create.form-comfirm").IFormComfirmParam<T> | undefined) => import("react").ComponentType<import("react").PropsWithChildren<import("./create.form-comfirm").IFormComfirmProps<T>>>;
20
20
  createFormGridLayout: <T>(params: import("./create.form-grid-layout").IFormGridLayoutParams<T>) => import("react").ComponentType<import("./create.form-grid-layout").IFormGridLayoutProps<T>>;
21
+ DecoratorForm: import("react").FC<import("./decorator.form").IDecoratorFormProps>;
22
+ createDecoratorForm: <T>(configClass: any, params?: Partial<Omit<import("./decorator.form").IDecoratorFormProps, "configClass">> | undefined) => import("react").ComponentType<Omit<import("./decorator.form").IDecoratorFormProps, "configClass">>;
21
23
  createColorPicker: typeof createColorPicker;
22
24
  createDateExpired: typeof CreateDateExpired;
23
25
  createDatePicker: <T extends Object>(params?: import("./create.date-picker").IDatePickerSlots | undefined) => import("react").ComponentType<import("./create.date-picker").IDatePickerProps<T>>;
@@ -5,3 +5,5 @@ export { default as DinoForm } from './dino-form';
5
5
  export { getErrorMessage, convertFormDataToJson, validateCsvModel } from './helpers';
6
6
  export type { ISelectWithApiOption } from './create.select-with-api';
7
7
  export type { InputBaseImage } from './create.input';
8
+ export * from './decorator';
9
+ export * from './decorator.form';
@@ -1,2 +1,2 @@
1
- export{cleanObject,decodeBase64,deepRemoveEmptyFields,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,isGuid,isValidEmail,isValidPhoneNumber,isValidURL,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseCsvFileToArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"./helpers.js";import"./dayjs-config.js";export{default as JObject}from"./json-object.js";export{QueryParam}from"./query-param.js";export{default as dayjsCustom}from"dayjs";
1
+ export{cleanObject,decodeBase64,deepRemoveEmptyFields,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,isGuid,isValidEmail,isValidPhoneNumber,isValidURL,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseCsvFileToArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"../src/utils/helpers.js";import"../src/utils/dayjs-config.js";export{default as JObject}from"../src/utils/json-object.js";export{QueryParam}from"../src/utils/query-param.js";export{default as dayjsCustom}from"dayjs";
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-core",
3
- "version": "2.1.20",
3
+ "version": "2.1.21",
4
4
  "description": "Dinocollab core - libraries for building collaborative applications with React 18",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -149,6 +149,7 @@
149
149
  "@types/node": "16.18.126",
150
150
  "@types/react": "18.3.20",
151
151
  "@types/react-dom": "18.3.5",
152
+ "@types/reflect-metadata": "^0.1.0",
152
153
  "babel-preset-react": "6.24.1",
153
154
  "babel-preset-typescript": "7.0.0-alpha.19",
154
155
  "rollup": "4.41.0",
@@ -159,5 +160,8 @@
159
160
  "rollup-plugin-visualizer": "6.0.3",
160
161
  "tslib": "2.8.1",
161
162
  "typescript": "4.9.5"
163
+ },
164
+ "dependencies": {
165
+ "reflect-metadata": "0.2.2"
162
166
  }
163
167
  }
@@ -1,2 +0,0 @@
1
- import{slicedToArray as e,toConsumableArray as t,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import a,{useState as o,useCallback as l,useEffect as u}from"react";import{styled as s,Box as d,Stack as c,Dialog as f,DialogTitle as p,DialogContent as h,DialogContentText as m,DialogActions as g,Button as x}from"@mui/material";import v from"@mui/material/Alert";var y=a.forwardRef((function(e,t){return n(v,i(i({elevation:6,ref:t,variant:"standard"},e),{},{style:{minWidth:"300px"}}))})),C={};function A(){var r,a,s=o([]),d=e(s,2),f=d[0],p=d[1],h=l((function(e){p((function(i){return[].concat(t(i),[e])}))}),[]),m=l((function(e){var i=f.findIndex((function(t){return t.id===e.id}));f.splice(i,1),p(t(f))}),[f]);return u((function(){C.ApiAlert=i(i({},C.ApiAlert?C.ApiAlert:{}),{},{PushMessage:h,PushError:function(e,t){this.PushMessage({id:(new Date).getTime().toString(),text:e,type:"error",duration:(null==t?void 0:t.duration)||15e3})},PushInfo:function(e,t){this.PushMessage({id:(new Date).getTime().toString(),text:e,type:"info",duration:(null==t?void 0:t.duration)||6e3})},PushWarning:function(e,t){this.PushMessage({id:(new Date).getTime().toString(),text:e,type:"warning",duration:(null==t?void 0:t.duration)||6e3})},PushSuccess:function(e,t){this.PushMessage({id:(new Date).getTime().toString(),text:e,type:"success",duration:(null==t?void 0:t.duration)||3e3})}})}),[h]),n(S,{children:n(c,{spacing:2,sx:{maxWidth:"300px"},children:(r=f,a=m,r.map((function(e,t){return n(P,{data:e,IsOpen:!0,handleClose:a,autoDurationHide:e.duration},e.id+t)})))})})}var P=function(e){var t=l((function(){return e.handleClose(e.data)}),[e]);return u((function(){var t=null;return e.autoDurationHide&&(t=setTimeout((function(){e.handleClose(e.data)}),e.autoDurationHide)),function(){clearTimeout(t)}}),[e]),n(y,{sx:{whiteSpace:"pre-line"},onClose:t,severity:e.data.type,children:e.data.text})},S=s(d)({position:"fixed",top:"calc(var(--height-header) + 20px)",right:"50px",zIndex:2e3,display:"flex",justifyContent:"flex-start",alignItems:"center"}),b=function(t){var i=a.useState(t.IsOpen),o=e(i,2),l=o[0],u=o[1];a.useEffect((function(){u(t.IsOpen)}),[t.IsOpen]);var s=a.useCallback((function(){u(!1),t.onClose&&t.onClose()}),[t]);return n("div",{children:r(f,{open:l,onClose:s,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n(p,{id:"alert-dialog-title",children:t.Title}),n(h,{children:n(m,{id:"alert-dialog-description",sx:{whiteSpace:"pre-line"},children:t.Message})}),r(g,{children:[n(x,{onClick:t.onAccept,autoFocus:!0,color:"info",children:"Ok"}),n(x,{onClick:s,color:"error",children:"Cancel"})]})]})})};export{b as AlertDialog,C as ApiAlertContext,A as default};
2
- //# sourceMappingURL=alert-global.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert-global.js","sources":["../../src/api-context/alert-global.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react'\r\nimport { Box, Stack, styled, Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material'\r\nimport MuiAlert, { AlertProps, AlertColor } from '@mui/material/Alert'\r\n\r\nconst Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\r\n return <MuiAlert elevation={6} ref={ref} variant='standard' {...props} style={{ minWidth: '300px' }} />\r\n})\r\n\r\ninterface MessageData {\r\n id: string\r\n text: string\r\n type: AlertColor\r\n duration?: number\r\n}\r\n\r\ninterface IOptions {\r\n duration?: number\r\n}\r\n\r\ninterface IApiAlert {\r\n PushMessage: (data: MessageData) => void\r\n PushInfo: (data: string) => void\r\n PushError: (data: string) => void\r\n PushWarning: (data: string) => void\r\n PushSuccess: (data: string) => void\r\n}\r\n\r\nexport interface IApiContext {\r\n ApiAlert?: IApiAlert\r\n}\r\n\r\nexport const ApiAlertContext: IApiContext = {}\r\n\r\nconst RenderArea = (messages: MessageData[], onClose: (data: MessageData) => void) => {\r\n return messages.map((x, i) => {\r\n return <Message key={x.id + i} data={x} IsOpen={true} handleClose={onClose} autoDurationHide={x.duration} />\r\n })\r\n}\r\n\r\nfunction AlertGlobal() {\r\n const [Messages, setMessages] = useState<MessageData[]>([])\r\n const _PushMessage = useCallback((data: MessageData) => {\r\n setMessages((st) => [...st, data])\r\n }, [])\r\n const _HandleClose = useCallback(\r\n (data: MessageData) => {\r\n const index = Messages.findIndex((x) => x.id === data.id)\r\n Messages.splice(index, 1)\r\n setMessages([...Messages])\r\n },\r\n [Messages]\r\n )\r\n\r\n useEffect(() => {\r\n ApiAlertContext.ApiAlert = {\r\n ...(ApiAlertContext.ApiAlert ? ApiAlertContext.ApiAlert : {}),\r\n PushMessage: _PushMessage,\r\n PushError: function (data: string, options?: IOptions) {\r\n this.PushMessage({\r\n id: new Date().getTime().toString(),\r\n text: data,\r\n type: 'error',\r\n duration: options?.duration || 15000\r\n })\r\n },\r\n PushInfo: function (data: string, options?: IOptions) {\r\n this.PushMessage({\r\n id: new Date().getTime().toString(),\r\n text: data,\r\n type: 'info',\r\n duration: options?.duration || 6000\r\n })\r\n },\r\n PushWarning: function (data: string, options?: IOptions) {\r\n this.PushMessage({\r\n id: new Date().getTime().toString(),\r\n text: data,\r\n type: 'warning',\r\n duration: options?.duration || 6000\r\n })\r\n },\r\n PushSuccess: function (data: string, options?: IOptions) {\r\n this.PushMessage({\r\n id: new Date().getTime().toString(),\r\n text: data,\r\n type: 'success',\r\n duration: options?.duration || 3000\r\n })\r\n }\r\n }\r\n }, [_PushMessage])\r\n\r\n return (\r\n <Wrap>\r\n <Stack spacing={2} sx={{ maxWidth: '300px' }}>\r\n {RenderArea(Messages, _HandleClose)}\r\n </Stack>\r\n </Wrap>\r\n )\r\n}\r\nexport default AlertGlobal\r\n\r\ninterface MessageProps {\r\n IsOpen: boolean\r\n handleClose: (data: MessageData) => void\r\n data: MessageData\r\n autoDurationHide?: number\r\n}\r\nconst Message: FC<MessageProps> = (props) => {\r\n const _handleClose = useCallback(() => props.handleClose(props.data), [props])\r\n\r\n useEffect(() => {\r\n let Timer: any = null\r\n if (props.autoDurationHide) {\r\n Timer = setTimeout(() => {\r\n props.handleClose(props.data)\r\n }, props.autoDurationHide)\r\n }\r\n return () => {\r\n clearTimeout(Timer as any)\r\n }\r\n }, [props])\r\n return (\r\n <Alert sx={{ whiteSpace: 'pre-line' }} onClose={_handleClose} severity={props.data.type}>\r\n {props.data.text}\r\n </Alert>\r\n )\r\n}\r\n\r\nconst Wrap = styled(Box)({\r\n position: 'fixed',\r\n top: 'calc(var(--height-header) + 20px)',\r\n right: '50px',\r\n zIndex: 2000,\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center'\r\n})\r\n\r\ninterface AlertDialogProps {\r\n IsOpen: boolean\r\n onClose?: () => void\r\n onAccept?: () => void\r\n Title: string\r\n Message: string\r\n}\r\nexport const AlertDialog: React.FC<AlertDialogProps> = (props) => {\r\n const [Open, setOpen] = React.useState(props.IsOpen)\r\n React.useEffect(() => {\r\n setOpen(props.IsOpen)\r\n }, [props.IsOpen])\r\n const _handleClose = React.useCallback(() => {\r\n setOpen(false)\r\n props.onClose && props.onClose()\r\n }, [props])\r\n return (\r\n <div>\r\n <Dialog open={Open} onClose={_handleClose} aria-labelledby='alert-dialog-title' aria-describedby='alert-dialog-description'>\r\n <DialogTitle id='alert-dialog-title'>{props.Title}</DialogTitle>\r\n <DialogContent>\r\n <DialogContentText id='alert-dialog-description' sx={{ whiteSpace: 'pre-line' }}>\r\n {props.Message}\r\n </DialogContentText>\r\n </DialogContent>\r\n <DialogActions>\r\n <Button onClick={props.onAccept} autoFocus color='info'>\r\n Ok\r\n </Button>\r\n <Button onClick={_handleClose} color='error'>\r\n Cancel\r\n </Button>\r\n </DialogActions>\r\n </Dialog>\r\n </div>\r\n )\r\n}\r\n"],"names":["Alert","React","forwardRef","props","ref","_jsx","MuiAlert","_objectSpread","elevation","variant","style","minWidth","ApiAlertContext","AlertGlobal","messages","onClose","_useState","useState","_useState2","_slicedToArray","Messages","setMessages","_PushMessage","useCallback","data","st","concat","_toConsumableArray","_HandleClose","index","findIndex","x","id","splice","useEffect","ApiAlert","PushMessage","PushError","options","this","Date","getTime","toString","text","type","duration","PushInfo","PushWarning","PushSuccess","Wrap","children","Stack","spacing","sx","maxWidth","map","i","Message","IsOpen","handleClose","autoDurationHide","_handleClose","Timer","setTimeout","clearTimeout","whiteSpace","severity","styled","Box","position","top","right","zIndex","display","justifyContent","alignItems","AlertDialog","_React$useState","_React$useState2","Open","setOpen","_jsxs","Dialog","open","DialogTitle","Title","DialogContent","DialogContentText","DialogActions","Button","onClick","onAccept","autoFocus","color"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as e,inherits as t,createClass as r,classCallCheck as n,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as o}from"react/jsx-runtime";import{Component as l}from"react";import{styled as s,Box as c,Drawer as h,IconButton as u,Divider as d,Typography as p}from"@mui/material";import f from"@mui/icons-material/Close";var m="DrawerGlobal-root",v="DrawerGlobal-title",g="DrawerGlobal-content",C="DrawerGlobal-fullHeight",b={close:function(){console.warn("DrawerGlobal provider not found!")},open:function(){console.warn("DrawerGlobal provider not found!")}},x={Provider:function(){function s(t){var r;return n(this,s),r=a(this,s,[t]),e(r,"close",(function(e){!1===r.state.backdropClickeable&&"backdropClick"===e||r.setState({renderContent:void 0})})),e(r,"open",(function(e){return r.setState(e)})),e(r,"renderTitle",(function(){return"string"==typeof r.state.title?i(p,{variant:"h6",noWrap:!0,children:r.state.title}):r.state.title})),e(r,"getClasses",(function(){var e=[m];return r.state.fullHeight&&e.push(C),e.join(" ")})),r.state={},r}return t(s,l),r(s,[{key:"componentDidMount",value:function(){b.open=this.open,b.close=this.close}},{key:"render",value:function(){var e=this;return i(h,{anchor:this.state.anchor,open:Boolean(this.state.renderContent),onClose:function(t,r){return e.close(r)},children:o(k,{className:this.getClasses(),children:[o("div",{className:v,children:[this.state.icon,this.renderTitle(),i(c,{sx:{flex:1}}),i(u,{onClick:function(){return e.close()},children:i(f,{})})]}),i(d,{variant:"middle"}),i("div",{className:g,children:this.state.renderContent&&this.state.renderContent()})]})})}}])}(),Api:b},k=s(c)(e(e({"--height-title":"56px"},".".concat(v),{display:"flex",alignItems:"center",height:"var(--height-title)",padding:"0 12px",gap:"6px"}),"&.".concat(C),e({},".".concat(g),{height:"calc(100vh - var(--height-title) - 60px)"})));export{x as default};
2
- //# sourceMappingURL=drawer-global.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer-global.js","sources":["../../src/api-context/drawer-global.tsx"],"sourcesContent":["import React, { Component, ReactNode } from 'react'\r\nimport { Box, Divider, Drawer, DrawerProps, IconButton, styled, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\n\r\nconst drawerGlobalClasses = {\r\n root: 'DrawerGlobal-root',\r\n title: 'DrawerGlobal-title',\r\n content: 'DrawerGlobal-content',\r\n fullHeight: 'DrawerGlobal-fullHeight'\r\n}\r\n\r\ninterface IProps {}\r\n\r\ninterface IState {\r\n title?: ReactNode\r\n icon?: ReactNode\r\n fullHeight?: boolean\r\n anchor?: DrawerProps['anchor']\r\n /** @default true */\r\n backdropClickeable?: boolean\r\n renderContent?: () => ReactNode\r\n}\r\n\r\ntype TReason = 'backdropClick' | 'escapeKeyDown'\r\n\r\ninterface DrawerGlobalApiType {\r\n open: (state: IState) => void\r\n close: (reason?: TReason) => void\r\n}\r\n\r\nconst DrawerGlobalApi: DrawerGlobalApiType = {\r\n close: () => {\r\n console.warn('DrawerGlobal provider not found!')\r\n },\r\n open: () => {\r\n console.warn('DrawerGlobal provider not found!')\r\n }\r\n}\r\n\r\nclass DrawerGlobalProvider extends Component<IProps, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = {}\r\n }\r\n\r\n close = (reason?: TReason) => {\r\n if (this.state.backdropClickeable === false && reason === 'backdropClick') return\r\n this.setState({ renderContent: undefined })\r\n }\r\n\r\n open = (state: IState) => this.setState(state)\r\n\r\n componentDidMount() {\r\n DrawerGlobalApi.open = this.open\r\n DrawerGlobalApi.close = this.close\r\n }\r\n\r\n render() {\r\n return (\r\n <Drawer anchor={this.state.anchor} open={Boolean(this.state.renderContent)} onClose={(_, reason) => this.close(reason)}>\r\n <Wrap className={this.getClasses()}>\r\n <div className={drawerGlobalClasses.title}>\r\n {this.state.icon}\r\n {this.renderTitle()}\r\n <Box sx={{ flex: 1 }} />\r\n <IconButton onClick={() => this.close()}>\r\n <CloseIcon />\r\n </IconButton>\r\n </div>\r\n <Divider variant='middle' />\r\n <div className={drawerGlobalClasses.content}>{this.state.renderContent && this.state.renderContent()}</div>\r\n </Wrap>\r\n </Drawer>\r\n )\r\n }\r\n\r\n renderTitle = () => {\r\n if (typeof this.state.title === 'string') {\r\n return (\r\n <Typography variant='h6' noWrap>\r\n {this.state.title}\r\n </Typography>\r\n )\r\n }\r\n return this.state.title\r\n }\r\n\r\n getClasses = () => {\r\n const classes = [drawerGlobalClasses.root]\r\n if (this.state.fullHeight) classes.push(drawerGlobalClasses.fullHeight)\r\n return classes.join(' ')\r\n }\r\n}\r\n\r\nconst DrawerGlobal = {\r\n Provider: DrawerGlobalProvider,\r\n Api: DrawerGlobalApi\r\n}\r\n\r\nexport default DrawerGlobal\r\n\r\nconst Wrap = styled(Box)({\r\n '--height-title': '56px',\r\n [`.${drawerGlobalClasses.title}`]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: 'var(--height-title)',\r\n padding: '0 12px',\r\n gap: '6px'\r\n },\r\n [`&.${drawerGlobalClasses.fullHeight}`]: {\r\n [`.${drawerGlobalClasses.content}`]: {\r\n height: 'calc(100vh - var(--height-title) - 60px)'\r\n }\r\n }\r\n})\r\n"],"names":["drawerGlobalClasses","DrawerGlobalApi","close","console","warn","open","DrawerGlobal","Provider","DrawerGlobalProvider","props","_this","_classCallCheck","_callSuper","_defineProperty","reason","state","backdropClickeable","setState","renderContent","undefined","title","_jsx","Typography","variant","noWrap","children","classes","fullHeight","push","join","_inherits","Component","_createClass","key","value","this","_this2","Drawer","anchor","Boolean","onClose","_","_jsxs","Wrap","className","getClasses","icon","renderTitle","Box","sx","flex","IconButton","onClick","CloseIcon","Divider","Api","styled","concat","display","alignItems","height","padding","gap"],"mappings":"kXAIA,IAAMA,EACE,oBADFA,EAEG,qBAFHA,EAGK,uBAHLA,EAIQ,0BAsBRC,EAAuC,CAC3CC,MAAO,WACLC,QAAQC,KAAK,mCACd,EACDC,KAAM,WACJF,QAAQC,KAAK,mCACf,GA0DIE,EAAe,CACnBC,oBAvDA,SAAAC,EAAYC,GAAa,IAAAC,EAER,OAFQC,OAAAH,GACvBE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAIN,SAAA,SAACI,IAC+B,IAAlCJ,EAAKK,MAAMC,oBAA2C,kBAAXF,GAC/CJ,EAAKO,SAAS,CAAEC,mBAAeC,OAChCN,EAAAH,EAEM,QAAA,SAACK,GAAa,OAAKL,EAAKO,SAASF,EAAM,IAAAF,EAAAH,EAAA,eA0BhC,WACZ,MAAgC,iBAArBA,EAAKK,MAAMK,MAElBC,EAACC,EAAW,CAAAC,QAAQ,KAAKC,QAAM,EAAAC,SAC5Bf,EAAKK,MAAMK,QAIXV,EAAKK,MAAMK,SACnBP,EAAAH,EAAA,cAEY,WACX,IAAMgB,EAAU,CAAC1B,GAEjB,OADIU,EAAKK,MAAMY,YAAYD,EAAQE,KAAK5B,GACjC0B,EAAQG,KAAK,QAhDpBnB,EAAKK,MAAQ,CAAE,EAAAL,CACjB,CAAC,OAAAoB,EAAAtB,EAJgCuB,GAIhCC,EAAAxB,EAAA,CAAA,CAAAyB,IAAA,oBAAAC,MASD,WACEjC,EAAgBI,KAAO8B,KAAK9B,KAC5BJ,EAAgBC,MAAQiC,KAAKjC,KAC/B,GAAC,CAAA+B,IAAA,SAAAC,MAED,WAAM,IAAAE,EAAAD,KACJ,OACEd,EAACgB,EAAM,CAACC,OAAQH,KAAKpB,MAAMuB,OAAQjC,KAAMkC,QAAQJ,KAAKpB,MAAMG,eAAgBsB,QAAS,SAACC,EAAG3B,GAAM,OAAKsB,EAAKlC,MAAMY,EAAO,EAAAW,SACpHiB,EAACC,EAAK,CAAAC,UAAWT,KAAKU,aAAYpB,SAAA,CAChCiB,EAAK,MAAA,CAAAE,UAAW5C,EACbyB,SAAA,CAAAU,KAAKpB,MAAM+B,KACXX,KAAKY,cACN1B,EAAC2B,EAAG,CAACC,GAAI,CAAEC,KAAM,KACjB7B,EAAC8B,EAAU,CAACC,QAAS,WAAF,OAAQhB,EAAKlC,OAAO,EAAAuB,SACrCJ,EAACgC,WAGLhC,EAACiC,EAAO,CAAC/B,QAAQ,WACjBF,EAAA,MAAA,CAAKuB,UAAW5C,EAA8ByB,SAAAU,KAAKpB,MAAMG,eAAiBiB,KAAKpB,MAAMG,sBAI7F,IAAC,IAsBDqC,IAAKtD,GAKD0C,EAAOa,EAAOR,EAAPQ,CAAW3C,EAAAA,EAAA,CACtB,iBAAkB,QAAM,IAAA4C,OACnBzD,GAA8B,CACjC0D,QAAS,OACTC,WAAY,SACZC,OAAQ,sBACRC,QAAS,SACTC,IAAK,QACNL,KAAAA,OACKzD,GAA8Ba,EAAA,CAAA,EAAA,IAAA4C,OAC7BzD,GAAgC,CACnC4D,OAAQ"}
@@ -1,2 +0,0 @@
1
- import{inherits as t,createClass as e,classCallCheck as n,callSuper as r,defineProperty as o,objectSpread2 as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as i,Fragment as l}from"react/jsx-runtime";import c,{Component as u}from"react";import{styled as d,Box as f,Modal as p,Backdrop as h}from"@mui/material";var m=c.createContext({close:function(){console.warn("GlobalModal provider not found!")},show:function(){console.warn("GlobalModal provider not found!")}}),C=function(t){return a(m.Consumer,{children:t})},b=function(){function s(t){var e;return n(this,s),e=r(this,s,[t]),o(e,"show",(function(t){e.setState(t)})),o(e,"close",(function(t,n){"backdropClick"===n&&!1===e.state.backdropActivated||e.setState({renderContent:void 0})})),o(e,"renderContent",(function(){return e.state.renderContent?e.state.renderContent():a(l,{})})),e.state={},e}return t(s,u),e(s,[{key:"render",value:function(){return i(m.Provider,{value:this,children:[this.props.children,a(p,{open:!!this.state.renderContent,onClose:this.close,slots:{backdrop:h},slotProps:{backdrop:{timeout:300}},sx:this.state.sx,children:a(v,{sx:this.state.sxWrap,children:this.renderContent()})})]})}}])}(),v=d(f)({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",outline:"none"}),x=function(t){return function(e){return a(b,{children:C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))})}},k=function(t){return function(e){return C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))}};export{b as GlobalModal,m as GlobalModalContext,b as default,C as mapGlobalModalContext,k as withApiGlobalModalConsumerContext,x as withApiGlobalModalContext};
2
- //# sourceMappingURL=global-modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-modal.js","sources":["../../src/api-context/global-modal.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Backdrop, Box, Modal, SxProps, styled } from '@mui/material'\r\n\r\nexport interface GlobalModalState {\r\n sx?: SxProps\r\n sxWrap?: SxProps\r\n /** @default true */\r\n backdropActivated?: boolean\r\n onClose?: (reason?: TModalReason) => void\r\n renderContent?: () => React.ReactNode\r\n}\r\n\r\nexport type TModalReason = 'backdropClick' | 'escapeKeyDown'\r\n\r\ninterface GlobalModalProps {}\r\n\r\nexport type TShowModal = (value: GlobalModalState) => void\r\n\r\nexport type TCloseModal = (event?: {}, reason?: TModalReason) => void\r\n\r\nexport interface IGlobalModalContext {\r\n show: TShowModal\r\n close: TCloseModal\r\n}\r\n\r\nexport const GlobalModalContext = React.createContext<IGlobalModalContext>({\r\n close: () => {\r\n console.warn('GlobalModal provider not found!')\r\n },\r\n show: () => {\r\n console.warn('GlobalModal provider not found!')\r\n }\r\n})\r\n\r\nexport interface IMapGlobalModal {\r\n context: IGlobalModalContext\r\n}\r\n\r\nexport const mapGlobalModalContext = (context: (state: IGlobalModalContext) => React.ReactNode) => (\r\n <GlobalModalContext.Consumer>{context}</GlobalModalContext.Consumer>\r\n)\r\n\r\nexport class GlobalModal extends Component<React.PropsWithChildren<GlobalModalProps>, GlobalModalState> implements IGlobalModalContext {\r\n constructor(props: any) {\r\n super(props)\r\n this.state = {}\r\n }\r\n\r\n show: TShowModal = (value) => {\r\n this.setState(value)\r\n }\r\n\r\n close: TCloseModal = (_, reason) => {\r\n if (reason === 'backdropClick' && this.state.backdropActivated === false) return\r\n this.setState({ renderContent: undefined })\r\n }\r\n\r\n render() {\r\n return (\r\n <GlobalModalContext.Provider value={this}>\r\n {this.props.children}\r\n <Modal\r\n open={!!this.state.renderContent}\r\n onClose={this.close}\r\n slots={{ backdrop: Backdrop }}\r\n slotProps={{ backdrop: { timeout: 300 } }}\r\n sx={this.state.sx}\r\n >\r\n <Wrapper sx={this.state.sxWrap}>{this.renderContent()}</Wrapper>\r\n </Modal>\r\n </GlobalModalContext.Provider>\r\n )\r\n }\r\n\r\n renderContent = (): React.ReactNode => {\r\n return this.state.renderContent ? this.state.renderContent() : <></>\r\n }\r\n}\r\nexport default GlobalModal\r\n\r\nconst Wrapper = styled(Box)({\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n outline: 'none'\r\n})\r\n\r\nexport interface IApiGlobalModalContextProps {\r\n contextGlobalModal: IGlobalModalContext\r\n}\r\n\r\nexport const withApiGlobalModalContext = <P extends IApiGlobalModalContextProps>(Component: React.ComponentType<P>) => {\r\n return (props: Omit<P, keyof IApiGlobalModalContextProps>) => {\r\n return (\r\n <GlobalModal>\r\n {mapGlobalModalContext((context) => (\r\n <Component {...(props as P)} contextGlobalModal={context} />\r\n ))}\r\n </GlobalModal>\r\n )\r\n }\r\n}\r\n\r\nexport const withApiGlobalModalConsumerContext = <P extends IApiGlobalModalContextProps>(Component: React.ComponentType<P>) => {\r\n return (props: Omit<P, keyof IApiGlobalModalContextProps>) => {\r\n return mapGlobalModalContext((context) => <Component {...(props as P)} contextGlobalModal={context} />)\r\n }\r\n}\r\n"],"names":["GlobalModalContext","React","createContext","close","console","warn","show","mapGlobalModalContext","context","_jsx","Consumer","GlobalModal","props","_this","_classCallCheck","_callSuper","_defineProperty","value","setState","_","reason","state","backdropActivated","renderContent","undefined","_inherits","Component","_createClass","key","_jsxs","Provider","this","children","Modal","open","onClose","slots","backdrop","Backdrop","slotProps","timeout","sx","Wrapper","sxWrap","styled","Box","position","top","left","transform","outline","withApiGlobalModalContext","_objectSpread","contextGlobalModal","withApiGlobalModalConsumerContext"],"mappings":"iVAyBaA,EAAqBC,EAAMC,cAAmC,CACzEC,MAAO,WACLC,QAAQC,KAAK,kCACd,EACDC,KAAM,WACJF,QAAQC,KAAK,kCACf,IAOWE,EAAwB,SAACC,GAAwD,OAC5FC,EAACT,EAAmBU,mBAAUF,GAAsC,EAGzDG,aACX,SAAAA,EAAYC,GAAU,IAAAC,EAEL,OAFKC,OAAAH,GACpBE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAIK,QAAA,SAACI,GAClBJ,EAAKK,SAASD,MACfD,EAAAH,EAAA,SAEoB,SAACM,EAAGC,GACR,kBAAXA,IAA+D,IAAjCP,EAAKQ,MAAMC,mBAC7CT,EAAKK,SAAS,CAAEK,mBAAeC,OAChCR,EAAAH,EAAA,iBAmBe,WACd,OAAOA,EAAKQ,MAAME,cAAgBV,EAAKQ,MAAME,gBAAkBd,WA9B/DI,EAAKQ,MAAQ,CAAE,EAAAR,CACjB,CAAC,OAAAY,EAAAd,EAJ8Be,GAI9BC,EAAAhB,EAAA,CAAA,CAAAiB,IAAA,SAAAX,MAWD,WACE,OACEY,EAAC7B,EAAmB8B,UAASb,MAAOc,KAAIC,SAAA,CACrCD,KAAKnB,MAAMoB,SACZvB,EAACwB,EAAK,CACJC,OAAQH,KAAKV,MAAME,cACnBY,QAASJ,KAAK5B,MACdiC,MAAO,CAAEC,SAAUC,GACnBC,UAAW,CAAEF,SAAU,CAAEG,QAAS,MAClCC,GAAIV,KAAKV,MAAMoB,GAEfT,SAAAvB,EAACiC,EAAQ,CAAAD,GAAIV,KAAKV,MAAMsB,OAASX,SAAAD,KAAKR,sBAI9C,IAAC,IAQGmB,EAAUE,EAAOC,EAAPD,CAAY,CAC1BE,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,wBACXC,QAAS,SAOEC,EAA4B,SAAwCzB,GAC/E,OAAO,SAACd,GACN,OACEH,EAACE,EACE,CAAAqB,SAAAzB,GAAsB,SAACC,GAAO,OAC7BC,EAACiB,EAAS0B,EAAAA,KAAMxC,GAAW,GAAA,CAAEyC,mBAAoB7C,IAClD,KAGN,CACH,EAEa8C,EAAoC,SAAwC5B,GACvF,OAAO,SAACd,GACN,OAAOL,GAAsB,SAACC,GAAO,OAAKC,EAACiB,EAAS0B,EAAAA,KAAMxC,GAAW,GAAA,CAAEyC,mBAAoB7C,OAC5F,CACH"}
@@ -1,2 +0,0 @@
1
- import{inherits as o,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import c,{Component as s}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h={open:function(){console.warn("PopoverGlobal provider not found!")},close:function(){console.warn("PopoverGlobal provider not found!")}},f=c.createContext(h),v=function(o){return l(f.Consumer,{children:o})},m=function(){function c(o){var e;return r(this,c),e=n(this,c,[o]),i(e,"openPopover",(function(o){clearTimeout(e.timer),e.setState(t({},o))})),i(e,"closePopover",(function(){clearTimeout(e.timer),e.setState({anchorEl:null},(function(){e.timer=setTimeout((function(){e.setState({content:l(p,{})})}),500)}))})),e.state={anchorEl:null,content:l(p,{})},e}return o(c,s),e(c,[{key:"componentDidMount",value:function(){h.open=this.openPopover,h.close=this.closePopover}},{key:"render",value:function(){var o=this;return a(f.Provider,{value:{open:this.openPopover,close:this.closePopover},children:[this.props.children,l(u,t(t({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(e,t){return o.closePopover(t)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),d=function(o){return function(e){return l(m,{children:v((function(r){return l(o,t(t({},e),{},{contextPopover:r}))}))})}},P={Provider:m,Api:h,Context:f,mapContext:v};export{h as PopoverGlobalApi,f as PopoverGlobalContext,m as PopoverGlobalProvider,P as default,v as mapPopoverGlobalContext,d as withPopoverGlobalContext};
2
- //# sourceMappingURL=popover-global.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-global.js","sources":["../../src/api-context/popover-global.tsx"],"sourcesContent":["import React, { Component, PropsWithChildren } from 'react'\r\nimport { Popover, PopoverProps, PopoverVirtualElement } from '@mui/material'\r\nimport { ContentDefault } from './ui.units'\r\n\r\nexport interface PopoverGlobalState {\r\n anchorEl?: Element | (() => Element) | PopoverVirtualElement | (() => PopoverVirtualElement) | null\r\n popoverProps?: Omit<PopoverProps, 'open'>\r\n content: React.ReactNode\r\n}\r\n\r\nexport type OpenPopover = (value: PopoverGlobalState) => void\r\n\r\nexport type ClosePopover = (reason?: 'backdropClick' | 'escapeKeyDown') => void\r\n\r\nexport interface PopoverGlobalContext {\r\n open: OpenPopover\r\n close: ClosePopover\r\n}\r\n\r\nexport const PopoverGlobalApi: PopoverGlobalContext = {\r\n open: () => {\r\n console.warn('PopoverGlobal provider not found!')\r\n },\r\n close: () => {\r\n console.warn('PopoverGlobal provider not found!')\r\n }\r\n}\r\n\r\nexport const PopoverGlobalContext = React.createContext<PopoverGlobalContext>(PopoverGlobalApi)\r\n\r\nexport const mapPopoverGlobalContext = (context: (state: PopoverGlobalContext) => React.ReactNode) => (\r\n <PopoverGlobalContext.Consumer>{context}</PopoverGlobalContext.Consumer>\r\n)\r\n\r\ninterface IProps extends PropsWithChildren {}\r\n\r\nexport class PopoverGlobalProvider extends Component<IProps, PopoverGlobalState> {\r\n constructor(props: any) {\r\n super(props)\r\n this.state = { anchorEl: null, content: <ContentDefault /> }\r\n }\r\n\r\n componentDidMount() {\r\n PopoverGlobalApi.open = this.openPopover\r\n PopoverGlobalApi.close = this.closePopover\r\n }\r\n\r\n render() {\r\n return (\r\n <PopoverGlobalContext.Provider value={{ open: this.openPopover, close: this.closePopover }}>\r\n {this.props.children}\r\n <Popover\r\n sx={{ '& .MuiPaper-root.MuiPaper-elevation': { overflow: 'hidden' } }}\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={(_, reason) => this.closePopover(reason)}\r\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n disableScrollLock\r\n {...this.state.popoverProps}\r\n >\r\n {this.state.content}\r\n </Popover>\r\n </PopoverGlobalContext.Provider>\r\n )\r\n }\r\n\r\n openPopover: OpenPopover = (option) => {\r\n clearTimeout(this.timer)\r\n this.setState({ ...option })\r\n }\r\n\r\n timer: any\r\n closePopover: ClosePopover = () => {\r\n clearTimeout(this.timer)\r\n this.setState({ anchorEl: null }, () => {\r\n this.timer = setTimeout(() => {\r\n this.setState({ content: <ContentDefault /> })\r\n }, 500)\r\n })\r\n }\r\n}\r\n\r\nexport interface IPopoverGlobalContextProps {\r\n contextPopover: PopoverGlobalContext\r\n}\r\n\r\nexport const withPopoverGlobalContext = <P extends IPopoverGlobalContextProps>(Component: React.ComponentType<P>) => {\r\n return (props: Omit<P, keyof IPopoverGlobalContextProps>) => {\r\n return (\r\n <PopoverGlobalProvider>\r\n {mapPopoverGlobalContext((context) => (\r\n <Component {...(props as P)} contextPopover={context} />\r\n ))}\r\n </PopoverGlobalProvider>\r\n )\r\n }\r\n}\r\n\r\nconst PopoverGlobal = {\r\n Provider: PopoverGlobalProvider,\r\n Api: PopoverGlobalApi,\r\n Context: PopoverGlobalContext,\r\n mapContext: mapPopoverGlobalContext\r\n}\r\n\r\nexport default PopoverGlobal\r\n"],"names":["PopoverGlobalApi","open","console","warn","close","PopoverGlobalContext","React","createContext","mapPopoverGlobalContext","context","_jsx","Consumer","PopoverGlobalProvider","props","_this","_classCallCheck","_callSuper","_defineProperty","option","clearTimeout","timer","setState","_objectSpread","anchorEl","setTimeout","content","ContentDefault","state","_inherits","Component","_createClass","key","value","this","openPopover","closePopover","_this2","_jsxs","Provider","children","Popover","sx","overflow","Boolean","onClose","_","reason","anchorOrigin","vertical","horizontal","transformOrigin","disableScrollLock","popoverProps","withPopoverGlobalContext","contextPopover","PopoverGlobal","Api","Context","mapContext"],"mappings":"6UAmBO,IAAMA,EAAyC,CACpDC,KAAM,WACJC,QAAQC,KAAK,oCACd,EACDC,MAAO,WACLF,QAAQC,KAAK,oCACf,GAGWE,EAAuBC,EAAMC,cAAoCP,GAEjEQ,EAA0B,SAACC,GAAyD,OAC/FC,EAACL,EAAqBM,mBAAUF,GAAwC,EAK7DG,aACX,SAAAA,EAAYC,GAAU,IAAAC,EAEwC,OAFxCC,OAAAH,GACpBE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EA6Ba,eAAA,SAACI,GAC1BC,aAAaL,EAAKM,OAClBN,EAAKO,SAAQC,EAAMJ,CAAAA,EAAAA,OACpBD,EAAAH,EAAA,gBAG4B,WAC3BK,aAAaL,EAAKM,OAClBN,EAAKO,SAAS,CAAEE,SAAU,OAAQ,WAChCT,EAAKM,MAAQI,YAAW,WACtBV,EAAKO,SAAS,CAAEI,QAASf,EAACgB,EAAc,CAAA,IACzC,GAAE,IACL,OAxCAZ,EAAKa,MAAQ,CAAEJ,SAAU,KAAME,QAASf,EAACgB,EAAc,CAAA,IAAKZ,CAC9D,CAAC,OAAAc,EAAAhB,EAJwCiB,GAIxCC,EAAAlB,EAAA,CAAA,CAAAmB,IAAA,oBAAAC,MAED,WACEhC,EAAiBC,KAAOgC,KAAKC,YAC7BlC,EAAiBI,MAAQ6B,KAAKE,YAChC,GAAC,CAAAJ,IAAA,SAAAC,MAED,WAAM,IAAAI,EAAAH,KACJ,OACEI,EAAChC,EAAqBiC,SAAS,CAAAN,MAAO,CAAE/B,KAAMgC,KAAKC,YAAa9B,MAAO6B,KAAKE,cAAcI,SAAA,CACvFN,KAAKpB,MAAM0B,SACZ7B,EAAC8B,EAAOlB,EAAAA,EAAA,CACNmB,GAAI,CAAE,sCAAuC,CAAEC,SAAU,WACzDnB,SAAUU,KAAKN,MAAMJ,SACrBtB,KAAM0C,QAAQV,KAAKN,MAAMJ,UACzBqB,QAAS,SAACC,EAAGC,GAAM,OAAKV,EAAKD,aAAaW,EAAO,EACjDC,aAAc,CAAEC,SAAU,SAAUC,WAAY,SAChDC,gBAAiB,CAAEF,SAAU,MAAOC,WAAY,SAChDE,mBAAiB,GACblB,KAAKN,MAAMyB,cAAY,CAAA,EAAA,CAAAb,SAE1BN,KAAKN,MAAMF,aAIpB,IAAC,IAsBU4B,EAA2B,SAAuCxB,GAC7E,OAAO,SAAChB,GACN,OACEH,EAACE,EACE,CAAA2B,SAAA/B,GAAwB,SAACC,GAAO,OAC/BC,EAACmB,EAASP,EAAAA,KAAMT,GAAW,GAAA,CAAEyC,eAAgB7C,IAC9C,KAGN,CACH,EAEM8C,EAAgB,CACpBjB,SAAU1B,EACV4C,IAAKxD,EACLyD,QAASpD,EACTqD,WAAYlD"}
@@ -1,2 +0,0 @@
1
- import{inherits as o,createClass as t,objectSpread2 as r,classCallCheck as e,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as s}from"react/jsx-runtime";import c,{Component as l}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h=c.createContext({showPopover:function(){console.warn("ApiPopover provider not found!")},closePopover:function(){console.warn("ApiPopover provider not found!")}}),f=function(o){return s(h.Consumer,{children:o})},m=function(){function c(o){var t;return e(this,c),t=n(this,c,[o]),i(t,"showPopover",(function(o){clearTimeout(t.timer),t.setState(r({},o))})),i(t,"closePopover",(function(){clearTimeout(t.timer),t.setState({anchorEl:null},(function(){t.timer=setTimeout((function(){t.setState({content:s(p,{})})}),500)}))})),t.state={anchorEl:null,content:s(p,{})},t}return o(c,l),t(c,[{key:"render",value:function(){var o=this;return a(h.Provider,{value:this,children:[this.props.children,s(u,r(r({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(t,r){return o.closePopover(r)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),v=function(o){return function(t){return s(m,{children:f((function(e){return s(o,r(r({},t),{},{contextPopover:e}))}))})}};export{h as ApiPopoverContext,m as default,f as mapApiPopoverContext,v as withApiPopoverContext};
2
- //# sourceMappingURL=popover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.js","sources":["../../src/api-context/popover.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { Popover, PopoverProps, PopoverVirtualElement } from '@mui/material'\r\nimport { ContentDefault } from './ui.units'\r\n\r\nexport interface IPopoverOptions {\r\n anchorEl?: Element | (() => Element) | PopoverVirtualElement | (() => PopoverVirtualElement) | null\r\n popoverProps?: Omit<PopoverProps, 'open'>\r\n content: React.ReactNode\r\n}\r\n\r\nexport type TShowPopover = (option: IPopoverOptions) => void\r\n\r\nexport type TClosePopover = (reason?: 'backdropClick' | 'escapeKeyDown') => void\r\n\r\nexport interface IApiPopoverContext {\r\n showPopover: TShowPopover\r\n closePopover: TClosePopover\r\n}\r\n\r\nexport const ApiPopoverContext = React.createContext<IApiPopoverContext>({\r\n showPopover: () => {\r\n console.warn('ApiPopover provider not found!')\r\n },\r\n closePopover: () => {\r\n console.warn('ApiPopover provider not found!')\r\n }\r\n})\r\n\r\nexport const mapApiPopoverContext = (context: (state: IApiPopoverContext) => React.ReactNode) => (\r\n <ApiPopoverContext.Consumer>{context}</ApiPopoverContext.Consumer>\r\n)\r\n\r\ninterface IProps {}\r\ninterface IState extends IPopoverOptions {}\r\ntype TProps = React.PropsWithChildren<IProps>\r\nclass ApiPopover extends Component<TProps, IState> implements IApiPopoverContext {\r\n constructor(props: any) {\r\n super(props)\r\n this.state = { anchorEl: null, content: <ContentDefault /> }\r\n }\r\n render() {\r\n return (\r\n <ApiPopoverContext.Provider value={this}>\r\n {this.props.children}\r\n <Popover\r\n sx={{ '& .MuiPaper-root.MuiPaper-elevation': { overflow: 'hidden' } }}\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={(_, reason) => this.closePopover(reason)}\r\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n disableScrollLock\r\n {...this.state.popoverProps}\r\n >\r\n {this.state.content}\r\n </Popover>\r\n </ApiPopoverContext.Provider>\r\n )\r\n }\r\n showPopover = (option: IPopoverOptions) => {\r\n clearTimeout(this.timer)\r\n this.setState({ ...option })\r\n }\r\n timer: any\r\n closePopover: TClosePopover = () => {\r\n clearTimeout(this.timer)\r\n this.setState({ anchorEl: null }, () => {\r\n this.timer = setTimeout(() => {\r\n this.setState({ content: <ContentDefault /> })\r\n }, 500)\r\n })\r\n }\r\n}\r\nexport default ApiPopover\r\n\r\nexport interface IApiPopoverContextProps {\r\n contextPopover: IApiPopoverContext\r\n}\r\nexport const withApiPopoverContext = <P extends IApiPopoverContextProps>(Component: React.ComponentType<P>) => {\r\n return (props: Omit<P, keyof IApiPopoverContextProps>) => {\r\n return (\r\n <ApiPopover>\r\n {mapApiPopoverContext((context) => (\r\n <Component {...(props as P)} contextPopover={context} />\r\n ))}\r\n </ApiPopover>\r\n )\r\n }\r\n}\r\n"],"names":["ApiPopoverContext","React","createContext","showPopover","console","warn","closePopover","mapApiPopoverContext","context","_jsx","Consumer","ApiPopover","props","_this","_classCallCheck","_callSuper","_defineProperty","option","clearTimeout","timer","setState","_objectSpread","anchorEl","setTimeout","content","ContentDefault","state","_inherits","Component","_createClass","key","value","_this2","this","_jsxs","Provider","children","Popover","sx","overflow","open","Boolean","onClose","_","reason","anchorOrigin","vertical","horizontal","transformOrigin","disableScrollLock","popoverProps","withApiPopoverContext","contextPopover"],"mappings":"iVAmBaA,EAAoBC,EAAMC,cAAkC,CACvEC,YAAa,WACXC,QAAQC,KAAK,iCACd,EACDC,aAAc,WACZF,QAAQC,KAAK,iCACf,IAGWE,EAAuB,SAACC,GAAuD,OAC1FC,EAACT,EAAkBU,mBAAUF,GAAqC,EAM9DG,aACJ,SAAAA,EAAYC,GAAU,IAAAC,EAEwC,OAFxCC,OAAAH,GACpBE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAsBA,eAAA,SAACI,GACbC,aAAaL,EAAKM,OAClBN,EAAKO,SAAQC,EAAMJ,CAAAA,EAAAA,OACpBD,EAAAH,EAAA,gBAE6B,WAC5BK,aAAaL,EAAKM,OAClBN,EAAKO,SAAS,CAAEE,SAAU,OAAQ,WAChCT,EAAKM,MAAQI,YAAW,WACtBV,EAAKO,SAAS,CAAEI,QAASf,EAACgB,EAAc,CAAA,IACzC,GAAE,IACL,OAhCAZ,EAAKa,MAAQ,CAAEJ,SAAU,KAAME,QAASf,EAACgB,EAAc,CAAA,IAAKZ,CAC9D,CAAC,OAAAc,EAAAhB,EAJsBiB,GAItBC,EAAAlB,EAAA,CAAA,CAAAmB,IAAA,SAAAC,MACD,WAAM,IAAAC,EAAAC,KACJ,OACEC,EAAClC,EAAkBmC,SAAS,CAAAJ,MAAOE,KAChCG,SAAA,CAAAH,KAAKrB,MAAMwB,SACZ3B,EAAC4B,EAAOhB,EAAAA,EAAA,CACNiB,GAAI,CAAE,sCAAuC,CAAEC,SAAU,WACzDjB,SAAUW,KAAKP,MAAMJ,SACrBkB,KAAMC,QAAQR,KAAKP,MAAMJ,UACzBoB,QAAS,SAACC,EAAGC,GAAM,OAAKZ,EAAK1B,aAAasC,EAAO,EACjDC,aAAc,CAAEC,SAAU,SAAUC,WAAY,SAChDC,gBAAiB,CAAEF,SAAU,MAAOC,WAAY,SAChDE,mBAAiB,GACbhB,KAAKP,MAAMwB,cAAY,CAAA,EAAA,CAE1Bd,SAAAH,KAAKP,MAAMF,aAIpB,IAAC,IAoBU2B,EAAwB,SAAoCvB,GACvE,OAAO,SAAChB,GACN,OACEH,EAACE,EACE,CAAAyB,SAAA7B,GAAqB,SAACC,GAAO,OAC5BC,EAACmB,EAASP,EAAAA,KAAMT,GAAW,GAAA,CAAEwC,eAAgB5C,IAC9C,KAGN,CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui.units.js","sources":["../../src/api-context/ui.units.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, Typography } from '@mui/material'\r\n\r\nexport const ContentDefault: FC = () => (\r\n <Box sx={{ p: '9px 12px', m: '12px', backgroundColor: 'rgba(0,0,0,0.1)' }}>\r\n <Typography variant='caption' sx={{ fontWeight: 600, fontStyle: 'italic' }}>\r\n Content\r\n </Typography>\r\n </Box>\r\n)\r\n"],"names":["ContentDefault","_jsx","Box","sx","p","m","backgroundColor","children","Typography","variant","fontWeight","fontStyle"],"mappings":"4FAGaA,IAAAA,EAAqB,WAAP,OACzBC,EAACC,EAAG,CAACC,GAAI,CAAEC,EAAG,WAAYC,EAAG,OAAQC,gBAAiB,mBAAmBC,SACvEN,EAACO,EAAU,CAACC,QAAQ,UAAUN,GAAI,CAAEO,WAAY,IAAKC,UAAW,UAAUJ,SAAA,aAGtE"}
@@ -1,2 +0,0 @@
1
- import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,jsxs as e}from"react/jsx-runtime";import{styled as t,Box as n,Breadcrumbs as i,Typography as l}from"@mui/material";import a from"@mui/icons-material/ArrowBackIos";var c=function(t){var n,c=null!==(n=t.value)&&void 0!==n?n:[];return o(i,{children:c.map((function(t,n){var i,c,p=!!t.onClick||!!t.url;return e(u,r(r({},null!==(c=(i=t).props)&&void 0!==c?c:i.url?{component:"a",href:i.url}:{}),{},{onClick:t.onClick?function(r){return function(r,o){r.preventDefault(),r.stopPropagation(),o.onClick&&o.onClick(r)}(r,t)}:void 0,className:p?"clickable":"",children:[n<1&&o(a,{fontSize:"small"}),o(l,{variant:"subtitle1",noWrap:!0,children:o("span",{children:t.label})})]}),"key"+n)}))})},u=t(n)((function(r){var o=r.theme;return{display:"flex",alignItems:"center",color:"var(--color-title, ".concat(o.palette.text.primary,")"),".MuiTypography-root":{color:"currentColor",fontWeight:600},".MuiSvgIcon-root":{color:"currentColor",fontSize:o.typography.pxToRem(16),marginRight:o.spacing(.5)},"&[href]":{textDecoration:"none",cursor:"pointer","&:hover":{textDecoration:"underline",color:"var(--color-title-hover, ".concat(o.palette.primary.main,")")}}}}));export{c as Breadcrumbs,c as default};
2
- //# sourceMappingURL=breadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumbs.js","sources":["../../src/components/breadcrumbs.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, Breadcrumbs as MUIBreadcrumbs, styled, Typography, TypographyProps } from '@mui/material'\r\nimport ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'\r\n\r\nexport interface IBreadcrumbConfig {\r\n label: string\r\n url?: string\r\n props?: TypographyProps & { [key: string]: any }\r\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\r\n}\r\n\r\nexport interface IBreadcrumbsProps {\r\n value?: IBreadcrumbConfig[]\r\n}\r\n\r\nexport const Breadcrumbs: FC<IBreadcrumbsProps> = (props) => {\r\n const list = props.value ?? []\r\n\r\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>, x: IBreadcrumbConfig) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n x.onClick && x.onClick(e)\r\n }\r\n\r\n const getItemProps = (item: IBreadcrumbConfig): TypographyProps => {\r\n return item.props ?? (item.url ? ({ component: 'a', href: item.url } as TypographyProps) : {})\r\n }\r\n\r\n return (\r\n <MUIBreadcrumbs>\r\n {list.map((x, i) => {\r\n const isClick = !!x.onClick || !!x.url\r\n return (\r\n <WrapTypography\r\n key={'key' + i}\r\n {...getItemProps(x)}\r\n onClick={x.onClick ? (e: any) => handleClick(e, x) : undefined}\r\n className={isClick ? 'clickable' : ''}\r\n >\r\n {i < 1 && <ArrowBackIosIcon fontSize='small' />}\r\n <Typography variant='subtitle1' noWrap>\r\n <span>{x.label}</span>\r\n </Typography>\r\n </WrapTypography>\r\n )\r\n })}\r\n </MUIBreadcrumbs>\r\n )\r\n}\r\nexport default Breadcrumbs\r\n\r\nconst WrapTypography = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: `var(--color-title, ${theme.palette.text.primary})`,\r\n '.MuiTypography-root': {\r\n color: 'currentColor',\r\n fontWeight: 600\r\n },\r\n '.MuiSvgIcon-root': {\r\n color: 'currentColor',\r\n fontSize: theme.typography.pxToRem(16),\r\n marginRight: theme.spacing(0.5)\r\n },\r\n '&[href]': {\r\n textDecoration: 'none',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n textDecoration: 'underline',\r\n color: `var(--color-title-hover, ${theme.palette.primary.main})`\r\n }\r\n }\r\n}))\r\n"],"names":["Breadcrumbs","props","_props$value","list","value","_jsx","MUIBreadcrumbs","children","map","x","i","item","_item$props","isClick","onClick","url","_jsxs","WrapTypography","_objectSpread","getItemProps","component","href","e","preventDefault","stopPropagation","handleClick","undefined","className","ArrowBackIosIcon","fontSize","Typography","variant","noWrap","label","styled","Box","_ref","theme","display","alignItems","color","concat","palette","text","primary","fontWeight","typography","pxToRem","marginRight","spacing","textDecoration","cursor","main"],"mappings":"gQAeaA,EAAqC,SAACC,GAAS,IAAAC,EACpDC,EAAkB,QAAdD,EAAGD,EAAMG,aAAK,IAAAF,EAAAA,EAAI,GAY5B,OACEG,EAACC,EAAc,CAAAC,SACZJ,EAAKK,KAAI,SAACC,EAAGC,GACZ,IAPgBC,EAA4CC,EAOtDC,IAAYJ,EAAEK,WAAaL,EAAEM,IACnC,OACEC,EAACC,EAAcC,EAAAA,EAETC,CAAAA,EAVK,QAAjBP,GADoBD,EAWKF,GAVbR,aAAK,IAAAW,EAAAA,EAAKD,EAAKI,IAAO,CAAEK,UAAW,IAAKC,KAAMV,EAAKI,KAA4B,CAAE,GAUlE,GAAA,CACnBD,QAASL,EAAEK,QAAU,SAACQ,GAAM,OAlBlB,SAACA,EAAiDb,GACpEa,EAAEC,iBACFD,EAAEE,kBACFf,EAAEK,SAAWL,EAAEK,QAAQQ,EACxB,CAc0CG,CAAYH,EAAGb,EAAE,OAAGiB,EACrDC,UAAWd,EAAU,YAAc,GAElCN,SAAA,CAAAG,EAAI,GAAKL,EAACuB,GAAiBC,SAAS,UACrCxB,EAACyB,EAAW,CAAAC,QAAQ,YAAYC,QAAM,EAAAzB,SACpCF,mBAAOI,EAAEwB,aAPN,MAAQvB,EAWlB,KAGP,EAGMO,EAAiBiB,EAAOC,EAAPD,EAAY,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACjDC,QAAS,OACTC,WAAY,SACZC,MAAK,sBAAAC,OAAwBJ,EAAMK,QAAQC,KAAKC,QAAU,KAC1D,sBAAuB,CACrBJ,MAAO,eACPK,WAAY,KAEd,mBAAoB,CAClBL,MAAO,eACPX,SAAUQ,EAAMS,WAAWC,QAAQ,IACnCC,YAAaX,EAAMY,QAAQ,KAE7B,UAAW,CACTC,eAAgB,OAChBC,OAAQ,UACR,UAAW,CACTD,eAAgB,YAChBV,MAAK,4BAAAC,OAA8BJ,EAAMK,QAAQE,QAAQQ,KAAI,OAGlE"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as e,objectWithoutProperties as i,objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as n}from"react/jsx-runtime";import{styled as o,Button as l,Fade as a,CircularProgress as s}from"@mui/material";var d=["loading","children"],p=function(e){var o=e.loading,l=e.children,p=i(e,d);return t(c,r(r({},p),{},{disabled:p.disabled||o,children:[n(a,{in:!o,children:n("span",{children:l})}),n(a,{in:o,children:n("div",{className:"LoadingButton-progress",children:n(s,{size:24})})})]}))},c=o(l)(e({position:"relative"},".LoadingButton-progress",{position:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}));export{p as LoadingButton};
2
- //# sourceMappingURL=buttons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttons.js","sources":["../../src/components/buttons.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Button, ButtonProps, CircularProgress, Fade, styled } from '@mui/material'\r\n\r\nexport interface ILoadingButtonProps extends ButtonProps {\r\n loading?: boolean\r\n}\r\n\r\nexport const LoadingButton: FC<ILoadingButtonProps> = ({ loading, children, ...props }) => (\r\n <ButtonCustom {...props} disabled={props.disabled || loading}>\r\n <Fade in={!loading}>\r\n <span>{children}</span>\r\n </Fade>\r\n <Fade in={loading}>\r\n <div className='LoadingButton-progress'>\r\n <CircularProgress size={24} />\r\n </div>\r\n </Fade>\r\n </ButtonCustom>\r\n)\r\n\r\nconst ButtonCustom = styled(Button)({\r\n position: 'relative',\r\n [`.LoadingButton-progress`]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n }\r\n})\r\n"],"names":["LoadingButton","_ref","loading","children","props","_objectWithoutProperties","_excluded","_jsxs","ButtonCustom","_objectSpread","disabled","_jsx","Fade","in","className","CircularProgress","size","styled","Button","_defineProperty","position","top","left","width","height","display","alignItems","justifyContent"],"mappings":"4RAOaA,EAAyC,SAA5BC,GAAA,IAA+BC,EAAOD,EAAPC,QAASC,EAAQF,EAARE,SAAaC,EAAKC,EAAAJ,EAAAK,GAAA,OAClFC,EAACC,EAAYC,EAAAA,KAAKL,GAAK,GAAA,CAAEM,SAAUN,EAAMM,UAAYR,EAAOC,SAAA,CAC1DQ,EAACC,EAAI,CAACC,IAAKX,EACTC,SAAAQ,EAAA,OAAA,CAAAR,SAAOA,MAETQ,EAACC,EAAK,CAAAC,GAAIX,EAAOC,SACfQ,EAAK,MAAA,CAAAG,UAAU,yBACbX,SAAAQ,EAACI,EAAiB,CAAAC,KAAM,YAGf,EAGXR,EAAeS,EAAOC,EAAPD,CAAcE,EAAA,CACjCC,SAAU,YACmB,0BAAA,CAC3BA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNC,MAAO,OACPC,OAAQ,OACRC,QAAS,OACTC,WAAY,SACZC,eAAgB"}
@@ -1,2 +0,0 @@
1
- import{inherits as o,createClass as e,objectWithoutProperties as t,objectSpread2 as i,classCallCheck as r,callSuper as n,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as a}from"react";import{Tooltip as c,Box as p,IconButton as u}from"@mui/material";import d from"clipboard-copy";import m from"@mui/icons-material/Done";import h from"@mui/icons-material/ContentCopy";var f=["title"],C=function(){function C(o){var e;return r(this,C),e=n(this,C,[o]),l(e,"renderIcon",(function(){var o,t;if(null!==(o=e.props.slots)&&void 0!==o&&o.button){var r=e.props.slots.button;return s(r,{onClick:e.handleClickCopy,copied:e.state.copied})}var n=e.state.copied?m:h;return s(u,i(i({onClick:e.handleClickCopy},null===(t=e.props.slots)||void 0===t?void 0:t.buttonProps),{},{children:s(n,{fontSize:"small",sx:{color:"#606060"}})}))})),l(e,"handleClickCopy",(function(){e.debounceTime.start(),e.onCopy()})),l(e,"debounceTime",{cache:0,time:1500,start:function(){e.debounceTime.clear(),e.setState({copied:!0},(function(){e.debounceTime.cache=setTimeout((function(){e.setState({copied:!1})}),e.debounceTime.time)}))},clear:function(){clearTimeout(e.debounceTime.cache)}}),l(e,"onCopy",(function(){d(e.props.value),e.setState({showTooltip:!0})})),e.state={showTooltip:!1,copied:!1},e}return o(C,a),e(C,[{key:"render",value:function(){var o,e,r=this,n=this.state.copied?this.debounceTime.time-200:0,l=null!==(o=null===(e=this.props.slots)||void 0===e?void 0:e.tooltipProps)&&void 0!==o?o:{},a=l.title,u=t(l,f),d=this.state.copied?"Copied to clipboard!":null!=a?a:"Copy to clipboard";return s(c,i(i({arrow:!0,title:d,leaveDelay:n,open:this.state.showTooltip,onOpen:function(){return r.setState({showTooltip:!0})},onClose:function(){return r.setState({showTooltip:!1})}},u),{},{children:s(p,{sx:{display:"inline-block",flex:"0 0 auto"},children:this.renderIcon()})}))}}])}();export{C as CopyToClipboard,C as default};
2
- //# sourceMappingURL=copy-to-clipboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-to-clipboard.js","sources":["../../src/components/copy-to-clipboard.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Box, ButtonProps, IconButton, Tooltip, TooltipProps } from '@mui/material'\r\nimport copy from 'clipboard-copy'\r\nimport DoneIcon from '@mui/icons-material/Done'\r\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\r\n\r\nexport interface ICopyToClipboardProps {\r\n value: string\r\n slots?: {\r\n tooltipProps?: Partial<TooltipProps>\r\n button?: ComponentType<{ onClick: () => void; copied?: boolean }>\r\n buttonProps?: ButtonProps\r\n }\r\n}\r\n\r\nexport interface ICopyToClipboardState {\r\n showTooltip: boolean\r\n copied: boolean\r\n}\r\n\r\nexport class CopyToClipboard extends Component<ICopyToClipboardProps, ICopyToClipboardState> {\r\n constructor(props: ICopyToClipboardProps) {\r\n super(props)\r\n this.state = { showTooltip: false, copied: false }\r\n }\r\n\r\n render() {\r\n const leaveDelay = this.state.copied ? this.debounceTime.time - 200 : 0\r\n const { title, ...tooltipProps } = this.props.slots?.tooltipProps ?? {}\r\n const titleValue = this.state.copied ? 'Copied to clipboard!' : title ?? 'Copy to clipboard'\r\n return (\r\n <Tooltip\r\n arrow\r\n title={titleValue}\r\n leaveDelay={leaveDelay}\r\n open={this.state.showTooltip}\r\n onOpen={() => this.setState({ showTooltip: true })}\r\n onClose={() => this.setState({ showTooltip: false })}\r\n {...tooltipProps}\r\n >\r\n <Box sx={{ display: 'inline-block', flex: '0 0 auto' }}>{this.renderIcon()}</Box>\r\n </Tooltip>\r\n )\r\n }\r\n\r\n renderIcon = () => {\r\n if (this.props.slots?.button) {\r\n const ButtonComp = this.props.slots.button\r\n return <ButtonComp onClick={this.handleClickCopy} copied={this.state.copied} />\r\n }\r\n const Icon = this.state.copied ? DoneIcon : ContentCopyIcon\r\n return (\r\n <IconButton onClick={this.handleClickCopy} {...this.props.slots?.buttonProps}>\r\n <Icon fontSize='small' sx={{ color: '#606060' }} />\r\n </IconButton>\r\n )\r\n }\r\n\r\n handleClickCopy = () => {\r\n this.debounceTime.start()\r\n this.onCopy()\r\n }\r\n\r\n private debounceTime = {\r\n cache: 0 as any,\r\n time: 1500,\r\n start: () => {\r\n this.debounceTime.clear()\r\n this.setState({ copied: true }, () => {\r\n this.debounceTime.cache = setTimeout(() => {\r\n this.setState({ copied: false })\r\n }, this.debounceTime.time)\r\n })\r\n },\r\n clear: () => {\r\n clearTimeout(this.debounceTime.cache)\r\n }\r\n }\r\n\r\n private onCopy = () => {\r\n copy(this.props.value)\r\n this.setState({ showTooltip: true })\r\n }\r\n}\r\nexport default CopyToClipboard\r\n"],"names":["CopyToClipboard","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$props$slots","_this$props$slots2","slots","button","ButtonComp","_jsx","onClick","handleClickCopy","copied","state","Icon","DoneIcon","ContentCopyIcon","IconButton","_objectSpread","buttonProps","children","fontSize","sx","color","debounceTime","start","onCopy","cache","time","clear","setState","setTimeout","clearTimeout","copy","value","showTooltip","_inherits","Component","_createClass","key","_this$props$slots$too","_this$props$slots3","_this2","this","leaveDelay","_ref","tooltipProps","title","_objectWithoutProperties","_excluded","titleValue","Tooltip","arrow","open","onOpen","onClose","Box","display","flex","renderIcon"],"mappings":"4cAoBaA,aACX,SAAAA,EAAYC,GAA4B,IAAAC,EAEY,OAFZC,OAAAH,GACtCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAAA,cAuBD,WAAK,IAAAI,EAAAC,EAChB,GAAoB,QAApBD,EAAIJ,EAAKD,MAAMO,aAAK,IAAAF,GAAhBA,EAAkBG,OAAQ,CAC5B,IAAMC,EAAaR,EAAKD,MAAMO,MAAMC,OACpC,OAAOE,EAACD,EAAU,CAACE,QAASV,EAAKW,gBAAiBC,OAAQZ,EAAKa,MAAMD,QACtE,CACD,IAAME,EAAOd,EAAKa,MAAMD,OAASG,EAAWC,EAC5C,OACEP,EAACQ,EAAUC,EAAAA,EAAA,CAACR,QAASV,EAAKW,iBAAqC,QAAtBN,EAAML,EAAKD,MAAMO,aAAK,IAAAD,OAAA,EAAhBA,EAAkBc,aAAW,CAAA,EAAA,CAC1EC,SAAAX,EAACK,EAAK,CAAAO,SAAS,QAAQC,GAAI,CAAEC,MAAO,mBAGzCpB,EAAAH,EAAA,mBAEiB,WAChBA,EAAKwB,aAAaC,QAClBzB,EAAK0B,YACNvB,EAAAH,EAEsB,eAAA,CACrB2B,MAAO,EACPC,KAAM,KACNH,MAAO,WACLzB,EAAKwB,aAAaK,QAClB7B,EAAK8B,SAAS,CAAElB,QAAQ,IAAQ,WAC9BZ,EAAKwB,aAAaG,MAAQI,YAAW,WACnC/B,EAAK8B,SAAS,CAAElB,QAAQ,GAC1B,GAAGZ,EAAKwB,aAAaI,KACvB,GACD,EACDC,MAAO,WACLG,aAAahC,EAAKwB,aAAaG,MACjC,IACDxB,EAAAH,EAAA,UAEgB,WACfiC,EAAKjC,EAAKD,MAAMmC,OAChBlC,EAAK8B,SAAS,CAAEK,aAAa,OA1D7BnC,EAAKa,MAAQ,CAAEsB,aAAa,EAAOvB,QAAQ,GAAOZ,CACpD,CAAC,OAAAoC,EAAAtC,EAJkCuC,GAIlCC,EAAAxC,EAAA,CAAA,CAAAyC,IAAA,SAAAL,MAED,WAAM,IAAAM,EAAAC,EAAAC,EAAAC,KACEC,EAAaD,KAAK9B,MAAMD,OAAS+B,KAAKnB,aAAaI,KAAO,IAAM,EACtEiB,EAAiE,QAAjEL,UAAAC,EAAmCE,KAAK5C,MAAMO,aAAK,IAAAmC,OAAA,EAAhBA,EAAkBK,oBAAYN,IAAAA,EAAAA,EAAI,CAAE,EAA/DO,EAAKF,EAALE,MAAUD,EAAYE,EAAAH,EAAAI,GACxBC,EAAaP,KAAK9B,MAAMD,OAAS,uBAAyBmC,QAAAA,EAAS,oBACzE,OACEtC,EAAC0C,EAAOjC,EAAAA,EAAA,CACNkC,SACAL,MAAOG,EACPN,WAAYA,EACZS,KAAMV,KAAK9B,MAAMsB,YACjBmB,OAAQ,WAAF,OAAQZ,EAAKZ,SAAS,CAAEK,aAAa,GAAO,EAClDoB,QAAS,WAAF,OAAQb,EAAKZ,SAAS,CAAEK,aAAa,GAAQ,GAChDW,GAAY,GAAA,CAAA1B,SAEhBX,EAAC+C,EAAG,CAAClC,GAAI,CAAEmC,QAAS,eAAgBC,KAAM,YAAYtC,SAAGuB,KAAKgB,iBAGpE,IAAC"}
@@ -1,2 +0,0 @@
1
- import{defineProperty as n,slicedToArray as o,objectSpread2 as e,toConsumableArray as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,Fragment as i,jsx as r}from"react/jsx-runtime";import{useState as a,useCallback as c,useEffect as u}from"react";import{styled as s,Popover as d,Badge as p,badgeClasses as h,Box as m,Button as v,TextField as f,ToggleButtonGroup as g,ToggleButton as x,Typography as C,List as b,ListItem as y,FormControlLabel as P,Checkbox as w}from"@mui/material";import j from"@mui/icons-material/FilterAltOutlined";import{mergeObjects as z}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{HelpTooltip as A}from"./help-tooltip.js";function k(n){return function(s){var d,p,h,k,S,T,q,B,D,F,H,I,R,Y,_,E,M=a(""),W=o(M,2),X=W[0],G=W[1],J=a(null),K=o(J,2),Q=K[0],U=K[1],V=a(null!==(d=null!==(p=s.options)&&void 0!==p?p:n.options)&&void 0!==d?d:[]),Z=o(V,2),$=Z[0],nn=Z[1],on=a([]),en=o(on,2),ln=en[0],tn=en[1],rn=a(null!==(h=null===(k=s.slots)||void 0===k?void 0:k.defaultLogic)&&void 0!==h?h:"and"),an=o(rn,2),cn=an[0],un=an[1],sn={buttonProps:z(null==n?void 0:n.buttonProps,null===(S=s.slots)||void 0===S?void 0:S.buttonProps),contentProps:null!==(T=null!==(q=null===(B=s.slots)||void 0===B?void 0:B.contentPorps)&&void 0!==q?q:null==n?void 0:n.contentPorps)&&void 0!==T?T:{}},dn=c((function(){var n;s.value&&(un(null!==(n=s.value.logic)&&void 0!==n?n:"and"),tn(s.value.items))}),[s.value]),pn=function(n,o){U(null),setTimeout(dn,300)};return u((function(){s.options&&s.options.length>0&&nn(s.options)}),[s.options]),u((function(){dn()}),[dn]),t(i,{children:[t(v,e(e({color:"inherit",endIcon:r(j,{}),disabled:$.length<1},sn.buttonProps),{},{onClick:function(n){U(n.currentTarget)},children:[n.btnText,r(L,{badgeContent:null===(D=s.value)||void 0===D?void 0:D.items.length,color:"error",overlap:"circular",sx:{transform:"translateY(-50%) translateX(24px)"}})]})),t(O,{open:Boolean(Q),anchorEl:Q,onClose:pn,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:[t(N,{className:"top",children:[r(f,{size:"small",placeholder:null!==(F=n.placeholder)&&void 0!==F?F:"Search",fullWidth:!0,value:X,onChange:function(n){return G(n.target.value)}}),t(g,{size:"small",exclusive:!0,color:"primary",value:cn,onChange:function(n,o){o&&un(o)},children:[r(x,{value:"and",children:"AND"}),r(x,{value:"or",children:"OR"})]}),r(A,{title:"Filter Logic",small:!0,children:t(C,{variant:"body2",color:"text.secondary",children:["Choose how multiple categories are applied.",r("br",{}),r("strong",{children:" AND "})," requires all selected categories, while",r("br",{}),r("strong",{children:" OR "})," matches any."]})})]}),r(m,e(e({className:"menu-content"},sn.contentProps),{},{children:r(b,{children:(R=null!==(H=null===(I=s.value)||void 0===I?void 0:I.items)&&void 0!==H?H:[],Y=$.filter((function(n){return n.toLowerCase().includes(X.toLowerCase())})).sort((function(n,o){return n.localeCompare(o)})),_=Y.filter((function(n){return R.includes(n)})),E=Y.filter((function(n){return!R.includes(n)})),[].concat(l(_),l(E))).map((function(n){return r(y,{sx:{whiteSpace:"nowrap"},children:r(P,{label:n,control:r(w,{checked:ln.includes(n),onChange:function(){return o=n,void tn((function(n){return n.includes(o)?n.filter((function(n){return n!==o})):[].concat(l(n),[o])}));var o}})})},n)}))})})),t(N,{children:[r(v,{size:"small",onClick:function(){tn([]),s.onChange&&s.onChange({items:[],logic:cn})},color:"inherit",children:"Clear"}),r(m,{sx:{flex:1}}),r(v,{size:"small",onClick:function(){tn([]),pn()},color:"inherit",children:"Cancel"}),r(v,{size:"small",variant:"contained",onClick:function(){s.onChange&&s.onChange({items:ln,logic:cn}),pn()},children:"Apply"})]})]})]})}}var O=s(d)({".MuiPaper-root":{overflow:"hidden",position:"relative",width:"360px"},".menu-content":{overflowY:"auto",maxHeight:"".concat(290,"px"),margin:"2px 2px 2px 0"}}),L=s(p)(n({},"& .".concat(h.badge),{top:"-12px",right:"-6px"})),N=s(m)({alignItems:"center",display:"flex",gap:"6px",height:"58px",padding:"8px 10px",boxShadow:"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"});export{k as default};
2
- //# sourceMappingURL=create.multi-select-dropdown.js.map