@channel.io/bezier-react 1.7.1 → 1.7.2

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 (186) hide show
  1. package/dist/cjs/components/Forms/FormControl/FormControl.js +1 -1
  2. package/dist/cjs/components/Forms/FormControl/FormControl.js.map +1 -1
  3. package/dist/cjs/components/Forms/FormControl/FormControlContext.js +4 -3
  4. package/dist/cjs/components/Forms/FormControl/FormControlContext.js.map +1 -1
  5. package/dist/cjs/components/Forms/FormGroup/FormGroup.js +2 -2
  6. package/dist/cjs/components/Forms/FormGroup/FormGroup.js.map +1 -1
  7. package/dist/cjs/components/Forms/FormHelperText/FormHelperText.js +2 -2
  8. package/dist/cjs/components/Forms/FormHelperText/FormHelperText.js.map +1 -1
  9. package/dist/cjs/components/Forms/FormLabel/FormLabel.js +2 -2
  10. package/dist/cjs/components/Forms/FormLabel/FormLabel.js.map +1 -1
  11. package/dist/cjs/components/Forms/SegmentedControl/SegmentedControlContext.js +3 -15
  12. package/dist/cjs/components/Forms/SegmentedControl/SegmentedControlContext.js.map +1 -1
  13. package/dist/cjs/components/Forms/useFormFieldProps.js +2 -2
  14. package/dist/cjs/components/Forms/useFormFieldProps.js.map +1 -1
  15. package/dist/cjs/components/ListItem/ListItem.styled.js +1 -1
  16. package/dist/cjs/components/Modals/Modal/Modal.js.map +1 -1
  17. package/dist/cjs/components/Modals/Modal/Modal.types.js.map +1 -1
  18. package/dist/cjs/components/Modals/Modal/ModalContent.js +1 -1
  19. package/dist/cjs/components/Modals/Modal/ModalContent.js.map +1 -1
  20. package/dist/cjs/components/Modals/Modal/ModalContentContext.js +4 -6
  21. package/dist/cjs/components/Modals/Modal/ModalContentContext.js.map +1 -1
  22. package/dist/cjs/components/Modals/Modal/ModalHeader.js +1 -1
  23. package/dist/cjs/components/Modals/Modal/ModalHeader.js.map +1 -1
  24. package/dist/cjs/components/OutlineItem/OutlineItem.js +2 -3
  25. package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
  26. package/dist/cjs/components/OutlineItem/OutlineItemContext.js +9 -5
  27. package/dist/cjs/components/OutlineItem/OutlineItemContext.js.map +1 -1
  28. package/dist/cjs/components/Spinner/Spinner.styled.js +1 -1
  29. package/dist/cjs/components/Tabs/TabAction.js +1 -1
  30. package/dist/cjs/components/Tabs/TabAction.js.map +1 -1
  31. package/dist/cjs/components/Tabs/TabItem.js +1 -1
  32. package/dist/cjs/components/Tabs/TabItem.js.map +1 -1
  33. package/dist/cjs/components/Tabs/TabList.js +1 -1
  34. package/dist/cjs/components/Tabs/TabList.js.map +1 -1
  35. package/dist/cjs/components/Tabs/TabListContext.js +4 -6
  36. package/dist/cjs/components/Tabs/TabListContext.js.map +1 -1
  37. package/dist/cjs/components/Toast/ToastContext.js +4 -6
  38. package/dist/cjs/components/Toast/ToastContext.js.map +1 -1
  39. package/dist/cjs/components/Toast/ToastProvider.js +1 -4
  40. package/dist/cjs/components/Toast/ToastProvider.js.map +1 -1
  41. package/dist/cjs/components/Toast/useToast.js +2 -3
  42. package/dist/cjs/components/Toast/useToast.js.map +1 -1
  43. package/dist/cjs/components/Tooltip/Tooltip.js +4 -16
  44. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  45. package/dist/cjs/components/Tooltip/Tooltip.styled.js +3 -56
  46. package/dist/cjs/components/Tooltip/Tooltip.styled.js.map +1 -1
  47. package/dist/cjs/components/Tooltip/Tooltip.types.js.map +1 -1
  48. package/dist/cjs/features/FeatureProvider.js +4 -3
  49. package/dist/cjs/features/FeatureProvider.js.map +1 -1
  50. package/dist/cjs/index.js +1 -3
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/utils/reactUtils.js +21 -0
  53. package/dist/cjs/utils/reactUtils.js.map +1 -1
  54. package/dist/esm/components/Forms/FormControl/FormControl.mjs +2 -2
  55. package/dist/esm/components/Forms/FormControl/FormControl.mjs.map +1 -1
  56. package/dist/esm/components/Forms/FormControl/FormControlContext.mjs +3 -3
  57. package/dist/esm/components/Forms/FormControl/FormControlContext.mjs.map +1 -1
  58. package/dist/esm/components/Forms/FormGroup/FormGroup.mjs +1 -1
  59. package/dist/esm/components/Forms/FormGroup/FormGroup.mjs.map +1 -1
  60. package/dist/esm/components/Forms/FormHelperText/FormHelperText.mjs +1 -1
  61. package/dist/esm/components/Forms/FormHelperText/FormHelperText.mjs.map +1 -1
  62. package/dist/esm/components/Forms/FormLabel/FormLabel.mjs +1 -1
  63. package/dist/esm/components/Forms/FormLabel/FormLabel.mjs.map +1 -1
  64. package/dist/esm/components/Forms/SegmentedControl/SegmentedControlContext.mjs +3 -15
  65. package/dist/esm/components/Forms/SegmentedControl/SegmentedControlContext.mjs.map +1 -1
  66. package/dist/esm/components/Forms/useFormFieldProps.mjs +1 -1
  67. package/dist/esm/components/Forms/useFormFieldProps.mjs.map +1 -1
  68. package/dist/esm/components/ListItem/ListItem.styled.mjs +1 -1
  69. package/dist/esm/components/Modals/Modal/Modal.mjs.map +1 -1
  70. package/dist/esm/components/Modals/Modal/Modal.types.mjs.map +1 -1
  71. package/dist/esm/components/Modals/Modal/ModalContent.mjs +2 -2
  72. package/dist/esm/components/Modals/Modal/ModalContent.mjs.map +1 -1
  73. package/dist/esm/components/Modals/Modal/ModalContentContext.mjs +3 -4
  74. package/dist/esm/components/Modals/Modal/ModalContentContext.mjs.map +1 -1
  75. package/dist/esm/components/Modals/Modal/ModalHeader.mjs +3 -3
  76. package/dist/esm/components/Modals/Modal/ModalHeader.mjs.map +1 -1
  77. package/dist/esm/components/OutlineItem/OutlineItem.mjs +2 -3
  78. package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
  79. package/dist/esm/components/OutlineItem/OutlineItemContext.mjs +8 -3
  80. package/dist/esm/components/OutlineItem/OutlineItemContext.mjs.map +1 -1
  81. package/dist/esm/components/Spinner/Spinner.styled.mjs +1 -1
  82. package/dist/esm/components/Tabs/TabAction.mjs +3 -3
  83. package/dist/esm/components/Tabs/TabAction.mjs.map +1 -1
  84. package/dist/esm/components/Tabs/TabItem.mjs +3 -3
  85. package/dist/esm/components/Tabs/TabItem.mjs.map +1 -1
  86. package/dist/esm/components/Tabs/TabList.mjs +2 -2
  87. package/dist/esm/components/Tabs/TabList.mjs.map +1 -1
  88. package/dist/esm/components/Tabs/TabListContext.mjs +3 -4
  89. package/dist/esm/components/Tabs/TabListContext.mjs.map +1 -1
  90. package/dist/esm/components/Toast/ToastContext.mjs +3 -4
  91. package/dist/esm/components/Toast/ToastContext.mjs.map +1 -1
  92. package/dist/esm/components/Toast/ToastProvider.mjs +2 -5
  93. package/dist/esm/components/Toast/ToastProvider.mjs.map +1 -1
  94. package/dist/esm/components/Toast/useToast.mjs +3 -4
  95. package/dist/esm/components/Toast/useToast.mjs.map +1 -1
  96. package/dist/esm/components/Tooltip/Tooltip.mjs +4 -16
  97. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  98. package/dist/esm/components/Tooltip/Tooltip.styled.mjs +3 -56
  99. package/dist/esm/components/Tooltip/Tooltip.styled.mjs.map +1 -1
  100. package/dist/esm/components/Tooltip/Tooltip.types.mjs.map +1 -1
  101. package/dist/esm/features/FeatureProvider.mjs +5 -4
  102. package/dist/esm/features/FeatureProvider.mjs.map +1 -1
  103. package/dist/esm/index.mjs +1 -2
  104. package/dist/esm/index.mjs.map +1 -1
  105. package/dist/esm/utils/reactUtils.mjs +21 -1
  106. package/dist/esm/utils/reactUtils.mjs.map +1 -1
  107. package/dist/types/components/Forms/FormControl/FormControlContext.d.ts +1 -1
  108. package/dist/types/components/Forms/FormControl/FormControlContext.d.ts.map +1 -1
  109. package/dist/types/components/Forms/FormControl/index.d.ts +1 -1
  110. package/dist/types/components/Forms/FormControl/index.d.ts.map +1 -1
  111. package/dist/types/components/Forms/SegmentedControl/SegmentedControlContext.d.ts +3 -3
  112. package/dist/types/components/Forms/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  113. package/dist/types/components/Forms/index.d.ts +1 -2
  114. package/dist/types/components/Forms/index.d.ts.map +1 -1
  115. package/dist/types/components/Forms/useFormFieldProps.d.ts.map +1 -1
  116. package/dist/types/components/Modals/Modal/Modal.types.d.ts +1 -1
  117. package/dist/types/components/Modals/Modal/Modal.types.d.ts.map +1 -1
  118. package/dist/types/components/Modals/Modal/ModalContentContext.d.ts +2 -3
  119. package/dist/types/components/Modals/Modal/ModalContentContext.d.ts.map +1 -1
  120. package/dist/types/components/Modals/Modal/ModalHeader.d.ts.map +1 -1
  121. package/dist/types/components/OutlineItem/OutlineItem.d.ts.map +1 -1
  122. package/dist/types/components/OutlineItem/OutlineItemContext.d.ts +4 -10
  123. package/dist/types/components/OutlineItem/OutlineItemContext.d.ts.map +1 -1
  124. package/dist/types/components/Tabs/TabAction.d.ts.map +1 -1
  125. package/dist/types/components/Tabs/TabItem.d.ts.map +1 -1
  126. package/dist/types/components/Tabs/TabListContext.d.ts +1 -2
  127. package/dist/types/components/Tabs/TabListContext.d.ts.map +1 -1
  128. package/dist/types/components/Toast/ToastContext.d.ts +1 -2
  129. package/dist/types/components/Toast/ToastContext.d.ts.map +1 -1
  130. package/dist/types/components/Toast/ToastProvider.d.ts.map +1 -1
  131. package/dist/types/components/Toast/useToast.d.ts.map +1 -1
  132. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  133. package/dist/types/components/Tooltip/Tooltip.styled.d.ts.map +1 -1
  134. package/dist/types/components/Tooltip/Tooltip.types.d.ts +3 -3
  135. package/dist/types/features/FeatureProvider.d.ts.map +1 -1
  136. package/dist/types/utils/reactUtils.d.ts +14 -0
  137. package/dist/types/utils/reactUtils.d.ts.map +1 -1
  138. package/package.json +1 -1
  139. package/src/components/Forms/FormControl/FormControl.tsx +3 -3
  140. package/src/components/Forms/FormControl/FormControlContext.ts +5 -2
  141. package/src/components/Forms/FormControl/index.ts +1 -1
  142. package/src/components/Forms/FormGroup/FormGroup.tsx +1 -1
  143. package/src/components/Forms/FormHelperText/FormHelperText.tsx +1 -1
  144. package/src/components/Forms/FormLabel/FormLabel.tsx +1 -1
  145. package/src/components/Forms/SegmentedControl/SegmentedControlContext.ts +3 -26
  146. package/src/components/Forms/Slider/Slider.test.tsx +11 -4
  147. package/src/components/Forms/index.ts +0 -2
  148. package/src/components/Forms/useFormFieldProps.ts +1 -2
  149. package/src/components/KeyValueListItem/KeyValueListItem.test.tsx +4 -1
  150. package/src/components/Modals/Modal/Modal.stories.tsx +1 -1
  151. package/src/components/Modals/Modal/Modal.tsx +0 -1
  152. package/src/components/Modals/Modal/Modal.types.ts +1 -1
  153. package/src/components/Modals/Modal/ModalContent.tsx +3 -3
  154. package/src/components/Modals/Modal/ModalContentContext.ts +5 -4
  155. package/src/components/Modals/Modal/ModalHeader.tsx +3 -6
  156. package/src/components/OutlineItem/OutlineItem.tsx +6 -4
  157. package/src/components/OutlineItem/OutlineItemContext.ts +16 -5
  158. package/src/components/Tabs/TabAction.tsx +3 -6
  159. package/src/components/Tabs/TabItem.tsx +3 -6
  160. package/src/components/Tabs/TabList.tsx +3 -3
  161. package/src/components/Tabs/TabListContext.ts +5 -4
  162. package/src/components/Toast/ToastContext.ts +5 -5
  163. package/src/components/Toast/ToastProvider.tsx +3 -5
  164. package/src/components/Toast/useToast.ts +3 -5
  165. package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
  166. package/src/components/Tooltip/Tooltip.styled.ts +0 -77
  167. package/src/components/Tooltip/Tooltip.test.tsx +8 -2
  168. package/src/components/Tooltip/Tooltip.tsx +4 -27
  169. package/src/components/Tooltip/Tooltip.types.ts +3 -3
  170. package/src/components/Tooltip/index.ts +0 -1
  171. package/src/features/FeatureProvider.tsx +9 -6
  172. package/src/utils/reactUtils.ts +41 -0
  173. package/dist/cjs/components/Forms/useFormControlContext.js +0 -13
  174. package/dist/cjs/components/Forms/useFormControlContext.js.map +0 -1
  175. package/dist/cjs/components/OutlineItem/useOutlineItemContext.js +0 -16
  176. package/dist/cjs/components/OutlineItem/useOutlineItemContext.js.map +0 -1
  177. package/dist/esm/components/Forms/useFormControlContext.mjs +0 -9
  178. package/dist/esm/components/Forms/useFormControlContext.mjs.map +0 -1
  179. package/dist/esm/components/OutlineItem/useOutlineItemContext.mjs +0 -12
  180. package/dist/esm/components/OutlineItem/useOutlineItemContext.mjs.map +0 -1
  181. package/dist/types/components/Forms/useFormControlContext.d.ts +0 -3
  182. package/dist/types/components/Forms/useFormControlContext.d.ts.map +0 -1
  183. package/dist/types/components/OutlineItem/useOutlineItemContext.d.ts +0 -4
  184. package/dist/types/components/OutlineItem/useOutlineItemContext.d.ts.map +0 -1
  185. package/src/components/Forms/useFormControlContext.ts +0 -9
  186. package/src/components/OutlineItem/useOutlineItemContext.ts +0 -16
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var functionUtils = require('../../utils/functionUtils.js');
4
+ var reactUtils = require('../../utils/reactUtils.js');
5
5
 
6
6
  const defaultOutlineItemContext = {
7
7
  depth: 0,
@@ -20,9 +20,13 @@ function mergeOutlineItemContexts(inherited, props, indent) {
20
20
  }
21
21
  };
22
22
  }
23
- const OutlineItemContext = /*#__PURE__*/React.createContext(defaultOutlineItemContext);
23
+ const [OutlineItemContextProvider, useOutlineItemContextBase] = reactUtils.createContext(defaultOutlineItemContext);
24
+ const useOutlineItemContext = (props, indent) => {
25
+ const inheritedContext = useOutlineItemContextBase() ?? defaultOutlineItemContext;
26
+ const context = mergeOutlineItemContexts(inheritedContext, props, indent);
27
+ return context;
28
+ };
24
29
 
25
- exports.OutlineItemContext = OutlineItemContext;
26
- exports.defaultOutlineItemContext = defaultOutlineItemContext;
27
- exports.mergeOutlineItemContexts = mergeOutlineItemContexts;
30
+ exports.OutlineItemContextProvider = OutlineItemContextProvider;
31
+ exports.useOutlineItemContext = useOutlineItemContext;
28
32
  //# sourceMappingURL=OutlineItemContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutlineItemContext.js","sources":["../../../../src/components/OutlineItem/OutlineItemContext.ts"],"sourcesContent":["import type React from 'react'\nimport { createContext } from 'react'\n\nimport { noop } from '~/src/utils/functionUtils'\n\nexport interface OutlineItemContextProps {\n depth: number\n paddingLeft: number\n active: boolean\n onClick: (event?: React.MouseEvent<Element>, name?: string) => void\n}\n\nexport const defaultOutlineItemContext = {\n depth: 0,\n paddingLeft: 0,\n active: false,\n onClick: noop,\n}\n\nexport function mergeOutlineItemContexts(\n inherited: OutlineItemContextProps,\n props: Partial<Omit<OutlineItemContextProps, 'depth'>>,\n indent: number,\n): OutlineItemContextProps {\n return {\n depth: inherited.depth + 1,\n paddingLeft: inherited.paddingLeft + (props.paddingLeft ?? 0) + (inherited.depth > 0 ? indent : 0),\n active: props.active ?? inherited.active,\n onClick: (event?: React.MouseEvent<Element>, name?: string) => {\n inherited.onClick(event, name)\n props.onClick?.(event, name)\n },\n }\n}\n\nexport const OutlineItemContext = createContext<OutlineItemContextProps>(defaultOutlineItemContext)\n"],"names":["defaultOutlineItemContext","depth","paddingLeft","active","onClick","noop","mergeOutlineItemContexts","inherited","props","indent","event","name","OutlineItemContext","createContext"],"mappings":";;;;;AAYO,MAAMA,yBAAyB,GAAG;AACvCC,EAAAA,KAAK,EAAE,CAAC;AACRC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,OAAO,EAAEC,kBAAAA;AACX,EAAC;AAEM,SAASC,wBAAwBA,CACtCC,SAAkC,EAClCC,KAAsD,EACtDC,MAAc,EACW;EACzB,OAAO;AACLR,IAAAA,KAAK,EAAEM,SAAS,CAACN,KAAK,GAAG,CAAC;IAC1BC,WAAW,EAAEK,SAAS,CAACL,WAAW,IAAIM,KAAK,CAACN,WAAW,IAAI,CAAC,CAAC,IAAIK,SAAS,CAACN,KAAK,GAAG,CAAC,GAAGQ,MAAM,GAAG,CAAC,CAAC;AAClGN,IAAAA,MAAM,EAAEK,KAAK,CAACL,MAAM,IAAII,SAAS,CAACJ,MAAM;AACxCC,IAAAA,OAAO,EAAEA,CAACM,KAAiC,EAAEC,IAAa,KAAK;AAC7DJ,MAAAA,SAAS,CAACH,OAAO,CAACM,KAAK,EAAEC,IAAI,CAAC,CAAA;AAC9BH,MAAAA,KAAK,CAACJ,OAAO,GAAGM,KAAK,EAAEC,IAAI,CAAC,CAAA;AAC9B,KAAA;GACD,CAAA;AACH,CAAA;MAEaC,kBAAkB,gBAAGC,mBAAa,CAA0Bb,yBAAyB;;;;;;"}
1
+ {"version":3,"file":"OutlineItemContext.js","sources":["../../../../src/components/OutlineItem/OutlineItemContext.ts"],"sourcesContent":["import type React from 'react'\n\nimport { noop } from '~/src/utils/functionUtils'\nimport { createContext } from '~/src/utils/reactUtils'\n\ninterface OutlineItemContextProps {\n depth: number\n paddingLeft: number\n active: boolean\n onClick: (event?: React.MouseEvent<Element>, name?: string) => void\n}\n\nconst defaultOutlineItemContext = {\n depth: 0,\n paddingLeft: 0,\n active: false,\n onClick: noop,\n}\n\nfunction mergeOutlineItemContexts(\n inherited: OutlineItemContextProps,\n props: Partial<Omit<OutlineItemContextProps, 'depth'>>,\n indent: number,\n): OutlineItemContextProps {\n return {\n depth: inherited.depth + 1,\n paddingLeft: inherited.paddingLeft + (props.paddingLeft ?? 0) + (inherited.depth > 0 ? indent : 0),\n active: props.active ?? inherited.active,\n onClick: (event?: React.MouseEvent<Element>, name?: string) => {\n inherited.onClick(event, name)\n props.onClick?.(event, name)\n },\n }\n}\n\nconst [\n OutlineItemContextProvider,\n useOutlineItemContextBase,\n] = createContext<OutlineItemContextProps>(defaultOutlineItemContext)\n\nexport { OutlineItemContextProvider }\n\nexport const useOutlineItemContext = (props: Partial<Omit<OutlineItemContextProps, 'depth'>>, indent: number) => {\n const inheritedContext = useOutlineItemContextBase() ?? defaultOutlineItemContext\n const context = mergeOutlineItemContexts(inheritedContext, props, indent)\n return context\n}\n"],"names":["defaultOutlineItemContext","depth","paddingLeft","active","onClick","noop","mergeOutlineItemContexts","inherited","props","indent","event","name","OutlineItemContextProvider","useOutlineItemContextBase","createContext","useOutlineItemContext","inheritedContext","context"],"mappings":";;;;;AAYA,MAAMA,yBAAyB,GAAG;AAChCC,EAAAA,KAAK,EAAE,CAAC;AACRC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,OAAO,EAAEC,kBAAAA;AACX,CAAC,CAAA;AAED,SAASC,wBAAwBA,CAC/BC,SAAkC,EAClCC,KAAsD,EACtDC,MAAc,EACW;EACzB,OAAO;AACLR,IAAAA,KAAK,EAAEM,SAAS,CAACN,KAAK,GAAG,CAAC;IAC1BC,WAAW,EAAEK,SAAS,CAACL,WAAW,IAAIM,KAAK,CAACN,WAAW,IAAI,CAAC,CAAC,IAAIK,SAAS,CAACN,KAAK,GAAG,CAAC,GAAGQ,MAAM,GAAG,CAAC,CAAC;AAClGN,IAAAA,MAAM,EAAEK,KAAK,CAACL,MAAM,IAAII,SAAS,CAACJ,MAAM;AACxCC,IAAAA,OAAO,EAAEA,CAACM,KAAiC,EAAEC,IAAa,KAAK;AAC7DJ,MAAAA,SAAS,CAACH,OAAO,CAACM,KAAK,EAAEC,IAAI,CAAC,CAAA;AAC9BH,MAAAA,KAAK,CAACJ,OAAO,GAAGM,KAAK,EAAEC,IAAI,CAAC,CAAA;AAC9B,KAAA;GACD,CAAA;AACH,CAAA;AAEM,MAAA,CACJC,0BAA0B,EAC1BC,yBAAyB,CAC1B,GAAGC,wBAAa,CAA0Bd,yBAAyB,EAAC;MAIxDe,qBAAqB,GAAGA,CAACP,KAAsD,EAAEC,MAAc,KAAK;AAC/G,EAAA,MAAMO,gBAAgB,GAAGH,yBAAyB,EAAE,IAAIb,yBAAyB,CAAA;EACjF,MAAMiB,OAAO,GAAGX,wBAAwB,CAACU,gBAAgB,EAAER,KAAK,EAAEC,MAAM,CAAC,CAAA;AACzE,EAAA,OAAOQ,OAAO,CAAA;AAChB;;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var Spinner_types = require('./Spinner.types.js');
4
- var styled = require('styled-components');
5
4
  var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
5
+ var styled = require('styled-components');
6
6
 
7
7
  function getThicknessFromSize(size) {
8
8
  switch (size) {
@@ -41,7 +41,7 @@ const TabAction = /*#__PURE__*/React.forwardRef(function TabAction({
41
41
  }, forwardedRef) {
42
42
  const {
43
43
  size
44
- } = React.useContext(TabListContext.default);
44
+ } = TabListContext.useTabListContext();
45
45
  return typeUtils.isNil(href) ? /*#__PURE__*/React.createElement(TabAction_styled.ToolbarButton, Object.assign({
46
46
  size: size,
47
47
  onClick: onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"TabAction.js","sources":["../../../../src/components/Tabs/TabAction.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n} from 'react'\n\nimport { OpenInNewIcon } from '@channel.io/bezier-icons'\n\nimport { Typography } from '~/src/foundation'\n\nimport { isNil } from '~/src/utils/typeUtils'\n\nimport { IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport TabListContext from './TabListContext'\nimport {\n type TabActionElement,\n type TabActionProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabAction.styled'\n\nconst getTypoBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return Typography.Size14\n case TabSize.M:\n case TabSize.S:\n default:\n return Typography.Size13\n }\n}\n\nconst getIconSizeBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return IconSize.S\n default:\n return IconSize.XS\n }\n}\n\n/**\n * `TabAction` is a button for more action to open a new link or navigate to a different url.\n * If it has `href` props, it should act as a link.\n */\nexport const TabAction = forwardRef(function TabAction<Link extends string | undefined>({\n href,\n children,\n onClick,\n ...rest\n}: TabActionProps<Link>, forwardedRef: React.Ref<TabActionElement<Link>>,\n) {\n const { size } = useContext(TabListContext)\n\n return (\n isNil(href) ? (\n <Styled.ToolbarButton\n size={size}\n onClick={onClick}\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n { children }\n </Text>\n </Styled.ToolbarButton>\n ) : (\n <Styled.ToolbarLink\n size={size}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n { children }\n </Text>\n <Styled.LinkIcon\n source={OpenInNewIcon}\n size={getIconSizeBy(size)}\n />\n </Styled.ToolbarLink>\n )\n )\n})\n"],"names":["getTypoBy","size","TabSize","L","Typography","Size14","M","S","Size13","getIconSizeBy","IconSize","XS","TabAction","forwardRef","href","children","onClick","rest","forwardedRef","useContext","TabListContext","isNil","React","createElement","Styled","Object","assign","ref","Text","bold","typo","target","rel","source","OpenInNewIcon"],"mappings":";;;;;;;;;;;;AAuBA,MAAMA,SAAS,GAAIC,IAAa,IAAK;AACnC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOC,qBAAU,CAACC,MAAM,CAAA;IAC1B,KAAKH,kBAAO,CAACI,CAAC,CAAA;IACd,KAAKJ,kBAAO,CAACK,CAAC,CAAA;AACd,IAAA;MACE,OAAOH,qBAAU,CAACI,MAAM,CAAA;AAC5B,GAAA;AACF,CAAC,CAAA;AAED,MAAMC,aAAa,GAAIR,IAAa,IAAK;AACvC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOO,mBAAQ,CAACH,CAAC,CAAA;AACnB,IAAA;MACE,OAAOG,mBAAQ,CAACC,EAAE,CAAA;AACtB,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;AACA;MACaC,SAAS,gBAAGC,gBAAU,CAAC,SAASD,SAASA,CAAkC;EACtFE,IAAI;EACJC,QAAQ;EACRC,OAAO;EACP,GAAGC,IAAAA;AACiB,CAAC,EAAEC,YAA+C,EACtE;EACA,MAAM;AAAEjB,IAAAA,IAAAA;AAAK,GAAC,GAAGkB,gBAAU,CAACC,sBAAc,CAAC,CAAA;AAE3C,EAAA,OACEC,eAAK,CAACP,IAAI,CAAC,gBACTQ,KAAA,CAAAC,aAAA,CAACC,8BAAoB,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACnBzB,IAAAA,IAAI,EAAEA,IAAK;AACXe,IAAAA,OAAO,EAAEA,OAAQ;AACjBW,IAAAA,GAAG,EAAET,YAAAA;AAAa,GAAA,EACdD,IAAI,CAERK,eAAAA,KAAA,CAAAC,aAAA,CAACK,YAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAE9B,SAAS,CAACC,IAAI,CAAA;AAAE,GAAA,EAEpBc,QACE,CACc,CAAC,gBAEvBO,KAAA,CAAAC,aAAA,CAACC,4BAAkB,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACjBzB,IAAAA,IAAI,EAAEA,IAAK;AACXa,IAAAA,IAAI,EAAEA,IAAK;AACXiB,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,qBAAqB;AACzBL,IAAAA,GAAG,EAAET,YAAAA;AAAa,GAAA,EACdD,IAAI,CAERK,eAAAA,KAAA,CAAAC,aAAA,CAACK,YAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAE9B,SAAS,CAACC,IAAI,CAAA;GAElBc,EAAAA,QACE,CAAC,eACPO,KAAA,CAAAC,aAAA,CAACC,yBAAe,EAAA;AACdS,IAAAA,MAAM,EAAEC,yBAAc;IACtBjC,IAAI,EAAEQ,aAAa,CAACR,IAAI,CAAA;AAAE,GAC3B,CACiB,CACrB,CAAA;AAEL,CAAC;;;;"}
1
+ {"version":3,"file":"TabAction.js","sources":["../../../../src/components/Tabs/TabAction.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport { OpenInNewIcon } from '@channel.io/bezier-icons'\n\nimport { Typography } from '~/src/foundation'\n\nimport { isNil } from '~/src/utils/typeUtils'\n\nimport { IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { useTabListContext } from './TabListContext'\nimport {\n type TabActionElement,\n type TabActionProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabAction.styled'\n\nconst getTypoBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return Typography.Size14\n case TabSize.M:\n case TabSize.S:\n default:\n return Typography.Size13\n }\n}\n\nconst getIconSizeBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return IconSize.S\n default:\n return IconSize.XS\n }\n}\n\n/**\n * `TabAction` is a button for more action to open a new link or navigate to a different url.\n * If it has `href` props, it should act as a link.\n */\nexport const TabAction = forwardRef(function TabAction<Link extends string | undefined>({\n href,\n children,\n onClick,\n ...rest\n}: TabActionProps<Link>, forwardedRef: React.Ref<TabActionElement<Link>>,\n) {\n const { size } = useTabListContext()\n\n return (\n isNil(href) ? (\n <Styled.ToolbarButton\n size={size}\n onClick={onClick}\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n { children }\n </Text>\n </Styled.ToolbarButton>\n ) : (\n <Styled.ToolbarLink\n size={size}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n { children }\n </Text>\n <Styled.LinkIcon\n source={OpenInNewIcon}\n size={getIconSizeBy(size)}\n />\n </Styled.ToolbarLink>\n )\n )\n})\n"],"names":["getTypoBy","size","TabSize","L","Typography","Size14","M","S","Size13","getIconSizeBy","IconSize","XS","TabAction","forwardRef","href","children","onClick","rest","forwardedRef","useTabListContext","isNil","React","createElement","Styled","Object","assign","ref","Text","bold","typo","target","rel","source","OpenInNewIcon"],"mappings":";;;;;;;;;;;;AAoBA,MAAMA,SAAS,GAAIC,IAAa,IAAK;AACnC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOC,qBAAU,CAACC,MAAM,CAAA;IAC1B,KAAKH,kBAAO,CAACI,CAAC,CAAA;IACd,KAAKJ,kBAAO,CAACK,CAAC,CAAA;AACd,IAAA;MACE,OAAOH,qBAAU,CAACI,MAAM,CAAA;AAC5B,GAAA;AACF,CAAC,CAAA;AAED,MAAMC,aAAa,GAAIR,IAAa,IAAK;AACvC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOO,mBAAQ,CAACH,CAAC,CAAA;AACnB,IAAA;MACE,OAAOG,mBAAQ,CAACC,EAAE,CAAA;AACtB,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;AACA;MACaC,SAAS,gBAAGC,gBAAU,CAAC,SAASD,SAASA,CAAkC;EACtFE,IAAI;EACJC,QAAQ;EACRC,OAAO;EACP,GAAGC,IAAAA;AACiB,CAAC,EAAEC,YAA+C,EACtE;EACA,MAAM;AAAEjB,IAAAA,IAAAA;GAAM,GAAGkB,gCAAiB,EAAE,CAAA;AAEpC,EAAA,OACEC,eAAK,CAACN,IAAI,CAAC,gBACTO,KAAA,CAAAC,aAAA,CAACC,8BAAoB,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACnBxB,IAAAA,IAAI,EAAEA,IAAK;AACXe,IAAAA,OAAO,EAAEA,OAAQ;AACjBU,IAAAA,GAAG,EAAER,YAAAA;AAAa,GAAA,EACdD,IAAI,CAERI,eAAAA,KAAA,CAAAC,aAAA,CAACK,YAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAE7B,SAAS,CAACC,IAAI,CAAA;AAAE,GAAA,EAEpBc,QACE,CACc,CAAC,gBAEvBM,KAAA,CAAAC,aAAA,CAACC,4BAAkB,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACjBxB,IAAAA,IAAI,EAAEA,IAAK;AACXa,IAAAA,IAAI,EAAEA,IAAK;AACXgB,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,qBAAqB;AACzBL,IAAAA,GAAG,EAAER,YAAAA;AAAa,GAAA,EACdD,IAAI,CAERI,eAAAA,KAAA,CAAAC,aAAA,CAACK,YAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAE7B,SAAS,CAACC,IAAI,CAAA;GAElBc,EAAAA,QACE,CAAC,eACPM,KAAA,CAAAC,aAAA,CAACC,yBAAe,EAAA;AACdS,IAAAA,MAAM,EAAEC,yBAAc;IACtBhC,IAAI,EAAEQ,aAAa,CAACR,IAAI,CAAA;AAAE,GAC3B,CACiB,CACrB,CAAA;AAEL,CAAC;;;;"}
@@ -30,7 +30,7 @@ const TabItem = /*#__PURE__*/React.forwardRef(function TabItem({
30
30
  }, forwardedRef) {
31
31
  const {
32
32
  size
33
- } = React.useContext(TabListContext.default);
33
+ } = TabListContext.useTabListContext();
34
34
  if (typeof children !== 'string') {
35
35
  return null;
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TabItem.js","sources":["../../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n} from 'react'\n\nimport * as Tabs from '@radix-ui/react-tabs'\n\nimport {\n ButtonColorVariant,\n ButtonSize,\n ButtonStyleVariant,\n} from '~/src/components/Button'\n\nimport TabListContext from './TabListContext'\nimport {\n type TabItemProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabItem.styled'\n\nconst getButtonSizeBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return ButtonSize.L\n case TabSize.M:\n return ButtonSize.M\n default:\n case TabSize.S:\n return ButtonSize.S\n }\n}\n\n/**\n * `TabItem` is a button that activates its associated content.\n */\nexport const TabItem = forwardRef(function TabItem({\n disabled,\n value,\n children,\n ...rest\n}: TabItemProps, forwardedRef: React.Ref<HTMLButtonElement>) {\n const { size } = useContext(TabListContext)\n\n if (typeof children !== 'string') {\n return null\n }\n\n return (\n <Tabs.TabsTrigger\n disabled={disabled}\n value={value}\n asChild\n >\n <Styled.Button\n disabled={disabled}\n text={children}\n size={getButtonSizeBy(size)}\n colorVariant={ButtonColorVariant.MonochromeLight}\n styleVariant={ButtonStyleVariant.Tertiary}\n ref={forwardedRef}\n {...rest}\n />\n </Tabs.TabsTrigger>\n )\n})\n"],"names":["getButtonSizeBy","size","TabSize","L","ButtonSize","M","S","TabItem","forwardRef","disabled","value","children","rest","forwardedRef","useContext","TabListContext","React","createElement","Tabs","asChild","Styled","Object","assign","text","colorVariant","ButtonColorVariant","MonochromeLight","styleVariant","ButtonStyleVariant","Tertiary","ref"],"mappings":";;;;;;;;;AAqBA,MAAMA,eAAe,GAAIC,IAAa,IAAK;AACzC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOC,uBAAU,CAACD,CAAC,CAAA;IACrB,KAAKD,kBAAO,CAACG,CAAC;MACZ,OAAOD,uBAAU,CAACC,CAAC,CAAA;AACrB,IAAA,QAAA;IACA,KAAKH,kBAAO,CAACI,CAAC;MACZ,OAAOF,uBAAU,CAACE,CAAC,CAAA;AACvB,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;MACaC,OAAO,gBAAGC,gBAAU,CAAC,SAASD,OAAOA,CAAC;EACjDE,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACR,GAAGC,IAAAA;AACS,CAAC,EAAEC,YAA0C,EAAE;EAC3D,MAAM;AAAEZ,IAAAA,IAAAA;AAAK,GAAC,GAAGa,gBAAU,CAACC,sBAAc,CAAC,CAAA;AAE3C,EAAA,IAAI,OAAOJ,QAAQ,KAAK,QAAQ,EAAE;AAChC,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,oBACEK,KAAA,CAAAC,aAAA,CAACC,iBAAgB,EAAA;AACfT,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,KAAK,EAAEA,KAAM;IACbS,OAAO,EAAA,IAAA;GAEPH,eAAAA,KAAA,CAAAC,aAAA,CAACG,qBAAa,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACZb,IAAAA,QAAQ,EAAEA,QAAS;AACnBc,IAAAA,IAAI,EAAEZ,QAAS;AACfV,IAAAA,IAAI,EAAED,eAAe,CAACC,IAAI,CAAE;IAC5BuB,YAAY,EAAEC,+BAAkB,CAACC,eAAgB;IACjDC,YAAY,EAAEC,+BAAkB,CAACC,QAAS;AAC1CC,IAAAA,GAAG,EAAEjB,YAAAA;GACDD,EAAAA,IAAI,CACT,CACe,CAAC,CAAA;AAEvB,CAAC;;;;"}
1
+ {"version":3,"file":"TabItem.js","sources":["../../../../src/components/Tabs/TabItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport * as Tabs from '@radix-ui/react-tabs'\n\nimport {\n ButtonColorVariant,\n ButtonSize,\n ButtonStyleVariant,\n} from '~/src/components/Button'\n\nimport { useTabListContext } from './TabListContext'\nimport {\n type TabItemProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabItem.styled'\n\nconst getButtonSizeBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return ButtonSize.L\n case TabSize.M:\n return ButtonSize.M\n default:\n case TabSize.S:\n return ButtonSize.S\n }\n}\n\n/**\n * `TabItem` is a button that activates its associated content.\n */\nexport const TabItem = forwardRef(function TabItem({\n disabled,\n value,\n children,\n ...rest\n}: TabItemProps, forwardedRef: React.Ref<HTMLButtonElement>) {\n const { size } = useTabListContext()\n\n if (typeof children !== 'string') {\n return null\n }\n\n return (\n <Tabs.TabsTrigger\n disabled={disabled}\n value={value}\n asChild\n >\n <Styled.Button\n disabled={disabled}\n text={children}\n size={getButtonSizeBy(size)}\n colorVariant={ButtonColorVariant.MonochromeLight}\n styleVariant={ButtonStyleVariant.Tertiary}\n ref={forwardedRef}\n {...rest}\n />\n </Tabs.TabsTrigger>\n )\n})\n"],"names":["getButtonSizeBy","size","TabSize","L","ButtonSize","M","S","TabItem","forwardRef","disabled","value","children","rest","forwardedRef","useTabListContext","React","createElement","Tabs","asChild","Styled","Object","assign","text","colorVariant","ButtonColorVariant","MonochromeLight","styleVariant","ButtonStyleVariant","Tertiary","ref"],"mappings":";;;;;;;;;AAkBA,MAAMA,eAAe,GAAIC,IAAa,IAAK;AACzC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;MACZ,OAAOC,uBAAU,CAACD,CAAC,CAAA;IACrB,KAAKD,kBAAO,CAACG,CAAC;MACZ,OAAOD,uBAAU,CAACC,CAAC,CAAA;AACrB,IAAA,QAAA;IACA,KAAKH,kBAAO,CAACI,CAAC;MACZ,OAAOF,uBAAU,CAACE,CAAC,CAAA;AACvB,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;MACaC,OAAO,gBAAGC,gBAAU,CAAC,SAASD,OAAOA,CAAC;EACjDE,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACR,GAAGC,IAAAA;AACS,CAAC,EAAEC,YAA0C,EAAE;EAC3D,MAAM;AAAEZ,IAAAA,IAAAA;GAAM,GAAGa,gCAAiB,EAAE,CAAA;AAEpC,EAAA,IAAI,OAAOH,QAAQ,KAAK,QAAQ,EAAE;AAChC,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,oBACEI,KAAA,CAAAC,aAAA,CAACC,iBAAgB,EAAA;AACfR,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,KAAK,EAAEA,KAAM;IACbQ,OAAO,EAAA,IAAA;GAEPH,eAAAA,KAAA,CAAAC,aAAA,CAACG,qBAAa,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACZZ,IAAAA,QAAQ,EAAEA,QAAS;AACnBa,IAAAA,IAAI,EAAEX,QAAS;AACfV,IAAAA,IAAI,EAAED,eAAe,CAACC,IAAI,CAAE;IAC5BsB,YAAY,EAAEC,+BAAkB,CAACC,eAAgB;IACjDC,YAAY,EAAEC,+BAAkB,CAACC,QAAS;AAC1CC,IAAAA,GAAG,EAAEhB,YAAAA;GACDD,EAAAA,IAAI,CACT,CACe,CAAC,CAAA;AAEvB,CAAC;;;;"}
@@ -28,7 +28,7 @@ const TabList = /*#__PURE__*/React.forwardRef(function TabList({
28
28
  const heightContextValue = React.useMemo(() => ({
29
29
  size
30
30
  }), [size]);
31
- return /*#__PURE__*/React.createElement(TabListContext.default.Provider, {
31
+ return /*#__PURE__*/React.createElement(TabListContext.TabListContextProvider, {
32
32
  value: heightContextValue
33
33
  }, /*#__PURE__*/React.createElement(TabList_styled.TabList, Object.assign({
34
34
  size: size,
@@ -1 +1 @@
1
- {"version":3,"file":"TabList.js","sources":["../../../../src/components/Tabs/TabList.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useMemo,\n} from 'react'\n\nimport TabListContext from './TabListContext'\nimport {\n type TabListProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabList.styled'\n\nconst heightBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return 53\n case TabSize.M:\n return 45\n case TabSize.S:\n default:\n return 33\n }\n}\n\n/**\n * `TabList` gives size context to its children and decides the layout of `TabItems` and `TabActions`.\n */\nexport const TabList = forwardRef(function TabList({\n children,\n size = TabSize.M,\n ...rest\n}: TabListProps, forwardedRef: React.Ref<HTMLDivElement>) {\n const heightContextValue = useMemo(() => ({\n size,\n }), [size])\n\n return (\n <TabListContext.Provider value={heightContextValue}>\n <Styled.TabList\n size={size}\n ref={forwardedRef}\n style={{\n '--bezier-tabs-size': `${heightBy(size)}px`,\n } as React.CSSProperties}\n {...rest}\n >\n { children }\n </Styled.TabList>\n </TabListContext.Provider>\n )\n})\n"],"names":["heightBy","size","TabSize","L","M","S","TabList","forwardRef","children","rest","forwardedRef","heightContextValue","useMemo","React","createElement","TabListContext","Provider","value","Styled","Object","assign","ref","style"],"mappings":";;;;;;;AAaA,MAAMA,QAAQ,GAAIC,IAAa,IAAK;AAClC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;AACZ,MAAA,OAAO,EAAE,CAAA;IACX,KAAKD,kBAAO,CAACE,CAAC;AACZ,MAAA,OAAO,EAAE,CAAA;IACX,KAAKF,kBAAO,CAACG,CAAC,CAAA;AACd,IAAA;AACE,MAAA,OAAO,EAAE,CAAA;AACb,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;MACaC,OAAO,gBAAGC,gBAAU,CAAC,SAASD,OAAOA,CAAC;EACjDE,QAAQ;EACRP,IAAI,GAAGC,kBAAO,CAACE,CAAC;EAChB,GAAGK,IAAAA;AACS,CAAC,EAAEC,YAAuC,EAAE;AACxD,EAAA,MAAMC,kBAAkB,GAAGC,aAAO,CAAC,OAAO;AACxCX,IAAAA,IAAAA;AACF,GAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAA;AAEX,EAAA,oBACEY,KAAA,CAAAC,aAAA,CAACC,sBAAc,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEN,kBAAAA;GAC9BE,eAAAA,KAAA,CAAAC,aAAA,CAACI,sBAAc,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACbnB,IAAAA,IAAI,EAAEA,IAAK;AACXoB,IAAAA,GAAG,EAAEX,YAAa;AAClBY,IAAAA,KAAK,EAAE;AACL,MAAA,oBAAoB,EAAG,CAAA,EAAEtB,QAAQ,CAACC,IAAI,CAAE,CAAA,EAAA,CAAA;AAC1C,KAAA;AAAyB,GAAA,EACrBQ,IAAI,CAAA,EAEND,QACY,CACO,CAAC,CAAA;AAE9B,CAAC;;;;"}
1
+ {"version":3,"file":"TabList.js","sources":["../../../../src/components/Tabs/TabList.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useMemo,\n} from 'react'\n\nimport { TabListContextProvider } from './TabListContext'\nimport {\n type TabListProps,\n TabSize,\n} from './Tabs.types'\n\nimport * as Styled from './TabList.styled'\n\nconst heightBy = (size: TabSize) => {\n switch (size) {\n case TabSize.L:\n return 53\n case TabSize.M:\n return 45\n case TabSize.S:\n default:\n return 33\n }\n}\n\n/**\n * `TabList` gives size context to its children and decides the layout of `TabItems` and `TabActions`.\n */\nexport const TabList = forwardRef(function TabList({\n children,\n size = TabSize.M,\n ...rest\n}: TabListProps, forwardedRef: React.Ref<HTMLDivElement>) {\n const heightContextValue = useMemo(() => ({\n size,\n }), [size])\n\n return (\n <TabListContextProvider value={heightContextValue}>\n <Styled.TabList\n size={size}\n ref={forwardedRef}\n style={{\n '--bezier-tabs-size': `${heightBy(size)}px`,\n } as React.CSSProperties}\n {...rest}\n >\n { children }\n </Styled.TabList>\n </TabListContextProvider>\n )\n})\n"],"names":["heightBy","size","TabSize","L","M","S","TabList","forwardRef","children","rest","forwardedRef","heightContextValue","useMemo","React","createElement","TabListContextProvider","value","Styled","Object","assign","ref","style"],"mappings":";;;;;;;AAaA,MAAMA,QAAQ,GAAIC,IAAa,IAAK;AAClC,EAAA,QAAQA,IAAI;IACV,KAAKC,kBAAO,CAACC,CAAC;AACZ,MAAA,OAAO,EAAE,CAAA;IACX,KAAKD,kBAAO,CAACE,CAAC;AACZ,MAAA,OAAO,EAAE,CAAA;IACX,KAAKF,kBAAO,CAACG,CAAC,CAAA;AACd,IAAA;AACE,MAAA,OAAO,EAAE,CAAA;AACb,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACA;MACaC,OAAO,gBAAGC,gBAAU,CAAC,SAASD,OAAOA,CAAC;EACjDE,QAAQ;EACRP,IAAI,GAAGC,kBAAO,CAACE,CAAC;EAChB,GAAGK,IAAAA;AACS,CAAC,EAAEC,YAAuC,EAAE;AACxD,EAAA,MAAMC,kBAAkB,GAAGC,aAAO,CAAC,OAAO;AACxCX,IAAAA,IAAAA;AACF,GAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAA;AAEX,EAAA,oBACEY,KAAA,CAAAC,aAAA,CAACC,qCAAsB,EAAA;AAACC,IAAAA,KAAK,EAAEL,kBAAAA;GAC7BE,eAAAA,KAAA,CAAAC,aAAA,CAACG,sBAAc,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACblB,IAAAA,IAAI,EAAEA,IAAK;AACXmB,IAAAA,GAAG,EAAEV,YAAa;AAClBW,IAAAA,KAAK,EAAE;AACL,MAAA,oBAAoB,EAAG,CAAA,EAAErB,QAAQ,CAACC,IAAI,CAAE,CAAA,EAAA,CAAA;AAC1C,KAAA;AAAyB,GAAA,EACrBQ,IAAI,CAAA,EAEND,QACY,CACM,CAAC,CAAA;AAE7B,CAAC;;;;"}
@@ -1,14 +1,12 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
3
+ var reactUtils = require('../../utils/reactUtils.js');
6
4
  var Tabs_types = require('./Tabs.types.js');
7
5
 
8
- const TabListContext = /*#__PURE__*/React.createContext({
6
+ const [TabListContextProvider, useTabListContext] = reactUtils.createContext({
9
7
  size: Tabs_types.TabSize.M
10
8
  });
11
- var TabListContext$1 = TabListContext;
12
9
 
13
- exports.default = TabListContext$1;
10
+ exports.TabListContextProvider = TabListContextProvider;
11
+ exports.useTabListContext = useTabListContext;
14
12
  //# sourceMappingURL=TabListContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabListContext.js","sources":["../../../../src/components/Tabs/TabListContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nimport {\n type TabListContextValue,\n TabSize,\n} from './Tabs.types'\n\nconst TabListContext = createContext<TabListContextValue>({\n size: TabSize.M,\n})\n\nexport default TabListContext\n"],"names":["TabListContext","createContext","size","TabSize","M"],"mappings":";;;;;;;AAOA,MAAMA,cAAc,gBAAGC,mBAAa,CAAsB;EACxDC,IAAI,EAAEC,kBAAO,CAACC,CAAAA;AAChB,CAAC,CAAC,CAAA;AAEF,uBAAeJ,cAAc;;;;"}
1
+ {"version":3,"file":"TabListContext.js","sources":["../../../../src/components/Tabs/TabListContext.ts"],"sourcesContent":["import { createContext } from '~/src/utils/reactUtils'\n\nimport {\n type TabListContextValue,\n TabSize,\n} from './Tabs.types'\n\nexport const [\n TabListContextProvider,\n useTabListContext,\n] = createContext<TabListContextValue>({\n size: TabSize.M,\n})\n"],"names":["TabListContextProvider","useTabListContext","createContext","size","TabSize","M"],"mappings":";;;;;AAOO,MAAM,CACXA,sBAAsB,EACtBC,iBAAiB,CAClB,GAAGC,wBAAa,CAAsB;EACrCC,IAAI,EAAEC,kBAAO,CAACC,CAAAA;AAChB,CAAC;;;;;"}
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
3
  var functionUtils = require('../../utils/functionUtils.js');
4
+ var reactUtils = require('../../utils/reactUtils.js');
7
5
 
8
- const ToastContext = /*#__PURE__*/React.createContext({
6
+ const [ToastContextProvider, useToastContext] = reactUtils.createContext({
9
7
  add: () => '',
10
8
  update: () => '',
11
9
  remove: functionUtils.noop,
@@ -13,7 +11,7 @@ const ToastContext = /*#__PURE__*/React.createContext({
13
11
  leftToasts: [],
14
12
  rightToasts: []
15
13
  });
16
- var ToastContext$1 = ToastContext;
17
14
 
18
- exports.default = ToastContext$1;
15
+ exports.ToastContextProvider = ToastContextProvider;
16
+ exports.useToastContext = useToastContext;
19
17
  //# sourceMappingURL=ToastContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastContext.js","sources":["../../../../src/components/Toast/ToastContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nimport { noop } from '~/src/utils/functionUtils'\n\nimport { type ToastContextType } from './Toast.types'\n\nconst ToastContext = createContext<ToastContextType>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n})\n\nexport default ToastContext\n"],"names":["ToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;;AAMA,MAAMA,YAAY,gBAAGC,mBAAa,CAAmB;EACnDC,GAAG,EAAEA,MAAM,EAAE;EACbC,MAAM,EAAEA,MAAM,EAAE;AAChBC,EAAAA,MAAM,EAAEC,kBAAI;AACZC,EAAAA,SAAS,EAAED,kBAAI;AACfE,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,WAAW,EAAE,EAAA;AACf,CAAC,CAAC,CAAA;AAEF,qBAAeR,YAAY;;;;"}
1
+ {"version":3,"file":"ToastContext.js","sources":["../../../../src/components/Toast/ToastContext.ts"],"sourcesContent":["import { noop } from '~/src/utils/functionUtils'\nimport { createContext } from '~/src/utils/reactUtils'\n\nimport { type ToastContextType } from './Toast.types'\n\nexport const [\n ToastContextProvider,\n useToastContext,\n] = createContext<ToastContextType>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n})\n"],"names":["ToastContextProvider","useToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts"],"mappings":";;;;;AAKO,MAAM,CACXA,oBAAoB,EACpBC,eAAe,CAChB,GAAGC,wBAAa,CAAmB;EAClCC,GAAG,EAAEA,MAAM,EAAE;EACbC,MAAM,EAAEA,MAAM,EAAE;AAChBC,EAAAA,MAAM,EAAEC,kBAAI;AACZC,EAAAA,SAAS,EAAED,kBAAI;AACfE,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,WAAW,EAAE,EAAA;AACf,CAAC;;;;;"}
@@ -14,9 +14,6 @@ var useToastContextValues = require('./useToastContextValues.js');
14
14
  var index = require('../../foundation/Transition/index.js');
15
15
  var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
16
16
 
17
- const {
18
- Provider
19
- } = ToastContext.default;
20
17
  function ToastProvider({
21
18
  autoDismissTimeout = 3000,
22
19
  children = []
@@ -60,7 +57,7 @@ function ToastProvider({
60
57
  zIndex: zIndex,
61
58
  version: version
62
59
  }))), [autoDismissTimeout, dismiss]);
63
- return /*#__PURE__*/React.createElement(Provider, {
60
+ return /*#__PURE__*/React.createElement(ToastContext.ToastContextProvider, {
64
61
  value: toastContextValue
65
62
  }, children, /*#__PURE__*/ReactDOM.createPortal([createContainer(Toast_types.ToastPlacement.BottomLeft, leftToasts), createContainer(Toast_types.ToastPlacement.BottomRight, rightToasts)], domUtils.getRootElement()));
66
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport ToastContext from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nconst { Provider } = ToastContext\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <Provider value={toastContextValue}>\n { children }\n { createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n getRootElement(),\n ) }\n </Provider>\n )\n}\n\nexport default ToastProvider\n"],"names":["Provider","ToastContext","ToastProvider","autoDismissTimeout","children","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","value","createPortal","ToastPlacement","BottomLeft","BottomRight","getRootElement"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAM;AAAEA,EAAAA,QAAAA;AAAS,CAAC,GAAGC,oBAAY,CAAA;AAEjC,SAASC,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,iBAAiB,GAAGC,6BAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AAErB,EAAA,MAAMK,eAAe,GAAGC,iBAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,KAAA,CAAAC,aAAA,CAACC,sBAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,KAAA,CAAAC,aAAA,CAACe,uBAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,wBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjBtB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCkB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,oBAAa;IACxBR,SAAS,EAAEA,MAAMlB,OAAO,CAACiB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,6BAAI,CAAE,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD1B,kBAAkB,EAClBM,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEK,KAAA,CAAAC,aAAA,CAACf,QAAQ,EAAA;AAACsC,IAAAA,KAAK,EAAEjC,iBAAAA;AAAkB,GAAA,EAC/BD,QAAQ,eACRmC,qBAAY,CACZ,CACE7B,eAAe,CAAC8B,0BAAc,CAACC,UAAU,EAAElC,UAAU,CAAC,EACtDG,eAAe,CAAC8B,0BAAc,CAACE,WAAW,EAAElC,WAAW,CAAC,CACzD,EACDmC,uBAAc,EAChB,CACQ,CAAC,CAAA;AAEf;;;;"}
1
+ {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n getRootElement(),\n ) }\n </ToastContextProvider>\n )\n}\n\nexport default ToastProvider\n"],"names":["ToastProvider","autoDismissTimeout","children","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","ToastContextProvider","value","createPortal","ToastPlacement","BottomLeft","BottomRight","getRootElement"],"mappings":";;;;;;;;;;;;;;;;AAsBA,SAASA,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,iBAAiB,GAAGC,6BAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AAErB,EAAA,MAAMK,eAAe,GAAGC,iBAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,KAAA,CAAAC,aAAA,CAACC,sBAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,KAAA,CAAAC,aAAA,CAACe,uBAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,wBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjBtB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCkB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,oBAAa;IACxBR,SAAS,EAAEA,MAAMlB,OAAO,CAACiB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,6BAAI,CAAE,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD1B,kBAAkB,EAClBM,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEK,KAAA,CAAAC,aAAA,CAACuB,iCAAoB,EAAA;AAACC,IAAAA,KAAK,EAAElC,iBAAAA;AAAkB,GAAA,EAC3CD,QAAQ,eACRoC,qBAAY,CACZ,CACE9B,eAAe,CAAC+B,0BAAc,CAACC,UAAU,EAAEnC,UAAU,CAAC,EACtDG,eAAe,CAAC+B,0BAAc,CAACE,WAAW,EAAEnC,WAAW,CAAC,CACzD,EACDoC,uBAAc,EAChB,CACoB,CAAC,CAAA;AAE3B;;;;"}
@@ -2,13 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
6
5
  var ToastContext = require('./ToastContext.js');
7
6
 
8
7
  function useToast() {
9
- const context = React.useContext(ToastContext.default);
8
+ const context = ToastContext.useToastContext();
10
9
  if (!context) {
11
- throw Error('ToastProvider가 필요합니다.');
10
+ throw Error('\'useToast\' must be used within \'ToastProvider\'');
12
11
  }
13
12
  return {
14
13
  addToast: context.add,
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.js","sources":["../../../../src/components/Toast/useToast.ts"],"sourcesContent":["import { useContext } from 'react'\n\nimport ToastContext from './ToastContext'\n\nexport default function useToast() {\n const context = useContext(ToastContext)\n\n if (!context) {\n throw Error('ToastProvider가 필요합니다.')\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["useToast","context","useContext","ToastContext","Error","addToast","add","updateToast","update","removeToast","remove","removeAllToasts","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;;AAIe,SAASA,QAAQA,GAAG;AACjC,EAAA,MAAMC,OAAO,GAAGC,gBAAU,CAACC,oBAAY,CAAC,CAAA;EAExC,IAAI,CAACF,OAAO,EAAE;IACZ,MAAMG,KAAK,CAAC,uBAAuB,CAAC,CAAA;AACtC,GAAA;EAEA,OAAO;IACLC,QAAQ,EAAEJ,OAAO,CAACK,GAAG;IACrBC,WAAW,EAAEN,OAAO,CAACO,MAAM;IAC3BC,WAAW,EAAER,OAAO,CAACS,MAAM;IAC3BC,eAAe,EAAEV,OAAO,CAACW,SAAS;IAClCC,UAAU,EAAEZ,OAAO,CAACY,UAAU;IAC9BC,WAAW,EAAEb,OAAO,CAACa,WAAAA;GACtB,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useToast.js","sources":["../../../../src/components/Toast/useToast.ts"],"sourcesContent":["import { useToastContext } from './ToastContext'\n\nexport default function useToast() {\n const context = useToastContext()\n\n if (!context) {\n throw Error('\\'useToast\\' must be used within \\'ToastProvider\\'')\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["useToast","context","useToastContext","Error","addToast","add","updateToast","update","removeToast","remove","removeAllToasts","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;AAEe,SAASA,QAAQA,GAAG;AACjC,EAAA,MAAMC,OAAO,GAAGC,4BAAe,EAAE,CAAA;EAEjC,IAAI,CAACD,OAAO,EAAE;IACZ,MAAME,KAAK,CAAC,oDAAoD,CAAC,CAAA;AACnE,GAAA;EAEA,OAAO;IACLC,QAAQ,EAAEH,OAAO,CAACI,GAAG;IACrBC,WAAW,EAAEL,OAAO,CAACM,MAAM;IAC3BC,WAAW,EAAEP,OAAO,CAACQ,MAAM;IAC3BC,eAAe,EAAET,OAAO,CAACU,SAAS;IAClCC,UAAU,EAAEX,OAAO,CAACW,UAAU;IAC9BC,WAAW,EAAEZ,OAAO,CAACY,WAAAA;GACtB,CAAA;AACH;;;;"}
@@ -3,23 +3,11 @@
3
3
  var React = require('react');
4
4
  var index = require('../../node_modules/@radix-ui/react-tooltip/dist/index.js');
5
5
  var domUtils = require('../../utils/domUtils.js');
6
+ var reactUtils = require('../../utils/reactUtils.js');
6
7
  var typeUtils = require('../../utils/typeUtils.js');
7
8
  var Tooltip_types = require('./Tooltip.types.js');
8
9
  var Tooltip_styled = require('./Tooltip.styled.js');
9
10
 
10
- // TODO: (@ed) Evolve it into a commonly reusable function
11
- // FIXME: duplicate
12
- function createContext(providerName, defaultValue) {
13
- const Context = /*#__PURE__*/React.createContext(defaultValue);
14
- function useContext(consumerName) {
15
- const contextValue = React.useContext(Context);
16
- if (!contextValue) {
17
- throw new Error(`'${consumerName}' must be used within '${providerName}'`);
18
- }
19
- return contextValue;
20
- }
21
- return [Context.Provider, useContext];
22
- }
23
11
  function getSideAndAlign(placement) {
24
12
  switch (placement) {
25
13
  case Tooltip_types.TooltipPosition.TopCenter:
@@ -94,7 +82,7 @@ const [
94
82
  /**
95
83
  * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.
96
84
  */
97
- TooltipGlobalContextProvider, useTooltipGlobalContext] = createContext('TooltipProvider', null);
85
+ TooltipGlobalContextProvider, useTooltipGlobalContext] = reactUtils.createContext(null, 'TooltipProvider');
98
86
 
99
87
  /**
100
88
  * `TooltipProvider` is used to globally provide props to child tooltips.
@@ -110,9 +98,9 @@ TooltipGlobalContextProvider, useTooltipGlobalContext] = createContext('TooltipP
110
98
  function TooltipProvider({
111
99
  children,
112
100
  allowHover = false,
113
- delayShow = 0,
101
+ delayShow = 300,
114
102
  delayHide = 0,
115
- skipDelayShow = 0
103
+ skipDelayShow = 500
116
104
  }) {
117
105
  const contextValue = React.useMemo(() => ({
118
106
  delayHide
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { document } from '~/src/utils/domUtils'\nimport { isBoolean } from '~/src/utils/typeUtils'\n\nimport {\n TooltipPosition,\n type TooltipProps,\n type TooltipProviderProps,\n} from './Tooltip.types'\n\nimport * as Styled from './Tooltip.styled'\n\n// TODO: (@ed) Evolve it into a commonly reusable function\n// FIXME: duplicate\nfunction createContext<ContextValue>(\n providerName: string,\n defaultValue: ContextValue,\n) {\n const Context = React.createContext<ContextValue>(defaultValue)\n\n function useContext(consumerName: string) {\n const contextValue = React.useContext(Context)\n\n if (!contextValue) {\n throw new Error(`'${consumerName}' must be used within '${providerName}'`)\n }\n\n return contextValue\n }\n\n return [\n Context.Provider,\n useContext,\n ] as const\n}\n\nfunction getSideAndAlign(\n placement: TooltipPosition,\n): Pick<TooltipPrimitive.TooltipContentProps, 'side' | 'align'> {\n switch (placement) {\n case TooltipPosition.TopCenter:\n return {\n side: 'top',\n align: 'center',\n }\n case TooltipPosition.TopLeft:\n return {\n side: 'top',\n align: 'start',\n }\n case TooltipPosition.TopRight:\n return {\n side: 'top',\n align: 'end',\n }\n case TooltipPosition.RightCenter:\n return {\n side: 'right',\n align: 'center',\n }\n case TooltipPosition.RightTop:\n return {\n side: 'right',\n align: 'start',\n }\n case TooltipPosition.RightBottom:\n return {\n side: 'right',\n align: 'end',\n }\n case TooltipPosition.BottomCenter:\n return {\n side: 'bottom',\n align: 'center',\n }\n case TooltipPosition.BottomLeft:\n return {\n side: 'bottom',\n align: 'start',\n }\n case TooltipPosition.BottomRight:\n return {\n side: 'bottom',\n align: 'end',\n }\n case TooltipPosition.LeftCenter:\n return {\n side: 'left',\n align: 'center',\n }\n case TooltipPosition.LeftTop:\n return {\n side: 'left',\n align: 'start',\n }\n case TooltipPosition.LeftBottom:\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\nconst [\n /**\n * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.\n */\n TooltipGlobalContextProvider,\n useTooltipGlobalContext,\n] = createContext<Required<Pick<TooltipProviderProps, 'delayHide'>> | null>('TooltipProvider', null)\n\n/**\n * `TooltipProvider` is used to globally provide props to child tooltips.\n *\n * @example\n *\n * ```tsx\n * <TooltipProvider allowHover delayShow={1000}>\n * <Tooltip />\n * </TooltipProvider>\n * ```\n */\nexport function TooltipProvider({\n children,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n skipDelayShow = 0,\n}: TooltipProviderProps) {\n const contextValue = useMemo(() => ({\n delayHide,\n }), [delayHide])\n\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayShow}\n skipDelayDuration={skipDelayShow}\n disableHoverableContent={!allowHover}\n >\n <TooltipGlobalContextProvider value={contextValue}>\n { children }\n </TooltipGlobalContextProvider>\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * @example\n *\n * ```tsx\n * // Anatomy of the Tooltip\n * <TooltipProvider>\n * <Tooltip />\n * </TooltipProvider>\n *\n * // Example of a Tooltip with a button\n * <Tooltip content=\"Ta-da!\">\n * <button>Hover me</button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip({\n as,\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n content,\n description,\n icon,\n placement = TooltipPosition.BottomCenter,\n offset = 4,\n container = document.body,\n keepInContainer = true,\n allowHover,\n delayShow,\n delayHide: delayHideProp,\n ...rest\n}, forwardedRef) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n const { delayHide: globalDelayHide } = useTooltipGlobalContext('Tooltip')\n\n const delayHide = delayHideProp ?? globalDelayHide\n\n useEffect(function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n const onOpenChange = useCallback((open: boolean) => {\n if (disabled) { return }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n }, [\n disabled,\n delayHide,\n onShow,\n onHide,\n ])\n\n return (\n <TooltipPrimitive.Root\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={isBoolean(allowHover) ? !allowHover : undefined}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild>\n { children }\n </TooltipPrimitive.Trigger>\n\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <Styled.TooltipContent forwardedAs={as}>\n <Styled.TextContainer>\n <Styled.Content>\n { content }\n </Styled.Content>\n\n { description && (\n <Styled.Description>\n { description }\n </Styled.Description>\n ) }\n </Styled.TextContainer>\n\n { icon && (\n <Styled.Icon source={icon} />\n ) }\n </Styled.TooltipContent>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n )\n})\n"],"names":["createContext","providerName","defaultValue","Context","React","useContext","consumerName","contextValue","Error","Provider","getSideAndAlign","placement","TooltipPosition","TopCenter","side","align","TopLeft","TopRight","RightCenter","RightTop","RightBottom","BottomCenter","BottomLeft","BottomRight","LeftCenter","LeftTop","LeftBottom","undefined","TooltipGlobalContextProvider","useTooltipGlobalContext","TooltipProvider","children","allowHover","delayShow","delayHide","skipDelayShow","useMemo","createElement","TooltipPrimitive","delayDuration","skipDelayDuration","disableHoverableContent","value","Tooltip","forwardRef","as","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","content","description","icon","offset","container","document","body","keepInContainer","delayHideProp","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","globalDelayHide","useEffect","cleanUpTimeout","cleanUp","current","clearTimeout","useCallback","onOpenChange","open","setTimeout","defaultOpen","isBoolean","asChild","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","Styled","forwardedAs","source"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { document } from '~/src/utils/domUtils'\nimport { createContext } from '~/src/utils/reactUtils'\nimport { isBoolean } from '~/src/utils/typeUtils'\n\nimport {\n TooltipPosition,\n type TooltipProps,\n type TooltipProviderProps,\n} from './Tooltip.types'\n\nimport * as Styled from './Tooltip.styled'\n\nfunction getSideAndAlign(\n placement: TooltipPosition,\n): Pick<TooltipPrimitive.TooltipContentProps, 'side' | 'align'> {\n switch (placement) {\n case TooltipPosition.TopCenter:\n return {\n side: 'top',\n align: 'center',\n }\n case TooltipPosition.TopLeft:\n return {\n side: 'top',\n align: 'start',\n }\n case TooltipPosition.TopRight:\n return {\n side: 'top',\n align: 'end',\n }\n case TooltipPosition.RightCenter:\n return {\n side: 'right',\n align: 'center',\n }\n case TooltipPosition.RightTop:\n return {\n side: 'right',\n align: 'start',\n }\n case TooltipPosition.RightBottom:\n return {\n side: 'right',\n align: 'end',\n }\n case TooltipPosition.BottomCenter:\n return {\n side: 'bottom',\n align: 'center',\n }\n case TooltipPosition.BottomLeft:\n return {\n side: 'bottom',\n align: 'start',\n }\n case TooltipPosition.BottomRight:\n return {\n side: 'bottom',\n align: 'end',\n }\n case TooltipPosition.LeftCenter:\n return {\n side: 'left',\n align: 'center',\n }\n case TooltipPosition.LeftTop:\n return {\n side: 'left',\n align: 'start',\n }\n case TooltipPosition.LeftBottom:\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\nconst [\n /**\n * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.\n */\n TooltipGlobalContextProvider,\n useTooltipGlobalContext,\n] = createContext<Required<Pick<TooltipProviderProps, 'delayHide'>> | null>(null, 'TooltipProvider')\n\n/**\n * `TooltipProvider` is used to globally provide props to child tooltips.\n *\n * @example\n *\n * ```tsx\n * <TooltipProvider allowHover delayShow={1000}>\n * <Tooltip />\n * </TooltipProvider>\n * ```\n */\nexport function TooltipProvider({\n children,\n allowHover = false,\n delayShow = 300,\n delayHide = 0,\n skipDelayShow = 500,\n}: TooltipProviderProps) {\n const contextValue = useMemo(() => ({\n delayHide,\n }), [delayHide])\n\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayShow}\n skipDelayDuration={skipDelayShow}\n disableHoverableContent={!allowHover}\n >\n <TooltipGlobalContextProvider value={contextValue}>\n { children }\n </TooltipGlobalContextProvider>\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * @example\n *\n * ```tsx\n * // Anatomy of the Tooltip\n * <TooltipProvider>\n * <Tooltip />\n * </TooltipProvider>\n *\n * // Example of a Tooltip with a button\n * <Tooltip content=\"Ta-da!\">\n * <button>Hover me</button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip({\n as,\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n content,\n description,\n icon,\n placement = TooltipPosition.BottomCenter,\n offset = 4,\n container = document.body,\n keepInContainer = true,\n allowHover,\n delayShow,\n delayHide: delayHideProp,\n ...rest\n}, forwardedRef) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n const { delayHide: globalDelayHide } = useTooltipGlobalContext('Tooltip')\n\n const delayHide = delayHideProp ?? globalDelayHide\n\n useEffect(function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n const onOpenChange = useCallback((open: boolean) => {\n if (disabled) { return }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n }, [\n disabled,\n delayHide,\n onShow,\n onHide,\n ])\n\n return (\n <TooltipPrimitive.Root\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={isBoolean(allowHover) ? !allowHover : undefined}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild>\n { children }\n </TooltipPrimitive.Trigger>\n\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <Styled.TooltipContent forwardedAs={as}>\n <Styled.TextContainer>\n <Styled.Content>\n { content }\n </Styled.Content>\n\n { description && (\n <Styled.Description>\n { description }\n </Styled.Description>\n ) }\n </Styled.TextContainer>\n\n { icon && (\n <Styled.Icon source={icon} />\n ) }\n </Styled.TooltipContent>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n )\n})\n"],"names":["getSideAndAlign","placement","TooltipPosition","TopCenter","side","align","TopLeft","TopRight","RightCenter","RightTop","RightBottom","BottomCenter","BottomLeft","BottomRight","LeftCenter","LeftTop","LeftBottom","undefined","TooltipGlobalContextProvider","useTooltipGlobalContext","createContext","TooltipProvider","children","allowHover","delayShow","delayHide","skipDelayShow","contextValue","useMemo","React","createElement","TooltipPrimitive","delayDuration","skipDelayDuration","disableHoverableContent","value","Tooltip","forwardRef","as","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","content","description","icon","offset","container","document","body","keepInContainer","delayHideProp","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","globalDelayHide","useEffect","cleanUpTimeout","cleanUp","current","clearTimeout","useCallback","onOpenChange","open","setTimeout","defaultOpen","isBoolean","asChild","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","Styled","forwardedAs","source"],"mappings":"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"}
@@ -2,77 +2,24 @@
2
2
 
3
3
  var ZIndex = require('../../constants/ZIndex.js');
4
4
  var Text = require('../Text/Text.js');
5
- var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
6
5
  var AlphaStack = require('../AlphaStack/AlphaStack.js');
7
6
  var Typography = require('../../foundation/Typography.js');
8
7
  var Icon$1 = require('../Icon/Icon.js');
9
8
  var Icon_types = require('../Icon/Icon.types.js');
10
- var index = require('../../foundation/Transition/index.js');
11
- var styled = require('styled-components');
9
+ var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
12
10
  var Mixins = require('../../foundation/Mixins.js');
13
11
 
14
- const fadeIn = styled.keyframes`
15
- from {
16
- opacity: 0;
17
- }
18
-
19
- to {
20
- opacity: 1;
21
- }
22
- `;
23
- const SLIDE_OFFSET = 2;
24
- const slideUp = styled.keyframes`
25
- from {
26
- transform: translateY(${SLIDE_OFFSET}px);
27
- }
28
-
29
- to {
30
- transform: translateY(0);
31
- }
32
- `;
33
- const slideRight = styled.keyframes`
34
- from {
35
- transform: translateX(-${SLIDE_OFFSET}px);
36
- }
37
-
38
- to {
39
- transform: translateX(0);
40
- }
41
- `;
42
- const slideDown = styled.keyframes`
43
- from {
44
- transform: translateY(-${SLIDE_OFFSET}px);
45
- }
46
-
47
- to {
48
- transform: translateY(0);
49
- }
50
- `;
51
- const slideLeft = styled.keyframes`
52
- from {
53
- transform: translateX(${SLIDE_OFFSET}px);
54
- }
55
-
56
- to {
57
- transform: translateX(0);
58
- }
59
- `;
60
- const getSlideAnimation = frames => FoundationStyledComponent.css`
61
- animation-name: ${() => frames}, ${() => fadeIn};
62
- animation-duration: ${index.TransitionDuration.M}ms;
63
- animation-timing-function: cubic-bezier(0.3, 0, 0, 1);
64
- `;
65
12
  const TooltipContent = /*#__PURE__*/FoundationStyledComponent.styled(AlphaStack.AlphaStack).attrs({
66
13
  direction: 'horizontal',
67
14
  spacing: 4
68
15
  }).withConfig({
69
16
  displayName: "Tooltipstyled__TooltipContent",
70
17
  componentId: "sc-51cb65-0"
71
- })(["z-index:", ";box-sizing:border-box;width:max-content;max-width:260px;height:max-content;padding:5px 8px;word-break:normal;word-wrap:break-word;", ";", ";&[data-side=\"top\"]{", "}&[data-side=\"right\"]{", "}&[data-side=\"bottom\"]{", "}&[data-side=\"left\"]{", "}", ""], ZIndex.ZIndex.Tooltip, ({
18
+ })(["z-index:", ";box-sizing:border-box;width:max-content;max-width:260px;height:max-content;padding:5px 8px;word-break:normal;word-wrap:break-word;", ";", ";", ""], ZIndex.ZIndex.Tooltip, ({
72
19
  foundation
73
20
  }) => foundation?.elevation?.ev3(true), ({
74
21
  foundation
75
- }) => foundation?.rounding?.round8, getSlideAnimation(slideUp), getSlideAnimation(slideRight), getSlideAnimation(slideDown), getSlideAnimation(slideLeft), ({
22
+ }) => foundation?.rounding?.round8, ({
76
23
  interpolation
77
24
  }) => interpolation);
78
25
  const TextContainer = /*#__PURE__*/FoundationStyledComponent.styled.div.withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.styled.js","sources":["../../../../src/components/Tooltip/Tooltip.styled.ts"],"sourcesContent":["import {\n LineHeightAbsoluteNumber,\n TransitionDuration,\n Typography,\n css,\n ellipsis,\n keyframes,\n styled,\n} from '~/src/foundation'\n\nimport { ZIndex } from '~/src/constants/ZIndex'\n\nimport { AlphaStack } from '~/src/components/AlphaStack'\nimport {\n Icon as BaseIcon,\n IconSize,\n} from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type TooltipProps } from './Tooltip.types'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n`\n\nconst SLIDE_OFFSET = 2\n\nconst slideUp = keyframes`\n from {\n transform: translateY(${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateY(0);\n }\n`\n\nconst slideRight = keyframes`\n from {\n transform: translateX(-${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateX(0);\n }\n`\n\nconst slideDown = keyframes`\n from {\n transform: translateY(-${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateY(0);\n }\n`\n\nconst slideLeft = keyframes`\n from {\n transform: translateX(${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateX(0);\n }\n`\n\nconst getSlideAnimation = (frames: ReturnType<typeof keyframes>) => css`\n animation-name: ${() => frames}, ${() => fadeIn};\n animation-duration: ${TransitionDuration.M}ms;\n animation-timing-function: cubic-bezier(0.3, 0, 0, 1);\n`\n\nexport const TooltipContent = styled(AlphaStack).attrs({\n direction: 'horizontal',\n spacing: 4,\n})<TooltipProps>`\n z-index: ${ZIndex.Tooltip};\n\n box-sizing: border-box;\n width: max-content;\n max-width: 260px;\n height: max-content;\n padding: 5px 8px;\n word-break: normal;\n word-wrap: break-word;\n\n ${({ foundation }) => foundation?.elevation?.ev3(true)};\n ${({ foundation }) => foundation?.rounding?.round8};\n\n &[data-side=\"top\"] {\n ${getSlideAnimation(slideUp)}\n }\n\n &[data-side=\"right\"] {\n ${getSlideAnimation(slideRight)}\n }\n\n &[data-side=\"bottom\"] {\n ${getSlideAnimation(slideDown)}\n }\n\n &[data-side=\"left\"] {\n ${getSlideAnimation(slideLeft)}\n }\n\n ${({ interpolation }) => interpolation}\n`\n\nexport const TextContainer = styled.div`\n overflow: hidden;\n`\n\nexport const Content = styled(Text).attrs({ typo: Typography.Size13 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n /* NOTE: Line height of Typography.Size13 */\n ${ellipsis(20, LineHeightAbsoluteNumber.Lh18)}\n white-space: pre-wrap;\n`\n\nexport const Description = styled(Text).attrs({ typo: Typography.Size12 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-dark']};\n`\n\nexport const Icon = styled(BaseIcon).attrs({\n size: IconSize.XS,\n})`\n padding: 1px;\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n`\n"],"names":["fadeIn","keyframes","SLIDE_OFFSET","slideUp","slideRight","slideDown","slideLeft","getSlideAnimation","frames","css","TransitionDuration","M","TooltipContent","styled","AlphaStack","attrs","direction","spacing","withConfig","displayName","componentId","ZIndex","Tooltip","foundation","elevation","ev3","rounding","round8","interpolation","TextContainer","div","Content","Text","typo","Typography","Size13","subTheme","ellipsis","LineHeightAbsoluteNumber","Lh18","Description","Size12","Icon","BaseIcon","size","IconSize","XS"],"mappings":";;;;;;;;;;;;;AAqBA,MAAMA,MAAM,GAAGC,gBAAU,CAAA;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMC,YAAY,GAAG,CAAC,CAAA;AAEtB,MAAMC,OAAO,GAAGF,gBAAU,CAAA;AAC1B;AACA,0BAAA,EAA4BC,YAAa,CAAA;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAME,UAAU,GAAGH,gBAAU,CAAA;AAC7B;AACA,2BAAA,EAA6BC,YAAa,CAAA;AAC1C;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMG,SAAS,GAAGJ,gBAAU,CAAA;AAC5B;AACA,2BAAA,EAA6BC,YAAa,CAAA;AAC1C;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMI,SAAS,GAAGL,gBAAU,CAAA;AAC5B;AACA,0BAAA,EAA4BC,YAAa,CAAA;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMK,iBAAiB,GAAIC,MAAoC,IAAKC,6BAAI,CAAA;AACxE,kBAAA,EAAoB,MAAMD,MAAO,CAAI,EAAA,EAAA,MAAMR,MAAO,CAAA;AAClD,sBAAwBU,EAAAA,wBAAkB,CAACC,CAAE,CAAA;AAC7C;AACA,CAAC,CAAA;AAEM,MAAMC,cAAc,gBAAGC,gCAAM,CAACC,qBAAU,CAAC,CAACC,KAAK,CAAC;AACrDC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,UAAA,EAAA,qIAAA,EAAA,GAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,yBAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EACWC,aAAM,CAACC,OAAO,EAUvB,CAAC;AAAEC,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEC,SAAS,EAAEC,GAAG,CAAC,IAAI,CAAC,EACpD,CAAC;AAAEF,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEG,QAAQ,EAAEC,MAAM,EAG9CpB,iBAAiB,CAACJ,OAAO,CAAC,EAI1BI,iBAAiB,CAACH,UAAU,CAAC,EAI7BG,iBAAiB,CAACF,SAAS,CAAC,EAI5BE,iBAAiB,CAACD,SAAS,CAAC,EAG9B,CAAC;AAAEsB,EAAAA,aAAAA;AAAc,CAAC,KAAKA,aAAa,EACvC;MAEYC,aAAa,gBAAGhB,gCAAM,CAACiB,GAAG,CAAAZ,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAEtC,CAAA,CAAA,CAAA,kBAAA,CAAA,EAAA;AAEM,MAAMW,OAAO,gBAAGlB,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACC,MAAAA;AAAO,CAAC,CAAC,CAAAjB,UAAA,CAAA;EAAAC,WAAA,EAAA,wBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EAC3D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC,EAEtEC,eAAQ,CAAC,EAAE,EAAEC,mCAAwB,CAACC,IAAI,CAAC,EAE9C;AAEM,MAAMC,WAAW,gBAAG3B,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACO,MAAAA;AAAO,CAAC,CAAC,CAAAvB,UAAA,CAAA;EAAAC,WAAA,EAAA,4BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,CAAA,EAC/D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,gBAAgB,CAAC,EACtE;AAEM,MAAMM,IAAI,gBAAG7B,gCAAM,CAAC8B,WAAQ,CAAC,CAAC5B,KAAK,CAAC;EACzC6B,IAAI,EAAEC,mBAAQ,CAACC,EAAAA;AACjB,CAAC,CAAC,CAAA5B,UAAA,CAAA;EAAAC,WAAA,EAAA,qBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,EAES,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"Tooltip.styled.js","sources":["../../../../src/components/Tooltip/Tooltip.styled.ts"],"sourcesContent":["import {\n LineHeightAbsoluteNumber,\n Typography,\n ellipsis,\n styled,\n} from '~/src/foundation'\n\nimport { ZIndex } from '~/src/constants/ZIndex'\n\nimport { AlphaStack } from '~/src/components/AlphaStack'\nimport {\n Icon as BaseIcon,\n IconSize,\n} from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type TooltipProps } from './Tooltip.types'\n\nexport const TooltipContent = styled(AlphaStack).attrs({\n direction: 'horizontal',\n spacing: 4,\n})<TooltipProps>`\n z-index: ${ZIndex.Tooltip};\n\n box-sizing: border-box;\n width: max-content;\n max-width: 260px;\n height: max-content;\n padding: 5px 8px;\n word-break: normal;\n word-wrap: break-word;\n\n ${({ foundation }) => foundation?.elevation?.ev3(true)};\n ${({ foundation }) => foundation?.rounding?.round8};\n\n ${({ interpolation }) => interpolation}\n`\n\nexport const TextContainer = styled.div`\n overflow: hidden;\n`\n\nexport const Content = styled(Text).attrs({ typo: Typography.Size13 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n /* NOTE: Line height of Typography.Size13 */\n ${ellipsis(20, LineHeightAbsoluteNumber.Lh18)}\n white-space: pre-wrap;\n`\n\nexport const Description = styled(Text).attrs({ typo: Typography.Size12 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-dark']};\n`\n\nexport const Icon = styled(BaseIcon).attrs({\n size: IconSize.XS,\n})`\n padding: 1px;\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n`\n"],"names":["TooltipContent","styled","AlphaStack","attrs","direction","spacing","withConfig","displayName","componentId","ZIndex","Tooltip","foundation","elevation","ev3","rounding","round8","interpolation","TextContainer","div","Content","Text","typo","Typography","Size13","subTheme","ellipsis","LineHeightAbsoluteNumber","Lh18","Description","Size12","Icon","BaseIcon","size","IconSize","XS"],"mappings":";;;;;;;;;;;AAkBO,MAAMA,cAAc,gBAAGC,gCAAM,CAACC,qBAAU,CAAC,CAACC,KAAK,CAAC;AACrDC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,UAAA,EAAA,qIAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EACWC,aAAM,CAACC,OAAO,EAUvB,CAAC;AAAEC,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEC,SAAS,EAAEC,GAAG,CAAC,IAAI,CAAC,EACpD,CAAC;AAAEF,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEG,QAAQ,EAAEC,MAAM,EAEhD,CAAC;AAAEC,EAAAA,aAAAA;AAAc,CAAC,KAAKA,aAAa,EACvC;MAEYC,aAAa,gBAAGhB,gCAAM,CAACiB,GAAG,CAAAZ,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAEtC,CAAA,CAAA,CAAA,kBAAA,CAAA,EAAA;AAEM,MAAMW,OAAO,gBAAGlB,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACC,MAAAA;AAAO,CAAC,CAAC,CAAAjB,UAAA,CAAA;EAAAC,WAAA,EAAA,wBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EAC3D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC,EAEtEC,eAAQ,CAAC,EAAE,EAAEC,mCAAwB,CAACC,IAAI,CAAC,EAE9C;AAEM,MAAMC,WAAW,gBAAG3B,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACO,MAAAA;AAAO,CAAC,CAAC,CAAAvB,UAAA,CAAA;EAAAC,WAAA,EAAA,4BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,CAAA,EAC/D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,gBAAgB,CAAC,EACtE;AAEM,MAAMM,IAAI,gBAAG7B,gCAAM,CAAC8B,WAAQ,CAAC,CAAC5B,KAAK,CAAC;EACzC6B,IAAI,EAAEC,mBAAQ,CAACC,EAAAA;AACjB,CAAC,CAAC,CAAA5B,UAAA,CAAA;EAAAC,WAAA,EAAA,qBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,EAES,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.types.js","sources":["../../../../src/components/Tooltip/Tooltip.types.ts"],"sourcesContent":["import { type BezierIcon } from '@channel.io/bezier-icons'\n\nimport {\n type BezierComponentProps,\n type ChildrenProps,\n type ContentProps,\n type DisableProps,\n} from '~/src/types/ComponentProps'\n\n/**\n * An enumeration that determines the position of `Tooltip`.\n */\nexport enum TooltipPosition {\n TopCenter = 'topCenter',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n RightCenter = 'rightCenter',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n BottomCenter = 'bottomCenter',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n LeftCenter = 'leftCenter',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n}\n\ninterface TooltipProviderOptions {\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * @default 0\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * @default 0\n */\n delayHide?: number\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @default 0\n */\n skipDelayShow?: number\n}\n\ninterface TooltipOptions {\n /**\n * The open state of the tooltip when it is initially rendered.\n */\n defaultShow?: boolean\n /**\n * An element that sits below the tooltip content.\n */\n description?: React.ReactNode\n /**\n * A decorative icon that sits right of the tooltip content.\n */\n icon?: BezierIcon\n /**\n * Options to determine the location from the trigger.\n * @default TooltipPosition.BottomCenter\n */\n placement?: TooltipPosition\n /**\n * The distance in pixels from the trigger.\n * @default 4\n */\n offset?: number\n /**\n * Specify a container element to portal the content into.\n * @default document.body\n */\n container?: HTMLElement | null\n /**\n * When `true`, overrides the `position` of the tooltip\n * to prevent collisions with boundary edges.\n * @default true\n */\n keepInContainer?: boolean\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * Inherits from the nearest `TooltipProvider`.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayHide?: number\n /**\n * Callback function to be called when the tooltip is opened.\n */\n onShow?: () => void\n /**\n * Callback function to be called when the tooltip is closed.\n */\n onHide?: () => void\n /**\n * Event handler called when the escape key is down.\n * It can be prevented by calling `event.preventDefault`.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component.\n * It can be prevented by calling `event.preventDefault`.\n */\n onPointerDownOutside?: (event: CustomEvent<{ originalEvent: PointerEvent }>) => void\n}\n\nexport interface TooltipProviderProps extends\n ChildrenProps,\n TooltipProviderOptions {}\n\nexport interface TooltipProps extends\n BezierComponentProps,\n ChildrenProps<React.ReactElement>,\n ContentProps,\n DisableProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps | keyof ChildrenProps>,\n TooltipOptions {}\n"],"names":["TooltipPosition"],"mappings":";;AASA;AACA;AACA;AACYA,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"Tooltip.types.js","sources":["../../../../src/components/Tooltip/Tooltip.types.ts"],"sourcesContent":["import { type BezierIcon } from '@channel.io/bezier-icons'\n\nimport {\n type BezierComponentProps,\n type ChildrenProps,\n type ContentProps,\n type DisableProps,\n} from '~/src/types/ComponentProps'\n\n/**\n * An enumeration that determines the position of `Tooltip`.\n */\nexport enum TooltipPosition {\n TopCenter = 'topCenter',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n RightCenter = 'rightCenter',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n BottomCenter = 'bottomCenter',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n LeftCenter = 'leftCenter',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n}\n\ninterface TooltipProviderOptions {\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * @default 300\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * @default 0\n */\n delayHide?: number\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @default 500\n */\n skipDelayShow?: number\n}\n\ninterface TooltipOptions {\n /**\n * The open state of the tooltip when it is initially rendered.\n */\n defaultShow?: boolean\n /**\n * An element that sits below the tooltip content.\n */\n description?: React.ReactNode\n /**\n * A decorative icon that sits right of the tooltip content.\n */\n icon?: BezierIcon\n /**\n * Options to determine the location from the trigger.\n * @default TooltipPosition.BottomCenter\n */\n placement?: TooltipPosition\n /**\n * The distance in pixels from the trigger.\n * @default 4\n */\n offset?: number\n /**\n * Specify a container element to portal the content into.\n * @default document.body\n */\n container?: HTMLElement | null\n /**\n * When `true`, overrides the `position` of the tooltip\n * to prevent collisions with boundary edges.\n * @default true\n */\n keepInContainer?: boolean\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * Inherits from the nearest `TooltipProvider`.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * Inherits from the nearest `TooltipProvider`.\n * @default 300\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayHide?: number\n /**\n * Callback function to be called when the tooltip is opened.\n */\n onShow?: () => void\n /**\n * Callback function to be called when the tooltip is closed.\n */\n onHide?: () => void\n /**\n * Event handler called when the escape key is down.\n * It can be prevented by calling `event.preventDefault`.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component.\n * It can be prevented by calling `event.preventDefault`.\n */\n onPointerDownOutside?: (event: CustomEvent<{ originalEvent: PointerEvent }>) => void\n}\n\nexport interface TooltipProviderProps extends\n ChildrenProps,\n TooltipProviderOptions {}\n\nexport interface TooltipProps extends\n BezierComponentProps,\n ChildrenProps<React.ReactElement>,\n ContentProps,\n DisableProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps | keyof ChildrenProps>,\n TooltipOptions {}\n"],"names":["TooltipPosition"],"mappings":";;AASA;AACA;AACA;AACYA,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
+ var reactUtils = require('../utils/reactUtils.js');
4
5
  var Feature = require('./Feature.js');
5
6
 
6
7
  const initialFeatureFlag = {
7
8
  [Feature.FeatureType.SmoothCorners]: false
8
9
  };
9
- const FeatureFlagContext = /*#__PURE__*/React.createContext(initialFeatureFlag);
10
+ const [FeatureFlagContextProvider, useFeatureFlagContext] = reactUtils.createContext(initialFeatureFlag);
10
11
  /**
11
12
  * `FeatureProvider` is a component that activates features and provides.
12
13
  *
@@ -40,12 +41,12 @@ function FeatureProvider({
40
41
  }));
41
42
  });
42
43
  }, [features]);
43
- return /*#__PURE__*/React.createElement(FeatureFlagContext.Provider, {
44
+ return /*#__PURE__*/React.createElement(FeatureFlagContextProvider, {
44
45
  value: featureFlag
45
46
  }, children);
46
47
  }
47
48
  function useFeatureFlag(featureType) {
48
- const contextValue = React.useContext(FeatureFlagContext);
49
+ const contextValue = useFeatureFlagContext();
49
50
  return React.useMemo(() => contextValue[featureType], [contextValue, featureType]);
50
51
  }
51
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.js","sources":["../../../src/features/FeatureProvider.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport {\n type Feature,\n FeatureType,\n} from './Feature'\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst FeatureFlagContext = createContext<FeatureFlag>(initialFeatureFlag)\n\ninterface FeatureProviderProps {\n children: React.ReactNode\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n *\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({\n children,\n features,\n}: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] = useState<FeatureFlag>(initialFeatureFlag)\n\n useLayoutEffect(function activateFeatures() {\n if (!features) {\n return\n }\n\n const promises = features.map(feature => (\n feature.activate().then(activated => (\n { [feature.name]: activated }\n ))\n ))\n\n Promise.all(promises).then(flags => {\n setFeatureFlag(prev => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n }, [features])\n\n return (\n <FeatureFlagContext.Provider value={featureFlag}>\n { children }\n </FeatureFlagContext.Provider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useContext(FeatureFlagContext)\n\n return useMemo(() => (\n contextValue[featureType]\n ), [\n contextValue,\n featureType,\n ])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useLayoutEffect","activateFeatures","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","Provider","value","useFeatureFlag","featureType","contextValue","useContext","useMemo"],"mappings":";;;;;AAeA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,mBAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAMC,kBAAkB,gBAAGC,mBAAa,CAAcJ,kBAAkB,CAAC,CAAA;AAUzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,eAAeA,CAAC;EAC9BC,QAAQ;AACRC,EAAAA,QAAAA;AACoB,CAAC,EAAE;EACvB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAcV,kBAAkB,CAAC,CAAA;AAE/EW,EAAAA,qBAAe,CAAC,SAASC,gBAAgBA,GAAG;IAC1C,IAAI,CAACL,QAAQ,EAAE;AACb,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMM,QAAQ,GAAGN,QAAQ,CAACO,GAAG,CAACC,OAAO,IACnCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAACC,SAAS,KAC/B;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAC9B,CACF,CAAC,CAAA;IAEFE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAACK,KAAK,IAAI;MAClCb,cAAc,CAACc,IAAI,KAAK;AACtB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC,GAAAA;SAAK,CAAC,EAAE,EAAE,CAAA;AACxD,OAAC,CAAC,CAAC,CAAA;AACL,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEoB,KAAA,CAAAC,aAAA,CAACzB,kBAAkB,CAAC0B,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEtB,WAAAA;AAAY,GAAA,EAC5CF,QACyB,CAAC,CAAA;AAElC,CAAA;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAGC,gBAAU,CAAC/B,kBAAkB,CAAC,CAAA;AAEnD,EAAA,OAAOgC,aAAO,CAAC,MACbF,YAAY,CAACD,WAAW,CACzB,EAAE,CACDC,YAAY,EACZD,WAAW,CACZ,CAAC,CAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"FeatureProvider.js","sources":["../../../src/features/FeatureProvider.tsx"],"sourcesContent":["import React, {\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport { createContext } from '~/src/utils/reactUtils'\n\nimport {\n type Feature,\n FeatureType,\n} from './Feature'\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [\n FeatureFlagContextProvider,\n useFeatureFlagContext,\n] = createContext<FeatureFlag>(initialFeatureFlag)\n\ninterface FeatureProviderProps {\n children: React.ReactNode\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n *\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({\n children,\n features,\n}: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] = useState<FeatureFlag>(initialFeatureFlag)\n\n useLayoutEffect(function activateFeatures() {\n if (!features) {\n return\n }\n\n const promises = features.map(feature => (\n feature.activate().then(activated => (\n { [feature.name]: activated }\n ))\n ))\n\n Promise.all(promises).then(flags => {\n setFeatureFlag(prev => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n }, [features])\n\n return (\n <FeatureFlagContextProvider value={featureFlag}>\n { children }\n </FeatureFlagContextProvider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useFeatureFlagContext()\n\n return useMemo(() => (\n contextValue[featureType]\n ), [\n contextValue,\n featureType,\n ])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useLayoutEffect","activateFeatures","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;AAeA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,mBAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CACJC,0BAA0B,EAC1BC,qBAAqB,CACtB,GAAGC,wBAAa,CAAcL,kBAAkB,CAAC,CAAA;AAUlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAC9BC,QAAQ;AACRC,EAAAA,QAAAA;AACoB,CAAC,EAAE;EACvB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAcX,kBAAkB,CAAC,CAAA;AAE/EY,EAAAA,qBAAe,CAAC,SAASC,gBAAgBA,GAAG;IAC1C,IAAI,CAACL,QAAQ,EAAE;AACb,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMM,QAAQ,GAAGN,QAAQ,CAACO,GAAG,CAACC,OAAO,IACnCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAACC,SAAS,KAC/B;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAC9B,CACF,CAAC,CAAA;IAEFE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAACK,KAAK,IAAI;MAClCb,cAAc,CAACc,IAAI,KAAK;AACtB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC,GAAAA;SAAK,CAAC,EAAE,EAAE,CAAA;AACxD,OAAC,CAAC,CAAC,CAAA;AACL,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEoB,KAAA,CAAAC,aAAA,CAAC1B,0BAA0B,EAAA;AAAC2B,IAAAA,KAAK,EAAErB,WAAAA;AAAY,GAAA,EAC3CF,QACwB,CAAC,CAAA;AAEjC,CAAA;AAEO,SAASwB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG7B,qBAAqB,EAAE,CAAA;AAE5C,EAAA,OAAO8B,aAAO,CAAC,MACbD,YAAY,CAACD,WAAW,CACzB,EAAE,CACDC,YAAY,EACZD,WAAW,CACZ,CAAC,CAAA;AACJ;;;;;"}