dinocollab-core 1.0.14 → 1.0.15

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/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as ApiPopover,ApiPopoverContext,mapApiPopoverContext,withApiPopoverContext}from"./api-context/popover.js";export{AlertDialog,default as AlertGlobal,ApiAlertContext}from"./api-context/alert-global.js";export{default as DrawerGlobal}from"./api-context/drawer-global.js";export{default as GlobalModal,GlobalModalContext,mapGlobalModalContext,withApiGlobalModalConsumerContext,withApiGlobalModalContext}from"./api-context/global-modal.js";export{default as PopoverGlobal,PopoverGlobalApi,PopoverGlobalContext,PopoverGlobalProvider,mapPopoverGlobalContext,withPopoverGlobalContext}from"./api-context/popover-global.js";export{default as Breadcrumbs}from"./components/breadcrumbs.js";export{LoadingButton}from"./components/buttons.js";export{default as CopyToClipboard}from"./components/copy-to-clipboard.js";export{default as CreateMultiSelectDropdown}from"./components/create.multi-select-dropdown.js";export{default as ImageWithFallback}from"./components/image-with-fallback.js";export{default as HelpTooltip,HelpTooltipWrap}from"./components/help-tooltip.js";export{default as TextEditorPreview}from"./components/text-editor.preview.js";export{default as TextEditor,textEditorClasses}from"./components/text-editor.js";export{default as CreateFilterBar}from"./filter-bar/create.filter-bar.js";export{EFieldValidate,ESearchMatch}from"./filter-bar/types.js";export{default as FormValidator,SingleRuleValidate,createFormValidator,mapRuleOptions}from"./form/validator.js";export{default as DinoForm}from"./form/dino-form.js";export{convertFormDataToJson,getErrorMessage}from"./form/helper.js";export{useCheckScrolled,useDebounce}from"./hooks/index.js";export{ELazyStatus}from"./redux/types.js";export{default as DinoRedux}from"./redux/dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./redux/create.hoc-lazy.js";export{ELogic,EOperator,EOrder}from"./table/model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";export{decodeBase64,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"./utils/helpers.js";import"./utils/dayjs-config.js";export{default as JObject}from"./utils/json-object.js";export{MFEventProvider,useMFEvent}from"./utils/mfe-events.js";export{QueryParam}from"./utils/query-param.js";export{default as CreateTable}from"./table/create.table.js";export{default as DinoTable}from"./table/dino.js";export{dinoTableClasses}from"./table/helpers.js";export{default as DinoTableGrid}from"./table-grid/dino.js";export{default as dayjsCustom}from"dayjs";
1
+ export{default as ApiPopover,ApiPopoverContext,mapApiPopoverContext,withApiPopoverContext}from"./api-context/popover.js";export{AlertDialog,default as AlertGlobal,ApiAlertContext}from"./api-context/alert-global.js";export{default as DrawerGlobal}from"./api-context/drawer-global.js";export{default as GlobalModal,GlobalModalContext,mapGlobalModalContext,withApiGlobalModalConsumerContext,withApiGlobalModalContext}from"./api-context/global-modal.js";export{default as PopoverGlobal,PopoverGlobalApi,PopoverGlobalContext,PopoverGlobalProvider,mapPopoverGlobalContext,withPopoverGlobalContext}from"./api-context/popover-global.js";export{default as Breadcrumbs}from"./components/breadcrumbs.js";export{LoadingButton}from"./components/buttons.js";export{default as CopyToClipboard}from"./components/copy-to-clipboard.js";export{default as CreateMultiSelectDropdown}from"./components/create.multi-select-dropdown.js";export{default as ImageWithFallback}from"./components/image-with-fallback.js";export{default as HelpTooltip,HelpTooltipWrap}from"./components/help-tooltip.js";export{default as TextEditorPreview}from"./components/text-editor.preview.js";export{default as TextEditor,textEditorClasses}from"./components/text-editor.js";export{default as CreateFilterBar}from"./filter-bar/create.filter-bar.js";export{EFieldValidate,ESearchMatch}from"./filter-bar/types.js";export{default as FormValidator,SingleRuleValidate,createFormValidator,mapRuleOptions}from"./form/validator.js";export{default as DinoForm}from"./form/dino-form.js";export{convertFormDataToJson,getErrorMessage}from"./form/helper.js";export{useCheckScrolled,useDebounce}from"./hooks/index.js";export{ELazyStatus}from"./redux/types.js";export{default as DinoRedux}from"./redux/dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./redux/create.hoc-lazy.js";export{ELogic,EOperator,EOrder}from"./table/model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";export{decodeBase64,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"./utils/helpers.js";import"./utils/dayjs-config.js";export{default as JObject}from"./utils/json-object.js";export{MFEventProvider,useMFEvent}from"./utils/mfe-events.js";export{QueryParam}from"./utils/query-param.js";export{default as CreateTable}from"./table/create.table.js";export{default as DinoTable}from"./table/dino.js";export{dinoTableClasses}from"./table/helpers.js";export{default as DinoTableGrid}from"./table-grid/dino.js";export{CreateTableGridItemActions}from"./table-grid/item-actions.js";export{default as dayjsCustom}from"dayjs";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-actions.js","sources":["../../src/table-grid/item-actions.tsx"],"sourcesContent":["import React, { Component, ComponentType, ReactNode } from 'react'\r\nimport { Box, colors, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemProps, ListItemText, styled } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport MoreVertIcon from '@mui/icons-material/MoreVert'\r\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'\r\nimport { ClosePopover, GlobalModalState, mapGlobalModalContext, PopoverGlobal } from '../api-context'\r\n\r\nexport type ITableGridItemActionType = 'Edit' | 'Delete'\r\n\r\nconst mapIcons: { [key in ITableGridItemActionType]: ReactNode } = {\r\n Edit: <EditIcon fontSize='small' color='primary' />,\r\n Delete: <DeleteOutlineIcon fontSize='small' color='error' />\r\n}\r\n\r\nexport interface ITableGridItemActionsBaseProps<T> {\r\n value: T\r\n}\r\n\r\nexport type IFormRenderFunc<T> = (value: T) => React.ReactNode\r\n\r\nexport interface IListItemDef<T> {\r\n name: string\r\n icon?: ReactNode\r\n /** Whether this item should trigger a close action when clicked. @default true */\r\n closableOnClick?: boolean\r\n /** Handler called when item is clicked */\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>, value: T) => void\r\n listItemProps?: ListItemProps\r\n /**\r\n * Optional custom ReactNode to override the entire ListItem UI.\r\n * If provided, this will be rendered instead of the default ListItem structure\r\n * (icon + text + click behavior).\r\n */\r\n override?: ComponentType<{ onClose?: ClosePopover }>\r\n}\r\n\r\nexport interface TableGridItemActionsConfig<T> {\r\n formEdit?: IFormRenderFunc<T>\r\n formDelete?: IFormRenderFunc<T>\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n menuList?: {\r\n before?: SingleOrArray<IListItemDef<T>>\r\n after?: IListItemDef<T>\r\n }\r\n}\r\n\r\nexport interface ITableGridItemActionsProps<T> extends ITableGridItemActionsBaseProps<T>, TableGridItemActionsConfig<T> {}\r\n\r\nexport function CreateTableGridItemActions<T>() {\r\n class TableGridItemActions extends Component<ITableGridItemActionsProps<T>> {\r\n render() {\r\n if (!this.isVisible()) return <></>\r\n return (\r\n <Wrap>\r\n <IconButton\r\n size='small'\r\n onClick={(e) => {\r\n PopoverGlobal.Api.open({\r\n anchorEl: e.currentTarget,\r\n popoverProps: { anchorOrigin: { vertical: 'top', horizontal: 'right' }, transformOrigin: { vertical: 'top', horizontal: 'right' } },\r\n content: (\r\n <List>\r\n {this.renderItems(this.props.menuList?.before)}\r\n {this.renderItemWithForm('Edit', this.props.formEdit, this.props.buttonEditConfig)}\r\n {this.renderItemWithForm('Delete', this.props.formDelete, this.props.buttonEditConfig ?? { backdropActivated: true })}\r\n {this.renderItems(this.props.menuList?.after)}\r\n </List>\r\n )\r\n })\r\n }}\r\n >\r\n <MoreVertIcon fontSize='small' />\r\n </IconButton>\r\n </Wrap>\r\n )\r\n }\r\n\r\n isVisible = () => {\r\n return !!this.props.formEdit || !!this.props.formDelete\r\n }\r\n\r\n renderItems = (value?: SingleOrArray<IListItemDef<T>>) => {\r\n if (!value) return <></>\r\n const list = Array.isArray(value) ? value : [value]\r\n return list.map((item, index) => {\r\n const key = item.name + index\r\n const { override: Override } = item\r\n if (Override) return <Override key={key} onClose={PopoverGlobal.Api.close} />\r\n return (\r\n <ListItem\r\n key={key}\r\n disablePadding\r\n sx={{ minWidth: '170px' }}\r\n onClick={(e) => {\r\n if (item.closableOnClick !== false) PopoverGlobal.Api.close()\r\n item.onClick && item.onClick(e, this.props.value)\r\n }}\r\n {...item.listItemProps}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{item.icon}</ListItemIcon>\r\n <ListItemText primary={item.name} />\r\n </ListItemButton>\r\n </ListItem>\r\n )\r\n })\r\n }\r\n\r\n renderItemWithForm = (name: ITableGridItemActionType, form?: IFormRenderFunc<T>, globalState?: GlobalModalState) => {\r\n if (!form) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <ListItem\r\n disablePadding\r\n sx={{ minWidth: '170px' }}\r\n onClick={() => {\r\n PopoverGlobal.Api.close()\r\n context.show({ renderContent: () => form(this.props.value), ...globalState })\r\n }}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{mapIcons[name]}</ListItemIcon>\r\n <ListItemText primary={name} />\r\n </ListItemButton>\r\n </ListItem>\r\n ))\r\n }\r\n }\r\n return TableGridItemActions\r\n}\r\n\r\nconst Wrap = styled(Box)({\r\n background: colors.common.white,\r\n borderRadius: '6px',\r\n '& > .MuiButtonBase-root': {\r\n borderRadius: '6px'\r\n }\r\n})\r\n"],"names":["mapIcons","Edit","_jsx","EditIcon","fontSize","color","Delete","DeleteOutlineIcon","CreateTableGridItemActions","TableGridItemActions","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","formEdit","formDelete","value","isArray","map","item","index","key","name","Override","override","onClose","PopoverGlobal","Api","close","ListItem","_objectSpread","disablePadding","sx","minWidth","onClick","e","closableOnClick","listItemProps","children","_jsxs","ListItemButton","ListItemIcon","icon","ListItemText","primary","form","globalState","mapGlobalModalContext","context","show","renderContent","_inherits","Component","_createClass","_this2","isVisible","Wrap","IconButton","size","_this2$props$menuList","_this2$props$buttonEd","_this2$props$menuList2","open","anchorEl","currentTarget","popoverProps","anchorOrigin","vertical","horizontal","transformOrigin","content","List","renderItems","menuList","before","renderItemWithForm","buttonEditConfig","backdropActivated","after","MoreVertIcon","styled","Box","background","colors","common","white","borderRadius"],"mappings":"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"}
1
+ {"version":3,"file":"item-actions.js","sources":["../../src/table-grid/item-actions.tsx"],"sourcesContent":["import React, { Component, ComponentType, ReactNode } from 'react'\r\nimport { Box, colors, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemProps, ListItemText, styled } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport MoreVertIcon from '@mui/icons-material/MoreVert'\r\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'\r\nimport { ClosePopover, GlobalModalState, mapGlobalModalContext, PopoverGlobal } from '../api-context'\r\n\r\nexport type ITableGridItemActionType = 'Edit' | 'Delete'\r\n\r\nconst mapIcons: { [key in ITableGridItemActionType]: ReactNode } = {\r\n Edit: <EditIcon fontSize='small' color='primary' />,\r\n Delete: <DeleteOutlineIcon fontSize='small' color='error' />\r\n}\r\n\r\nexport interface ITableGridItemActionsBaseProps<T> {\r\n value: T\r\n}\r\n\r\nexport type IActionFormGetter<T> = (value: T) => React.ReactNode\r\n\r\nexport interface IActionMenuItemDef<T> {\r\n name: string\r\n icon?: ReactNode\r\n /** Whether this item should trigger a close action when clicked. @default true */\r\n closableOnClick?: boolean\r\n /** Handler called when item is clicked */\r\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>, value: T) => void\r\n listItemProps?: ListItemProps\r\n /**\r\n * Optional custom ReactNode to override the entire ListItem UI.\r\n * If provided, this will be rendered instead of the default ListItem structure\r\n * (icon + text + click behavior).\r\n */\r\n override?: ComponentType<{ onClose?: ClosePopover }>\r\n}\r\n\r\nexport interface TableGridItemActionsConfig<T> {\r\n formEdit?: IActionFormGetter<T>\r\n formDelete?: IActionFormGetter<T>\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n menuList?: {\r\n before?: SingleOrArray<IActionMenuItemDef<T>>\r\n after?: SingleOrArray<IActionMenuItemDef<T>>\r\n }\r\n}\r\n\r\nexport interface ITableGridItemActionsProps<T> extends ITableGridItemActionsBaseProps<T>, TableGridItemActionsConfig<T> {}\r\n\r\nexport function CreateTableGridItemActions<T>() {\r\n class TableGridItemActions extends Component<ITableGridItemActionsProps<T>> {\r\n render() {\r\n if (!this.isVisible()) return <></>\r\n return (\r\n <Wrap>\r\n <IconButton\r\n size='small'\r\n onClick={(e) => {\r\n PopoverGlobal.Api.open({\r\n anchorEl: e.currentTarget,\r\n popoverProps: { anchorOrigin: { vertical: 'top', horizontal: 'right' }, transformOrigin: { vertical: 'top', horizontal: 'right' } },\r\n content: (\r\n <List>\r\n {this.renderItems(this.props.menuList?.before)}\r\n {this.renderItemWithForm('Edit', this.props.formEdit, this.props.buttonEditConfig)}\r\n {this.renderItemWithForm('Delete', this.props.formDelete, this.props.buttonEditConfig ?? { backdropActivated: true })}\r\n {this.renderItems(this.props.menuList?.after)}\r\n </List>\r\n )\r\n })\r\n }}\r\n >\r\n <MoreVertIcon fontSize='small' />\r\n </IconButton>\r\n </Wrap>\r\n )\r\n }\r\n\r\n isVisible = () => {\r\n return !!this.props.formEdit || !!this.props.formDelete\r\n }\r\n\r\n renderItems = (value?: SingleOrArray<IActionMenuItemDef<T>>) => {\r\n if (!value) return <></>\r\n const list = Array.isArray(value) ? value : [value]\r\n return list.map((item, index) => {\r\n const key = item.name + index\r\n const { override: Override } = item\r\n if (Override) return <Override key={key} onClose={PopoverGlobal.Api.close} />\r\n return (\r\n <ListItem\r\n key={key}\r\n disablePadding\r\n sx={{ minWidth: '170px' }}\r\n onClick={(e) => {\r\n if (item.closableOnClick !== false) PopoverGlobal.Api.close()\r\n item.onClick && item.onClick(e, this.props.value)\r\n }}\r\n {...item.listItemProps}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{item.icon}</ListItemIcon>\r\n <ListItemText primary={item.name} />\r\n </ListItemButton>\r\n </ListItem>\r\n )\r\n })\r\n }\r\n\r\n renderItemWithForm = (name: ITableGridItemActionType, form?: IActionFormGetter<T>, globalState?: GlobalModalState) => {\r\n if (!form) return <></>\r\n return mapGlobalModalContext((context) => (\r\n <ListItem\r\n disablePadding\r\n sx={{ minWidth: '170px' }}\r\n onClick={() => {\r\n PopoverGlobal.Api.close()\r\n context.show({ renderContent: () => form(this.props.value), ...globalState })\r\n }}\r\n >\r\n <ListItemButton>\r\n <ListItemIcon>{mapIcons[name]}</ListItemIcon>\r\n <ListItemText primary={name} />\r\n </ListItemButton>\r\n </ListItem>\r\n ))\r\n }\r\n }\r\n return TableGridItemActions\r\n}\r\n\r\nconst Wrap = styled(Box)({\r\n background: colors.common.white,\r\n borderRadius: '6px',\r\n '& > .MuiButtonBase-root': {\r\n borderRadius: '6px'\r\n }\r\n})\r\n"],"names":["mapIcons","Edit","_jsx","EditIcon","fontSize","color","Delete","DeleteOutlineIcon","CreateTableGridItemActions","TableGridItemActions","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","props","formEdit","formDelete","value","isArray","map","item","index","key","name","Override","override","onClose","PopoverGlobal","Api","close","ListItem","_objectSpread","disablePadding","sx","minWidth","onClick","e","closableOnClick","listItemProps","children","_jsxs","ListItemButton","ListItemIcon","icon","ListItemText","primary","form","globalState","mapGlobalModalContext","context","show","renderContent","_inherits","Component","_createClass","_this2","isVisible","Wrap","IconButton","size","_this2$props$menuList","_this2$props$buttonEd","_this2$props$menuList2","open","anchorEl","currentTarget","popoverProps","anchorOrigin","vertical","horizontal","transformOrigin","content","List","renderItems","menuList","before","renderItemWithForm","buttonEditConfig","backdropActivated","after","MoreVertIcon","styled","Box","background","colors","common","white","borderRadius"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { default as DinoTableGrid } from './dino';
2
2
  export * from './types';
3
+ export * from './item-actions';
@@ -5,8 +5,8 @@ export type ITableGridItemActionType = 'Edit' | 'Delete';
5
5
  export interface ITableGridItemActionsBaseProps<T> {
6
6
  value: T;
7
7
  }
8
- export type IFormRenderFunc<T> = (value: T) => React.ReactNode;
9
- export interface IListItemDef<T> {
8
+ export type IActionFormGetter<T> = (value: T) => React.ReactNode;
9
+ export interface IActionMenuItemDef<T> {
10
10
  name: string;
11
11
  icon?: ReactNode;
12
12
  /** Whether this item should trigger a close action when clicked. @default true */
@@ -24,13 +24,13 @@ export interface IListItemDef<T> {
24
24
  }>;
25
25
  }
26
26
  export interface TableGridItemActionsConfig<T> {
27
- formEdit?: IFormRenderFunc<T>;
28
- formDelete?: IFormRenderFunc<T>;
27
+ formEdit?: IActionFormGetter<T>;
28
+ formDelete?: IActionFormGetter<T>;
29
29
  buttonEditConfig?: GlobalModalState;
30
30
  buttonDeleteConfig?: GlobalModalState;
31
31
  menuList?: {
32
- before?: SingleOrArray<IListItemDef<T>>;
33
- after?: IListItemDef<T>;
32
+ before?: SingleOrArray<IActionMenuItemDef<T>>;
33
+ after?: SingleOrArray<IActionMenuItemDef<T>>;
34
34
  };
35
35
  }
36
36
  export interface ITableGridItemActionsProps<T> extends ITableGridItemActionsBaseProps<T>, TableGridItemActionsConfig<T> {
@@ -39,8 +39,8 @@ export declare function CreateTableGridItemActions<T>(): {
39
39
  new (props: ITableGridItemActionsProps<T>): {
40
40
  render(): import("react/jsx-runtime").JSX.Element;
41
41
  isVisible: () => boolean;
42
- renderItems: (value?: SingleOrArray<IListItemDef<T>>) => import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
43
- renderItemWithForm: (name: ITableGridItemActionType, form?: IFormRenderFunc<T>, globalState?: GlobalModalState) => import("react/jsx-runtime").JSX.Element;
42
+ renderItems: (value?: SingleOrArray<IActionMenuItemDef<T>>) => import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
43
+ renderItemWithForm: (name: ITableGridItemActionType, form?: IActionFormGetter<T>, globalState?: GlobalModalState) => import("react/jsx-runtime").JSX.Element;
44
44
  context: unknown;
45
45
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<ITableGridItemActionsProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
46
46
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -65,8 +65,8 @@ export declare function CreateTableGridItemActions<T>(): {
65
65
  new (props: ITableGridItemActionsProps<T>, context: any): {
66
66
  render(): import("react/jsx-runtime").JSX.Element;
67
67
  isVisible: () => boolean;
68
- renderItems: (value?: SingleOrArray<IListItemDef<T>>) => import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
69
- renderItemWithForm: (name: ITableGridItemActionType, form?: IFormRenderFunc<T>, globalState?: GlobalModalState) => import("react/jsx-runtime").JSX.Element;
68
+ renderItems: (value?: SingleOrArray<IActionMenuItemDef<T>>) => import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
69
+ renderItemWithForm: (name: ITableGridItemActionType, form?: IActionFormGetter<T>, globalState?: GlobalModalState) => import("react/jsx-runtime").JSX.Element;
70
70
  context: unknown;
71
71
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<ITableGridItemActionsProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
72
72
  forceUpdate(callback?: (() => void) | undefined): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-core",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",