@flamingo-stack/openframe-frontend-core 0.0.442 → 0.0.443-snapshot.20260717175152
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-KUXGQ2FQ.cjs → chunk-2PLNDTRG.cjs} +32 -32
- package/dist/{chunk-KUXGQ2FQ.cjs.map → chunk-2PLNDTRG.cjs.map} +1 -1
- package/dist/{chunk-Y3NFB6HR.js → chunk-37ZZQXHK.js} +4 -4
- package/dist/{chunk-YZJUHEPZ.js → chunk-3SCNEGL2.js} +5 -5
- package/dist/{chunk-DUQQEQ7G.cjs → chunk-4R3SVOKH.cjs} +190 -156
- package/dist/chunk-4R3SVOKH.cjs.map +1 -0
- package/dist/{chunk-QO6MCQYE.cjs → chunk-7CZ4MJSI.cjs} +13 -10
- package/dist/chunk-7CZ4MJSI.cjs.map +1 -0
- package/dist/{chunk-W3JZXLJ2.js → chunk-ABIRMYG5.js} +6 -6
- package/dist/{chunk-TAQMYVO6.cjs → chunk-BYTJNRJW.cjs} +40 -40
- package/dist/{chunk-TAQMYVO6.cjs.map → chunk-BYTJNRJW.cjs.map} +1 -1
- package/dist/{chunk-IAZ5AN2E.js → chunk-CE3AITV2.js} +6 -6
- package/dist/{chunk-FPE3SQ5D.js → chunk-DCDB3SM4.js} +3 -3
- package/dist/{chunk-LFWPWIAC.cjs → chunk-DSW6FIEF.cjs} +7 -7
- package/dist/{chunk-LFWPWIAC.cjs.map → chunk-DSW6FIEF.cjs.map} +1 -1
- package/dist/{chunk-JYI4R25Q.js → chunk-DTMJWBDQ.js} +3 -3
- package/dist/{chunk-SM26C2L7.js → chunk-F2XHBAHT.js} +2 -2
- package/dist/{chunk-JNC4LVD6.cjs → chunk-F6NMMPDL.cjs} +29 -29
- package/dist/{chunk-JNC4LVD6.cjs.map → chunk-F6NMMPDL.cjs.map} +1 -1
- package/dist/{chunk-7QP65IE4.cjs → chunk-FO4CI4R5.cjs} +5 -5
- package/dist/{chunk-7QP65IE4.cjs.map → chunk-FO4CI4R5.cjs.map} +1 -1
- package/dist/{chunk-7KDR5P23.js → chunk-FQASXKBK.js} +2 -2
- package/dist/{chunk-7KNOHGMI.js → chunk-H7H3AFLF.js} +2 -2
- package/dist/{chunk-QAG357PE.js → chunk-LCJGOV6P.js} +2 -2
- package/dist/{chunk-2BTDPDME.js → chunk-MG4AMIFX.js} +4 -1
- package/dist/chunk-MG4AMIFX.js.map +1 -0
- package/dist/{chunk-ZQYFDYWV.js → chunk-NDWIFCLS.js} +120 -86
- package/dist/chunk-NDWIFCLS.js.map +1 -0
- package/dist/{chunk-UFBUQO7Z.cjs → chunk-OXZLBIR7.cjs} +18 -18
- package/dist/{chunk-UFBUQO7Z.cjs.map → chunk-OXZLBIR7.cjs.map} +1 -1
- package/dist/{chunk-63TSTDME.js → chunk-PMTR5W5G.js} +5 -5
- package/dist/{chunk-XMCVUYKC.cjs → chunk-Q6XOEVPH.cjs} +12 -12
- package/dist/{chunk-XMCVUYKC.cjs.map → chunk-Q6XOEVPH.cjs.map} +1 -1
- package/dist/{chunk-IZ6A6K6N.cjs → chunk-RALJEQWM.cjs} +15 -15
- package/dist/{chunk-IZ6A6K6N.cjs.map → chunk-RALJEQWM.cjs.map} +1 -1
- package/dist/{chunk-AGV26PUR.js → chunk-U7U2CZBZ.js} +3 -3
- package/dist/{chunk-LUKRPHEW.cjs → chunk-VI2QQIGR.cjs} +73 -73
- package/dist/{chunk-LUKRPHEW.cjs.map → chunk-VI2QQIGR.cjs.map} +1 -1
- package/dist/{chunk-JOH5D76X.cjs → chunk-WXU6A6CA.cjs} +73 -73
- package/dist/{chunk-JOH5D76X.cjs.map → chunk-WXU6A6CA.cjs.map} +1 -1
- package/dist/{chunk-IPEIOR77.cjs → chunk-YP7VJPCJ.cjs} +40 -40
- package/dist/{chunk-IPEIOR77.cjs.map → chunk-YP7VJPCJ.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/checkbox-block.d.ts +6 -0
- package/dist/components/ui/checkbox-block.d.ts.map +1 -1
- 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 +182 -122
- package/src/components/ui/checkbox-block.tsx +12 -1
- package/src/stories/CheckboxBlock.stories.tsx +18 -0
- 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-ZQYFDYWV.js.map +0 -1
- /package/dist/{chunk-Y3NFB6HR.js.map → chunk-37ZZQXHK.js.map} +0 -0
- /package/dist/{chunk-YZJUHEPZ.js.map → chunk-3SCNEGL2.js.map} +0 -0
- /package/dist/{chunk-W3JZXLJ2.js.map → chunk-ABIRMYG5.js.map} +0 -0
- /package/dist/{chunk-IAZ5AN2E.js.map → chunk-CE3AITV2.js.map} +0 -0
- /package/dist/{chunk-FPE3SQ5D.js.map → chunk-DCDB3SM4.js.map} +0 -0
- /package/dist/{chunk-JYI4R25Q.js.map → chunk-DTMJWBDQ.js.map} +0 -0
- /package/dist/{chunk-SM26C2L7.js.map → chunk-F2XHBAHT.js.map} +0 -0
- /package/dist/{chunk-7KDR5P23.js.map → chunk-FQASXKBK.js.map} +0 -0
- /package/dist/{chunk-7KNOHGMI.js.map → chunk-H7H3AFLF.js.map} +0 -0
- /package/dist/{chunk-QAG357PE.js.map → chunk-LCJGOV6P.js.map} +0 -0
- /package/dist/{chunk-63TSTDME.js.map → chunk-PMTR5W5G.js.map} +0 -0
- /package/dist/{chunk-AGV26PUR.js.map → chunk-U7U2CZBZ.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,
|
|
@@ -14000,13 +14000,15 @@ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
|
14000
14000
|
import * as React40 from "react";
|
|
14001
14001
|
init_cn();
|
|
14002
14002
|
import { jsx as jsx96, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
14003
|
-
var CheckboxBlock = React40.forwardRef(({ id, checked, defaultChecked, onCheckedChange, label, description, truncateLabel, disabled, error, className }, ref) => /* @__PURE__ */ jsxs74("div", { className: cn("relative flex w-full flex-col", className), children: [
|
|
14003
|
+
var CheckboxBlock = React40.forwardRef(({ id, checked, defaultChecked, onCheckedChange, label, description, truncateLabel, trailing, disabled, error, className }, ref) => /* @__PURE__ */ jsxs74("div", { className: cn("relative flex w-full flex-col", className), children: [
|
|
14004
14004
|
/* @__PURE__ */ jsxs74(
|
|
14005
14005
|
"label",
|
|
14006
14006
|
{
|
|
14007
14007
|
htmlFor: id,
|
|
14008
14008
|
className: cn(
|
|
14009
14009
|
"flex items-center gap-[var(--spacing-system-s)] rounded-md ring-1 ring-inset w-full",
|
|
14010
|
+
// Trailing content stacks full-width below the text on mobile.
|
|
14011
|
+
trailing && "flex-wrap md:flex-nowrap",
|
|
14010
14012
|
"p-[var(--spacing-system-sf)]",
|
|
14011
14013
|
!description && "min-h-[44px] md:min-h-[48px]",
|
|
14012
14014
|
description && "min-h-[60px] md:min-h-[64px]",
|
|
@@ -14054,7 +14056,8 @@ var CheckboxBlock = React40.forwardRef(({ id, checked, defaultChecked, onChecked
|
|
|
14054
14056
|
"text-h6 !leading-4",
|
|
14055
14057
|
"text-ods-text-secondary select-none break-words"
|
|
14056
14058
|
), children: description })
|
|
14057
|
-
] })
|
|
14059
|
+
] }),
|
|
14060
|
+
trailing && /* @__PURE__ */ jsx96("div", { className: "flex w-full shrink-0 items-center md:ml-auto md:w-auto", children: trailing })
|
|
14058
14061
|
]
|
|
14059
14062
|
}
|
|
14060
14063
|
),
|
|
@@ -31937,7 +31940,7 @@ function ViewToggle({
|
|
|
31937
31940
|
// src/components/features/policy-configuration-panel.tsx
|
|
31938
31941
|
init_cn();
|
|
31939
31942
|
import { useRef as useRef37, useEffect as useEffect52, useState as useState71 } from "react";
|
|
31940
|
-
import { ChevronDown as ChevronDown8 } from "lucide-react";
|
|
31943
|
+
import { ChevronDown as ChevronDown8, Shield as Shield2 } from "lucide-react";
|
|
31941
31944
|
init_button2();
|
|
31942
31945
|
import { Fragment as Fragment43, jsx as jsx253, jsxs as jsxs197 } from "react/jsx-runtime";
|
|
31943
31946
|
var approvalLevelOptions = [
|
|
@@ -31953,33 +31956,61 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
31953
31956
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
31954
31957
|
return option?.label || level;
|
|
31955
31958
|
};
|
|
31959
|
+
var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ jsxs197(DropdownMenu, { children: [
|
|
31960
|
+
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
31961
|
+
Button,
|
|
31962
|
+
{
|
|
31963
|
+
variant: "outline",
|
|
31964
|
+
rightIcon: /* @__PURE__ */ jsx253(ChevronDown8, { className: "h-6 w-6 text-ods-text-secondary" }),
|
|
31965
|
+
className: cn(
|
|
31966
|
+
"!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",
|
|
31967
|
+
value ? "text-ods-text-primary" : "text-ods-text-secondary",
|
|
31968
|
+
triggerClassName
|
|
31969
|
+
),
|
|
31970
|
+
children: getApprovalLevelLabel(value, true)
|
|
31971
|
+
}
|
|
31972
|
+
) }),
|
|
31973
|
+
/* @__PURE__ */ jsxs197(DropdownMenuContent, { align: "end", className: contentClassName, children: [
|
|
31974
|
+
allowClear && /* @__PURE__ */ jsx253(DropdownMenuItem, { onClick: () => onChange(void 0), className: "text-h6", children: "Clear Global Permission" }),
|
|
31975
|
+
approvalLevelOptions.map((option) => /* @__PURE__ */ jsx253(
|
|
31976
|
+
DropdownMenuItem,
|
|
31977
|
+
{
|
|
31978
|
+
onClick: () => onChange(option.value),
|
|
31979
|
+
className: "text-h6",
|
|
31980
|
+
children: option.label
|
|
31981
|
+
},
|
|
31982
|
+
option.value
|
|
31983
|
+
))
|
|
31984
|
+
] })
|
|
31985
|
+
] });
|
|
31956
31986
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
31957
|
-
|
|
31958
|
-
|
|
31987
|
+
const handleChange = (level) => {
|
|
31988
|
+
if (level) onPermissionChange(categoryId, policy.id, level);
|
|
31989
|
+
};
|
|
31990
|
+
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: [
|
|
31991
|
+
/* @__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
31992
|
/* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
31960
|
-
/* @__PURE__ */ jsx253("p", { className: "text-
|
|
31961
|
-
/* @__PURE__ */ jsx253("p", { className: "text-
|
|
31962
|
-
|
|
31963
|
-
|
|
31964
|
-
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
31965
|
-
Button,
|
|
31993
|
+
/* @__PURE__ */ jsx253("p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
|
|
31994
|
+
/* @__PURE__ */ jsx253("p", { className: "text-h6 text-ods-text-secondary break-all", children: policy.commandPattern }),
|
|
31995
|
+
editMode ? /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ jsx253(
|
|
31996
|
+
ApprovalLevelDropdown,
|
|
31966
31997
|
{
|
|
31967
|
-
|
|
31968
|
-
|
|
31969
|
-
|
|
31970
|
-
|
|
31998
|
+
value: policy.approvalLevel,
|
|
31999
|
+
onChange: handleChange,
|
|
32000
|
+
triggerClassName: "w-full",
|
|
32001
|
+
contentClassName: "w-[180px]"
|
|
31971
32002
|
}
|
|
31972
|
-
) }),
|
|
31973
|
-
|
|
31974
|
-
|
|
31975
|
-
|
|
31976
|
-
|
|
31977
|
-
|
|
31978
|
-
|
|
31979
|
-
|
|
31980
|
-
|
|
31981
|
-
|
|
31982
|
-
|
|
32003
|
+
) }) : policy.approvalLevel ? /* @__PURE__ */ jsx253("span", { className: "md:hidden text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) : null
|
|
32004
|
+
] }),
|
|
32005
|
+
/* @__PURE__ */ jsx253("div", { className: "hidden md:block shrink-0", children: editMode ? /* @__PURE__ */ jsx253(
|
|
32006
|
+
ApprovalLevelDropdown,
|
|
32007
|
+
{
|
|
32008
|
+
value: policy.approvalLevel,
|
|
32009
|
+
onChange: handleChange,
|
|
32010
|
+
triggerClassName: "w-[180px]",
|
|
32011
|
+
contentClassName: "w-[180px]"
|
|
32012
|
+
}
|
|
32013
|
+
) : /* @__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
32014
|
] });
|
|
31984
32015
|
};
|
|
31985
32016
|
var useAnimatedHeight = (isExpanded) => {
|
|
@@ -31996,69 +32027,52 @@ var useAnimatedHeight = (isExpanded) => {
|
|
|
31996
32027
|
var CategorySection = ({
|
|
31997
32028
|
category,
|
|
31998
32029
|
editMode,
|
|
31999
|
-
|
|
32000
|
-
|
|
32030
|
+
isExpanded,
|
|
32031
|
+
bulkLevel,
|
|
32032
|
+
onToggle,
|
|
32033
|
+
onBulkLevelChange,
|
|
32001
32034
|
onPolicyPermissionChange
|
|
32002
32035
|
}) => {
|
|
32003
|
-
const { contentRef, height } = useAnimatedHeight(
|
|
32036
|
+
const { contentRef, height } = useAnimatedHeight(isExpanded);
|
|
32037
|
+
const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
|
|
32004
32038
|
return /* @__PURE__ */ jsxs197(Fragment43, { children: [
|
|
32005
32039
|
/* @__PURE__ */ jsxs197(
|
|
32006
32040
|
"div",
|
|
32007
32041
|
{
|
|
32008
|
-
className: "bg-ods-card border-t border-ods-border flex gap-
|
|
32009
|
-
onClick: () =>
|
|
32042
|
+
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",
|
|
32043
|
+
onClick: () => onToggle(category.id),
|
|
32010
32044
|
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: "
|
|
32045
|
+
/* @__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" }) }) }),
|
|
32046
|
+
/* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
32047
|
+
/* @__PURE__ */ jsx253("p", { className: "text-h4 text-ods-text-primary truncate", title: category.name, children: category.name }),
|
|
32014
32048
|
/* @__PURE__ */ jsxs197("p", { className: "text-h6 text-ods-text-secondary", children: [
|
|
32015
|
-
category.
|
|
32049
|
+
category.policies.length,
|
|
32016
32050
|
" Configurations"
|
|
32017
|
-
] })
|
|
32018
|
-
|
|
32019
|
-
|
|
32020
|
-
/* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
|
|
32021
|
-
Button,
|
|
32051
|
+
] }),
|
|
32052
|
+
editMode && /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
|
|
32053
|
+
ApprovalLevelDropdown,
|
|
32022
32054
|
{
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
32027
|
-
|
|
32028
|
-
category.globalPermission ? "text-ods-text-primary" : "text-ods-text-secondary"
|
|
32029
|
-
), children: getApprovalLevelLabel(category.globalPermission, editMode) })
|
|
32055
|
+
value: bulkLevel,
|
|
32056
|
+
onChange: handleBulkChange,
|
|
32057
|
+
allowClear: true,
|
|
32058
|
+
triggerClassName: "w-full",
|
|
32059
|
+
contentClassName: "w-[256px]"
|
|
32030
32060
|
}
|
|
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",
|
|
32061
|
+
) })
|
|
32062
|
+
] }),
|
|
32063
|
+
editMode ? /* @__PURE__ */ jsx253("div", { className: "hidden md:block shrink-0", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
|
|
32064
|
+
ApprovalLevelDropdown,
|
|
32053
32065
|
{
|
|
32054
|
-
|
|
32055
|
-
|
|
32056
|
-
|
|
32066
|
+
value: bulkLevel,
|
|
32067
|
+
onChange: handleBulkChange,
|
|
32068
|
+
allowClear: true,
|
|
32069
|
+
triggerClassName: "w-[256px]",
|
|
32070
|
+
contentClassName: "w-[256px]"
|
|
32057
32071
|
}
|
|
32058
|
-
) : /* @__PURE__ */ jsx253(
|
|
32072
|
+
) }) : /* @__PURE__ */ jsx253(
|
|
32059
32073
|
"div",
|
|
32060
32074
|
{
|
|
32061
|
-
className: "px-
|
|
32075
|
+
className: "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[256px] shrink-0",
|
|
32062
32076
|
onClick: (e) => e.stopPropagation()
|
|
32063
32077
|
}
|
|
32064
32078
|
),
|
|
@@ -32069,19 +32083,19 @@ var CategorySection = ({
|
|
|
32069
32083
|
variant: "transparent",
|
|
32070
32084
|
onClick: (e) => {
|
|
32071
32085
|
e.stopPropagation();
|
|
32072
|
-
|
|
32086
|
+
onToggle(category.id);
|
|
32073
32087
|
},
|
|
32074
32088
|
leftIcon: /* @__PURE__ */ jsx253(
|
|
32075
32089
|
ChevronDown8,
|
|
32076
32090
|
{
|
|
32077
32091
|
className: cn(
|
|
32078
32092
|
"h-6 w-6 text-ods-text-primary transition-transform duration-300",
|
|
32079
|
-
|
|
32093
|
+
isExpanded && "rotate-180"
|
|
32080
32094
|
)
|
|
32081
32095
|
}
|
|
32082
32096
|
),
|
|
32083
|
-
className: "rounded-md h-auto w-auto",
|
|
32084
|
-
"aria-label":
|
|
32097
|
+
className: "rounded-md h-auto w-auto shrink-0",
|
|
32098
|
+
"aria-label": isExpanded ? "Collapse" : "Expand"
|
|
32085
32099
|
}
|
|
32086
32100
|
)
|
|
32087
32101
|
]
|
|
@@ -32097,9 +32111,9 @@ var CategorySection = ({
|
|
|
32097
32111
|
},
|
|
32098
32112
|
className: cn(
|
|
32099
32113
|
"overflow-hidden",
|
|
32100
|
-
|
|
32114
|
+
isExpanded ? "opacity-100" : "opacity-0"
|
|
32101
32115
|
),
|
|
32102
|
-
children: /* @__PURE__ */ jsx253("div", { className: "px-
|
|
32116
|
+
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
32117
|
PolicyRow,
|
|
32104
32118
|
{
|
|
32105
32119
|
policy,
|
|
@@ -32116,11 +32130,29 @@ var CategorySection = ({
|
|
|
32116
32130
|
var PolicyConfigurationPanel = ({
|
|
32117
32131
|
categories,
|
|
32118
32132
|
editMode,
|
|
32119
|
-
onCategoryToggle,
|
|
32120
|
-
onGlobalPermissionChange,
|
|
32121
32133
|
onPolicyPermissionChange,
|
|
32134
|
+
onCategoryPermissionChange,
|
|
32122
32135
|
className
|
|
32123
32136
|
}) => {
|
|
32137
|
+
const [expandedIds, setExpandedIds] = useState71(/* @__PURE__ */ new Set());
|
|
32138
|
+
const [bulkLevels, setBulkLevels] = useState71({});
|
|
32139
|
+
useEffect52(() => {
|
|
32140
|
+
setBulkLevels({});
|
|
32141
|
+
}, [editMode]);
|
|
32142
|
+
const handleToggle = (categoryId) => {
|
|
32143
|
+
setExpandedIds((prev) => {
|
|
32144
|
+
const next = new Set(prev);
|
|
32145
|
+
if (next.has(categoryId)) next.delete(categoryId);
|
|
32146
|
+
else next.add(categoryId);
|
|
32147
|
+
return next;
|
|
32148
|
+
});
|
|
32149
|
+
};
|
|
32150
|
+
const handleBulkLevelChange = (categoryId, level) => {
|
|
32151
|
+
setBulkLevels((prev) => ({ ...prev, [categoryId]: level }));
|
|
32152
|
+
if (level) {
|
|
32153
|
+
onCategoryPermissionChange(categoryId, level);
|
|
32154
|
+
}
|
|
32155
|
+
};
|
|
32124
32156
|
return /* @__PURE__ */ jsx253("div", { className: cn(
|
|
32125
32157
|
"bg-ods-card border border-ods-border rounded-md overflow-hidden",
|
|
32126
32158
|
className
|
|
@@ -32129,8 +32161,10 @@ var PolicyConfigurationPanel = ({
|
|
|
32129
32161
|
{
|
|
32130
32162
|
category,
|
|
32131
32163
|
editMode,
|
|
32132
|
-
|
|
32133
|
-
|
|
32164
|
+
isExpanded: expandedIds.has(category.id),
|
|
32165
|
+
bulkLevel: bulkLevels[category.id],
|
|
32166
|
+
onToggle: handleToggle,
|
|
32167
|
+
onBulkLevelChange: handleBulkLevelChange,
|
|
32134
32168
|
onPolicyPermissionChange
|
|
32135
32169
|
},
|
|
32136
32170
|
category.id
|
|
@@ -54084,4 +54118,4 @@ export {
|
|
|
54084
54118
|
LogsList,
|
|
54085
54119
|
assets
|
|
54086
54120
|
};
|
|
54087
|
-
//# sourceMappingURL=chunk-
|
|
54121
|
+
//# sourceMappingURL=chunk-NDWIFCLS.js.map
|