@cahyo-dimas/freeday 3.7.0 → 3.9.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/CHANGELOG.md +197 -0
- package/COMPONENTS.md +214 -18
- package/README.id.md +4 -4
- package/README.md +4 -3
- package/adapters/blazor/FdyDatepicker.razor +3 -1
- package/adapters/blazor/FdyDatepicker.razor.cs +36 -1
- package/adapters/blazor/FdyMonthpicker.razor +29 -0
- package/adapters/blazor/FdyMonthpicker.razor.cs +102 -0
- package/adapters/blazor/FdyTable.razor +6 -1
- package/adapters/blazor/FdyTable.razor.cs +33 -0
- package/adapters/blazor/FdyTableFooter.razor +6 -6
- package/adapters/blazor/FdyTableFooter.razor.cs +36 -0
- package/adapters/core/month-grid.d.ts +116 -0
- package/adapters/core/month-grid.js +234 -0
- package/adapters/react/components/FdyDatepicker.tsx +164 -166
- package/adapters/react/components/FdyMonthpicker.tsx +400 -0
- package/adapters/react/components/FdyTable.tsx +38 -2
- package/adapters/react/components/FdyTableFilter.tsx +13 -1
- package/adapters/react/components/FdyTableFooter.tsx +37 -6
- package/adapters/react/index.d.ts +6 -2
- package/adapters/react/index.js +1 -0
- package/adapters/react/usePopover.ts +54 -9
- package/adapters/vue/components/FdyDatepicker.vue +158 -160
- package/adapters/vue/components/FdyMonthpicker.vue +387 -0
- package/adapters/vue/components/FdyTable.vue +33 -1
- package/adapters/vue/components/FdyTableFilter.vue +13 -1
- package/adapters/vue/components/FdyTableFooter.vue +39 -6
- package/adapters/vue/index.d.ts +16 -0
- package/adapters/vue/index.js +1 -0
- package/adapters/vue/usePopover.ts +53 -10
- package/dist/freeday-datepicker.js +68 -14
- package/dist/freeday-menu.js +15 -1
- package/dist/freeday-popover.js +33 -11
- package/dist/freeday-table.js +64 -5
- package/dist/freeday-tabs.js +21 -2
- package/dist/freeday.bundle.css +50 -2
- package/dist/freeday.css +50 -2
- package/dist/freeday.js +201 -33
- package/docs/agent-onboarding.md +3 -3
- package/docs/getting-started.md +6 -6
- package/docs/integrations.md +22 -4
- package/package.json +2 -2
- package/src/components/table.css +19 -2
- package/src/components/tabs.css +31 -0
package/src/components/tabs.css
CHANGED
|
@@ -32,3 +32,34 @@
|
|
|
32
32
|
.fdy-tabs__panel[hidden]{display:none;}
|
|
33
33
|
/* Reveal the newly-shown panel on tab switch (fade + rise), reduced-motion gated. */
|
|
34
34
|
@media (prefers-reduced-motion:no-preference){.fdy-tabs__panel:not([hidden]){animation:fdy-combo-in var(--dur-base) var(--ease-standard);}}
|
|
35
|
+
|
|
36
|
+
/* VERTICAL VARIANT: the same tabs turned down the page, list on the leading side, panel beside it.
|
|
37
|
+
*
|
|
38
|
+
* Two markers, one each, and they are not interchangeable. The CLASS decides the look, because a
|
|
39
|
+
* stylesheet cannot reach a parent from a child and the two-column box belongs to `.fdy-tabs`
|
|
40
|
+
* itself. The ATTRIBUTE `aria-orientation="vertical"` on the tablist decides the keyboard, because
|
|
41
|
+
* that is the thing an assistive technology announces and APG requires it on a vertical tablist
|
|
42
|
+
* anyway. `freeday-tabs.js` writes the attribute when only the class is present, so an app states
|
|
43
|
+
* the axis once and the two can never disagree.
|
|
44
|
+
*
|
|
45
|
+
* Selection is a SOFT FILL here, not a leading edge bar. Sideways, the marker is an underline under
|
|
46
|
+
* the tab it belongs to; turned 90 degrees that line lands between two tabs and points at the wrong
|
|
47
|
+
* one. The kit already has an answer for "one item in a vertical list is where you are" and spends
|
|
48
|
+
* it in four places (`.fdy-nav__item[aria-current]`, the combo, cascade and autocomplete options):
|
|
49
|
+
* `--color-primary-soft` behind `--color-primary-strong`. Both are precomputed tone tokens, so this
|
|
50
|
+
* needs no color-mix() and no alpha of its own.
|
|
51
|
+
*
|
|
52
|
+
* What it deliberately does NOT do: pick a column width (set `--fdy-tabs-list-w`, default `auto`),
|
|
53
|
+
* and collapse to one column on a narrow screen. Whether these tabs are a whole page, a card or a
|
|
54
|
+
* drawer is the page's knowledge, not the component's, so the breakpoint is the page's to write. */
|
|
55
|
+
.fdy-tabs--vertical{display:flex;align-items:flex-start;gap:var(--space-5);}
|
|
56
|
+
/* `overflow:visible` on both axes, because the base strip scrolls sideways: a scroll container
|
|
57
|
+
clips to its padding box, and a column has no sideways overflow to scroll, only a focus ring to
|
|
58
|
+
lose. `box-shadow:none` drops the strip's own bottom line with it. */
|
|
59
|
+
.fdy-tabs--vertical .fdy-tabs__list{flex:none;flex-direction:column;width:var(--fdy-tabs-list-w,auto);overflow:visible;box-shadow:none;}
|
|
60
|
+
/* `white-space:normal` and `text-align:start` are corrections, not taste: a tab in a column of
|
|
61
|
+
fixed width that may not wrap will overflow it, and a button centres its label by default. */
|
|
62
|
+
.fdy-tabs--vertical .fdy-tabs__tab{border-bottom:0;border-radius:var(--radius-md);text-align:start;white-space:normal;}
|
|
63
|
+
.fdy-tabs--vertical .fdy-tabs__tab:focus-visible{border-radius:var(--radius-md);}
|
|
64
|
+
.fdy-tabs--vertical .fdy-tabs__tab[aria-selected="true"],.fdy-tabs--vertical .fdy-tabs__tab[aria-current="page"]{background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:var(--weight-semibold);}
|
|
65
|
+
.fdy-tabs--vertical .fdy-tabs__panel{flex:1;min-width:0;padding:0;}
|