@twreporter/react-typescript-components 0.1.0-beta.4 → 0.1.0-beta.6

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 (194) hide show
  1. package/README.md +11 -1
  2. package/lib/button/components/text-button/index.d.mts +24 -0
  3. package/lib/button/components/text-button/index.d.ts +24 -0
  4. package/lib/button/components/text-button/index.js +156 -0
  5. package/lib/button/components/text-button/index.js.map +1 -0
  6. package/lib/button/components/text-button/index.mjs +7 -0
  7. package/lib/button/components/text-button/index.mjs.map +1 -0
  8. package/lib/button/constant.d.mts +11 -0
  9. package/lib/button/constant.d.ts +11 -0
  10. package/lib/button/constant.js +13 -0
  11. package/lib/button/constant.js.map +1 -0
  12. package/lib/button/constant.mjs +3 -0
  13. package/lib/button/constant.mjs.map +1 -0
  14. package/lib/button/enum.d.mts +11 -0
  15. package/lib/button/enum.d.ts +11 -0
  16. package/lib/button/enum.js +19 -0
  17. package/lib/button/enum.js.map +1 -0
  18. package/lib/button/enum.mjs +3 -0
  19. package/lib/button/enum.mjs.map +1 -0
  20. package/lib/button/index.d.mts +26 -0
  21. package/lib/button/index.d.ts +26 -0
  22. package/lib/button/index.js +162 -0
  23. package/lib/button/index.js.map +1 -0
  24. package/lib/button/index.mjs +8 -0
  25. package/lib/button/index.mjs.map +1 -0
  26. package/lib/button/stories/text-button.stories.d.mts +55 -0
  27. package/lib/button/stories/text-button.stories.d.ts +55 -0
  28. package/lib/button/stories/text-button.stories.js +206 -0
  29. package/lib/button/stories/text-button.stories.js.map +1 -0
  30. package/lib/button/stories/text-button.stories.mjs +34 -0
  31. package/lib/button/stories/text-button.stories.mjs.map +1 -0
  32. package/lib/chunk-6DXA3EX7.mjs +35 -0
  33. package/lib/chunk-6DXA3EX7.mjs.map +1 -0
  34. package/lib/chunk-7DK5MO62.mjs +8 -0
  35. package/lib/chunk-7DK5MO62.mjs.map +1 -0
  36. package/lib/chunk-CZVB2Y6O.mjs +27 -0
  37. package/lib/chunk-CZVB2Y6O.mjs.map +1 -0
  38. package/lib/chunk-GQWO45DN.mjs +32 -0
  39. package/lib/chunk-GQWO45DN.mjs.map +1 -0
  40. package/lib/chunk-GRCEZABQ.mjs +38 -0
  41. package/lib/chunk-GRCEZABQ.mjs.map +1 -0
  42. package/lib/chunk-HQG6Q2EY.mjs +42 -0
  43. package/lib/chunk-HQG6Q2EY.mjs.map +1 -0
  44. package/lib/chunk-JB4TYHDE.mjs +11 -0
  45. package/lib/chunk-JB4TYHDE.mjs.map +1 -0
  46. package/lib/chunk-JFT6JILC.mjs +12 -0
  47. package/lib/chunk-JFT6JILC.mjs.map +1 -0
  48. package/lib/chunk-JHLT5GDV.mjs +50 -0
  49. package/lib/chunk-JHLT5GDV.mjs.map +1 -0
  50. package/lib/chunk-QE5LVT7A.mjs +90 -0
  51. package/lib/chunk-QE5LVT7A.mjs.map +1 -0
  52. package/lib/chunk-QOLETTSG.mjs +28 -0
  53. package/lib/chunk-QOLETTSG.mjs.map +1 -0
  54. package/lib/chunk-R4F4LGAY.mjs +56 -0
  55. package/lib/chunk-R4F4LGAY.mjs.map +1 -0
  56. package/lib/chunk-UM7RNC2Y.mjs +14 -0
  57. package/lib/chunk-UM7RNC2Y.mjs.map +1 -0
  58. package/lib/chunk-URJXIWFX.mjs +16 -0
  59. package/lib/chunk-URJXIWFX.mjs.map +1 -0
  60. package/lib/chunk-X2UWIBNH.mjs +16 -0
  61. package/lib/chunk-X2UWIBNH.mjs.map +1 -0
  62. package/lib/chunk-XO7SDD7W.mjs +17 -0
  63. package/lib/chunk-XO7SDD7W.mjs.map +1 -0
  64. package/lib/customized-link/external-link.d.mts +7 -0
  65. package/lib/customized-link/external-link.d.ts +7 -0
  66. package/lib/customized-link/external-link.js +18 -0
  67. package/lib/customized-link/external-link.js.map +1 -0
  68. package/lib/customized-link/external-link.mjs +3 -0
  69. package/lib/customized-link/external-link.mjs.map +1 -0
  70. package/lib/customized-link/index.d.mts +11 -0
  71. package/lib/customized-link/index.d.ts +11 -0
  72. package/lib/customized-link/index.js +42 -0
  73. package/lib/customized-link/index.js.map +1 -0
  74. package/lib/customized-link/index.mjs +5 -0
  75. package/lib/customized-link/index.mjs.map +1 -0
  76. package/lib/customized-link/internal-link.d.mts +7 -0
  77. package/lib/customized-link/internal-link.d.ts +7 -0
  78. package/lib/customized-link/internal-link.js +22 -0
  79. package/lib/customized-link/internal-link.js.map +1 -0
  80. package/lib/customized-link/internal-link.mjs +3 -0
  81. package/lib/customized-link/internal-link.mjs.map +1 -0
  82. package/lib/customized-link/type.d.mts +9 -0
  83. package/lib/customized-link/type.d.ts +9 -0
  84. package/lib/customized-link/type.js +4 -0
  85. package/lib/customized-link/type.js.map +1 -0
  86. package/lib/customized-link/type.mjs +3 -0
  87. package/lib/customized-link/type.mjs.map +1 -0
  88. package/lib/storybook/utils/get-enum-arg.d.mts +19 -0
  89. package/lib/storybook/utils/get-enum-arg.d.ts +19 -0
  90. package/lib/storybook/utils/get-enum-arg.js +31 -0
  91. package/lib/storybook/utils/get-enum-arg.js.map +1 -0
  92. package/lib/storybook/utils/get-enum-arg.mjs +3 -0
  93. package/lib/storybook/utils/get-enum-arg.mjs.map +1 -0
  94. package/lib/styles.css +178 -2
  95. package/lib/styles.css.map +1 -0
  96. package/lib/styles.d.mts +2 -0
  97. package/lib/styles.d.ts +2 -0
  98. package/lib/text/enum/index.d.mts +15 -0
  99. package/lib/text/enum/index.d.ts +15 -0
  100. package/lib/text/enum/index.js +6 -29
  101. package/lib/text/enum/index.js.map +1 -0
  102. package/lib/text/enum/index.mjs +3 -0
  103. package/lib/text/enum/index.mjs.map +1 -0
  104. package/lib/text/heading.d.mts +29 -0
  105. package/lib/text/heading.d.ts +29 -0
  106. package/lib/text/heading.js +20 -51
  107. package/lib/text/heading.js.map +1 -0
  108. package/lib/text/heading.mjs +4 -0
  109. package/lib/text/heading.mjs.map +1 -0
  110. package/lib/text/paragraph.d.mts +23 -0
  111. package/lib/text/paragraph.d.ts +23 -0
  112. package/lib/text/paragraph.js +17 -49
  113. package/lib/text/paragraph.js.map +1 -0
  114. package/lib/text/paragraph.mjs +4 -0
  115. package/lib/text/paragraph.mjs.map +1 -0
  116. package/lib/text/stories/heading.stories.d.mts +35 -0
  117. package/lib/text/stories/heading.stories.d.ts +35 -0
  118. package/lib/text/stories/heading.stories.js +131 -0
  119. package/lib/text/stories/heading.stories.js.map +1 -0
  120. package/lib/text/stories/heading.stories.mjs +50 -0
  121. package/lib/text/stories/heading.stories.mjs.map +1 -0
  122. package/lib/text/stories/paragraph.stories.d.mts +33 -0
  123. package/lib/text/stories/paragraph.stories.d.ts +33 -0
  124. package/lib/text/stories/paragraph.stories.js +108 -0
  125. package/lib/text/stories/paragraph.stories.js.map +1 -0
  126. package/lib/text/stories/paragraph.stories.mjs +40 -0
  127. package/lib/text/stories/paragraph.stories.mjs.map +1 -0
  128. package/lib/title-bar/components/title-tab/hook.d.mts +5 -0
  129. package/lib/title-bar/components/title-tab/hook.d.ts +5 -0
  130. package/lib/title-bar/components/title-tab/hook.js +34 -0
  131. package/lib/title-bar/components/title-tab/hook.js.map +1 -0
  132. package/lib/title-bar/components/title-tab/hook.mjs +3 -0
  133. package/lib/title-bar/components/title-tab/hook.mjs.map +1 -0
  134. package/lib/title-bar/components/title-tab/index.d.mts +11 -0
  135. package/lib/title-bar/components/title-tab/index.d.ts +11 -0
  136. package/lib/title-bar/components/title-tab/index.js +321 -0
  137. package/lib/title-bar/components/title-tab/index.js.map +1 -0
  138. package/lib/title-bar/components/title-tab/index.mjs +15 -0
  139. package/lib/title-bar/components/title-tab/index.mjs.map +1 -0
  140. package/lib/title-bar/components/title-tab/tab-item.d.mts +10 -0
  141. package/lib/title-bar/components/title-tab/tab-item.d.ts +10 -0
  142. package/lib/title-bar/components/title-tab/tab-item.js +204 -0
  143. package/lib/title-bar/components/title-tab/tab-item.js.map +1 -0
  144. package/lib/title-bar/components/title-tab/tab-item.mjs +12 -0
  145. package/lib/title-bar/components/title-tab/tab-item.mjs.map +1 -0
  146. package/lib/title-bar/components/title-tab/type.d.mts +8 -0
  147. package/lib/title-bar/components/title-tab/type.d.ts +8 -0
  148. package/lib/title-bar/components/title-tab/type.js +4 -0
  149. package/lib/title-bar/components/title-tab/type.js.map +1 -0
  150. package/lib/title-bar/components/title-tab/type.mjs +3 -0
  151. package/lib/title-bar/components/title-tab/type.mjs.map +1 -0
  152. package/lib/title-bar/components/title1.d.mts +10 -0
  153. package/lib/title-bar/components/title1.d.ts +10 -0
  154. package/lib/title-bar/components/title1.js +123 -0
  155. package/lib/title-bar/components/title1.js.map +1 -0
  156. package/lib/title-bar/components/title1.mjs +6 -0
  157. package/lib/title-bar/components/title1.mjs.map +1 -0
  158. package/lib/title-bar/components/title2.d.mts +11 -0
  159. package/lib/title-bar/components/title2.d.ts +11 -0
  160. package/lib/title-bar/components/title2.js +35 -64
  161. package/lib/title-bar/components/title2.js.map +1 -0
  162. package/lib/title-bar/components/title2.mjs +6 -0
  163. package/lib/title-bar/components/title2.mjs.map +1 -0
  164. package/lib/title-bar/index.d.mts +26 -0
  165. package/lib/title-bar/index.d.ts +26 -0
  166. package/lib/title-bar/index.js +275 -68
  167. package/lib/title-bar/index.js.map +1 -0
  168. package/lib/title-bar/index.mjs +29 -0
  169. package/lib/title-bar/index.mjs.map +1 -0
  170. package/lib/title-bar/stories/title-tab.stories.d.mts +17 -0
  171. package/lib/title-bar/stories/title-tab.stories.d.ts +17 -0
  172. package/lib/title-bar/stories/title-tab.stories.js +345 -0
  173. package/lib/title-bar/stories/title-tab.stories.js.map +1 -0
  174. package/lib/title-bar/stories/title-tab.stories.mjs +38 -0
  175. package/lib/title-bar/stories/title-tab.stories.mjs.map +1 -0
  176. package/lib/title-bar/stories/title1.stories.d.mts +18 -0
  177. package/lib/title-bar/stories/title1.stories.d.ts +18 -0
  178. package/lib/title-bar/stories/title1.stories.js +155 -0
  179. package/lib/title-bar/stories/title1.stories.js.map +1 -0
  180. package/lib/title-bar/stories/title1.stories.mjs +35 -0
  181. package/lib/title-bar/stories/title1.stories.mjs.map +1 -0
  182. package/lib/title-bar/stories/title2.stories.d.mts +18 -0
  183. package/lib/title-bar/stories/title2.stories.d.ts +18 -0
  184. package/lib/title-bar/stories/title2.stories.js +258 -0
  185. package/lib/title-bar/stories/title2.stories.js.map +1 -0
  186. package/lib/title-bar/stories/title2.stories.mjs +37 -0
  187. package/lib/title-bar/stories/title2.stories.mjs.map +1 -0
  188. package/lib/types/index.d.mts +3 -0
  189. package/lib/types/index.d.ts +3 -0
  190. package/lib/types/index.js +3 -17
  191. package/lib/types/index.js.map +1 -0
  192. package/lib/types/index.mjs +3 -0
  193. package/lib/types/index.mjs.map +1 -0
  194. package/package.json +12 -8
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ // src/storybook/utils/get-enum-arg.ts
4
+ function getRadioArgFromObject(object, defaultValue) {
5
+ return {
6
+ defaultValue,
7
+ options: Object.values(object),
8
+ control: { type: "radio" }
9
+ };
10
+ }
11
+ function getRadioArgFromEnum(enumObject, defaultValue) {
12
+ const keys = Object.keys(enumObject).filter(
13
+ (key) => Number.isNaN(Number(key))
14
+ );
15
+ const mapping = {};
16
+ keys.forEach((key) => {
17
+ mapping[key] = enumObject[key];
18
+ });
19
+ const defaultKey = keys.find((key) => enumObject[key] === defaultValue) || keys[0];
20
+ return {
21
+ defaultValue: enumObject[defaultKey],
22
+ options: keys,
23
+ mapping,
24
+ control: { type: "radio" }
25
+ };
26
+ }
27
+
28
+ exports.getRadioArgFromEnum = getRadioArgFromEnum;
29
+ exports.getRadioArgFromObject = getRadioArgFromObject;
30
+ //# sourceMappingURL=get-enum-arg.js.map
31
+ //# sourceMappingURL=get-enum-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/storybook/utils/get-enum-arg.ts"],"names":[],"mappings":";;;AAMO,SAAS,qBAAA,CACd,QACA,YAAA,EACmB;AACnB,EAAA,OAAO;AAAA,IACL,YAAA;AAAA,IACA,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA;AAAA,IAC7B,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA;AAAQ,GAC3B;AACF;AASO,SAAS,mBAAA,CACd,YACA,YAAA,EAC0B;AAE1B,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,MAAA;AAAA,IAAO,CAAC,GAAA,KAC3C,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,GAAG,CAAC;AAAA,GAC1B;AAEA,EAAA,MAAM,UAAsC,EAAC;AAC7C,EAAA,IAAA,CAAK,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACpB,IAAA,OAAA,CAAQ,GAAG,CAAA,GAAI,UAAA,CAAW,GAAc,CAAA;AAAA,EAC1C,CAAC,CAAA;AAGD,EAAA,MAAM,UAAA,GACJ,IAAA,CAAK,IAAA,CAAK,CAAC,GAAA,KAAQ,UAAA,CAAW,GAAc,CAAA,KAAM,YAAY,CAAA,IAAK,IAAA,CAAK,CAAC,CAAA;AAE3E,EAAA,OAAO;AAAA,IACL,YAAA,EAAc,WAAW,UAAqB,CAAA;AAAA,IAC9C,OAAA,EAAS,IAAA;AAAA,IACT,OAAA;AAAA,IACA,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA;AAAQ,GAC3B;AACF","file":"get-enum-arg.js","sourcesContent":["type RadioArgObject<T> = {\n defaultValue: T\n options: T[]\n control: { type: 'radio' }\n}\n\nexport function getRadioArgFromObject<T extends string | number>(\n object: Record<string, T>,\n defaultValue: T\n): RadioArgObject<T> {\n return {\n defaultValue,\n options: Object.values(object),\n control: { type: 'radio' },\n }\n}\n\ntype RadioArgEnum<E> = {\n defaultValue: E\n options: string[]\n mapping: Record<string, E>\n control: { type: 'radio' }\n}\n\nexport function getRadioArgFromEnum<E extends Record<string, string | number>>(\n enumObject: E,\n defaultValue: E[keyof E]\n): RadioArgEnum<E[keyof E]> {\n // Only keep \"real\" keys (filter numeric reverse mapping)\n const keys = Object.keys(enumObject).filter((key) =>\n Number.isNaN(Number(key))\n )\n\n const mapping: Record<string, E[keyof E]> = {}\n keys.forEach((key) => {\n mapping[key] = enumObject[key as keyof E]\n })\n\n // Find the key corresponding to the default value\n const defaultKey =\n keys.find((key) => enumObject[key as keyof E] === defaultValue) || keys[0]\n\n return {\n defaultValue: enumObject[defaultKey as keyof E],\n options: keys,\n mapping,\n control: { type: 'radio' },\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { getRadioArgFromEnum, getRadioArgFromObject } from '../../chunk-QOLETTSG.mjs';
2
+ //# sourceMappingURL=get-enum-arg.mjs.map
3
+ //# sourceMappingURL=get-enum-arg.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"get-enum-arg.mjs"}
package/lib/styles.css CHANGED
@@ -7,14 +7,23 @@
7
7
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
9
  "Courier New", monospace;
10
+ --color-gray-100: #f1f1f1;
11
+ --color-gray-200: #e2e2e2;
12
+ --color-gray-300: #cdcdcd;
13
+ --color-gray-400: #bbbbbb;
14
+ --color-gray-500: #9c9c9c;
10
15
  --color-gray-600: #808080;
11
16
  --color-gray-800: #404040;
12
17
  --spacing: 0.25rem;
13
18
  --font-weight-bold: 700;
14
19
  --default-font-family: var(--font-sans);
15
20
  --default-mono-font-family: var(--font-mono);
16
- --font-title: 'merriweather', 'source-han-serif-tc', serif;
17
- --font-default: 'Roboto Slab', 'Noto Sans TC', sans-serif, 'Tauhu Oo';
21
+ --color-brand-heavy: #c40d23;
22
+ --color-supportive-faded: #f0d5be;
23
+ --color-supportive-pastel: #e3be98;
24
+ --color-gray-white: #ffffff;
25
+ --font-title: "merriweather", "source-han-serif-tc", serif;
26
+ --font-default: "Roboto Slab", "Noto Sans TC", sans-serif, "Tauhu Oo";
18
27
  }
19
28
  }
20
29
  @layer base {
@@ -163,24 +172,68 @@
163
172
  }
164
173
  }
165
174
  @layer utilities {
175
+ .absolute {
176
+ position: absolute;
177
+ }
178
+ .relative {
179
+ position: relative;
180
+ }
166
181
  .m-0 {
167
182
  margin: calc(var(--spacing) * 0);
168
183
  }
184
+ .mt-\[0px\] {
185
+ margin-top: 0px;
186
+ }
169
187
  .mt-\[8px\] {
170
188
  margin-top: 8px;
171
189
  }
190
+ .mr-\[4px\] {
191
+ margin-right: 4px;
192
+ }
193
+ .mr-\[24px\] {
194
+ margin-right: 24px;
195
+ }
196
+ .ml-\[4px\] {
197
+ margin-left: 4px;
198
+ }
199
+ .box-border {
200
+ box-sizing: border-box;
201
+ }
172
202
  .flex {
173
203
  display: flex;
174
204
  }
205
+ .inline-block {
206
+ display: inline-block;
207
+ }
208
+ .size-\[18px\] {
209
+ width: 18px;
210
+ height: 18px;
211
+ }
212
+ .size-\[24px\] {
213
+ width: 24px;
214
+ height: 24px;
215
+ }
175
216
  .h-\[1px\] {
176
217
  height: 1px;
177
218
  }
178
219
  .w-full {
179
220
  width: 100%;
180
221
  }
222
+ .shrink-0 {
223
+ flex-shrink: 0;
224
+ }
225
+ .cursor-default {
226
+ cursor: default;
227
+ }
228
+ .cursor-pointer {
229
+ cursor: pointer;
230
+ }
181
231
  .flex-col {
182
232
  flex-direction: column;
183
233
  }
234
+ .flex-row {
235
+ flex-direction: row;
236
+ }
184
237
  .items-baseline {
185
238
  align-items: baseline;
186
239
  }
@@ -190,12 +243,44 @@
190
243
  .justify-between {
191
244
  justify-content: space-between;
192
245
  }
246
+ .justify-center {
247
+ justify-content: center;
248
+ }
193
249
  .gap-\[16px\] {
194
250
  gap: 16px;
195
251
  }
252
+ .overflow-x-scroll {
253
+ overflow-x: scroll;
254
+ }
255
+ .rounded-\[50\%\] {
256
+ border-radius: 50%;
257
+ }
258
+ .border-2 {
259
+ border-style: var(--tw-border-style);
260
+ border-width: 2px;
261
+ }
262
+ .border-solid {
263
+ --tw-border-style: solid;
264
+ border-style: solid;
265
+ }
266
+ .border-gray-400 {
267
+ border-color: var(--color-gray-400);
268
+ }
269
+ .border-t-gray-600 {
270
+ border-top-color: var(--color-gray-600);
271
+ }
272
+ .bg-gray-300 {
273
+ background-color: var(--color-gray-300);
274
+ }
196
275
  .bg-gray-800 {
197
276
  background-color: var(--color-gray-800);
198
277
  }
278
+ .\[mask-image\:linear-gradient\(to_left\,rgba\(241\,241\,241\,0\)\,\#f1f1f1_48px\)\] {
279
+ mask-image: linear-gradient(to left,rgba(241,241,241,0),#f1f1f1 48px);
280
+ }
281
+ .py-\[16px\] {
282
+ padding-block: 16px;
283
+ }
199
284
  .font-default {
200
285
  font-family: var(--font-default);
201
286
  }
@@ -241,12 +326,92 @@
241
326
  --tw-font-weight: var(--font-weight-bold);
242
327
  font-weight: var(--font-weight-bold);
243
328
  }
329
+ .text-brand-heavy {
330
+ color: var(--color-brand-heavy);
331
+ }
332
+ .text-gray-100 {
333
+ color: var(--color-gray-100);
334
+ }
335
+ .text-gray-200 {
336
+ color: var(--color-gray-200);
337
+ }
338
+ .text-gray-300 {
339
+ color: var(--color-gray-300);
340
+ }
341
+ .text-gray-400 {
342
+ color: var(--color-gray-400);
343
+ }
344
+ .text-gray-500 {
345
+ color: var(--color-gray-500);
346
+ }
244
347
  .text-gray-600 {
245
348
  color: var(--color-gray-600);
246
349
  }
247
350
  .text-gray-800 {
248
351
  color: var(--color-gray-800);
249
352
  }
353
+ .text-gray-white {
354
+ color: var(--color-gray-white);
355
+ }
356
+ .text-supportive-faded {
357
+ color: var(--color-supportive-faded);
358
+ }
359
+ .opacity-0 {
360
+ opacity: 0%;
361
+ }
362
+ .opacity-100 {
363
+ opacity: 100%;
364
+ }
365
+ .\[-webkit-mask-image\:linear-gradient\(to_left\,rgba\(241\,241\,241\,0\)\,\#f1f1f1_48px\)\] {
366
+ -webkit-mask-image: linear-gradient(to left,rgba(241,241,241,0),#f1f1f1 48px);
367
+ }
368
+ .last\:mr-0 {
369
+ &:last-child {
370
+ margin-right: calc(var(--spacing) * 0);
371
+ }
372
+ }
373
+ .hover\:text-brand-heavy {
374
+ &:hover {
375
+ @media (hover: hover) {
376
+ color: var(--color-brand-heavy);
377
+ }
378
+ }
379
+ }
380
+ .hover\:text-gray-200 {
381
+ &:hover {
382
+ @media (hover: hover) {
383
+ color: var(--color-gray-200);
384
+ }
385
+ }
386
+ }
387
+ .hover\:text-gray-400 {
388
+ &:hover {
389
+ @media (hover: hover) {
390
+ color: var(--color-gray-400);
391
+ }
392
+ }
393
+ }
394
+ .hover\:text-gray-500 {
395
+ &:hover {
396
+ @media (hover: hover) {
397
+ color: var(--color-gray-500);
398
+ }
399
+ }
400
+ }
401
+ .hover\:text-gray-white {
402
+ &:hover {
403
+ @media (hover: hover) {
404
+ color: var(--color-gray-white);
405
+ }
406
+ }
407
+ }
408
+ .hover\:text-supportive-pastel {
409
+ &:hover {
410
+ @media (hover: hover) {
411
+ color: var(--color-supportive-pastel);
412
+ }
413
+ }
414
+ }
250
415
  .tablet\:text-\[16px\] {
251
416
  @media (width >= 768px) {
252
417
  font-size: 16px;
@@ -277,12 +442,22 @@
277
442
  font-size: 36px;
278
443
  }
279
444
  }
445
+ .desktop\:mt-\[0px\] {
446
+ @media (width >= 1024px) {
447
+ margin-top: 0px;
448
+ }
449
+ }
280
450
  .desktop\:mt-\[16px\] {
281
451
  @media (width >= 1024px) {
282
452
  margin-top: 16px;
283
453
  }
284
454
  }
285
455
  }
456
+ @property --tw-border-style {
457
+ syntax: "*";
458
+ inherits: false;
459
+ initial-value: solid;
460
+ }
286
461
  @property --tw-leading {
287
462
  syntax: "*";
288
463
  inherits: false;
@@ -294,6 +469,7 @@
294
469
  @layer properties {
295
470
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
296
471
  *, ::before, ::after, ::backdrop {
472
+ --tw-border-style: solid;
297
473
  --tw-leading: initial;
298
474
  --tw-font-weight: initial;
299
475
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-100: #f1f1f1;\n --color-gray-200: #e2e2e2;\n --color-gray-300: #cdcdcd;\n --color-gray-400: #bbbbbb;\n --color-gray-500: #9c9c9c;\n --color-gray-600: #808080;\n --color-gray-800: #404040;\n --spacing: 0.25rem;\n --font-weight-bold: 700;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-brand-heavy: #c40d23;\n --color-supportive-faded: #f0d5be;\n --color-supportive-pastel: #e3be98;\n --color-gray-white: #ffffff;\n --font-title: \"merriweather\", \"source-han-serif-tc\", serif;\n --font-default: \"Roboto Slab\", \"Noto Sans TC\", sans-serif, \"Tauhu Oo\";\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .mt-\\[0px\\] {\n margin-top: 0px;\n }\n .mt-\\[8px\\] {\n margin-top: 8px;\n }\n .mr-\\[4px\\] {\n margin-right: 4px;\n }\n .mr-\\[24px\\] {\n margin-right: 24px;\n }\n .ml-\\[4px\\] {\n margin-left: 4px;\n }\n .box-border {\n box-sizing: border-box;\n }\n .flex {\n display: flex;\n }\n .inline-block {\n display: inline-block;\n }\n .size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .size-\\[24px\\] {\n width: 24px;\n height: 24px;\n }\n .h-\\[1px\\] {\n height: 1px;\n }\n .w-full {\n width: 100%;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-\\[16px\\] {\n gap: 16px;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .rounded-\\[50\\%\\] {\n border-radius: 50%;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n .border-t-gray-600 {\n border-top-color: var(--color-gray-600);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-gray-800 {\n background-color: var(--color-gray-800);\n }\n .\\[mask-image\\:linear-gradient\\(to_left\\,rgba\\(241\\,241\\,241\\,0\\)\\,\\#f1f1f1_48px\\)\\] {\n -webkit-mask-image: linear-gradient(to left,rgba(241,241,241,0),#f1f1f1 48px);\n mask-image: linear-gradient(to left,rgba(241,241,241,0),#f1f1f1 48px);\n }\n .py-\\[16px\\] {\n padding-block: 16px;\n }\n .font-default {\n font-family: var(--font-default);\n }\n .font-title {\n font-family: var(--font-title);\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[14px\\] {\n font-size: 14px;\n }\n .text-\\[16px\\] {\n font-size: 16px;\n }\n .text-\\[17px\\] {\n font-size: 17px;\n }\n .text-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[22px\\] {\n font-size: 22px;\n }\n .text-\\[24px\\] {\n font-size: 24px;\n }\n .text-\\[28px\\] {\n font-size: 28px;\n }\n .leading-\\[125\\%\\] {\n --tw-leading: 125%;\n line-height: 125%;\n }\n .leading-\\[150\\%\\] {\n --tw-leading: 150%;\n line-height: 150%;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .text-brand-heavy {\n color: var(--color-brand-heavy);\n }\n .text-gray-100 {\n color: var(--color-gray-100);\n }\n .text-gray-200 {\n color: var(--color-gray-200);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-800 {\n color: var(--color-gray-800);\n }\n .text-gray-white {\n color: var(--color-gray-white);\n }\n .text-supportive-faded {\n color: var(--color-supportive-faded);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .\\[-webkit-mask-image\\:linear-gradient\\(to_left\\,rgba\\(241\\,241\\,241\\,0\\)\\,\\#f1f1f1_48px\\)\\] {\n -webkit-mask-image: linear-gradient(to left,rgba(241,241,241,0),#f1f1f1 48px);\n }\n .last\\:mr-0 {\n &:last-child {\n margin-right: calc(var(--spacing) * 0);\n }\n }\n .hover\\:text-brand-heavy {\n &:hover {\n @media (hover: hover) {\n color: var(--color-brand-heavy);\n }\n }\n }\n .hover\\:text-gray-200 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-200);\n }\n }\n }\n .hover\\:text-gray-400 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-400);\n }\n }\n }\n .hover\\:text-gray-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-500);\n }\n }\n }\n .hover\\:text-gray-white {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-white);\n }\n }\n }\n .hover\\:text-supportive-pastel {\n &:hover {\n @media (hover: hover) {\n color: var(--color-supportive-pastel);\n }\n }\n }\n .tablet\\:text-\\[16px\\] {\n @media (width >= 768px) {\n font-size: 16px;\n }\n }\n .tablet\\:text-\\[18px\\] {\n @media (width >= 768px) {\n font-size: 18px;\n }\n }\n .tablet\\:text-\\[22px\\] {\n @media (width >= 768px) {\n font-size: 22px;\n }\n }\n .tablet\\:text-\\[28px\\] {\n @media (width >= 768px) {\n font-size: 28px;\n }\n }\n .tablet\\:text-\\[32px\\] {\n @media (width >= 768px) {\n font-size: 32px;\n }\n }\n .tablet\\:text-\\[36px\\] {\n @media (width >= 768px) {\n font-size: 36px;\n }\n }\n .desktop\\:mt-\\[0px\\] {\n @media (width >= 1024px) {\n margin-top: 0px;\n }\n }\n .desktop\\:mt-\\[16px\\] {\n @media (width >= 1024px) {\n margin-top: 16px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n }\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,15 @@
1
+ import { ValuesOf } from '../../types/index.mjs';
2
+
3
+ declare const TYPE: {
4
+ readonly default: "default";
5
+ readonly article: "article";
6
+ };
7
+ type Type = ValuesOf<typeof TYPE>;
8
+ declare const WEIGHT: {
9
+ readonly extraLight: "extra-light";
10
+ readonly normal: "normal";
11
+ readonly bold: "bold";
12
+ };
13
+ type Weight = ValuesOf<typeof WEIGHT>;
14
+
15
+ export { TYPE, type Type, WEIGHT, type Weight };
@@ -0,0 +1,15 @@
1
+ import { ValuesOf } from '../../types/index.js';
2
+
3
+ declare const TYPE: {
4
+ readonly default: "default";
5
+ readonly article: "article";
6
+ };
7
+ type Type = ValuesOf<typeof TYPE>;
8
+ declare const WEIGHT: {
9
+ readonly extraLight: "extra-light";
10
+ readonly normal: "normal";
11
+ readonly bold: "bold";
12
+ };
13
+ type Weight = ValuesOf<typeof WEIGHT>;
14
+
15
+ export { TYPE, type Type, WEIGHT, type Weight };
@@ -1,29 +1,6 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
19
2
 
20
3
  // src/text/enum/index.ts
21
- var enum_exports = {};
22
- __export(enum_exports, {
23
- TYPE: () => TYPE,
24
- WEIGHT: () => WEIGHT
25
- });
26
- module.exports = __toCommonJS(enum_exports);
27
4
  var TYPE = {
28
5
  default: "default",
29
6
  article: "article"
@@ -33,8 +10,8 @@ var WEIGHT = {
33
10
  normal: "normal",
34
11
  bold: "bold"
35
12
  };
36
- // Annotate the CommonJS export names for ESM import in node:
37
- 0 && (module.exports = {
38
- TYPE,
39
- WEIGHT
40
- });
13
+
14
+ exports.TYPE = TYPE;
15
+ exports.WEIGHT = WEIGHT;
16
+ //# sourceMappingURL=index.js.map
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/text/enum/index.ts"],"names":[],"mappings":";;;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS;AACX;AAIO,IAAM,MAAA,GAAS;AAAA,EACpB,UAAA,EAAY,aAAA;AAAA,EACZ,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM;AACR","file":"index.js","sourcesContent":["import type { ValuesOf } from '../../types'\n\nexport const TYPE = {\n default: 'default',\n article: 'article',\n} as const\n\nexport type Type = ValuesOf<typeof TYPE>\n\nexport const WEIGHT = {\n extraLight: 'extra-light',\n normal: 'normal',\n bold: 'bold',\n} as const\n\nexport type Weight = ValuesOf<typeof WEIGHT>\n"]}
@@ -0,0 +1,3 @@
1
+ export { TYPE, WEIGHT } from '../../chunk-UM7RNC2Y.mjs';
2
+ //# sourceMappingURL=index.mjs.map
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
@@ -0,0 +1,29 @@
1
+ import react__default from 'react';
2
+ import { Type, TYPE } from './enum/index.mjs';
3
+ import '../types/index.mjs';
4
+
5
+ type HeadingProps = react__default.HTMLAttributes<HTMLHeadingElement> & {
6
+ text?: string;
7
+ type?: Type;
8
+ className?: string;
9
+ };
10
+ declare const H1: react__default.FC<HeadingProps> & {
11
+ Type: typeof TYPE;
12
+ };
13
+ declare const H2: react__default.FC<HeadingProps> & {
14
+ Type: typeof TYPE;
15
+ };
16
+ declare const H3: react__default.FC<HeadingProps> & {
17
+ Type: typeof TYPE;
18
+ };
19
+ declare const H4: react__default.FC<HeadingProps> & {
20
+ Type: typeof TYPE;
21
+ };
22
+ declare const H5: react__default.FC<HeadingProps> & {
23
+ Type: typeof TYPE;
24
+ };
25
+ declare const H6: react__default.FC<HeadingProps> & {
26
+ Type: typeof TYPE;
27
+ };
28
+
29
+ export { H1, H2, H3, H4, H5, H6 };
@@ -0,0 +1,29 @@
1
+ import react__default from 'react';
2
+ import { Type, TYPE } from './enum/index.js';
3
+ import '../types/index.js';
4
+
5
+ type HeadingProps = react__default.HTMLAttributes<HTMLHeadingElement> & {
6
+ text?: string;
7
+ type?: Type;
8
+ className?: string;
9
+ };
10
+ declare const H1: react__default.FC<HeadingProps> & {
11
+ Type: typeof TYPE;
12
+ };
13
+ declare const H2: react__default.FC<HeadingProps> & {
14
+ Type: typeof TYPE;
15
+ };
16
+ declare const H3: react__default.FC<HeadingProps> & {
17
+ Type: typeof TYPE;
18
+ };
19
+ declare const H4: react__default.FC<HeadingProps> & {
20
+ Type: typeof TYPE;
21
+ };
22
+ declare const H5: react__default.FC<HeadingProps> & {
23
+ Type: typeof TYPE;
24
+ };
25
+ declare const H6: react__default.FC<HeadingProps> & {
26
+ Type: typeof TYPE;
27
+ };
28
+
29
+ export { H1, H2, H3, H4, H5, H6 };
@@ -1,45 +1,14 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var React = require('react');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
9
+ var React__default = /*#__PURE__*/_interopDefault(React);
29
10
 
30
11
  // src/text/heading.tsx
31
- var heading_exports = {};
32
- __export(heading_exports, {
33
- H1: () => H1,
34
- H2: () => H2,
35
- H3: () => H3,
36
- H4: () => H4,
37
- H5: () => H5,
38
- H6: () => H6
39
- });
40
- module.exports = __toCommonJS(heading_exports);
41
- var import_clsx = __toESM(require("clsx"));
42
- var import_react = __toESM(require("react"));
43
12
 
44
13
  // src/text/enum/index.ts
45
14
  var TYPE = {
@@ -66,10 +35,10 @@ var HeadingVariant = (variant) => {
66
35
  }) => {
67
36
  const htmlTag = variant.toLowerCase();
68
37
  const fontFamily = type === TYPE.article ? "font-title" : "font-default";
69
- return import_react.default.createElement(
38
+ return React__default.default.createElement(
70
39
  htmlTag,
71
40
  {
72
- className: (0, import_clsx.default)(
41
+ className: clsx__default.default(
73
42
  fontFamily,
74
43
  baseClass,
75
44
  variantClass[variant],
@@ -90,12 +59,12 @@ var H3 = HeadingVariant("H3");
90
59
  var H4 = HeadingVariant("H4");
91
60
  var H5 = HeadingVariant("H5");
92
61
  var H6 = HeadingVariant("H6");
93
- // Annotate the CommonJS export names for ESM import in node:
94
- 0 && (module.exports = {
95
- H1,
96
- H2,
97
- H3,
98
- H4,
99
- H5,
100
- H6
101
- });
62
+
63
+ exports.H1 = H1;
64
+ exports.H2 = H2;
65
+ exports.H3 = H3;
66
+ exports.H4 = H4;
67
+ exports.H5 = H5;
68
+ exports.H6 = H6;
69
+ //# sourceMappingURL=heading.js.map
70
+ //# sourceMappingURL=heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/text/enum/index.ts","../../src/text/heading.tsx"],"names":["React","clsx"],"mappings":";;;;;;;;;;;;;AAEO,IAAM,IAAA,GAAO;AAAA,EAClB,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAA;;;ACKA,IAAM,SAAA,GAAY,WAAA;AAElB,IAAM,YAAA,GAAe;AAAA,EACnB,EAAA,EAAI,+CAAA;AAAA,EACJ,EAAA,EAAI,+CAAA;AAAA,EACJ,EAAA,EAAI,+CAAA;AAAA,EACJ,EAAA,EAAI,+CAAA;AAAA,EACJ,EAAA,EAAI,+CAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,OAAA,KAAuC;AAC7D,EAAA,MAAM,YAA4D,CAAC;AAAA,IACjE,IAAA,GAAO,EAAA;AAAA,IACP,OAAO,IAAA,CAAK,OAAA;AAAA,IACZ,SAAA,GAAY,EAAA;AAAA,IACZ,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,MAAM,OAAA,GAAU,QAAQ,WAAA,EAAY;AACpC,IAAA,MAAM,UAAA,GAAa,IAAA,KAAS,IAAA,CAAK,OAAA,GAAU,YAAA,GAAe,cAAA;AAC1D,IAAA,OAAOA,sBAAA,CAAM,aAAA;AAAA,MACX,OAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAWC,qBAAA;AAAA,UACT,UAAA;AAAA,UACA,SAAA;AAAA,UACA,aAAa,OAAO,CAAA;AAAA,UACpB;AAAA,SACF;AAAA,QACA,GAAG;AAAA,OACL;AAAA,MACA;AAAA,KACF;AAAA,EACF,CAAA;AACA,EAAA,SAAA,CAAU,WAAA,GAAc,OAAA;AACxB,EAAA,SAAA,CAAU,IAAA,GAAO,IAAA;AACjB,EAAA,OAAO,SAAA;AACT,CAAA;AAEA,IAAM,EAAA,GAAK,eAAe,IAAI;AAC9B,IAAM,EAAA,GAAK,eAAe,IAAI;AAC9B,IAAM,EAAA,GAAK,eAAe,IAAI;AAC9B,IAAM,EAAA,GAAK,eAAe,IAAI;AAC9B,IAAM,EAAA,GAAK,eAAe,IAAI;AAC9B,IAAM,EAAA,GAAK,eAAe,IAAI","file":"heading.js","sourcesContent":["import type { ValuesOf } from '../../types'\n\nexport const TYPE = {\n default: 'default',\n article: 'article',\n} as const\n\nexport type Type = ValuesOf<typeof TYPE>\n\nexport const WEIGHT = {\n extraLight: 'extra-light',\n normal: 'normal',\n bold: 'bold',\n} as const\n\nexport type Weight = ValuesOf<typeof WEIGHT>\n","import clsx from 'clsx'\nimport React from 'react'\nimport { TYPE, type Type } from './enum'\n\ntype HeadingProps = React.HTMLAttributes<HTMLHeadingElement> & {\n text?: string\n type?: Type\n className?: string\n}\n\nconst baseClass = 'font-bold'\n\nconst variantClass = {\n H1: 'text-[28px] leading-[125%] tablet:text-[36px]',\n H2: 'text-[24px] leading-[125%] tablet:text-[32px]',\n H3: 'text-[22px] leading-[150%] tablet:text-[28px]',\n H4: 'text-[18px] leading-[150%] tablet:text-[22px]',\n H5: 'text-[17px] leading-[150%] tablet:text-[18px]',\n H6: 'text-[16px] leading-[150%] tablet:text-[16px]',\n}\n\nconst HeadingVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<HeadingProps> & { Type: typeof TYPE } = ({\n text = '',\n type = TYPE.default,\n className = '',\n ...props\n }) => {\n const htmlTag = variant.toLowerCase() // 產生 'h1', 'h2', ...\n const fontFamily = type === TYPE.article ? 'font-title' : 'font-default'\n return React.createElement(\n htmlTag,\n {\n className: clsx(\n fontFamily,\n baseClass,\n variantClass[variant],\n className\n ),\n ...props,\n },\n text\n )\n }\n Component.displayName = variant\n Component.Type = TYPE\n return Component\n}\n\nconst H1 = HeadingVariant('H1')\nconst H2 = HeadingVariant('H2')\nconst H3 = HeadingVariant('H3')\nconst H4 = HeadingVariant('H4')\nconst H5 = HeadingVariant('H5')\nconst H6 = HeadingVariant('H6')\n\nexport { H1, H2, H3, H4, H5, H6 }\n"]}
@@ -0,0 +1,4 @@
1
+ export { H1, H2, H3, H4, H5, H6 } from '../chunk-JHLT5GDV.mjs';
2
+ import '../chunk-UM7RNC2Y.mjs';
3
+ //# sourceMappingURL=heading.mjs.map
4
+ //# sourceMappingURL=heading.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"heading.mjs"}
@@ -0,0 +1,23 @@
1
+ import react__default from 'react';
2
+ import { Weight, WEIGHT } from './enum/index.mjs';
3
+ import '../types/index.mjs';
4
+
5
+ type ParagraphProps = react__default.HTMLAttributes<HTMLParagraphElement> & {
6
+ text?: string;
7
+ weight?: Weight;
8
+ className?: string;
9
+ };
10
+ declare const P1: react__default.FC<ParagraphProps> & {
11
+ Weight: typeof WEIGHT;
12
+ };
13
+ declare const P2: react__default.FC<ParagraphProps> & {
14
+ Weight: typeof WEIGHT;
15
+ };
16
+ declare const P3: react__default.FC<ParagraphProps> & {
17
+ Weight: typeof WEIGHT;
18
+ };
19
+ declare const P4: react__default.FC<ParagraphProps> & {
20
+ Weight: typeof WEIGHT;
21
+ };
22
+
23
+ export { P1, P2, P3, P4 };
@@ -0,0 +1,23 @@
1
+ import react__default from 'react';
2
+ import { Weight, WEIGHT } from './enum/index.js';
3
+ import '../types/index.js';
4
+
5
+ type ParagraphProps = react__default.HTMLAttributes<HTMLParagraphElement> & {
6
+ text?: string;
7
+ weight?: Weight;
8
+ className?: string;
9
+ };
10
+ declare const P1: react__default.FC<ParagraphProps> & {
11
+ Weight: typeof WEIGHT;
12
+ };
13
+ declare const P2: react__default.FC<ParagraphProps> & {
14
+ Weight: typeof WEIGHT;
15
+ };
16
+ declare const P3: react__default.FC<ParagraphProps> & {
17
+ Weight: typeof WEIGHT;
18
+ };
19
+ declare const P4: react__default.FC<ParagraphProps> & {
20
+ Weight: typeof WEIGHT;
21
+ };
22
+
23
+ export { P1, P2, P3, P4 };