@jelinek/ui 0.5.3 → 0.9.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.
- package/dist/components/ChapterNav.svelte +1 -1
- package/dist/components/Checkbox.svelte +13 -15
- package/dist/components/Checkbox.svelte.d.ts +1 -0
- package/dist/components/ContentLogo.svelte +18 -13
- package/dist/components/ContentLogo.svelte.d.ts +6 -5
- package/dist/components/Grid.svelte +9 -5
- package/dist/components/Label.svelte +12 -1
- package/dist/components/Label.svelte.d.ts +8 -0
- package/dist/components/PageHero.svelte +36 -2
- package/dist/components/PageHero.svelte.d.ts +9 -0
- package/dist/components/Pager.svelte +5 -2
- package/dist/components/PhotoTile.svelte +4 -2
- package/dist/components/ProductCard.svelte +66 -44
- package/dist/components/ProductCard.svelte.d.ts +17 -4
- package/dist/components/Radio.svelte +12 -8
- package/dist/components/Radio.svelte.d.ts +1 -0
- package/dist/components/Select.svelte +70 -12
- package/dist/components/Select.svelte.d.ts +11 -0
- package/dist/components/SiteFooter.svelte +19 -0
- package/dist/components/SiteFooter.svelte.d.ts +8 -0
- package/dist/components/SiteHeader.svelte +11 -9
- package/dist/components/Slider.svelte +6 -11
- package/dist/components/Switch.svelte +76 -0
- package/dist/components/Switch.svelte.d.ts +12 -0
- package/dist/components/TextField.svelte +61 -10
- package/dist/components/TextField.svelte.d.ts +13 -0
- package/dist/components/Textarea.svelte +92 -0
- package/dist/components/Textarea.svelte.d.ts +23 -0
- package/dist/components/Tile.svelte +12 -11
- package/dist/components/Tile.svelte.d.ts +8 -2
- package/dist/components/blocks/CmsButton.svelte +36 -0
- package/dist/components/blocks/CmsButton.svelte.d.ts +12 -0
- package/dist/components/blocks/CmsColumns.svelte +20 -0
- package/dist/components/blocks/CmsColumns.svelte.d.ts +9 -0
- package/dist/components/blocks/CmsCover.svelte +71 -0
- package/dist/components/blocks/CmsCover.svelte.d.ts +17 -0
- package/dist/components/blocks/CmsHeading.svelte +50 -0
- package/dist/components/blocks/CmsHeading.svelte.d.ts +14 -0
- package/dist/components/blocks/CmsImage.svelte +43 -0
- package/dist/components/blocks/CmsImage.svelte.d.ts +13 -0
- package/dist/components/blocks/CmsMediaText.svelte +64 -0
- package/dist/components/blocks/CmsMediaText.svelte.d.ts +16 -0
- package/dist/components/blocks/CmsText.svelte +53 -0
- package/dist/components/blocks/CmsText.svelte.d.ts +10 -0
- package/dist/components/commerce/Breadcrumbs.svelte +41 -0
- package/dist/components/commerce/Breadcrumbs.svelte.d.ts +11 -0
- package/dist/components/commerce/CartDrawer.svelte +131 -0
- package/dist/components/commerce/CartDrawer.svelte.d.ts +37 -0
- package/dist/components/commerce/CartLineItem.svelte +67 -0
- package/dist/components/commerce/CartLineItem.svelte.d.ts +14 -0
- package/dist/components/commerce/CheckoutProgress.svelte +49 -0
- package/dist/components/commerce/CheckoutProgress.svelte.d.ts +11 -0
- package/dist/components/commerce/ConfigSection.svelte +24 -0
- package/dist/components/commerce/ConfigSection.svelte.d.ts +11 -0
- package/dist/components/commerce/DimensionSlider.svelte +86 -0
- package/dist/components/commerce/DimensionSlider.svelte.d.ts +18 -0
- package/dist/components/commerce/Drawer.svelte +81 -0
- package/dist/components/commerce/Drawer.svelte.d.ts +12 -0
- package/dist/components/commerce/EmptyState.svelte +37 -0
- package/dist/components/commerce/EmptyState.svelte.d.ts +13 -0
- package/dist/components/commerce/FilterChip.svelte +35 -0
- package/dist/components/commerce/FilterChip.svelte.d.ts +10 -0
- package/dist/components/commerce/FreeShippingBar.svelte +63 -0
- package/dist/components/commerce/FreeShippingBar.svelte.d.ts +12 -0
- package/dist/components/commerce/Gallery.svelte +194 -0
- package/dist/components/commerce/Gallery.svelte.d.ts +27 -0
- package/dist/components/commerce/ListingToolbar.svelte +62 -0
- package/dist/components/commerce/ListingToolbar.svelte.d.ts +19 -0
- package/dist/components/commerce/Modal.svelte +73 -0
- package/dist/components/commerce/Modal.svelte.d.ts +11 -0
- package/dist/components/commerce/OrderSummary.svelte +85 -0
- package/dist/components/commerce/OrderSummary.svelte.d.ts +25 -0
- package/dist/components/commerce/Pagination.svelte +115 -0
- package/dist/components/commerce/Pagination.svelte.d.ts +14 -0
- package/dist/components/commerce/PriceDisplay.svelte +41 -0
- package/dist/components/commerce/PriceDisplay.svelte.d.ts +14 -0
- package/dist/components/commerce/ProductHeader.svelte +62 -0
- package/dist/components/commerce/ProductHeader.svelte.d.ts +21 -0
- package/dist/components/commerce/ProductStickyBar.svelte +42 -0
- package/dist/components/commerce/ProductStickyBar.svelte.d.ts +14 -0
- package/dist/components/commerce/ProductTabs.svelte +87 -0
- package/dist/components/commerce/ProductTabs.svelte.d.ts +18 -0
- package/dist/components/commerce/QuantityStepper.svelte +44 -0
- package/dist/components/commerce/QuantityStepper.svelte.d.ts +13 -0
- package/dist/components/commerce/RatingStars.svelte +39 -0
- package/dist/components/commerce/RatingStars.svelte.d.ts +9 -0
- package/dist/components/commerce/SearchField.svelte +92 -0
- package/dist/components/commerce/SearchField.svelte.d.ts +15 -0
- package/dist/components/commerce/SideToggle.svelte +79 -0
- package/dist/components/commerce/SideToggle.svelte.d.ts +13 -0
- package/dist/components/commerce/Skeleton.svelte +13 -0
- package/dist/components/commerce/Skeleton.svelte.d.ts +7 -0
- package/dist/components/commerce/StickyBar.svelte +27 -0
- package/dist/components/commerce/StickyBar.svelte.d.ts +8 -0
- package/dist/components/commerce/StockBadge.svelte +45 -0
- package/dist/components/commerce/StockBadge.svelte.d.ts +9 -0
- package/dist/components/commerce/Toaster.svelte +38 -0
- package/dist/components/commerce/Toaster.svelte.d.ts +7 -0
- package/dist/components/commerce/TrustBadges.svelte +26 -0
- package/dist/components/commerce/TrustBadges.svelte.d.ts +16 -0
- package/dist/components/commerce/cart-types.d.ts +12 -0
- package/dist/components/commerce/cart-types.js +1 -0
- package/dist/components/commerce/money.d.ts +14 -0
- package/dist/components/commerce/money.js +26 -0
- package/dist/components/commerce/overlay.d.ts +26 -0
- package/dist/components/commerce/overlay.js +69 -0
- package/dist/components/commerce/toast.d.ts +26 -0
- package/dist/components/commerce/toast.js +44 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +41 -0
- package/dist/theme/base.css +56 -7
- package/dist/theme/extras.css +63 -0
- package/dist/theme/fonts.css +6 -42
- package/dist/theme/tokens.css +16 -9
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -1,39 +1,80 @@
|
|
|
1
1
|
export { cn } from './utils/cn.js';
|
|
2
2
|
export { createChapterNavDock } from './utils/chapter-nav-dock.svelte.js';
|
|
3
3
|
export { default as Alert } from './components/Alert.svelte';
|
|
4
|
+
export { default as Breadcrumbs } from './components/commerce/Breadcrumbs.svelte';
|
|
4
5
|
export { default as Button } from './components/Button.svelte';
|
|
5
6
|
export { default as Card } from './components/Card.svelte';
|
|
7
|
+
export { default as CartDrawer } from './components/commerce/CartDrawer.svelte';
|
|
8
|
+
export { default as CartLineItem } from './components/commerce/CartLineItem.svelte';
|
|
9
|
+
export {} from './components/commerce/cart-types.js';
|
|
6
10
|
export { default as ChapterNav } from './components/ChapterNav.svelte';
|
|
7
11
|
export { default as Checkbox } from './components/Checkbox.svelte';
|
|
12
|
+
export { default as CheckoutProgress } from './components/commerce/CheckoutProgress.svelte';
|
|
13
|
+
export { default as CmsButton } from './components/blocks/CmsButton.svelte';
|
|
14
|
+
export { default as CmsColumns } from './components/blocks/CmsColumns.svelte';
|
|
15
|
+
export { default as CmsCover } from './components/blocks/CmsCover.svelte';
|
|
16
|
+
export { default as CmsHeading } from './components/blocks/CmsHeading.svelte';
|
|
17
|
+
export { default as CmsImage } from './components/blocks/CmsImage.svelte';
|
|
18
|
+
export { default as CmsMediaText } from './components/blocks/CmsMediaText.svelte';
|
|
19
|
+
export { default as CmsText } from './components/blocks/CmsText.svelte';
|
|
8
20
|
export { default as CodeCopy } from './components/CodeCopy.svelte';
|
|
21
|
+
export { default as ConfigSection } from './components/commerce/ConfigSection.svelte';
|
|
9
22
|
export { CONTAINER_CONTEXT } from './components/container-context.js';
|
|
10
23
|
export { default as Container } from './components/Container.svelte';
|
|
11
24
|
export { default as ContentLogo } from './components/ContentLogo.svelte';
|
|
12
25
|
export { default as Demo } from './components/Demo.svelte';
|
|
26
|
+
export { default as DimensionSlider } from './components/commerce/DimensionSlider.svelte';
|
|
27
|
+
export { default as Drawer } from './components/commerce/Drawer.svelte';
|
|
28
|
+
export { default as EmptyState } from './components/commerce/EmptyState.svelte';
|
|
13
29
|
export { default as Eyebrow } from './components/Eyebrow.svelte';
|
|
30
|
+
export { default as FilterChip } from './components/commerce/FilterChip.svelte';
|
|
31
|
+
export { formatMoney, formatPrice } from './components/commerce/money.js';
|
|
32
|
+
export { default as FreeShippingBar } from './components/commerce/FreeShippingBar.svelte';
|
|
33
|
+
export { default as Gallery } from './components/commerce/Gallery.svelte';
|
|
14
34
|
export { default as Glass } from './components/Glass.svelte';
|
|
15
35
|
export { default as Grid } from './components/Grid.svelte';
|
|
16
36
|
export { default as Label } from './components/Label.svelte';
|
|
37
|
+
export { default as ListingToolbar } from './components/commerce/ListingToolbar.svelte';
|
|
38
|
+
export { default as Modal } from './components/commerce/Modal.svelte';
|
|
17
39
|
export { isActive } from './components/nav.js';
|
|
18
40
|
export { default as OptionTile } from './components/OptionTile.svelte';
|
|
41
|
+
export { default as OrderSummary } from './components/commerce/OrderSummary.svelte';
|
|
19
42
|
export { default as PageHero } from './components/PageHero.svelte';
|
|
20
43
|
export { default as Pager } from './components/Pager.svelte';
|
|
44
|
+
export { default as Pagination } from './components/commerce/Pagination.svelte';
|
|
21
45
|
export { default as Panel } from './components/Panel.svelte';
|
|
22
46
|
export { default as PhotoTile } from './components/PhotoTile.svelte';
|
|
47
|
+
export { default as PriceDisplay } from './components/commerce/PriceDisplay.svelte';
|
|
23
48
|
export { default as ProductCard } from './components/ProductCard.svelte';
|
|
49
|
+
export { default as ProductHeader } from './components/commerce/ProductHeader.svelte';
|
|
50
|
+
export { default as ProductStickyBar } from './components/commerce/ProductStickyBar.svelte';
|
|
51
|
+
export { default as ProductTabs } from './components/commerce/ProductTabs.svelte';
|
|
52
|
+
export { default as QuantityStepper } from './components/commerce/QuantityStepper.svelte';
|
|
24
53
|
export { default as Radio } from './components/Radio.svelte';
|
|
54
|
+
export { default as RatingStars } from './components/commerce/RatingStars.svelte';
|
|
25
55
|
export { RADIO_CONTEXT } from './components/radio-context.js';
|
|
26
56
|
export { default as RadioGroup } from './components/RadioGroup.svelte';
|
|
57
|
+
export { default as SearchField } from './components/commerce/SearchField.svelte';
|
|
27
58
|
export { default as Select } from './components/Select.svelte';
|
|
59
|
+
export { portal } from './components/commerce/overlay.js';
|
|
60
|
+
export { default as SideToggle } from './components/commerce/SideToggle.svelte';
|
|
28
61
|
export { default as SiteFooter } from './components/SiteFooter.svelte';
|
|
29
62
|
export { default as SiteHeader } from './components/SiteHeader.svelte';
|
|
63
|
+
export { default as Skeleton } from './components/commerce/Skeleton.svelte';
|
|
30
64
|
export { default as Slider } from './components/Slider.svelte';
|
|
65
|
+
export { default as StickyBar } from './components/commerce/StickyBar.svelte';
|
|
66
|
+
export { default as StockBadge } from './components/commerce/StockBadge.svelte';
|
|
31
67
|
export { default as Swatch } from './components/Swatch.svelte';
|
|
68
|
+
export { default as Switch } from './components/Switch.svelte';
|
|
32
69
|
export { default as Tab } from './components/Tab.svelte';
|
|
33
70
|
export { default as Tabs } from './components/Tabs.svelte';
|
|
34
71
|
export { TABS_CONTEXT } from './components/tabs-context.js';
|
|
35
72
|
export { default as Tag } from './components/Tag.svelte';
|
|
73
|
+
export { default as Textarea } from './components/Textarea.svelte';
|
|
36
74
|
export { default as TextField } from './components/TextField.svelte';
|
|
37
75
|
export { default as ThemeToggle } from './components/ThemeToggle.svelte';
|
|
38
76
|
export { default as Tile } from './components/Tile.svelte';
|
|
77
|
+
export { toasts } from './components/commerce/toast.js';
|
|
78
|
+
export { default as Toaster } from './components/commerce/Toaster.svelte';
|
|
79
|
+
export { default as TrustBadges } from './components/commerce/TrustBadges.svelte';
|
|
39
80
|
export { default as TileScroller } from './components/TileScroller.svelte';
|
package/dist/theme/base.css
CHANGED
|
@@ -253,6 +253,25 @@
|
|
|
253
253
|
color var(--dur-slow) var(--ease);
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
/* KURZÍVA SE NEPOUŽÍVÁ NIKDY (brand → Typografie; majitel 14. 8. 2026) —
|
|
257
|
+
žádné písmo značky nemá skloněný řez a prohlížeč by si ho syntetizoval.
|
|
258
|
+
<em>/<i> se narovnává a zvýrazňuje tučně („ke zvýraznění slouží tučné
|
|
259
|
+
řezy“). Mirrors the identical rule in jelinek.css. */
|
|
260
|
+
em,
|
|
261
|
+
i {
|
|
262
|
+
font-style: normal;
|
|
263
|
+
font-weight: 700;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/* <strong> pinned to Bold: the default `bolder` is RELATIVE — one step
|
|
267
|
+
up from Light (300) is Regular (400), a face outside the role system.
|
|
268
|
+
Contexts with their own rule (.card strong = Medium, Demo's
|
|
269
|
+
[&_strong]:font-medium utility) still win on specificity/layer. */
|
|
270
|
+
b,
|
|
271
|
+
strong {
|
|
272
|
+
font-weight: 700;
|
|
273
|
+
}
|
|
274
|
+
|
|
256
275
|
/* jelinek.css:316. The one flex child that should actually grow — header,
|
|
257
276
|
chapter-nav and footer keep their natural (content) height; whatever
|
|
258
277
|
space is left over goes to <main>, pushing the footer down to the
|
|
@@ -372,6 +391,9 @@
|
|
|
372
391
|
}
|
|
373
392
|
.serif {
|
|
374
393
|
font-family: var(--font-serif);
|
|
394
|
+
/* Archer only has Book (400) and Bold — a surrounding Light must not
|
|
395
|
+
be inherited into serif text. */
|
|
396
|
+
font-weight: 400;
|
|
375
397
|
}
|
|
376
398
|
.small {
|
|
377
399
|
font-size: var(--step-down1);
|
|
@@ -404,21 +426,36 @@
|
|
|
404
426
|
are for page content written in the guide's own markup.
|
|
405
427
|
|
|
406
428
|
The margin shorthand is the guide's: 16px above the bar, 24px below
|
|
407
|
-
(var(--space-2) / var(--space-3)). `:has(+ .rule)` also zeroes the
|
|
429
|
+
(var(--space-2) / var(--space-3)). `:has(+ .rule + p)` also zeroes the
|
|
408
430
|
heading's own margin-bottom, so the bar's margins are the only spacing
|
|
409
|
-
in play.
|
|
431
|
+
in play.
|
|
432
|
+
|
|
433
|
+
Task 46 — UNDERLINE ONLY ABOVE TEXT (the owner's rule): the bar draws
|
|
434
|
+
only when TEXT begins under the heading — a paragraph directly after
|
|
435
|
+
the marker, or a grid whose first cell opens with one (the guide's
|
|
436
|
+
two-column text+photo sections). A heading above a tile, an image or
|
|
437
|
+
cards keeps no bar — the `<hr class="rule">` may stay in the markup,
|
|
438
|
+
it just stops mattering there. Mirrors jelinek.css. */
|
|
410
439
|
.rule,
|
|
411
440
|
.rule--magenta,
|
|
412
441
|
.rule--black,
|
|
413
442
|
.rule--white {
|
|
414
443
|
display: none;
|
|
415
444
|
}
|
|
416
|
-
:is(h1, h2, h3):has(
|
|
445
|
+
:is(h1, h2, h3):has(
|
|
446
|
+
+ .rule + p,
|
|
447
|
+
+ .rule + .grid > p:first-child,
|
|
448
|
+
+ .rule + .grid > :first-child > p:first-child
|
|
449
|
+
) {
|
|
417
450
|
width: fit-content;
|
|
418
451
|
max-width: 100%;
|
|
419
452
|
margin-bottom: 0;
|
|
420
453
|
}
|
|
421
|
-
:is(h1, h2, h3):has(
|
|
454
|
+
:is(h1, h2, h3):has(
|
|
455
|
+
+ .rule + p,
|
|
456
|
+
+ .rule + .grid > p:first-child,
|
|
457
|
+
+ .rule + .grid > :first-child > p:first-child
|
|
458
|
+
)::after {
|
|
422
459
|
content: '';
|
|
423
460
|
display: block;
|
|
424
461
|
height: 3px;
|
|
@@ -427,13 +464,25 @@
|
|
|
427
464
|
margin: var(--space-2) 0 var(--space-3);
|
|
428
465
|
background: var(--JELINEK-BROWN);
|
|
429
466
|
}
|
|
430
|
-
:is(h1, h2, h3):has(
|
|
467
|
+
:is(h1, h2, h3):has(
|
|
468
|
+
+ .rule--magenta + p,
|
|
469
|
+
+ .rule--magenta + .grid > p:first-child,
|
|
470
|
+
+ .rule--magenta + .grid > :first-child > p:first-child
|
|
471
|
+
)::after {
|
|
431
472
|
background: var(--JELINEK-MAGENTA);
|
|
432
473
|
}
|
|
433
|
-
:is(h1, h2, h3):has(
|
|
474
|
+
:is(h1, h2, h3):has(
|
|
475
|
+
+ .rule--black + p,
|
|
476
|
+
+ .rule--black + .grid > p:first-child,
|
|
477
|
+
+ .rule--black + .grid > :first-child > p:first-child
|
|
478
|
+
)::after {
|
|
434
479
|
background: var(--JELINEK-BLACK);
|
|
435
480
|
}
|
|
436
|
-
:is(h1, h2, h3):has(
|
|
481
|
+
:is(h1, h2, h3):has(
|
|
482
|
+
+ .rule--white + p,
|
|
483
|
+
+ .rule--white + .grid > p:first-child,
|
|
484
|
+
+ .rule--white + .grid > :first-child > p:first-child
|
|
485
|
+
)::after {
|
|
437
486
|
background: var(--text-white);
|
|
438
487
|
}
|
|
439
488
|
}
|
package/dist/theme/extras.css
CHANGED
|
@@ -1,2 +1,65 @@
|
|
|
1
1
|
/* Hand-written theme additions. The generator never touches this file.
|
|
2
2
|
Import after theme.css. */
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
/* WCAG AA text-on-white accents (docs/pro-designera.md): darker L than the
|
|
6
|
+
brand fills, for colored TEXT and links on white. Never replaces the
|
|
7
|
+
brand fills themselves. Upstreamed from the store, where the e-shop
|
|
8
|
+
components (Breadcrumbs, ConfigSection, CheckoutProgress, OrderSummary,
|
|
9
|
+
SideToggle, DimensionSlider) already leaned on them. */
|
|
10
|
+
--color-accent-text: hsl(29 44% 43%);
|
|
11
|
+
--color-accent-text-mattress: hsl(324 100% 44%);
|
|
12
|
+
/* Stock states beyond the semantic success token — StockBadge's
|
|
13
|
+
„na objednávku“/lead orange. */
|
|
14
|
+
--color-stock-order: hsl(35 85% 40%);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Accent text follows the division: the Zdravý spánek (mattress) subtree
|
|
18
|
+
flips it to magenta, the same way theme.css flips the brand fills. */
|
|
19
|
+
[data-division='mattress'] {
|
|
20
|
+
--color-accent-text: var(--color-accent-text-mattress);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Jelen je jen hnědý, nebo bílý (brand → Znak, Užití s produktovými
|
|
24
|
+
barvami): divizní přetéma přemapovává --JELINEK-BROWN na magentu, ale pro
|
|
25
|
+
jelena je to zakázaný stav — pod divizí Zdravý spánek přechází KAŽDÉ
|
|
26
|
+
obsahové logo na bílou, divizní barvu jelena. Zrcadlí stejné pravidlo
|
|
27
|
+
v jelinek.css u .content-logo. */
|
|
28
|
+
[data-division='mattress'] [data-content-logo],
|
|
29
|
+
[data-theme='mattress'] [data-content-logo] {
|
|
30
|
+
color: var(--color-fg-inverse);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Skeleton shimmer (majitel, 14. 8. 2026): placeholder při načítání nese
|
|
34
|
+
projíždějící světlý gradient, jak je dnes zvykem — ne jen pulz. Barvy
|
|
35
|
+
jsou tokeny (klidová --bg-gray, projíždějící světlo --bg-white), takže
|
|
36
|
+
se v tmavém režimu překlopí samy. Smyčka 1,5 s je vlastní hodnota:
|
|
37
|
+
pohybové tokeny (--dur-*) popisují přechody stavů, ne nekonečné smyčky.
|
|
38
|
+
Kdo si v systému vypnul animace, dostane klidnou plochu — první kousek
|
|
39
|
+
prefers-reduced-motion v kitu (zásobník: Ohled na omezení pohybu). */
|
|
40
|
+
@keyframes skeleton-shimmer {
|
|
41
|
+
to {
|
|
42
|
+
transform: translateX(100%);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
.skeleton-shimmer {
|
|
46
|
+
position: relative;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
background: var(--color-surface-gray);
|
|
49
|
+
}
|
|
50
|
+
/* Světelný pás jede přes celou plochu jako vrstva nad ní (transform, ne
|
|
51
|
+
background-position) — na malém řádku i velké fotce je pohyb stejně
|
|
52
|
+
viditelný a nemá hluchá místa. */
|
|
53
|
+
.skeleton-shimmer::after {
|
|
54
|
+
content: '';
|
|
55
|
+
position: absolute;
|
|
56
|
+
inset: 0;
|
|
57
|
+
transform: translateX(-100%);
|
|
58
|
+
background: linear-gradient(90deg, transparent, var(--color-surface) 55%, transparent);
|
|
59
|
+
animation: skeleton-shimmer 1.5s ease-in-out infinite;
|
|
60
|
+
}
|
|
61
|
+
@media (prefers-reduced-motion: reduce) {
|
|
62
|
+
.skeleton-shimmer::after {
|
|
63
|
+
content: none;
|
|
64
|
+
}
|
|
65
|
+
}
|
package/dist/theme/fonts.css
CHANGED
|
@@ -21,13 +21,12 @@
|
|
|
21
21
|
|
|
22
22
|
Reconciled against assets/css/jelinek.css's @font-face block (the
|
|
23
23
|
authority for which faces exist): every face declared there is declared
|
|
24
|
-
here too, with the same family name, weight and filename.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
the
|
|
29
|
-
|
|
30
|
-
7cd378c). */
|
|
24
|
+
here too, with the same family name, weight and filename. Only the ROLE
|
|
25
|
+
faces are loaded (majitel, 21. 8. 2026): Walsheim Light/Medium/Bold,
|
|
26
|
+
Archer Book/Bold, Avenir Demi (logo subtitle). Regular, Black, Avenir
|
|
27
|
+
Regular/Bold and Archer Medium stay in assets/fonts/ for other projects,
|
|
28
|
+
but the web never declares them — a stray request falls back and the
|
|
29
|
+
font-faces e2e catches it. */
|
|
31
30
|
@font-face {
|
|
32
31
|
font-family: 'GT Walsheim Pro';
|
|
33
32
|
src: url('/assets/fonts/GT-Walsheim-Pro-Light.woff2') format('woff2');
|
|
@@ -35,13 +34,6 @@
|
|
|
35
34
|
font-style: normal;
|
|
36
35
|
font-display: block;
|
|
37
36
|
}
|
|
38
|
-
@font-face {
|
|
39
|
-
font-family: 'GT Walsheim Pro';
|
|
40
|
-
src: url('/assets/fonts/GT-Walsheim-Pro-Regular.woff2') format('woff2');
|
|
41
|
-
font-weight: 400;
|
|
42
|
-
font-style: normal;
|
|
43
|
-
font-display: block;
|
|
44
|
-
}
|
|
45
37
|
@font-face {
|
|
46
38
|
font-family: 'GT Walsheim Pro';
|
|
47
39
|
src: url('/assets/fonts/GT-Walsheim-Pro-Medium.woff2') format('woff2');
|
|
@@ -56,20 +48,6 @@
|
|
|
56
48
|
font-style: normal;
|
|
57
49
|
font-display: block;
|
|
58
50
|
}
|
|
59
|
-
@font-face {
|
|
60
|
-
font-family: 'GT Walsheim Pro';
|
|
61
|
-
src: url('/assets/fonts/GT-Walsheim-Pro-Black.woff2') format('woff2');
|
|
62
|
-
font-weight: 900;
|
|
63
|
-
font-style: normal;
|
|
64
|
-
font-display: block;
|
|
65
|
-
}
|
|
66
|
-
@font-face {
|
|
67
|
-
font-family: 'Avenir Next LT Pro';
|
|
68
|
-
src: url('/assets/fonts/AvenirNextLTPro-Regular.woff2') format('woff2');
|
|
69
|
-
font-weight: 400;
|
|
70
|
-
font-style: normal;
|
|
71
|
-
font-display: block;
|
|
72
|
-
}
|
|
73
51
|
@font-face {
|
|
74
52
|
font-family: 'Avenir Next LT Pro';
|
|
75
53
|
src: url('/assets/fonts/AvenirNextLTPro-Demi.woff2') format('woff2');
|
|
@@ -77,13 +55,6 @@
|
|
|
77
55
|
font-style: normal;
|
|
78
56
|
font-display: block;
|
|
79
57
|
}
|
|
80
|
-
@font-face {
|
|
81
|
-
font-family: 'Avenir Next LT Pro';
|
|
82
|
-
src: url('/assets/fonts/AvenirNextLTPro-Bold.woff2') format('woff2');
|
|
83
|
-
font-weight: 700;
|
|
84
|
-
font-style: normal;
|
|
85
|
-
font-display: block;
|
|
86
|
-
}
|
|
87
58
|
@font-face {
|
|
88
59
|
font-family: 'Archer';
|
|
89
60
|
src: url('/assets/fonts/Archer-Book.woff2') format('woff2');
|
|
@@ -91,13 +62,6 @@
|
|
|
91
62
|
font-style: normal;
|
|
92
63
|
font-display: block;
|
|
93
64
|
}
|
|
94
|
-
@font-face {
|
|
95
|
-
font-family: 'Archer';
|
|
96
|
-
src: url('/assets/fonts/Archer-Medium.woff2') format('woff2');
|
|
97
|
-
font-weight: 500;
|
|
98
|
-
font-style: normal;
|
|
99
|
-
font-display: block;
|
|
100
|
-
}
|
|
101
65
|
@font-face {
|
|
102
66
|
font-family: 'Archer';
|
|
103
67
|
src: url('/assets/fonts/Archer-Bold.woff2') format('woff2');
|
package/dist/theme/tokens.css
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
--ON-JELINEK-BLACK: hsl(0, 0%, 95%);
|
|
17
17
|
--bg-white: hsl(0, 0%, 100%);
|
|
18
18
|
--bg-gray: hsl(0, 0%, 95%);
|
|
19
|
-
--bg-brown: hsl(
|
|
20
|
-
--bg-magenta: hsl(324,
|
|
19
|
+
--bg-brown: hsl(27, 58%, 96.3%);
|
|
20
|
+
--bg-magenta: hsl(324, 85%, 92%);
|
|
21
21
|
--bg-black: hsl(0, 0%, 0%);
|
|
22
22
|
--border-subtle: hsl(0, 0%, 91%);
|
|
23
23
|
--text-black: hsl(0, 0%, 5%);
|
|
@@ -45,13 +45,20 @@
|
|
|
45
45
|
--glass-fill: hsl(0, 0%, 100%, 0.5);
|
|
46
46
|
--glass-border: hsl(0, 0%, 100%, 0.75);
|
|
47
47
|
--glass-filter: blur(25px) saturate(140%);
|
|
48
|
-
--
|
|
48
|
+
--overlay-scrim: hsl(0, 0%, 0%, 0.5);
|
|
49
|
+
--overlay-filter: blur(4px);
|
|
50
|
+
--z-bar: 40;
|
|
51
|
+
--z-chapter-nav: 49;
|
|
52
|
+
--z-header: 50;
|
|
53
|
+
--z-overlay: 1200;
|
|
54
|
+
--z-toast: 1500;
|
|
55
|
+
--focus-color: var(--JELINEK-BLACK);
|
|
49
56
|
--focus-width: 2px;
|
|
50
57
|
--focus-offset: 2px;
|
|
51
|
-
--font-primary: "GT Walsheim Pro", Arial, Helvetica, sans-serif;
|
|
58
|
+
--font-primary: "GT Walsheim Pro", "Arial Black", Arial, Helvetica, sans-serif;
|
|
52
59
|
--font-secondary: "GT Walsheim Pro", Arial, Helvetica, sans-serif;
|
|
53
|
-
--font-serif: "Archer", Georgia, "Times New Roman", serif;
|
|
54
|
-
--page-max:
|
|
60
|
+
--font-serif: "Archer", Baskerville, "Baskerville Old Face", Georgia, "Times New Roman", serif;
|
|
61
|
+
--page-max: 1480px;
|
|
55
62
|
--header-h: 70px;
|
|
56
63
|
--subnav-h: 58px;
|
|
57
64
|
--step0: 1rem;
|
|
@@ -82,8 +89,8 @@
|
|
|
82
89
|
.dark {
|
|
83
90
|
--bg-white: hsl(0, 0%, 5%);
|
|
84
91
|
--bg-gray: hsl(0, 0%, 15%);
|
|
85
|
-
--bg-brown: hsl(
|
|
86
|
-
--bg-magenta: hsl(324,
|
|
92
|
+
--bg-brown: hsl(27, 58%, 10%);
|
|
93
|
+
--bg-magenta: hsl(324, 85%, 10%);
|
|
87
94
|
--bg-black: hsl(0, 0%, 0%);
|
|
88
95
|
--text-black: hsl(0, 0%, 92%);
|
|
89
96
|
--text-muted1: hsl(0, 0%, 62%);
|
|
@@ -105,7 +112,7 @@
|
|
|
105
112
|
--sem-error-strong: hsl(5, 100%, 54%);
|
|
106
113
|
--glass-fill: hsl(0, 0%, 0%, 0.6);
|
|
107
114
|
--glass-border: hsl(0, 0%, 100%, 0.25);
|
|
108
|
-
--focus-color: var(--JELINEK-
|
|
115
|
+
--focus-color: var(--JELINEK-BLACK);
|
|
109
116
|
--border-subtle: hsl(0, 0%, 20%);
|
|
110
117
|
--border-highlight-white: hsl(0, 0%, 40%);
|
|
111
118
|
--shadow-interactive: 0px 4px 4px hsl(0, 0%, 0%, 0.063), 0px 12px 12px hsl(0, 0%, 0%, 0.188);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jelinek/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "JELÍNEK Svelte 5 component kit, generated from the brand guide",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,11 @@
|
|
|
34
34
|
"./theme.css": "./dist/theme/tokens.css",
|
|
35
35
|
"./extras.css": "./dist/theme/extras.css",
|
|
36
36
|
"./base.css": "./dist/theme/base.css",
|
|
37
|
-
"./fonts.css": "./dist/theme/fonts.css"
|
|
37
|
+
"./fonts.css": "./dist/theme/fonts.css",
|
|
38
|
+
"./money": {
|
|
39
|
+
"types": "./dist/components/commerce/money.d.ts",
|
|
40
|
+
"default": "./dist/components/commerce/money.js"
|
|
41
|
+
}
|
|
38
42
|
},
|
|
39
43
|
"scripts": {
|
|
40
44
|
"dev": "vite dev",
|