@cahyo-dimas/freeday 1.53.0 → 2.0.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 +657 -535
- package/COMPONENTS.md +153 -135
- package/README.id.md +46 -45
- package/README.md +46 -43
- package/USAGE.md +39 -35
- package/adapters/blazor/FdyAppShell.razor +50 -0
- package/adapters/blazor/FdyAppShell.razor.cs +114 -0
- package/adapters/blazor/FdyCfl.razor.cs +1 -1
- package/adapters/blazor/FdyChart.razor +1 -1
- package/adapters/blazor/FdyChart.razor.cs +3 -3
- package/adapters/blazor/FdyChartSeries.cs +1 -1
- package/adapters/blazor/FdyCombo.razor.cs +2 -2
- package/adapters/blazor/FdyModal.razor +1 -1
- package/adapters/blazor/FdyTable.razor.cs +7 -7
- package/adapters/blazor/FdyTableFilter.razor +1 -1
- package/adapters/blazor/FdyTableFooter.razor +1 -1
- package/adapters/blazor/FdyTableFooter.razor.cs +4 -4
- package/adapters/blazor/Freeday.Blazor.csproj +1 -1
- package/adapters/blazor/FreedayComponentBase.cs +1 -1
- package/adapters/blazor/TableModel.cs +3 -3
- package/adapters/blazor/TableTypes.cs +3 -3
- package/adapters/blazor/freeday-blazor.js +5 -5
- package/adapters/core/app-shell.d.ts +30 -0
- package/adapters/core/app-shell.js +134 -0
- package/adapters/core/table-model.d.ts +2 -2
- package/adapters/core/table-model.js +8 -8
- package/adapters/react/components/FdyAppShell.tsx +159 -0
- package/adapters/react/components/FdyAutocomplete.tsx +1 -1
- package/adapters/react/components/FdyCascade.tsx +1 -1
- package/adapters/react/components/FdyCfl.tsx +11 -11
- package/adapters/react/components/FdyDateRange.tsx +2 -2
- package/adapters/react/components/FdyDatepicker.tsx +5 -5
- package/adapters/react/components/FdyDrawer.tsx +1 -1
- package/adapters/react/components/FdyModal.tsx +2 -2
- package/adapters/react/components/FdyTable.tsx +7 -7
- package/adapters/react/components/FdyTableFilter.tsx +1 -1
- package/adapters/react/components/FdyTableFooter.tsx +5 -5
- package/adapters/react/index.d.ts +2 -1
- package/adapters/react/index.js +1 -0
- package/adapters/react/useFreeday.js +3 -3
- package/adapters/vue/components/FdyAppShell.vue +160 -0
- package/adapters/vue/components/FdyAutocomplete.vue +1 -1
- package/adapters/vue/components/FdyCascade.vue +1 -1
- package/adapters/vue/components/FdyCfl.vue +8 -8
- package/adapters/vue/components/FdyChart.vue +2 -2
- package/adapters/vue/components/FdyCombo.vue +1 -1
- package/adapters/vue/components/FdyDateRange.vue +2 -2
- package/adapters/vue/components/FdyDatepicker.vue +5 -5
- package/adapters/vue/components/FdyDrawer.vue +3 -3
- package/adapters/vue/components/FdyModal.vue +3 -3
- package/adapters/vue/components/FdyTable.vue +7 -7
- package/adapters/vue/components/FdyTableFilter.vue +1 -1
- package/adapters/vue/components/FdyTableFooter.vue +5 -5
- package/adapters/vue/index.d.ts +3 -2
- package/adapters/vue/index.js +1 -0
- package/adapters/vue/useFreeday.js +3 -3
- package/dist/asset.d.ts +3 -3
- package/dist/freeday-app-shell.js +49 -9
- package/dist/freeday-autocomplete.js +2 -2
- package/dist/freeday-breakpoint.js +1 -1
- package/dist/freeday-carousel.js +5 -5
- package/dist/freeday-cascade.js +7 -7
- package/dist/freeday-cfl.js +9 -9
- package/dist/freeday-chart.js +11 -11
- package/dist/freeday-chip.js +3 -3
- package/dist/freeday-datepicker.js +11 -7
- package/dist/freeday-datetime.js +5 -5
- package/dist/freeday-drawer.js +1 -1
- package/dist/freeday-form.js +14 -14
- package/dist/freeday-mask.js +6 -6
- package/dist/freeday-menu.js +1 -1
- package/dist/freeday-number.js +3 -3
- package/dist/freeday-popover.js +3 -3
- package/dist/freeday-rating.js +2 -2
- package/dist/freeday-select.js +5 -5
- package/dist/freeday-slider.js +2 -2
- package/dist/freeday-stepper.js +7 -7
- package/dist/freeday-table.js +15 -15
- package/dist/freeday-tabs.js +1 -1
- package/dist/freeday-timepicker.js +2 -2
- package/dist/freeday-toast.js +8 -8
- package/dist/freeday-tree.js +3 -3
- package/dist/freeday-upload.js +25 -25
- package/dist/freeday.bundle.css +176 -176
- package/dist/freeday.css +170 -170
- package/dist/freeday.d.ts +2 -2
- package/dist/freeday.js +202 -158
- package/dist/freeday.tokens.css +5 -5
- package/docs/agent-onboarding.md +42 -42
- package/docs/getting-started.md +35 -35
- package/docs/integrations.md +18 -18
- package/docs/reference-screen.html +14 -14
- package/package.json +5 -4
- package/src/base.css +6 -6
- package/src/components/accordion.css +4 -4
- package/src/components/alert.css +1 -1
- package/src/components/app-shell.css +10 -10
- package/src/components/appbar.css +3 -3
- package/src/components/autocomplete.css +1 -1
- package/src/components/avatar.css +3 -3
- package/src/components/badge.css +5 -5
- package/src/components/breadcrumb.css +1 -1
- package/src/components/breakpoints.css +4 -4
- package/src/components/button.css +13 -13
- package/src/components/card.css +8 -8
- package/src/components/carousel.css +2 -2
- package/src/components/cascade.css +2 -2
- package/src/components/cfl.css +4 -4
- package/src/components/chart.css +3 -3
- package/src/components/chip.css +2 -2
- package/src/components/combo.css +3 -3
- package/src/components/composition.css +7 -7
- package/src/components/datepicker.css +6 -6
- package/src/components/datetimepicker.css +1 -1
- package/src/components/description-list.css +1 -1
- package/src/components/divider.css +1 -1
- package/src/components/drawer.css +1 -1
- package/src/components/file-upload.css +5 -5
- package/src/components/filterbar.css +7 -7
- package/src/components/form-grid.css +2 -2
- package/src/components/input-group.css +6 -6
- package/src/components/input.css +6 -6
- package/src/components/kbd.css +1 -1
- package/src/components/list.css +6 -6
- package/src/components/menu.css +3 -3
- package/src/components/modal.css +1 -1
- package/src/components/pagination.css +1 -1
- package/src/components/progress.css +1 -1
- package/src/components/rating.css +2 -2
- package/src/components/selection.css +4 -4
- package/src/components/skeleton.css +1 -1
- package/src/components/slider.css +1 -1
- package/src/components/spinner.css +1 -1
- package/src/components/states.css +1 -1
- package/src/components/stepper.css +2 -2
- package/src/components/table.css +15 -15
- package/src/components/tabs.css +3 -3
- package/src/components/timeline.css +1 -1
- package/src/components/timepicker.css +1 -1
- package/src/components/toast.css +3 -3
- package/src/components/tooltip.css +1 -1
- package/src/components/tree.css +2 -2
- package/tokens/breakpoints.d.ts +2 -2
- package/tokens/breakpoints.mjs +3 -3
- package/tokens/tokens.json +1 -1
package/src/components/tabs.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* Freeday
|
|
2
|
-
/* position:relative
|
|
1
|
+
/* Freeday. Tabs (WAI-ARIA APG) */
|
|
2
|
+
/* position:relative, containing block for out-of-flow content in the tabs (see base.css). */
|
|
3
3
|
.fdy-tabs__list{position:relative;display:flex;gap:var(--space-1);border-bottom:var(--bw) solid var(--color-border);overflow-x:auto;}
|
|
4
4
|
.fdy-tabs__tab{appearance:none;border:0;background:transparent;cursor:pointer;white-space:nowrap;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);}
|
|
5
5
|
.fdy-tabs__tab:hover{color:var(--color-text);}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
.fdy-tabs__tab:disabled:hover,.fdy-tabs__tab[aria-disabled="true"]:hover{color:var(--color-text-muted);}
|
|
8
8
|
/* `aria-current="page"` is honoured alongside `aria-selected="true"` so the tab look can be used for
|
|
9
9
|
ROUTE-driven sub-navigation (/settings/profile · /settings/billing), where the tabs are real links.
|
|
10
|
-
A link cannot be `aria-selected
|
|
10
|
+
A link cannot be `aria-selected`, that is invalid ARIA on an anchor; `aria-current` is the only
|
|
11
11
|
correct marker, and it is what a router sets. Use `.fdy-tabs` + `freeday-tabs.js` (roving tabindex,
|
|
12
12
|
a panel per tab) for in-page tabs; use these classes on plain links for routed ones, and
|
|
13
13
|
`.fdy-nav--horizontal` for an application's PRIMARY navigation. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Freeday
|
|
1
|
+
/* Freeday. Timeline (vertical event feed: dot markers on a connector line). Pure CSS. */
|
|
2
2
|
.fdy-timeline{list-style:none;margin:0;padding:0;}
|
|
3
3
|
.fdy-timeline__item{position:relative;padding:0 0 var(--space-5) var(--space-6);border-left:2px solid var(--color-border);}
|
|
4
4
|
.fdy-timeline__item:last-child{border-left-color:transparent;padding-bottom:0;}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Freeday
|
|
1
|
+
/* Freeday. Time picker (input-styled trigger + scrollable time-list popover).
|
|
2
2
|
* Built by freeday-timepicker.js from an empty [data-fdy-timepicker] wrapper.
|
|
3
3
|
* Trigger visual mirrors the date picker for a consistent control family. */
|
|
4
4
|
.fdy-timepicker{position:relative;display:inline-block;width:100%;max-width:11rem;}
|
package/src/components/toast.css
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/* Freeday
|
|
1
|
+
/* Freeday. Toast (transient notification) */
|
|
2
2
|
/* The region is a POPOVER, not merely a high z-index.
|
|
3
|
-
`.fdy-modal` is a native <dialog> opened with showModal(), which puts it in the TOP LAYER
|
|
3
|
+
`.fdy-modal` is a native <dialog> opened with showModal(), which puts it in the TOP LAYER, a
|
|
4
4
|
layer above the whole z-index universe, so no number here could ever beat it. A toast raised by
|
|
5
5
|
an action taken inside a modal was painted behind that modal's backdrop: dimmed, unreadable, and
|
|
6
6
|
most of it under the dialog itself. `freeday-toast.js` calls showPopover() as each toast is
|
|
7
7
|
added, which puts the region in the top layer too, and last-in wins there.
|
|
8
|
-
Everything after `pointer-events` is undoing the UA's [popover] defaults
|
|
8
|
+
Everything after `pointer-events` is undoing the UA's [popover] defaults, it arrives with
|
|
9
9
|
inset:0, auto margins, a border, padding, a Canvas background and overflow:auto, none of which a
|
|
10
10
|
toast stack wants. Where showPopover() is unavailable the element is still an ordinary fixed
|
|
11
11
|
block at z-index 200, which is exactly what it was before. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Freeday
|
|
1
|
+
/* Freeday. Tooltip (CSS-only, hover/focus) */
|
|
2
2
|
.fdy-tooltip-wrap{position:relative;display:inline-flex;}
|
|
3
3
|
.fdy-tooltip{position:absolute;bottom:calc(100% + var(--space-2));left:50%;z-index:150;max-width:16rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--color-inverse-text);background:var(--color-inverse-surface);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(4px);transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);}
|
|
4
4
|
.fdy-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:.3rem solid transparent;border-top-color:var(--color-inverse-surface);}
|
package/src/components/tree.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Freeday
|
|
1
|
+
/* Freeday. Tree view (hierarchy via nested native <details>: keyboard-toggle, zero-JS).
|
|
2
2
|
* Branches expand/collapse; leaves are plain rows. Chevron + optional folder/file icons. */
|
|
3
3
|
.fdy-tree{list-style:none;margin:0;padding:0;font-size:var(--text-sm);}
|
|
4
4
|
.fdy-tree ul{list-style:none;margin:0;padding-left:var(--space-4);}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
/* Disabled row (branch summary or leaf): dimmed, no hover, not interactive. */
|
|
16
16
|
.fdy-tree__leaf[aria-disabled="true"],.fdy-tree__branch[aria-disabled="true"] > summary{opacity:.5;cursor:not-allowed;pointer-events:none;}
|
|
17
17
|
|
|
18
|
-
/* Checkbox variant
|
|
18
|
+
/* Checkbox variant, a selectable tree (cascading parent/child via freeday-tree.js).
|
|
19
19
|
* A native <input class="fdy-checkbox"> sits at the start of every row; a partially
|
|
20
20
|
* selected branch shows the native :indeterminate dash. The checkbox stops click
|
|
21
21
|
* propagation, so toggling selection never expands/collapses the branch. */
|
package/tokens/breakpoints.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Types for tokens/breakpoints.mjs
|
|
1
|
+
// Types for tokens/breakpoints.mjs: the JS-side breakpoint scale in px
|
|
2
2
|
// (mirrors the sm/md/lg/xl utilities in src/components/breakpoints.css).
|
|
3
3
|
export declare const breakpoints: {
|
|
4
4
|
/** Width at which .fdy-app's sidebar turns from off-canvas drawer into a static column.
|
|
5
|
-
* Not part of the sm/md/lg/xl ramp
|
|
5
|
+
* Not part of the sm/md/lg/xl ramp; it mirrors app-shell.css and nothing else. */
|
|
6
6
|
nav: number;
|
|
7
7
|
sm: number;
|
|
8
8
|
md: number;
|
package/tokens/breakpoints.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
// Freeday breakpoint scale in px
|
|
1
|
+
// Freeday breakpoint scale in px, mirrors src/components/breakpoints.css utilities
|
|
2
2
|
// (sm/md/lg/xl). CSS @media can't read custom properties, so this is the JS-side
|
|
3
3
|
// source of the scale for matchMedia / app @media alignment.
|
|
4
4
|
//
|
|
5
5
|
// `nav` is not part of the sm/md/lg/xl ramp: it is the width at which .fdy-app switches the
|
|
6
6
|
// sidebar from an off-canvas drawer (below) to a static column (at and above), hard-wired in
|
|
7
|
-
// src/components/app-shell.css. Anything that has to agree with the shell
|
|
7
|
+
// src/components/app-shell.css. Anything that has to agree with the shell, a matchMedia guard
|
|
8
8
|
// deciding whether the nav toggle sets --nav-open or --nav-collapsed, a utility-framework
|
|
9
|
-
// variant
|
|
9
|
+
// variant, must use THIS number, not md. Aligning such code to md (960) leaves 721–959px
|
|
10
10
|
// broken: the sidebar is already static while the script still thinks it is an overlay.
|
|
11
11
|
export const breakpoints = { nav: 721, sm: 600, md: 960, lg: 1280, xl: 1920 };
|
package/tokens/tokens.json
CHANGED
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"tick": { "$value": "{slate.400}", "$dark": "{slate.600}" }
|
|
119
119
|
},
|
|
120
120
|
|
|
121
|
-
"_comment_tone": "General categorical palette
|
|
121
|
+
"_comment_tone": "General categorical palette: the same 8 validated hues as chart, aliased under a chart-neutral name for avatars, chips, tags, legend swatches (theme-follows via chart's own $dark).",
|
|
122
122
|
"tone": {
|
|
123
123
|
"1": { "$value": "{chart.1}" },
|
|
124
124
|
"2": { "$value": "{chart.2}" },
|