@flamingo-stack/openframe-frontend-core 0.0.442 → 0.0.443
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/{chunk-J5NO7PAG.cjs → chunk-2CJ734N2.cjs} +3 -3
- package/dist/{chunk-J5NO7PAG.cjs.map → chunk-2CJ734N2.cjs.map} +1 -1
- package/dist/{chunk-UFBUQO7Z.cjs → chunk-323TCNF3.cjs} +18 -18
- package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-323TCNF3.cjs.map} +1 -1
- package/dist/{chunk-63TSTDME.js → chunk-3ZE55IH6.js} +5 -5
- package/dist/{chunk-Y3NFB6HR.js → chunk-5U6OZ5FD.js} +4 -4
- package/dist/{chunk-IAZ5AN2E.js → chunk-6IPNXMB7.js} +6 -6
- package/dist/{chunk-XMCVUYKC.cjs → chunk-6NO4YYU7.cjs} +12 -12
- package/dist/{chunk-XMCVUYKC.cjs.map → chunk-6NO4YYU7.cjs.map} +1 -1
- package/dist/{chunk-QO6MCQYE.cjs → chunk-7CZ4MJSI.cjs} +13 -10
- package/dist/chunk-7CZ4MJSI.cjs.map +1 -0
- package/dist/{chunk-FPE3SQ5D.js → chunk-A7MG4SBL.js} +3 -3
- package/dist/{chunk-SM26C2L7.js → chunk-AZQOX2RS.js} +2 -2
- package/dist/{chunk-JYI4R25Q.js → chunk-DOVBNECK.js} +3 -3
- package/dist/{chunk-7KDR5P23.js → chunk-FQASXKBK.js} +2 -2
- package/dist/{chunk-LFWPWIAC.cjs → chunk-H4W3NCR2.cjs} +7 -7
- package/dist/{chunk-LFWPWIAC.cjs.map → chunk-H4W3NCR2.cjs.map} +1 -1
- package/dist/{chunk-DUQQEQ7G.cjs → chunk-IBIGXER5.cjs} +191 -153
- package/dist/chunk-IBIGXER5.cjs.map +1 -0
- package/dist/{chunk-IZ6A6K6N.cjs → chunk-KNNSS3CZ.cjs} +15 -15
- package/dist/{chunk-IZ6A6K6N.cjs.map → chunk-KNNSS3CZ.cjs.map} +1 -1
- package/dist/{chunk-AGV26PUR.js → chunk-LGMRNYTX.js} +3 -3
- package/dist/{chunk-YZJUHEPZ.js → chunk-LYYVTI34.js} +5 -5
- package/dist/{chunk-TAQMYVO6.cjs → chunk-M6XUXQ5Q.cjs} +40 -40
- package/dist/{chunk-TAQMYVO6.cjs.map → chunk-M6XUXQ5Q.cjs.map} +1 -1
- package/dist/{chunk-2BTDPDME.js → chunk-MG4AMIFX.js} +4 -1
- package/dist/chunk-MG4AMIFX.js.map +1 -0
- package/dist/{chunk-ZQYFDYWV.js → chunk-NQODKJ2F.js} +121 -83
- package/dist/{chunk-ZQYFDYWV.js.map → chunk-NQODKJ2F.js.map} +1 -1
- package/dist/{chunk-KUXGQ2FQ.cjs → chunk-OHKKI6EF.cjs} +32 -32
- package/dist/{chunk-KUXGQ2FQ.cjs.map → chunk-OHKKI6EF.cjs.map} +1 -1
- package/dist/{chunk-JOH5D76X.cjs → chunk-PRJFSF4W.cjs} +73 -73
- package/dist/{chunk-JOH5D76X.cjs.map → chunk-PRJFSF4W.cjs.map} +1 -1
- package/dist/{chunk-W3JZXLJ2.js → chunk-PVMPBWKX.js} +6 -6
- package/dist/{chunk-7KNOHGMI.js → chunk-RQVR7I73.js} +2 -2
- package/dist/{chunk-7QP65IE4.cjs → chunk-RYKANQE6.cjs} +5 -5
- package/dist/{chunk-7QP65IE4.cjs.map → chunk-RYKANQE6.cjs.map} +1 -1
- package/dist/{chunk-QAG357PE.js → chunk-UXJ47OJF.js} +2 -2
- package/dist/{chunk-JNC4LVD6.cjs → chunk-VACXEUGF.cjs} +29 -29
- package/dist/{chunk-JNC4LVD6.cjs.map → chunk-VACXEUGF.cjs.map} +1 -1
- package/dist/{chunk-LUKRPHEW.cjs → chunk-YPFQ2UIH.cjs} +73 -73
- package/dist/{chunk-LUKRPHEW.cjs.map → chunk-YPFQ2UIH.cjs.map} +1 -1
- package/dist/{chunk-IPEIOR77.cjs → chunk-ZVAAIP5Y.cjs} +40 -40
- package/dist/{chunk-IPEIOR77.cjs.map → chunk-ZVAAIP5Y.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/features/policy-configuration-panel.d.ts +11 -0
- package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +22 -22
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +135 -135
- package/dist/components/index.js +11 -11
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/related-content/index.cjs +5 -5
- package/dist/components/related-content/index.js +4 -4
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +2 -2
- package/dist/types/permissions.d.ts +9 -6
- package/dist/types/permissions.d.ts.map +1 -1
- package/dist/utils/embed-authed-fetch.d.ts +19 -3
- package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
- package/dist/utils/index.cjs +3 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/features/policy-configuration-panel.tsx +185 -122
- package/src/stories/PolicyConfigurationPanel.stories.tsx +254 -0
- package/src/types/permissions.ts +10 -7
- package/src/utils/__tests__/embed-authed-fetch.test.ts +39 -0
- package/src/utils/embed-authed-fetch.ts +27 -3
- package/dist/chunk-2BTDPDME.js.map +0 -1
- package/dist/chunk-DUQQEQ7G.cjs.map +0 -1
- package/dist/chunk-QO6MCQYE.cjs.map +0 -1
- /package/dist/{chunk-63TSTDME.js.map → chunk-3ZE55IH6.js.map} +0 -0
- /package/dist/{chunk-Y3NFB6HR.js.map → chunk-5U6OZ5FD.js.map} +0 -0
- /package/dist/{chunk-IAZ5AN2E.js.map → chunk-6IPNXMB7.js.map} +0 -0
- /package/dist/{chunk-FPE3SQ5D.js.map → chunk-A7MG4SBL.js.map} +0 -0
- /package/dist/{chunk-SM26C2L7.js.map → chunk-AZQOX2RS.js.map} +0 -0
- /package/dist/{chunk-JYI4R25Q.js.map → chunk-DOVBNECK.js.map} +0 -0
- /package/dist/{chunk-7KDR5P23.js.map → chunk-FQASXKBK.js.map} +0 -0
- /package/dist/{chunk-AGV26PUR.js.map → chunk-LGMRNYTX.js.map} +0 -0
- /package/dist/{chunk-YZJUHEPZ.js.map → chunk-LYYVTI34.js.map} +0 -0
- /package/dist/{chunk-W3JZXLJ2.js.map → chunk-PVMPBWKX.js.map} +0 -0
- /package/dist/{chunk-7KNOHGMI.js.map → chunk-RQVR7I73.js.map} +0 -0
- /package/dist/{chunk-QAG357PE.js.map → chunk-UXJ47OJF.js.map} +0 -0
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
useOgPlaceholderUrl,
|
|
28
28
|
useOnboardingState,
|
|
29
29
|
useToast
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-MG4AMIFX.js";
|
|
31
31
|
import {
|
|
32
32
|
AlertCircleIcon,
|
|
33
33
|
AnthropicLogoGreyIcon,
|
|
@@ -31937,7 +31937,7 @@ function ViewToggle({
|
|
|
31937
31937
|
// src/components/features/policy-configuration-panel.tsx
|
|
31938
31938
|
init_cn();
|
|
31939
31939
|
import { useRef as useRef37, useEffect as useEffect52, useState as useState71 } from "react";
|
|
31940
|
-
import { ChevronDown as ChevronDown8 } from "lucide-react";
|
|
31940
|
+
import { ChevronDown as ChevronDown8, Shield as Shield2 } from "lucide-react";
|
|
31941
31941
|
init_button2();
|
|
31942
31942
|
import { Fragment as Fragment43, jsx as jsx253, jsxs as jsxs197 } from "react/jsx-runtime";
|
|
31943
31943
|
var approvalLevelOptions = [
|
|
@@ -31953,33 +31953,68 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
31953
31953
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
31954
31954
|
return option?.label || level;
|
|
31955
31955
|
};
|
|
31956
|
+
var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ jsxs197(DropdownMenu, { children: [
|
|
31957
|
+
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
31958
|
+
Button,
|
|
31959
|
+
{
|
|
31960
|
+
variant: "outline",
|
|
31961
|
+
rightIcon: /* @__PURE__ */ jsx253(ChevronDown8, { className: "h-6 w-6 text-ods-text-secondary" }),
|
|
31962
|
+
className: cn(
|
|
31963
|
+
"!text-h6 bg-ods-card border border-ods-border rounded-md flex gap-[var(--spacing-system-xsf)] items-center justify-between !px-[var(--spacing-system-xsf)] py-[var(--spacing-system-xsf)] hover:bg-ods-bg-hover transition-colors h-auto",
|
|
31964
|
+
value ? "text-ods-text-primary" : "text-ods-text-secondary",
|
|
31965
|
+
triggerClassName
|
|
31966
|
+
),
|
|
31967
|
+
children: getApprovalLevelLabel(value, true)
|
|
31968
|
+
}
|
|
31969
|
+
) }),
|
|
31970
|
+
/* @__PURE__ */ jsxs197(DropdownMenuContent, { align: "end", className: contentClassName, children: [
|
|
31971
|
+
allowClear && /* @__PURE__ */ jsx253(DropdownMenuItem, { onClick: () => onChange(void 0), className: "text-h6", children: "Clear Global Permission" }),
|
|
31972
|
+
approvalLevelOptions.map((option) => /* @__PURE__ */ jsx253(
|
|
31973
|
+
DropdownMenuItem,
|
|
31974
|
+
{
|
|
31975
|
+
onClick: () => onChange(option.value),
|
|
31976
|
+
className: "text-h6",
|
|
31977
|
+
children: option.label
|
|
31978
|
+
},
|
|
31979
|
+
option.value
|
|
31980
|
+
))
|
|
31981
|
+
] })
|
|
31982
|
+
] });
|
|
31956
31983
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
31957
|
-
|
|
31958
|
-
|
|
31984
|
+
const handleChange = (level) => {
|
|
31985
|
+
if (level) onPermissionChange(categoryId, policy.id, level);
|
|
31986
|
+
};
|
|
31987
|
+
return /* @__PURE__ */ jsxs197("div", { className: "bg-ods-bg border-b last:border-b-0 border-ods-border flex gap-[var(--spacing-system-m)] items-start md:items-center px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)]", children: [
|
|
31988
|
+
/* @__PURE__ */ jsx253("div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ jsx253(ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
31959
31989
|
/* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
31960
|
-
/* @__PURE__ */ jsx253("p", { className: "text-
|
|
31961
|
-
/* @__PURE__ */ jsx253(
|
|
31962
|
-
|
|
31963
|
-
editMode ? /* @__PURE__ */ jsxs197(DropdownMenu, { children: [
|
|
31964
|
-
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
31965
|
-
Button,
|
|
31990
|
+
/* @__PURE__ */ jsx253("p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
|
|
31991
|
+
/* @__PURE__ */ jsx253(
|
|
31992
|
+
"p",
|
|
31966
31993
|
{
|
|
31967
|
-
|
|
31968
|
-
|
|
31969
|
-
|
|
31970
|
-
children: getApprovalLevelLabel(policy.approvalLevel, editMode)
|
|
31994
|
+
className: "text-h6 text-ods-text-secondary truncate md:whitespace-normal md:break-all",
|
|
31995
|
+
title: policy.commandPattern,
|
|
31996
|
+
children: policy.commandPattern
|
|
31971
31997
|
}
|
|
31972
|
-
)
|
|
31973
|
-
/* @__PURE__ */ jsx253(
|
|
31974
|
-
|
|
31998
|
+
),
|
|
31999
|
+
editMode ? /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ jsx253(
|
|
32000
|
+
ApprovalLevelDropdown,
|
|
31975
32001
|
{
|
|
31976
|
-
|
|
31977
|
-
|
|
31978
|
-
|
|
31979
|
-
|
|
31980
|
-
|
|
31981
|
-
)) })
|
|
31982
|
-
] })
|
|
32002
|
+
value: policy.approvalLevel,
|
|
32003
|
+
onChange: handleChange,
|
|
32004
|
+
triggerClassName: "w-full",
|
|
32005
|
+
contentClassName: "w-[180px]"
|
|
32006
|
+
}
|
|
32007
|
+
) }) : policy.approvalLevel ? /* @__PURE__ */ jsx253("span", { className: "md:hidden text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) : null
|
|
32008
|
+
] }),
|
|
32009
|
+
/* @__PURE__ */ jsx253("div", { className: "hidden md:block shrink-0", children: editMode ? /* @__PURE__ */ jsx253(
|
|
32010
|
+
ApprovalLevelDropdown,
|
|
32011
|
+
{
|
|
32012
|
+
value: policy.approvalLevel,
|
|
32013
|
+
onChange: handleChange,
|
|
32014
|
+
triggerClassName: "w-[180px]",
|
|
32015
|
+
contentClassName: "w-[180px]"
|
|
32016
|
+
}
|
|
32017
|
+
) : /* @__PURE__ */ jsx253("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[180px]", children: policy.approvalLevel && /* @__PURE__ */ jsx253("span", { className: "text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) }) })
|
|
31983
32018
|
] });
|
|
31984
32019
|
};
|
|
31985
32020
|
var useAnimatedHeight = (isExpanded) => {
|
|
@@ -31996,69 +32031,52 @@ var useAnimatedHeight = (isExpanded) => {
|
|
|
31996
32031
|
var CategorySection = ({
|
|
31997
32032
|
category,
|
|
31998
32033
|
editMode,
|
|
31999
|
-
|
|
32000
|
-
|
|
32034
|
+
isExpanded,
|
|
32035
|
+
bulkLevel,
|
|
32036
|
+
onToggle,
|
|
32037
|
+
onBulkLevelChange,
|
|
32001
32038
|
onPolicyPermissionChange
|
|
32002
32039
|
}) => {
|
|
32003
|
-
const { contentRef, height } = useAnimatedHeight(
|
|
32040
|
+
const { contentRef, height } = useAnimatedHeight(isExpanded);
|
|
32041
|
+
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
32004
32042
|
return /* @__PURE__ */ jsxs197(Fragment43, { children: [
|
|
32005
32043
|
/* @__PURE__ */ jsxs197(
|
|
32006
32044
|
"div",
|
|
32007
32045
|
{
|
|
32008
|
-
className: "bg-ods-card border-t border-ods-border flex gap-
|
|
32009
|
-
onClick: () =>
|
|
32046
|
+
className: "bg-ods-card border-t first:border-t-0 border-ods-border flex gap-[var(--spacing-system-m)] items-center pl-[var(--spacing-system-m)] pr-[var(--spacing-system-xsf)] py-[var(--spacing-system-s)] cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
32047
|
+
onClick: () => onToggle(category.id),
|
|
32010
32048
|
children: [
|
|
32011
|
-
/* @__PURE__ */ jsx253("div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ jsx253("div", { className: "text-ods-text-secondary", children: category.icon }) }),
|
|
32012
|
-
/* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col", children: [
|
|
32013
|
-
/* @__PURE__ */ jsx253("p", { className: "
|
|
32049
|
+
/* @__PURE__ */ jsx253("div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8 shrink-0", children: /* @__PURE__ */ jsx253("div", { className: "text-ods-text-secondary", children: category.icon ?? /* @__PURE__ */ jsx253(Shield2, { className: "w-4 h-4" }) }) }),
|
|
32050
|
+
/* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
32051
|
+
/* @__PURE__ */ jsx253("p", { className: "text-h4 text-ods-text-primary truncate", title: category.name, children: category.name }),
|
|
32014
32052
|
/* @__PURE__ */ jsxs197("p", { className: "text-h6 text-ods-text-secondary", children: [
|
|
32015
|
-
category.
|
|
32053
|
+
category.policies.length,
|
|
32016
32054
|
" Configurations"
|
|
32017
|
-
] })
|
|
32018
|
-
|
|
32019
|
-
|
|
32020
|
-
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
32021
|
-
Button,
|
|
32055
|
+
] }),
|
|
32056
|
+
editMode && /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
|
|
32057
|
+
ApprovalLevelDropdown,
|
|
32022
32058
|
{
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
category.globalPermission ? "text-ods-text-primary" : "text-ods-text-secondary"
|
|
32029
|
-
), children: getApprovalLevelLabel(category.globalPermission, editMode) })
|
|
32059
|
+
value: bulkLevel,
|
|
32060
|
+
onChange: handleBulkChange,
|
|
32061
|
+
allowClear: true,
|
|
32062
|
+
triggerClassName: "w-full",
|
|
32063
|
+
contentClassName: "w-[256px]"
|
|
32030
32064
|
}
|
|
32031
|
-
) })
|
|
32032
|
-
|
|
32033
|
-
|
|
32034
|
-
|
|
32035
|
-
{
|
|
32036
|
-
onClick: () => onGlobalPermissionChange(category.id, void 0),
|
|
32037
|
-
className: "md:!text-sm",
|
|
32038
|
-
children: "Clear Global Permission"
|
|
32039
|
-
}
|
|
32040
|
-
),
|
|
32041
|
-
approvalLevelOptions.map((option) => /* @__PURE__ */ jsx253(
|
|
32042
|
-
DropdownMenuItem,
|
|
32043
|
-
{
|
|
32044
|
-
onClick: () => onGlobalPermissionChange(category.id, option.value),
|
|
32045
|
-
className: "md:!text-sm",
|
|
32046
|
-
children: option.label
|
|
32047
|
-
},
|
|
32048
|
-
option.value
|
|
32049
|
-
))
|
|
32050
|
-
] })
|
|
32051
|
-
] }) }) : category.globalPermission ? /* @__PURE__ */ jsx253(
|
|
32052
|
-
"div",
|
|
32065
|
+
) })
|
|
32066
|
+
] }),
|
|
32067
|
+
editMode ? /* @__PURE__ */ jsx253("div", { className: "hidden md:block shrink-0", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
|
|
32068
|
+
ApprovalLevelDropdown,
|
|
32053
32069
|
{
|
|
32054
|
-
|
|
32055
|
-
|
|
32056
|
-
|
|
32070
|
+
value: bulkLevel,
|
|
32071
|
+
onChange: handleBulkChange,
|
|
32072
|
+
allowClear: true,
|
|
32073
|
+
triggerClassName: "w-[256px]",
|
|
32074
|
+
contentClassName: "w-[256px]"
|
|
32057
32075
|
}
|
|
32058
|
-
) : /* @__PURE__ */ jsx253(
|
|
32076
|
+
) }) : /* @__PURE__ */ jsx253(
|
|
32059
32077
|
"div",
|
|
32060
32078
|
{
|
|
32061
|
-
className: "px-
|
|
32079
|
+
className: "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[256px] shrink-0",
|
|
32062
32080
|
onClick: (e) => e.stopPropagation()
|
|
32063
32081
|
}
|
|
32064
32082
|
),
|
|
@@ -32069,19 +32087,19 @@ var CategorySection = ({
|
|
|
32069
32087
|
variant: "transparent",
|
|
32070
32088
|
onClick: (e) => {
|
|
32071
32089
|
e.stopPropagation();
|
|
32072
|
-
|
|
32090
|
+
onToggle(category.id);
|
|
32073
32091
|
},
|
|
32074
32092
|
leftIcon: /* @__PURE__ */ jsx253(
|
|
32075
32093
|
ChevronDown8,
|
|
32076
32094
|
{
|
|
32077
32095
|
className: cn(
|
|
32078
32096
|
"h-6 w-6 text-ods-text-primary transition-transform duration-300",
|
|
32079
|
-
|
|
32097
|
+
isExpanded && "rotate-180"
|
|
32080
32098
|
)
|
|
32081
32099
|
}
|
|
32082
32100
|
),
|
|
32083
|
-
className: "rounded-md h-auto w-auto",
|
|
32084
|
-
"aria-label":
|
|
32101
|
+
className: "rounded-md h-auto w-auto shrink-0",
|
|
32102
|
+
"aria-label": isExpanded ? "Collapse" : "Expand"
|
|
32085
32103
|
}
|
|
32086
32104
|
)
|
|
32087
32105
|
]
|
|
@@ -32097,9 +32115,9 @@ var CategorySection = ({
|
|
|
32097
32115
|
},
|
|
32098
32116
|
className: cn(
|
|
32099
32117
|
"overflow-hidden",
|
|
32100
|
-
|
|
32118
|
+
isExpanded ? "opacity-100" : "opacity-0"
|
|
32101
32119
|
),
|
|
32102
|
-
children: /* @__PURE__ */ jsx253("div", { className: "px-
|
|
32120
|
+
children: /* @__PURE__ */ jsx253("div", { className: "px-[var(--spacing-system-mf)] pb-[var(--spacing-system-mf)] pt-0", children: /* @__PURE__ */ jsx253("div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ jsx253(
|
|
32103
32121
|
PolicyRow,
|
|
32104
32122
|
{
|
|
32105
32123
|
policy,
|
|
@@ -32116,11 +32134,29 @@ var CategorySection = ({
|
|
|
32116
32134
|
var PolicyConfigurationPanel = ({
|
|
32117
32135
|
categories,
|
|
32118
32136
|
editMode,
|
|
32119
|
-
onCategoryToggle,
|
|
32120
|
-
onGlobalPermissionChange,
|
|
32121
32137
|
onPolicyPermissionChange,
|
|
32138
|
+
onCategoryPermissionChange,
|
|
32122
32139
|
className
|
|
32123
32140
|
}) => {
|
|
32141
|
+
const [expandedIds, setExpandedIds] = useState71(/* @__PURE__ */ new Set());
|
|
32142
|
+
const [bulkLevels, setBulkLevels] = useState71({});
|
|
32143
|
+
useEffect52(() => {
|
|
32144
|
+
setBulkLevels({});
|
|
32145
|
+
}, [editMode]);
|
|
32146
|
+
const handleToggle = (categoryId) => {
|
|
32147
|
+
setExpandedIds((prev) => {
|
|
32148
|
+
const next = new Set(prev);
|
|
32149
|
+
if (next.has(categoryId)) next.delete(categoryId);
|
|
32150
|
+
else next.add(categoryId);
|
|
32151
|
+
return next;
|
|
32152
|
+
});
|
|
32153
|
+
};
|
|
32154
|
+
const handleBulkLevelChange = (categoryId, level) => {
|
|
32155
|
+
setBulkLevels((prev) => ({ ...prev, [categoryId]: level }));
|
|
32156
|
+
if (level) {
|
|
32157
|
+
onCategoryPermissionChange(categoryId, level);
|
|
32158
|
+
}
|
|
32159
|
+
};
|
|
32124
32160
|
return /* @__PURE__ */ jsx253("div", { className: cn(
|
|
32125
32161
|
"bg-ods-card border border-ods-border rounded-md overflow-hidden",
|
|
32126
32162
|
className
|
|
@@ -32129,8 +32165,10 @@ var PolicyConfigurationPanel = ({
|
|
|
32129
32165
|
{
|
|
32130
32166
|
category,
|
|
32131
32167
|
editMode,
|
|
32132
|
-
|
|
32133
|
-
|
|
32168
|
+
isExpanded: expandedIds.has(category.id),
|
|
32169
|
+
bulkLevel: bulkLevels[category.id],
|
|
32170
|
+
onToggle: handleToggle,
|
|
32171
|
+
onBulkLevelChange: handleBulkLevelChange,
|
|
32134
32172
|
onPolicyPermissionChange
|
|
32135
32173
|
},
|
|
32136
32174
|
category.id
|
|
@@ -54084,4 +54122,4 @@ export {
|
|
|
54084
54122
|
LogsList,
|
|
54085
54123
|
assets
|
|
54086
54124
|
};
|
|
54087
|
-
//# sourceMappingURL=chunk-
|
|
54125
|
+
//# sourceMappingURL=chunk-NQODKJ2F.js.map
|