@dartcom/ui-kit 3.2.4 → 3.3.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.
Files changed (43) hide show
  1. package/dist/cjs/components/buttons/delete/delete.js.map +1 -1
  2. package/dist/cjs/components/buttons/edit/edit.js +35 -0
  3. package/dist/cjs/components/buttons/edit/edit.js.map +1 -0
  4. package/dist/cjs/components/form/form.js +14 -15
  5. package/dist/cjs/components/form/form.js.map +1 -1
  6. package/dist/cjs/index.js +2 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/node_modules/@mui/icons-material/esm/Edit.js +14 -0
  9. package/dist/cjs/node_modules/@mui/icons-material/esm/Edit.js.map +1 -0
  10. package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js +0 -35
  11. package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
  12. package/dist/esm/components/buttons/delete/delete.js.map +1 -1
  13. package/dist/esm/components/buttons/edit/edit.js +2 -0
  14. package/dist/esm/components/buttons/edit/edit.js.map +1 -0
  15. package/dist/esm/components/form/form.js +1 -1
  16. package/dist/esm/components/form/form.js.map +1 -1
  17. package/dist/esm/index.js +1 -1
  18. package/dist/esm/node_modules/@mui/icons-material/esm/Edit.js +3 -0
  19. package/dist/esm/node_modules/@mui/icons-material/esm/Edit.js.map +1 -0
  20. package/dist/esm/node_modules/react-hook-form/dist/index.esm.js +1 -1
  21. package/dist/esm/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
  22. package/dist/esm/types/components/buttons/delete/delete.d.ts +1 -7
  23. package/dist/esm/types/components/buttons/delete/delete.d.ts.map +1 -1
  24. package/dist/esm/types/components/buttons/delete/types.d.ts +8 -0
  25. package/dist/esm/types/components/buttons/delete/types.d.ts.map +1 -0
  26. package/dist/esm/types/components/buttons/edit/edit.d.ts +5 -0
  27. package/dist/esm/types/components/buttons/edit/edit.d.ts.map +1 -0
  28. package/dist/esm/types/components/buttons/edit/edit.stories.d.ts +7 -0
  29. package/dist/esm/types/components/buttons/edit/edit.stories.d.ts.map +1 -0
  30. package/dist/esm/types/components/buttons/edit/index.d.ts +2 -0
  31. package/dist/esm/types/components/buttons/edit/index.d.ts.map +1 -0
  32. package/dist/esm/types/components/buttons/edit/types.d.ts +3 -0
  33. package/dist/esm/types/components/buttons/edit/types.d.ts.map +1 -0
  34. package/dist/esm/types/components/buttons/index.d.ts +1 -0
  35. package/dist/esm/types/components/buttons/index.d.ts.map +1 -1
  36. package/dist/esm/types/components/dialog/dialog.d.ts +5 -0
  37. package/dist/esm/types/components/dialog/dialog.d.ts.map +1 -0
  38. package/dist/esm/types/components/dialog/index.d.ts +2 -0
  39. package/dist/esm/types/components/dialog/index.d.ts.map +1 -0
  40. package/dist/esm/types/components/dialog/types.d.ts +5 -0
  41. package/dist/esm/types/components/dialog/types.d.ts.map +1 -0
  42. package/dist/esm/types/components/form/form.d.ts.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sources":["../../../../../src/components/buttons/delete/delete.tsx"],"sourcesContent":["import * as React from 'react';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n Slide,\n} from '@mui/material';\nimport { TransitionProps } from '@mui/material/transitions';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement;\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\ninterface DeleteButtonProps {\n onDelete: () => void;\n\n notification?: {\n title: string;\n description: string;\n };\n}\n\nconst DeleteButton: React.FC<DeleteButtonProps> = ({\n notification,\n onDelete,\n}) => {\n const id = React.useId();\n\n const [openNotification, setOpenNotification] = React.useState(false);\n\n const handleOpenNotification = () => {\n setOpenNotification(true);\n };\n\n const handleCloseNotification = () => {\n setOpenNotification(false);\n };\n\n return (\n <React.Fragment>\n <IconButton\n onClick={() => {\n if (notification) {\n handleOpenNotification();\n } else {\n onDelete();\n }\n }}>\n <DeleteIcon fontSize=\"small\" color=\"error\" />\n </IconButton>\n\n {notification ? (\n <Dialog\n slots={{\n transition: Transition,\n }}\n open={openNotification}\n onClose={handleCloseNotification}>\n <DialogTitle id={`${id}-dialog-title`}>\n {notification.title}\n </DialogTitle>\n\n <DialogContent>\n <DialogContentText id={`${id}-dialog-text`}>\n {notification.description}\n </DialogContentText>\n </DialogContent>\n\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"error\"\n sx={{\n textTransform: 'none',\n }}\n onClick={handleCloseNotification}>\n Отмена\n </Button>\n\n <Button\n variant=\"contained\"\n sx={{\n textTransform: 'none',\n }}\n onClick={() => {\n onDelete();\n\n handleCloseNotification();\n }}>\n Подтвердить\n </Button>\n </DialogActions>\n </Dialog>\n ) : null}\n </React.Fragment>\n );\n};\n\nexport default DeleteButton;\n"],"names":["React","_jsx","Slide","_jsxs","IconButton","DeleteIcon","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,UAAU,GAAGA,gBAAK,CAAC,UAAU,CAAC,SAAS,UAAU,CACrD,KAEC,EACD,GAAuB,EAAA;AAEvB,IAAA,OAAOC,cAAA,CAACC,aAAK,EAAA,EAAC,SAAS,EAAC,IAAI,EAAC,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,GAAI;AACtD,CAAC,CAAC;AAWF,MAAM,YAAY,GAAgC,CAAC,EACjD,YAAY,EACZ,QAAQ,GACT,KAAI;AACH,IAAA,MAAM,EAAE,GAAGF,gBAAK,CAAC,KAAK,EAAE;AAExB,IAAA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAGA,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAErE,MAAM,sBAAsB,GAAG,MAAK;QAClC,mBAAmB,CAAC,IAAI,CAAC;AAC3B,IAAA,CAAC;IAED,MAAM,uBAAuB,GAAG,MAAK;QACnC,mBAAmB,CAAC,KAAK,CAAC;AAC5B,IAAA,CAAC;AAED,IAAA,QACEG,eAAA,CAACH,gBAAK,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACbC,cAAA,CAACG,kBAAU,EAAA,EACT,OAAO,EAAE,MAAK;oBACZ,IAAI,YAAY,EAAE;AAChB,wBAAA,sBAAsB,EAAE;oBAC1B;yBAAO;AACL,wBAAA,QAAQ,EAAE;oBACZ;gBACF,CAAC,EAAA,QAAA,EACDH,eAACI,cAAU,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG,EAAA,CAClC,EAEZ,YAAY,IACXF,eAAA,CAACG,cAAM,EAAA,EACL,KAAK,EAAE;AACL,oBAAA,UAAU,EAAE,UAAU;iBACvB,EACD,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,uBAAuB,EAAA,QAAA,EAAA,CAChCL,cAAA,CAACM,mBAAW,EAAA,EAAC,EAAE,EAAE,CAAA,EAAG,EAAE,CAAA,aAAA,CAAe,EAAA,QAAA,EAClC,YAAY,CAAC,KAAK,EAAA,CACP,EAEdN,cAAA,CAACO,qBAAa,EAAA,EAAA,QAAA,EACZP,cAAA,CAACQ,yBAAiB,IAAC,EAAE,EAAE,CAAA,EAAG,EAAE,CAAA,YAAA,CAAc,EAAA,QAAA,EACvC,YAAY,CAAC,WAAW,EAAA,CACP,EAAA,CACN,EAEhBN,eAAA,CAACO,qBAAa,eACZT,cAAA,CAACU,cAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,OAAO,EACb,EAAE,EAAE;AACF,oCAAA,aAAa,EAAE,MAAM;AACtB,iCAAA,EACD,OAAO,EAAE,uBAAuB,EAAA,QAAA,EAAA,sCAAA,EAAA,CAEzB,EAETV,cAAA,CAACU,cAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE;AACF,oCAAA,aAAa,EAAE,MAAM;iCACtB,EACD,OAAO,EAAE,MAAK;AACZ,oCAAA,QAAQ,EAAE;AAEV,oCAAA,uBAAuB,EAAE;gCAC3B,CAAC,EAAA,QAAA,EAAA,oEAAA,EAAA,CAEM,CAAA,EAAA,CACK,CAAA,EAAA,CACT,IACP,IAAI,CAAA,EAAA,CACO;AAErB;;;;"}
1
+ {"version":3,"file":"delete.js","sources":["../../../../../src/components/buttons/delete/delete.tsx"],"sourcesContent":["import * as React from 'react';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n Slide,\n} from '@mui/material';\nimport { TransitionProps } from '@mui/material/transitions';\n\nimport { DeleteButtonProps } from './types';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement;\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\nconst DeleteButton: React.FC<DeleteButtonProps> = ({\n notification,\n onDelete,\n}) => {\n const id = React.useId();\n\n const [openNotification, setOpenNotification] = React.useState(false);\n\n const handleOpenNotification = () => {\n setOpenNotification(true);\n };\n\n const handleCloseNotification = () => {\n setOpenNotification(false);\n };\n\n return (\n <React.Fragment>\n <IconButton\n onClick={() => {\n if (notification) {\n handleOpenNotification();\n } else {\n onDelete();\n }\n }}>\n <DeleteIcon fontSize=\"small\" color=\"error\" />\n </IconButton>\n\n {notification ? (\n <Dialog\n slots={{\n transition: Transition,\n }}\n open={openNotification}\n onClose={handleCloseNotification}>\n <DialogTitle id={`${id}-dialog-title`}>\n {notification.title}\n </DialogTitle>\n\n <DialogContent>\n <DialogContentText id={`${id}-dialog-text`}>\n {notification.description}\n </DialogContentText>\n </DialogContent>\n\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"error\"\n sx={{\n textTransform: 'none',\n }}\n onClick={handleCloseNotification}>\n Отмена\n </Button>\n\n <Button\n variant=\"contained\"\n sx={{\n textTransform: 'none',\n }}\n onClick={() => {\n onDelete();\n\n handleCloseNotification();\n }}>\n Подтвердить\n </Button>\n </DialogActions>\n </Dialog>\n ) : null}\n </React.Fragment>\n );\n};\n\nexport default DeleteButton;\n"],"names":["React","_jsx","Slide","_jsxs","IconButton","DeleteIcon","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,UAAU,GAAGA,gBAAK,CAAC,UAAU,CAAC,SAAS,UAAU,CACrD,KAEC,EACD,GAAuB,EAAA;AAEvB,IAAA,OAAOC,cAAA,CAACC,aAAK,EAAA,EAAC,SAAS,EAAC,IAAI,EAAC,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,GAAI;AACtD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAgC,CAAC,EACjD,YAAY,EACZ,QAAQ,GACT,KAAI;AACH,IAAA,MAAM,EAAE,GAAGF,gBAAK,CAAC,KAAK,EAAE;AAExB,IAAA,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAGA,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAErE,MAAM,sBAAsB,GAAG,MAAK;QAClC,mBAAmB,CAAC,IAAI,CAAC;AAC3B,IAAA,CAAC;IAED,MAAM,uBAAuB,GAAG,MAAK;QACnC,mBAAmB,CAAC,KAAK,CAAC;AAC5B,IAAA,CAAC;AAED,IAAA,QACEG,eAAA,CAACH,gBAAK,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACbC,cAAA,CAACG,kBAAU,EAAA,EACT,OAAO,EAAE,MAAK;oBACZ,IAAI,YAAY,EAAE;AAChB,wBAAA,sBAAsB,EAAE;oBAC1B;yBAAO;AACL,wBAAA,QAAQ,EAAE;oBACZ;gBACF,CAAC,EAAA,QAAA,EACDH,eAACI,cAAU,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG,EAAA,CAClC,EAEZ,YAAY,IACXF,eAAA,CAACG,cAAM,EAAA,EACL,KAAK,EAAE;AACL,oBAAA,UAAU,EAAE,UAAU;iBACvB,EACD,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,uBAAuB,EAAA,QAAA,EAAA,CAChCL,cAAA,CAACM,mBAAW,EAAA,EAAC,EAAE,EAAE,CAAA,EAAG,EAAE,CAAA,aAAA,CAAe,EAAA,QAAA,EAClC,YAAY,CAAC,KAAK,EAAA,CACP,EAEdN,cAAA,CAACO,qBAAa,EAAA,EAAA,QAAA,EACZP,cAAA,CAACQ,yBAAiB,IAAC,EAAE,EAAE,CAAA,EAAG,EAAE,CAAA,YAAA,CAAc,EAAA,QAAA,EACvC,YAAY,CAAC,WAAW,EAAA,CACP,EAAA,CACN,EAEhBN,eAAA,CAACO,qBAAa,eACZT,cAAA,CAACU,cAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,OAAO,EACb,EAAE,EAAE;AACF,oCAAA,aAAa,EAAE,MAAM;AACtB,iCAAA,EACD,OAAO,EAAE,uBAAuB,EAAA,QAAA,EAAA,sCAAA,EAAA,CAEzB,EAETV,cAAA,CAACU,cAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE;AACF,oCAAA,aAAa,EAAE,MAAM;iCACtB,EACD,OAAO,EAAE,MAAK;AACZ,oCAAA,QAAQ,EAAE;AAEV,oCAAA,uBAAuB,EAAE;gCAC3B,CAAC,EAAA,QAAA,EAAA,oEAAA,EAAA,CAEM,CAAA,EAAA,CACK,CAAA,EAAA,CACT,IACP,IAAI,CAAA,EAAA,CACO;AAErB;;;;"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var Edit = require('../../../node_modules/@mui/icons-material/esm/Edit.js');
8
+ var IconButton = require('../../../node_modules/@mui/material/esm/IconButton/IconButton.js');
9
+
10
+ function _interopNamespaceDefault(e) {
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
28
+
29
+ const EditButton = (props) => {
30
+ const buttonId = React__namespace.useId();
31
+ return (jsxRuntime.jsx(React__namespace.Fragment, { children: jsxRuntime.jsx(IconButton.default, { id: buttonId, ...props, children: jsxRuntime.jsx(Edit.default, { fontSize: "small", color: "primary" }) }) }));
32
+ };
33
+
34
+ exports.default = EditButton;
35
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sources":["../../../../../src/components/buttons/edit/edit.tsx"],"sourcesContent":["import * as React from 'react';\nimport EditIcon from '@mui/icons-material/Edit';\nimport { IconButton } from '@mui/material';\n\nimport { EditButtonProps } from './types';\n\nconst EditButton: React.FC<EditButtonProps> = (props) => {\n const buttonId = React.useId();\n\n return (\n <React.Fragment>\n <IconButton id={buttonId} {...props}>\n <EditIcon fontSize=\"small\" color=\"primary\" />\n </IconButton>\n </React.Fragment>\n );\n};\n\nexport default EditButton;\n"],"names":["React","_jsx","IconButton","EditIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,UAAU,GAA8B,CAAC,KAAK,KAAI;AACtD,IAAA,MAAM,QAAQ,GAAGA,gBAAK,CAAC,KAAK,EAAE;AAE9B,IAAA,QACEC,cAAA,CAACD,gBAAK,CAAC,QAAQ,EAAA,EAAA,QAAA,EACbC,cAAA,CAACC,kBAAU,EAAA,EAAC,EAAE,EAAE,QAAQ,EAAA,GAAM,KAAK,EAAA,QAAA,EACjCD,cAAA,CAACE,YAAQ,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAA,CAAG,EAAA,CAClC,EAAA,CACE;AAErB;;;;"}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var index_esm = require('../../node_modules/react-hook-form/dist/index.esm.js');
7
6
  var Box = require('../../node_modules/@mui/material/esm/Box/Box.js');
8
7
 
9
8
  /**
@@ -19,20 +18,20 @@ var Box = require('../../node_modules/@mui/material/esm/Box/Box.js');
19
18
  */
20
19
  function CustomForm({ form, sx = {}, fields, buttons, observers, onSubmit, }) {
21
20
  const { handleSubmit } = form;
22
- return (jsxRuntime.jsx(index_esm.FormProvider, { ...form, children: jsxRuntime.jsxs(Box.default, { component: "form", sx: {
23
- display: 'grid',
24
- gap: '15px',
25
- ...sx,
26
- }, onSubmit: handleSubmit(onSubmit), children: [jsxRuntime.jsx(Box.default, { sx: {
27
- display: 'grid',
28
- gap: '15px',
29
- ...fields.sx,
30
- }, children: fields.content }), buttons?.content ? (jsxRuntime.jsx(Box.default, { sx: {
31
- display: 'flex',
32
- alignItems: 'center',
33
- gap: '15px',
34
- ...buttons.sx,
35
- }, children: buttons.content })) : null, observers?.content] }) }));
21
+ return (jsxRuntime.jsxs(Box.default, { component: "form", sx: {
22
+ display: 'grid',
23
+ gap: '15px',
24
+ ...sx,
25
+ }, onSubmit: handleSubmit(onSubmit), children: [jsxRuntime.jsx(Box.default, { sx: {
26
+ display: 'grid',
27
+ gap: '15px',
28
+ ...fields.sx,
29
+ }, children: fields.content }), buttons?.content ? (jsxRuntime.jsx(Box.default, { sx: {
30
+ display: 'flex',
31
+ alignItems: 'center',
32
+ gap: '15px',
33
+ ...buttons.sx,
34
+ }, children: buttons.content })) : null, observers?.content] }));
36
35
  }
37
36
 
38
37
  exports.default = CustomForm;
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../src/components/form/form.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, SxProps } from '@mui/material';\r\nimport {\r\n FieldValues,\r\n FormProvider,\r\n SubmitHandler,\r\n UseFormReturn,\r\n} from 'react-hook-form';\r\n\r\ninterface CustomFormProp<T extends FieldValues> {\r\n form: UseFormReturn<T>;\r\n\r\n onSubmit: SubmitHandler<T>;\r\n\r\n sx?: SxProps;\r\n\r\n fields: {\r\n content: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n buttons?: {\r\n content?: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n observers?: {\r\n content?: React.ReactNode;\r\n };\r\n}\r\n\r\n/**\r\n * Используем этот компонент как основную обертку для формы\r\n * Все поля должны хранится при инициализации формы и быть доступны через контекст формы\r\n * @template T - Интрефейс данных формы.\r\n * @param {React.ReactNode} children - Все компоненты, которым нужен контекст фор.\r\n * @param {UseFormReturn<T>} form - Форма useForm, которая содержит все поля.\r\n * @param {SxProps} [sx={}] - Опциональные стили самой формы.\r\n * @param {SubmitHandler<T>} onSubmit - Функция обработки отправки формы.\r\n *\r\n * @returns {JSX.Element} The rendered form component with form context.\r\n */\r\nfunction CustomForm<T extends FieldValues>({\r\n form,\r\n sx = {},\r\n fields,\r\n buttons,\r\n observers,\r\n onSubmit,\r\n}: CustomFormProp<T>) {\r\n const { handleSubmit } = form;\r\n\r\n return (\r\n <FormProvider {...form}>\r\n <Box\r\n component=\"form\"\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...sx,\r\n }}\r\n onSubmit={handleSubmit(onSubmit)}>\r\n <Box\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...fields.sx,\r\n }}>\r\n {fields.content}\r\n </Box>\r\n\r\n {buttons?.content ? (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n\r\n alignItems: 'center',\r\n\r\n gap: '15px',\r\n\r\n ...buttons.sx,\r\n }}>\r\n {buttons.content}\r\n </Box>\r\n ) : null}\r\n {observers?.content}\r\n </Box>\r\n </FormProvider>\r\n );\r\n}\r\n\r\nexport default CustomForm;\r\n"],"names":["_jsx","FormProvider","_jsxs","Box"],"mappings":";;;;;;;;AA+BA;;;;;;;;;;AAUG;AACH,SAAS,UAAU,CAAwB,EACzC,IAAI,EACJ,EAAE,GAAG,EAAE,EACP,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,GACU,EAAA;AAClB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;AAE7B,IAAA,QACEA,cAAA,CAACC,sBAAY,EAAA,EAAA,GAAK,IAAI,EAAA,QAAA,EACpBC,eAAA,CAACC,WAAG,EAAA,EACF,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE;AACF,gBAAA,OAAO,EAAE,MAAM;AAEf,gBAAA,GAAG,EAAE,MAAM;AAEX,gBAAA,GAAG,EAAE;aACN,EACD,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,CAChCH,cAAA,CAACG,WAAG,EAAA,EACF,EAAE,EAAE;AACF,wBAAA,OAAO,EAAE,MAAM;AAEf,wBAAA,GAAG,EAAE,MAAM;wBAEX,GAAG,MAAM,CAAC,EAAE;AACb,qBAAA,EAAA,QAAA,EACA,MAAM,CAAC,OAAO,EAAA,CACX,EAEL,OAAO,EAAE,OAAO,IACfH,cAAA,CAACG,WAAG,EAAA,EACF,EAAE,EAAE;AACF,wBAAA,OAAO,EAAE,MAAM;AAEf,wBAAA,UAAU,EAAE,QAAQ;AAEpB,wBAAA,GAAG,EAAE,MAAM;wBAEX,GAAG,OAAO,CAAC,EAAE;AACd,qBAAA,EAAA,QAAA,EACA,OAAO,CAAC,OAAO,EAAA,CACZ,IACJ,IAAI,EACP,SAAS,EAAE,OAAO,CAAA,EAAA,CACf,EAAA,CACO;AAEnB;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../src/components/form/form.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, SxProps } from '@mui/material';\r\nimport { FieldValues, SubmitHandler, UseFormReturn } from 'react-hook-form';\r\n\r\ninterface CustomFormProp<T extends FieldValues> {\r\n form: UseFormReturn<T>;\r\n\r\n onSubmit: SubmitHandler<T>;\r\n\r\n sx?: SxProps;\r\n\r\n fields: {\r\n content: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n buttons?: {\r\n content?: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n observers?: {\r\n content?: React.ReactNode;\r\n };\r\n}\r\n\r\n/**\r\n * Используем этот компонент как основную обертку для формы\r\n * Все поля должны хранится при инициализации формы и быть доступны через контекст формы\r\n * @template T - Интрефейс данных формы.\r\n * @param {React.ReactNode} children - Все компоненты, которым нужен контекст фор.\r\n * @param {UseFormReturn<T>} form - Форма useForm, которая содержит все поля.\r\n * @param {SxProps} [sx={}] - Опциональные стили самой формы.\r\n * @param {SubmitHandler<T>} onSubmit - Функция обработки отправки формы.\r\n *\r\n * @returns {JSX.Element} The rendered form component with form context.\r\n */\r\nfunction CustomForm<T extends FieldValues>({\r\n form,\r\n sx = {},\r\n fields,\r\n buttons,\r\n observers,\r\n onSubmit,\r\n}: CustomFormProp<T>) {\r\n const { handleSubmit } = form;\r\n\r\n return (\r\n <Box\r\n component=\"form\"\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...sx,\r\n }}\r\n onSubmit={handleSubmit(onSubmit)}>\r\n <Box\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...fields.sx,\r\n }}>\r\n {fields.content}\r\n </Box>\r\n\r\n {buttons?.content ? (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n\r\n alignItems: 'center',\r\n\r\n gap: '15px',\r\n\r\n ...buttons.sx,\r\n }}>\r\n {buttons.content}\r\n </Box>\r\n ) : null}\r\n {observers?.content}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CustomForm;\r\n"],"names":["_jsxs","Box","_jsx"],"mappings":";;;;;;;AA0BA;;;;;;;;;;AAUG;AACH,SAAS,UAAU,CAAwB,EACzC,IAAI,EACJ,EAAE,GAAG,EAAE,EACP,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,GACU,EAAA;AAClB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;IAE7B,QACEA,gBAACC,WAAG,EAAA,EACF,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AAEf,YAAA,GAAG,EAAE,MAAM;AAEX,YAAA,GAAG,EAAE;SACN,EACD,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,CAChCC,cAAA,CAACD,WAAG,EAAA,EACF,EAAE,EAAE;AACF,oBAAA,OAAO,EAAE,MAAM;AAEf,oBAAA,GAAG,EAAE,MAAM;oBAEX,GAAG,MAAM,CAAC,EAAE;AACb,iBAAA,EAAA,QAAA,EACA,MAAM,CAAC,OAAO,EAAA,CACX,EAEL,OAAO,EAAE,OAAO,IACfC,cAAA,CAACD,WAAG,EAAA,EACF,EAAE,EAAE;AACF,oBAAA,OAAO,EAAE,MAAM;AAEf,oBAAA,UAAU,EAAE,QAAQ;AAEpB,oBAAA,GAAG,EAAE,MAAM;oBAEX,GAAG,OAAO,CAAC,EAAE;AACd,iBAAA,EAAA,QAAA,EACA,OAAO,CAAC,OAAO,EAAA,CACZ,IACJ,IAAI,EACP,SAAS,EAAE,OAAO,CAAA,EAAA,CACf;AAEV;;;;"}
package/dist/cjs/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var list = require('./components/list/list.js');
4
4
  var noData = require('./components/no-data/no-data.js');
5
5
  var _delete = require('./components/buttons/delete/delete.js');
6
+ var edit = require('./components/buttons/edit/edit.js');
6
7
  var checkbox = require('./components/checkbox/checkbox.js');
7
8
  var form = require('./components/form/form.js');
8
9
  var select = require('./components/select/select.js');
@@ -20,6 +21,7 @@ var map = require('./constants/map.js');
20
21
  exports.List = list.default;
21
22
  exports.NoData = noData.default;
22
23
  exports.DeleteButton = _delete.default;
24
+ exports.EditButton = edit.default;
23
25
  exports.Checkbox = checkbox.default;
24
26
  exports.Form = form.default;
25
27
  exports.Select = select.default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var createSvgIcon = require('../../material/esm/utils/createSvgIcon.js');
8
+
9
+ var EditIcon = createSvgIcon.default(/*#__PURE__*/jsxRuntime.jsx("path", {
10
+ d: "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"
11
+ }), 'Edit');
12
+
13
+ exports.default = EditIcon;
14
+ //# sourceMappingURL=Edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Edit.js","sources":["../../../../../../node_modules/@mui/icons-material/esm/Edit.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Edit');"],"names":[],"mappings":";;;;;;;;AAIA;AACA;AACA;;","x_google_ignoreList":[0]}
@@ -148,40 +148,6 @@ HookFormContext.displayName = 'HookFormContext';
148
148
  * ```
149
149
  */
150
150
  const useFormContext = () => React.useContext(HookFormContext);
151
- /**
152
- * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.
153
- *
154
- * @remarks
155
- * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)
156
- *
157
- * @param props - all useForm methods
158
- *
159
- * @example
160
- * ```tsx
161
- * function App() {
162
- * const methods = useForm();
163
- * const onSubmit = data => console.log(data);
164
- *
165
- * return (
166
- * <FormProvider {...methods} >
167
- * <form onSubmit={methods.handleSubmit(onSubmit)}>
168
- * <NestedInput />
169
- * <input type="submit" />
170
- * </form>
171
- * </FormProvider>
172
- * );
173
- * }
174
- *
175
- * function NestedInput() {
176
- * const { register } = useFormContext(); // retrieve all hook methods
177
- * return <input {...register("test")} />;
178
- * }
179
- * ```
180
- */
181
- const FormProvider = (props) => {
182
- const { children, ...data } = props;
183
- return (React.createElement(HookFormContext.Provider, { value: data }, children));
184
- };
185
151
 
186
152
  var getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {
187
153
  const result = {
@@ -566,7 +532,6 @@ function useController(props) {
566
532
  const Controller = (props) => props.render(useController(props));
567
533
 
568
534
  exports.Controller = Controller;
569
- exports.FormProvider = FormProvider;
570
535
  exports.get = get;
571
536
  exports.set = set;
572
537
  exports.useController = useController;