smarthr-ui 87.0.0 → 87.1.1

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 (31) hide show
  1. package/README.md +5 -3
  2. package/lib/_virtual/index.cjs +4 -4
  3. package/lib/_virtual/index2.cjs +4 -4
  4. package/lib/_virtual/index3.cjs +4 -4
  5. package/lib/components/Combobox/MultiCombobox/MultiCombobox.cjs +1 -1
  6. package/lib/components/Combobox/SingleCombobox/SingleCombobox.cjs +1 -1
  7. package/lib/components/Combobox/helper.cjs +1 -1
  8. package/lib/components/Combobox/useOptions.cjs +1 -1
  9. package/lib/components/Disclosure/DisclosureTrigger.cjs +27 -14
  10. package/lib/components/Disclosure/DisclosureTrigger.cjs.map +1 -1
  11. package/lib/components/Disclosure/DisclosureTrigger.d.ts +2 -2
  12. package/lib/components/Disclosure/DisclosureTrigger.js +28 -15
  13. package/lib/components/Disclosure/DisclosureTrigger.js.map +1 -1
  14. package/lib/components/Dropdown/DropdownMenuButton/DropdownMenuButton.cjs +1 -1
  15. package/lib/components/Dropdown/FilterDropdown/FilterDropdown.cjs +1 -1
  16. package/lib/components/FormControl/FormControl.cjs +1 -1
  17. package/lib/components/Heading/PageHeading/PageHeading.cjs +1 -1
  18. package/lib/components/Text/Text.cjs +14 -2
  19. package/lib/components/Text/Text.cjs.map +1 -1
  20. package/lib/components/Text/Text.d.ts +57 -1
  21. package/lib/components/Text/Text.js +14 -2
  22. package/lib/components/Text/Text.js.map +1 -1
  23. package/lib/components/Tooltip/Tooltip.cjs +1 -1
  24. package/lib/libs/lodash.cjs +2 -2
  25. package/lib/libs/pictParser.cjs +39 -0
  26. package/lib/libs/pictParser.cjs.map +1 -0
  27. package/lib/libs/pictParser.d.ts +7 -0
  28. package/lib/libs/pictParser.js +37 -0
  29. package/lib/libs/pictParser.js.map +1 -0
  30. package/metadata.json +1 -1
  31. package/package.json +4 -4
package/README.md CHANGED
@@ -56,9 +56,11 @@ import 'smarthr-ui/smarthr-ui.css'
56
56
  const theme = createTheme()
57
57
 
58
58
  const App: React.FC = () => (
59
- <ThemeProvider theme={theme}>
60
- <Button variant="primary">Hello World</Button>
61
- </ThemeProvider>
59
+ <IntlProvider locale="ja">
60
+ <ThemeProvider theme={theme}>
61
+ <Button variant="primary">Hello World</Button>
62
+ </ThemeProvider>
63
+ </IntlProvider>
62
64
  )
63
65
 
64
66
  const container = document.getElementById('app')
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var _commonjsHelpers = require('./_commonjsHelpers.cjs');
4
- var index = require('./../vendor/.pnpm/react-innertext@1.1.5_@types_react@18.3.28_react@19.2.4/vendor/react-innertext/index.cjs');
4
+ var index = require('./../vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.cjs');
5
5
 
6
- var reactInnertextExports = index.__require();
7
- var innerText = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(reactInnertextExports);
6
+ var lodash_mergeExports = index.__require();
7
+ var _merge = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(lodash_mergeExports);
8
8
 
9
- module.exports = innerText;
9
+ module.exports = _merge;
10
10
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var _commonjsHelpers = require('./_commonjsHelpers.cjs');
4
- var index = require('./../vendor/.pnpm/lodash.merge@4.6.2/vendor/lodash.merge/index.cjs');
4
+ var index = require('./../vendor/.pnpm/lodash.range@3.2.0/vendor/lodash.range/index.cjs');
5
5
 
6
- var lodash_mergeExports = index.__require();
7
- var _merge = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(lodash_mergeExports);
6
+ var lodash_rangeExports = index.__require();
7
+ var _range = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(lodash_rangeExports);
8
8
 
9
- module.exports = _merge;
9
+ module.exports = _range;
10
10
  //# sourceMappingURL=index2.cjs.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var _commonjsHelpers = require('./_commonjsHelpers.cjs');
4
- var index = require('./../vendor/.pnpm/lodash.range@3.2.0/vendor/lodash.range/index.cjs');
4
+ var index = require('./../vendor/.pnpm/react-innertext@1.1.5_@types_react@18.3.28_react@19.2.4/vendor/react-innertext/index.cjs');
5
5
 
6
- var lodash_rangeExports = index.__require();
7
- var _range = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(lodash_rangeExports);
6
+ var reactInnertextExports = index.__require();
7
+ var innerText = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(reactInnertextExports);
8
8
 
9
- module.exports = _range;
9
+ module.exports = innerText;
10
10
  //# sourceMappingURL=index3.cjs.map
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../../_virtual/index.cjs');
6
+ var index$1 = require('../../../_virtual/index3.cjs');
7
7
  var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var hooks_useOuterClick = require('../../../hooks/useOuterClick.cjs');
9
9
  require('../../../intl/IntlProvider.cjs');
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../../_virtual/index.cjs');
6
+ var index$1 = require('../../../_virtual/index3.cjs');
7
7
  var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var hooks_useClick = require('../../../hooks/useClick.cjs');
9
9
  var hooks_useDecorators = require('../../../hooks/useDecorators.cjs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../_virtual/index.cjs');
3
+ var index = require('../../_virtual/index3.cjs');
4
4
 
5
5
  function convertMatchableString(original) {
6
6
  return (original
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../_virtual/index.cjs');
4
+ var index = require('../../_virtual/index3.cjs');
5
5
  var components_Combobox_helper = require('./helper.cjs');
6
6
 
7
7
  const defaultIsItemSelected = (targetItem, selectedItems) => selectedItems.some((item) => components_Combobox_helper.areItemsEqual(item, targetItem));
@@ -1,30 +1,43 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var jsxRuntime = require('react/jsx-runtime');
4
5
  var React = require('react');
5
6
  var components_Disclosure_useDisclosure = require('./useDisclosure.cjs');
6
7
 
7
- const DisclosureTrigger = ({ targetId, children, onClick, ...rest }) => {
8
+ const DisclosureTrigger = ({ targetId, children, onClick }) => {
8
9
  const [expanded, setExpanded] = components_Disclosure_useDisclosure.useDisclosure(targetId);
9
- const actualOnClick = React.useCallback((e) => {
10
+ const ref = React.useRef(null);
11
+ const actualOnClick = React.useMemo(() => {
10
12
  const toggleExpanded = () => {
11
13
  setExpanded((current) => !current);
12
14
  };
13
15
  if (onClick) {
14
- return onClick(toggleExpanded, e);
16
+ return (e) => {
17
+ onClick(toggleExpanded, e);
18
+ };
15
19
  }
16
- toggleExpanded();
20
+ return toggleExpanded;
17
21
  }, [onClick, setExpanded]);
18
- const actualTrigger = React.useMemo(() => {
19
- const actualChildren = children instanceof Function ? children({ expanded }) : children;
20
- return React.cloneElement(actualChildren, {
21
- ...rest,
22
- onClick: actualOnClick,
23
- 'aria-expanded': expanded.toString(),
24
- 'aria-controls': targetId,
25
- });
26
- }, [expanded, children, actualOnClick, targetId, rest]);
27
- return actualTrigger;
22
+ React.useEffect(() => {
23
+ if (!ref.current) {
24
+ return;
25
+ }
26
+ const button = ref.current.querySelector('button');
27
+ if (!button) {
28
+ throw new Error('DisclosureTriggerのchildrenにbutton要素を設置してください');
29
+ }
30
+ button.setAttribute('aria-expanded', expanded.toString());
31
+ button.setAttribute('aria-controls', targetId);
32
+ button.addEventListener('click', actualOnClick);
33
+ return () => {
34
+ button.removeEventListener('click', actualOnClick);
35
+ };
36
+ }, [expanded, children, actualOnClick, targetId]);
37
+ // HINT: 念の為spanに対して外部からstyleを当てられるようにしておく。
38
+ // Fragmentにrefが渡せるようになったタイミングでclassNameも不要になる
39
+ // TODO: 将来的にspan -> Fragmentに変更する
40
+ return (jsxRuntime.jsx("span", { className: "smarthr-ui-DisclosureTriggerWrapper", ref: ref, children: children instanceof Function ? children({ expanded }) : children }));
28
41
  };
29
42
 
30
43
  exports.DisclosureTrigger = DisclosureTrigger;
@@ -1 +1 @@
1
- {"version":3,"file":"DisclosureTrigger.cjs","sources":["../../../src/components/Disclosure/DisclosureTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type FC,\n type MouseEvent,\n type ReactElement,\n cloneElement,\n useCallback,\n useMemo,\n} from 'react'\n\nimport { useDisclosure } from './useDisclosure'\n\ntype DisclosureTriggerNodeChildren = Omit<\n ReactElement,\n 'onClick' | 'aria-expanded' | 'aria-controls'\n>\ntype DisclosureTriggerFuncChildren = (args: { expanded: boolean }) => DisclosureTriggerNodeChildren\n\ntype DisclosureTriggerProps = {\n /** DisclosureContentのidと紐づける文字列 */\n targetId: string\n /** 開閉時のハンドラー */\n onClick?: (open: () => void, e: MouseEvent<HTMLButtonElement>) => void\n children: DisclosureTriggerNodeChildren | DisclosureTriggerFuncChildren\n}\n\nexport const DisclosureTrigger: FC<DisclosureTriggerProps> = ({\n targetId,\n children,\n onClick,\n ...rest\n}) => {\n const [expanded, setExpanded] = useDisclosure(targetId)\n\n const actualOnClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n const toggleExpanded = () => {\n setExpanded((current) => !current)\n }\n\n if (onClick) {\n return onClick(toggleExpanded, e)\n }\n\n toggleExpanded()\n },\n [onClick, setExpanded],\n )\n\n const actualTrigger = useMemo(() => {\n const actualChildren = children instanceof Function ? children({ expanded }) : children\n\n return cloneElement(actualChildren as ReactElement, {\n ...rest,\n onClick: actualOnClick,\n 'aria-expanded': expanded.toString(),\n 'aria-controls': targetId,\n })\n }, [expanded, children, actualOnClick, targetId, rest])\n\n return actualTrigger\n}\n"],"names":[],"mappings":";;;;;;AA2BO;;AAQL;;;AAII;;AAGE;;AAGF;AACF;AAIF;AACE;;AAGE;AACA;AACA;AACA;AACD;AACH;AAEA;AACF;;"}
1
+ {"version":3,"file":"DisclosureTrigger.cjs","sources":["../../../src/components/Disclosure/DisclosureTrigger.tsx"],"sourcesContent":["'use client'\n\nimport { type FC, type ReactElement, useEffect, useMemo, useRef } from 'react'\n\nimport { useDisclosure } from './useDisclosure'\n\ntype DisclosureTriggerNodeChildren = Omit<\n ReactElement,\n 'onClick' | 'aria-expanded' | 'aria-controls'\n>\ntype DisclosureTriggerFuncChildren = (args: { expanded: boolean }) => DisclosureTriggerNodeChildren\n\ntype DisclosureTriggerProps = {\n /** DisclosureContentのidと紐づける文字列 */\n targetId: string\n /** 開閉時のハンドラー */\n onClick?: (open: () => void, e: MouseEvent) => void\n children: DisclosureTriggerNodeChildren | DisclosureTriggerFuncChildren\n}\n\nexport const DisclosureTrigger: FC<DisclosureTriggerProps> = ({ targetId, children, onClick }) => {\n const [expanded, setExpanded] = useDisclosure(targetId)\n const ref = useRef<HTMLSpanElement | null>(null)\n\n const actualOnClick = useMemo(() => {\n const toggleExpanded = () => {\n setExpanded((current) => !current)\n }\n\n if (onClick) {\n return (e: MouseEvent) => {\n onClick(toggleExpanded, e)\n }\n }\n\n return toggleExpanded\n }, [onClick, setExpanded])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const button = ref.current.querySelector('button')\n\n if (!button) {\n throw new Error('DisclosureTriggerのchildrenにbutton要素を設置してください')\n }\n\n button.setAttribute('aria-expanded', expanded.toString())\n button.setAttribute('aria-controls', targetId)\n button.addEventListener('click', actualOnClick)\n\n return () => {\n button.removeEventListener('click', actualOnClick)\n }\n }, [expanded, children, actualOnClick, targetId])\n\n // HINT: 念の為spanに対して外部からstyleを当てられるようにしておく。\n // Fragmentにrefが渡せるようになったタイミングでclassNameも不要になる\n // TODO: 将来的にspan -> Fragmentに変更する\n return (\n <span className=\"smarthr-ui-DisclosureTriggerWrapper\" ref={ref}>\n {children instanceof Function ? children({ expanded }) : children}\n </span>\n )\n}\n"],"names":[],"mappings":";;;;;;;AAoBO;;AAEL;AAEA;;;AAGE;;;AAII;AACF;;AAGF;AACF;;AAGE;;;;;AAOE;;;AAIF;AACA;AAEA;AACE;AACF;;;;;AAMF;AAKF;;"}
@@ -1,4 +1,4 @@
1
- import { type FC, type MouseEvent, type ReactElement } from 'react';
1
+ import { type FC, type ReactElement } from 'react';
2
2
  type DisclosureTriggerNodeChildren = Omit<ReactElement, 'onClick' | 'aria-expanded' | 'aria-controls'>;
3
3
  type DisclosureTriggerFuncChildren = (args: {
4
4
  expanded: boolean;
@@ -7,7 +7,7 @@ type DisclosureTriggerProps = {
7
7
  /** DisclosureContentのidと紐づける文字列 */
8
8
  targetId: string;
9
9
  /** 開閉時のハンドラー */
10
- onClick?: (open: () => void, e: MouseEvent<HTMLButtonElement>) => void;
10
+ onClick?: (open: () => void, e: MouseEvent) => void;
11
11
  children: DisclosureTriggerNodeChildren | DisclosureTriggerFuncChildren;
12
12
  };
13
13
  export declare const DisclosureTrigger: FC<DisclosureTriggerProps>;
@@ -1,28 +1,41 @@
1
1
  "use client";
2
- import { useCallback, useMemo, cloneElement } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useRef, useMemo, useEffect } from 'react';
3
4
  import { useDisclosure } from './useDisclosure.js';
4
5
 
5
- const DisclosureTrigger = ({ targetId, children, onClick, ...rest }) => {
6
+ const DisclosureTrigger = ({ targetId, children, onClick }) => {
6
7
  const [expanded, setExpanded] = useDisclosure(targetId);
7
- const actualOnClick = useCallback((e) => {
8
+ const ref = useRef(null);
9
+ const actualOnClick = useMemo(() => {
8
10
  const toggleExpanded = () => {
9
11
  setExpanded((current) => !current);
10
12
  };
11
13
  if (onClick) {
12
- return onClick(toggleExpanded, e);
14
+ return (e) => {
15
+ onClick(toggleExpanded, e);
16
+ };
13
17
  }
14
- toggleExpanded();
18
+ return toggleExpanded;
15
19
  }, [onClick, setExpanded]);
16
- const actualTrigger = useMemo(() => {
17
- const actualChildren = children instanceof Function ? children({ expanded }) : children;
18
- return cloneElement(actualChildren, {
19
- ...rest,
20
- onClick: actualOnClick,
21
- 'aria-expanded': expanded.toString(),
22
- 'aria-controls': targetId,
23
- });
24
- }, [expanded, children, actualOnClick, targetId, rest]);
25
- return actualTrigger;
20
+ useEffect(() => {
21
+ if (!ref.current) {
22
+ return;
23
+ }
24
+ const button = ref.current.querySelector('button');
25
+ if (!button) {
26
+ throw new Error('DisclosureTriggerのchildrenにbutton要素を設置してください');
27
+ }
28
+ button.setAttribute('aria-expanded', expanded.toString());
29
+ button.setAttribute('aria-controls', targetId);
30
+ button.addEventListener('click', actualOnClick);
31
+ return () => {
32
+ button.removeEventListener('click', actualOnClick);
33
+ };
34
+ }, [expanded, children, actualOnClick, targetId]);
35
+ // HINT: 念の為spanに対して外部からstyleを当てられるようにしておく。
36
+ // Fragmentにrefが渡せるようになったタイミングでclassNameも不要になる
37
+ // TODO: 将来的にspan -> Fragmentに変更する
38
+ return (jsx("span", { className: "smarthr-ui-DisclosureTriggerWrapper", ref: ref, children: children instanceof Function ? children({ expanded }) : children }));
26
39
  };
27
40
 
28
41
  export { DisclosureTrigger };
@@ -1 +1 @@
1
- {"version":3,"file":"DisclosureTrigger.js","sources":["../../../src/components/Disclosure/DisclosureTrigger.tsx"],"sourcesContent":["'use client'\n\nimport {\n type FC,\n type MouseEvent,\n type ReactElement,\n cloneElement,\n useCallback,\n useMemo,\n} from 'react'\n\nimport { useDisclosure } from './useDisclosure'\n\ntype DisclosureTriggerNodeChildren = Omit<\n ReactElement,\n 'onClick' | 'aria-expanded' | 'aria-controls'\n>\ntype DisclosureTriggerFuncChildren = (args: { expanded: boolean }) => DisclosureTriggerNodeChildren\n\ntype DisclosureTriggerProps = {\n /** DisclosureContentのidと紐づける文字列 */\n targetId: string\n /** 開閉時のハンドラー */\n onClick?: (open: () => void, e: MouseEvent<HTMLButtonElement>) => void\n children: DisclosureTriggerNodeChildren | DisclosureTriggerFuncChildren\n}\n\nexport const DisclosureTrigger: FC<DisclosureTriggerProps> = ({\n targetId,\n children,\n onClick,\n ...rest\n}) => {\n const [expanded, setExpanded] = useDisclosure(targetId)\n\n const actualOnClick = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n const toggleExpanded = () => {\n setExpanded((current) => !current)\n }\n\n if (onClick) {\n return onClick(toggleExpanded, e)\n }\n\n toggleExpanded()\n },\n [onClick, setExpanded],\n )\n\n const actualTrigger = useMemo(() => {\n const actualChildren = children instanceof Function ? children({ expanded }) : children\n\n return cloneElement(actualChildren as ReactElement, {\n ...rest,\n onClick: actualOnClick,\n 'aria-expanded': expanded.toString(),\n 'aria-controls': targetId,\n })\n }, [expanded, children, actualOnClick, targetId, rest])\n\n return actualTrigger\n}\n"],"names":[],"mappings":";;;;AA2BO;;AAQL;;;AAII;;AAGE;;AAGF;AACF;AAIF;AACE;;AAGE;AACA;AACA;AACA;AACD;AACH;AAEA;AACF;;"}
1
+ {"version":3,"file":"DisclosureTrigger.js","sources":["../../../src/components/Disclosure/DisclosureTrigger.tsx"],"sourcesContent":["'use client'\n\nimport { type FC, type ReactElement, useEffect, useMemo, useRef } from 'react'\n\nimport { useDisclosure } from './useDisclosure'\n\ntype DisclosureTriggerNodeChildren = Omit<\n ReactElement,\n 'onClick' | 'aria-expanded' | 'aria-controls'\n>\ntype DisclosureTriggerFuncChildren = (args: { expanded: boolean }) => DisclosureTriggerNodeChildren\n\ntype DisclosureTriggerProps = {\n /** DisclosureContentのidと紐づける文字列 */\n targetId: string\n /** 開閉時のハンドラー */\n onClick?: (open: () => void, e: MouseEvent) => void\n children: DisclosureTriggerNodeChildren | DisclosureTriggerFuncChildren\n}\n\nexport const DisclosureTrigger: FC<DisclosureTriggerProps> = ({ targetId, children, onClick }) => {\n const [expanded, setExpanded] = useDisclosure(targetId)\n const ref = useRef<HTMLSpanElement | null>(null)\n\n const actualOnClick = useMemo(() => {\n const toggleExpanded = () => {\n setExpanded((current) => !current)\n }\n\n if (onClick) {\n return (e: MouseEvent) => {\n onClick(toggleExpanded, e)\n }\n }\n\n return toggleExpanded\n }, [onClick, setExpanded])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const button = ref.current.querySelector('button')\n\n if (!button) {\n throw new Error('DisclosureTriggerのchildrenにbutton要素を設置してください')\n }\n\n button.setAttribute('aria-expanded', expanded.toString())\n button.setAttribute('aria-controls', targetId)\n button.addEventListener('click', actualOnClick)\n\n return () => {\n button.removeEventListener('click', actualOnClick)\n }\n }, [expanded, children, actualOnClick, targetId])\n\n // HINT: 念の為spanに対して外部からstyleを当てられるようにしておく。\n // Fragmentにrefが渡せるようになったタイミングでclassNameも不要になる\n // TODO: 将来的にspan -> Fragmentに変更する\n return (\n <span className=\"smarthr-ui-DisclosureTriggerWrapper\" ref={ref}>\n {children instanceof Function ? children({ expanded }) : children}\n </span>\n )\n}\n"],"names":[],"mappings":";;;;;AAoBO;;AAEL;AAEA;;;AAGE;;;AAII;AACF;;AAGF;AACF;;AAGE;;;;;AAOE;;;AAIF;AACA;AAEA;AACE;AACF;;;;;AAMF;AAKF;;"}
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../../_virtual/index.cjs');
6
+ var index$1 = require('../../../_virtual/index3.cjs');
7
7
  var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var components_Dropdown_Dropdown = require('../Dropdown.cjs');
9
9
  var components_Dropdown_DropdownTrigger = require('../DropdownTrigger.cjs');
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../../_virtual/index.cjs');
6
+ var index$1 = require('../../../_virtual/index3.cjs');
7
7
  var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var hooks_useResponseStatus = require('../../../hooks/useResponseStatus.cjs');
9
9
  require('../../../intl/IntlProvider.cjs');
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../_virtual/index.cjs');
6
+ var index$1 = require('../../_virtual/index3.cjs');
7
7
  var index = require('./../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var hooks_useObjectAttributes = require('../../hooks/useObjectAttributes.cjs');
9
9
  var components_Icon_FaIcon = require('../Icon/FaIcon.cjs');
@@ -3,7 +3,7 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var index$1 = require('../../../_virtual/index.cjs');
6
+ var index$1 = require('../../../_virtual/index3.cjs');
7
7
  var index = require('./../../../vendor/.pnpm/tailwind-variants@0.3.1_tailwindcss@3.4.19_ts-node@10.9.2_@swc_core@1.15.11_@types_node@20.19.33_typescript@5.9.3__/vendor/tailwind-variants/dist/index.cjs');
8
8
  var libs_nextjs = require('../../../libs/nextjs.cjs');
9
9
  var components_Text_Text = require('../../Text/Text.cjs');
@@ -79,6 +79,14 @@ const classNameGenerator = index.tv({
79
79
  'pre-line': 'shr-whitespace-pre-line',
80
80
  'pre-wrap': 'shr-whitespace-pre-wrap',
81
81
  },
82
+ maxLines: {
83
+ 1: 'shr-inline-block shr-w-full shr-overflow-x-clip shr-overflow-ellipsis shr-whitespace-nowrap shr-align-middle',
84
+ 2: 'shr-line-clamp-[2]',
85
+ 3: 'shr-line-clamp-[3]',
86
+ 4: 'shr-line-clamp-[4]',
87
+ 5: 'shr-line-clamp-[5]',
88
+ 6: 'shr-line-clamp-[6]',
89
+ },
82
90
  },
83
91
  });
84
92
  const wrapperClassNameGenerator = index.tv({
@@ -125,7 +133,10 @@ const wrapperClassNameGenerator = index.tv({
125
133
  },
126
134
  });
127
135
  const iconObjectConverter = (icon) => (icon ? { prefix: icon } : undefined);
128
- const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'bold' : undefined, as: Component = emphasis ? 'em' : 'span', size, italic, color, leading, whiteSpace, className, children, ...rest }) => {
136
+ const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'bold' : undefined, as: Component = emphasis ? 'em' : 'span', size, italic, color, leading, whiteSpace, maxLines, className, children, ...rest }) => {
137
+ if (maxLines !== undefined && (maxLines < 1 || maxLines > 6)) {
138
+ throw new Error('"maxLines" は 1 ~ 6 の範囲で指定してください');
139
+ }
129
140
  const icon = hooks_useObjectAttributes.useObjectAttributes(orgIcon, iconObjectConverter);
130
141
  const actualClassName = React.useMemo(() => {
131
142
  const styleTypeValues = styleType
@@ -138,9 +149,10 @@ const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'b
138
149
  leading: leading || styleTypeValues.leading,
139
150
  italic,
140
151
  whiteSpace,
152
+ maxLines,
141
153
  className,
142
154
  });
143
- }, [size, weight, italic, color, leading, whiteSpace, className, styleType]);
155
+ }, [size, weight, italic, color, leading, whiteSpace, maxLines, className, styleType]);
144
156
  const wrapperClassName = React.useMemo(() => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''), [icon]);
145
157
  return (jsxRuntime.jsx(Component, { ...rest, className: actualClassName, children: icon ? (jsxRuntime.jsxs("span", { className: wrapperClassName, children: [icon.prefix, children, icon.suffix] })) : (children) }));
146
158
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Text.cjs","sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useMemo,\n} from 'react'\nimport { type VariantProps, tv } from 'tailwind-variants'\n\nimport { useObjectAttributes } from '../../hooks/useObjectAttributes'\n\nimport type { AbstractSize, CharRelativeSize } from '../../themes/createSpacing'\nimport type { Gap } from '../../types'\n\ntype StyleType =\n | 'screenTitle'\n | 'sectionTitle'\n | 'blockTitle'\n | 'subBlockTitle'\n | 'subSubBlockTitle'\n\nexport const STYLE_TYPE_MAP: { [key in StyleType]: VariantProps<typeof classNameGenerator> } = {\n screenTitle: {\n size: 'XL',\n leading: 'TIGHT',\n weight: 'normal',\n },\n sectionTitle: {\n size: 'L',\n leading: 'TIGHT',\n weight: 'normal',\n },\n blockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n },\n subBlockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n subSubBlockTitle: {\n size: 'S',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n}\nconst UNDEFINED_STYLE_VALUES = {\n size: undefined,\n leading: undefined,\n weight: undefined,\n color: undefined,\n}\n\nconst classNameGenerator = tv({\n variants: {\n size: {\n XXS: 'shr-text-2xs',\n XS: 'shr-text-xs',\n S: 'shr-text-sm',\n M: 'shr-text-base',\n L: 'shr-text-lg',\n XL: 'shr-text-xl',\n XXL: 'shr-text-2xl',\n },\n weight: {\n normal: 'shr-font-normal',\n bold: 'shr-font-bold',\n },\n italic: {\n true: 'shr-italic',\n },\n color: {\n TEXT_BLACK: 'shr-text-black',\n TEXT_WHITE: 'shr-text-white',\n TEXT_GREY: 'shr-text-grey',\n TEXT_DISABLED: 'shr-text-disabled',\n TEXT_LINK: 'shr-text-link',\n inherit: 'shr-text-color-inherit',\n },\n leading: {\n NONE: 'shr-leading-none',\n TIGHT: 'shr-leading-tight',\n NORMAL: 'shr-leading-normal',\n LOOSE: 'shr-leading-loose',\n },\n whiteSpace: {\n normal: 'shr-whitespace-normal',\n nowrap: 'shr-whitespace-nowrap',\n pre: 'shr-whitespace-pre',\n 'pre-line': 'shr-whitespace-pre-line',\n 'pre-wrap': 'shr-whitespace-pre-wrap',\n },\n },\n})\n\nconst wrapperClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Icon-extended smarthr-ui-Icon-withText shr-group/iconWrapper shr-inline-flex shr-items-baseline',\n ],\n variants: {\n gap: {\n 0: 'shr-gap-x-0',\n 0.25: 'shr-gap-x-0.25',\n 0.5: 'shr-gap-x-0.5',\n 0.75: 'shr-gap-x-0.75',\n 1: 'shr-gap-x-1',\n 1.25: 'shr-gap-x-1.25',\n 1.5: 'shr-gap-x-1.5',\n 2: 'shr-gap-x-2',\n 2.5: 'shr-gap-x-2.5',\n 3: 'shr-gap-x-3',\n 3.5: 'shr-gap-x-3.5',\n 4: 'shr-gap-x-4',\n 8: 'shr-gap-x-8',\n '-0.25': '-shr-gap-x-0.25',\n '-0.5': '-shr-gap-x-0.5',\n '-0.75': '-shr-gap-x-0.75',\n '-1': '-shr-gap-x-1',\n '-1.25': '-shr-gap-x-1.25',\n '-1.5': '-shr-gap-x-1.5',\n '-2': '-shr-gap-x-2',\n '-2.5': '-shr-gap-x-2.5',\n '-3': '-shr-gap-x-3',\n '-3.5': '-shr-gap-x-3.5',\n '-4': '-shr-gap-x-4',\n '-8': '-shr-gap-x-8',\n X3S: 'shr-gap-x-0.25',\n XXS: 'shr-gap-x-0.5',\n XS: 'shr-gap-x-1',\n S: 'shr-gap-x-1.5',\n M: 'shr-gap-x-2',\n L: 'shr-gap-x-2.5',\n XL: 'shr-gap-x-3',\n XXL: 'shr-gap-x-3.5',\n X3L: 'shr-gap-x-4',\n } as { [key in Gap]: string },\n },\n})\n\ntype ActualIconType =\n | undefined\n | {\n /** テキスト左に設置するアイコン */\n prefix?: ReactNode\n /** テキスト右に設置するアイコン */\n suffix?: ReactNode\n /** アイコンと並べるテキストとの溝 */\n gap?: CharRelativeSize | AbstractSize\n }\ntype IconType = ActualIconType | ReactNode\n\n// VariantProps を使うとコメントが書けない〜🥹\nexport type TextProps<T extends ElementType = 'span'> = VariantProps<typeof classNameGenerator> & {\n /** テキストコンポーネントの HTML タグ名。初期値は span */\n as?: T\n /** 強調するかどうかの真偽値。指定すると em 要素になる */\n emphasis?: boolean\n /** 見た目の種類 */\n styleType?: StyleType\n /** 設置するアイコン */\n icon?: IconType\n}\n\nconst iconObjectConverter = (icon: ReactNode) => (icon ? { prefix: icon } : undefined)\n\nconst ActualText = <T extends ElementType = 'span'>({\n emphasis,\n styleType,\n icon: orgIcon,\n weight = emphasis ? 'bold' : undefined,\n as: Component = emphasis ? 'em' : 'span',\n size,\n italic,\n color,\n leading,\n whiteSpace,\n className,\n children,\n ...rest\n}: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => {\n const icon = useObjectAttributes<IconType, ActualIconType>(orgIcon, iconObjectConverter)\n const actualClassName = useMemo(() => {\n const styleTypeValues = styleType\n ? STYLE_TYPE_MAP[styleType as StyleType]\n : UNDEFINED_STYLE_VALUES\n\n return classNameGenerator({\n size: size || styleTypeValues.size,\n weight: weight || styleTypeValues.weight,\n color: color || styleTypeValues.color,\n leading: leading || styleTypeValues.leading,\n italic,\n whiteSpace,\n className,\n })\n }, [size, weight, italic, color, leading, whiteSpace, className, styleType])\n const wrapperClassName = useMemo(\n () => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''),\n [icon],\n )\n\n return (\n <Component {...rest} className={actualClassName}>\n {icon ? (\n <span className={wrapperClassName}>\n {icon.prefix}\n {children}\n {icon.suffix}\n </span>\n ) : (\n children\n )}\n </Component>\n )\n}\n\nexport const Text = memo(ActualText) as typeof ActualText\n"],"names":["tv","useObjectAttributes","useMemo","_jsx","_jsxs","memo"],"mappings":";;;;;;;AAsBO,MAAM,cAAc,GAAoE;AAC7F,IAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;;AAEH,MAAM,sBAAsB,GAAG;AAC7B,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,SAAS;CACjB;AAED,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,GAAG,EAAE,cAAc;AACnB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,CAAC,EAAE,eAAe;AAClB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,GAAG,EAAE,cAAc;AACpB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,IAAI,EAAE,eAAe;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,YAAY;AACnB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,aAAa,EAAE,mBAAmB;AAClC,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,OAAO,EAAE,wBAAwB;AAClC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,KAAK,EAAE,mBAAmB;AAC1B,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,KAAK,EAAE,mBAAmB;AAC3B,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,MAAM,EAAE,uBAAuB;AAC/B,YAAA,MAAM,EAAE,uBAAuB;AAC/B,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,UAAU,EAAE,yBAAyB;AACrC,YAAA,UAAU,EAAE,yBAAyB;AACtC,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEF,MAAM,yBAAyB,GAAGA,QAAE,CAAC;AACnC,IAAA,IAAI,EAAE;QACJ,4GAA4G;AAC7G,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,GAAG,EAAE;AACH,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,GAAG,EAAE,gBAAgB;AACrB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,CAAC,EAAE,eAAe;AAClB,YAAA,CAAC,EAAE,aAAa;AAChB,YAAA,CAAC,EAAE,eAAe;AAClB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,GAAG,EAAE,aAAa;AACS,SAAA;AAC9B,KAAA;AACF,CAAA,CAAC;AA0BF,MAAM,mBAAmB,GAAG,CAAC,IAAe,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;AAEtF,MAAM,UAAU,GAAG,CAAiC,EAClD,QAAQ,EACR,SAAS,EACT,IAAI,EAAE,OAAO,EACb,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,EACtC,EAAE,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,EACxC,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EAC6C,KAAI;IACxD,MAAM,IAAI,GAAGC,6CAAmB,CAA2B,OAAO,EAAE,mBAAmB,CAAC;AACxF,IAAA,MAAM,eAAe,GAAGC,aAAO,CAAC,MAAK;QACnC,MAAM,eAAe,GAAG;AACtB,cAAE,cAAc,CAAC,SAAsB;cACrC,sBAAsB;AAE1B,QAAA,OAAO,kBAAkB,CAAC;AACxB,YAAA,IAAI,EAAE,IAAI,IAAI,eAAe,CAAC,IAAI;AAClC,YAAA,MAAM,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM;AACxC,YAAA,KAAK,EAAE,KAAK,IAAI,eAAe,CAAC,KAAK;AACrC,YAAA,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;YAC3C,MAAM;YACN,UAAU;YACV,SAAS;AACV,SAAA,CAAC;AACJ,IAAA,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC5E,IAAA,MAAM,gBAAgB,GAAGA,aAAO,CAC9B,OAAO,IAAI,GAAG,yBAAyB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EACxE,CAAC,IAAI,CAAC,CACP;AAED,IAAA,QACEC,cAAA,CAAC,SAAS,EAAA,EAAA,GAAK,IAAI,EAAE,SAAS,EAAE,eAAe,EAAA,QAAA,EAC5C,IAAI,IACHC,eAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAC9B,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,IAAI,CAAC,MAAM,CAAA,EAAA,CACP,KAEP,QAAQ,CACT,EAAA,CACS;AAEhB,CAAC;MAEY,IAAI,GAAGC,UAAI,CAAC,UAAU;;;;;"}
1
+ {"version":3,"file":"Text.cjs","sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useMemo,\n} from 'react'\nimport { type VariantProps, tv } from 'tailwind-variants'\n\nimport { useObjectAttributes } from '../../hooks/useObjectAttributes'\n\nimport type { AbstractSize, CharRelativeSize } from '../../themes/createSpacing'\nimport type { Gap } from '../../types'\n\ntype StyleType =\n | 'screenTitle'\n | 'sectionTitle'\n | 'blockTitle'\n | 'subBlockTitle'\n | 'subSubBlockTitle'\n\nexport const STYLE_TYPE_MAP: { [key in StyleType]: VariantProps<typeof classNameGenerator> } = {\n screenTitle: {\n size: 'XL',\n leading: 'TIGHT',\n weight: 'normal',\n },\n sectionTitle: {\n size: 'L',\n leading: 'TIGHT',\n weight: 'normal',\n },\n blockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n },\n subBlockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n subSubBlockTitle: {\n size: 'S',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n}\nconst UNDEFINED_STYLE_VALUES = {\n size: undefined,\n leading: undefined,\n weight: undefined,\n color: undefined,\n}\n\nconst classNameGenerator = tv({\n variants: {\n size: {\n XXS: 'shr-text-2xs',\n XS: 'shr-text-xs',\n S: 'shr-text-sm',\n M: 'shr-text-base',\n L: 'shr-text-lg',\n XL: 'shr-text-xl',\n XXL: 'shr-text-2xl',\n },\n weight: {\n normal: 'shr-font-normal',\n bold: 'shr-font-bold',\n },\n italic: {\n true: 'shr-italic',\n },\n color: {\n TEXT_BLACK: 'shr-text-black',\n TEXT_WHITE: 'shr-text-white',\n TEXT_GREY: 'shr-text-grey',\n TEXT_DISABLED: 'shr-text-disabled',\n TEXT_LINK: 'shr-text-link',\n inherit: 'shr-text-color-inherit',\n },\n leading: {\n NONE: 'shr-leading-none',\n TIGHT: 'shr-leading-tight',\n NORMAL: 'shr-leading-normal',\n LOOSE: 'shr-leading-loose',\n },\n whiteSpace: {\n normal: 'shr-whitespace-normal',\n nowrap: 'shr-whitespace-nowrap',\n pre: 'shr-whitespace-pre',\n 'pre-line': 'shr-whitespace-pre-line',\n 'pre-wrap': 'shr-whitespace-pre-wrap',\n },\n maxLines: {\n 1: 'shr-inline-block shr-w-full shr-overflow-x-clip shr-overflow-ellipsis shr-whitespace-nowrap shr-align-middle',\n 2: 'shr-line-clamp-[2]',\n 3: 'shr-line-clamp-[3]',\n 4: 'shr-line-clamp-[4]',\n 5: 'shr-line-clamp-[5]',\n 6: 'shr-line-clamp-[6]',\n },\n },\n})\n\nconst wrapperClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Icon-extended smarthr-ui-Icon-withText shr-group/iconWrapper shr-inline-flex shr-items-baseline',\n ],\n variants: {\n gap: {\n 0: 'shr-gap-x-0',\n 0.25: 'shr-gap-x-0.25',\n 0.5: 'shr-gap-x-0.5',\n 0.75: 'shr-gap-x-0.75',\n 1: 'shr-gap-x-1',\n 1.25: 'shr-gap-x-1.25',\n 1.5: 'shr-gap-x-1.5',\n 2: 'shr-gap-x-2',\n 2.5: 'shr-gap-x-2.5',\n 3: 'shr-gap-x-3',\n 3.5: 'shr-gap-x-3.5',\n 4: 'shr-gap-x-4',\n 8: 'shr-gap-x-8',\n '-0.25': '-shr-gap-x-0.25',\n '-0.5': '-shr-gap-x-0.5',\n '-0.75': '-shr-gap-x-0.75',\n '-1': '-shr-gap-x-1',\n '-1.25': '-shr-gap-x-1.25',\n '-1.5': '-shr-gap-x-1.5',\n '-2': '-shr-gap-x-2',\n '-2.5': '-shr-gap-x-2.5',\n '-3': '-shr-gap-x-3',\n '-3.5': '-shr-gap-x-3.5',\n '-4': '-shr-gap-x-4',\n '-8': '-shr-gap-x-8',\n X3S: 'shr-gap-x-0.25',\n XXS: 'shr-gap-x-0.5',\n XS: 'shr-gap-x-1',\n S: 'shr-gap-x-1.5',\n M: 'shr-gap-x-2',\n L: 'shr-gap-x-2.5',\n XL: 'shr-gap-x-3',\n XXL: 'shr-gap-x-3.5',\n X3L: 'shr-gap-x-4',\n } as { [key in Gap]: string },\n },\n})\n\ntype ActualIconType =\n | undefined\n | {\n /** テキスト左に設置するアイコン */\n prefix?: ReactNode\n /** テキスト右に設置するアイコン */\n suffix?: ReactNode\n /** アイコンと並べるテキストとの溝 */\n gap?: CharRelativeSize | AbstractSize\n }\ntype IconType = ActualIconType | ReactNode\n\n// VariantProps を使うとコメントが書けない〜🥹\nexport type TextProps<T extends ElementType = 'span'> = VariantProps<typeof classNameGenerator> & {\n /** テキストコンポーネントの HTML タグ名。初期値は span */\n as?: T\n /** 強調するかどうかの真偽値。指定すると em 要素になる */\n emphasis?: boolean\n /** 見た目の種類 */\n styleType?: StyleType\n /** 設置するアイコン */\n icon?: IconType\n}\n\nconst iconObjectConverter = (icon: ReactNode) => (icon ? { prefix: icon } : undefined)\n\nconst ActualText = <T extends ElementType = 'span'>({\n emphasis,\n styleType,\n icon: orgIcon,\n weight = emphasis ? 'bold' : undefined,\n as: Component = emphasis ? 'em' : 'span',\n size,\n italic,\n color,\n leading,\n whiteSpace,\n maxLines,\n className,\n children,\n ...rest\n}: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => {\n if (maxLines !== undefined && (maxLines < 1 || maxLines > 6)) {\n throw new Error('\"maxLines\" は 1 ~ 6 の範囲で指定してください')\n }\n\n const icon = useObjectAttributes<IconType, ActualIconType>(orgIcon, iconObjectConverter)\n const actualClassName = useMemo(() => {\n const styleTypeValues = styleType\n ? STYLE_TYPE_MAP[styleType as StyleType]\n : UNDEFINED_STYLE_VALUES\n\n return classNameGenerator({\n size: size || styleTypeValues.size,\n weight: weight || styleTypeValues.weight,\n color: color || styleTypeValues.color,\n leading: leading || styleTypeValues.leading,\n italic,\n whiteSpace,\n maxLines,\n className,\n })\n }, [size, weight, italic, color, leading, whiteSpace, maxLines, className, styleType])\n const wrapperClassName = useMemo(\n () => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''),\n [icon],\n )\n\n return (\n <Component {...rest} className={actualClassName}>\n {icon ? (\n <span className={wrapperClassName}>\n {icon.prefix}\n {children}\n {icon.suffix}\n </span>\n ) : (\n children\n )}\n </Component>\n )\n}\n\nexport const Text = memo(ActualText) as typeof ActualText\n"],"names":["tv","useObjectAttributes","useMemo","_jsx","_jsxs","memo"],"mappings":"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"}
@@ -43,6 +43,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
43
43
  'pre-line': string;
44
44
  'pre-wrap': string;
45
45
  };
46
+ maxLines: {
47
+ 1: string;
48
+ 2: string;
49
+ 3: string;
50
+ 4: string;
51
+ 5: string;
52
+ 6: string;
53
+ };
46
54
  }, undefined, undefined, import("tailwind-variants/dist/config").TVConfig<{
47
55
  size: {
48
56
  XXS: string;
@@ -81,6 +89,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
81
89
  'pre-line': string;
82
90
  'pre-wrap': string;
83
91
  };
92
+ maxLines: {
93
+ 1: string;
94
+ 2: string;
95
+ 3: string;
96
+ 4: string;
97
+ 5: string;
98
+ 6: string;
99
+ };
84
100
  }, {
85
101
  size: {
86
102
  XXS: string;
@@ -119,6 +135,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
119
135
  'pre-line': string;
120
136
  'pre-wrap': string;
121
137
  };
138
+ maxLines: {
139
+ 1: string;
140
+ 2: string;
141
+ 3: string;
142
+ 4: string;
143
+ 5: string;
144
+ 6: string;
145
+ };
122
146
  }>, {
123
147
  size: {
124
148
  XXS: string;
@@ -157,6 +181,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
157
181
  'pre-line': string;
158
182
  'pre-wrap': string;
159
183
  };
184
+ maxLines: {
185
+ 1: string;
186
+ 2: string;
187
+ 3: string;
188
+ 4: string;
189
+ 5: string;
190
+ 6: string;
191
+ };
160
192
  }, undefined, import("tailwind-variants").TVReturnType<{
161
193
  size: {
162
194
  XXS: string;
@@ -195,6 +227,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
195
227
  'pre-line': string;
196
228
  'pre-wrap': string;
197
229
  };
230
+ maxLines: {
231
+ 1: string;
232
+ 2: string;
233
+ 3: string;
234
+ 4: string;
235
+ 5: string;
236
+ 6: string;
237
+ };
198
238
  }, undefined, undefined, import("tailwind-variants/dist/config").TVConfig<{
199
239
  size: {
200
240
  XXS: string;
@@ -233,6 +273,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
233
273
  'pre-line': string;
234
274
  'pre-wrap': string;
235
275
  };
276
+ maxLines: {
277
+ 1: string;
278
+ 2: string;
279
+ 3: string;
280
+ 4: string;
281
+ 5: string;
282
+ 6: string;
283
+ };
236
284
  }, {
237
285
  size: {
238
286
  XXS: string;
@@ -271,6 +319,14 @@ declare const classNameGenerator: import("tailwind-variants").TVReturnType<{
271
319
  'pre-line': string;
272
320
  'pre-wrap': string;
273
321
  };
322
+ maxLines: {
323
+ 1: string;
324
+ 2: string;
325
+ 3: string;
326
+ 4: string;
327
+ 5: string;
328
+ 6: string;
329
+ };
274
330
  }>, unknown, unknown, undefined>>;
275
331
  type ActualIconType = undefined | {
276
332
  /** テキスト左に設置するアイコン */
@@ -291,6 +347,6 @@ export type TextProps<T extends ElementType = 'span'> = VariantProps<typeof clas
291
347
  /** 設置するアイコン */
292
348
  icon?: IconType;
293
349
  };
294
- declare const ActualText: <T extends ElementType = "span">({ emphasis, styleType, icon: orgIcon, weight, as: Component, size, italic, color, leading, whiteSpace, className, children, ...rest }: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => import("react/jsx-runtime").JSX.Element;
350
+ declare const ActualText: <T extends ElementType = "span">({ emphasis, styleType, icon: orgIcon, weight, as: Component, size, italic, color, leading, whiteSpace, maxLines, className, children, ...rest }: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => import("react/jsx-runtime").JSX.Element;
295
351
  export declare const Text: typeof ActualText;
296
352
  export {};
@@ -77,6 +77,14 @@ const classNameGenerator = ce({
77
77
  'pre-line': 'shr-whitespace-pre-line',
78
78
  'pre-wrap': 'shr-whitespace-pre-wrap',
79
79
  },
80
+ maxLines: {
81
+ 1: 'shr-inline-block shr-w-full shr-overflow-x-clip shr-overflow-ellipsis shr-whitespace-nowrap shr-align-middle',
82
+ 2: 'shr-line-clamp-[2]',
83
+ 3: 'shr-line-clamp-[3]',
84
+ 4: 'shr-line-clamp-[4]',
85
+ 5: 'shr-line-clamp-[5]',
86
+ 6: 'shr-line-clamp-[6]',
87
+ },
80
88
  },
81
89
  });
82
90
  const wrapperClassNameGenerator = ce({
@@ -123,7 +131,10 @@ const wrapperClassNameGenerator = ce({
123
131
  },
124
132
  });
125
133
  const iconObjectConverter = (icon) => (icon ? { prefix: icon } : undefined);
126
- const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'bold' : undefined, as: Component = emphasis ? 'em' : 'span', size, italic, color, leading, whiteSpace, className, children, ...rest }) => {
134
+ const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'bold' : undefined, as: Component = emphasis ? 'em' : 'span', size, italic, color, leading, whiteSpace, maxLines, className, children, ...rest }) => {
135
+ if (maxLines !== undefined && (maxLines < 1 || maxLines > 6)) {
136
+ throw new Error('"maxLines" は 1 ~ 6 の範囲で指定してください');
137
+ }
127
138
  const icon = useObjectAttributes(orgIcon, iconObjectConverter);
128
139
  const actualClassName = useMemo(() => {
129
140
  const styleTypeValues = styleType
@@ -136,9 +147,10 @@ const ActualText = ({ emphasis, styleType, icon: orgIcon, weight = emphasis ? 'b
136
147
  leading: leading || styleTypeValues.leading,
137
148
  italic,
138
149
  whiteSpace,
150
+ maxLines,
139
151
  className,
140
152
  });
141
- }, [size, weight, italic, color, leading, whiteSpace, className, styleType]);
153
+ }, [size, weight, italic, color, leading, whiteSpace, maxLines, className, styleType]);
142
154
  const wrapperClassName = useMemo(() => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''), [icon]);
143
155
  return (jsx(Component, { ...rest, className: actualClassName, children: icon ? (jsxs("span", { className: wrapperClassName, children: [icon.prefix, children, icon.suffix] })) : (children) }));
144
156
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useMemo,\n} from 'react'\nimport { type VariantProps, tv } from 'tailwind-variants'\n\nimport { useObjectAttributes } from '../../hooks/useObjectAttributes'\n\nimport type { AbstractSize, CharRelativeSize } from '../../themes/createSpacing'\nimport type { Gap } from '../../types'\n\ntype StyleType =\n | 'screenTitle'\n | 'sectionTitle'\n | 'blockTitle'\n | 'subBlockTitle'\n | 'subSubBlockTitle'\n\nexport const STYLE_TYPE_MAP: { [key in StyleType]: VariantProps<typeof classNameGenerator> } = {\n screenTitle: {\n size: 'XL',\n leading: 'TIGHT',\n weight: 'normal',\n },\n sectionTitle: {\n size: 'L',\n leading: 'TIGHT',\n weight: 'normal',\n },\n blockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n },\n subBlockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n subSubBlockTitle: {\n size: 'S',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n}\nconst UNDEFINED_STYLE_VALUES = {\n size: undefined,\n leading: undefined,\n weight: undefined,\n color: undefined,\n}\n\nconst classNameGenerator = tv({\n variants: {\n size: {\n XXS: 'shr-text-2xs',\n XS: 'shr-text-xs',\n S: 'shr-text-sm',\n M: 'shr-text-base',\n L: 'shr-text-lg',\n XL: 'shr-text-xl',\n XXL: 'shr-text-2xl',\n },\n weight: {\n normal: 'shr-font-normal',\n bold: 'shr-font-bold',\n },\n italic: {\n true: 'shr-italic',\n },\n color: {\n TEXT_BLACK: 'shr-text-black',\n TEXT_WHITE: 'shr-text-white',\n TEXT_GREY: 'shr-text-grey',\n TEXT_DISABLED: 'shr-text-disabled',\n TEXT_LINK: 'shr-text-link',\n inherit: 'shr-text-color-inherit',\n },\n leading: {\n NONE: 'shr-leading-none',\n TIGHT: 'shr-leading-tight',\n NORMAL: 'shr-leading-normal',\n LOOSE: 'shr-leading-loose',\n },\n whiteSpace: {\n normal: 'shr-whitespace-normal',\n nowrap: 'shr-whitespace-nowrap',\n pre: 'shr-whitespace-pre',\n 'pre-line': 'shr-whitespace-pre-line',\n 'pre-wrap': 'shr-whitespace-pre-wrap',\n },\n },\n})\n\nconst wrapperClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Icon-extended smarthr-ui-Icon-withText shr-group/iconWrapper shr-inline-flex shr-items-baseline',\n ],\n variants: {\n gap: {\n 0: 'shr-gap-x-0',\n 0.25: 'shr-gap-x-0.25',\n 0.5: 'shr-gap-x-0.5',\n 0.75: 'shr-gap-x-0.75',\n 1: 'shr-gap-x-1',\n 1.25: 'shr-gap-x-1.25',\n 1.5: 'shr-gap-x-1.5',\n 2: 'shr-gap-x-2',\n 2.5: 'shr-gap-x-2.5',\n 3: 'shr-gap-x-3',\n 3.5: 'shr-gap-x-3.5',\n 4: 'shr-gap-x-4',\n 8: 'shr-gap-x-8',\n '-0.25': '-shr-gap-x-0.25',\n '-0.5': '-shr-gap-x-0.5',\n '-0.75': '-shr-gap-x-0.75',\n '-1': '-shr-gap-x-1',\n '-1.25': '-shr-gap-x-1.25',\n '-1.5': '-shr-gap-x-1.5',\n '-2': '-shr-gap-x-2',\n '-2.5': '-shr-gap-x-2.5',\n '-3': '-shr-gap-x-3',\n '-3.5': '-shr-gap-x-3.5',\n '-4': '-shr-gap-x-4',\n '-8': '-shr-gap-x-8',\n X3S: 'shr-gap-x-0.25',\n XXS: 'shr-gap-x-0.5',\n XS: 'shr-gap-x-1',\n S: 'shr-gap-x-1.5',\n M: 'shr-gap-x-2',\n L: 'shr-gap-x-2.5',\n XL: 'shr-gap-x-3',\n XXL: 'shr-gap-x-3.5',\n X3L: 'shr-gap-x-4',\n } as { [key in Gap]: string },\n },\n})\n\ntype ActualIconType =\n | undefined\n | {\n /** テキスト左に設置するアイコン */\n prefix?: ReactNode\n /** テキスト右に設置するアイコン */\n suffix?: ReactNode\n /** アイコンと並べるテキストとの溝 */\n gap?: CharRelativeSize | AbstractSize\n }\ntype IconType = ActualIconType | ReactNode\n\n// VariantProps を使うとコメントが書けない〜🥹\nexport type TextProps<T extends ElementType = 'span'> = VariantProps<typeof classNameGenerator> & {\n /** テキストコンポーネントの HTML タグ名。初期値は span */\n as?: T\n /** 強調するかどうかの真偽値。指定すると em 要素になる */\n emphasis?: boolean\n /** 見た目の種類 */\n styleType?: StyleType\n /** 設置するアイコン */\n icon?: IconType\n}\n\nconst iconObjectConverter = (icon: ReactNode) => (icon ? { prefix: icon } : undefined)\n\nconst ActualText = <T extends ElementType = 'span'>({\n emphasis,\n styleType,\n icon: orgIcon,\n weight = emphasis ? 'bold' : undefined,\n as: Component = emphasis ? 'em' : 'span',\n size,\n italic,\n color,\n leading,\n whiteSpace,\n className,\n children,\n ...rest\n}: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => {\n const icon = useObjectAttributes<IconType, ActualIconType>(orgIcon, iconObjectConverter)\n const actualClassName = useMemo(() => {\n const styleTypeValues = styleType\n ? STYLE_TYPE_MAP[styleType as StyleType]\n : UNDEFINED_STYLE_VALUES\n\n return classNameGenerator({\n size: size || styleTypeValues.size,\n weight: weight || styleTypeValues.weight,\n color: color || styleTypeValues.color,\n leading: leading || styleTypeValues.leading,\n italic,\n whiteSpace,\n className,\n })\n }, [size, weight, italic, color, leading, whiteSpace, className, styleType])\n const wrapperClassName = useMemo(\n () => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''),\n [icon],\n )\n\n return (\n <Component {...rest} className={actualClassName}>\n {icon ? (\n <span className={wrapperClassName}>\n {icon.prefix}\n {children}\n {icon.suffix}\n </span>\n ) : (\n children\n )}\n </Component>\n )\n}\n\nexport const Text = memo(ActualText) as typeof ActualText\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","sources":["../../../src/components/Text/Text.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type PropsWithChildren,\n type ReactNode,\n memo,\n useMemo,\n} from 'react'\nimport { type VariantProps, tv } from 'tailwind-variants'\n\nimport { useObjectAttributes } from '../../hooks/useObjectAttributes'\n\nimport type { AbstractSize, CharRelativeSize } from '../../themes/createSpacing'\nimport type { Gap } from '../../types'\n\ntype StyleType =\n | 'screenTitle'\n | 'sectionTitle'\n | 'blockTitle'\n | 'subBlockTitle'\n | 'subSubBlockTitle'\n\nexport const STYLE_TYPE_MAP: { [key in StyleType]: VariantProps<typeof classNameGenerator> } = {\n screenTitle: {\n size: 'XL',\n leading: 'TIGHT',\n weight: 'normal',\n },\n sectionTitle: {\n size: 'L',\n leading: 'TIGHT',\n weight: 'normal',\n },\n blockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n },\n subBlockTitle: {\n size: 'M',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n subSubBlockTitle: {\n size: 'S',\n leading: 'TIGHT',\n weight: 'bold',\n color: 'TEXT_GREY',\n },\n}\nconst UNDEFINED_STYLE_VALUES = {\n size: undefined,\n leading: undefined,\n weight: undefined,\n color: undefined,\n}\n\nconst classNameGenerator = tv({\n variants: {\n size: {\n XXS: 'shr-text-2xs',\n XS: 'shr-text-xs',\n S: 'shr-text-sm',\n M: 'shr-text-base',\n L: 'shr-text-lg',\n XL: 'shr-text-xl',\n XXL: 'shr-text-2xl',\n },\n weight: {\n normal: 'shr-font-normal',\n bold: 'shr-font-bold',\n },\n italic: {\n true: 'shr-italic',\n },\n color: {\n TEXT_BLACK: 'shr-text-black',\n TEXT_WHITE: 'shr-text-white',\n TEXT_GREY: 'shr-text-grey',\n TEXT_DISABLED: 'shr-text-disabled',\n TEXT_LINK: 'shr-text-link',\n inherit: 'shr-text-color-inherit',\n },\n leading: {\n NONE: 'shr-leading-none',\n TIGHT: 'shr-leading-tight',\n NORMAL: 'shr-leading-normal',\n LOOSE: 'shr-leading-loose',\n },\n whiteSpace: {\n normal: 'shr-whitespace-normal',\n nowrap: 'shr-whitespace-nowrap',\n pre: 'shr-whitespace-pre',\n 'pre-line': 'shr-whitespace-pre-line',\n 'pre-wrap': 'shr-whitespace-pre-wrap',\n },\n maxLines: {\n 1: 'shr-inline-block shr-w-full shr-overflow-x-clip shr-overflow-ellipsis shr-whitespace-nowrap shr-align-middle',\n 2: 'shr-line-clamp-[2]',\n 3: 'shr-line-clamp-[3]',\n 4: 'shr-line-clamp-[4]',\n 5: 'shr-line-clamp-[5]',\n 6: 'shr-line-clamp-[6]',\n },\n },\n})\n\nconst wrapperClassNameGenerator = tv({\n base: [\n 'smarthr-ui-Icon-extended smarthr-ui-Icon-withText shr-group/iconWrapper shr-inline-flex shr-items-baseline',\n ],\n variants: {\n gap: {\n 0: 'shr-gap-x-0',\n 0.25: 'shr-gap-x-0.25',\n 0.5: 'shr-gap-x-0.5',\n 0.75: 'shr-gap-x-0.75',\n 1: 'shr-gap-x-1',\n 1.25: 'shr-gap-x-1.25',\n 1.5: 'shr-gap-x-1.5',\n 2: 'shr-gap-x-2',\n 2.5: 'shr-gap-x-2.5',\n 3: 'shr-gap-x-3',\n 3.5: 'shr-gap-x-3.5',\n 4: 'shr-gap-x-4',\n 8: 'shr-gap-x-8',\n '-0.25': '-shr-gap-x-0.25',\n '-0.5': '-shr-gap-x-0.5',\n '-0.75': '-shr-gap-x-0.75',\n '-1': '-shr-gap-x-1',\n '-1.25': '-shr-gap-x-1.25',\n '-1.5': '-shr-gap-x-1.5',\n '-2': '-shr-gap-x-2',\n '-2.5': '-shr-gap-x-2.5',\n '-3': '-shr-gap-x-3',\n '-3.5': '-shr-gap-x-3.5',\n '-4': '-shr-gap-x-4',\n '-8': '-shr-gap-x-8',\n X3S: 'shr-gap-x-0.25',\n XXS: 'shr-gap-x-0.5',\n XS: 'shr-gap-x-1',\n S: 'shr-gap-x-1.5',\n M: 'shr-gap-x-2',\n L: 'shr-gap-x-2.5',\n XL: 'shr-gap-x-3',\n XXL: 'shr-gap-x-3.5',\n X3L: 'shr-gap-x-4',\n } as { [key in Gap]: string },\n },\n})\n\ntype ActualIconType =\n | undefined\n | {\n /** テキスト左に設置するアイコン */\n prefix?: ReactNode\n /** テキスト右に設置するアイコン */\n suffix?: ReactNode\n /** アイコンと並べるテキストとの溝 */\n gap?: CharRelativeSize | AbstractSize\n }\ntype IconType = ActualIconType | ReactNode\n\n// VariantProps を使うとコメントが書けない〜🥹\nexport type TextProps<T extends ElementType = 'span'> = VariantProps<typeof classNameGenerator> & {\n /** テキストコンポーネントの HTML タグ名。初期値は span */\n as?: T\n /** 強調するかどうかの真偽値。指定すると em 要素になる */\n emphasis?: boolean\n /** 見た目の種類 */\n styleType?: StyleType\n /** 設置するアイコン */\n icon?: IconType\n}\n\nconst iconObjectConverter = (icon: ReactNode) => (icon ? { prefix: icon } : undefined)\n\nconst ActualText = <T extends ElementType = 'span'>({\n emphasis,\n styleType,\n icon: orgIcon,\n weight = emphasis ? 'bold' : undefined,\n as: Component = emphasis ? 'em' : 'span',\n size,\n italic,\n color,\n leading,\n whiteSpace,\n maxLines,\n className,\n children,\n ...rest\n}: PropsWithChildren<TextProps<T> & ComponentProps<T>>) => {\n if (maxLines !== undefined && (maxLines < 1 || maxLines > 6)) {\n throw new Error('\"maxLines\" は 1 ~ 6 の範囲で指定してください')\n }\n\n const icon = useObjectAttributes<IconType, ActualIconType>(orgIcon, iconObjectConverter)\n const actualClassName = useMemo(() => {\n const styleTypeValues = styleType\n ? STYLE_TYPE_MAP[styleType as StyleType]\n : UNDEFINED_STYLE_VALUES\n\n return classNameGenerator({\n size: size || styleTypeValues.size,\n weight: weight || styleTypeValues.weight,\n color: color || styleTypeValues.color,\n leading: leading || styleTypeValues.leading,\n italic,\n whiteSpace,\n maxLines,\n className,\n })\n }, [size, weight, italic, color, leading, whiteSpace, maxLines, className, styleType])\n const wrapperClassName = useMemo(\n () => (icon ? wrapperClassNameGenerator({ gap: icon.gap || 0.25 }) : ''),\n [icon],\n )\n\n return (\n <Component {...rest} className={actualClassName}>\n {icon ? (\n <span className={wrapperClassName}>\n {icon.prefix}\n {children}\n {icon.suffix}\n </span>\n ) : (\n children\n )}\n </Component>\n )\n}\n\nexport const Text = memo(ActualText) as typeof ActualText\n"],"names":["tv","_jsx","_jsxs"],"mappings":"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"}