@flamingo-stack/openframe-frontend-core 0.0.442-snapshot.20260717134227 → 0.0.442

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.
Files changed (107) hide show
  1. package/dist/{chunk-MG4AMIFX.js → chunk-2BTDPDME.js} +1 -4
  2. package/dist/chunk-2BTDPDME.js.map +1 -0
  3. package/dist/{chunk-3ZE55IH6.js → chunk-63TSTDME.js} +5 -5
  4. package/dist/{chunk-FQASXKBK.js → chunk-7KDR5P23.js} +2 -2
  5. package/dist/{chunk-RQVR7I73.js → chunk-7KNOHGMI.js} +2 -2
  6. package/dist/{chunk-RYKANQE6.cjs → chunk-7QP65IE4.cjs} +5 -5
  7. package/dist/{chunk-RYKANQE6.cjs.map → chunk-7QP65IE4.cjs.map} +1 -1
  8. package/dist/{chunk-LGMRNYTX.js → chunk-AGV26PUR.js} +3 -3
  9. package/dist/{chunk-IBIGXER5.cjs → chunk-DUQQEQ7G.cjs} +153 -191
  10. package/dist/chunk-DUQQEQ7G.cjs.map +1 -0
  11. package/dist/{chunk-A7MG4SBL.js → chunk-FPE3SQ5D.js} +3 -3
  12. package/dist/{chunk-6IPNXMB7.js → chunk-IAZ5AN2E.js} +6 -6
  13. package/dist/{chunk-ZVAAIP5Y.cjs → chunk-IPEIOR77.cjs} +40 -40
  14. package/dist/{chunk-ZVAAIP5Y.cjs.map → chunk-IPEIOR77.cjs.map} +1 -1
  15. package/dist/{chunk-KNNSS3CZ.cjs → chunk-IZ6A6K6N.cjs} +15 -15
  16. package/dist/{chunk-KNNSS3CZ.cjs.map → chunk-IZ6A6K6N.cjs.map} +1 -1
  17. package/dist/{chunk-2CJ734N2.cjs → chunk-J5NO7PAG.cjs} +3 -3
  18. package/dist/{chunk-2CJ734N2.cjs.map → chunk-J5NO7PAG.cjs.map} +1 -1
  19. package/dist/{chunk-VACXEUGF.cjs → chunk-JNC4LVD6.cjs} +29 -29
  20. package/dist/{chunk-VACXEUGF.cjs.map → chunk-JNC4LVD6.cjs.map} +1 -1
  21. package/dist/{chunk-PRJFSF4W.cjs → chunk-JOH5D76X.cjs} +73 -73
  22. package/dist/{chunk-PRJFSF4W.cjs.map → chunk-JOH5D76X.cjs.map} +1 -1
  23. package/dist/{chunk-DOVBNECK.js → chunk-JYI4R25Q.js} +3 -3
  24. package/dist/{chunk-OHKKI6EF.cjs → chunk-KUXGQ2FQ.cjs} +32 -32
  25. package/dist/{chunk-OHKKI6EF.cjs.map → chunk-KUXGQ2FQ.cjs.map} +1 -1
  26. package/dist/{chunk-H4W3NCR2.cjs → chunk-LFWPWIAC.cjs} +7 -7
  27. package/dist/{chunk-H4W3NCR2.cjs.map → chunk-LFWPWIAC.cjs.map} +1 -1
  28. package/dist/{chunk-YPFQ2UIH.cjs → chunk-LUKRPHEW.cjs} +73 -73
  29. package/dist/{chunk-YPFQ2UIH.cjs.map → chunk-LUKRPHEW.cjs.map} +1 -1
  30. package/dist/{chunk-UXJ47OJF.js → chunk-QAG357PE.js} +2 -2
  31. package/dist/{chunk-7CZ4MJSI.cjs → chunk-QO6MCQYE.cjs} +10 -13
  32. package/dist/chunk-QO6MCQYE.cjs.map +1 -0
  33. package/dist/{chunk-AZQOX2RS.js → chunk-SM26C2L7.js} +2 -2
  34. package/dist/{chunk-M6XUXQ5Q.cjs → chunk-TAQMYVO6.cjs} +40 -40
  35. package/dist/{chunk-M6XUXQ5Q.cjs.map → chunk-TAQMYVO6.cjs.map} +1 -1
  36. package/dist/{chunk-323TCNF3.cjs → chunk-UFBUQO7Z.cjs} +18 -18
  37. package/dist/{chunk-323TCNF3.cjs.map → chunk-UFBUQO7Z.cjs.map} +1 -1
  38. package/dist/{chunk-PVMPBWKX.js → chunk-W3JZXLJ2.js} +6 -6
  39. package/dist/{chunk-6NO4YYU7.cjs → chunk-XMCVUYKC.cjs} +12 -12
  40. package/dist/{chunk-6NO4YYU7.cjs.map → chunk-XMCVUYKC.cjs.map} +1 -1
  41. package/dist/{chunk-5U6OZ5FD.js → chunk-Y3NFB6HR.js} +4 -4
  42. package/dist/{chunk-LYYVTI34.js → chunk-YZJUHEPZ.js} +5 -5
  43. package/dist/{chunk-NQODKJ2F.js → chunk-ZQYFDYWV.js} +83 -121
  44. package/dist/{chunk-NQODKJ2F.js.map → chunk-ZQYFDYWV.js.map} +1 -1
  45. package/dist/components/case-studies/index.cjs +9 -9
  46. package/dist/components/case-studies/index.js +3 -3
  47. package/dist/components/chat/index.cjs +3 -3
  48. package/dist/components/chat/index.js +2 -2
  49. package/dist/components/contact/index.cjs +4 -4
  50. package/dist/components/contact/index.js +3 -3
  51. package/dist/components/docs/index.cjs +6 -6
  52. package/dist/components/docs/index.js +5 -5
  53. package/dist/components/embeds/index.cjs +4 -4
  54. package/dist/components/embeds/index.js +3 -3
  55. package/dist/components/faq/index.cjs +5 -5
  56. package/dist/components/faq/index.js +4 -4
  57. package/dist/components/features/index.cjs +3 -3
  58. package/dist/components/features/index.js +2 -2
  59. package/dist/components/features/policy-configuration-panel.d.ts +0 -11
  60. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  61. package/dist/components/help-center-pages/index.cjs +22 -22
  62. package/dist/components/help-center-pages/index.js +13 -13
  63. package/dist/components/index.cjs +135 -135
  64. package/dist/components/index.js +11 -11
  65. package/dist/components/navigation/index.cjs +3 -3
  66. package/dist/components/navigation/index.js +2 -2
  67. package/dist/components/onboarding-guides/index.cjs +7 -7
  68. package/dist/components/onboarding-guides/index.js +6 -6
  69. package/dist/components/related-content/index.cjs +5 -5
  70. package/dist/components/related-content/index.js +4 -4
  71. package/dist/components/tickets/index.cjs +6 -6
  72. package/dist/components/tickets/index.js +5 -5
  73. package/dist/components/ui/index.cjs +3 -3
  74. package/dist/components/ui/index.js +2 -2
  75. package/dist/hooks/index.cjs +2 -2
  76. package/dist/hooks/index.js +1 -1
  77. package/dist/index.cjs +3 -3
  78. package/dist/index.js +2 -2
  79. package/dist/types/permissions.d.ts +6 -9
  80. package/dist/types/permissions.d.ts.map +1 -1
  81. package/dist/utils/embed-authed-fetch.d.ts +3 -19
  82. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  83. package/dist/utils/index.cjs +0 -3
  84. package/dist/utils/index.cjs.map +1 -1
  85. package/dist/utils/index.js +0 -3
  86. package/dist/utils/index.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/components/features/policy-configuration-panel.tsx +122 -185
  89. package/src/types/permissions.ts +7 -10
  90. package/src/utils/__tests__/embed-authed-fetch.test.ts +0 -39
  91. package/src/utils/embed-authed-fetch.ts +3 -27
  92. package/dist/chunk-7CZ4MJSI.cjs.map +0 -1
  93. package/dist/chunk-IBIGXER5.cjs.map +0 -1
  94. package/dist/chunk-MG4AMIFX.js.map +0 -1
  95. package/src/stories/PolicyConfigurationPanel.stories.tsx +0 -254
  96. /package/dist/{chunk-3ZE55IH6.js.map → chunk-63TSTDME.js.map} +0 -0
  97. /package/dist/{chunk-FQASXKBK.js.map → chunk-7KDR5P23.js.map} +0 -0
  98. /package/dist/{chunk-RQVR7I73.js.map → chunk-7KNOHGMI.js.map} +0 -0
  99. /package/dist/{chunk-LGMRNYTX.js.map → chunk-AGV26PUR.js.map} +0 -0
  100. /package/dist/{chunk-A7MG4SBL.js.map → chunk-FPE3SQ5D.js.map} +0 -0
  101. /package/dist/{chunk-6IPNXMB7.js.map → chunk-IAZ5AN2E.js.map} +0 -0
  102. /package/dist/{chunk-DOVBNECK.js.map → chunk-JYI4R25Q.js.map} +0 -0
  103. /package/dist/{chunk-UXJ47OJF.js.map → chunk-QAG357PE.js.map} +0 -0
  104. /package/dist/{chunk-AZQOX2RS.js.map → chunk-SM26C2L7.js.map} +0 -0
  105. /package/dist/{chunk-PVMPBWKX.js.map → chunk-W3JZXLJ2.js.map} +0 -0
  106. /package/dist/{chunk-5U6OZ5FD.js.map → chunk-Y3NFB6HR.js.map} +0 -0
  107. /package/dist/{chunk-LYYVTI34.js.map → chunk-YZJUHEPZ.js.map} +0 -0
@@ -3,11 +3,11 @@ import {
3
3
  FileDownloadCard,
4
4
  GoogleSheetsViewer,
5
5
  PdfViewer
6
- } from "./chunk-UXJ47OJF.js";
6
+ } from "./chunk-QAG357PE.js";
7
7
  import {
8
8
  DocSearchBar,
9
9
  useDocSearch
10
- } from "./chunk-DOVBNECK.js";
10
+ } from "./chunk-JYI4R25Q.js";
11
11
  import {
12
12
  DEFAULT_FOLDER_INDEX_FILE,
13
13
  FigmaEmbed,
@@ -19,13 +19,13 @@ import {
19
19
  findDocNodeByPath,
20
20
  getDocAncestorNodeIds,
21
21
  stripFolderIndexFromPath
22
- } from "./chunk-NQODKJ2F.js";
22
+ } from "./chunk-ZQYFDYWV.js";
23
23
  import {
24
24
  HUB_HEADER_OFFSET_PX,
25
25
  contentFetch,
26
26
  navigateSamePageHash,
27
27
  scrollElementIntoView
28
- } from "./chunk-MG4AMIFX.js";
28
+ } from "./chunk-2BTDPDME.js";
29
29
  import {
30
30
  useChatRuntime
31
31
  } from "./chunk-KFQXO7QB.js";
@@ -1845,4 +1845,4 @@ export {
1845
1845
  EmbedSkeleton,
1846
1846
  DocsHubPage
1847
1847
  };
1848
- //# sourceMappingURL=chunk-LYYVTI34.js.map
1848
+ //# sourceMappingURL=chunk-YZJUHEPZ.js.map
@@ -27,7 +27,7 @@ import {
27
27
  useOgPlaceholderUrl,
28
28
  useOnboardingState,
29
29
  useToast
30
- } from "./chunk-MG4AMIFX.js";
30
+ } from "./chunk-2BTDPDME.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, Shield as Shield2 } from "lucide-react";
31940
+ import { ChevronDown as ChevronDown8 } 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,68 +31953,33 @@ 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
- ] });
31983
31956
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
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 }) }),
31957
+ return /* @__PURE__ */ jsxs197("div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
31958
+ /* @__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(ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31989
31959
  /* @__PURE__ */ jsxs197("div", { className: "flex-1 flex flex-col min-w-0", children: [
31990
- /* @__PURE__ */ jsx253("p", { className: "text-h4 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31991
- /* @__PURE__ */ jsx253(
31992
- "p",
31960
+ /* @__PURE__ */ jsx253("p", { className: "text-h6 text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31961
+ /* @__PURE__ */ jsx253("p", { className: "text-code text-ods-text-secondary break-all", children: policy.commandPattern })
31962
+ ] }),
31963
+ editMode ? /* @__PURE__ */ jsxs197(DropdownMenu, { children: [
31964
+ /* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
31965
+ Button,
31993
31966
  {
31994
- className: "text-h6 text-ods-text-secondary truncate md:whitespace-normal md:break-all",
31995
- title: policy.commandPattern,
31996
- children: policy.commandPattern
31967
+ variant: "outline",
31968
+ rightIcon: /* @__PURE__ */ jsx253(ChevronDown8, { className: "h-6 w-6 text-ods-text-secondary" }),
31969
+ className: "md:!text-sm bg-ods-card border border-ods-border rounded-md flex gap-2 items-center justify-between !px-2 py-2 w-[180px] hover:bg-ods-bg-hover transition-colors text-ods-text-primary h-auto",
31970
+ children: getApprovalLevelLabel(policy.approvalLevel, editMode)
31997
31971
  }
31998
- ),
31999
- editMode ? /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ jsx253(
32000
- ApprovalLevelDropdown,
31972
+ ) }),
31973
+ /* @__PURE__ */ jsx253(DropdownMenuContent, { align: "end", className: "w-[180px]", children: approvalLevelOptions.map((option) => /* @__PURE__ */ jsx253(
31974
+ DropdownMenuItem,
32001
31975
  {
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) }) }) })
31976
+ onClick: () => onPermissionChange(categoryId, policy.id, option.value),
31977
+ className: "text-h6",
31978
+ children: option.label
31979
+ },
31980
+ option.value
31981
+ )) })
31982
+ ] }) : policy.approvalLevel ? /* @__PURE__ */ jsx253("div", { className: "px-3 py-2 w-[180px]", children: /* @__PURE__ */ jsx253("span", { className: "text-h6 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel, editMode) }) }) : /* @__PURE__ */ jsx253("div", { className: "px-3 py-2 w-[180px]" })
32018
31983
  ] });
32019
31984
  };
32020
31985
  var useAnimatedHeight = (isExpanded) => {
@@ -32031,52 +31996,69 @@ var useAnimatedHeight = (isExpanded) => {
32031
31996
  var CategorySection = ({
32032
31997
  category,
32033
31998
  editMode,
32034
- isExpanded,
32035
- bulkLevel,
32036
- onToggle,
32037
- onBulkLevelChange,
31999
+ onCategoryToggle,
32000
+ onGlobalPermissionChange,
32038
32001
  onPolicyPermissionChange
32039
32002
  }) => {
32040
- const { contentRef, height } = useAnimatedHeight(isExpanded);
32041
- const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32003
+ const { contentRef, height } = useAnimatedHeight(category.isExpanded);
32042
32004
  return /* @__PURE__ */ jsxs197(Fragment43, { children: [
32043
32005
  /* @__PURE__ */ jsxs197(
32044
32006
  "div",
32045
32007
  {
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),
32008
+ className: "bg-ods-card border-t border-ods-border flex gap-4 items-center pl-4 pr-2 py-3 cursor-pointer hover:bg-ods-bg-hover transition-colors",
32009
+ onClick: () => onCategoryToggle(category.id),
32048
32010
  children: [
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 }),
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: "md:!text-sm font-medium text-ods-text-primary", children: category.name }),
32052
32014
  /* @__PURE__ */ jsxs197("p", { className: "text-h6 text-ods-text-secondary", children: [
32053
- category.policies.length,
32015
+ category.configurationsCount,
32054
32016
  " Configurations"
32055
- ] }),
32056
- editMode && /* @__PURE__ */ jsx253("div", { className: "md:hidden mt-[var(--spacing-system-xsf)]", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
32057
- ApprovalLevelDropdown,
32017
+ ] })
32018
+ ] }),
32019
+ editMode ? /* @__PURE__ */ jsx253("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxs197(DropdownMenu, { children: [
32020
+ /* @__PURE__ */ jsx253(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx253(
32021
+ Button,
32058
32022
  {
32059
- value: bulkLevel,
32060
- onChange: handleBulkChange,
32061
- allowClear: true,
32062
- triggerClassName: "w-full",
32063
- contentClassName: "w-[256px]"
32023
+ variant: "outline",
32024
+ rightIcon: /* @__PURE__ */ jsx253(ChevronDown8, { className: "h-6 w-6 text-ods-text-secondary" }),
32025
+ className: "md:!text-sm bg-ods-card border border-ods-border rounded-md flex gap-2 items-center justify-between !px-2 py-2 w-[256px] hover:bg-ods-bg-hover transition-colors h-auto",
32026
+ children: /* @__PURE__ */ jsx253("span", { className: cn(
32027
+ "md:!text-sm font-medium",
32028
+ category.globalPermission ? "text-ods-text-primary" : "text-ods-text-secondary"
32029
+ ), children: getApprovalLevelLabel(category.globalPermission, editMode) })
32064
32030
  }
32065
- ) })
32066
- ] }),
32067
- editMode ? /* @__PURE__ */ jsx253("div", { className: "hidden md:block shrink-0", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx253(
32068
- ApprovalLevelDropdown,
32031
+ ) }),
32032
+ /* @__PURE__ */ jsxs197(DropdownMenuContent, { align: "end", className: "w-[256px]", children: [
32033
+ /* @__PURE__ */ jsx253(
32034
+ DropdownMenuItem,
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",
32069
32053
  {
32070
- value: bulkLevel,
32071
- onChange: handleBulkChange,
32072
- allowClear: true,
32073
- triggerClassName: "w-[256px]",
32074
- contentClassName: "w-[256px]"
32054
+ className: "px-3 py-2 w-[256px]",
32055
+ onClick: (e) => e.stopPropagation(),
32056
+ children: /* @__PURE__ */ jsx253("span", { className: "md:!text-sm font-medium text-ods-text-primary", children: getApprovalLevelLabel(category.globalPermission, editMode) })
32075
32057
  }
32076
- ) }) : /* @__PURE__ */ jsx253(
32058
+ ) : /* @__PURE__ */ jsx253(
32077
32059
  "div",
32078
32060
  {
32079
- className: "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[256px] shrink-0",
32061
+ className: "px-3 py-2 w-[256px]",
32080
32062
  onClick: (e) => e.stopPropagation()
32081
32063
  }
32082
32064
  ),
@@ -32087,19 +32069,19 @@ var CategorySection = ({
32087
32069
  variant: "transparent",
32088
32070
  onClick: (e) => {
32089
32071
  e.stopPropagation();
32090
- onToggle(category.id);
32072
+ onCategoryToggle(category.id);
32091
32073
  },
32092
32074
  leftIcon: /* @__PURE__ */ jsx253(
32093
32075
  ChevronDown8,
32094
32076
  {
32095
32077
  className: cn(
32096
32078
  "h-6 w-6 text-ods-text-primary transition-transform duration-300",
32097
- isExpanded && "rotate-180"
32079
+ category.isExpanded && "rotate-180"
32098
32080
  )
32099
32081
  }
32100
32082
  ),
32101
- className: "rounded-md h-auto w-auto shrink-0",
32102
- "aria-label": isExpanded ? "Collapse" : "Expand"
32083
+ className: "rounded-md h-auto w-auto",
32084
+ "aria-label": category.isExpanded ? "Collapse" : "Expand"
32103
32085
  }
32104
32086
  )
32105
32087
  ]
@@ -32115,9 +32097,9 @@ var CategorySection = ({
32115
32097
  },
32116
32098
  className: cn(
32117
32099
  "overflow-hidden",
32118
- isExpanded ? "opacity-100" : "opacity-0"
32100
+ category.isExpanded ? "opacity-100" : "opacity-0"
32119
32101
  ),
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(
32102
+ children: /* @__PURE__ */ jsx253("div", { className: "px-4 pb-4 pt-0", children: /* @__PURE__ */ jsx253("div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ jsx253(
32121
32103
  PolicyRow,
32122
32104
  {
32123
32105
  policy,
@@ -32134,29 +32116,11 @@ var CategorySection = ({
32134
32116
  var PolicyConfigurationPanel = ({
32135
32117
  categories,
32136
32118
  editMode,
32119
+ onCategoryToggle,
32120
+ onGlobalPermissionChange,
32137
32121
  onPolicyPermissionChange,
32138
- onCategoryPermissionChange,
32139
32122
  className
32140
32123
  }) => {
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
- };
32160
32124
  return /* @__PURE__ */ jsx253("div", { className: cn(
32161
32125
  "bg-ods-card border border-ods-border rounded-md overflow-hidden",
32162
32126
  className
@@ -32165,10 +32129,8 @@ var PolicyConfigurationPanel = ({
32165
32129
  {
32166
32130
  category,
32167
32131
  editMode,
32168
- isExpanded: expandedIds.has(category.id),
32169
- bulkLevel: bulkLevels[category.id],
32170
- onToggle: handleToggle,
32171
- onBulkLevelChange: handleBulkLevelChange,
32132
+ onCategoryToggle,
32133
+ onGlobalPermissionChange,
32172
32134
  onPolicyPermissionChange
32173
32135
  },
32174
32136
  category.id
@@ -54122,4 +54084,4 @@ export {
54122
54084
  LogsList,
54123
54085
  assets
54124
54086
  };
54125
- //# sourceMappingURL=chunk-NQODKJ2F.js.map
54087
+ //# sourceMappingURL=chunk-ZQYFDYWV.js.map