@ezpg/app-ui 0.2.0 → 0.4.0

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 (203) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/module/blocks/brand-profile-card/brand-profile-card.js +2 -2
  3. package/lib/module/blocks/brand-profile-card/brand-profile-card.js.map +1 -1
  4. package/lib/module/blocks/bulk-ship-list/bulk-ship-list.js +1 -1
  5. package/lib/module/blocks/bulk-ship-list/bulk-ship-list.js.map +1 -1
  6. package/lib/module/blocks/claim-row/claim-row.js +6 -5
  7. package/lib/module/blocks/claim-row/claim-row.js.map +1 -1
  8. package/lib/module/blocks/color-swatch-picker/color-swatch-picker.js +1 -1
  9. package/lib/module/blocks/color-swatch-picker/color-swatch-picker.js.map +1 -1
  10. package/lib/module/blocks/copy-variant-picker/copy-variant-picker.js +4 -4
  11. package/lib/module/blocks/copy-variant-picker/copy-variant-picker.js.map +1 -1
  12. package/lib/module/blocks/credit-wallet/credit-wallet.js +1 -1
  13. package/lib/module/blocks/credit-wallet/credit-wallet.js.map +1 -1
  14. package/lib/module/blocks/generation-progress/generation-progress.js +4 -4
  15. package/lib/module/blocks/generation-progress/generation-progress.js.map +1 -1
  16. package/lib/module/blocks/image-grid/image-grid.js +11 -11
  17. package/lib/module/blocks/image-grid/image-grid.js.map +1 -1
  18. package/lib/module/blocks/internal/format.js +4 -0
  19. package/lib/module/blocks/internal/format.js.map +1 -1
  20. package/lib/module/blocks/invoice-row/invoice-row.js +5 -5
  21. package/lib/module/blocks/invoice-row/invoice-row.js.map +1 -1
  22. package/lib/module/blocks/logo-candidate-grid/logo-candidate-grid.js +1 -1
  23. package/lib/module/blocks/logo-candidate-grid/logo-candidate-grid.js.map +1 -1
  24. package/lib/module/blocks/oauth-buttons/oauth-buttons.js +2 -2
  25. package/lib/module/blocks/oauth-buttons/oauth-buttons.js.map +1 -1
  26. package/lib/module/blocks/option-editor/option-editor.js +3 -3
  27. package/lib/module/blocks/option-editor/option-editor.js.map +1 -1
  28. package/lib/module/blocks/order-card/index.js +1 -1
  29. package/lib/module/blocks/order-card/index.js.map +1 -1
  30. package/lib/module/blocks/order-card/order-card.js +31 -9
  31. package/lib/module/blocks/order-card/order-card.js.map +1 -1
  32. package/lib/module/blocks/plan-card/plan-card.js +3 -3
  33. package/lib/module/blocks/plan-card/plan-card.js.map +1 -1
  34. package/lib/module/blocks/product-list-empty/product-list-empty.js +5 -5
  35. package/lib/module/blocks/product-list-empty/product-list-empty.js.map +1 -1
  36. package/lib/module/blocks/review-row/review-row.js +17 -17
  37. package/lib/module/blocks/review-row/review-row.js.map +1 -1
  38. package/lib/module/blocks/sales-chart/sales-chart.js +3 -3
  39. package/lib/module/blocks/sales-chart/sales-chart.js.map +1 -1
  40. package/lib/module/blocks/selection-bar/selection-bar.js +1 -1
  41. package/lib/module/blocks/selection-bar/selection-bar.js.map +1 -1
  42. package/lib/module/blocks/service-state-banner/service-state-banner.js +1 -1
  43. package/lib/module/blocks/service-state-banner/service-state-banner.js.map +1 -1
  44. package/lib/module/blocks/shipping-tracking-row/shipping-tracking-row.js +1 -1
  45. package/lib/module/blocks/shipping-tracking-row/shipping-tracking-row.js.map +1 -1
  46. package/lib/module/blocks/site-preview-frame/site-preview-frame.js +1 -1
  47. package/lib/module/blocks/site-preview-frame/site-preview-frame.js.map +1 -1
  48. package/lib/module/blocks/stat-card/stat-card.js +1 -1
  49. package/lib/module/blocks/stat-card/stat-card.js.map +1 -1
  50. package/lib/module/blocks/step-screen/step-screen.js +18 -14
  51. package/lib/module/blocks/step-screen/step-screen.js.map +1 -1
  52. package/lib/module/blocks/supply-item-card/supply-item-card.js +5 -5
  53. package/lib/module/blocks/supply-item-card/supply-item-card.js.map +1 -1
  54. package/lib/module/components/button/button.js +15 -20
  55. package/lib/module/components/button/button.js.map +1 -1
  56. package/lib/module/components/chip/chip.js +2 -2
  57. package/lib/module/components/chip/chip.js.map +1 -1
  58. package/lib/module/components/dialog/dialog.js +6 -6
  59. package/lib/module/components/dialog/dialog.js.map +1 -1
  60. package/lib/module/components/empty-state/empty-state.js +4 -4
  61. package/lib/module/components/empty-state/empty-state.js.map +1 -1
  62. package/lib/module/components/field/field.js +20 -19
  63. package/lib/module/components/field/field.js.map +1 -1
  64. package/lib/module/components/list-row/index.js.map +1 -1
  65. package/lib/module/components/list-row/list-row.js +38 -10
  66. package/lib/module/components/list-row/list-row.js.map +1 -1
  67. package/lib/module/components/price/price.js +1 -1
  68. package/lib/module/components/price/price.js.map +1 -1
  69. package/lib/module/components/segmented-tabs/segmented-tabs.js +2 -2
  70. package/lib/module/components/segmented-tabs/segmented-tabs.js.map +1 -1
  71. package/lib/module/components/status-badge/status-badge.js +2 -2
  72. package/lib/module/components/status-badge/status-badge.js.map +1 -1
  73. package/lib/module/components/text/text.js +7 -2
  74. package/lib/module/components/text/text.js.map +1 -1
  75. package/lib/module/components/toast/toast.js +5 -5
  76. package/lib/module/components/toast/toast.js.map +1 -1
  77. package/lib/module/index.js +1 -0
  78. package/lib/module/index.js.map +1 -1
  79. package/lib/module/templates/editor-template.js +142 -0
  80. package/lib/module/templates/editor-template.js.map +1 -0
  81. package/lib/module/templates/index.js +9 -0
  82. package/lib/module/templates/index.js.map +1 -0
  83. package/lib/module/templates/list-template.js +98 -0
  84. package/lib/module/templates/list-template.js.map +1 -0
  85. package/lib/module/templates/parts.js +115 -0
  86. package/lib/module/templates/parts.js.map +1 -0
  87. package/lib/module/templates/result-template.js +233 -0
  88. package/lib/module/templates/result-template.js.map +1 -0
  89. package/lib/module/templates/scroll-templates.js +100 -0
  90. package/lib/module/templates/scroll-templates.js.map +1 -0
  91. package/lib/module/templates/system-template.js +64 -0
  92. package/lib/module/templates/system-template.js.map +1 -0
  93. package/lib/module/theme/base.js +141 -0
  94. package/lib/module/theme/base.js.map +1 -0
  95. package/lib/module/theme/contract.js +6 -0
  96. package/lib/module/theme/contract.js.map +1 -0
  97. package/lib/module/theme/tokens.js +18 -114
  98. package/lib/module/theme/tokens.js.map +1 -1
  99. package/lib/typescript/src/blocks/claim-row/claim-row.d.ts.map +1 -1
  100. package/lib/typescript/src/blocks/color-swatch-picker/color-swatch-picker.d.ts.map +1 -1
  101. package/lib/typescript/src/blocks/image-grid/image-grid.d.ts.map +1 -1
  102. package/lib/typescript/src/blocks/internal/format.d.ts +1 -0
  103. package/lib/typescript/src/blocks/internal/format.d.ts.map +1 -1
  104. package/lib/typescript/src/blocks/invoice-row/invoice-row.d.ts.map +1 -1
  105. package/lib/typescript/src/blocks/oauth-buttons/oauth-buttons.d.ts.map +1 -1
  106. package/lib/typescript/src/blocks/order-card/index.d.ts +1 -1
  107. package/lib/typescript/src/blocks/order-card/index.d.ts.map +1 -1
  108. package/lib/typescript/src/blocks/order-card/order-card.d.ts +10 -0
  109. package/lib/typescript/src/blocks/order-card/order-card.d.ts.map +1 -1
  110. package/lib/typescript/src/blocks/product-list-empty/product-list-empty.d.ts.map +1 -1
  111. package/lib/typescript/src/blocks/review-row/review-row.d.ts.map +1 -1
  112. package/lib/typescript/src/blocks/step-screen/step-screen.d.ts +3 -1
  113. package/lib/typescript/src/blocks/step-screen/step-screen.d.ts.map +1 -1
  114. package/lib/typescript/src/components/button/button.d.ts +2 -2
  115. package/lib/typescript/src/components/button/button.d.ts.map +1 -1
  116. package/lib/typescript/src/components/dialog/dialog.d.ts +2 -2
  117. package/lib/typescript/src/components/dialog/dialog.d.ts.map +1 -1
  118. package/lib/typescript/src/components/empty-state/empty-state.d.ts.map +1 -1
  119. package/lib/typescript/src/components/field/field.d.ts.map +1 -1
  120. package/lib/typescript/src/components/list-row/index.d.ts +1 -1
  121. package/lib/typescript/src/components/list-row/index.d.ts.map +1 -1
  122. package/lib/typescript/src/components/list-row/list-row.d.ts +4 -1
  123. package/lib/typescript/src/components/list-row/list-row.d.ts.map +1 -1
  124. package/lib/typescript/src/components/status-badge/status-badge.d.ts +2 -1
  125. package/lib/typescript/src/components/status-badge/status-badge.d.ts.map +1 -1
  126. package/lib/typescript/src/components/text/text.d.ts +1 -1
  127. package/lib/typescript/src/components/text/text.d.ts.map +1 -1
  128. package/lib/typescript/src/components/toast/toast.d.ts +2 -1
  129. package/lib/typescript/src/components/toast/toast.d.ts.map +1 -1
  130. package/lib/typescript/src/index.d.ts +1 -0
  131. package/lib/typescript/src/index.d.ts.map +1 -1
  132. package/lib/typescript/src/templates/editor-template.d.ts +22 -0
  133. package/lib/typescript/src/templates/editor-template.d.ts.map +1 -0
  134. package/lib/typescript/src/templates/index.d.ts +13 -0
  135. package/lib/typescript/src/templates/index.d.ts.map +1 -0
  136. package/lib/typescript/src/templates/list-template.d.ts +27 -0
  137. package/lib/typescript/src/templates/list-template.d.ts.map +1 -0
  138. package/lib/typescript/src/templates/parts.d.ts +27 -0
  139. package/lib/typescript/src/templates/parts.d.ts.map +1 -0
  140. package/lib/typescript/src/templates/result-template.d.ts +21 -0
  141. package/lib/typescript/src/templates/result-template.d.ts.map +1 -0
  142. package/lib/typescript/src/templates/scroll-templates.d.ts +32 -0
  143. package/lib/typescript/src/templates/scroll-templates.d.ts.map +1 -0
  144. package/lib/typescript/src/templates/system-template.d.ts +12 -0
  145. package/lib/typescript/src/templates/system-template.d.ts.map +1 -0
  146. package/lib/typescript/src/theme/base.d.ts +139 -0
  147. package/lib/typescript/src/theme/base.d.ts.map +1 -0
  148. package/lib/typescript/src/theme/contract.d.ts +7 -0
  149. package/lib/typescript/src/theme/contract.d.ts.map +1 -0
  150. package/lib/typescript/src/theme/tokens.d.ts.map +1 -1
  151. package/lib/typescript/src/types/index.d.ts +25 -3
  152. package/lib/typescript/src/types/index.d.ts.map +1 -1
  153. package/package.json +1 -1
  154. package/src/blocks/brand-profile-card/brand-profile-card.tsx +2 -2
  155. package/src/blocks/bulk-ship-list/bulk-ship-list.tsx +1 -1
  156. package/src/blocks/claim-row/claim-row.tsx +12 -3
  157. package/src/blocks/color-swatch-picker/color-swatch-picker.tsx +5 -1
  158. package/src/blocks/copy-variant-picker/copy-variant-picker.tsx +4 -4
  159. package/src/blocks/credit-wallet/credit-wallet.tsx +1 -1
  160. package/src/blocks/generation-progress/generation-progress.tsx +4 -4
  161. package/src/blocks/image-grid/image-grid.tsx +16 -9
  162. package/src/blocks/internal/format.ts +5 -0
  163. package/src/blocks/invoice-row/invoice-row.tsx +8 -4
  164. package/src/blocks/logo-candidate-grid/logo-candidate-grid.tsx +1 -1
  165. package/src/blocks/oauth-buttons/oauth-buttons.tsx +6 -2
  166. package/src/blocks/option-editor/option-editor.tsx +3 -3
  167. package/src/blocks/order-card/index.ts +4 -0
  168. package/src/blocks/order-card/order-card.tsx +50 -6
  169. package/src/blocks/plan-card/plan-card.tsx +3 -3
  170. package/src/blocks/product-list-empty/product-list-empty.tsx +11 -4
  171. package/src/blocks/review-row/review-row.tsx +26 -15
  172. package/src/blocks/sales-chart/sales-chart.tsx +3 -3
  173. package/src/blocks/selection-bar/selection-bar.tsx +1 -1
  174. package/src/blocks/service-state-banner/service-state-banner.tsx +1 -1
  175. package/src/blocks/shipping-tracking-row/shipping-tracking-row.tsx +1 -1
  176. package/src/blocks/site-preview-frame/site-preview-frame.tsx +1 -1
  177. package/src/blocks/stat-card/stat-card.tsx +1 -1
  178. package/src/blocks/step-screen/step-screen.tsx +24 -12
  179. package/src/blocks/supply-item-card/supply-item-card.tsx +5 -5
  180. package/src/components/button/button.tsx +24 -16
  181. package/src/components/chip/chip.tsx +2 -2
  182. package/src/components/dialog/dialog.tsx +7 -7
  183. package/src/components/empty-state/empty-state.tsx +8 -4
  184. package/src/components/field/field.tsx +20 -19
  185. package/src/components/list-row/index.ts +1 -1
  186. package/src/components/list-row/list-row.tsx +35 -8
  187. package/src/components/price/price.tsx +1 -1
  188. package/src/components/segmented-tabs/segmented-tabs.tsx +2 -2
  189. package/src/components/status-badge/status-badge.tsx +4 -4
  190. package/src/components/text/text.tsx +5 -2
  191. package/src/components/toast/toast.tsx +7 -6
  192. package/src/index.tsx +1 -0
  193. package/src/templates/editor-template.tsx +164 -0
  194. package/src/templates/index.ts +26 -0
  195. package/src/templates/list-template.tsx +124 -0
  196. package/src/templates/parts.tsx +138 -0
  197. package/src/templates/result-template.tsx +266 -0
  198. package/src/templates/scroll-templates.tsx +140 -0
  199. package/src/templates/system-template.tsx +70 -0
  200. package/src/theme/base.ts +149 -0
  201. package/src/theme/contract.ts +21 -0
  202. package/src/theme/tokens.ts +30 -81
  203. package/src/types/index.ts +17 -3
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ import { ScrollView, View } from 'react-native';
4
+ import { Button } from "../components/button/button.js";
5
+ import { Text } from "../components/text/text.js";
6
+ import { CloseGlyph } from "../internal/glyphs.js";
7
+ import { PressableBase } from "../internal/pressable-base.js";
8
+ import { useTheme } from "../theme/theme-provider.js";
9
+ import { makeStyles } from "../utils/styles.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const useStyles = makeStyles(t => ({
12
+ root: {
13
+ flex: 1,
14
+ backgroundColor: t.colors.muted
15
+ },
16
+ canvas: {
17
+ flex: 1,
18
+ paddingTop: t.layout.groupGap,
19
+ paddingHorizontal: t.layout.screenX
20
+ },
21
+ preview: {
22
+ flex: 1,
23
+ overflow: 'hidden',
24
+ borderTopLeftRadius: t.radius.lg,
25
+ borderTopRightRadius: t.radius.lg,
26
+ backgroundColor: t.colors.background
27
+ },
28
+ tools: {
29
+ flexDirection: 'row',
30
+ gap: t.layout.itemGap,
31
+ paddingHorizontal: t.layout.screenX,
32
+ paddingTop: t.layout.footerTop,
33
+ borderTopWidth: 1,
34
+ borderTopColor: t.colors.border,
35
+ backgroundColor: t.colors.background
36
+ },
37
+ tool: {
38
+ flex: 1
39
+ },
40
+ sheet: {
41
+ position: 'absolute',
42
+ left: 0,
43
+ right: 0,
44
+ bottom: 0,
45
+ maxHeight: '60%',
46
+ borderTopLeftRadius: t.radius.lg,
47
+ borderTopRightRadius: t.radius.lg,
48
+ borderTopWidth: 1,
49
+ borderColor: t.colors.border,
50
+ backgroundColor: t.colors.background
51
+ },
52
+ grab: {
53
+ alignSelf: 'center',
54
+ width: t.space[8],
55
+ height: t.space[1],
56
+ marginTop: t.space[2],
57
+ borderRadius: t.radius.full,
58
+ backgroundColor: t.colors.input
59
+ },
60
+ sheetHead: {
61
+ flexDirection: 'row',
62
+ alignItems: 'center',
63
+ gap: t.space[2],
64
+ paddingLeft: t.layout.screenX,
65
+ paddingRight: t.space[1],
66
+ minHeight: t.controlSize.md
67
+ },
68
+ sheetTitle: {
69
+ flex: 1
70
+ },
71
+ close: {
72
+ width: t.minTouchSize,
73
+ height: t.minTouchSize,
74
+ alignItems: 'center',
75
+ justifyContent: 'center'
76
+ },
77
+ sheetBody: {
78
+ gap: t.space[4],
79
+ paddingHorizontal: t.layout.screenX,
80
+ paddingTop: t.space[2]
81
+ }
82
+ }));
83
+ export function EditorTemplate({
84
+ preview,
85
+ tools,
86
+ sheet,
87
+ closeLabel = '닫기',
88
+ bottomInset = 0
89
+ }) {
90
+ const t = useTheme();
91
+ const s = useStyles();
92
+ return /*#__PURE__*/_jsxs(View, {
93
+ style: s.root,
94
+ children: [/*#__PURE__*/_jsx(View, {
95
+ style: s.canvas,
96
+ children: /*#__PURE__*/_jsx(View, {
97
+ style: s.preview,
98
+ children: preview
99
+ })
100
+ }), /*#__PURE__*/_jsx(View, {
101
+ style: [s.tools, {
102
+ paddingBottom: t.layout.footerBottom + bottomInset
103
+ }],
104
+ children: tools.map(tool => /*#__PURE__*/_jsx(Button, {
105
+ variant: "outline",
106
+ onPress: tool.onPress,
107
+ disabled: tool.disabled,
108
+ style: s.tool,
109
+ children: tool.label
110
+ }, tool.key))
111
+ }), sheet ? /*#__PURE__*/_jsxs(View, {
112
+ style: s.sheet,
113
+ children: [/*#__PURE__*/_jsx(View, {
114
+ style: s.grab
115
+ }), /*#__PURE__*/_jsxs(View, {
116
+ style: s.sheetHead,
117
+ children: [/*#__PURE__*/_jsx(Text, {
118
+ variant: "bodyLg",
119
+ weight: "semibold",
120
+ accessibilityRole: "header",
121
+ style: s.sheetTitle,
122
+ children: sheet.title
123
+ }), sheet.headerAction, /*#__PURE__*/_jsx(PressableBase, {
124
+ onPress: sheet.onClose,
125
+ accessibilityLabel: closeLabel,
126
+ style: s.close,
127
+ children: /*#__PURE__*/_jsx(CloseGlyph, {
128
+ color: t.colors.foreground,
129
+ size: t.iconSize.md
130
+ })
131
+ })]
132
+ }), /*#__PURE__*/_jsx(ScrollView, {
133
+ keyboardShouldPersistTaps: "handled",
134
+ contentContainerStyle: [s.sheetBody, {
135
+ paddingBottom: t.layout.footerBottom + bottomInset
136
+ }],
137
+ children: sheet.children
138
+ })]
139
+ }) : null]
140
+ });
141
+ }
142
+ //# sourceMappingURL=editor-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ScrollView","View","Button","Text","CloseGlyph","PressableBase","useTheme","makeStyles","jsx","_jsx","jsxs","_jsxs","useStyles","t","root","flex","backgroundColor","colors","muted","canvas","paddingTop","layout","groupGap","paddingHorizontal","screenX","preview","overflow","borderTopLeftRadius","radius","lg","borderTopRightRadius","background","tools","flexDirection","gap","itemGap","footerTop","borderTopWidth","borderTopColor","border","tool","sheet","position","left","right","bottom","maxHeight","borderColor","grab","alignSelf","width","space","height","marginTop","borderRadius","full","input","sheetHead","alignItems","paddingLeft","paddingRight","minHeight","controlSize","md","sheetTitle","close","minTouchSize","justifyContent","sheetBody","EditorTemplate","closeLabel","bottomInset","s","style","children","paddingBottom","footerBottom","map","variant","onPress","disabled","label","key","weight","accessibilityRole","title","headerAction","onClose","accessibilityLabel","color","foreground","size","iconSize","keyboardShouldPersistTaps","contentContainerStyle"],"sourceRoot":"../../../src","sources":["templates/editor-template.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export { DetailTemplate, DashboardTemplate, FormTemplate, MenuTemplate } from "./scroll-templates.js";
4
+ export { EditorTemplate } from "./editor-template.js";
5
+ export { ListTemplate } from "./list-template.js";
6
+ export { ResultTemplate } from "./result-template.js";
7
+ export { SystemTemplate } from "./system-template.js";
8
+ export { ListSection } from "./parts.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DetailTemplate","DashboardTemplate","FormTemplate","MenuTemplate","EditorTemplate","ListTemplate","ResultTemplate","SystemTemplate","ListSection"],"sourceRoot":"../../../src","sources":["templates/index.ts"],"mappings":";;AAAA,SACEA,cAAc,EACdC,iBAAiB,EACjBC,YAAY,EACZC,YAAY,QACP,uBAAoB;AAO3B,SAASC,cAAc,QAAQ,sBAAmB;AAMlD,SAASC,YAAY,QAAQ,oBAAiB;AAE9C,SAASC,cAAc,QAAQ,sBAAmB;AAElD,SAASC,cAAc,QAAQ,sBAAmB;AAElD,SAASC,WAAW,QAAQ,YAAS","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ import { FlatList, RefreshControl, View } from 'react-native';
4
+ import { EmptyState } from "../components/empty-state/empty-state.js";
5
+ import { Skeleton } from "../components/skeleton/skeleton.js";
6
+ import { useTheme } from "../theme/theme-provider.js";
7
+ import { makeStyles } from "../utils/styles.js";
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ const useStyles = makeStyles(t => ({
10
+ root: {
11
+ flex: 1,
12
+ backgroundColor: t.colors.background
13
+ },
14
+ filters: {
15
+ gap: t.layout.groupGap,
16
+ paddingTop: t.space[2],
17
+ paddingBottom: t.space[2],
18
+ paddingHorizontal: t.layout.screenX
19
+ },
20
+ loading: {
21
+ gap: t.space[4],
22
+ paddingTop: t.space[2],
23
+ paddingHorizontal: t.layout.screenX
24
+ },
25
+ grow: {
26
+ flexGrow: 1
27
+ }
28
+ }));
29
+ export function ListTemplate({
30
+ data,
31
+ renderItem,
32
+ keyExtractor,
33
+ status = 'ready',
34
+ filters,
35
+ pinned,
36
+ empty,
37
+ error,
38
+ refreshing = false,
39
+ onRefresh,
40
+ onEndReached,
41
+ selectionBar,
42
+ bottomInset = 0
43
+ }) {
44
+ const t = useTheme();
45
+ const s = useStyles();
46
+ const head = filters ? /*#__PURE__*/_jsx(View, {
47
+ style: s.filters,
48
+ children: filters
49
+ }) : null;
50
+ if (status === 'loading') {
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ style: s.root,
53
+ children: [head, /*#__PURE__*/_jsx(View, {
54
+ style: s.loading,
55
+ children: [0, 1, 2, 3, 4].map(i => /*#__PURE__*/_jsx(Skeleton, {
56
+ height: t.listRow.oneLine
57
+ }, i))
58
+ })]
59
+ });
60
+ }
61
+ if (status === 'error' && error) {
62
+ return /*#__PURE__*/_jsxs(View, {
63
+ style: s.root,
64
+ children: [head, /*#__PURE__*/_jsx(EmptyState, {
65
+ variant: "error",
66
+ title: error.title,
67
+ action: {
68
+ label: '다시 시도',
69
+ onPress: error.onRetry
70
+ }
71
+ })]
72
+ });
73
+ }
74
+ return /*#__PURE__*/_jsxs(View, {
75
+ style: s.root,
76
+ children: [/*#__PURE__*/_jsx(FlatList, {
77
+ data: data,
78
+ renderItem: renderItem,
79
+ keyExtractor: keyExtractor,
80
+ ListHeaderComponent: head || pinned ? /*#__PURE__*/_jsxs(_Fragment, {
81
+ children: [head, pinned]
82
+ }) : undefined,
83
+ ListEmptyComponent: /*#__PURE__*/_jsx(EmptyState, {
84
+ title: empty.title,
85
+ action: empty.action
86
+ }),
87
+ contentContainerStyle: [data.length === 0 ? s.grow : null, selectionBar ? null : {
88
+ paddingBottom: bottomInset
89
+ }],
90
+ refreshControl: onRefresh ? /*#__PURE__*/_jsx(RefreshControl, {
91
+ refreshing: refreshing,
92
+ onRefresh: onRefresh
93
+ }) : undefined,
94
+ onEndReached: onEndReached
95
+ }), selectionBar]
96
+ });
97
+ }
98
+ //# sourceMappingURL=list-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FlatList","RefreshControl","View","EmptyState","Skeleton","useTheme","makeStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useStyles","t","root","flex","backgroundColor","colors","background","filters","gap","layout","groupGap","paddingTop","space","paddingBottom","paddingHorizontal","screenX","loading","grow","flexGrow","ListTemplate","data","renderItem","keyExtractor","status","pinned","empty","error","refreshing","onRefresh","onEndReached","selectionBar","bottomInset","s","head","style","children","map","i","height","listRow","oneLine","variant","title","action","label","onPress","onRetry","ListHeaderComponent","undefined","ListEmptyComponent","contentContainerStyle","length","refreshControl"],"sourceRoot":"../../../src","sources":["templates/list-template.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ import { View } from 'react-native';
4
+ import { Button } from "../components/button/button.js";
5
+ import { Text } from "../components/text/text.js";
6
+ import { AlertGlyph } from "../internal/glyphs.js";
7
+ import { useTheme } from "../theme/theme-provider.js";
8
+ import { makeStyles } from "../utils/styles.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const useStyles = makeStyles(t => ({
11
+ bar: {
12
+ gap: t.layout.itemGap,
13
+ paddingHorizontal: t.layout.screenX,
14
+ paddingTop: t.layout.footerTop,
15
+ backgroundColor: t.colors.background
16
+ },
17
+ notice: {
18
+ flexDirection: 'row',
19
+ alignItems: 'flex-start',
20
+ gap: t.space[2],
21
+ marginHorizontal: t.layout.screenX,
22
+ paddingVertical: t.space[3],
23
+ paddingHorizontal: t.space[4],
24
+ borderRadius: t.radius.md,
25
+ backgroundColor: t.colors.muted
26
+ },
27
+ noticeText: {
28
+ flex: 1
29
+ },
30
+ section: {
31
+ paddingBottom: t.space[2]
32
+ },
33
+ sectionHead: {
34
+ flexDirection: 'row',
35
+ alignItems: 'center',
36
+ justifyContent: 'space-between',
37
+ paddingTop: t.space[4],
38
+ paddingBottom: t.space[2],
39
+ paddingHorizontal: t.layout.screenX
40
+ },
41
+ inset: {
42
+ paddingHorizontal: t.layout.screenX
43
+ }
44
+ }));
45
+ export function BottomBar({
46
+ primaryAction,
47
+ secondaryAction,
48
+ bottomInset = 0
49
+ }) {
50
+ const t = useTheme();
51
+ const s = useStyles();
52
+ return /*#__PURE__*/_jsxs(View, {
53
+ style: [s.bar, {
54
+ paddingBottom: t.layout.footerBottom + bottomInset
55
+ }],
56
+ children: [/*#__PURE__*/_jsx(Button, {
57
+ size: "lg",
58
+ onPress: primaryAction.onPress,
59
+ disabled: primaryAction.disabled,
60
+ loading: primaryAction.loading,
61
+ children: primaryAction.label
62
+ }), secondaryAction ? /*#__PURE__*/_jsx(Button, {
63
+ variant: "ghost",
64
+ onPress: secondaryAction.onPress,
65
+ disabled: secondaryAction.disabled,
66
+ loading: secondaryAction.loading,
67
+ children: secondaryAction.label
68
+ }) : null]
69
+ });
70
+ }
71
+ export function Notice({
72
+ notice
73
+ }) {
74
+ const t = useTheme();
75
+ const s = useStyles();
76
+ const danger = notice.reason === 'error';
77
+ return /*#__PURE__*/_jsxs(View, {
78
+ accessibilityRole: danger ? 'alert' : undefined,
79
+ style: s.notice,
80
+ children: [/*#__PURE__*/_jsx(AlertGlyph, {
81
+ color: danger ? t.colors.danger : t.colors.mutedForeground,
82
+ size: t.iconSize.md
83
+ }), /*#__PURE__*/_jsx(Text, {
84
+ variant: "label",
85
+ tone: danger ? 'danger' : 'default',
86
+ style: s.noticeText,
87
+ children: notice.text
88
+ })]
89
+ });
90
+ }
91
+ export function ListSection({
92
+ title,
93
+ action,
94
+ inset,
95
+ children
96
+ }) {
97
+ const s = useStyles();
98
+ return /*#__PURE__*/_jsxs(View, {
99
+ style: s.section,
100
+ children: [title ? /*#__PURE__*/_jsxs(View, {
101
+ style: s.sectionHead,
102
+ children: [/*#__PURE__*/_jsx(Text, {
103
+ variant: "label",
104
+ tone: "muted",
105
+ weight: "semibold",
106
+ accessibilityRole: "header",
107
+ children: title
108
+ }), action]
109
+ }) : null, inset ? /*#__PURE__*/_jsx(View, {
110
+ style: s.inset,
111
+ children: children
112
+ }) : children]
113
+ });
114
+ }
115
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","Button","Text","AlertGlyph","useTheme","makeStyles","jsx","_jsx","jsxs","_jsxs","useStyles","t","bar","gap","layout","itemGap","paddingHorizontal","screenX","paddingTop","footerTop","backgroundColor","colors","background","notice","flexDirection","alignItems","space","marginHorizontal","paddingVertical","borderRadius","radius","md","muted","noticeText","flex","section","paddingBottom","sectionHead","justifyContent","inset","BottomBar","primaryAction","secondaryAction","bottomInset","s","style","footerBottom","children","size","onPress","disabled","loading","label","variant","Notice","danger","reason","accessibilityRole","undefined","color","mutedForeground","iconSize","tone","text","ListSection","title","action","weight"],"sourceRoot":"../../../src","sources":["templates/parts.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ import { useState } from 'react';
4
+ import { Modal, ScrollView, View } from 'react-native';
5
+ import { Text } from "../components/text/text.js";
6
+ import { CloseGlyph } from "../internal/glyphs.js";
7
+ import { PressableBase } from "../internal/pressable-base.js";
8
+ import { useTheme } from "../theme/theme-provider.js";
9
+ import { makeStyles } from "../utils/styles.js";
10
+ import { BottomBar, Notice } from "./parts.js";
11
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
+ const useStyles = makeStyles(t => ({
13
+ root: {
14
+ flex: 1,
15
+ backgroundColor: t.colors.background
16
+ },
17
+ body: {
18
+ flex: 1,
19
+ paddingTop: t.space[2]
20
+ },
21
+ pager: {
22
+ flex: 1
23
+ },
24
+ page: {
25
+ gap: t.space[2]
26
+ },
27
+ card: {
28
+ flex: 1,
29
+ overflow: 'hidden',
30
+ borderRadius: t.radius.lg,
31
+ borderWidth: 1,
32
+ borderColor: t.colors.border,
33
+ backgroundColor: t.colors.muted
34
+ },
35
+ caption: {
36
+ flexDirection: 'row',
37
+ justifyContent: 'space-between',
38
+ alignItems: 'center'
39
+ },
40
+ dots: {
41
+ flexDirection: 'row',
42
+ justifyContent: 'center',
43
+ gap: t.space[2],
44
+ paddingVertical: t.layout.groupGap
45
+ },
46
+ dot: {
47
+ width: t.space[2],
48
+ height: t.space[2],
49
+ borderRadius: t.radius.full,
50
+ backgroundColor: t.colors.input
51
+ },
52
+ dotOn: {
53
+ width: t.space[5],
54
+ backgroundColor: t.colors.foreground
55
+ },
56
+ progress: {
57
+ flex: 1,
58
+ paddingHorizontal: t.layout.screenX
59
+ },
60
+ notice: {
61
+ paddingBottom: t.layout.groupGap
62
+ },
63
+ viewer: {
64
+ flex: 1,
65
+ backgroundColor: t.colors.background
66
+ },
67
+ viewerHead: {
68
+ height: t.headerHeight,
69
+ flexDirection: 'row',
70
+ alignItems: 'center',
71
+ paddingHorizontal: t.space[1],
72
+ gap: t.space[1]
73
+ },
74
+ close: {
75
+ width: t.minTouchSize,
76
+ height: t.minTouchSize,
77
+ alignItems: 'center',
78
+ justifyContent: 'center'
79
+ },
80
+ full: {
81
+ flex: 1
82
+ }
83
+ }));
84
+ function Viewer({
85
+ previews,
86
+ index,
87
+ onIndexChange,
88
+ onClose,
89
+ primaryAction,
90
+ closeLabel,
91
+ bottomInset
92
+ }) {
93
+ const t = useTheme();
94
+ const s = useStyles();
95
+ const [width, setWidth] = useState(0);
96
+ const current = previews[index];
97
+ return /*#__PURE__*/_jsxs(View, {
98
+ style: s.viewer,
99
+ children: [/*#__PURE__*/_jsxs(View, {
100
+ style: s.viewerHead,
101
+ children: [/*#__PURE__*/_jsx(PressableBase, {
102
+ onPress: onClose,
103
+ accessibilityLabel: closeLabel,
104
+ style: s.close,
105
+ children: /*#__PURE__*/_jsx(CloseGlyph, {
106
+ color: t.colors.foreground,
107
+ size: t.iconSize.md
108
+ })
109
+ }), /*#__PURE__*/_jsx(Text, {
110
+ variant: "bodyLg",
111
+ weight: "semibold",
112
+ accessibilityRole: "header",
113
+ children: current ? `${current.label} · ${index + 1} / ${previews.length}` : ''
114
+ })]
115
+ }), /*#__PURE__*/_jsx(ScrollView, {
116
+ horizontal: true,
117
+ pagingEnabled: true,
118
+ showsHorizontalScrollIndicator: false,
119
+ onLayout: e => setWidth(e.nativeEvent.layout.width),
120
+ contentOffset: {
121
+ x: index * width,
122
+ y: 0
123
+ },
124
+ onMomentumScrollEnd: e => width && onIndexChange(Math.round(e.nativeEvent.contentOffset.x / width)),
125
+ style: s.full,
126
+ children: previews.map(preview => /*#__PURE__*/_jsx(View, {
127
+ style: {
128
+ width
129
+ },
130
+ children: preview.render()
131
+ }, preview.key))
132
+ }), primaryAction ? /*#__PURE__*/_jsx(BottomBar, {
133
+ primaryAction: primaryAction,
134
+ bottomInset: bottomInset
135
+ }) : null]
136
+ });
137
+ }
138
+ export function ResultTemplate({
139
+ previews,
140
+ index,
141
+ onIndexChange,
142
+ progress,
143
+ notice,
144
+ primaryAction,
145
+ secondaryAction,
146
+ openLabel = '크게 보기',
147
+ closeLabel = '닫기',
148
+ bottomInset = 0
149
+ }) {
150
+ const t = useTheme();
151
+ const s = useStyles();
152
+ const [width, setWidth] = useState(0);
153
+ const [open, setOpen] = useState(false);
154
+ const page = Math.max(0, width - t.layout.screenX * 2 - t.space[6]);
155
+ const step = page + t.layout.itemGap;
156
+ return /*#__PURE__*/_jsxs(View, {
157
+ style: s.root,
158
+ children: [/*#__PURE__*/_jsx(View, {
159
+ style: s.body,
160
+ onLayout: e => setWidth(e.nativeEvent.layout.width),
161
+ children: progress ? /*#__PURE__*/_jsx(View, {
162
+ style: s.progress,
163
+ children: progress
164
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
165
+ children: [/*#__PURE__*/_jsx(ScrollView, {
166
+ horizontal: true,
167
+ showsHorizontalScrollIndicator: false,
168
+ snapToInterval: step || undefined,
169
+ decelerationRate: "fast",
170
+ contentContainerStyle: {
171
+ gap: t.layout.itemGap,
172
+ paddingHorizontal: t.layout.screenX
173
+ },
174
+ onMomentumScrollEnd: e => step && onIndexChange(Math.round(e.nativeEvent.contentOffset.x / step)),
175
+ style: s.pager,
176
+ children: previews.map((preview, i) => /*#__PURE__*/_jsxs(View, {
177
+ style: [s.page, {
178
+ width: page
179
+ }],
180
+ children: [/*#__PURE__*/_jsx(PressableBase, {
181
+ onPress: () => {
182
+ onIndexChange(i);
183
+ setOpen(true);
184
+ },
185
+ accessibilityLabel: `${preview.label} ${openLabel}`,
186
+ style: s.card,
187
+ children: preview.render()
188
+ }), /*#__PURE__*/_jsxs(View, {
189
+ style: s.caption,
190
+ children: [/*#__PURE__*/_jsx(Text, {
191
+ variant: "label",
192
+ weight: "semibold",
193
+ children: preview.label
194
+ }), /*#__PURE__*/_jsx(Text, {
195
+ variant: "label",
196
+ tone: "muted",
197
+ children: openLabel
198
+ })]
199
+ })]
200
+ }, preview.key))
201
+ }), /*#__PURE__*/_jsx(View, {
202
+ style: s.dots,
203
+ children: previews.map((preview, i) => /*#__PURE__*/_jsx(View, {
204
+ style: [s.dot, i === index ? s.dotOn : null]
205
+ }, preview.key))
206
+ })]
207
+ })
208
+ }), notice ? /*#__PURE__*/_jsx(View, {
209
+ style: s.notice,
210
+ children: /*#__PURE__*/_jsx(Notice, {
211
+ notice: notice
212
+ })
213
+ }) : null, primaryAction && !progress ? /*#__PURE__*/_jsx(BottomBar, {
214
+ primaryAction: primaryAction,
215
+ secondaryAction: secondaryAction,
216
+ bottomInset: bottomInset
217
+ }) : null, /*#__PURE__*/_jsx(Modal, {
218
+ visible: open,
219
+ animationType: "slide",
220
+ onRequestClose: () => setOpen(false),
221
+ children: /*#__PURE__*/_jsx(Viewer, {
222
+ previews: previews,
223
+ index: index,
224
+ onIndexChange: onIndexChange,
225
+ onClose: () => setOpen(false),
226
+ primaryAction: primaryAction,
227
+ closeLabel: closeLabel,
228
+ bottomInset: bottomInset
229
+ })
230
+ })]
231
+ });
232
+ }
233
+ //# sourceMappingURL=result-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Modal","ScrollView","View","Text","CloseGlyph","PressableBase","useTheme","makeStyles","BottomBar","Notice","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useStyles","t","root","flex","backgroundColor","colors","background","body","paddingTop","space","pager","page","gap","card","overflow","borderRadius","radius","lg","borderWidth","borderColor","border","muted","caption","flexDirection","justifyContent","alignItems","dots","paddingVertical","layout","groupGap","dot","width","height","full","input","dotOn","foreground","progress","paddingHorizontal","screenX","notice","paddingBottom","viewer","viewerHead","headerHeight","close","minTouchSize","Viewer","previews","index","onIndexChange","onClose","primaryAction","closeLabel","bottomInset","s","setWidth","current","style","children","onPress","accessibilityLabel","color","size","iconSize","md","variant","weight","accessibilityRole","label","length","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onLayout","e","nativeEvent","contentOffset","x","y","onMomentumScrollEnd","Math","round","map","preview","render","key","ResultTemplate","secondaryAction","openLabel","open","setOpen","max","step","itemGap","snapToInterval","undefined","decelerationRate","contentContainerStyle","i","tone","visible","animationType","onRequestClose"],"sourceRoot":"../../../src","sources":["templates/result-template.tsx"],"mappings":"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","ignoreList":[]}