@osdk/react-components 0.20.0-main-4e2a115a796e8664c3972548bb02e707baafa912 → 0.20.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 (134) hide show
  1. package/CHANGELOG.md +2 -10
  2. package/build/browser/object-table/ObjectTable.js +2 -1
  3. package/build/browser/object-table/ObjectTable.js.map +1 -1
  4. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  5. package/build/browser/object-table/hooks/useObjectTableData.js +5 -3
  6. package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
  7. package/build/browser/pdf-viewer/PdfViewer.js +4 -6
  8. package/build/browser/pdf-viewer/PdfViewer.js.map +1 -1
  9. package/build/browser/pdf-viewer/components/PdfAnnotationOverlay.js +43 -0
  10. package/build/browser/pdf-viewer/components/PdfAnnotationOverlay.js.map +1 -0
  11. package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js +22 -14
  12. package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -1
  13. package/build/browser/pdf-viewer/components/PdfViewerContent.js +4 -6
  14. package/build/browser/pdf-viewer/components/PdfViewerContent.js.map +1 -1
  15. package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js +83 -13
  16. package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -1
  17. package/build/browser/pdf-viewer/types.js.map +1 -1
  18. package/build/browser/shared/calendar/DatePickerCommon.module.css +5 -0
  19. package/build/browser/styles.css +5 -0
  20. package/build/browser/util/UserAgent.js +1 -1
  21. package/build/browser/util/UserAgent.js.map +1 -1
  22. package/build/cjs/chunk-2GAPPUP5.cjs +11 -0
  23. package/build/cjs/{chunk-BN5MGNSI.cjs.map → chunk-2GAPPUP5.cjs.map} +1 -1
  24. package/build/cjs/{chunk-QYUADULX.cjs → chunk-4MGATUJ3.cjs} +17 -17
  25. package/build/cjs/{chunk-QYUADULX.cjs.map → chunk-4MGATUJ3.cjs.map} +1 -1
  26. package/build/cjs/{chunk-HOPH2463.cjs → chunk-4WDDVYWV.cjs} +3 -3
  27. package/build/cjs/chunk-4WDDVYWV.cjs.map +1 -0
  28. package/build/cjs/chunk-5UTN55T6.cjs +11 -0
  29. package/build/cjs/{chunk-LLGHXDSY.cjs.map → chunk-5UTN55T6.cjs.map} +1 -1
  30. package/build/cjs/{chunk-YWDLYGD5.cjs → chunk-AICPFRJQ.cjs} +32 -32
  31. package/build/cjs/{chunk-YWDLYGD5.cjs.map → chunk-AICPFRJQ.cjs.map} +1 -1
  32. package/build/cjs/{chunk-WYIUQ3FZ.cjs → chunk-DAHWLFFD.cjs} +4 -4
  33. package/build/cjs/{chunk-WYIUQ3FZ.cjs.map → chunk-DAHWLFFD.cjs.map} +1 -1
  34. package/build/cjs/{chunk-ETOC4FJE.cjs → chunk-FWZS3WQ4.cjs} +135 -34
  35. package/build/cjs/chunk-FWZS3WQ4.cjs.map +1 -0
  36. package/build/cjs/{chunk-67LMSFXM.cjs → chunk-GUBIWML7.cjs} +16 -13
  37. package/build/cjs/chunk-GUBIWML7.cjs.map +1 -0
  38. package/build/cjs/chunk-KLL6MAZL.cjs +11 -0
  39. package/build/cjs/{chunk-YWYFWFUF.cjs.map → chunk-KLL6MAZL.cjs.map} +1 -1
  40. package/build/cjs/{chunk-7CYKOZFL.cjs → chunk-LIF2LJ2I.cjs} +7 -7
  41. package/build/cjs/{chunk-7CYKOZFL.cjs.map → chunk-LIF2LJ2I.cjs.map} +1 -1
  42. package/build/cjs/{chunk-4JJP3RNQ.cjs → chunk-PPQSIR4K.cjs} +4 -4
  43. package/build/cjs/{chunk-4JJP3RNQ.cjs.map → chunk-PPQSIR4K.cjs.map} +1 -1
  44. package/build/cjs/{chunk-4V245Z6A.cjs → chunk-PWXV5SBK.cjs} +26 -28
  45. package/build/cjs/chunk-PWXV5SBK.cjs.map +1 -0
  46. package/build/cjs/chunk-UJKIIMIE.cjs +11 -0
  47. package/build/cjs/{chunk-DCRVOHKP.cjs.map → chunk-UJKIIMIE.cjs.map} +1 -1
  48. package/build/cjs/chunk-VBM5GWFP.cjs +11 -0
  49. package/build/cjs/{chunk-LGUTBX34.cjs.map → chunk-VBM5GWFP.cjs.map} +1 -1
  50. package/build/cjs/{chunk-4KC5U44T.cjs → chunk-XA3S7YAO.cjs} +2 -2
  51. package/build/cjs/chunk-XA3S7YAO.cjs.map +1 -0
  52. package/build/cjs/{chunk-GN3PIYGH.cjs → chunk-Y6BGC7DP.cjs} +22 -22
  53. package/build/cjs/{chunk-GN3PIYGH.cjs.map → chunk-Y6BGC7DP.cjs.map} +1 -1
  54. package/build/cjs/public/experimental/action-form.cjs +6 -6
  55. package/build/cjs/public/experimental/action-form.css +3 -0
  56. package/build/cjs/public/experimental/action-form.css.map +1 -1
  57. package/build/cjs/public/experimental/document-viewer.cjs +5 -5
  58. package/build/cjs/public/experimental/document-viewer.d.cts +1 -1
  59. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  60. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  61. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  62. package/build/cjs/public/experimental/filter-list.css +3 -0
  63. package/build/cjs/public/experimental/filter-list.css.map +1 -1
  64. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  65. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  66. package/build/cjs/public/experimental/object-table.cjs +10 -10
  67. package/build/cjs/public/experimental/object-table.css +3 -0
  68. package/build/cjs/public/experimental/object-table.css.map +1 -1
  69. package/build/cjs/public/experimental/object-table.d.cts +14 -1
  70. package/build/cjs/public/experimental/pdf-viewer.cjs +25 -25
  71. package/build/cjs/public/experimental/pdf-viewer.d.cts +9 -4
  72. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  73. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  74. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  75. package/build/cjs/public/experimental.cjs +67 -67
  76. package/build/cjs/public/experimental.css +3 -0
  77. package/build/cjs/public/experimental.css.map +1 -1
  78. package/build/cjs/public/experimental.d.cts +1 -1
  79. package/build/cjs/{types-CbSNeyzw.d.cts → types-Cg_LdKf-.d.cts} +1 -0
  80. package/build/esm/object-table/ObjectTable.js +2 -1
  81. package/build/esm/object-table/ObjectTable.js.map +1 -1
  82. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  83. package/build/esm/object-table/hooks/useObjectTableData.js +5 -3
  84. package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
  85. package/build/esm/pdf-viewer/PdfViewer.js +4 -6
  86. package/build/esm/pdf-viewer/PdfViewer.js.map +1 -1
  87. package/build/esm/pdf-viewer/components/PdfAnnotationOverlay.js +43 -0
  88. package/build/esm/pdf-viewer/components/PdfAnnotationOverlay.js.map +1 -0
  89. package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js +22 -14
  90. package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -1
  91. package/build/esm/pdf-viewer/components/PdfViewerContent.js +4 -6
  92. package/build/esm/pdf-viewer/components/PdfViewerContent.js.map +1 -1
  93. package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js +83 -13
  94. package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -1
  95. package/build/esm/pdf-viewer/types.js.map +1 -1
  96. package/build/esm/shared/calendar/DatePickerCommon.module.css +5 -0
  97. package/build/esm/util/UserAgent.js +1 -1
  98. package/build/esm/util/UserAgent.js.map +1 -1
  99. package/build/types/object-table/ObjectTable.d.ts +1 -1
  100. package/build/types/object-table/ObjectTable.d.ts.map +1 -1
  101. package/build/types/object-table/ObjectTableApi.d.ts +13 -0
  102. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  103. package/build/types/object-table/hooks/useObjectTableData.d.ts +1 -1
  104. package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
  105. package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -1
  106. package/build/types/pdf-viewer/components/PdfAnnotationOverlay.d.ts +9 -0
  107. package/build/types/pdf-viewer/components/PdfAnnotationOverlay.d.ts.map +1 -0
  108. package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts +2 -1
  109. package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts.map +1 -1
  110. package/build/types/pdf-viewer/components/PdfViewerContent.d.ts.map +1 -1
  111. package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts +5 -1
  112. package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts.map +1 -1
  113. package/build/types/pdf-viewer/types.d.ts +1 -0
  114. package/build/types/pdf-viewer/types.d.ts.map +1 -1
  115. package/docs/GettingStarted.md +65 -0
  116. package/docs/ObjectTable.md +6 -5
  117. package/docs/Prerequisites.md +1 -2
  118. package/docs/StylingOverview.md +146 -0
  119. package/docs/TokenColors.md +130 -0
  120. package/docs/TokenSpacing.md +73 -0
  121. package/docs/TokenTypography.md +57 -0
  122. package/docs/UsageWithOsdk.md +47 -0
  123. package/docs/Welcome.md +42 -0
  124. package/package.json +8 -8
  125. package/build/cjs/chunk-4KC5U44T.cjs.map +0 -1
  126. package/build/cjs/chunk-4V245Z6A.cjs.map +0 -1
  127. package/build/cjs/chunk-67LMSFXM.cjs.map +0 -1
  128. package/build/cjs/chunk-BN5MGNSI.cjs +0 -11
  129. package/build/cjs/chunk-DCRVOHKP.cjs +0 -11
  130. package/build/cjs/chunk-ETOC4FJE.cjs.map +0 -1
  131. package/build/cjs/chunk-HOPH2463.cjs.map +0 -1
  132. package/build/cjs/chunk-LGUTBX34.cjs +0 -11
  133. package/build/cjs/chunk-LLGHXDSY.cjs +0 -11
  134. package/build/cjs/chunk-YWYFWFUF.cjs +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/PortalDismissLayer.module.css","../../src/shared/PortalDismissLayer.tsx","../../src/shared/calendar/DatePicker.module.css","../../src/shared/calendar/DatePickerCommon.module.css","../../src/shared/calendar/LazyDateCalendar.tsx","../../src/shared/calendar/TimePicker.module.css","../../src/shared/calendar/TimePicker.tsx","../../src/shared/calendar/useDateEditState.ts","../../src/shared/calendar/DatePicker.tsx","../../src/shared/calendar/DateRangePicker.module.css","../../src/shared/calendar/LazyDateRangeCalendar.tsx","../../src/shared/calendar/DateRangePicker.tsx","../../src/base-components/combobox/Combobox.module.css","../../src/base-components/combobox/Combobox.tsx"],"names":["React","PortalDismissLayer","useCallback","classNames","Suspense","useState","useMemo","Input","useRef","isDateInRange","DatePicker","useId","formatDatetimeForInput","formatDateForInput","parseDatetimeFromInput","parseDateFromInput","classnames","Popover","stopPropagation","DateRangePicker","_extends","BaseUICombobox","CaretDown","Search","Cross","Tick"],"mappings":"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","file":"chunk-XA3S7YAO.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\n.osdkPortalDismissLayer {\n position: fixed;\n inset-block-end: 0;\n inset-block-start: 0;\n inset-inline-end: 0;\n inset-inline-start: 0;\n z-index: var(\n --osdk-portal-dismiss-layer-z-index,\n var(--osdk-surface-z-index-3)\n );\n background-color: transparent;\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, { useCallback } from \"react\";\nimport styles from \"./PortalDismissLayer.module.css\";\n\n/**\n * Element that receives a portal — accepts an HTMLElement, ShadowRoot, a\n * ref to either, `null` for default body-attachment, or `undefined`.\n */\n\nexport const PortalDismissLayer = /*#__PURE__*/React.memo(function PortalDismissLayer({\n className,\n onDismiss\n}) {\n const handlePointerDown = useCallback(event => {\n // The layer exists only to close the popup; prevent label-triggered\n // focus/click behavior from immediately reopening it.\n event.preventDefault();\n onDismiss();\n }, [onDismiss]);\n return /*#__PURE__*/React.createElement(\"div\", {\n \"aria-hidden\": \"true\",\n className: classNames(styles.osdkPortalDismissLayer, className),\n \"data-osdk-portal-dismiss-layer\": \"\",\n onPointerDown: handlePointerDown\n });\n});","/* DatetimePickerField — component-specific overrides.\n Wrapper doubles as Popover.Trigger — suppress its own outline since\n :focus-within handles the focus indicator when the inner input is focused. */\n.osdkDatetimeInputWrapper {\n outline: none;\n}\n\n.osdkDatetimeTimeFooter {\n display: flex;\n justify-content: center;\n}\n","/* Bare input inside a date picker wrapper */\n.osdkDatePickerInput {\n width: 100%;\n flex: 1;\n min-width: 0;\n min-height: var(--osdk-datetime-input-min-height);\n padding: var(--osdk-datetime-input-padding);\n border: none;\n border-radius: var(--osdk-datetime-input-border-radius);\n background: transparent;\n color: var(--osdk-datetime-input-color);\n font-family: var(--osdk-datetime-input-font-family);\n font-size: var(--osdk-datetime-input-font-size);\n line-height: var(--osdk-datetime-input-line-height);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &::placeholder {\n color: var(--osdk-datetime-input-placeholder-color);\n }\n\n &:focus-visible {\n outline: none;\n }\n}\n\n.osdkDatePickerDismissLayer {\n --osdk-portal-dismiss-layer-z-index: var(--osdk-datetime-popover-z-index);\n}\n\n/* Popover container */\n.osdkDatePickerPositioner {\n /* Match the dismiss layer's dialog stack level so the later positioner stays\n clickable above it without escalating z-index values. */\n z-index: var(--osdk-datetime-popover-z-index);\n\n /* Hide the popover when its anchor scrolls out of view */\n &[data-anchor-hidden] {\n visibility: hidden;\n }\n}\n\n.osdkDatePickerPopover {\n background: var(--osdk-datetime-popover-bg);\n color: var(--osdk-typography-color-default-rest);\n padding: var(--osdk-datetime-popover-padding);\n z-index: var(--osdk-datetime-popover-z-index);\n box-shadow: var(--osdk-datetime-popover-shadow);\n}\n\n/* Visually-hidden focus boundary for Tab cycling between input and popover */\n.osdkDatePickerFocusBoundary {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n outline: none;\n}\n\n/* Shared input wrapper — border, bg, hover, focus-within */\n.osdkDatePickerInputWrapper {\n display: flex;\n align-items: center;\n border-radius: var(--osdk-datetime-input-border-radius);\n border: var(--osdk-datetime-input-border-width) solid\n var(--osdk-datetime-input-border-color);\n box-shadow: var(--osdk-input-shadow);\n background-color: var(--osdk-datetime-input-bg);\n transition:\n background-color var(--osdk-datetime-input-transition-duration)\n var(--osdk-datetime-input-transition-ease),\n border-color var(--osdk-datetime-input-transition-duration)\n var(--osdk-datetime-input-transition-ease);\n cursor: text;\n\n &:hover {\n background-color: var(--osdk-datetime-input-bg-hover);\n }\n\n &:focus-within {\n outline: var(--osdk-datetime-input-focus-width) solid\n var(--osdk-datetime-input-focus-color);\n outline-offset: var(--osdk-datetime-input-focus-offset);\n border-color: var(--osdk-datetime-input-border-color-focus);\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n opacity: var(--osdk-disabled-opacity);\n\n &:hover {\n background-color: var(--osdk-datetime-input-bg);\n }\n\n .osdkDatePickerInput {\n cursor: not-allowed;\n }\n }\n}\n\n.osdkDatePickerInputWrapperError {\n border-color: var(--osdk-datetime-input-error-border-color);\n\n &:focus-within {\n border-color: var(--osdk-datetime-input-error-border-color);\n }\n}\n\n/* Calendar fallback / loading skeleton */\n.osdkDatePickerFallback {\n width: var(--osdk-datetime-calendar-fallback-width);\n height: var(--osdk-datetime-calendar-fallback-height);\n}\n","/*\n * Copyright 2025 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, { Suspense } from \"react\";\nimport styles from \"./DatePickerCommon.module.css\";\nconst DateCalendarLazy = /*#__PURE__*/React.lazy(() => import(\"./DateCalendar.js\"));\nexport function LazyDateCalendar(props) {\n return /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkDatePickerFallback\n })\n }, /*#__PURE__*/React.createElement(DateCalendarLazy, props));\n}","/* TimePicker — HH:mm control. Outer layout is owned by the parent. */\n\n.osdkTimePickerRoot {\n display: inline-flex;\n align-items: center;\n gap: var(--osdk-surface-spacing);\n}\n\n.osdkTimePickerInput {\n width: calc(var(--osdk-surface-spacing) * 10);\n font-family: var(--osdk-time-picker-input-font-family);\n font-size: var(--osdk-time-picker-input-font-size);\n line-height: var(\n --osdk-input-line-height,\n var(--osdk-typography-line-height-default)\n );\n text-align: center;\n padding: var(--osdk-time-picker-input-padding);\n border: var(--osdk-time-picker-input-border);\n border-radius: var(--osdk-time-picker-input-border-radius);\n background: var(--osdk-time-picker-input-bg);\n color: var(--osdk-time-picker-input-color);\n box-sizing: border-box;\n\n &:focus {\n border-color: var(--osdk-time-picker-input-border-color-focus);\n outline: var(--osdk-time-picker-input-focus-outline);\n outline-offset: var(--osdk-time-picker-input-focus-offset);\n }\n\n &[aria-invalid] {\n border-color: var(--osdk-input-border-color-error);\n }\n}\n\n.osdkTimePickerSeparator {\n color: var(--osdk-typography-color-muted);\n font-family: var(--osdk-time-picker-input-font-family);\n font-size: var(--osdk-time-picker-input-font-size);\n line-height: var(\n --osdk-input-line-height,\n var(--osdk-typography-line-height-default)\n );\n}\n","/*\n * Copyright 2025 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 { Input } from \"@base-ui/react/input\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport styles from \"./TimePicker.module.css\";\nconst NUMERIC_INPUT_PATTERN = \"[0-9]*\";\nconst SEGMENT_LIMITS = {\n hours: {\n min: 0,\n max: 23\n },\n minutes: {\n min: 0,\n max: 59\n }\n};\nexport const TimePicker = /*#__PURE__*/React.memo(function TimePickerFn({\n value,\n onChange,\n label = \"Time\"\n}) {\n const valueTimestamp = value?.getTime() ?? null;\n // Keep typed text locally so users can enter temporarily invalid values\n // like \"99\" or \"\" without immediately mutating/clamping the parent Date.\n const [internalSegments, setInternalSegments] = useState(() => createInternalSegments(valueTimestamp, segmentsFromTimestamp(valueTimestamp)));\n const valueSegments = useMemo(() => segmentsFromTimestamp(valueTimestamp), [valueTimestamp]);\n\n // Track which external value this internal text was derived from. If the\n // parent commits a different Date, ignore stale internal text and render\n // from the new value instead.\n const activeSegments = internalSegments.valueTimestamp === valueTimestamp ? internalSegments : createInternalSegments(valueTimestamp, valueSegments);\n const hourText = activeSegments.hours;\n const minuteText = activeSegments.minutes;\n const hourInvalid = isSegmentInvalid(hourText, \"hours\");\n const minuteInvalid = isSegmentInvalid(minuteText, \"minutes\");\n const emitChange = useCallback((hours, minutes) => {\n const nextDate = value != null ? new Date(value.getTime()) : new Date();\n nextDate.setHours(hours, minutes, 0, 0);\n onChange?.(nextDate);\n }, [onChange, value]);\n const handleSegmentChange = useCallback((segment, nextText) => {\n setInternalSegments({\n valueTimestamp,\n ...replaceSegmentText({\n hours: hourText,\n minutes: minuteText\n }, {\n segment,\n nextText\n })\n });\n }, [hourText, minuteText, valueTimestamp]);\n const handleSegmentBlur = useCallback((segment, text) => {\n const parsedSegment = parseNumber(text);\n if (parsedSegment == null) {\n // Non-numeric text cannot be converted into a valid time segment, so\n // restore the displayed value instead of emitting an arbitrary Date.\n setInternalSegments(createInternalSegments(valueTimestamp, valueSegments));\n return;\n }\n const clampedSegment = clampSegment(parsedSegment, segment);\n const nextSegments = replaceSegmentText({\n hours: hourText,\n minutes: minuteText\n }, {\n segment,\n nextText: formatSegment(clampedSegment, segment)\n });\n // Only the blurred segment should commit. If the other segment is\n // currently invalid, preserve the committed value for that segment.\n const nextHours = parseSegment(nextSegments.hours, \"hours\") ?? Number(valueSegments.hours);\n const nextMinutes = parseSegment(nextSegments.minutes, \"minutes\") ?? Number(valueSegments.minutes);\n setInternalSegments({\n valueTimestamp,\n hours: formatSegment(nextHours, \"hours\"),\n minutes: formatSegment(nextMinutes, \"minutes\")\n });\n const currentHours = Number(valueSegments.hours);\n const currentMinutes = Number(valueSegments.minutes);\n if (nextHours !== currentHours || nextMinutes !== currentMinutes) {\n emitChange(nextHours, nextMinutes);\n }\n }, [emitChange, hourText, minuteText, valueTimestamp, valueSegments]);\n const handleHourChange = useCallback(nextText => handleSegmentChange(\"hours\", nextText), [handleSegmentChange]);\n const handleMinuteChange = useCallback(nextText => handleSegmentChange(\"minutes\", nextText), [handleSegmentChange]);\n const handleHourBlur = useCallback(() => handleSegmentBlur(\"hours\", hourText), [handleSegmentBlur, hourText]);\n const handleMinuteBlur = useCallback(() => handleSegmentBlur(\"minutes\", minuteText), [handleSegmentBlur, minuteText]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkTimePickerRoot,\n role: \"group\",\n \"aria-label\": label\n }, /*#__PURE__*/React.createElement(Input, {\n type: \"text\",\n inputMode: \"numeric\",\n pattern: NUMERIC_INPUT_PATTERN,\n value: hourText,\n onValueChange: handleHourChange,\n onBlur: handleHourBlur,\n className: styles.osdkTimePickerInput,\n \"aria-label\": `${label} hours`,\n \"aria-invalid\": hourInvalid || undefined\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: styles.osdkTimePickerSeparator,\n \"aria-hidden\": \"true\"\n }, \":\"), /*#__PURE__*/React.createElement(Input, {\n type: \"text\",\n inputMode: \"numeric\",\n pattern: NUMERIC_INPUT_PATTERN,\n value: minuteText,\n onValueChange: handleMinuteChange,\n onBlur: handleMinuteBlur,\n className: styles.osdkTimePickerInput,\n \"aria-label\": `${label} minutes`,\n \"aria-invalid\": minuteInvalid || undefined\n }));\n});\nfunction createInternalSegments(valueTimestamp, segments) {\n return {\n valueTimestamp,\n ...segments\n };\n}\nfunction replaceSegmentText(segments, {\n segment,\n nextText\n}) {\n return {\n ...segments,\n [segment]: nextText\n };\n}\nfunction segmentsFromTimestamp(valueTimestamp) {\n if (valueTimestamp == null) {\n return {\n hours: formatSegment(0, \"hours\"),\n minutes: formatSegment(0, \"minutes\")\n };\n }\n const value = new Date(valueTimestamp);\n return {\n hours: formatSegment(value.getHours(), \"hours\"),\n minutes: formatSegment(value.getMinutes(), \"minutes\")\n };\n}\nfunction formatSegment(value, segment) {\n // Hours stay compact while minutes stay two digits so the HH:mm control\n // remains easy to scan.\n return segment === \"hours\" ? String(value) : String(value).padStart(2, \"0\");\n}\nfunction parseNumber(text) {\n if (!/^\\d{1,2}$/.test(text)) {\n return undefined;\n }\n const parsed = Number(text);\n return Number.isNaN(parsed) ? undefined : parsed;\n}\nfunction parseSegment(text, segment) {\n const parsed = parseNumber(text);\n if (parsed == null) {\n return undefined;\n }\n const {\n min,\n max\n } = SEGMENT_LIMITS[segment];\n return parsed >= min && parsed <= max ? parsed : undefined;\n}\nfunction isSegmentInvalid(text, segment) {\n return parseSegment(text, segment) == null;\n}\nfunction clampSegment(value, segment) {\n const {\n min,\n max\n } = SEGMENT_LIMITS[segment];\n return Math.min(Math.max(value, min), max);\n}","/*\n * Copyright 2025 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 { useCallback, useRef, useState } from \"react\";\nimport { isDateInRange } from \"../dateUtils.js\";\n/**\n * Manages the editing lifecycle for a single date text input.\n *\n * Handles the two-phase display pattern where the input shows a formatted\n * display value when idle and switches to an editable format when focused.\n */\nexport function useDateEditState({\n value,\n displayFormatFn,\n editFormatFn,\n parseFn,\n min,\n max,\n onChange\n}) {\n const [isEditing, setIsEditing] = useState(false);\n const [inputValue, setInputValue] = useState(\"\");\n\n // Sync inputValue when external value changes (e.g. parent resets)\n const prevValueTimeRef = useRef(value?.getTime() ?? null);\n const currentValueTime = value?.getTime() ?? null;\n if (prevValueTimeRef.current !== currentValueTime) {\n prevValueTimeRef.current = currentValueTime;\n if (!isEditing) {\n setInputValue(value != null ? editFormatFn(value) : \"\");\n }\n }\n\n // During editing the user needs parsable text they can modify and that\n // round-trips through parseFn (e.g. \"2024-01-15\"). When idle the input may\n // show a different display string. displayedValue is the single source of\n // truth for the input's visible text.\n const displayedValue = isEditing ? inputValue : value != null ? displayFormatFn(value) : \"\";\n\n // Parse the input once per render and derive all validation state from it.\n const dateValue = inputValue !== \"\" ? parseFn(inputValue) : undefined;\n const inputError = (() => {\n // Not editing: no validation feedback.\n // Empty input: the user cleared the field — that means null, not invalid.\n if (!isEditing || inputValue === \"\") return null;\n if (dateValue == null) return \"invalid\";\n if (!isDateInRange(dateValue, min, max)) return \"out-of-range\";\n return null;\n })();\n\n // The validated date ready for onChange, derived from dateValue + inputError.\n const validatedDate = inputError == null && dateValue != null ? dateValue : null;\n const setDateValue = useCallback(date => {\n setInputValue(date != null ? editFormatFn(date) : \"\");\n }, [editFormatFn]);\n const startEditing = useCallback(() => {\n setIsEditing(true);\n setDateValue(value);\n }, [value, setDateValue]);\n const stopEditing = useCallback(() => {\n setIsEditing(false);\n setDateValue(value);\n }, [value, setDateValue]);\n\n // Refs so commitAndStopEditing reads the latest derived values without\n // closing over inputValue/validatedDate (which change every keystroke).\n const inputValueRef = useRef(inputValue);\n inputValueRef.current = inputValue;\n const validatedDateRef = useRef(validatedDate);\n validatedDateRef.current = validatedDate;\n const commitAndStopEditing = useCallback(() => {\n if (inputValueRef.current === \"\") {\n onChange?.(null);\n } else if (validatedDateRef.current != null) {\n onChange?.(validatedDateRef.current);\n }\n setIsEditing(false);\n setDateValue(value);\n }, [onChange, setDateValue, value]);\n return {\n isEditing,\n displayedValue,\n inputError,\n dateValue,\n startEditing,\n stopEditing,\n commitAndStopEditing,\n setInputValue,\n setDateValue\n };\n}","/*\n * Copyright 2025 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 { Input } from \"@base-ui/react/input\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useId, useRef, useState } from \"react\";\nimport { formatDateForInput, formatDatetimeForInput, isDateInRange, parseDateFromInput, parseDatetimeFromInput } from \"../dateUtils.js\";\nimport { PortalDismissLayer } from \"../PortalDismissLayer.js\";\nimport { stopPropagation } from \"./calendarShared.js\";\nimport styles from \"./DatePicker.module.css\";\nimport commonStyles from \"./DatePickerCommon.module.css\";\nimport { LazyDateCalendar } from \"./LazyDateCalendar.js\";\nimport { TimePicker } from \"./TimePicker.js\";\nimport { useDateEditState } from \"./useDateEditState.js\";\n\n/**\n * Props for the shared DatePicker. Used directly by filter-list and\n * object-table; wrapped by action-form's FormFieldRenderer for the\n * `DATETIME_PICKER` field kind. `id` and `error` are optional so non-form\n * callers can omit them.\n *\n * When `formatDate` is omitted, ISO-like format is used (YYYY-MM-DD /\n * YYYY-MM-DD HH:mm).\n */\n\nexport const DatePicker = /*#__PURE__*/React.memo(function DatePicker({\n id,\n value,\n onChange,\n error,\n min,\n max,\n placeholder,\n formatDate,\n parseDate,\n showTime = false,\n closeOnSelection,\n portalRef,\n portalContainer,\n ariaLabel,\n modal = \"trap-focus\",\n disabled = false\n}) {\n const isModal = modal !== false;\n const shouldCloseOnSelection = closeOnSelection ?? !showTime;\n const popoverId = useId();\n // The wrapper is only a visual/positioning anchor. The input itself remains\n // the Popover.Trigger so axe does not see an interactive wrapper around an\n // interactive combobox.\n const wrapperRef = useRef(null);\n const inputRef = useRef(null);\n const popoverRef = useRef(null);\n const [isOpen, setIsOpen] = useState(false);\n // activeDateValue is the selected/typed date; visibleCalendarMonth is only\n // the calendar viewport. Keeping the viewport separate lets typed dates jump\n // the calendar while next/previous month navigation still works.\n const [visibleCalendarMonth, setVisibleCalendarMonth] = useState(value ?? new Date());\n // When true, the next handleFocus call skips reopening the popover.\n // Set before focusing the input from a popover boundary exit so that\n // Tab/Shift-Tab proceeds to the adjacent form field naturally.\n const skipReopenRef = useRef(false);\n\n // Format/parse: pick between date-only and datetime variants.\n // editFormatFn produces a parsable string for typing (e.g. \"2024-01-15\" or \"2024-01-15 14:30\").\n // displayFormatFn produces the idle string. Defaults stay deterministic so\n // users in different browser locales see the same date in form inputs.\n const editFormatFn = showTime ? formatDatetimeForInput : formatDateForInput;\n const displayFormatFn = formatDate ?? (showTime ? formatDatetimeForInput : formatDateForInput);\n const parseFn = parseDate ?? (showTime ? parseDatetimeFromInput : parseDateFromInput);\n\n // Single normalization gate: when the time picker is hidden, strip\n // hours/minutes/seconds so consumers receive a pure calendar date (local\n // midnight). Defined before useDateEditState so the hook's commit path also\n // goes through this gate.\n const handleChange = useCallback(date => {\n if (onChange == null) {\n return;\n }\n if (date != null && !showTime) {\n const dateOnly = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n onChange(dateOnly);\n } else {\n onChange(date);\n }\n }, [onChange, showTime]);\n const {\n isEditing,\n displayedValue,\n inputError,\n dateValue,\n startEditing,\n stopEditing,\n commitAndStopEditing,\n setInputValue,\n setDateValue\n } = useDateEditState({\n value,\n displayFormatFn,\n editFormatFn,\n parseFn,\n min,\n max,\n onChange: handleChange\n });\n\n // --- Input event handlers ---\n\n const handleFocus = useCallback(() => {\n if (skipReopenRef.current) {\n skipReopenRef.current = false;\n startEditing();\n return;\n }\n startEditing();\n setVisibleCalendarMonth(value ?? undefined);\n setIsOpen(true);\n }, [startEditing, value]);\n const handlePointerDown = useCallback(() => {\n // Opening from pointer-down keeps mouse interactions in sync with focus\n // editing before Base UI's later click trigger handler runs.\n inputRef.current?.focus();\n handleFocus();\n }, [handleFocus]);\n const handleInputValueChange = useCallback(nextValue => {\n setInputValue(nextValue);\n const parsedDate = nextValue !== \"\" ? parseFn(nextValue) : undefined;\n if (parsedDate != null && isDateInRange(parsedDate, min, max)) {\n setVisibleCalendarMonth(parsedDate);\n }\n }, [max, min, parseFn, setInputValue]);\n const handleBlur = useCallback(e => {\n const relatedTarget = e.relatedTarget ?? document.activeElement;\n if (popoverRef.current?.contains(relatedTarget)) {\n // Focus moved into the popover portal (e.g. clicking a calendar day).\n // The field is still logically active, so suppress the blur from\n // bubbling — parent containers should not treat this as a field exit.\n e.stopPropagation();\n return;\n }\n commitAndStopEditing();\n }, [commitAndStopEditing]);\n\n // Shared close sequence: dismiss the popover, reset editing state, and\n // blur the input so focus doesn't linger after the calendar disappears.\n // Uses stopEditing (not commitAndStopEditing) to avoid double-firing\n // onChange when called from calendar-select or after Enter already committed.\n const closePopover = useCallback(() => {\n setIsOpen(false);\n stopEditing();\n inputRef.current?.blur();\n }, [stopEditing]);\n const handleKeyDown = useCallback(e => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n commitAndStopEditing();\n setIsOpen(false);\n inputRef.current?.blur();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n closePopover();\n } else if (e.key === \"Tab\" && !e.shiftKey && isOpen && isModal) {\n // Move focus from the text input into the calendar popover.\n // The popover doesn't auto-focus on open (to keep the cursor in the input),\n // so Tab manually bridges focus to the first interactive calendar element.\n // Only meaningful when the popover traps focus; when non-modal we let\n // the browser advance focus naturally to the next document element.\n const firstFocusable = popoverRef.current?.querySelector(\"button, select\");\n if (firstFocusable != null) {\n e.preventDefault();\n firstFocusable.focus();\n }\n } else if (e.key === \"Tab\" && e.shiftKey) {\n setIsOpen(false);\n }\n }, [commitAndStopEditing, closePopover, isOpen, isModal]);\n\n // --- Popover handlers ---\n\n // Called by base-ui when the popover opens or closes (e.g. click outside, Escape).\n const handleOpenChange = useCallback(nextOpen => {\n if (nextOpen) {\n setIsOpen(true);\n } else {\n closePopover();\n }\n }, [closePopover]);\n\n // --- Calendar handlers ---\n\n const handleCalendarSelect = useCallback(selected => {\n if (selected == null) {\n handleChange(null);\n setInputValue(\"\");\n return;\n }\n const date = new Date(selected.getTime());\n if (showTime && value != null) {\n date.setHours(value.getHours(), value.getMinutes());\n }\n handleChange(date);\n setDateValue(date);\n setVisibleCalendarMonth(date);\n if (shouldCloseOnSelection) {\n closePopover();\n }\n }, [handleChange, showTime, value, shouldCloseOnSelection, setDateValue, setInputValue, closePopover]);\n const handleTimeChange = useCallback(time => {\n handleChange(time);\n setDateValue(time);\n }, [handleChange, setDateValue]);\n const handleCalendarClear = useCallback(() => {\n handleChange(null);\n setDateValue(null);\n }, [handleChange, setDateValue]);\n\n // --- Focus boundary handlers ---\n // Visually-hidden elements at the start/end of the popover that trap Tab\n // cycling between the text input and calendar. Without these, Tab would\n // escape the popover into the page behind it.\n\n const handleStartFocusBoundary = useCallback(() => {\n inputRef.current?.focus();\n }, []);\n const handleEndFocusBoundary = useCallback(e => {\n const relatedTarget = e.relatedTarget ?? document.activeElement;\n if (popoverRef.current?.contains(relatedTarget)) {\n // Tab reached the end of the popover. Close the popover and\n // return focus to the input without reopening it, so the next\n // Tab advances to the next form field.\n skipReopenRef.current = true;\n setIsOpen(false);\n stopEditing();\n inputRef.current?.focus();\n } else {\n const buttons = popoverRef.current?.querySelectorAll(\"button, select\");\n const lastButton = buttons?.[buttons.length - 1];\n lastButton?.focus();\n }\n }, [stopEditing]);\n\n // --- Time picker ---\n\n const activeDateValue = isEditing && inputError == null ? dateValue : value ?? undefined;\n const timeFooter = showTime ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkDatetimeTimeFooter\n }, /*#__PURE__*/React.createElement(TimePicker, {\n value: activeDateValue ?? null,\n onChange: handleTimeChange\n })) : undefined;\n const wrapperClassName = classnames(commonStyles.osdkDatePickerInputWrapper, styles.osdkDatetimeInputWrapper, inputError != null && commonStyles.osdkDatePickerInputWrapperError);\n const isPopoverOpen = !disabled && isOpen;\n\n // Keep Popover.Trigger on the input itself. Moving it to the wrapper would\n // make click handling simpler, but it would also nest an interactive combobox\n // inside an interactive trigger and reintroduce the axe violation.\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: isPopoverOpen,\n onOpenChange: handleOpenChange\n // When `modal === \"trap-focus\"`, base-ui traps Tab cycling and we render\n // a transparent dismiss layer for outside-click. When `false`, we rely\n // on base-ui's default outside-click — required for nested popover use\n // (e.g. inside FilterPopover) where a fullscreen dismiss layer would\n // intercept clicks intended for the parent.\n ,\n modal: modal\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: wrapperRef,\n className: wrapperClassName,\n \"data-disabled\": disabled || undefined\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n nativeButton: false,\n render: /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n id: id,\n className: commonStyles.osdkDatePickerInput,\n type: \"text\",\n value: displayedValue,\n onValueChange: handleInputValueChange,\n disabled: disabled,\n onFocus: handleFocus,\n onPointerDown: handlePointerDown,\n onBlur: handleBlur,\n onClick: stopPropagation,\n onKeyDown: handleKeyDown,\n placeholder: placeholder,\n autoComplete: \"off\",\n role: \"combobox\",\n \"aria-expanded\": isPopoverOpen,\n \"aria-controls\": popoverId,\n \"aria-haspopup\": \"dialog\",\n \"aria-label\": ariaLabel\n })\n })), /*#__PURE__*/React.createElement(Popover.Portal, {\n ref: portalRef,\n container: portalContainer\n }, isModal && /*#__PURE__*/React.createElement(PortalDismissLayer, {\n className: commonStyles.osdkDatePickerDismissLayer,\n onDismiss: closePopover\n }), /*#__PURE__*/React.createElement(Popover.Positioner, {\n anchor: wrapperRef,\n className: commonStyles.osdkDatePickerPositioner,\n sideOffset: 4,\n side: \"bottom\",\n align: \"start\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n ref: popoverRef,\n className: commonStyles.osdkDatePickerPopover,\n id: popoverId,\n role: \"dialog\",\n \"aria-label\": \"Date picker\"\n // Disable base-ui's automatic focus restoration to the trigger on close.\n // We manage focus ourselves via closePopover() which blurs the input.\n ,\n finalFocus: false\n }, isModal && /*#__PURE__*/React.createElement(\"div\", {\n onFocus: handleStartFocusBoundary,\n tabIndex: 0,\n \"aria-label\": \"Start of date picker dialog\",\n className: commonStyles.osdkDatePickerFocusBoundary\n }), /*#__PURE__*/React.createElement(LazyDateCalendar, {\n dateSelected: activeDateValue,\n onSelect: handleCalendarSelect,\n onClear: handleCalendarClear,\n month: visibleCalendarMonth,\n onMonthChange: setVisibleCalendarMonth,\n min: min,\n max: max,\n footer: timeFooter\n }), isModal && /*#__PURE__*/React.createElement(\"div\", {\n onFocus: handleEndFocusBoundary,\n tabIndex: 0,\n \"aria-label\": \"End of date picker dialog\",\n className: commonStyles.osdkDatePickerFocusBoundary\n })))));\n});","/* DateRangeInputField — two separate bordered inputs + shared popover */\n\n/* Outer container that holds both inputs side by side.\n Acts as Popover.Trigger — suppress the focus ring when\n focus returns here after the popover closes. */\n.osdkDateRangeContainer {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-surface-spacing) * 2);\n outline: none;\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n}\n\n/* Each input wrapper gets flex: 1 to split equally */\n.osdkDateRangeInputWrapper {\n flex: 1;\n min-width: 0;\n}\n","/*\n * Copyright 2025 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, { Suspense } from \"react\";\nimport styles from \"./DatePickerCommon.module.css\";\nconst DateRangeCalendarLazy = /*#__PURE__*/React.lazy(() => import(\"./DateRangeCalendar.js\"));\nexport function LazyDateRangeCalendar(props) {\n return /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkDatePickerFallback\n })\n }, /*#__PURE__*/React.createElement(DateRangeCalendarLazy, props));\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 2025 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 { Input } from \"@base-ui/react/input\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useId, useRef, useState } from \"react\";\nimport { formatDateForInput, formatDatetimeForInput, parseDateFromInput, parseDatetimeFromInput } from \"../dateUtils.js\";\nimport { PortalDismissLayer } from \"../PortalDismissLayer.js\";\nimport { stopPropagation } from \"./calendarShared.js\";\nimport commonStyles from \"./DatePickerCommon.module.css\";\nimport styles from \"./DateRangePicker.module.css\";\nimport { LazyDateRangeCalendar } from \"./LazyDateRangeCalendar.js\";\nimport { TimePicker } from \"./TimePicker.js\";\nimport { useDateEditState } from \"./useDateEditState.js\";\n\n/**\n * A date range represented as a start/end tuple. Either element may be\n * `null` when the range is partially selected.\n */\n\n/** Default empty range — both bounds are null. */\nexport const EMPTY_RANGE = [null, null];\n\n/**\n * Props for the shared DateRangePicker. Used by filter-list's date-range\n * histogram and action-form's `DATE_RANGE_INPUT` field kind. `id` and\n * `error` are optional so non-form callers can omit them.\n *\n * Renders two text inputs (start / end) with a shared calendar popover\n * supporting range selection.\n */\n\n// Shared props for both start/end inputs. role=\"combobox\" because each input\n// triggers a shared popup (the calendar popover) — matching WAI-ARIA combobox pattern.\nconst SHARED_INPUT_PROPS = {\n className: commonStyles.osdkDatePickerInput,\n type: \"text\",\n onClick: stopPropagation,\n autoComplete: \"off\",\n role: \"combobox\",\n \"aria-haspopup\": \"dialog\"\n};\nexport const DateRangePicker = /*#__PURE__*/React.memo(function DateRangePicker({\n id,\n value,\n onChange,\n min,\n max,\n placeholderStart,\n placeholderEnd,\n allowSingleDayRange = true,\n showTime = false,\n formatDate,\n parseDate,\n portalContainer,\n modal = \"trap-focus\",\n disabled = false\n}) {\n const shouldCloseOnSelection = !showTime;\n const popoverId = useId();\n // The range container anchors the shared popover without becoming a trigger.\n // Each input is its own Popover.Trigger so the comboboxes are not nested in an\n // interactive wrapper.\n const triggerRef = useRef(null);\n const startInputRef = useRef(null);\n const endInputRef = useRef(null);\n const popoverRef = useRef(null);\n const [isOpen, setIsOpen] = useState(false);\n // When focus returns to an input after Tab exits the popover boundary, the\n // next input focus should not reopen the calendar before native Tab can\n // continue to the following form field.\n const skipReopenRef = useRef(false);\n // Tracks which input (start/end) owns the shared calendar popover.\n // Used to restore focus to the correct input when Tab-cycling through\n // focus boundaries and when the calendar selects a range endpoint.\n const [activeBoundary, setActiveBoundary] = useState(\"start\");\n const [startDate, endDate] = value ?? EMPTY_RANGE;\n\n // editFormatFn produces a parsable string for typing (e.g. \"2024-01-15\" or \"2024-01-15 14:30\").\n // displayFormatFn produces the idle string. Defaults stay deterministic so\n // users in different browser locales see the same date in form inputs.\n const editFormatFn = showTime ? formatDatetimeForInput : formatDateForInput;\n const displayFormatFn = formatDate ?? (showTime ? formatDatetimeForInput : formatDateForInput);\n const parseFn = parseDate ?? (showTime ? parseDatetimeFromInput : parseDateFromInput);\n\n // Wrap onChange to handle tuple construction and overlap rejection.\n // Clearing (null) is always allowed; overlap is checked for non-null dates.\n const startOnChange = useCallback(date => {\n if (date != null && isOverlapping(date, endDate, allowSingleDayRange)) {\n return;\n }\n onChange?.([date, endDate ?? null]);\n }, [endDate, onChange, allowSingleDayRange]);\n const endOnChange = useCallback(date => {\n if (date != null && isOverlapping(startDate, date, allowSingleDayRange)) {\n return;\n }\n onChange?.([startDate ?? null, date]);\n }, [startDate, onChange, allowSingleDayRange]);\n const {\n isEditing: isEditingStart,\n dateValue: startParsedValue,\n inputError: startInputError,\n displayedValue: displayedStart,\n startEditing: beginStartEditing,\n stopEditing: stopStartEditing,\n commitAndStopEditing: commitStartAndStopEditing,\n setInputValue: setStartInputValue,\n setDateValue: setStartDateValue\n } = useDateEditState({\n value: startDate,\n displayFormatFn,\n editFormatFn,\n parseFn,\n min,\n max,\n onChange: startOnChange\n });\n const {\n isEditing: isEditingEnd,\n dateValue: endParsedValue,\n inputError: endInputError,\n displayedValue: displayedEnd,\n startEditing: beginEndEditing,\n stopEditing: stopEndEditing,\n commitAndStopEditing: commitEndAndStopEditing,\n setInputValue: setEndInputValue,\n setDateValue: setEndDateValue\n } = useDateEditState({\n value: endDate,\n displayFormatFn,\n editFormatFn,\n parseFn,\n min,\n max,\n onChange: endOnChange\n });\n\n // --- Cross-input error: overlapping range (live feedback while typing) ---\n // Blur/Enter handlers prevent overlapping values from being committed,\n // so this only fires during editing for immediate red-border feedback.\n const hasOverlapError = (() => {\n if (!isEditingStart && !isEditingEnd) return false;\n const effectiveStart = isEditingStart ? startParsedValue : startDate ?? undefined;\n const effectiveEnd = isEditingEnd ? endParsedValue : endDate ?? undefined;\n return isOverlapping(effectiveStart, effectiveEnd, allowSingleDayRange);\n })();\n const startInvalid = startInputError != null || hasOverlapError;\n const endInvalid = endInputError != null || hasOverlapError;\n\n // --- Focus handlers ---\n\n const getActiveInputRef = useCallback(() => activeBoundary === \"start\" ? startInputRef : endInputRef, [activeBoundary]);\n const beginEditing = useCallback(boundary => {\n if (boundary === \"start\") {\n beginStartEditing();\n } else {\n beginEndEditing();\n }\n setActiveBoundary(boundary);\n }, [beginStartEditing, beginEndEditing]);\n const handleInputFocus = useCallback(boundary => {\n beginEditing(boundary);\n if (skipReopenRef.current) {\n skipReopenRef.current = false;\n return;\n }\n setIsOpen(true);\n }, [beginEditing]);\n const handleStartFocus = useCallback(() => {\n handleInputFocus(\"start\");\n }, [handleInputFocus]);\n const handleEndFocus = useCallback(() => {\n handleInputFocus(\"end\");\n }, [handleInputFocus]);\n const closePopoverForBoundaryExit = useCallback(() => {\n skipReopenRef.current = true;\n setIsOpen(false);\n stopStartEditing();\n stopEndEditing();\n getActiveInputRef().current?.focus();\n }, [getActiveInputRef, stopStartEditing, stopEndEditing]);\n const handleStartPointerDown = useCallback(() => {\n // Opening from pointer-down keeps mouse interactions in sync with focus\n // editing before Base UI's later click trigger handler runs.\n startInputRef.current?.focus();\n handleStartFocus();\n }, [handleStartFocus]);\n const handleEndPointerDown = useCallback(() => {\n // Opening from pointer-down keeps mouse interactions in sync with focus\n // editing before Base UI's later click trigger handler runs.\n endInputRef.current?.focus();\n handleEndFocus();\n }, [handleEndFocus]);\n\n // --- Blur handlers ---\n\n const handleStartBlur = useCallback(e => {\n const related = e.relatedTarget ?? document.activeElement;\n if (popoverRef.current?.contains(related)) {\n // Focus moved into the popover portal — the field is still logically\n // active, so suppress the blur from bubbling to parent containers.\n e.stopPropagation();\n return;\n }\n if (endInputRef.current === related) {\n return;\n }\n commitStartAndStopEditing();\n }, [commitStartAndStopEditing]);\n const handleEndBlur = useCallback(e => {\n const related = e.relatedTarget ?? document.activeElement;\n if (popoverRef.current?.contains(related)) {\n e.stopPropagation();\n return;\n }\n if (startInputRef.current === related) {\n return;\n }\n commitEndAndStopEditing();\n }, [commitEndAndStopEditing]);\n\n // --- Popover helpers ---\n\n // Shared close sequence: dismiss the popover, reset both editing states,\n // and blur both inputs so focus doesn't linger after the calendar disappears.\n const closePopover = useCallback(() => {\n setIsOpen(false);\n stopStartEditing();\n stopEndEditing();\n startInputRef.current?.blur();\n endInputRef.current?.blur();\n }, [stopStartEditing, stopEndEditing]);\n\n // --- Keyboard handlers ---\n\n const handleStartKeyDown = useCallback(e => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n commitStartAndStopEditing();\n // Auto-advance to end\n endInputRef.current?.focus();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n closePopover();\n } else if (e.key === \"Tab\" && e.shiftKey) {\n setIsOpen(false);\n }\n }, [commitStartAndStopEditing, closePopover]);\n const handleEndKeyDown = useCallback(e => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n commitEndAndStopEditing();\n closePopover();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n closePopover();\n } else if (e.key === \"Tab\" && !e.shiftKey && isOpen) {\n // Tab from the end input bridges focus into the popover. The popover\n // doesn't auto-focus on open (to keep the cursor in the input for typing),\n // so we manually focus the first interactive element (nav button or select).\n const firstButton = popoverRef.current?.querySelector(\"button, select\");\n if (firstButton != null) {\n e.preventDefault();\n firstButton.focus();\n }\n }\n }, [commitEndAndStopEditing, closePopover, isOpen]);\n\n // Called by base-ui when the popover opens or closes (e.g. click outside, Escape).\n const handleOpenChange = useCallback(nextOpen => {\n if (nextOpen) {\n setIsOpen(true);\n } else {\n closePopover();\n }\n }, [closePopover]);\n\n // --- Calendar handlers ---\n\n const handleRangeSelect = useCallback(range => {\n const newStart = range?.from ?? null;\n const newEnd = range?.to ?? null;\n onChange?.([newStart, newEnd]);\n if (newStart != null && newEnd == null) {\n // Start selected — commit the start and advance to end.\n // displayedValue handles the display format after stopEditing.\n stopStartEditing();\n setActiveBoundary(\"end\");\n endInputRef.current?.focus();\n } else if (newStart != null && newEnd != null && shouldCloseOnSelection) {\n // Full range selected — close and blur.\n closePopover();\n } else if (newStart != null && newEnd != null) {\n // Full range selected but popover stays open (showTime) —\n // inputs remain in editing mode, so update with editFormatFn.\n setStartDateValue(newStart);\n setEndDateValue(newEnd);\n }\n }, [onChange, shouldCloseOnSelection, closePopover, stopStartEditing, setStartDateValue, setEndDateValue]);\n\n // --- Time handlers ---\n\n const handleStartTimeChange = useCallback(time => {\n onChange?.([time, endDate ?? null]);\n setStartDateValue(time);\n }, [endDate, onChange, setStartDateValue]);\n const handleEndTimeChange = useCallback(time => {\n onChange?.([startDate ?? null, time]);\n setEndDateValue(time);\n }, [startDate, onChange, setEndDateValue]);\n\n // --- Focus boundary handlers ---\n // Visually-hidden sentinels at the top/bottom of the popover that trap Tab\n // cycling between the text inputs and calendar.\n\n // Start boundary (top): Shift+Tab past the first calendar element redirects\n // focus to whichever input is currently active.\n const handleStartFocusBoundary = useCallback(() => {\n getActiveInputRef().current?.focus();\n }, [getActiveInputRef]);\n\n // End boundary (bottom): Two cases —\n // (1) Tab past the last calendar element (focus came from inside the popover)\n // → close the popover and return focus to the active input so the next\n // native Tab continues to the next form field.\n // (2) Focus entered from outside the popover (e.g. reverse Tab from the page)\n // → redirect to the last interactive element inside the popover.\n const handleEndFocusBoundary = useCallback(e => {\n const related = e.relatedTarget ?? document.activeElement;\n if (popoverRef.current?.contains(related)) {\n closePopoverForBoundaryExit();\n } else {\n const buttons = popoverRef.current?.querySelectorAll(\"button, select\");\n const lastButton = buttons?.[buttons.length - 1];\n lastButton?.focus();\n }\n }, [closePopoverForBoundaryExit]);\n\n // --- Calendar selected range ---\n\n const calendarSelected = startDate != null || endDate != null ? {\n from: startDate ?? undefined,\n to: endDate ?? undefined\n } : undefined;\n const timeFooter = showTime ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TimePicker, {\n value: startDate,\n onChange: handleStartTimeChange,\n label: \"Start time\"\n }), /*#__PURE__*/React.createElement(TimePicker, {\n value: endDate,\n onChange: handleEndTimeChange,\n label: \"End time\"\n })) : undefined;\n const sharedInputProps = {\n ...SHARED_INPUT_PROPS,\n \"aria-controls\": popoverId\n };\n const isPopoverOpen = !disabled && isOpen;\n\n // Keep Popover.Trigger on each input itself. Moving it to the range wrapper\n // would make click handling simpler, but it would also nest interactive\n // comboboxes inside an interactive trigger and reintroduce the axe violation.\n return /*#__PURE__*/React.createElement(Popover.Root, {\n open: isPopoverOpen,\n onOpenChange: handleOpenChange,\n modal: modal\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: triggerRef,\n className: styles.osdkDateRangeContainer,\n \"data-disabled\": disabled || undefined\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(commonStyles.osdkDatePickerInputWrapper, styles.osdkDateRangeInputWrapper, startInvalid && commonStyles.osdkDatePickerInputWrapperError),\n \"data-disabled\": disabled || undefined\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n nativeButton: false,\n render: /*#__PURE__*/React.createElement(Input, _extends({\n ref: startInputRef,\n id: id != null ? `${id}-start` : undefined,\n value: displayedStart,\n onValueChange: setStartInputValue,\n disabled: disabled,\n onFocus: handleStartFocus,\n onPointerDown: handleStartPointerDown,\n onBlur: handleStartBlur,\n onKeyDown: handleStartKeyDown,\n placeholder: placeholderStart,\n \"aria-expanded\": isPopoverOpen && activeBoundary === \"start\",\n \"aria-label\": \"Start date\",\n \"aria-invalid\": startInvalid || undefined\n }, sharedInputProps))\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(commonStyles.osdkDatePickerInputWrapper, styles.osdkDateRangeInputWrapper, endInvalid && commonStyles.osdkDatePickerInputWrapperError),\n \"data-disabled\": disabled || undefined\n }, /*#__PURE__*/React.createElement(Popover.Trigger, {\n nativeButton: false,\n render: /*#__PURE__*/React.createElement(Input, _extends({\n ref: endInputRef,\n id: id != null ? `${id}-end` : undefined,\n value: displayedEnd,\n onValueChange: setEndInputValue,\n disabled: disabled,\n onBlur: handleEndBlur,\n onKeyDown: handleEndKeyDown,\n onFocus: handleEndFocus,\n onPointerDown: handleEndPointerDown,\n placeholder: placeholderEnd,\n \"aria-expanded\": isPopoverOpen && activeBoundary === \"end\",\n \"aria-label\": \"End date\",\n \"aria-invalid\": endInvalid || undefined\n }, sharedInputProps))\n }))), /*#__PURE__*/React.createElement(Popover.Portal, {\n container: portalContainer\n }, /*#__PURE__*/React.createElement(PortalDismissLayer, {\n className: commonStyles.osdkDatePickerDismissLayer,\n onDismiss: closePopover\n }), /*#__PURE__*/React.createElement(Popover.Positioner, {\n anchor: triggerRef,\n className: commonStyles.osdkDatePickerPositioner,\n sideOffset: 4,\n side: \"bottom\",\n align: \"start\"\n }, /*#__PURE__*/React.createElement(Popover.Popup, {\n ref: popoverRef,\n className: commonStyles.osdkDatePickerPopover,\n id: popoverId,\n role: \"dialog\",\n \"aria-label\": \"date range picker\"\n // Disable base-ui's automatic focus restoration to the trigger on close.\n // We manage focus ourselves via closePopover() which blurs the inputs.\n ,\n finalFocus: false\n }, /*#__PURE__*/React.createElement(\"div\", {\n onFocus: handleStartFocusBoundary,\n tabIndex: 0,\n \"aria-label\": \"Start of date range picker dialog\",\n className: commonStyles.osdkDatePickerFocusBoundary\n }), /*#__PURE__*/React.createElement(LazyDateRangeCalendar, {\n selected: calendarSelected,\n onSelect: handleRangeSelect,\n min: min,\n max: max,\n footer: timeFooter\n }), /*#__PURE__*/React.createElement(\"div\", {\n onFocus: handleEndFocusBoundary,\n tabIndex: 0,\n \"aria-label\": \"End of date range picker dialog\",\n className: commonStyles.osdkDatePickerFocusBoundary\n })))));\n});\n\n/** True when the end boundary is before (or same-day when disallowed) the start. */\nfunction isOverlapping(start, end, allowSingleDayRange) {\n if (start == null || end == null) return false;\n if (!allowSingleDayRange && end.getTime() === start.getTime()) return true;\n return end.getTime() < start.getTime();\n}","/*\n * Copyright 2025 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/* TODO: Extract each variable into its tokens file and map to default value there */\n\n.osdkComboboxTrigger {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--osdk-combobox-trigger-spacing, var(--osdk-surface-spacing));\n width: 100%;\n min-height: var(--osdk-combobox-trigger-min-height, 30px);\n padding: var(\n --osdk-combobox-trigger-padding,\n calc(var(--osdk-surface-spacing) * 1.5)\n calc(var(--osdk-surface-spacing) * 2.5)\n );\n cursor: pointer;\n border-radius: var(\n --osdk-combobox-trigger-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(\n --osdk-combobox-trigger-border-width,\n var(--osdk-surface-border-width)\n )\n solid\n var(\n --osdk-combobox-trigger-border-color,\n var(--osdk-surface-border-color-default)\n );\n box-shadow: var(--osdk-button-shadow);\n background-color: var(\n --osdk-combobox-trigger-bg,\n var(--osdk-button-secondary-bg)\n );\n color: var(\n --osdk-combobox-trigger-color,\n var(--osdk-typography-color-default-rest)\n );\n font-family: var(\n --osdk-combobox-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-combobox-font-size,\n var(--osdk-typography-size-body-medium)\n );\n line-height: var(\n --osdk-combobox-line-height,\n var(--osdk-typography-line-height-default)\n );\n transition:\n background-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default)),\n border-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:hover {\n background-color: var(\n --osdk-combobox-trigger-bg-hover,\n var(--osdk-button-secondary-bg-hover)\n );\n }\n\n &:active {\n background-color: var(\n --osdk-combobox-trigger-bg-active,\n var(--osdk-button-secondary-bg-active)\n );\n }\n\n /* Override global :focus rules (e.g. Blueprint) that add an outline on\n mouse click. Only show the ring on keyboard focus (:focus-visible). */\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:focus-visible {\n outline: var(\n --osdk-combobox-trigger-focus-width,\n var(--osdk-emphasis-focus-width)\n )\n solid\n var(--osdk-combobox-trigger-focus-color, var(--osdk-emphasis-focus-color));\n outline-offset: var(\n --osdk-combobox-trigger-focus-offset,\n var(--osdk-emphasis-focus-offset)\n );\n }\n\n &[data-popup-open]:focus-visible {\n outline: none;\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n opacity: var(--osdk-disabled-opacity);\n }\n\n &[data-popup-open] {\n border-color: var(\n --osdk-combobox-trigger-border-color-active,\n var(--osdk-intent-primary-rest)\n );\n }\n}\n\n/* Multi-select trigger: no hover/active background since chips are interactive */\n.osdkComboboxTriggerMulti {\n &:hover {\n background-color: var(\n --osdk-combobox-trigger-bg,\n var(--osdk-button-secondary-bg)\n );\n }\n\n &:active {\n background-color: var(\n --osdk-combobox-trigger-bg,\n var(--osdk-button-secondary-bg)\n );\n }\n}\n\n.osdkComboboxValueContainer {\n flex: 1;\n display: grid;\n min-width: 0;\n text-align: start;\n\n & > * {\n grid-area: 1 / 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.osdkComboboxPlaceholder {\n text-align: start;\n color: var(\n --osdk-combobox-placeholder-color,\n var(--osdk-typography-color-muted)\n );\n pointer-events: none;\n}\n\n.osdkComboboxIcon {\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n color: var(--osdk-combobox-icon-color, var(--osdk-iconography-color-muted));\n flex-shrink: 0;\n transition: transform\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n [data-popup-open] > & {\n transform: rotate(180deg);\n }\n}\n\n.osdkComboboxInputWrapper {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--osdk-combobox-spacing, var(--osdk-surface-spacing));\n width: 100%;\n min-height: var(--osdk-combobox-min-height, 30px);\n padding: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5)\n calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 2);\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(--osdk-combobox-border-width, var(--osdk-surface-border-width))\n solid\n var(--osdk-combobox-border-color, var(--osdk-surface-border-color-default));\n background-color: var(\n --osdk-combobox-input-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n transition: border-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:focus-within {\n border-color: var(\n --osdk-combobox-focus-border-color,\n var(--osdk-intent-primary-rest)\n );\n outline: var(--osdk-combobox-focus-width, var(--osdk-emphasis-focus-width))\n solid var(--osdk-combobox-focus-color, var(--osdk-emphasis-focus-color));\n outline-offset: var(\n --osdk-combobox-focus-offset,\n var(--osdk-emphasis-focus-offset)\n );\n }\n}\n\n.osdkComboboxSearchIcon {\n flex-shrink: 0;\n color: var(--osdk-combobox-icon-color, var(--osdk-iconography-color-muted));\n}\n\n.osdkComboboxInput {\n flex: 1;\n min-width: 0;\n width: 100%;\n text-overflow: ellipsis;\n padding: var(\n --osdk-combobox-input-padding,\n calc(var(--osdk-surface-spacing) * 1.5)\n calc(var(--osdk-surface-spacing) * 2)\n );\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(--osdk-combobox-border-width, var(--osdk-surface-border-width))\n solid\n var(--osdk-combobox-border-color, var(--osdk-surface-border-color-default));\n background-color: var(\n --osdk-combobox-input-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n transition: border-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:focus {\n border-color: var(\n --osdk-combobox-focus-border-color,\n var(--osdk-intent-primary-rest)\n );\n outline: none;\n }\n\n .osdkComboboxInputWrapper & {\n padding: 0;\n border: none;\n border-radius: 0;\n background: transparent;\n\n &:focus {\n border-color: unset;\n outline: none;\n outline-offset: unset;\n }\n }\n font-family: var(\n --osdk-combobox-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-combobox-font-size,\n var(--osdk-typography-size-body-medium)\n );\n line-height: var(\n --osdk-combobox-line-height,\n var(--osdk-typography-line-height-default)\n );\n color: var(\n --osdk-combobox-input-color,\n var(--osdk-typography-color-default-rest)\n );\n outline: none;\n\n &::placeholder {\n color: var(\n --osdk-combobox-placeholder-color,\n var(--osdk-typography-color-muted)\n );\n }\n}\n\n.osdkComboboxPositioner {\n z-index: var(--osdk-combobox-z-index, var(--osdk-surface-z-index-3));\n /* Base UI may focus popup containers so they can own roving keyboard\n navigation. Keep visible focus on the trigger/input or highlighted option\n instead of drawing a browser-default ring around this wrapper. */\n outline: none;\n\n /* Hide the popup when its anchor scrolls out of view (e.g. inside a\n scrollable sidebar). @base-ui/react sets this attribute automatically\n via floating-ui's hide middleware. */\n &[data-anchor-hidden] {\n visibility: hidden;\n }\n}\n\n.osdkComboboxPopup {\n display: flex;\n flex-direction: column;\n min-width: var(--anchor-width);\n max-height: min(\n var(--osdk-combobox-popup-max-height),\n var(--available-height)\n );\n overflow-y: auto;\n padding: calc(\n var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5\n );\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(--osdk-combobox-border-width, var(--osdk-surface-border-width))\n solid\n var(--osdk-combobox-border-color, var(--osdk-surface-border-color-default));\n background-color: var(\n --osdk-combobox-popup-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n box-shadow: var(--osdk-combobox-popup-shadow, var(--osdk-surface-shadow-2));\n\n &:focus {\n outline: none;\n }\n}\n\n/*\n * When the popup contains a sticky search input, delegate scrolling to the\n * list so the scrollbar doesn't render behind the pinned search input.\n * The popup becomes a non-scrolling flex column; the list fills remaining\n * space and scrolls its own content.\n */\n.osdkComboboxPopup:has(> .osdkComboboxPopupSearchInput) {\n overflow: hidden;\n}\n\n/*\n * When the popup has a search input it stops scrolling (overflow: hidden above).\n * The list fills the remaining space so either its own content or the\n * VirtualizedScroller inside can scroll independently.\n */\n.osdkComboboxPopup:has(> .osdkComboboxPopupSearchInput) > .osdkComboboxList {\n flex: 1;\n min-block-size: 0;\n}\n\n.osdkComboboxItem {\n display: flex;\n align-items: center;\n gap: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5);\n padding: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5)\n calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 2);\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n cursor: pointer;\n font-family: var(\n --osdk-combobox-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-combobox-font-size,\n var(--osdk-typography-size-body-medium)\n );\n line-height: var(\n --osdk-combobox-line-height,\n var(--osdk-typography-line-height-default)\n );\n color: var(\n --osdk-combobox-item-color,\n var(--osdk-typography-color-default-rest)\n );\n transition: background-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &[data-highlighted],\n &:not([data-disabled]):hover {\n background-color: var(\n --osdk-combobox-item-bg-highlighted,\n var(--osdk-surface-background-color-default-hover)\n );\n outline: none;\n }\n\n &[data-selected] {\n background-color: var(\n --osdk-combobox-item-bg-selected,\n var(--osdk-surface-layer-primary)\n );\n color: var(\n --osdk-combobox-item-color-selected,\n var(--osdk-intent-primary-rest)\n );\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n opacity: var(--osdk-disabled-opacity);\n }\n}\n\n.osdkComboboxItemIndicator {\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 4);\n flex-shrink: 0;\n color: var(\n --osdk-combobox-item-color-selected,\n var(--osdk-intent-primary-rest)\n );\n visibility: hidden;\n\n &[data-selected] {\n visibility: visible;\n }\n}\n\n.osdkComboboxChips {\n display: flex;\n flex-wrap: wrap;\n gap: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5);\n margin-bottom: calc(\n var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 2\n );\n}\n\n.osdkComboboxChip {\n display: inline-flex;\n align-items: center;\n gap: var(--osdk-combobox-spacing, var(--osdk-surface-spacing));\n padding: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 0.5)\n calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5);\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n background-color: var(\n --osdk-combobox-chip-bg,\n var(--osdk-custom-color-gray-4)\n );\n font-family: var(\n --osdk-combobox-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-combobox-chip-font-size,\n var(--osdk-typography-size-body-small)\n );\n line-height: var(\n --osdk-combobox-line-height,\n var(--osdk-typography-line-height-default)\n );\n color: var(\n --osdk-combobox-chip-color,\n var(--osdk-typography-color-default-rest)\n );\n}\n\n.osdkComboboxChipRemove {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(\n --osdk-combobox-chip-remove-color,\n var(--osdk-iconography-color-muted)\n );\n transition: color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:hover {\n color: var(\n --osdk-combobox-chip-remove-color-hover,\n var(--osdk-typography-color-default-rest)\n );\n }\n\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n opacity: var(--osdk-disabled-opacity);\n }\n\n &[aria-disabled=\"true\"]:hover {\n color: var(\n --osdk-combobox-chip-remove-color,\n var(--osdk-iconography-color-muted)\n );\n }\n}\n\n.osdkComboboxClear {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n line-height: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--osdk-combobox-clear-color, var(--osdk-iconography-color-muted));\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n transition:\n color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default)),\n background-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:hover {\n color: var(\n --osdk-combobox-clear-color-hover,\n var(--osdk-typography-color-default-rest)\n );\n background-color: var(\n --osdk-combobox-clear-bg-hover,\n var(--osdk-surface-background-color-default-hover)\n );\n }\n\n &[aria-disabled=\"true\"] {\n cursor: not-allowed;\n opacity: var(--osdk-disabled-opacity);\n }\n\n &[aria-disabled=\"true\"]:hover {\n color: var(--osdk-combobox-clear-color, var(--osdk-iconography-color-muted));\n background-color: transparent;\n }\n}\n\n.osdkComboboxList {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Base UI moves focus into the list when the popup opens for keyboard\n navigation. Highlighted options provide the visible affordance, so do not\n draw a browser/default focus ring around the whole popup list. */\n &:focus {\n outline: none;\n }\n}\n\n.osdkComboboxEmpty {\n padding: var(--osdk-combobox-spacing, var(--osdk-surface-spacing))\n var(--osdk-combobox-spacing, var(--osdk-surface-spacing));\n text-align: center;\n color: var(--osdk-combobox-empty-color, var(--osdk-typography-color-muted));\n font-family: var(\n --osdk-combobox-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-combobox-font-size,\n var(--osdk-typography-size-body-medium)\n );\n\n &:empty {\n display: none;\n }\n}\n\n.osdkComboboxItemCheckbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 4);\n height: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 4);\n flex-shrink: 0;\n border-radius: var(\n --osdk-combobox-checkbox-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(\n --osdk-combobox-checkbox-border-width,\n var(--osdk-surface-border-width)\n )\n solid\n var(\n --osdk-combobox-checkbox-border-color,\n var(--osdk-surface-border-color-default)\n );\n color: transparent;\n background-color: var(\n --osdk-combobox-checkbox-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n transition:\n background-color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default)),\n color\n var(\n --osdk-combobox-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-combobox-transition-ease, var(--osdk-emphasis-ease-default));\n\n &[data-selected] {\n background-color: var(\n --osdk-combobox-checkbox-bg-checked,\n var(--osdk-intent-primary-rest)\n );\n border-color: var(\n --osdk-combobox-checkbox-border-color-checked,\n var(--osdk-intent-primary-rest)\n );\n color: var(\n --osdk-combobox-checkbox-color-checked,\n var(--osdk-surface-background-color-default-rest)\n );\n }\n}\n\n.osdkComboboxTriggerChips {\n display: flex;\n flex-wrap: wrap;\n gap: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1);\n grid-area: 1 / 1;\n align-items: center;\n}\n\n.osdkComboboxTriggerChip {\n display: inline-flex;\n align-items: center;\n gap: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1);\n padding: calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1)\n calc(var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5);\n border-radius: var(\n --osdk-combobox-border-radius,\n var(--osdk-surface-border-radius)\n );\n background-color: var(\n --osdk-combobox-chip-bg,\n var(--osdk-custom-color-gray-4)\n );\n font-size: var(\n --osdk-combobox-chip-font-size,\n var(--osdk-typography-size-body-small)\n );\n line-height: 1;\n color: var(\n --osdk-combobox-chip-color,\n var(--osdk-typography-color-default-rest)\n );\n white-space: nowrap;\n}\n\n.osdkComboboxTriggerChipRemove {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n line-height: 0;\n color: var(\n --osdk-combobox-chip-remove-color,\n var(--osdk-iconography-color-muted)\n );\n\n &:hover {\n color: var(\n --osdk-combobox-chip-remove-color-hover,\n var(--osdk-typography-color-default-rest)\n );\n }\n}\n\n.osdkComboboxPopupSearchInput {\n position: sticky;\n inset-block-start: 0;\n /* Keeps the sticky search input above scrolled list items */\n z-index: 1;\n background-color: var(\n --osdk-combobox-popup-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n margin-block-end: calc(\n var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5\n );\n}\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 2025 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 { Combobox as BaseUICombobox } from \"@base-ui/react/combobox\";\nimport { CaretDown, Cross, Search, Tick } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./Combobox.module.css\";\nfunction ComboboxTrigger({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Trigger, _extends({\n className: classnames(styles.osdkComboboxTrigger, className)\n }, rest), children ?? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkComboboxValueContainer\n }, /*#__PURE__*/React.createElement(BaseUICombobox.Value, null)), /*#__PURE__*/React.createElement(ComboboxIcon, null)));\n}\nfunction ComboboxIcon({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Icon, _extends({\n className: classnames(styles.osdkComboboxIcon, className)\n }, rest), children ?? /*#__PURE__*/React.createElement(CaretDown, null));\n}\nfunction ComboboxSearchInput({\n className,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(styles.osdkComboboxInputWrapper, className)\n }, /*#__PURE__*/React.createElement(Search, {\n className: styles.osdkComboboxSearchIcon\n }), /*#__PURE__*/React.createElement(BaseUICombobox.Input, _extends({\n className: styles.osdkComboboxInput\n }, rest)));\n}\nfunction ComboboxInput({\n className,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Input, _extends({\n className: classnames(styles.osdkComboboxInput, className)\n }, rest));\n}\nfunction ComboboxPositioner({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Positioner, _extends({\n className: classnames(styles.osdkComboboxPositioner, className),\n sideOffset: 4\n }, rest), children);\n}\nfunction ComboboxPopup({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Popup, _extends({\n className: classnames(styles.osdkComboboxPopup, className)\n }, rest), children);\n}\nfunction ComboboxItem({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Item, _extends({\n className: classnames(styles.osdkComboboxItem, className)\n }, rest), children);\n}\nfunction ComboboxChips({\n children,\n className\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Chips, {\n render: props => /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n className: classnames(styles.osdkComboboxInputWrapper, className)\n }), props.children)\n }, children);\n}\nfunction ComboboxChip({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Chip, _extends({\n className: classnames(styles.osdkComboboxChip, className)\n }, rest), children);\n}\nfunction ComboboxChipRemove({\n className,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.ChipRemove, _extends({\n className: classnames(styles.osdkComboboxChipRemove, className),\n \"aria-label\": \"Remove\"\n }, rest), /*#__PURE__*/React.createElement(Cross, null));\n}\nfunction ComboboxClear({\n className,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Clear, _extends({\n className: classnames(styles.osdkComboboxClear, className),\n \"aria-label\": \"Clear all\"\n }, rest), /*#__PURE__*/React.createElement(Cross, null));\n}\nfunction ComboboxEmpty({\n children,\n className\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.Empty, {\n className: classnames(styles.osdkComboboxEmpty, className)\n }, children);\n}\nfunction ComboboxList({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.List, _extends({\n className: classnames(styles.osdkComboboxList, className)\n }, rest), children);\n}\nfunction ComboboxItemIndicator({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUICombobox.ItemIndicator, _extends({\n className: classnames(styles.osdkComboboxItemIndicator, className),\n keepMounted: true\n }, rest), children ?? /*#__PURE__*/React.createElement(Tick, {\n size: 16\n }));\n}\nexport const Combobox = {\n Root: BaseUICombobox.Root,\n Trigger: ComboboxTrigger,\n Icon: ComboboxIcon,\n SearchInput: ComboboxSearchInput,\n Input: ComboboxInput,\n Portal: BaseUICombobox.Portal,\n Positioner: ComboboxPositioner,\n Popup: ComboboxPopup,\n List: ComboboxList,\n Item: ComboboxItem,\n ItemIndicator: ComboboxItemIndicator,\n Collection: BaseUICombobox.Collection,\n Chips: ComboboxChips,\n Chip: ComboboxChip,\n ChipRemove: ComboboxChipRemove,\n Clear: ComboboxClear,\n Empty: ComboboxEmpty,\n Value: BaseUICombobox.Value\n};"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk4KC5U44T_cjs = require('./chunk-4KC5U44T.cjs');
3
+ var chunkXA3S7YAO_cjs = require('./chunk-XA3S7YAO.cjs');
4
4
  var React4 = require('react');
5
5
  var icons = require('@blueprintjs/icons');
6
6
  var select = require('@base-ui/react/select');
@@ -250,7 +250,7 @@ var SelectDropdown = typedReactMemo(function SelectDropdownFn({
250
250
  }, /* @__PURE__ */ React4__namespace.default.createElement(icons.CaretDown, null))), /* @__PURE__ */ React4__namespace.default.createElement(Select.Portal, {
251
251
  ref: portalRef,
252
252
  container: portalContainer
253
- }, isOpen && modal && /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.PortalDismissLayer, {
253
+ }, isOpen && modal && /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.PortalDismissLayer, {
254
254
  className: DropdownField_default.osdkSelectDismissLayer,
255
255
  onDismiss: handleDismiss
256
256
  }), /* @__PURE__ */ React4__namespace.default.createElement(Select.Positioner, null, /* @__PURE__ */ React4__namespace.default.createElement(Select.Popup, null, items.map((item) => {
@@ -321,13 +321,13 @@ var ComboboxDropdown = typedReactMemo(function ComboboxDropdownFn({
321
321
  }, [handleOpenChange]);
322
322
  const renderItem = React4.useCallback((item) => {
323
323
  const itemLabel = itemToStringLabel(item);
324
- return /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Item, {
324
+ return /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Item, {
325
325
  key: getKey(item),
326
326
  value: item,
327
327
  "aria-label": itemLabel
328
- }, isMultiple && /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.ItemIndicator, null, /* @__PURE__ */ React4__namespace.default.createElement(icons.Tick, null)), renderItemLabel(item));
328
+ }, isMultiple && /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.ItemIndicator, null, /* @__PURE__ */ React4__namespace.default.createElement(icons.Tick, null)), renderItemLabel(item));
329
329
  }, [getKey, isMultiple, itemToStringLabel, renderItemLabel]);
330
- return /* @__PURE__ */ React4__namespace.default.createElement("div", null, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Root, {
330
+ return /* @__PURE__ */ React4__namespace.default.createElement("div", null, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Root, {
331
331
  value,
332
332
  onValueChange: handleValueChange,
333
333
  open: isOpen,
@@ -340,46 +340,46 @@ var ComboboxDropdown = typedReactMemo(function ComboboxDropdownFn({
340
340
  onInputValueChange: onQueryChange,
341
341
  filter: disableClientSideFiltering ? null : void 0,
342
342
  disabled
343
- }, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Trigger, {
343
+ }, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Trigger, {
344
344
  id,
345
345
  disabled,
346
- className: isMultiple ? chunk4KC5U44T_cjs.Combobox_default.osdkComboboxTriggerMulti : void 0
346
+ className: isMultiple ? chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxTriggerMulti : void 0
347
347
  }, /* @__PURE__ */ React4__namespace.default.createElement("div", {
348
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxValueContainer
348
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxValueContainer
349
349
  }, isMultiple && Array.isArray(value) && value.length > 0 ? /* @__PURE__ */ React4__namespace.default.createElement("div", {
350
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxTriggerChips
350
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxTriggerChips
351
351
  }, value.map((item) => /* @__PURE__ */ React4__namespace.default.createElement("span", {
352
352
  key: getKey(item),
353
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxTriggerChip
353
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxTriggerChip
354
354
  }, renderItemLabel(item), /* @__PURE__ */ React4__namespace.default.createElement("span", {
355
355
  role: "button",
356
356
  "aria-label": `Remove ${itemToStringLabel(item)}`,
357
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxTriggerChipRemove,
357
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxTriggerChipRemove,
358
358
  "aria-disabled": disabled || void 0,
359
359
  onMouseDown: disabled ? void 0 : preventTriggerOpen,
360
360
  onClick: disabled ? void 0 : () => handleRemoveItem(item)
361
361
  }, /* @__PURE__ */ React4__namespace.default.createElement(icons.Cross, {
362
362
  size: 12
363
- }))))) : /* @__PURE__ */ React4__namespace.default.createElement(React4__namespace.default.Fragment, null, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Value, null, renderSingleSelectedItemLabel), !hasValue && placeholder != null && /* @__PURE__ */ React4__namespace.default.createElement("span", {
364
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxPlaceholder
363
+ }))))) : /* @__PURE__ */ React4__namespace.default.createElement(React4__namespace.default.Fragment, null, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Value, null, renderSingleSelectedItemLabel), !hasValue && placeholder != null && /* @__PURE__ */ React4__namespace.default.createElement("span", {
364
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxPlaceholder
365
365
  }, placeholder))), hasValue && /* @__PURE__ */ React4__namespace.default.createElement("span", {
366
366
  role: "button",
367
367
  "aria-label": "Clear",
368
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxClear,
368
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxClear,
369
369
  "aria-disabled": disabled || void 0,
370
370
  onMouseDown: disabled ? void 0 : preventTriggerOpen,
371
371
  onClick: disabled ? void 0 : handleClear
372
- }, /* @__PURE__ */ React4__namespace.default.createElement(icons.SmallCross, null)), /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Icon, null, /* @__PURE__ */ React4__namespace.default.createElement(icons.CaretDown, null))), /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Portal, {
372
+ }, /* @__PURE__ */ React4__namespace.default.createElement(icons.SmallCross, null)), /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Icon, null, /* @__PURE__ */ React4__namespace.default.createElement(icons.CaretDown, null))), /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Portal, {
373
373
  ref: portalRef,
374
374
  container: portalContainer
375
- }, isOpen && modal && /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.PortalDismissLayer, {
375
+ }, isOpen && modal && /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.PortalDismissLayer, {
376
376
  className: DropdownField_default.osdkComboboxDismissLayer,
377
377
  onDismiss: handleDismiss
378
- }), /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Positioner, null, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Popup, null, isSearchable && /* @__PURE__ */ React4__namespace.default.createElement("div", {
379
- className: chunk4KC5U44T_cjs.Combobox_default.osdkComboboxPopupSearchInput
380
- }, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.SearchInput, {
378
+ }), /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Positioner, null, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Popup, null, isSearchable && /* @__PURE__ */ React4__namespace.default.createElement("div", {
379
+ className: chunkXA3S7YAO_cjs.Combobox_default.osdkComboboxPopupSearchInput
380
+ }, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.SearchInput, {
381
381
  placeholder: "Search\u2026"
382
- })), popupStatus, popupStatus == null && /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Empty, null, "No results"), /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.List, null, /* @__PURE__ */ React4__namespace.default.createElement(chunk4KC5U44T_cjs.Combobox.Collection, null, renderItem), trailingItem))))));
382
+ })), popupStatus, popupStatus == null && /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Empty, null, "No results"), /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.List, null, /* @__PURE__ */ React4__namespace.default.createElement(chunkXA3S7YAO_cjs.Combobox.Collection, null, renderItem), trailingItem))))));
383
383
  });
384
384
  function preventTriggerOpen(e) {
385
385
  e.stopPropagation();
@@ -398,5 +398,5 @@ function defaultItemToStringLabel(item) {
398
398
  exports.DropdownField = DropdownField;
399
399
  exports.typedReactMemo = typedReactMemo;
400
400
  exports.useEventCallback = useEventCallback;
401
- //# sourceMappingURL=chunk-GN3PIYGH.cjs.map
402
- //# sourceMappingURL=chunk-GN3PIYGH.cjs.map
401
+ //# sourceMappingURL=chunk-Y6BGC7DP.cjs.map
402
+ //# sourceMappingURL=chunk-Y6BGC7DP.cjs.map