@osdk/react-components 0.27.0-main-2d40fb6225e578238ba1748b9bbcdb15ee5c2fa2 → 0.27.0

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 (54) hide show
  1. package/CHANGELOG.md +2 -9
  2. package/build/browser/util/UserAgent.js +1 -1
  3. package/build/browser/util/UserAgent.js.map +1 -1
  4. package/build/cjs/chunk-6E4GBYIW.cjs +11 -0
  5. package/build/cjs/{chunk-CPUTUOSG.cjs.map → chunk-6E4GBYIW.cjs.map} +1 -1
  6. package/build/cjs/{chunk-PP2E6Y2O.cjs → chunk-76WC644D.cjs} +4 -4
  7. package/build/cjs/{chunk-PP2E6Y2O.cjs.map → chunk-76WC644D.cjs.map} +1 -1
  8. package/build/cjs/{chunk-J5ILBWXJ.cjs → chunk-BPCDFFIB.cjs} +4 -4
  9. package/build/cjs/{chunk-J5ILBWXJ.cjs.map → chunk-BPCDFFIB.cjs.map} +1 -1
  10. package/build/cjs/{chunk-NP55IY24.cjs → chunk-FO5CHXTP.cjs} +3 -3
  11. package/build/cjs/chunk-FO5CHXTP.cjs.map +1 -0
  12. package/build/cjs/{chunk-SQHKYCV2.cjs → chunk-G7KK3TDF.cjs} +4 -4
  13. package/build/cjs/{chunk-SQHKYCV2.cjs.map → chunk-G7KK3TDF.cjs.map} +1 -1
  14. package/build/cjs/chunk-GDEAEMAN.cjs +11 -0
  15. package/build/cjs/{chunk-MK43YXNE.cjs.map → chunk-GDEAEMAN.cjs.map} +1 -1
  16. package/build/cjs/{chunk-52YHUPK3.cjs → chunk-J3AQ2RZM.cjs} +4 -4
  17. package/build/cjs/{chunk-52YHUPK3.cjs.map → chunk-J3AQ2RZM.cjs.map} +1 -1
  18. package/build/cjs/chunk-KDF6WIDM.cjs +11 -0
  19. package/build/cjs/{chunk-4EVPF47C.cjs.map → chunk-KDF6WIDM.cjs.map} +1 -1
  20. package/build/cjs/{chunk-7CGCTGH7.cjs → chunk-LYDFGXDQ.cjs} +4 -4
  21. package/build/cjs/{chunk-7CGCTGH7.cjs.map → chunk-LYDFGXDQ.cjs.map} +1 -1
  22. package/build/cjs/{chunk-R25WB47L.cjs → chunk-Q7WLFDL4.cjs} +4 -4
  23. package/build/cjs/{chunk-R25WB47L.cjs.map → chunk-Q7WLFDL4.cjs.map} +1 -1
  24. package/build/cjs/chunk-U35KSZVY.cjs +11 -0
  25. package/build/cjs/{chunk-3Z2QYHCW.cjs.map → chunk-U35KSZVY.cjs.map} +1 -1
  26. package/build/cjs/{chunk-KOFDJQLF.cjs → chunk-VL4VZJ6J.cjs} +4 -4
  27. package/build/cjs/{chunk-KOFDJQLF.cjs.map → chunk-VL4VZJ6J.cjs.map} +1 -1
  28. package/build/cjs/{chunk-4LUXROJS.cjs → chunk-WQOG6LR4.cjs} +4 -4
  29. package/build/cjs/{chunk-4LUXROJS.cjs.map → chunk-WQOG6LR4.cjs.map} +1 -1
  30. package/build/cjs/chunk-WV267H2C.cjs +11 -0
  31. package/build/cjs/{chunk-6PW5LBZO.cjs.map → chunk-WV267H2C.cjs.map} +1 -1
  32. package/build/cjs/public/experimental/action-form.cjs +4 -4
  33. package/build/cjs/public/experimental/cbac-picker.cjs +13 -13
  34. package/build/cjs/public/experimental/document-viewer.cjs +4 -4
  35. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  36. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  37. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  38. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  39. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  40. package/build/cjs/public/experimental/object-table.cjs +8 -8
  41. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  42. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  43. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  44. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  45. package/build/cjs/public/experimental.cjs +60 -60
  46. package/build/esm/util/UserAgent.js +1 -1
  47. package/build/esm/util/UserAgent.js.map +1 -1
  48. package/package.json +7 -7
  49. package/build/cjs/chunk-3Z2QYHCW.cjs +0 -11
  50. package/build/cjs/chunk-4EVPF47C.cjs +0 -11
  51. package/build/cjs/chunk-6PW5LBZO.cjs +0 -11
  52. package/build/cjs/chunk-CPUTUOSG.cjs +0 -11
  53. package/build/cjs/chunk-MK43YXNE.cjs +0 -11
  54. package/build/cjs/chunk-NP55IY24.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cbac-picker/utils/cbacPickerUtils.ts","../../src/cbac-picker/base/BaseCbacBanner.module.css","../../src/cbac-picker/base/BaseCbacBanner.tsx","../../src/cbac-picker/CbacBanner.tsx","../../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","Button","Cross","classnames","useCbacBanner","Popover","CaretUp","CaretDown","PopoverContent","ActionButton","WarningSign","SkeletonBar","MarkingButton","button","Tooltip","OverflowItem","CategoryMarkingGroup","InfoSign","Dialog","isImplied","isDisallowed","groupMarkingsByCategory","useMarkingCategories","useMarkings","useCbacMarkingRestrictions","CbacPicker","withOsdkMetrics"],"mappings":"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","file":"chunk-SQHKYCV2.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\nconst UNMARKED_BACKGROUND_COLORS = [\"#8F99A8\"];\nconst UNMARKED_TEXT_COLOR = \"#FFFFFF\";\nconst UNMARKED_CLASSIFICATION_STRING = \"UNMARKED\";\nexport const EMPTY_ARRAY = [];\nexport function backgroundFromColors(backgroundColors) {\n return backgroundColors.length > 1 ? `linear-gradient(to right, ${backgroundColors.join(\", \")})` : backgroundColors[0] ?? \"transparent\";\n}\nexport function resolveBannerDisplay(banner) {\n return {\n classificationString: banner?.classificationString ?? UNMARKED_CLASSIFICATION_STRING,\n textColor: banner?.textColor ?? UNMARKED_TEXT_COLOR,\n backgroundColors: banner?.backgroundColors ?? UNMARKED_BACKGROUND_COLORS\n };\n}\nexport function groupMarkingsByCategory(markingIds, categories, markings) {\n if (markingIds.length === 0 || categories === undefined || markings === undefined) {\n return [];\n }\n const selected = new Set(markingIds);\n const categoryNames = new Map(categories.map(c => [c.id, c.name]));\n const grouped = new Map();\n for (const marking of markings) {\n if (selected.has(marking.id)) {\n const name = categoryNames.get(marking.categoryId) ?? marking.categoryId;\n const list = grouped.get(name);\n if (list !== undefined) {\n list.push(marking.name);\n } else {\n grouped.set(name, [marking.name]);\n }\n }\n }\n return Array.from(grouped, ([categoryName, markingNames]) => ({\n categoryName,\n markingNames\n }));\n}\nexport function resolveRequiredGroups(categoryGroups, requiredMarkingGroups) {\n const markingIdToName = new Map(categoryGroups.flatMap(g => g.markings).map(m => [m.id, m.name]));\n return requiredMarkingGroups.map(ids => ({\n markingNames: ids.map(id => markingIdToName.get(id) ?? id)\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.bannerRow {\n display: flex;\n align-items: center;\n border-radius: var(--osdk-cbac-banner-border-radius);\n width: 100%;\n box-sizing: border-box;\n background: var(--osdk-cbac-banner-bg);\n color: var(--osdk-cbac-banner-color);\n}\n\n.banner {\n flex: 1;\n padding: var(--osdk-cbac-banner-padding);\n font-size: var(--osdk-cbac-banner-font-size);\n font-weight: var(--osdk-cbac-banner-font-weight);\n text-align: var(--osdk-cbac-banner-text-align);\n font-family: inherit;\n border: none;\n background: transparent;\n color: inherit;\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.clickable:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.clickable:hover {\n filter: brightness(0.9);\n text-decoration: underline;\n}\n\n.dismissButton {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: calc(var(--osdk-surface-spacing) * 1);\n margin-right: calc(var(--osdk-surface-spacing) * 1);\n background: transparent;\n border: none;\n color: inherit;\n cursor: pointer;\n border-radius: var(--osdk-surface-border-radius);\n flex-shrink: 0;\n}\n\n.dismissButton:hover {\n filter: brightness(0.8);\n}\n\n.dismissButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\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 { Cross } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { backgroundFromColors } from \"../utils/cbacPickerUtils.js\";\nimport styles from \"./BaseCbacBanner.module.css\";\nexport function BaseCbacBanner({\n classificationString,\n textColor,\n backgroundColors,\n onClick,\n onDismiss,\n className\n}) {\n const bannerStyle = React.useMemo(() => ({\n \"--osdk-cbac-banner-bg\": backgroundFromColors(backgroundColors),\n \"--osdk-cbac-banner-color\": textColor\n }), [textColor, backgroundColors]);\n const handleDismiss = React.useCallback(e => {\n e.stopPropagation();\n onDismiss?.();\n }, [onDismiss]);\n const dismissButton = onDismiss != null ? /*#__PURE__*/React.createElement(Button, {\n className: styles.dismissButton,\n onClick: handleDismiss,\n \"aria-label\": \"Clear classification\"\n }, /*#__PURE__*/React.createElement(Cross, {\n size: 12,\n color: \"currentColor\"\n })) : null;\n if (onClick != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.bannerRow, className),\n style: bannerStyle\n }, /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.banner, styles.clickable),\n onClick: onClick,\n \"aria-label\": \"Edit classification\"\n }, classificationString), dismissButton);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.bannerRow, className),\n style: bannerStyle\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.banner\n }, classificationString), dismissButton);\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 { BaseCbacBanner } from \"./base/BaseCbacBanner.js\";\nimport { resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function CbacBanner({\n markingIds,\n onClick,\n onDismiss,\n className\n}) {\n const {\n banner\n } = useCbacBanner({\n markingIds\n });\n const resolved = resolveBannerDisplay(banner);\n return /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: resolved.classificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n onClick: onClick,\n onDismiss: onDismiss,\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\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/cbacPickerUtils.ts","../../src/cbac-picker/base/BaseCbacBanner.module.css","../../src/cbac-picker/base/BaseCbacBanner.tsx","../../src/cbac-picker/CbacBanner.tsx","../../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","Button","Cross","classnames","useCbacBanner","Popover","CaretUp","CaretDown","PopoverContent","ActionButton","WarningSign","SkeletonBar","MarkingButton","button","Tooltip","OverflowItem","CategoryMarkingGroup","InfoSign","Dialog","isImplied","isDisallowed","groupMarkingsByCategory","useMarkingCategories","useMarkings","useCbacMarkingRestrictions","CbacPicker","withOsdkMetrics"],"mappings":"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","file":"chunk-G7KK3TDF.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\nconst UNMARKED_BACKGROUND_COLORS = [\"#8F99A8\"];\nconst UNMARKED_TEXT_COLOR = \"#FFFFFF\";\nconst UNMARKED_CLASSIFICATION_STRING = \"UNMARKED\";\nexport const EMPTY_ARRAY = [];\nexport function backgroundFromColors(backgroundColors) {\n return backgroundColors.length > 1 ? `linear-gradient(to right, ${backgroundColors.join(\", \")})` : backgroundColors[0] ?? \"transparent\";\n}\nexport function resolveBannerDisplay(banner) {\n return {\n classificationString: banner?.classificationString ?? UNMARKED_CLASSIFICATION_STRING,\n textColor: banner?.textColor ?? UNMARKED_TEXT_COLOR,\n backgroundColors: banner?.backgroundColors ?? UNMARKED_BACKGROUND_COLORS\n };\n}\nexport function groupMarkingsByCategory(markingIds, categories, markings) {\n if (markingIds.length === 0 || categories === undefined || markings === undefined) {\n return [];\n }\n const selected = new Set(markingIds);\n const categoryNames = new Map(categories.map(c => [c.id, c.name]));\n const grouped = new Map();\n for (const marking of markings) {\n if (selected.has(marking.id)) {\n const name = categoryNames.get(marking.categoryId) ?? marking.categoryId;\n const list = grouped.get(name);\n if (list !== undefined) {\n list.push(marking.name);\n } else {\n grouped.set(name, [marking.name]);\n }\n }\n }\n return Array.from(grouped, ([categoryName, markingNames]) => ({\n categoryName,\n markingNames\n }));\n}\nexport function resolveRequiredGroups(categoryGroups, requiredMarkingGroups) {\n const markingIdToName = new Map(categoryGroups.flatMap(g => g.markings).map(m => [m.id, m.name]));\n return requiredMarkingGroups.map(ids => ({\n markingNames: ids.map(id => markingIdToName.get(id) ?? id)\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.bannerRow {\n display: flex;\n align-items: center;\n border-radius: var(--osdk-cbac-banner-border-radius);\n width: 100%;\n box-sizing: border-box;\n background: var(--osdk-cbac-banner-bg);\n color: var(--osdk-cbac-banner-color);\n}\n\n.banner {\n flex: 1;\n padding: var(--osdk-cbac-banner-padding);\n font-size: var(--osdk-cbac-banner-font-size);\n font-weight: var(--osdk-cbac-banner-font-weight);\n text-align: var(--osdk-cbac-banner-text-align);\n font-family: inherit;\n border: none;\n background: transparent;\n color: inherit;\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.clickable:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\n}\n\n.clickable:hover {\n filter: brightness(0.9);\n text-decoration: underline;\n}\n\n.dismissButton {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: calc(var(--osdk-surface-spacing) * 1);\n margin-right: calc(var(--osdk-surface-spacing) * 1);\n background: transparent;\n border: none;\n color: inherit;\n cursor: pointer;\n border-radius: var(--osdk-surface-border-radius);\n flex-shrink: 0;\n}\n\n.dismissButton:hover {\n filter: brightness(0.8);\n}\n\n.dismissButton:focus-visible {\n outline: var(--osdk-focus-outline);\n outline-offset: var(--osdk-focus-visible-outline-offset);\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 { Cross } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { backgroundFromColors } from \"../utils/cbacPickerUtils.js\";\nimport styles from \"./BaseCbacBanner.module.css\";\nexport function BaseCbacBanner({\n classificationString,\n textColor,\n backgroundColors,\n onClick,\n onDismiss,\n className\n}) {\n const bannerStyle = React.useMemo(() => ({\n \"--osdk-cbac-banner-bg\": backgroundFromColors(backgroundColors),\n \"--osdk-cbac-banner-color\": textColor\n }), [textColor, backgroundColors]);\n const handleDismiss = React.useCallback(e => {\n e.stopPropagation();\n onDismiss?.();\n }, [onDismiss]);\n const dismissButton = onDismiss != null ? /*#__PURE__*/React.createElement(Button, {\n className: styles.dismissButton,\n onClick: handleDismiss,\n \"aria-label\": \"Clear classification\"\n }, /*#__PURE__*/React.createElement(Cross, {\n size: 12,\n color: \"currentColor\"\n })) : null;\n if (onClick != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.bannerRow, className),\n style: bannerStyle\n }, /*#__PURE__*/React.createElement(Button, {\n className: classnames(styles.banner, styles.clickable),\n onClick: onClick,\n \"aria-label\": \"Edit classification\"\n }, classificationString), dismissButton);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.bannerRow, className),\n style: bannerStyle\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.banner\n }, classificationString), dismissButton);\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 { BaseCbacBanner } from \"./base/BaseCbacBanner.js\";\nimport { resolveBannerDisplay } from \"./utils/cbacPickerUtils.js\";\nexport function CbacBanner({\n markingIds,\n onClick,\n onDismiss,\n className\n}) {\n const {\n banner\n } = useCbacBanner({\n markingIds\n });\n const resolved = resolveBannerDisplay(banner);\n return /*#__PURE__*/React.createElement(BaseCbacBanner, {\n classificationString: resolved.classificationString,\n textColor: resolved.textColor,\n backgroundColors: resolved.backgroundColors,\n onClick: onClick,\n onDismiss: onDismiss,\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\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\";"]}