dinocollab-core 1.0.3 → 1.0.5

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 (158) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -487
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/api-context/alert-global.js +1 -165
  4. package/dist/api-context/alert-global.js.map +1 -1
  5. package/dist/api-context/drawer-global.js +1 -111
  6. package/dist/api-context/drawer-global.js.map +1 -1
  7. package/dist/api-context/global-modal.js +1 -94
  8. package/dist/api-context/global-modal.js.map +1 -1
  9. package/dist/api-context/popover-global.js +1 -109
  10. package/dist/api-context/popover-global.js.map +1 -1
  11. package/dist/api-context/popover.js +1 -93
  12. package/dist/api-context/popover.js.map +1 -1
  13. package/dist/api-context/ui.units.js +1 -22
  14. package/dist/api-context/ui.units.js.map +1 -1
  15. package/dist/components/breadcrumbs.js +1 -64
  16. package/dist/components/breadcrumbs.js.map +1 -1
  17. package/dist/components/copy-to-clipboard.js +1 -111
  18. package/dist/components/copy-to-clipboard.js.map +1 -1
  19. package/dist/components/create.multi-select-dropdown.js +2 -0
  20. package/dist/components/create.multi-select-dropdown.js.map +1 -0
  21. package/dist/components/help-tooltip.js +1 -103
  22. package/dist/components/help-tooltip.js.map +1 -1
  23. package/dist/components/image-with-fallback.js +1 -50
  24. package/dist/components/image-with-fallback.js.map +1 -1
  25. package/dist/components/text-editor.js +1 -117
  26. package/dist/components/text-editor.js.map +1 -1
  27. package/dist/components/text-editor.preview.js +1 -26
  28. package/dist/components/text-editor.preview.js.map +1 -1
  29. package/dist/filter-bar/base.js +2 -0
  30. package/dist/filter-bar/base.js.map +1 -0
  31. package/dist/filter-bar/create.filter-bar.js +2 -0
  32. package/dist/filter-bar/create.filter-bar.js.map +1 -0
  33. package/dist/filter-bar/create.filter-menu.js +2 -0
  34. package/dist/filter-bar/create.filter-menu.js.map +1 -0
  35. package/dist/filter-bar/create.filter-panel.js +2 -0
  36. package/dist/filter-bar/create.filter-panel.js.map +1 -0
  37. package/dist/filter-bar/create.filtered.js +2 -0
  38. package/dist/filter-bar/create.filtered.js.map +1 -0
  39. package/dist/filter-bar/create.sort-menu.js +2 -0
  40. package/dist/filter-bar/create.sort-menu.js.map +1 -0
  41. package/dist/filter-bar/demo.js +2 -0
  42. package/dist/filter-bar/demo.js.map +1 -0
  43. package/dist/filter-bar/types.js +2 -0
  44. package/dist/filter-bar/types.js.map +1 -0
  45. package/dist/filter-bar/ui.units.js +2 -0
  46. package/dist/filter-bar/ui.units.js.map +1 -0
  47. package/dist/form/create.autocomplete.chips.js +1 -227
  48. package/dist/form/create.autocomplete.chips.js.map +1 -1
  49. package/dist/form/create.date-expired.js +1 -210
  50. package/dist/form/create.date-expired.js.map +1 -1
  51. package/dist/form/create.date-picker.js +1 -127
  52. package/dist/form/create.date-picker.js.map +1 -1
  53. package/dist/form/create.form-base.js +1 -140
  54. package/dist/form/create.form-base.js.map +1 -1
  55. package/dist/form/create.form-comfirm.js +1 -130
  56. package/dist/form/create.form-comfirm.js.map +1 -1
  57. package/dist/form/create.form-grid-layout.js +1 -187
  58. package/dist/form/create.form-grid-layout.js.map +1 -1
  59. package/dist/form/create.form-grid-layout.units.js +1 -41
  60. package/dist/form/create.form-grid-layout.units.js.map +1 -1
  61. package/dist/form/create.input.file.js +1 -78
  62. package/dist/form/create.input.file.js.map +1 -1
  63. package/dist/form/create.input.js +1 -275
  64. package/dist/form/create.input.js.map +1 -1
  65. package/dist/form/create.select-simple.js +1 -113
  66. package/dist/form/create.select-simple.js.map +1 -1
  67. package/dist/form/create.select-with-api.js +1 -276
  68. package/dist/form/create.select-with-api.js.map +1 -1
  69. package/dist/form/create.text-editor.js +1 -180
  70. package/dist/form/create.text-editor.js.map +1 -1
  71. package/dist/form/dino-form.js +1 -40
  72. package/dist/form/dino-form.js.map +1 -1
  73. package/dist/form/helper.js +1 -156
  74. package/dist/form/helper.js.map +1 -1
  75. package/dist/form/modal-wrapper.js +1 -81
  76. package/dist/form/modal-wrapper.js.map +1 -1
  77. package/dist/form/validator.js +1 -189
  78. package/dist/form/validator.js.map +1 -1
  79. package/dist/hooks/index.js +1 -47
  80. package/dist/hooks/index.js.map +1 -1
  81. package/dist/index.js +1 -32
  82. package/dist/index.js.map +1 -1
  83. package/dist/redux/create.hoc-lazy.js +1 -70
  84. package/dist/redux/create.hoc-lazy.js.map +1 -1
  85. package/dist/redux/dino.js +1 -10
  86. package/dist/redux/dino.js.map +1 -1
  87. package/dist/redux/types.js +1 -8
  88. package/dist/redux/types.js.map +1 -1
  89. package/dist/redux/ui.error-page.js +1 -88
  90. package/dist/redux/ui.error-page.js.map +1 -1
  91. package/dist/redux/vector-404.webp.js +1 -3
  92. package/dist/redux/vector-404.webp.js.map +1 -1
  93. package/dist/table/context.js +1 -14
  94. package/dist/table/context.js.map +1 -1
  95. package/dist/table/create.action-row.js +1 -143
  96. package/dist/table/create.action-row.js.map +1 -1
  97. package/dist/table/create.table.js +1 -245
  98. package/dist/table/create.table.js.map +1 -1
  99. package/dist/table/custom.filter-operators.js +1 -88
  100. package/dist/table/custom.filter-operators.js.map +1 -1
  101. package/dist/table/dino.js +1 -135
  102. package/dist/table/dino.js.map +1 -1
  103. package/dist/table/helpers.js +1 -114
  104. package/dist/table/helpers.js.map +1 -1
  105. package/dist/table/model-filter.js +1 -22
  106. package/dist/table/model-filter.js.map +1 -1
  107. package/dist/table/toolbar-pannel.js +1 -142
  108. package/dist/table/toolbar-pannel.js.map +1 -1
  109. package/dist/table/ui.buttons.js +1 -66
  110. package/dist/table/ui.buttons.js.map +1 -1
  111. package/dist/table/ui.units.js +1 -247
  112. package/dist/table/ui.units.js.map +1 -1
  113. package/dist/table-grid/create.table-grid.js +2 -0
  114. package/dist/table-grid/create.table-grid.js.map +1 -0
  115. package/dist/table-grid/dino.js +2 -0
  116. package/dist/table-grid/dino.js.map +1 -0
  117. package/dist/table-grid/helpers.js +2 -0
  118. package/dist/table-grid/helpers.js.map +1 -0
  119. package/dist/table-grid/item-actions.js +2 -0
  120. package/dist/table-grid/item-actions.js.map +1 -0
  121. package/dist/table-grid/toolbar-pannel.js +2 -0
  122. package/dist/table-grid/toolbar-pannel.js.map +1 -0
  123. package/dist/types/{lab → components}/create.multi-select-dropdown.d.ts +5 -5
  124. package/dist/types/components/index.d.ts +2 -0
  125. package/dist/types/index.d.ts +1 -0
  126. package/dist/types/lab/{create.select-mul-with-api/index.d.ts → select-mul-with-api/create.select-mul-with-api.d.ts} +1 -1
  127. package/dist/types/lab/select-mul-with-api/index.d.ts +2 -0
  128. package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/types.d.ts +1 -1
  129. package/dist/types/{lab/table-grid → table-grid}/item-actions.d.ts +1 -1
  130. package/dist/types/{lab/table-grid → table-grid}/toolbar-pannel.d.ts +1 -1
  131. package/dist/types/{lab/table-grid → table-grid}/types.d.ts +1 -1
  132. package/dist/utils/dayjs-config.js +1 -11
  133. package/dist/utils/dayjs-config.js.map +1 -1
  134. package/dist/utils/helpers.js +1 -198
  135. package/dist/utils/helpers.js.map +1 -1
  136. package/dist/utils/json-object.js +1 -37
  137. package/dist/utils/json-object.js.map +1 -1
  138. package/dist/utils/query-param.js +1 -171
  139. package/dist/utils/query-param.js.map +1 -1
  140. package/package.json +3 -8
  141. package/dist/index.d.ts +0 -928
  142. /package/dist/types/{lab/filter-bar → filter-bar}/base.d.ts +0 -0
  143. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-bar.d.ts +0 -0
  144. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-menu.d.ts +0 -0
  145. /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-panel.d.ts +0 -0
  146. /package/dist/types/{lab/filter-bar → filter-bar}/create.filtered.d.ts +0 -0
  147. /package/dist/types/{lab/filter-bar → filter-bar}/create.sort-menu.d.ts +0 -0
  148. /package/dist/types/{lab/filter-bar → filter-bar}/demo.d.ts +0 -0
  149. /package/dist/types/{lab/filter-bar → filter-bar}/index.d.ts +0 -0
  150. /package/dist/types/{lab/filter-bar → filter-bar}/types.d.ts +0 -0
  151. /package/dist/types/{lab/filter-bar → filter-bar}/ui.units.d.ts +0 -0
  152. /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/table-custom.d.ts +0 -0
  153. /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/ui.units.d.ts +0 -0
  154. /package/dist/types/{lab/table-grid → table-grid}/create.table-grid.d.ts +0 -0
  155. /package/dist/types/{lab/table-grid → table-grid}/demo.d.ts +0 -0
  156. /package/dist/types/{lab/table-grid → table-grid}/dino.d.ts +0 -0
  157. /package/dist/types/{lab/table-grid → table-grid}/helpers.d.ts +0 -0
  158. /package/dist/types/{lab/table-grid → table-grid}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sources":["../../src/form/validator.ts"],"sourcesContent":["import { formatFileSize } from '../utils'\r\n\r\nexport type IModelBase = { [key: string]: any }\r\n\r\nexport enum SingleRuleValidate {\r\n Required = 'Required',\r\n Regex = 'Regex',\r\n RequiredValue = 'RequiredValue',\r\n Array = 'Array',\r\n Number = 'Number',\r\n Email = 'Email',\r\n PhoneNumber = 'PhoneNumber',\r\n Url = 'Url',\r\n File = 'File',\r\n FileRequired = 'FileRequired',\r\n Custom = 'Custom'\r\n}\r\n\r\nconst MessageDefault = {\r\n Required: 'The {0} is required',\r\n Regex: 'The {0} is not match {1}',\r\n RequiredValue: 'the {0} is not equal {1}',\r\n Array: 'The {0} is not valid',\r\n Number: '{0} must be a number',\r\n Email: 'The {0} is not valid',\r\n PhoneNumber: 'The {0} is not valid',\r\n Url: 'The {0} is not valid',\r\n File: 'File size must be less than {1}',\r\n FileRequired: 'The {0} is required',\r\n Custom: 'Error Custom'\r\n}\r\n\r\nexport interface IRuleOptions {\r\n File: {\r\n maxSize: number\r\n // toal size of files\r\n all?: boolean\r\n }\r\n}\r\n\r\nexport const mapRuleOptions = <TK extends keyof IRuleOptions>(key: TK, options?: IRuleOptions[TK]) => options\r\n\r\nexport interface IRuleOption<TModel = any> {\r\n rule: SingleRuleValidate\r\n message?: string\r\n Value?: RegExp | ((value: any, model: TModel) => boolean) | number | Array<any> | boolean\r\n options?: any\r\n}\r\n\r\nexport interface IConfigValue<TModel = any> {\r\n Rules: IRuleOption<TModel>[]\r\n label?: string\r\n}\r\n\r\nexport interface IModelError {\r\n message: string\r\n error: boolean\r\n}\r\n\r\nexport type IFormValidatorConfig<TModel> = {\r\n [key in keyof Extract<TModel, IModelBase>]?: IConfigValue<TModel>\r\n}\r\n\r\nexport type IPartialError<TModel> = {\r\n [key in keyof TModel]?: IRuleOption<TModel>[]\r\n}\r\n\r\nexport default class FormValidator<TModel> {\r\n configs: IFormValidatorConfig<TModel>\r\n constructor(configs: IFormValidatorConfig<TModel>) {\r\n this.configs = configs\r\n }\r\n\r\n static initial = <T>(configs: IFormValidatorConfig<T>) => new FormValidator(configs)\r\n\r\n AddRules = (key: keyof TModel, ...rule: IRuleOption<TModel>[]) => {\r\n let fieldConfig = this.configs[key]\r\n if (!fieldConfig) {\r\n fieldConfig = { Rules: [] }\r\n this.configs[key] = fieldConfig\r\n }\r\n fieldConfig.Rules.push(...rule)\r\n return this\r\n }\r\n\r\n Required = (RuleOption: IRuleOption, value: any) => {\r\n return value === null || value === undefined || value === ''\r\n }\r\n Regex = (RuleOption: IRuleOption, value: string, Regex: RegExp) => {\r\n if (!value) return false\r\n return !(RuleOption.Value as RegExp).test(value)\r\n }\r\n RequiredValue = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return value !== RuleOption.Value\r\n }\r\n Custom = (RuleOption: IRuleOption, value: any, model: any) => {\r\n if (typeof RuleOption.Value === 'function') {\r\n return RuleOption.Value(value, model)\r\n }\r\n return true\r\n }\r\n Array = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n if (typeof RuleOption.Value === 'number') {\r\n return Array.isArray(value) ? value.length <= RuleOption.Value : true\r\n }\r\n return true\r\n }\r\n Number = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return isNaN(Number(value))\r\n }\r\n Email = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\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 PhoneNumber = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\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((value ?? '').trim())\r\n }\r\n Url = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n try {\r\n new URL(value)\r\n return false\r\n } catch (err) {\r\n return true\r\n }\r\n }\r\n File = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n const options = mapRuleOptions('File', RuleOption.options)\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n if (!options) return false\r\n if (options.all === true) {\r\n const size = files.reduce((a, b) => {\r\n a += b.size\r\n return a\r\n }, 0)\r\n return size > options.maxSize\r\n } else {\r\n return files.some((x) => x.size > options.maxSize)\r\n }\r\n }\r\n FileRequired = (RuleOption: IRuleOption, value: any) => {\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n return !!files.filter((x) => !!x).some((x) => x.size <= 0)\r\n }\r\n RenderMessage = (RuleOption: IRuleOption, key: string, label?: string) => {\r\n if (!RuleOption.message) {\r\n RuleOption.message = MessageDefault[RuleOption.rule].replace('{0}', label ?? key)\r\n switch (RuleOption.rule) {\r\n case SingleRuleValidate.Regex: {\r\n RuleOption.message = RuleOption.message.replace('{1}', (RuleOption.Value as RegExp).source)\r\n break\r\n }\r\n case SingleRuleValidate.RequiredValue: {\r\n RuleOption.message = RuleOption.message.replace('{1}', RuleOption.Value?.toString() ?? '')\r\n break\r\n }\r\n case SingleRuleValidate.File: {\r\n const options = mapRuleOptions('File', RuleOption.options)\r\n if (options?.all === true) {\r\n RuleOption.message = `Total file size must be less than ${formatFileSize((options?.maxSize ?? 0) / 1024)}`\r\n } else {\r\n RuleOption.message = RuleOption.message.replace('{1}', formatFileSize((options?.maxSize ?? 0) / 1024))\r\n }\r\n break\r\n }\r\n default:\r\n break\r\n }\r\n }\r\n RuleOption.message = RuleOption.message.replace('{0}', key)\r\n return RuleOption\r\n }\r\n run = (model: TModel) => {\r\n const keys = Object.keys(this.configs)\r\n const data: IPartialError<TModel> = {}\r\n keys.forEach((key) => {\r\n const config = this.configs[key]\r\n if (!config) return\r\n const tmp = this.Executed(config, (model as any)[key], model)\r\n if (tmp.length < 1) return\r\n ;(data as any)[key] = tmp.map((x) => this.RenderMessage(x, key, config.label))\r\n })\r\n return data\r\n }\r\n Executed = (Config: IConfigValue, valueField: any, model: any) => {\r\n return Config.Rules.filter((Value) => {\r\n const action = (this as any)[Value.rule.toString()]\r\n return action && action(Value, valueField, model)\r\n })\r\n }\r\n}\r\n\r\nexport const createFormValidator = <TModel>() => {\r\n return new FormValidator<Partial<TModel>>({})\r\n}\r\n"],"names":["SingleRuleValidate","MessageDefault","Required","Regex","RequiredValue","Array","Number","Email","PhoneNumber","Url","File","FileRequired","Custom","mapRuleOptions","key","options","FormValidator","_createClass","configs","_this","_classCallCheck","_defineProperty","_fieldConfig$Rules","fieldConfig","Rules","_len","arguments","length","rule","_key","push","apply","RuleOption","value","undefined","Value","test","model","isArray","isNaN","regex","phoneRegex","trim","URL","err","files","all","size","reduce","a","b","maxSize","some","x","filter","label","message","replace","source","_RuleOption$Value$toS","_RuleOption$Value","toString","_options$maxSize","concat","formatFileSize","_options$maxSize2","keys","Object","data","forEach","config","tmp","Executed","map","RenderMessage","Config","valueField","action","_FormValidator","createFormValidator"],"mappings":";;;;;;IAIYA;AAAZ,CAAA,UAAYA,kBAAkB,EAAA;AAC5BA,EAAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrBA,EAAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/BA,EAAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACfA,EAAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3BA,EAAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACbA,EAAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7BA,EAAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EAZWA,kBAAkB,KAAlBA,kBAAkB,GAY7B,EAAA,CAAA,CAAA;AAED,IAAMC,cAAc,GAAG;AACrBC,EAAAA,QAAQ,EAAE,qBAAqB;AAC/BC,EAAAA,KAAK,EAAE,0BAA0B;AACjCC,EAAAA,aAAa,EAAE,0BAA0B;AACzCC,EAAAA,KAAK,EAAE,sBAAsB;AAC7BC,EAAAA,MAAM,EAAE,sBAAsB;AAC9BC,EAAAA,KAAK,EAAE,sBAAsB;AAC7BC,EAAAA,WAAW,EAAE,sBAAsB;AACnCC,EAAAA,GAAG,EAAE,sBAAsB;AAC3BC,EAAAA,IAAI,EAAE,iCAAiC;AACvCC,EAAAA,YAAY,EAAE,qBAAqB;AACnCC,EAAAA,MAAM,EAAE;CACT;AAUM,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAmCC,GAAO,EAAEC,OAA0B,EAAA;AAAA,EAAA,OAAKA,OAAO;AAAA;AAAA,IA2BxFC,aAAa,gBAAAC,YAAA,CAEhC,SAAAD,aAAAA,CAAYE,OAAqC,EAAA;AAAA,EAAA,IAAAC,KAAA,GAAA,IAAA;AAAAC,EAAAA,eAAA,OAAAJ,aAAA,CAAA;EAAAK,eAAA,CAAA,IAAA,EAAA,UAAA,EAMtC,UAACP,GAAiB,EAAoC;AAAA,IAAA,IAAAQ,kBAAA;AAC/D,IAAA,IAAIC,WAAW,GAAGJ,KAAI,CAACD,OAAO,CAACJ,GAAG,CAAC;IACnC,IAAI,CAACS,WAAW,EAAE;AAChBA,MAAAA,WAAW,GAAG;AAAEC,QAAAA,KAAK,EAAE;OAAI;AAC3BL,MAAAA,KAAI,CAACD,OAAO,CAACJ,GAAG,CAAC,GAAGS,WAAW;AAChC;IAAA,KAAAE,IAAAA,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAL+BC,IAA2B,OAAAvB,KAAA,CAAAoB,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAA3BD,MAAAA,IAA2B,CAAAC,IAAA,GAAAH,CAAAA,CAAAA,GAAAA,SAAA,CAAAG,IAAA,CAAA;AAAA;AAM3D,IAAA,CAAAP,kBAAA,GAAAC,WAAW,CAACC,KAAK,EAACM,IAAI,CAAAC,KAAA,CAAAT,kBAAA,EAAIM,IAAI,CAAC;AAC/B,IAAA,OAAOT,KAAI;GACZ,CAAA;AAAAE,EAAAA,eAAA,CAEU,IAAA,EAAA,UAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;IACjD,OAAOA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,EAAE;GAC7D,CAAA;AAAAZ,EAAAA,eAAA,gBACO,UAACW,UAAuB,EAAEC,KAAa,EAAE9B,KAAa,EAAI;AAChE,IAAA,IAAI,CAAC8B,KAAK,EAAE,OAAO,KAAK;IACxB,OAAO,CAAED,UAAU,CAACG,KAAgB,CAACC,IAAI,CAACH,KAAK,CAAC;GACjD,CAAA;AAAAZ,EAAAA,eAAA,CACe,IAAA,EAAA,eAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AACtD,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;AACxB,IAAA,OAAOA,KAAK,KAAKD,UAAU,CAACG,KAAK;GAClC,CAAA;AAAAd,EAAAA,eAAA,iBACQ,UAACW,UAAuB,EAAEC,KAAU,EAAEI,KAAU,EAAI;AAC3D,IAAA,IAAI,OAAOL,UAAU,CAACG,KAAK,KAAK,UAAU,EAAE;AAC1C,MAAA,OAAOH,UAAU,CAACG,KAAK,CAACF,KAAK,EAAEI,KAAK,CAAC;AACtC;AACD,IAAA,OAAO,IAAI;GACZ,CAAA;AAAAhB,EAAAA,eAAA,CACO,IAAA,EAAA,OAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AAC9C,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;AACxB,IAAA,IAAI,OAAOD,UAAU,CAACG,KAAK,KAAK,QAAQ,EAAE;AACxC,MAAA,OAAO9B,KAAK,CAACiC,OAAO,CAACL,KAAK,CAAC,GAAGA,KAAK,CAACN,MAAM,IAAIK,UAAU,CAACG,KAAK,GAAG,IAAI;AACtE;AACD,IAAA,OAAO,IAAI;GACZ,CAAA;AAAAd,EAAAA,eAAA,CACQ,IAAA,EAAA,QAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AAC/C,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;AACxB,IAAA,OAAOM,KAAK,CAACjC,MAAM,CAAC2B,KAAK,CAAC,CAAC;GAC5B,CAAA;AAAAZ,EAAAA,eAAA,CACO,IAAA,EAAA,OAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AAC9C,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;IACxB,IAAMO,KAAK,GAAG,kDAAkD;AAChE,IAAA,OAAO,CAACA,KAAK,CAACJ,IAAI,CAACH,KAAK,CAAC;GAC1B,CAAA;AAAAZ,EAAAA,eAAA,CACa,IAAA,EAAA,aAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AACpD,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;IACxB,IAAMQ,UAAU,GAAG,wEAAwE;AAC3F,IAAA,OAAO,CAACA,UAAU,CAACL,IAAI,CAAC,CAACH,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI,EAAE,EAAES,IAAI,EAAE,CAAC;GAC9C,CAAA;AAAArB,EAAAA,eAAA,CACK,IAAA,EAAA,KAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AAC5C,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;IACxB,IAAI;MACF,IAAIU,GAAG,CAACV,KAAK,CAAC;AACd,MAAA,OAAO,KAAK;KACb,CAAC,OAAOW,GAAG,EAAE;AACZ,MAAA,OAAO,IAAI;AACZ;GACF,CAAA;AAAAvB,EAAAA,eAAA,CACM,IAAA,EAAA,MAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AAC7C,IAAA,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;IACxB,IAAMlB,OAAO,GAAGF,cAAc,CAAC,MAAM,EAAEmB,UAAU,CAACjB,OAAO,CAAC;AAC1D,IAAA,IAAM8B,KAAK,GAAWxC,KAAK,CAACiC,OAAO,CAACL,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;AAC5D,IAAA,IAAI,CAAClB,OAAO,EAAE,OAAO,KAAK;AAC1B,IAAA,IAAIA,OAAO,CAAC+B,GAAG,KAAK,IAAI,EAAE;MACxB,IAAMC,IAAI,GAAGF,KAAK,CAACG,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAI;QACjCD,CAAC,IAAIC,CAAC,CAACH,IAAI;AACX,QAAA,OAAOE,CAAC;OACT,EAAE,CAAC,CAAC;AACL,MAAA,OAAOF,IAAI,GAAGhC,OAAO,CAACoC,OAAO;AAC9B,KAAA,MAAM;AACL,MAAA,OAAON,KAAK,CAACO,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAACN,IAAI,GAAGhC,OAAO,CAACoC,OAAO;OAAC,CAAA;AACnD;GACF,CAAA;AAAA9B,EAAAA,eAAA,CACc,IAAA,EAAA,cAAA,EAAA,UAACW,UAAuB,EAAEC,KAAU,EAAI;AACrD,IAAA,IAAMY,KAAK,GAAWxC,KAAK,CAACiC,OAAO,CAACL,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;AAC5D,IAAA,OAAO,CAAC,CAACY,KAAK,CAACS,MAAM,CAAC,UAACD,CAAC,EAAA;MAAA,OAAK,CAAC,CAACA,CAAC;AAAA,KAAA,CAAC,CAACD,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAACN,IAAI,IAAI,CAAC;KAAC,CAAA;GAC3D,CAAA;AAAA1B,EAAAA,eAAA,wBACe,UAACW,UAAuB,EAAElB,GAAW,EAAEyC,KAAc,EAAI;AACvE,IAAA,IAAI,CAACvB,UAAU,CAACwB,OAAO,EAAE;MACvBxB,UAAU,CAACwB,OAAO,GAAGvD,cAAc,CAAC+B,UAAU,CAACJ,IAAI,CAAC,CAAC6B,OAAO,CAAC,KAAK,EAAEF,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,MAAAA,GAAAA,KAAK,GAAIzC,GAAG,CAAC;MACjF,QAAQkB,UAAU,CAACJ,IAAI;QACrB,KAAK5B,kBAAkB,CAACG,KAAK;AAAE,UAAA;AAC7B6B,YAAAA,UAAU,CAACwB,OAAO,GAAGxB,UAAU,CAACwB,OAAO,CAACC,OAAO,CAAC,KAAK,EAAGzB,UAAU,CAACG,KAAgB,CAACuB,MAAM,CAAC;AAC3F,YAAA;AACD;QACD,KAAK1D,kBAAkB,CAACI,aAAa;AAAE,UAAA;YAAA,IAAAuD,qBAAA,EAAAC,iBAAA;AACrC5B,YAAAA,UAAU,CAACwB,OAAO,GAAGxB,UAAU,CAACwB,OAAO,CAACC,OAAO,CAAC,KAAK,EAAA,CAAAE,qBAAA,GAAA,CAAAC,iBAAA,GAAE5B,UAAU,CAACG,KAAK,MAAAyB,IAAAA,IAAAA,iBAAA,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,iBAAA,CAAkBC,QAAQ,EAAE,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE,CAAC;AAC1F,YAAA;AACD;QACD,KAAK3D,kBAAkB,CAACU,IAAI;AAAE,UAAA;YAC5B,IAAMK,OAAO,GAAGF,cAAc,CAAC,MAAM,EAAEmB,UAAU,CAACjB,OAAO,CAAC;YAC1D,IAAI,CAAAA,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE+B,GAAG,MAAK,IAAI,EAAE;AAAA,cAAA,IAAAgB,gBAAA;cACzB9B,UAAU,CAACwB,OAAO,GAAA,oCAAA,CAAAO,MAAA,CAAwCC,cAAc,CAAC,CAAAF,CAAAA,gBAAA,GAAC/C,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEoC,OAAO,MAAA,IAAA,IAAAW,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,CAAC,IAAI,IAAI,CAAC,CAAE;AAC3G,aAAA,MAAM;AAAA,cAAA,IAAAG,iBAAA;AACLjC,cAAAA,UAAU,CAACwB,OAAO,GAAGxB,UAAU,CAACwB,OAAO,CAACC,OAAO,CAAC,KAAK,EAAEO,cAAc,CAAC,EAAAC,iBAAA,GAAClD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEoC,OAAO,MAAAc,IAAAA,IAAAA,iBAAA,KAAAA,MAAAA,GAAAA,iBAAA,GAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACvG;AACD,YAAA;AACD;AAGF;AACF;AACDjC,IAAAA,UAAU,CAACwB,OAAO,GAAGxB,UAAU,CAACwB,OAAO,CAACC,OAAO,CAAC,KAAK,EAAE3C,GAAG,CAAC;AAC3D,IAAA,OAAOkB,UAAU;GAClB,CAAA;EAAAX,eAAA,CAAA,IAAA,EAAA,KAAA,EACK,UAACgB,KAAa,EAAI;IACtB,IAAM6B,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAC/C,KAAI,CAACD,OAAO,CAAC;IACtC,IAAMkD,IAAI,GAA0B,EAAE;AACtCF,IAAAA,IAAI,CAACG,OAAO,CAAC,UAACvD,GAAG,EAAI;AACnB,MAAA,IAAMwD,MAAM,GAAGnD,KAAI,CAACD,OAAO,CAACJ,GAAG,CAAC;MAChC,IAAI,CAACwD,MAAM,EAAE;AACb,MAAA,IAAMC,GAAG,GAAGpD,KAAI,CAACqD,QAAQ,CAACF,MAAM,EAAGjC,KAAa,CAACvB,GAAG,CAAC,EAAEuB,KAAK,CAAC;AAC7D,MAAA,IAAIkC,GAAG,CAAC5C,MAAM,GAAG,CAAC,EAAE;MAClByC,IAAY,CAACtD,GAAG,CAAC,GAAGyD,GAAG,CAACE,GAAG,CAAC,UAACpB,CAAC,EAAA;QAAA,OAAKlC,KAAI,CAACuD,aAAa,CAACrB,CAAC,EAAEvC,GAAG,EAAEwD,MAAM,CAACf,KAAK,CAAC;OAAC,CAAA;AAChF,KAAC,CAAC;AACF,IAAA,OAAOa,IAAI;GACZ,CAAA;AAAA/C,EAAAA,eAAA,mBACU,UAACsD,MAAoB,EAAEC,UAAe,EAAEvC,KAAU,EAAI;IAC/D,OAAOsC,MAAM,CAACnD,KAAK,CAAC8B,MAAM,CAAC,UAACnB,KAAK,EAAI;MACnC,IAAM0C,MAAM,GAAI1D,KAAY,CAACgB,KAAK,CAACP,IAAI,CAACiC,QAAQ,EAAE,CAAC;MACnD,OAAOgB,MAAM,IAAIA,MAAM,CAAC1C,KAAK,EAAEyC,UAAU,EAAEvC,KAAK,CAAC;AACnD,KAAC,CAAC;GACH,CAAA;EA9HC,IAAI,CAACnB,OAAO,GAAGA,OAAO;AACxB,CAAC;AAAA4D,cAAA,GAJkB9D,aAAa;AAAAK,eAAA,CAAbL,aAAa,EAMf,SAAA,EAAA,UAAIE,OAAgC,EAAA;AAAA,EAAA,OAAK,IAAIF,cAAa,CAACE,OAAO,CAAC;AAAA,CAAA,CAAA;IA8HzE6D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAgB;AAC9C,EAAA,OAAO,IAAI/D,aAAa,CAAkB,EAAE,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"validator.js","sources":["../../src/form/validator.ts"],"sourcesContent":["import { formatFileSize } from '../utils'\r\n\r\nexport type IModelBase = { [key: string]: any }\r\n\r\nexport enum SingleRuleValidate {\r\n Required = 'Required',\r\n Regex = 'Regex',\r\n RequiredValue = 'RequiredValue',\r\n Array = 'Array',\r\n Number = 'Number',\r\n Email = 'Email',\r\n PhoneNumber = 'PhoneNumber',\r\n Url = 'Url',\r\n File = 'File',\r\n FileRequired = 'FileRequired',\r\n Custom = 'Custom'\r\n}\r\n\r\nconst MessageDefault = {\r\n Required: 'The {0} is required',\r\n Regex: 'The {0} is not match {1}',\r\n RequiredValue: 'the {0} is not equal {1}',\r\n Array: 'The {0} is not valid',\r\n Number: '{0} must be a number',\r\n Email: 'The {0} is not valid',\r\n PhoneNumber: 'The {0} is not valid',\r\n Url: 'The {0} is not valid',\r\n File: 'File size must be less than {1}',\r\n FileRequired: 'The {0} is required',\r\n Custom: 'Error Custom'\r\n}\r\n\r\nexport interface IRuleOptions {\r\n File: {\r\n maxSize: number\r\n // toal size of files\r\n all?: boolean\r\n }\r\n}\r\n\r\nexport const mapRuleOptions = <TK extends keyof IRuleOptions>(key: TK, options?: IRuleOptions[TK]) => options\r\n\r\nexport interface IRuleOption<TModel = any> {\r\n rule: SingleRuleValidate\r\n message?: string\r\n Value?: RegExp | ((value: any, model: TModel) => boolean) | number | Array<any> | boolean\r\n options?: any\r\n}\r\n\r\nexport interface IConfigValue<TModel = any> {\r\n Rules: IRuleOption<TModel>[]\r\n label?: string\r\n}\r\n\r\nexport interface IModelError {\r\n message: string\r\n error: boolean\r\n}\r\n\r\nexport type IFormValidatorConfig<TModel> = {\r\n [key in keyof Extract<TModel, IModelBase>]?: IConfigValue<TModel>\r\n}\r\n\r\nexport type IPartialError<TModel> = {\r\n [key in keyof TModel]?: IRuleOption<TModel>[]\r\n}\r\n\r\nexport default class FormValidator<TModel> {\r\n configs: IFormValidatorConfig<TModel>\r\n constructor(configs: IFormValidatorConfig<TModel>) {\r\n this.configs = configs\r\n }\r\n\r\n static initial = <T>(configs: IFormValidatorConfig<T>) => new FormValidator(configs)\r\n\r\n AddRules = (key: keyof TModel, ...rule: IRuleOption<TModel>[]) => {\r\n let fieldConfig = this.configs[key]\r\n if (!fieldConfig) {\r\n fieldConfig = { Rules: [] }\r\n this.configs[key] = fieldConfig\r\n }\r\n fieldConfig.Rules.push(...rule)\r\n return this\r\n }\r\n\r\n Required = (RuleOption: IRuleOption, value: any) => {\r\n return value === null || value === undefined || value === ''\r\n }\r\n Regex = (RuleOption: IRuleOption, value: string, Regex: RegExp) => {\r\n if (!value) return false\r\n return !(RuleOption.Value as RegExp).test(value)\r\n }\r\n RequiredValue = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return value !== RuleOption.Value\r\n }\r\n Custom = (RuleOption: IRuleOption, value: any, model: any) => {\r\n if (typeof RuleOption.Value === 'function') {\r\n return RuleOption.Value(value, model)\r\n }\r\n return true\r\n }\r\n Array = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n if (typeof RuleOption.Value === 'number') {\r\n return Array.isArray(value) ? value.length <= RuleOption.Value : true\r\n }\r\n return true\r\n }\r\n Number = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return isNaN(Number(value))\r\n }\r\n Email = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\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 PhoneNumber = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\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((value ?? '').trim())\r\n }\r\n Url = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n try {\r\n new URL(value)\r\n return false\r\n } catch (err) {\r\n return true\r\n }\r\n }\r\n File = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n const options = mapRuleOptions('File', RuleOption.options)\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n if (!options) return false\r\n if (options.all === true) {\r\n const size = files.reduce((a, b) => {\r\n a += b.size\r\n return a\r\n }, 0)\r\n return size > options.maxSize\r\n } else {\r\n return files.some((x) => x.size > options.maxSize)\r\n }\r\n }\r\n FileRequired = (RuleOption: IRuleOption, value: any) => {\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n return !!files.filter((x) => !!x).some((x) => x.size <= 0)\r\n }\r\n RenderMessage = (RuleOption: IRuleOption, key: string, label?: string) => {\r\n if (!RuleOption.message) {\r\n RuleOption.message = MessageDefault[RuleOption.rule].replace('{0}', label ?? key)\r\n switch (RuleOption.rule) {\r\n case SingleRuleValidate.Regex: {\r\n RuleOption.message = RuleOption.message.replace('{1}', (RuleOption.Value as RegExp).source)\r\n break\r\n }\r\n case SingleRuleValidate.RequiredValue: {\r\n RuleOption.message = RuleOption.message.replace('{1}', RuleOption.Value?.toString() ?? '')\r\n break\r\n }\r\n case SingleRuleValidate.File: {\r\n const options = mapRuleOptions('File', RuleOption.options)\r\n if (options?.all === true) {\r\n RuleOption.message = `Total file size must be less than ${formatFileSize((options?.maxSize ?? 0) / 1024)}`\r\n } else {\r\n RuleOption.message = RuleOption.message.replace('{1}', formatFileSize((options?.maxSize ?? 0) / 1024))\r\n }\r\n break\r\n }\r\n default:\r\n break\r\n }\r\n }\r\n RuleOption.message = RuleOption.message.replace('{0}', key)\r\n return RuleOption\r\n }\r\n run = (model: TModel) => {\r\n const keys = Object.keys(this.configs)\r\n const data: IPartialError<TModel> = {}\r\n keys.forEach((key) => {\r\n const config = this.configs[key]\r\n if (!config) return\r\n const tmp = this.Executed(config, (model as any)[key], model)\r\n if (tmp.length < 1) return\r\n ;(data as any)[key] = tmp.map((x) => this.RenderMessage(x, key, config.label))\r\n })\r\n return data\r\n }\r\n Executed = (Config: IConfigValue, valueField: any, model: any) => {\r\n return Config.Rules.filter((Value) => {\r\n const action = (this as any)[Value.rule.toString()]\r\n return action && action(Value, valueField, model)\r\n })\r\n }\r\n}\r\n\r\nexport const createFormValidator = <TModel>() => {\r\n return new FormValidator<Partial<TModel>>({})\r\n}\r\n"],"names":["SingleRuleValidate","MessageDefault","Required","Regex","RequiredValue","Array","Number","Email","PhoneNumber","Url","File","FileRequired","Custom","mapRuleOptions","key","options","FormValidator","_createClass","configs","_this","this","_classCallCheck","_defineProperty","_fieldConfig$Rules","fieldConfig","Rules","_len","arguments","length","rule","_key","push","apply","RuleOption","value","Value","test","model","isArray","isNaN","trim","URL","err","files","all","reduce","a","b","size","maxSize","some","x","filter","label","message","replace","source","_RuleOption$Value$toS","_RuleOption$Value","toString","_options$maxSize","_options$maxSize2","concat","formatFileSize","keys","Object","data","forEach","config","tmp","Executed","map","RenderMessage","Config","valueField","action","_FormValidator","createFormValidator"],"mappings":"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"}
@@ -1,48 +1,2 @@
1
- import { slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { useState, useEffect } from 'react';
3
-
4
- var useCheckScrolled = function useCheckScrolled() {
5
- var _useState = useState(false),
6
- _useState2 = _slicedToArray(_useState, 2),
7
- isScrolled = _useState2[0],
8
- setIsScrolled = _useState2[1];
9
- useEffect(function () {
10
- var handleScroll = function handleScroll() {
11
- var scrolled = window.scrollY > 0;
12
- if (scrolled !== isScrolled) setIsScrolled(scrolled);
13
- };
14
- window.addEventListener('scroll', handleScroll);
15
- return function () {
16
- return window.removeEventListener('scroll', handleScroll);
17
- };
18
- }, [isScrolled]);
19
- useEffect(function () {
20
- var scrolled = window.scrollY > 0;
21
- if (scrolled !== isScrolled) setIsScrolled(scrolled);
22
- }, []);
23
- return {
24
- isScrolled: isScrolled
25
- };
26
- };
27
- var useDebounce = function useDebounce(value, delay) {
28
- var _useState3 = useState(value),
29
- _useState4 = _slicedToArray(_useState3, 2),
30
- debouncedValue = _useState4[0],
31
- setDebouncedValue = _useState4[1];
32
- useEffect(function () {
33
- if (delay <= 0) {
34
- setDebouncedValue(value);
35
- return;
36
- }
37
- var handler = setTimeout(function () {
38
- setDebouncedValue(value);
39
- }, delay);
40
- return function () {
41
- clearTimeout(handler);
42
- };
43
- }, [value, delay]);
44
- return debouncedValue;
45
- };
46
-
47
- export { useCheckScrolled, useDebounce };
1
+ import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useEffect as o}from"react";var t=function(){var t=n(!1),e=r(t,2),i=e[0],u=e[1];return o((function(){var r=function(){var r=window.scrollY>0;r!==i&&u(r)};return window.addEventListener("scroll",r),function(){return window.removeEventListener("scroll",r)}}),[i]),o((function(){var r=window.scrollY>0;r!==i&&u(r)}),[]),{isScrolled:i}},e=function(t,e){var i=n(t),u=r(i,2),l=u[0],c=u[1];return o((function(){if(!(e<=0)){var r=setTimeout((function(){c(t)}),e);return function(){clearTimeout(r)}}c(t)}),[t,e]),l};export{t as useCheckScrolled,e as useDebounce};
48
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/hooks/index.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps*/\r\nimport { useEffect, useState } from 'react'\r\n\r\nexport const useCheckScrolled = () => {\r\n const [isScrolled, setIsScrolled] = useState(false)\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }\r\n\r\n window.addEventListener('scroll', handleScroll)\r\n return () => window.removeEventListener('scroll', handleScroll)\r\n }, [isScrolled])\r\n\r\n useEffect(() => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }, [])\r\n\r\n return { isScrolled }\r\n}\r\n\r\nexport const useDebounce = <T>(value: T, delay: number): T => {\r\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\r\n\r\n useEffect(() => {\r\n if (delay <= 0) {\r\n setDebouncedValue(value)\r\n return\r\n }\r\n\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value)\r\n }, delay)\r\n\r\n return () => {\r\n clearTimeout(handler)\r\n }\r\n }, [value, delay])\r\n\r\n return debouncedValue\r\n}\r\n"],"names":["useCheckScrolled","_useState","useState","_useState2","_slicedToArray","isScrolled","setIsScrolled","useEffect","handleScroll","scrolled","window","scrollY","addEventListener","removeEventListener","useDebounce","value","delay","_useState3","_useState4","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":";;;IAGaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAQ;AACnC,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5CI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhCI,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAQ;AACxB,MAAA,IAAMC,QAAQ,GAAGC,MAAM,CAACC,OAAO,GAAG,CAAC;AACnC,MAAA,IAAIF,QAAQ,KAAKJ,UAAU,EAAEC,aAAa,CAACG,QAAQ,CAAC;KACrD;AAEDC,IAAAA,MAAM,CAACE,gBAAgB,CAAC,QAAQ,EAAEJ,YAAY,CAAC;IAC/C,OAAO,YAAA;AAAA,MAAA,OAAME,MAAM,CAACG,mBAAmB,CAAC,QAAQ,EAAEL,YAAY,CAAC;AAAA,KAAA;AACjE,GAAC,EAAE,CAACH,UAAU,CAAC,CAAC;AAEhBE,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAME,QAAQ,GAAGC,MAAM,CAACC,OAAO,GAAG,CAAC;AACnC,IAAA,IAAIF,QAAQ,KAAKJ,UAAU,EAAEC,aAAa,CAACG,QAAQ,CAAC;GACrD,EAAE,EAAE,CAAC;EAEN,OAAO;AAAEJ,IAAAA,UAAU,EAAVA;GAAY;AACvB;AAEO,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAOC,KAAQ,EAAEC,KAAa,EAAO;AAC3D,EAAA,IAAAC,UAAA,GAA4Cf,QAAQ,CAAIa,KAAK,CAAC;IAAAG,UAAA,GAAAd,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAAvDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExCX,EAAAA,SAAS,CAAC,YAAK;IACb,IAAIS,KAAK,IAAI,CAAC,EAAE;MACdI,iBAAiB,CAACL,KAAK,CAAC;AACxB,MAAA;AACD;AAED,IAAA,IAAMM,OAAO,GAAGC,UAAU,CAAC,YAAK;MAC9BF,iBAAiB,CAACL,KAAK,CAAC;KACzB,EAAEC,KAAK,CAAC;AAET,IAAA,OAAO,YAAK;MACVO,YAAY,CAACF,OAAO,CAAC;KACtB;AACH,GAAC,EAAE,CAACN,KAAK,EAAEC,KAAK,CAAC,CAAC;AAElB,EAAA,OAAOG,cAAc;AACvB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/hooks/index.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps*/\r\nimport { useEffect, useState } from 'react'\r\n\r\nexport const useCheckScrolled = () => {\r\n const [isScrolled, setIsScrolled] = useState(false)\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }\r\n\r\n window.addEventListener('scroll', handleScroll)\r\n return () => window.removeEventListener('scroll', handleScroll)\r\n }, [isScrolled])\r\n\r\n useEffect(() => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }, [])\r\n\r\n return { isScrolled }\r\n}\r\n\r\nexport const useDebounce = <T>(value: T, delay: number): T => {\r\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\r\n\r\n useEffect(() => {\r\n if (delay <= 0) {\r\n setDebouncedValue(value)\r\n return\r\n }\r\n\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value)\r\n }, delay)\r\n\r\n return () => {\r\n clearTimeout(handler)\r\n }\r\n }, [value, delay])\r\n\r\n return debouncedValue\r\n}\r\n"],"names":["useCheckScrolled","_useState","useState","_useState2","_slicedToArray","isScrolled","setIsScrolled","useEffect","handleScroll","scrolled","window","scrollY","addEventListener","removeEventListener","useDebounce","value","delay","_useState3","_useState4","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":"6HAGaA,EAAmB,WAC9B,IAAAC,EAAoCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA5CI,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAiBhC,OAfAI,GAAU,WACR,IAAMC,EAAe,WACnB,IAAMC,EAAWC,OAAOC,QAAU,EAC9BF,IAAaJ,GAAYC,EAAcG,EAC5C,EAGD,OADAC,OAAOE,iBAAiB,SAAUJ,GAC3B,WAAA,OAAME,OAAOG,oBAAoB,SAAUL,EAAa,CACjE,GAAG,CAACH,IAEJE,GAAU,WACR,IAAME,EAAWC,OAAOC,QAAU,EAC9BF,IAAaJ,GAAYC,EAAcG,EAC5C,GAAE,IAEI,CAAEJ,WAAAA,EACX,EAEaS,EAAc,SAAIC,EAAUC,GACvC,IAAAC,EAA4Cf,EAAYa,GAAMG,EAAAd,EAAAa,EAAA,GAAvDE,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GAiBxC,OAfAX,GAAU,WACR,KAAIS,GAAS,GAAb,CAKA,IAAMK,EAAUC,YAAW,WACzBF,EAAkBL,EACnB,GAAEC,GAEH,OAAO,WACLO,aAAaF,EACd,CARA,CAFCD,EAAkBL,EAWtB,GAAG,CAACA,EAAOC,IAEJG,CACT"}
package/dist/index.js CHANGED
@@ -1,33 +1,2 @@
1
- export { default as ApiPopover, ApiPopoverContext, MapApiPopoverContext, withApiPopoverContext } from './api-context/popover.js';
2
- export { AlertDialog, default as AlertGlobal, ApiAlertContext } from './api-context/alert-global.js';
3
- export { default as DrawerGlobal } from './api-context/drawer-global.js';
4
- export { default as GlobalModal, GlobalModalContext, MapGlobalModalContext, withApiGlobalModalConsumerContext, withApiGlobalModalContext } from './api-context/global-modal.js';
5
- export { MapPopoverGlobalContext, default as PopoverGlobal, PopoverGlobalApi, PopoverGlobalContext, PopoverGlobalProvider, withPopoverGlobalContext } from './api-context/popover-global.js';
6
- export { default as Breadcrumbs } from './components/breadcrumbs.js';
7
- export { default as CopyToClipboard } from './components/copy-to-clipboard.js';
8
- export { default as ImageWithFallback } from './components/image-with-fallback.js';
9
- export { default as HelpTooltip, HelpTooltipWrap } from './components/help-tooltip.js';
10
- export { default as TextEditorPreview } from './components/text-editor.preview.js';
11
- export { default as TextEditor, textEditorClasses } from './components/text-editor.js';
12
- export { default as FormValidator, SingleRuleValidate, createFormValidator, mapRuleOptions } from './form/validator.js';
13
- export { default as DinoForm } from './form/dino-form.js';
14
- export { convertFormDataToJson, getErrorMessage } from './form/helper.js';
15
- export { useCheckScrolled, useDebounce } from './hooks/index.js';
16
- export { ELazyStatus } from './redux/types.js';
17
- export { default as DinoRedux } from './redux/dino.js';
18
- export { default as CreateHocLazy, EmptyComponent, defaultOptionHocLazy } from './redux/create.hoc-lazy.js';
19
- export { ELogic, EOperator, EOrder } from './table/model-filter.js';
20
- import 'react/jsx-runtime';
21
- import 'react';
22
- import '@mui/material';
23
- import '@mui/icons-material/Edit';
24
- import '@mui/icons-material/Delete';
25
- export { decodeBase64, encodeBase64, fetchDelay, formatCapitalizeFirstText, formatCurrency, formatDatetime, formatFileSize, formatNumberWithCommas, mergeClasses, mergeObjects, sleep, tryParseArray, tryParseIntRequired, tryParseObject, windowScrollToTop } from './utils/helpers.js';
26
- export { default as JObject } from './utils/json-object.js';
27
- export { QueryParam } from './utils/query-param.js';
28
- import './utils/dayjs-config.js';
29
- export { default as CreateTable } from './table/create.table.js';
30
- export { default as DinoTable } from './table/dino.js';
31
- export { dinoTableClasses } from './table/helpers.js';
32
- export { default as dayjsCustom } from 'dayjs';
1
+ export{default as ApiPopover,ApiPopoverContext,MapApiPopoverContext,withApiPopoverContext}from"./api-context/popover.js";export{AlertDialog,default as AlertGlobal,ApiAlertContext}from"./api-context/alert-global.js";export{default as DrawerGlobal}from"./api-context/drawer-global.js";export{default as GlobalModal,GlobalModalContext,MapGlobalModalContext,withApiGlobalModalConsumerContext,withApiGlobalModalContext}from"./api-context/global-modal.js";export{MapPopoverGlobalContext,default as PopoverGlobal,PopoverGlobalApi,PopoverGlobalContext,PopoverGlobalProvider,withPopoverGlobalContext}from"./api-context/popover-global.js";export{default as Breadcrumbs}from"./components/breadcrumbs.js";export{default as CopyToClipboard}from"./components/copy-to-clipboard.js";export{default as CreateMultiSelectDropdown}from"./components/create.multi-select-dropdown.js";export{default as ImageWithFallback}from"./components/image-with-fallback.js";export{default as HelpTooltip,HelpTooltipWrap}from"./components/help-tooltip.js";export{default as TextEditorPreview}from"./components/text-editor.preview.js";export{default as TextEditor,textEditorClasses}from"./components/text-editor.js";export{default as FormValidator,SingleRuleValidate,createFormValidator,mapRuleOptions}from"./form/validator.js";export{default as DinoForm}from"./form/dino-form.js";export{convertFormDataToJson,getErrorMessage}from"./form/helper.js";export{useCheckScrolled,useDebounce}from"./hooks/index.js";export{ELazyStatus}from"./redux/types.js";export{default as DinoRedux}from"./redux/dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./redux/create.hoc-lazy.js";export{ELogic,EOperator,EOrder}from"./table/model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";export{decodeBase64,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"./utils/helpers.js";export{default as JObject}from"./utils/json-object.js";export{QueryParam}from"./utils/query-param.js";import"./utils/dayjs-config.js";export{default as CreateTable}from"./table/create.table.js";export{default as DinoTable}from"./table/dino.js";export{dinoTableClasses}from"./table/helpers.js";export{default as DinoTableGrid}from"./table-grid/dino.js";export{default as dayjsCustom}from"dayjs";
33
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,71 +1,2 @@
1
- import { inherits as _inherits, createClass as _createClass, objectSpread2 as _objectSpread2, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx, Fragment } from 'react/jsx-runtime';
3
- import { Component } from 'react';
4
- import { ELazyStatus } from './types.js';
5
- import UIErrorPage from './ui.error-page.js';
6
-
7
- var EmptyComponent = function EmptyComponent(_ref) {
8
- var children = _ref.children;
9
- return jsx(Fragment, {
10
- children: children
11
- });
12
- };
13
- var defaultOptionHocLazy = {
14
- LazySpinner: EmptyComponent
15
- };
16
- var CreateHocLazy = function CreateHocLazy(ChildComponent, options) {
17
- var HocComponent = /*#__PURE__*/function (_Component) {
18
- function HocComponent(props) {
19
- var _this;
20
- _classCallCheck(this, HocComponent);
21
- _this = _callSuper(this, HocComponent, [props]);
22
- _defineProperty(_this, "initialParam", function () {
23
- var _options$param, _this$props$param, _this$props;
24
- var oData = (_options$param = options === null || options === void 0 ? void 0 : options.param) !== null && _options$param !== void 0 ? _options$param : {};
25
- var pData = (_this$props$param = (_this$props = _this.props) === null || _this$props === void 0 ? void 0 : _this$props.param) !== null && _this$props$param !== void 0 ? _this$props$param : {};
26
- return Object.assign({}, oData, pData);
27
- });
28
- _defineProperty(_this, "componentDidMount", function () {
29
- if (_this.props.fetchData) {
30
- var _this$tokenSources;
31
- var param = _this.initialParam();
32
- (_this$tokenSources = _this.tokenSources) === null || _this$tokenSources === void 0 || _this$tokenSources.abort();
33
- _this.tokenSources = new AbortController();
34
- _this.fetchSource = _this.props.fetchData(param, _this.tokenSources.signal);
35
- }
36
- });
37
- _this.optionsMerge = Object.assign({}, defaultOptionHocLazy, options);
38
- return _this;
39
- }
40
- _inherits(HocComponent, _Component);
41
- return _createClass(HocComponent, [{
42
- key: "render",
43
- value: function render() {
44
- var OptionsMerge = this.optionsMerge;
45
- switch (this.props.status) {
46
- case ELazyStatus.Loading:
47
- case ELazyStatus.Loaded:
48
- return jsx(OptionsMerge.LazySpinner, {
49
- loading: this.props.status === ELazyStatus.Loading,
50
- children: jsx(ChildComponent, _objectSpread2({}, this.props))
51
- });
52
- case ELazyStatus.Error:
53
- return jsx(UIErrorPage, {});
54
- default:
55
- return jsx("div", {});
56
- }
57
- }
58
- }, {
59
- key: "componentWillUnmount",
60
- value: function componentWillUnmount() {
61
- var _this$tokenSources2, _this$fetchSource;
62
- (_this$tokenSources2 = this.tokenSources) === null || _this$tokenSources2 === void 0 || _this$tokenSources2.abort();
63
- ((_this$fetchSource = this.fetchSource) === null || _this$fetchSource === void 0 ? void 0 : _this$fetchSource.abort) && this.fetchSource.abort();
64
- }
65
- }]);
66
- }(Component);
67
- return HocComponent;
68
- };
69
-
70
- export { EmptyComponent, CreateHocLazy as default, defaultOptionHocLazy };
1
+ import{inherits as r,createClass as t,objectSpread2 as e,classCallCheck as o,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as s}from"react/jsx-runtime";import{Component as u}from"react";import{ELazyStatus as l}from"./types.js";import c from"./ui.error-page.js";var p=function(r){var t=r.children;return a(s,{children:t})},d={LazySpinner:p},f=function(s,p){return function(){function f(r){var t;return o(this,f),t=n(this,f,[r]),i(t,"initialParam",(function(){var r,e,o,n=null!==(r=null==p?void 0:p.param)&&void 0!==r?r:{},i=null!==(e=null===(o=t.props)||void 0===o?void 0:o.param)&&void 0!==e?e:{};return Object.assign({},n,i)})),i(t,"componentDidMount",(function(){if(t.props.fetchData){var r,e=t.initialParam();null===(r=t.tokenSources)||void 0===r||r.abort(),t.tokenSources=new AbortController,t.fetchSource=t.props.fetchData(e,t.tokenSources.signal)}})),t.optionsMerge=Object.assign({},d,p),t}return r(f,u),t(f,[{key:"render",value:function(){var r=this.optionsMerge;switch(this.props.status){case l.Loading:case l.Loaded:return a(r.LazySpinner,{loading:this.props.status===l.Loading,children:a(s,e({},this.props))});case l.Error:return a(c,{});default:return a("div",{})}}},{key:"componentWillUnmount",value:function(){var r,t;null===(r=this.tokenSources)||void 0===r||r.abort(),(null===(t=this.fetchSource)||void 0===t?void 0:t.abort)&&this.fetchSource.abort()}}])}()};export{p as EmptyComponent,f as default,d as defaultOptionHocLazy};
71
2
  //# sourceMappingURL=create.hoc-lazy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.hoc-lazy.js","sources":["../../src/redux/create.hoc-lazy.tsx"],"sourcesContent":["import React, { Component, ComponentType, PropsWithChildren } from 'react'\r\nimport { IErrorViewDefaultProps, IHocLazyWrapperProps } from './ui.units'\r\nimport { ELazyStatus, IDinoReduxDispatch, IDinoReduxState, IReturnDispatch } from './types'\r\nimport UIErrorPage from './ui.error-page'\r\n\r\nexport interface IHocLazyBase<T> extends IDinoReduxState, IDinoReduxDispatch<T> {}\r\n\r\nexport interface IHocLazyBaseOptions {\r\n ErrorScreen?: React.ComponentType<IErrorViewDefaultProps>\r\n LazySpinner: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport interface IHocLazyOtherProps<T> {\r\n param?: T\r\n}\r\n\r\nexport interface IHocLazyOptions<T> extends IHocLazyOtherProps<T>, Omit<IHocLazyBaseOptions, 'LazySpinner'> {\r\n LazySpinner?: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport const EmptyComponent: React.FC<React.PropsWithChildren<any>> = ({ children }) => <>{children}</>\r\n\r\nexport const defaultOptionHocLazy: IHocLazyBaseOptions = {\r\n LazySpinner: EmptyComponent\r\n}\r\n\r\nconst CreateHocLazy = function <P extends IHocLazyBase<T>, T = any>(\r\n ChildComponent: React.ComponentType<P>,\r\n options?: IHocLazyOptions<T>\r\n): ComponentType<P> {\r\n type TProps = P & IHocLazyOtherProps<T>\r\n class HocComponent extends Component<TProps> {\r\n optionsMerge: IHocLazyBaseOptions\r\n tokenSources?: AbortController\r\n fetchSource?: IReturnDispatch\r\n constructor(props: TProps) {\r\n super(props)\r\n this.optionsMerge = Object.assign({}, defaultOptionHocLazy, options) as IHocLazyBaseOptions\r\n }\r\n\r\n render() {\r\n const { optionsMerge: OptionsMerge } = this\r\n switch (this.props.status) {\r\n case ELazyStatus.Loading:\r\n case ELazyStatus.Loaded:\r\n return (\r\n <OptionsMerge.LazySpinner loading={this.props.status === ELazyStatus.Loading}>\r\n <ChildComponent {...this.props} />\r\n </OptionsMerge.LazySpinner>\r\n )\r\n case ELazyStatus.Error:\r\n return <UIErrorPage />\r\n default:\r\n return <div></div>\r\n }\r\n }\r\n\r\n initialParam = (): T => {\r\n const oData = options?.param ?? {}\r\n const pData = this.props?.param ?? {}\r\n return Object.assign({}, oData, pData) as T\r\n }\r\n\r\n componentDidMount = () => {\r\n if (this.props.fetchData) {\r\n const param = this.initialParam()\r\n this.tokenSources?.abort()\r\n this.tokenSources = new AbortController()\r\n this.fetchSource = this.props.fetchData(param, this.tokenSources.signal)\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.tokenSources?.abort()\r\n this.fetchSource?.abort && this.fetchSource.abort()\r\n }\r\n }\r\n return HocComponent\r\n}\r\nexport default CreateHocLazy\r\n"],"names":["EmptyComponent","_ref","children","_jsx","_Fragment","defaultOptionHocLazy","LazySpinner","CreateHocLazy","ChildComponent","options","HocComponent","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","_options$param","_this$props$param","_this$props","oData","param","pData","Object","assign","fetchData","_this$tokenSources","initialParam","tokenSources","abort","AbortController","fetchSource","signal","optionsMerge","_inherits","_createClass","key","value","render","OptionsMerge","status","ELazyStatus","Loading","Loaded","loading","_objectSpread","Error","UIErrorPage","componentWillUnmount","_this$tokenSources2","_this$fetchSource","Component"],"mappings":"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"}
1
+ {"version":3,"file":"create.hoc-lazy.js","sources":["../../src/redux/create.hoc-lazy.tsx"],"sourcesContent":["import React, { Component, ComponentType, PropsWithChildren } from 'react'\r\nimport { IErrorViewDefaultProps, IHocLazyWrapperProps } from './ui.units'\r\nimport { ELazyStatus, IDinoReduxDispatch, IDinoReduxState, IReturnDispatch } from './types'\r\nimport UIErrorPage from './ui.error-page'\r\n\r\nexport interface IHocLazyBase<T> extends IDinoReduxState, IDinoReduxDispatch<T> {}\r\n\r\nexport interface IHocLazyBaseOptions {\r\n ErrorScreen?: React.ComponentType<IErrorViewDefaultProps>\r\n LazySpinner: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport interface IHocLazyOtherProps<T> {\r\n param?: T\r\n}\r\n\r\nexport interface IHocLazyOptions<T> extends IHocLazyOtherProps<T>, Omit<IHocLazyBaseOptions, 'LazySpinner'> {\r\n LazySpinner?: React.ComponentType<PropsWithChildren<IHocLazyWrapperProps>>\r\n}\r\n\r\nexport const EmptyComponent: React.FC<React.PropsWithChildren<any>> = ({ children }) => <>{children}</>\r\n\r\nexport const defaultOptionHocLazy: IHocLazyBaseOptions = {\r\n LazySpinner: EmptyComponent\r\n}\r\n\r\nconst CreateHocLazy = function <P extends IHocLazyBase<T>, T = any>(\r\n ChildComponent: React.ComponentType<P>,\r\n options?: IHocLazyOptions<T>\r\n): ComponentType<P> {\r\n type TProps = P & IHocLazyOtherProps<T>\r\n class HocComponent extends Component<TProps> {\r\n optionsMerge: IHocLazyBaseOptions\r\n tokenSources?: AbortController\r\n fetchSource?: IReturnDispatch\r\n constructor(props: TProps) {\r\n super(props)\r\n this.optionsMerge = Object.assign({}, defaultOptionHocLazy, options) as IHocLazyBaseOptions\r\n }\r\n\r\n render() {\r\n const { optionsMerge: OptionsMerge } = this\r\n switch (this.props.status) {\r\n case ELazyStatus.Loading:\r\n case ELazyStatus.Loaded:\r\n return (\r\n <OptionsMerge.LazySpinner loading={this.props.status === ELazyStatus.Loading}>\r\n <ChildComponent {...this.props} />\r\n </OptionsMerge.LazySpinner>\r\n )\r\n case ELazyStatus.Error:\r\n return <UIErrorPage />\r\n default:\r\n return <div></div>\r\n }\r\n }\r\n\r\n initialParam = (): T => {\r\n const oData = options?.param ?? {}\r\n const pData = this.props?.param ?? {}\r\n return Object.assign({}, oData, pData) as T\r\n }\r\n\r\n componentDidMount = () => {\r\n if (this.props.fetchData) {\r\n const param = this.initialParam()\r\n this.tokenSources?.abort()\r\n this.tokenSources = new AbortController()\r\n this.fetchSource = this.props.fetchData(param, this.tokenSources.signal)\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.tokenSources?.abort()\r\n this.fetchSource?.abort && this.fetchSource.abort()\r\n }\r\n }\r\n return HocComponent\r\n}\r\nexport default CreateHocLazy\r\n"],"names":["EmptyComponent","_ref","children","_jsx","_Fragment","defaultOptionHocLazy","LazySpinner","CreateHocLazy","ChildComponent","options","HocComponent","props","_this","_classCallCheck","_callSuper","_defineProperty","_options$param","_this$props$param","_this$props","oData","param","pData","Object","assign","fetchData","_this$tokenSources","initialParam","tokenSources","abort","AbortController","fetchSource","signal","optionsMerge","_inherits","Component","_createClass","key","value","OptionsMerge","this","status","ELazyStatus","Loading","Loaded","loading","_objectSpread","Error","UIErrorPage","_this$tokenSources2","_this$fetchSource"],"mappings":"sUAoBaA,EAAyD,SAA3CC,GAAA,IAA8CC,EAAQD,EAARC,SAAQ,OAAOC,EAAGC,EAAA,CAAAF,SAAAA,GAAY,EAE1FG,EAA4C,CACvDC,YAAaN,GAGTO,EAAgB,SACpBC,EACAC,GAiDA,kBA1CE,SAAAC,EAAYC,GAAa,IAAAC,EAEoE,OAFpEC,OAAAH,GACvBE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAAA,gBAqBC,WAAQ,IAAAI,EAAAC,EAAAC,EACfC,EAAsBH,QAAjBA,EAAGP,aAAO,EAAPA,EAASW,iBAAKJ,EAAAA,EAAI,CAAE,EAC5BK,EAAyB,QAApBJ,EAAa,QAAbC,EAAGN,EAAKD,aAALO,IAAUA,OAAVA,EAAAA,EAAYE,aAAKH,IAAAA,EAAAA,EAAI,CAAE,EACrC,OAAOK,OAAOC,OAAO,GAAIJ,EAAOE,MACjCN,EAAAH,EAAA,qBAEmB,WAClB,GAAIA,EAAKD,MAAMa,UAAW,CAAA,IAAAC,EAClBL,EAAQR,EAAKc,eACF,QAAjBD,EAAAb,EAAKe,oBAAY,IAAAF,GAAjBA,EAAmBG,QACnBhB,EAAKe,aAAe,IAAIE,gBACxBjB,EAAKkB,YAAclB,EAAKD,MAAMa,UAAUJ,EAAOR,EAAKe,aAAaI,OAClE,KAhCDnB,EAAKoB,aAAeV,OAAOC,OAAO,CAAE,EAAElB,EAAsBI,GAA+BG,CAC7F,CAAC,OAAAqB,EAAAvB,EAPwBwB,GAOxBC,EAAAzB,EAAA,CAAA,CAAA0B,IAAA,SAAAC,MAED,WACE,IAAsBC,EAAiBC,KAA/BP,aACR,OAAQO,KAAK5B,MAAM6B,QACjB,KAAKC,EAAYC,QACjB,KAAKD,EAAYE,OACf,OACExC,EAACmC,EAAahC,YAAY,CAAAsC,QAASL,KAAK5B,MAAM6B,SAAWC,EAAYC,QACnExC,SAAAC,EAACK,EAAcqC,EAAK,CAAA,EAAAN,KAAK5B,UAG/B,KAAK8B,EAAYK,MACf,OAAO3C,EAAC4C,EAAW,IACrB,QACE,OAAO5C,YAEb,GAAC,CAAAiC,IAAA,uBAAAC,MAiBD,WAAoB,IAAAW,EAAAC,EACD,QAAjBD,EAAIT,KAACZ,oBAAY,IAAAqB,GAAjBA,EAAmBpB,SACH,QAAhBqB,EAAIV,KAACT,mBAALmB,IAAgBA,OAAhBA,EAAAA,EAAkBrB,QAASW,KAAKT,YAAYF,OAC9C,IAAC,GAGL"}
@@ -1,11 +1,2 @@
1
- import { createClass as _createClass, classCallCheck as _classCallCheck, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import CreateHocLazy from './create.hoc-lazy.js';
3
-
4
- var DinoReduxBase = /*#__PURE__*/_createClass(function DinoReduxBase() {
5
- _classCallCheck(this, DinoReduxBase);
6
- _defineProperty(this, "createHocLazy", CreateHocLazy);
7
- });
8
- var DinoRedux = new DinoReduxBase();
9
-
10
- export { DinoRedux as default };
1
+ import{createClass as a,classCallCheck as e,defineProperty as r}from"../_virtual/_rollupPluginBabelHelpers.js";import s from"./create.hoc-lazy.js";var l=new(a((function a(){e(this,a),r(this,"createHocLazy",s)})));export{l as default};
11
2
  //# sourceMappingURL=dino.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dino.js","sources":["../../src/redux/dino.ts"],"sourcesContent":["import CreateHocLazy from './create.hoc-lazy'\r\n\r\nclass DinoReduxBase {\r\n createHocLazy = CreateHocLazy\r\n}\r\n\r\nconst DinoRedux = new DinoReduxBase()\r\n\r\nexport default DinoRedux\r\n"],"names":["DinoReduxBase","_createClass","_classCallCheck","_defineProperty","CreateHocLazy","DinoRedux"],"mappings":";;;AAA6C,IAEvCA,aAAa,gBAAAC,YAAA,CAAA,SAAAD,aAAA,GAAA;AAAAE,EAAAA,eAAA,OAAAF,aAAA,CAAA;AAAAG,EAAAA,eAAA,wBACDC,aAAa,CAAA;AAAA,CAAA,CAAA;AAG/B,IAAMC,SAAS,GAAG,IAAIL,aAAa;;;;"}
1
+ {"version":3,"file":"dino.js","sources":["../../src/redux/dino.ts"],"sourcesContent":["import CreateHocLazy from './create.hoc-lazy'\r\n\r\nclass DinoReduxBase {\r\n createHocLazy = CreateHocLazy\r\n}\r\n\r\nconst DinoRedux = new DinoReduxBase()\r\n\r\nexport default DinoRedux\r\n"],"names":["DinoRedux","_createClass","DinoReduxBase","_classCallCheck","_defineProperty","CreateHocLazy"],"mappings":"mJAA6C,IAMvCA,EAAY,IAJCC,GAAA,SAAAC,IAAAC,OAAAD,GAAAE,uBACDC,EAAa"}
@@ -1,9 +1,2 @@
1
- var ELazyStatus;
2
- (function (ELazyStatus) {
3
- ELazyStatus["Loading"] = "Loading";
4
- ELazyStatus["Loaded"] = "Loaded";
5
- ELazyStatus["Error"] = "Error";
6
- })(ELazyStatus || (ELazyStatus = {}));
7
-
8
- export { ELazyStatus };
1
+ var o;!function(o){o.Loading="Loading",o.Loaded="Loaded",o.Error="Error"}(o||(o={}));export{o as ELazyStatus};
9
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/redux/types.ts"],"sourcesContent":["export enum ELazyStatus {\r\n Loading = 'Loading',\r\n Loaded = 'Loaded',\r\n Error = 'Error'\r\n}\r\n\r\nexport interface IDinoReduxState {\r\n status: ELazyStatus\r\n requestedId?: string\r\n}\r\n\r\nexport interface IReturnDispatch {\r\n abort?: () => void\r\n}\r\n\r\nexport interface IDinoReduxDispatch<P = any> {\r\n fetchData?: (params?: P, signal?: AbortSignal) => IReturnDispatch\r\n setStatus: (status: ELazyStatus) => void\r\n}\r\n\r\nexport interface IBaseActions<T, Id extends keyof T> {\r\n create: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n update: (id: T[Id], value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n delete: (id: T[Id], value?: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n}\r\n\r\nexport type IDinoReduxActions<T, Id extends keyof T, K extends keyof IBaseActions<T, Id> = keyof IBaseActions<T, Id>> = Pick<IBaseActions<T, Id>, K>\r\n"],"names":["ELazyStatus"],"mappings":"IAAYA;AAAZ,CAAA,UAAYA,WAAW,EAAA;AACrBA,EAAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnBA,EAAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjBA,EAAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJWA,WAAW,KAAXA,WAAW,GAItB,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/redux/types.ts"],"sourcesContent":["export enum ELazyStatus {\r\n Loading = 'Loading',\r\n Loaded = 'Loaded',\r\n Error = 'Error'\r\n}\r\n\r\nexport interface IDinoReduxState {\r\n status: ELazyStatus\r\n requestedId?: string\r\n}\r\n\r\nexport interface IReturnDispatch {\r\n abort?: () => void\r\n}\r\n\r\nexport interface IDinoReduxDispatch<P = any> {\r\n fetchData?: (params?: P, signal?: AbortSignal) => IReturnDispatch\r\n setStatus: (status: ELazyStatus) => void\r\n}\r\n\r\nexport interface IBaseActions<T, Id extends keyof T> {\r\n create: (value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n update: (id: T[Id], value: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n delete: (id: T[Id], value?: Partial<T>, signal?: AbortSignal) => Promise<void>\r\n}\r\n\r\nexport type IDinoReduxActions<T, Id extends keyof T, K extends keyof IBaseActions<T, Id> = keyof IBaseActions<T, Id>> = Pick<IBaseActions<T, Id>, K>\r\n"],"names":["ELazyStatus"],"mappings":"IAAYA,GAAZ,SAAYA,GACVA,EAAA,QAAA,UACAA,EAAA,OAAA,SACAA,EAAA,MAAA,OACD,CAJD,CAAYA,IAAAA,EAIX,CAAA"}
@@ -1,89 +1,2 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { styled, Box, Button, Stack, Typography } from '@mui/material';
4
- import ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt';
5
- import Error404Vector from './vector-404.webp.js';
6
-
7
- var _excluded = ["children"];
8
- var UIErrorPage = function UIErrorPage() {
9
- return jsxs(Stack, {
10
- sx: {
11
- alignItems: 'center'
12
- },
13
- children: [jsx(WrapImage, {
14
- children: jsx("img", {
15
- src: Error404Vector,
16
- alt: 'error-404-vector'
17
- })
18
- }), jsx(Typography, {
19
- variant: 'subtitle1',
20
- component: 'p',
21
- sx: {
22
- textAlign: 'center',
23
- mt: '20px'
24
- },
25
- children: "Sorry, page not found or connection to server lost. Please come back later...."
26
- }), jsx(CustomButton, {
27
- href: '/',
28
- children: "Back to home page"
29
- })]
30
- });
31
- };
32
- var WrapImage = styled(function (_ref) {
33
- var children = _ref.children,
34
- props = _objectWithoutProperties(_ref, _excluded);
35
- return jsx(Box, _objectSpread2(_objectSpread2({}, props), {}, {
36
- children: jsx("div", {
37
- children: children
38
- })
39
- }));
40
- })({
41
- width: '100%',
42
- maxWidth: '560px',
43
- flex: '0 0 auto',
44
- '& > div': {
45
- width: '100%',
46
- paddingBottom: '100%',
47
- position: 'relative'
48
- },
49
- '& img': {
50
- position: 'absolute',
51
- top: 0,
52
- left: 0,
53
- width: '100%',
54
- height: '100%'
55
- }
56
- });
57
- var CustomButton = styled(function (p) {
58
- return jsx(Button, _objectSpread2({
59
- component: 'a',
60
- color: 'inherit',
61
- variant: 'contained',
62
- size: 'large',
63
- endIcon: jsx(ArrowRightAltIcon, {
64
- fontSize: 'small'
65
- })
66
- }, p));
67
- })({
68
- backgroundColor: 'var(--color-black)',
69
- color: 'var(--color-text-light)',
70
- minWidth: '250px',
71
- marginTop: '24px',
72
- height: '56px',
73
- textTransform: 'none',
74
- fontWeight: 600,
75
- transition: '0.3s',
76
- '&:hover': {
77
- backgroundColor: 'var(--color-black2)',
78
- color: 'var(--color-text-light)'
79
- },
80
- '& .MuiButton-icon.MuiButton-endIcon': {
81
- transition: '0.3s'
82
- },
83
- '&:hover .MuiButton-icon.MuiButton-endIcon': {
84
- marginLeft: '16px'
85
- }
86
- });
87
-
88
- export { UIErrorPage as default };
1
+ import{objectWithoutProperties as t,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as i,Box as n,Button as a,Stack as l,Typography as c}from"@mui/material";import m from"@mui/icons-material/ArrowRightAlt";import u from"./vector-404.webp.js";var h=["children"],p=function(){return e(l,{sx:{alignItems:"center"},children:[r(s,{children:r("img",{src:u,alt:"error-404-vector"})}),r(c,{variant:"subtitle1",component:"p",sx:{textAlign:"center",mt:"20px"},children:"Sorry, page not found or connection to server lost. Please come back later...."}),r(d,{href:"/",children:"Back to home page"})]})},s=i((function(e){var i=e.children,a=t(e,h);return r(n,o(o({},a),{},{children:r("div",{children:i})}))}))({width:"100%",maxWidth:"560px",flex:"0 0 auto","& > div":{width:"100%",paddingBottom:"100%",position:"relative"},"& img":{position:"absolute",top:0,left:0,width:"100%",height:"100%"}}),d=i((function(t){return r(a,o({component:"a",color:"inherit",variant:"contained",size:"large",endIcon:r(m,{fontSize:"small"})},t))}))({backgroundColor:"var(--color-black)",color:"var(--color-text-light)",minWidth:"250px",marginTop:"24px",height:"56px",textTransform:"none",fontWeight:600,transition:"0.3s","&:hover":{backgroundColor:"var(--color-black2)",color:"var(--color-text-light)"},"& .MuiButton-icon.MuiButton-endIcon":{transition:"0.3s"},"&:hover .MuiButton-icon.MuiButton-endIcon":{marginLeft:"16px"}});export{p as default};
89
2
  //# sourceMappingURL=ui.error-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\nimport Error404Vector from './vector-404.webp'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center' }}>\r\n <WrapImage>\r\n <img src={Error404Vector} alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","children","_jsx","WrapImage","src","Error404Vector","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","paddingBottom","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"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"}
1
+ {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\nimport Error404Vector from './vector-404.webp'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center' }}>\r\n <WrapImage>\r\n <img src={Error404Vector} alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","children","_jsx","WrapImage","src","Error404Vector","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","paddingBottom","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"uVAKMA,EAAkB,WAAP,OACfC,EAACC,EAAM,CAAAC,GAAI,CAAEC,WAAY,UAAUC,SAAA,CACjCC,EAACC,EACC,CAAAF,SAAAC,EAAA,MAAA,CAAKE,IAAKC,EAAgBC,IAAI,uBAEhCJ,EAACK,EAAU,CAACC,QAAQ,YAAYC,UAAU,IAAIV,GAAI,CAAEW,UAAW,SAAUC,GAAI,QAEhEV,SAAA,mFACbC,EAACU,EAAa,CAAAC,KAAK,IAAoCZ,SAAA,wBACjD,EAIJE,EAAYW,GAAO,SAAAC,GAAA,IAAGd,EAAQc,EAARd,SAAae,EAAKC,EAAAF,EAAAG,GAAA,OAC5ChB,EAACiB,EAAGC,EAAAA,KAAKJ,GAAK,GAAA,CAAAf,SACZC,EAAM,MAAA,CAAAD,SAAAA,MACF,GAHUa,CAIf,CACDO,MAAO,OACPC,SAAU,QACVC,KAAM,WACN,UAAW,CACTF,MAAO,OACPG,cAAe,OACfC,SAAU,YAEZ,QAAS,CACPA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNN,MAAO,OACPO,OAAQ,UAINhB,EAAeE,GAAO,SAACe,GAC3B,OAAO3B,EAAC4B,EAAMV,EAAA,CAACX,UAAU,IAAIsB,MAAM,UAAUvB,QAAQ,YAAYwB,KAAK,QAAQC,QAAS/B,EAACgC,EAAiB,CAACC,SAAS,WAAgBN,GACrI,GAFqBf,CAElB,CACDsB,gBAAiB,qBACjBL,MAAO,0BACPM,SAAU,QACVC,UAAW,OACXV,OAAQ,OACRW,cAAe,OACfC,WAAY,IACZC,WAAY,OACZ,UAAW,CACTL,gBAAiB,sBACjBL,MAAO,2BAET,sCAAuC,CACrCU,WAAY,QAEd,4CAA6C,CAC3CC,WAAY"}
@@ -1,4 +1,2 @@
1
- var Error404Vector = "vector-404265a04f4f9c8be1f.webp";
2
-
3
- export { Error404Vector as default };
1
+ var e="vector-404265a04f4f9c8be1f.webp";export{e as default};
4
2
  //# sourceMappingURL=vector-404.webp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector-404.webp.js","sources":["../../src/redux/vector-404.webp"],"sourcesContent":["export default \"vector-404265a04f4f9c8be1f.webp\""],"names":[],"mappings":"AAAA,qBAAe;;;;"}
1
+ {"version":3,"file":"vector-404.webp.js","sources":["../../src/redux/vector-404.webp"],"sourcesContent":["export default \"vector-404265a04f4f9c8be1f.webp\""],"names":["Error404Vector"],"mappings":"AAAA,IAAeA,EAAA"}
@@ -1,15 +1,2 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { createContext } from 'react';
3
-
4
- var TableBaseContext = /*#__PURE__*/createContext({
5
- showModal: function showModal() {},
6
- closeModal: function closeModal() {}
7
- });
8
- var MapTableBaseContext = function MapTableBaseContext(context) {
9
- return jsx(TableBaseContext.Consumer, {
10
- children: context
11
- });
12
- };
13
-
14
- export { MapTableBaseContext, TableBaseContext };
1
+ import{jsx as o}from"react/jsx-runtime";import{createContext as r}from"react";var n=r({showModal:function(){},closeModal:function(){}}),t=function(r){return o(n.Consumer,{children:r})};export{t as MapTableBaseContext,n as TableBaseContext};
15
2
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../src/table/context.tsx"],"sourcesContent":["import React, { createContext } from 'react'\r\nimport { TCloseModal, TShowModal } from '../api-context'\r\n\r\nexport interface ITableBaseContext {\r\n showModal: TShowModal\r\n closeModal: TCloseModal\r\n}\r\n\r\nexport const TableBaseContext = createContext<ITableBaseContext>({\r\n showModal: () => {},\r\n closeModal: () => {}\r\n})\r\n\r\nexport const MapTableBaseContext = (context: (context: ITableBaseContext) => React.ReactNode) => (\r\n <TableBaseContext.Consumer>{context}</TableBaseContext.Consumer>\r\n)\r\n"],"names":["TableBaseContext","createContext","showModal","closeModal","MapTableBaseContext","context","_jsx","Consumer"],"mappings":";;;AAQaA,IAAAA,gBAAgB,gBAAGC,aAAa,CAAoB;AAC/DC,EAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO,EAAG;AACnBC,EAAAA,UAAU,EAAE,SAAZA,UAAUA,GAAO;AAClB,CAAA;IAEYC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAAwD,EAAA;AAAA,EAAA,OAC1FC,GAAA,CAACN,gBAAgB,CAACO,QAAQ;cAAEF;AAAO,GAAA,CAA6B;AAAA;;;;"}
1
+ {"version":3,"file":"context.js","sources":["../../src/table/context.tsx"],"sourcesContent":["import React, { createContext } from 'react'\r\nimport { TCloseModal, TShowModal } from '../api-context'\r\n\r\nexport interface ITableBaseContext {\r\n showModal: TShowModal\r\n closeModal: TCloseModal\r\n}\r\n\r\nexport const TableBaseContext = createContext<ITableBaseContext>({\r\n showModal: () => {},\r\n closeModal: () => {}\r\n})\r\n\r\nexport const MapTableBaseContext = (context: (context: ITableBaseContext) => React.ReactNode) => (\r\n <TableBaseContext.Consumer>{context}</TableBaseContext.Consumer>\r\n)\r\n"],"names":["TableBaseContext","createContext","showModal","closeModal","MapTableBaseContext","context","_jsx","Consumer"],"mappings":"8EAQaA,IAAAA,EAAmBC,EAAiC,CAC/DC,UAAW,WAAQ,EACnBC,WAAY,WAAK,IAGNC,EAAsB,SAACC,GAAwD,OAC1FC,EAACN,EAAiBO,mBAAUF,GAAoC"}