@tipp/ui 1.6.21 → 1.6.23

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 (65) hide show
  1. package/dist/app/index.cjs +10 -16
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +1 -1
  4. package/dist/app/platform/contents-card.cjs +594 -28
  5. package/dist/app/platform/contents-card.cjs.map +1 -1
  6. package/dist/app/platform/contents-card.js +52 -1
  7. package/dist/chunk-3K3WU7XM.js +145 -0
  8. package/dist/chunk-3K3WU7XM.js.map +1 -0
  9. package/dist/chunk-44STOGYA.js +164 -0
  10. package/dist/chunk-44STOGYA.js.map +1 -0
  11. package/dist/chunk-53ZJS5JI.js +111 -0
  12. package/dist/chunk-53ZJS5JI.js.map +1 -0
  13. package/dist/chunk-6LV4UGX5.js +165 -0
  14. package/dist/chunk-6LV4UGX5.js.map +1 -0
  15. package/dist/chunk-6RT2RUZ2.js +145 -0
  16. package/dist/chunk-6RT2RUZ2.js.map +1 -0
  17. package/dist/chunk-7CANQHBM.js +117 -0
  18. package/dist/chunk-7CANQHBM.js.map +1 -0
  19. package/dist/chunk-7WJGYLRQ.js +99 -0
  20. package/dist/chunk-7WJGYLRQ.js.map +1 -0
  21. package/dist/chunk-ABZVJJ4O.js +74 -0
  22. package/dist/chunk-ABZVJJ4O.js.map +1 -0
  23. package/dist/chunk-BBEZXZQH.js +284 -0
  24. package/dist/chunk-BBEZXZQH.js.map +1 -0
  25. package/dist/chunk-CUVAI5MJ.js +117 -0
  26. package/dist/chunk-CUVAI5MJ.js.map +1 -0
  27. package/dist/chunk-FBOJKLC6.js +64 -0
  28. package/dist/chunk-FBOJKLC6.js.map +1 -0
  29. package/dist/chunk-FF2PTPBU.js +145 -0
  30. package/dist/chunk-FF2PTPBU.js.map +1 -0
  31. package/dist/chunk-HXJYOUBE.js +30 -0
  32. package/dist/chunk-HXJYOUBE.js.map +1 -0
  33. package/dist/chunk-JAJC7VPU.js +117 -0
  34. package/dist/chunk-JAJC7VPU.js.map +1 -0
  35. package/dist/chunk-KCGIEABE.js +117 -0
  36. package/dist/chunk-KCGIEABE.js.map +1 -0
  37. package/dist/chunk-L5XYBDEW.js +116 -0
  38. package/dist/chunk-L5XYBDEW.js.map +1 -0
  39. package/dist/chunk-MWBEL3OY.js +111 -0
  40. package/dist/chunk-MWBEL3OY.js.map +1 -0
  41. package/dist/chunk-O5H5SQHB.js +110 -0
  42. package/dist/chunk-O5H5SQHB.js.map +1 -0
  43. package/dist/chunk-QGXLI3QC.js +111 -0
  44. package/dist/chunk-QGXLI3QC.js.map +1 -0
  45. package/dist/chunk-RPTU2HZS.js +111 -0
  46. package/dist/chunk-RPTU2HZS.js.map +1 -0
  47. package/dist/chunk-RVLCXUJU.js +113 -0
  48. package/dist/chunk-RVLCXUJU.js.map +1 -0
  49. package/dist/chunk-VKGTIYVH.js +63 -0
  50. package/dist/chunk-VKGTIYVH.js.map +1 -0
  51. package/dist/chunk-VR25ARRS.js +60 -0
  52. package/dist/chunk-VR25ARRS.js.map +1 -0
  53. package/dist/chunk-WEU6WLM4.js +39 -0
  54. package/dist/chunk-WEU6WLM4.js.map +1 -0
  55. package/dist/chunk-YC6CJEKF.js +102 -0
  56. package/dist/chunk-YC6CJEKF.js.map +1 -0
  57. package/dist/chunk-YMKOJKGY.js +145 -0
  58. package/dist/chunk-YMKOJKGY.js.map +1 -0
  59. package/dist/chunk-YTBR7GSV.js +111 -0
  60. package/dist/chunk-YTBR7GSV.js.map +1 -0
  61. package/dist/index.cjs +10 -16
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.js +1 -1
  64. package/package.json +3 -3
  65. package/src/app/platform/contents-card.tsx +23 -26
@@ -0,0 +1,111 @@
1
+ import {
2
+ Skeleton
3
+ } from "./chunk-5H3YPCZK.js";
4
+ import {
5
+ Inset
6
+ } from "./chunk-XQOL7UBI.js";
7
+ import {
8
+ DropdownMenu
9
+ } from "./chunk-4WFMOFN2.js";
10
+ import {
11
+ Grid
12
+ } from "./chunk-EGEQY3KT.js";
13
+ import {
14
+ Heading
15
+ } from "./chunk-HJB3AASV.js";
16
+ import {
17
+ Box
18
+ } from "./chunk-4Y5BEXVN.js";
19
+ import {
20
+ Typo
21
+ } from "./chunk-52MVZ6AN.js";
22
+ import {
23
+ Flex
24
+ } from "./chunk-25HMMI7R.js";
25
+ import {
26
+ Button
27
+ } from "./chunk-Q5AFRGVP.js";
28
+ import {
29
+ Card
30
+ } from "./chunk-2ZQK7NTN.js";
31
+ import {
32
+ DotsVerticalIcon
33
+ } from "./chunk-HLFG5ZTU.js";
34
+
35
+ // src/app/platform/contents-card.tsx
36
+ import { forwardRef } from "react";
37
+ import { jsx, jsxs } from "react/jsx-runtime";
38
+ var ContentsCard = forwardRef(
39
+ ({
40
+ title,
41
+ description,
42
+ imageSrc,
43
+ footer,
44
+ dropdownItems,
45
+ onClickCard,
46
+ isLoading = false
47
+ }, ref) => {
48
+ return /* @__PURE__ */ jsxs(
49
+ Card,
50
+ {
51
+ onClick: onClickCard,
52
+ ref,
53
+ style: { height: "100%", width: "100%" },
54
+ children: [
55
+ /* @__PURE__ */ jsx(Inset, { clip: "padding-box", side: "top", pb: "current", children: /* @__PURE__ */ jsx(Skeleton, { loading: isLoading, children: /* @__PURE__ */ jsx(
56
+ Box,
57
+ {
58
+ height: "210px",
59
+ style: {
60
+ backgroundImage: `url(${imageSrc})`,
61
+ backgroundSize: "cover",
62
+ backgroundPosition: "center"
63
+ },
64
+ width: "100%"
65
+ }
66
+ ) }) }),
67
+ /* @__PURE__ */ jsxs(Box, { p: "5", children: [
68
+ /* @__PURE__ */ jsxs(Box, { children: [
69
+ /* @__PURE__ */ jsx(Skeleton, { loading: isLoading, children: /* @__PURE__ */ jsx(Heading, { mb: "3", variant: "heading5", children: title }) }),
70
+ /* @__PURE__ */ jsx(Skeleton, { loading: isLoading, children: /* @__PURE__ */ jsx(Typo, { as: "p", variant: "caption", children: description }) })
71
+ ] }),
72
+ /* @__PURE__ */ jsxs(
73
+ Grid,
74
+ {
75
+ align: "center",
76
+ columns: "1fr auto",
77
+ justify: "between",
78
+ pt: "2",
79
+ style: { marginTop: "auto" },
80
+ width: "100%",
81
+ children: [
82
+ /* @__PURE__ */ jsx(Skeleton, { loading: isLoading, children: /* @__PURE__ */ jsx(Flex, { gap: "3", overflow: "hidden", children: footer }) }),
83
+ Boolean(dropdownItems == null ? void 0 : dropdownItems.length) && /* @__PURE__ */ jsxs(DropdownMenu.Root, { children: [
84
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { children: /* @__PURE__ */ jsx(Button, { size: "large", variant: "transparent", children: /* @__PURE__ */ jsx(DotsVerticalIcon, { color: "gray", height: "20px", width: "20px" }) }) }),
85
+ /* @__PURE__ */ jsx(DropdownMenu.Content, { children: dropdownItems == null ? void 0 : dropdownItems.map((item) => /* @__PURE__ */ jsx(
86
+ DropdownMenu.Item,
87
+ {
88
+ onClick: (e) => {
89
+ e.stopPropagation();
90
+ item.onClick();
91
+ },
92
+ children: item.label
93
+ },
94
+ item.label
95
+ )) })
96
+ ] })
97
+ ]
98
+ }
99
+ )
100
+ ] })
101
+ ]
102
+ }
103
+ );
104
+ }
105
+ );
106
+ ContentsCard.displayName = "ContentsCard";
107
+
108
+ export {
109
+ ContentsCard
110
+ };
111
+ //# sourceMappingURL=chunk-YTBR7GSV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/platform/contents-card.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Heading } from '@/atoms/heading';\nimport { Button } from '@/atoms/button';\nimport { DropdownMenu } from '@/atoms/dropdown-menu';\nimport { Box } from '@/atoms/box';\nimport { Flex } from '@/atoms/flex';\nimport { Grid } from '@/atoms/grid';\nimport { Skeleton } from '@/atoms/skeleton';\nimport { Typo } from '@/atoms/typo';\nimport { DotsVerticalIcon } from '@/icon';\nimport { Card, Inset } from '@/atoms';\n\nexport interface ContentsCardProps {\n title?: React.ReactNode;\n description?: string;\n id?: string;\n imageSrc?: string | null;\n imageAlt?: string;\n footer?: React.ReactNode;\n dropdownItems?: {\n label: string;\n onClick: () => void;\n }[];\n onClickCard?: () => void;\n isLoading?: boolean;\n}\n\nexport const ContentsCard = forwardRef<HTMLDivElement, ContentsCardProps>(\n (\n {\n title,\n description,\n imageSrc,\n footer,\n dropdownItems,\n onClickCard,\n isLoading = false,\n },\n ref\n ): React.ReactElement => {\n return (\n <Card\n onClick={onClickCard}\n ref={ref}\n style={{ height: '100%', width: '100%' }}\n >\n {/* 섬네일 */}\n <Inset clip=\"padding-box\" side=\"top\" pb=\"current\">\n <Skeleton loading={isLoading}>\n <Box\n height=\"210px\"\n style={{\n backgroundImage: `url(${imageSrc})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }}\n width=\"100%\"\n />\n </Skeleton>\n </Inset>\n {/* 제목, 설명 */}\n <Box p=\"5\">\n <Box>\n <Skeleton loading={isLoading}>\n <Heading mb=\"3\" variant=\"heading5\">\n {title}\n </Heading>\n </Skeleton>\n <Skeleton loading={isLoading}>\n <Typo as=\"p\" variant=\"caption\">\n {description}\n </Typo>\n </Skeleton>\n </Box>\n <Grid\n align=\"center\"\n columns=\"1fr auto\"\n justify=\"between\"\n pt=\"2\"\n style={{ marginTop: 'auto' }}\n width=\"100%\"\n >\n <Skeleton loading={isLoading}>\n <Flex gap=\"3\" overflow=\"hidden\">\n {footer}\n </Flex>\n </Skeleton>\n {Boolean(dropdownItems?.length) && (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger>\n <Button size=\"large\" variant=\"transparent\">\n <DotsVerticalIcon color=\"gray\" height=\"20px\" width=\"20px\" />\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n {dropdownItems?.map((item) => (\n <DropdownMenu.Item\n key={item.label}\n onClick={(e) => {\n e.stopPropagation();\n item.onClick();\n }}\n >\n {item.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n )}\n </Grid>\n </Box>\n </Card>\n );\n }\n);\nContentsCard.displayName = 'ContentsCard';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,kBAAkB;AAiDtB,cAaF,YAbE;AAtBL,IAAM,eAAe;AAAA,EAC1B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,GACA,QACuB;AACvB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT;AAAA,QACA,OAAO,EAAE,QAAQ,QAAQ,OAAO,OAAO;AAAA,QAGvC;AAAA,8BAAC,SAAM,MAAK,eAAc,MAAK,OAAM,IAAG,WACtC,8BAAC,YAAS,SAAS,WACjB;AAAA,YAAC;AAAA;AAAA,cACC,QAAO;AAAA,cACP,OAAO;AAAA,gBACL,iBAAiB,OAAO,QAAQ;AAAA,gBAChC,gBAAgB;AAAA,gBAChB,oBAAoB;AAAA,cACtB;AAAA,cACA,OAAM;AAAA;AAAA,UACR,GACF,GACF;AAAA,UAEA,qBAAC,OAAI,GAAE,KACL;AAAA,iCAAC,OACC;AAAA,kCAAC,YAAS,SAAS,WACjB,8BAAC,WAAQ,IAAG,KAAI,SAAQ,YACrB,iBACH,GACF;AAAA,cACA,oBAAC,YAAS,SAAS,WACjB,8BAAC,QAAK,IAAG,KAAI,SAAQ,WAClB,uBACH,GACF;AAAA,eACF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAM;AAAA,gBACN,SAAQ;AAAA,gBACR,SAAQ;AAAA,gBACR,IAAG;AAAA,gBACH,OAAO,EAAE,WAAW,OAAO;AAAA,gBAC3B,OAAM;AAAA,gBAEN;AAAA,sCAAC,YAAS,SAAS,WACjB,8BAAC,QAAK,KAAI,KAAI,UAAS,UACpB,kBACH,GACF;AAAA,kBACC,QAAQ,+CAAe,MAAM,KAC5B,qBAAC,aAAa,MAAb,EACC;AAAA,wCAAC,aAAa,SAAb,EACC,8BAAC,UAAO,MAAK,SAAQ,SAAQ,eAC3B,8BAAC,oBAAiB,OAAM,QAAO,QAAO,QAAO,OAAM,QAAO,GAC5D,GACF;AAAA,oBACA,oBAAC,aAAa,SAAb,EACE,yDAAe,IAAI,CAAC,SACnB;AAAA,sBAAC,aAAa;AAAA,sBAAb;AAAA,wBAEC,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AAClB,+BAAK,QAAQ;AAAA,wBACf;AAAA,wBAEC,eAAK;AAAA;AAAA,sBAND,KAAK;AAAA,oBAOZ,IAEJ;AAAA,qBACF;AAAA;AAAA;AAAA,YAEJ;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;","names":[]}
package/dist/index.cjs CHANGED
@@ -4231,37 +4231,31 @@ var ContentsCard = (0, import_react37.forwardRef)(
4231
4231
  isLoading = false
4232
4232
  }, ref) => {
4233
4233
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
4234
- import_themes22.Flex,
4234
+ Card,
4235
4235
  {
4236
- className: "hover-shadow",
4237
- direction: "column",
4238
- height: "100%",
4239
- m: "0",
4240
4236
  onClick: onClickCard,
4241
4237
  ref,
4242
4238
  style: {
4243
- backgroundColor: "var(--color-panel)",
4244
- borderRadius: "var(--radius-5)",
4245
- overflow: "hidden",
4246
- cursor: "pointer"
4239
+ height: "100%",
4240
+ width: "100%",
4241
+ display: "grid",
4242
+ cursor: "pointer",
4243
+ maxHeight: "450px"
4247
4244
  },
4248
- width: "100%",
4249
4245
  children: [
4250
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4246
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes25.Inset, { clip: "padding-box", pb: "0", side: "top", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4251
4247
  import_themes6.Box,
4252
4248
  {
4253
4249
  height: "210px",
4254
4250
  style: {
4255
- borderTopLeftRadius: "var(--radius-4)",
4256
- borderTopRightRadius: "var(--radius-4)",
4257
4251
  backgroundImage: `url(${imageSrc})`,
4258
4252
  backgroundSize: "cover",
4259
4253
  backgroundPosition: "center"
4260
4254
  },
4261
4255
  width: "100%"
4262
4256
  }
4263
- ) }),
4264
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes6.Box, { p: "5", children: [
4257
+ ) }) }),
4258
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes22.Flex, { direction: "column", p: "4", pb: "3", children: [
4265
4259
  /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes6.Box, { children: [
4266
4260
  /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Heading2, { mb: "3", variant: "heading5", children: title }) }),
4267
4261
  /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Skeleton, { loading: isLoading, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "caption", children: description }) })
@@ -4272,7 +4266,7 @@ var ContentsCard = (0, import_react37.forwardRef)(
4272
4266
  align: "center",
4273
4267
  columns: "1fr auto",
4274
4268
  justify: "between",
4275
- py: "2",
4269
+ pt: "2",
4276
4270
  style: { marginTop: "auto" },
4277
4271
  width: "100%",
4278
4272
  children: [