@osdk/react-components 0.33.0 → 0.34.0-main-d24cc61b1e7fde7722d8229ed2b6821f5ce1bf8a

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 (145) hide show
  1. package/AGENTS.md +3 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +14 -13
  4. package/build/browser/aip-agent-chat/AipAgentChat.js +113 -0
  5. package/build/browser/aip-agent-chat/AipAgentChat.js.map +1 -0
  6. package/build/browser/aip-agent-chat/AipAgentChat.module.css +231 -0
  7. package/build/browser/aip-agent-chat/AipAgentChat.module.css.js +29 -0
  8. package/build/browser/aip-agent-chat/AipAgentChatApi.js +2 -0
  9. package/build/browser/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  10. package/build/browser/aip-agent-chat/BaseAipAgentChat.js +67 -0
  11. package/build/browser/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  12. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  13. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  14. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  15. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  16. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  17. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  18. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  19. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  20. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  21. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  22. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  23. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  24. package/build/browser/base-components/callout/Callout.js +65 -0
  25. package/build/browser/base-components/callout/Callout.js.map +1 -0
  26. package/build/browser/base-components/callout/Callout.module.css +59 -0
  27. package/build/browser/base-components/callout/Callout.module.css.js +15 -0
  28. package/build/browser/public/experimental/aip-agent-chat.js +22 -0
  29. package/build/browser/public/experimental/aip-agent-chat.js.map +1 -0
  30. package/build/browser/styles.css +402 -0
  31. package/build/browser/tokens/base-tokens/dark.css +10 -0
  32. package/build/browser/tokens/component-tokens/aip-agent-chat.css +56 -0
  33. package/build/browser/tokens/component-tokens/callout.css +40 -0
  34. package/build/browser/tokens.css +2 -0
  35. package/build/browser/util/UserAgent.js +1 -1
  36. package/build/browser/util/UserAgent.js.map +1 -1
  37. package/build/cjs/{chunk-N5NOB4G4.cjs → chunk-4SBWDLNA.cjs} +4 -4
  38. package/build/cjs/{chunk-N5NOB4G4.cjs.map → chunk-4SBWDLNA.cjs.map} +1 -1
  39. package/build/cjs/{chunk-PFGIO77A.cjs → chunk-5JPP5IKU.cjs} +4 -4
  40. package/build/cjs/{chunk-PFGIO77A.cjs.map → chunk-5JPP5IKU.cjs.map} +1 -1
  41. package/build/cjs/{chunk-56CFJTXV.cjs → chunk-73EYJP6Z.cjs} +6 -6
  42. package/build/cjs/{chunk-56CFJTXV.cjs.map → chunk-73EYJP6Z.cjs.map} +1 -1
  43. package/build/cjs/{chunk-XCZD54BD.cjs → chunk-ABKLMCWO.cjs} +4 -4
  44. package/build/cjs/{chunk-XCZD54BD.cjs.map → chunk-ABKLMCWO.cjs.map} +1 -1
  45. package/build/cjs/{chunk-QWFT3G4W.cjs → chunk-EOXGPHI7.cjs} +4 -4
  46. package/build/cjs/{chunk-QWFT3G4W.cjs.map → chunk-EOXGPHI7.cjs.map} +1 -1
  47. package/build/cjs/chunk-HM6F2PSA.cjs +11 -0
  48. package/build/cjs/{chunk-N7TOWLUY.cjs.map → chunk-HM6F2PSA.cjs.map} +1 -1
  49. package/build/cjs/chunk-ILBAVINW.cjs +11 -0
  50. package/build/cjs/{chunk-SUEZQS7M.cjs.map → chunk-ILBAVINW.cjs.map} +1 -1
  51. package/build/cjs/chunk-MSUA3D5M.cjs +11 -0
  52. package/build/cjs/{chunk-AEFCONAY.cjs.map → chunk-MSUA3D5M.cjs.map} +1 -1
  53. package/build/cjs/{chunk-4AGEVOFW.cjs → chunk-MV4WJDCS.cjs} +4 -4
  54. package/build/cjs/{chunk-4AGEVOFW.cjs.map → chunk-MV4WJDCS.cjs.map} +1 -1
  55. package/build/cjs/{chunk-LYAAHEAS.cjs → chunk-PSXAPQB3.cjs} +4 -4
  56. package/build/cjs/{chunk-LYAAHEAS.cjs.map → chunk-PSXAPQB3.cjs.map} +1 -1
  57. package/build/cjs/chunk-RCL5R3P4.cjs +11 -0
  58. package/build/cjs/{chunk-D6RQIMMX.cjs.map → chunk-RCL5R3P4.cjs.map} +1 -1
  59. package/build/cjs/{chunk-OTAWBR27.cjs → chunk-S7Z4MCUS.cjs} +4 -4
  60. package/build/cjs/{chunk-OTAWBR27.cjs.map → chunk-S7Z4MCUS.cjs.map} +1 -1
  61. package/build/cjs/{chunk-364UCCB2.cjs → chunk-WVRYCKJY.cjs} +3 -3
  62. package/build/cjs/chunk-WVRYCKJY.cjs.map +1 -0
  63. package/build/cjs/chunk-YNECVUTQ.cjs +11 -0
  64. package/build/cjs/{chunk-3MDT2TJK.cjs.map → chunk-YNECVUTQ.cjs.map} +1 -1
  65. package/build/cjs/public/experimental/action-form.cjs +4 -4
  66. package/build/cjs/public/experimental/aip-agent-chat.cjs +434 -0
  67. package/build/cjs/public/experimental/aip-agent-chat.cjs.map +1 -0
  68. package/build/cjs/public/experimental/aip-agent-chat.css +304 -0
  69. package/build/cjs/public/experimental/aip-agent-chat.css.map +1 -0
  70. package/build/cjs/public/experimental/aip-agent-chat.d.cts +202 -0
  71. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  72. package/build/cjs/public/experimental/document-viewer.cjs +6 -6
  73. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  74. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  75. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  76. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  77. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  78. package/build/cjs/public/experimental/object-table.cjs +8 -8
  79. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  80. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  81. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  82. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  83. package/build/cjs/public/experimental.cjs +74 -74
  84. package/build/esm/aip-agent-chat/AipAgentChat.js +113 -0
  85. package/build/esm/aip-agent-chat/AipAgentChat.js.map +1 -0
  86. package/build/esm/aip-agent-chat/AipAgentChat.module.css +231 -0
  87. package/build/esm/aip-agent-chat/AipAgentChatApi.js +2 -0
  88. package/build/esm/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  89. package/build/esm/aip-agent-chat/BaseAipAgentChat.js +67 -0
  90. package/build/esm/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  91. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  92. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  93. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  94. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  95. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  96. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  97. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  98. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  99. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  100. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  101. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  102. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  103. package/build/esm/base-components/callout/Callout.js +65 -0
  104. package/build/esm/base-components/callout/Callout.js.map +1 -0
  105. package/build/esm/base-components/callout/Callout.module.css +59 -0
  106. package/build/esm/public/experimental/aip-agent-chat.js +22 -0
  107. package/build/esm/public/experimental/aip-agent-chat.js.map +1 -0
  108. package/build/esm/tokens/base-tokens/dark.css +10 -0
  109. package/build/esm/tokens/component-tokens/aip-agent-chat.css +56 -0
  110. package/build/esm/tokens/component-tokens/callout.css +40 -0
  111. package/build/esm/tokens.css +2 -0
  112. package/build/esm/util/UserAgent.js +1 -1
  113. package/build/esm/util/UserAgent.js.map +1 -1
  114. package/build/types/aip-agent-chat/AipAgentChat.d.ts +10 -0
  115. package/build/types/aip-agent-chat/AipAgentChat.d.ts.map +1 -0
  116. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts +135 -0
  117. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts.map +1 -0
  118. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts +55 -0
  119. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts.map +1 -0
  120. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts +19 -0
  121. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts.map +1 -0
  122. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts +9 -0
  123. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts.map +1 -0
  124. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts +12 -0
  125. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts.map +1 -0
  126. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts +11 -0
  127. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts.map +1 -0
  128. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts +16 -0
  129. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts.map +1 -0
  130. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts +11 -0
  131. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts.map +1 -0
  132. package/build/types/base-components/callout/Callout.d.ts +33 -0
  133. package/build/types/base-components/callout/Callout.d.ts.map +1 -0
  134. package/build/types/public/experimental/aip-agent-chat.d.ts +7 -0
  135. package/build/types/public/experimental/aip-agent-chat.d.ts.map +1 -0
  136. package/docs/AipAgentChat.md +207 -0
  137. package/docs/CSSVariables.md +52 -0
  138. package/docs/Welcome.md +1 -0
  139. package/package.json +24 -8
  140. package/build/cjs/chunk-364UCCB2.cjs.map +0 -1
  141. package/build/cjs/chunk-3MDT2TJK.cjs +0 -11
  142. package/build/cjs/chunk-AEFCONAY.cjs +0 -11
  143. package/build/cjs/chunk-D6RQIMMX.cjs +0 -11
  144. package/build/cjs/chunk-N7TOWLUY.cjs +0 -11
  145. package/build/cjs/chunk-SUEZQS7M.cjs +0 -11
@@ -5,7 +5,7 @@ var chunkC6IPNPMZ_cjs = require('./chunk-C6IPNPMZ.cjs');
5
5
  var chunkHNBSGCSZ_cjs = require('./chunk-HNBSGCSZ.cjs');
6
6
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
7
7
  var chunkMD4KDE44_cjs = require('./chunk-MD4KDE44.cjs');
8
- var chunk364UCCB2_cjs = require('./chunk-364UCCB2.cjs');
8
+ var chunkWVRYCKJY_cjs = require('./chunk-WVRYCKJY.cjs');
9
9
  var platformApis = require('@osdk/react/platform-apis');
10
10
  var React = require('react');
11
11
  var popover = require('@base-ui/react/popover');
@@ -1060,7 +1060,7 @@ function CbacPicker({
1060
1060
  }
1061
1061
 
1062
1062
  // src/public/experimental/cbac-picker.ts
1063
- var CbacPicker2 = chunk364UCCB2_cjs.withOsdkMetrics(CbacPicker, "CbacPicker");
1063
+ var CbacPicker2 = chunkWVRYCKJY_cjs.withOsdkMetrics(CbacPicker, "CbacPicker");
1064
1064
 
1065
1065
  exports.BaseCbacPicker = BaseCbacPicker;
1066
1066
  exports.BaseCbacPickerDialog = BaseCbacPickerDialog;
@@ -1071,5 +1071,5 @@ exports.MaxClassificationField = MaxClassificationField;
1071
1071
  exports.computeMarkingStates = computeMarkingStates;
1072
1072
  exports.groupMarkingsByCategory = groupMarkingsByCategory2;
1073
1073
  exports.toggleMarking = toggleMarking;
1074
- //# sourceMappingURL=chunk-QWFT3G4W.cjs.map
1075
- //# sourceMappingURL=chunk-QWFT3G4W.cjs.map
1074
+ //# sourceMappingURL=chunk-EOXGPHI7.cjs.map
1075
+ //# sourceMappingURL=chunk-EOXGPHI7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cbac-picker/utils/errorMessages.ts","../../src/cbac-picker/base/BaseCbacBannerPopover.module.css","../../src/cbac-picker/base/BaseCbacBannerPopover.tsx","../../src/cbac-picker/base/BaseCbacPicker.module.css","../../src/cbac-picker/base/CategoryMarkingGroup.module.css","../../src/cbac-picker/base/MarkingButton.module.css","../../src/cbac-picker/base/selectionStateHelpers.ts","../../src/cbac-picker/base/MarkingButton.tsx","../../src/cbac-picker/base/OverflowButton.module.css","../../src/cbac-picker/base/OverflowItem.module.css","../../src/cbac-picker/base/OverflowItem.tsx","../../src/cbac-picker/base/OverflowButton.tsx","../../src/cbac-picker/base/CategoryMarkingGroup.tsx","../../src/cbac-picker/base/InfoBanner.module.css","../../src/cbac-picker/base/InfoBanner.tsx","../../src/cbac-picker/base/ValidationWarning.module.css","../../src/cbac-picker/base/ValidationWarning.tsx","../../src/cbac-picker/base/BaseCbacPicker.tsx","../../src/cbac-picker/base/CbacPickerDialogFooter.module.css","../../src/cbac-picker/base/CbacPickerDialogFooter.tsx","../../src/cbac-picker/base/BaseCbacPickerDialog.tsx","../../src/cbac-picker/utils/selectionLogic.ts","../../src/cbac-picker/useCbacPickerState.ts","../../src/cbac-picker/useCbacSelection.ts","../../src/cbac-picker/base/MaxClassificationField.module.css","../../src/cbac-picker/base/MaxClassificationField.tsx","../../src/cbac-picker/useConstraintCallout.tsx","../../src/cbac-picker/utils/validationMessages.ts","../../src/cbac-picker/CbacPickerDialog.tsx","../../src/cbac-picker/CbacBannerPopover.tsx","../../src/cbac-picker/CbacPicker.tsx","../../src/public/experimental/cbac-picker.ts"],"names":["React","backgroundFromColors","Popover","BaseCbacBanner","classnames","CaretUp","CaretDown","PopoverContent","ActionButton","WarningSign","SkeletonBar","MarkingButton","button","Button","Tooltip","OverflowItem","CategoryMarkingGroup","InfoSign","Dialog","isImplied","isDisallowed","groupMarkingsByCategory","useMarkingCategories","useMarkings","useCbacBanner","useCbacMarkingRestrictions","EMPTY_ARRAY","resolveRequiredGroups","resolveBannerDisplay","CbacPicker","withOsdkMetrics"],"mappings":"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","file":"chunk-QWFT3G4W.cjs","sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nfunction isApiErrorLike(error) {\n return \"statusCode\" in error && typeof error.statusCode === \"number\";\n}\nfunction formatByStatusCode(error) {\n const statusCode = error.statusCode;\n if (statusCode === 401) {\n return {\n title: \"Session expired\",\n remediation: \"Sign in again to continue.\"\n };\n }\n if (statusCode === 403) {\n return {\n title: \"Permission denied\",\n remediation: \"Contact your administrator for permission.\"\n };\n }\n if (statusCode === 404) {\n return {\n title: \"Not found\",\n remediation: \"The requested classification data could not be found.\"\n };\n }\n if (statusCode !== undefined && statusCode >= 500) {\n return {\n title: \"Server error\",\n remediation: \"Something went wrong. Try again later.\"\n };\n }\n if (typeof error.errorDescription === \"string\" && error.errorDescription.length > 0) {\n return {\n title: error.errorDescription,\n remediation: \"\"\n };\n }\n return {\n title: error.message || \"Something went wrong\",\n remediation: \"\"\n };\n}\nexport function formatCbacError(error) {\n if (error instanceof AggregateError && error.errors.length > 0) {\n const first = error.errors[0];\n if (first instanceof Error) {\n return formatCbacError(first);\n }\n }\n if (isApiErrorLike(error)) {\n return formatByStatusCode(error);\n }\n if (error.message.toLowerCase().includes(\"network\") || error.message.toLowerCase().includes(\"fetch\")) {\n return {\n title: \"Network error\",\n remediation: \"Check your connection and try again.\"\n };\n }\n return {\n title: error.message || \"Something went wrong\",\n remediation: \"\"\n };\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.popover {\n max-width: var(--osdk-cbac-popover-max-width);\n padding: var(--osdk-cbac-popover-padding);\n background: var(--osdk-surface-background-color-default);\n border: 1px solid var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-surface-elevation-2);\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-popover-section-gap);\n}\n\n.pill {\n display: inline-flex;\n align-items: center;\n padding: var(--osdk-cbac-popover-pill-padding);\n border-radius: var(--osdk-cbac-popover-pill-border-radius);\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n width: fit-content;\n}\n\n.sectionLabel {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-muted);\n text-transform: uppercase;\n margin: 0;\n}\n\n.markingGroup {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 0.5);\n}\n\n.markingCategoryName {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-rest);\n margin: 0;\n}\n\n.markingName {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-rest);\n margin: 0;\n padding-left: calc(var(--osdk-surface-spacing) * 2);\n}\n\n.noMarkings {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n}\n\n.divider {\n border: none;\n border-top: 1px solid var(--osdk-surface-border-color-default);\n margin: 0;\n}\n\n.editButton {\n width: 100%;\n}\n\n.description {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n}\n\n/* Skeleton loading */\n.skeletonContainer {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.skeletonPill {\n width: var(--osdk-cbac-skeleton-pill-width);\n height: var(--osdk-cbac-skeleton-pill-height);\n}\n\n.skeletonLine {\n width: 100%;\n height: var(--osdk-cbac-skeleton-line-height);\n}\n\n.skeletonLineNarrow {\n width: var(--osdk-cbac-skeleton-line-narrow-width);\n height: var(--osdk-cbac-skeleton-line-height);\n}\n\n/* Error state */\n.errorContainer {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--osdk-surface-spacing);\n padding: calc(var(--osdk-surface-spacing) * 2) 0;\n}\n\n.errorMessage {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-rest);\n font-weight: var(--osdk-typography-weight-bold);\n margin: 0;\n text-align: center;\n}\n\n.errorRemediation {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n text-align: center;\n}\n\n/* Warnings section */\n.warningsSection {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.warningsHeader {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-muted);\n text-transform: uppercase;\n margin: 0;\n}\n\n.warningCallout {\n display: flex;\n align-items: flex-start;\n gap: var(--osdk-surface-spacing);\n padding: var(--osdk-cbac-warning-callout-padding);\n background: var(--osdk-cbac-warning-callout-bg);\n color: var(--osdk-cbac-warning-callout-color);\n border-radius: var(--osdk-cbac-warning-callout-border-radius);\n font-size: var(--osdk-cbac-warning-callout-font-size);\n}\n\n.warningIcon {\n flex-shrink: 0;\n margin-top: calc(var(--osdk-surface-spacing) * 0.125);\n}\n\n.warningText {\n margin: 0;\n}\n\n/* Banner trigger wrapper with caret */\n.bannerTriggerWrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n}\n\n.caretIcon {\n position: absolute;\n right: calc(var(--osdk-surface-spacing) * 1.5);\n display: flex;\n align-items: center;\n color: inherit;\n opacity: 0;\n transition: opacity var(--osdk-emphasis-transition-duration)\n var(--osdk-emphasis-ease-default);\n pointer-events: none;\n}\n\n.bannerTriggerWrapper:hover .caretIcon,\n.caretIconVisible {\n opacity: 1;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Popover } from \"@base-ui/react/popover\";\nimport { CaretDown, CaretUp, WarningSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { ActionButton } from \"../../base-components/action-button/ActionButton.js\";\nimport { SkeletonBar } from \"../../base-components/skeleton/SkeletonBar.js\";\nimport { backgroundFromColors } from \"../utils/cbacPickerUtils.js\";\nimport { formatCbacError } from \"../utils/errorMessages.js\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./BaseCbacBannerPopover.module.css\";\nexport function BaseCbacBannerPopover({\n classificationString,\n textColor,\n backgroundColors,\n appliedMarkings,\n onEditClick,\n description,\n isLoading,\n error,\n onRetry,\n onDismiss,\n warnings,\n className\n}) {\n const [open, setOpen] = React.useState(false);\n const handleEditClick = React.useCallback(() => {\n setOpen(false);\n onEditClick();\n }, [onEditClick]);\n const pillStyle = React.useMemo(() => ({\n color: textColor,\n background: backgroundFromColors(backgroundColors)\n }), [textColor, backgroundColors]);\n const showSkeleton = isLoading === true && appliedMarkings.length === 0;\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: open,\n onOpenChange: setOpen\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n nativeButton: false,\n render: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bannerTriggerWrapper\n }, /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: classificationString,\n textColor: textColor,\n backgroundColors: backgroundColors,\n onDismiss: onDismiss,\n className: className\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: classnames(styles.caretIcon, open && styles.caretIconVisible)\n }, open ? /*#__PURE__*/React.createElement(CaretUp, {\n size: 12\n }) : /*#__PURE__*/React.createElement(CaretDown, {\n size: 12\n })))\n }), /*#__PURE__*/React.createElement(Popover.Portal, null, /*#__PURE__*/React.createElement(Popover.Positioner, {\n side: \"bottom\",\n align: \"center\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n className: styles.popover\n }, /*#__PURE__*/React.createElement(PopoverContent, {\n showSkeleton: showSkeleton,\n error: error,\n onRetry: onRetry,\n pillStyle: pillStyle,\n classificationString: classificationString,\n description: description,\n appliedMarkings: appliedMarkings,\n warnings: warnings,\n handleEditClick: handleEditClick\n })))));\n}\nconst PopoverContent = /*#__PURE__*/React.memo(function PopoverContent({\n showSkeleton,\n error,\n onRetry,\n pillStyle,\n classificationString,\n description,\n appliedMarkings,\n warnings,\n handleEditClick\n}) {\n const hasMarkings = appliedMarkings.length > 0;\n const hasWarnings = warnings !== undefined && warnings.length > 0;\n if (showSkeleton) {\n return /*#__PURE__*/React.createElement(PopoverSkeleton, null);\n }\n if (error !== undefined) {\n const errorMessage = formatCbacError(error);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.errorContainer\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.errorMessage\n }, errorMessage.title), errorMessage.remediation && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.errorRemediation\n }, errorMessage.remediation), onRetry !== undefined && /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"secondary\",\n onClick: onRetry\n }, \"Retry\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.pill,\n style: pillStyle,\n title: classificationString\n }, classificationString), description !== undefined && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.description\n }, description), /*#__PURE__*/React.createElement(\"p\", {\n className: styles.sectionLabel\n }, \"Applied markings\"), hasMarkings ? appliedMarkings.map(group => /*#__PURE__*/React.createElement(\"div\", {\n key: group.categoryName,\n className: styles.markingGroup\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.markingCategoryName\n }, group.categoryName), group.markingNames.map((name, i) => /*#__PURE__*/React.createElement(\"p\", {\n key: `${name}-${i}`,\n className: styles.markingName\n }, name)))) : /*#__PURE__*/React.createElement(\"p\", {\n className: styles.noMarkings\n }, \"No markings applied\"), hasWarnings && warnings !== undefined && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"hr\", {\n className: styles.divider\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.warningsSection\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.warningsHeader\n }, \"Warnings and Notices\"), warnings.map((warning, i) => /*#__PURE__*/React.createElement(\"div\", {\n key: `warning-${i}`,\n className: styles.warningCallout\n }, /*#__PURE__*/React.createElement(WarningSign, {\n className: styles.warningIcon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"p\", {\n className: styles.warningText\n }, warning))))), /*#__PURE__*/React.createElement(\"hr\", {\n className: styles.divider\n }), /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"primary\",\n className: styles.editButton,\n onClick: handleEditClick\n }, hasMarkings ? \"Edit classification\" : \"Set classification\"));\n});\nfunction PopoverSkeleton() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.skeletonContainer\n }, /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonPill\n }), /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonLine\n }), /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonLineNarrow\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.picker {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-picker-category-gap);\n padding: var(--osdk-cbac-picker-padding);\n width: 100%;\n}\n\n.categoriesContainer {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-picker-category-gap);\n overflow-y: auto;\n}\n\n.innerBanner {\n border: 1px solid var(--osdk-cbac-banner-border-color);\n}\n\n.statusMessage {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 0.5);\n padding: calc(var(--osdk-surface-spacing) * 3) 0;\n color: var(--osdk-typography-color-muted);\n font-style: italic;\n}\n\n.statusMessage p {\n margin: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.categoryGroup {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-marking-button-gap);\n}\n\n.categoryHeader {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 0.75);\n}\n\n.categoryName {\n font-size: var(--osdk-cbac-picker-category-title-font-size);\n font-weight: var(--osdk-cbac-picker-category-title-font-weight);\n color: var(--osdk-cbac-picker-category-title-color);\n letter-spacing: var(--osdk-cbac-picker-category-title-letter-spacing);\n margin: 0;\n}\n\n.infoIcon {\n display: inline-flex;\n color: var(--osdk-typography-color-muted);\n cursor: help;\n}\n\n.infoTooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n color: var(--osdk-typography-color-muted);\n}\n\n.markingGrid {\n display: grid;\n grid-template-columns: repeat(\n var(--osdk-cbac-picker-marking-grid-columns),\n 1fr\n );\n border-top: 1px solid var(--osdk-cbac-picker-marking-grid-border-color);\n border-left: 1px solid var(--osdk-cbac-picker-marking-grid-border-color);\n}\n\n.emptyCell {\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.markingButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: var(--osdk-cbac-marking-button-padding);\n border-radius: var(--osdk-cbac-marking-button-border-radius);\n font-size: var(--osdk-cbac-marking-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n color: var(--osdk-cbac-marking-button-color-default);\n background-color: var(--osdk-cbac-marking-button-bg-default, transparent);\n}\n\n.markingButton:hover:not(:disabled):not([aria-disabled=\"true\"]):not(.disallowed):not(.impliedDisallowed):not(.selected):not(.implied) {\n background-color: var(--osdk-surface-background-color-default-hover);\n}\n\n.selected {\n color: var(--osdk-cbac-marking-button-color-selected);\n background-color: var(--osdk-cbac-marking-button-bg-selected);\n border-color: var(--osdk-cbac-marking-button-border-color-selected);\n}\n\n.selected:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background-color: var(\n --osdk-cbac-marking-button-bg-selected-hover,\n var(--osdk-cbac-marking-button-bg-selected)\n );\n filter: brightness(0.85);\n}\n\n.implied {\n color: var(--osdk-cbac-marking-button-color-implied);\n background-color: var(--osdk-cbac-marking-button-bg-implied);\n border-color: var(--osdk-cbac-marking-button-border-color-implied);\n}\n\n.disallowed,\n.impliedDisallowed {\n color: var(--osdk-cbac-marking-button-color-disallowed);\n background-color: var(--osdk-cbac-marking-button-bg-disallowed);\n border-color: var(--osdk-cbac-marking-button-border-color-disallowed);\n cursor: not-allowed;\n opacity: var(--osdk-cbac-disabled-opacity);\n text-decoration: line-through;\n}\n\n.markingButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.markingButton:disabled {\n cursor: not-allowed;\n}\n\n.tooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n}\n\n.tooltipTitle {\n margin: 0;\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-rest);\n}\n\n.tooltipDescription {\n margin: calc(var(--osdk-surface-spacing) * 0.5) 0 0;\n color: var(--osdk-typography-color-muted);\n}\n\n.tooltipHint {\n margin: calc(var(--osdk-surface-spacing) * 0.5) 0 0;\n font-style: italic;\n color: var(--osdk-typography-color-muted);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isDisallowed(state) {\n return state === \"DISALLOWED\" || state === \"IMPLIED_DISALLOWED\";\n}\nexport function isImplied(state) {\n return state === \"IMPLIED\" || state === \"IMPLIED_DISALLOWED\";\n}\nexport function getDisplayLabel(label, state) {\n return isImplied(state) ? `(${label})` : label;\n}\nexport function getTooltipText(state) {\n if (state === \"DISALLOWED\") {\n return \"This marking is not allowed with the current selection\";\n }\n if (state === \"IMPLIED_DISALLOWED\") {\n return \"This marking is implied but not allowed\";\n }\n return undefined;\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./MarkingButton.module.css\";\nimport { getDisplayLabel, isDisallowed } from \"./selectionStateHelpers.js\";\nconst selectionStateClassMap = {\n SELECTED: styles.selected,\n IMPLIED: styles.implied,\n DISALLOWED: styles.disallowed,\n IMPLIED_DISALLOWED: styles.impliedDisallowed,\n NONE: undefined\n};\nfunction getSelectionHint(state) {\n switch (state) {\n case \"SELECTED\":\n return \"Click to deselect\";\n case \"IMPLIED\":\n return \"Implied by another marking\";\n case \"DISALLOWED\":\n case \"IMPLIED_DISALLOWED\":\n return \"Not available with current selection. Deselect your current choice first.\";\n case \"NONE\":\n return undefined;\n }\n}\nexport const MarkingButton = /*#__PURE__*/React.memo(function MarkingButton({\n id,\n label,\n description,\n selectionState,\n onToggle,\n disabled\n}) {\n const handleToggle = React.useCallback(() => {\n onToggle(id);\n }, [onToggle, id]);\n const hasDescription = description !== undefined && description.length > 0;\n const isButtonDisabled = disabled ?? isDisallowed(selectionState);\n const showTooltip = hasDescription || isDisallowed(selectionState);\n const hint = getSelectionHint(selectionState);\n const button = /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.markingButton, selectionStateClassMap[selectionState]),\n onClick: isButtonDisabled ? undefined : handleToggle,\n disabled: showTooltip ? undefined : isButtonDisabled,\n \"aria-disabled\": showTooltip ? isButtonDisabled : undefined,\n \"aria-pressed\": selectionState === \"SELECTED\" || selectionState === \"IMPLIED\",\n title: showTooltip ? undefined : label\n }, getDisplayLabel(label, selectionState));\n if (!showTooltip) {\n return button;\n }\n return /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: button\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n sideOffset: 8\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.tooltip\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipTitle\n }, label), hasDescription && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipDescription\n }, description), hint != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipHint\n }, hint)))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.moreButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: var(--osdk-cbac-overflow-button-padding);\n font-size: var(--osdk-cbac-overflow-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n color: var(--osdk-cbac-marking-button-color-default);\n background: var(--osdk-cbac-marking-button-bg-default);\n font-weight: var(--osdk-typography-weight-bold);\n}\n\n.moreButton:hover {\n background: var(--osdk-surface-background-color-default-hover);\n}\n\n.moreButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.moreButtonActive {\n color: var(--osdk-intent-primary-rest);\n}\n\n.overflowList {\n display: flex;\n flex-direction: column;\n max-height: var(--osdk-cbac-overflow-list-max-height);\n overflow-y: auto;\n padding: calc(var(--osdk-surface-spacing) * 0.5);\n background: var(--osdk-surface-background-color-default);\n border: 1px solid var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-surface-elevation-2);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.overflowItem {\n display: flex;\n align-items: center;\n width: 100%;\n text-align: left;\n padding: var(--osdk-surface-spacing)\n calc(var(--osdk-surface-spacing) * 1.5);\n font-size: var(--osdk-cbac-overflow-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-radius: var(--osdk-surface-border-radius);\n color: var(--osdk-cbac-marking-button-color-default);\n background: transparent;\n}\n\n.overflowItem:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--osdk-surface-background-color-default-hover);\n}\n\n.overflowItem:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.overflowItemSelected {\n color: var(--osdk-intent-primary-rest);\n font-weight: var(--osdk-typography-weight-bold);\n}\n\n.overflowItemDisabled {\n color: var(--osdk-cbac-marking-button-color-disallowed);\n cursor: not-allowed;\n opacity: var(--osdk-cbac-disabled-opacity);\n text-decoration: line-through;\n}\n\n.tooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n}\n\n.tooltipDescription {\n margin: 0;\n color: var(--osdk-typography-color-muted);\n}\n\n.tooltipHint {\n margin: calc(var(--osdk-surface-spacing) * 0.25) 0 0;\n font-style: italic;\n color: var(--osdk-typography-color-muted);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OverflowItem.module.css\";\nimport { getDisplayLabel, getTooltipText, isDisallowed, isImplied } from \"./selectionStateHelpers.js\";\nexport const OverflowItem = /*#__PURE__*/React.memo(function OverflowItem({\n id,\n label,\n description,\n selectionState,\n disabled,\n onToggle\n}) {\n const handleClick = React.useCallback(() => {\n onToggle(id);\n }, [onToggle, id]);\n const disallowed = isDisallowed(selectionState);\n const isSelected = selectionState === \"SELECTED\";\n const implied = isImplied(selectionState);\n const tooltipText = getTooltipText(selectionState);\n const hasDescription = description !== undefined && description.length > 0;\n const showTooltip = hasDescription || tooltipText != null;\n const isItemDisabled = disabled ?? disallowed;\n const button = /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.overflowItem, (isSelected || implied) && styles.overflowItemSelected, disallowed && styles.overflowItemDisabled),\n onClick: isItemDisabled ? undefined : handleClick,\n disabled: showTooltip ? undefined : isItemDisabled,\n \"aria-disabled\": showTooltip ? isItemDisabled : undefined,\n \"aria-pressed\": isSelected || implied\n }, getDisplayLabel(label, selectionState));\n if (!showTooltip) {\n return button;\n }\n return /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: button\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"right\",\n sideOffset: 4\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.tooltip\n }, hasDescription && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipDescription\n }, description), tooltipText != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipHint\n }, tooltipText)))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OverflowButton.module.css\";\nimport { OverflowItem } from \"./OverflowItem.js\";\nexport function OverflowButton({\n overflowMarkings,\n hasActiveOverflow,\n onMarkingToggle\n}) {\n const [open, setOpen] = React.useState(false);\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: open,\n onOpenChange: setOpen\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n render: /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.moreButton, hasActiveOverflow && styles.moreButtonActive)\n }, \"+\", overflowMarkings.length, \" more\")\n }), /*#__PURE__*/React.createElement(Popover.Portal, null, /*#__PURE__*/React.createElement(Popover.Positioner, {\n side: \"bottom\",\n align: \"start\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n className: styles.overflowList\n }, overflowMarkings.map(marking => /*#__PURE__*/React.createElement(OverflowItem, {\n key: marking.id,\n id: marking.id,\n label: marking.label,\n description: marking.description,\n selectionState: marking.selectionState,\n disabled: marking.disabled,\n onToggle: onMarkingToggle\n }))))));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport { InfoSign } from \"@blueprintjs/icons\";\nimport React from \"react\";\nimport styles from \"./CategoryMarkingGroup.module.css\";\nimport { MarkingButton } from \"./MarkingButton.js\";\nimport { OverflowButton } from \"./OverflowButton.js\";\nimport { isImplied } from \"./selectionStateHelpers.js\";\nconst GRID_COLUMNS = 4;\nconst VISIBLE_ROWS = 3;\nconst DEFAULT_MARKING_STATE = \"NONE\";\nexport const CategoryMarkingGroup = /*#__PURE__*/React.memo(function CategoryMarkingGroup({\n categoryName,\n categoryDescription,\n markings,\n markingStates,\n readOnly,\n onMarkingToggle\n}) {\n const headingId = React.useId();\n const resolvedMarkings = React.useMemo(() => markings.map(marking => ({\n id: marking.id,\n label: marking.name,\n description: marking.description,\n selectionState: markingStates.get(marking.id) ?? DEFAULT_MARKING_STATE,\n disabled: readOnly\n })), [markings, markingStates, readOnly]);\n const maxVisible = GRID_COLUMNS * VISIBLE_ROWS;\n const hasOverflow = resolvedMarkings.length > maxVisible;\n const visibleMarkings = hasOverflow ? resolvedMarkings.slice(0, maxVisible - 1) : resolvedMarkings;\n const overflowMarkings = hasOverflow ? resolvedMarkings.slice(maxVisible - 1) : [];\n const gridItemCount = hasOverflow ? visibleMarkings.length + 1 : visibleMarkings.length;\n const emptyCellCount = (GRID_COLUMNS - gridItemCount % GRID_COLUMNS) % GRID_COLUMNS;\n const hasActiveOverflow = overflowMarkings.some(m => m.selectionState === \"SELECTED\" || isImplied(m.selectionState));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoryGroup,\n role: \"group\",\n \"aria-labelledby\": headingId\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoryHeader\n }, /*#__PURE__*/React.createElement(\"h3\", {\n id: headingId,\n className: styles.categoryName\n }, categoryName), categoryDescription != null && categoryDescription.length > 0 && /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: /*#__PURE__*/React.createElement(\"span\", {\n className: styles.infoIcon,\n \"aria-label\": \"Category description\"\n }, /*#__PURE__*/React.createElement(InfoSign, {\n size: 12\n }))\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"top\",\n sideOffset: 4\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.infoTooltip\n }, categoryDescription))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markingGrid\n }, visibleMarkings.map(marking => /*#__PURE__*/React.createElement(MarkingButton, {\n key: marking.id,\n id: marking.id,\n label: marking.label,\n description: marking.description,\n selectionState: marking.selectionState,\n disabled: marking.disabled,\n onToggle: onMarkingToggle\n })), hasOverflow && /*#__PURE__*/React.createElement(OverflowButton, {\n overflowMarkings: overflowMarkings,\n hasActiveOverflow: hasActiveOverflow,\n onMarkingToggle: onMarkingToggle\n }), Array.from({\n length: emptyCellCount\n }, (_, i) => /*#__PURE__*/React.createElement(\"div\", {\n key: `empty-${i}`,\n className: styles.emptyCell\n }))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.infoBanner {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n padding: var(--osdk-cbac-info-banner-padding);\n background: var(--osdk-cbac-info-banner-bg);\n color: var(--osdk-cbac-info-banner-color);\n font-size: var(--osdk-cbac-info-banner-font-size);\n border-radius: var(--osdk-cbac-info-banner-border-radius);\n}\n\n.icon {\n flex-shrink: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InfoSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./InfoBanner.module.css\";\nexport function InfoBanner({\n message,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.infoBanner, className)\n }, /*#__PURE__*/React.createElement(InfoSign, {\n className: styles.icon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"span\", null, message));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.validationWarning {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n padding: var(--osdk-cbac-validation-warning-padding);\n background: var(--osdk-cbac-validation-warning-bg);\n color: var(--osdk-cbac-validation-warning-color);\n font-size: var(--osdk-cbac-validation-warning-font-size);\n border-radius: var(--osdk-cbac-validation-warning-border-radius);\n max-height: var(--osdk-cbac-validation-warning-max-height);\n overflow-y: auto;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.icon {\n flex-shrink: 0;\n}\n\n.groupList {\n list-style: none;\n margin: 0;\n padding: 0;\n padding-left: calc(var(--osdk-surface-spacing) * 3);\n display: flex;\n flex-direction: column;\n gap: var(--osdk-surface-spacing);\n}\n\n.groupItem {\n display: flex;\n align-items: center;\n gap: var(--osdk-surface-spacing);\n flex-wrap: wrap;\n}\n\n.groupNumber {\n font-weight: var(--osdk-typography-weight-bold);\n flex-shrink: 0;\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n padding: 0 var(--osdk-surface-spacing);\n border: 1px solid var(--osdk-cbac-validation-warning-chip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n background: var(--osdk-cbac-validation-warning-chip-bg);\n font-size: var(--osdk-cbac-validation-warning-font-size);\n color: var(--osdk-typography-color-default-rest);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WarningSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./ValidationWarning.module.css\";\nexport function ValidationWarning({\n requiredMarkingGroups,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.validationWarning, className)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.header\n }, /*#__PURE__*/React.createElement(WarningSign, {\n className: styles.icon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"span\", null, \"To complete a valid classification, at least one marking from each of the following sets needs to be selected:\")), /*#__PURE__*/React.createElement(\"ol\", {\n className: styles.groupList\n }, requiredMarkingGroups.map((group, index) => /*#__PURE__*/React.createElement(\"li\", {\n key: group.markingNames.join(\",\"),\n className: styles.groupItem\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.groupNumber\n }, index + 1, \".\"), group.markingNames.map(name => /*#__PURE__*/React.createElement(\"span\", {\n key: name,\n className: styles.chip\n }, name))))));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { formatCbacError } from \"../utils/errorMessages.js\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./BaseCbacPicker.module.css\";\nimport { CategoryMarkingGroup } from \"./CategoryMarkingGroup.js\";\nimport { InfoBanner } from \"./InfoBanner.js\";\nimport { ValidationWarning } from \"./ValidationWarning.js\";\nexport function BaseCbacPicker({\n categories,\n markingStates,\n banner,\n onMarkingToggle,\n onDismissBanner,\n showInfoBanner,\n requiredMarkingGroups,\n isValid,\n readOnly,\n isLoading,\n error,\n validationCallouts,\n className\n}) {\n const errorMessage = error != null ? formatCbacError(error) : undefined;\n const showInitialLoading = isLoading === true && categories.length === 0;\n const showValidationWarning = isValid === false && requiredMarkingGroups != null && requiredMarkingGroups.length > 0;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.picker, className)\n }, showInfoBanner === true && /*#__PURE__*/React.createElement(InfoBanner, {\n message: \"Implied markings are (in parentheses).\"\n }), banner != null && /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: banner.classificationString,\n textColor: banner.textColor,\n backgroundColors: banner.backgroundColors,\n onDismiss: onDismissBanner,\n className: styles.innerBanner\n }), errorMessage !== undefined ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.statusMessage,\n role: \"alert\"\n }, /*#__PURE__*/React.createElement(\"p\", null, errorMessage.title), errorMessage.remediation && /*#__PURE__*/React.createElement(\"p\", null, errorMessage.remediation)) : showInitialLoading ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.statusMessage,\n role: \"status\",\n \"aria-live\": \"polite\"\n }, \"Loading...\") : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoriesContainer\n }, categories.map(group => /*#__PURE__*/React.createElement(CategoryMarkingGroup, {\n key: group.category.id,\n categoryName: group.category.name,\n categoryDescription: group.category.description,\n markings: group.markings,\n markingStates: markingStates,\n readOnly: readOnly,\n onMarkingToggle: onMarkingToggle\n }))), validationCallouts, showValidationWarning && /*#__PURE__*/React.createElement(ValidationWarning, {\n requiredMarkingGroups: requiredMarkingGroups\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.tooltipTriggerWrapper {\n display: contents;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { ActionButton } from \"../../base-components/action-button/ActionButton.js\";\nimport { Tooltip } from \"../../base-components/tooltip/index.js\";\nimport styles from \"./CbacPickerDialogFooter.module.css\";\nexport function CbacPickerDialogFooter({\n onCancel,\n onConfirm,\n submitDisabledReason\n}) {\n const isSubmitDisabled = submitDisabledReason != null;\n const submitButton = /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"primary\",\n onClick: onConfirm,\n disabled: isSubmitDisabled\n }, \"Set classification\");\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"secondary\",\n onClick: onCancel\n }, \"Cancel\"), isSubmitDisabled ? /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: /*#__PURE__*/React.createElement(\"span\", {\n className: styles.tooltipTriggerWrapper\n })\n }, submitButton), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"top\"\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, null, submitDisabledReason, /*#__PURE__*/React.createElement(Tooltip.Arrow, null))))) : submitButton);\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { Dialog } from \"../../base-components/dialog/Dialog.js\";\nimport { BaseCbacPicker } from \"./BaseCbacPicker.js\";\nimport { CbacPickerDialogFooter } from \"./CbacPickerDialogFooter.js\";\nexport function BaseCbacPickerDialog({\n isOpen,\n onOpenChange,\n onConfirm,\n onCancel,\n title = \"Select classification\",\n submitDisabledReason,\n ...pickerProps\n}) {\n const handleOpenChange = React.useCallback(open => {\n if (!open) {\n onCancel();\n }\n onOpenChange(open);\n }, [onCancel, onOpenChange]);\n return /*#__PURE__*/React.createElement(Dialog, {\n isOpen: isOpen,\n onOpenChange: handleOpenChange,\n title: title,\n footer: /*#__PURE__*/React.createElement(CbacPickerDialogFooter, {\n onCancel: onCancel,\n onConfirm: onConfirm,\n submitDisabledReason: submitDisabledReason\n }),\n disablePointerDismissal: true\n }, /*#__PURE__*/React.createElement(BaseCbacPicker, _extends({}, pickerProps, {\n showInfoBanner: pickerProps.showInfoBanner ?? true\n })));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function toggleMarking(markingId, currentSelection, categories) {\n const isSelected = currentSelection.includes(markingId);\n let ownerGroup;\n for (const group of categories) {\n for (const marking of group.markings) {\n if (marking.id === markingId) {\n ownerGroup = group;\n break;\n }\n }\n if (ownerGroup !== undefined) {\n break;\n }\n }\n if (ownerGroup === undefined) {\n return currentSelection;\n }\n if (isSelected) {\n return currentSelection.filter(id => id !== markingId);\n }\n\n // Disjunctive categories allow only one marking selected at a time (radio-style).\n // Conjunctive categories allow multiple markings (checkbox-style).\n if (ownerGroup.category.categoryType === \"DISJUNCTIVE\") {\n const sameCategoryMarkingIds = new Set(ownerGroup.markings.map(m => m.id));\n const withoutSameCategory = currentSelection.filter(id => !sameCategoryMarkingIds.has(id));\n return [...withoutSameCategory, markingId];\n }\n return [...currentSelection, markingId];\n}\nexport function computeMarkingStates(selectedIds, impliedIds, disallowedIds) {\n const states = new Map();\n const selectedSet = new Set(selectedIds);\n const impliedSet = new Set(impliedIds);\n const disallowedSet = new Set(disallowedIds);\n const allIds = new Set([...selectedIds, ...impliedIds, ...disallowedIds]);\n for (const id of allIds) {\n const isImplied = impliedSet.has(id);\n const isDisallowed = disallowedSet.has(id);\n const isSelected = selectedSet.has(id);\n if (isSelected) {\n states.set(id, \"SELECTED\");\n } else if (isImplied && isDisallowed) {\n states.set(id, \"IMPLIED_DISALLOWED\");\n } else if (isImplied) {\n states.set(id, \"IMPLIED\");\n } else if (isDisallowed) {\n states.set(id, \"DISALLOWED\");\n }\n }\n return states;\n}\nexport function groupMarkingsByCategory(markings, categories) {\n const markingsByCategoryId = new Map();\n for (const marking of markings) {\n const existing = markingsByCategoryId.get(marking.categoryId);\n if (existing !== undefined) {\n existing.push(marking);\n } else {\n markingsByCategoryId.set(marking.categoryId, [marking]);\n }\n }\n const groups = [];\n for (const category of categories) {\n const categoryMarkings = markingsByCategoryId.get(category.id);\n if (categoryMarkings !== undefined && categoryMarkings.length > 0) {\n groups.push({\n category,\n markings: categoryMarkings\n });\n }\n }\n return groups;\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner, useCbacMarkingRestrictions, useMarkingCategories, useMarkings } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { EMPTY_ARRAY, resolveRequiredGroups } from \"./utils/cbacPickerUtils.js\";\nimport { computeMarkingStates, groupMarkingsByCategory } from \"./utils/selectionLogic.js\";\nconst EMPTY_GROUPS = [];\nfunction useStableArray(arr) {\n const ref = React.useRef(arr);\n if (arr.length !== ref.current.length || arr.some((id, i) => id !== ref.current[i])) {\n ref.current = arr;\n }\n return ref.current;\n}\nexport function useCbacPickerState(selectedIds) {\n const stableSelectedIds = useStableArray(selectedIds);\n const {\n categories: rawCategories,\n isLoading: categoriesLoading,\n error: categoriesError,\n refetch: refetchCategories\n } = useMarkingCategories();\n const {\n markings: rawMarkings,\n isLoading: markingsLoading,\n error: markingsError,\n refetch: refetchMarkings\n } = useMarkings();\n const {\n banner: latestBanner,\n isLoading: bannerLoading,\n error: bannerError,\n refetch: refetchBanner\n } = useCbacBanner({\n markingIds: stableSelectedIds\n });\n const bannerRef = React.useRef(latestBanner);\n if (latestBanner != null) {\n bannerRef.current = latestBanner;\n }\n const banner = latestBanner ?? bannerRef.current;\n const {\n restrictions,\n isLoading: restrictionsLoading,\n error: restrictionsError,\n refetch: refetchRestrictions\n } = useCbacMarkingRestrictions({\n markingIds: stableSelectedIds\n });\n const impliedMarkingIds = restrictions?.impliedMarkings ?? EMPTY_ARRAY;\n const disallowedMarkingIds = restrictions?.disallowedMarkings ?? EMPTY_ARRAY;\n const requiredMarkingGroups = restrictions?.requiredMarkings ?? EMPTY_GROUPS;\n const isValid = restrictions?.isValid ?? true;\n const userSatisfiesMarkings = restrictions?.userSatisfiesMarkings ?? true;\n const isLoading = categoriesLoading || markingsLoading || restrictionsLoading || bannerLoading;\n const error = React.useMemo(() => {\n const errors = [categoriesError, markingsError, restrictionsError, bannerError].filter(e => e != null);\n if (errors.length > 1) {\n return new AggregateError(errors, errors.map(e => e.message).join(\"; \"));\n }\n return errors[0];\n }, [categoriesError, markingsError, restrictionsError, bannerError]);\n const retry = React.useCallback(() => {\n refetchCategories();\n refetchMarkings();\n refetchBanner();\n refetchRestrictions();\n }, [refetchCategories, refetchMarkings, refetchBanner, refetchRestrictions]);\n const categoryGroups = React.useMemo(() => {\n if (rawCategories === undefined || rawMarkings === undefined) {\n return [];\n }\n return groupMarkingsByCategory(rawMarkings, rawCategories);\n }, [rawMarkings, rawCategories]);\n const markingStates = React.useMemo(() => computeMarkingStates(stableSelectedIds, impliedMarkingIds, disallowedMarkingIds), [stableSelectedIds, impliedMarkingIds, disallowedMarkingIds]);\n const resolvedRequiredGroups = React.useMemo(() => resolveRequiredGroups(categoryGroups, requiredMarkingGroups), [categoryGroups, requiredMarkingGroups]);\n return React.useMemo(() => ({\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups: resolvedRequiredGroups,\n isValid,\n userSatisfiesMarkings,\n disallowedMarkingIds,\n isLoading,\n error,\n retry\n }), [categoryGroups, markingStates, banner, resolvedRequiredGroups, isValid, userSatisfiesMarkings, disallowedMarkingIds, isLoading, error, retry]);\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { useCbacPickerState } from \"./useCbacPickerState.js\";\nimport { EMPTY_ARRAY } from \"./utils/cbacPickerUtils.js\";\nimport { toggleMarking } from \"./utils/selectionLogic.js\";\nexport function useCbacSelection(initialMarkingIds) {\n const [selectedIds, setSelectedIds] = React.useState(initialMarkingIds ?? EMPTY_ARRAY);\n const [prevInitialIds, setPrevInitialIds] = React.useState(initialMarkingIds);\n if (initialMarkingIds !== prevInitialIds) {\n setPrevInitialIds(initialMarkingIds);\n setSelectedIds(initialMarkingIds ?? EMPTY_ARRAY);\n }\n const pickerState = useCbacPickerState(selectedIds);\n const selectedIdsRef = React.useRef(selectedIds);\n selectedIdsRef.current = selectedIds;\n const categoryGroupsRef = React.useRef(pickerState.categoryGroups);\n categoryGroupsRef.current = pickerState.categoryGroups;\n const toggle = React.useCallback(markingId => {\n setSelectedIds(prev => toggleMarking(markingId, prev, categoryGroupsRef.current));\n }, []);\n const dismiss = React.useCallback(() => {\n setSelectedIds(EMPTY_ARRAY);\n }, []);\n const reset = React.useCallback(() => {\n setSelectedIds(initialMarkingIds ?? EMPTY_ARRAY);\n }, [initialMarkingIds]);\n return {\n selectedIds,\n selectedIdsRef,\n setSelectedIds,\n ...pickerState,\n toggle,\n dismiss,\n reset\n };\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.container {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-marking-button-gap);\n}\n\n.label {\n font-size: var(--osdk-cbac-picker-category-title-font-size);\n font-weight: var(--osdk-cbac-picker-category-title-font-weight);\n color: var(--osdk-cbac-picker-category-title-color);\n letter-spacing: var(--osdk-cbac-picker-category-title-letter-spacing);\n margin: 0;\n}\n\n.bannerWrapper {\n pointer-events: none;\n}\n\n.helperText {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-muted);\n margin: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./MaxClassificationField.module.css\";\nexport function MaxClassificationField({\n classificationString,\n textColor,\n backgroundColors,\n helperText,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.container, className)\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.label\n }, \"Maximum allowed classification\"), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bannerWrapper\n }, /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: classificationString,\n textColor: textColor,\n backgroundColors: backgroundColors\n })), helperText != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.helperText\n }, helperText));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { MaxClassificationField } from \"./base/MaxClassificationField.js\";\nimport { EMPTY_ARRAY, resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function useConstraintCallout(maxClassificationConstraint) {\n const constraintMarkingIds = maxClassificationConstraint?.markingIds ?? EMPTY_ARRAY;\n const {\n banner: constraintBanner\n } = useCbacBanner({\n markingIds: constraintMarkingIds,\n enabled: maxClassificationConstraint != null\n });\n return React.useMemo(() => {\n if (maxClassificationConstraint == null) {\n return undefined;\n }\n const resolved = resolveBannerDisplay(constraintBanner);\n return /*#__PURE__*/React.createElement(MaxClassificationField, {\n classificationString: maxClassificationConstraint.bannerClassificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n helperText: maxClassificationConstraint.helperText\n });\n }, [maxClassificationConstraint, constraintBanner]);\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function getSubmitDisabledReason(ctx) {\n if (ctx.isValid) {\n return undefined;\n }\n if (ctx.requiredMarkingGroups.length > 0) {\n return \"Selected markings do not include all required markings.\";\n }\n const selectedSet = new Set(ctx.selectedIds);\n const hasDisallowedSelected = ctx.disallowedMarkingIds.some(id => selectedSet.has(id));\n if (hasDisallowedSelected) {\n return \"Selections include disallowed markings.\";\n }\n if (!ctx.userSatisfiesMarkings) {\n return \"Invalid configuration of markings. Please ensure that you have permission to use all selected markings.\";\n }\n return \"Invalid marking selection.\";\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { BaseCbacPickerDialog } from \"./base/BaseCbacPickerDialog.js\";\nimport { useCbacSelection } from \"./useCbacSelection.js\";\nimport { useConstraintCallout } from \"./useConstraintCallout.js\";\nimport { getSubmitDisabledReason } from \"./utils/validationMessages.js\";\nexport function CbacPickerDialog({\n isOpen,\n onOpenChange,\n onConfirm,\n initialMarkingIds,\n maxClassificationConstraint\n}) {\n const {\n selectedIds,\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups,\n isValid,\n userSatisfiesMarkings,\n disallowedMarkingIds,\n isLoading,\n error,\n toggle,\n dismiss,\n reset\n } = useCbacSelection(initialMarkingIds);\n\n // Parent controls dialog close on confirm (e.g. to show a loading state)\n const handleConfirm = React.useCallback(() => {\n onConfirm(selectedIds);\n }, [onConfirm, selectedIds]);\n const handleCancel = React.useCallback(() => {\n reset();\n onOpenChange(false);\n }, [reset, onOpenChange]);\n const hasInitialMarkings = initialMarkingIds !== undefined && initialMarkingIds.length > 0;\n const submitDisabledReason = React.useMemo(() => getSubmitDisabledReason({\n isValid,\n requiredMarkingGroups,\n selectedIds,\n disallowedMarkingIds,\n userSatisfiesMarkings\n }), [isValid, requiredMarkingGroups, selectedIds, disallowedMarkingIds, userSatisfiesMarkings]);\n const constraintCallout = useConstraintCallout(maxClassificationConstraint);\n return /*#__PURE__*/React.createElement(BaseCbacPickerDialog, {\n isOpen: isOpen,\n onOpenChange: onOpenChange,\n onConfirm: handleConfirm,\n onCancel: handleCancel,\n title: hasInitialMarkings ? \"Edit classification\" : \"Add classification\",\n categories: categoryGroups,\n markingStates: markingStates,\n banner: banner,\n onMarkingToggle: toggle,\n onDismissBanner: dismiss,\n requiredMarkingGroups: requiredMarkingGroups,\n isValid: isValid,\n submitDisabledReason: submitDisabledReason,\n validationCallouts: constraintCallout,\n isLoading: isLoading,\n error: error\n });\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner, useMarkingCategories, useMarkings } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { BaseCbacBannerPopover } from \"./base/BaseCbacBannerPopover.js\";\nimport { CbacPickerDialog } from \"./CbacPickerDialog.js\";\nimport { groupMarkingsByCategory, resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function CbacBannerPopover({\n markingIds,\n onChange,\n maxClassificationConstraint,\n className\n}) {\n const {\n banner,\n isLoading: bannerLoading,\n error: bannerError,\n refetch: refetchBanner\n } = useCbacBanner({\n markingIds\n });\n const {\n categories,\n isLoading: categoriesLoading,\n error: categoriesError,\n refetch: refetchCategories\n } = useMarkingCategories();\n const {\n markings,\n isLoading: markingsLoading,\n error: markingsError,\n refetch: refetchMarkings\n } = useMarkings();\n const [isDialogOpen, setIsDialogOpen] = React.useState(false);\n const isLoading = bannerLoading || categoriesLoading || markingsLoading;\n const error = bannerError ?? categoriesError ?? markingsError;\n const handleRetry = React.useCallback(() => {\n refetchBanner();\n refetchCategories();\n refetchMarkings();\n }, [refetchBanner, refetchCategories, refetchMarkings]);\n const appliedMarkings = React.useMemo(() => groupMarkingsByCategory(markingIds, categories, markings), [markingIds, categories, markings]);\n const resolved = resolveBannerDisplay(banner);\n const description = markingIds.length === 0 ? \"This data has no classification restrictions.\" : `This data is classified as: ${resolved.classificationString}`;\n const handleEditClick = React.useCallback(() => {\n setIsDialogOpen(true);\n }, []);\n const handleConfirm = React.useCallback(newMarkingIds => {\n onChange(newMarkingIds);\n setIsDialogOpen(false);\n }, [onChange]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseCbacBannerPopover, {\n classificationString: resolved.classificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n appliedMarkings: appliedMarkings,\n onEditClick: handleEditClick,\n description: description,\n isLoading: isLoading,\n error: error,\n onRetry: handleRetry,\n className: className\n }), isDialogOpen && /*#__PURE__*/React.createElement(CbacPickerDialog, {\n isOpen: isDialogOpen,\n onOpenChange: setIsDialogOpen,\n onConfirm: handleConfirm,\n initialMarkingIds: markingIds,\n maxClassificationConstraint: maxClassificationConstraint\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { BaseCbacPicker } from \"./base/BaseCbacPicker.js\";\nimport { useCbacSelection } from \"./useCbacSelection.js\";\nimport { useConstraintCallout } from \"./useConstraintCallout.js\";\nimport { EMPTY_ARRAY } from \"./utils/cbacPickerUtils.js\";\nimport { toggleMarking } from \"./utils/selectionLogic.js\";\nexport function CbacPicker({\n initialMarkingIds,\n onChange,\n maxClassificationConstraint,\n readOnly,\n className\n}) {\n const {\n selectedIdsRef,\n setSelectedIds,\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups,\n isValid,\n isLoading,\n error\n } = useCbacSelection(initialMarkingIds);\n const handleMarkingToggle = React.useCallback(markingId => {\n if (readOnly) {\n return;\n }\n const newSelection = toggleMarking(markingId, selectedIdsRef.current, categoryGroups);\n setSelectedIds(newSelection);\n onChange(newSelection);\n }, [readOnly, categoryGroups, onChange]);\n const handleDismiss = React.useCallback(() => {\n setSelectedIds(EMPTY_ARRAY);\n onChange(EMPTY_ARRAY);\n }, [onChange]);\n const constraintCallout = useConstraintCallout(maxClassificationConstraint);\n return /*#__PURE__*/React.createElement(BaseCbacPicker, {\n categories: categoryGroups,\n markingStates: markingStates,\n banner: banner,\n onMarkingToggle: handleMarkingToggle,\n onDismissBanner: handleDismiss,\n requiredMarkingGroups: requiredMarkingGroups,\n isValid: isValid,\n readOnly: readOnly,\n isLoading: isLoading,\n error: error,\n validationCallouts: constraintCallout,\n className: className\n });\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// CBAC Picker - OSDK-aware components\nexport { CbacBanner } from \"../../cbac-picker/CbacBanner.js\";\nexport { CbacBannerPopover } from \"../../cbac-picker/CbacBannerPopover.js\";\nimport { CbacPicker as _CbacPicker } from \"../../cbac-picker/CbacPicker.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const CbacPicker = withOsdkMetrics(_CbacPicker, \"CbacPicker\");\nexport { CbacPickerDialog } from \"../../cbac-picker/CbacPickerDialog.js\";\n\n// CBAC Picker - Base components\nexport { BaseCbacBanner } from \"../../cbac-picker/base/BaseCbacBanner.js\";\nexport { BaseCbacPicker } from \"../../cbac-picker/base/BaseCbacPicker.js\";\nexport { BaseCbacPickerDialog } from \"../../cbac-picker/base/BaseCbacPickerDialog.js\";\n\n// CBAC Picker - Selection logic utilities\nexport { computeMarkingStates, groupMarkingsByCategory, toggleMarking } from \"../../cbac-picker/utils/selectionLogic.js\";\n// CBAC Picker - Types\n\n// CBAC Picker - MaxClassificationField\nexport { MaxClassificationField } from \"../../cbac-picker/base/MaxClassificationField.js\";"]}
1
+ {"version":3,"sources":["../../src/cbac-picker/utils/errorMessages.ts","../../src/cbac-picker/base/BaseCbacBannerPopover.module.css","../../src/cbac-picker/base/BaseCbacBannerPopover.tsx","../../src/cbac-picker/base/BaseCbacPicker.module.css","../../src/cbac-picker/base/CategoryMarkingGroup.module.css","../../src/cbac-picker/base/MarkingButton.module.css","../../src/cbac-picker/base/selectionStateHelpers.ts","../../src/cbac-picker/base/MarkingButton.tsx","../../src/cbac-picker/base/OverflowButton.module.css","../../src/cbac-picker/base/OverflowItem.module.css","../../src/cbac-picker/base/OverflowItem.tsx","../../src/cbac-picker/base/OverflowButton.tsx","../../src/cbac-picker/base/CategoryMarkingGroup.tsx","../../src/cbac-picker/base/InfoBanner.module.css","../../src/cbac-picker/base/InfoBanner.tsx","../../src/cbac-picker/base/ValidationWarning.module.css","../../src/cbac-picker/base/ValidationWarning.tsx","../../src/cbac-picker/base/BaseCbacPicker.tsx","../../src/cbac-picker/base/CbacPickerDialogFooter.module.css","../../src/cbac-picker/base/CbacPickerDialogFooter.tsx","../../src/cbac-picker/base/BaseCbacPickerDialog.tsx","../../src/cbac-picker/utils/selectionLogic.ts","../../src/cbac-picker/useCbacPickerState.ts","../../src/cbac-picker/useCbacSelection.ts","../../src/cbac-picker/base/MaxClassificationField.module.css","../../src/cbac-picker/base/MaxClassificationField.tsx","../../src/cbac-picker/useConstraintCallout.tsx","../../src/cbac-picker/utils/validationMessages.ts","../../src/cbac-picker/CbacPickerDialog.tsx","../../src/cbac-picker/CbacBannerPopover.tsx","../../src/cbac-picker/CbacPicker.tsx","../../src/public/experimental/cbac-picker.ts"],"names":["React","backgroundFromColors","Popover","BaseCbacBanner","classnames","CaretUp","CaretDown","PopoverContent","ActionButton","WarningSign","SkeletonBar","MarkingButton","button","Button","Tooltip","OverflowItem","CategoryMarkingGroup","InfoSign","Dialog","isImplied","isDisallowed","groupMarkingsByCategory","useMarkingCategories","useMarkings","useCbacBanner","useCbacMarkingRestrictions","EMPTY_ARRAY","resolveRequiredGroups","resolveBannerDisplay","CbacPicker","withOsdkMetrics"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,SAAS,eAAe,KAAA,EAAO;AAC7B,EAAA,OAAO,YAAA,IAAgB,KAAA,IAAS,OAAO,KAAA,CAAM,UAAA,KAAe,QAAA;AAC9D;AACA,SAAS,mBAAmB,KAAA,EAAO;AACjC,EAAA,MAAM,aAAa,KAAA,CAAM,UAAA;AACzB,EAAA,IAAI,eAAe,GAAA,EAAK;AACtB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,iBAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,IAAI,eAAe,GAAA,EAAK;AACtB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,mBAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,IAAI,eAAe,GAAA,EAAK;AACtB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,WAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,IAAI,UAAA,KAAe,MAAA,IAAa,UAAA,IAAc,GAAA,EAAK;AACjD,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,IAAI,OAAO,KAAA,CAAM,gBAAA,KAAqB,YAAY,KAAA,CAAM,gBAAA,CAAiB,SAAS,CAAA,EAAG;AACnF,IAAA,OAAO;AAAA,MACL,OAAO,KAAA,CAAM,gBAAA;AAAA,MACb,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,MAAM,OAAA,IAAW,sBAAA;AAAA,IACxB,WAAA,EAAa;AAAA,GACf;AACF;AACO,SAAS,gBAAgB,KAAA,EAAO;AACrC,EAAA,IAAI,KAAA,YAAiB,cAAA,IAAkB,KAAA,CAAM,MAAA,CAAO,SAAS,CAAA,EAAG;AAC9D,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,MAAA,CAAO,CAAC,CAAA;AAC5B,IAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,MAAA,OAAO,gBAAgB,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF;AACA,EAAA,IAAI,cAAA,CAAe,KAAK,CAAA,EAAG;AACzB,IAAA,OAAO,mBAAmB,KAAK,CAAA;AAAA,EACjC;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,WAAA,EAAY,CAAE,QAAA,CAAS,SAAS,CAAA,IAAK,KAAA,CAAM,OAAA,CAAQ,WAAA,EAAY,CAAE,QAAA,CAAS,OAAO,CAAA,EAAG;AACpG,IAAA,OAAO;AAAA,MACL,KAAA,EAAO,eAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACA,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,MAAM,OAAA,IAAW,sBAAA;AAAA,IACxB,WAAA,EAAa;AAAA,GACf;AACF;;;AC5EA,IAAA,6BAAA,GAAA,EAAA;;;AC0BO,SAAS,qBAAA,CAAsB;AAAA,EACpC,oBAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,sBAAA,CAAM,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,eAAA,GAAkBA,sBAAA,CAAM,WAAA,CAAY,MAAM;AAC9C,IAAA,OAAA,CAAQ,KAAK,CAAA;AACb,IAAA,WAAA,EAAY;AAAA,EACd,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAChB,EAAA,MAAM,SAAA,GAAYA,sBAAA,CAAM,OAAA,CAAQ,OAAO;AAAA,IACrC,KAAA,EAAO,SAAA;AAAA,IACP,UAAA,EAAYC,uCAAqB,gBAAgB;AAAA,GACnD,CAAA,EAAI,CAAC,SAAA,EAAW,gBAAgB,CAAC,CAAA;AACjC,EAAA,MAAM,YAAA,GAAe,SAAA,KAAc,IAAA,IAAQ,eAAA,CAAgB,MAAA,KAAW,CAAA;AACtE,EAAA,uBAAoBD,sBAAA,CAAM,aAAA,CAAcE,eAAA,CAAQ,IAAA,EAAM;AAAA,IACpD,IAAA;AAAA,IACA,YAAA,EAAc;AAAA,GAChB,kBAAgBF,sBAAA,CAAM,aAAA,CAAcE,eAAA,CAAQ,OAAA,EAAS;AAAA,IACnD,YAAA,EAAc,KAAA;AAAA,IACd,MAAA,kBAAqBF,sBAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,MAC9C,WAAW,6BAAA,CAAO;AAAA,KACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAcG,gCAAA,EAAgB;AAAA,MAClD,oBAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA,kBAAgBH,sBAAA,CAAM,aAAA,CAAc,MAAA,EAAQ;AAAA,MAC3C,WAAWI,2BAAA,CAAW,6BAAA,CAAO,SAAA,EAAW,IAAA,IAAQ,8BAAO,gBAAgB;AAAA,KACzE,EAAG,IAAA,mBAAoBJ,sBAAA,CAAM,aAAA,CAAcK,aAAA,EAAS;AAAA,MAClD,IAAA,EAAM;AAAA,KACP,CAAA,mBAAiBL,sBAAA,CAAM,aAAA,CAAcM,eAAA,EAAW;AAAA,MAC/C,IAAA,EAAM;AAAA,KACP,CAAC,CAAC;AAAA,GACJ,CAAA,kBAAgBN,sBAAA,CAAM,aAAA,CAAcE,eAAA,CAAQ,QAAQ,IAAA,kBAAmBF,sBAAA,CAAM,aAAA,CAAcE,eAAA,CAAQ,UAAA,EAAY;AAAA,IAC9G,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT,kBAAgBF,sBAAA,CAAM,aAAA,CAAcE,eAAA,CAAQ,KAAA,EAAO;AAAA,IACjD,WAAW,6BAAA,CAAO;AAAA,GACpB,kBAAgBF,sBAAA,CAAM,aAAA,CAAc,cAAA,EAAgB;AAAA,IAClD,YAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,oBAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAC,CAAC,CAAC,CAAC,CAAA;AACP;AACA,IAAM,cAAA,mBAA8BA,sBAAA,CAAM,IAAA,CAAK,SAASO,eAAAA,CAAe;AAAA,EACrE,YAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,oBAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,WAAA,GAAc,gBAAgB,MAAA,GAAS,CAAA;AAC7C,EAAA,MAAM,WAAA,GAAc,QAAA,KAAa,MAAA,IAAa,QAAA,CAAS,MAAA,GAAS,CAAA;AAChE,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,uBAAoBP,sBAAA,CAAM,aAAA,CAAc,eAAA,EAAiB,IAAI,CAAA;AAAA,EAC/D;AACA,EAAA,IAAI,UAAU,MAAA,EAAW;AACvB,IAAA,MAAM,YAAA,GAAe,gBAAgB,KAAK,CAAA;AAC1C,IAAA,uBAAoBA,sBAAA,CAAM,cAAc,KAAA,EAAO;AAAA,MAC7C,WAAW,6BAAA,CAAO;AAAA,KACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,MACvC,WAAW,6BAAA,CAAO;AAAA,KACpB,EAAG,aAAa,KAAK,CAAA,EAAG,aAAa,WAAA,oBAA4BA,sBAAA,CAAM,cAAc,GAAA,EAAK;AAAA,MACxF,WAAW,6BAAA,CAAO;AAAA,KACpB,EAAG,aAAa,WAAW,CAAA,EAAG,YAAY,MAAA,oBAA0BA,sBAAA,CAAM,cAAcQ,8BAAA,EAAc;AAAA,MACpG,OAAA,EAAS,WAAA;AAAA,MACT,OAAA,EAAS;AAAA,KACX,EAAG,OAAO,CAAC,CAAA;AAAA,EACb;AACA,EAAA,8CAA0B,aAAA,CAAcR,sBAAA,CAAM,UAAU,IAAA,kBAAmBA,sBAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IACpG,WAAW,6BAAA,CAAO,IAAA;AAAA,IAClB,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO;AAAA,KACN,oBAAoB,CAAA,EAAG,gBAAgB,MAAA,oBAA0BA,sBAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IAC3F,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,WAAW,CAAA,kBAAgBA,sBAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IACrD,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,kBAAkB,CAAA,EAAG,WAAA,GAAc,gBAAgB,GAAA,CAAI,CAAA,KAAA,qBAAsBA,sBAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IACzG,KAAK,KAAA,CAAM,YAAA;AAAA,IACX,WAAW,6BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IACvC,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,KAAA,CAAM,YAAY,CAAA,EAAG,KAAA,CAAM,YAAA,CAAa,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,qBAAmBA,sBAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IAChG,GAAA,EAAK,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA;AAAA,IACjB,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,IAAI,CAAC,CAAC,CAAC,CAAA,mBAAiBA,sBAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IAClD,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,qBAAqB,CAAA,EAAG,WAAA,IAAe,QAAA,KAAa,MAAA,oBAA0BA,sBAAA,CAAM,aAAA,CAAcA,sBAAA,CAAM,QAAA,EAAU,IAAA,kBAAmBA,sBAAA,CAAM,cAAc,IAAA,EAAM;AAAA,IAChK,WAAW,6BAAA,CAAO;AAAA,GACnB,CAAA,kBAAgBA,sBAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC1C,WAAW,6BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IACvC,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,sBAAsB,CAAA,EAAG,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,CAAA,qBAAmBA,sBAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC/F,GAAA,EAAK,WAAW,CAAC,CAAA,CAAA;AAAA,IACjB,WAAW,6BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAcS,iBAAA,EAAa;AAAA,IAC/C,WAAW,6BAAA,CAAO,WAAA;AAAA,IAClB,IAAA,EAAM;AAAA,GACP,CAAA,kBAAgBT,sBAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IACxC,WAAW,6BAAA,CAAO;AAAA,GACpB,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,kBAAgBA,sBAAA,CAAM,aAAA,CAAc,IAAA,EAAM;AAAA,IACtD,WAAW,6BAAA,CAAO;AAAA,GACnB,CAAA,kBAAgBA,sBAAA,CAAM,aAAA,CAAcQ,8BAAA,EAAc;AAAA,IACjD,OAAA,EAAS,SAAA;AAAA,IACT,WAAW,6BAAA,CAAO,UAAA;AAAA,IAClB,OAAA,EAAS;AAAA,GACX,EAAG,WAAA,GAAc,qBAAA,GAAwB,oBAAoB,CAAC,CAAA;AAChE,CAAC,CAAA;AACD,SAAS,eAAA,GAAkB;AACzB,EAAA,uBAAoBR,sBAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IAC7C,WAAW,6BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAA,CAAM,aAAA,CAAcU,6BAAA,EAAa;AAAA,IAC/C,WAAW,6BAAA,CAAO;AAAA,GACnB,CAAA,kBAAgBV,sBAAA,CAAM,aAAA,CAAcU,6BAAA,EAAa;AAAA,IAChD,WAAW,6BAAA,CAAO;AAAA,GACnB,CAAA,kBAAgBV,sBAAA,CAAM,aAAA,CAAcU,6BAAA,EAAa;AAAA,IAChD,WAAW,6BAAA,CAAO;AAAA,GACnB,CAAC,CAAA;AACJ;;;ACtKA,IAAA,sBAAA,GAAA,EAAA;;;ACAA,IAAA,4BAAA,GAAA,EAAA;;;ACAA,IAAA,qBAAA,GAAA,EAAA;;;ACgBO,SAAS,aAAa,KAAA,EAAO;AAClC,EAAA,OAAO,KAAA,KAAU,gBAAgB,KAAA,KAAU,oBAAA;AAC7C;AACO,SAAS,UAAU,KAAA,EAAO;AAC/B,EAAA,OAAO,KAAA,KAAU,aAAa,KAAA,KAAU,oBAAA;AAC1C;AACO,SAAS,eAAA,CAAgB,OAAO,KAAA,EAAO;AAC5C,EAAA,OAAO,SAAA,CAAU,KAAK,CAAA,GAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAA,GAAM,KAAA;AAC3C;AACO,SAAS,eAAe,KAAA,EAAO;AACpC,EAAA,IAAI,UAAU,YAAA,EAAc;AAC1B,IAAA,OAAO,wDAAA;AAAA,EACT;AACA,EAAA,IAAI,UAAU,oBAAA,EAAsB;AAClC,IAAA,OAAO,yCAAA;AAAA,EACT;AACA,EAAA,OAAO,MAAA;AACT;;;ACXA,IAAM,sBAAA,GAAyB;AAAA,EAC7B,UAAU,qBAAA,CAAO,QAAA;AAAA,EACjB,SAAS,qBAAA,CAAO,OAAA;AAAA,EAChB,YAAY,qBAAA,CAAO,UAAA;AAAA,EACnB,oBAAoB,qBAAA,CAAO,iBAAA;AAAA,EAC3B,IAAA,EAAM;AACR,CAAA;AACA,SAAS,iBAAiB,KAAA,EAAO;AAC/B,EAAA,QAAQ,KAAA;AAAO,IACb,KAAK,UAAA;AACH,MAAA,OAAO,mBAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,4BAAA;AAAA,IACT,KAAK,YAAA;AAAA,IACL,KAAK,oBAAA;AACH,MAAA,OAAO,2EAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,MAAA;AAAA;AAEb;AACO,IAAM,aAAA,mBAA6BV,sBAAAA,CAAM,IAAA,CAAK,SAASW,cAAAA,CAAc;AAAA,EAC1E,EAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,YAAA,GAAeX,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC3C,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA,EAAG,CAAC,QAAA,EAAU,EAAE,CAAC,CAAA;AACjB,EAAA,MAAM,cAAA,GAAiB,WAAA,KAAgB,MAAA,IAAa,WAAA,CAAY,MAAA,GAAS,CAAA;AACzE,EAAA,MAAM,gBAAA,GAAmB,QAAA,IAAY,YAAA,CAAa,cAAc,CAAA;AAChE,EAAA,MAAM,WAAA,GAAc,cAAA,IAAkB,YAAA,CAAa,cAAc,CAAA;AACjE,EAAA,MAAM,IAAA,GAAO,iBAAiB,cAAc,CAAA;AAC5C,EAAA,MAAMY,QAAA,mBAAsBZ,sBAAAA,CAAM,aAAA,CAAca,aAAA,EAAQ;AAAA,IACtD,WAAWT,2BAAAA,CAAW,qBAAA,CAAO,aAAA,EAAe,sBAAA,CAAuB,cAAc,CAAC,CAAA;AAAA,IAClF,OAAA,EAAS,mBAAmB,MAAA,GAAY,YAAA;AAAA,IACxC,QAAA,EAAU,cAAc,MAAA,GAAY,gBAAA;AAAA,IACpC,eAAA,EAAiB,cAAc,gBAAA,GAAmB,MAAA;AAAA,IAClD,cAAA,EAAgB,cAAA,KAAmB,UAAA,IAAc,cAAA,KAAmB,SAAA;AAAA,IACpE,KAAA,EAAO,cAAc,MAAA,GAAY;AAAA,GACnC,EAAG,eAAA,CAAgB,KAAA,EAAO,cAAc,CAAC,CAAA;AACzC,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAOQ,QAAA;AAAA,EACT;AACA,EAAA,uBAAoBZ,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,IAAA,EAAM,sBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,OAAA,EAAS;AAAA,IAC5G,MAAA,EAAQF;AAAA,GACT,CAAA,kBAAgBZ,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,MAAA,EAAQ,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,UAAA,EAAY;AAAA,IAC9G,UAAA,EAAY;AAAA,GACd,kBAAgBd,sBAAAA,CAAM,aAAA,CAAcc,gBAAQ,KAAA,EAAO;AAAA,IACjD,WAAW,qBAAA,CAAO;AAAA,GACpB,kBAAgBd,sBAAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IACvC,WAAW,qBAAA,CAAO;AAAA,KACjB,KAAK,CAAA,EAAG,kCAA+BA,sBAAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IACjE,WAAW,qBAAA,CAAO;AAAA,GACpB,EAAG,WAAW,CAAA,EAAG,IAAA,IAAQ,wBAAqBA,sBAAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IACrE,WAAW,qBAAA,CAAO;AAAA,GACpB,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACb,CAAC,CAAA;;;ACjFD,IAAA,sBAAA,GAAA,EAAA;;;ACAA,IAAA,oBAAA,GAAA,EAAA;;;ACsBO,IAAM,YAAA,mBAA4BA,sBAAAA,CAAM,IAAA,CAAK,SAASe,aAAAA,CAAa;AAAA,EACxE,EAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,WAAA,GAAcf,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC1C,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA,EAAG,CAAC,QAAA,EAAU,EAAE,CAAC,CAAA;AACjB,EAAA,MAAM,UAAA,GAAa,aAAa,cAAc,CAAA;AAC9C,EAAA,MAAM,aAAa,cAAA,KAAmB,UAAA;AACtC,EAAA,MAAM,OAAA,GAAU,UAAU,cAAc,CAAA;AACxC,EAAA,MAAM,WAAA,GAAc,eAAe,cAAc,CAAA;AACjD,EAAA,MAAM,cAAA,GAAiB,WAAA,KAAgB,MAAA,IAAa,WAAA,CAAY,MAAA,GAAS,CAAA;AACzE,EAAA,MAAM,WAAA,GAAc,kBAAkB,WAAA,IAAe,IAAA;AACrD,EAAA,MAAM,iBAAiB,QAAA,IAAY,UAAA;AACnC,EAAA,MAAMY,QAAA,mBAAsBZ,sBAAAA,CAAM,aAAA,CAAca,aAAAA,EAAQ;AAAA,IACtD,SAAA,EAAWT,2BAAAA,CAAW,oBAAA,CAAO,YAAA,EAAA,CAAe,UAAA,IAAc,YAAY,oBAAA,CAAO,oBAAA,EAAsB,UAAA,IAAc,oBAAA,CAAO,oBAAoB,CAAA;AAAA,IAC5I,OAAA,EAAS,iBAAiB,MAAA,GAAY,WAAA;AAAA,IACtC,QAAA,EAAU,cAAc,MAAA,GAAY,cAAA;AAAA,IACpC,eAAA,EAAiB,cAAc,cAAA,GAAiB,MAAA;AAAA,IAChD,gBAAgB,UAAA,IAAc;AAAA,GAChC,EAAG,eAAA,CAAgB,KAAA,EAAO,cAAc,CAAC,CAAA;AACzC,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAOQ,QAAA;AAAA,EACT;AACA,EAAA,uBAAoBZ,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,IAAA,EAAM,sBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,OAAA,EAAS;AAAA,IAC5G,MAAA,EAAQF;AAAA,GACT,CAAA,kBAAgBZ,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,MAAA,EAAQ,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,UAAA,EAAY;AAAA,IAC9G,IAAA,EAAM,OAAA;AAAA,IACN,UAAA,EAAY;AAAA,GACd,kBAAgBd,sBAAAA,CAAM,aAAA,CAAcc,gBAAQ,KAAA,EAAO;AAAA,IACjD,WAAW,oBAAA,CAAO;AAAA,GACpB,EAAG,cAAA,oBAA+Bd,sBAAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IACzD,WAAW,oBAAA,CAAO;AAAA,GACpB,EAAG,WAAW,CAAA,EAAG,WAAA,IAAe,wBAAqBA,sBAAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IAC5E,WAAW,oBAAA,CAAO;AAAA,GACpB,EAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC,CAAA;;;ACxCM,SAAS,cAAA,CAAe;AAAA,EAC7B,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,sBAAAA,CAAM,SAAS,KAAK,CAAA;AAC5C,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAcE,eAAAA,CAAQ,IAAA,EAAM;AAAA,IACpD,IAAA;AAAA,IACA,YAAA,EAAc;AAAA,GAChB,kBAAgBF,sBAAAA,CAAM,aAAA,CAAcE,gBAAQ,OAAA,EAAS;AAAA,IACnD,MAAA,kBAAqBF,sBAAAA,CAAM,aAAA,CAAca,aAAAA,EAAQ;AAAA,MAC/C,WAAWT,2BAAAA,CAAW,sBAAA,CAAO,UAAA,EAAY,iBAAA,IAAqB,uBAAO,gBAAgB;AAAA,KACvF,EAAG,GAAA,EAAK,gBAAA,CAAiB,MAAA,EAAQ,OAAO;AAAA,GACzC,CAAA,kBAAgBJ,sBAAAA,CAAM,aAAA,CAAcE,eAAAA,CAAQ,MAAA,EAAQ,IAAA,kBAAmBF,sBAAAA,CAAM,aAAA,CAAcE,eAAAA,CAAQ,UAAA,EAAY;AAAA,IAC9G,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT,kBAAgBF,sBAAAA,CAAM,aAAA,CAAcE,gBAAQ,KAAA,EAAO;AAAA,IACjD,WAAW,sBAAA,CAAO;AAAA,KACjB,gBAAA,CAAiB,GAAA,CAAI,6BAAwBF,sBAAAA,CAAM,cAAc,YAAA,EAAc;AAAA,IAChF,KAAK,OAAA,CAAQ,EAAA;AAAA,IACb,IAAI,OAAA,CAAQ,EAAA;AAAA,IACZ,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,aAAa,OAAA,CAAQ,WAAA;AAAA,IACrB,gBAAgB,OAAA,CAAQ,cAAA;AAAA,IACxB,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,QAAA,EAAU;AAAA,GACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACR;;;AC1BA,IAAM,YAAA,GAAe,CAAA;AACrB,IAAM,YAAA,GAAe,CAAA;AACrB,IAAM,qBAAA,GAAwB,MAAA;AACvB,IAAM,oBAAA,mBAAoCA,sBAAAA,CAAM,IAAA,CAAK,SAASgB,qBAAAA,CAAqB;AAAA,EACxF,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,SAAA,GAAYhB,uBAAM,KAAA,EAAM;AAC9B,EAAA,MAAM,mBAAmBA,sBAAAA,CAAM,OAAA,CAAQ,MAAM,QAAA,CAAS,IAAI,CAAA,OAAA,MAAY;AAAA,IACpE,IAAI,OAAA,CAAQ,EAAA;AAAA,IACZ,OAAO,OAAA,CAAQ,IAAA;AAAA,IACf,aAAa,OAAA,CAAQ,WAAA;AAAA,IACrB,cAAA,EAAgB,aAAA,CAAc,GAAA,CAAI,OAAA,CAAQ,EAAE,CAAA,IAAK,qBAAA;AAAA,IACjD,QAAA,EAAU;AAAA,IACV,CAAA,EAAG,CAAC,QAAA,EAAU,aAAA,EAAe,QAAQ,CAAC,CAAA;AACxC,EAAA,MAAM,aAAa,YAAA,GAAe,YAAA;AAClC,EAAA,MAAM,WAAA,GAAc,iBAAiB,MAAA,GAAS,UAAA;AAC9C,EAAA,MAAM,kBAAkB,WAAA,GAAc,gBAAA,CAAiB,MAAM,CAAA,EAAG,UAAA,GAAa,CAAC,CAAA,GAAI,gBAAA;AAClF,EAAA,MAAM,mBAAmB,WAAA,GAAc,gBAAA,CAAiB,MAAM,UAAA,GAAa,CAAC,IAAI,EAAC;AACjF,EAAA,MAAM,aAAA,GAAgB,WAAA,GAAc,eAAA,CAAgB,MAAA,GAAS,IAAI,eAAA,CAAgB,MAAA;AACjF,EAAA,MAAM,cAAA,GAAA,CAAkB,YAAA,GAAe,aAAA,GAAgB,YAAA,IAAgB,YAAA;AACvE,EAAA,MAAM,iBAAA,GAAoB,gBAAA,CAAiB,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,mBAAmB,UAAA,IAAc,SAAA,CAAU,CAAA,CAAE,cAAc,CAAC,CAAA;AACnH,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC7C,WAAW,4BAAA,CAAO,aAAA;AAAA,IAClB,IAAA,EAAM,OAAA;AAAA,IACN,iBAAA,EAAmB;AAAA,GACrB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IACzC,WAAW,4BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAc,IAAA,EAAM;AAAA,IACxC,EAAA,EAAI,SAAA;AAAA,IACJ,WAAW,4BAAA,CAAO;AAAA,KACjB,YAAY,CAAA,EAAG,uBAAuB,IAAA,IAAQ,mBAAA,CAAoB,SAAS,CAAA,oBAAkBA,sBAAAA,CAAM,aAAA,CAAcc,gBAAQ,IAAA,EAAM,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,gBAAQ,OAAA,EAAS;AAAA,IACxL,MAAA,kBAAqBd,sBAAAA,CAAM,aAAA,CAAc,MAAA,EAAQ;AAAA,MAC/C,WAAW,4BAAA,CAAO,QAAA;AAAA,MAClB,YAAA,EAAc;AAAA,KAChB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAciB,cAAA,EAAU;AAAA,MAC5C,IAAA,EAAM;AAAA,KACP,CAAC;AAAA,GACH,CAAA,kBAAgBjB,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,MAAA,EAAQ,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,eAAAA,CAAQ,UAAA,EAAY;AAAA,IAC9G,IAAA,EAAM,KAAA;AAAA,IACN,UAAA,EAAY;AAAA,GACd,kBAAgBd,sBAAAA,CAAM,aAAA,CAAcc,gBAAQ,KAAA,EAAO;AAAA,IACjD,WAAW,4BAAA,CAAO;AAAA,GACpB,EAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA,kBAAgBd,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IACnE,WAAW,4BAAA,CAAO;AAAA,KACjB,eAAA,CAAgB,GAAA,CAAI,6BAAwBA,sBAAAA,CAAM,cAAc,aAAA,EAAe;AAAA,IAChF,KAAK,OAAA,CAAQ,EAAA;AAAA,IACb,IAAI,OAAA,CAAQ,EAAA;AAAA,IACZ,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,aAAa,OAAA,CAAQ,WAAA;AAAA,IACrB,gBAAgB,OAAA,CAAQ,cAAA;AAAA,IACxB,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,QAAA,EAAU;AAAA,GACX,CAAC,CAAA,EAAG,+BAA4BA,sBAAAA,CAAM,cAAc,cAAA,EAAgB;AAAA,IACnE,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACD,CAAA,EAAG,KAAA,CAAM,IAAA,CAAK;AAAA,IACb,MAAA,EAAQ;AAAA,KACP,CAAC,CAAA,EAAG,sBAAmBA,sBAAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IACnD,GAAA,EAAK,SAAS,CAAC,CAAA,CAAA;AAAA,IACf,WAAW,4BAAA,CAAO;AAAA,GACnB,CAAC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;;;AC1FD,IAAA,kBAAA,GAAA,EAAA;;;ACoBO,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC7C,SAAA,EAAWI,2BAAAA,CAAW,kBAAA,CAAO,UAAA,EAAY,SAAS;AAAA,GACpD,kBAAgBJ,sBAAAA,CAAM,aAAA,CAAciB,cAAAA,EAAU;AAAA,IAC5C,WAAW,kBAAA,CAAO,IAAA;AAAA,IAClB,IAAA,EAAM;AAAA,GACP,mBAAgBjB,sBAAAA,CAAM,cAAc,MAAA,EAAQ,IAAA,EAAM,OAAO,CAAC,CAAA;AAC7D;;;AC9BA,IAAA,yBAAA,GAAA,EAAA;;;ACoBO,SAAS,iBAAA,CAAkB;AAAA,EAChC,qBAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC7C,SAAA,EAAWI,2BAAAA,CAAW,yBAAA,CAAO,iBAAA,EAAmB,SAAS;AAAA,GAC3D,kBAAgBJ,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IACzC,WAAW,yBAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAcS,iBAAAA,EAAa;AAAA,IAC/C,WAAW,yBAAA,CAAO,IAAA;AAAA,IAClB,IAAA,EAAM;AAAA,GACP,CAAA,kBAAgBT,sBAAAA,CAAM,aAAA,CAAc,MAAA,EAAQ,IAAA,EAAM,gHAAgH,CAAC,CAAA,kBAAgBA,sBAAAA,CAAM,cAAc,IAAA,EAAM;AAAA,IAC5M,WAAW,yBAAA,CAAO;AAAA,GACpB,EAAG,sBAAsB,GAAA,CAAI,CAAC,OAAO,KAAA,qBAAuBA,sBAAAA,CAAM,aAAA,CAAc,IAAA,EAAM;AAAA,IACpF,GAAA,EAAK,KAAA,CAAM,YAAA,CAAa,IAAA,CAAK,GAAG,CAAA;AAAA,IAChC,WAAW,yBAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAc,MAAA,EAAQ;AAAA,IAC1C,WAAW,yBAAA,CAAO;AAAA,GACpB,EAAG,KAAA,GAAQ,CAAA,EAAG,GAAG,CAAA,EAAG,KAAA,CAAM,YAAA,CAAa,GAAA,CAAI,CAAA,IAAA,qBAAqBA,sBAAAA,CAAM,aAAA,CAAc,MAAA,EAAQ;AAAA,IAC1F,GAAA,EAAK,IAAA;AAAA,IACL,WAAW,yBAAA,CAAO;AAAA,KACjB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACd;;;AClBO,SAAS,cAAA,CAAe;AAAA,EAC7B,UAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,qBAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,YAAA,GAAe,KAAA,IAAS,IAAA,GAAO,eAAA,CAAgB,KAAK,CAAA,GAAI,MAAA;AAC9D,EAAA,MAAM,kBAAA,GAAqB,SAAA,KAAc,IAAA,IAAQ,UAAA,CAAW,MAAA,KAAW,CAAA;AACvE,EAAA,MAAM,wBAAwB,OAAA,KAAY,KAAA,IAAS,qBAAA,IAAyB,IAAA,IAAQ,sBAAsB,MAAA,GAAS,CAAA;AACnH,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC7C,SAAA,EAAWI,2BAAAA,CAAW,sBAAA,CAAO,MAAA,EAAQ,SAAS;AAAA,KAC7C,cAAA,KAAmB,IAAA,oBAAqBJ,sBAAAA,CAAM,cAAc,UAAA,EAAY;AAAA,IACzE,OAAA,EAAS;AAAA,GACV,CAAA,EAAG,MAAA,IAAU,wBAAqBA,sBAAAA,CAAM,cAAcG,gCAAA,EAAgB;AAAA,IACrE,sBAAsB,MAAA,CAAO,oBAAA;AAAA,IAC7B,WAAW,MAAA,CAAO,SAAA;AAAA,IAClB,kBAAkB,MAAA,CAAO,gBAAA;AAAA,IACzB,SAAA,EAAW,eAAA;AAAA,IACX,WAAW,sBAAA,CAAO;AAAA,GACnB,CAAA,EAAG,YAAA,KAAiB,yBAAyBH,sBAAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IACvE,WAAW,sBAAA,CAAO,aAAA;AAAA,IAClB,IAAA,EAAM;AAAA,GACR,kBAAgBA,sBAAAA,CAAM,aAAA,CAAc,GAAA,EAAK,MAAM,YAAA,CAAa,KAAK,CAAA,EAAG,YAAA,CAAa,WAAA,oBAA4BA,uBAAM,aAAA,CAAc,GAAA,EAAK,IAAA,EAAM,YAAA,CAAa,WAAW,CAAC,IAAI,kBAAA,mBAAkCA,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IACpO,WAAW,sBAAA,CAAO,aAAA;AAAA,IAClB,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa;AAAA,KACZ,YAAY,CAAA,mBAAiBA,sBAAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IACzD,WAAW,sBAAA,CAAO;AAAA,KACjB,UAAA,CAAW,GAAA,CAAI,2BAAsBA,sBAAAA,CAAM,cAAc,oBAAA,EAAsB;AAAA,IAChF,GAAA,EAAK,MAAM,QAAA,CAAS,EAAA;AAAA,IACpB,YAAA,EAAc,MAAM,QAAA,CAAS,IAAA;AAAA,IAC7B,mBAAA,EAAqB,MAAM,QAAA,CAAS,WAAA;AAAA,IACpC,UAAU,KAAA,CAAM,QAAA;AAAA,IAChB,aAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAC,CAAC,CAAA,EAAG,oBAAoB,qBAAA,oBAAsCA,sBAAAA,CAAM,aAAA,CAAc,iBAAA,EAAmB;AAAA,IACrG;AAAA,GACD,CAAC,CAAA;AACJ;;;ACxEA,IAAA,8BAAA,GAAA,EAAA;;;ACoBO,SAAS,sBAAA,CAAuB;AAAA,EACrC,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,mBAAmB,oBAAA,IAAwB,IAAA;AACjD,EAAA,MAAM,YAAA,mBAA4BA,sBAAAA,CAAM,aAAA,CAAcQ,8BAAA,EAAc;AAAA,IAClE,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU;AAAA,KACT,oBAAoB,CAAA;AACvB,EAAA,uBAAoBR,uBAAM,aAAA,CAAcA,sBAAAA,CAAM,UAAU,IAAA,kBAAmBA,sBAAAA,CAAM,aAAA,CAAcQ,8BAAA,EAAc;AAAA,IAC3G,OAAA,EAAS,WAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX,EAAG,QAAQ,CAAA,EAAG,gBAAA,mBAAgCR,sBAAAA,CAAM,aAAA,CAAcc,yBAAA,CAAQ,IAAA,EAAM,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,0BAAQ,OAAA,EAAS;AAAA,IACtI,MAAA,kBAAqBd,sBAAAA,CAAM,aAAA,CAAc,MAAA,EAAQ;AAAA,MAC/C,WAAW,8BAAA,CAAO;AAAA,KACnB;AAAA,GACH,EAAG,YAAY,CAAA,kBAAgBA,sBAAAA,CAAM,aAAA,CAAcc,yBAAA,CAAQ,MAAA,EAAQ,IAAA,kBAAmBd,sBAAAA,CAAM,aAAA,CAAcc,0BAAQ,UAAA,EAAY;AAAA,IAC5H,IAAA,EAAM;AAAA,qBACQd,sBAAAA,CAAM,cAAcc,yBAAA,CAAQ,KAAA,EAAO,MAAM,oBAAA,kBAAmCd,uBAAM,aAAA,CAAcc,yBAAA,CAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAA;AACzJ;;;ACzCA,SAAS,QAAA,GAAW;AAAE,EAAA,OAAO,QAAA,GAAW,OAAO,MAAA,GAAS,MAAA,CAAO,OAAO,IAAA,EAAK,GAAI,SAAU,CAAA,EAAG;AAAE,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,CAAU,QAAQ,CAAA,EAAA,EAAK;AAAE,MAAA,IAAI,CAAA,GAAI,UAAU,CAAC,CAAA;AAAG,MAAA,KAAA,IAAS,CAAA,IAAK,CAAA,EAAG,CAAC,IAAI,cAAA,CAAe,IAAA,CAAK,CAAA,EAAG,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,GAAI,EAAE,CAAC,CAAA,CAAA;AAAA,IAAI;AAAE,IAAA,OAAO,CAAA;AAAA,EAAG,CAAA,EAAG,QAAA,CAAS,KAAA,CAAM,IAAA,EAAM,SAAS,CAAA;AAAG;AAqB5Q,SAAS,oBAAA,CAAqB;AAAA,EACnC,MAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA,GAAQ,uBAAA;AAAA,EACR,oBAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAG;AACD,EAAA,MAAM,gBAAA,GAAmBd,sBAAAA,CAAM,WAAA,CAAY,CAAA,IAAA,KAAQ;AACjD,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,QAAA,EAAS;AAAA,IACX;AACA,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,QAAA,EAAU,YAAY,CAAC,CAAA;AAC3B,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAckB,wBAAA,EAAQ;AAAA,IAC9C,MAAA;AAAA,IACA,YAAA,EAAc,gBAAA;AAAA,IACd,KAAA;AAAA,IACA,MAAA,kBAAqBlB,sBAAAA,CAAM,aAAA,CAAc,sBAAA,EAAwB;AAAA,MAC/D,QAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,uBAAA,EAAyB;AAAA,GAC3B,kBAAgBA,sBAAAA,CAAM,aAAA,CAAc,gBAAgB,QAAA,CAAS,IAAI,WAAA,EAAa;AAAA,IAC5E,cAAA,EAAgB,YAAY,cAAA,IAAkB;AAAA,GAC/C,CAAC,CAAC,CAAA;AACL;;;ACjCO,SAAS,aAAA,CAAc,SAAA,EAAW,gBAAA,EAAkB,UAAA,EAAY;AACrE,EAAA,MAAM,UAAA,GAAa,gBAAA,CAAiB,QAAA,CAAS,SAAS,CAAA;AACtD,EAAA,IAAI,UAAA;AACJ,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,KAAA,MAAW,OAAA,IAAW,MAAM,QAAA,EAAU;AACpC,MAAA,IAAI,OAAA,CAAQ,OAAO,SAAA,EAAW;AAC5B,QAAA,UAAA,GAAa,KAAA;AACb,QAAA;AAAA,MACF;AAAA,IACF;AACA,IAAA,IAAI,eAAe,MAAA,EAAW;AAC5B,MAAA;AAAA,IACF;AAAA,EACF;AACA,EAAA,IAAI,eAAe,MAAA,EAAW;AAC5B,IAAA,OAAO,gBAAA;AAAA,EACT;AACA,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAO,gBAAA,CAAiB,MAAA,CAAO,CAAA,EAAA,KAAM,EAAA,KAAO,SAAS,CAAA;AAAA,EACvD;AAIA,EAAA,IAAI,UAAA,CAAW,QAAA,CAAS,YAAA,KAAiB,aAAA,EAAe;AACtD,IAAA,MAAM,sBAAA,GAAyB,IAAI,GAAA,CAAI,UAAA,CAAW,SAAS,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,EAAE,CAAC,CAAA;AACzE,IAAA,MAAM,mBAAA,GAAsB,iBAAiB,MAAA,CAAO,CAAA,EAAA,KAAM,CAAC,sBAAA,CAAuB,GAAA,CAAI,EAAE,CAAC,CAAA;AACzF,IAAA,OAAO,CAAC,GAAG,mBAAA,EAAqB,SAAS,CAAA;AAAA,EAC3C;AACA,EAAA,OAAO,CAAC,GAAG,gBAAA,EAAkB,SAAS,CAAA;AACxC;AACO,SAAS,oBAAA,CAAqB,WAAA,EAAa,UAAA,EAAY,aAAA,EAAe;AAC3E,EAAA,MAAM,MAAA,uBAAa,GAAA,EAAI;AACvB,EAAA,MAAM,WAAA,GAAc,IAAI,GAAA,CAAI,WAAW,CAAA;AACvC,EAAA,MAAM,UAAA,GAAa,IAAI,GAAA,CAAI,UAAU,CAAA;AACrC,EAAA,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAI,aAAa,CAAA;AAC3C,EAAA,MAAM,MAAA,mBAAS,IAAI,GAAA,CAAI,CAAC,GAAG,aAAa,GAAG,UAAA,EAAY,GAAG,aAAa,CAAC,CAAA;AACxE,EAAA,KAAA,MAAW,MAAM,MAAA,EAAQ;AACvB,IAAA,MAAMmB,UAAAA,GAAY,UAAA,CAAW,GAAA,CAAI,EAAE,CAAA;AACnC,IAAA,MAAMC,aAAAA,GAAe,aAAA,CAAc,GAAA,CAAI,EAAE,CAAA;AACzC,IAAA,MAAM,UAAA,GAAa,WAAA,CAAY,GAAA,CAAI,EAAE,CAAA;AACrC,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,MAAA,CAAO,GAAA,CAAI,IAAI,UAAU,CAAA;AAAA,IAC3B,CAAA,MAAA,IAAWD,cAAaC,aAAAA,EAAc;AACpC,MAAA,MAAA,CAAO,GAAA,CAAI,IAAI,oBAAoB,CAAA;AAAA,IACrC,WAAWD,UAAAA,EAAW;AACpB,MAAA,MAAA,CAAO,GAAA,CAAI,IAAI,SAAS,CAAA;AAAA,IAC1B,WAAWC,aAAAA,EAAc;AACvB,MAAA,MAAA,CAAO,GAAA,CAAI,IAAI,YAAY,CAAA;AAAA,IAC7B;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;AACO,SAASC,wBAAAA,CAAwB,UAAU,UAAA,EAAY;AAC5D,EAAA,MAAM,oBAAA,uBAA2B,GAAA,EAAI;AACrC,EAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,MAAM,QAAA,GAAW,oBAAA,CAAqB,GAAA,CAAI,OAAA,CAAQ,UAAU,CAAA;AAC5D,IAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,MAAA,QAAA,CAAS,KAAK,OAAO,CAAA;AAAA,IACvB,CAAA,MAAO;AACL,MAAA,oBAAA,CAAqB,GAAA,CAAI,OAAA,CAAQ,UAAA,EAAY,CAAC,OAAO,CAAC,CAAA;AAAA,IACxD;AAAA,EACF;AACA,EAAA,MAAM,SAAS,EAAC;AAChB,EAAA,KAAA,MAAW,YAAY,UAAA,EAAY;AACjC,IAAA,MAAM,gBAAA,GAAmB,oBAAA,CAAqB,GAAA,CAAI,QAAA,CAAS,EAAE,CAAA;AAC7D,IAAA,IAAI,gBAAA,KAAqB,MAAA,IAAa,gBAAA,CAAiB,MAAA,GAAS,CAAA,EAAG;AACjE,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,QAAA;AAAA,QACA,QAAA,EAAU;AAAA,OACX,CAAA;AAAA,IACH;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;;;ACrEA,IAAM,eAAe,EAAC;AACtB,SAAS,eAAe,GAAA,EAAK;AAC3B,EAAA,MAAM,GAAA,GAAMrB,sBAAAA,CAAM,MAAA,CAAO,GAAG,CAAA;AAC5B,EAAA,IAAI,GAAA,CAAI,MAAA,KAAW,GAAA,CAAI,OAAA,CAAQ,UAAU,GAAA,CAAI,IAAA,CAAK,CAAC,EAAA,EAAI,MAAM,EAAA,KAAO,GAAA,CAAI,OAAA,CAAQ,CAAC,CAAC,CAAA,EAAG;AACnF,IAAA,GAAA,CAAI,OAAA,GAAU,GAAA;AAAA,EAChB;AACA,EAAA,OAAO,GAAA,CAAI,OAAA;AACb;AACO,SAAS,mBAAmB,WAAA,EAAa;AAC9C,EAAA,MAAM,iBAAA,GAAoB,eAAe,WAAW,CAAA;AACpD,EAAA,MAAM;AAAA,IACJ,UAAA,EAAY,aAAA;AAAA,IACZ,SAAA,EAAW,iBAAA;AAAA,IACX,KAAA,EAAO,eAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPsB,iCAAA,EAAqB;AACzB,EAAA,MAAM;AAAA,IACJ,QAAA,EAAU,WAAA;AAAA,IACV,SAAA,EAAW,eAAA;AAAA,IACX,KAAA,EAAO,aAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPC,wBAAA,EAAY;AAChB,EAAA,MAAM;AAAA,IACJ,MAAA,EAAQ,YAAA;AAAA,IACR,SAAA,EAAW,aAAA;AAAA,IACX,KAAA,EAAO,WAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPC,0BAAA,CAAc;AAAA,IAChB,UAAA,EAAY;AAAA,GACb,CAAA;AACD,EAAA,MAAM,SAAA,GAAYxB,sBAAAA,CAAM,MAAA,CAAO,YAAY,CAAA;AAC3C,EAAA,IAAI,gBAAgB,IAAA,EAAM;AACxB,IAAA,SAAA,CAAU,OAAA,GAAU,YAAA;AAAA,EACtB;AACA,EAAA,MAAM,MAAA,GAAS,gBAAgB,SAAA,CAAU,OAAA;AACzC,EAAA,MAAM;AAAA,IACJ,YAAA;AAAA,IACA,SAAA,EAAW,mBAAA;AAAA,IACX,KAAA,EAAO,iBAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPyB,uCAAA,CAA2B;AAAA,IAC7B,UAAA,EAAY;AAAA,GACb,CAAA;AACD,EAAA,MAAM,iBAAA,GAAoB,cAAc,eAAA,IAAmBC,6BAAA;AAC3D,EAAA,MAAM,oBAAA,GAAuB,cAAc,kBAAA,IAAsBA,6BAAA;AACjE,EAAA,MAAM,qBAAA,GAAwB,cAAc,gBAAA,IAAoB,YAAA;AAChE,EAAA,MAAM,OAAA,GAAU,cAAc,OAAA,IAAW,IAAA;AACzC,EAAA,MAAM,qBAAA,GAAwB,cAAc,qBAAA,IAAyB,IAAA;AACrE,EAAA,MAAM,SAAA,GAAY,iBAAA,IAAqB,eAAA,IAAmB,mBAAA,IAAuB,aAAA;AACjF,EAAA,MAAM,KAAA,GAAQ1B,sBAAAA,CAAM,OAAA,CAAQ,MAAM;AAChC,IAAA,MAAM,MAAA,GAAS,CAAC,eAAA,EAAiB,aAAA,EAAe,iBAAA,EAAmB,WAAW,CAAA,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,CAAA,IAAK,IAAI,CAAA;AACrG,IAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,MAAA,OAAO,IAAI,cAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,OAAO,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,IACzE;AACA,IAAA,OAAO,OAAO,CAAC,CAAA;AAAA,EACjB,GAAG,CAAC,eAAA,EAAiB,aAAA,EAAe,iBAAA,EAAmB,WAAW,CAAC,CAAA;AACnE,EAAA,MAAM,KAAA,GAAQA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AACpC,IAAA,iBAAA,EAAkB;AAClB,IAAA,eAAA,EAAgB;AAChB,IAAA,aAAA,EAAc;AACd,IAAA,mBAAA,EAAoB;AAAA,EACtB,GAAG,CAAC,iBAAA,EAAmB,eAAA,EAAiB,aAAA,EAAe,mBAAmB,CAAC,CAAA;AAC3E,EAAA,MAAM,cAAA,GAAiBA,sBAAAA,CAAM,OAAA,CAAQ,MAAM;AACzC,IAAA,IAAI,aAAA,KAAkB,MAAA,IAAa,WAAA,KAAgB,MAAA,EAAW;AAC5D,MAAA,OAAO,EAAC;AAAA,IACV;AACA,IAAA,OAAOqB,wBAAAA,CAAwB,aAAa,aAAa,CAAA;AAAA,EAC3D,CAAA,EAAG,CAAC,WAAA,EAAa,aAAa,CAAC,CAAA;AAC/B,EAAA,MAAM,aAAA,GAAgBrB,sBAAAA,CAAM,OAAA,CAAQ,MAAM,oBAAA,CAAqB,iBAAA,EAAmB,iBAAA,EAAmB,oBAAoB,CAAA,EAAG,CAAC,iBAAA,EAAmB,iBAAA,EAAmB,oBAAoB,CAAC,CAAA;AACxL,EAAA,MAAM,sBAAA,GAAyBA,sBAAAA,CAAM,OAAA,CAAQ,MAAM2B,uCAAA,CAAsB,cAAA,EAAgB,qBAAqB,CAAA,EAAG,CAAC,cAAA,EAAgB,qBAAqB,CAAC,CAAA;AACxJ,EAAA,OAAO3B,sBAAAA,CAAM,QAAQ,OAAO;AAAA,IAC1B,cAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,qBAAA,EAAuB,sBAAA;AAAA,IACvB,OAAA;AAAA,IACA,qBAAA;AAAA,IACA,oBAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF,CAAA,EAAI,CAAC,cAAA,EAAgB,aAAA,EAAe,MAAA,EAAQ,sBAAA,EAAwB,OAAA,EAAS,qBAAA,EAAuB,oBAAA,EAAsB,SAAA,EAAW,KAAA,EAAO,KAAK,CAAC,CAAA;AACpJ;;;AClFO,SAAS,iBAAiB,iBAAA,EAAmB;AAClD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,IAAIA,sBAAAA,CAAM,QAAA,CAAS,qBAAqB0B,6BAAW,CAAA;AACrF,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI1B,sBAAAA,CAAM,SAAS,iBAAiB,CAAA;AAC5E,EAAA,IAAI,sBAAsB,cAAA,EAAgB;AACxC,IAAA,iBAAA,CAAkB,iBAAiB,CAAA;AACnC,IAAA,cAAA,CAAe,qBAAqB0B,6BAAW,CAAA;AAAA,EACjD;AACA,EAAA,MAAM,WAAA,GAAc,mBAAmB,WAAW,CAAA;AAClD,EAAA,MAAM,cAAA,GAAiB1B,sBAAAA,CAAM,MAAA,CAAO,WAAW,CAAA;AAC/C,EAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AACzB,EAAA,MAAM,iBAAA,GAAoBA,sBAAAA,CAAM,MAAA,CAAO,WAAA,CAAY,cAAc,CAAA;AACjE,EAAA,iBAAA,CAAkB,UAAU,WAAA,CAAY,cAAA;AACxC,EAAA,MAAM,MAAA,GAASA,sBAAAA,CAAM,WAAA,CAAY,CAAA,SAAA,KAAa;AAC5C,IAAA,cAAA,CAAe,UAAQ,aAAA,CAAc,SAAA,EAAW,IAAA,EAAM,iBAAA,CAAkB,OAAO,CAAC,CAAA;AAAA,EAClF,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,OAAA,GAAUA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AACtC,IAAA,cAAA,CAAe0B,6BAAW,CAAA;AAAA,EAC5B,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,KAAA,GAAQ1B,sBAAAA,CAAM,WAAA,CAAY,MAAM;AACpC,IAAA,cAAA,CAAe,qBAAqB0B,6BAAW,CAAA;AAAA,EACjD,CAAA,EAAG,CAAC,iBAAiB,CAAC,CAAA;AACtB,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,GAAG,WAAA;AAAA,IACH,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;AClDA,IAAA,8BAAA,GAAA,EAAA;;;ACoBO,SAAS,sBAAA,CAAuB;AAAA,EACrC,oBAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,uBAAoB1B,sBAAAA,CAAM,aAAA,CAAc,KAAA,EAAO;AAAA,IAC7C,SAAA,EAAWI,2BAAAA,CAAW,8BAAA,CAAO,SAAA,EAAW,SAAS;AAAA,GACnD,kBAAgBJ,sBAAAA,CAAM,aAAA,CAAc,GAAA,EAAK;AAAA,IACvC,WAAW,8BAAA,CAAO;AAAA,KACjB,gCAAgC,CAAA,kBAAgBA,sBAAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IAC5E,WAAW,8BAAA,CAAO;AAAA,GACpB,kBAAgBA,sBAAAA,CAAM,aAAA,CAAcG,gCAAA,EAAgB;AAAA,IAClD,oBAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACD,CAAC,CAAA,EAAG,UAAA,IAAc,wBAAqBH,sBAAAA,CAAM,cAAc,GAAA,EAAK;AAAA,IAC/D,WAAW,8BAAA,CAAO;AAAA,GACpB,EAAG,UAAU,CAAC,CAAA;AAChB;;;ACpBO,SAAS,qBAAqB,2BAAA,EAA6B;AAChE,EAAA,MAAM,oBAAA,GAAuB,6BAA6B,UAAA,IAAc0B,6BAAA;AACxE,EAAA,MAAM;AAAA,IACJ,MAAA,EAAQ;AAAA,MACNF,0BAAAA,CAAc;AAAA,IAChB,UAAA,EAAY,oBAAA;AAAA,IACZ,SAAS,2BAAA,IAA+B;AAAA,GACzC,CAAA;AACD,EAAA,OAAOxB,sBAAAA,CAAM,QAAQ,MAAM;AACzB,IAAA,IAAI,+BAA+B,IAAA,EAAM;AACvC,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,MAAM,QAAA,GAAW4B,uCAAqB,gBAAgB,CAAA;AACtD,IAAA,uBAAoB5B,sBAAAA,CAAM,aAAA,CAAc,sBAAA,EAAwB;AAAA,MAC9D,sBAAsB,2BAAA,CAA4B,0BAAA;AAAA,MAClD,WAAW,QAAA,CAAS,SAAA;AAAA,MACpB,kBAAkB,QAAA,CAAS,gBAAA;AAAA,MAC3B,YAAY,2BAAA,CAA4B;AAAA,KACzC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,2BAAA,EAA6B,gBAAgB,CAAC,CAAA;AACpD;;;ACxBO,SAAS,wBAAwB,GAAA,EAAK;AAC3C,EAAA,IAAI,IAAI,OAAA,EAAS;AACf,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,IAAI,GAAA,CAAI,qBAAA,CAAsB,MAAA,GAAS,CAAA,EAAG;AACxC,IAAA,OAAO,yDAAA;AAAA,EACT;AACA,EAAA,MAAM,WAAA,GAAc,IAAI,GAAA,CAAI,GAAA,CAAI,WAAW,CAAA;AAC3C,EAAA,MAAM,qBAAA,GAAwB,IAAI,oBAAA,CAAqB,IAAA,CAAK,QAAM,WAAA,CAAY,GAAA,CAAI,EAAE,CAAC,CAAA;AACrF,EAAA,IAAI,qBAAA,EAAuB;AACzB,IAAA,OAAO,yCAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,IAAI,qBAAA,EAAuB;AAC9B,IAAA,OAAO,yGAAA;AAAA,EACT;AACA,EAAA,OAAO,4BAAA;AACT;;;ACXO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,MAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,qBAAA;AAAA,IACA,OAAA;AAAA,IACA,qBAAA;AAAA,IACA,oBAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,iBAAiB,iBAAiB,CAAA;AAGtC,EAAA,MAAM,aAAA,GAAgBA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC5C,IAAA,SAAA,CAAU,WAAW,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,SAAA,EAAW,WAAW,CAAC,CAAA;AAC3B,EAAA,MAAM,YAAA,GAAeA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC3C,IAAA,KAAA,EAAM;AACN,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,KAAA,EAAO,YAAY,CAAC,CAAA;AACxB,EAAA,MAAM,kBAAA,GAAqB,iBAAA,KAAsB,MAAA,IAAa,iBAAA,CAAkB,MAAA,GAAS,CAAA;AACzF,EAAA,MAAM,oBAAA,GAAuBA,sBAAAA,CAAM,OAAA,CAAQ,MAAM,uBAAA,CAAwB;AAAA,IACvE,OAAA;AAAA,IACA,qBAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,GAAG,CAAC,OAAA,EAAS,uBAAuB,WAAA,EAAa,oBAAA,EAAsB,qBAAqB,CAAC,CAAA;AAC9F,EAAA,MAAM,iBAAA,GAAoB,qBAAqB,2BAA2B,CAAA;AAC1E,EAAA,uBAAoBA,sBAAAA,CAAM,aAAA,CAAc,oBAAA,EAAsB;AAAA,IAC5D,MAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA,EAAW,aAAA;AAAA,IACX,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,qBAAqB,qBAAA,GAAwB,oBAAA;AAAA,IACpD,UAAA,EAAY,cAAA;AAAA,IACZ,aAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA,EAAiB,MAAA;AAAA,IACjB,eAAA,EAAiB,OAAA;AAAA,IACjB,qBAAA;AAAA,IACA,OAAA;AAAA,IACA,oBAAA;AAAA,IACA,kBAAA,EAAoB,iBAAA;AAAA,IACpB,SAAA;AAAA,IACA;AAAA,GACD,CAAA;AACH;;;AC1DO,SAAS,iBAAA,CAAkB;AAAA,EAChC,UAAA;AAAA,EACA,QAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,SAAA,EAAW,aAAA;AAAA,IACX,KAAA,EAAO,WAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPwB,0BAAAA,CAAc;AAAA,IAChB;AAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,SAAA,EAAW,iBAAA;AAAA,IACX,KAAA,EAAO,eAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPF,iCAAAA,EAAqB;AACzB,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,SAAA,EAAW,eAAA;AAAA,IACX,KAAA,EAAO,aAAA;AAAA,IACP,OAAA,EAAS;AAAA,MACPC,wBAAAA,EAAY;AAChB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIvB,sBAAAA,CAAM,SAAS,KAAK,CAAA;AAC5D,EAAA,MAAM,SAAA,GAAY,iBAAiB,iBAAA,IAAqB,eAAA;AACxD,EAAA,MAAM,KAAA,GAAQ,eAAe,eAAA,IAAmB,aAAA;AAChD,EAAA,MAAM,WAAA,GAAcA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC1C,IAAA,aAAA,EAAc;AACd,IAAA,iBAAA,EAAkB;AAClB,IAAA,eAAA,EAAgB;AAAA,EAClB,CAAA,EAAG,CAAC,aAAA,EAAe,iBAAA,EAAmB,eAAe,CAAC,CAAA;AACtD,EAAA,MAAM,eAAA,GAAkBA,sBAAAA,CAAM,OAAA,CAAQ,MAAMqB,yCAAA,CAAwB,UAAA,EAAY,UAAA,EAAY,QAAQ,CAAA,EAAG,CAAC,UAAA,EAAY,UAAA,EAAY,QAAQ,CAAC,CAAA;AACzI,EAAA,MAAM,QAAA,GAAWO,uCAAqB,MAAM,CAAA;AAC5C,EAAA,MAAM,cAAc,UAAA,CAAW,MAAA,KAAW,IAAI,+CAAA,GAAkD,CAAA,4BAAA,EAA+B,SAAS,oBAAoB,CAAA,CAAA;AAC5J,EAAA,MAAM,eAAA,GAAkB5B,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC9C,IAAA,eAAA,CAAgB,IAAI,CAAA;AAAA,EACtB,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,aAAA,GAAgBA,sBAAAA,CAAM,WAAA,CAAY,CAAA,aAAA,KAAiB;AACvD,IAAA,QAAA,CAAS,aAAa,CAAA;AACtB,IAAA,eAAA,CAAgB,KAAK,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACb,EAAA,uBAAoBA,uBAAM,aAAA,CAAcA,sBAAAA,CAAM,UAAU,IAAA,kBAAmBA,sBAAAA,CAAM,aAAA,CAAc,qBAAA,EAAuB;AAAA,IACpH,sBAAsB,QAAA,CAAS,oBAAA;AAAA,IAC/B,WAAW,QAAA,CAAS,SAAA;AAAA,IACpB,kBAAkB,QAAA,CAAS,gBAAA;AAAA,IAC3B,eAAA;AAAA,IACA,WAAA,EAAa,eAAA;AAAA,IACb,WAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS,WAAA;AAAA,IACT;AAAA,GACD,CAAA,EAAG,YAAA,oBAA6BA,sBAAAA,CAAM,cAAc,gBAAA,EAAkB;AAAA,IACrE,MAAA,EAAQ,YAAA;AAAA,IACR,YAAA,EAAc,eAAA;AAAA,IACd,SAAA,EAAW,aAAA;AAAA,IACX,iBAAA,EAAmB,UAAA;AAAA,IACnB;AAAA,GACD,CAAC,CAAA;AACJ;AC7DO,SAAS,UAAA,CAAW;AAAA,EACzB,iBAAA;AAAA,EACA,QAAA;AAAA,EACA,2BAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM;AAAA,IACJ,cAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,qBAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF,GAAI,iBAAiB,iBAAiB,CAAA;AACtC,EAAA,MAAM,mBAAA,GAAsBA,sBAAAA,CAAM,WAAA,CAAY,CAAA,SAAA,KAAa;AACzD,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA;AAAA,IACF;AACA,IAAA,MAAM,YAAA,GAAe,aAAA,CAAc,SAAA,EAAW,cAAA,CAAe,SAAS,cAAc,CAAA;AACpF,IAAA,cAAA,CAAe,YAAY,CAAA;AAC3B,IAAA,QAAA,CAAS,YAAY,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,QAAA,EAAU,cAAA,EAAgB,QAAQ,CAAC,CAAA;AACvC,EAAA,MAAM,aAAA,GAAgBA,sBAAAA,CAAM,WAAA,CAAY,MAAM;AAC5C,IAAA,cAAA,CAAe0B,6BAAW,CAAA;AAC1B,IAAA,QAAA,CAASA,6BAAW,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACb,EAAA,MAAM,iBAAA,GAAoB,qBAAqB,2BAA2B,CAAA;AAC1E,EAAA,uBAAoB1B,sBAAAA,CAAM,aAAA,CAAc,cAAA,EAAgB;AAAA,IACtD,UAAA,EAAY,cAAA;AAAA,IACZ,aAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA,EAAiB,mBAAA;AAAA,IACjB,eAAA,EAAiB,aAAA;AAAA,IACjB,qBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,kBAAA,EAAoB,iBAAA;AAAA,IACpB;AAAA,GACD,CAAA;AACH;;;AC9CO,IAAM6B,WAAAA,GAAaC,iCAAA,CAAgB,UAAA,EAAa,YAAY","file":"chunk-EOXGPHI7.cjs","sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nfunction isApiErrorLike(error) {\n return \"statusCode\" in error && typeof error.statusCode === \"number\";\n}\nfunction formatByStatusCode(error) {\n const statusCode = error.statusCode;\n if (statusCode === 401) {\n return {\n title: \"Session expired\",\n remediation: \"Sign in again to continue.\"\n };\n }\n if (statusCode === 403) {\n return {\n title: \"Permission denied\",\n remediation: \"Contact your administrator for permission.\"\n };\n }\n if (statusCode === 404) {\n return {\n title: \"Not found\",\n remediation: \"The requested classification data could not be found.\"\n };\n }\n if (statusCode !== undefined && statusCode >= 500) {\n return {\n title: \"Server error\",\n remediation: \"Something went wrong. Try again later.\"\n };\n }\n if (typeof error.errorDescription === \"string\" && error.errorDescription.length > 0) {\n return {\n title: error.errorDescription,\n remediation: \"\"\n };\n }\n return {\n title: error.message || \"Something went wrong\",\n remediation: \"\"\n };\n}\nexport function formatCbacError(error) {\n if (error instanceof AggregateError && error.errors.length > 0) {\n const first = error.errors[0];\n if (first instanceof Error) {\n return formatCbacError(first);\n }\n }\n if (isApiErrorLike(error)) {\n return formatByStatusCode(error);\n }\n if (error.message.toLowerCase().includes(\"network\") || error.message.toLowerCase().includes(\"fetch\")) {\n return {\n title: \"Network error\",\n remediation: \"Check your connection and try again.\"\n };\n }\n return {\n title: error.message || \"Something went wrong\",\n remediation: \"\"\n };\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.popover {\n max-width: var(--osdk-cbac-popover-max-width);\n padding: var(--osdk-cbac-popover-padding);\n background: var(--osdk-surface-background-color-default);\n border: 1px solid var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-surface-elevation-2);\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-popover-section-gap);\n}\n\n.pill {\n display: inline-flex;\n align-items: center;\n padding: var(--osdk-cbac-popover-pill-padding);\n border-radius: var(--osdk-cbac-popover-pill-border-radius);\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n width: fit-content;\n}\n\n.sectionLabel {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-muted);\n text-transform: uppercase;\n margin: 0;\n}\n\n.markingGroup {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 0.5);\n}\n\n.markingCategoryName {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-rest);\n margin: 0;\n}\n\n.markingName {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-rest);\n margin: 0;\n padding-left: calc(var(--osdk-surface-spacing) * 2);\n}\n\n.noMarkings {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n}\n\n.divider {\n border: none;\n border-top: 1px solid var(--osdk-surface-border-color-default);\n margin: 0;\n}\n\n.editButton {\n width: 100%;\n}\n\n.description {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n}\n\n/* Skeleton loading */\n.skeletonContainer {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.skeletonPill {\n width: var(--osdk-cbac-skeleton-pill-width);\n height: var(--osdk-cbac-skeleton-pill-height);\n}\n\n.skeletonLine {\n width: 100%;\n height: var(--osdk-cbac-skeleton-line-height);\n}\n\n.skeletonLineNarrow {\n width: var(--osdk-cbac-skeleton-line-narrow-width);\n height: var(--osdk-cbac-skeleton-line-height);\n}\n\n/* Error state */\n.errorContainer {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--osdk-surface-spacing);\n padding: calc(var(--osdk-surface-spacing) * 2) 0;\n}\n\n.errorMessage {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-rest);\n font-weight: var(--osdk-typography-weight-bold);\n margin: 0;\n text-align: center;\n}\n\n.errorRemediation {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-default-muted);\n margin: 0;\n text-align: center;\n}\n\n/* Warnings section */\n.warningsSection {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.warningsHeader {\n font-size: var(--osdk-typography-size-body-small);\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-muted);\n text-transform: uppercase;\n margin: 0;\n}\n\n.warningCallout {\n display: flex;\n align-items: flex-start;\n gap: var(--osdk-surface-spacing);\n padding: var(--osdk-cbac-warning-callout-padding);\n background: var(--osdk-cbac-warning-callout-bg);\n color: var(--osdk-cbac-warning-callout-color);\n border-radius: var(--osdk-cbac-warning-callout-border-radius);\n font-size: var(--osdk-cbac-warning-callout-font-size);\n}\n\n.warningIcon {\n flex-shrink: 0;\n margin-top: calc(var(--osdk-surface-spacing) * 0.125);\n}\n\n.warningText {\n margin: 0;\n}\n\n/* Banner trigger wrapper with caret */\n.bannerTriggerWrapper {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n}\n\n.caretIcon {\n position: absolute;\n right: calc(var(--osdk-surface-spacing) * 1.5);\n display: flex;\n align-items: center;\n color: inherit;\n opacity: 0;\n transition: opacity var(--osdk-emphasis-transition-duration)\n var(--osdk-emphasis-ease-default);\n pointer-events: none;\n}\n\n.bannerTriggerWrapper:hover .caretIcon,\n.caretIconVisible {\n opacity: 1;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Popover } from \"@base-ui/react/popover\";\nimport { CaretDown, CaretUp, WarningSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { ActionButton } from \"../../base-components/action-button/ActionButton.js\";\nimport { SkeletonBar } from \"../../base-components/skeleton/SkeletonBar.js\";\nimport { backgroundFromColors } from \"../utils/cbacPickerUtils.js\";\nimport { formatCbacError } from \"../utils/errorMessages.js\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./BaseCbacBannerPopover.module.css\";\nexport function BaseCbacBannerPopover({\n classificationString,\n textColor,\n backgroundColors,\n appliedMarkings,\n onEditClick,\n description,\n isLoading,\n error,\n onRetry,\n onDismiss,\n warnings,\n className\n}) {\n const [open, setOpen] = React.useState(false);\n const handleEditClick = React.useCallback(() => {\n setOpen(false);\n onEditClick();\n }, [onEditClick]);\n const pillStyle = React.useMemo(() => ({\n color: textColor,\n background: backgroundFromColors(backgroundColors)\n }), [textColor, backgroundColors]);\n const showSkeleton = isLoading === true && appliedMarkings.length === 0;\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: open,\n onOpenChange: setOpen\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n nativeButton: false,\n render: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bannerTriggerWrapper\n }, /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: classificationString,\n textColor: textColor,\n backgroundColors: backgroundColors,\n onDismiss: onDismiss,\n className: className\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: classnames(styles.caretIcon, open && styles.caretIconVisible)\n }, open ? /*#__PURE__*/React.createElement(CaretUp, {\n size: 12\n }) : /*#__PURE__*/React.createElement(CaretDown, {\n size: 12\n })))\n }), /*#__PURE__*/React.createElement(Popover.Portal, null, /*#__PURE__*/React.createElement(Popover.Positioner, {\n side: \"bottom\",\n align: \"center\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n className: styles.popover\n }, /*#__PURE__*/React.createElement(PopoverContent, {\n showSkeleton: showSkeleton,\n error: error,\n onRetry: onRetry,\n pillStyle: pillStyle,\n classificationString: classificationString,\n description: description,\n appliedMarkings: appliedMarkings,\n warnings: warnings,\n handleEditClick: handleEditClick\n })))));\n}\nconst PopoverContent = /*#__PURE__*/React.memo(function PopoverContent({\n showSkeleton,\n error,\n onRetry,\n pillStyle,\n classificationString,\n description,\n appliedMarkings,\n warnings,\n handleEditClick\n}) {\n const hasMarkings = appliedMarkings.length > 0;\n const hasWarnings = warnings !== undefined && warnings.length > 0;\n if (showSkeleton) {\n return /*#__PURE__*/React.createElement(PopoverSkeleton, null);\n }\n if (error !== undefined) {\n const errorMessage = formatCbacError(error);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.errorContainer\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.errorMessage\n }, errorMessage.title), errorMessage.remediation && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.errorRemediation\n }, errorMessage.remediation), onRetry !== undefined && /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"secondary\",\n onClick: onRetry\n }, \"Retry\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.pill,\n style: pillStyle,\n title: classificationString\n }, classificationString), description !== undefined && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.description\n }, description), /*#__PURE__*/React.createElement(\"p\", {\n className: styles.sectionLabel\n }, \"Applied markings\"), hasMarkings ? appliedMarkings.map(group => /*#__PURE__*/React.createElement(\"div\", {\n key: group.categoryName,\n className: styles.markingGroup\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.markingCategoryName\n }, group.categoryName), group.markingNames.map((name, i) => /*#__PURE__*/React.createElement(\"p\", {\n key: `${name}-${i}`,\n className: styles.markingName\n }, name)))) : /*#__PURE__*/React.createElement(\"p\", {\n className: styles.noMarkings\n }, \"No markings applied\"), hasWarnings && warnings !== undefined && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"hr\", {\n className: styles.divider\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.warningsSection\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.warningsHeader\n }, \"Warnings and Notices\"), warnings.map((warning, i) => /*#__PURE__*/React.createElement(\"div\", {\n key: `warning-${i}`,\n className: styles.warningCallout\n }, /*#__PURE__*/React.createElement(WarningSign, {\n className: styles.warningIcon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"p\", {\n className: styles.warningText\n }, warning))))), /*#__PURE__*/React.createElement(\"hr\", {\n className: styles.divider\n }), /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"primary\",\n className: styles.editButton,\n onClick: handleEditClick\n }, hasMarkings ? \"Edit classification\" : \"Set classification\"));\n});\nfunction PopoverSkeleton() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.skeletonContainer\n }, /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonPill\n }), /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonLine\n }), /*#__PURE__*/React.createElement(SkeletonBar, {\n className: styles.skeletonLineNarrow\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.picker {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-picker-category-gap);\n padding: var(--osdk-cbac-picker-padding);\n width: 100%;\n}\n\n.categoriesContainer {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-picker-category-gap);\n overflow-y: auto;\n}\n\n.innerBanner {\n border: 1px solid var(--osdk-cbac-banner-border-color);\n}\n\n.statusMessage {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 0.5);\n padding: calc(var(--osdk-surface-spacing) * 3) 0;\n color: var(--osdk-typography-color-muted);\n font-style: italic;\n}\n\n.statusMessage p {\n margin: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.categoryGroup {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-marking-button-gap);\n}\n\n.categoryHeader {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 0.75);\n}\n\n.categoryName {\n font-size: var(--osdk-cbac-picker-category-title-font-size);\n font-weight: var(--osdk-cbac-picker-category-title-font-weight);\n color: var(--osdk-cbac-picker-category-title-color);\n letter-spacing: var(--osdk-cbac-picker-category-title-letter-spacing);\n margin: 0;\n}\n\n.infoIcon {\n display: inline-flex;\n color: var(--osdk-typography-color-muted);\n cursor: help;\n}\n\n.infoTooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n color: var(--osdk-typography-color-muted);\n}\n\n.markingGrid {\n display: grid;\n grid-template-columns: repeat(\n var(--osdk-cbac-picker-marking-grid-columns),\n 1fr\n );\n border-top: 1px solid var(--osdk-cbac-picker-marking-grid-border-color);\n border-left: 1px solid var(--osdk-cbac-picker-marking-grid-border-color);\n}\n\n.emptyCell {\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.markingButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: var(--osdk-cbac-marking-button-padding);\n border-radius: var(--osdk-cbac-marking-button-border-radius);\n font-size: var(--osdk-cbac-marking-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n color: var(--osdk-cbac-marking-button-color-default);\n background-color: var(--osdk-cbac-marking-button-bg-default, transparent);\n}\n\n.markingButton:hover:not(:disabled):not([aria-disabled=\"true\"]):not(.disallowed):not(.impliedDisallowed):not(.selected):not(.implied) {\n background-color: var(--osdk-surface-background-color-default-hover);\n}\n\n.selected {\n color: var(--osdk-cbac-marking-button-color-selected);\n background-color: var(--osdk-cbac-marking-button-bg-selected);\n border-color: var(--osdk-cbac-marking-button-border-color-selected);\n}\n\n.selected:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background-color: var(\n --osdk-cbac-marking-button-bg-selected-hover,\n var(--osdk-cbac-marking-button-bg-selected)\n );\n filter: brightness(0.85);\n}\n\n.implied {\n color: var(--osdk-cbac-marking-button-color-implied);\n background-color: var(--osdk-cbac-marking-button-bg-implied);\n border-color: var(--osdk-cbac-marking-button-border-color-implied);\n}\n\n.disallowed,\n.impliedDisallowed {\n color: var(--osdk-cbac-marking-button-color-disallowed);\n background-color: var(--osdk-cbac-marking-button-bg-disallowed);\n border-color: var(--osdk-cbac-marking-button-border-color-disallowed);\n cursor: not-allowed;\n opacity: var(--osdk-cbac-disabled-opacity);\n text-decoration: line-through;\n}\n\n.markingButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.markingButton:disabled {\n cursor: not-allowed;\n}\n\n.tooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n}\n\n.tooltipTitle {\n margin: 0;\n font-weight: var(--osdk-typography-weight-bold);\n color: var(--osdk-typography-color-default-rest);\n}\n\n.tooltipDescription {\n margin: calc(var(--osdk-surface-spacing) * 0.5) 0 0;\n color: var(--osdk-typography-color-muted);\n}\n\n.tooltipHint {\n margin: calc(var(--osdk-surface-spacing) * 0.5) 0 0;\n font-style: italic;\n color: var(--osdk-typography-color-muted);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isDisallowed(state) {\n return state === \"DISALLOWED\" || state === \"IMPLIED_DISALLOWED\";\n}\nexport function isImplied(state) {\n return state === \"IMPLIED\" || state === \"IMPLIED_DISALLOWED\";\n}\nexport function getDisplayLabel(label, state) {\n return isImplied(state) ? `(${label})` : label;\n}\nexport function getTooltipText(state) {\n if (state === \"DISALLOWED\") {\n return \"This marking is not allowed with the current selection\";\n }\n if (state === \"IMPLIED_DISALLOWED\") {\n return \"This marking is implied but not allowed\";\n }\n return undefined;\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./MarkingButton.module.css\";\nimport { getDisplayLabel, isDisallowed } from \"./selectionStateHelpers.js\";\nconst selectionStateClassMap = {\n SELECTED: styles.selected,\n IMPLIED: styles.implied,\n DISALLOWED: styles.disallowed,\n IMPLIED_DISALLOWED: styles.impliedDisallowed,\n NONE: undefined\n};\nfunction getSelectionHint(state) {\n switch (state) {\n case \"SELECTED\":\n return \"Click to deselect\";\n case \"IMPLIED\":\n return \"Implied by another marking\";\n case \"DISALLOWED\":\n case \"IMPLIED_DISALLOWED\":\n return \"Not available with current selection. Deselect your current choice first.\";\n case \"NONE\":\n return undefined;\n }\n}\nexport const MarkingButton = /*#__PURE__*/React.memo(function MarkingButton({\n id,\n label,\n description,\n selectionState,\n onToggle,\n disabled\n}) {\n const handleToggle = React.useCallback(() => {\n onToggle(id);\n }, [onToggle, id]);\n const hasDescription = description !== undefined && description.length > 0;\n const isButtonDisabled = disabled ?? isDisallowed(selectionState);\n const showTooltip = hasDescription || isDisallowed(selectionState);\n const hint = getSelectionHint(selectionState);\n const button = /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.markingButton, selectionStateClassMap[selectionState]),\n onClick: isButtonDisabled ? undefined : handleToggle,\n disabled: showTooltip ? undefined : isButtonDisabled,\n \"aria-disabled\": showTooltip ? isButtonDisabled : undefined,\n \"aria-pressed\": selectionState === \"SELECTED\" || selectionState === \"IMPLIED\",\n title: showTooltip ? undefined : label\n }, getDisplayLabel(label, selectionState));\n if (!showTooltip) {\n return button;\n }\n return /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: button\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n sideOffset: 8\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.tooltip\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipTitle\n }, label), hasDescription && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipDescription\n }, description), hint != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipHint\n }, hint)))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.moreButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: var(--osdk-cbac-overflow-button-padding);\n font-size: var(--osdk-cbac-overflow-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-right: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n border-bottom: 1px solid var(--osdk-cbac-marking-button-border-color-default);\n color: var(--osdk-cbac-marking-button-color-default);\n background: var(--osdk-cbac-marking-button-bg-default);\n font-weight: var(--osdk-typography-weight-bold);\n}\n\n.moreButton:hover {\n background: var(--osdk-surface-background-color-default-hover);\n}\n\n.moreButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.moreButtonActive {\n color: var(--osdk-intent-primary-rest);\n}\n\n.overflowList {\n display: flex;\n flex-direction: column;\n max-height: var(--osdk-cbac-overflow-list-max-height);\n overflow-y: auto;\n padding: calc(var(--osdk-surface-spacing) * 0.5);\n background: var(--osdk-surface-background-color-default);\n border: 1px solid var(--osdk-surface-border-color-default);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-surface-elevation-2);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.overflowItem {\n display: flex;\n align-items: center;\n width: 100%;\n text-align: left;\n padding: var(--osdk-surface-spacing)\n calc(var(--osdk-surface-spacing) * 1.5);\n font-size: var(--osdk-cbac-overflow-button-font-size);\n font-family: inherit;\n cursor: pointer;\n border: none;\n border-radius: var(--osdk-surface-border-radius);\n color: var(--osdk-cbac-marking-button-color-default);\n background: transparent;\n}\n\n.overflowItem:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--osdk-surface-background-color-default-hover);\n}\n\n.overflowItem:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.overflowItemSelected {\n color: var(--osdk-intent-primary-rest);\n font-weight: var(--osdk-typography-weight-bold);\n}\n\n.overflowItemDisabled {\n color: var(--osdk-cbac-marking-button-color-disallowed);\n cursor: not-allowed;\n opacity: var(--osdk-cbac-disabled-opacity);\n text-decoration: line-through;\n}\n\n.tooltip {\n z-index: var(--osdk-cbac-marking-tooltip-z-index);\n max-width: var(--osdk-cbac-marking-tooltip-max-width);\n padding: var(--osdk-cbac-marking-tooltip-padding);\n background-color: var(--osdk-tooltip-bg);\n border: 1px solid var(--osdk-tooltip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n box-shadow: var(--osdk-tooltip-shadow);\n font-size: var(--osdk-cbac-marking-tooltip-font-size);\n line-height: 1.4;\n}\n\n.tooltipDescription {\n margin: 0;\n color: var(--osdk-typography-color-muted);\n}\n\n.tooltipHint {\n margin: calc(var(--osdk-surface-spacing) * 0.25) 0 0;\n font-style: italic;\n color: var(--osdk-typography-color-muted);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OverflowItem.module.css\";\nimport { getDisplayLabel, getTooltipText, isDisallowed, isImplied } from \"./selectionStateHelpers.js\";\nexport const OverflowItem = /*#__PURE__*/React.memo(function OverflowItem({\n id,\n label,\n description,\n selectionState,\n disabled,\n onToggle\n}) {\n const handleClick = React.useCallback(() => {\n onToggle(id);\n }, [onToggle, id]);\n const disallowed = isDisallowed(selectionState);\n const isSelected = selectionState === \"SELECTED\";\n const implied = isImplied(selectionState);\n const tooltipText = getTooltipText(selectionState);\n const hasDescription = description !== undefined && description.length > 0;\n const showTooltip = hasDescription || tooltipText != null;\n const isItemDisabled = disabled ?? disallowed;\n const button = /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.overflowItem, (isSelected || implied) && styles.overflowItemSelected, disallowed && styles.overflowItemDisabled),\n onClick: isItemDisabled ? undefined : handleClick,\n disabled: showTooltip ? undefined : isItemDisabled,\n \"aria-disabled\": showTooltip ? isItemDisabled : undefined,\n \"aria-pressed\": isSelected || implied\n }, getDisplayLabel(label, selectionState));\n if (!showTooltip) {\n return button;\n }\n return /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: button\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"right\",\n sideOffset: 4\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.tooltip\n }, hasDescription && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipDescription\n }, description), tooltipText != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.tooltipHint\n }, tooltipText)))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./OverflowButton.module.css\";\nimport { OverflowItem } from \"./OverflowItem.js\";\nexport function OverflowButton({\n overflowMarkings,\n hasActiveOverflow,\n onMarkingToggle\n}) {\n const [open, setOpen] = React.useState(false);\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: open,\n onOpenChange: setOpen\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n render: /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.moreButton, hasActiveOverflow && styles.moreButtonActive)\n }, \"+\", overflowMarkings.length, \" more\")\n }), /*#__PURE__*/React.createElement(Popover.Portal, null, /*#__PURE__*/React.createElement(Popover.Positioner, {\n side: \"bottom\",\n align: \"start\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n className: styles.overflowList\n }, overflowMarkings.map(marking => /*#__PURE__*/React.createElement(OverflowItem, {\n key: marking.id,\n id: marking.id,\n label: marking.label,\n description: marking.description,\n selectionState: marking.selectionState,\n disabled: marking.disabled,\n onToggle: onMarkingToggle\n }))))));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Tooltip } from \"@base-ui/react/tooltip\";\nimport { InfoSign } from \"@blueprintjs/icons\";\nimport React from \"react\";\nimport styles from \"./CategoryMarkingGroup.module.css\";\nimport { MarkingButton } from \"./MarkingButton.js\";\nimport { OverflowButton } from \"./OverflowButton.js\";\nimport { isImplied } from \"./selectionStateHelpers.js\";\nconst GRID_COLUMNS = 4;\nconst VISIBLE_ROWS = 3;\nconst DEFAULT_MARKING_STATE = \"NONE\";\nexport const CategoryMarkingGroup = /*#__PURE__*/React.memo(function CategoryMarkingGroup({\n categoryName,\n categoryDescription,\n markings,\n markingStates,\n readOnly,\n onMarkingToggle\n}) {\n const headingId = React.useId();\n const resolvedMarkings = React.useMemo(() => markings.map(marking => ({\n id: marking.id,\n label: marking.name,\n description: marking.description,\n selectionState: markingStates.get(marking.id) ?? DEFAULT_MARKING_STATE,\n disabled: readOnly\n })), [markings, markingStates, readOnly]);\n const maxVisible = GRID_COLUMNS * VISIBLE_ROWS;\n const hasOverflow = resolvedMarkings.length > maxVisible;\n const visibleMarkings = hasOverflow ? resolvedMarkings.slice(0, maxVisible - 1) : resolvedMarkings;\n const overflowMarkings = hasOverflow ? resolvedMarkings.slice(maxVisible - 1) : [];\n const gridItemCount = hasOverflow ? visibleMarkings.length + 1 : visibleMarkings.length;\n const emptyCellCount = (GRID_COLUMNS - gridItemCount % GRID_COLUMNS) % GRID_COLUMNS;\n const hasActiveOverflow = overflowMarkings.some(m => m.selectionState === \"SELECTED\" || isImplied(m.selectionState));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoryGroup,\n role: \"group\",\n \"aria-labelledby\": headingId\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoryHeader\n }, /*#__PURE__*/React.createElement(\"h3\", {\n id: headingId,\n className: styles.categoryName\n }, categoryName), categoryDescription != null && categoryDescription.length > 0 && /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: /*#__PURE__*/React.createElement(\"span\", {\n className: styles.infoIcon,\n \"aria-label\": \"Category description\"\n }, /*#__PURE__*/React.createElement(InfoSign, {\n size: 12\n }))\n }), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"top\",\n sideOffset: 4\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, {\n className: styles.infoTooltip\n }, categoryDescription))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markingGrid\n }, visibleMarkings.map(marking => /*#__PURE__*/React.createElement(MarkingButton, {\n key: marking.id,\n id: marking.id,\n label: marking.label,\n description: marking.description,\n selectionState: marking.selectionState,\n disabled: marking.disabled,\n onToggle: onMarkingToggle\n })), hasOverflow && /*#__PURE__*/React.createElement(OverflowButton, {\n overflowMarkings: overflowMarkings,\n hasActiveOverflow: hasActiveOverflow,\n onMarkingToggle: onMarkingToggle\n }), Array.from({\n length: emptyCellCount\n }, (_, i) => /*#__PURE__*/React.createElement(\"div\", {\n key: `empty-${i}`,\n className: styles.emptyCell\n }))));\n});","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.infoBanner {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n padding: var(--osdk-cbac-info-banner-padding);\n background: var(--osdk-cbac-info-banner-bg);\n color: var(--osdk-cbac-info-banner-color);\n font-size: var(--osdk-cbac-info-banner-font-size);\n border-radius: var(--osdk-cbac-info-banner-border-radius);\n}\n\n.icon {\n flex-shrink: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InfoSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./InfoBanner.module.css\";\nexport function InfoBanner({\n message,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.infoBanner, className)\n }, /*#__PURE__*/React.createElement(InfoSign, {\n className: styles.icon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"span\", null, message));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.validationWarning {\n display: flex;\n flex-direction: column;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n padding: var(--osdk-cbac-validation-warning-padding);\n background: var(--osdk-cbac-validation-warning-bg);\n color: var(--osdk-cbac-validation-warning-color);\n font-size: var(--osdk-cbac-validation-warning-font-size);\n border-radius: var(--osdk-cbac-validation-warning-border-radius);\n max-height: var(--osdk-cbac-validation-warning-max-height);\n overflow-y: auto;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 1.5);\n}\n\n.icon {\n flex-shrink: 0;\n}\n\n.groupList {\n list-style: none;\n margin: 0;\n padding: 0;\n padding-left: calc(var(--osdk-surface-spacing) * 3);\n display: flex;\n flex-direction: column;\n gap: var(--osdk-surface-spacing);\n}\n\n.groupItem {\n display: flex;\n align-items: center;\n gap: var(--osdk-surface-spacing);\n flex-wrap: wrap;\n}\n\n.groupNumber {\n font-weight: var(--osdk-typography-weight-bold);\n flex-shrink: 0;\n}\n\n.chip {\n display: inline-flex;\n align-items: center;\n padding: 0 var(--osdk-surface-spacing);\n border: 1px solid var(--osdk-cbac-validation-warning-chip-border-color);\n border-radius: var(--osdk-surface-border-radius);\n background: var(--osdk-cbac-validation-warning-chip-bg);\n font-size: var(--osdk-cbac-validation-warning-font-size);\n color: var(--osdk-typography-color-default-rest);\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WarningSign } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./ValidationWarning.module.css\";\nexport function ValidationWarning({\n requiredMarkingGroups,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.validationWarning, className)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.header\n }, /*#__PURE__*/React.createElement(WarningSign, {\n className: styles.icon,\n size: 14\n }), /*#__PURE__*/React.createElement(\"span\", null, \"To complete a valid classification, at least one marking from each of the following sets needs to be selected:\")), /*#__PURE__*/React.createElement(\"ol\", {\n className: styles.groupList\n }, requiredMarkingGroups.map((group, index) => /*#__PURE__*/React.createElement(\"li\", {\n key: group.markingNames.join(\",\"),\n className: styles.groupItem\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.groupNumber\n }, index + 1, \".\"), group.markingNames.map(name => /*#__PURE__*/React.createElement(\"span\", {\n key: name,\n className: styles.chip\n }, name))))));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { formatCbacError } from \"../utils/errorMessages.js\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./BaseCbacPicker.module.css\";\nimport { CategoryMarkingGroup } from \"./CategoryMarkingGroup.js\";\nimport { InfoBanner } from \"./InfoBanner.js\";\nimport { ValidationWarning } from \"./ValidationWarning.js\";\nexport function BaseCbacPicker({\n categories,\n markingStates,\n banner,\n onMarkingToggle,\n onDismissBanner,\n showInfoBanner,\n requiredMarkingGroups,\n isValid,\n readOnly,\n isLoading,\n error,\n validationCallouts,\n className\n}) {\n const errorMessage = error != null ? formatCbacError(error) : undefined;\n const showInitialLoading = isLoading === true && categories.length === 0;\n const showValidationWarning = isValid === false && requiredMarkingGroups != null && requiredMarkingGroups.length > 0;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.picker, className)\n }, showInfoBanner === true && /*#__PURE__*/React.createElement(InfoBanner, {\n message: \"Implied markings are (in parentheses).\"\n }), banner != null && /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: banner.classificationString,\n textColor: banner.textColor,\n backgroundColors: banner.backgroundColors,\n onDismiss: onDismissBanner,\n className: styles.innerBanner\n }), errorMessage !== undefined ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.statusMessage,\n role: \"alert\"\n }, /*#__PURE__*/React.createElement(\"p\", null, errorMessage.title), errorMessage.remediation && /*#__PURE__*/React.createElement(\"p\", null, errorMessage.remediation)) : showInitialLoading ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.statusMessage,\n role: \"status\",\n \"aria-live\": \"polite\"\n }, \"Loading...\") : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.categoriesContainer\n }, categories.map(group => /*#__PURE__*/React.createElement(CategoryMarkingGroup, {\n key: group.category.id,\n categoryName: group.category.name,\n categoryDescription: group.category.description,\n markings: group.markings,\n markingStates: markingStates,\n readOnly: readOnly,\n onMarkingToggle: onMarkingToggle\n }))), validationCallouts, showValidationWarning && /*#__PURE__*/React.createElement(ValidationWarning, {\n requiredMarkingGroups: requiredMarkingGroups\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.tooltipTriggerWrapper {\n display: contents;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { ActionButton } from \"../../base-components/action-button/ActionButton.js\";\nimport { Tooltip } from \"../../base-components/tooltip/index.js\";\nimport styles from \"./CbacPickerDialogFooter.module.css\";\nexport function CbacPickerDialogFooter({\n onCancel,\n onConfirm,\n submitDisabledReason\n}) {\n const isSubmitDisabled = submitDisabledReason != null;\n const submitButton = /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"primary\",\n onClick: onConfirm,\n disabled: isSubmitDisabled\n }, \"Set classification\");\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionButton, {\n variant: \"secondary\",\n onClick: onCancel\n }, \"Cancel\"), isSubmitDisabled ? /*#__PURE__*/React.createElement(Tooltip.Root, null, /*#__PURE__*/React.createElement(Tooltip.Trigger, {\n render: /*#__PURE__*/React.createElement(\"span\", {\n className: styles.tooltipTriggerWrapper\n })\n }, submitButton), /*#__PURE__*/React.createElement(Tooltip.Portal, null, /*#__PURE__*/React.createElement(Tooltip.Positioner, {\n side: \"top\"\n }, /*#__PURE__*/React.createElement(Tooltip.Popup, null, submitDisabledReason, /*#__PURE__*/React.createElement(Tooltip.Arrow, null))))) : submitButton);\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { Dialog } from \"../../base-components/dialog/Dialog.js\";\nimport { BaseCbacPicker } from \"./BaseCbacPicker.js\";\nimport { CbacPickerDialogFooter } from \"./CbacPickerDialogFooter.js\";\nexport function BaseCbacPickerDialog({\n isOpen,\n onOpenChange,\n onConfirm,\n onCancel,\n title = \"Select classification\",\n submitDisabledReason,\n ...pickerProps\n}) {\n const handleOpenChange = React.useCallback(open => {\n if (!open) {\n onCancel();\n }\n onOpenChange(open);\n }, [onCancel, onOpenChange]);\n return /*#__PURE__*/React.createElement(Dialog, {\n isOpen: isOpen,\n onOpenChange: handleOpenChange,\n title: title,\n footer: /*#__PURE__*/React.createElement(CbacPickerDialogFooter, {\n onCancel: onCancel,\n onConfirm: onConfirm,\n submitDisabledReason: submitDisabledReason\n }),\n disablePointerDismissal: true\n }, /*#__PURE__*/React.createElement(BaseCbacPicker, _extends({}, pickerProps, {\n showInfoBanner: pickerProps.showInfoBanner ?? true\n })));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function toggleMarking(markingId, currentSelection, categories) {\n const isSelected = currentSelection.includes(markingId);\n let ownerGroup;\n for (const group of categories) {\n for (const marking of group.markings) {\n if (marking.id === markingId) {\n ownerGroup = group;\n break;\n }\n }\n if (ownerGroup !== undefined) {\n break;\n }\n }\n if (ownerGroup === undefined) {\n return currentSelection;\n }\n if (isSelected) {\n return currentSelection.filter(id => id !== markingId);\n }\n\n // Disjunctive categories allow only one marking selected at a time (radio-style).\n // Conjunctive categories allow multiple markings (checkbox-style).\n if (ownerGroup.category.categoryType === \"DISJUNCTIVE\") {\n const sameCategoryMarkingIds = new Set(ownerGroup.markings.map(m => m.id));\n const withoutSameCategory = currentSelection.filter(id => !sameCategoryMarkingIds.has(id));\n return [...withoutSameCategory, markingId];\n }\n return [...currentSelection, markingId];\n}\nexport function computeMarkingStates(selectedIds, impliedIds, disallowedIds) {\n const states = new Map();\n const selectedSet = new Set(selectedIds);\n const impliedSet = new Set(impliedIds);\n const disallowedSet = new Set(disallowedIds);\n const allIds = new Set([...selectedIds, ...impliedIds, ...disallowedIds]);\n for (const id of allIds) {\n const isImplied = impliedSet.has(id);\n const isDisallowed = disallowedSet.has(id);\n const isSelected = selectedSet.has(id);\n if (isSelected) {\n states.set(id, \"SELECTED\");\n } else if (isImplied && isDisallowed) {\n states.set(id, \"IMPLIED_DISALLOWED\");\n } else if (isImplied) {\n states.set(id, \"IMPLIED\");\n } else if (isDisallowed) {\n states.set(id, \"DISALLOWED\");\n }\n }\n return states;\n}\nexport function groupMarkingsByCategory(markings, categories) {\n const markingsByCategoryId = new Map();\n for (const marking of markings) {\n const existing = markingsByCategoryId.get(marking.categoryId);\n if (existing !== undefined) {\n existing.push(marking);\n } else {\n markingsByCategoryId.set(marking.categoryId, [marking]);\n }\n }\n const groups = [];\n for (const category of categories) {\n const categoryMarkings = markingsByCategoryId.get(category.id);\n if (categoryMarkings !== undefined && categoryMarkings.length > 0) {\n groups.push({\n category,\n markings: categoryMarkings\n });\n }\n }\n return groups;\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner, useCbacMarkingRestrictions, useMarkingCategories, useMarkings } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { EMPTY_ARRAY, resolveRequiredGroups } from \"./utils/cbacPickerUtils.js\";\nimport { computeMarkingStates, groupMarkingsByCategory } from \"./utils/selectionLogic.js\";\nconst EMPTY_GROUPS = [];\nfunction useStableArray(arr) {\n const ref = React.useRef(arr);\n if (arr.length !== ref.current.length || arr.some((id, i) => id !== ref.current[i])) {\n ref.current = arr;\n }\n return ref.current;\n}\nexport function useCbacPickerState(selectedIds) {\n const stableSelectedIds = useStableArray(selectedIds);\n const {\n categories: rawCategories,\n isLoading: categoriesLoading,\n error: categoriesError,\n refetch: refetchCategories\n } = useMarkingCategories();\n const {\n markings: rawMarkings,\n isLoading: markingsLoading,\n error: markingsError,\n refetch: refetchMarkings\n } = useMarkings();\n const {\n banner: latestBanner,\n isLoading: bannerLoading,\n error: bannerError,\n refetch: refetchBanner\n } = useCbacBanner({\n markingIds: stableSelectedIds\n });\n const bannerRef = React.useRef(latestBanner);\n if (latestBanner != null) {\n bannerRef.current = latestBanner;\n }\n const banner = latestBanner ?? bannerRef.current;\n const {\n restrictions,\n isLoading: restrictionsLoading,\n error: restrictionsError,\n refetch: refetchRestrictions\n } = useCbacMarkingRestrictions({\n markingIds: stableSelectedIds\n });\n const impliedMarkingIds = restrictions?.impliedMarkings ?? EMPTY_ARRAY;\n const disallowedMarkingIds = restrictions?.disallowedMarkings ?? EMPTY_ARRAY;\n const requiredMarkingGroups = restrictions?.requiredMarkings ?? EMPTY_GROUPS;\n const isValid = restrictions?.isValid ?? true;\n const userSatisfiesMarkings = restrictions?.userSatisfiesMarkings ?? true;\n const isLoading = categoriesLoading || markingsLoading || restrictionsLoading || bannerLoading;\n const error = React.useMemo(() => {\n const errors = [categoriesError, markingsError, restrictionsError, bannerError].filter(e => e != null);\n if (errors.length > 1) {\n return new AggregateError(errors, errors.map(e => e.message).join(\"; \"));\n }\n return errors[0];\n }, [categoriesError, markingsError, restrictionsError, bannerError]);\n const retry = React.useCallback(() => {\n refetchCategories();\n refetchMarkings();\n refetchBanner();\n refetchRestrictions();\n }, [refetchCategories, refetchMarkings, refetchBanner, refetchRestrictions]);\n const categoryGroups = React.useMemo(() => {\n if (rawCategories === undefined || rawMarkings === undefined) {\n return [];\n }\n return groupMarkingsByCategory(rawMarkings, rawCategories);\n }, [rawMarkings, rawCategories]);\n const markingStates = React.useMemo(() => computeMarkingStates(stableSelectedIds, impliedMarkingIds, disallowedMarkingIds), [stableSelectedIds, impliedMarkingIds, disallowedMarkingIds]);\n const resolvedRequiredGroups = React.useMemo(() => resolveRequiredGroups(categoryGroups, requiredMarkingGroups), [categoryGroups, requiredMarkingGroups]);\n return React.useMemo(() => ({\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups: resolvedRequiredGroups,\n isValid,\n userSatisfiesMarkings,\n disallowedMarkingIds,\n isLoading,\n error,\n retry\n }), [categoryGroups, markingStates, banner, resolvedRequiredGroups, isValid, userSatisfiesMarkings, disallowedMarkingIds, isLoading, error, retry]);\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { useCbacPickerState } from \"./useCbacPickerState.js\";\nimport { EMPTY_ARRAY } from \"./utils/cbacPickerUtils.js\";\nimport { toggleMarking } from \"./utils/selectionLogic.js\";\nexport function useCbacSelection(initialMarkingIds) {\n const [selectedIds, setSelectedIds] = React.useState(initialMarkingIds ?? EMPTY_ARRAY);\n const [prevInitialIds, setPrevInitialIds] = React.useState(initialMarkingIds);\n if (initialMarkingIds !== prevInitialIds) {\n setPrevInitialIds(initialMarkingIds);\n setSelectedIds(initialMarkingIds ?? EMPTY_ARRAY);\n }\n const pickerState = useCbacPickerState(selectedIds);\n const selectedIdsRef = React.useRef(selectedIds);\n selectedIdsRef.current = selectedIds;\n const categoryGroupsRef = React.useRef(pickerState.categoryGroups);\n categoryGroupsRef.current = pickerState.categoryGroups;\n const toggle = React.useCallback(markingId => {\n setSelectedIds(prev => toggleMarking(markingId, prev, categoryGroupsRef.current));\n }, []);\n const dismiss = React.useCallback(() => {\n setSelectedIds(EMPTY_ARRAY);\n }, []);\n const reset = React.useCallback(() => {\n setSelectedIds(initialMarkingIds ?? EMPTY_ARRAY);\n }, [initialMarkingIds]);\n return {\n selectedIds,\n selectedIdsRef,\n setSelectedIds,\n ...pickerState,\n toggle,\n dismiss,\n reset\n };\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.container {\n display: flex;\n flex-direction: column;\n gap: var(--osdk-cbac-marking-button-gap);\n}\n\n.label {\n font-size: var(--osdk-cbac-picker-category-title-font-size);\n font-weight: var(--osdk-cbac-picker-category-title-font-weight);\n color: var(--osdk-cbac-picker-category-title-color);\n letter-spacing: var(--osdk-cbac-picker-category-title-letter-spacing);\n margin: 0;\n}\n\n.bannerWrapper {\n pointer-events: none;\n}\n\n.helperText {\n font-size: var(--osdk-typography-size-body-small);\n color: var(--osdk-typography-color-muted);\n margin: 0;\n}\n","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { BaseCbacBanner } from \"./BaseCbacBanner.js\";\nimport styles from \"./MaxClassificationField.module.css\";\nexport function MaxClassificationField({\n classificationString,\n textColor,\n backgroundColors,\n helperText,\n className\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.container, className)\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: styles.label\n }, \"Maximum allowed classification\"), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bannerWrapper\n }, /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: classificationString,\n textColor: textColor,\n backgroundColors: backgroundColors\n })), helperText != null && /*#__PURE__*/React.createElement(\"p\", {\n className: styles.helperText\n }, helperText));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { MaxClassificationField } from \"./base/MaxClassificationField.js\";\nimport { EMPTY_ARRAY, resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function useConstraintCallout(maxClassificationConstraint) {\n const constraintMarkingIds = maxClassificationConstraint?.markingIds ?? EMPTY_ARRAY;\n const {\n banner: constraintBanner\n } = useCbacBanner({\n markingIds: constraintMarkingIds,\n enabled: maxClassificationConstraint != null\n });\n return React.useMemo(() => {\n if (maxClassificationConstraint == null) {\n return undefined;\n }\n const resolved = resolveBannerDisplay(constraintBanner);\n return /*#__PURE__*/React.createElement(MaxClassificationField, {\n classificationString: maxClassificationConstraint.bannerClassificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n helperText: maxClassificationConstraint.helperText\n });\n }, [maxClassificationConstraint, constraintBanner]);\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function getSubmitDisabledReason(ctx) {\n if (ctx.isValid) {\n return undefined;\n }\n if (ctx.requiredMarkingGroups.length > 0) {\n return \"Selected markings do not include all required markings.\";\n }\n const selectedSet = new Set(ctx.selectedIds);\n const hasDisallowedSelected = ctx.disallowedMarkingIds.some(id => selectedSet.has(id));\n if (hasDisallowedSelected) {\n return \"Selections include disallowed markings.\";\n }\n if (!ctx.userSatisfiesMarkings) {\n return \"Invalid configuration of markings. Please ensure that you have permission to use all selected markings.\";\n }\n return \"Invalid marking selection.\";\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { BaseCbacPickerDialog } from \"./base/BaseCbacPickerDialog.js\";\nimport { useCbacSelection } from \"./useCbacSelection.js\";\nimport { useConstraintCallout } from \"./useConstraintCallout.js\";\nimport { getSubmitDisabledReason } from \"./utils/validationMessages.js\";\nexport function CbacPickerDialog({\n isOpen,\n onOpenChange,\n onConfirm,\n initialMarkingIds,\n maxClassificationConstraint\n}) {\n const {\n selectedIds,\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups,\n isValid,\n userSatisfiesMarkings,\n disallowedMarkingIds,\n isLoading,\n error,\n toggle,\n dismiss,\n reset\n } = useCbacSelection(initialMarkingIds);\n\n // Parent controls dialog close on confirm (e.g. to show a loading state)\n const handleConfirm = React.useCallback(() => {\n onConfirm(selectedIds);\n }, [onConfirm, selectedIds]);\n const handleCancel = React.useCallback(() => {\n reset();\n onOpenChange(false);\n }, [reset, onOpenChange]);\n const hasInitialMarkings = initialMarkingIds !== undefined && initialMarkingIds.length > 0;\n const submitDisabledReason = React.useMemo(() => getSubmitDisabledReason({\n isValid,\n requiredMarkingGroups,\n selectedIds,\n disallowedMarkingIds,\n userSatisfiesMarkings\n }), [isValid, requiredMarkingGroups, selectedIds, disallowedMarkingIds, userSatisfiesMarkings]);\n const constraintCallout = useConstraintCallout(maxClassificationConstraint);\n return /*#__PURE__*/React.createElement(BaseCbacPickerDialog, {\n isOpen: isOpen,\n onOpenChange: onOpenChange,\n onConfirm: handleConfirm,\n onCancel: handleCancel,\n title: hasInitialMarkings ? \"Edit classification\" : \"Add classification\",\n categories: categoryGroups,\n markingStates: markingStates,\n banner: banner,\n onMarkingToggle: toggle,\n onDismissBanner: dismiss,\n requiredMarkingGroups: requiredMarkingGroups,\n isValid: isValid,\n submitDisabledReason: submitDisabledReason,\n validationCallouts: constraintCallout,\n isLoading: isLoading,\n error: error\n });\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useCbacBanner, useMarkingCategories, useMarkings } from \"@osdk/react/platform-apis\";\nimport React from \"react\";\nimport { BaseCbacBannerPopover } from \"./base/BaseCbacBannerPopover.js\";\nimport { CbacPickerDialog } from \"./CbacPickerDialog.js\";\nimport { groupMarkingsByCategory, resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function CbacBannerPopover({\n markingIds,\n onChange,\n maxClassificationConstraint,\n className\n}) {\n const {\n banner,\n isLoading: bannerLoading,\n error: bannerError,\n refetch: refetchBanner\n } = useCbacBanner({\n markingIds\n });\n const {\n categories,\n isLoading: categoriesLoading,\n error: categoriesError,\n refetch: refetchCategories\n } = useMarkingCategories();\n const {\n markings,\n isLoading: markingsLoading,\n error: markingsError,\n refetch: refetchMarkings\n } = useMarkings();\n const [isDialogOpen, setIsDialogOpen] = React.useState(false);\n const isLoading = bannerLoading || categoriesLoading || markingsLoading;\n const error = bannerError ?? categoriesError ?? markingsError;\n const handleRetry = React.useCallback(() => {\n refetchBanner();\n refetchCategories();\n refetchMarkings();\n }, [refetchBanner, refetchCategories, refetchMarkings]);\n const appliedMarkings = React.useMemo(() => groupMarkingsByCategory(markingIds, categories, markings), [markingIds, categories, markings]);\n const resolved = resolveBannerDisplay(banner);\n const description = markingIds.length === 0 ? \"This data has no classification restrictions.\" : `This data is classified as: ${resolved.classificationString}`;\n const handleEditClick = React.useCallback(() => {\n setIsDialogOpen(true);\n }, []);\n const handleConfirm = React.useCallback(newMarkingIds => {\n onChange(newMarkingIds);\n setIsDialogOpen(false);\n }, [onChange]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BaseCbacBannerPopover, {\n classificationString: resolved.classificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n appliedMarkings: appliedMarkings,\n onEditClick: handleEditClick,\n description: description,\n isLoading: isLoading,\n error: error,\n onRetry: handleRetry,\n className: className\n }), isDialogOpen && /*#__PURE__*/React.createElement(CbacPickerDialog, {\n isOpen: isDialogOpen,\n onOpenChange: setIsDialogOpen,\n onConfirm: handleConfirm,\n initialMarkingIds: markingIds,\n maxClassificationConstraint: maxClassificationConstraint\n }));\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport { BaseCbacPicker } from \"./base/BaseCbacPicker.js\";\nimport { useCbacSelection } from \"./useCbacSelection.js\";\nimport { useConstraintCallout } from \"./useConstraintCallout.js\";\nimport { EMPTY_ARRAY } from \"./utils/cbacPickerUtils.js\";\nimport { toggleMarking } from \"./utils/selectionLogic.js\";\nexport function CbacPicker({\n initialMarkingIds,\n onChange,\n maxClassificationConstraint,\n readOnly,\n className\n}) {\n const {\n selectedIdsRef,\n setSelectedIds,\n categoryGroups,\n markingStates,\n banner,\n requiredMarkingGroups,\n isValid,\n isLoading,\n error\n } = useCbacSelection(initialMarkingIds);\n const handleMarkingToggle = React.useCallback(markingId => {\n if (readOnly) {\n return;\n }\n const newSelection = toggleMarking(markingId, selectedIdsRef.current, categoryGroups);\n setSelectedIds(newSelection);\n onChange(newSelection);\n }, [readOnly, categoryGroups, onChange]);\n const handleDismiss = React.useCallback(() => {\n setSelectedIds(EMPTY_ARRAY);\n onChange(EMPTY_ARRAY);\n }, [onChange]);\n const constraintCallout = useConstraintCallout(maxClassificationConstraint);\n return /*#__PURE__*/React.createElement(BaseCbacPicker, {\n categories: categoryGroups,\n markingStates: markingStates,\n banner: banner,\n onMarkingToggle: handleMarkingToggle,\n onDismissBanner: handleDismiss,\n requiredMarkingGroups: requiredMarkingGroups,\n isValid: isValid,\n readOnly: readOnly,\n isLoading: isLoading,\n error: error,\n validationCallouts: constraintCallout,\n className: className\n });\n}","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// CBAC Picker - OSDK-aware components\nexport { CbacBanner } from \"../../cbac-picker/CbacBanner.js\";\nexport { CbacBannerPopover } from \"../../cbac-picker/CbacBannerPopover.js\";\nimport { CbacPicker as _CbacPicker } from \"../../cbac-picker/CbacPicker.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const CbacPicker = withOsdkMetrics(_CbacPicker, \"CbacPicker\");\nexport { CbacPickerDialog } from \"../../cbac-picker/CbacPickerDialog.js\";\n\n// CBAC Picker - Base components\nexport { BaseCbacBanner } from \"../../cbac-picker/base/BaseCbacBanner.js\";\nexport { BaseCbacPicker } from \"../../cbac-picker/base/BaseCbacPicker.js\";\nexport { BaseCbacPickerDialog } from \"../../cbac-picker/base/BaseCbacPickerDialog.js\";\n\n// CBAC Picker - Selection logic utilities\nexport { computeMarkingStates, groupMarkingsByCategory, toggleMarking } from \"../../cbac-picker/utils/selectionLogic.js\";\n// CBAC Picker - Types\n\n// CBAC Picker - MaxClassificationField\nexport { MaxClassificationField } from \"../../cbac-picker/base/MaxClassificationField.js\";"]}