@knovator/pagecreator-admin 0.9.4 → 1.0.0

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.
package/index.cjs CHANGED
@@ -1705,108 +1705,92 @@ const TRANSLATION_PAIRS_COMMON = {
1705
1705
  pleaseType: 'Please type',
1706
1706
  toProceedOrCancel: 'to processed or close this modal to cancel.',
1707
1707
  confirm: 'Confirm',
1708
- nextContent: 'Next',
1709
- previousContent: 'Previous',
1710
- page: 'Page',
1711
1708
  next: 'Next',
1709
+ previous: 'Previous',
1710
+ page: 'Page',
1712
1711
  indicatesRequired: 'Indicates fields are required',
1713
- addButtonText: 'Add',
1714
- cancelButtonText: 'Cancel',
1715
- yesButtonText: 'Yes',
1716
- deleteButtonText: 'Delete',
1717
- createButtonText: 'Create',
1718
- updateButtonText: 'Update',
1712
+ cancel: 'Cancel',
1713
+ yes: 'Yes',
1714
+ delete: 'Delete',
1715
+ create: 'Create',
1716
+ update: 'Update',
1719
1717
  showing: 'Showing',
1718
+ add: 'Add',
1720
1719
  of: 'of',
1721
- typeHerePlaceholder: 'Type Here'
1720
+ typeHerePlaceholder: 'Type Here',
1721
+ code: 'Code',
1722
+ codePlaceholder: 'Enter code',
1723
+ codeRequired: 'Code is required',
1724
+ name: 'Name',
1725
+ namePlaceholder: 'Enter name',
1726
+ nameRequired: 'Name is required',
1727
+ title: 'Title',
1728
+ titlePlaceholder: 'Enter title',
1729
+ titleRequired: 'Title is required',
1730
+ active: 'Active',
1731
+ actions: 'Actions'
1722
1732
  };
1723
1733
  const TRANSLATION_PAIRS_WIDGET = {
1724
- 'widget.name': 'Name',
1725
- 'widget.namePlaceholder': 'Enter name',
1726
- 'widget.nameRequired': 'Name is required',
1727
- 'widget.widgetTitle': 'Widget Title',
1728
- 'widget.widgetTitlePlaceholder': 'Enter Widget Title',
1729
- 'widget.widgetTitleRequired': 'Widget Title is required',
1730
- 'widget.itemsType': 'Items Type',
1731
- 'widget.itemsTypePlaceholder': 'Select Items Type',
1732
- 'widget.widgetType': 'Widget Type',
1733
- 'widget.widgetTypeRequired': 'Widget Type is required',
1734
- 'widget.color': 'Color',
1735
- 'widget.code': 'Code',
1736
- 'widget.codePlaceholder': 'Enter code',
1737
- 'widget.codeRequired': 'Code is required',
1738
- 'widget.webPerRow': 'Web Per Row',
1739
- 'widget.webPerRowPlaceholder': 'Enter web per row',
1740
- 'widget.mobilePerRow': 'Mobile Per Row',
1741
- 'widget.mobilePerRowPlaceholder': 'Enter mobile per row',
1742
- 'widget.tabletPerRow': 'Tablet Per Row',
1743
- 'widget.tabletPerRowPlaceholder': 'Enter tablet per row',
1744
- 'widget.mobileItems': 'Mobile Items',
1745
- 'widget.webItems': 'Web Items',
1746
- 'widget.searchPlaceholder': 'Search Widgets...',
1747
- 'widget.autoPlay': 'Auto Play',
1748
- 'widget.tableName': 'Name',
1749
- 'widget.tableCode': 'Code',
1750
- 'widget.tableActive': 'Active',
1751
- 'widget.addWidgetTitle': 'Add Widget',
1752
- 'widget.updateWidgetTitle': 'Update Widget',
1753
- 'widget.webPerRowRequired': 'Web Per Row is required',
1754
- 'widget.tabletPerRowRequired': 'Tablet Per Row is required',
1755
- 'widget.mobilePerRowRequired': 'Mobile Per Row is required',
1756
- 'widget.tabDeleteTitle': 'Are you sure you want to delete this tab?',
1757
- 'widget.widgetTitleInfo': 'HTML is supported',
1758
- 'widget.minPerRow': 'Value must be greater than zero',
1759
- 'widget.actionsLabel': 'Actions',
1760
- 'widget.tabNameRequired': 'Tab Name is required'
1761
- };
1762
- const TRANSLATION_PAIRS_ITEM = {
1763
- 'item.title': 'Title',
1764
- 'item.titlePlaceholder': 'Enter title',
1765
- 'item.subtitle': 'Subtitle',
1766
- 'item.subTitlePlaceholder': 'Enter Subtitle',
1767
- 'item.altText': 'Alt Text',
1768
- 'item.altTextPlaceholder': 'Enter alt text',
1769
- 'item.link': 'Link',
1770
- 'item.linkPlaceholder': 'Enter link',
1771
- 'item.image': 'Image',
1772
- 'item.uploadFile': 'Upload File',
1773
- 'item.dragDrop': 'or drag and drop',
1774
- 'item.allowedFormat': 'PNG, JPG, SVG up to 2 MB',
1775
- 'item.srcset': 'Srcset',
1776
- 'item.screenSizeRequired': 'ScreenSize is required',
1777
- 'item.widthRequired': 'Width is required',
1778
- 'item.heightRequired': 'Height is required',
1779
- 'item.minScreenSize': 'ScreenSize should be greater than 0',
1780
- 'item.minWidth': 'Width should be greater than 0',
1781
- 'item.minHeight': 'Height should be greater than 0',
1782
- 'item.titleRequired': 'Title is required',
1783
- 'item.deleteTitle': 'Are you sure you want to delete this item?'
1734
+ itemsType: 'Items Type',
1735
+ itemsTypePlaceholder: 'Select Items Type',
1736
+ widgetType: 'Widget Type',
1737
+ widgetTypeRequired: 'Widget Type is required',
1738
+ color: 'Color',
1739
+ webPerRow: 'Web Per Row',
1740
+ webPerRowPlaceholder: 'Enter web per row',
1741
+ mobilePerRow: 'Mobile Per Row',
1742
+ mobilePerRowPlaceholder: 'Enter mobile per row',
1743
+ tabletPerRow: 'Tablet Per Row',
1744
+ tabletPerRowPlaceholder: 'Enter tablet per row',
1745
+ mobileItems: 'Mobile Items',
1746
+ webItems: 'Web Items',
1747
+ searchPlaceholder: 'Search Widgets...',
1748
+ autoPlay: 'Auto Play',
1749
+ addWidgetTitle: 'Add Widget',
1750
+ updateWidgetTitle: 'Update Widget',
1751
+ webPerRowRequired: 'Web Per Row is required',
1752
+ tabletPerRowRequired: 'Tablet Per Row is required',
1753
+ mobilePerRowRequired: 'Mobile Per Row is required',
1754
+ tabDeleteTitle: 'Are you sure you want to delete this tab?',
1755
+ widgetTitleInfo: 'HTML is supported',
1756
+ minPerRow: 'Value must be greater than zero',
1757
+ // actionsLabel': 'Actions', -> 'actions'
1758
+ tabNameRequired: 'Tab Name is required',
1759
+ subtitle: 'Subtitle',
1760
+ subTitlePlaceholder: 'Enter Subtitle',
1761
+ altText: 'Alt Text',
1762
+ altTextPlaceholder: 'Enter alt text',
1763
+ link: 'Link',
1764
+ linkPlaceholder: 'Enter link',
1765
+ image: 'Image',
1766
+ uploadFile: 'Upload File',
1767
+ dragDrop: 'or drag and drop',
1768
+ allowedFormat: 'PNG, JPG, SVG up to 2 MB',
1769
+ srcset: 'Srcset',
1770
+ screenSizeRequired: 'ScreenSize is required',
1771
+ widthRequired: 'Width is required',
1772
+ heightRequired: 'Height is required',
1773
+ minScreenSize: 'ScreenSize should be greater than 0',
1774
+ minWidth: 'Width should be greater than 0',
1775
+ minHeight: 'Height should be greater than 0',
1776
+ deleteTitle: 'Are you sure you want to delete this item?'
1784
1777
  };
1785
1778
  const TRANSLATION_PAIRS_PAGE = {
1786
- 'page.name': 'Name',
1787
- 'page.namePlaceholder': 'Enter name',
1788
- 'page.nameRequired': 'Name is required',
1789
- 'page.code': 'Code',
1790
- 'page.codePlaceholder': 'Enter code',
1791
- 'page.codeRequired': 'Code is required',
1792
- 'page.slug': 'Slug',
1793
- 'page.slugPlaceholder': 'Enter Slug',
1794
- 'page.slugRequired': 'Slug is required',
1795
- 'page.addPageTitle': 'Add Page',
1796
- 'page.updatePageTitle': 'Update Page',
1797
- 'page.searchPages': 'Search Pages...',
1798
- 'page.tableName': 'Name',
1799
- 'page.tableCode': 'Code',
1800
- 'page.widgets': 'Widgets',
1801
- 'page.actionsLabel': 'Actions'
1802
- };
1803
-
1804
- /* eslint-disable @typescript-eslint/no-empty-function */
1779
+ widgets: 'Widgets',
1780
+ slug: 'Slug',
1781
+ slugPlaceholder: 'Enter Slug',
1782
+ slugRequired: 'Slug is required',
1783
+ addPage: 'Add Page',
1784
+ updatePage: 'Update Page',
1785
+ searchPages: 'Search Pages...'
1786
+ };
1787
+
1805
1788
  const ProviderContext = /*#__PURE__*/React.createContext(null);
1806
1789
  const Provider = ({
1807
1790
  children,
1808
1791
  baseUrl,
1809
1792
  token,
1793
+ translations,
1810
1794
  onError: _onError = () => {},
1811
1795
  onSuccess: _onSuccess = () => {},
1812
1796
  onLogout: _onLogout = () => {},
@@ -1823,7 +1807,8 @@ const Provider = ({
1823
1807
  onLogout: _onLogout,
1824
1808
  switchClass: _switchClass,
1825
1809
  widgetRoutesPrefix: _widgetRoutesPrefix,
1826
- pageRoutesPrefix: _pageRoutesPrefix
1810
+ pageRoutesPrefix: _pageRoutesPrefix,
1811
+ commonTranslations: Object.assign(Object.assign({}, TRANSLATION_PAIRS_COMMON), translations || {})
1827
1812
  }
1828
1813
  }, children);
1829
1814
  };
@@ -2545,12 +2530,6 @@ const isEmpty = data => {
2545
2530
  if ([undefined, null, ''].includes(data)) return true;
2546
2531
  return false;
2547
2532
  };
2548
- function createTranslation(t, obj) {
2549
- return function (key) {
2550
- if (typeof t === 'function') return t(key);
2551
- return obj[key] || '';
2552
- };
2553
- }
2554
2533
  const build_path = (...args) => {
2555
2534
  return args.map((part, i) => {
2556
2535
  if (i === 0) {
@@ -3027,8 +3006,6 @@ const usePage = ({
3027
3006
 
3028
3007
  const PageContext = /*#__PURE__*/React.createContext(null);
3029
3008
  const PageContextProvider = ({
3030
- t: _t = key => Object.assign({}, TRANSLATION_PAIRS_COMMON)[key],
3031
- // Form
3032
3009
  searchText: _searchText = '',
3033
3010
  changeSearch: _changeSearch = () => {},
3034
3011
  list: _list = [],
@@ -3059,12 +3036,12 @@ const PageContextProvider = ({
3059
3036
  data: _data = [],
3060
3037
  canDelete: _canDelete = false,
3061
3038
  loader: _loader = undefined,
3039
+ pageTranslations,
3062
3040
  // other
3063
3041
  children
3064
3042
  }) => {
3065
3043
  return /*#__PURE__*/React__default["default"].createElement(PageContext.Provider, {
3066
3044
  value: {
3067
- t: _t,
3068
3045
  // Form
3069
3046
  list: _list,
3070
3047
  searchText: _searchText,
@@ -3095,7 +3072,8 @@ const PageContextProvider = ({
3095
3072
  columns: _columns,
3096
3073
  data: _data,
3097
3074
  canDelete: _canDelete,
3098
- loader: _loader
3075
+ loader: _loader,
3076
+ pageTranslations: Object.assign(Object.assign({}, TRANSLATION_PAIRS_PAGE), pageTranslations || {})
3099
3077
  }
3100
3078
  }, children);
3101
3079
  };
@@ -3216,10 +3194,12 @@ const PageTable = ({
3216
3194
  extraActions,
3217
3195
  extraColumns
3218
3196
  }) => {
3197
+ const {
3198
+ commonTranslations
3199
+ } = useProviderState();
3219
3200
  const {
3220
3201
  list,
3221
3202
  onChangeFormState,
3222
- t,
3223
3203
  loading,
3224
3204
  loader,
3225
3205
  canUpdate,
@@ -3232,14 +3212,14 @@ const PageTable = ({
3232
3212
  loader: loader,
3233
3213
  loading: loading,
3234
3214
  dataKeys: [{
3235
- label: t('page.tableName'),
3215
+ label: commonTranslations.name,
3236
3216
  dataKey: 'name',
3237
3217
  highlight: true
3238
3218
  }, {
3239
- label: t('page.tableCode'),
3219
+ label: commonTranslations.code,
3240
3220
  dataKey: 'code'
3241
3221
  }],
3242
- actionsLabel: t('page.actionsLabel'),
3222
+ actionsLabel: commonTranslations.actions,
3243
3223
  actions: {
3244
3224
  edit: canUpdate ? onUpdateClick : undefined,
3245
3225
  delete: canDelete ? onDeleteClick : undefined
@@ -3501,7 +3481,12 @@ const SrcSet = ({
3501
3481
  errors,
3502
3482
  name,
3503
3483
  disabled: _disabled2 = false,
3504
- t
3484
+ screenSizeRequired,
3485
+ heightRequired,
3486
+ minHeight,
3487
+ minScreenSize,
3488
+ minWidth,
3489
+ widthRequired
3505
3490
  }) => {
3506
3491
  const {
3507
3492
  fields,
@@ -3531,8 +3516,8 @@ const SrcSet = ({
3531
3516
  size: _size,
3532
3517
  placeholder: "Screen Size",
3533
3518
  rest: register(`${name}.${index}.screenSize`, {
3534
- required: t('item.screenSizeRequired'),
3535
- validate: value => Number(value) <= 0 ? t('item.minScreenSize') : true
3519
+ required: screenSizeRequired,
3520
+ validate: value => Number(value) <= 0 ? minScreenSize : true
3536
3521
  }),
3537
3522
  disabled: _disabled2
3538
3523
  }), /*#__PURE__*/React__default["default"].createElement("span", {
@@ -3541,8 +3526,8 @@ const SrcSet = ({
3541
3526
  error: (_f = (_e = (_d = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _d === void 0 ? void 0 : _d['width']) === null || _e === void 0 ? void 0 : _e.message) === null || _f === void 0 ? void 0 : _f.toString(),
3542
3527
  index: index,
3543
3528
  rest: register(`${name}.${index}.width`, {
3544
- required: t('item.widthRequired'),
3545
- validate: value => Number(value) <= 0 ? t('item.minWidth') : true
3529
+ required: widthRequired,
3530
+ validate: value => Number(value) <= 0 ? minWidth : true
3546
3531
  }),
3547
3532
  className: className,
3548
3533
  size: _size,
@@ -3554,8 +3539,8 @@ const SrcSet = ({
3554
3539
  error: (_j = (_h = (_g = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _g === void 0 ? void 0 : _g['height']) === null || _h === void 0 ? void 0 : _h.message) === null || _j === void 0 ? void 0 : _j.toString(),
3555
3540
  index: index,
3556
3541
  rest: register(`${name}.${index}.height`, {
3557
- required: t('item.heightRequired'),
3558
- validate: value => Number(value) <= 0 ? t('item.minHeight') : true
3542
+ required: heightRequired,
3543
+ validate: value => Number(value) <= 0 ? minHeight : true
3559
3544
  }),
3560
3545
  className: className,
3561
3546
  size: _size,
@@ -3592,7 +3577,7 @@ var Input = Object.assign(Input$1, {
3592
3577
 
3593
3578
  const PageSearch = () => {
3594
3579
  const {
3595
- t,
3580
+ pageTranslations,
3596
3581
  canList,
3597
3582
  changeSearch,
3598
3583
  setCurrentPage
@@ -3612,7 +3597,7 @@ const PageSearch = () => {
3612
3597
  value: search,
3613
3598
  disabled: !canList,
3614
3599
  onChange: e => onChangeSearch(e.target.value),
3615
- placeholder: t('page.searchPages')
3600
+ placeholder: pageTranslations.searchPages
3616
3601
  });
3617
3602
  };
3618
3603
 
@@ -3930,7 +3915,9 @@ const PageForm = ({
3930
3915
  formRef
3931
3916
  }) => {
3932
3917
  const {
3933
- t,
3918
+ commonTranslations
3919
+ } = useProviderState();
3920
+ const {
3934
3921
  data,
3935
3922
  formState,
3936
3923
  onPageFormSubmit,
@@ -3940,7 +3927,8 @@ const PageForm = ({
3940
3927
  getWidgets,
3941
3928
  onChangeWidgetSequence,
3942
3929
  canAdd,
3943
- canUpdate
3930
+ canUpdate,
3931
+ pageTranslations
3944
3932
  } = usePageState();
3945
3933
  const {
3946
3934
  register,
@@ -4011,39 +3999,39 @@ const PageForm = ({
4011
3999
  };
4012
4000
  // Schemas
4013
4001
  const pageFormSchema = [{
4014
- label: `${t('page.name')}`,
4002
+ label: commonTranslations.name,
4015
4003
  required: true,
4016
4004
  accessor: 'name',
4017
4005
  type: 'text',
4018
- placeholder: t('page.namePlaceholder'),
4006
+ placeholder: commonTranslations.namePlaceholder,
4019
4007
  onInput: handleCapitalize,
4020
4008
  validations: {
4021
- required: t('page.nameRequired')
4009
+ required: commonTranslations.nameRequired
4022
4010
  }
4023
4011
  }, {
4024
- label: `${t('page.code')}`,
4012
+ label: commonTranslations.code,
4025
4013
  accessor: 'code',
4026
4014
  required: true,
4027
4015
  type: 'text',
4028
4016
  onInput: handleCode,
4029
4017
  editable: false,
4030
- placeholder: t('page.codePlaceholder'),
4018
+ placeholder: commonTranslations.codePlaceholder,
4031
4019
  validations: {
4032
- required: t('page.codeRequired')
4020
+ required: commonTranslations.codeRequired
4033
4021
  }
4034
4022
  }, {
4035
- label: `${t('page.slug')}`,
4023
+ label: pageTranslations.slug,
4036
4024
  accessor: 'slug',
4037
4025
  required: true,
4038
4026
  type: 'text',
4039
4027
  onInput: handleSlug,
4040
4028
  editable: false,
4041
- placeholder: t('page.slugPlaceholder'),
4029
+ placeholder: pageTranslations.slugPlaceholder,
4042
4030
  validations: {
4043
- required: t('page.slugRequired')
4031
+ required: pageTranslations.slugRequired
4044
4032
  }
4045
4033
  }, {
4046
- label: t('page.widgets'),
4034
+ label: pageTranslations.widgets,
4047
4035
  accessor: 'widgets',
4048
4036
  type: 'ReactSelect',
4049
4037
  options: widgets,
@@ -4098,15 +4086,17 @@ const Button = ({
4098
4086
  };
4099
4087
 
4100
4088
  const AddButton$1 = () => {
4089
+ const {
4090
+ commonTranslations
4091
+ } = useProviderState();
4101
4092
  const {
4102
4093
  onChangeFormState,
4103
- t,
4104
4094
  canAdd
4105
4095
  } = usePageState();
4106
4096
  return /*#__PURE__*/React__default["default"].createElement(Button, {
4107
4097
  disabled: !canAdd,
4108
4098
  onClick: () => onChangeFormState('ADD')
4109
- }, t('addButtonText') || t('common:addButtonText'));
4099
+ }, commonTranslations.add);
4110
4100
  };
4111
4101
 
4112
4102
  const ChevronLeft = ({
@@ -4210,7 +4200,9 @@ const Pagination = ({
4210
4200
 
4211
4201
  const PagePagination = () => {
4212
4202
  const {
4213
- t,
4203
+ commonTranslations
4204
+ } = useProviderState();
4205
+ const {
4214
4206
  totalPages,
4215
4207
  totalRecords,
4216
4208
  currentPage,
@@ -4218,11 +4210,11 @@ const PagePagination = () => {
4218
4210
  setCurrentPage
4219
4211
  } = usePageState();
4220
4212
  return /*#__PURE__*/React__default["default"].createElement(Pagination, {
4221
- ofText: t('of') || t('common:of'),
4222
- pageText: t('confirm') || t('common:confirm'),
4223
- showingText: t('showing') || t('common:showing'),
4224
- nextContent: t('nextContent') || t('common:nextContent'),
4225
- previousContent: t('previousContent') || t('common:previousContent'),
4213
+ ofText: commonTranslations.of,
4214
+ pageText: commonTranslations.confirm,
4215
+ showingText: commonTranslations.showing,
4216
+ nextContent: commonTranslations.next,
4217
+ previousContent: commonTranslations.previous,
4226
4218
  totalPages: totalPages,
4227
4219
  totalRecords: totalRecords,
4228
4220
  currentPage: currentPage,
@@ -4231,6 +4223,65 @@ const PagePagination = () => {
4231
4223
  });
4232
4224
  };
4233
4225
 
4226
+ const Drawer = ({
4227
+ children,
4228
+ open,
4229
+ onClose,
4230
+ title,
4231
+ footerContent
4232
+ }) => {
4233
+ const nodeRef = React.useRef(null);
4234
+ return /*#__PURE__*/React__default["default"].createElement(CSSTransition__default["default"], {
4235
+ ref: nodeRef,
4236
+ in: open,
4237
+ timeout: {
4238
+ enter: 250,
4239
+ exit: 350
4240
+ },
4241
+ classNames: "khb_drawer",
4242
+ mountOnEnter: true,
4243
+ unmountOnExit: true
4244
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4245
+ className: "khb_drawer-wrapper-1",
4246
+ "aria-labelledby": "modal",
4247
+ role: "dialog",
4248
+ "aria-modal": "true",
4249
+ ref: nodeRef,
4250
+ "data-testid": "drawer"
4251
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4252
+ className: "khb_drawer-wrapper-2"
4253
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4254
+ className: "khb_drawer-backdrop",
4255
+ role: "button",
4256
+ onClick: onClose,
4257
+ onKeyDown: onClose,
4258
+ tabIndex: 0
4259
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
4260
+ className: "khb_drawer-container-1"
4261
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4262
+ className: "khb_drawer-container-2"
4263
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4264
+ className: "khb_drawer-close-section"
4265
+ }, /*#__PURE__*/React__default["default"].createElement("button", {
4266
+ type: "button",
4267
+ className: "khb_drawer-close-btn",
4268
+ onClick: onClose,
4269
+ "data-testid": "drawer-close"
4270
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
4271
+ className: "khb_sr-only"
4272
+ }, "Close panel"), /*#__PURE__*/React__default["default"].createElement(Close, null))), /*#__PURE__*/React__default["default"].createElement("div", {
4273
+ className: "khb_drawer-main"
4274
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
4275
+ className: "khb_drawer-header"
4276
+ }, /*#__PURE__*/React__default["default"].createElement("p", {
4277
+ className: "khb_drawer-header-title"
4278
+ }, title)), /*#__PURE__*/React__default["default"].createElement("div", {
4279
+ className: "khb_darwer-content"
4280
+ }, children), footerContent && /*#__PURE__*/React__default["default"].createElement("div", {
4281
+ className: "khb_drawer-footer"
4282
+ }, footerContent)))))));
4283
+ };
4284
+
4234
4285
  const Modal = ({
4235
4286
  open,
4236
4287
  onClose,
@@ -4327,65 +4378,6 @@ const DeleteModal = ({
4327
4378
  }, confirm || TRANSLATION_PAIRS_COMMON.confirm)))) : null;
4328
4379
  };
4329
4380
 
4330
- const Drawer = ({
4331
- children,
4332
- open,
4333
- onClose,
4334
- title,
4335
- footerContent
4336
- }) => {
4337
- const nodeRef = React.useRef(null);
4338
- return /*#__PURE__*/React__default["default"].createElement(CSSTransition__default["default"], {
4339
- ref: nodeRef,
4340
- in: open,
4341
- timeout: {
4342
- enter: 250,
4343
- exit: 350
4344
- },
4345
- classNames: "khb_drawer",
4346
- mountOnEnter: true,
4347
- unmountOnExit: true
4348
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4349
- className: "khb_drawer-wrapper-1",
4350
- "aria-labelledby": "modal",
4351
- role: "dialog",
4352
- "aria-modal": "true",
4353
- ref: nodeRef,
4354
- "data-testid": "drawer"
4355
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4356
- className: "khb_drawer-wrapper-2"
4357
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4358
- className: "khb_drawer-backdrop",
4359
- role: "button",
4360
- onClick: onClose,
4361
- onKeyDown: onClose,
4362
- tabIndex: 0
4363
- }), /*#__PURE__*/React__default["default"].createElement("div", {
4364
- className: "khb_drawer-container-1"
4365
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4366
- className: "khb_drawer-container-2"
4367
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4368
- className: "khb_drawer-close-section"
4369
- }, /*#__PURE__*/React__default["default"].createElement("button", {
4370
- type: "button",
4371
- className: "khb_drawer-close-btn",
4372
- onClick: onClose,
4373
- "data-testid": "drawer-close"
4374
- }, /*#__PURE__*/React__default["default"].createElement("span", {
4375
- className: "khb_sr-only"
4376
- }, "Close panel"), /*#__PURE__*/React__default["default"].createElement(Close, null))), /*#__PURE__*/React__default["default"].createElement("div", {
4377
- className: "khb_drawer-main"
4378
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4379
- className: "khb_drawer-header"
4380
- }, /*#__PURE__*/React__default["default"].createElement("p", {
4381
- className: "khb_drawer-header-title"
4382
- }, title)), /*#__PURE__*/React__default["default"].createElement("div", {
4383
- className: "khb_darwer-content"
4384
- }, children), footerContent && /*#__PURE__*/React__default["default"].createElement("div", {
4385
- className: "khb_drawer-footer"
4386
- }, footerContent)))))));
4387
- };
4388
-
4389
4381
  const FormActions = ({
4390
4382
  loading: _loading = false,
4391
4383
  primaryLabel: _primaryLabel = 'Submit',
@@ -4407,14 +4399,14 @@ const PageFormActions = ({
4407
4399
  formRef
4408
4400
  }) => {
4409
4401
  const {
4410
- onError
4402
+ onError,
4403
+ commonTranslations
4411
4404
  } = useProviderState();
4412
4405
  const {
4413
4406
  closeForm,
4414
4407
  loading,
4415
4408
  canAdd,
4416
4409
  canUpdate,
4417
- t,
4418
4410
  formState
4419
4411
  } = usePageState();
4420
4412
  const onSubmitClick = e => {
@@ -4434,10 +4426,10 @@ const PageFormActions = ({
4434
4426
  if (!canAdd && !canUpdate) return null;
4435
4427
  return /*#__PURE__*/React__default["default"].createElement(FormActions, {
4436
4428
  loading: loading,
4437
- primaryLabel: formState === 'ADD' ? t('createButtonText') || t('common:createButtonText') : t('updateButtonText') || t('common:updateButtonText'),
4429
+ primaryLabel: formState === 'ADD' ? commonTranslations.create : commonTranslations.update,
4438
4430
  onPrimaryButtonClick: onSubmitClick,
4439
4431
  onSecondaryButtonClick: closeForm,
4440
- secondaryLabel: t('cancelButtonText') || t('common:cancelButtonText')
4432
+ secondaryLabel: commonTranslations.cancel
4441
4433
  });
4442
4434
  };
4443
4435
 
@@ -4456,8 +4448,8 @@ const PageFormWrapper = ({
4456
4448
  };
4457
4449
 
4458
4450
  const Page = ({
4459
- t,
4460
4451
  loader,
4452
+ translations,
4461
4453
  explicitForm: _explicitForm = false,
4462
4454
  children,
4463
4455
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -4465,9 +4457,12 @@ const Page = ({
4465
4457
  permissions: _permissions = {},
4466
4458
  preConfirmDelete
4467
4459
  }) => {
4460
+ const {
4461
+ commonTranslations
4462
+ } = useProviderState();
4468
4463
  const derivedPermissions = Object.assign(DEFAULT_PERMISSIONS, _permissions);
4469
4464
  const formRef = React.useRef(null);
4470
- const derivedT = createTranslation(t, Object.assign(Object.assign({}, TRANSLATION_PAIRS_COMMON), TRANSLATION_PAIRS_PAGE));
4465
+ const combinedTranslations = Object.assign(Object.assign({}, TRANSLATION_PAIRS_PAGE), translations);
4471
4466
  const {
4472
4467
  list,
4473
4468
  widgets,
@@ -4496,7 +4491,6 @@ const Page = ({
4496
4491
  canList: derivedPermissions.list
4497
4492
  });
4498
4493
  return /*#__PURE__*/React__default["default"].createElement(PageContextProvider, {
4499
- t: derivedT,
4500
4494
  loader: loader,
4501
4495
  list: list,
4502
4496
  searchText: searchText,
@@ -4522,13 +4516,14 @@ const Page = ({
4522
4516
  canAdd: derivedPermissions.add,
4523
4517
  canDelete: derivedPermissions.delete,
4524
4518
  canUpdate: derivedPermissions.update,
4525
- canList: derivedPermissions.list
4519
+ canList: derivedPermissions.list,
4520
+ pageTranslations: translations
4526
4521
  }, children ? children : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(AddButton$1, null), /*#__PURE__*/React__default["default"].createElement(PageSearch, null), /*#__PURE__*/React__default["default"].createElement("div", {
4527
4522
  className: "khb_table-wrapper"
4528
4523
  }, /*#__PURE__*/React__default["default"].createElement(PageTable, null), /*#__PURE__*/React__default["default"].createElement(PagePagination, null))), !_explicitForm && /*#__PURE__*/React__default["default"].createElement(Drawer, {
4529
4524
  open: formState === 'ADD' || formState === 'UPDATE',
4530
4525
  onClose: onCloseForm,
4531
- title: formState === 'ADD' ? derivedT('page.addPageTitle') : formState === 'UPDATE' ? derivedT('page.updatePageTitle') : '',
4526
+ title: formState === 'ADD' ? combinedTranslations.addPage : formState === 'UPDATE' ? combinedTranslations.updatePage : '',
4532
4527
  footerContent: /*#__PURE__*/React__default["default"].createElement(PageFormActions, {
4533
4528
  formRef: formRef
4534
4529
  })
@@ -4539,13 +4534,13 @@ const Page = ({
4539
4534
  itemData: itemData,
4540
4535
  onClose: onCloseForm,
4541
4536
  onConfirmDelete: onCofirmDeletePage,
4542
- confirmationRequired: derivedT('confirmationRequired') || derivedT('common:confirmationRequired'),
4543
- confirm: derivedT('confirm') || derivedT('common:confirm'),
4544
- lossOfData: derivedT('lossOfData') || derivedT('common:lossOfData'),
4545
- permanentlyDelete: derivedT('permanentlyDelete') || derivedT('common:permanentlyDelete'),
4546
- pleaseType: derivedT('pleaseType') || derivedT('common:pleaseType'),
4547
- toProceedOrCancel: derivedT('toProceedOrCancel') || derivedT('common:toProceedOrCancel'),
4548
- typeHerePlaceholder: derivedT('typeHerePlaceholder') || derivedT('common:typeHerePlaceholder')
4537
+ confirmationRequired: commonTranslations.confirmationRequired,
4538
+ confirm: commonTranslations.confirm,
4539
+ lossOfData: commonTranslations.lossOfData,
4540
+ permanentlyDelete: commonTranslations.permanentlyDelete,
4541
+ pleaseType: commonTranslations.pleaseType,
4542
+ toProceedOrCancel: commonTranslations.toProceedOrCancel,
4543
+ typeHerePlaceholder: commonTranslations.typeHerePlaceholder
4549
4544
  }));
4550
4545
  };
4551
4546
  Page.Table = PageTable;
@@ -6057,7 +6052,6 @@ $$1({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
6057
6052
 
6058
6053
  const WidgetContext = /*#__PURE__*/React.createContext(null);
6059
6054
  const WidgetContextProvider = ({
6060
- t: _t = () => '',
6061
6055
  // Form
6062
6056
  list: _list = [],
6063
6057
  languages: _languages = [],
@@ -6101,12 +6095,12 @@ const WidgetContextProvider = ({
6101
6095
  onPartialUpdateWidget: _onPartialUpdateWidget = () => Promise.resolve(),
6102
6096
  reactSelectStyles: _reactSelectStyles = {},
6103
6097
  imageMaxSize: _imageMaxSize = 10485760,
6098
+ widgetTranslations,
6104
6099
  // other
6105
6100
  children
6106
6101
  }) => {
6107
6102
  return /*#__PURE__*/React__default["default"].createElement(WidgetContext.Provider, {
6108
6103
  value: {
6109
- t: _t,
6110
6104
  // Form
6111
6105
  list: _list,
6112
6106
  languages: _languages,
@@ -6149,7 +6143,8 @@ const WidgetContextProvider = ({
6149
6143
  data: _data,
6150
6144
  canDelete: _canDelete,
6151
6145
  loader: _loader,
6152
- imageMaxSize: _imageMaxSize
6146
+ imageMaxSize: _imageMaxSize,
6147
+ widgetTranslations: Object.assign(Object.assign({}, TRANSLATION_PAIRS_WIDGET), widgetTranslations || {})
6153
6148
  }
6154
6149
  }, children);
6155
6150
  };
@@ -6183,6 +6178,7 @@ const WidgetTable = ({
6183
6178
  extraColumns
6184
6179
  }) => {
6185
6180
  const {
6181
+ commonTranslations,
6186
6182
  switchClass
6187
6183
  } = useProviderState();
6188
6184
  const {
@@ -6193,8 +6189,7 @@ const WidgetTable = ({
6193
6189
  onChangeFormState,
6194
6190
  onPartialUpdateWidget,
6195
6191
  loading,
6196
- loader,
6197
- t
6192
+ loader
6198
6193
  } = useWidgetState();
6199
6194
  const updateClosure = React.useCallback((item, key, value) => {
6200
6195
  onPartialUpdateWidget({
@@ -6204,15 +6199,15 @@ const WidgetTable = ({
6204
6199
  const onUpdateClick = item => onChangeFormState('UPDATE', item);
6205
6200
  const onDeleteClick = item => onChangeFormState('DELETE', item);
6206
6201
  const dataKeys = [{
6207
- label: t('widget.tableName'),
6202
+ label: commonTranslations.name,
6208
6203
  dataKey: 'name',
6209
6204
  highlight: true
6210
6205
  }, {
6211
- label: t('widget.tableCode'),
6206
+ label: commonTranslations.code,
6212
6207
  dataKey: 'code'
6213
6208
  }];
6214
6209
  if (canPartialUpdate) dataKeys.push({
6215
- label: t('widget.tableActive'),
6210
+ label: commonTranslations.active,
6216
6211
  dataKey: 'isActive',
6217
6212
  Cell: ({
6218
6213
  row
@@ -6227,7 +6222,7 @@ const WidgetTable = ({
6227
6222
  loader: loader,
6228
6223
  loading: loading,
6229
6224
  dataKeys: dataKeys,
6230
- actionsLabel: t('widget.actionsLabel'),
6225
+ actionsLabel: commonTranslations.actions,
6231
6226
  extraColumns: extraColumns,
6232
6227
  extraActions: extraActions,
6233
6228
  actions: {
@@ -6558,14 +6553,15 @@ const ItemsAccordian = ({
6558
6553
  deleteText: _deleteText = 'Delete'
6559
6554
  }) => {
6560
6555
  const {
6561
- baseUrl
6556
+ baseUrl,
6557
+ commonTranslations
6562
6558
  } = useProviderState();
6563
6559
  const {
6564
6560
  onImageUpload,
6565
6561
  onImageRemove,
6566
- t,
6567
6562
  imageBaseUrl,
6568
- imageMaxSize
6563
+ imageMaxSize,
6564
+ widgetTranslations
6569
6565
  } = useWidgetState();
6570
6566
  const [itemsShow, setItemsShow] = React.useState([]);
6571
6567
  const {
@@ -6626,9 +6622,9 @@ const ItemsAccordian = ({
6626
6622
  id: `${id}-item-${index}`,
6627
6623
  footerContent: /*#__PURE__*/React__default["default"].createElement(ConfirmPopOver, {
6628
6624
  onConfirm: () => removeItem(index),
6629
- title: t('item.deleteTitle'),
6630
- confirmText: t('yesButtonText') || t('common:yesButtonText'),
6631
- cancelText: t('cancelButtonText') || t('common:cancelButtonText')
6625
+ title: widgetTranslations.deleteTitle,
6626
+ confirmText: commonTranslations.yes,
6627
+ cancelText: commonTranslations.cancel
6632
6628
  }, /*#__PURE__*/React__default["default"].createElement(Button, {
6633
6629
  type: "danger",
6634
6630
  size: "sm",
@@ -6640,67 +6636,72 @@ const ItemsAccordian = ({
6640
6636
  var _a, _b, _c, _d, _e, _f, _g, _h;
6641
6637
  return /*#__PURE__*/React__default["default"].createElement(Input, {
6642
6638
  rest: register(`${name}.${index}.titles.${lang.code}`, {
6643
- required: t('item.titleRequired')
6639
+ required: commonTranslations.titleRequired
6644
6640
  }),
6645
- label: t('item.title') + ` (${lang.name})`,
6641
+ label: commonTranslations.title + ` (${lang.name})`,
6646
6642
  error: ((_c = (_b = (_a = errors[name]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b['titles']) === null || _c === void 0 ? void 0 : _c[lang.code]) ? ((_h = (_g = (_f = (_e = (_d = errors[name]) === null || _d === void 0 ? void 0 : _d[index]) === null || _e === void 0 ? void 0 : _e['titles']) === null || _f === void 0 ? void 0 : _f[lang.code]) === null || _g === void 0 ? void 0 : _g.message) === null || _h === void 0 ? void 0 : _h.toString()) + ` (${lang.name})` : '',
6647
6643
  type: "text",
6648
6644
  className: "w-full p-2",
6649
- placeholder: t('item.titlePlaceholder') + ` (${lang.name})`,
6645
+ placeholder: commonTranslations.titlePlaceholder + ` (${lang.name})`,
6650
6646
  required: true
6651
6647
  });
6652
6648
  })) : /*#__PURE__*/React__default["default"].createElement(Input, {
6653
6649
  rest: register(`${name}.${index}.title`, {
6654
- required: t('item.titleRequired')
6650
+ required: commonTranslations.titleRequired
6655
6651
  }),
6656
- label: t('item.title'),
6652
+ label: commonTranslations.title,
6657
6653
  error: (_d = (_c = (_b = (_a = errors[name]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b['title']) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.toString(),
6658
6654
  type: "text",
6659
6655
  className: "w-full p-2",
6660
- placeholder: t('item.titlePlaceholder'),
6656
+ placeholder: commonTranslations.titlePlaceholder,
6661
6657
  required: true
6662
6658
  }), Array.isArray(languages) && languages.length > 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, languages.map(lang => /*#__PURE__*/React__default["default"].createElement(Input, {
6663
6659
  rest: register(`${name}.${index}.subtitles.${lang.code}`),
6664
- label: t('item.subtitle') + ` (${lang.name})`,
6660
+ label: widgetTranslations.subtitle + ` (${lang.name})`,
6665
6661
  type: "text",
6666
6662
  className: "w-full p-2",
6667
- placeholder: t('item.subTitlePlaceholder') + ` (${lang.name})`
6663
+ placeholder: widgetTranslations.subTitlePlaceholder + ` (${lang.name})`
6668
6664
  }))) : /*#__PURE__*/React__default["default"].createElement(Input, {
6669
6665
  rest: register(`${name}.${index}.subtitle`),
6670
- label: t('item.subtitle'),
6666
+ label: widgetTranslations.subtitle,
6671
6667
  type: "text",
6672
6668
  className: "w-full p-2",
6673
- placeholder: t('item.subTitlePlaceholder')
6669
+ placeholder: widgetTranslations.subTitlePlaceholder
6674
6670
  }), Array.isArray(languages) && languages.length > 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, languages.map(lang => /*#__PURE__*/React__default["default"].createElement(Input, {
6675
6671
  rest: register(`${name}.${index}.altTexts.${lang.code}`),
6676
- label: t('item.altText') + ` (${lang.name})`,
6677
- type: 'text',
6672
+ label: widgetTranslations.altText + ` (${lang.name})`,
6673
+ type: "text",
6678
6674
  className: "w-full p-2",
6679
- placeholder: t('item.altTextPlaceholder') + ` (${lang.name})`
6675
+ placeholder: widgetTranslations.altTextPlaceholder + ` (${lang.name})`
6680
6676
  }))) : /*#__PURE__*/React__default["default"].createElement(Input, {
6681
6677
  rest: register(`${name}.${index}.altText`),
6682
- label: t('item.altText'),
6683
- type: 'text',
6678
+ label: widgetTranslations.altText,
6679
+ type: "text",
6684
6680
  className: "w-full p-2",
6685
- placeholder: t('item.altTextPlaceholder')
6681
+ placeholder: widgetTranslations.altTextPlaceholder
6686
6682
  }), /*#__PURE__*/React__default["default"].createElement(Input, {
6687
6683
  rest: register(`${name}.${index}.link`),
6688
- label: t('item.link'),
6689
- type: 'url',
6684
+ label: widgetTranslations.link,
6685
+ type: "url",
6690
6686
  className: "w-full p-2",
6691
- placeholder: t('item.linkPlaceholder')
6687
+ placeholder: widgetTranslations.linkPlaceholder
6692
6688
  }), /*#__PURE__*/React__default["default"].createElement(Input.SrcSet, {
6693
6689
  control: control,
6694
6690
  register: register,
6695
- label: t(`item.srcset`),
6691
+ label: widgetTranslations.srcset,
6696
6692
  name: `${name}.${index}.srcset`,
6697
6693
  errors: (_f = (_e = errors[name]) === null || _e === void 0 ? void 0 : _e[index]) === null || _f === void 0 ? void 0 : _f['srcset'],
6698
- t: t
6694
+ screenSizeRequired: widgetTranslations.screenSizeRequired,
6695
+ heightRequired: widgetTranslations.heightRequired,
6696
+ minHeight: widgetTranslations.minHeight,
6697
+ minScreenSize: widgetTranslations.minScreenSize,
6698
+ minWidth: widgetTranslations.minWidth,
6699
+ widthRequired: widgetTranslations.widthRequired
6699
6700
  }), Array.isArray(languages) && languages.length > 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, languages.map(lang => {
6700
6701
  var _a, _b, _c, _d, _e;
6701
6702
  return /*#__PURE__*/React__default["default"].createElement(ImageInput, {
6702
6703
  key: lang.code,
6703
- label: t('item.image') + ` (${lang.name})`,
6704
+ label: widgetTranslations.image + ` (${lang.name})`,
6704
6705
  control: control,
6705
6706
  name: `${name}.${index}.imgs.${lang.code}`,
6706
6707
  error: (_e = (_d = (_c = (_b = (_a = errors[name]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b['imgs']) === null || _c === void 0 ? void 0 : _c[lang.code]) === null || _d === void 0 ? void 0 : _d.message) === null || _e === void 0 ? void 0 : _e.toString(),
@@ -6714,14 +6715,14 @@ const ItemsAccordian = ({
6714
6715
  className: "khb_img-text-wrapper"
6715
6716
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6716
6717
  className: "khb_img-text-label"
6717
- }, /*#__PURE__*/React__default["default"].createElement("span", null, t('item.uploadFile'))), /*#__PURE__*/React__default["default"].createElement("p", {
6718
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, widgetTranslations.uploadFile)), /*#__PURE__*/React__default["default"].createElement("p", {
6718
6719
  className: "khb_img-text-1"
6719
- }, t('item.dragDrop'))), /*#__PURE__*/React__default["default"].createElement("p", {
6720
+ }, widgetTranslations.dragDrop)), /*#__PURE__*/React__default["default"].createElement("p", {
6720
6721
  className: "khb_img-text-2"
6721
- }, t('item.allowedFormat')))
6722
+ }, widgetTranslations.allowedFormat))
6722
6723
  });
6723
6724
  })) : /*#__PURE__*/React__default["default"].createElement(ImageInput, {
6724
- label: t('item.image'),
6725
+ label: widgetTranslations.image,
6725
6726
  control: control,
6726
6727
  name: `${name}.${index}.img`,
6727
6728
  error: (_k = (_j = (_h = (_g = errors[name]) === null || _g === void 0 ? void 0 : _g[index]) === null || _h === void 0 ? void 0 : _h['img']) === null || _j === void 0 ? void 0 : _j.message) === null || _k === void 0 ? void 0 : _k.toString(),
@@ -6735,11 +6736,11 @@ const ItemsAccordian = ({
6735
6736
  className: "khb_img-text-wrapper"
6736
6737
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6737
6738
  className: "khb_img-text-label"
6738
- }, /*#__PURE__*/React__default["default"].createElement("span", null, t('item.uploadFile'))), /*#__PURE__*/React__default["default"].createElement("p", {
6739
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, widgetTranslations.uploadFile)), /*#__PURE__*/React__default["default"].createElement("p", {
6739
6740
  className: "khb_img-text-1"
6740
- }, t('item.dragDrop'))), /*#__PURE__*/React__default["default"].createElement("p", {
6741
+ }, widgetTranslations.dragDrop)), /*#__PURE__*/React__default["default"].createElement("p", {
6741
6742
  className: "khb_img-text-2"
6742
- }, t('item.allowedFormat')))
6743
+ }, widgetTranslations.allowedFormat))
6743
6744
  })));
6744
6745
  })));
6745
6746
  };
@@ -6950,10 +6951,10 @@ const WidgetForm = ({
6950
6951
  shouldUnregister: false
6951
6952
  });
6952
6953
  const {
6953
- switchClass
6954
+ switchClass,
6955
+ commonTranslations
6954
6956
  } = useProviderState();
6955
6957
  const {
6956
- t,
6957
6958
  data,
6958
6959
  canAdd,
6959
6960
  canUpdate,
@@ -6962,6 +6963,7 @@ const WidgetForm = ({
6962
6963
  widgetTypes,
6963
6964
  loading,
6964
6965
  languages,
6966
+ widgetTranslations,
6965
6967
  onWidgetFormSubmit,
6966
6968
  getCollectionData,
6967
6969
  collectionData,
@@ -7106,7 +7108,7 @@ const WidgetForm = ({
7106
7108
  if (!tabItem.names[lang.code]) {
7107
7109
  setError(`tabs.${index}.names.${lang.code}`, {
7108
7110
  type: 'manual',
7109
- message: `${t('widget.tabNameRequired')} (${lang.name})`
7111
+ message: `${widgetTranslations.tabNameRequired} (${lang.name})`
7110
7112
  });
7111
7113
  isTabsValid = false;
7112
7114
  }
@@ -7114,7 +7116,7 @@ const WidgetForm = ({
7114
7116
  } else if (!tabItem.name) {
7115
7117
  setError(`tabs.${index}.name`, {
7116
7118
  type: 'manual',
7117
- message: t('widget.tabNameRequired')
7119
+ message: widgetTranslations.tabNameRequired
7118
7120
  });
7119
7121
  isTabsValid = false;
7120
7122
  }
@@ -7212,123 +7214,123 @@ const WidgetForm = ({
7212
7214
  }, [watch, onWidgetFormInputChange]);
7213
7215
  // Schemas
7214
7216
  const widgetFormSchema = [{
7215
- label: `${t('widget.name')}`,
7217
+ label: commonTranslations.name,
7216
7218
  required: true,
7217
7219
  accessor: 'name',
7218
7220
  type: 'text',
7219
- placeholder: t('widget.namePlaceholder'),
7221
+ placeholder: commonTranslations.namePlaceholder,
7220
7222
  onInput: handleCapitalize,
7221
7223
  validations: {
7222
- required: t('widget.nameRequired')
7224
+ required: commonTranslations.nameRequired
7223
7225
  },
7224
7226
  wrapperClassName: 'khb_grid-item-1of2 khb_padding-right-1 khb_align-top'
7225
7227
  }, {
7226
- label: `${t('widget.code')}`,
7228
+ label: commonTranslations.code,
7227
7229
  accessor: 'code',
7228
7230
  required: true,
7229
7231
  type: 'text',
7230
7232
  onInput: handleCode,
7231
7233
  editable: false,
7232
- placeholder: t('widget.codePlaceholder'),
7234
+ placeholder: commonTranslations.codePlaceholder,
7233
7235
  validations: {
7234
- required: t('widget.codeRequired')
7236
+ required: commonTranslations.codeRequired
7235
7237
  },
7236
7238
  wrapperClassName: 'khb_grid-item-1of2 khb_padding-left-1 khb_align-top khb_margin-top-0'
7237
7239
  }, Array.isArray(languages) && languages.length > 0 ? {
7238
- label: `${t('widget.widgetTitle')}`,
7240
+ label: commonTranslations.title,
7239
7241
  accessor: 'widgetTitles',
7240
7242
  required: true,
7241
7243
  type: customInputs && customInputs['widgetTitles'] ? undefined : 'text',
7242
7244
  validations: {
7243
- required: t('widget.widgetTitleRequired')
7245
+ required: commonTranslations.titleRequired
7244
7246
  },
7245
- info: t('widget.widgetTitleInfo'),
7246
- placeholder: t('widget.widgetTitlePlaceholder'),
7247
+ info: widgetTranslations.widgetTitleInfo,
7248
+ placeholder: commonTranslations.titlePlaceholder,
7247
7249
  onInput: handleCapitalize,
7248
7250
  Input: customInputs && customInputs['widgetTitles'] ? customInputs['widgetTitles'] : undefined
7249
7251
  } : {
7250
- label: `${t('widget.widgetTitle')}`,
7252
+ label: commonTranslations.title,
7251
7253
  accessor: 'widgetTitle',
7252
7254
  required: true,
7253
7255
  type: customInputs && customInputs['widgetTitle'] ? undefined : 'text',
7254
7256
  onInput: handleCapitalize,
7255
- placeholder: t('widget.widgetTitlePlaceholder'),
7257
+ placeholder: commonTranslations.titlePlaceholder,
7256
7258
  validations: {
7257
- required: t('widget.widgetTitleRequired')
7259
+ required: commonTranslations.titleRequired
7258
7260
  },
7259
- info: t('widget.widgetTitleInfo'),
7261
+ info: widgetTranslations.widgetTitleInfo,
7260
7262
  Input: customInputs && customInputs['widgetTitle'] ? customInputs['widgetTitle'] : undefined
7261
7263
  }, {
7262
- label: `${t('widget.widgetType')}`,
7264
+ label: widgetTranslations.widgetType,
7263
7265
  required: true,
7264
7266
  editable: false,
7265
7267
  accessor: 'widgetType',
7266
7268
  type: 'select',
7267
7269
  validations: {
7268
- required: t('widget.widgetTypeRequired')
7270
+ required: widgetTranslations.widgetTypeRequired
7269
7271
  },
7270
7272
  options: widgetTypes
7271
7273
  }, {
7272
- label: t('widget.autoPlay'),
7274
+ label: widgetTranslations.autoPlay,
7273
7275
  accessor: 'autoPlay',
7274
7276
  type: 'checkbox',
7275
7277
  show: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Carousel',
7276
7278
  switchClass: switchClass
7277
7279
  }, {
7278
- label: `${t('widget.itemsType')}`,
7280
+ label: widgetTranslations.itemsType,
7279
7281
  required: true,
7280
7282
  editable: false,
7281
7283
  accessor: 'itemsType',
7282
7284
  type: 'select',
7283
7285
  validations: {
7284
- required: t('widget.itemsTypePlaceholder')
7286
+ required: widgetTranslations.itemsTypePlaceholder
7285
7287
  },
7286
7288
  options: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Tabs' || (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.collectionsOnly) ? itemsTypes.filter(item => item.label !== 'Image') : (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.imageOnly) ? itemsTypes.filter(item => item.label === 'Image') : itemsTypes
7287
7289
  }, {
7288
- label: t('widget.color'),
7290
+ label: widgetTranslations.color,
7289
7291
  accessor: 'backgroundColor',
7290
7292
  type: 'color',
7291
7293
  className: 'khb_input-color'
7292
7294
  }, {
7293
- label: t('widget.webPerRow'),
7295
+ label: widgetTranslations.webPerRow,
7294
7296
  accessor: 'webPerRow',
7295
7297
  type: 'number',
7296
7298
  required: true,
7297
- placeholder: t('widget.webPerRowPlaceholder'),
7299
+ placeholder: widgetTranslations.webPerRowPlaceholder,
7298
7300
  wrapperClassName: 'khb_grid-item-1of3 khb_padding-right-1',
7299
7301
  validations: {
7300
- required: t('widget.webPerRowRequired'),
7302
+ required: widgetTranslations.webPerRowRequired,
7301
7303
  min: {
7302
7304
  value: 1,
7303
- message: t('widget.minPerRow')
7305
+ message: widgetTranslations.minPerRow
7304
7306
  }
7305
7307
  }
7306
7308
  }, {
7307
- label: t('widget.tabletPerRow'),
7309
+ label: widgetTranslations.tabletPerRow,
7308
7310
  accessor: 'tabletPerRow',
7309
7311
  type: 'number',
7310
7312
  required: true,
7311
- placeholder: t('widget.tabletPerRowPlaceholder'),
7313
+ placeholder: widgetTranslations.tabletPerRowPlaceholder,
7312
7314
  wrapperClassName: 'khb_grid-item-1of3 khb_padding-left-1',
7313
7315
  validations: {
7314
- required: t('widget.tabletPerRowRequired'),
7316
+ required: widgetTranslations.tabletPerRowRequired,
7315
7317
  min: {
7316
7318
  value: 1,
7317
- message: t('widget.minPerRow')
7319
+ message: widgetTranslations.minPerRow
7318
7320
  }
7319
7321
  }
7320
7322
  }, {
7321
- label: t('widget.mobilePerRow'),
7323
+ label: widgetTranslations.mobilePerRow,
7322
7324
  accessor: 'mobilePerRow',
7323
7325
  type: 'number',
7324
7326
  required: true,
7325
- placeholder: t('widget.mobilePerRowPlaceholder'),
7327
+ placeholder: widgetTranslations.mobilePerRowPlaceholder,
7326
7328
  wrapperClassName: 'khb_grid-item-1of3 khb_padding-right-1 khb_padding-left-1',
7327
7329
  validations: {
7328
- required: t('widget.mobilePerRowRequired'),
7330
+ required: widgetTranslations.mobilePerRowRequired,
7329
7331
  min: {
7330
7332
  value: 1,
7331
- message: t('widget.minPerRow')
7333
+ message: widgetTranslations.minPerRow
7332
7334
  }
7333
7335
  }
7334
7336
  }, {
@@ -7370,9 +7372,9 @@ const WidgetForm = ({
7370
7372
  setValue: setValue,
7371
7373
  control: control,
7372
7374
  languages: languages,
7373
- deleteTitle: t('widget.tabDeleteTitle'),
7374
- yesButtonText: t('yesButtonText') || t('common:yesButtonText'),
7375
- noButtonText: t('cancelButtonText') || t('common:cancelButtonText'),
7375
+ deleteTitle: widgetTranslations.tabDeleteTitle,
7376
+ yesButtonText: commonTranslations.yes,
7377
+ noButtonText: commonTranslations.cancel,
7376
7378
  errors: errors,
7377
7379
  itemsPlaceholder: `Select ${selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.label}...`,
7378
7380
  loadOptions: onChangeSearch,
@@ -7394,7 +7396,7 @@ const WidgetForm = ({
7394
7396
  languages: languages,
7395
7397
  clearError: clearErrors,
7396
7398
  collapseId: constants.webItems,
7397
- title: t('widget.webItems'),
7399
+ title: widgetTranslations.webItems,
7398
7400
  id: constants.webItems,
7399
7401
  setError: setError,
7400
7402
  show: webItemsVisible || !!(errors && (errors === null || errors === void 0 ? void 0 : errors[constants.webItems])),
@@ -7405,13 +7407,13 @@ const WidgetForm = ({
7405
7407
  control: control,
7406
7408
  register: register,
7407
7409
  loading: loading,
7408
- addText: t('addButtonText'),
7409
- deleteText: t('deleteButtonText') || t('common:deleteButtonText')
7410
+ addText: commonTranslations.add,
7411
+ deleteText: commonTranslations.delete
7410
7412
  }), /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
7411
7413
  languages: languages,
7412
7414
  clearError: clearErrors,
7413
7415
  collapseId: constants.mobileItems,
7414
- title: t('widget.mobileItems'),
7416
+ title: widgetTranslations.mobileItems,
7415
7417
  id: constants.mobileItems,
7416
7418
  name: constants.mobileItems,
7417
7419
  setError: setError,
@@ -7422,26 +7424,30 @@ const WidgetForm = ({
7422
7424
  errors: errors,
7423
7425
  control: control,
7424
7426
  register: register,
7425
- addText: t('addButtonText'),
7426
- deleteText: t('deleteButtonText') || t('common:deleteButtonText')
7427
+ addText: commonTranslations.add,
7428
+ deleteText: commonTranslations.delete
7427
7429
  })));
7428
7430
  };
7429
7431
 
7430
7432
  const AddButton = () => {
7433
+ const {
7434
+ commonTranslations
7435
+ } = useProviderState();
7431
7436
  const {
7432
7437
  onChangeFormState,
7433
- t,
7434
7438
  canAdd
7435
7439
  } = useWidgetState();
7436
7440
  return /*#__PURE__*/React__default["default"].createElement(Button, {
7437
7441
  disabled: !canAdd,
7438
7442
  onClick: () => onChangeFormState('ADD')
7439
- }, t('addButtonText') || t('common:addButtonText'));
7443
+ }, commonTranslations.add);
7440
7444
  };
7441
7445
 
7442
7446
  const WidgetPagination = () => {
7443
7447
  const {
7444
- t,
7448
+ commonTranslations
7449
+ } = useProviderState();
7450
+ const {
7445
7451
  totalPages,
7446
7452
  totalRecords,
7447
7453
  currentPage,
@@ -7449,11 +7455,11 @@ const WidgetPagination = () => {
7449
7455
  setCurrentPage
7450
7456
  } = useWidgetState();
7451
7457
  return /*#__PURE__*/React__default["default"].createElement(Pagination, {
7452
- ofText: t('of') || t('common:of'),
7453
- pageText: t('confirm') || t('common:confirm'),
7454
- showingText: t('showing') || t('common:showing'),
7455
- nextContent: t('nextContent') || t('common:nextContent'),
7456
- previousContent: t('previousContent') || t('common:previousContent'),
7458
+ ofText: commonTranslations.of,
7459
+ pageText: commonTranslations.page,
7460
+ showingText: commonTranslations.showing,
7461
+ nextContent: commonTranslations.next,
7462
+ previousContent: commonTranslations.previous,
7457
7463
  totalPages: totalPages,
7458
7464
  totalRecords: totalRecords,
7459
7465
  currentPage: currentPage,
@@ -7465,7 +7471,7 @@ const WidgetPagination = () => {
7465
7471
  const WidgetSearch = () => {
7466
7472
  const {
7467
7473
  changeSearch,
7468
- t,
7474
+ widgetTranslations,
7469
7475
  canList,
7470
7476
  setCurrentPage
7471
7477
  } = useWidgetState();
@@ -7484,7 +7490,7 @@ const WidgetSearch = () => {
7484
7490
  value: searchVal,
7485
7491
  disabled: !canList,
7486
7492
  onChange: e => onChangeSearch(e.target.value),
7487
- placeholder: t('widget.searchPlaceholder')
7493
+ placeholder: widgetTranslations.searchPlaceholder
7488
7494
  });
7489
7495
  };
7490
7496
 
@@ -7492,14 +7498,14 @@ const WidgetFormActions = ({
7492
7498
  formRef
7493
7499
  }) => {
7494
7500
  const {
7495
- onError
7501
+ onError,
7502
+ commonTranslations
7496
7503
  } = useProviderState();
7497
7504
  const {
7498
7505
  closeForm,
7499
7506
  loading,
7500
7507
  canAdd,
7501
7508
  canUpdate,
7502
- t,
7503
7509
  formState
7504
7510
  } = useWidgetState();
7505
7511
  const onSubmitClick = e => {
@@ -7519,10 +7525,10 @@ const WidgetFormActions = ({
7519
7525
  if (!canAdd && !canUpdate) return null;
7520
7526
  return /*#__PURE__*/React__default["default"].createElement(FormActions, {
7521
7527
  loading: loading,
7522
- primaryLabel: formState === 'ADD' ? t('createButtonText') || t('common:createButtonText') : t('updateButtonText') || t('common:updateButtonText'),
7528
+ primaryLabel: formState === 'ADD' ? commonTranslations.create : commonTranslations.update,
7523
7529
  onPrimaryButtonClick: onSubmitClick,
7524
7530
  onSecondaryButtonClick: closeForm,
7525
- secondaryLabel: t('cancelButtonText') || t('common:cancelButtonText')
7531
+ secondaryLabel: commonTranslations.cancel
7526
7532
  });
7527
7533
  };
7528
7534
 
@@ -7541,7 +7547,6 @@ const WiddgetFormWrapper = ({
7541
7547
  };
7542
7548
 
7543
7549
  const Widget = ({
7544
- t,
7545
7550
  routes,
7546
7551
  loader,
7547
7552
  explicitForm: _explicitForm = false,
@@ -7553,11 +7558,15 @@ const Widget = ({
7553
7558
  formatListItem,
7554
7559
  formatOptionLabel,
7555
7560
  imageMaxSize,
7561
+ translations,
7556
7562
  children
7557
7563
  }) => {
7564
+ const {
7565
+ commonTranslations
7566
+ } = useProviderState();
7558
7567
  const derivedPermissions = Object.assign(DEFAULT_PERMISSIONS, _permissions);
7559
7568
  const widgetFormRef = React.useRef(null);
7560
- const derivedT = createTranslation(t, Object.assign(Object.assign(Object.assign({}, TRANSLATION_PAIRS_COMMON), TRANSLATION_PAIRS_WIDGET), TRANSLATION_PAIRS_ITEM));
7569
+ const derivedT = Object.assign(Object.assign({}, TRANSLATION_PAIRS_WIDGET), translations || {});
7561
7570
  const {
7562
7571
  list,
7563
7572
  loading,
@@ -7598,7 +7607,6 @@ const Widget = ({
7598
7607
  languages: languages,
7599
7608
  imageBaseUrl: imageBaseUrl,
7600
7609
  onChangeFormState: onChangeFormState,
7601
- t: derivedT,
7602
7610
  searchText: searchText,
7603
7611
  changeSearch: changeSearch,
7604
7612
  loader: loader,
@@ -7629,13 +7637,14 @@ const Widget = ({
7629
7637
  canPartialUpdate: derivedPermissions.partialUpdate,
7630
7638
  formState: formState,
7631
7639
  closeForm: onCloseForm,
7632
- imageMaxSize: imageMaxSize
7640
+ imageMaxSize: imageMaxSize,
7641
+ widgetTranslations: translations
7633
7642
  }, children ? children : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(AddButton, null), /*#__PURE__*/React__default["default"].createElement(WidgetSearch, null), /*#__PURE__*/React__default["default"].createElement("div", {
7634
7643
  className: "khb_table-wrapper"
7635
7644
  }, /*#__PURE__*/React__default["default"].createElement(WidgetTable, null), /*#__PURE__*/React__default["default"].createElement(WidgetPagination, null))), !_explicitForm && /*#__PURE__*/React__default["default"].createElement(Drawer, {
7636
7645
  open: formState === 'ADD' || formState === 'UPDATE',
7637
7646
  onClose: onCloseForm,
7638
- title: formState === 'ADD' ? derivedT('widget.addWidgetTitle') : formState === 'UPDATE' ? derivedT('widget.updateWidgetTitle') : '',
7647
+ title: formState === 'ADD' ? derivedT.addWidgetTitle : formState === 'UPDATE' ? derivedT.updateWidgetTitle : '',
7639
7648
  footerContent: /*#__PURE__*/React__default["default"].createElement(WidgetFormActions, {
7640
7649
  formRef: widgetFormRef
7641
7650
  })
@@ -7646,13 +7655,13 @@ const Widget = ({
7646
7655
  itemData: itemData,
7647
7656
  onClose: onCloseForm,
7648
7657
  onConfirmDelete: onCofirmDeleteWidget,
7649
- confirmationRequired: derivedT('confirmationRequired') || derivedT('common:confirmationRequired'),
7650
- confirm: derivedT('confirm') || derivedT('common:confirm'),
7651
- lossOfData: derivedT('lossOfData') || derivedT('common:lossOfData'),
7652
- permanentlyDelete: derivedT('permanentlyDelete') || derivedT('common:permanentlyDelete'),
7653
- pleaseType: derivedT('pleaseType') || derivedT('common:pleaseType'),
7654
- toProceedOrCancel: derivedT('toProceedOrCancel') || derivedT('common:toProceedOrCancel'),
7655
- typeHerePlaceholder: derivedT('typeHerePlaceholder') || derivedT('common:typeHerePlaceholder')
7658
+ confirmationRequired: commonTranslations.confirmationRequired,
7659
+ confirm: commonTranslations.confirm,
7660
+ lossOfData: commonTranslations.lossOfData,
7661
+ permanentlyDelete: commonTranslations.permanentlyDelete,
7662
+ pleaseType: commonTranslations.pleaseType,
7663
+ toProceedOrCancel: commonTranslations.toProceedOrCancel,
7664
+ typeHerePlaceholder: commonTranslations.typeHerePlaceholder
7656
7665
  }));
7657
7666
  };
7658
7667
  Widget.Table = WidgetTable;