utopia-ui 3.0.32 → 3.0.34

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 (57) hide show
  1. package/dist/Components/AppShell/AppShell.d.ts +1 -1
  2. package/dist/Components/AppShell/SetAppState.d.ts +1 -1
  3. package/dist/Components/AppShell/hooks/useAppState.d.ts +1 -1
  4. package/dist/Components/AppShell/hooks/useAssets.d.ts +1 -1
  5. package/dist/Components/Auth/useAuth.d.ts +2 -1
  6. package/dist/Components/Input/TextAreaInput.d.ts +2 -1
  7. package/dist/Components/Map/ItemForm.d.ts +1 -1
  8. package/dist/Components/Map/ItemView.d.ts +1 -1
  9. package/dist/Components/Map/Layer.d.ts +1 -1
  10. package/dist/Components/Map/Permissions.d.ts +2 -1
  11. package/dist/Components/Map/Subcomponents/ItemFormPopup.d.ts +1 -1
  12. package/dist/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.d.ts +2 -1
  13. package/dist/Components/Map/Subcomponents/ItemPopupComponents/PopupButton.d.ts +1 -1
  14. package/dist/Components/Map/Subcomponents/ItemPopupComponents/PopupCheckboxInput.d.ts +1 -1
  15. package/dist/Components/Map/Subcomponents/ItemPopupComponents/PopupStartEndInput.d.ts +1 -1
  16. package/dist/Components/Map/Subcomponents/ItemPopupComponents/PopupTextAreaInput.d.ts +1 -1
  17. package/dist/Components/Map/Subcomponents/ItemPopupComponents/PopupTextInput.d.ts +1 -1
  18. package/dist/Components/Map/Subcomponents/ItemPopupComponents/StartEndView.d.ts +1 -1
  19. package/dist/Components/Map/Subcomponents/ItemPopupComponents/TextView.d.ts +1 -1
  20. package/dist/Components/Map/Subcomponents/ItemViewPopup.d.ts +2 -1
  21. package/dist/Components/Map/Tags.d.ts +2 -1
  22. package/dist/Components/Map/UtopiaMap.d.ts +1 -1
  23. package/dist/Components/Map/UtopiaMapInner.d.ts +1 -1
  24. package/dist/Components/Map/hooks/useFilter.d.ts +2 -1
  25. package/dist/Components/Map/hooks/useItems.d.ts +2 -1
  26. package/dist/Components/Map/hooks/useLayers.d.ts +1 -1
  27. package/dist/Components/Map/hooks/useLeafletRefs.d.ts +2 -2
  28. package/dist/Components/Map/hooks/usePermissions.d.ts +5 -1
  29. package/dist/Components/Map/hooks/useSelectPosition.d.ts +4 -2
  30. package/dist/Components/Map/hooks/useTags.d.ts +3 -1
  31. package/dist/Components/Profile/ProfileView.d.ts +1 -1
  32. package/dist/Components/Profile/Subcomponents/ActionsButton.d.ts +1 -1
  33. package/dist/Components/Profile/Subcomponents/ContactInfoForm.d.ts +1 -1
  34. package/dist/Components/Profile/Subcomponents/ContactInfoView.d.ts +1 -1
  35. package/dist/Components/Profile/Subcomponents/GalleryView.d.ts +4 -0
  36. package/dist/Components/Profile/Subcomponents/GroupSubHeaderView.d.ts +1 -1
  37. package/dist/Components/Profile/Subcomponents/GroupSubheaderForm.d.ts +2 -1
  38. package/dist/Components/Profile/Subcomponents/LinkedItemsHeaderView.d.ts +1 -1
  39. package/dist/Components/Profile/Subcomponents/PlusButton.d.ts +1 -1
  40. package/dist/Components/Profile/Subcomponents/ProfileStartEndForm.d.ts +1 -1
  41. package/dist/Components/Profile/Subcomponents/ProfileStartEndView.d.ts +1 -1
  42. package/dist/Components/Profile/Subcomponents/ProfileTextForm.d.ts +3 -2
  43. package/dist/Components/Profile/Subcomponents/ProfileTextView.d.ts +1 -1
  44. package/dist/Components/Profile/Templates/FlexForm.d.ts +2 -1
  45. package/dist/Components/Profile/Templates/FlexView.d.ts +1 -1
  46. package/dist/Components/Profile/Templates/OnepagerForm.d.ts +2 -1
  47. package/dist/Components/Profile/Templates/OnepagerView.d.ts +1 -1
  48. package/dist/Components/Profile/Templates/SimpleView.d.ts +1 -1
  49. package/dist/Components/Profile/Templates/TabsView.d.ts +2 -1
  50. package/dist/Components/Templates/AttestationForm.d.ts +1 -1
  51. package/dist/Components/Templates/DateUserInfo.d.ts +1 -1
  52. package/dist/Components/Templates/ItemCard.d.ts +1 -1
  53. package/dist/Components/Templates/TagView.d.ts +1 -1
  54. package/dist/index.d.ts +3 -1
  55. package/dist/index.js +78 -75
  56. package/dist/index.js.map +1 -1
  57. package/package.json +2 -1
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { AssetsApi } from '#src/types';
2
+ import type { AssetsApi } from '#types/AssetsApi';
3
3
  export declare function AppShell({ appName, children, assetsApi, userType, }: {
4
4
  appName: string;
5
5
  children: React.ReactNode;
@@ -1,4 +1,4 @@
1
- import { AssetsApi } from '#src/types';
1
+ import type { AssetsApi } from '#types/AssetsApi';
2
2
  export declare const SetAppState: ({ assetsApi, userType, }: {
3
3
  assetsApi: AssetsApi;
4
4
  userType: string;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { AssetsApi } from '#src/types';
2
+ import type { AssetsApi } from '#types/AssetsApi';
3
3
  interface AppState {
4
4
  assetsApi: AssetsApi;
5
5
  userType: string;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { AssetsApi } from '#src/types';
2
+ import type { AssetsApi } from '#types/AssetsApi';
3
3
  declare type UseAssetManagerResult = ReturnType<typeof useAssetsManager>;
4
4
  declare function useAssetsManager(): {
5
5
  api: AssetsApi;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { UserApi, UserItem } from '#src/types';
2
+ import type { UserApi } from '#types/UserApi';
3
+ import type { UserItem } from '#types/UserItem';
3
4
  interface AuthProviderProps {
4
5
  userApi: UserApi;
5
6
  children?: React.ReactNode;
@@ -6,7 +6,8 @@ declare type TextAreaProps = {
6
6
  inputStyle?: string;
7
7
  defaultValue: string;
8
8
  placeholder?: string;
9
+ required?: boolean;
9
10
  updateFormValue?: (value: string) => void;
10
11
  };
11
- export declare function TextAreaInput({ labelTitle, dataField, labelStyle, containerStyle, inputStyle, defaultValue, placeholder, updateFormValue, }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function TextAreaInput({ labelTitle, dataField, labelStyle, containerStyle, inputStyle, defaultValue, placeholder, required, updateFormValue, }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Item } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
3
  export declare const ItemForm: {
4
4
  ({ children, item, title, setPopupTitle, }: {
5
5
  children?: React.ReactNode;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ItemView: {
3
3
  ({ children, item }: {
4
4
  children?: React.ReactNode;
@@ -1,2 +1,2 @@
1
- import { LayerProps } from '#src/types';
1
+ import type { LayerProps } from '#types/LayerProps';
2
2
  export declare const Layer: ({ data, children, name, menuIcon, menuText, menuColor, markerIcon, markerShape, markerDefaultColor, markerDefaultColor2, api, itemType, itemNameField, itemSubnameField, itemTextField, itemAvatarField, itemColorField, itemOwnerField, itemLatitudeField, itemLongitudeField, itemTagsField, itemOffersField, itemNeedsField, onlyOnePerOwner, customEditLink, customEditParameter, public_edit_items, listed, setItemFormPopup, itemFormPopup, clusterRef, }: LayerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { ItemsApi, Permission } from '#src/types';
1
+ import type { ItemsApi } from '#types/ItemsApi';
2
+ import type { Permission } from '#types/Permission';
2
3
  export declare function Permissions({ data, api, adminRole, }: {
3
4
  data?: Permission[];
4
5
  api?: ItemsApi<Permission>;
@@ -1,2 +1,2 @@
1
- import { ItemFormPopupProps } from '#src/types';
1
+ import type { ItemFormPopupProps } from '#types/ItemFormPopupProps';
2
2
  export declare function ItemFormPopup(props: ItemFormPopupProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { Item, ItemsApi } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
+ import type { ItemsApi } from '#types/ItemsApi';
2
3
  export declare function HeaderView({ item, api, editCallback, deleteCallback, setPositionCallback, itemNameField, itemSubnameField, itemAvatarField, loading, hideMenu, big, truncateSubname, hideSubname, showAddress, }: {
3
4
  item: Item;
4
5
  api?: ItemsApi<any>;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const PopupButton: ({ url, parameterField, text, colorField, item, }: {
3
3
  url: string;
4
4
  parameterField?: string | undefined;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const PopupCheckboxInput: ({ dataField, label, item, }: {
3
3
  dataField: string;
4
4
  label: string;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  interface StartEndInputProps {
3
3
  item?: Item;
4
4
  showLabels?: boolean;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const PopupTextAreaInput: ({ dataField, placeholder, style, item, }: {
3
3
  dataField: string;
4
4
  placeholder: string;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const PopupTextInput: ({ dataField, placeholder, style, item, }: {
3
3
  dataField: string;
4
4
  placeholder: string;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const StartEndView: ({ item }: {
3
3
  item?: Item | undefined;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const TextView: ({ item, truncate, itemTextField, rawText, }: {
3
3
  item?: Item | undefined;
4
4
  truncate?: boolean | undefined;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Item, ItemFormPopupProps } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { ItemFormPopupProps } from '#types/ItemFormPopupProps';
3
4
  export interface ItemViewPopupProps {
4
5
  item: Item;
5
6
  children?: React.ReactNode;
@@ -1,4 +1,5 @@
1
- import { ItemsApi, Tag } from '#src/types';
1
+ import type { ItemsApi } from '#types/ItemsApi';
2
+ import type { Tag } from '#types/Tag';
2
3
  export declare function Tags({ data, api }: {
3
4
  data?: Tag[];
4
5
  api?: ItemsApi<Tag>;
@@ -1,4 +1,4 @@
1
- import { UtopiaMapProps } from '#src/types';
1
+ import type { UtopiaMapProps } from '#types/UtopiaMapProps';
2
2
  import 'react-toastify/dist/ReactToastify.css';
3
3
  declare function UtopiaMap(props: UtopiaMapProps): import("react/jsx-runtime").JSX.Element;
4
4
  export { UtopiaMap };
@@ -1,4 +1,4 @@
1
1
  import 'leaflet/dist/leaflet.css';
2
- import { UtopiaMapProps } from '#src/types';
3
2
  import './UtopiaMap.css';
3
+ import type { UtopiaMapProps } from '#types/UtopiaMapProps';
4
4
  export declare function UtopiaMapInner({ height, width, center, zoom, children, geo, showFilterControl, showGratitudeControl, showLayerControl, infoText, }: UtopiaMapProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { LayerProps, Tag } from '#src/types';
2
+ import type { LayerProps } from '#types/LayerProps';
3
+ import type { Tag } from '#types/Tag';
3
4
  declare type UseFilterManagerResult = ReturnType<typeof useFilterManager>;
4
5
  declare function useFilterManager(initialTags: Tag[]): {
5
6
  filterTags: Tag[];
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Item, LayerProps } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { LayerProps } from '#types/LayerProps';
3
4
  declare type UseItemManagerResult = ReturnType<typeof useItemsManager>;
4
5
  declare function useItemsManager(initialItems: Item[]): {
5
6
  items: Item[];
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { LayerProps } from '#src/types';
2
+ import type { LayerProps } from '#types/LayerProps';
3
3
  declare type UseItemManagerResult = ReturnType<typeof useLayerManager>;
4
4
  declare function useLayerManager(initialLayers: LayerProps[]): {
5
5
  layers: LayerProps[];
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Marker, Popup } from 'leaflet';
3
- import { Item } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { Marker, Popup } from 'leaflet';
4
4
  interface LeafletRef {
5
5
  item: Item;
6
6
  marker: Marker;
@@ -1,5 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { Item, ItemsApi, LayerProps, Permission, PermissionAction } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { ItemsApi } from '#types/ItemsApi';
4
+ import type { LayerProps } from '#types/LayerProps';
5
+ import type { Permission } from '#types/Permission';
6
+ import type { PermissionAction } from '#types/PermissionAction';
3
7
  declare type UsePermissionManagerResult = ReturnType<typeof usePermissionsManager>;
4
8
  declare function usePermissionsManager(initialPermissions: Permission[]): {
5
9
  permissions: Permission[];
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { LatLng } from 'leaflet';
3
- import { Item, LayerProps, ItemFormPopupProps } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { ItemFormPopupProps } from '#types/ItemFormPopupProps';
4
+ import type { LayerProps } from '#types/LayerProps';
5
+ import type { LatLng } from 'leaflet';
4
6
  interface PolygonClickedProps {
5
7
  position: LatLng;
6
8
  setItemFormPopup: React.Dispatch<React.SetStateAction<ItemFormPopupProps | null>>;
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { Item, ItemsApi, Tag } from '#src/types';
2
+ import type { Item } from '#types/Item';
3
+ import type { ItemsApi } from '#types/ItemsApi';
4
+ import type { Tag } from '#types/Tag';
3
5
  declare type UseTagManagerResult = ReturnType<typeof useTagsManager>;
4
6
  declare function useTagsManager(initialTags: Tag[]): {
5
7
  tags: Tag[];
@@ -1,4 +1,4 @@
1
- import { ItemsApi } from '#src/types';
1
+ import type { ItemsApi } from '#types/ItemsApi';
2
2
  export declare function ProfileView({ attestationApi }: {
3
3
  attestationApi?: ItemsApi<any>;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare function ActionButton({ item, triggerAddButton, triggerItemSelected, existingRelations, itemType, colorField, collection, customStyle, }: {
3
3
  triggerAddButton?: any;
4
4
  triggerItemSelected?: any;
@@ -1,4 +1,4 @@
1
- import { FormState } from '#src/types';
1
+ import type { FormState } from '#types/FormState';
2
2
  export declare const ContactInfoForm: ({ state, setState, }: {
3
3
  state: FormState;
4
4
  setState: React.Dispatch<React.SetStateAction<any>>;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ContactInfoView: ({ item, heading }: {
3
3
  item: Item;
4
4
  heading: string;
@@ -0,0 +1,4 @@
1
+ import type { Item } from '#types/Item';
2
+ export declare const GalleryView: ({ item }: {
3
+ item: Item;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const GroupSubHeaderView: ({ item, shareBaseUrl, platforms, }: {
3
3
  item: Item;
4
4
  shareBaseUrl: string;
@@ -1,4 +1,5 @@
1
- import { Item, FormState } from '#src/types';
1
+ import type { FormState } from '#types/FormState';
2
+ import type { Item } from '#types/Item';
2
3
  interface groupType {
3
4
  groupTypes_id: {
4
5
  name: string;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare function LinkedItemsHeaderView({ item, unlinkCallback, itemNameField, itemAvatarField, loading, unlinkPermission, itemSubnameField, }: {
3
3
  item: Item;
4
4
  unlinkCallback?: any;
@@ -1,4 +1,4 @@
1
- import { LayerProps } from '#src/types';
1
+ import type { LayerProps } from '#types/LayerProps';
2
2
  export declare function PlusButton({ layer, triggerAction, color, collection, }: {
3
3
  layer?: LayerProps;
4
4
  triggerAction: any;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ProfileStartEndForm: ({ item, setState, }: {
3
3
  item: Item;
4
4
  setState: React.Dispatch<React.SetStateAction<any>>;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ProfileStartEndView: ({ item }: {
3
3
  item: Item;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
1
- import { FormState } from '#src/types';
2
- export declare const ProfileTextForm: ({ state, setState, dataField, heading, size, hideInputLabel, }: {
1
+ import type { FormState } from '#types/FormState';
2
+ export declare const ProfileTextForm: ({ state, setState, dataField, heading, size, hideInputLabel, required, }: {
3
3
  state: FormState;
4
4
  setState: React.Dispatch<React.SetStateAction<any>>;
5
5
  dataField?: string | undefined;
6
6
  heading: string;
7
7
  size: string;
8
8
  hideInputLabel: boolean;
9
+ required?: boolean | undefined;
9
10
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ProfileTextView: ({ item, dataField, heading, hideWhenEmpty, }: {
3
3
  item: Item;
4
4
  dataField: string;
@@ -1,4 +1,5 @@
1
- import { Item, FormState } from '#src/types';
1
+ import type { FormState } from '#types/FormState';
2
+ import type { Item } from '#types/Item';
2
3
  export declare const FlexForm: ({ item, state, setState, }: {
3
4
  state: FormState;
4
5
  setState: React.Dispatch<React.SetStateAction<any>>;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const FlexView: ({ item }: {
3
3
  item: Item;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { FormState, Item } from '#src/types';
1
+ import type { FormState } from '#types/FormState';
2
+ import type { Item } from '#types/Item';
2
3
  export declare const OnepagerForm: ({ item, state, setState, }: {
3
4
  state: FormState;
4
5
  setState: React.Dispatch<React.SetStateAction<any>>;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const OnepagerView: ({ item }: {
3
3
  item: Item;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const SimpleView: ({ item }: {
3
3
  item: Item;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
- import { Item, Tag } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
+ import type { Tag } from '#types/Tag';
2
3
  export declare const TabsView: ({ attestations, item, offers, needs, relations, updatePermission, loading, linkItem, unlinkItem, }: {
3
4
  attestations: any[];
4
5
  item: Item;
@@ -1,4 +1,4 @@
1
- import { ItemsApi } from '#src/types';
1
+ import type { ItemsApi } from '#types/ItemsApi';
2
2
  export declare const AttestationForm: ({ api }: {
3
3
  api?: ItemsApi<any> | undefined;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const DateUserInfo: ({ item }: {
3
3
  item: Item;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Item } from '#src/types';
1
+ import type { Item } from '#types/Item';
2
2
  export declare const ItemCard: ({ i, loading, url, parameterField, deleteCallback, }: {
3
3
  i: Item;
4
4
  loading: boolean;
@@ -1,4 +1,4 @@
1
- import { Tag } from '#src/types';
1
+ import type { Tag } from '#types/Tag';
2
2
  export declare const TagView: ({ tag, heighlight, onClick, count, }: {
3
3
  tag: Tag;
4
4
  heighlight?: boolean | undefined;
package/dist/index.d.ts CHANGED
@@ -8,6 +8,8 @@ export { TitleCard, CardPage, MapOverlayPage, OverlayItemsIndexPage, MoonCalenda
8
8
  export { TextInput, TextAreaInput, SelectBox } from './Components/Input';
9
9
  declare global {
10
10
  interface Window {
11
- my_modal_3: any;
11
+ my_modal_3: {
12
+ showModal(): void;
13
+ };
12
14
  }
13
15
  }