@redneckz/wildless-cms-uni-blocks 0.14.901 → 0.14.903

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 (62) hide show
  1. package/bundle/bundle.umd.js +14 -5
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/retail/validator/validators.d.ts +1 -0
  4. package/bundle/ui-kit/DialogManager/Dialog.d.ts +3 -1
  5. package/dist/retail/components/Fields/EmailField.js +10 -1
  6. package/dist/retail/components/Fields/EmailField.js.map +1 -1
  7. package/dist/retail/validator/validators.d.ts +1 -0
  8. package/dist/retail/validator/validators.js +2 -1
  9. package/dist/retail/validator/validators.js.map +1 -1
  10. package/dist/ui-kit/DialogManager/Dialog.d.ts +3 -1
  11. package/dist/ui-kit/DialogManager/Dialog.js +3 -2
  12. package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  13. package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  14. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  15. package/lib/common.css +1 -1
  16. package/lib/retail/components/DraftDialog/utils.d.ts +3 -3
  17. package/lib/retail/components/Fields/EmailField.js +10 -1
  18. package/lib/retail/components/Fields/EmailField.js.map +1 -1
  19. package/lib/retail/validator/validators.d.ts +1 -0
  20. package/lib/retail/validator/validators.js +1 -0
  21. package/lib/retail/validator/validators.js.map +1 -1
  22. package/lib/ui-kit/DialogManager/Dialog.d.ts +3 -1
  23. package/lib/ui-kit/DialogManager/Dialog.js +3 -2
  24. package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  25. package/lib/ui-kit/SearchDialog/SearchDialog.fixture.d.ts +5 -0
  26. package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  27. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  28. package/mobile/bundle/bundle.umd.js +13 -4
  29. package/mobile/bundle/bundle.umd.min.js +1 -1
  30. package/mobile/bundle/retail/validator/validators.d.ts +1 -0
  31. package/mobile/bundle/ui-kit/DialogManager/Dialog.d.ts +3 -1
  32. package/mobile/dist/retail/components/Fields/EmailField.js +10 -1
  33. package/mobile/dist/retail/components/Fields/EmailField.js.map +1 -1
  34. package/mobile/dist/retail/validator/validators.d.ts +1 -0
  35. package/mobile/dist/retail/validator/validators.js +2 -1
  36. package/mobile/dist/retail/validator/validators.js.map +1 -1
  37. package/mobile/dist/ui-kit/DialogManager/Dialog.d.ts +3 -1
  38. package/mobile/dist/ui-kit/DialogManager/Dialog.js +3 -2
  39. package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  40. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
  41. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  42. package/mobile/lib/common.css +1 -1
  43. package/mobile/lib/retail/components/Fields/EmailField.js +10 -1
  44. package/mobile/lib/retail/components/Fields/EmailField.js.map +1 -1
  45. package/mobile/lib/retail/validator/validators.d.ts +1 -0
  46. package/mobile/lib/retail/validator/validators.js +1 -0
  47. package/mobile/lib/retail/validator/validators.js.map +1 -1
  48. package/mobile/lib/ui-kit/DialogManager/Dialog.d.ts +3 -1
  49. package/mobile/lib/ui-kit/DialogManager/Dialog.js +3 -2
  50. package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  51. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
  52. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  53. package/mobile/src/retail/components/Fields/EmailField.tsx +22 -8
  54. package/mobile/src/retail/validator/validators.ts +1 -0
  55. package/mobile/src/ui-kit/DialogManager/Dialog.tsx +6 -3
  56. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -0
  57. package/package.json +1 -1
  58. package/src/retail/components/Fields/EmailField.tsx +22 -8
  59. package/src/retail/validator/validators.ts +1 -0
  60. package/src/ui-kit/DialogManager/Dialog.tsx +6 -3
  61. package/src/ui-kit/SearchDialog/SearchDialog.fixture.tsx +7 -0
  62. package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -0
@@ -1,12 +1,26 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
2
3
  import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
4
+ import { retailNotCyrillicPattern } from '../../validator/validators';
3
5
  import { DaDataInputControl } from '../DaDataInputControl/DaDataInputControl';
4
6
 
5
- export const EmailField = JSX<CustomFieldProps>(({ field, input }) => (
6
- <DaDataInputControl
7
- label="Электронная почта"
8
- maxLength={50}
9
- {...field(input?.name ?? '')}
10
- {...input}
11
- />
12
- ));
7
+ export const EmailField = JSX<CustomFieldProps>(({ field, input }) => {
8
+ const onChange = useCallback(
9
+ (value: string) => {
10
+ if (retailNotCyrillicPattern.test(value) || value.length === 0) {
11
+ field('email')?.onChange?.(value);
12
+ }
13
+ },
14
+ [field],
15
+ );
16
+
17
+ return (
18
+ <DaDataInputControl
19
+ label="Электронная почта"
20
+ maxLength={50}
21
+ {...field(input?.name ?? '')}
22
+ {...input}
23
+ onChange={onChange}
24
+ />
25
+ );
26
+ });
@@ -13,6 +13,7 @@ export interface LimitedBirthdayValidationParams {
13
13
  }
14
14
 
15
15
  export const retailCyrillicPattern = /^[\u0400-\u04FF-\s]+$/u;
16
+ export const retailNotCyrillicPattern = /^(?!\s*$)[^\p{Script=Cyrillic}]+$/u;
16
17
 
17
18
  const addressDaDataValidate = (address: Address) =>
18
19
  Boolean(address.region && (address.city || address.locality) && address.house);
@@ -5,22 +5,25 @@ import { type VNode } from '../../model/VNode';
5
5
  import { style } from '../../utils/style';
6
6
  import { CloseButton } from './CloseButton';
7
7
 
8
+ type DialogType = 'sm' | 'lg' | '4xl' | 'none';
9
+
8
10
  export interface DialogProps extends OnCloseProps, OnClickPreventableProps {
9
11
  head?: VNode;
10
- maxWidth?: 'sm' | '4xl' | 'lg';
12
+ maxWidth?: DialogType;
11
13
  }
12
14
 
13
- const MAX_WIDTH_STYLE = {
15
+ const DIALOG_STYLE: Record<DialogType, string> = {
14
16
  sm: 'max-w-sm top-1/3',
15
17
  lg: 'max-w-lg',
16
18
  '4xl': 'max-w-4xl',
19
+ none: 'mt-0',
17
20
  };
18
21
 
19
22
  export const Dialog = JSX<DialogProps>(({ head, maxWidth = '4xl', children, onClose, onClick }) => (
20
23
  <div
21
24
  className={style(
22
25
  'relative bg-white p-lg pb-6xl my-6xl mx-auto rounded-lg w-full',
23
- MAX_WIDTH_STYLE[maxWidth],
26
+ DIALOG_STYLE[maxWidth],
24
27
  )}
25
28
  role="dialog"
26
29
  title="Диалог"
@@ -0,0 +1,7 @@
1
+ import '../../setup-fixture';
2
+
3
+ import { SearchDialog } from './SearchDialog';
4
+
5
+ export default {
6
+ default: <SearchDialog />,
7
+ };
@@ -29,6 +29,7 @@ export const SearchDialog = JSX<SearchDialogProps>(({ initialQuery, navigationIt
29
29
 
30
30
  return (
31
31
  <Dialog
32
+ maxWidth="none"
32
33
  head={<SearchInput className="mt-s" autoFocus={true} {...searchInputProps} />}
33
34
  onClose={onClose}
34
35
  >