@lism-css/ui 0.10.0 → 0.12.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.
- package/README.md +1 -1
- package/dist/components/Accordion/Accordion.stories.d.ts +7 -0
- package/dist/components/Accordion/getProps.d.ts +55 -42
- package/dist/components/Accordion/getProps.js +36 -32
- package/dist/components/Accordion/react/AccIcon.d.ts +2 -1
- package/dist/components/Accordion/react/Accordion.d.ts +12 -21
- package/dist/components/Accordion/react/Accordion.js +30 -29
- package/dist/components/Accordion/react/index.d.ts +10 -11
- package/dist/components/Accordion/setAccordion.d.ts +6 -3
- package/dist/components/Accordion/setAccordion.js +12 -10
- package/dist/components/Alert/Alert.stories.d.ts +13 -0
- package/dist/components/Alert/getProps.d.ts +6 -4
- package/dist/components/Alert/react/Alert.d.ts +3 -4
- package/dist/components/Alert/react/Alert.js +2 -2
- package/dist/components/Avatar/Avatar.stories.d.ts +8 -0
- package/dist/components/Avatar/react/Avatar.d.ts +10 -6
- package/dist/components/Avatar/react/Avatar.js +1 -1
- package/dist/components/Badge/Badge.stories.d.ts +8 -0
- package/dist/components/Badge/react/Badge.d.ts +3 -1
- package/dist/components/Badge/react/Badge.js +5 -8
- package/dist/components/Button/Button.stories.d.ts +8 -0
- package/dist/components/Button/react/Button.d.ts +3 -1
- package/dist/components/Button/react/Button.js +3 -6
- package/dist/components/Callout/Callout.stories.d.ts +12 -0
- package/dist/components/Callout/getProps.d.ts +3 -3
- package/dist/components/Callout/getProps.js +11 -12
- package/dist/components/Callout/react/Callout.d.ts +3 -4
- package/dist/components/Callout/react/Callout.js +4 -4
- package/dist/components/Chat/Chat.stories.d.ts +9 -0
- package/dist/components/Chat/getProps.d.ts +43 -44
- package/dist/components/Chat/getProps.js +2 -2
- package/dist/components/Chat/react/Chat.d.ts +11 -7
- package/dist/components/Chat/react/Chat.js +10 -10
- package/dist/components/Details/Details.stories.d.ts +6 -0
- package/dist/components/Details/getProps.d.ts +34 -35
- package/dist/components/Details/getProps.js +16 -6
- package/dist/components/Details/react/Details.d.ts +11 -20
- package/dist/components/Details/react/Details.js +15 -15
- package/dist/components/Details/react/index.d.ts +7 -7
- package/dist/components/DummyImage/DummyImage.stories.d.ts +7 -0
- package/dist/components/DummyText/DummyText.stories.d.ts +9 -0
- package/dist/components/Modal/Modal.stories.d.ts +6 -0
- package/dist/components/Modal/getProps.d.ts +36 -36
- package/dist/components/Modal/getProps.js +36 -17
- package/dist/components/Modal/react/Body.d.ts +2 -4
- package/dist/components/Modal/react/CloseBtn.d.ts +9 -7
- package/dist/components/Modal/react/CloseBtn.js +5 -5
- package/dist/components/Modal/react/Inner.d.ts +3 -4
- package/dist/components/Modal/react/Modal.d.ts +4 -4
- package/dist/components/Modal/react/Modal.js +11 -9
- package/dist/components/Modal/react/OpenBtn.d.ts +7 -5
- package/dist/components/Modal/react/OpenBtn.js +4 -4
- package/dist/components/Modal/react/index.d.ts +7 -8
- package/dist/components/NavMenu/NavMenu.stories.d.ts +7 -0
- package/dist/components/NavMenu/getProps.d.ts +31 -29
- package/dist/components/NavMenu/react/NavMenu.d.ts +6 -16
- package/dist/components/NavMenu/react/NavMenu.js +21 -17
- package/dist/components/NavMenu/react/index.d.ts +6 -6
- package/dist/components/ShapeDivider/ShapeDivider.stories.d.ts +10 -0
- package/dist/components/ShapeDivider/getProps.d.ts +16 -11
- package/dist/components/ShapeDivider/getProps.js +10 -12
- package/dist/components/ShapeDivider/react/ShapeDivider.d.ts +3 -4
- package/dist/components/ShapeDivider/react/ShapeDivider.js +3 -3
- package/dist/components/Tabs/Tabs.stories.d.ts +6 -0
- package/dist/components/Tabs/getProps.d.ts +11 -4
- package/dist/components/Tabs/getProps.js +14 -4
- package/dist/components/Tabs/react/Tab.d.ts +8 -6
- package/dist/components/Tabs/react/Tab.js +15 -6
- package/dist/components/Tabs/react/TabItem.d.ts +7 -4
- package/dist/components/Tabs/react/TabList.d.ts +2 -1
- package/dist/components/Tabs/react/TabPanel.d.ts +8 -6
- package/dist/components/Tabs/react/Tabs.d.ts +9 -7
- package/dist/components/Tabs/react/Tabs.js +50 -36
- package/dist/components/Tabs/react/index.d.ts +8 -8
- package/dist/components/Tabs/setTabs.d.ts +1 -1
- package/dist/components/Tabs/setTabs.js +25 -15
- package/dist/lism-css/dist/components/{Center → layout/Center}/index.js +1 -1
- package/dist/lism-css/dist/components/{Flex → layout/Flex}/index.js +1 -1
- package/dist/lism-css/dist/components/{Flow → layout/Flow}/index.js +1 -1
- package/dist/lism-css/dist/components/{Frame → layout/Frame}/index.js +1 -1
- package/dist/lism-css/dist/components/{Grid → layout/Grid}/index.js +1 -1
- package/dist/lism-css/dist/components/{Stack → layout/Stack}/index.js +1 -1
- package/dist/lism-css/dist/config/defaults/props.js +16 -26
- package/dist/lism-css/dist/config/defaults/states.js +3 -24
- package/dist/lism-css/dist/config/defaults/tokens.js +2 -2
- package/dist/lism-css/dist/lib/getLayoutProps.js +6 -9
- package/dist/lism-css/dist/lib/getLismProps.js +94 -92
- package/dist/lism-css/dist/lib/helper/mergeSet.js +14 -0
- package/dist/style.css +1 -1
- package/dist/ui.css +1 -1
- package/package.json +14 -7
- package/src/components/Accordion/Accordion.stories.tsx +105 -0
- package/src/components/Accordion/astro/Button.astro +2 -2
- package/src/components/Accordion/getProps.ts +91 -0
- package/src/components/Accordion/react/{AccIcon.jsx → AccIcon.tsx} +2 -2
- package/src/components/Accordion/react/{Accordion.jsx → Accordion.tsx} +33 -11
- package/src/components/Accordion/setAccordion.ts +120 -0
- package/src/components/Alert/Alert.stories.tsx +64 -0
- package/src/components/Alert/getProps.ts +5 -3
- package/src/components/Alert/react/Alert.tsx +3 -3
- package/src/components/Avatar/Avatar.stories.tsx +42 -0
- package/src/components/Avatar/react/Avatar.tsx +17 -0
- package/src/components/Badge/Badge.stories.tsx +40 -0
- package/src/components/Badge/astro/Badge.astro +1 -7
- package/src/components/Badge/react/Badge.tsx +7 -0
- package/src/components/Button/Button.stories.tsx +44 -0
- package/src/components/Button/astro/Button.astro +1 -7
- package/src/components/Button/react/Button.tsx +7 -0
- package/src/components/Callout/Callout.stories.tsx +55 -0
- package/src/components/Callout/getProps.ts +5 -5
- package/src/components/Callout/react/Callout.tsx +3 -3
- package/src/components/Chat/Chat.stories.tsx +58 -0
- package/src/components/Chat/_style.css +5 -5
- package/src/components/Chat/{getProps.js → getProps.ts} +10 -4
- package/src/components/Chat/react/{Chat.jsx → Chat.tsx} +13 -3
- package/src/components/Details/Details.stories.tsx +61 -0
- package/src/components/Details/astro/Title.astro +2 -2
- package/src/components/Details/{getProps.js → getProps.ts} +19 -6
- package/src/components/Details/react/Details.tsx +69 -0
- package/src/components/DummyImage/DummyImage.stories.tsx +23 -0
- package/src/components/DummyText/DummyText.stories.tsx +48 -0
- package/src/components/Modal/Modal.stories.tsx +67 -0
- package/src/components/Modal/astro/CloseBtn.astro +2 -2
- package/src/components/Modal/astro/OpenBtn.astro +2 -3
- package/src/components/Modal/getProps.ts +65 -0
- package/src/components/Modal/react/Body.tsx +10 -0
- package/src/components/Modal/react/CloseBtn.tsx +24 -0
- package/src/components/Modal/react/Inner.tsx +6 -0
- package/src/components/Modal/react/Modal.tsx +24 -0
- package/src/components/Modal/react/OpenBtn.tsx +15 -0
- package/src/components/Modal/{script.js → script.ts} +1 -1
- package/src/components/NavMenu/NavMenu.stories.tsx +68 -0
- package/src/components/NavMenu/getProps.ts +60 -0
- package/src/components/NavMenu/react/NavMenu.tsx +40 -0
- package/src/components/ShapeDivider/ShapeDivider.stories.tsx +87 -0
- package/src/components/ShapeDivider/getProps.ts +36 -0
- package/src/components/ShapeDivider/react/{ShapeDivider.jsx → ShapeDivider.tsx} +4 -4
- package/src/components/Tabs/Tabs.stories.tsx +79 -0
- package/src/components/Tabs/astro/Tab.astro +2 -1
- package/src/components/Tabs/astro/{transformTabitems.js → transformTabitems.ts} +9 -9
- package/src/components/Tabs/getProps.ts +23 -0
- package/src/components/Tabs/react/Tab.tsx +21 -0
- package/src/components/Tabs/react/TabItem.tsx +13 -0
- package/src/components/Tabs/react/TabList.tsx +5 -0
- package/src/components/Tabs/react/{TabPanel.jsx → TabPanel.tsx} +8 -3
- package/src/components/Tabs/react/{Tabs.jsx → Tabs.tsx} +27 -12
- package/src/components/Tabs/{script.js → script.ts} +2 -2
- package/src/components/Tabs/setTabs.ts +65 -0
- package/src/helper/{uuid.js → uuid.ts} +2 -2
- package/src/vite-env.d.ts +1 -0
- package/dist/components/Accordion/astro/__setEvent.d.ts +0 -1
- package/dist/components/Accordion/astro/index.d.ts +0 -15
- package/dist/components/Alert/astro/index.d.ts +0 -1
- package/dist/components/Callout/astro/index.d.ts +0 -1
- package/dist/components/Details/astro/index.d.ts +0 -13
- package/dist/components/DummyImage/astro/index.d.ts +0 -1
- package/dist/components/DummyText/astro/index.d.ts +0 -1
- package/dist/components/Modal/astro/index.d.ts +0 -13
- package/dist/components/NavMenu/astro/index.d.ts +0 -11
- package/dist/components/Tabs/astro/index.d.ts +0 -13
- package/dist/components/Tabs/astro/transformTabitems.d.ts +0 -4
- package/dist/components/astro.d.ts +0 -14
- package/dist/lism-css/dist/config/helper/getSvgUrl.js +0 -4
- package/src/components/Accordion/getProps.js +0 -77
- package/src/components/Accordion/setAccordion.js +0 -146
- package/src/components/Avatar/astro/index.js +0 -1
- package/src/components/Avatar/react/Avatar.jsx +0 -9
- package/src/components/Badge/astro/index.js +0 -1
- package/src/components/Badge/react/Badge.jsx +0 -12
- package/src/components/Button/astro/index.js +0 -1
- package/src/components/Button/react/Button.jsx +0 -12
- package/src/components/Chat/astro/index.js +0 -1
- package/src/components/Details/react/Details.jsx +0 -66
- package/src/components/Modal/getProps.js +0 -30
- package/src/components/Modal/react/Body.jsx +0 -10
- package/src/components/Modal/react/CloseBtn.jsx +0 -20
- package/src/components/Modal/react/Inner.jsx +0 -6
- package/src/components/Modal/react/Modal.jsx +0 -23
- package/src/components/Modal/react/OpenBtn.jsx +0 -11
- package/src/components/NavMenu/getProps.js +0 -65
- package/src/components/NavMenu/react/NavMenu.jsx +0 -19
- package/src/components/ShapeDivider/astro/index.js +0 -1
- package/src/components/ShapeDivider/getProps.js +0 -40
- package/src/components/Tabs/getProps.js +0 -8
- package/src/components/Tabs/react/Tab.jsx +0 -10
- package/src/components/Tabs/react/TabItem.jsx +0 -5
- package/src/components/Tabs/react/TabList.jsx +0 -6
- package/src/components/Tabs/setTabs.js +0 -87
- /package/src/components/Accordion/astro/{index.js → index.ts} +0 -0
- /package/src/components/Accordion/react/{index.js → index.ts} +0 -0
- /package/src/components/Accordion/{script.js → script.ts} +0 -0
- /package/{dist/components/Avatar/astro/index.d.ts → src/components/Avatar/astro/index.ts} +0 -0
- /package/src/components/Avatar/react/{index.js → index.ts} +0 -0
- /package/{dist/components/Badge/astro/index.d.ts → src/components/Badge/astro/index.ts} +0 -0
- /package/src/components/Badge/react/{index.js → index.ts} +0 -0
- /package/{dist/components/Button/astro/index.d.ts → src/components/Button/astro/index.ts} +0 -0
- /package/src/components/Button/react/{index.js → index.ts} +0 -0
- /package/{dist/components/Chat/astro/index.d.ts → src/components/Chat/astro/index.ts} +0 -0
- /package/src/components/Chat/react/{index.js → index.ts} +0 -0
- /package/src/components/Details/astro/{index.js → index.ts} +0 -0
- /package/src/components/Details/react/{index.js → index.ts} +0 -0
- /package/src/components/Modal/astro/{index.js → index.ts} +0 -0
- /package/src/components/Modal/react/{index.js → index.ts} +0 -0
- /package/src/components/NavMenu/astro/{index.js → index.ts} +0 -0
- /package/src/components/NavMenu/react/{index.js → index.ts} +0 -0
- /package/{dist/components/ShapeDivider/astro/index.d.ts → src/components/ShapeDivider/astro/index.ts} +0 -0
- /package/src/components/ShapeDivider/react/{index.js → index.ts} +0 -0
- /package/src/components/Tabs/astro/{index.js → index.ts} +0 -0
- /package/src/components/Tabs/react/{index.js → index.ts} +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NavMenu コンポーネントの共通プロパティ処理
|
|
3
|
-
*/
|
|
4
|
-
import getMaybeCssVar from 'lism-css/lib/getMaybeCssVar';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* NavMenu.Root のプロパティを処理
|
|
8
|
-
* @param {object} props - コンポーネントのプロパティ
|
|
9
|
-
* @param {string} [props.hovC] - ホバー時のテキストカラー(--hov-c として出力)
|
|
10
|
-
* @param {string} [props.hovBgc] - ホバー時の背景カラー(--hov-bgc として出力)
|
|
11
|
-
* @param {string} [props.itemP] - 各アイテムのパディング(--_item-p として出力)
|
|
12
|
-
* @param {object} [props.style] - スタイルオブジェクト
|
|
13
|
-
*/
|
|
14
|
-
export function getRootProps({ hovC, hovBgc, itemP, style = {}, ...props }) {
|
|
15
|
-
const computedStyle = { ...style };
|
|
16
|
-
|
|
17
|
-
if (hovBgc) computedStyle['--hov-bgc'] = getMaybeCssVar(hovBgc, 'color');
|
|
18
|
-
if (hovC) computedStyle['--hov-c'] = getMaybeCssVar(hovC, 'color');
|
|
19
|
-
if (itemP) computedStyle['--_item-p'] = getMaybeCssVar(itemP, 'space');
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
lismClass: 'c--navMenu',
|
|
23
|
-
as: 'ul',
|
|
24
|
-
style: computedStyle,
|
|
25
|
-
...props,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* NavMenu.Nest のプロパティを処理
|
|
31
|
-
*/
|
|
32
|
-
export function getNestProps(props) {
|
|
33
|
-
return {
|
|
34
|
-
lismClass: 'c--navMenu_nest',
|
|
35
|
-
as: 'ul',
|
|
36
|
-
'px-s': '20',
|
|
37
|
-
...props,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* NavMenu.Item のプロパティを処理
|
|
43
|
-
*/
|
|
44
|
-
export function getItemProps(props) {
|
|
45
|
-
return {
|
|
46
|
-
lismClass: 'c--navMenu_item',
|
|
47
|
-
as: 'li',
|
|
48
|
-
...props,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* NavMenu.Link のプロパティを処理
|
|
54
|
-
* @param {string} [props.href] - リンク先URL。指定時は a タグになる
|
|
55
|
-
* @param {string} [props.as='span'] - HTML タグ
|
|
56
|
-
*/
|
|
57
|
-
export function getLinkProps({ href, as = 'span', ...props }) {
|
|
58
|
-
return {
|
|
59
|
-
lismClass: 'c--navMenu_link',
|
|
60
|
-
as: href ? 'a' : as,
|
|
61
|
-
href,
|
|
62
|
-
c: 'inherit',
|
|
63
|
-
...props,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Lism, Stack, Flex } from 'lism-css/react';
|
|
2
|
-
import { getRootProps, getNestProps, getItemProps, getLinkProps } from '../getProps';
|
|
3
|
-
import '../_style.css';
|
|
4
|
-
|
|
5
|
-
export function Root({ children, ...props }) {
|
|
6
|
-
return <Stack {...getRootProps(props)}>{children}</Stack>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function Nest({ children, ...props }) {
|
|
10
|
-
return <Stack {...getNestProps(props)}>{children}</Stack>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function Item({ children, ...props }) {
|
|
14
|
-
return <Lism {...getItemProps(props)}>{children}</Lism>;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function Link({ children, ...props }) {
|
|
18
|
-
return <Flex {...getLinkProps(props)}>{children}</Flex>;
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './ShapeDivider.astro';
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ShapeDivider コンポーネントの共通プロパティ処理
|
|
3
|
-
* @param {string} [props.viewBox] - SVG の viewBox
|
|
4
|
-
* @param {boolean} [props.isAnimation] - アニメーションを有効にするか
|
|
5
|
-
* @param {boolean} [props.isEmpty] - シェイプを非表示にしてスペーサーとして使用
|
|
6
|
-
* @param {number} [props.level=5] - シェイプの高さレベル
|
|
7
|
-
* @param {string} [props.stretch] - 水平方向の引き伸ばし量
|
|
8
|
-
* @param {string} [props.offset] - 水平方向のオフセット
|
|
9
|
-
* @param {string} [props.flip] - X/Y/XY で反転方向を指定
|
|
10
|
-
*/
|
|
11
|
-
export default function getProps({ viewBox, isAnimation, isEmpty, level = 5, stretch, offset, flip, style = {}, ...restProps }) {
|
|
12
|
-
// level が 0 の場合は非表示
|
|
13
|
-
if (level === 0) return null;
|
|
14
|
-
|
|
15
|
-
// CSS変数をセット
|
|
16
|
-
const computedStyle = { ...style };
|
|
17
|
-
computedStyle['--level'] = level || null;
|
|
18
|
-
computedStyle['--_inner-offset'] = offset || null;
|
|
19
|
-
computedStyle['--_inner-stretch'] = stretch || null;
|
|
20
|
-
|
|
21
|
-
const _props = {
|
|
22
|
-
lismClass: 'c--shapeDivider',
|
|
23
|
-
'max-sz': 'full',
|
|
24
|
-
'aria-hidden': 'true',
|
|
25
|
-
};
|
|
26
|
-
if (flip) _props['data-flip'] = flip;
|
|
27
|
-
if (isAnimation) _props['data-has-animation'] = 'true';
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
..._props,
|
|
31
|
-
style: computedStyle,
|
|
32
|
-
|
|
33
|
-
// SVG用のprops
|
|
34
|
-
viewBox,
|
|
35
|
-
isEmpty,
|
|
36
|
-
|
|
37
|
-
// その他のprops
|
|
38
|
-
...restProps,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// import React from 'react';
|
|
2
|
-
import { Lism } from 'lism-css/react';
|
|
3
|
-
|
|
4
|
-
export default function Tab({ tabId = 'tab', index = 0, isActive = false, ...props }) {
|
|
5
|
-
const controlId = `${tabId}-${index}`;
|
|
6
|
-
|
|
7
|
-
return (
|
|
8
|
-
<Lism as="button" lismClass="c--tabs_tab" setPlain role="tab" aria-controls={controlId} aria-selected={isActive ? 'true' : 'false'} {...props} />
|
|
9
|
-
);
|
|
10
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* タブ
|
|
3
|
-
*/
|
|
4
|
-
function tabControl(e) {
|
|
5
|
-
e.preventDefault();
|
|
6
|
-
|
|
7
|
-
// クリックされたボタン要素
|
|
8
|
-
const clickedButton = e.currentTarget;
|
|
9
|
-
|
|
10
|
-
// クリックイベントがキー(Enter / space)によって呼び出されたかどうか
|
|
11
|
-
// const iskeyClick = 0 === e.clientX;
|
|
12
|
-
|
|
13
|
-
// マウスクリック時はフォーカスを外す
|
|
14
|
-
// if (!iskeyClick) {
|
|
15
|
-
// clickedButton.blur();
|
|
16
|
-
// }
|
|
17
|
-
|
|
18
|
-
// 属性の切り替え
|
|
19
|
-
toggleAriaData(clickedButton);
|
|
20
|
-
}
|
|
21
|
-
|
|
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');
|
|
47
|
-
};
|
|
48
|
-
|
|
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
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export default setTabs;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|