@dartcom/ui-kit 2.7.1 → 2.8.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/dist/cjs/components/drag-list/drag-list.js +1 -1
- package/dist/cjs/components/drag-list/drag-list.js.map +1 -1
- package/dist/cjs/components/drag-list/draggable/draggable.js +1 -0
- package/dist/cjs/components/drag-list/draggable/draggable.js.map +1 -1
- package/dist/cjs/components/form/form.js +20 -10
- package/dist/cjs/components/form/form.js.map +1 -1
- package/dist/cjs/components/input/input.js +23 -1
- package/dist/cjs/components/input/input.js.map +1 -1
- package/dist/cjs/components/list/list.js +7 -7
- package/dist/cjs/components/list/list.js.map +1 -1
- package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js +118 -0
- package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/esm/components/drag-list/drag-list.js +1 -1
- package/dist/esm/components/drag-list/drag-list.js.map +1 -1
- package/dist/esm/components/drag-list/draggable/draggable.js +1 -1
- package/dist/esm/components/drag-list/draggable/draggable.js.map +1 -1
- package/dist/esm/components/form/form.js +1 -1
- package/dist/esm/components/form/form.js.map +1 -1
- package/dist/esm/components/input/input.js +1 -1
- package/dist/esm/components/input/input.js.map +1 -1
- package/dist/esm/components/list/list.js +1 -1
- package/dist/esm/components/list/list.js.map +1 -1
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js +1 -1
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/esm/types/components/drag-list/drag-list.d.ts.map +1 -1
- package/dist/esm/types/components/drag-list/drag-list.stories.d.ts.map +1 -1
- package/dist/esm/types/components/drag-list/draggable/draggable.d.ts.map +1 -1
- package/dist/esm/types/components/drag-list/draggable/types.d.ts +2 -2
- package/dist/esm/types/components/drag-list/draggable/types.d.ts.map +1 -1
- package/dist/esm/types/components/form/form.d.ts +14 -3
- package/dist/esm/types/components/form/form.d.ts.map +1 -1
- package/dist/esm/types/components/form/form.stories.d.ts.map +1 -1
- package/dist/esm/types/components/input/input.d.ts +2 -2
- package/dist/esm/types/components/input/input.d.ts.map +1 -1
- package/dist/esm/types/components/input/types.d.ts +1 -1
- package/dist/esm/types/components/input/types.d.ts.map +1 -1
- package/dist/esm/types/components/list/list.d.ts +1 -2
- package/dist/esm/types/components/list/list.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{useSensors as e,useSensor as i,DndContext as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useSensors as e,useSensor as i,DndContext as o,closestCenter as r,PointerSensor as n}from"../../node_modules/@dnd-kit/core/dist/core.esm.js";import{arrayMove as s,SortableContext as d,verticalListSortingStrategy as a}from"../../node_modules/@dnd-kit/sortable/dist/sortable.esm.js";import m from"../list/list.js";import l from"./draggable/draggable.js";function c({items:c,getItem:g,getId:f,onDragEnd:x,sx:p,title:u,draggableSx:b}){const j=e(i(n,{activationConstraint:{distance:8}}));return t(o,{sensors:j,collisionDetection:r,onDragEnd:t=>{const{active:e,over:i}=t,o=c.findIndex(t=>f(t)===e.id),r=c.findIndex(t=>f(t)===i?.id),n=s(c,o,r);x(n)},children:t(d,{items:c.map(f),strategy:a,children:t(m,{items:c,sx:p,title:u,getKey:f,getContent:(e,i)=>{const o=f(e);return t(l,{id:o,sx:b,children:g(e,i)},o)}})})})}export{c as default};
|
|
2
2
|
//# sourceMappingURL=drag-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-list.js","sources":["../../../../src/components/drag-list/drag-list.tsx"],"sourcesContent":["import {\r\n closestCenter,\r\n DndContext,\r\n PointerSensor,\r\n useSensor,\r\n useSensors,\r\n} from '@dnd-kit/core';\r\nimport {\r\n arrayMove,\r\n SortableContext,\r\n verticalListSortingStrategy,\r\n} from '@dnd-kit/sortable';\r\n\r\nimport { List } from '../list';\r\n\r\nimport Draggable from './draggable';\r\nimport { DragListProps } from './types';\r\n\r\nfunction DragList<T>({\r\n items,\r\n getItem,\r\n getId,\r\n onDragEnd,\r\n sx,\r\n title,\r\n draggableSx,\r\n}: DragListProps<T>) {\r\n const sensors = useSensors(\r\n useSensor(PointerSensor, {\r\n activationConstraint: {\r\n distance: 8,\r\n },\r\n }),\r\n );\r\n\r\n return (\r\n <DndContext\r\n sensors={sensors}\r\n collisionDetection={closestCenter}\r\n onDragEnd={(event) => {\r\n const { active, over } = event;\r\n\r\n const oldIndex = items.findIndex((item) => getId(item) === active.id);\r\n const newIndex = items.findIndex((item) => getId(item) === over?.id);\r\n\r\n const newItems = arrayMove(items, oldIndex, newIndex);\r\n\r\n onDragEnd(newItems);\r\n }}>\r\n <SortableContext\r\n items={items.map(getId)}\r\n strategy={verticalListSortingStrategy}>\r\n <List\r\n items={items}\r\n sx={sx}\r\n title={title}\r\n getKey={getId}\r\n getContent={(item, index) => {\r\n const id = getId(item);\r\n\r\n return (\r\n <Draggable key={id} id={id} sx={draggableSx}>\r\n {getItem(item, index)}\r\n </Draggable>\r\n );\r\n }}\r\n
|
|
1
|
+
{"version":3,"file":"drag-list.js","sources":["../../../../src/components/drag-list/drag-list.tsx"],"sourcesContent":["import {\r\n closestCenter,\r\n DndContext,\r\n PointerSensor,\r\n useSensor,\r\n useSensors,\r\n} from '@dnd-kit/core';\r\nimport {\r\n arrayMove,\r\n SortableContext,\r\n verticalListSortingStrategy,\r\n} from '@dnd-kit/sortable';\r\n\r\nimport { List } from '../list';\r\n\r\nimport Draggable from './draggable';\r\nimport { DragListProps } from './types';\r\n\r\nfunction DragList<T>({\r\n items,\r\n getItem,\r\n getId,\r\n onDragEnd,\r\n sx,\r\n title,\r\n draggableSx,\r\n}: DragListProps<T>) {\r\n const sensors = useSensors(\r\n useSensor(PointerSensor, {\r\n activationConstraint: {\r\n distance: 8,\r\n },\r\n }),\r\n );\r\n\r\n return (\r\n <DndContext\r\n sensors={sensors}\r\n collisionDetection={closestCenter}\r\n onDragEnd={(event) => {\r\n const { active, over } = event;\r\n\r\n const oldIndex = items.findIndex((item) => getId(item) === active.id);\r\n const newIndex = items.findIndex((item) => getId(item) === over?.id);\r\n\r\n const newItems = arrayMove(items, oldIndex, newIndex);\r\n\r\n onDragEnd(newItems);\r\n }}>\r\n <SortableContext\r\n items={items.map(getId)}\r\n strategy={verticalListSortingStrategy}>\r\n <List\r\n items={items}\r\n sx={sx}\r\n title={title}\r\n getKey={getId}\r\n getContent={(item, index) => {\r\n const id = getId(item);\r\n\r\n return (\r\n <Draggable key={id} id={id} sx={draggableSx}>\r\n {getItem(item, index)}\r\n </Draggable>\r\n );\r\n }}\r\n />\r\n </SortableContext>\r\n </DndContext>\r\n );\r\n}\r\n\r\nexport default DragList;\r\n"],"names":["DragList","items","getItem","getId","onDragEnd","sx","title","draggableSx","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","_jsx","DndContext","collisionDetection","closestCenter","event","active","over","oldIndex","findIndex","item","id","newIndex","newItems","arrayMove","SortableContext","map","strategy","verticalListSortingStrategy","children","List","getKey","getContent","index","Draggable"],"mappings":"+YAkBA,SAASA,GAAYC,MACnBA,EAAKC,QACLA,EAAOC,MACPA,EAAKC,UACLA,EAASC,GACTA,EAAEC,MACFA,EAAKC,YACLA,IAEA,MAAMC,EAAUC,EACdC,EAAUC,EAAe,CACvBC,qBAAsB,CACpBC,SAAU,MAKhB,OACEC,EAACC,EACC,CAAAP,QAASA,EACTQ,mBAAoBC,EACpBb,UAAYc,IACV,MAAMC,OAAEA,EAAMC,KAAEA,GAASF,EAEnBG,EAAWpB,EAAMqB,UAAWC,GAASpB,EAAMoB,KAAUJ,EAAOK,IAC5DC,EAAWxB,EAAMqB,UAAWC,GAASpB,EAAMoB,KAAUH,GAAMI,IAE3DE,EAAWC,EAAU1B,EAAOoB,EAAUI,GAE5CrB,EAAUsB,aAEZZ,EAACc,GACC3B,MAAOA,EAAM4B,IAAI1B,GACjB2B,SAAUC,EACVC,SAAAlB,EAACmB,EACC,CAAAhC,MAAOA,EACPI,GAAIA,EACJC,MAAOA,EACP4B,OAAQ/B,EACRgC,WAAY,CAACZ,EAAMa,KACjB,MAAMZ,EAAKrB,EAAMoB,GAEjB,OACET,EAACuB,EAAS,CAAUb,GAAIA,EAAInB,GAAIE,WAC7BL,EAAQqB,EAAMa,IADDZ,SAS9B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{useDraggable as i}from"../../../node_modules/@dnd-kit/core/dist/core.esm.js";import{useSortable as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useDraggable as i}from"../../../node_modules/@dnd-kit/core/dist/core.esm.js";import{useSortable as r,verticalListSortingStrategy as e}from"../../../node_modules/@dnd-kit/sortable/dist/sortable.esm.js";import{CSS as s}from"../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js";import o from"../../../node_modules/@mui/material/esm/Box/Box.js";const n=({id:n,sx:d,children:m})=>{const{isDragging:a}=i({id:n}),{attributes:l,listeners:u,setNodeRef:f,transform:c,transition:g}=r({id:n,strategy:e,transition:{duration:300,easing:"cubic-bezier(0.25, 1, 0.5, 1)"}}),p={...d?.default,...a?d?.dragging:{},transform:s.Translate.toString(c),transition:g,cursor:"pointer"};return t(o,{ref:f,style:p,...u,...l,children:m})};export{n as default};
|
|
2
2
|
//# sourceMappingURL=draggable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draggable.js","sources":["../../../../../src/components/drag-list/draggable/draggable.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { useDraggable } from '@dnd-kit/core';\r\nimport { useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';\r\nimport { CSS } from '@dnd-kit/utilities';\r\nimport { Box } from '@mui/material';\r\n\r\nimport { DraggableProps } from './types';\r\n\r\nconst Draggable: React.FC<React.PropsWithChildren<DraggableProps>> = ({\r\n id,\r\n sx,\r\n children,\r\n}) => {\r\n const { isDragging } = useDraggable({\r\n id,\r\n });\r\n\r\n const { attributes, listeners, setNodeRef, transform, transition } =\r\n useSortable({\r\n id,\r\n strategy: verticalListSortingStrategy,\r\n transition: {\r\n duration: 300,\r\n easing: 'cubic-bezier(0.25, 1, 0.5, 1)',\r\n },\r\n });\r\n\r\n const style
|
|
1
|
+
{"version":3,"file":"draggable.js","sources":["../../../../../src/components/drag-list/draggable/draggable.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { useDraggable } from '@dnd-kit/core';\r\nimport { useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';\r\nimport { CSS } from '@dnd-kit/utilities';\r\nimport { Box } from '@mui/material';\r\n\r\nimport { DraggableProps } from './types';\r\n\r\nconst Draggable: React.FC<React.PropsWithChildren<DraggableProps>> = ({\r\n id,\r\n sx,\r\n children,\r\n}) => {\r\n const { isDragging } = useDraggable({\r\n id,\r\n });\r\n\r\n const { attributes, listeners, setNodeRef, transform, transition } =\r\n useSortable({\r\n id,\r\n strategy: verticalListSortingStrategy,\r\n transition: {\r\n duration: 300,\r\n easing: 'cubic-bezier(0.25, 1, 0.5, 1)',\r\n },\r\n });\r\n\r\n const style = {\r\n ...sx?.default,\r\n ...(isDragging ? sx?.dragging : {}),\r\n transform: CSS.Translate.toString(transform),\r\n transition,\r\n cursor: 'pointer',\r\n } as React.CSSProperties;\r\n\r\n return (\r\n <Box ref={setNodeRef} style={style} {...listeners} {...attributes}>\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Draggable;\r\n"],"names":["Draggable","id","sx","children","isDragging","useDraggable","attributes","listeners","setNodeRef","transform","transition","useSortable","strategy","verticalListSortingStrategy","duration","easing","style","default","dragging","CSS","Translate","toString","cursor","_jsx","Box","ref"],"mappings":"+YAQM,MAAAA,EAA+D,EACnEC,KACAC,KACAC,eAEA,MAAMC,WAAEA,GAAeC,EAAa,CAClCJ,QAGIK,WAAEA,EAAUC,UAAEA,EAASC,WAAEA,EAAUC,UAAEA,EAASC,WAAEA,GACpDC,EAAY,CACVV,KACAW,SAAUC,EACVH,WAAY,CACVI,SAAU,IACVC,OAAQ,mCAIRC,EAAQ,IACTd,GAAIe,WACHb,EAAaF,GAAIgB,SAAW,GAChCT,UAAWU,EAAIC,UAAUC,SAASZ,GAClCC,aACAY,OAAQ,WAGV,OACEC,EAACC,GAAIC,IAAKjB,EAAYQ,MAAOA,KAAWT,KAAeD,WACpDH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{FormProvider as n,Form as o}from"../../node_modules/react-hook-form/dist/index.esm.js";import r from"../../node_modules/@mui/material/esm/Box/Box.js";function i({form:i,sx:s={},fields:l,buttons:d,observers:m,onSubmit:c}){const{control:x}=i;return t(n,{...i,children:e(o,{control:x,onSubmit:c,style:{width:"100%",height:"100%"},children:[e(r,{sx:{display:"grid",alignContent:"flex-start",gap:"15px",...s},children:[t(r,{sx:{display:"grid",gap:"15px",...l.sx},children:l.content}),d?.content?t(r,{sx:{display:"flex",alignItems:"center",gap:"15px",...d.sx},children:d.content}):null]}),m?.content]})})}export{i as default};
|
|
2
2
|
//# sourceMappingURL=form.js.map
|
|
@@ -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
|
|
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 Form,\r\n FormProvider,\r\n FormSubmitHandler,\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: FormSubmitHandler<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 { control } = form;\r\n\r\n return (\r\n <FormProvider {...form}>\r\n <Form\r\n control={control}\r\n onSubmit={onSubmit}\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n }}>\r\n <Box\r\n sx={{\r\n display: 'grid',\r\n\r\n alignContent: 'flex-start',\r\n\r\n gap: '15px',\r\n\r\n ...sx,\r\n }}>\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 </Box>\r\n\r\n {observers?.content}\r\n </Form>\r\n </FormProvider>\r\n );\r\n}\r\n\r\nexport default CustomForm;\r\n"],"names":["CustomForm","form","sx","fields","buttons","observers","onSubmit","control","_jsx","FormProvider","children","_jsxs","Form","style","width","height","Box","display","alignContent","gap","content","alignItems"],"mappings":"+MA2CA,SAASA,GAAkCC,KACzCA,EAAIC,GACJA,EAAK,CAAA,EAAEC,OACPA,EAAMC,QACNA,EAAOC,UACPA,EAASC,SACTA,IAEA,MAAMC,QAAEA,GAAYN,EAEpB,OACEO,EAACC,MAAiBR,EAAIS,SACpBC,EAACC,EAAI,CACHL,QAASA,EACTD,SAAUA,EACVO,MAAO,CACLC,MAAO,OACPC,OAAQ,QACTL,SAAA,CACDC,EAACK,EACC,CAAAd,GAAI,CACFe,QAAS,OAETC,aAAc,aAEdC,IAAK,UAEFjB,GACJQ,SAAA,CACDF,EAACQ,EACC,CAAAd,GAAI,CACFe,QAAS,OAETE,IAAK,UAEFhB,EAAOD,IACXQ,SACAP,EAAOiB,UAGThB,GAASgB,QACRZ,EAACQ,EAAG,CACFd,GAAI,CACFe,QAAS,OAETI,WAAY,SAEZF,IAAK,UAEFf,EAAQF,IACZQ,SACAN,EAAQgB,UAET,QAGLf,GAAWe,YAIpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{useFormContext as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import*as o from"react";import{useFormContext as r,Controller as m}from"../../node_modules/react-hook-form/dist/index.esm.js";import t from"../../node_modules/@mui/material/esm/TextField/TextField.js";function i(i){const{name:s}=i,d=o.useId(),{control:n}=r();return e(m,{name:s,control:n,render:({field:o})=>e(t,{id:d,...i,...o,size:"small"})})}export{i as default};
|
|
2
2
|
//# sourceMappingURL=input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../src/components/input/input.tsx"],"sourcesContent":["import { TextField } from '@mui/material';\r\nimport { Controller, useFormContext } from 'react-hook-form';\r\n\r\nimport {
|
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../src/components/input/input.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { TextField } from '@mui/material';\r\nimport { Controller, useFormContext } from 'react-hook-form';\r\n\r\nimport { CustomInputProps } from './types';\r\n\r\nfunction CustomInput<T>(props: CustomInputProps<T>) {\r\n const { name } = props;\r\n\r\n const textFieldId = React.useId();\r\n\r\n const { control } = useFormContext();\r\n\r\n return (\r\n <Controller\r\n name={name}\r\n control={control}\r\n render={({ field }) => {\r\n return (\r\n <TextField id={textFieldId} {...props} {...field} size=\"small\" />\r\n );\r\n }}\r\n />\r\n );\r\n}\r\n\r\nexport default CustomInput;\r\n"],"names":["CustomInput","props","name","textFieldId","React","useId","control","useFormContext","_jsx","Controller","render","field","TextField","id","size"],"mappings":"iPAMA,SAASA,EAAeC,GACtB,MAAMC,KAAEA,GAASD,EAEXE,EAAcC,EAAMC,SAEpBC,QAAEA,GAAYC,IAEpB,OACEC,EAACC,GACCP,KAAMA,EACNI,QAASA,EACTI,OAAQ,EAAGC,WAEPH,EAACI,EAAU,CAAAC,GAAIV,KAAiBF,KAAWU,EAAOG,KAAK,WAKjE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import i from"../no-data/no-data.js";import m from"../../node_modules/@mui/material/esm/Box/Box.js";import o from"../../node_modules/@mui/material/esm/Typography/Typography.js";import r from"../../node_modules/@mui/material/esm/List/List.js";import s from"../../node_modules/@mui/material/esm/ListItem/ListItem.js";function
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import i from"../no-data/no-data.js";import m from"../../node_modules/@mui/material/esm/Box/Box.js";import o from"../../node_modules/@mui/material/esm/Typography/Typography.js";import r from"../../node_modules/@mui/material/esm/List/List.js";import s from"../../node_modules/@mui/material/esm/ListItem/ListItem.js";function a({items:a,columnsCount:n=1,getContent:l,title:d,getKey:p,onClick:u,sx:g}){const x=0===a.length;return e(m,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px"},children:[d?t(o,{variant:"h6",noWrap:!0,sx:{textAlign:"center",fontWeight:700},children:d}):null,x?t(i,{}):t(r,{sx:{display:"grid",gridTemplateColumns:`repeat(${n}, 1fr)`,gap:"15px",...g?.list},disablePadding:!0,children:a.map((e,i)=>t(s,{onClick:()=>{u?.(e,i)},sx:{...g?.item},disablePadding:!0,children:l(e,i)},p(e,i)))})]})}export{a as default};
|
|
2
2
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sources":["../../../../src/components/list/list.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, List, ListItem, SxProps, Typography } from '@mui/material';\r\n\r\nimport { NoData } from '../no-data';\r\n\r\ninterface CustomListProps<T> {\r\n items: T[];\r\n columnsCount?: number;\r\n title?: string;\r\n\r\n getContent: (item: T, index: number) => React.JSX.Element;\r\n getKey: (item: T, index: number) => string | number;\r\n onClick?: (item: T, index: number) => void;\r\n\r\n sx?: {\r\n list?: SxProps;\r\n item?: SxProps;\r\n };\r\n
|
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../../src/components/list/list.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, List, ListItem, SxProps, Typography } from '@mui/material';\r\n\r\nimport { NoData } from '../no-data';\r\n\r\ninterface CustomListProps<T> {\r\n items: T[];\r\n columnsCount?: number;\r\n title?: string;\r\n\r\n getContent: (item: T, index: number) => React.JSX.Element;\r\n getKey: (item: T, index: number) => string | number;\r\n onClick?: (item: T, index: number) => void;\r\n\r\n sx?: {\r\n list?: SxProps;\r\n item?: SxProps;\r\n };\r\n}\r\n\r\nfunction CustomList<T>({\r\n items,\r\n columnsCount = 1,\r\n getContent,\r\n title,\r\n getKey,\r\n onClick,\r\n sx,\r\n}: CustomListProps<T>) {\r\n const isNoData = items.length === 0;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: 'grid',\r\n\r\n gridTemplateColumns: '1fr',\r\n\r\n gap: '15px',\r\n }}>\r\n {title ? (\r\n <Typography\r\n variant=\"h6\"\r\n noWrap\r\n sx={{\r\n textAlign: 'center',\r\n\r\n fontWeight: 700,\r\n }}>\r\n {title}\r\n </Typography>\r\n ) : null}\r\n\r\n {isNoData ? (\r\n <NoData />\r\n ) : (\r\n <List\r\n sx={{\r\n display: 'grid',\r\n\r\n gridTemplateColumns: `repeat(${columnsCount}, 1fr)`,\r\n\r\n gap: '15px',\r\n\r\n ...sx?.list,\r\n }}\r\n disablePadding>\r\n {items.map((item, index) => (\r\n <ListItem\r\n key={getKey(item, index)}\r\n onClick={() => {\r\n onClick?.(item, index);\r\n }}\r\n sx={{\r\n ...sx?.item,\r\n }}\r\n disablePadding>\r\n {getContent(item, index)}\r\n </ListItem>\r\n ))}\r\n </List>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CustomList;\r\n"],"names":["CustomList","items","columnsCount","getContent","title","getKey","onClick","sx","isNoData","length","_jsxs","Box","display","gridTemplateColumns","gap","children","_jsx","Typography","variant","noWrap","textAlign","fontWeight","NoData","List","list","disablePadding","map","item","index","ListItem"],"mappings":"6WAoBA,SAASA,GAAcC,MACrBA,EAAKC,aACLA,EAAe,EAACC,WAChBA,EAAUC,MACVA,EAAKC,OACLA,EAAMC,QACNA,EAAOC,GACPA,IAEA,MAAMC,EAA4B,IAAjBP,EAAMQ,OAEvB,OACEC,EAACC,EAAG,CACFJ,GAAI,CACFK,QAAS,OAETC,oBAAqB,MAErBC,IAAK,QACNC,SAAA,CACAX,EACCY,EAACC,EACC,CAAAC,QAAQ,KACRC,QAAM,EACNZ,GAAI,CACFa,UAAW,SAEXC,WAAY,KAEbN,SAAAX,IAED,KAEHI,EACCQ,EAACM,EAAS,CAAA,GAEVN,EAACO,EACC,CAAAhB,GAAI,CACFK,QAAS,OAETC,oBAAqB,UAAUX,UAE/BY,IAAK,UAEFP,GAAIiB,MAETC,2BACCxB,EAAMyB,IAAI,CAACC,EAAMC,IAChBZ,EAACa,GAECvB,QAAS,KACPA,IAAUqB,EAAMC,IAElBrB,GAAI,IACCA,GAAIoB,MAETF,2BACCtB,EAAWwB,EAAMC,IARbvB,EAAOsB,EAAMC,SAehC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"react";var t=e=>e instanceof Date,r=e=>null==e;const n=e=>"object"==typeof e;var
|
|
1
|
+
import e from"react";var t=e=>e instanceof Date,r=e=>null==e;const n=e=>"object"==typeof e;var o=e=>!r(e)&&!Array.isArray(e)&&n(e)&&!t(e),s=e=>o(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,a="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function c(e){let t;const r=Array.isArray(e),n="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else{if(a&&(e instanceof Blob||n)||!r&&!o(e))return e;if(t=r?[]:Object.create(Object.getPrototypeOf(e)),r||(e=>{const t=e.constructor&&e.constructor.prototype;return o(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=c(e[r]));else t=e}return t}var u=e=>/^\w*$/.test(e),i=e=>void 0===e,l=e=>{return t=e.replace(/["|']|\]/g,"").split(/\.|\[/),Array.isArray(t)?t.filter(Boolean):[];var t},d=(e,t,n)=>{if(!t||!o(e))return n;const s=(u(t)?[t]:l(t)).reduce((e,t)=>r(e)?e:e[t],e);return i(s)||s===e?i(e[t])?n:e[t]:s},f=e=>"boolean"==typeof e,m=(e,t,r)=>{let n=-1;const s=u(t)?[t]:l(t),a=s.length,c=a-1;for(;++n<a;){const t=s[n];let a=r;if(n!==c){const r=e[t];a=o(r)||Array.isArray(r)?r:isNaN(+s[n+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=a,e=e[t]}};const y="blur",b="change",p="all",g=e.createContext(null);g.displayName="HookFormContext";const _=()=>e.useContext(g),h=t=>{const{children:r,...n}=t;return e.createElement(g.Provider,{value:n},r)};const V="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function v(t){const r=_(),{control:n=r.control,disabled:o,name:s,exact:a}=t||{},[c,u]=e.useState(n._formState),i=e.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return V(()=>n._subscribe({name:s,formState:i.current,exact:a,callback:e=>{!o&&u({...n._formState,...e})}}),[s,o,a]),e.useEffect(()=>{i.current.isValid&&n._setValid(!0)},[n]),e.useMemo(()=>((e,t,r,n=!0)=>{const o={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(o,s,{get:()=>{const o=s;return t._proxyFormState[o]!==p&&(t._proxyFormState[o]=!n||p),r&&(r[o]=!0),e[o]}});return o})(c,n,i.current,!1),[c,n])}var S=e=>r(e)||!n(e);function w(e,r,n=new WeakSet){if(S(e)||S(r))return e===r;if(t(e)&&t(r))return e.getTime()===r.getTime();const s=Object.keys(e),a=Object.keys(r);if(s.length!==a.length)return!1;if(n.has(e)||n.has(r))return!0;n.add(e),n.add(r);for(const c of s){const s=e[c];if(!a.includes(c))return!1;if("ref"!==c){const e=r[c];if(t(s)&&t(e)||o(s)&&o(e)||Array.isArray(s)&&Array.isArray(e)?!w(s,e,n):s!==e)return!1}}return!0}function A(t){const r=_(),{control:n=r.control,name:o,defaultValue:s,disabled:a,exact:c,compute:u}=t||{},i=e.useRef(s),l=e.useRef(u),f=e.useRef(void 0);l.current=u;const m=e.useMemo(()=>n._getWatch(o,i.current),[n,o]),[y,b]=e.useState(l.current?l.current(m):m);return V(()=>n._subscribe({name:o,formState:{values:!0},exact:c,callback:e=>{if(!a){const t=((e,t,r,n,o)=>"string"==typeof e?(n&&t.watch.add(e),d(r,e,o)):Array.isArray(e)?e.map(e=>(n&&t.watch.add(e),d(r,e))):(n&&(t.watchAll=!0),r))(o,n._names,e.values||n._formValues,!1,i.current);if(l.current){const e=l.current(t);w(e,f.current)||(b(e),f.current=e)}else b(t)}}}),[n,a,o,c]),e.useEffect(()=>n._removeUnmounted()),y}function x(t){const r=_(),{name:n,disabled:o,control:a=r.control,shouldUnregister:u,defaultValue:l}=t,p=((e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)))(a._names.array,n),g=e.useMemo(()=>d(a._formValues,n,d(a._defaultValues,n,l)),[a,n,l]),h=A({control:a,name:n,defaultValue:g,exact:!0}),V=v({control:a,name:n,exact:!0}),S=e.useRef(t),w=e.useRef(a.register(n,{...t.rules,value:h,...f(t.disabled)?{disabled:t.disabled}:{}}));S.current=t;const x=e.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!d(V.errors,n)},isDirty:{enumerable:!0,get:()=>!!d(V.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!d(V.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!d(V.validatingFields,n)},error:{enumerable:!0,get:()=>d(V.errors,n)}}),[V,n]),F=e.useCallback(e=>w.current.onChange({target:{value:s(e),name:n},type:b}),[n]),k=e.useCallback(()=>w.current.onBlur({target:{value:d(a._formValues,n),name:n},type:y}),[n,a._formValues]),E=e.useCallback(e=>{const t=d(a._fields,n);t&&e&&(t._f.ref={focus:()=>e.focus&&e.focus(),select:()=>e.select&&e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})},[a._fields,n]),O=e.useMemo(()=>({name:n,value:h,...f(o)||V.disabled?{disabled:V.disabled||o}:{},onChange:F,onBlur:k,ref:E}),[n,o,V.disabled,F,k,E,h]);return e.useEffect(()=>{const e=a._options.shouldUnregister||u;a.register(n,{...S.current.rules,...f(S.current.disabled)?{disabled:S.current.disabled}:{}});const t=(e,t)=>{const r=d(a._fields,e);r&&r._f&&(r._f.mount=t)};if(t(n,!0),e){const e=c(d(a._options.defaultValues,n));m(a._defaultValues,n,e),i(d(a._formValues,n))&&m(a._formValues,n,e)}return!p&&a.register(n),()=>{(p?e&&!a._state.action:e)?a.unregister(n):t(n,!1)}},[n,a,p,u]),e.useEffect(()=>{a._setDisabledField({disabled:o,name:n})},[o,n,a]),e.useMemo(()=>({field:O,formState:V,fieldState:x}),[O,V,x])}const F=e=>e.render(x(e)),k=e=>{const t={};for(const r of Object.keys(e))if(n(e[r])&&null!==e[r]){const n=k(e[r]);for(const e of Object.keys(n))t[`${r}.${e}`]=n[e]}else t[r]=e[r];return t},E="post";function O(t){const r=_(),[n,o]=e.useState(!1),{control:s=r.control,onSubmit:a,children:c,action:u,method:i=E,headers:l,encType:d,onError:f,render:m,onSuccess:y,validateStatus:b,...p}=t,g=async e=>{let r=!1,n="";await s.handleSubmit(async t=>{const o=new FormData;let c="";try{c=JSON.stringify(t)}catch(e){}const m=k(s._formValues);for(const e in m)o.append(e,m[e]);if(a&&await a({data:t,event:e,method:i,formData:o,formDataJson:c}),u)try{const e=[l&&l["Content-Type"],d].some(e=>e&&e.includes("json")),t=await fetch(String(u),{method:i,headers:{...l,...d&&"multipart/form-data"!==d?{"Content-Type":d}:{}},body:e?c:o});t&&(b?!b(t.status):t.status<200||t.status>=300)?(r=!0,f&&f({response:t}),n=String(t.status)):y&&y({response:t})}catch(e){r=!0,f&&f({error:e})}})(e),r&&t.control&&(t.control._subjects.state.next({isSubmitSuccessful:!1}),t.control.setError("root.server",{type:n}))};return e.useEffect(()=>{o(!0)},[]),m?e.createElement(e.Fragment,null,m({submit:g})):e.createElement("form",{noValidate:n,action:u,method:i,encType:d,onSubmit:g,...p},c)}export{F as Controller,O as Form,h as FormProvider,d as get,m as set,x as useController,_ as useFormContext,v as useFormState,A as useWatch};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|