@tipp/ui 2.10.4 → 2.10.5

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 (49) hide show
  1. package/dist/app/index.cjs.map +1 -1
  2. package/dist/app/index.js +7 -7
  3. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  4. package/dist/app/platform/edit-coaching-time.js +7 -7
  5. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  6. package/dist/app/platform/edit-service-type.js +7 -7
  7. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  8. package/dist/app/platform/goal-manage-card-edit.js +7 -7
  9. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  10. package/dist/app/platform/on-offline-radio-card.js +7 -7
  11. package/dist/app/platform/reservation-card.cjs.map +1 -1
  12. package/dist/app/platform/reservation-card.js +7 -7
  13. package/dist/app/platform/session-card.cjs.map +1 -1
  14. package/dist/app/platform/session-card.js +7 -7
  15. package/dist/app/roleplay/index.cjs +4 -1
  16. package/dist/app/roleplay/index.cjs.map +1 -1
  17. package/dist/app/roleplay/index.js +10 -10
  18. package/dist/app/roleplay/parts/content.cjs +4 -1
  19. package/dist/app/roleplay/parts/content.cjs.map +1 -1
  20. package/dist/app/roleplay/parts/content.js +9 -9
  21. package/dist/app/roleplay/parts/score-trend-section.cjs +4 -1
  22. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
  23. package/dist/app/roleplay/parts/score-trend-section.js +8 -8
  24. package/dist/app/roleplay/rp-session-detail.cjs +4 -1
  25. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  26. package/dist/app/roleplay/rp-session-detail.js +10 -10
  27. package/dist/{chunk-UCTSCSQR.js → chunk-2IRG44IV.js} +2 -2
  28. package/dist/{chunk-L7ZHSQES.js → chunk-6GODZ2YW.js} +2 -2
  29. package/dist/{chunk-LGILQRJM.js → chunk-CPSXONQO.js} +2 -2
  30. package/dist/{chunk-73PHGHPI.js → chunk-U4XM7VNI.js} +5 -2
  31. package/dist/chunk-U4XM7VNI.js.map +1 -0
  32. package/dist/{chunk-NEJCZABQ.js → chunk-W7LO5KYT.js} +4 -4
  33. package/dist/index.cjs +4 -1
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +16 -16
  36. package/dist/molecules/dynamic-form-editor.js +4 -4
  37. package/dist/molecules/expand-table/index.cjs +4 -1
  38. package/dist/molecules/expand-table/index.cjs.map +1 -1
  39. package/dist/molecules/expand-table/index.js +1 -1
  40. package/dist/molecules/index.cjs +4 -1
  41. package/dist/molecules/index.cjs.map +1 -1
  42. package/dist/molecules/index.js +16 -16
  43. package/package.json +1 -1
  44. package/src/molecules/expand-table/index.tsx +3 -0
  45. package/dist/chunk-73PHGHPI.js.map +0 -1
  46. /package/dist/{chunk-UCTSCSQR.js.map → chunk-2IRG44IV.js.map} +0 -0
  47. /package/dist/{chunk-L7ZHSQES.js.map → chunk-6GODZ2YW.js.map} +0 -0
  48. /package/dist/{chunk-LGILQRJM.js.map → chunk-CPSXONQO.js.map} +0 -0
  49. /package/dist/{chunk-NEJCZABQ.js.map → chunk-W7LO5KYT.js.map} +0 -0
@@ -2,7 +2,7 @@ import "../chunk-5DRITHNR.js";
2
2
  import {
3
3
  ExpandTable,
4
4
  createColumnHelper
5
- } from "../chunk-73PHGHPI.js";
5
+ } from "../chunk-U4XM7VNI.js";
6
6
  import "../chunk-JCG2AUFJ.js";
7
7
  import "../chunk-AS7ID74X.js";
8
8
  import {
@@ -51,6 +51,9 @@ import {
51
51
  DatePicker
52
52
  } from "../chunk-VVWQZK5L.js";
53
53
  import "../chunk-2ISIAPFS.js";
54
+ import {
55
+ TrainingInfoGuideline
56
+ } from "../chunk-AHYOAFOU.js";
54
57
  import {
55
58
  LearningPost
56
59
  } from "../chunk-CUS3ORMD.js";
@@ -78,16 +81,18 @@ import "../chunk-BXX3B3E4.js";
78
81
  import "../chunk-NRPDVI76.js";
79
82
  import "../chunk-2BPFXK4L.js";
80
83
  import "../chunk-NWJSLIQ3.js";
81
- import {
82
- TrainingInfoGuideline
83
- } from "../chunk-AHYOAFOU.js";
84
84
  import {
85
85
  DynamicFormEditor
86
- } from "../chunk-NEJCZABQ.js";
86
+ } from "../chunk-W7LO5KYT.js";
87
+ import "../chunk-V7KAHLW2.js";
87
88
  import {
88
89
  DynamicFormResponseItem
89
90
  } from "../chunk-77H5BUYO.js";
90
91
  import "../chunk-K7LTEKQS.js";
92
+ import {
93
+ DynamicForm,
94
+ createYupValidation
95
+ } from "../chunk-SQ3FYBJT.js";
91
96
  import {
92
97
  EmptyState
93
98
  } from "../chunk-2EPKY2VT.js";
@@ -97,6 +102,9 @@ import {
97
102
  import {
98
103
  GhostPost
99
104
  } from "../chunk-PAUEQXYG.js";
105
+ import {
106
+ AutocompleteTextfield
107
+ } from "../chunk-OOM522XP.js";
100
108
  import {
101
109
  DescriptionJsonRender
102
110
  } from "../chunk-N3FMP27I.js";
@@ -107,21 +115,13 @@ import {
107
115
  import {
108
116
  DownloadCard
109
117
  } from "../chunk-C6HO3IGE.js";
118
+ import {
119
+ DynamicFormField
120
+ } from "../chunk-NK6S7ZMB.js";
110
121
  import "../chunk-3DZIX4CE.js";
111
122
  import "../chunk-CBYIPRND.js";
112
123
  import "../chunk-Z7WNKARH.js";
113
124
  import "../chunk-D4U2ZV2A.js";
114
- import "../chunk-V7KAHLW2.js";
115
- import {
116
- DynamicForm,
117
- createYupValidation
118
- } from "../chunk-SQ3FYBJT.js";
119
- import {
120
- DynamicFormField
121
- } from "../chunk-NK6S7ZMB.js";
122
- import {
123
- AutocompleteTextfield
124
- } from "../chunk-OOM522XP.js";
125
125
  import "../chunk-FAL6S2XK.js";
126
126
  import "../chunk-AELKCD6B.js";
127
127
  import "../chunk-5XYPLDI5.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipp/ui",
3
- "version": "2.10.4",
3
+ "version": "2.10.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -128,6 +128,9 @@ export function ExpandTable<Datum extends RowData>(
128
128
  onSortingChange: setSorting,
129
129
  getPaginationRowModel: getPaginationRowModel(),
130
130
  onPaginationChange: setPagination,
131
+ // data 참조가 바뀔 때(예: 목록 refetch) tanstack이 pageIndex를 0으로
132
+ // 자동 리셋하지 않도록 끈다. 행 수정 저장 후에도 보던 페이지를 유지하기 위함.
133
+ autoResetPageIndex: false,
131
134
  });
132
135
 
133
136
  const gridTemplateColumns = useMemo<string>(() => {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/molecules/expand-table/index.tsx"],"sourcesContent":["import type {\n ColumnDef,\n SortingState,\n RowData,\n Row as RowType,\n PaginationState,\n} from '@tanstack/react-table';\nimport type { CSSProperties } from 'react';\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n getSortedRowModel,\n createColumnHelper,\n getPaginationRowModel,\n} from '@tanstack/react-table';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ScrollArea } from '@radix-ui/themes';\nimport { Flex } from '@/atoms/flex';\nimport { Pagination } from '@/atoms/pagination';\nimport { Spinner } from '@/atoms/spinner';\nimport { Typo } from '@/atoms/typo';\nimport { TriangleArrowDownIcon } from '../../icons/down';\nimport { TriangleArrowUpIcon } from '../../icons/up';\nimport { EmptyState } from '../empty-state';\nimport { Row, type ExpandComp, type OnRowClick } from './row';\n\nexport type { ExpandComp, OnRowClick, ColumnDef, RowType as Row };\nexport { createColumnHelper };\n\ntype Variant = 'card' | 'sprite' | 'sprite-border';\nconst sortButtonColorMapper: Record<\n Variant,\n { selected: string; unselected: string }\n> = {\n card: {\n selected: 'var(--iris-10)',\n unselected: 'var(--iris-6)',\n },\n sprite: {\n // selected: 'var(--gray-a12)',\n // unselected: 'var(--gray-a6)',\n selected: 'var(--iris-10)',\n unselected: 'var(--iris-6)',\n },\n 'sprite-border': {\n selected: 'var(--iris-10)',\n unselected: 'var(--iris-6)',\n },\n};\n\nexport interface ExpandTableProps<Datum extends RowData> {\n /** 렌더할 데이터 배열 */\n data?: Datum[];\n /** 테이블 컬럼의 메타 데이터 */\n columns: ColumnDef<Datum>[];\n /** Row의 open이 true인 경우 하단의 collapse에 렌더할 컴포넌트 */\n ExpandComp?: ExpandComp<Datum>;\n /** 데이테가 없을 시 화면에 표시할 컴포넌트 */\n placeholder?: React.ReactNode;\n /** 행 클릭 시 실행할 콜백 */\n onRowClick?: OnRowClick<Datum>;\n getRowStyle?: (data: Datum) => CSSProperties;\n getCellStyle?: (data: Datum) => CSSProperties;\n tableStyle?: CSSProperties;\n isLoading?: boolean;\n\n /** pagination - 표시 유무, 기본값 true */\n showPagination?: boolean;\n /** pagination - 현재 선택된 페이지, 0부터 시작 */\n pageIndex?: number;\n /** pagination - 한 페이지에 표시될 컬럼 개수, 기본값 10 */\n pageSize?: number;\n /** pagination - */\n siblingCount?: number;\n /** pagination - 페이지 변경 시 호출되는 콜백 (0-based pageIndex) */\n onPageChange?: (pageIndex: number) => void;\n variant?: Variant;\n /** 슬림 모드 - 행 높이·패딩을 줄여 컴팩트하게 표시, 기본값 false */\n slim?: boolean;\n}\n\nexport function ExpandTable<Datum extends RowData>(\n props: ExpandTableProps<Datum>\n): React.ReactNode {\n const {\n data,\n columns,\n ExpandComp,\n placeholder,\n onRowClick,\n tableStyle,\n showPagination = true,\n isLoading,\n pageIndex = 0,\n pageSize = 10,\n siblingCount = 2,\n onPageChange,\n getRowStyle,\n getCellStyle,\n variant = 'card',\n slim = false,\n } = props;\n const defaultAlign = 'left';\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: pageIndex || 0,\n pageSize: pageSize || 9999,\n });\n\n useEffect(() => {\n setPagination((prev) => {\n const next = pageIndex;\n if (prev.pageIndex === next) return prev;\n return { ...prev, pageIndex: next };\n });\n }, [pageIndex]);\n\n const [sorting, setSorting] = useState<SortingState>([]);\n const { getRowModel, getHeaderGroups, setPageIndex } = useReactTable({\n data: data || [],\n columns,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n sorting,\n pagination,\n },\n onSortingChange: setSorting,\n getPaginationRowModel: getPaginationRowModel(),\n onPaginationChange: setPagination,\n });\n\n const gridTemplateColumns = useMemo<string>(() => {\n return columns\n .map((col) => {\n if (col.meta?.autoSize) return `minmax(${col.size || 50}px, 1fr)`;\n return `${col.size || 150}px`;\n })\n .join(' ');\n }, [columns]);\n\n const rowModels = getRowModel();\n\n const onChangePagination = useCallback(\n (page: number) => {\n const idx = page - 1;\n setPageIndex(idx);\n onPageChange?.(idx);\n },\n [setPageIndex, onPageChange]\n );\n\n const helpCompRender = useCallback(\n (rowLength: number) => {\n if (isLoading) {\n return (\n <Flex\n align=\"center\"\n height=\"100%\"\n justify=\"center\"\n p=\"5\"\n width=\"100%\"\n >\n <Spinner />\n </Flex>\n );\n }\n if (rowLength === 0) {\n return (\n <div className=\"tr\" key=\"expand_placeholder\">\n <Flex align=\"center\" justify=\"center\">\n {placeholder || (\n <EmptyState heading=\"데이터가 없습니다\" size=\"compact\" />\n )}\n </Flex>\n </div>\n );\n }\n return null;\n },\n [isLoading, placeholder]\n );\n\n const pageCount = useMemo(() => {\n if (!data) return 0;\n return Math.ceil(data.length / pageSize);\n }, [data, pageSize]);\n\n return (\n <div className={`expand-table-wrapper ${variant}${slim ? ' slim' : ''}`}>\n <div className=\"expand-table\" style={tableStyle}>\n <div className=\"thead\">\n {getHeaderGroups().map((headerGroup) => (\n <div\n className=\"tr\"\n key={headerGroup.id}\n style={{ gridTemplateColumns }}\n >\n {headerGroup.headers.map((header) => {\n const sortable = header.column.getCanSort();\n const sortedState = header.column.getIsSorted();\n const justifyContent =\n header.column.columnDef.meta?.align || defaultAlign;\n\n if (sortable) {\n return (\n <div className={`${justifyContent} th`} key={header.id}>\n <button\n onClick={header.column.getToggleSortingHandler()}\n style={{ cursor: 'pointer' }}\n type=\"button\"\n >\n <Typo as=\"div\" variant=\"body\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </Typo>\n <Flex\n direction=\"column\"\n style={{ marginLeft: 'var(--space-2)' }}\n >\n {sortedState === false && (\n <TriangleArrowDownIcon\n color={sortButtonColorMapper[variant].unselected}\n />\n )}\n {sortedState === 'asc' && (\n <TriangleArrowUpIcon\n color={sortButtonColorMapper[variant].selected}\n />\n )}\n {sortedState === 'desc' && (\n <TriangleArrowDownIcon\n color={sortButtonColorMapper[variant].selected}\n />\n )}\n </Flex>\n </button>\n </div>\n );\n }\n\n return (\n <div className={`${justifyContent} th`} key={header.id}>\n <Typo as=\"div\" variant=\"body\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </Typo>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n <ScrollArea className=\"tbody\">\n {/* 조건에 따라 placeholder 또는 loading 렌더*/}\n {helpCompRender(rowModels.rows.length) ||\n rowModels.rows.map((row) => {\n return (\n <Row\n ExpandComp={ExpandComp}\n defaultAlign={defaultAlign}\n getCellStyle={getCellStyle}\n getRowStyle={getRowStyle}\n gridTemplateColumns={gridTemplateColumns}\n key={`row_${row.id}`}\n onRowClick={onRowClick}\n row={row}\n />\n );\n })}\n </ScrollArea>\n </div>\n {showPagination ? (\n <Flex justify=\"end\" pt=\"4\" width=\"100%\">\n <Pagination\n count={pageCount}\n onChange={onChangePagination}\n page={pagination.pageIndex + 1}\n siblingCount={siblingCount}\n />\n </Flex>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":[]}