@ya-accelerators/nextjs-framework 0.0.92 → 0.0.94
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/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/uploads/index.d.ts +4 -0
- package/dist/lib/uploads/index.js +64 -0
- package/dist/lib/uploads/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/composite/index.d.ts +2 -5
- package/dist/ui/composite/input/file/index.d.ts +2 -5
- package/dist/ui/composite/input/file/index.jsx +11 -39
- package/dist/ui/composite/input/file/index.jsx.map +1 -1
- package/dist/ui/composite/input/index.d.ts +2 -5
- package/dist/ui/layout/form/index.d.ts +2 -5
- package/dist/ui/layout/form/index.jsx +2 -2
- package/dist/ui/layout/form/index.jsx.map +1 -1
- package/dist/ui/layout/form/renderItem.d.ts +2 -5
- package/dist/ui/layout/form/renderItem.jsx +2 -2
- package/dist/ui/layout/form/renderItem.jsx.map +1 -1
- package/dist/ui/layout/index.d.ts +16 -13
- package/dist/ui/layout/tab/component.d.ts +6 -3
- package/dist/ui/layout/tab/component.jsx +8 -8
- package/dist/ui/layout/tab/component.jsx.map +1 -1
- package/dist/ui/layout/tab/index.d.ts +14 -6
- package/dist/ui/layout/tab/index.jsx +34 -10
- package/dist/ui/layout/tab/index.jsx.map +1 -1
- package/package.json +1 -1
|
@@ -3,23 +3,47 @@ export * from './content';
|
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { motion } from 'framer-motion';
|
|
5
5
|
import { usePathname } from 'next/navigation';
|
|
6
|
+
import { useId, useState } from 'react';
|
|
6
7
|
import { Composite } from '../../composite';
|
|
7
8
|
import { getBackgroundColorTypeClassName } from '../../theme';
|
|
8
9
|
import { TabItem } from './component';
|
|
9
10
|
const isShadowed = (allHrefs, href, pathname) => allHrefs.some((other) => other.length > href.length && pathname.startsWith(other));
|
|
10
|
-
export const Tab = (
|
|
11
|
+
export const Tab = (props) => {
|
|
11
12
|
const pathname = usePathname();
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
14
|
+
const idPrefix = useId();
|
|
15
|
+
const allHrefs = 'children' in props ? props.items.map((x) => x.href) : [];
|
|
16
|
+
return (<div className={classNames('flex size-full flex-col overflow-y-scroll', getBackgroundColorTypeClassName('default'), props.className)}>
|
|
17
|
+
{props.title !== undefined && (<div className='mt-base'>
|
|
18
|
+
<Composite.PageTitle {...props.title}/>
|
|
16
19
|
</div>)}
|
|
17
|
-
<div className={classNames('flex h-fit w-full flex-col gap-base p-base', contentClassName)}>
|
|
18
|
-
<div
|
|
19
|
-
|
|
20
|
+
<div className={classNames('flex h-fit w-full flex-col gap-base p-base', props.contentClassName)}>
|
|
21
|
+
<div role={'children' in props ? undefined : 'tablist'} onKeyDown={'children' in props
|
|
22
|
+
? undefined
|
|
23
|
+
: (e) => {
|
|
24
|
+
const next = e.key === 'ArrowRight'
|
|
25
|
+
? (activeIndex + 1) % props.items.length
|
|
26
|
+
: e.key === 'ArrowLeft'
|
|
27
|
+
? (activeIndex - 1 + props.items.length) % props.items.length
|
|
28
|
+
: e.key === 'Home'
|
|
29
|
+
? 0
|
|
30
|
+
: e.key === 'End'
|
|
31
|
+
? props.items.length - 1
|
|
32
|
+
: undefined;
|
|
33
|
+
if (next === undefined) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
setActiveIndex(next);
|
|
38
|
+
document.getElementById(`${idPrefix}-${next}`)?.focus();
|
|
39
|
+
}} className='flex w-full gap-md border-outline-default border-b'>
|
|
40
|
+
{'children' in props
|
|
41
|
+
? props.items.map((x, i) => (<TabItem key={i} label={x.label} href={x.href} isCurrent={!isShadowed(allHrefs, x.href, pathname) &&
|
|
42
|
+
(x.href === '/' ? pathname === '/' : pathname.startsWith(x.href))}/>))
|
|
43
|
+
: props.items.map((x, i) => (<TabItem key={i} label={x.label} isCurrent={i === activeIndex} id={`${idPrefix}-${i}`} controlsId={`${idPrefix}-panel`} onSelect={() => setActiveIndex(i)}/>))}
|
|
20
44
|
</div>
|
|
21
|
-
<motion.main key={pathname} initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} transition={{ duration: 0.3 }}>
|
|
22
|
-
{children}
|
|
45
|
+
<motion.main key={'children' in props ? pathname : activeIndex} role={'children' in props ? undefined : 'tabpanel'} id={'children' in props ? undefined : `${idPrefix}-panel`} aria-labelledby={'children' in props ? undefined : `${idPrefix}-${activeIndex}`} initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} transition={{ duration: 0.3 }}>
|
|
46
|
+
{'children' in props ? props.children : props.items[activeIndex]?.content}
|
|
23
47
|
</motion.main>
|
|
24
48
|
</div>
|
|
25
49
|
</div>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/layout/tab/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,cAAc,WAAW,CAAA;AAEzB,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/ui/layout/tab/index.tsx"],"names":[],"mappings":"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"}
|