@lindle/linoardo 1.0.22 → 1.0.24

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 (55) hide show
  1. package/dist/alert.cjs +18 -0
  2. package/dist/alert.cjs.map +1 -0
  3. package/dist/alert.d.cts +9 -0
  4. package/dist/alert.d.ts +9 -0
  5. package/dist/alert.js +3 -0
  6. package/dist/alert.js.map +1 -0
  7. package/dist/app-bar.cjs +168 -0
  8. package/dist/app-bar.cjs.map +1 -0
  9. package/dist/app-bar.d.cts +25 -0
  10. package/dist/app-bar.d.ts +25 -0
  11. package/dist/app-bar.js +3 -0
  12. package/dist/app-bar.js.map +1 -0
  13. package/dist/badge.cjs +205 -0
  14. package/dist/badge.cjs.map +1 -0
  15. package/dist/badge.d.cts +71 -0
  16. package/dist/badge.d.ts +71 -0
  17. package/dist/badge.js +3 -0
  18. package/dist/badge.js.map +1 -0
  19. package/dist/block.cjs +70 -0
  20. package/dist/block.cjs.map +1 -0
  21. package/dist/block.d.cts +32 -0
  22. package/dist/block.d.ts +32 -0
  23. package/dist/block.js +3 -0
  24. package/dist/block.js.map +1 -0
  25. package/dist/chunk-5GT6L4BE.js +48 -0
  26. package/dist/chunk-5GT6L4BE.js.map +1 -0
  27. package/dist/chunk-67BAO35I.js +146 -0
  28. package/dist/chunk-67BAO35I.js.map +1 -0
  29. package/dist/chunk-6SKW43XI.js +14 -0
  30. package/dist/chunk-6SKW43XI.js.map +1 -0
  31. package/dist/chunk-HIRPMCQJ.js +183 -0
  32. package/dist/chunk-HIRPMCQJ.js.map +1 -0
  33. package/dist/chunk-KQOR3C7E.js +16 -0
  34. package/dist/chunk-KQOR3C7E.js.map +1 -0
  35. package/dist/{chunk-SAGQYMS3.js → chunk-OPMXH6OF.js} +3 -14
  36. package/dist/chunk-OPMXH6OF.js.map +1 -0
  37. package/dist/chunk-SCJMH5VE.js +469 -0
  38. package/dist/chunk-SCJMH5VE.js.map +1 -0
  39. package/dist/index.cjs +755 -66
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +7 -26
  42. package/dist/index.d.ts +7 -26
  43. package/dist/index.js +14 -151
  44. package/dist/index.js.map +1 -1
  45. package/dist/select.js +2 -1
  46. package/dist/styles.css +324 -0
  47. package/dist/textarea.cjs +486 -0
  48. package/dist/textarea.cjs.map +1 -0
  49. package/dist/textarea.d.cts +29 -0
  50. package/dist/textarea.d.ts +29 -0
  51. package/dist/textarea.js +4 -0
  52. package/dist/textarea.js.map +1 -0
  53. package/package.json +45 -1
  54. package/readme.md +46 -0
  55. package/dist/chunk-SAGQYMS3.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,16 +1,20 @@
1
1
  export { default as Button } from './button.cjs';
2
2
  export { default as Chip, ChipProps, ChipSize, ChipVariant } from './chip.cjs';
3
+ export { default as Badge } from './badge.cjs';
4
+ export { default as Alert, AlertProps } from './alert.cjs';
3
5
  export { default as List, ListProps } from './list.cjs';
4
6
  export { default as Menu, MenuPlacement, MenuProps } from './menu.cjs';
5
7
  export { default as ExpansionPanel } from './expansion-panel.cjs';
6
8
  export { default as Dialog, DialogProps } from './dialog.cjs';
7
9
  export { default as ToolTip, ToolTipPlacement, ToolTipProps } from './tooltip.cjs';
8
10
  export { default as Card, CardMediaProps, CardProps, CardSectionProps, CardTextProps } from './card.cjs';
11
+ export { default as Block, BlockBlur, BlockProps } from './block.cjs';
9
12
  export { default as Masonry, MasonryProps, MasonryRenderItem } from './masonry.cjs';
10
- import * as react from 'react';
13
+ export { default as AppBar, AppBarNavItem, AppBarProps } from './app-bar.cjs';
11
14
  export { default as Hero, HeroProps } from './hero.cjs';
12
- export { Avatar, Badge, default as ProfileCard, ProfileCardLayout, ProfileCardProps, SocialLink } from './profileCard.cjs';
15
+ export { Avatar, default as ProfileCard, ProfileCardLayout, ProfileCardProps, SocialLink } from './profileCard.cjs';
13
16
  export { default as Input } from './input.cjs';
17
+ export { default as TextArea } from './textarea.cjs';
14
18
  export { default as Select, SelectOption, SelectOptionObject, SelectProps } from './select.cjs';
15
19
  export { default as Slider } from './slider.cjs';
16
20
  export { default as Switch } from './switch.cjs';
@@ -19,29 +23,6 @@ export { default as Notification, NotificationArgs, NotificationPlacement, Notif
19
23
  export { default as Progress, ProgressProps, ProgressStatus, ProgressType } from './progress.cjs';
20
24
  export { e as ExpansionPanelDensity, E as ExpansionPanelItem, a as ExpansionPanelItemProps, b as ExpansionPanelProps, f as ExpansionPanelRounded, c as ExpansionPanelValue, d as ExpansionPanelVariant } from './ExpansionPanelItem-Bd6ZWGkR.cjs';
21
25
  export { c as ListDensity, L as ListItem, a as ListItemProps, d as ListLines, e as ListRounded, b as ListVariant } from './index-B5n8tN2G.cjs';
26
+ import 'react';
22
27
  import './global.types-E2uVLemv.cjs';
23
28
  import './types-BCqIOkp1.cjs';
24
-
25
- type AppBarNavItem = {
26
- label: react.ReactNode;
27
- href?: string;
28
- active?: boolean;
29
- onClick?: react.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
30
- };
31
- type AppBarProps = react.HTMLAttributes<HTMLElement> & {
32
- title?: react.ReactNode;
33
- logo?: string;
34
- logoAlt?: string;
35
- brandHref?: string;
36
- navigation?: AppBarNavItem[];
37
- actions?: react.ReactNode;
38
- position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';
39
- color?: 'primary' | 'surface' | 'muted' | 'dark' | 'transparent';
40
- dense?: boolean;
41
- elevated?: boolean;
42
- contained?: boolean;
43
- titlePosition?: 'start' | 'center' | 'end';
44
- };
45
- declare const AppBar: react.FC<AppBarProps>;
46
-
47
- export { AppBar, type AppBarNavItem, type AppBarProps };
package/dist/index.d.ts CHANGED
@@ -1,16 +1,20 @@
1
1
  export { default as Button } from './button.js';
2
2
  export { default as Chip, ChipProps, ChipSize, ChipVariant } from './chip.js';
3
+ export { default as Badge } from './badge.js';
4
+ export { default as Alert, AlertProps } from './alert.js';
3
5
  export { default as List, ListProps } from './list.js';
4
6
  export { default as Menu, MenuPlacement, MenuProps } from './menu.js';
5
7
  export { default as ExpansionPanel } from './expansion-panel.js';
6
8
  export { default as Dialog, DialogProps } from './dialog.js';
7
9
  export { default as ToolTip, ToolTipPlacement, ToolTipProps } from './tooltip.js';
8
10
  export { default as Card, CardMediaProps, CardProps, CardSectionProps, CardTextProps } from './card.js';
11
+ export { default as Block, BlockBlur, BlockProps } from './block.js';
9
12
  export { default as Masonry, MasonryProps, MasonryRenderItem } from './masonry.js';
10
- import * as react from 'react';
13
+ export { default as AppBar, AppBarNavItem, AppBarProps } from './app-bar.js';
11
14
  export { default as Hero, HeroProps } from './hero.js';
12
- export { Avatar, Badge, default as ProfileCard, ProfileCardLayout, ProfileCardProps, SocialLink } from './profileCard.js';
15
+ export { Avatar, default as ProfileCard, ProfileCardLayout, ProfileCardProps, SocialLink } from './profileCard.js';
13
16
  export { default as Input } from './input.js';
17
+ export { default as TextArea } from './textarea.js';
14
18
  export { default as Select, SelectOption, SelectOptionObject, SelectProps } from './select.js';
15
19
  export { default as Slider } from './slider.js';
16
20
  export { default as Switch } from './switch.js';
@@ -19,29 +23,6 @@ export { default as Notification, NotificationArgs, NotificationPlacement, Notif
19
23
  export { default as Progress, ProgressProps, ProgressStatus, ProgressType } from './progress.js';
20
24
  export { e as ExpansionPanelDensity, E as ExpansionPanelItem, a as ExpansionPanelItemProps, b as ExpansionPanelProps, f as ExpansionPanelRounded, c as ExpansionPanelValue, d as ExpansionPanelVariant } from './ExpansionPanelItem-DOjgDeB6.js';
21
25
  export { c as ListDensity, L as ListItem, a as ListItemProps, d as ListLines, e as ListRounded, b as ListVariant } from './index-D4-O-oJt.js';
26
+ import 'react';
22
27
  import './global.types-E2uVLemv.js';
23
28
  import './types-ChXN4u7x.js';
24
-
25
- type AppBarNavItem = {
26
- label: react.ReactNode;
27
- href?: string;
28
- active?: boolean;
29
- onClick?: react.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
30
- };
31
- type AppBarProps = react.HTMLAttributes<HTMLElement> & {
32
- title?: react.ReactNode;
33
- logo?: string;
34
- logoAlt?: string;
35
- brandHref?: string;
36
- navigation?: AppBarNavItem[];
37
- actions?: react.ReactNode;
38
- position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';
39
- color?: 'primary' | 'surface' | 'muted' | 'dark' | 'transparent';
40
- dense?: boolean;
41
- elevated?: boolean;
42
- contained?: boolean;
43
- titlePosition?: 'start' | 'center' | 'end';
44
- };
45
- declare const AppBar: react.FC<AppBarProps>;
46
-
47
- export { AppBar, type AppBarNavItem, type AppBarProps };
package/dist/index.js CHANGED
@@ -1,166 +1,29 @@
1
+ export { Notification_default as Notification } from './chunk-67USTSXI.js';
2
+ export { Progress_default as Progress } from './chunk-Z5A2OIDI.js';
3
+ export { Input_default as Input } from './chunk-JGEXEDKS.js';
4
+ export { TextArea_default as TextArea } from './chunk-SCJMH5VE.js';
5
+ export { Slider_default as Slider } from './chunk-GMDNSU26.js';
6
+ export { Switch_default as Switch } from './chunk-5LWU5T2C.js';
7
+ export { Select_default as Select } from './chunk-OPMXH6OF.js';
8
+ import './chunk-6SKW43XI.js';
1
9
  export { Icon_default as Icon } from './chunk-HEXJCQRO.js';
2
10
  export { Hero_default as Hero } from './chunk-VPF7M2PB.js';
3
11
  export { ProfileCard_default as ProfileCard } from './chunk-NEYVJE67.js';
4
- export { Notification_default as Notification } from './chunk-67USTSXI.js';
5
- export { Progress_default as Progress } from './chunk-Z5A2OIDI.js';
12
+ export { ExpansionPanel_default as ExpansionPanel } from './chunk-LYP7V32H.js';
13
+ export { ExpansionPanelItem_default as ExpansionPanelItem } from './chunk-KRYWWWXR.js';
6
14
  export { Dialog_default as Dialog } from './chunk-LIEBZOLG.js';
7
15
  export { ToolTip_default as ToolTip } from './chunk-U2AL7XFY.js';
8
16
  export { Card_default as Card } from './chunk-2UL3S6KC.js';
17
+ export { Block_default as Block } from './chunk-5GT6L4BE.js';
18
+ export { AppBar_default as AppBar } from './chunk-67BAO35I.js';
9
19
  export { Masonry_default as Masonry } from './chunk-HAXGOTZO.js';
10
- export { Input_default as Input } from './chunk-JGEXEDKS.js';
11
- export { Slider_default as Slider } from './chunk-GMDNSU26.js';
12
- export { Switch_default as Switch } from './chunk-5LWU5T2C.js';
13
- export { Select_default as Select } from './chunk-SAGQYMS3.js';
14
20
  export { Button_default as Button } from './chunk-F2G2JRKA.js';
15
21
  export { Chip_default as Chip } from './chunk-DSZ3EOQB.js';
16
22
  import './chunk-IEILIKS2.js';
23
+ export { Badge_default as Badge } from './chunk-HIRPMCQJ.js';
24
+ export { Alert_default as Alert } from './chunk-KQOR3C7E.js';
17
25
  export { List_default as List } from './chunk-AK7LFJI4.js';
18
26
  export { Item_default as ListItem } from './chunk-5WQW6YSJ.js';
19
27
  export { Menu_default as Menu } from './chunk-T37VPLS4.js';
20
- export { ExpansionPanel_default as ExpansionPanel } from './chunk-LYP7V32H.js';
21
- export { ExpansionPanelItem_default as ExpansionPanelItem } from './chunk-KRYWWWXR.js';
22
- import * as React from 'react';
23
- import { twMerge } from 'tailwind-merge';
24
- import { jsxs, jsx } from 'react/jsx-runtime';
25
-
26
- var positionClasses = {
27
- fixed: "fixed inset-x-0 top-0",
28
- absolute: "absolute inset-x-0 top-0",
29
- sticky: "sticky inset-x-0 top-0",
30
- static: "static",
31
- relative: "relative"
32
- };
33
- var colorClasses = {
34
- primary: "bg-primary text-white",
35
- surface: "bg-white text-gray-900 border-b border-gray-200",
36
- muted: "bg-gray-50 text-gray-900 border-b border-gray-200",
37
- dark: "bg-gray-900 text-white",
38
- transparent: "bg-transparent text-inherit"
39
- };
40
- var AppBar = ({
41
- title,
42
- logo,
43
- logoAlt = "Logo",
44
- brandHref,
45
- navigation = [],
46
- actions,
47
- position = "static",
48
- color = "surface",
49
- dense = false,
50
- elevated = true,
51
- contained = true,
52
- titlePosition = "start",
53
- className,
54
- children,
55
- ...rest
56
- }) => {
57
- const [mobileOpen, setMobileOpen] = React.useState(false);
58
- const isDark = color === "primary" || color === "dark";
59
- const isTransparent = color === "transparent";
60
- const barClass = twMerge(
61
- "app-bar z-40 w-full backdrop-blur-md",
62
- positionClasses[position] ?? positionClasses.static,
63
- colorClasses[color] ?? colorClasses.surface,
64
- elevated && !isTransparent ? "shadow-sm shadow-black/10" : void 0,
65
- "relative",
66
- className
67
- );
68
- const innerClass = twMerge(
69
- "mx-auto flex w-full items-center gap-4",
70
- contained ? "max-w-6xl px-4 sm:px-6 lg:px-8" : "px-4",
71
- dense ? "py-2.5" : "py-4"
72
- );
73
- const brandTextClass = isDark ? "text-white" : "text-gray-900";
74
- const navBaseClass = twMerge(
75
- "inline-flex items-center gap-2 rounded-xl px-3 py-2 text-sm font-medium transition focus-visible:outline-none",
76
- isDark ? "hover:bg-white/10 focus-visible:ring-2 focus-visible:ring-white/70" : "hover:bg-gray-100 focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent"
77
- );
78
- const navActiveClass = isDark ? "bg-white/15 text-white" : "bg-primary/10 text-primary";
79
- const renderNavItem = (item, index) => {
80
- const { href, label, active, onClick } = item;
81
- const Component = href ? "a" : "button";
82
- const resolvedHref = href && href.trim().length > 0 ? href : void 0;
83
- return /* @__PURE__ */ jsx(
84
- Component,
85
- {
86
- href: resolvedHref,
87
- onClick,
88
- className: twMerge(navBaseClass, active ? navActiveClass : void 0),
89
- "aria-current": active ? "page" : void 0,
90
- children: label
91
- },
92
- `${resolvedHref ?? "item"}-${index}`
93
- );
94
- };
95
- const brandAlignClass = titlePosition === "center" ? "justify-self-center text-center" : titlePosition === "end" ? "justify-self-end text-right" : "justify-self-start";
96
- const brandNode = title || logo ? /* @__PURE__ */ jsxs("div", { className: twMerge("flex min-w-0 items-center gap-3", brandAlignClass), children: [
97
- logo ? /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-white/10 ring-1 ring-black/5", children: /* @__PURE__ */ jsx(
98
- "img",
99
- {
100
- src: logo,
101
- alt: logoAlt,
102
- className: "h-full w-full object-cover",
103
- loading: "lazy",
104
- decoding: "async"
105
- }
106
- ) }) : null,
107
- /* @__PURE__ */ jsx("div", { className: "min-w-0", children: title ? /* @__PURE__ */ jsx("div", { className: twMerge("text-base font-semibold leading-tight", brandTextClass), children: brandHref ? /* @__PURE__ */ jsx("a", { href: brandHref, className: "hover:underline focus-visible:outline-none", children: title }) : title }) : null })
108
- ] }) : null;
109
- return /* @__PURE__ */ jsxs("header", { ...rest, className: barClass, children: [
110
- /* @__PURE__ */ jsx("div", { className: innerClass, children: /* @__PURE__ */ jsxs("div", { className: "grid w-full grid-cols-[auto_1fr_auto] items-center gap-3", children: [
111
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
112
- navigation.length > 0 ? /* @__PURE__ */ jsx(
113
- "button",
114
- {
115
- type: "button",
116
- "aria-label": "Otev\u0159\xEDt navigaci",
117
- className: twMerge(
118
- "inline-flex h-10 w-10 items-center justify-center rounded-xl text-xl sm:hidden",
119
- isDark ? "text-white hover:bg-white/10 focus-visible:ring-2 focus-visible:ring-white/60" : "text-gray-700 hover:bg-gray-100 focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent"
120
- ),
121
- "aria-expanded": mobileOpen,
122
- onClick: () => setMobileOpen((open) => !open),
123
- children: /* @__PURE__ */ jsx("i", { className: mobileOpen ? "mdi mdi-close" : "mdi mdi-menu", "aria-hidden": true })
124
- }
125
- ) : null,
126
- navigation.length > 0 ? /* @__PURE__ */ jsx("nav", { className: "hidden items-center gap-1 sm:flex", "aria-label": "Hlavni navigace", children: navigation.map(renderNavItem) }) : null
127
- ] }),
128
- brandNode,
129
- /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center justify-end gap-2", children: [
130
- children,
131
- actions
132
- ] })
133
- ] }) }),
134
- navigation.length > 0 && mobileOpen ? /* @__PURE__ */ jsx("div", { className: "sm:hidden", children: /* @__PURE__ */ jsx("nav", { className: "absolute inset-x-0 top-full border-t border-gray-200/70 bg-white/95 p-3 shadow-lg shadow-gray-900/5 backdrop-blur-md", children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", "aria-label": "Mobilni navigace", children: navigation.map((item, index) => {
135
- const { href, label, active, onClick } = item;
136
- const Component = href ? "a" : "button";
137
- const resolvedHref = href && href.trim().length > 0 ? href : void 0;
138
- return /* @__PURE__ */ jsxs(
139
- Component,
140
- {
141
- href: resolvedHref,
142
- onClick: (event) => {
143
- onClick?.(event);
144
- setMobileOpen(false);
145
- },
146
- className: twMerge(
147
- "flex items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition",
148
- active ? "bg-primary/10 text-primary" : "text-gray-800 hover:bg-gray-100"
149
- ),
150
- "aria-current": active ? "page" : void 0,
151
- children: [
152
- label,
153
- active ? /* @__PURE__ */ jsx("i", { className: "mdi mdi-circle-small text-primary", "aria-hidden": true }) : null
154
- ]
155
- },
156
- `${resolvedHref ?? "mobile-item"}-${index}`
157
- );
158
- }) }) }) }) : null
159
- ] });
160
- };
161
- AppBar.displayName = "AppBar";
162
- var AppBar_default = AppBar;
163
-
164
- export { AppBar_default as AppBar };
165
28
  //# sourceMappingURL=index.js.map
166
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Blocks/AppBar/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import * as React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nexport type AppBarNavItem = {\n label: React.ReactNode;\n href?: string;\n active?: boolean;\n onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;\n};\n\nexport type AppBarProps = React.HTMLAttributes<HTMLElement> & {\n title?: React.ReactNode;\n logo?: string;\n logoAlt?: string;\n brandHref?: string;\n navigation?: AppBarNavItem[];\n actions?: React.ReactNode;\n position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';\n color?: 'primary' | 'surface' | 'muted' | 'dark' | 'transparent';\n dense?: boolean;\n elevated?: boolean;\n contained?: boolean;\n titlePosition?: 'start' | 'center' | 'end';\n};\n\nconst positionClasses: Record<NonNullable<AppBarProps['position']>, string> = {\n fixed: 'fixed inset-x-0 top-0',\n absolute: 'absolute inset-x-0 top-0',\n sticky: 'sticky inset-x-0 top-0',\n static: 'static',\n relative: 'relative'\n};\n\nconst colorClasses: Record<NonNullable<AppBarProps['color']>, string> = {\n primary: 'bg-primary text-white',\n surface: 'bg-white text-gray-900 border-b border-gray-200',\n muted: 'bg-gray-50 text-gray-900 border-b border-gray-200',\n dark: 'bg-gray-900 text-white',\n transparent: 'bg-transparent text-inherit'\n};\n\nconst AppBar: React.FC<AppBarProps> = ({\n title,\n logo,\n logoAlt = 'Logo',\n brandHref,\n navigation = [],\n actions,\n position = 'static',\n color = 'surface',\n dense = false,\n elevated = true,\n contained = true,\n titlePosition = 'start',\n className,\n children,\n ...rest\n}) => {\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const isDark = color === 'primary' || color === 'dark';\n const isTransparent = color === 'transparent';\n\n const barClass = twMerge(\n 'app-bar z-40 w-full backdrop-blur-md',\n positionClasses[position] ?? positionClasses.static,\n colorClasses[color] ?? colorClasses.surface,\n elevated && !isTransparent ? 'shadow-sm shadow-black/10' : undefined,\n 'relative',\n className\n );\n\n const innerClass = twMerge(\n 'mx-auto flex w-full items-center gap-4',\n contained ? 'max-w-6xl px-4 sm:px-6 lg:px-8' : 'px-4',\n dense ? 'py-2.5' : 'py-4'\n );\n\n const brandTextClass = isDark ? 'text-white' : 'text-gray-900';\n const navBaseClass = twMerge(\n 'inline-flex items-center gap-2 rounded-xl px-3 py-2 text-sm font-medium transition focus-visible:outline-none',\n isDark\n ? 'hover:bg-white/10 focus-visible:ring-2 focus-visible:ring-white/70'\n : 'hover:bg-gray-100 focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent'\n );\n const navActiveClass = isDark ? 'bg-white/15 text-white' : 'bg-primary/10 text-primary';\n\n const renderNavItem = (item: AppBarNavItem, index: number) => {\n const { href, label, active, onClick } = item;\n const Component = href ? 'a' : 'button';\n const resolvedHref = href && href.trim().length > 0 ? href : undefined;\n return (\n <Component\n key={`${resolvedHref ?? 'item'}-${index}`}\n href={resolvedHref}\n onClick={onClick as never}\n className={twMerge(navBaseClass, active ? navActiveClass : undefined)}\n aria-current={active ? 'page' : undefined}\n >\n {label}\n </Component>\n );\n };\n\n const brandAlignClass =\n titlePosition === 'center'\n ? 'justify-self-center text-center'\n : titlePosition === 'end'\n ? 'justify-self-end text-right'\n : 'justify-self-start';\n\n const brandNode =\n title || logo ? (\n <div className={twMerge('flex min-w-0 items-center gap-3', brandAlignClass)}>\n {logo ? (\n <div className='flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-white/10 ring-1 ring-black/5'>\n <img\n src={logo}\n alt={logoAlt}\n className='h-full w-full object-cover'\n loading='lazy'\n decoding='async'\n />\n </div>\n ) : null}\n <div className='min-w-0'>\n {title ? (\n <div className={twMerge('text-base font-semibold leading-tight', brandTextClass)}>\n {brandHref ? (\n <a href={brandHref} className='hover:underline focus-visible:outline-none'>\n {title}\n </a>\n ) : (\n title\n )}\n </div>\n ) : null}\n </div>\n </div>\n ) : null;\n\n return (\n <header {...rest} className={barClass}>\n <div className={innerClass}>\n <div className='grid w-full grid-cols-[auto_1fr_auto] items-center gap-3'>\n <div className='flex items-center gap-2'>\n {navigation.length > 0 ? (\n <button\n type='button'\n aria-label='Otevřít navigaci'\n className={twMerge(\n 'inline-flex h-10 w-10 items-center justify-center rounded-xl text-xl sm:hidden',\n isDark\n ? 'text-white hover:bg-white/10 focus-visible:ring-2 focus-visible:ring-white/60'\n : 'text-gray-700 hover:bg-gray-100 focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent'\n )}\n aria-expanded={mobileOpen}\n onClick={() => setMobileOpen(open => !open)}\n >\n <i className={mobileOpen ? 'mdi mdi-close' : 'mdi mdi-menu'} aria-hidden />\n </button>\n ) : null}\n {navigation.length > 0 ? (\n <nav className='hidden items-center gap-1 sm:flex' aria-label='Hlavni navigace'>\n {navigation.map(renderNavItem)}\n </nav>\n ) : null}\n </div>\n {brandNode}\n <div className='ml-auto flex items-center justify-end gap-2'>\n {children}\n {actions}\n </div>\n </div>\n </div>\n {navigation.length > 0 && mobileOpen ? (\n <div className='sm:hidden'>\n <nav className='absolute inset-x-0 top-full border-t border-gray-200/70 bg-white/95 p-3 shadow-lg shadow-gray-900/5 backdrop-blur-md'>\n <div className='flex flex-col gap-2' aria-label='Mobilni navigace'>\n {navigation.map((item, index) => {\n const { href, label, active, onClick } = item;\n const Component = href ? 'a' : 'button';\n const resolvedHref = href && href.trim().length > 0 ? href : undefined;\n return (\n <Component\n key={`${resolvedHref ?? 'mobile-item'}-${index}`}\n href={resolvedHref}\n onClick={event => {\n onClick?.(event as never);\n setMobileOpen(false);\n }}\n className={twMerge(\n 'flex items-center justify-between rounded-xl px-3 py-2 text-sm font-medium transition',\n active ? 'bg-primary/10 text-primary' : 'text-gray-800 hover:bg-gray-100'\n )}\n aria-current={active ? 'page' : undefined}\n >\n {label}\n {active ? (\n <i className='mdi mdi-circle-small text-primary' aria-hidden />\n ) : null}\n </Component>\n );\n })}\n </div>\n </nav>\n </div>\n ) : null}\n </header>\n );\n};\n\nAppBar.displayName = 'AppBar';\n\nexport default AppBar;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
package/dist/select.js CHANGED
@@ -1,3 +1,4 @@
1
- export { Select_default as default } from './chunk-SAGQYMS3.js';
1
+ export { Select_default as default } from './chunk-OPMXH6OF.js';
2
+ import './chunk-6SKW43XI.js';
2
3
  //# sourceMappingURL=select.js.map
3
4
  //# sourceMappingURL=select.js.map