@twreporter/react-typescript-components 0.1.0-beta.5 → 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 (166) 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-3B7LTZRJ.mjs → chunk-6DXA3EX7.mjs} +8 -6
  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-JB4TYHDE.mjs +11 -0
  43. package/lib/chunk-JB4TYHDE.mjs.map +1 -0
  44. package/lib/chunk-JFT6JILC.mjs +12 -0
  45. package/lib/chunk-JFT6JILC.mjs.map +1 -0
  46. package/lib/chunk-QE5LVT7A.mjs +90 -0
  47. package/lib/chunk-QE5LVT7A.mjs.map +1 -0
  48. package/lib/chunk-QOLETTSG.mjs +28 -0
  49. package/lib/chunk-QOLETTSG.mjs.map +1 -0
  50. package/lib/chunk-R4F4LGAY.mjs +56 -0
  51. package/lib/chunk-R4F4LGAY.mjs.map +1 -0
  52. package/lib/chunk-URJXIWFX.mjs +16 -0
  53. package/lib/chunk-URJXIWFX.mjs.map +1 -0
  54. package/lib/chunk-X2UWIBNH.mjs +16 -0
  55. package/lib/chunk-X2UWIBNH.mjs.map +1 -0
  56. package/lib/chunk-XO7SDD7W.mjs +17 -0
  57. package/lib/chunk-XO7SDD7W.mjs.map +1 -0
  58. package/lib/customized-link/external-link.d.mts +7 -0
  59. package/lib/customized-link/external-link.d.ts +7 -0
  60. package/lib/customized-link/external-link.js +18 -0
  61. package/lib/customized-link/external-link.js.map +1 -0
  62. package/lib/customized-link/external-link.mjs +3 -0
  63. package/lib/customized-link/external-link.mjs.map +1 -0
  64. package/lib/customized-link/index.d.mts +11 -0
  65. package/lib/customized-link/index.d.ts +11 -0
  66. package/lib/customized-link/index.js +42 -0
  67. package/lib/customized-link/index.js.map +1 -0
  68. package/lib/customized-link/index.mjs +5 -0
  69. package/lib/customized-link/index.mjs.map +1 -0
  70. package/lib/customized-link/internal-link.d.mts +7 -0
  71. package/lib/customized-link/internal-link.d.ts +7 -0
  72. package/lib/customized-link/internal-link.js +22 -0
  73. package/lib/customized-link/internal-link.js.map +1 -0
  74. package/lib/customized-link/internal-link.mjs +3 -0
  75. package/lib/customized-link/internal-link.mjs.map +1 -0
  76. package/lib/customized-link/type.d.mts +9 -0
  77. package/lib/customized-link/type.d.ts +9 -0
  78. package/lib/customized-link/type.js +4 -0
  79. package/lib/customized-link/type.js.map +1 -0
  80. package/lib/customized-link/type.mjs +3 -0
  81. package/lib/customized-link/type.mjs.map +1 -0
  82. package/lib/storybook/utils/get-enum-arg.d.mts +19 -0
  83. package/lib/storybook/utils/get-enum-arg.d.ts +19 -0
  84. package/lib/storybook/utils/get-enum-arg.js +31 -0
  85. package/lib/storybook/utils/get-enum-arg.js.map +1 -0
  86. package/lib/storybook/utils/get-enum-arg.mjs +3 -0
  87. package/lib/storybook/utils/get-enum-arg.mjs.map +1 -0
  88. package/lib/styles.css +178 -2
  89. package/lib/styles.css.map +1 -1
  90. package/lib/text/heading.d.mts +8 -8
  91. package/lib/text/heading.d.ts +8 -8
  92. package/lib/text/paragraph.d.mts +6 -6
  93. package/lib/text/paragraph.d.ts +6 -6
  94. package/lib/text/stories/heading.stories.d.mts +35 -0
  95. package/lib/text/stories/heading.stories.d.ts +35 -0
  96. package/lib/text/stories/heading.stories.js +131 -0
  97. package/lib/text/stories/heading.stories.js.map +1 -0
  98. package/lib/text/stories/heading.stories.mjs +50 -0
  99. package/lib/text/stories/heading.stories.mjs.map +1 -0
  100. package/lib/text/stories/paragraph.stories.d.mts +33 -0
  101. package/lib/text/stories/paragraph.stories.d.ts +33 -0
  102. package/lib/text/stories/paragraph.stories.js +108 -0
  103. package/lib/text/stories/paragraph.stories.js.map +1 -0
  104. package/lib/text/stories/paragraph.stories.mjs +40 -0
  105. package/lib/text/stories/paragraph.stories.mjs.map +1 -0
  106. package/lib/title-bar/components/title-tab/hook.d.mts +5 -0
  107. package/lib/title-bar/components/title-tab/hook.d.ts +5 -0
  108. package/lib/title-bar/components/title-tab/hook.js +34 -0
  109. package/lib/title-bar/components/title-tab/hook.js.map +1 -0
  110. package/lib/title-bar/components/title-tab/hook.mjs +3 -0
  111. package/lib/title-bar/components/title-tab/hook.mjs.map +1 -0
  112. package/lib/title-bar/components/title-tab/index.d.mts +11 -0
  113. package/lib/title-bar/components/title-tab/index.d.ts +11 -0
  114. package/lib/title-bar/components/title-tab/index.js +321 -0
  115. package/lib/title-bar/components/title-tab/index.js.map +1 -0
  116. package/lib/title-bar/components/title-tab/index.mjs +15 -0
  117. package/lib/title-bar/components/title-tab/index.mjs.map +1 -0
  118. package/lib/title-bar/components/title-tab/tab-item.d.mts +10 -0
  119. package/lib/title-bar/components/title-tab/tab-item.d.ts +10 -0
  120. package/lib/title-bar/components/title-tab/tab-item.js +204 -0
  121. package/lib/title-bar/components/title-tab/tab-item.js.map +1 -0
  122. package/lib/title-bar/components/title-tab/tab-item.mjs +12 -0
  123. package/lib/title-bar/components/title-tab/tab-item.mjs.map +1 -0
  124. package/lib/title-bar/components/title-tab/type.d.mts +8 -0
  125. package/lib/title-bar/components/title-tab/type.d.ts +8 -0
  126. package/lib/title-bar/components/title-tab/type.js +4 -0
  127. package/lib/title-bar/components/title-tab/type.js.map +1 -0
  128. package/lib/title-bar/components/title-tab/type.mjs +3 -0
  129. package/lib/title-bar/components/title-tab/type.mjs.map +1 -0
  130. package/lib/title-bar/components/title1.d.mts +10 -0
  131. package/lib/title-bar/components/title1.d.ts +10 -0
  132. package/lib/title-bar/components/title1.js +123 -0
  133. package/lib/title-bar/components/title1.js.map +1 -0
  134. package/lib/title-bar/components/title1.mjs +6 -0
  135. package/lib/title-bar/components/title1.mjs.map +1 -0
  136. package/lib/title-bar/components/title2.d.mts +3 -3
  137. package/lib/title-bar/components/title2.d.ts +3 -3
  138. package/lib/title-bar/components/title2.js +6 -4
  139. package/lib/title-bar/components/title2.js.map +1 -1
  140. package/lib/title-bar/components/title2.mjs +1 -1
  141. package/lib/title-bar/index.d.mts +15 -2
  142. package/lib/title-bar/index.d.ts +15 -2
  143. package/lib/title-bar/index.js +250 -8
  144. package/lib/title-bar/index.js.map +1 -1
  145. package/lib/title-bar/index.mjs +18 -3
  146. package/lib/title-bar/index.mjs.map +1 -1
  147. package/lib/title-bar/stories/title-tab.stories.d.mts +17 -0
  148. package/lib/title-bar/stories/title-tab.stories.d.ts +17 -0
  149. package/lib/title-bar/stories/title-tab.stories.js +345 -0
  150. package/lib/title-bar/stories/title-tab.stories.js.map +1 -0
  151. package/lib/title-bar/stories/title-tab.stories.mjs +38 -0
  152. package/lib/title-bar/stories/title-tab.stories.mjs.map +1 -0
  153. package/lib/title-bar/stories/title1.stories.d.mts +18 -0
  154. package/lib/title-bar/stories/title1.stories.d.ts +18 -0
  155. package/lib/title-bar/stories/title1.stories.js +155 -0
  156. package/lib/title-bar/stories/title1.stories.js.map +1 -0
  157. package/lib/title-bar/stories/title1.stories.mjs +35 -0
  158. package/lib/title-bar/stories/title1.stories.mjs.map +1 -0
  159. package/lib/title-bar/stories/title2.stories.d.mts +18 -0
  160. package/lib/title-bar/stories/title2.stories.d.ts +18 -0
  161. package/lib/title-bar/stories/title2.stories.js +258 -0
  162. package/lib/title-bar/stories/title2.stories.js.map +1 -0
  163. package/lib/title-bar/stories/title2.stories.mjs +37 -0
  164. package/lib/title-bar/stories/title2.stories.mjs.map +1 -0
  165. package/package.json +12 -5
  166. package/lib/chunk-3B7LTZRJ.mjs.map +0 -1
@@ -0,0 +1,50 @@
1
+ import { H1, H2, H3, H4, H5, H6 } from '../../chunk-JHLT5GDV.mjs';
2
+ import { getRadioArgFromEnum } from '../../chunk-QOLETTSG.mjs';
3
+ import '../../chunk-UM7RNC2Y.mjs';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var meta = {
7
+ title: "Text/Headline",
8
+ component: H1,
9
+ argTypes: {
10
+ type: getRadioArgFromEnum(H1.Type, H1.Type.default)
11
+ }
12
+ };
13
+ var heading_stories_default = meta;
14
+ var defaultArg = {
15
+ text: "\u6A19\u984C\u300C\u6A19\u984C\u300D\uFF1A\u6A19\u984C\uFF0C\u300A\u6A19\u984C\u300B\u6A19\u984CEnglish\u6A19\u984C123\u6A19\u984C\uFF1F",
16
+ type: H1.Type.default
17
+ };
18
+ var h1 = {
19
+ args: defaultArg,
20
+ parameters: { controls: { exclude: ["className"] } }
21
+ };
22
+ var h2 = {
23
+ render: (args) => /* @__PURE__ */ jsx(H2, { ...args }),
24
+ args: defaultArg,
25
+ parameters: { controls: { exclude: ["className"] } }
26
+ };
27
+ var h3 = {
28
+ render: (args) => /* @__PURE__ */ jsx(H3, { ...args }),
29
+ args: defaultArg,
30
+ parameters: { controls: { exclude: ["className"] } }
31
+ };
32
+ var h4 = {
33
+ render: (args) => /* @__PURE__ */ jsx(H4, { ...args }),
34
+ args: defaultArg,
35
+ parameters: { controls: { exclude: ["className"] } }
36
+ };
37
+ var h5 = {
38
+ render: (args) => /* @__PURE__ */ jsx(H5, { ...args }),
39
+ args: defaultArg,
40
+ parameters: { controls: { exclude: ["className"] } }
41
+ };
42
+ var h6 = {
43
+ render: (args) => /* @__PURE__ */ jsx(H6, { ...args }),
44
+ args: defaultArg,
45
+ parameters: { controls: { exclude: ["className"] } }
46
+ };
47
+
48
+ export { heading_stories_default as default, h1, h2, h3, h4, h5, h6 };
49
+ //# sourceMappingURL=heading.stories.mjs.map
50
+ //# sourceMappingURL=heading.stories.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/text/stories/heading.stories.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,IAAA,GAAO;AAAA,EACX,KAAA,EAAO,eAAA;AAAA,EACP,SAAA,EAAW,EAAA;AAAA,EACX,QAAA,EAAU;AAAA,IACR,MAAM,mBAAA,CAAoB,EAAA,CAAG,IAAA,EAAM,EAAA,CAAG,KAAK,OAAO;AAAA;AAEtD,CAAA;AAEA,IAAO,uBAAA,GAAQ;AAGf,IAAM,UAAA,GAAa;AAAA,EACjB,IAAA,EAAM,0IAAA;AAAA,EACN,IAAA,EAAM,GAAG,IAAA,CAAK;AAChB,CAAA;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD","file":"heading.stories.mjs","sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite'\n// utils\nimport { getRadioArgFromEnum } from '../../storybook/utils/get-enum-arg'\n// components\nimport { H1, H2, H3, H4, H5, H6 } from '../heading'\n\nconst meta = {\n title: 'Text/Headline',\n component: H1,\n argTypes: {\n type: getRadioArgFromEnum(H1.Type, H1.Type.default),\n },\n} satisfies Meta<typeof H1>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst defaultArg = {\n text: '標題「標題」:標題,《標題》標題English標題123標題?',\n type: H1.Type.default,\n}\n\nexport const h1: Story = {\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const h2: Story = {\n render: (args) => <H2 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const h3: Story = {\n render: (args) => <H3 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const h4: Story = {\n render: (args) => <H4 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const h5: Story = {\n render: (args) => <H5 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const h6: Story = {\n render: (args) => <H6 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { Weight, WEIGHT } from '../enum/index.mjs';
2
+ import * as react from 'react';
3
+ import { StoryObj } from '@storybook/react-vite';
4
+ import '../../types/index.mjs';
5
+
6
+ declare const meta: {
7
+ title: string;
8
+ component: react.FC<react.HTMLAttributes<HTMLParagraphElement> & {
9
+ text?: string;
10
+ weight?: Weight;
11
+ className?: string;
12
+ }> & {
13
+ Weight: typeof WEIGHT;
14
+ };
15
+ argTypes: {
16
+ weight: {
17
+ defaultValue: "bold" | "extra-light" | "normal";
18
+ options: string[];
19
+ mapping: Record<string, "bold" | "extra-light" | "normal">;
20
+ control: {
21
+ type: "radio";
22
+ };
23
+ };
24
+ };
25
+ };
26
+
27
+ type Story = StoryObj<typeof meta>;
28
+ declare const p1: Story;
29
+ declare const p2: Story;
30
+ declare const p3: Story;
31
+ declare const p4: Story;
32
+
33
+ export { meta as default, p1, p2, p3, p4 };
@@ -0,0 +1,33 @@
1
+ import { Weight, WEIGHT } from '../enum/index.js';
2
+ import * as react from 'react';
3
+ import { StoryObj } from '@storybook/react-vite';
4
+ import '../../types/index.js';
5
+
6
+ declare const meta: {
7
+ title: string;
8
+ component: react.FC<react.HTMLAttributes<HTMLParagraphElement> & {
9
+ text?: string;
10
+ weight?: Weight;
11
+ className?: string;
12
+ }> & {
13
+ Weight: typeof WEIGHT;
14
+ };
15
+ argTypes: {
16
+ weight: {
17
+ defaultValue: "bold" | "extra-light" | "normal";
18
+ options: string[];
19
+ mapping: Record<string, "bold" | "extra-light" | "normal">;
20
+ control: {
21
+ type: "radio";
22
+ };
23
+ };
24
+ };
25
+ };
26
+
27
+ type Story = StoryObj<typeof meta>;
28
+ declare const p1: Story;
29
+ declare const p2: Story;
30
+ declare const p3: Story;
31
+ declare const p4: Story;
32
+
33
+ export { meta as default, p1, p2, p3, p4 };
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var clsx = require('clsx');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
11
+
12
+ // src/storybook/utils/get-enum-arg.ts
13
+ function getRadioArgFromEnum(enumObject, defaultValue) {
14
+ const keys = Object.keys(enumObject).filter(
15
+ (key) => Number.isNaN(Number(key))
16
+ );
17
+ const mapping = {};
18
+ keys.forEach((key) => {
19
+ mapping[key] = enumObject[key];
20
+ });
21
+ const defaultKey = keys.find((key) => enumObject[key] === defaultValue) || keys[0];
22
+ return {
23
+ defaultValue: enumObject[defaultKey],
24
+ options: keys,
25
+ mapping,
26
+ control: { type: "radio" }
27
+ };
28
+ }
29
+
30
+ // src/text/enum/index.ts
31
+ var WEIGHT = {
32
+ extraLight: "extra-light",
33
+ normal: "normal",
34
+ bold: "bold"
35
+ };
36
+ var baseClass = "font-default leading-[150%] flex items-center m-0";
37
+ var variantClass = {
38
+ P1: "text-[16px]",
39
+ P2: "text-[14px]",
40
+ P3: "text-[12px]",
41
+ P4: "text-[10px]"
42
+ };
43
+ var ParagraphVariant = (variant) => {
44
+ const Component = ({
45
+ text = "",
46
+ weight = WEIGHT.normal,
47
+ className = "",
48
+ ...props
49
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
50
+ "p",
51
+ {
52
+ className: clsx__default.default(
53
+ baseClass,
54
+ variantClass[variant],
55
+ `font-${weight}`,
56
+ className
57
+ ),
58
+ ...props,
59
+ children: text
60
+ }
61
+ );
62
+ Component.displayName = variant;
63
+ Component.Weight = WEIGHT;
64
+ return Component;
65
+ };
66
+ var P1 = ParagraphVariant("P1");
67
+ var P2 = ParagraphVariant("P2");
68
+ var P3 = ParagraphVariant("P3");
69
+ var P4 = ParagraphVariant("P4");
70
+ var meta = {
71
+ title: "Text/Paragraph",
72
+ component: P1,
73
+ argTypes: {
74
+ weight: getRadioArgFromEnum(P1.Weight, P1.Weight.normal)
75
+ }
76
+ };
77
+ var paragraph_stories_default = meta;
78
+ var defaultArg = {
79
+ text: "\u5167\u6587\u300C\u5167\u6587\u300D\uFF1A\u5167\u6587\uFF0C\u300A\u5167\u6587\u300B\u5167\u6587English\u5167\u6587123\u5167\u6587\uFF1F",
80
+ weight: P1.Weight.normal
81
+ };
82
+ var p1 = {
83
+ args: defaultArg,
84
+ parameters: { controls: { exclude: ["className"] } }
85
+ };
86
+ var p2 = {
87
+ render: (args) => /* @__PURE__ */ jsxRuntime.jsx(P2, { ...args }),
88
+ args: defaultArg,
89
+ parameters: { controls: { exclude: ["className"] } }
90
+ };
91
+ var p3 = {
92
+ render: (args) => /* @__PURE__ */ jsxRuntime.jsx(P3, { ...args }),
93
+ args: defaultArg,
94
+ parameters: { controls: { exclude: ["className"] } }
95
+ };
96
+ var p4 = {
97
+ render: (args) => /* @__PURE__ */ jsxRuntime.jsx(P4, { ...args }),
98
+ args: defaultArg,
99
+ parameters: { controls: { exclude: ["className"] } }
100
+ };
101
+
102
+ exports.default = paragraph_stories_default;
103
+ exports.p1 = p1;
104
+ exports.p2 = p2;
105
+ exports.p3 = p3;
106
+ exports.p4 = p4;
107
+ //# sourceMappingURL=paragraph.stories.js.map
108
+ //# sourceMappingURL=paragraph.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/storybook/utils/get-enum-arg.ts","../../../src/text/enum/index.ts","../../../src/text/paragraph.tsx","../../../src/text/stories/paragraph.stories.tsx"],"names":["jsx","clsx"],"mappings":"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","file":"paragraph.stories.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","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 type React from 'react'\nimport { WEIGHT, type Weight } from './enum'\n\ntype ParagraphProps = React.HTMLAttributes<HTMLParagraphElement> & {\n text?: string\n weight?: Weight\n className?: string\n}\n\nconst baseClass = 'font-default leading-[150%] flex items-center m-0'\n\nconst variantClass = {\n P1: 'text-[16px]',\n P2: 'text-[14px]',\n P3: 'text-[12px]',\n P4: 'text-[10px]',\n}\n\nconst ParagraphVariant = (variant: keyof typeof variantClass) => {\n const Component: React.FC<ParagraphProps> & { Weight: typeof WEIGHT } = ({\n text = '',\n weight = WEIGHT.normal,\n className = '',\n ...props\n }) => (\n <p\n className={clsx(\n baseClass,\n variantClass[variant],\n `font-${weight}`,\n className\n )}\n {...props}\n >\n {text}\n </p>\n )\n Component.displayName = variant\n Component.Weight = WEIGHT\n return Component\n}\n\nconst P1 = ParagraphVariant('P1')\nconst P2 = ParagraphVariant('P2')\nconst P3 = ParagraphVariant('P3')\nconst P4 = ParagraphVariant('P4')\n\nexport { P1, P2, P3, P4 }\n","import type { Meta, StoryObj } from '@storybook/react-vite'\n// utils\nimport { getRadioArgFromEnum } from '../../storybook/utils/get-enum-arg'\n// components\nimport { P1, P2, P3, P4 } from '../paragraph'\n\nconst meta = {\n title: 'Text/Paragraph',\n component: P1,\n argTypes: {\n weight: getRadioArgFromEnum(P1.Weight, P1.Weight.normal),\n },\n} satisfies Meta<typeof P1>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst defaultArg = {\n text: '內文「內文」:內文,《內文》內文English內文123內文?',\n weight: P1.Weight.normal,\n}\n\nexport const p1: Story = {\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p2: Story = {\n render: (args) => <P2 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p3: Story = {\n render: (args) => <P3 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p4: Story = {\n render: (args) => <P4 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n"]}
@@ -0,0 +1,40 @@
1
+ import { getRadioArgFromEnum } from '../../chunk-QOLETTSG.mjs';
2
+ import { P1, P2, P3, P4 } from '../../chunk-HQG6Q2EY.mjs';
3
+ import '../../chunk-UM7RNC2Y.mjs';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var meta = {
7
+ title: "Text/Paragraph",
8
+ component: P1,
9
+ argTypes: {
10
+ weight: getRadioArgFromEnum(P1.Weight, P1.Weight.normal)
11
+ }
12
+ };
13
+ var paragraph_stories_default = meta;
14
+ var defaultArg = {
15
+ text: "\u5167\u6587\u300C\u5167\u6587\u300D\uFF1A\u5167\u6587\uFF0C\u300A\u5167\u6587\u300B\u5167\u6587English\u5167\u6587123\u5167\u6587\uFF1F",
16
+ weight: P1.Weight.normal
17
+ };
18
+ var p1 = {
19
+ args: defaultArg,
20
+ parameters: { controls: { exclude: ["className"] } }
21
+ };
22
+ var p2 = {
23
+ render: (args) => /* @__PURE__ */ jsx(P2, { ...args }),
24
+ args: defaultArg,
25
+ parameters: { controls: { exclude: ["className"] } }
26
+ };
27
+ var p3 = {
28
+ render: (args) => /* @__PURE__ */ jsx(P3, { ...args }),
29
+ args: defaultArg,
30
+ parameters: { controls: { exclude: ["className"] } }
31
+ };
32
+ var p4 = {
33
+ render: (args) => /* @__PURE__ */ jsx(P4, { ...args }),
34
+ args: defaultArg,
35
+ parameters: { controls: { exclude: ["className"] } }
36
+ };
37
+
38
+ export { paragraph_stories_default as default, p1, p2, p3, p4 };
39
+ //# sourceMappingURL=paragraph.stories.mjs.map
40
+ //# sourceMappingURL=paragraph.stories.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/text/stories/paragraph.stories.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,IAAA,GAAO;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA,EACP,SAAA,EAAW,EAAA;AAAA,EACX,QAAA,EAAU;AAAA,IACR,QAAQ,mBAAA,CAAoB,EAAA,CAAG,MAAA,EAAQ,EAAA,CAAG,OAAO,MAAM;AAAA;AAE3D,CAAA;AAEA,IAAO,yBAAA,GAAQ;AAGf,IAAM,UAAA,GAAa;AAAA,EACjB,IAAA,EAAM,0IAAA;AAAA,EACN,MAAA,EAAQ,GAAG,MAAA,CAAO;AACpB,CAAA;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD;AAEO,IAAM,EAAA,GAAY;AAAA,EACvB,QAAQ,CAAC,IAAA,qBAAS,GAAA,CAAC,EAAA,EAAA,EAAI,GAAG,IAAA,EAAM,CAAA;AAAA,EAChC,IAAA,EAAM,UAAA;AAAA,EACN,UAAA,EAAY,EAAE,QAAA,EAAU,EAAE,SAAS,CAAC,WAAW,GAAE;AACnD","file":"paragraph.stories.mjs","sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite'\n// utils\nimport { getRadioArgFromEnum } from '../../storybook/utils/get-enum-arg'\n// components\nimport { P1, P2, P3, P4 } from '../paragraph'\n\nconst meta = {\n title: 'Text/Paragraph',\n component: P1,\n argTypes: {\n weight: getRadioArgFromEnum(P1.Weight, P1.Weight.normal),\n },\n} satisfies Meta<typeof P1>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst defaultArg = {\n text: '內文「內文」:內文,《內文》內文English內文123內文?',\n weight: P1.Weight.normal,\n}\n\nexport const p1: Story = {\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p2: Story = {\n render: (args) => <P2 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p3: Story = {\n render: (args) => <P3 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n\nexport const p4: Story = {\n render: (args) => <P4 {...args} />,\n args: defaultArg,\n parameters: { controls: { exclude: ['className'] } },\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import * as react from 'react';
2
+
3
+ declare const useScrollStatus: (setShowNext: (show: boolean) => void) => react.RefObject<HTMLDivElement | null>;
4
+
5
+ export { useScrollStatus };
@@ -0,0 +1,5 @@
1
+ import * as react from 'react';
2
+
3
+ declare const useScrollStatus: (setShowNext: (show: boolean) => void) => react.RefObject<HTMLDivElement | null>;
4
+
5
+ export { useScrollStatus };
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ // src/title-bar/components/title-tab/hook.ts
6
+ var useScrollStatus = (setShowNext) => {
7
+ const ref = react.useRef(null);
8
+ react.useEffect(() => {
9
+ if (!ref.current) return;
10
+ if (ref.current.scrollWidth > ref.current.clientWidth) {
11
+ setShowNext(true);
12
+ }
13
+ }, [setShowNext]);
14
+ react.useEffect(() => {
15
+ if (!ref.current) return;
16
+ const refEle = ref.current;
17
+ const handleScroll = () => {
18
+ if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {
19
+ setShowNext(false);
20
+ } else {
21
+ setShowNext(true);
22
+ }
23
+ };
24
+ refEle.addEventListener("scroll", handleScroll);
25
+ return () => {
26
+ refEle.removeEventListener("scroll", handleScroll);
27
+ };
28
+ }, [setShowNext]);
29
+ return ref;
30
+ };
31
+
32
+ exports.useScrollStatus = useScrollStatus;
33
+ //# sourceMappingURL=hook.js.map
34
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/title-bar/components/title-tab/hook.ts"],"names":["useRef","useEffect"],"mappings":";;;;;AAEO,IAAM,eAAA,GAAkB,CAAC,WAAA,KAAyC;AACvE,EAAA,MAAM,GAAA,GAAMA,aAAuB,IAAI,CAAA;AAEvC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAElB,IAAA,IAAI,GAAA,CAAI,OAAA,CAAQ,WAAA,GAAc,GAAA,CAAI,QAAQ,WAAA,EAAa;AAErD,MAAA,WAAA,CAAY,IAAI,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAElB,IAAA,MAAM,SAAS,GAAA,CAAI,OAAA;AACnB,IAAA,MAAM,eAA8B,MAAM;AACxC,MAAA,IAAI,MAAA,CAAO,WAAA,GAAc,MAAA,CAAO,UAAA,IAAc,OAAO,WAAA,EAAa;AAEhE,QAAA,WAAA,CAAY,KAAK,CAAA;AAAA,MACnB,CAAA,MAAO;AACL,QAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAE9C,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,IACnD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,OAAO,GAAA;AACT","file":"hook.js","sourcesContent":["import { useRef, useEffect } from 'react'\n\nexport const useScrollStatus = (setShowNext: (show: boolean) => void) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!ref.current) return\n\n if (ref.current.scrollWidth > ref.current.clientWidth) {\n // scrollbar occur\n setShowNext(true)\n }\n }, [setShowNext])\n\n useEffect(() => {\n if (!ref.current) return\n\n const refEle = ref.current\n const handleScroll: EventListener = () => {\n if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {\n // scroll to end\n setShowNext(false)\n } else {\n setShowNext(true)\n }\n }\n\n refEle.addEventListener('scroll', handleScroll)\n\n return () => {\n refEle.removeEventListener('scroll', handleScroll)\n }\n }, [setShowNext])\n\n return ref\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { useScrollStatus } from '../../../chunk-GQWO45DN.mjs';
2
+ //# sourceMappingURL=hook.mjs.map
3
+ //# sourceMappingURL=hook.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"hook.mjs"}
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ import { Tab } from './type.mjs';
3
+
4
+ type TitleTabProps = {
5
+ title: string;
6
+ tabs: Tab[];
7
+ activeTabIndex?: number;
8
+ };
9
+ declare const TitleTab: FC<TitleTabProps>;
10
+
11
+ export { TitleTab as default };
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ import { Tab } from './type.js';
3
+
4
+ type TitleTabProps = {
5
+ title: string;
6
+ tabs: Tab[];
7
+ activeTabIndex?: number;
8
+ };
9
+ declare const TitleTab: FC<TitleTabProps>;
10
+
11
+ export { TitleTab as default };