@lattice-php/lattice 0.13.0 → 0.15.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/dist/action/components/action-group.js +1 -1
- package/dist/action/components/action-group.js.map +1 -1
- package/dist/action/components/action-menu-context.d.ts +1 -1
- package/dist/action/components/action-menu-context.js +1 -1
- package/dist/action/components/action-menu-context.js.map +1 -1
- package/dist/core/components/card.js +13 -6
- package/dist/core/components/card.js.map +1 -1
- package/dist/core/components/collapsible.js +9 -2
- package/dist/core/components/collapsible.js.map +1 -1
- package/dist/core/components/dialog.d.ts +1 -1
- package/dist/core/components/dialog.js +2 -2
- package/dist/core/components/dialog.js.map +1 -1
- package/dist/core/components/eager.d.ts +1 -0
- package/dist/core/components/eager.js +50 -0
- package/dist/core/components/eager.js.map +1 -0
- package/dist/core/components/floating-panel.js +2 -2
- package/dist/core/components/floating-panel.js.map +1 -1
- package/dist/core/components/grid.js +1 -0
- package/dist/core/components/grid.js.map +1 -1
- package/dist/core/components/heading.js +10 -8
- package/dist/core/components/heading.js.map +1 -1
- package/dist/core/components/index.js +3 -1
- package/dist/core/components/index.js.map +1 -1
- package/dist/core/components/link.js +61 -3
- package/dist/core/components/link.js.map +1 -1
- package/dist/core/components/popover.d.ts +1 -1
- package/dist/core/components/popover.js +1 -1
- package/dist/core/components/popover.js.map +1 -1
- package/dist/core/components/section.js +18 -10
- package/dist/core/components/section.js.map +1 -1
- package/dist/core/components/stack.js +1 -0
- package/dist/core/components/stack.js.map +1 -1
- package/dist/core/components/tooltip.d.ts +3 -0
- package/dist/core/components/tooltip.js +25 -0
- package/dist/core/components/tooltip.js.map +1 -0
- package/dist/core/renderer.js +1 -1
- package/dist/create-app.js +7 -3
- package/dist/create-app.js.map +1 -1
- package/dist/form/components/base/field.js +1 -1
- package/dist/form/components/base/submit-button.js +1 -1
- package/dist/form/components/base/submit-button.js.map +1 -1
- package/dist/form/components/fields/checkbox.js +2 -2
- package/dist/form/components/fields/date-picker-control.js +2 -2
- package/dist/form/components/fields/date-picker-control.js.map +1 -1
- package/dist/form/components/fields/rich-editor.js +1 -1
- package/dist/form/components/fields/rich-editor.js.map +1 -1
- package/dist/form/components/fields/select.js +3 -2
- package/dist/form/components/fields/select.js.map +1 -1
- package/dist/form/components/fields/toggle.js +1 -1
- package/dist/form/components/form.js +2 -1
- package/dist/form/components/form.js.map +1 -1
- package/dist/form/components/index.js +1 -1
- package/dist/form/eager.d.ts +1 -0
- package/dist/form/eager.js +47 -0
- package/dist/form/eager.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/lattice.css +68 -36
- package/dist/layout/menu-item.js +1 -1
- package/dist/layout/menu-item.js.map +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/sidebar.js.map +1 -1
- package/dist/layout/topbar.js +1 -1
- package/dist/layout/topbar.js.map +1 -1
- package/dist/provider-base.d.ts +10 -0
- package/dist/provider-base.js +27 -0
- package/dist/provider-base.js.map +1 -0
- package/dist/provider.d.ts +4 -7
- package/dist/provider.js +9 -22
- package/dist/provider.js.map +1 -1
- package/dist/registry/eager.d.ts +1 -0
- package/dist/registry/eager.js +14 -0
- package/dist/registry/eager.js.map +1 -0
- package/dist/registry/lazy.d.ts +1 -0
- package/dist/registry/lazy.js +14 -0
- package/dist/registry/lazy.js.map +1 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +2 -14
- package/dist/table/components/column-filter-control.js +2 -2
- package/dist/table/components/column-filter-control.js.map +1 -1
- package/dist/table/components/filter-controls.js +3 -3
- package/dist/table/components/filter-controls.js.map +1 -1
- package/dist/table/components/pagination.js +7 -6
- package/dist/table/components/pagination.js.map +1 -1
- package/dist/table/components/table.js +11 -5
- package/dist/table/components/table.js.map +1 -1
- package/dist/table/eager.d.ts +1 -0
- package/dist/table/eager.js +11 -0
- package/dist/table/eager.js.map +1 -0
- package/dist/table/use-table.js +1 -1
- package/dist/toast/toaster.js +1 -1
- package/dist/toast/toaster.js.map +1 -1
- package/dist/types/generated.d.ts +15 -0
- package/package.json +9 -1
- package/dist/registry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eager.js","names":[],"sources":["../../resources/js/table/eager.ts"],"sourcesContent":["import { createPlugin, eagerComponent } from \"@lattice-php/lattice/core/registry\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport TableComponent from \"./components/table\";\n\nexport const eagerTableComponents = createPlugin({\n components: {\n table: eagerComponent(TableComponent as unknown as RendererComponent<\"table\">),\n },\n name: \"lattice/table\",\n});\n"],"mappings":";;;AAIA,IAAa,uBAAuB,aAAa;CAC/C,YAAY,EACV,OAAO,eAAe,cAAuD,EAC/E;CACA,MAAM;AACR,CAAC"}
|
package/dist/table/use-table.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LATTICE_EVENT } from "../events/event-names.js";
|
|
2
2
|
import { apiFetch, apiJson } from "../core/api.js";
|
|
3
|
-
import { isEmptyFilterValue } from "./filter-values.js";
|
|
4
3
|
import { getColumns, getPagination, getRows, getState } from "./payload.js";
|
|
4
|
+
import { isEmptyFilterValue } from "./filter-values.js";
|
|
5
5
|
import { buildEndpoint, nextSort } from "./query.js";
|
|
6
6
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
7
7
|
//#region resources/js/table/use-table.ts
|
package/dist/toast/toaster.js
CHANGED
|
@@ -54,7 +54,7 @@ function Toaster({ duration = 4e3 }) {
|
|
|
54
54
|
})
|
|
55
55
|
}) : null
|
|
56
56
|
]
|
|
57
|
-
}, toast.id)), /* @__PURE__ */ jsx(Toast.Viewport, { className: "fixed inset-x-0 bottom-0 z-
|
|
57
|
+
}, toast.id)), /* @__PURE__ */ jsx(Toast.Viewport, { className: "fixed inset-x-0 bottom-0 z-lt-toast mx-auto flex w-full max-w-sm flex-col gap-2 p-4 outline-none" })]
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.js","names":[],"sources":["../../resources/js/toast/toaster.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport * as Toast from \"@radix-ui/react-toast\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/lattice/core/renderer\";\nimport type { ToastMessage } from \"@lattice-php/lattice/types/generated\";\nimport { onToast } from \"@lattice-php/lattice/toast/toast\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport { variantStyles } from \"@lattice-php/lattice/toast/variant-styles\";\nimport { resolveTranslatable } from \"@lattice-php/lattice/i18n/translatable\";\n\ntype ToastItem = ToastMessage & { id: number };\n\nlet nextId = 0;\n\nexport function Toaster({ duration = 4000 }: { duration?: number }) {\n const { t } = useT(\"lattice\");\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n function dismiss(id: number): void {\n setToasts((current) => current.filter((toast) => toast.id !== id));\n }\n\n useEffect(\n () =>\n onToast((toast) => {\n setToasts((current) => [...current, { ...toast, id: nextId++ }]);\n }),\n [],\n );\n\n return (\n <Toast.Provider duration={duration} swipeDirection=\"down\">\n {toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n className={cn(\n \"flex items-start gap-3 rounded-lt border border-l-4 border-lt-border bg-lt-popover p-4 text-lt-popover-fg shadow-lt-lg\",\n variantStyles[toast.variant].accent,\n \"data-[state=open]:animate-lt-toast-in data-[state=closed]:animate-lt-toast-out\",\n \"data-[swipe=move]:translate-y-[var(--radix-toast-swipe-move-y)] data-[swipe=cancel]:translate-y-0 data-[swipe=cancel]:transition-transform\",\n )}\n data-test={`toast-${toast.variant}`}\n duration={toast.persistent ? Infinity : (toast.duration ?? duration)}\n onOpenChange={(open) => {\n if (!open) {\n dismiss(toast.id);\n }\n }}\n >\n {variantStyles[toast.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <Toast.Title className=\"text-sm text-lt-fg\">\n {typeof toast.message === \"string\"\n ? toast.message\n : resolveTranslatable(toast.message, {}, t)}\n </Toast.Title>\n {toast.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={toast.action} />\n </div>\n ) : null}\n </div>\n {toast.dismissible ? (\n <Toast.Close\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n className=\"shrink-0 rounded-lt-sm p-1 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg\"\n data-test=\"toast-dismiss\"\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </Toast.Close>\n ) : null}\n </Toast.Root>\n ))}\n <Toast.Viewport className=\"fixed inset-x-0 bottom-0 z-
|
|
1
|
+
{"version":3,"file":"toaster.js","names":[],"sources":["../../resources/js/toast/toaster.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport * as Toast from \"@radix-ui/react-toast\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/lattice/core/renderer\";\nimport type { ToastMessage } from \"@lattice-php/lattice/types/generated\";\nimport { onToast } from \"@lattice-php/lattice/toast/toast\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport { variantStyles } from \"@lattice-php/lattice/toast/variant-styles\";\nimport { resolveTranslatable } from \"@lattice-php/lattice/i18n/translatable\";\n\ntype ToastItem = ToastMessage & { id: number };\n\nlet nextId = 0;\n\nexport function Toaster({ duration = 4000 }: { duration?: number }) {\n const { t } = useT(\"lattice\");\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n function dismiss(id: number): void {\n setToasts((current) => current.filter((toast) => toast.id !== id));\n }\n\n useEffect(\n () =>\n onToast((toast) => {\n setToasts((current) => [...current, { ...toast, id: nextId++ }]);\n }),\n [],\n );\n\n return (\n <Toast.Provider duration={duration} swipeDirection=\"down\">\n {toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n className={cn(\n \"flex items-start gap-3 rounded-lt border border-l-4 border-lt-border bg-lt-popover p-4 text-lt-popover-fg shadow-lt-lg\",\n variantStyles[toast.variant].accent,\n \"data-[state=open]:animate-lt-toast-in data-[state=closed]:animate-lt-toast-out\",\n \"data-[swipe=move]:translate-y-[var(--radix-toast-swipe-move-y)] data-[swipe=cancel]:translate-y-0 data-[swipe=cancel]:transition-transform\",\n )}\n data-test={`toast-${toast.variant}`}\n duration={toast.persistent ? Infinity : (toast.duration ?? duration)}\n onOpenChange={(open) => {\n if (!open) {\n dismiss(toast.id);\n }\n }}\n >\n {variantStyles[toast.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <Toast.Title className=\"text-sm text-lt-fg\">\n {typeof toast.message === \"string\"\n ? toast.message\n : resolveTranslatable(toast.message, {}, t)}\n </Toast.Title>\n {toast.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={toast.action} />\n </div>\n ) : null}\n </div>\n {toast.dismissible ? (\n <Toast.Close\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n className=\"shrink-0 rounded-lt-sm p-1 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg\"\n data-test=\"toast-dismiss\"\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </Toast.Close>\n ) : null}\n </Toast.Root>\n ))}\n <Toast.Viewport className=\"fixed inset-x-0 bottom-0 z-lt-toast mx-auto flex w-full max-w-sm flex-col gap-2 p-4 outline-none\" />\n </Toast.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAI,SAAS;AAEb,SAAgB,QAAQ,EAAE,WAAW,OAA+B;CAClE,MAAM,EAAE,MAAM,KAAK,SAAS;CAC5B,MAAM,CAAC,QAAQ,aAAa,SAAsB,CAAC,CAAC;CAEpD,SAAS,QAAQ,IAAkB;EACjC,WAAW,YAAY,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC;CACnE;CAEA,gBAEI,SAAS,UAAU;EACjB,WAAW,YAAY,CAAC,GAAG,SAAS;GAAE,GAAG;GAAO,IAAI;EAAS,CAAC,CAAC;CACjE,CAAC,GACH,CAAC,CACH;CAEA,OACE,qBAAC,MAAM,UAAP;EAA0B;EAAU,gBAAe;YAAnD,CACG,OAAO,KAAK,UACX,qBAAC,MAAM,MAAP;GAEE,WAAW,GACT,0HACA,cAAc,MAAM,SAAS,QAC7B,kFACA,4IACF;GACA,aAAW,SAAS,MAAM;GAC1B,UAAU,MAAM,aAAa,WAAY,MAAM,YAAY;GAC3D,eAAe,SAAS;IACtB,IAAI,CAAC,MACH,QAAQ,MAAM,EAAE;GAEpB;aAdF;IAgBG,cAAc,MAAM,SAAS;IAC9B,qBAAC,OAAD;KAAK,WAAU;eAAf,CACE,oBAAC,MAAM,OAAP;MAAa,WAAU;gBACpB,OAAO,MAAM,YAAY,WACtB,MAAM,UACN,oBAAoB,MAAM,SAAS,CAAC,GAAG,CAAC;KACjC,CAAA,GACZ,MAAM,SACL,oBAAC,OAAD;MAAK,WAAU;gBACb,oBAAC,YAAD,EAAY,MAAM,MAAM,OAAS,CAAA;KAC9B,CAAA,IACH,IACD;;IACJ,MAAM,cACL,oBAAC,MAAM,OAAP;KACE,cAAY,EAAE,kBAAkB,SAAS;KACzC,WAAU;KACV,aAAU;eAEV,oBAAC,MAAD;MAAM,MAAK;MAAI,WAAU;KAAmB,CAAA;IACjC,CAAA,IACX;GACM;KArCL,MAAM,EAqCD,CACb,GACD,oBAAC,MAAM,UAAP,EAAgB,WAAU,mGAAoG,CAAA,CAChH;;AAEpB"}
|
|
@@ -123,6 +123,7 @@ export type Callouts = Record<string, never>;
|
|
|
123
123
|
export type Card = {
|
|
124
124
|
description: string | null;
|
|
125
125
|
title: string | null;
|
|
126
|
+
tooltip: string | null;
|
|
126
127
|
};
|
|
127
128
|
export type ChannelVisibility = "public" | "private" | "presence";
|
|
128
129
|
export type Chart = {
|
|
@@ -231,6 +232,7 @@ export type CloseModalEffect = {
|
|
|
231
232
|
export type Collapsible = {
|
|
232
233
|
collapsed: boolean;
|
|
233
234
|
rememberState: boolean;
|
|
235
|
+
tooltip: string | null;
|
|
234
236
|
trigger: Node[];
|
|
235
237
|
};
|
|
236
238
|
export type Color = "default" | "muted" | "primary" | "success" | "info" | "warning" | "danger";
|
|
@@ -372,6 +374,10 @@ export type CoreNode = {
|
|
|
372
374
|
type: "text";
|
|
373
375
|
key?: string;
|
|
374
376
|
props: Text;
|
|
377
|
+
} | {
|
|
378
|
+
type: "tooltip";
|
|
379
|
+
key?: string;
|
|
380
|
+
props: Tooltip;
|
|
375
381
|
};
|
|
376
382
|
export type DataList = {
|
|
377
383
|
dataEndpoint: string | null;
|
|
@@ -635,6 +641,7 @@ export type Grid = {
|
|
|
635
641
|
export type Heading = {
|
|
636
642
|
level: number;
|
|
637
643
|
text: string;
|
|
644
|
+
tooltip: string | null;
|
|
638
645
|
};
|
|
639
646
|
export type Height = "full" | "screen";
|
|
640
647
|
export type HiddenInput = {
|
|
@@ -725,8 +732,11 @@ export type LayoutNode = {
|
|
|
725
732
|
export type Link = {
|
|
726
733
|
action: Node | null;
|
|
727
734
|
href: string | null;
|
|
735
|
+
icon: string | null;
|
|
728
736
|
label: string;
|
|
729
737
|
method: HttpMethod | null;
|
|
738
|
+
prefix: Affix | null;
|
|
739
|
+
suffix: Affix | null;
|
|
730
740
|
tabIndex: number | null;
|
|
731
741
|
};
|
|
732
742
|
export type ListenerPayload = {
|
|
@@ -981,6 +991,7 @@ export type Section = {
|
|
|
981
991
|
headerActions: Node[];
|
|
982
992
|
rememberState: boolean;
|
|
983
993
|
title: string | null;
|
|
994
|
+
tooltip: string | null;
|
|
984
995
|
};
|
|
985
996
|
export type SegmentedControl = {
|
|
986
997
|
emits: string | null;
|
|
@@ -1248,6 +1259,10 @@ export type ToolCallPart = {
|
|
|
1248
1259
|
args: Record<string, unknown>;
|
|
1249
1260
|
name: string;
|
|
1250
1261
|
};
|
|
1262
|
+
export type Tooltip = {
|
|
1263
|
+
content: string | null;
|
|
1264
|
+
trigger: Node[];
|
|
1265
|
+
};
|
|
1251
1266
|
export type Topbar = {
|
|
1252
1267
|
sticky: boolean;
|
|
1253
1268
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lattice-php/lattice",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Server-driven React components for Laravel and Inertia.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Manuel Christlieb <manuel@christlieb.eu>",
|
|
@@ -135,6 +135,14 @@
|
|
|
135
135
|
"types": "./dist/registry.d.ts",
|
|
136
136
|
"import": "./dist/registry.js"
|
|
137
137
|
},
|
|
138
|
+
"./registry/eager": {
|
|
139
|
+
"types": "./dist/registry/eager.d.ts",
|
|
140
|
+
"import": "./dist/registry/eager.js"
|
|
141
|
+
},
|
|
142
|
+
"./registry/lazy": {
|
|
143
|
+
"types": "./dist/registry/lazy.d.ts",
|
|
144
|
+
"import": "./dist/registry/lazy.js"
|
|
145
|
+
},
|
|
138
146
|
"./remote": {
|
|
139
147
|
"types": "./dist/remote/index.d.ts",
|
|
140
148
|
"import": "./dist/remote/index.js"
|
package/dist/registry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","names":[],"sources":["../resources/js/registry.ts"],"sourcesContent":["import { createRegistry } from \"@lattice-php/lattice/core/registry\";\nimport { actionComponents } from \"./action\";\nimport { chatPlugin } from \"./chat\";\nimport { coreComponents } from \"./core/components\";\nimport { formComponents } from \"./form\";\nimport { remoteComponents } from \"./remote\";\nimport { layoutComponents } from \"./layout/components\";\nimport { tableComponents } from \"./table\";\n\nexport const registry = createRegistry(\n coreComponents,\n actionComponents,\n formComponents,\n layoutComponents,\n tableComponents,\n chatPlugin,\n remoteComponents,\n);\n"],"mappings":";;;;;;;;;AASA,IAAa,WAAW,eACtB,gBACA,kBACA,gBACA,kBACA,iBACA,YACA,gBACF"}
|