@televet/kibble-ui 3.0.15 → 3.0.16

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 (121) hide show
  1. package/build/{alert.component-4d48d218.js → alert.component-6b73cfd5.js} +2 -2
  2. package/build/{alert.component-4d48d218.js.map → alert.component-6b73cfd5.js.map} +1 -1
  3. package/build/{avatar.component-dd61be1f.js → avatar.component-97b5c7b6.js} +2 -2
  4. package/build/{avatar.component-dd61be1f.js.map → avatar.component-97b5c7b6.js.map} +1 -1
  5. package/build/avatarGroup.component-917347ed.js +2 -0
  6. package/build/{avatarGroup.component-50a37594.js.map → avatarGroup.component-917347ed.js.map} +1 -1
  7. package/build/{button.component-15b49687.js → button.component-19a04ce2.js} +2 -2
  8. package/build/{button.component-15b49687.js.map → button.component-19a04ce2.js.map} +1 -1
  9. package/build/checkbox.component-7f9167f3.js +2 -0
  10. package/build/{checkbox.component-ca33f17c.js.map → checkbox.component-7f9167f3.js.map} +1 -1
  11. package/build/checkboxGroup.component-837fa80d.js +2 -0
  12. package/build/{checkboxGroup.component-7a918704.js.map → checkboxGroup.component-837fa80d.js.map} +1 -1
  13. package/build/components/Alert/index.js +1 -1
  14. package/build/components/Avatar/index.js +1 -1
  15. package/build/components/AvatarGroup/index.js +1 -1
  16. package/build/components/Button/index.js +1 -1
  17. package/build/components/Checkbox/index.js +1 -1
  18. package/build/components/CheckboxGroup/index.js +1 -1
  19. package/build/components/DatePicker/index.js +1 -1
  20. package/build/components/Icon/index.js +1 -1
  21. package/build/components/Link/index.js +1 -1
  22. package/build/components/Menu/components/MenuButton/index.js +1 -1
  23. package/build/components/Menu/components/MenuItem/index.js +1 -1
  24. package/build/components/Menu/components/MenuList/index.js +1 -1
  25. package/build/components/Menu/index.js +1 -1
  26. package/build/components/Modal/components/ModalCloseButton/index.js +1 -1
  27. package/build/components/Modal/components/ModalExpandButton/index.js +1 -1
  28. package/build/components/Modal/components/ModalFooterButtons/index.js +1 -1
  29. package/build/components/Modal/index.js +1 -1
  30. package/build/components/Popover/components/PopoverFooter/index.js +1 -1
  31. package/build/components/Popover/components/PopoverHeader/index.js +1 -1
  32. package/build/components/Popover/index.js +1 -1
  33. package/build/components/RadioButtonGroup/index.js +1 -1
  34. package/build/components/RadioGroup/index.js +1 -1
  35. package/build/components/Select/index.js +1 -1
  36. package/build/components/SortableList/components/DragHandle/index.js +1 -1
  37. package/build/components/SortableList/index.js +1 -1
  38. package/build/components/Switch/index.js +1 -1
  39. package/build/components/Tabs/components/Tab/index.js +1 -1
  40. package/build/components/Tabs/index.js +1 -1
  41. package/build/components/TabsLayout/index.js +1 -1
  42. package/build/components/TextInput/index.js +1 -1
  43. package/build/components/Textarea/index.js +1 -1
  44. package/build/components/TimePicker/index.js +1 -1
  45. package/build/components/TimeRange/index.js +1 -1
  46. package/build/components/Toast/index.js +1 -1
  47. package/build/components/index.js +1 -1
  48. package/build/{conversationCard.component-a45e813c.js → conversationCard.component-1f0dbf22.js} +2 -2
  49. package/build/{conversationCard.component-a45e813c.js.map → conversationCard.component-1f0dbf22.js.map} +1 -1
  50. package/build/{datepicker.component-c38c1102.js → datepicker.component-badb566d.js} +2 -2
  51. package/build/{datepicker.component-c38c1102.js.map → datepicker.component-badb566d.js.map} +1 -1
  52. package/build/{dragHandle.component-87559e3a.js → dragHandle.component-be1dd7c5.js} +2 -2
  53. package/build/{dragHandle.component-87559e3a.js.map → dragHandle.component-be1dd7c5.js.map} +1 -1
  54. package/build/{icon.component-8d0ca544.js → icon.component-a5eb83e4.js} +1 -1
  55. package/build/{icon.component-8d0ca544.js.map → icon.component-a5eb83e4.js.map} +1 -1
  56. package/build/icons/Liveagent.d.ts +10 -0
  57. package/build/icons/index.d.ts +1 -1
  58. package/build/icons/index.js +1 -1
  59. package/build/icons/index.js.map +1 -1
  60. package/build/index.js +1 -1
  61. package/build/{link.component-a45bd0f4.js → link.component-b50ea088.js} +2 -2
  62. package/build/{link.component-a45bd0f4.js.map → link.component-b50ea088.js.map} +1 -1
  63. package/build/menu.component-ed545966.js +2 -0
  64. package/build/{menu.component-6addfd4a.js.map → menu.component-ed545966.js.map} +1 -1
  65. package/build/{menuButton.component-4552e39b.js → menuButton.component-4365c959.js} +2 -2
  66. package/build/{menuButton.component-4552e39b.js.map → menuButton.component-4365c959.js.map} +1 -1
  67. package/build/{menuItem.component-5d94368e.js → menuItem.component-1d6d5f31.js} +2 -2
  68. package/build/{menuItem.component-5d94368e.js.map → menuItem.component-1d6d5f31.js.map} +1 -1
  69. package/build/{menuList.component-1f658cfe.js → menuList.component-f7a7ecf2.js} +2 -2
  70. package/build/{menuList.component-1f658cfe.js.map → menuList.component-f7a7ecf2.js.map} +1 -1
  71. package/build/{modalCloseButton.component-b8750057.js → modalCloseButton.component-84d91c9c.js} +2 -2
  72. package/build/{modalCloseButton.component-b8750057.js.map → modalCloseButton.component-84d91c9c.js.map} +1 -1
  73. package/build/{modalExpandButton.component-e82f4fca.js → modalExpandButton.component-46446bd1.js} +2 -2
  74. package/build/{modalExpandButton.component-e82f4fca.js.map → modalExpandButton.component-46446bd1.js.map} +1 -1
  75. package/build/{modalFooterButtons.component-43364bf5.js → modalFooterButtons.component-9eea6371.js} +2 -2
  76. package/build/{modalFooterButtons.component-43364bf5.js.map → modalFooterButtons.component-9eea6371.js.map} +1 -1
  77. package/build/patterns/ConversationCard/index.js +1 -1
  78. package/build/patterns/StyledAvatar/index.js +1 -1
  79. package/build/patterns/TagBlock/index.js +1 -1
  80. package/build/patterns/index.js +1 -1
  81. package/build/{popover.component-902fefb6.js → popover.component-de02e042.js} +2 -2
  82. package/build/{popover.component-902fefb6.js.map → popover.component-de02e042.js.map} +1 -1
  83. package/build/{popoverFooter.component-c68647aa.js → popoverFooter.component-1524205f.js} +2 -2
  84. package/build/{popoverFooter.component-c68647aa.js.map → popoverFooter.component-1524205f.js.map} +1 -1
  85. package/build/{popoverHeader.component-8d58bacd.js → popoverHeader.component-82a4c46d.js} +2 -2
  86. package/build/{popoverHeader.component-8d58bacd.js.map → popoverHeader.component-82a4c46d.js.map} +1 -1
  87. package/build/{radioGroup.component-32f61d36.js → radioGroup.component-501c1409.js} +2 -2
  88. package/build/{radioGroup.component-32f61d36.js.map → radioGroup.component-501c1409.js.map} +1 -1
  89. package/build/{select.component-455fdcbd.js → select.component-b314af8c.js} +2 -2
  90. package/build/{select.component-455fdcbd.js.map → select.component-b314af8c.js.map} +1 -1
  91. package/build/{styledAvatar.types-2540b39f.js → styledAvatar.types-b9f5ae1f.js} +2 -2
  92. package/build/{styledAvatar.types-2540b39f.js.map → styledAvatar.types-b9f5ae1f.js.map} +1 -1
  93. package/build/{switch.component-b10c0f86.js → switch.component-89a8440f.js} +2 -2
  94. package/build/{switch.component-b10c0f86.js.map → switch.component-89a8440f.js.map} +1 -1
  95. package/build/tab.component-9cfb5ed4.js +2 -0
  96. package/build/{tab.component-f7a80e92.js.map → tab.component-9cfb5ed4.js.map} +1 -1
  97. package/build/tabs.component-a1e8349f.js +2 -0
  98. package/build/{tabs.component-84713165.js.map → tabs.component-a1e8349f.js.map} +1 -1
  99. package/build/{tabsLayout.component-f43fa494.js → tabsLayout.component-6e160fb4.js} +2 -2
  100. package/build/{tabsLayout.component-f43fa494.js.map → tabsLayout.component-6e160fb4.js.map} +1 -1
  101. package/build/{tagBlock.component-eeb67b0e.js → tagBlock.component-22284a12.js} +2 -2
  102. package/build/{tagBlock.component-eeb67b0e.js.map → tagBlock.component-22284a12.js.map} +1 -1
  103. package/build/{textInput.component-daebc8ef.js → textInput.component-c07b505a.js} +2 -2
  104. package/build/{textInput.component-daebc8ef.js.map → textInput.component-c07b505a.js.map} +1 -1
  105. package/build/{textarea.component-4975fe4e.js → textarea.component-004d476d.js} +2 -2
  106. package/build/{textarea.component-4975fe4e.js.map → textarea.component-004d476d.js.map} +1 -1
  107. package/build/{timePicker.component-6265ee22.js → timePicker.component-56cd7991.js} +2 -2
  108. package/build/{timePicker.component-6265ee22.js.map → timePicker.component-56cd7991.js.map} +1 -1
  109. package/build/{timeRange.component-a5b363c7.js → timeRange.component-577f3f68.js} +2 -2
  110. package/build/{timeRange.component-a5b363c7.js.map → timeRange.component-577f3f68.js.map} +1 -1
  111. package/build/{useToast-6a6f0bf3.js → useToast-12469c19.js} +2 -2
  112. package/build/{useToast-6a6f0bf3.js.map → useToast-12469c19.js.map} +1 -1
  113. package/build/{withFormControl-a4a73b4d.js → withFormControl-ba1efcf6.js} +2 -2
  114. package/build/{withFormControl-a4a73b4d.js.map → withFormControl-ba1efcf6.js.map} +1 -1
  115. package/package.json +1 -1
  116. package/build/avatarGroup.component-50a37594.js +0 -2
  117. package/build/checkbox.component-ca33f17c.js +0 -2
  118. package/build/checkboxGroup.component-7a918704.js +0 -2
  119. package/build/menu.component-6addfd4a.js +0 -2
  120. package/build/tab.component-f7a80e92.js +0 -2
  121. package/build/tabs.component-84713165.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("./icon.component-8d0ca544.js"),n=require("./popover.component-902fefb6.js"),r=require("./index-7708e04e.js"),o=require("./textInput.component-daebc8ef.js"),a=require("./chakra-ui-layout.esm-0601b9a5.js"),i=require("./timePicker.types-eedca939.js"),l=require("./useIconTextSizeMap-301c4f35.js"),u=require("./chakra-ui-hooks.esm-20b27af2.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=s(e);const d=({value:t,innerRef:n,isSelected:r,handleClick:o})=>{const i=e.useCallback((e=>{const t=e.currentTarget.textContent||"";o(t)}),[o]);return c.default.createElement(a.Box,{ref:n,onClick:i,background:r?"background.primary":"background.default",color:r?"text.onContrast":"text.subtle",fontSize:"sm",textAlign:"center",px:3,py:1,borderRadius:"md",cursor:"pointer",_hover:{background:r?"background.primary.hover":"background.primaryAlpha.hover"}},t)},p=({options:t,optionType:n,selectedValue:r,handleClick:o,isOpen:i=!1})=>{const l=e.useRef(null),u=e.useRef(null);return e.useEffect((()=>{var e,t;i&&u.current&&l.current&&(u.current.scrollTop=(null===(e=l.current)||void 0===e?void 0:e.offsetTop)-(null===(t=u.current)||void 0===t?void 0:t.offsetTop))}),[i]),c.default.createElement(a.Flex,{direction:"column",gap:1,ref:u,overflowY:"auto","data-testid":`${n}-scroll-container`,sx:{"&::-webkit-scrollbar":{display:"none"}}},t.map((e=>c.default.createElement(d,{key:`${n}-option-${e}`,innerRef:e===r?l:null,value:e,isSelected:e===r,handleClick:o,"data-testid":e}))))};exports.TimePicker=({initialTime:s,minuteInterval:d=5,inputProps:m,placement:f,dataTestId:k="time-picker",onTimeChange:b})=>{const{isOpen:h,onOpen:g,onClose:v}=u.useDisclosure(),[M,x]=e.useState(s),[C,E]=e.useState(),[T,y]=e.useState(),[S,j]=e.useState(),O=e.useMemo((()=>M?r.format(M,"h:mm aa"):""),[M]),q=e=>{const t=e.toString();return 1===t.length?`0${t}`:t},w=e.useMemo((()=>[12,1,2,3,4,5,6,7,8,9,10,11].map((e=>e.toString()))),[]),A=e.useMemo((()=>{const e=[];for(let t=0;t<60;t+=d)e.push(t);return e.map(q)}),[d]),P=[i.Meridiem.AM,i.Meridiem.PM],I=e.useCallback(((e,t,n)=>{const r=e||"12",o=t||"00",a=n||"AM";let l=0;e||E("12"),t||y("00"),n||j("AM"),a===i.Meridiem.PM&&Number(r)<12&&(l=12),a===i.Meridiem.AM&&12===Number(r)&&(l=-12);const u=Number(r)+l,s=(new Date).setHours(u,Number(o),0,0),c=new Date(s);x(c),b&&b(c)}),[b]),z=e.useCallback((e=>{E(e),I(e,T,S)}),[I,S,T]),R=e.useCallback((e=>{y(e),I(C,e,S)}),[I,C,S]),D=e.useCallback((e=>{j(e),I(C,T,e)}),[I,C,T]);return e.useEffect((()=>{if(s){const e=new Date(s);let t=e.getHours()%12||12;x(s),E(t.toString()),y(e.getMinutes().toString()),j(e.getHours()>11?i.Meridiem.PM:i.Meridiem.AM)}}),[s]),c.default.createElement(n.Popover,{isOpen:h,onOpen:g,onClose:v,placement:f,contentProps:{width:"max-content"},variant:"default",size:"sm",anchor:c.default.createElement(a.Box,{w:"100%"},c.default.createElement(o.WrappedTextInput,Object.assign({placeholder:"12:00 AM",rightElement:c.default.createElement(a.Flex,{cursor:(null==m?void 0:m.isDisabled)?"not-allowed":"pointer",h:"100%",align:"center"},c.default.createElement(t.Icon,{size:l.useIconTextSizeMap((null==m?void 0:m.size)||"md"),name:"clock"})),value:O,isReadOnly:!0,"data-testid":k,cursor:"pointer"},m)))},c.default.createElement(a.Flex,{height:"186px",gap:1.5,overflow:"hidden"},c.default.createElement(p,{options:w,optionType:"hour",selectedValue:C,handleClick:z,isOpen:h}),c.default.createElement(p,{options:A,optionType:"minute",selectedValue:T?q(T):void 0,handleClick:R,isOpen:h}),c.default.createElement(p,{options:P,optionType:"meridiem",selectedValue:S,handleClick:D,isOpen:h})))};
2
- //# sourceMappingURL=timePicker.component-6265ee22.js.map
1
+ "use strict";var e=require("react"),t=require("./icon.component-a5eb83e4.js"),n=require("./popover.component-de02e042.js"),r=require("./index-7708e04e.js"),o=require("./textInput.component-c07b505a.js"),a=require("./chakra-ui-layout.esm-0601b9a5.js"),i=require("./timePicker.types-eedca939.js"),l=require("./useIconTextSizeMap-301c4f35.js"),u=require("./chakra-ui-hooks.esm-20b27af2.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=s(e);const d=({value:t,innerRef:n,isSelected:r,handleClick:o})=>{const i=e.useCallback((e=>{const t=e.currentTarget.textContent||"";o(t)}),[o]);return c.default.createElement(a.Box,{ref:n,onClick:i,background:r?"background.primary":"background.default",color:r?"text.onContrast":"text.subtle",fontSize:"sm",textAlign:"center",px:3,py:1,borderRadius:"md",cursor:"pointer",_hover:{background:r?"background.primary.hover":"background.primaryAlpha.hover"}},t)},p=({options:t,optionType:n,selectedValue:r,handleClick:o,isOpen:i=!1})=>{const l=e.useRef(null),u=e.useRef(null);return e.useEffect((()=>{var e,t;i&&u.current&&l.current&&(u.current.scrollTop=(null===(e=l.current)||void 0===e?void 0:e.offsetTop)-(null===(t=u.current)||void 0===t?void 0:t.offsetTop))}),[i]),c.default.createElement(a.Flex,{direction:"column",gap:1,ref:u,overflowY:"auto","data-testid":`${n}-scroll-container`,sx:{"&::-webkit-scrollbar":{display:"none"}}},t.map((e=>c.default.createElement(d,{key:`${n}-option-${e}`,innerRef:e===r?l:null,value:e,isSelected:e===r,handleClick:o,"data-testid":e}))))};exports.TimePicker=({initialTime:s,minuteInterval:d=5,inputProps:m,placement:f,dataTestId:k="time-picker",onTimeChange:b})=>{const{isOpen:h,onOpen:g,onClose:v}=u.useDisclosure(),[M,x]=e.useState(s),[C,E]=e.useState(),[T,y]=e.useState(),[S,j]=e.useState(),O=e.useMemo((()=>M?r.format(M,"h:mm aa"):""),[M]),q=e=>{const t=e.toString();return 1===t.length?`0${t}`:t},w=e.useMemo((()=>[12,1,2,3,4,5,6,7,8,9,10,11].map((e=>e.toString()))),[]),A=e.useMemo((()=>{const e=[];for(let t=0;t<60;t+=d)e.push(t);return e.map(q)}),[d]),P=[i.Meridiem.AM,i.Meridiem.PM],I=e.useCallback(((e,t,n)=>{const r=e||"12",o=t||"00",a=n||"AM";let l=0;e||E("12"),t||y("00"),n||j("AM"),a===i.Meridiem.PM&&Number(r)<12&&(l=12),a===i.Meridiem.AM&&12===Number(r)&&(l=-12);const u=Number(r)+l,s=(new Date).setHours(u,Number(o),0,0),c=new Date(s);x(c),b&&b(c)}),[b]),z=e.useCallback((e=>{E(e),I(e,T,S)}),[I,S,T]),R=e.useCallback((e=>{y(e),I(C,e,S)}),[I,C,S]),D=e.useCallback((e=>{j(e),I(C,T,e)}),[I,C,T]);return e.useEffect((()=>{if(s){const e=new Date(s);let t=e.getHours()%12||12;x(s),E(t.toString()),y(e.getMinutes().toString()),j(e.getHours()>11?i.Meridiem.PM:i.Meridiem.AM)}}),[s]),c.default.createElement(n.Popover,{isOpen:h,onOpen:g,onClose:v,placement:f,contentProps:{width:"max-content"},variant:"default",size:"sm",anchor:c.default.createElement(a.Box,{w:"100%"},c.default.createElement(o.WrappedTextInput,Object.assign({placeholder:"12:00 AM",rightElement:c.default.createElement(a.Flex,{cursor:(null==m?void 0:m.isDisabled)?"not-allowed":"pointer",h:"100%",align:"center"},c.default.createElement(t.Icon,{size:l.useIconTextSizeMap((null==m?void 0:m.size)||"md"),name:"clock"})),value:O,isReadOnly:!0,"data-testid":k,cursor:"pointer"},m)))},c.default.createElement(a.Flex,{height:"186px",gap:1.5,overflow:"hidden"},c.default.createElement(p,{options:w,optionType:"hour",selectedValue:C,handleClick:z,isOpen:h}),c.default.createElement(p,{options:A,optionType:"minute",selectedValue:T?q(T):void 0,handleClick:R,isOpen:h}),c.default.createElement(p,{options:P,optionType:"meridiem",selectedValue:S,handleClick:D,isOpen:h})))};
2
+ //# sourceMappingURL=timePicker.component-56cd7991.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-6265ee22.js","sources":["../src/components/TimePicker/components/timeOption.component.tsx","../src/components/TimePicker/components/scrollContainer.component.tsx","../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import React, { MutableRefObject, useCallback } from 'react';\nimport { Box } from '@chakra-ui/react';\n\ninterface TimeOptionProps {\n value: string;\n innerRef?: MutableRefObject<HTMLDivElement | null> | null;\n isSelected: boolean;\n handleClick: (selectedValue: string) => void;\n}\n\nexport const TimeOption = ({ value, innerRef, isSelected, handleClick }: TimeOptionProps): JSX.Element => {\n const onClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || '';\n handleClick(selectedValue);\n },\n [handleClick],\n );\n\n return (\n <Box\n ref={innerRef}\n onClick={onClick}\n background={isSelected ? 'background.primary' : 'background.default'}\n color={isSelected ? 'text.onContrast' : 'text.subtle'}\n fontSize=\"sm\"\n textAlign=\"center\"\n px={3}\n py={1}\n borderRadius=\"md\"\n cursor=\"pointer\"\n _hover={{\n background: isSelected ? 'background.primary.hover' : 'background.primaryAlpha.hover',\n }}\n >\n {value}\n </Box>\n );\n};\n","import React, { useEffect, useRef } from 'react';\nimport { Flex } from '@chakra-ui/react';\nimport { TimeOption } from './timeOption.component';\n\ninterface ScrollContainerProps {\n options: string[];\n optionType: 'hour' | 'minute' | 'meridiem';\n selectedValue?: string;\n handleClick: (value: string) => void;\n isOpen: boolean;\n}\n\nexport const ScrollContainer = ({\n options,\n optionType,\n selectedValue,\n handleClick,\n isOpen = false,\n}: ScrollContainerProps): JSX.Element => {\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isOpen && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop = itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [isOpen]);\n\n return (\n <Flex\n direction=\"column\"\n gap={1}\n ref={containerRef}\n overflowY=\"auto\"\n data-testid={`${optionType}-scroll-container`}\n sx={{\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n }}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n isSelected={option === selectedValue}\n handleClick={handleClick}\n data-testid={option}\n />\n );\n })}\n </Flex>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { PlacementWithLogical, Box, Flex, useDisclosure } from '@chakra-ui/react';\nimport { Icon } from '../Icon/icon.component';\nimport { Popover } from '../Popover/popover.component';\nimport format from 'date-fns/format';\nimport { TextInput, TextInputProps } from '../TextInput/textInput.component';\nimport { ScrollContainer } from './components/scrollContainer.component';\nimport { Meridiem } from './timePicker.types';\nimport { useIconTextSizeMap } from 'shared/hooks/useIconTextSizeMap';\n\nexport interface TimePickerProps {\n initialTime?: Date;\n minuteInterval?: number;\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n placement?: PlacementWithLogical;\n onTimeChange?: (time: Date) => void;\n dataTestId?: string;\n}\n\nexport const TimePicker = ({\n initialTime,\n minuteInterval = 5,\n inputProps,\n placement,\n dataTestId = 'time-picker',\n onTimeChange,\n}: TimePickerProps): JSX.Element => {\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n // selectedTime should always be UTC\n const [selectedTime, setSelectedTime] = useState(initialTime);\n\n // convert to local time for display\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<string | undefined>();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return '';\n return format(selectedTime, 'h:mm aa');\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) => hour.toString());\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || '12';\n const _minute = minute || '00';\n const _meridiem = meridiem || 'AM';\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour('12');\n }\n if (!minute) {\n setSelectedMinute('00');\n }\n if (!meridiem) {\n setSelectedMeridiem('AM');\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n let adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM);\n }\n }, [initialTime]);\n\n return (\n <Popover\n isOpen={isOpen}\n onOpen={onOpen}\n onClose={onClose}\n placement={placement}\n contentProps={{ width: 'max-content' }}\n variant=\"default\"\n size=\"sm\"\n anchor={\n <Box w=\"100%\">\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Flex cursor={inputProps?.isDisabled ? 'not-allowed' : 'pointer'} h=\"100%\" align=\"center\">\n <Icon size={useIconTextSizeMap(inputProps?.size || 'md')} name=\"clock\" />\n </Flex>\n }\n value={formattedTime}\n isReadOnly\n data-testid={dataTestId}\n cursor={'pointer'}\n {...inputProps}\n />\n </Box>\n }\n >\n <Flex height=\"186px\" gap={1.5} overflow=\"hidden\">\n <ScrollContainer\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n handleClick={handleHourClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={selectedMinute ? formatNumber(selectedMinute) : undefined}\n handleClick={handleMinuteClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n handleClick={handleMeridiemClick}\n isOpen={isOpen}\n />\n </Flex>\n </Popover>\n );\n};\n"],"names":["TimeOption","value","innerRef","isSelected","handleClick","onClick","useCallback","event","selectedValue","currentTarget","textContent","React","createElement","Box","ref","background","color","fontSize","textAlign","px","py","borderRadius","cursor","_hover","ScrollContainer","options","optionType","isOpen","itemRef","useRef","containerRef","useEffect","current","scrollTop","_a","offsetTop","_b","Flex","direction","gap","overflowY","sx","display","map","option","key","initialTime","minuteInterval","inputProps","placement","dataTestId","onTimeChange","onOpen","onClose","useDisclosure","selectedTime","setSelectedTime","useState","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","toString","length","hourOptions","hour","minuteOptions","minutes","i","push","meridiemOptions","Meridiem","AM","PM","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","Number","hours","time","Date","setHours","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","getHours","getMinutes","Popover","contentProps","width","variant","size","anchor","w","TextInput","Object","assign","placeholder","rightElement","isDisabled","h","align","Icon","useIconTextSizeMap","name","isReadOnly","height","overflow","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"timePicker.component-56cd7991.js","sources":["../src/components/TimePicker/components/timeOption.component.tsx","../src/components/TimePicker/components/scrollContainer.component.tsx","../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import React, { MutableRefObject, useCallback } from 'react';\nimport { Box } from '@chakra-ui/react';\n\ninterface TimeOptionProps {\n value: string;\n innerRef?: MutableRefObject<HTMLDivElement | null> | null;\n isSelected: boolean;\n handleClick: (selectedValue: string) => void;\n}\n\nexport const TimeOption = ({ value, innerRef, isSelected, handleClick }: TimeOptionProps): JSX.Element => {\n const onClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || '';\n handleClick(selectedValue);\n },\n [handleClick],\n );\n\n return (\n <Box\n ref={innerRef}\n onClick={onClick}\n background={isSelected ? 'background.primary' : 'background.default'}\n color={isSelected ? 'text.onContrast' : 'text.subtle'}\n fontSize=\"sm\"\n textAlign=\"center\"\n px={3}\n py={1}\n borderRadius=\"md\"\n cursor=\"pointer\"\n _hover={{\n background: isSelected ? 'background.primary.hover' : 'background.primaryAlpha.hover',\n }}\n >\n {value}\n </Box>\n );\n};\n","import React, { useEffect, useRef } from 'react';\nimport { Flex } from '@chakra-ui/react';\nimport { TimeOption } from './timeOption.component';\n\ninterface ScrollContainerProps {\n options: string[];\n optionType: 'hour' | 'minute' | 'meridiem';\n selectedValue?: string;\n handleClick: (value: string) => void;\n isOpen: boolean;\n}\n\nexport const ScrollContainer = ({\n options,\n optionType,\n selectedValue,\n handleClick,\n isOpen = false,\n}: ScrollContainerProps): JSX.Element => {\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isOpen && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop = itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [isOpen]);\n\n return (\n <Flex\n direction=\"column\"\n gap={1}\n ref={containerRef}\n overflowY=\"auto\"\n data-testid={`${optionType}-scroll-container`}\n sx={{\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n }}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n isSelected={option === selectedValue}\n handleClick={handleClick}\n data-testid={option}\n />\n );\n })}\n </Flex>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { PlacementWithLogical, Box, Flex, useDisclosure } from '@chakra-ui/react';\nimport { Icon } from '../Icon/icon.component';\nimport { Popover } from '../Popover/popover.component';\nimport format from 'date-fns/format';\nimport { TextInput, TextInputProps } from '../TextInput/textInput.component';\nimport { ScrollContainer } from './components/scrollContainer.component';\nimport { Meridiem } from './timePicker.types';\nimport { useIconTextSizeMap } from 'shared/hooks/useIconTextSizeMap';\n\nexport interface TimePickerProps {\n initialTime?: Date;\n minuteInterval?: number;\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n placement?: PlacementWithLogical;\n onTimeChange?: (time: Date) => void;\n dataTestId?: string;\n}\n\nexport const TimePicker = ({\n initialTime,\n minuteInterval = 5,\n inputProps,\n placement,\n dataTestId = 'time-picker',\n onTimeChange,\n}: TimePickerProps): JSX.Element => {\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n // selectedTime should always be UTC\n const [selectedTime, setSelectedTime] = useState(initialTime);\n\n // convert to local time for display\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<string | undefined>();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return '';\n return format(selectedTime, 'h:mm aa');\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) => hour.toString());\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || '12';\n const _minute = minute || '00';\n const _meridiem = meridiem || 'AM';\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour('12');\n }\n if (!minute) {\n setSelectedMinute('00');\n }\n if (!meridiem) {\n setSelectedMeridiem('AM');\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n let adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM);\n }\n }, [initialTime]);\n\n return (\n <Popover\n isOpen={isOpen}\n onOpen={onOpen}\n onClose={onClose}\n placement={placement}\n contentProps={{ width: 'max-content' }}\n variant=\"default\"\n size=\"sm\"\n anchor={\n <Box w=\"100%\">\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Flex cursor={inputProps?.isDisabled ? 'not-allowed' : 'pointer'} h=\"100%\" align=\"center\">\n <Icon size={useIconTextSizeMap(inputProps?.size || 'md')} name=\"clock\" />\n </Flex>\n }\n value={formattedTime}\n isReadOnly\n data-testid={dataTestId}\n cursor={'pointer'}\n {...inputProps}\n />\n </Box>\n }\n >\n <Flex height=\"186px\" gap={1.5} overflow=\"hidden\">\n <ScrollContainer\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n handleClick={handleHourClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={selectedMinute ? formatNumber(selectedMinute) : undefined}\n handleClick={handleMinuteClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n handleClick={handleMeridiemClick}\n isOpen={isOpen}\n />\n </Flex>\n </Popover>\n );\n};\n"],"names":["TimeOption","value","innerRef","isSelected","handleClick","onClick","useCallback","event","selectedValue","currentTarget","textContent","React","createElement","Box","ref","background","color","fontSize","textAlign","px","py","borderRadius","cursor","_hover","ScrollContainer","options","optionType","isOpen","itemRef","useRef","containerRef","useEffect","current","scrollTop","_a","offsetTop","_b","Flex","direction","gap","overflowY","sx","display","map","option","key","initialTime","minuteInterval","inputProps","placement","dataTestId","onTimeChange","onOpen","onClose","useDisclosure","selectedTime","setSelectedTime","useState","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","toString","length","hourOptions","hour","minuteOptions","minutes","i","push","meridiemOptions","Meridiem","AM","PM","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","Number","hours","time","Date","setHours","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","getHours","getMinutes","Popover","contentProps","width","variant","size","anchor","w","TextInput","Object","assign","placeholder","rightElement","isDisabled","h","align","Icon","useIconTextSizeMap","name","isReadOnly","height","overflow","undefined"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("./timePicker.component-6265ee22.js"),r=require("./chakra-ui-layout.esm-0601b9a5.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=a(e);exports.TimeRange=({startTimePickerProps:e,endTimePickerProps:a,dashContainerProps:n})=>i.default.createElement(r.Flex,null,i.default.createElement(t.TimePicker,Object.assign({},e)),i.default.createElement(r.Box,Object.assign({alignSelf:"center",mx:1},n),"-"),i.default.createElement(t.TimePicker,Object.assign({},a)));
2
- //# sourceMappingURL=timeRange.component-a5b363c7.js.map
1
+ "use strict";var e=require("react"),t=require("./timePicker.component-56cd7991.js"),r=require("./chakra-ui-layout.esm-0601b9a5.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=a(e);exports.TimeRange=({startTimePickerProps:e,endTimePickerProps:a,dashContainerProps:c})=>i.default.createElement(r.Flex,null,i.default.createElement(t.TimePicker,Object.assign({},e)),i.default.createElement(r.Box,Object.assign({alignSelf:"center",mx:1},c),"-"),i.default.createElement(t.TimePicker,Object.assign({},a)));
2
+ //# sourceMappingURL=timeRange.component-577f3f68.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeRange.component-a5b363c7.js","sources":["../src/components/TimeRange/timeRange.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, BoxProps, Flex } from '@chakra-ui/react';\nimport { TimePicker, TimePickerProps } from '../TimePicker/timePicker.component';\n\nexport interface TimeRangeProps {\n startTimePickerProps: TimePickerProps;\n endTimePickerProps: TimePickerProps;\n dashContainerProps?: BoxProps;\n}\n\nexport const TimeRange = ({\n startTimePickerProps,\n endTimePickerProps,\n dashContainerProps,\n}: TimeRangeProps): JSX.Element => {\n return (\n <Flex>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1} {...dashContainerProps}>\n -\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["startTimePickerProps","endTimePickerProps","dashContainerProps","React","Flex","createElement","TimePicker","Object","assign","Box","alignSelf","mx"],"mappings":"yOAUyB,EACvBA,qBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,KAGEC,wBAACC,EAAAA,KAAI,KACHD,EAAC,QAAAE,cAAAC,aAAeC,OAAAC,OAAA,GAAAR,IAChBG,EAAAA,QAACE,cAAAI,EAAAA,IAAIF,OAAAC,OAAA,CAAAE,UAAU,SAASC,GAAI,GAAOT,GAE7B,KACNC,UAAAE,cAACC,EAAAA,WAAeC,OAAAC,OAAA,GAAAP"}
1
+ {"version":3,"file":"timeRange.component-577f3f68.js","sources":["../src/components/TimeRange/timeRange.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, BoxProps, Flex } from '@chakra-ui/react';\nimport { TimePicker, TimePickerProps } from '../TimePicker/timePicker.component';\n\nexport interface TimeRangeProps {\n startTimePickerProps: TimePickerProps;\n endTimePickerProps: TimePickerProps;\n dashContainerProps?: BoxProps;\n}\n\nexport const TimeRange = ({\n startTimePickerProps,\n endTimePickerProps,\n dashContainerProps,\n}: TimeRangeProps): JSX.Element => {\n return (\n <Flex>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1} {...dashContainerProps}>\n -\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["startTimePickerProps","endTimePickerProps","dashContainerProps","React","Flex","createElement","TimePicker","Object","assign","Box","alignSelf","mx"],"mappings":"yOAUyB,EACvBA,qBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,KAGEC,wBAACC,EAAAA,KAAI,KACHD,EAAC,QAAAE,cAAAC,aAAeC,OAAAC,OAAA,GAAAR,IAChBG,EAAAA,QAACE,cAAAI,EAAAA,IAAIF,OAAAC,OAAA,CAAAE,UAAU,SAASC,GAAI,GAAOT,GAE7B,KACNC,UAAAE,cAACC,EAAAA,WAAeC,OAAAC,OAAA,GAAAP"}
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("./tslib.es6-d6f17add.js"),e=require("react"),n=require("./chakra-ui-system.esm-434904f8.js"),o=require("./chakra-ui-theme.esm-23420bf9.js"),r=require("./chakra-ui-hooks.esm-20b27af2.js"),i=require("./alert.component-4d48d218.js"),s=require("./useTheme-ee73b181.js"),a=require("react-dom"),u=require("./index-8fecff45.js"),c=require("./index-5a9be08d.js"),l=require("./motion-7de675ca.js");function f(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var d=f(e);function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},p.apply(this,arguments)}var v=e.forwardRef((function(t,n){var o=t.as,r=void 0===o?"span":o,i=t.style,s=void 0===i?{}:i,a=function(t,e){if(null==t)return{};var n,o,r={},i=Object.keys(t);for(o=0;o<i.length;o++)n=i[o],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,["as","style"]);return e.createElement(r,p({ref:n,style:p({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},s)},a))}));("production"!==process.env.NODE_ENV&&(v.displayName="VisuallyHidden",v.propTypes={as:u.PropTypes.any,children:u.PropTypes.node}),process.env.NODE_ENV,"production"!==process.env.NODE_ENV)&&("undefined"!=typeof process?process:{env:{NODE_ENV:"development"}}).env;function m(t,e){if(null!=t)if(function(t){return!(!t||"[object Function]"!={}.toString.call(t))}(t))t(e);else try{t.current=e}catch(n){throw new Error('Cannot assign value "'+e+'" to ref "'+t+'"')}}function h(t){return e.forwardRef(t)}function y(t){return"undefined"!=typeof window&&window.document&&window.document.createElement?t?t.ownerDocument:document:null}function b(){return b=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},b.apply(this,arguments)}process.env.NODE_ENV,process.env.NODE_ENV,process.env.NODE_ENV;var g,E={polite:-1,assertive:-1},O={polite:{},assertive:{}},j={polite:null,assertive:null},T=h((function(t,n){var o=t.as,r=void 0===o?"div":o,i=t.children,s=t.type,a=void 0===s?"polite":s,u=function(t,e){if(null==t)return{};var n,o,r={},i=Object.keys(t);for(o=0;o<i.length;o++)n=i[o],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,["as","children","type"]),c=e.useRef(null),l=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e.useMemo((function(){return n.every((function(t){return null==t}))?null:function(t){n.forEach((function(e){m(e,t)}))}}),[].concat(n))}(n,c),f=e.useMemo((function(){return e.createElement(r,b({},u,{ref:l,"data-reach-alert":!0}),i)}),[i,u]);return function(t,n,o){var r=function(t){var n=e.useRef(null);return e.useEffect((function(){n.current=t}),[t]),n.current}(t),i=e.useRef(null),s=e.useRef(!1);e.useEffect((function(){var e=y(o.current);s.current?r!==t?(i.current&&i.current.unmount(),i.current=x(t,e),i.current.mount(n)):i.current&&i.current.update(n):(s.current=!0,i.current=x(t,e),i.current.mount(n))}),[n,t,r,o]),e.useEffect((function(){return function(){i.current&&i.current.unmount()}}),[])}(a,f,c),f}));function x(t,e){var n=++E[t];return{mount:function o(r){if(j[t])O[t][n]=r,w();else{var i=e.createElement("div");i.setAttribute("data-reach-live-"+t,"true"),j[t]=i,e.body.appendChild(j[t]),o(r)}},update:function(e){O[t][n]=e,w()},unmount:function(){delete O[t][n],w()}}}function w(){null!=g&&window.clearTimeout(g),g=window.setTimeout((function(){Object.keys(O).forEach((function(t){var n=t;j[n]&&a.render(e.createElement(v,{as:"div"},e.createElement("div",{role:"assertive"===n?"alert":"status","aria-live":n},Object.keys(O[n]).map((function(t){return e.cloneElement(O[n][t],{key:t,ref:null})})))),j[n])}))}),500)}function A(){return A=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},A.apply(this,arguments)}function _(t,e){return _=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},_(t,e)}function C(t,e){var n=N(t,e),o=n?t[n].findIndex((function(t){return t.id===e})):-1;return{position:n,index:o}}"production"!==process.env.NODE_ENV&&(T.displayName="Alert",T.propTypes={children:u.PropTypes.node,type:u.PropTypes.oneOf(["assertive","polite"])});var N=function(t,e){var n;return null==(n=Object.values(t).flat().find((function(t){return t.id===e})))?void 0:n.position};var k={initial:function(t){var e,n=t.position,o=["top","bottom"].includes(n)?"y":"x",r=["top-right","bottom-right"].includes(n)?1:-1;return"bottom"===n&&(r=1),(e={opacity:0})[o]=24*r,e},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},q=function(t){var e=t.id,o=t.message,i=t.onCloseComplete,s=t.onRequestRemove,a=t.requestClose,u=void 0!==a&&a,c=t.position,f=void 0===c?"bottom":c,p=t.duration,v=void 0===p?5e3:p,m=t.containerStyle,h=void 0===m?{}:m,y=d.useState(v),b=y[0],g=y[1],E=l.useIsPresent();r.useUpdateEffect((function(){E||null==i||i()}),[E]),r.useUpdateEffect((function(){g(v)}),[v]);var O=function(){E&&s()};d.useEffect((function(){E&&u&&s()}),[E,u,s]),r.useTimeout(O,b);var j=d.useMemo((function(){return function(t){var e="center";return t.includes("right")&&(e="flex-end"),t.includes("left")&&(e="flex-start"),{display:"flex",flexDirection:"column",alignItems:e}}(f)}),[f]);return d.createElement(l.motion.li,{layout:!0,className:"chakra-toast",variants:k,initial:"initial",animate:"animate",exit:"exit",onHoverStart:function(){return g(null)},onHoverEnd:function(){return g(v)},custom:{position:f},style:j},d.createElement(T,{className:"chakra-toast__inner",style:A({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:"0.5rem"},h)},n.isFunction(o)?o({id:e,onClose:O}):o))};n.__DEV__&&(q.displayName="Toast");var S=function(t){var e,o;function r(e){var n;(n=t.call(this,e)||this).state={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},n.notify=function(t,e){var o=n.createToast(t,e),r=o.position,i=o.id;return n.setState((function(t){var e,n=r.includes("top")?[o].concat(t[r]):[].concat(t[r],[o]);return A({},t,((e={})[r]=n,e))})),i},n.updateToast=function(t,e){n.setState((function(n){var o=A({},n),r=C(o,t),i=r.position,s=r.index;return i&&-1!==s&&(o[i][s]=A({},o[i][s],e)),o}))},n.closeAll=function(t){var e=(void 0===t?{}:t).positions;n.setState((function(t){return(null!=e?e:["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((function(e,n){return e[n]=t[n].map((function(t){return A({},t,{requestClose:!0})})),e}),{})}))},n.createToast=function(t,e){var o,i;r.counter+=1;var s=null!=(o=e.id)?o:r.counter,a=null!=(i=e.position)?i:"top";return{id:s,message:t,position:a,duration:e.duration,onCloseComplete:e.onCloseComplete,onRequestRemove:function(){return n.removeToast(String(s),a)},status:e.status,requestClose:!1,containerStyle:e.containerStyle}},n.closeToast=function(t){n.setState((function(e){var n,o=N(e,t);return o?A({},e,((n={})[o]=e[o].map((function(e){return e.id==t?A({},e,{requestClose:!0}):e})),n)):e}))},n.removeToast=function(t,e){n.setState((function(n){var o;return A({},n,((o={})[e]=n[e].filter((function(e){return e.id!=t})),o))}))},n.isVisible=function(t){var e=C(n.state,t).position;return Boolean(e)},n.getStyle=function(t){return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:"top"===t||"bottom"===t?"0 auto":void 0,top:t.includes("top")?"env(safe-area-inset-top, 0px)":void 0,bottom:t.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,right:t.includes("left")?void 0:"env(safe-area-inset-right, 0px)",left:t.includes("right")?void 0:"env(safe-area-inset-left, 0px)"}};var o={notify:n.notify,closeAll:n.closeAll,close:n.closeToast,update:n.updateToast,isActive:n.isVisible};return e.notify(o),n}return o=t,(e=r).prototype=Object.create(o.prototype),e.prototype.constructor=e,_(e,o),r.prototype.render=function(){var t=this;return n.objectKeys(this.state).map((function(e){var n=t.state[e];return d.createElement("ul",{key:e,id:"chakra-toast-manager-"+e,style:t.getStyle(e)},d.createElement(c.AnimatePresence,{initial:!1},n.map((function(t){return d.createElement(q,A({key:t.id},t))}))))}))},r}(d.Component);S.counter=0;var D=new function(){var t=this;if(this.createToast=void 0,this.removeAll=void 0,this.closeToast=void 0,this.updateToast=void 0,this.isToastActive=void 0,this.bindFunctions=function(e){t.createToast=e.notify,t.removeAll=e.closeAll,t.closeToast=e.close,t.updateToast=e.update,t.isToastActive=e.isActive},this.notify=function(e,n){return void 0===n&&(n={}),null==t.createToast?void 0:t.createToast(e,n)},this.close=function(e){null==t.closeToast||t.closeToast(e)},this.closeAll=function(e){null==t.removeAll||t.removeAll(e)},this.update=function(e,n){void 0===n&&(n={}),null==t.updateToast||t.updateToast(e,n)},this.isActive=function(e){return null==t.isToastActive?void 0:t.isToastActive(e)},n.isBrowser){var e,o=document.getElementById("chakra-toast-portal");if(o)e=o;else{var r,i=document.createElement("div");i.id="chakra-toast-portal",null==(r=document.body)||r.appendChild(i),e=i}a.render(d.createElement(S,{notify:this.bindFunctions}),e)}};function P(t,e){var n;if(!t)return;const o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[t];return null!==(n=null==o?void 0:o[e])&&void 0!==n?n:t}const V=e=>{const{position:n,duration:o,id:r,onCloseComplete:s,containerStyle:a}=e,u=t.__rest(e,["position","duration","id","onCloseComplete","containerStyle"]);return d.createElement(i.Alert,Object.assign({id:r,isToast:!0},u))},R={title:"",duration:5e3,position:"top"},M={theme:o.theme,colorMode:"dark",toggleColorMode:n.noop,setColorMode:n.noop,defaultOptions:R};exports.useToast=t=>{const e=s.useTheme(),o=r.useLatestRef(t);return(({theme:t=M.theme,defaultOptions:e=M.defaultOptions}=M)=>{const o=(e,o)=>d.createElement(n.ThemeProvider,{theme:t},d.createElement(V,Object.assign({},e,o))),r=n=>{const r=Object.assign(Object.assign({},e),n);return r.position=P(r.position,t.direction),D.notify((t=>o(t,r)),r)};return r.close=D.close,r.closeAll=D.closeAll,r.update=(n,r)=>{if(!n)return;const i=Object.assign(Object.assign({},e),r);i.position=P(i.position,t.direction),D.update(n,Object.assign(Object.assign({},i),{message:t=>o(t,i)}))},r.isActive=D.isActive,r})({theme:e,defaultOptions:Object.assign(Object.assign({},R),o.current)})};
2
- //# sourceMappingURL=useToast-6a6f0bf3.js.map
1
+ "use strict";var t=require("./tslib.es6-d6f17add.js"),e=require("react"),n=require("./chakra-ui-system.esm-434904f8.js"),o=require("./chakra-ui-theme.esm-23420bf9.js"),r=require("./chakra-ui-hooks.esm-20b27af2.js"),i=require("./alert.component-6b73cfd5.js"),s=require("./useTheme-ee73b181.js"),a=require("react-dom"),u=require("./index-8fecff45.js"),c=require("./index-5a9be08d.js"),l=require("./motion-7de675ca.js");function f(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var d=f(e);function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},p.apply(this,arguments)}var v=e.forwardRef((function(t,n){var o=t.as,r=void 0===o?"span":o,i=t.style,s=void 0===i?{}:i,a=function(t,e){if(null==t)return{};var n,o,r={},i=Object.keys(t);for(o=0;o<i.length;o++)n=i[o],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,["as","style"]);return e.createElement(r,p({ref:n,style:p({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},s)},a))}));("production"!==process.env.NODE_ENV&&(v.displayName="VisuallyHidden",v.propTypes={as:u.PropTypes.any,children:u.PropTypes.node}),process.env.NODE_ENV,"production"!==process.env.NODE_ENV)&&("undefined"!=typeof process?process:{env:{NODE_ENV:"development"}}).env;function m(t,e){if(null!=t)if(function(t){return!(!t||"[object Function]"!={}.toString.call(t))}(t))t(e);else try{t.current=e}catch(n){throw new Error('Cannot assign value "'+e+'" to ref "'+t+'"')}}function h(t){return e.forwardRef(t)}function y(t){return"undefined"!=typeof window&&window.document&&window.document.createElement?t?t.ownerDocument:document:null}function b(){return b=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},b.apply(this,arguments)}process.env.NODE_ENV,process.env.NODE_ENV,process.env.NODE_ENV;var g,E={polite:-1,assertive:-1},O={polite:{},assertive:{}},j={polite:null,assertive:null},T=h((function(t,n){var o=t.as,r=void 0===o?"div":o,i=t.children,s=t.type,a=void 0===s?"polite":s,u=function(t,e){if(null==t)return{};var n,o,r={},i=Object.keys(t);for(o=0;o<i.length;o++)n=i[o],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,["as","children","type"]),c=e.useRef(null),l=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e.useMemo((function(){return n.every((function(t){return null==t}))?null:function(t){n.forEach((function(e){m(e,t)}))}}),[].concat(n))}(n,c),f=e.useMemo((function(){return e.createElement(r,b({},u,{ref:l,"data-reach-alert":!0}),i)}),[i,u]);return function(t,n,o){var r=function(t){var n=e.useRef(null);return e.useEffect((function(){n.current=t}),[t]),n.current}(t),i=e.useRef(null),s=e.useRef(!1);e.useEffect((function(){var e=y(o.current);s.current?r!==t?(i.current&&i.current.unmount(),i.current=x(t,e),i.current.mount(n)):i.current&&i.current.update(n):(s.current=!0,i.current=x(t,e),i.current.mount(n))}),[n,t,r,o]),e.useEffect((function(){return function(){i.current&&i.current.unmount()}}),[])}(a,f,c),f}));function x(t,e){var n=++E[t];return{mount:function o(r){if(j[t])O[t][n]=r,w();else{var i=e.createElement("div");i.setAttribute("data-reach-live-"+t,"true"),j[t]=i,e.body.appendChild(j[t]),o(r)}},update:function(e){O[t][n]=e,w()},unmount:function(){delete O[t][n],w()}}}function w(){null!=g&&window.clearTimeout(g),g=window.setTimeout((function(){Object.keys(O).forEach((function(t){var n=t;j[n]&&a.render(e.createElement(v,{as:"div"},e.createElement("div",{role:"assertive"===n?"alert":"status","aria-live":n},Object.keys(O[n]).map((function(t){return e.cloneElement(O[n][t],{key:t,ref:null})})))),j[n])}))}),500)}function A(){return A=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},A.apply(this,arguments)}function _(t,e){return _=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},_(t,e)}function C(t,e){var n=N(t,e),o=n?t[n].findIndex((function(t){return t.id===e})):-1;return{position:n,index:o}}"production"!==process.env.NODE_ENV&&(T.displayName="Alert",T.propTypes={children:u.PropTypes.node,type:u.PropTypes.oneOf(["assertive","polite"])});var N=function(t,e){var n;return null==(n=Object.values(t).flat().find((function(t){return t.id===e})))?void 0:n.position};var k={initial:function(t){var e,n=t.position,o=["top","bottom"].includes(n)?"y":"x",r=["top-right","bottom-right"].includes(n)?1:-1;return"bottom"===n&&(r=1),(e={opacity:0})[o]=24*r,e},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},q=function(t){var e=t.id,o=t.message,i=t.onCloseComplete,s=t.onRequestRemove,a=t.requestClose,u=void 0!==a&&a,c=t.position,f=void 0===c?"bottom":c,p=t.duration,v=void 0===p?5e3:p,m=t.containerStyle,h=void 0===m?{}:m,y=d.useState(v),b=y[0],g=y[1],E=l.useIsPresent();r.useUpdateEffect((function(){E||null==i||i()}),[E]),r.useUpdateEffect((function(){g(v)}),[v]);var O=function(){E&&s()};d.useEffect((function(){E&&u&&s()}),[E,u,s]),r.useTimeout(O,b);var j=d.useMemo((function(){return function(t){var e="center";return t.includes("right")&&(e="flex-end"),t.includes("left")&&(e="flex-start"),{display:"flex",flexDirection:"column",alignItems:e}}(f)}),[f]);return d.createElement(l.motion.li,{layout:!0,className:"chakra-toast",variants:k,initial:"initial",animate:"animate",exit:"exit",onHoverStart:function(){return g(null)},onHoverEnd:function(){return g(v)},custom:{position:f},style:j},d.createElement(T,{className:"chakra-toast__inner",style:A({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:"0.5rem"},h)},n.isFunction(o)?o({id:e,onClose:O}):o))};n.__DEV__&&(q.displayName="Toast");var S=function(t){var e,o;function r(e){var n;(n=t.call(this,e)||this).state={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},n.notify=function(t,e){var o=n.createToast(t,e),r=o.position,i=o.id;return n.setState((function(t){var e,n=r.includes("top")?[o].concat(t[r]):[].concat(t[r],[o]);return A({},t,((e={})[r]=n,e))})),i},n.updateToast=function(t,e){n.setState((function(n){var o=A({},n),r=C(o,t),i=r.position,s=r.index;return i&&-1!==s&&(o[i][s]=A({},o[i][s],e)),o}))},n.closeAll=function(t){var e=(void 0===t?{}:t).positions;n.setState((function(t){return(null!=e?e:["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((function(e,n){return e[n]=t[n].map((function(t){return A({},t,{requestClose:!0})})),e}),{})}))},n.createToast=function(t,e){var o,i;r.counter+=1;var s=null!=(o=e.id)?o:r.counter,a=null!=(i=e.position)?i:"top";return{id:s,message:t,position:a,duration:e.duration,onCloseComplete:e.onCloseComplete,onRequestRemove:function(){return n.removeToast(String(s),a)},status:e.status,requestClose:!1,containerStyle:e.containerStyle}},n.closeToast=function(t){n.setState((function(e){var n,o=N(e,t);return o?A({},e,((n={})[o]=e[o].map((function(e){return e.id==t?A({},e,{requestClose:!0}):e})),n)):e}))},n.removeToast=function(t,e){n.setState((function(n){var o;return A({},n,((o={})[e]=n[e].filter((function(e){return e.id!=t})),o))}))},n.isVisible=function(t){var e=C(n.state,t).position;return Boolean(e)},n.getStyle=function(t){return{position:"fixed",zIndex:5500,pointerEvents:"none",display:"flex",flexDirection:"column",margin:"top"===t||"bottom"===t?"0 auto":void 0,top:t.includes("top")?"env(safe-area-inset-top, 0px)":void 0,bottom:t.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,right:t.includes("left")?void 0:"env(safe-area-inset-right, 0px)",left:t.includes("right")?void 0:"env(safe-area-inset-left, 0px)"}};var o={notify:n.notify,closeAll:n.closeAll,close:n.closeToast,update:n.updateToast,isActive:n.isVisible};return e.notify(o),n}return o=t,(e=r).prototype=Object.create(o.prototype),e.prototype.constructor=e,_(e,o),r.prototype.render=function(){var t=this;return n.objectKeys(this.state).map((function(e){var n=t.state[e];return d.createElement("ul",{key:e,id:"chakra-toast-manager-"+e,style:t.getStyle(e)},d.createElement(c.AnimatePresence,{initial:!1},n.map((function(t){return d.createElement(q,A({key:t.id},t))}))))}))},r}(d.Component);S.counter=0;var D=new function(){var t=this;if(this.createToast=void 0,this.removeAll=void 0,this.closeToast=void 0,this.updateToast=void 0,this.isToastActive=void 0,this.bindFunctions=function(e){t.createToast=e.notify,t.removeAll=e.closeAll,t.closeToast=e.close,t.updateToast=e.update,t.isToastActive=e.isActive},this.notify=function(e,n){return void 0===n&&(n={}),null==t.createToast?void 0:t.createToast(e,n)},this.close=function(e){null==t.closeToast||t.closeToast(e)},this.closeAll=function(e){null==t.removeAll||t.removeAll(e)},this.update=function(e,n){void 0===n&&(n={}),null==t.updateToast||t.updateToast(e,n)},this.isActive=function(e){return null==t.isToastActive?void 0:t.isToastActive(e)},n.isBrowser){var e,o=document.getElementById("chakra-toast-portal");if(o)e=o;else{var r,i=document.createElement("div");i.id="chakra-toast-portal",null==(r=document.body)||r.appendChild(i),e=i}a.render(d.createElement(S,{notify:this.bindFunctions}),e)}};function P(t,e){var n;if(!t)return;const o={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[t];return null!==(n=null==o?void 0:o[e])&&void 0!==n?n:t}const V=e=>{const{position:n,duration:o,id:r,onCloseComplete:s,containerStyle:a}=e,u=t.__rest(e,["position","duration","id","onCloseComplete","containerStyle"]);return d.createElement(i.Alert,Object.assign({id:r,isToast:!0},u))},R={title:"",duration:5e3,position:"top"},M={theme:o.theme,colorMode:"dark",toggleColorMode:n.noop,setColorMode:n.noop,defaultOptions:R};exports.useToast=t=>{const e=s.useTheme(),o=r.useLatestRef(t);return(({theme:t=M.theme,defaultOptions:e=M.defaultOptions}=M)=>{const o=(e,o)=>d.createElement(n.ThemeProvider,{theme:t},d.createElement(V,Object.assign({},e,o))),r=n=>{const r=Object.assign(Object.assign({},e),n);return r.position=P(r.position,t.direction),D.notify((t=>o(t,r)),r)};return r.close=D.close,r.closeAll=D.closeAll,r.update=(n,r)=>{if(!n)return;const i=Object.assign(Object.assign({},e),r);i.position=P(i.position,t.direction),D.update(n,Object.assign(Object.assign({},i),{message:t=>o(t,i)}))},r.isActive=D.isActive,r})({theme:e,defaultOptions:Object.assign(Object.assign({},R),o.current)})};
2
+ //# sourceMappingURL=useToast-12469c19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToast-6a6f0bf3.js","sources":["../node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js","../node_modules/warning/warning.js","../node_modules/@reach/utils/dist/reach-utils.esm.js","../node_modules/@reach/alert/dist/reach-alert.esm.js","../node_modules/@chakra-ui/toast/dist/chakra-ui-toast.esm.js","../src/components/Toast/toast.utils.ts","../src/components/Toast/useToast.tsx"],"sourcesContent":["import { forwardRef, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\n\nvar VisuallyHidden = /*#__PURE__*/forwardRef(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"span\" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"style\"]);\n\n return /*#__PURE__*/createElement(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n VisuallyHidden.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default VisuallyHidden;\nexport { VisuallyHidden };\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, isValidElement, cloneElement, createContext, forwardRef, memo, useRef, useState, useCallback, useMemo } from 'react';\nimport fbWarning from 'warning';\n\n/* eslint-disable no-restricted-globals, eqeqeq */\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * TODO: We are calling useLayoutEffect in a couple of places that will likely\n * cause some issues for SSR users, whether the warning shows or not. Audit and\n * fix these.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nvar checkedPkgs = {};\n/**\n * Copy of Facebook's warning package.\n *\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical paths.\n * Removing the logging code for production environments will keep the same\n * logic and follow the same code paths.\n *\n * @see https://github.com/BerkeleyTrue/warning/blob/master/warning.js\n */\n\nvar warning = fbWarning;\n/**\n * When in dev mode, checks that styles for a given @reach package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nvar checkStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n // In CJS files, process.env.NODE_ENV is stripped from our build, but we need\n // it to prevent style checks from clogging up user logs while testing.\n // This is a workaround until we can tweak the build a bit to accommodate.\n var _ref = typeof process !== \"undefined\" ? process : {\n env: {\n NODE_ENV: \"development\"\n }\n },\n env = _ref.env;\n\n checkStyles = function checkStyles(packageName) {\n // only check once per package\n if (checkedPkgs[packageName]) return;\n checkedPkgs[packageName] = true;\n\n if (env.NODE_ENV !== \"test\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n\\n import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n\\n Otherwise you'll need to include them some other way:\\n\\n <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"node_modules/@reach/\" + packageName + \"/styles.css\\\" />\\n\\n For more information visit https://ui.reach.tech/styling.\\n \");\n }\n };\n}\n/**\n * Ponyfill for the global object in some environments.\n *\n * @link https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\n\nvar ponyfillGlobal = typeof window != \"undefined\" && window.Math == Math ? window : typeof self != \"undefined\" && self.Math == Math ? self :\n/*#__PURE__*/\n// eslint-disable-next-line no-new-func\nFunction(\"return this\")();\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\n\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Checks true|\"true\" vs false|\"false\"\n *\n * @param value\n */\n\nfunction boolOrBoolString(value) {\n return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\nfunction canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\n\nfunction cloneValidElement(element, props) {\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(React, [element, props].concat(children)) : element;\n}\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}\n/**\n * This is a hack for sure. The thing is, getting a component to intelligently\n * infer props based on a component or JSX string passed into an `as` prop is\n * kind of a huge pain. Getting it to work and satisfy the constraints of\n * `forwardRef` seems dang near impossible. To avoid needing to do this awkward\n * type song-and-dance every time we want to forward a ref into a component\n * that accepts an `as` prop, we abstract all of that mess to this function for\n * the time time being.\n */\n\nfunction forwardRefWithAs(render) {\n return /*#__PURE__*/forwardRef(render);\n}\nfunction memoWithAs(Component, propsAreEqual) {\n return /*#__PURE__*/memo(Component, propsAreEqual);\n}\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n/**\n * Get the scoll position of the global window object relative to a given node.\n *\n * @param element\n */\n\nfunction getScrollPosition(element) {\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n scrollX: 0,\n scrollY: 0\n };\n }\n\n return {\n scrollX: ownerWindow.scrollX,\n scrollY: ownerWindow.scrollY\n };\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getElementComputedStyle(element, styleProp) {\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = (ownerDocument == null ? void 0 : ownerDocument.defaultView) || window;\n\n if (ownerWindow) {\n return ownerWindow.getComputedStyle(element, null).getPropertyValue(styleProp);\n }\n\n return null;\n}\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n/**\n * Get the scrollbar offset distance.\n *\n * TODO: Remove in 1.0 (we used this in public examples)\n */\n\nfunction getScrollbarOffset() {\n try {\n if (window.innerWidth > document.documentElement.clientWidth) {\n return window.innerWidth - document.documentElement.clientWidth;\n }\n } catch (err) {}\n\n return 0;\n}\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\n\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\n\nfunction isRightClick(nativeEvent) {\n return \"which\" in nativeEvent ? nativeEvent.which === 3 : \"button\" in nativeEvent ? nativeEvent.button === 2 : false;\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\n\nfunction makeId() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n/**\n * No-op function.\n */\n\nfunction noop() {}\n/**\n * Convert our state strings for HTML data attributes.\n * No need for a fancy kebab-caser here, we know what our state strings are!\n *\n * @param state\n */\n\nfunction stateToAttributeString(state) {\n return String(state).replace(/([\\s_]+)/g, \"-\").toLowerCase();\n}\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(controlledValue, defaultValue) {\n var controlledRef = useRef(controlledValue != null);\n\n var _React$useState = useState(defaultValue),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var set = useCallback(function (n) {\n if (!controlledRef.current) {\n setValue(n);\n }\n }, []);\n return [controlledRef.current ? controlledValue : valueState, set];\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nvar useControlledSwitchWarning = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useControlledSwitchWarning = function useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n var controlledRef = useRef(controlledValue != null);\n var nameCache = useRef({\n componentName: componentName,\n controlledPropName: controlledPropName\n });\n useEffect(function () {\n nameCache.current = {\n componentName: componentName,\n controlledPropName: controlledPropName\n };\n }, [componentName, controlledPropName]);\n useEffect(function () {\n var wasControlled = controlledRef.current;\n var _nameCache$current = nameCache.current,\n componentName = _nameCache$current.componentName,\n controlledPropName = _nameCache$current.controlledPropName;\n var isControlled = controlledValue != null;\n\n if (wasControlled !== isControlled) {\n console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\nMore info: https://fb.me/react-controlled-components\");\n }\n }, [controlledValue]);\n };\n}\nvar useCheckStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useCheckStyles = function useCheckStyles(pkg) {\n var name = useRef(pkg);\n useEffect(function () {\n return void (name.current = pkg);\n }, [pkg]);\n useEffect(function () {\n return checkStyles(name.current);\n }, []);\n };\n}\n/**\n * React hook for creating a value exactly once.\n * @see https://github.com/Andarist/use-constant\n */\n\nfunction useConstant(fn) {\n var ref = useRef();\n\n if (!ref.current) {\n ref.current = {\n v: fn()\n };\n }\n\n return ref.current.v;\n}\n/**\n * @param callback\n */\n\nfunction useEventCallback(callback) {\n var ref = useRef(callback);\n useIsomorphicLayoutEffect(function () {\n ref.current = callback;\n });\n return useCallback(function (event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return ref.current.apply(ref, [event].concat(args));\n }, []);\n}\nfunction useLazyRef(fn) {\n var ref = useRef({\n __internalSet: true\n });\n\n if (ref.current && ref.current.__internalSet === true) {\n ref.current = fn();\n }\n\n return ref;\n}\n/**\n * TODO: Remove in 1.0\n * @alias useStableCallback\n * @param callback\n */\n\nvar useCallbackProp = useStableCallback;\n/**\n * Adds a DOM event listener\n *\n * @param eventName\n * @param listener\n * @param element\n */\n\nfunction useEventListener(eventName, listener, element) {\n if (element === void 0) {\n element = window;\n }\n\n var savedHandler = useRef(listener);\n useEffect(function () {\n savedHandler.current = listener;\n }, [listener]);\n useEffect(function () {\n var isSupported = element && element.addEventListener;\n\n if (!isSupported) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"Event listener not supported on the element provided\");\n }\n\n return;\n }\n\n function eventListener(event) {\n savedHandler.current(event);\n }\n\n element.addEventListener(eventName, eventListener);\n return function () {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n/**\n * Detect when focus changes in our document.\n *\n * @param handleChange\n * @param when\n * @param ownerDocument\n */\n\nfunction useFocusChange(handleChange, when, ownerDocument) {\n if (handleChange === void 0) {\n handleChange = console.log;\n }\n\n if (when === void 0) {\n when = \"focus\";\n }\n\n if (ownerDocument === void 0) {\n ownerDocument = document;\n }\n\n var lastActiveElement = useRef(ownerDocument.activeElement);\n useEffect(function () {\n lastActiveElement.current = ownerDocument.activeElement;\n\n function onChange(event) {\n if (lastActiveElement.current !== ownerDocument.activeElement) {\n handleChange(ownerDocument.activeElement, lastActiveElement.current, event);\n lastActiveElement.current = ownerDocument.activeElement;\n }\n }\n\n ownerDocument.addEventListener(when, onChange, true);\n return function () {\n ownerDocument.removeEventListener(when, onChange);\n };\n }, [when, handleChange, ownerDocument]);\n}\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _React$useState2 = useState(Object.create(null)),\n dispatch = _React$useState2[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useForkedRef() {\n for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n refs[_key4] = arguments[_key4];\n }\n\n return useMemo(function () {\n if (refs.every(function (ref) {\n return ref == null;\n })) {\n return null;\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n assignRef(ref, node);\n });\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [].concat(refs));\n}\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\n\nfunction usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\n\nfunction useStableCallback(callback) {\n var callbackRef = useRef(callback);\n useEffect(function () {\n callbackRef.current = callback;\n }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n return useCallback(function () {\n callbackRef.current && callbackRef.current.apply(callbackRef, arguments);\n }, []);\n}\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\n\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n effect();\n } else {\n mounted.current = true;\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, deps);\n}\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nvar useStateLogger = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useStateLogger = function useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n var debugRef = useRef(DEBUG);\n useEffect(function () {\n debugRef.current = DEBUG;\n }, [DEBUG]);\n useEffect(function () {\n if (debugRef.current) {\n console.group(\"State Updated\");\n console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n console.groupEnd();\n }\n }, [state]);\n };\n}\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\n\nfunction wrapEvent(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n} // Export types\n\nexport { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, memoWithAs, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForceUpdate, useForkedRef, useIsomorphicLayoutEffect, useLazyRef, usePrevious, useStableCallback, useStateLogger, useUpdateEffect, warning, wrapEvent };\n","import { useRef, useMemo, createElement, useEffect, cloneElement } from 'react';\nimport { render } from 'react-dom';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { forwardRefWithAs, useForkedRef, usePrevious, getOwnerDocument } from '@reach/utils';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/*\n * Singleton state is fine because you don't server render\n * an alert (SRs don't read them on first load anyway)\n */\n\nvar keys = {\n polite: -1,\n assertive: -1\n};\nvar elements = {\n polite: {},\n assertive: {}\n};\nvar liveRegions = {\n polite: null,\n assertive: null\n};\nvar renderTimer; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Alert\n *\n * Screen-reader-friendly alert messages. In many apps developers add \"alert\"\n * messages when network events or other things happen. Users with assistive\n * technologies may not know about the message unless you develop for it.\n *\n * @see Docs https://reach.tech/alert\n */\n\nvar Alert = /*#__PURE__*/forwardRefWithAs(function Alert(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n _ref$type = _ref.type,\n regionType = _ref$type === void 0 ? \"polite\" : _ref$type,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"children\", \"type\"]);\n\n var ownRef = useRef(null);\n var ref = useForkedRef(forwardedRef, ownRef);\n var child = useMemo(function () {\n return /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-alert\": true\n }), children);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, props]);\n useMirrorEffects(regionType, child, ownRef);\n return child;\n});\n/**\n * @see Docs https://reach.tech/alert#alert-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Alert.displayName = \"Alert\";\n Alert.propTypes = {\n children: PropTypes.node,\n type: /*#__PURE__*/PropTypes.oneOf([\"assertive\", \"polite\"])\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction createMirror(type, doc) {\n var key = ++keys[type];\n\n var mount = function mount(element) {\n if (liveRegions[type]) {\n elements[type][key] = element;\n renderAlerts();\n } else {\n var node = doc.createElement(\"div\");\n node.setAttribute(\"data-reach-live-\" + type, \"true\");\n liveRegions[type] = node;\n doc.body.appendChild(liveRegions[type]);\n mount(element);\n }\n };\n\n var update = function update(element) {\n elements[type][key] = element;\n renderAlerts();\n };\n\n var unmount = function unmount() {\n delete elements[type][key];\n renderAlerts();\n };\n\n return {\n mount: mount,\n update: update,\n unmount: unmount\n };\n}\n\nfunction renderAlerts() {\n if (renderTimer != null) {\n window.clearTimeout(renderTimer);\n }\n\n renderTimer = window.setTimeout(function () {\n Object.keys(elements).forEach(function (elementType) {\n var regionType = elementType;\n var container = liveRegions[regionType];\n\n if (container) {\n render( /*#__PURE__*/createElement(VisuallyHidden, {\n as: \"div\"\n }, /*#__PURE__*/createElement(\"div\", {\n // The status role is a type of live region and a container whose\n // content is advisory information for the user that is not\n // important enough to justify an alert, and is often presented as\n // a status bar. When the role is added to an element, the browser\n // will send out an accessible status event to assistive\n // technology products which can then notify the user about it.\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_status_role\n role: regionType === \"assertive\" ? \"alert\" : \"status\",\n \"aria-live\": regionType\n }, Object.keys(elements[regionType]).map(function (key) {\n return /*#__PURE__*/cloneElement(elements[regionType][key], {\n key: key,\n ref: null\n });\n }))), liveRegions[regionType]);\n }\n });\n }, 500);\n}\n\nfunction useMirrorEffects(regionType, element, ref) {\n var prevType = usePrevious(regionType);\n var mirror = useRef(null);\n var mounted = useRef(false);\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ref.current);\n\n if (!mounted.current) {\n mounted.current = true;\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else if (prevType !== regionType) {\n mirror.current && mirror.current.unmount();\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else {\n mirror.current && mirror.current.update(element);\n }\n }, [element, regionType, prevType, ref]);\n useEffect(function () {\n return function () {\n mirror.current && mirror.current.unmount();\n };\n }, []);\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Alert;\nexport { Alert };\n","import { Alert, AlertIcon, AlertTitle, AlertDescription } from '@chakra-ui/alert';\nimport { CloseButton } from '@chakra-ui/close-button';\nimport { useChakra, ThemeProvider, ColorModeContext, chakra } from '@chakra-ui/system';\nimport defaultTheme from '@chakra-ui/theme';\nimport { isFunction, __DEV__, objectKeys, isBrowser, noop } from '@chakra-ui/utils';\nimport { useUpdateEffect, useTimeout, useLatestRef } from '@chakra-ui/hooks';\nimport * as React from 'react';\nimport { render } from 'react-dom';\nimport { useIsPresent, motion, AnimatePresence } from 'framer-motion';\nimport ReachAlert from '@reach/alert';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\n\n/**\n * Given an array of toasts for a specific position.\n * It returns the toast that matches the `id` passed\n */\n/**\n * Given the toast manager state, finds the toast that matches\n * the id and return its position and index\n */\n\nfunction findToast(toasts, id) {\n var position = getToastPosition(toasts, id);\n var index = position ? toasts[position].findIndex(function (toast) {\n return toast.id === id;\n }) : -1;\n return {\n position: position,\n index: index\n };\n}\n/**\n * Given the toast manager state, finds the position of the toast that\n * matches the `id`\n */\n\nvar getToastPosition = function getToastPosition(toasts, id) {\n var _Object$values$flat$f;\n\n return (_Object$values$flat$f = Object.values(toasts).flat().find(function (toast) {\n return toast.id === id;\n })) == null ? void 0 : _Object$values$flat$f.position;\n};\n/**\n * Gets the styles to be applied to a toast's container\n * based on its position in the manager\n */\n\nfunction getToastStyle(position) {\n var isRighty = position.includes(\"right\");\n var isLefty = position.includes(\"left\");\n var alignItems = \"center\";\n if (isRighty) alignItems = \"flex-end\";\n if (isLefty) alignItems = \"flex-start\";\n return {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: alignItems\n };\n}\n\n/**\n * @todo After Gerrit refactors this implementation,\n * allow users to change the toast transition direction from\n * a `ToastProvider` component.\n *\n * Here's an API example:\n *\n * ```jsx\n * <ToastProvider\n * motion={customVariants}\n * component={CustomToastComponent}\n * autoCloseTimeout={3000}\n * toastSpacing={32} // this will control the `margin` value applied\n * >\n * </ToastProvider>\n * ```\n */\n\nvar toastMotionVariants = {\n initial: function initial(props) {\n var _ref;\n\n var position = props.position;\n var dir = [\"top\", \"bottom\"].includes(position) ? \"y\" : \"x\";\n var factor = [\"top-right\", \"bottom-right\"].includes(position) ? 1 : -1;\n if (position === \"bottom\") factor = 1;\n return _ref = {\n opacity: 0\n }, _ref[dir] = factor * 24, _ref;\n },\n animate: {\n opacity: 1,\n y: 0,\n x: 0,\n scale: 1,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 0.2, 1]\n }\n },\n exit: {\n opacity: 0,\n scale: 0.85,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 1, 1]\n }\n }\n};\nvar Toast$1 = function Toast(props) {\n var id = props.id,\n message = props.message,\n onCloseComplete = props.onCloseComplete,\n onRequestRemove = props.onRequestRemove,\n _props$requestClose = props.requestClose,\n requestClose = _props$requestClose === void 0 ? false : _props$requestClose,\n _props$position = props.position,\n position = _props$position === void 0 ? \"bottom\" : _props$position,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 5000 : _props$duration,\n _props$containerStyle = props.containerStyle,\n containerStyle = _props$containerStyle === void 0 ? {} : _props$containerStyle;\n\n var _React$useState = React.useState(duration),\n delay = _React$useState[0],\n setDelay = _React$useState[1];\n\n var isPresent = useIsPresent();\n useUpdateEffect(function () {\n if (!isPresent) {\n onCloseComplete == null ? void 0 : onCloseComplete();\n }\n }, [isPresent]);\n useUpdateEffect(function () {\n setDelay(duration);\n }, [duration]);\n\n var onMouseEnter = function onMouseEnter() {\n return setDelay(null);\n };\n\n var onMouseLeave = function onMouseLeave() {\n return setDelay(duration);\n };\n\n var close = function close() {\n if (isPresent) onRequestRemove();\n };\n\n React.useEffect(function () {\n if (isPresent && requestClose) {\n onRequestRemove();\n }\n }, [isPresent, requestClose, onRequestRemove]);\n useTimeout(close, delay);\n var style = React.useMemo(function () {\n return getToastStyle(position);\n }, [position]);\n return /*#__PURE__*/React.createElement(motion.li, {\n layout: true,\n className: \"chakra-toast\",\n variants: toastMotionVariants,\n initial: \"initial\",\n animate: \"animate\",\n exit: \"exit\",\n onHoverStart: onMouseEnter,\n onHoverEnd: onMouseLeave,\n custom: {\n position: position\n },\n style: style\n }, /*#__PURE__*/React.createElement(ReachAlert, {\n className: \"chakra-toast__inner\",\n style: _extends({\n pointerEvents: \"auto\",\n maxWidth: 560,\n minWidth: 300,\n margin: \"0.5rem\"\n }, containerStyle)\n }, isFunction(message) ? message({\n id: id,\n onClose: close\n }) : message));\n};\n\nif (__DEV__) {\n Toast$1.displayName = \"Toast\";\n}\n\n/**\n * Manages the creation, and removal of toasts\n * across all corners (\"top\", \"bottom\", etc.)\n */\nvar ToastManager = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ToastManager, _React$Component);\n\n /**\n * Static id counter to create unique ids\n * for each toast\n */\n\n /**\n * State to track all the toast across all positions\n */\n function ToastManager(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n top: [],\n \"top-left\": [],\n \"top-right\": [],\n \"bottom-left\": [],\n bottom: [],\n \"bottom-right\": []\n };\n\n _this.notify = function (message, options) {\n var toast = _this.createToast(message, options);\n\n var position = toast.position,\n id = toast.id;\n\n _this.setState(function (prevToasts) {\n var _extends2;\n\n var isTop = position.includes(\"top\");\n /**\n * - If the toast is positioned at the top edges, the\n * recent toast stacks on top of the other toasts.\n *\n * - If the toast is positioned at the bottom edges, the recent\n * toast stacks below the other toasts.\n */\n\n var toasts = isTop ? [toast].concat(prevToasts[position]) : [].concat(prevToasts[position], [toast]);\n return _extends({}, prevToasts, (_extends2 = {}, _extends2[position] = toasts, _extends2));\n });\n\n return id;\n };\n\n _this.updateToast = function (id, options) {\n _this.setState(function (prevState) {\n var nextState = _extends({}, prevState);\n\n var _findToast = findToast(nextState, id),\n position = _findToast.position,\n index = _findToast.index;\n\n if (position && index !== -1) {\n nextState[position][index] = _extends({}, nextState[position][index], options);\n }\n\n return nextState;\n });\n };\n\n _this.closeAll = function (_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n positions = _ref.positions;\n\n // only one setState here for perf reasons\n // instead of spamming this.closeToast\n _this.setState(function (prev) {\n var allPositions = [\"bottom\", \"bottom-right\", \"bottom-left\", \"top\", \"top-left\", \"top-right\"];\n var positionsToClose = positions != null ? positions : allPositions;\n return positionsToClose.reduce(function (acc, position) {\n acc[position] = prev[position].map(function (toast) {\n return _extends({}, toast, {\n requestClose: true\n });\n });\n return acc;\n }, {});\n });\n };\n\n _this.createToast = function (message, options) {\n var _options$id, _options$position;\n\n ToastManager.counter += 1;\n var id = (_options$id = options.id) != null ? _options$id : ToastManager.counter;\n var position = (_options$position = options.position) != null ? _options$position : \"top\";\n return {\n id: id,\n message: message,\n position: position,\n duration: options.duration,\n onCloseComplete: options.onCloseComplete,\n onRequestRemove: function onRequestRemove() {\n return _this.removeToast(String(id), position);\n },\n status: options.status,\n requestClose: false,\n containerStyle: options.containerStyle\n };\n };\n\n _this.closeToast = function (id) {\n _this.setState(function (prevState) {\n var _extends3;\n\n var position = getToastPosition(prevState, id);\n if (!position) return prevState;\n return _extends({}, prevState, (_extends3 = {}, _extends3[position] = prevState[position].map(function (toast) {\n // id may be string or number\n // eslint-disable-next-line eqeqeq\n if (toast.id == id) {\n return _extends({}, toast, {\n requestClose: true\n });\n }\n\n return toast;\n }), _extends3));\n });\n };\n\n _this.removeToast = function (id, position) {\n _this.setState(function (prevState) {\n var _extends4;\n\n return _extends({}, prevState, (_extends4 = {}, _extends4[position] = prevState[position].filter(function (toast) {\n return toast.id != id;\n }), _extends4));\n });\n };\n\n _this.isVisible = function (id) {\n var _findToast2 = findToast(_this.state, id),\n position = _findToast2.position;\n\n return Boolean(position);\n };\n\n _this.getStyle = function (position) {\n var isTopOrBottom = position === \"top\" || position === \"bottom\";\n var margin = isTopOrBottom ? \"0 auto\" : undefined;\n var top = position.includes(\"top\") ? \"env(safe-area-inset-top, 0px)\" : undefined;\n var bottom = position.includes(\"bottom\") ? \"env(safe-area-inset-bottom, 0px)\" : undefined;\n var right = !position.includes(\"left\") ? \"env(safe-area-inset-right, 0px)\" : undefined;\n var left = !position.includes(\"right\") ? \"env(safe-area-inset-left, 0px)\" : undefined;\n return {\n position: \"fixed\",\n zIndex: 5500,\n pointerEvents: \"none\",\n display: \"flex\",\n flexDirection: \"column\",\n margin: margin,\n top: top,\n bottom: bottom,\n right: right,\n left: left\n };\n };\n\n var methods = {\n notify: _this.notify,\n closeAll: _this.closeAll,\n close: _this.closeToast,\n update: _this.updateToast,\n isActive: _this.isVisible\n };\n props.notify(methods);\n return _this;\n }\n /**\n * Function to actually create a toast and add it\n * to state at the specified position\n */\n\n\n var _proto = ToastManager.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n return objectKeys(this.state).map(function (position) {\n var toasts = _this2.state[position];\n return /*#__PURE__*/React.createElement(\"ul\", {\n key: position,\n id: \"chakra-toast-manager-\" + position,\n style: _this2.getStyle(position)\n }, /*#__PURE__*/React.createElement(AnimatePresence, {\n initial: false\n }, toasts.map(function (toast) {\n return /*#__PURE__*/React.createElement(Toast$1, _extends({\n key: toast.id\n }, toast));\n })));\n });\n };\n\n return ToastManager;\n}(React.Component);\nToastManager.counter = 0;\n\nvar portalId = \"chakra-toast-portal\";\n\nvar Toaster =\n/**\n * Initialize the manager and mount it in the DOM\n * inside the portal node.\n *\n * @todo\n *\n * Update toast constructor to use `PortalManager`'s node or document.body.\n * Once done, we can remove the `zIndex` in `toast.manager.tsx`\n */\nfunction Toaster() {\n var _this = this;\n\n this.createToast = void 0;\n this.removeAll = void 0;\n this.closeToast = void 0;\n this.updateToast = void 0;\n this.isToastActive = void 0;\n\n this.bindFunctions = function (methods) {\n _this.createToast = methods.notify;\n _this.removeAll = methods.closeAll;\n _this.closeToast = methods.close;\n _this.updateToast = methods.update;\n _this.isToastActive = methods.isActive;\n };\n\n this.notify = function (message, options) {\n if (options === void 0) {\n options = {};\n }\n\n return _this.createToast == null ? void 0 : _this.createToast(message, options);\n };\n\n this.close = function (id) {\n _this.closeToast == null ? void 0 : _this.closeToast(id);\n };\n\n this.closeAll = function (options) {\n _this.removeAll == null ? void 0 : _this.removeAll(options);\n };\n\n this.update = function (id, options) {\n if (options === void 0) {\n options = {};\n }\n\n _this.updateToast == null ? void 0 : _this.updateToast(id, options);\n };\n\n this.isActive = function (id) {\n return _this.isToastActive == null ? void 0 : _this.isToastActive(id);\n };\n\n if (!isBrowser) return;\n var portal;\n var existingPortal = document.getElementById(portalId);\n\n if (existingPortal) {\n portal = existingPortal;\n } else {\n var _document$body;\n\n var div = document.createElement(\"div\");\n div.id = portalId;\n (_document$body = document.body) == null ? void 0 : _document$body.appendChild(div);\n portal = div;\n }\n\n render( /*#__PURE__*/React.createElement(ToastManager, {\n notify: this.bindFunctions\n }), portal);\n};\n\nvar toast = new Toaster();\n\nfunction getToastPlacement(position, dir) {\n var _logical$dir;\n\n if (!position) return;\n var logicals = {\n \"top-start\": {\n ltr: \"top-left\",\n rtl: \"top-right\"\n },\n \"top-end\": {\n ltr: \"top-right\",\n rtl: \"top-left\"\n },\n \"bottom-start\": {\n ltr: \"bottom-left\",\n rtl: \"bottom-right\"\n },\n \"bottom-end\": {\n ltr: \"bottom-right\",\n rtl: \"bottom-left\"\n }\n };\n var logical = logicals[position];\n return (_logical$dir = logical == null ? void 0 : logical[dir]) != null ? _logical$dir : position;\n}\n\nvar Toast = function Toast(props) {\n var status = props.status,\n variant = props.variant,\n id = props.id,\n title = props.title,\n isClosable = props.isClosable,\n onClose = props.onClose,\n description = props.description;\n var alertTitleId = typeof id !== \"undefined\" ? \"toast-\" + id + \"-title\" : undefined;\n return /*#__PURE__*/React.createElement(Alert, {\n status: status,\n variant: variant,\n id: id,\n alignItems: \"start\",\n borderRadius: \"md\",\n boxShadow: \"lg\",\n paddingEnd: 8,\n textAlign: \"start\",\n width: \"auto\",\n \"aria-labelledby\": alertTitleId\n }, /*#__PURE__*/React.createElement(AlertIcon, null), /*#__PURE__*/React.createElement(chakra.div, {\n flex: \"1\",\n maxWidth: \"100%\"\n }, title && /*#__PURE__*/React.createElement(AlertTitle, {\n id: alertTitleId\n }, title), description && /*#__PURE__*/React.createElement(AlertDescription, {\n display: \"block\"\n }, description)), isClosable && /*#__PURE__*/React.createElement(CloseButton, {\n size: \"sm\",\n onClick: onClose,\n position: \"absolute\",\n insetEnd: 1,\n top: 1\n }));\n};\n\nvar defaults = {\n duration: 5000,\n position: \"bottom\",\n variant: \"solid\"\n};\nvar defaultStandaloneParam = {\n theme: defaultTheme,\n colorMode: \"light\",\n toggleColorMode: noop,\n setColorMode: noop,\n defaultOptions: defaults\n};\n/**\n * Create a toast from outside of React Components\n */\n\nfunction createStandaloneToast(_temp) {\n var _ref = _temp === void 0 ? defaultStandaloneParam : _temp,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? defaultStandaloneParam.theme : _ref$theme,\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? defaultStandaloneParam.colorMode : _ref$colorMode,\n _ref$toggleColorMode = _ref.toggleColorMode,\n toggleColorMode = _ref$toggleColorMode === void 0 ? defaultStandaloneParam.toggleColorMode : _ref$toggleColorMode,\n _ref$setColorMode = _ref.setColorMode,\n setColorMode = _ref$setColorMode === void 0 ? defaultStandaloneParam.setColorMode : _ref$setColorMode,\n _ref$defaultOptions = _ref.defaultOptions,\n defaultOptions = _ref$defaultOptions === void 0 ? defaultStandaloneParam.defaultOptions : _ref$defaultOptions;\n\n var renderWithProviders = function renderWithProviders(props, options) {\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: theme\n }, /*#__PURE__*/React.createElement(ColorModeContext.Provider, {\n value: {\n colorMode: colorMode,\n setColorMode: setColorMode,\n toggleColorMode: toggleColorMode\n }\n }, isFunction(options.render) ? options.render(props) : /*#__PURE__*/React.createElement(Toast, _extends({}, props, options))));\n };\n\n var toastImpl = function toastImpl(options) {\n var opts = _extends({}, defaultOptions, options);\n\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n var Message = function Message(props) {\n return renderWithProviders(props, opts);\n };\n\n return toast.notify(Message, opts);\n };\n\n toastImpl.close = toast.close;\n toastImpl.closeAll = toast.closeAll; // toasts can only be updated if they have a valid id\n\n toastImpl.update = function (id, options) {\n if (!id) return;\n\n var opts = _extends({}, defaultOptions, options);\n\n opts.position = getToastPlacement(opts.position, theme.direction);\n toast.update(id, _extends({}, opts, {\n message: function message(props) {\n return renderWithProviders(props, opts);\n }\n }));\n };\n\n toastImpl.isActive = toast.isActive;\n return toastImpl;\n}\n/**\n * React hook used to create a function that can be used\n * to show toasts in an application.\n */\n\nfunction useToast(options) {\n var _useChakra = useChakra(),\n theme = _useChakra.theme,\n setColorMode = _useChakra.setColorMode,\n toggleColorMode = _useChakra.toggleColorMode,\n colorMode = _useChakra.colorMode;\n\n var toastOptions = useLatestRef(options);\n return React.useMemo(function () {\n return createStandaloneToast({\n theme: theme,\n colorMode: colorMode,\n setColorMode: setColorMode,\n toggleColorMode: toggleColorMode,\n defaultOptions: _extends({}, defaults, toastOptions.current)\n });\n }, [theme, setColorMode, toggleColorMode, colorMode, toastOptions]);\n}\n\nexport { createStandaloneToast, defaultStandaloneParam, toast, useToast };\n","import { LogicalPlacementMap, ToastPosition, ToastPositionWithLogical } from './toast.types';\n\nexport function getToastPlacement(\n position: ToastPositionWithLogical | undefined,\n dir: 'ltr' | 'rtl',\n): ToastPosition | undefined {\n if (!position) return;\n const logicals: LogicalPlacementMap = {\n 'top-start': { ltr: 'top-left', rtl: 'top-right' },\n 'top-end': { ltr: 'top-right', rtl: 'top-left' },\n 'bottom-start': { ltr: 'bottom-left', rtl: 'bottom-right' },\n 'bottom-end': { ltr: 'bottom-right', rtl: 'bottom-left' },\n };\n\n const logical = logicals[position as keyof typeof logicals];\n return logical?.[dir] ?? position;\n}\n","import * as React from 'react';\nimport { ColorMode, ThemeProvider, useChakra } from '@chakra-ui/system';\nimport defaultTheme from '@chakra-ui/theme';\nimport { noop } from '@chakra-ui/utils';\nimport { useLatestRef } from '@chakra-ui/hooks';\nimport { CloseAllToastsOptions, RenderProps, toast, ToastOptions, ToastPositionWithLogical } from '@chakra-ui/react';\nimport { ToastId } from '@chakra-ui/toast/dist/declarations/src/toast.types';\nimport { getToastPlacement } from './toast.utils';\nimport { Alert, AlertProps } from '../Alert/alert.component';\nimport { WithoutLogicalPosition } from './toast.types';\nimport { useTheme } from 'shared/hooks/useTheme';\n\ninterface Toaster {\n (options?: UseToastOptions | undefined): string | number | undefined;\n close: (id: React.ReactText) => void;\n closeAll: (options?: CloseAllToastsOptions | undefined) => void;\n update(id: ToastId, options: Omit<UseToastOptions, 'id'>): void;\n isActive: (id: React.ReactText) => boolean | undefined;\n}\n\nexport interface UseToastOptions extends Omit<AlertProps, 'id' | 'position'> {\n /**\n * The placement of the toast\n *\n * @default \"top\"\n */\n position?: ToastPositionWithLogical;\n /**\n * The delay before the toast hides (in milliseconds)\n * If set to `null`, toast will never dismiss.\n *\n * @default 5000 ( = 5000ms )\n */\n duration?: ToastOptions['duration'];\n /**\n * The `id` of the toast.\n *\n * Mostly used when you need to prevent duplicate.\n * By default, we generate a unique `id` for each toast\n */\n id?: ToastId;\n /**\n * Callback function to run side effects after the toast has closed.\n */\n onCloseComplete?: () => void;\n /**\n * Optional style overrides for the container wrapping the toast component.\n */\n containerStyle?: React.CSSProperties;\n}\n\ntype UseToastOptionsNormalized = WithoutLogicalPosition<UseToastOptions>;\n\nconst Toast: React.FC<UseToastOptions> = (props) => {\n const { position, duration, id, onCloseComplete, containerStyle, ...rest } = props;\n\n return <Alert id={id as string | undefined} isToast {...rest} />;\n};\n\nconst defaults: UseToastOptions = {\n title: '',\n duration: 5000,\n position: 'top',\n};\n\ntype CreateStandAloneToastParam = Partial<\n ReturnType<typeof useChakra> & {\n setColorMode: (value: ColorMode) => void;\n defaultOptions: UseToastOptions;\n }\n>;\n\nconst defaultStandaloneParam: Required<CreateStandAloneToastParam> = {\n theme: defaultTheme,\n colorMode: 'dark',\n toggleColorMode: noop,\n setColorMode: noop,\n defaultOptions: defaults,\n};\n/**\n * Create a toast from outside of React Components\n */\nconst createStandaloneToast = ({\n theme = defaultStandaloneParam.theme,\n defaultOptions = defaultStandaloneParam.defaultOptions,\n}: CreateStandAloneToastParam = defaultStandaloneParam): Toaster => {\n const renderWithProviders = (\n props: React.PropsWithChildren<RenderProps>,\n options: UseToastOptionsNormalized,\n ): JSX.Element => (\n <ThemeProvider theme={theme}>\n <Toast {...props} {...options} />\n </ThemeProvider>\n );\n\n const toastImpl = (options?: UseToastOptions): ToastId | undefined => {\n const opts = { ...defaultOptions, ...options } as UseToastOptionsNormalized;\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n const Message: React.FC<RenderProps> = (props) => renderWithProviders(props, opts);\n\n return toast.notify(Message, opts);\n };\n\n toastImpl.close = toast.close;\n toastImpl.closeAll = toast.closeAll;\n\n // toasts can only be updated if they have a valid id\n toastImpl.update = (id: ToastId, options: Omit<UseToastOptions, 'id'>): void => {\n if (!id) return;\n\n const opts = { ...defaultOptions, ...options } as UseToastOptionsNormalized;\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n toast.update(id, {\n ...opts,\n message: (props) => renderWithProviders(props, opts),\n });\n };\n\n toastImpl.isActive = toast.isActive;\n\n return toastImpl;\n};\n\n/**\n * React hook used to create a function that can be used\n * to show toasts in an application.\n */\n\nexport const useToast = (options?: UseToastOptions): Toaster => {\n const theme = useTheme();\n const toastOptions = useLatestRef(options);\n const defaultOptions = { ...defaults, ...toastOptions.current };\n return createStandaloneToast({ theme, defaultOptions });\n};\n"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","VisuallyHidden","forwardRef","_ref","ref","_ref$as","as","Comp","_ref$style","style","props","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","createElement","border","clip","height","margin","overflow","padding","position","width","whiteSpace","wordWrap","process","env","NODE_ENV","displayName","propTypes","PropTypes","any","children","node","assignRef","value","toString","isFunction","current","error","Error","forwardRefWithAs","render","getOwnerDocument","element","window","document","ownerDocument","renderTimer","polite","assertive","elements","liveRegions","Alert","forwardedRef","_ref$type","type","regionType","ownRef","useRef","_len4","refs","Array","_key4","useMemo","every","forEach","concat","useForkedRef","child","prevType","useEffect","usePrevious","mirror","mounted","unmount","createMirror","mount","update","useMirrorEffects","doc","renderAlerts","setAttribute","body","appendChild","clearTimeout","setTimeout","elementType","role","map","cloneElement","_setPrototypeOf","o","p","setPrototypeOf","__proto__","findToast","toasts","id","getToastPosition","index","findIndex","toast","oneOf","_Object$values$flat$f","values","flat","find","toastMotionVariants","initial","dir","includes","factor","opacity","animate","y","x","scale","transition","duration","ease","exit","Toast$1","message","onCloseComplete","onRequestRemove","_props$requestClose","requestClose","_props$position","_props$duration","_props$containerStyle","containerStyle","_React$useState","React","useState","delay","setDelay","isPresent","useIsPresent","useUpdateEffect","close","useTimeout","alignItems","display","flexDirection","getToastStyle","motion","li","layout","className","variants","onHoverStart","onHoverEnd","custom","ReachAlert","pointerEvents","maxWidth","minWidth","onClose","__DEV__","ToastManager","_React$Component","subClass","superClass","_this","state","top","bottom","notify","options","createToast","setState","prevToasts","_extends2","updateToast","prevState","nextState","_findToast","closeAll","_temp","positions","prev","reduce","acc","_options$id","_options$position","counter","removeToast","String","status","closeToast","_extends3","_extends4","filter","isVisible","Boolean","getStyle","zIndex","undefined","right","left","methods","isActive","create","constructor","_this2","objectKeys","AnimatePresence","Component","removeAll","isToastActive","bindFunctions","isBrowser","portal","existingPortal","getElementById","_document$body","div","getToastPlacement","logical","ltr","rtl","_a","Toast","rest","__rest","isToast","defaults","title","defaultStandaloneParam","theme","defaultTheme","colorMode","toggleColorMode","noop","setColorMode","defaultOptions","useTheme","toastOptions","useLatestRef","renderWithProviders","ThemeProvider","toastImpl","opts","direction","createStandaloneToast"],"mappings":"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"}
1
+ {"version":3,"file":"useToast-12469c19.js","sources":["../node_modules/@reach/visually-hidden/dist/reach-visually-hidden.esm.js","../node_modules/warning/warning.js","../node_modules/@reach/utils/dist/reach-utils.esm.js","../node_modules/@reach/alert/dist/reach-alert.esm.js","../node_modules/@chakra-ui/toast/dist/chakra-ui-toast.esm.js","../src/components/Toast/toast.utils.ts","../src/components/Toast/useToast.tsx"],"sourcesContent":["import { forwardRef, createElement } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/**\n * VisuallyHidden\n *\n * Provides text for screen readers that is visually hidden.\n * It is the logical opposite of the `aria-hidden` attribute.\n */\n\nvar VisuallyHidden = /*#__PURE__*/forwardRef(function VisuallyHidden(_ref, ref) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"span\" : _ref$as,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"style\"]);\n\n return /*#__PURE__*/createElement(Comp, _extends({\n ref: ref,\n style: _extends({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n }, style)\n }, props));\n});\n/**\n * @see Docs https://reach.tech/visually-hidden#visuallyhidden-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n VisuallyHidden.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default VisuallyHidden;\nexport { VisuallyHidden };\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, isValidElement, cloneElement, createContext, forwardRef, memo, useRef, useState, useCallback, useMemo } from 'react';\nimport fbWarning from 'warning';\n\n/* eslint-disable no-restricted-globals, eqeqeq */\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * TODO: We are calling useLayoutEffect in a couple of places that will likely\n * cause some issues for SSR users, whether the warning shows or not. Audit and\n * fix these.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nvar checkedPkgs = {};\n/**\n * Copy of Facebook's warning package.\n *\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical paths.\n * Removing the logging code for production environments will keep the same\n * logic and follow the same code paths.\n *\n * @see https://github.com/BerkeleyTrue/warning/blob/master/warning.js\n */\n\nvar warning = fbWarning;\n/**\n * When in dev mode, checks that styles for a given @reach package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nvar checkStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n // In CJS files, process.env.NODE_ENV is stripped from our build, but we need\n // it to prevent style checks from clogging up user logs while testing.\n // This is a workaround until we can tweak the build a bit to accommodate.\n var _ref = typeof process !== \"undefined\" ? process : {\n env: {\n NODE_ENV: \"development\"\n }\n },\n env = _ref.env;\n\n checkStyles = function checkStyles(packageName) {\n // only check once per package\n if (checkedPkgs[packageName]) return;\n checkedPkgs[packageName] = true;\n\n if (env.NODE_ENV !== \"test\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n\\n import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n\\n Otherwise you'll need to include them some other way:\\n\\n <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"node_modules/@reach/\" + packageName + \"/styles.css\\\" />\\n\\n For more information visit https://ui.reach.tech/styling.\\n \");\n }\n };\n}\n/**\n * Ponyfill for the global object in some environments.\n *\n * @link https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\n\nvar ponyfillGlobal = typeof window != \"undefined\" && window.Math == Math ? window : typeof self != \"undefined\" && self.Math == Math ? self :\n/*#__PURE__*/\n// eslint-disable-next-line no-new-func\nFunction(\"return this\")();\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\n\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Checks true|\"true\" vs false|\"false\"\n *\n * @param value\n */\n\nfunction boolOrBoolString(value) {\n return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\nfunction canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\n\nfunction cloneValidElement(element, props) {\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(React, [element, props].concat(children)) : element;\n}\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}\n/**\n * This is a hack for sure. The thing is, getting a component to intelligently\n * infer props based on a component or JSX string passed into an `as` prop is\n * kind of a huge pain. Getting it to work and satisfy the constraints of\n * `forwardRef` seems dang near impossible. To avoid needing to do this awkward\n * type song-and-dance every time we want to forward a ref into a component\n * that accepts an `as` prop, we abstract all of that mess to this function for\n * the time time being.\n */\n\nfunction forwardRefWithAs(render) {\n return /*#__PURE__*/forwardRef(render);\n}\nfunction memoWithAs(Component, propsAreEqual) {\n return /*#__PURE__*/memo(Component, propsAreEqual);\n}\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n/**\n * Get the scoll position of the global window object relative to a given node.\n *\n * @param element\n */\n\nfunction getScrollPosition(element) {\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n scrollX: 0,\n scrollY: 0\n };\n }\n\n return {\n scrollX: ownerWindow.scrollX,\n scrollY: ownerWindow.scrollY\n };\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getElementComputedStyle(element, styleProp) {\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = (ownerDocument == null ? void 0 : ownerDocument.defaultView) || window;\n\n if (ownerWindow) {\n return ownerWindow.getComputedStyle(element, null).getPropertyValue(styleProp);\n }\n\n return null;\n}\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n/**\n * Get the scrollbar offset distance.\n *\n * TODO: Remove in 1.0 (we used this in public examples)\n */\n\nfunction getScrollbarOffset() {\n try {\n if (window.innerWidth > document.documentElement.clientWidth) {\n return window.innerWidth - document.documentElement.clientWidth;\n }\n } catch (err) {}\n\n return 0;\n}\n/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\n\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Detects right clicks\n *\n * @param nativeEvent\n */\n\nfunction isRightClick(nativeEvent) {\n return \"which\" in nativeEvent ? nativeEvent.which === 3 : \"button\" in nativeEvent ? nativeEvent.button === 2 : false;\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\n\nfunction makeId() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n/**\n * No-op function.\n */\n\nfunction noop() {}\n/**\n * Convert our state strings for HTML data attributes.\n * No need for a fancy kebab-caser here, we know what our state strings are!\n *\n * @param state\n */\n\nfunction stateToAttributeString(state) {\n return String(state).replace(/([\\s_]+)/g, \"-\").toLowerCase();\n}\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(controlledValue, defaultValue) {\n var controlledRef = useRef(controlledValue != null);\n\n var _React$useState = useState(defaultValue),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var set = useCallback(function (n) {\n if (!controlledRef.current) {\n setValue(n);\n }\n }, []);\n return [controlledRef.current ? controlledValue : valueState, set];\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nvar useControlledSwitchWarning = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useControlledSwitchWarning = function useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n var controlledRef = useRef(controlledValue != null);\n var nameCache = useRef({\n componentName: componentName,\n controlledPropName: controlledPropName\n });\n useEffect(function () {\n nameCache.current = {\n componentName: componentName,\n controlledPropName: controlledPropName\n };\n }, [componentName, controlledPropName]);\n useEffect(function () {\n var wasControlled = controlledRef.current;\n var _nameCache$current = nameCache.current,\n componentName = _nameCache$current.componentName,\n controlledPropName = _nameCache$current.controlledPropName;\n var isControlled = controlledValue != null;\n\n if (wasControlled !== isControlled) {\n console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\nMore info: https://fb.me/react-controlled-components\");\n }\n }, [controlledValue]);\n };\n}\nvar useCheckStyles = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useCheckStyles = function useCheckStyles(pkg) {\n var name = useRef(pkg);\n useEffect(function () {\n return void (name.current = pkg);\n }, [pkg]);\n useEffect(function () {\n return checkStyles(name.current);\n }, []);\n };\n}\n/**\n * React hook for creating a value exactly once.\n * @see https://github.com/Andarist/use-constant\n */\n\nfunction useConstant(fn) {\n var ref = useRef();\n\n if (!ref.current) {\n ref.current = {\n v: fn()\n };\n }\n\n return ref.current.v;\n}\n/**\n * @param callback\n */\n\nfunction useEventCallback(callback) {\n var ref = useRef(callback);\n useIsomorphicLayoutEffect(function () {\n ref.current = callback;\n });\n return useCallback(function (event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return ref.current.apply(ref, [event].concat(args));\n }, []);\n}\nfunction useLazyRef(fn) {\n var ref = useRef({\n __internalSet: true\n });\n\n if (ref.current && ref.current.__internalSet === true) {\n ref.current = fn();\n }\n\n return ref;\n}\n/**\n * TODO: Remove in 1.0\n * @alias useStableCallback\n * @param callback\n */\n\nvar useCallbackProp = useStableCallback;\n/**\n * Adds a DOM event listener\n *\n * @param eventName\n * @param listener\n * @param element\n */\n\nfunction useEventListener(eventName, listener, element) {\n if (element === void 0) {\n element = window;\n }\n\n var savedHandler = useRef(listener);\n useEffect(function () {\n savedHandler.current = listener;\n }, [listener]);\n useEffect(function () {\n var isSupported = element && element.addEventListener;\n\n if (!isSupported) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"Event listener not supported on the element provided\");\n }\n\n return;\n }\n\n function eventListener(event) {\n savedHandler.current(event);\n }\n\n element.addEventListener(eventName, eventListener);\n return function () {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n/**\n * Detect when focus changes in our document.\n *\n * @param handleChange\n * @param when\n * @param ownerDocument\n */\n\nfunction useFocusChange(handleChange, when, ownerDocument) {\n if (handleChange === void 0) {\n handleChange = console.log;\n }\n\n if (when === void 0) {\n when = \"focus\";\n }\n\n if (ownerDocument === void 0) {\n ownerDocument = document;\n }\n\n var lastActiveElement = useRef(ownerDocument.activeElement);\n useEffect(function () {\n lastActiveElement.current = ownerDocument.activeElement;\n\n function onChange(event) {\n if (lastActiveElement.current !== ownerDocument.activeElement) {\n handleChange(ownerDocument.activeElement, lastActiveElement.current, event);\n lastActiveElement.current = ownerDocument.activeElement;\n }\n }\n\n ownerDocument.addEventListener(when, onChange, true);\n return function () {\n ownerDocument.removeEventListener(when, onChange);\n };\n }, [when, handleChange, ownerDocument]);\n}\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _React$useState2 = useState(Object.create(null)),\n dispatch = _React$useState2[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useForkedRef() {\n for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n refs[_key4] = arguments[_key4];\n }\n\n return useMemo(function () {\n if (refs.every(function (ref) {\n return ref == null;\n })) {\n return null;\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n assignRef(ref, node);\n });\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [].concat(refs));\n}\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\n\nfunction usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n/**\n * Converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop and exposed as a stable function to avoid executing effects when\n * passed as a dependency.\n */\n\nfunction useStableCallback(callback) {\n var callbackRef = useRef(callback);\n useEffect(function () {\n callbackRef.current = callback;\n }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n return useCallback(function () {\n callbackRef.current && callbackRef.current.apply(callbackRef, arguments);\n }, []);\n}\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\n\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n effect();\n } else {\n mounted.current = true;\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, deps);\n}\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nvar useStateLogger = noop;\n\nif (process.env.NODE_ENV !== \"production\") {\n useStateLogger = function useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n var debugRef = useRef(DEBUG);\n useEffect(function () {\n debugRef.current = DEBUG;\n }, [DEBUG]);\n useEffect(function () {\n if (debugRef.current) {\n console.group(\"State Updated\");\n console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n console.groupEnd();\n }\n }, [state]);\n };\n}\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\n\nfunction wrapEvent(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n} // Export types\n\nexport { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, memoWithAs, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForceUpdate, useForkedRef, useIsomorphicLayoutEffect, useLazyRef, usePrevious, useStableCallback, useStateLogger, useUpdateEffect, warning, wrapEvent };\n","import { useRef, useMemo, createElement, useEffect, cloneElement } from 'react';\nimport { render } from 'react-dom';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { forwardRefWithAs, useForkedRef, usePrevious, getOwnerDocument } from '@reach/utils';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\n/*\n * Singleton state is fine because you don't server render\n * an alert (SRs don't read them on first load anyway)\n */\n\nvar keys = {\n polite: -1,\n assertive: -1\n};\nvar elements = {\n polite: {},\n assertive: {}\n};\nvar liveRegions = {\n polite: null,\n assertive: null\n};\nvar renderTimer; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Alert\n *\n * Screen-reader-friendly alert messages. In many apps developers add \"alert\"\n * messages when network events or other things happen. Users with assistive\n * technologies may not know about the message unless you develop for it.\n *\n * @see Docs https://reach.tech/alert\n */\n\nvar Alert = /*#__PURE__*/forwardRefWithAs(function Alert(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n _ref$type = _ref.type,\n regionType = _ref$type === void 0 ? \"polite\" : _ref$type,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"children\", \"type\"]);\n\n var ownRef = useRef(null);\n var ref = useForkedRef(forwardedRef, ownRef);\n var child = useMemo(function () {\n return /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-alert\": true\n }), children);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [children, props]);\n useMirrorEffects(regionType, child, ownRef);\n return child;\n});\n/**\n * @see Docs https://reach.tech/alert#alert-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Alert.displayName = \"Alert\";\n Alert.propTypes = {\n children: PropTypes.node,\n type: /*#__PURE__*/PropTypes.oneOf([\"assertive\", \"polite\"])\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction createMirror(type, doc) {\n var key = ++keys[type];\n\n var mount = function mount(element) {\n if (liveRegions[type]) {\n elements[type][key] = element;\n renderAlerts();\n } else {\n var node = doc.createElement(\"div\");\n node.setAttribute(\"data-reach-live-\" + type, \"true\");\n liveRegions[type] = node;\n doc.body.appendChild(liveRegions[type]);\n mount(element);\n }\n };\n\n var update = function update(element) {\n elements[type][key] = element;\n renderAlerts();\n };\n\n var unmount = function unmount() {\n delete elements[type][key];\n renderAlerts();\n };\n\n return {\n mount: mount,\n update: update,\n unmount: unmount\n };\n}\n\nfunction renderAlerts() {\n if (renderTimer != null) {\n window.clearTimeout(renderTimer);\n }\n\n renderTimer = window.setTimeout(function () {\n Object.keys(elements).forEach(function (elementType) {\n var regionType = elementType;\n var container = liveRegions[regionType];\n\n if (container) {\n render( /*#__PURE__*/createElement(VisuallyHidden, {\n as: \"div\"\n }, /*#__PURE__*/createElement(\"div\", {\n // The status role is a type of live region and a container whose\n // content is advisory information for the user that is not\n // important enough to justify an alert, and is often presented as\n // a status bar. When the role is added to an element, the browser\n // will send out an accessible status event to assistive\n // technology products which can then notify the user about it.\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_status_role\n role: regionType === \"assertive\" ? \"alert\" : \"status\",\n \"aria-live\": regionType\n }, Object.keys(elements[regionType]).map(function (key) {\n return /*#__PURE__*/cloneElement(elements[regionType][key], {\n key: key,\n ref: null\n });\n }))), liveRegions[regionType]);\n }\n });\n }, 500);\n}\n\nfunction useMirrorEffects(regionType, element, ref) {\n var prevType = usePrevious(regionType);\n var mirror = useRef(null);\n var mounted = useRef(false);\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ref.current);\n\n if (!mounted.current) {\n mounted.current = true;\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else if (prevType !== regionType) {\n mirror.current && mirror.current.unmount();\n mirror.current = createMirror(regionType, ownerDocument);\n mirror.current.mount(element);\n } else {\n mirror.current && mirror.current.update(element);\n }\n }, [element, regionType, prevType, ref]);\n useEffect(function () {\n return function () {\n mirror.current && mirror.current.unmount();\n };\n }, []);\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Alert;\nexport { Alert };\n","import { Alert, AlertIcon, AlertTitle, AlertDescription } from '@chakra-ui/alert';\nimport { CloseButton } from '@chakra-ui/close-button';\nimport { useChakra, ThemeProvider, ColorModeContext, chakra } from '@chakra-ui/system';\nimport defaultTheme from '@chakra-ui/theme';\nimport { isFunction, __DEV__, objectKeys, isBrowser, noop } from '@chakra-ui/utils';\nimport { useUpdateEffect, useTimeout, useLatestRef } from '@chakra-ui/hooks';\nimport * as React from 'react';\nimport { render } from 'react-dom';\nimport { useIsPresent, motion, AnimatePresence } from 'framer-motion';\nimport ReachAlert from '@reach/alert';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\n\n/**\n * Given an array of toasts for a specific position.\n * It returns the toast that matches the `id` passed\n */\n/**\n * Given the toast manager state, finds the toast that matches\n * the id and return its position and index\n */\n\nfunction findToast(toasts, id) {\n var position = getToastPosition(toasts, id);\n var index = position ? toasts[position].findIndex(function (toast) {\n return toast.id === id;\n }) : -1;\n return {\n position: position,\n index: index\n };\n}\n/**\n * Given the toast manager state, finds the position of the toast that\n * matches the `id`\n */\n\nvar getToastPosition = function getToastPosition(toasts, id) {\n var _Object$values$flat$f;\n\n return (_Object$values$flat$f = Object.values(toasts).flat().find(function (toast) {\n return toast.id === id;\n })) == null ? void 0 : _Object$values$flat$f.position;\n};\n/**\n * Gets the styles to be applied to a toast's container\n * based on its position in the manager\n */\n\nfunction getToastStyle(position) {\n var isRighty = position.includes(\"right\");\n var isLefty = position.includes(\"left\");\n var alignItems = \"center\";\n if (isRighty) alignItems = \"flex-end\";\n if (isLefty) alignItems = \"flex-start\";\n return {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: alignItems\n };\n}\n\n/**\n * @todo After Gerrit refactors this implementation,\n * allow users to change the toast transition direction from\n * a `ToastProvider` component.\n *\n * Here's an API example:\n *\n * ```jsx\n * <ToastProvider\n * motion={customVariants}\n * component={CustomToastComponent}\n * autoCloseTimeout={3000}\n * toastSpacing={32} // this will control the `margin` value applied\n * >\n * </ToastProvider>\n * ```\n */\n\nvar toastMotionVariants = {\n initial: function initial(props) {\n var _ref;\n\n var position = props.position;\n var dir = [\"top\", \"bottom\"].includes(position) ? \"y\" : \"x\";\n var factor = [\"top-right\", \"bottom-right\"].includes(position) ? 1 : -1;\n if (position === \"bottom\") factor = 1;\n return _ref = {\n opacity: 0\n }, _ref[dir] = factor * 24, _ref;\n },\n animate: {\n opacity: 1,\n y: 0,\n x: 0,\n scale: 1,\n transition: {\n duration: 0.4,\n ease: [0.4, 0, 0.2, 1]\n }\n },\n exit: {\n opacity: 0,\n scale: 0.85,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 1, 1]\n }\n }\n};\nvar Toast$1 = function Toast(props) {\n var id = props.id,\n message = props.message,\n onCloseComplete = props.onCloseComplete,\n onRequestRemove = props.onRequestRemove,\n _props$requestClose = props.requestClose,\n requestClose = _props$requestClose === void 0 ? false : _props$requestClose,\n _props$position = props.position,\n position = _props$position === void 0 ? \"bottom\" : _props$position,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 5000 : _props$duration,\n _props$containerStyle = props.containerStyle,\n containerStyle = _props$containerStyle === void 0 ? {} : _props$containerStyle;\n\n var _React$useState = React.useState(duration),\n delay = _React$useState[0],\n setDelay = _React$useState[1];\n\n var isPresent = useIsPresent();\n useUpdateEffect(function () {\n if (!isPresent) {\n onCloseComplete == null ? void 0 : onCloseComplete();\n }\n }, [isPresent]);\n useUpdateEffect(function () {\n setDelay(duration);\n }, [duration]);\n\n var onMouseEnter = function onMouseEnter() {\n return setDelay(null);\n };\n\n var onMouseLeave = function onMouseLeave() {\n return setDelay(duration);\n };\n\n var close = function close() {\n if (isPresent) onRequestRemove();\n };\n\n React.useEffect(function () {\n if (isPresent && requestClose) {\n onRequestRemove();\n }\n }, [isPresent, requestClose, onRequestRemove]);\n useTimeout(close, delay);\n var style = React.useMemo(function () {\n return getToastStyle(position);\n }, [position]);\n return /*#__PURE__*/React.createElement(motion.li, {\n layout: true,\n className: \"chakra-toast\",\n variants: toastMotionVariants,\n initial: \"initial\",\n animate: \"animate\",\n exit: \"exit\",\n onHoverStart: onMouseEnter,\n onHoverEnd: onMouseLeave,\n custom: {\n position: position\n },\n style: style\n }, /*#__PURE__*/React.createElement(ReachAlert, {\n className: \"chakra-toast__inner\",\n style: _extends({\n pointerEvents: \"auto\",\n maxWidth: 560,\n minWidth: 300,\n margin: \"0.5rem\"\n }, containerStyle)\n }, isFunction(message) ? message({\n id: id,\n onClose: close\n }) : message));\n};\n\nif (__DEV__) {\n Toast$1.displayName = \"Toast\";\n}\n\n/**\n * Manages the creation, and removal of toasts\n * across all corners (\"top\", \"bottom\", etc.)\n */\nvar ToastManager = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ToastManager, _React$Component);\n\n /**\n * Static id counter to create unique ids\n * for each toast\n */\n\n /**\n * State to track all the toast across all positions\n */\n function ToastManager(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n top: [],\n \"top-left\": [],\n \"top-right\": [],\n \"bottom-left\": [],\n bottom: [],\n \"bottom-right\": []\n };\n\n _this.notify = function (message, options) {\n var toast = _this.createToast(message, options);\n\n var position = toast.position,\n id = toast.id;\n\n _this.setState(function (prevToasts) {\n var _extends2;\n\n var isTop = position.includes(\"top\");\n /**\n * - If the toast is positioned at the top edges, the\n * recent toast stacks on top of the other toasts.\n *\n * - If the toast is positioned at the bottom edges, the recent\n * toast stacks below the other toasts.\n */\n\n var toasts = isTop ? [toast].concat(prevToasts[position]) : [].concat(prevToasts[position], [toast]);\n return _extends({}, prevToasts, (_extends2 = {}, _extends2[position] = toasts, _extends2));\n });\n\n return id;\n };\n\n _this.updateToast = function (id, options) {\n _this.setState(function (prevState) {\n var nextState = _extends({}, prevState);\n\n var _findToast = findToast(nextState, id),\n position = _findToast.position,\n index = _findToast.index;\n\n if (position && index !== -1) {\n nextState[position][index] = _extends({}, nextState[position][index], options);\n }\n\n return nextState;\n });\n };\n\n _this.closeAll = function (_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n positions = _ref.positions;\n\n // only one setState here for perf reasons\n // instead of spamming this.closeToast\n _this.setState(function (prev) {\n var allPositions = [\"bottom\", \"bottom-right\", \"bottom-left\", \"top\", \"top-left\", \"top-right\"];\n var positionsToClose = positions != null ? positions : allPositions;\n return positionsToClose.reduce(function (acc, position) {\n acc[position] = prev[position].map(function (toast) {\n return _extends({}, toast, {\n requestClose: true\n });\n });\n return acc;\n }, {});\n });\n };\n\n _this.createToast = function (message, options) {\n var _options$id, _options$position;\n\n ToastManager.counter += 1;\n var id = (_options$id = options.id) != null ? _options$id : ToastManager.counter;\n var position = (_options$position = options.position) != null ? _options$position : \"top\";\n return {\n id: id,\n message: message,\n position: position,\n duration: options.duration,\n onCloseComplete: options.onCloseComplete,\n onRequestRemove: function onRequestRemove() {\n return _this.removeToast(String(id), position);\n },\n status: options.status,\n requestClose: false,\n containerStyle: options.containerStyle\n };\n };\n\n _this.closeToast = function (id) {\n _this.setState(function (prevState) {\n var _extends3;\n\n var position = getToastPosition(prevState, id);\n if (!position) return prevState;\n return _extends({}, prevState, (_extends3 = {}, _extends3[position] = prevState[position].map(function (toast) {\n // id may be string or number\n // eslint-disable-next-line eqeqeq\n if (toast.id == id) {\n return _extends({}, toast, {\n requestClose: true\n });\n }\n\n return toast;\n }), _extends3));\n });\n };\n\n _this.removeToast = function (id, position) {\n _this.setState(function (prevState) {\n var _extends4;\n\n return _extends({}, prevState, (_extends4 = {}, _extends4[position] = prevState[position].filter(function (toast) {\n return toast.id != id;\n }), _extends4));\n });\n };\n\n _this.isVisible = function (id) {\n var _findToast2 = findToast(_this.state, id),\n position = _findToast2.position;\n\n return Boolean(position);\n };\n\n _this.getStyle = function (position) {\n var isTopOrBottom = position === \"top\" || position === \"bottom\";\n var margin = isTopOrBottom ? \"0 auto\" : undefined;\n var top = position.includes(\"top\") ? \"env(safe-area-inset-top, 0px)\" : undefined;\n var bottom = position.includes(\"bottom\") ? \"env(safe-area-inset-bottom, 0px)\" : undefined;\n var right = !position.includes(\"left\") ? \"env(safe-area-inset-right, 0px)\" : undefined;\n var left = !position.includes(\"right\") ? \"env(safe-area-inset-left, 0px)\" : undefined;\n return {\n position: \"fixed\",\n zIndex: 5500,\n pointerEvents: \"none\",\n display: \"flex\",\n flexDirection: \"column\",\n margin: margin,\n top: top,\n bottom: bottom,\n right: right,\n left: left\n };\n };\n\n var methods = {\n notify: _this.notify,\n closeAll: _this.closeAll,\n close: _this.closeToast,\n update: _this.updateToast,\n isActive: _this.isVisible\n };\n props.notify(methods);\n return _this;\n }\n /**\n * Function to actually create a toast and add it\n * to state at the specified position\n */\n\n\n var _proto = ToastManager.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n return objectKeys(this.state).map(function (position) {\n var toasts = _this2.state[position];\n return /*#__PURE__*/React.createElement(\"ul\", {\n key: position,\n id: \"chakra-toast-manager-\" + position,\n style: _this2.getStyle(position)\n }, /*#__PURE__*/React.createElement(AnimatePresence, {\n initial: false\n }, toasts.map(function (toast) {\n return /*#__PURE__*/React.createElement(Toast$1, _extends({\n key: toast.id\n }, toast));\n })));\n });\n };\n\n return ToastManager;\n}(React.Component);\nToastManager.counter = 0;\n\nvar portalId = \"chakra-toast-portal\";\n\nvar Toaster =\n/**\n * Initialize the manager and mount it in the DOM\n * inside the portal node.\n *\n * @todo\n *\n * Update toast constructor to use `PortalManager`'s node or document.body.\n * Once done, we can remove the `zIndex` in `toast.manager.tsx`\n */\nfunction Toaster() {\n var _this = this;\n\n this.createToast = void 0;\n this.removeAll = void 0;\n this.closeToast = void 0;\n this.updateToast = void 0;\n this.isToastActive = void 0;\n\n this.bindFunctions = function (methods) {\n _this.createToast = methods.notify;\n _this.removeAll = methods.closeAll;\n _this.closeToast = methods.close;\n _this.updateToast = methods.update;\n _this.isToastActive = methods.isActive;\n };\n\n this.notify = function (message, options) {\n if (options === void 0) {\n options = {};\n }\n\n return _this.createToast == null ? void 0 : _this.createToast(message, options);\n };\n\n this.close = function (id) {\n _this.closeToast == null ? void 0 : _this.closeToast(id);\n };\n\n this.closeAll = function (options) {\n _this.removeAll == null ? void 0 : _this.removeAll(options);\n };\n\n this.update = function (id, options) {\n if (options === void 0) {\n options = {};\n }\n\n _this.updateToast == null ? void 0 : _this.updateToast(id, options);\n };\n\n this.isActive = function (id) {\n return _this.isToastActive == null ? void 0 : _this.isToastActive(id);\n };\n\n if (!isBrowser) return;\n var portal;\n var existingPortal = document.getElementById(portalId);\n\n if (existingPortal) {\n portal = existingPortal;\n } else {\n var _document$body;\n\n var div = document.createElement(\"div\");\n div.id = portalId;\n (_document$body = document.body) == null ? void 0 : _document$body.appendChild(div);\n portal = div;\n }\n\n render( /*#__PURE__*/React.createElement(ToastManager, {\n notify: this.bindFunctions\n }), portal);\n};\n\nvar toast = new Toaster();\n\nfunction getToastPlacement(position, dir) {\n var _logical$dir;\n\n if (!position) return;\n var logicals = {\n \"top-start\": {\n ltr: \"top-left\",\n rtl: \"top-right\"\n },\n \"top-end\": {\n ltr: \"top-right\",\n rtl: \"top-left\"\n },\n \"bottom-start\": {\n ltr: \"bottom-left\",\n rtl: \"bottom-right\"\n },\n \"bottom-end\": {\n ltr: \"bottom-right\",\n rtl: \"bottom-left\"\n }\n };\n var logical = logicals[position];\n return (_logical$dir = logical == null ? void 0 : logical[dir]) != null ? _logical$dir : position;\n}\n\nvar Toast = function Toast(props) {\n var status = props.status,\n variant = props.variant,\n id = props.id,\n title = props.title,\n isClosable = props.isClosable,\n onClose = props.onClose,\n description = props.description;\n var alertTitleId = typeof id !== \"undefined\" ? \"toast-\" + id + \"-title\" : undefined;\n return /*#__PURE__*/React.createElement(Alert, {\n status: status,\n variant: variant,\n id: id,\n alignItems: \"start\",\n borderRadius: \"md\",\n boxShadow: \"lg\",\n paddingEnd: 8,\n textAlign: \"start\",\n width: \"auto\",\n \"aria-labelledby\": alertTitleId\n }, /*#__PURE__*/React.createElement(AlertIcon, null), /*#__PURE__*/React.createElement(chakra.div, {\n flex: \"1\",\n maxWidth: \"100%\"\n }, title && /*#__PURE__*/React.createElement(AlertTitle, {\n id: alertTitleId\n }, title), description && /*#__PURE__*/React.createElement(AlertDescription, {\n display: \"block\"\n }, description)), isClosable && /*#__PURE__*/React.createElement(CloseButton, {\n size: \"sm\",\n onClick: onClose,\n position: \"absolute\",\n insetEnd: 1,\n top: 1\n }));\n};\n\nvar defaults = {\n duration: 5000,\n position: \"bottom\",\n variant: \"solid\"\n};\nvar defaultStandaloneParam = {\n theme: defaultTheme,\n colorMode: \"light\",\n toggleColorMode: noop,\n setColorMode: noop,\n defaultOptions: defaults\n};\n/**\n * Create a toast from outside of React Components\n */\n\nfunction createStandaloneToast(_temp) {\n var _ref = _temp === void 0 ? defaultStandaloneParam : _temp,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? defaultStandaloneParam.theme : _ref$theme,\n _ref$colorMode = _ref.colorMode,\n colorMode = _ref$colorMode === void 0 ? defaultStandaloneParam.colorMode : _ref$colorMode,\n _ref$toggleColorMode = _ref.toggleColorMode,\n toggleColorMode = _ref$toggleColorMode === void 0 ? defaultStandaloneParam.toggleColorMode : _ref$toggleColorMode,\n _ref$setColorMode = _ref.setColorMode,\n setColorMode = _ref$setColorMode === void 0 ? defaultStandaloneParam.setColorMode : _ref$setColorMode,\n _ref$defaultOptions = _ref.defaultOptions,\n defaultOptions = _ref$defaultOptions === void 0 ? defaultStandaloneParam.defaultOptions : _ref$defaultOptions;\n\n var renderWithProviders = function renderWithProviders(props, options) {\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: theme\n }, /*#__PURE__*/React.createElement(ColorModeContext.Provider, {\n value: {\n colorMode: colorMode,\n setColorMode: setColorMode,\n toggleColorMode: toggleColorMode\n }\n }, isFunction(options.render) ? options.render(props) : /*#__PURE__*/React.createElement(Toast, _extends({}, props, options))));\n };\n\n var toastImpl = function toastImpl(options) {\n var opts = _extends({}, defaultOptions, options);\n\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n var Message = function Message(props) {\n return renderWithProviders(props, opts);\n };\n\n return toast.notify(Message, opts);\n };\n\n toastImpl.close = toast.close;\n toastImpl.closeAll = toast.closeAll; // toasts can only be updated if they have a valid id\n\n toastImpl.update = function (id, options) {\n if (!id) return;\n\n var opts = _extends({}, defaultOptions, options);\n\n opts.position = getToastPlacement(opts.position, theme.direction);\n toast.update(id, _extends({}, opts, {\n message: function message(props) {\n return renderWithProviders(props, opts);\n }\n }));\n };\n\n toastImpl.isActive = toast.isActive;\n return toastImpl;\n}\n/**\n * React hook used to create a function that can be used\n * to show toasts in an application.\n */\n\nfunction useToast(options) {\n var _useChakra = useChakra(),\n theme = _useChakra.theme,\n setColorMode = _useChakra.setColorMode,\n toggleColorMode = _useChakra.toggleColorMode,\n colorMode = _useChakra.colorMode;\n\n var toastOptions = useLatestRef(options);\n return React.useMemo(function () {\n return createStandaloneToast({\n theme: theme,\n colorMode: colorMode,\n setColorMode: setColorMode,\n toggleColorMode: toggleColorMode,\n defaultOptions: _extends({}, defaults, toastOptions.current)\n });\n }, [theme, setColorMode, toggleColorMode, colorMode, toastOptions]);\n}\n\nexport { createStandaloneToast, defaultStandaloneParam, toast, useToast };\n","import { LogicalPlacementMap, ToastPosition, ToastPositionWithLogical } from './toast.types';\n\nexport function getToastPlacement(\n position: ToastPositionWithLogical | undefined,\n dir: 'ltr' | 'rtl',\n): ToastPosition | undefined {\n if (!position) return;\n const logicals: LogicalPlacementMap = {\n 'top-start': { ltr: 'top-left', rtl: 'top-right' },\n 'top-end': { ltr: 'top-right', rtl: 'top-left' },\n 'bottom-start': { ltr: 'bottom-left', rtl: 'bottom-right' },\n 'bottom-end': { ltr: 'bottom-right', rtl: 'bottom-left' },\n };\n\n const logical = logicals[position as keyof typeof logicals];\n return logical?.[dir] ?? position;\n}\n","import * as React from 'react';\nimport { ColorMode, ThemeProvider, useChakra } from '@chakra-ui/system';\nimport defaultTheme from '@chakra-ui/theme';\nimport { noop } from '@chakra-ui/utils';\nimport { useLatestRef } from '@chakra-ui/hooks';\nimport { CloseAllToastsOptions, RenderProps, toast, ToastOptions, ToastPositionWithLogical } from '@chakra-ui/react';\nimport { ToastId } from '@chakra-ui/toast/dist/declarations/src/toast.types';\nimport { getToastPlacement } from './toast.utils';\nimport { Alert, AlertProps } from '../Alert/alert.component';\nimport { WithoutLogicalPosition } from './toast.types';\nimport { useTheme } from 'shared/hooks/useTheme';\n\ninterface Toaster {\n (options?: UseToastOptions | undefined): string | number | undefined;\n close: (id: React.ReactText) => void;\n closeAll: (options?: CloseAllToastsOptions | undefined) => void;\n update(id: ToastId, options: Omit<UseToastOptions, 'id'>): void;\n isActive: (id: React.ReactText) => boolean | undefined;\n}\n\nexport interface UseToastOptions extends Omit<AlertProps, 'id' | 'position'> {\n /**\n * The placement of the toast\n *\n * @default \"top\"\n */\n position?: ToastPositionWithLogical;\n /**\n * The delay before the toast hides (in milliseconds)\n * If set to `null`, toast will never dismiss.\n *\n * @default 5000 ( = 5000ms )\n */\n duration?: ToastOptions['duration'];\n /**\n * The `id` of the toast.\n *\n * Mostly used when you need to prevent duplicate.\n * By default, we generate a unique `id` for each toast\n */\n id?: ToastId;\n /**\n * Callback function to run side effects after the toast has closed.\n */\n onCloseComplete?: () => void;\n /**\n * Optional style overrides for the container wrapping the toast component.\n */\n containerStyle?: React.CSSProperties;\n}\n\ntype UseToastOptionsNormalized = WithoutLogicalPosition<UseToastOptions>;\n\nconst Toast: React.FC<UseToastOptions> = (props) => {\n const { position, duration, id, onCloseComplete, containerStyle, ...rest } = props;\n\n return <Alert id={id as string | undefined} isToast {...rest} />;\n};\n\nconst defaults: UseToastOptions = {\n title: '',\n duration: 5000,\n position: 'top',\n};\n\ntype CreateStandAloneToastParam = Partial<\n ReturnType<typeof useChakra> & {\n setColorMode: (value: ColorMode) => void;\n defaultOptions: UseToastOptions;\n }\n>;\n\nconst defaultStandaloneParam: Required<CreateStandAloneToastParam> = {\n theme: defaultTheme,\n colorMode: 'dark',\n toggleColorMode: noop,\n setColorMode: noop,\n defaultOptions: defaults,\n};\n/**\n * Create a toast from outside of React Components\n */\nconst createStandaloneToast = ({\n theme = defaultStandaloneParam.theme,\n defaultOptions = defaultStandaloneParam.defaultOptions,\n}: CreateStandAloneToastParam = defaultStandaloneParam): Toaster => {\n const renderWithProviders = (\n props: React.PropsWithChildren<RenderProps>,\n options: UseToastOptionsNormalized,\n ): JSX.Element => (\n <ThemeProvider theme={theme}>\n <Toast {...props} {...options} />\n </ThemeProvider>\n );\n\n const toastImpl = (options?: UseToastOptions): ToastId | undefined => {\n const opts = { ...defaultOptions, ...options } as UseToastOptionsNormalized;\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n const Message: React.FC<RenderProps> = (props) => renderWithProviders(props, opts);\n\n return toast.notify(Message, opts);\n };\n\n toastImpl.close = toast.close;\n toastImpl.closeAll = toast.closeAll;\n\n // toasts can only be updated if they have a valid id\n toastImpl.update = (id: ToastId, options: Omit<UseToastOptions, 'id'>): void => {\n if (!id) return;\n\n const opts = { ...defaultOptions, ...options } as UseToastOptionsNormalized;\n opts.position = getToastPlacement(opts.position, theme.direction);\n\n toast.update(id, {\n ...opts,\n message: (props) => renderWithProviders(props, opts),\n });\n };\n\n toastImpl.isActive = toast.isActive;\n\n return toastImpl;\n};\n\n/**\n * React hook used to create a function that can be used\n * to show toasts in an application.\n */\n\nexport const useToast = (options?: UseToastOptions): Toaster => {\n const theme = useTheme();\n const toastOptions = useLatestRef(options);\n const defaultOptions = { ...defaults, ...toastOptions.current };\n return createStandaloneToast({ theme, defaultOptions });\n};\n"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","VisuallyHidden","forwardRef","_ref","ref","_ref$as","as","Comp","_ref$style","style","props","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","createElement","border","clip","height","margin","overflow","padding","position","width","whiteSpace","wordWrap","process","env","NODE_ENV","displayName","propTypes","PropTypes","any","children","node","assignRef","value","toString","isFunction","current","error","Error","forwardRefWithAs","render","getOwnerDocument","element","window","document","ownerDocument","renderTimer","polite","assertive","elements","liveRegions","Alert","forwardedRef","_ref$type","type","regionType","ownRef","useRef","_len4","refs","Array","_key4","useMemo","every","forEach","concat","useForkedRef","child","prevType","useEffect","usePrevious","mirror","mounted","unmount","createMirror","mount","update","useMirrorEffects","doc","renderAlerts","setAttribute","body","appendChild","clearTimeout","setTimeout","elementType","role","map","cloneElement","_setPrototypeOf","o","p","setPrototypeOf","__proto__","findToast","toasts","id","getToastPosition","index","findIndex","toast","oneOf","_Object$values$flat$f","values","flat","find","toastMotionVariants","initial","dir","includes","factor","opacity","animate","y","x","scale","transition","duration","ease","exit","Toast$1","message","onCloseComplete","onRequestRemove","_props$requestClose","requestClose","_props$position","_props$duration","_props$containerStyle","containerStyle","_React$useState","React","useState","delay","setDelay","isPresent","useIsPresent","useUpdateEffect","close","useTimeout","alignItems","display","flexDirection","getToastStyle","motion","li","layout","className","variants","onHoverStart","onHoverEnd","custom","ReachAlert","pointerEvents","maxWidth","minWidth","onClose","__DEV__","ToastManager","_React$Component","subClass","superClass","_this","state","top","bottom","notify","options","createToast","setState","prevToasts","_extends2","updateToast","prevState","nextState","_findToast","closeAll","_temp","positions","prev","reduce","acc","_options$id","_options$position","counter","removeToast","String","status","closeToast","_extends3","_extends4","filter","isVisible","Boolean","getStyle","zIndex","undefined","right","left","methods","isActive","create","constructor","_this2","objectKeys","AnimatePresence","Component","removeAll","isToastActive","bindFunctions","isBrowser","portal","existingPortal","getElementById","_document$body","div","getToastPlacement","logical","ltr","rtl","_a","Toast","rest","__rest","isToast","defaults","title","defaultStandaloneParam","theme","defaultTheme","colorMode","toggleColorMode","noop","setColorMode","defaultOptions","useTheme","toastOptions","useLatestRef","renderWithProviders","ThemeProvider","toastImpl","opts","direction","createStandaloneToast"],"mappings":"2sBAGA,SAASA,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,WAyB9B,IAAIS,EAA8BC,EAAAA,YAAW,SAAwBC,EAAMC,GACzE,IAAIC,EAAUF,EAAKG,GACfC,OAAmB,IAAZF,EAAqB,OAASA,EACrCG,EAAaL,EAAKM,MAClBA,OAAuB,IAAfD,EAAwB,GAAKA,EACrCE,EA3BN,SAAuChB,EAAQiB,GAC7C,GAAc,MAAVjB,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,GACTsB,EAAaxB,OAAOyB,KAAKnB,GAG7B,IAAKH,EAAI,EAAGA,EAAIqB,EAAWnB,OAAQF,IACjCI,EAAMiB,EAAWrB,GACboB,EAASG,QAAQnB,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,EAeKyB,CAA8BZ,EAAM,CAAC,KAAM,UAEvD,OAAoBa,EAAaA,cAACT,EAAMpB,EAAS,CAC/CiB,IAAKA,EACLK,MAAOtB,EAAS,CACd8B,OAAQ,EACRC,KAAM,gBACNC,OAAQ,MACRC,OAAQ,OACRC,SAAU,SACVC,QAAS,EACTC,SAAU,WACVC,MAAO,MAEPC,WAAY,SACZC,SAAU,UACTjB,IACFC,QAMwB,eAAzBiB,QAAQC,IAAIC,WACd5B,EAAe6B,YAAc,iBAC7B7B,EAAe8B,UAAY,CACzBzB,GAAI0B,EAASA,UAACC,IACdC,SAAUF,EAASA,UAACG,OC3DVR,QAAQC,IAAIC,SCyCG,eAAzBF,QAAQC,IAAIC,YAIgB,oBAAZF,QAA0BA,QAAU,CACpDC,IAAK,CACHC,SAAU,iBAGCD,IA6BjB,SAASQ,EAAUhC,EAAKiC,GACtB,GAAW,MAAPjC,EAEJ,GAyKF,SAAoBiC,GAClB,SAAUA,GAAoC,qBAA3B,GAAGC,SAASxC,KAAKuC,IA1KhCE,CAAWnC,GACbA,EAAIiC,QAEJ,IACEjC,EAAIoC,QAAUH,EACd,MAAOI,GACP,MAAM,IAAIC,MAAM,wBAA2BL,EAAQ,aAAiBjC,EAAM,MA8ChF,SAASuC,EAAiBC,GACxB,OAAoB1C,EAAAA,WAAW0C,GA2EjC,SAASC,EAAiBC,GACxB,MA7G4B,oBAAXC,QAA0BA,OAAOC,UAAYD,OAAOC,SAAShC,cA6GzD8B,EAAUA,EAAQG,cAAgBD,SAAW,KC7NpE,SAAS7D,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,WDuV1BmC,QAAQC,IAAIC,SA4BZF,QAAQC,IAAIC,SAyOZF,QAAQC,IAAIC,SCrkBhB,IAYIqB,EAZArC,EAAO,CACTsC,QAAS,EACTC,WAAY,GAEVC,EAAW,CACbF,OAAQ,GACRC,UAAW,IAETE,EAAc,CAChBH,OAAQ,KACRC,UAAW,MAcTG,EAAqBZ,GAAiB,SAAexC,EAAMqD,GAC7D,IAAInD,EAAUF,EAAKG,GACfC,OAAmB,IAAZF,EAAqB,MAAQA,EACpC6B,EAAW/B,EAAK+B,SAChBuB,EAAYtD,EAAKuD,KACjBC,OAA2B,IAAdF,EAAuB,SAAWA,EAC/C/C,EAlDN,SAAuChB,EAAQiB,GAC7C,GAAc,MAAVjB,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,GACTsB,EAAaxB,OAAOyB,KAAKnB,GAG7B,IAAKH,EAAI,EAAGA,EAAIqB,EAAWnB,OAAQF,IACjCI,EAAMiB,EAAWrB,GACboB,EAASG,QAAQnB,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,EAsCKyB,CAA8BZ,EAAM,CAAC,KAAM,WAAY,SAE/DyD,EAASC,SAAO,MAChBzD,EDydN,WACE,IAAK,IAAI0D,EAAQtE,UAAUC,OAAQsE,EAAO,IAAIC,MAAMF,GAAQG,EAAQ,EAAGA,EAAQH,EAAOG,IACpFF,EAAKE,GAASzE,UAAUyE,GAG1B,OAAOC,EAAOA,SAAC,WACb,OAAIH,EAAKI,OAAM,SAAU/D,GACvB,OAAc,MAAPA,KAEA,KAGF,SAAU+B,GACf4B,EAAKK,SAAQ,SAAUhE,GACrBgC,EAAUhC,EAAK+B,SAGlB,GAAGkC,OAAON,IC1eHO,CAAad,EAAcI,GACjCW,EAAQL,EAAAA,SAAQ,WAClB,OAAoBlD,EAAaA,cAACT,EAAMpB,EAAS,GAAIuB,EAAO,CAC1DN,IAAKA,EACL,oBAAoB,IAClB8B,KAEN,CAACA,EAAUxB,IAEX,OAkFF,SAA0BiD,EAAYb,EAAS1C,GAC7C,IAAIoE,EDsZN,SAAqBnC,GACnB,IAAIjC,EAAMyD,SAAO,MAIjB,OAHAY,EAAAA,WAAU,WACRrE,EAAIoC,QAAUH,IACb,CAACA,IACGjC,EAAIoC,QC3ZIkC,CAAYf,GACvBgB,EAASd,SAAO,MAChBe,EAAUf,UAAO,GACrBY,EAAAA,WAAU,WACR,IAAIxB,EAAgBJ,EAAiBzC,EAAIoC,SAEpCoC,EAAQpC,QAIFgC,IAAab,GACtBgB,EAAOnC,SAAWmC,EAAOnC,QAAQqC,UACjCF,EAAOnC,QAAUsC,EAAanB,EAAYV,GAC1C0B,EAAOnC,QAAQuC,MAAMjC,IAErB6B,EAAOnC,SAAWmC,EAAOnC,QAAQwC,OAAOlC,IARxC8B,EAAQpC,SAAU,EAClBmC,EAAOnC,QAAUsC,EAAanB,EAAYV,GAC1C0B,EAAOnC,QAAQuC,MAAMjC,MAQtB,CAACA,EAASa,EAAYa,EAAUpE,IACnCqE,EAAAA,WAAU,WACR,OAAO,WACLE,EAAOnC,SAAWmC,EAAOnC,QAAQqC,aAElC,IA1GHI,CAAiBtB,EAAYY,EAAOX,GAC7BW,KAeT,SAASO,EAAapB,EAAMwB,GAC1B,IAAIvF,IAAQkB,EAAK6C,GAyBjB,MAAO,CACLqB,MAxBU,SAASA,EAAMjC,GACzB,GAAIQ,EAAYI,GACdL,EAASK,GAAM/D,GAAOmD,EACtBqC,QACK,CACL,IAAIhD,EAAO+C,EAAIlE,cAAc,OAC7BmB,EAAKiD,aAAa,mBAAqB1B,EAAM,QAC7CJ,EAAYI,GAAQvB,EACpB+C,EAAIG,KAAKC,YAAYhC,EAAYI,IACjCqB,EAAMjC,KAgBRkC,OAZW,SAAgBlC,GAC3BO,EAASK,GAAM/D,GAAOmD,EACtBqC,KAWAN,QARY,kBACLxB,EAASK,GAAM/D,GACtBwF,MAUJ,SAASA,IACY,MAAfjC,GACFH,OAAOwC,aAAarC,GAGtBA,EAAcH,OAAOyC,YAAW,WAC9BpG,OAAOyB,KAAKwC,GAAUe,SAAQ,SAAUqB,GACtC,IAAI9B,EAAa8B,EACDnC,EAAYK,IAG1Bf,EAAMA,OAAe5B,EAAaA,cAACf,EAAgB,CACjDK,GAAI,OACUU,EAAAA,cAAc,MAAO,CAQnC0E,KAAqB,cAAf/B,EAA6B,QAAU,SAC7C,YAAaA,GACZvE,OAAOyB,KAAKwC,EAASM,IAAagC,KAAI,SAAUhG,GACjD,OAAoBiG,EAAYA,aAACvC,EAASM,GAAYhE,GAAM,CAC1DA,IAAKA,EACLS,IAAK,YAEHkD,EAAYK,SAGrB,KC1JL,SAASxE,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,WAG9B,SAASqG,EAAgBC,EAAGC,GAM1B,OALAF,EAAkBzG,OAAO4G,gBAAkB,SAAyBF,EAAGC,GAErE,OADAD,EAAEG,UAAYF,EACPD,GAGFD,EAAgBC,EAAGC,GAkB5B,SAASG,EAAUC,EAAQC,GACzB,IAAI7E,EAAW8E,EAAiBF,EAAQC,GACpCE,EAAQ/E,EAAW4E,EAAO5E,GAAUgF,WAAU,SAAUC,GAC1D,OAAOA,EAAMJ,KAAOA,MAChB,EACN,MAAO,CACL7E,SAAUA,EACV+E,MAAOA,GDgCkB,eAAzB3E,QAAQC,IAAIC,WACd0B,EAAMzB,YAAc,QACpByB,EAAMxB,UAAY,CAChBG,SAAUF,EAASA,UAACG,KACpBuB,KAAmB1B,EAAAA,UAAUyE,MAAM,CAAC,YAAa,aC5BrD,IAAIJ,EAAmB,SAA0BF,EAAQC,GACvD,IAAIM,EAEJ,OAEO,OAFCA,EAAwBtH,OAAOuH,OAAOR,GAAQS,OAAOC,MAAK,SAAUL,GAC1E,OAAOA,EAAMJ,KAAOA,WACR,EAASM,EAAsBnF,UAsC/C,IAAIuF,EAAsB,CACxBC,QAAS,SAAiBrG,GACxB,IAAIP,EAEAoB,EAAWb,EAAMa,SACjByF,EAAM,CAAC,MAAO,UAAUC,SAAS1F,GAAY,IAAM,IACnD2F,EAAS,CAAC,YAAa,gBAAgBD,SAAS1F,GAAY,GAAK,EAErE,MADiB,WAAbA,IAAuB2F,EAAS,IAC7B/G,EAAO,CACZgH,QAAS,IACHH,GAAgB,GAATE,EAAa/G,GAE9BiH,QAAS,CACPD,QAAS,EACTE,EAAG,EACHC,EAAG,EACHC,MAAO,EACPC,WAAY,CACVC,SAAU,GACVC,KAAM,CAAC,GAAK,EAAG,GAAK,KAGxBC,KAAM,CACJR,QAAS,EACTI,MAAO,IACPC,WAAY,CACVC,SAAU,GACVC,KAAM,CAAC,GAAK,EAAG,EAAG,MAIpBE,EAAU,SAAelH,GAC3B,IAAI0F,EAAK1F,EAAM0F,GACXyB,EAAUnH,EAAMmH,QAChBC,EAAkBpH,EAAMoH,gBACxBC,EAAkBrH,EAAMqH,gBACxBC,EAAsBtH,EAAMuH,aAC5BA,OAAuC,IAAxBD,GAAyCA,EACxDE,EAAkBxH,EAAMa,SACxBA,OAA+B,IAApB2G,EAA6B,SAAWA,EACnDC,EAAkBzH,EAAM+G,SACxBA,OAA+B,IAApBU,EAA6B,IAAOA,EAC/CC,EAAwB1H,EAAM2H,eAC9BA,OAA2C,IAA1BD,EAAmC,GAAKA,EAEzDE,EAAkBC,EAAMC,SAASf,GACjCgB,EAAQH,EAAgB,GACxBI,EAAWJ,EAAgB,GAE3BK,EAAYC,EAAAA,eAChBC,EAAAA,iBAAgB,WACTF,GACgB,MAAnBb,GAAmCA,MAEpC,CAACa,IACJE,EAAAA,iBAAgB,WACdH,EAASjB,KACR,CAACA,IAEJ,IAQIqB,EAAQ,WACNH,GAAWZ,KAGjBQ,EAAM9D,WAAU,WACVkE,GAAaV,GACfF,MAED,CAACY,EAAWV,EAAcF,IAC7BgB,aAAWD,EAAOL,GAClB,IAAIhI,EAAQ8H,EAAMrE,SAAQ,WACxB,OA7GJ,SAAuB3C,GACrB,IAEIyH,EAAa,SAGjB,OALezH,EAAS0F,SAAS,WAGnB+B,EAAa,YAFbzH,EAAS0F,SAAS,UAGnB+B,EAAa,cACnB,CACLC,QAAS,OACTC,cAAe,SACfF,WAAYA,GAoGLG,CAAc5H,KACpB,CAACA,IACJ,OAAoBgH,EAAMvH,cAAcoI,EAAMA,OAACC,GAAI,CACjDC,QAAQ,EACRC,UAAW,eACXC,SAAU1C,EACVC,QAAS,UACTK,QAAS,UACTO,KAAM,OACN8B,aA5BiB,WACjB,OAAOf,EAAS,OA4BhBgB,WAzBiB,WACjB,OAAOhB,EAASjB,IAyBhBkC,OAAQ,CACNpI,SAAUA,GAEZd,MAAOA,GACO8H,EAAMvH,cAAc4I,EAAY,CAC9CL,UAAW,sBACX9I,MAAOtB,EAAS,CACd0K,cAAe,OACfC,SAAU,IACVC,SAAU,IACV3I,OAAQ,UACPiH,IACF9F,EAAUA,WAACsF,GAAWA,EAAQ,CAC/BzB,GAAIA,EACJ4D,QAASlB,IACNjB,KAGHoC,YACFrC,EAAQ9F,YAAc,SAOxB,IAAIoI,EAA4B,SAAUC,GA5L1C,IAAwBC,EAAUC,EAuMhC,SAASH,EAAaxJ,GACpB,IAAI4J,GAEJA,EAAQH,EAAiBrK,KAAKE,KAAMU,IAAUV,MACxCuK,MAAQ,CACZC,IAAK,GACL,WAAY,GACZ,YAAa,GACb,cAAe,GACfC,OAAQ,GACR,eAAgB,IAGlBH,EAAMI,OAAS,SAAU7C,EAAS8C,GAChC,IAAInE,EAAQ8D,EAAMM,YAAY/C,EAAS8C,GAEnCpJ,EAAWiF,EAAMjF,SACjB6E,EAAKI,EAAMJ,GAkBf,OAhBAkE,EAAMO,UAAS,SAAUC,GACvB,IAAIC,EAWA5E,EATQ5E,EAAS0F,SAAS,OAST,CAACT,GAAOnC,OAAOyG,EAAWvJ,IAAa,GAAG8C,OAAOyG,EAAWvJ,GAAW,CAACiF,IAC7F,OAAOrH,EAAS,GAAI2L,IAAaC,EAAY,IAAcxJ,GAAY4E,EAAQ4E,OAG1E3E,GAGTkE,EAAMU,YAAc,SAAU5E,EAAIuE,GAChCL,EAAMO,UAAS,SAAUI,GACvB,IAAIC,EAAY/L,EAAS,GAAI8L,GAEzBE,EAAajF,EAAUgF,EAAW9E,GAClC7E,EAAW4J,EAAW5J,SACtB+E,EAAQ6E,EAAW7E,MAMvB,OAJI/E,IAAuB,IAAX+E,IACd4E,EAAU3J,GAAU+E,GAASnH,EAAS,GAAI+L,EAAU3J,GAAU+E,GAAQqE,IAGjEO,MAIXZ,EAAMc,SAAW,SAAUC,GACzB,IACIC,QADiB,IAAVD,EAAmB,GAAKA,GACdC,UAIrBhB,EAAMO,UAAS,SAAUU,GAGvB,OADoC,MAAbD,EAAoBA,EADxB,CAAC,SAAU,eAAgB,cAAe,MAAO,WAAY,cAExDE,QAAO,SAAUC,EAAKlK,GAM5C,OALAkK,EAAIlK,GAAYgK,EAAKhK,GAAUoE,KAAI,SAAUa,GAC3C,OAAOrH,EAAS,GAAIqH,EAAO,CACzByB,cAAc,OAGXwD,IACN,QAIPnB,EAAMM,YAAc,SAAU/C,EAAS8C,GACrC,IAAIe,EAAaC,EAEjBzB,EAAa0B,SAAW,EACxB,IAAIxF,EAAmC,OAA7BsF,EAAcf,EAAQvE,IAAcsF,EAAcxB,EAAa0B,QACrErK,EAAqD,OAAzCoK,EAAoBhB,EAAQpJ,UAAoBoK,EAAoB,MACpF,MAAO,CACLvF,GAAIA,EACJyB,QAASA,EACTtG,SAAUA,EACVkG,SAAUkD,EAAQlD,SAClBK,gBAAiB6C,EAAQ7C,gBACzBC,gBAAiB,WACf,OAAOuC,EAAMuB,YAAYC,OAAO1F,GAAK7E,IAEvCwK,OAAQpB,EAAQoB,OAChB9D,cAAc,EACdI,eAAgBsC,EAAQtC,iBAI5BiC,EAAM0B,WAAa,SAAU5F,GAC3BkE,EAAMO,UAAS,SAAUI,GACvB,IAAIgB,EAEA1K,EAAW8E,EAAiB4E,EAAW7E,GAC3C,OAAK7E,EACEpC,EAAS,GAAI8L,IAAYgB,EAAY,IAAc1K,GAAY0J,EAAU1J,GAAUoE,KAAI,SAAUa,GAGtG,OAAIA,EAAMJ,IAAMA,EACPjH,EAAS,GAAIqH,EAAO,CACzByB,cAAc,IAIXzB,KACLyF,IAXkBhB,MAe1BX,EAAMuB,YAAc,SAAUzF,EAAI7E,GAChC+I,EAAMO,UAAS,SAAUI,GACvB,IAAIiB,EAEJ,OAAO/M,EAAS,GAAI8L,IAAYiB,EAAY,IAAc3K,GAAY0J,EAAU1J,GAAU4K,QAAO,SAAU3F,GACzG,OAAOA,EAAMJ,IAAMA,KACjB8F,QAIR5B,EAAM8B,UAAY,SAAUhG,GAC1B,IACI7E,EADc2E,EAAUoE,EAAMC,MAAOnE,GACd7E,SAE3B,OAAO8K,QAAQ9K,IAGjB+I,EAAMgC,SAAW,SAAU/K,GAOzB,MAAO,CACLA,SAAU,QACVgL,OAAQ,KACR1C,cAAe,OACfZ,QAAS,OACTC,cAAe,SACf9H,OAZ+B,QAAbG,GAAmC,WAAbA,EACb,cAAWiL,EAYtChC,IAXQjJ,EAAS0F,SAAS,OAAS,qCAAkCuF,EAYrE/B,OAXWlJ,EAAS0F,SAAS,UAAY,wCAAqCuF,EAY9EC,MAXWlL,EAAS0F,SAAS,aAA8CuF,EAApC,kCAYvCE,KAXUnL,EAAS0F,SAAS,cAA8CuF,EAAnC,mCAe3C,IAAIG,EAAU,CACZjC,OAAQJ,EAAMI,OACdU,SAAUd,EAAMc,SAChBtC,MAAOwB,EAAM0B,WACbhH,OAAQsF,EAAMU,YACd4B,SAAUtC,EAAM8B,WAGlB,OADA1L,EAAMgK,OAAOiC,GACNrC,EA6BT,OArYgCD,EA6LHF,GA7LPC,EA6LPF,GA5LNtK,UAAYR,OAAOyN,OAAOxC,EAAWzK,WAC9CwK,EAASxK,UAAUkN,YAAc1C,EACjCvE,EAAgBuE,EAAUC,GA6WbH,EAAatK,UAEnBgD,OAAS,WACd,IAAImK,EAAS/M,KAEb,OAAOgN,EAAAA,WAAWhN,KAAKuK,OAAO5E,KAAI,SAAUpE,GAC1C,IAAI4E,EAAS4G,EAAOxC,MAAMhJ,GAC1B,OAAoBgH,EAAMvH,cAAc,KAAM,CAC5CrB,IAAK4B,EACL6E,GAAI,wBAA0B7E,EAC9Bd,MAAOsM,EAAOT,SAAS/K,IACTgH,EAAMvH,cAAciM,kBAAiB,CACnDlG,SAAS,GACRZ,EAAOR,KAAI,SAAUa,GACtB,OAAoB+B,EAAMvH,cAAc4G,EAASzI,EAAS,CACxDQ,IAAK6G,EAAMJ,IACVI,aAKF0D,EAzMuB,CA0M9B3B,EAAM2E,WACRhD,EAAa0B,QAAU,EAEvB,IA6EIpF,EAAQ,IAjEZ,WACE,IAAI8D,EAAQtK,KA4CZ,GA1CAA,KAAK4K,iBAAc,EACnB5K,KAAKmN,eAAY,EACjBnN,KAAKgM,gBAAa,EAClBhM,KAAKgL,iBAAc,EACnBhL,KAAKoN,mBAAgB,EAErBpN,KAAKqN,cAAgB,SAAUV,GAC7BrC,EAAMM,YAAc+B,EAAQjC,OAC5BJ,EAAM6C,UAAYR,EAAQvB,SAC1Bd,EAAM0B,WAAaW,EAAQ7D,MAC3BwB,EAAMU,YAAc2B,EAAQ3H,OAC5BsF,EAAM8C,cAAgBT,EAAQC,UAGhC5M,KAAK0K,OAAS,SAAU7C,EAAS8C,GAK/B,YAJgB,IAAZA,IACFA,EAAU,IAGgB,MAArBL,EAAMM,iBAAsB,EAASN,EAAMM,YAAY/C,EAAS8C,IAGzE3K,KAAK8I,MAAQ,SAAU1C,GACD,MAApBkE,EAAM0B,YAA8B1B,EAAM0B,WAAW5F,IAGvDpG,KAAKoL,SAAW,SAAUT,GACL,MAAnBL,EAAM6C,WAA6B7C,EAAM6C,UAAUxC,IAGrD3K,KAAKgF,OAAS,SAAUoB,EAAIuE,QACV,IAAZA,IACFA,EAAU,IAGS,MAArBL,EAAMU,aAA+BV,EAAMU,YAAY5E,EAAIuE,IAG7D3K,KAAK4M,SAAW,SAAUxG,GACxB,OAA8B,MAAvBkE,EAAM8C,mBAAwB,EAAS9C,EAAM8C,cAAchH,IAG/DkH,EAASA,UAAd,CACA,IAAIC,EACAC,EAAiBxK,SAASyK,eA3DjB,uBA6Db,GAAID,EACFD,EAASC,MACJ,CACL,IAAIE,EAEAC,EAAM3K,SAAShC,cAAc,OACjC2M,EAAIvH,GAnEO,sBAoEyB,OAAnCsH,EAAiB1K,SAASqC,OAAyBqI,EAAepI,YAAYqI,GAC/EJ,EAASI,EAGX/K,SAAqB2F,EAAMvH,cAAckJ,EAAc,CACrDQ,OAAQ1K,KAAKqN,gBACXE,KCvfU,SAAAK,EACdrM,EACAyF,SAEA,IAAKzF,EAAU,OACf,MAOMsM,EAPgC,CACpC,YAAa,CAAEC,IAAK,WAAYC,IAAK,aACrC,UAAW,CAAED,IAAK,YAAaC,IAAK,YACpC,eAAgB,CAAED,IAAK,cAAeC,IAAK,gBAC3C,aAAc,CAAED,IAAK,eAAgBC,IAAK,gBAGnBxM,GACzB,OAAyB,QAAlByM,EAAAH,MAAAA,OAAO,EAAPA,EAAU7G,UAAQ,IAAAgH,EAAAA,EAAAzM,ECsC3B,MAAM0M,EAAoCvN,IACxC,MAAMa,SAAEA,EAAQkG,SAAEA,EAAQrB,GAAEA,EAAE0B,gBAAEA,EAAeO,eAAEA,GAA4B3H,EAATwN,EAAIC,EAAAA,OAAKzN,EAAvE,CAAA,WAAA,WAAA,KAAA,kBAAA,mBAEN,OAAO6H,EAAAvH,cAACuC,QAAKnE,OAAAC,OAAA,CAAC+G,GAAIA,EAA0BgI,SAAO,GAAKF,KAGpDG,EAA4B,CAChCC,MAAO,GACP7G,SAAU,IACVlG,SAAU,OAUNgN,EAA+D,CACnEC,MAAOC,EAAYD,MACnBE,UAAW,OACXC,gBAAiBC,EAAIA,KACrBC,aAAcD,EAAIA,KAClBE,eAAgBT,oBAqDO1D,IACvB,MAAM6D,EAAQO,EAAAA,WACRC,EAAeC,eAAatE,GAElC,MApD4B,GAC5B6D,MAAAA,EAAQD,EAAuBC,MAC/BM,eAAAA,EAAiBP,EAAuBO,gBACVP,KAC9B,MAAMW,EAAsB,CAC1BxO,EACAiK,IAEApC,EAACvH,cAAAmO,EAAaA,cAAC,CAAAX,MAAOA,GACpBjG,EAACvH,cAAAiN,mBAAUvN,EAAWiK,KAIpByE,EAAazE,IACjB,MAAM0E,EAAOjQ,OAAAC,OAAAD,OAAAC,OAAA,GAAKyP,GAAmBnE,GAKrC,OAJA0E,EAAK9N,SAAWqM,EAAkByB,EAAK9N,SAAUiN,EAAMc,WAIhD9I,EAAMkE,QAF2BhK,GAAUwO,EAAoBxO,EAAO2O,IAEhDA,IAqB/B,OAlBAD,EAAUtG,MAAQtC,EAAMsC,MACxBsG,EAAUhE,SAAW5E,EAAM4E,SAG3BgE,EAAUpK,OAAS,CAACoB,EAAauE,KAC/B,IAAKvE,EAAI,OAET,MAAMiJ,EAAOjQ,OAAAC,OAAAD,OAAAC,OAAA,GAAKyP,GAAmBnE,GACrC0E,EAAK9N,SAAWqM,EAAkByB,EAAK9N,SAAUiN,EAAMc,WAEvD9I,EAAMxB,OAAOoB,iCACRiJ,GAAI,CACPxH,QAAUnH,GAAUwO,EAAoBxO,EAAO2O,OAInDD,EAAUxC,SAAWpG,EAAMoG,SAEpBwC,GAYAG,CAAsB,CAAEf,MAAAA,EAAOM,8CADVT,GAAaW,EAAaxM"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),a=require("./useTheme-ee73b181.js"),r=require("./icon.component-8d0ca544.js"),l=require("./text.component-a1231840.js"),n=require("./chakra-ui-form-control.esm-b138a4e1.js"),i=require("./chakra-ui-layout.esm-0601b9a5.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t);exports.withFormControl=function(o){function d(d){var{errorText:u="Field is invalid",formControlStyle:m,helperText:c,invalidIconColor:f="warning",isDisabled:x,isFieldInline:b=!1,isInvalid:p,isOnContrast:g,isReadOnly:v,isRequired:I,showRequiredState:S,label:C,labelPosition:E="start",labelStyle:T,size:O="md",useInvalidBorder:q=!0,useInvalidIcon:y=!1,useInvalidText:h=!0}=d,j=e.__rest(d,["errorText","formControlStyle","helperText","invalidIconColor","isDisabled","isFieldInline","isInvalid","isOnContrast","isReadOnly","isRequired","showRequiredState","label","labelPosition","labelStyle","size","useInvalidBorder","useInvalidIcon","useInvalidText"]);const{fontSizes:z}=a.useTheme(),F={lg:14,md:12,sm:10},w=t.useMemo((()=>(void 0===S||S)&&I),[I,S]),R=t.useMemo((()=>void 0!==S&&(S&&!I)),[I,S]);return s.default.createElement(n.FormControl,Object.assign({isInvalid:p,isReadOnly:v,isDisabled:x},b&&{display:"grid",gridTemplateColumns:"repeat(2, auto)",gridTemplateRows:"repeat(3, auto)",alignItems:"center",w:"max-content"},m),C&&"start"===E&&s.default.createElement(n.FormLabel,Object.assign({color:g?"text.onContrast":"text.default",fontSize:z[O],_disabled:{opacity:1}},b&&{mb:0,ml:0,mr:2},T),C,w&&s.default.createElement(l.WrappedText,{color:"text.danger"}," *"),R&&s.default.createElement(l.WrappedText,{fontSize:F[O],fontWeight:"normal",color:"text.subtle"}," (Optional)")),s.default.createElement(i.HStack,{w:b?"max-content":"100%",align:"center"},s.default.createElement(o,Object.assign({size:O,isFieldInline:b,isOnContrast:g,isRequired:I,isDisabled:x},I&&{"aria-required":!0},j)),y&&p&&s.default.createElement(r.Icon,{name:"warningSign",variant:f,size:O})),C&&"end"===E&&s.default.createElement(n.FormLabel,Object.assign({color:g?"text.onContrast":"text.default",fontSize:z[O]},b&&{mb:0,ml:2,mr:0},T),C,w&&s.default.createElement(l.WrappedText,{color:"text.danger"}," *"),R&&s.default.createElement(l.WrappedText,{fontSize:F[O],fontWeight:"normal",color:"text.subtle"}," (Optional)")),"start"===E&&s.default.createElement(i.Spacer,null),s.default.createElement(i.VStack,{align:"flex-start"},h&&p&&s.default.createElement(n.FormErrorMessage,{mt:2,fontSize:"xs",color:g?"text.dangerOnContrast":"text.danger"},u),c&&s.default.createElement(n.FormHelperText,{mt:2,color:g?"text.subtleOnContrast":"text.subtle",fontSize:"xs"},c)))}return d.displayName=`withFormControl(${o.displayName||o.name}`,d};
2
- //# sourceMappingURL=withFormControl-a4a73b4d.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),a=require("./useTheme-ee73b181.js"),r=require("./icon.component-a5eb83e4.js"),l=require("./text.component-a1231840.js"),n=require("./chakra-ui-form-control.esm-b138a4e1.js"),i=require("./chakra-ui-layout.esm-0601b9a5.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t);exports.withFormControl=function(o){function d(d){var{errorText:u="Field is invalid",formControlStyle:m,helperText:c,invalidIconColor:f="warning",isDisabled:x,isFieldInline:b=!1,isInvalid:p,isOnContrast:g,isReadOnly:v,isRequired:I,showRequiredState:S,label:C,labelPosition:E="start",labelStyle:T,size:O="md",useInvalidBorder:q=!0,useInvalidIcon:y=!1,useInvalidText:h=!0}=d,j=e.__rest(d,["errorText","formControlStyle","helperText","invalidIconColor","isDisabled","isFieldInline","isInvalid","isOnContrast","isReadOnly","isRequired","showRequiredState","label","labelPosition","labelStyle","size","useInvalidBorder","useInvalidIcon","useInvalidText"]);const{fontSizes:z}=a.useTheme(),F={lg:14,md:12,sm:10},w=t.useMemo((()=>(void 0===S||S)&&I),[I,S]),R=t.useMemo((()=>void 0!==S&&(S&&!I)),[I,S]);return s.default.createElement(n.FormControl,Object.assign({isInvalid:p,isReadOnly:v,isDisabled:x},b&&{display:"grid",gridTemplateColumns:"repeat(2, auto)",gridTemplateRows:"repeat(3, auto)",alignItems:"center",w:"max-content"},m),C&&"start"===E&&s.default.createElement(n.FormLabel,Object.assign({color:g?"text.onContrast":"text.default",fontSize:z[O],_disabled:{opacity:1}},b&&{mb:0,ml:0,mr:2},T),C,w&&s.default.createElement(l.WrappedText,{color:"text.danger"}," *"),R&&s.default.createElement(l.WrappedText,{fontSize:F[O],fontWeight:"normal",color:"text.subtle"}," (Optional)")),s.default.createElement(i.HStack,{w:b?"max-content":"100%",align:"center"},s.default.createElement(o,Object.assign({size:O,isFieldInline:b,isOnContrast:g,isRequired:I,isDisabled:x},I&&{"aria-required":!0},j)),y&&p&&s.default.createElement(r.Icon,{name:"warningSign",variant:f,size:O})),C&&"end"===E&&s.default.createElement(n.FormLabel,Object.assign({color:g?"text.onContrast":"text.default",fontSize:z[O]},b&&{mb:0,ml:2,mr:0},T),C,w&&s.default.createElement(l.WrappedText,{color:"text.danger"}," *"),R&&s.default.createElement(l.WrappedText,{fontSize:F[O],fontWeight:"normal",color:"text.subtle"}," (Optional)")),"start"===E&&s.default.createElement(i.Spacer,null),s.default.createElement(i.VStack,{align:"flex-start"},h&&p&&s.default.createElement(n.FormErrorMessage,{mt:2,fontSize:"xs",color:g?"text.dangerOnContrast":"text.danger"},u),c&&s.default.createElement(n.FormHelperText,{mt:2,color:g?"text.subtleOnContrast":"text.subtle",fontSize:"xs"},c)))}return d.displayName=`withFormControl(${o.displayName||o.name}`,d};
2
+ //# sourceMappingURL=withFormControl-ba1efcf6.js.map