@lism-css/ui 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/README.ja.md +137 -0
  2. package/README.md +93 -5
  3. package/dist/components/Accordion/getProps.js +53 -0
  4. package/dist/components/Accordion/react/AccIcon.js +9 -0
  5. package/dist/components/Accordion/react/Accordion.d.ts +5 -6
  6. package/dist/components/Accordion/react/Accordion.js +45 -0
  7. package/dist/components/Accordion/react/index.js +6 -0
  8. package/dist/components/Alert/getProps.js +20 -0
  9. package/dist/components/Alert/presets.js +29 -0
  10. package/dist/components/Alert/react/Alert.js +16 -0
  11. package/dist/components/Avatar/react/Avatar.js +8 -0
  12. package/dist/components/Badge/react/Badge.js +12 -0
  13. package/dist/components/Button/react/Button.js +12 -0
  14. package/dist/components/Callout/getProps.js +22 -0
  15. package/dist/components/Callout/presets.js +29 -0
  16. package/dist/components/Callout/react/Callout.js +20 -0
  17. package/dist/components/Chat/getProps.js +47 -0
  18. package/dist/components/Chat/react/Chat.js +22 -0
  19. package/dist/components/Details/getProps.js +15 -0
  20. package/dist/components/Details/react/Details.js +28 -0
  21. package/dist/components/Details/react/index.js +5 -0
  22. package/dist/components/DummyImage/astro/index.d.ts +1 -0
  23. package/dist/components/DummyImage/react/DummyImage.d.ts +2 -0
  24. package/dist/components/DummyImage/react/DummyImage.js +8 -0
  25. package/dist/components/DummyImage/react/index.d.ts +1 -0
  26. package/dist/components/DummyText/astro/index.d.ts +1 -0
  27. package/dist/components/DummyText/getContent.d.ts +11 -0
  28. package/dist/components/DummyText/getContent.js +9 -0
  29. package/dist/components/DummyText/react/DummyText.d.ts +10 -0
  30. package/dist/components/DummyText/react/DummyText.js +10 -0
  31. package/dist/components/DummyText/react/index.d.ts +1 -0
  32. package/dist/components/DummyText/texts.d.ts +22 -0
  33. package/dist/components/DummyText/texts.js +39 -0
  34. package/dist/components/Modal/getProps.js +25 -0
  35. package/dist/components/Modal/react/Body.js +9 -0
  36. package/dist/components/Modal/react/CloseBtn.js +13 -0
  37. package/dist/components/Modal/react/Inner.js +9 -0
  38. package/dist/components/Modal/react/Modal.d.ts +1 -2
  39. package/dist/components/Modal/react/Modal.js +17 -0
  40. package/dist/components/Modal/react/OpenBtn.js +9 -0
  41. package/dist/components/Modal/react/index.js +9 -0
  42. package/dist/components/Modal/setModal.js +16 -17
  43. package/dist/components/NavMenu/getProps.js +40 -0
  44. package/dist/components/NavMenu/react/NavMenu.js +24 -0
  45. package/dist/components/NavMenu/react/index.js +5 -0
  46. package/dist/components/ShapeDivider/getProps.js +22 -0
  47. package/dist/components/ShapeDivider/react/ShapeDivider.js +26 -0
  48. package/dist/components/Tabs/getProps.js +10 -0
  49. package/dist/components/Tabs/react/Tab.js +9 -0
  50. package/dist/components/Tabs/react/TabItem.js +7 -0
  51. package/dist/components/Tabs/react/TabList.js +8 -0
  52. package/dist/components/Tabs/react/TabPanel.js +9 -0
  53. package/dist/components/Tabs/react/Tabs.d.ts +1 -2
  54. package/dist/components/Tabs/react/Tabs.js +48 -0
  55. package/dist/components/Tabs/react/index.js +9 -0
  56. package/dist/components/Tabs/setTabs.js +10 -11
  57. package/dist/components/astro.d.ts +2 -0
  58. package/dist/components/react.d.ts +2 -0
  59. package/dist/components/react.js +30 -0
  60. package/dist/lism-css/dist/components/Center/index.js +8 -0
  61. package/dist/lism-css/dist/components/Flex/index.js +8 -0
  62. package/dist/lism-css/dist/components/Flow/index.js +8 -0
  63. package/dist/lism-css/dist/components/Frame/index.js +8 -0
  64. package/dist/lism-css/dist/components/Grid/index.js +8 -0
  65. package/dist/lism-css/dist/components/Lism/index.js +8 -0
  66. package/dist/lism-css/dist/components/Stack/index.js +8 -0
  67. package/dist/lism-css/dist/components/atomic/Decorator/getProps.js +15 -0
  68. package/dist/lism-css/dist/components/atomic/Decorator/index.js +9 -0
  69. package/dist/lism-css/dist/components/atomic/Icon/SVG.js +22 -0
  70. package/dist/lism-css/dist/components/atomic/Icon/getProps.js +56 -0
  71. package/dist/lism-css/dist/components/atomic/Icon/index.js +12 -0
  72. package/dist/lism-css/dist/components/atomic/Icon/presets.js +276 -0
  73. package/dist/lism-css/dist/config/default-config.js +11 -0
  74. package/dist/lism-css/dist/config/defaults/props.js +340 -0
  75. package/dist/lism-css/dist/config/defaults/states.js +39 -0
  76. package/dist/lism-css/dist/config/defaults/tokens.js +30 -0
  77. package/dist/lism-css/dist/config/helper/getSvgUrl.js +4 -0
  78. package/dist/lism-css/dist/config/helper.js +27 -0
  79. package/dist/lism-css/dist/config/index.js +17 -0
  80. package/dist/lism-css/dist/lib/getBpData.js +19 -0
  81. package/dist/lism-css/dist/lib/getLayoutProps.js +30 -0
  82. package/dist/lism-css/dist/lib/getLismProps.js +188 -0
  83. package/dist/lism-css/dist/lib/getMaybeCssVar.js +42 -0
  84. package/dist/lism-css/dist/lib/getMaybeTokenValue.js +26 -0
  85. package/dist/lism-css/dist/lib/getUtilKey.js +13 -0
  86. package/dist/lism-css/dist/lib/helper/atts.js +11 -0
  87. package/dist/lism-css/dist/lib/helper/filterEmptyObj.js +10 -0
  88. package/dist/lism-css/dist/lib/helper/hasSomeKeys.js +6 -0
  89. package/dist/lism-css/dist/lib/helper/isEmptyObj.js +6 -0
  90. package/dist/lism-css/dist/lib/helper/isNumStr.js +6 -0
  91. package/dist/lism-css/dist/lib/helper/splitWithComma.js +6 -0
  92. package/dist/lism-css/dist/lib/isPresetValue.js +13 -0
  93. package/dist/lism-css/dist/lib/isTokenValue.js +27 -0
  94. package/dist/style.css +1 -1
  95. package/dist/ui.css +1 -0
  96. package/package.json +9 -7
  97. package/src/components/Accordion/_style.css +69 -69
  98. package/src/components/Accordion/astro/Button.astro +2 -2
  99. package/src/components/Accordion/astro/Heading.astro +1 -1
  100. package/src/components/Accordion/astro/Item.astro +7 -7
  101. package/src/components/Accordion/astro/Panel.astro +3 -3
  102. package/src/components/Accordion/astro/Root.astro +3 -3
  103. package/src/components/Accordion/getProps.js +54 -54
  104. package/src/components/Accordion/react/AccIcon.jsx +1 -1
  105. package/src/components/Accordion/react/Accordion.jsx +37 -36
  106. package/src/components/Accordion/script.js +1 -1
  107. package/src/components/Accordion/setAccordion.js +93 -93
  108. package/src/components/Alert/astro/Alert.astro +6 -6
  109. package/src/components/Alert/getProps.ts +22 -22
  110. package/src/components/Alert/presets.ts +26 -26
  111. package/src/components/Alert/react/Alert.tsx +9 -9
  112. package/src/components/Avatar/astro/Avatar.astro +2 -2
  113. package/src/components/Avatar/react/Avatar.jsx +5 -5
  114. package/src/components/Badge/_style.css +14 -14
  115. package/src/components/Badge/astro/Badge.astro +4 -4
  116. package/src/components/Badge/react/Badge.jsx +6 -6
  117. package/src/components/Button/_style.css +29 -29
  118. package/src/components/Button/astro/Button.astro +4 -4
  119. package/src/components/Button/react/Button.jsx +6 -6
  120. package/src/components/Callout/astro/Callout.astro +13 -13
  121. package/src/components/Callout/getProps.ts +24 -24
  122. package/src/components/Callout/presets.ts +26 -26
  123. package/src/components/Callout/react/Callout.tsx +16 -16
  124. package/src/components/Chat/_style.css +49 -49
  125. package/src/components/Chat/astro/Chat.astro +27 -27
  126. package/src/components/Chat/getProps.js +40 -45
  127. package/src/components/Chat/react/Chat.jsx +17 -17
  128. package/src/components/Details/_style.css +39 -39
  129. package/src/components/Details/astro/Content.astro +3 -3
  130. package/src/components/Details/astro/Details.astro +1 -1
  131. package/src/components/Details/astro/Icon.astro +1 -1
  132. package/src/components/Details/astro/Summary.astro +2 -2
  133. package/src/components/Details/astro/Title.astro +1 -1
  134. package/src/components/Details/getProps.js +7 -7
  135. package/src/components/Details/react/Details.jsx +24 -24
  136. package/src/components/DummyImage/astro/DummyImage.astro +7 -0
  137. package/src/components/DummyImage/astro/index.ts +1 -0
  138. package/src/components/DummyImage/react/DummyImage.tsx +5 -0
  139. package/src/components/DummyImage/react/index.ts +1 -0
  140. package/src/components/DummyText/astro/DummyText.astro +9 -0
  141. package/src/components/DummyText/astro/index.ts +1 -0
  142. package/src/components/DummyText/getContent.ts +39 -0
  143. package/src/components/DummyText/react/DummyText.tsx +15 -0
  144. package/src/components/DummyText/react/index.ts +1 -0
  145. package/src/components/DummyText/texts.ts +39 -0
  146. package/src/components/Modal/_style.css +34 -34
  147. package/src/components/Modal/astro/Body.astro +1 -1
  148. package/src/components/Modal/astro/CloseBtn.astro +10 -10
  149. package/src/components/Modal/astro/Inner.astro +1 -1
  150. package/src/components/Modal/astro/Modal.astro +3 -3
  151. package/src/components/Modal/astro/OpenBtn.astro +1 -1
  152. package/src/components/Modal/getProps.js +19 -19
  153. package/src/components/Modal/react/Body.jsx +5 -5
  154. package/src/components/Modal/react/CloseBtn.jsx +13 -13
  155. package/src/components/Modal/react/Inner.jsx +1 -1
  156. package/src/components/Modal/react/Modal.jsx +12 -11
  157. package/src/components/Modal/react/OpenBtn.jsx +5 -5
  158. package/src/components/Modal/script.js +1 -1
  159. package/src/components/Modal/setModal.ts +92 -92
  160. package/src/components/NavMenu/_style.css +17 -17
  161. package/src/components/NavMenu/astro/Item.astro +1 -1
  162. package/src/components/NavMenu/astro/Link.astro +1 -1
  163. package/src/components/NavMenu/astro/Nest.astro +1 -1
  164. package/src/components/NavMenu/astro/Root.astro +1 -1
  165. package/src/components/NavMenu/getProps.js +28 -28
  166. package/src/components/NavMenu/react/NavMenu.jsx +4 -4
  167. package/src/components/ShapeDivider/_style.css +51 -51
  168. package/src/components/ShapeDivider/astro/ShapeDivider.astro +20 -20
  169. package/src/components/ShapeDivider/getProps.js +23 -23
  170. package/src/components/ShapeDivider/react/ShapeDivider.jsx +24 -24
  171. package/src/components/Tabs/_style.css +29 -29
  172. package/src/components/Tabs/astro/Tab.astro +2 -2
  173. package/src/components/Tabs/astro/TabItem.astro +1 -1
  174. package/src/components/Tabs/astro/TabList.astro +2 -2
  175. package/src/components/Tabs/astro/TabPanel.astro +2 -2
  176. package/src/components/Tabs/astro/Tabs.astro +20 -20
  177. package/src/components/Tabs/astro/transformTabitems.js +30 -30
  178. package/src/components/Tabs/getProps.js +4 -4
  179. package/src/components/Tabs/react/Tab.jsx +4 -12
  180. package/src/components/Tabs/react/TabItem.jsx +1 -1
  181. package/src/components/Tabs/react/TabList.jsx +2 -2
  182. package/src/components/Tabs/react/TabPanel.jsx +2 -2
  183. package/src/components/Tabs/react/Tabs.jsx +46 -47
  184. package/src/components/Tabs/script.js +4 -4
  185. package/src/components/Tabs/setTabs.js +70 -70
  186. package/src/components/astro.ts +2 -0
  187. package/src/components/react.ts +2 -0
  188. package/src/helper/animation.ts +10 -10
  189. package/src/helper/uuid.js +3 -3
@@ -2,86 +2,86 @@
2
2
  * タブ
3
3
  */
4
4
  function tabControl(e) {
5
- e.preventDefault();
5
+ e.preventDefault();
6
6
 
7
- // クリックされたボタン要素
8
- const clickedButton = e.currentTarget;
7
+ // クリックされたボタン要素
8
+ const clickedButton = e.currentTarget;
9
9
 
10
- // クリックイベントがキー(Enter / space)によって呼び出されたかどうか
11
- // const iskeyClick = 0 === e.clientX;
10
+ // クリックイベントがキー(Enter / space)によって呼び出されたかどうか
11
+ // const iskeyClick = 0 === e.clientX;
12
12
 
13
- // マウスクリック時はフォーカスを外す
14
- // if (!iskeyClick) {
15
- // clickedButton.blur();
16
- // }
13
+ // マウスクリック時はフォーカスを外す
14
+ // if (!iskeyClick) {
15
+ // clickedButton.blur();
16
+ // }
17
17
 
18
- // 属性の切り替え
19
- toggleAriaData(clickedButton);
18
+ // 属性の切り替え
19
+ toggleAriaData(clickedButton);
20
20
  }
21
21
 
22
22
  const toggleAriaData = (clickedButton) => {
23
- // すでにオープンされているタブの場合はなにもしない
24
- const isOpend = 'true' === clickedButton.getAttribute('aria-selected');
25
- if (isOpend) return;
26
-
27
- // 新しく表示するBodyを取得
28
- const targetID = clickedButton.getAttribute('aria-controls');
29
- const targetBody = document.getElementById(targetID);
30
- if (null === targetBody) return;
31
-
32
- // 親のタブリスト(ul)を取得
33
- const parentTabList = clickedButton.parentNode.parentNode;
34
-
35
- // 現在選択中のタブボタンを取得
36
- const selectedButton = parentTabList.querySelector('[aria-selected="true"]');
37
-
38
- // 展開中のBodyを取得
39
- const displayedID = selectedButton.getAttribute('aria-controls');
40
- const displayedBody = document.getElementById(displayedID);
41
-
42
- // ariaの処理
43
- clickedButton.setAttribute('aria-selected', 'true');
44
- selectedButton.setAttribute('aria-selected', 'false');
45
- displayedBody.setAttribute('aria-hidden', 'true');
46
- targetBody.setAttribute('aria-hidden', 'false');
23
+ // すでにオープンされているタブの場合はなにもしない
24
+ const isOpend = 'true' === clickedButton.getAttribute('aria-selected');
25
+ if (isOpend) return;
26
+
27
+ // 新しく表示するBodyを取得
28
+ const targetID = clickedButton.getAttribute('aria-controls');
29
+ const targetBody = document.getElementById(targetID);
30
+ if (null === targetBody) return;
31
+
32
+ // 親のタブリスト(ul)を取得
33
+ const parentTabList = clickedButton.parentNode.parentNode;
34
+
35
+ // 現在選択中のタブボタンを取得
36
+ const selectedButton = parentTabList.querySelector('[aria-selected="true"]');
37
+
38
+ // 展開中のBodyを取得
39
+ const displayedID = selectedButton.getAttribute('aria-controls');
40
+ const displayedBody = document.getElementById(displayedID);
41
+
42
+ // ariaの処理
43
+ clickedButton.setAttribute('aria-selected', 'true');
44
+ selectedButton.setAttribute('aria-selected', 'false');
45
+ displayedBody.setAttribute('aria-hidden', 'true');
46
+ targetBody.setAttribute('aria-hidden', 'false');
47
47
  };
48
48
 
49
49
  function setTabs(tabs) {
50
- const tabBtns = tabs.querySelectorAll('button[role="tab"]');
51
- tabBtns.forEach((tabBtn) => {
52
- tabBtn.addEventListener('click', function (e) {
53
- tabControl(e);
54
- });
55
- });
56
-
57
- // タブへのリンクがあるかどうか
58
- const nowUrl = window?.location?.href;
59
- if (!nowUrl) return;
60
-
61
- const hasTabLink = -1 !== nowUrl.indexOf('?lism-tab=');
62
- if (!hasTabLink) return;
63
-
64
- // URLでタブを切り替える機能がONかどうか
65
-
66
- // URLSearchParamsオブジェクトを取得
67
- const url = new URL(nowUrl);
68
- const params = url.searchParams;
69
-
70
- // getメソッド
71
- const targetTabId = params.get('lism-tab');
72
- const target = tabs.querySelector(`[aria-controls="${targetTabId}"]`);
73
- if (target) {
74
- // transitionをオフにするための属性
75
- tabs.dataset.hasTabLink = '1';
76
-
77
- // タブ切り替え
78
- toggleAriaData(target);
79
-
80
- // 少し後で属性削除
81
- setTimeout(() => {
82
- delete tabs.dataset.hasTabLink;
83
- }, 10);
84
- }
50
+ const tabBtns = tabs.querySelectorAll('button[role="tab"]');
51
+ tabBtns.forEach((tabBtn) => {
52
+ tabBtn.addEventListener('click', function (e) {
53
+ tabControl(e);
54
+ });
55
+ });
56
+
57
+ // タブへのリンクがあるかどうか
58
+ const nowUrl = window?.location?.href;
59
+ if (!nowUrl) return;
60
+
61
+ const hasTabLink = -1 !== nowUrl.indexOf('?lism-tab=');
62
+ if (!hasTabLink) return;
63
+
64
+ // URLでタブを切り替える機能がONかどうか
65
+
66
+ // URLSearchParamsオブジェクトを取得
67
+ const url = new URL(nowUrl);
68
+ const params = url.searchParams;
69
+
70
+ // getメソッド
71
+ const targetTabId = params.get('lism-tab');
72
+ const target = tabs.querySelector(`[aria-controls="${targetTabId}"]`);
73
+ if (target) {
74
+ // transitionをオフにするための属性
75
+ tabs.dataset.hasTabLink = '1';
76
+
77
+ // タブ切り替え
78
+ toggleAriaData(target);
79
+
80
+ // 少し後で属性削除
81
+ setTimeout(() => {
82
+ delete tabs.dataset.hasTabLink;
83
+ }, 10);
84
+ }
85
85
  }
86
86
 
87
87
  export default setTabs;
@@ -10,3 +10,5 @@ export { default as Modal } from './Modal/astro';
10
10
  export { default as NavMenu } from './NavMenu/astro';
11
11
  export { default as ShapeDivider } from './ShapeDivider/astro';
12
12
  export { default as Tabs } from './Tabs/astro';
13
+ export { default as DummyText } from './DummyText/astro';
14
+ export { default as DummyImage } from './DummyImage/astro';
@@ -10,3 +10,5 @@ export { default as Modal } from './Modal/react';
10
10
  export { default as NavMenu } from './NavMenu/react';
11
11
  export { default as ShapeDivider } from './ShapeDivider/react';
12
12
  export { default as Tabs } from './Tabs/react';
13
+ export { default as DummyText } from './DummyText/react';
14
+ export { default as DummyImage } from './DummyImage/react';
@@ -14,23 +14,23 @@ export const waitFrame = (): Promise<number> => new Promise((resolve) => request
14
14
  * - 'canceled': pause() 等でキャンセルされたアニメーションがあった
15
15
  */
16
16
  export const waitAnimation = async (el: HTMLElement): Promise<AnimationStatus> => {
17
- const animations = el.getAnimations();
17
+ const animations = el.getAnimations();
18
18
 
19
- // アニメーションがなければ 'none' を返す
20
- if (animations.length === 0) return 'none';
19
+ // アニメーションがなければ 'none' を返す
20
+ if (animations.length === 0) return 'none';
21
21
 
22
- // allSettled を使うことで、キャンセル時も例外にならずに結果を取得できる
23
- const results = await Promise.allSettled(animations.map((a) => a.finished));
22
+ // allSettled を使うことで、キャンセル時も例外にならずに結果を取得できる
23
+ const results = await Promise.allSettled(animations.map((a) => a.finished));
24
24
 
25
- // ( pause()で止めた時用 )rejected があれば 'canceled'
26
- return results.every((r) => r.status === 'fulfilled') ? 'finished' : 'canceled';
25
+ // ( pause()で止めた時用 )rejected があれば 'canceled'
26
+ return results.every((r) => r.status === 'fulfilled') ? 'finished' : 'canceled';
27
27
  };
28
28
 
29
29
  /**
30
30
  * 実行中のアニメーションがあれば一旦停止させる
31
31
  */
32
32
  export const maybePauseAnimation = (el: HTMLElement): void => {
33
- const animations = el.getAnimations();
34
- if (animations.length === 0) return;
35
- animations.forEach((a) => a.pause());
33
+ const animations = el.getAnimations();
34
+ if (animations.length === 0) return;
35
+ animations.forEach((a) => a.pause());
36
36
  };
@@ -1,6 +1,6 @@
1
1
  // https://stackoverflow.com/questions/105034/how-do-i-create-a-guid-uuid
2
2
  export default function uuidv4() {
3
- return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
4
- (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16)
5
- );
3
+ return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>
4
+ (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16)
5
+ );
6
6
  }