@tipp/ui 1.6.26 → 1.6.28

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 (129) hide show
  1. package/dist/app/index.cjs +426 -430
  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 +82 -86
  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 +66 -70
  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 +155 -159
  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 +142 -146
  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 +150 -154
  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 +124 -128
  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 +130 -134
  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 +85 -89
  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 +187 -191
  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 +210 -214
  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 +85 -89
  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 +116 -120
  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 +93 -97
  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 +96 -100
  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 +82 -86
  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 +92 -96
  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 +84 -88
  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 +2 -2
  56. package/dist/atoms/dialog.cjs.map +1 -1
  57. package/dist/atoms/dialog.js +1 -1
  58. package/dist/atoms/ellipsis-tooltip.cjs +42 -101
  59. package/dist/atoms/ellipsis-tooltip.cjs.map +1 -1
  60. package/dist/atoms/ellipsis-tooltip.js +3 -4
  61. package/dist/atoms/index.cjs +146 -170
  62. package/dist/atoms/index.cjs.map +1 -1
  63. package/dist/atoms/index.d.cts +1 -5
  64. package/dist/atoms/index.d.ts +1 -5
  65. package/dist/atoms/index.js +5 -11
  66. package/dist/atoms/scroll-area.cjs +1 -2
  67. package/dist/atoms/scroll-area.cjs.map +1 -1
  68. package/dist/atoms/scroll-area.d.cts +1 -10
  69. package/dist/atoms/scroll-area.d.ts +1 -10
  70. package/dist/atoms/scroll-area.js +1 -1
  71. package/dist/atoms/tooltip.cjs +3 -67
  72. package/dist/atoms/tooltip.cjs.map +1 -1
  73. package/dist/atoms/tooltip.d.cts +1 -9
  74. package/dist/atoms/tooltip.d.ts +1 -9
  75. package/dist/atoms/tooltip.js +3 -9
  76. package/dist/chunk-4ZLXDFP3.js +145 -0
  77. package/dist/chunk-4ZLXDFP3.js.map +1 -0
  78. package/dist/chunk-5L3GY3OV.js +106 -0
  79. package/dist/chunk-5L3GY3OV.js.map +1 -0
  80. package/dist/chunk-7QGUMO7V.js +54 -0
  81. package/dist/chunk-7QGUMO7V.js.map +1 -0
  82. package/dist/chunk-B3TMWAJI.js +145 -0
  83. package/dist/chunk-B3TMWAJI.js.map +1 -0
  84. package/dist/chunk-B6JJT4VK.js +174 -0
  85. package/dist/chunk-B6JJT4VK.js.map +1 -0
  86. package/dist/chunk-DDXBIVPL.js +54 -0
  87. package/dist/chunk-DDXBIVPL.js.map +1 -0
  88. package/dist/chunk-L75KKLZS.js +106 -0
  89. package/dist/chunk-L75KKLZS.js.map +1 -0
  90. package/dist/chunk-ME5XT4JY.js +145 -0
  91. package/dist/chunk-ME5XT4JY.js.map +1 -0
  92. package/dist/chunk-UAUXUQWQ.js +174 -0
  93. package/dist/chunk-UAUXUQWQ.js.map +1 -0
  94. package/dist/chunk-WKQZJK7O.js +357 -0
  95. package/dist/chunk-WKQZJK7O.js.map +1 -0
  96. package/dist/index.cjs +643 -667
  97. package/dist/index.cjs.map +1 -1
  98. package/dist/index.d.cts +1 -5
  99. package/dist/index.d.ts +1 -5
  100. package/dist/index.js +9 -15
  101. package/dist/molecules/date-picker/date-picker-button.cjs +96 -100
  102. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  103. package/dist/molecules/date-picker/date-picker-button.js +4 -4
  104. package/dist/molecules/expand-table/index.cjs +134 -138
  105. package/dist/molecules/expand-table/index.cjs.map +1 -1
  106. package/dist/molecules/expand-table/index.js +4 -4
  107. package/dist/molecules/expand-table/row.cjs +91 -95
  108. package/dist/molecules/expand-table/row.cjs.map +1 -1
  109. package/dist/molecules/expand-table/row.js +4 -4
  110. package/dist/molecules/index.cjs +314 -319
  111. package/dist/molecules/index.cjs.map +1 -1
  112. package/dist/molecules/index.js +5 -5
  113. package/dist/molecules/navigation.cjs +82 -86
  114. package/dist/molecules/navigation.cjs.map +1 -1
  115. package/dist/molecules/navigation.js +4 -4
  116. package/dist/molecules/radio-button-card.cjs +86 -90
  117. package/dist/molecules/radio-button-card.cjs.map +1 -1
  118. package/dist/molecules/radio-button-card.js +4 -4
  119. package/dist/molecules/tag-selector.cjs +97 -102
  120. package/dist/molecules/tag-selector.cjs.map +1 -1
  121. package/dist/molecules/tag-selector.js +5 -5
  122. package/dist/molecules/time-select.cjs +84 -88
  123. package/dist/molecules/time-select.cjs.map +1 -1
  124. package/dist/molecules/time-select.js +4 -4
  125. package/package.json +1 -1
  126. package/src/atoms/dialog.tsx +2 -2
  127. package/src/atoms/ellipsis-tooltip.tsx +20 -39
  128. package/src/atoms/scroll-area.tsx +1 -8
  129. package/src/atoms/tooltip.tsx +1 -72
@@ -52,116 +52,45 @@ __export(ellipsis_tooltip_exports, {
52
52
  EllipsisTooltip: () => EllipsisTooltip
53
53
  });
54
54
  module.exports = __toCommonJS(ellipsis_tooltip_exports);
55
- var import_react3 = require("react");
55
+ var import_react2 = require("react");
56
56
 
57
57
  // src/atoms/tooltip.tsx
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");
61
- var import_jsx_runtime = require("react/jsx-runtime");
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
58
  var import_themes = require("@radix-ui/themes");
92
- var import_clsx = require("clsx");
93
59
 
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)(
60
+ // src/atoms/typo.tsx
61
+ var import_themes2 = require("@radix-ui/themes");
62
+ var import_react = require("react");
63
+ var import_jsx_runtime = require("react/jsx-runtime");
64
+ var Typo = (0, import_react.forwardRef)(
128
65
  (props, ref) => {
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
- );
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 }));
152
81
  }
153
82
  );
154
- Button.displayName = "Button";
83
+ Typo.displayName = "Typo";
155
84
 
156
85
  // src/atoms/ellipsis-tooltip.tsx
157
- var import_jsx_runtime3 = require("react/jsx-runtime");
86
+ var import_jsx_runtime2 = require("react/jsx-runtime");
158
87
  function EllipsisTooltip(props) {
159
88
  const _a = props, { children, style, lineClamp = 2 } = _a, rest = __objRest(_a, ["children", "style", "lineClamp"]);
160
- const ref = (0, import_react3.useRef)(null);
161
- const [tooltipDisplay, setTooltipDisplay] = (0, import_react3.useState)(
89
+ const ref = (0, import_react2.useRef)(null);
90
+ const [tooltipDisplay, setTooltipDisplay] = (0, import_react2.useState)(
162
91
  "none"
163
92
  );
164
- (0, import_react3.useEffect)(() => {
93
+ (0, import_react2.useEffect)(() => {
165
94
  if (ref.current) {
166
95
  const typo = ref.current;
167
96
  const mouseOver = () => {
@@ -176,10 +105,22 @@ function EllipsisTooltip(props) {
176
105
  ref.current.addEventListener("mouseleave", mouseOut);
177
106
  }
178
107
  }, [children]);
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
- ] }) });
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
+ ) });
183
124
  }
184
125
  // Annotate the CommonJS export names for ESM import in node:
185
126
  0 && (module.exports = {
@@ -1 +1 @@
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
+ {"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,9 +1,8 @@
1
1
  import {
2
2
  EllipsisTooltip
3
- } from "../chunk-4DTD3FXF.js";
4
- import "../chunk-JRPA2S7O.js";
5
- import "../chunk-Q5AFRGVP.js";
6
- import "../chunk-LQY4RKWI.js";
3
+ } from "../chunk-WKFZ5MMN.js";
4
+ import "../chunk-ACVANQJ4.js";
5
+ import "../chunk-52MVZ6AN.js";
7
6
  import "../chunk-N552FDTV.js";
8
7
  export {
9
8
  EllipsisTooltip