@tipp/ui 1.6.25 → 1.6.26

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 (159) hide show
  1. package/dist/app/index.cjs +429 -425
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +8 -8
  4. package/dist/app/platform/coach-question-list.cjs +86 -82
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +4 -4
  7. package/dist/app/platform/contents-card.cjs +70 -66
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +4 -4
  10. package/dist/app/platform/edit-coaching-time.cjs +158 -154
  11. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  12. package/dist/app/platform/edit-coaching-time.js +6 -6
  13. package/dist/app/platform/edit-service-type.cjs +145 -141
  14. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  15. package/dist/app/platform/edit-service-type.js +6 -6
  16. package/dist/app/platform/goal-manage-card-edit.cjs +154 -150
  17. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  18. package/dist/app/platform/goal-manage-card-edit.js +5 -5
  19. package/dist/app/platform/goal-manage-card-read.cjs +128 -124
  20. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-read.js +4 -4
  22. package/dist/app/platform/on-offline-radio-card.cjs +134 -130
  23. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  24. package/dist/app/platform/on-offline-radio-card.js +5 -5
  25. package/dist/app/platform/report-card.cjs +89 -85
  26. package/dist/app/platform/report-card.cjs.map +1 -1
  27. package/dist/app/platform/report-card.js +4 -4
  28. package/dist/app/platform/reservation-card.cjs +191 -187
  29. package/dist/app/platform/reservation-card.cjs.map +1 -1
  30. package/dist/app/platform/reservation-card.js +5 -5
  31. package/dist/app/platform/session-card.cjs +213 -209
  32. package/dist/app/platform/session-card.cjs.map +1 -1
  33. package/dist/app/platform/session-card.js +8 -8
  34. package/dist/app/platform/session-review-simple-read.cjs +89 -85
  35. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  36. package/dist/app/platform/session-review-simple-read.js +4 -4
  37. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +120 -116
  38. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  39. package/dist/app/platform/userInfos/coaching-customer-info/index.js +4 -4
  40. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +97 -93
  41. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  42. package/dist/app/platform/userInfos/coaching-customer-info/large.js +4 -4
  43. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +100 -96
  44. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  45. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +4 -4
  46. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +86 -82
  47. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  48. package/dist/app/platform/userInfos/coaching-customer-info/small.js +4 -4
  49. package/dist/app/platform/userInfos/session-user-info-detail.cjs +96 -92
  50. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  51. package/dist/app/platform/userInfos/session-user-info-detail.js +4 -4
  52. package/dist/app/platform/userInfos/utils.cjs +88 -84
  53. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  54. package/dist/app/platform/userInfos/utils.js +4 -4
  55. package/dist/atoms/dialog.cjs +1 -1
  56. package/dist/atoms/dialog.cjs.map +1 -1
  57. package/dist/atoms/dialog.js +1 -1
  58. package/dist/atoms/ellipsis-tooltip.cjs +101 -42
  59. package/dist/atoms/ellipsis-tooltip.cjs.map +1 -1
  60. package/dist/atoms/ellipsis-tooltip.js +4 -3
  61. package/dist/atoms/index.cjs +169 -145
  62. package/dist/atoms/index.cjs.map +1 -1
  63. package/dist/atoms/index.d.cts +5 -1
  64. package/dist/atoms/index.d.ts +5 -1
  65. package/dist/atoms/index.js +11 -5
  66. package/dist/atoms/scroll-area.cjs +2 -1
  67. package/dist/atoms/scroll-area.cjs.map +1 -1
  68. package/dist/atoms/scroll-area.d.cts +10 -1
  69. package/dist/atoms/scroll-area.d.ts +10 -1
  70. package/dist/atoms/scroll-area.js +1 -1
  71. package/dist/atoms/tooltip.cjs +67 -3
  72. package/dist/atoms/tooltip.cjs.map +1 -1
  73. package/dist/atoms/tooltip.d.cts +9 -1
  74. package/dist/atoms/tooltip.d.ts +9 -1
  75. package/dist/atoms/tooltip.js +9 -3
  76. package/dist/chunk-2YJ3EG6A.js +164 -0
  77. package/dist/chunk-2YJ3EG6A.js.map +1 -0
  78. package/dist/chunk-3IOLG7AJ.js +145 -0
  79. package/dist/chunk-3IOLG7AJ.js.map +1 -0
  80. package/dist/chunk-4DTD3FXF.js +47 -0
  81. package/dist/chunk-4DTD3FXF.js.map +1 -0
  82. package/dist/chunk-4Z5NYYOE.js +145 -0
  83. package/dist/chunk-4Z5NYYOE.js.map +1 -0
  84. package/dist/chunk-5VDTWYNQ.js +357 -0
  85. package/dist/chunk-5VDTWYNQ.js.map +1 -0
  86. package/dist/chunk-7KMPLHBV.js +357 -0
  87. package/dist/chunk-7KMPLHBV.js.map +1 -0
  88. package/dist/chunk-AFQMLTCH.js +54 -0
  89. package/dist/chunk-AFQMLTCH.js.map +1 -0
  90. package/dist/chunk-AQG6J4WX.js +357 -0
  91. package/dist/chunk-AQG6J4WX.js.map +1 -0
  92. package/dist/chunk-AW7YHNJD.js +174 -0
  93. package/dist/chunk-AW7YHNJD.js.map +1 -0
  94. package/dist/chunk-CIO2WR2Q.js +145 -0
  95. package/dist/chunk-CIO2WR2Q.js.map +1 -0
  96. package/dist/chunk-ED3ABG7K.js +54 -0
  97. package/dist/chunk-ED3ABG7K.js.map +1 -0
  98. package/dist/chunk-ERDNB5SX.js +30 -0
  99. package/dist/chunk-ERDNB5SX.js.map +1 -0
  100. package/dist/chunk-EREBMLDQ.js +58 -0
  101. package/dist/chunk-EREBMLDQ.js.map +1 -0
  102. package/dist/chunk-HN2C35F6.js +70 -0
  103. package/dist/chunk-HN2C35F6.js.map +1 -0
  104. package/dist/chunk-J5RZURAR.js +106 -0
  105. package/dist/chunk-J5RZURAR.js.map +1 -0
  106. package/dist/chunk-JRPA2S7O.js +54 -0
  107. package/dist/chunk-JRPA2S7O.js.map +1 -0
  108. package/dist/chunk-KT4BIOJJ.js +54 -0
  109. package/dist/chunk-KT4BIOJJ.js.map +1 -0
  110. package/dist/chunk-KWVNYSQW.js +10 -0
  111. package/dist/chunk-KWVNYSQW.js.map +1 -0
  112. package/dist/chunk-OT4OMHJV.js +58 -0
  113. package/dist/chunk-OT4OMHJV.js.map +1 -0
  114. package/dist/chunk-OYYJEZVP.js +84 -0
  115. package/dist/chunk-OYYJEZVP.js.map +1 -0
  116. package/dist/chunk-P442X52N.js +284 -0
  117. package/dist/chunk-P442X52N.js.map +1 -0
  118. package/dist/chunk-RYORYWPY.js +164 -0
  119. package/dist/chunk-RYORYWPY.js.map +1 -0
  120. package/dist/chunk-TBEOWECF.js +47 -0
  121. package/dist/chunk-TBEOWECF.js.map +1 -0
  122. package/dist/chunk-VJ7EA7ZF.js +54 -0
  123. package/dist/chunk-VJ7EA7ZF.js.map +1 -0
  124. package/dist/chunk-X5L3SBB7.js +174 -0
  125. package/dist/chunk-X5L3SBB7.js.map +1 -0
  126. package/dist/index.cjs +666 -642
  127. package/dist/index.cjs.map +1 -1
  128. package/dist/index.d.cts +5 -1
  129. package/dist/index.d.ts +5 -1
  130. package/dist/index.js +15 -9
  131. package/dist/molecules/date-picker/date-picker-button.cjs +100 -96
  132. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  133. package/dist/molecules/date-picker/date-picker-button.js +4 -4
  134. package/dist/molecules/expand-table/index.cjs +138 -134
  135. package/dist/molecules/expand-table/index.cjs.map +1 -1
  136. package/dist/molecules/expand-table/index.js +4 -4
  137. package/dist/molecules/expand-table/row.cjs +95 -91
  138. package/dist/molecules/expand-table/row.cjs.map +1 -1
  139. package/dist/molecules/expand-table/row.js +4 -4
  140. package/dist/molecules/index.cjs +319 -314
  141. package/dist/molecules/index.cjs.map +1 -1
  142. package/dist/molecules/index.js +5 -5
  143. package/dist/molecules/navigation.cjs +86 -82
  144. package/dist/molecules/navigation.cjs.map +1 -1
  145. package/dist/molecules/navigation.js +4 -4
  146. package/dist/molecules/radio-button-card.cjs +90 -86
  147. package/dist/molecules/radio-button-card.cjs.map +1 -1
  148. package/dist/molecules/radio-button-card.js +4 -4
  149. package/dist/molecules/tag-selector.cjs +102 -97
  150. package/dist/molecules/tag-selector.cjs.map +1 -1
  151. package/dist/molecules/tag-selector.js +5 -5
  152. package/dist/molecules/time-select.cjs +88 -84
  153. package/dist/molecules/time-select.cjs.map +1 -1
  154. package/dist/molecules/time-select.js +4 -4
  155. package/package.json +5 -3
  156. package/src/atoms/dialog.tsx +1 -1
  157. package/src/atoms/ellipsis-tooltip.tsx +39 -20
  158. package/src/atoms/scroll-area.tsx +8 -1
  159. package/src/atoms/tooltip.tsx +72 -1
@@ -52,45 +52,116 @@ __export(ellipsis_tooltip_exports, {
52
52
  EllipsisTooltip: () => EllipsisTooltip
53
53
  });
54
54
  module.exports = __toCommonJS(ellipsis_tooltip_exports);
55
- var import_react2 = require("react");
55
+ var import_react3 = require("react");
56
56
 
57
57
  // src/atoms/tooltip.tsx
58
- var import_themes = require("@radix-ui/themes");
59
-
60
- // src/atoms/typo.tsx
61
- var import_themes2 = require("@radix-ui/themes");
62
58
  var import_react = require("react");
59
+ var import_react_tooltip = require("@radix-ui/react-tooltip");
60
+ var import_react_popover = require("@radix-ui/react-popover");
63
61
  var import_jsx_runtime = require("react/jsx-runtime");
64
- var Typo = (0, import_react.forwardRef)(
62
+ var TouchContext = (0, import_react.createContext)(void 0);
63
+ var useTouch = () => (0, import_react.useContext)(TouchContext);
64
+ function TooltipProvider(_a) {
65
+ var _b = _a, {
66
+ children
67
+ } = _b, props = __objRest(_b, [
68
+ "children"
69
+ ]);
70
+ const [isTouch, setIsTouch] = (0, import_react.useState)(void 0);
71
+ (0, import_react.useEffect)(() => {
72
+ setIsTouch(window.matchMedia("(pointer: coarse)").matches);
73
+ }, []);
74
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TouchContext.Provider, { value: isTouch, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tooltip.TooltipProvider, __spreadProps(__spreadValues({}, props), { children })) });
75
+ }
76
+ function Tooltip(props) {
77
+ const isTouch = useTouch();
78
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipProvider, { children: isTouch ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_popover.Popover, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tooltip.Tooltip, __spreadValues({}, props)) });
79
+ }
80
+ function TooltipTrigger(props) {
81
+ const isTouch = useTouch();
82
+ return isTouch ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_popover.PopoverTrigger, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tooltip.TooltipTrigger, __spreadValues({}, props));
83
+ }
84
+ function TooltipContent(props) {
85
+ const isTouch = useTouch();
86
+ return isTouch ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_popover.PopoverContent, __spreadValues({}, props)) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_tooltip.TooltipContent, __spreadValues({}, props));
87
+ }
88
+
89
+ // src/atoms/button.tsx
90
+ var import_react2 = require("react");
91
+ var import_themes = require("@radix-ui/themes");
92
+ var import_clsx = require("clsx");
93
+
94
+ // src/utils/convert-button-size.ts
95
+ var convertSizeStr = (size) => {
96
+ switch (size) {
97
+ case "small":
98
+ return "1";
99
+ case "medium":
100
+ return "2";
101
+ case "large":
102
+ return "3";
103
+ default:
104
+ return "2";
105
+ }
106
+ };
107
+ var convertSizeResponse = (size) => {
108
+ if (typeof size === "string" || typeof size === "undefined") {
109
+ return convertSizeStr(size);
110
+ }
111
+ const radixSize = {};
112
+ let key = "initial";
113
+ for (key in size) {
114
+ radixSize[key] = convertSizeStr(size[key]);
115
+ }
116
+ return radixSize;
117
+ };
118
+ var convertSize = (size) => {
119
+ if (typeof size === "string") {
120
+ return convertSizeStr(size);
121
+ }
122
+ return convertSizeResponse(size);
123
+ };
124
+
125
+ // src/atoms/button.tsx
126
+ var import_jsx_runtime2 = require("react/jsx-runtime");
127
+ var Button = (0, import_react2.forwardRef)(
65
128
  (props, ref) => {
66
- const _a = props, { size, variant, children } = _a, rest = __objRest(_a, ["size", "variant", "children"]);
67
- const radixSize = (0, import_react.useMemo)(() => {
68
- if (size !== void 0)
69
- return size;
70
- switch (variant) {
71
- case "caption":
72
- return "1";
73
- case "subtitle":
74
- return "3";
75
- case "body":
76
- default:
77
- return "2";
78
- }
79
- }, [size, variant]);
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes2.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
129
+ const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
130
+ const radixSize = (0, import_react2.useMemo)(() => {
131
+ return convertSize(size);
132
+ }, [size]);
133
+ const radixVariant = (0, import_react2.useMemo)(() => {
134
+ if (variant === "transparent")
135
+ return "soft";
136
+ return variant;
137
+ }, [variant]);
138
+ const className = (0, import_react2.useMemo)(() => {
139
+ return (0, import_clsx.clsx)(props.className, { transparent: variant === "transparent" });
140
+ }, [props.className, variant]);
141
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
142
+ import_themes.Button,
143
+ __spreadProps(__spreadValues({
144
+ style,
145
+ variant: radixVariant
146
+ }, restProps), {
147
+ className,
148
+ ref,
149
+ size: radixSize
150
+ })
151
+ );
81
152
  }
82
153
  );
83
- Typo.displayName = "Typo";
154
+ Button.displayName = "Button";
84
155
 
85
156
  // src/atoms/ellipsis-tooltip.tsx
86
- var import_jsx_runtime2 = require("react/jsx-runtime");
157
+ var import_jsx_runtime3 = require("react/jsx-runtime");
87
158
  function EllipsisTooltip(props) {
88
159
  const _a = props, { children, style, lineClamp = 2 } = _a, rest = __objRest(_a, ["children", "style", "lineClamp"]);
89
- const ref = (0, import_react2.useRef)(null);
90
- const [tooltipDisplay, setTooltipDisplay] = (0, import_react2.useState)(
160
+ const ref = (0, import_react3.useRef)(null);
161
+ const [tooltipDisplay, setTooltipDisplay] = (0, import_react3.useState)(
91
162
  "none"
92
163
  );
93
- (0, import_react2.useEffect)(() => {
164
+ (0, import_react3.useEffect)(() => {
94
165
  if (ref.current) {
95
166
  const typo = ref.current;
96
167
  const mouseOver = () => {
@@ -105,22 +176,10 @@ function EllipsisTooltip(props) {
105
176
  ref.current.addEventListener("mouseleave", mouseOut);
106
177
  }
107
178
  }, [children]);
108
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Tooltip, { content: children, style: { display: tooltipDisplay }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
109
- Typo,
110
- __spreadProps(__spreadValues({}, rest), {
111
- ref,
112
- style: __spreadValues({
113
- width: "100%",
114
- textOverflow: "ellipsis",
115
- overflow: "hidden",
116
- WebkitLineClamp: lineClamp,
117
- display: "-webkit-box",
118
- WebkitBoxOrient: "vertical",
119
- wordBreak: "break-word"
120
- }, style),
121
- children
122
- })
123
- ) });
179
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Tooltip, { children: [
180
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Button, { children: "?" }) }),
181
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { children: "\uD234\uD301 \uB0B4\uC6A9" }) })
182
+ ] }) });
124
183
  }
125
184
  // Annotate the CommonJS export names for ESM import in node:
126
185
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/atoms/ellipsis-tooltip.tsx","../../src/atoms/tooltip.tsx","../../src/atoms/typo.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Tooltip } from './tooltip';\nimport { Typo, type TypoProps } from './typo';\n\nexport type EllipsisTooltipProps = TypoProps & {\n lineClamp?: number;\n children?: string;\n};\n\nexport function EllipsisTooltip(\n props: EllipsisTooltipProps\n): React.ReactElement {\n const { children, style, lineClamp = 2, ...rest } = props;\n const ref = useRef<HTMLSpanElement>(null);\n\n const [tooltipDisplay, setTooltipDisplay] = useState<'none' | 'block'>(\n 'none'\n );\n\n useEffect(() => {\n if (ref.current) {\n const typo = ref.current;\n const mouseOver = (): void => {\n if (typo.clientHeight < typo.scrollHeight) {\n setTooltipDisplay('block');\n }\n };\n\n const mouseOut = (): void => {\n setTooltipDisplay('none');\n };\n\n ref.current.addEventListener('mouseenter', mouseOver);\n ref.current.addEventListener('mouseleave', mouseOut);\n }\n }, [children]);\n\n return (\n <Tooltip content={children} style={{ display: tooltipDisplay }}>\n <Typo\n {...rest}\n ref={ref}\n style={{\n width: '100%',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n WebkitLineClamp: lineClamp,\n\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n wordBreak: 'break-word',\n ...style,\n }}\n >\n {children}\n </Typo>\n </Tooltip>\n );\n}\n","export { Tooltip, type TooltipProps } from '@radix-ui/themes';\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\n\nexport type TypoProps = RadixTextProps & {\n variant?: 'body' | 'caption' | 'subtitle';\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactElement => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n switch (variant) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,gBAAmD;;;ACAnD,oBAA2C;;;ACC3C,IAAAC,iBAAkC;AAClC,mBAA2C;AAwBrC;AAlBC,IAAM,WAAO;AAAA,EAClB,CAAC,OAAkB,QAA4B;AAC7C,UAA6C,YAArC,QAAM,SAAS,SAV3B,IAUiD,IAAT,iBAAS,IAAT,CAA5B,QAAM,WAAS;AAEvB,UAAM,gBAAY,sBAAgC,MAAM;AACtD,UAAI,SAAS;AAAW,eAAO;AAC/B,cAAQ,SAAS;AAAA,QACf,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL;AACE,iBAAO;AAAA,MACX;AAAA,IACF,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,WACE,4CAAC,eAAAC,MAAA,iCAAc,OAAd,EAAoB,KAAU,MAAM,WAClC,WACH;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AFMb,IAAAC,sBAAA;AA9BC,SAAS,gBACd,OACoB;AACpB,QAAoD,YAA5C,YAAU,OAAO,YAAY,EAZvC,IAYsD,IAAT,iBAAS,IAAT,CAAnC,YAAU,SAAO;AACzB,QAAM,UAAM,sBAAwB,IAAI;AAExC,QAAM,CAAC,gBAAgB,iBAAiB,QAAI;AAAA,IAC1C;AAAA,EACF;AAEA,+BAAU,MAAM;AACd,QAAI,IAAI,SAAS;AACf,YAAM,OAAO,IAAI;AACjB,YAAM,YAAY,MAAY;AAC5B,YAAI,KAAK,eAAe,KAAK,cAAc;AACzC,4BAAkB,OAAO;AAAA,QAC3B;AAAA,MACF;AAEA,YAAM,WAAW,MAAY;AAC3B,0BAAkB,MAAM;AAAA,MAC1B;AAEA,UAAI,QAAQ,iBAAiB,cAAc,SAAS;AACpD,UAAI,QAAQ,iBAAiB,cAAc,QAAQ;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SACE,6CAAC,yBAAQ,SAAS,UAAU,OAAO,EAAE,SAAS,eAAe,GAC3D;AAAA,IAAC;AAAA,qCACK,OADL;AAAA,MAEC;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,cAAc;AAAA,QACd,UAAU;AAAA,QACV,iBAAiB;AAAA,QAEjB,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB,WAAW;AAAA,SACR;AAAA,MAGJ;AAAA;AAAA,EACH,GACF;AAEJ;","names":["import_react","import_themes","RadixText","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/atoms/ellipsis-tooltip.tsx","../../src/atoms/tooltip.tsx","../../src/atoms/button.tsx","../../src/utils/convert-button-size.ts"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from './tooltip';\nimport { Typo, type TypoProps } from './typo';\nimport { Button } from './button';\n\nexport type EllipsisTooltipProps = TypoProps & {\n lineClamp?: number;\n children?: string;\n};\n\nexport function EllipsisTooltip(\n props: EllipsisTooltipProps\n): React.ReactElement {\n const { children, style, lineClamp = 2, ...rest } = props;\n const ref = useRef<HTMLSpanElement>(null);\n\n const [tooltipDisplay, setTooltipDisplay] = useState<'none' | 'block'>(\n 'none'\n );\n\n useEffect(() => {\n if (ref.current) {\n const typo = ref.current;\n const mouseOver = (): void => {\n if (typo.clientHeight < typo.scrollHeight) {\n setTooltipDisplay('block');\n }\n };\n\n const mouseOut = (): void => {\n setTooltipDisplay('none');\n };\n\n ref.current.addEventListener('mouseenter', mouseOver);\n ref.current.addEventListener('mouseleave', mouseOut);\n }\n }, [children]);\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button>?</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>툴팁 내용</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n\n // return (\n // // <Tooltip content={children} style={{ display: tooltipDisplay }}>\n // // <Typo\n // // {...rest}\n // // ref={ref}\n // // style={{\n // // width: '100%',\n // // textOverflow: 'ellipsis',\n // // overflow: 'hidden',\n // // WebkitLineClamp: lineClamp,\n\n // // display: '-webkit-box',\n // // WebkitBoxOrient: 'vertical',\n // // wordBreak: 'break-word',\n // // ...style,\n // // }}\n // // >\n // // {children}\n // // </Typo>\n // // </Tooltip>\n // );\n}\n","import { createContext, useContext, useEffect, useState } from 'react';\nimport type {\n TooltipContentProps,\n TooltipProps,\n TooltipTriggerProps,\n TooltipProviderProps,\n} from '@radix-ui/react-tooltip';\nimport {\n TooltipProvider as OriginalTooltipProvider,\n Tooltip as OriginalTooltip,\n TooltipTrigger as OriginalTooltipTrigger,\n TooltipContent as OriginalTooltipContent,\n} from '@radix-ui/react-tooltip';\nimport type {\n PopoverContentProps,\n PopoverProps,\n PopoverTriggerProps,\n} from '@radix-ui/react-popover';\nimport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n} from '@radix-ui/react-popover';\n\nconst TouchContext = createContext<boolean | undefined>(undefined);\nconst useTouch = (): boolean | undefined => useContext(TouchContext);\n\nexport function TooltipProvider({\n children,\n ...props\n}: TooltipProviderProps): JSX.Element {\n const [isTouch, setIsTouch] = useState<boolean | undefined>(undefined);\n useEffect(() => {\n setIsTouch(window.matchMedia('(pointer: coarse)').matches);\n }, []);\n return (\n <TouchContext.Provider value={isTouch}>\n <OriginalTooltipProvider {...props}>{children}</OriginalTooltipProvider>\n </TouchContext.Provider>\n );\n}\n\nexport function Tooltip(props: TooltipProps & PopoverProps): JSX.Element {\n const isTouch = useTouch();\n return (\n <TooltipProvider>\n {isTouch ? <Popover {...props} /> : <OriginalTooltip {...props} />}\n </TooltipProvider>\n );\n}\n\nexport function TooltipTrigger(\n props: TooltipTriggerProps & PopoverTriggerProps\n): JSX.Element {\n const isTouch = useTouch();\n return isTouch ? (\n <PopoverTrigger {...props} />\n ) : (\n <OriginalTooltipTrigger {...props} />\n );\n}\n\nexport function TooltipContent(\n props: TooltipContentProps & PopoverContentProps\n): JSX.Element {\n const isTouch = useTouch();\n return isTouch ? (\n <PopoverContent {...props} />\n ) : (\n <OriginalTooltipContent {...props} />\n );\n}\n","import React, { forwardRef, useMemo } from 'react';\nimport { Button as RadixButton } from '@radix-ui/themes';\nimport { clsx } from 'clsx';\nimport { convertSize } from '../utils/convert-button-size';\nimport type { ButtonProps } from './button.type';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref): React.ReactElement => {\n const { size, style, variant, ...restProps } = props;\n\n const radixSize = useMemo(() => {\n return convertSize(size);\n }, [size]);\n\n const radixVariant = useMemo(() => {\n if (variant === 'transparent') return 'soft';\n return variant;\n }, [variant]);\n\n const className = useMemo(() => {\n return clsx(props.className, { transparent: variant === 'transparent' });\n }, [props.className, variant]);\n\n return (\n <RadixButton\n style={style}\n variant={radixVariant}\n {...restProps}\n className={className}\n ref={ref}\n size={radixSize}\n />\n );\n }\n);\n\nButton.displayName = 'Button';\n","import { type ButtonProps as RadixButtonProps } from '@radix-ui/themes';\nimport type { Breakpoint } from '@radix-ui/themes/props';\nimport type { ButtonProps } from '../atoms/button.type';\n\nexport const convertSizeStr = (\n size: ButtonProps['size']\n): '1' | '2' | '3' | '4' => {\n switch (size) {\n case 'small':\n return '1';\n case 'medium':\n return '2';\n case 'large':\n return '3';\n default:\n return '2';\n }\n};\n\nexport const convertSizeResponse = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string' || typeof size === 'undefined') {\n return convertSizeStr(size);\n }\n const radixSize: RadixButtonProps['size'] = {};\n let key: Breakpoint = 'initial';\n for (key in size) {\n radixSize[key] = convertSizeStr(size[key]);\n }\n return radixSize;\n};\n\nexport const convertSize = (\n size: ButtonProps['size']\n): RadixButtonProps['size'] => {\n if (typeof size === 'string') {\n return convertSizeStr(size);\n }\n return convertSizeResponse(size);\n};\n"],"mappings":"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","names":["import_react","OriginalTooltipProvider","OriginalTooltip","OriginalTooltipTrigger","OriginalTooltipContent","import_react","import_jsx_runtime","RadixButton","import_jsx_runtime"]}
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  EllipsisTooltip
3
- } from "../chunk-WKFZ5MMN.js";
4
- import "../chunk-ACVANQJ4.js";
5
- import "../chunk-52MVZ6AN.js";
3
+ } from "../chunk-4DTD3FXF.js";
4
+ import "../chunk-JRPA2S7O.js";
5
+ import "../chunk-Q5AFRGVP.js";
6
+ import "../chunk-LQY4RKWI.js";
6
7
  import "../chunk-N552FDTV.js";
7
8
  export {
8
9
  EllipsisTooltip