@fayz-ai/admin 0.30.2 → 0.30.3
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/ScheduleEditor-YE42HL7P.js +7 -0
- package/dist/{ScheduleEditor-QC6OYBUE.js.map → ScheduleEditor-YE42HL7P.js.map} +1 -1
- package/dist/{chunk-3SREEFHN.js → chunk-XDYY5PLH.js} +24 -3
- package/dist/chunk-XDYY5PLH.js.map +1 -0
- package/dist/components/plugins/PluginSettingsPanel.d.ts.map +1 -1
- package/dist/crud/archetype-lookup.d.ts +4 -0
- package/dist/crud/archetype-lookup.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderFormView.d.ts +9 -2
- package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
- package/dist/crud/useLookupCreate.d.ts +3 -0
- package/dist/crud/useLookupCreate.d.ts.map +1 -1
- package/dist/index.js +47 -14
- package/dist/index.js.map +1 -1
- package/dist/types/plugins.d.ts +2 -0
- package/dist/types/plugins.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/ScheduleEditor-QC6OYBUE.js +0 -7
- package/dist/chunk-3SREEFHN.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderFormView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AA8B1D,6DAA6D;AAC7D,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"OrderFormView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderFormView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,9 @@ export interface LookupCreate {
|
|
|
15
15
|
/** Pass to `SearchSelect.onCreate`. Undefined when the source cannot write,
|
|
16
16
|
* or when the user's role cannot create this entity. */
|
|
17
17
|
onCreate?: (name: string) => void;
|
|
18
|
+
/** Pass to `SearchSelect.onEdit`. Undefined when the source cannot update,
|
|
19
|
+
* has no form, or the role cannot edit this entity. */
|
|
20
|
+
onEdit?: (id: string) => void;
|
|
18
21
|
/** Mount beside the field. Null in inline mode. */
|
|
19
22
|
modal: React.ReactNode;
|
|
20
23
|
/** The embedded form, in inline mode. Mount it IN PLACE of the field. Null in modal mode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLookupCreate.d.ts","sourceRoot":"","sources":["../../src/crud/useLookupCreate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAkB1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B;6DACyD;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,mDAAmD;IACnD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,6FAA6F;IAC7F,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAChD,OAAO,GAAE,mBAAwB,GAChC,YAAY,
|
|
1
|
+
{"version":3,"file":"useLookupCreate.d.ts","sourceRoot":"","sources":["../../src/crud/useLookupCreate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAkB1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B;6DACyD;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC;4DACwD;IACxD,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,mDAAmD;IACnD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,6FAA6F;IAC7F,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAChD,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAiFd"}
|
package/dist/index.js
CHANGED
|
@@ -9,8 +9,8 @@ export { openEntity, resolveEntityAnchor, resolveEntityHref, resolveEntityRoute
|
|
|
9
9
|
import { useAdminPath, navigateTo, normalizeAdminPath, routeScore, matchRoute } from './chunk-VX3WJLKK.js';
|
|
10
10
|
export { navigateTo as adminNavigateTo, useAdminPath } from './chunk-VX3WJLKK.js';
|
|
11
11
|
export { ImportWizard } from './chunk-46UABOOC.js';
|
|
12
|
-
import { createArchetypeLookup, getPersonLookup } from './chunk-
|
|
13
|
-
export { ScheduleDateExceptions, ScheduleEditor, ScheduleGridPanel, createArchetypeLookup, deleteSchedule, getPersonBookable, getPersonLookup, getScheduleBlockConfig, getSchedules, mergeBlockSettings, parseBlockSettings, registerPersonLookup, replaceWeeklySchedules, saveSchedule, setPersonBookable, setScheduleBlockConfig, subscribeScheduleBlockConfig } from './chunk-
|
|
12
|
+
import { createArchetypeLookup, getPersonLookup } from './chunk-XDYY5PLH.js';
|
|
13
|
+
export { ScheduleDateExceptions, ScheduleEditor, ScheduleGridPanel, createArchetypeLookup, deleteSchedule, getPersonBookable, getPersonLookup, getScheduleBlockConfig, getSchedules, mergeBlockSettings, parseBlockSettings, registerPersonLookup, replaceWeeklySchedules, saveSchedule, setPersonBookable, setScheduleBlockConfig, subscribeScheduleBlockConfig } from './chunk-XDYY5PLH.js';
|
|
14
14
|
import { getFayzSupabaseClientOptional, getSupabaseClientOptional as getSupabaseClientOptional$1, useAppConfigStore, activePluginIds, hasPlugin, WorkspaceChooserGate, WorkspaceSwitchingHost, createFayzSupabaseClient, resolveAppId, createSupabaseOrgAdapter, createMockOrgAdapter, OrgMark, useWorkspaceSwitchingStore, searchWorkspaces, getFayzSupabaseClient } from './chunk-ZUM3Y7VB.js';
|
|
15
15
|
export { OrgMark, activePluginIds, createFayzSupabaseClient, createMockOrgAdapter, createSupabaseOrgAdapter, getFayzSupabaseClient, getFayzSupabaseClientOptional, hasPlugin, orgInitials, useAppConfigStore } from './chunk-ZUM3Y7VB.js';
|
|
16
16
|
import { readOrgSnapshot, useTenantOptional, useOrgAdapter, useTenant, OrgProvider, useOrgAdapterOptional } from './chunk-KSUIF56I.js';
|
|
@@ -26161,7 +26161,7 @@ function PersonAvailabilityTab({ item }) {
|
|
|
26161
26161
|
] }) });
|
|
26162
26162
|
}
|
|
26163
26163
|
var ScheduleEditor2 = React122__default.lazy(
|
|
26164
|
-
() => import('./ScheduleEditor-
|
|
26164
|
+
() => import('./ScheduleEditor-YE42HL7P.js').then((m) => ({ default: m.ScheduleEditor }))
|
|
26165
26165
|
);
|
|
26166
26166
|
function ComingSoon({ icon: Icon, title, description }) {
|
|
26167
26167
|
const t = useTranslation();
|
|
@@ -33708,6 +33708,9 @@ function useLookupCreate(lookup, onCreated, options = {}) {
|
|
|
33708
33708
|
const feature = entityDef?.permission?.feature;
|
|
33709
33709
|
const allowed = !feature || can(feature, "create");
|
|
33710
33710
|
const canCreate = !!lookup?.create && allowed;
|
|
33711
|
+
const canEdit = !!entityDef && !!lookup?.load && !!lookup?.update && (!feature || can(feature, "edit"));
|
|
33712
|
+
const [editingId, setEditingId] = React122.useState(null);
|
|
33713
|
+
const onEdit = React122.useMemo(() => canEdit ? (id) => setEditingId(id) : void 0, [canEdit]);
|
|
33711
33714
|
const createByName = React122.useCallback(async (name) => {
|
|
33712
33715
|
if (!lookup?.create) return;
|
|
33713
33716
|
onCreated(await lookup.create({ name }));
|
|
@@ -33728,10 +33731,27 @@ function useLookupCreate(lookup, onCreated, options = {}) {
|
|
|
33728
33731
|
return created;
|
|
33729
33732
|
};
|
|
33730
33733
|
const inline = options.variant === "inline";
|
|
33734
|
+
const editModal = editingId && entityDef ? /* @__PURE__ */ jsx(
|
|
33735
|
+
CrudRecordModal,
|
|
33736
|
+
{
|
|
33737
|
+
open: true,
|
|
33738
|
+
mode: "edit",
|
|
33739
|
+
entityDef,
|
|
33740
|
+
load: async () => await lookup.load(editingId),
|
|
33741
|
+
onClose: () => setEditingId(null),
|
|
33742
|
+
save: async (data) => {
|
|
33743
|
+
const updated = await lookup.update(editingId, data);
|
|
33744
|
+
onCreated(updated);
|
|
33745
|
+
setEditingId(null);
|
|
33746
|
+
return updated;
|
|
33747
|
+
}
|
|
33748
|
+
}
|
|
33749
|
+
) : null;
|
|
33731
33750
|
return {
|
|
33732
33751
|
onCreate,
|
|
33752
|
+
onEdit,
|
|
33733
33753
|
creating: open,
|
|
33734
|
-
modal: open && !inline ? /* @__PURE__ */ jsx(
|
|
33754
|
+
modal: editModal ?? (open && !inline ? /* @__PURE__ */ jsx(
|
|
33735
33755
|
CrudRecordModal,
|
|
33736
33756
|
{
|
|
33737
33757
|
open: true,
|
|
@@ -33742,7 +33762,7 @@ function useLookupCreate(lookup, onCreated, options = {}) {
|
|
|
33742
33762
|
onClose: () => setDraftName(null),
|
|
33743
33763
|
save
|
|
33744
33764
|
}
|
|
33745
|
-
) : null,
|
|
33765
|
+
) : null),
|
|
33746
33766
|
form: open && inline ? /* @__PURE__ */ jsx(
|
|
33747
33767
|
LookupCreateInline,
|
|
33748
33768
|
{
|
|
@@ -33770,7 +33790,8 @@ var ITEM_LABELS = {
|
|
|
33770
33790
|
remove: "Remover item",
|
|
33771
33791
|
done: "Conclu\xEDdo",
|
|
33772
33792
|
create: "Cadastrar",
|
|
33773
|
-
clear: "Limpar"
|
|
33793
|
+
clear: "Limpar",
|
|
33794
|
+
edit: "Editar"
|
|
33774
33795
|
};
|
|
33775
33796
|
function OrderFormItemRow({
|
|
33776
33797
|
index,
|
|
@@ -33793,7 +33814,8 @@ function OrderFormItemRow({
|
|
|
33793
33814
|
allowSurcharge = false,
|
|
33794
33815
|
extraFields,
|
|
33795
33816
|
labels,
|
|
33796
|
-
extraFieldGroups
|
|
33817
|
+
extraFieldGroups,
|
|
33818
|
+
readOnly = false
|
|
33797
33819
|
}) {
|
|
33798
33820
|
const l = { ...ITEM_LABELS, ...labels };
|
|
33799
33821
|
const total = quantity * unitPrice - (discount ?? 0) + (surcharge ?? 0);
|
|
@@ -33823,10 +33845,10 @@ function OrderFormItemRow({
|
|
|
33823
33845
|
/* @__PURE__ */ jsxs(
|
|
33824
33846
|
"div",
|
|
33825
33847
|
{
|
|
33826
|
-
className:
|
|
33827
|
-
onClick: onToggle,
|
|
33848
|
+
className: `group flex items-center gap-2 px-4 py-3 transition-colors ${readOnly ? "" : "cursor-pointer hover:bg-muted/30"}`,
|
|
33849
|
+
onClick: readOnly ? void 0 : onToggle,
|
|
33828
33850
|
children: [
|
|
33829
|
-
/* @__PURE__ */ jsx(ChevronDown, { className: `h-3 w-3 shrink-0 text-muted-foreground transition-transform ${expanded ? "rotate-0" : "-rotate-90"}` }),
|
|
33851
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: `h-3 w-3 shrink-0 text-muted-foreground transition-transform ${readOnly ? "invisible" : ""} ${expanded ? "rotate-0" : "-rotate-90"}` }),
|
|
33830
33852
|
/* @__PURE__ */ jsxs("span", { className: "w-5 shrink-0 text-[10px] font-medium text-muted-foreground", children: [
|
|
33831
33853
|
index + 1,
|
|
33832
33854
|
"."
|
|
@@ -33839,7 +33861,7 @@ function OrderFormItemRow({
|
|
|
33839
33861
|
formatMoney(unitPrice)
|
|
33840
33862
|
] }),
|
|
33841
33863
|
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-right text-sm font-semibold tabular-nums", children: formatMoney(total) }),
|
|
33842
|
-
/* @__PURE__ */ jsx(
|
|
33864
|
+
!readOnly && /* @__PURE__ */ jsx(
|
|
33843
33865
|
"button",
|
|
33844
33866
|
{
|
|
33845
33867
|
type: "button",
|
|
@@ -33855,7 +33877,7 @@ function OrderFormItemRow({
|
|
|
33855
33877
|
]
|
|
33856
33878
|
}
|
|
33857
33879
|
),
|
|
33858
|
-
expanded && /* @__PURE__ */ jsxs("div", { className: "ml-8 space-y-3 bg-muted/10 px-4 pb-4 pt-1", children: [
|
|
33880
|
+
expanded && !readOnly && /* @__PURE__ */ jsxs("div", { className: "ml-8 space-y-3 bg-muted/10 px-4 pb-4 pt-1", children: [
|
|
33859
33881
|
showTypeSelector && itemTypes.length > 1 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: itemTypes.map((tp) => /* @__PURE__ */ jsx(
|
|
33860
33882
|
"button",
|
|
33861
33883
|
{
|
|
@@ -33889,6 +33911,8 @@ function OrderFormItemRow({
|
|
|
33889
33911
|
createLabel: l.create,
|
|
33890
33912
|
clearLabel: l.clear,
|
|
33891
33913
|
onCreate: itemCreate.onCreate,
|
|
33914
|
+
onEdit: itemCreate.onEdit,
|
|
33915
|
+
editLabel: l.edit,
|
|
33892
33916
|
placeholder: `${l.item}\u2026`,
|
|
33893
33917
|
renderOption: (opt) => /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
33894
33918
|
/* @__PURE__ */ jsx("p", { className: "truncate text-sm", children: opt.label }),
|
|
@@ -34068,6 +34092,8 @@ function OrderFormItemsCard({
|
|
|
34068
34092
|
label: label2 = "Itens",
|
|
34069
34093
|
addLabel = "Adicionar item",
|
|
34070
34094
|
onAdd,
|
|
34095
|
+
addDisabled = false,
|
|
34096
|
+
addDisabledHint,
|
|
34071
34097
|
count,
|
|
34072
34098
|
countLabel,
|
|
34073
34099
|
totalLabel = "Total",
|
|
@@ -34086,7 +34112,9 @@ function OrderFormItemsCard({
|
|
|
34086
34112
|
{
|
|
34087
34113
|
type: "button",
|
|
34088
34114
|
onClick: onAdd,
|
|
34089
|
-
|
|
34115
|
+
disabled: addDisabled,
|
|
34116
|
+
title: addDisabled ? addDisabledHint : void 0,
|
|
34117
|
+
className: "fz-tap inline-flex items-center gap-2 rounded-button border border-primary bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground shadow-button-primary transition-colors hover:bg-primary/90 active:shadow-button-inset disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-primary",
|
|
34090
34118
|
children: [
|
|
34091
34119
|
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4" }),
|
|
34092
34120
|
" ",
|
|
@@ -34099,7 +34127,7 @@ function OrderFormItemsCard({
|
|
|
34099
34127
|
header,
|
|
34100
34128
|
count === 0 && !header ? /* @__PURE__ */ jsxs("div", { className: "py-12 text-center", children: [
|
|
34101
34129
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: emptyLabel }),
|
|
34102
|
-
onAdd && /* @__PURE__ */ jsx("button", { type: "button", onClick: onAdd, className: "mt-1 text-xs text-primary hover:underline", children: emptyActionLabel })
|
|
34130
|
+
onAdd && !addDisabled && /* @__PURE__ */ jsx("button", { type: "button", onClick: onAdd, className: "mt-1 text-xs text-primary hover:underline", children: emptyActionLabel })
|
|
34103
34131
|
] }) : children
|
|
34104
34132
|
] }),
|
|
34105
34133
|
count > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-auto flex items-center justify-between border-t bg-muted/20 px-4 py-3", children: [
|
|
@@ -37757,6 +37785,11 @@ function SettingsTabs({ tabs, value, onChange, actions, className, ...rest }) {
|
|
|
37757
37785
|
] });
|
|
37758
37786
|
}
|
|
37759
37787
|
function RegistryCrudView2({ registry: registry4, basePath, embedded }) {
|
|
37788
|
+
const Custom = registry4.component;
|
|
37789
|
+
if (Custom) return /* @__PURE__ */ jsx(Custom, { basePath, embedded });
|
|
37790
|
+
return /* @__PURE__ */ jsx(GenericRegistryCrudView, { registry: registry4, basePath, embedded });
|
|
37791
|
+
}
|
|
37792
|
+
function GenericRegistryCrudView({ registry: registry4, basePath, embedded }) {
|
|
37760
37793
|
const useStore2 = useMemo(() => {
|
|
37761
37794
|
const mockData = registry4.mockData ?? registry4.seedData ?? [];
|
|
37762
37795
|
const provider2 = registry4.dataProvider ?? resolveDataProvider(registry4.entity, mockData);
|