@osdk/react-components 0.30.0 → 0.30.1-main-c24b0cfe0a3dc2f97e32eb1060b9b76e8fd2201d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/browser/action-form/fields/BaseInput.module.css +1 -0
- package/build/browser/action-form/fields/NumberInputField.module.css +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +4 -16
- package/build/browser/base-components/select/Select.module.css +2 -6
- package/build/browser/shared/calendar/DatePickerCommon.module.css +4 -2
- package/build/browser/shared/calendar/TimePicker.module.css +1 -0
- package/build/browser/styles.css +66 -53
- package/build/browser/tokens/base-tokens/base.css +1 -0
- package/build/browser/tokens/base-tokens/dark.css +3 -4
- package/build/browser/tokens/component-tokens/button.css +21 -5
- package/build/browser/tokens/component-tokens/input.css +27 -20
- package/build/browser/tokens/component-tokens/select.css +4 -0
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/cjs/{DateRangeCalendar-2HFI3L3M.css → DateCalendar-FTW3OIEP.css} +2 -1
- package/build/cjs/{DateRangeCalendar-2HFI3L3M.css.map → DateCalendar-FTW3OIEP.css.map} +1 -1
- package/build/cjs/{DateCalendar-RK7PNWNX.cjs → DateCalendar-XX5FYQMQ.cjs} +6 -6
- package/build/cjs/{DateCalendar-RK7PNWNX.cjs.map → DateCalendar-XX5FYQMQ.cjs.map} +1 -1
- package/build/cjs/{DateCalendar-ZTCWZECP.css → DateRangeCalendar-I4JHCZAK.css} +2 -1
- package/build/cjs/{DateCalendar-ZTCWZECP.css.map → DateRangeCalendar-I4JHCZAK.css.map} +1 -1
- package/build/cjs/DateRangeCalendar-WYZXRAX6.cjs +12 -0
- package/build/cjs/{DateRangeCalendar-V7SCEXFC.cjs.map → DateRangeCalendar-WYZXRAX6.cjs.map} +1 -1
- package/build/cjs/chunk-2ITZUS3H.cjs +11 -0
- package/build/cjs/{chunk-WEDW5QSS.cjs.map → chunk-2ITZUS3H.cjs.map} +1 -1
- package/build/cjs/{chunk-OUDNXCJY.cjs → chunk-44MSRB5M.cjs} +22 -22
- package/build/cjs/chunk-44MSRB5M.cjs.map +1 -0
- package/build/cjs/chunk-7JSM5VUX.cjs +11 -0
- package/build/cjs/{chunk-H75F3WIO.cjs.map → chunk-7JSM5VUX.cjs.map} +1 -1
- package/build/cjs/{chunk-WFXVRAP6.cjs → chunk-CSQXWD4M.cjs} +4 -4
- package/build/cjs/{chunk-WFXVRAP6.cjs.map → chunk-CSQXWD4M.cjs.map} +1 -1
- package/build/cjs/chunk-ELV6SPJQ.cjs +11 -0
- package/build/cjs/{chunk-JOGYZ6HK.cjs.map → chunk-ELV6SPJQ.cjs.map} +1 -1
- package/build/cjs/chunk-FGFEG4N6.cjs +11 -0
- package/build/cjs/{chunk-L57AHJFZ.cjs.map → chunk-FGFEG4N6.cjs.map} +1 -1
- package/build/cjs/{chunk-CW5XBBZE.cjs → chunk-FNVSH5DQ.cjs} +12 -12
- package/build/cjs/{chunk-CW5XBBZE.cjs.map → chunk-FNVSH5DQ.cjs.map} +1 -1
- package/build/cjs/{chunk-G3MN2D5B.cjs → chunk-HMVOUGYK.cjs} +4 -4
- package/build/cjs/{chunk-G3MN2D5B.cjs.map → chunk-HMVOUGYK.cjs.map} +1 -1
- package/build/cjs/{chunk-ILQKBQBD.cjs → chunk-IXZKHEPZ.cjs} +17 -17
- package/build/cjs/{chunk-ILQKBQBD.cjs.map → chunk-IXZKHEPZ.cjs.map} +1 -1
- package/build/cjs/chunk-JZZH3VF2.cjs +11 -0
- package/build/cjs/{chunk-LPI7ZRNN.cjs.map → chunk-JZZH3VF2.cjs.map} +1 -1
- package/build/cjs/{chunk-RBOSH7OQ.cjs → chunk-KOBL7I7K.cjs} +17 -17
- package/build/cjs/{chunk-RBOSH7OQ.cjs.map → chunk-KOBL7I7K.cjs.map} +1 -1
- package/build/cjs/{chunk-3S2GECDS.cjs → chunk-OAKML3W7.cjs} +3 -3
- package/build/cjs/chunk-OAKML3W7.cjs.map +1 -0
- package/build/cjs/{chunk-NXANOER7.cjs → chunk-OV3Z5MRW.cjs} +4 -4
- package/build/cjs/{chunk-NXANOER7.cjs.map → chunk-OV3Z5MRW.cjs.map} +1 -1
- package/build/cjs/{chunk-UXCV37T2.cjs → chunk-PSNDYSCM.cjs} +4 -4
- package/build/cjs/{chunk-UXCV37T2.cjs.map → chunk-PSNDYSCM.cjs.map} +1 -1
- package/build/cjs/{chunk-U6O6YPTC.cjs → chunk-WBNOAJLG.cjs} +51 -51
- package/build/cjs/{chunk-U6O6YPTC.cjs.map → chunk-WBNOAJLG.cjs.map} +1 -1
- package/build/cjs/{chunk-P7TBU22H.cjs → chunk-XCKQWSXC.cjs} +4 -4
- package/build/cjs/{chunk-P7TBU22H.cjs.map → chunk-XCKQWSXC.cjs.map} +1 -1
- package/build/cjs/{chunk-RITT3EHD.cjs → chunk-XK4H7EHE.cjs} +2 -2
- package/build/cjs/{chunk-RITT3EHD.cjs.map → chunk-XK4H7EHE.cjs.map} +1 -1
- package/build/cjs/{chunk-PS47WZ32.cjs → chunk-XWT6S3FL.cjs} +12 -12
- package/build/cjs/{chunk-PS47WZ32.cjs.map → chunk-XWT6S3FL.cjs.map} +1 -1
- package/build/cjs/public/experimental/action-form.cjs +8 -8
- package/build/cjs/public/experimental/action-form.css +13 -8
- package/build/cjs/public/experimental/action-form.css.map +1 -1
- package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
- package/build/cjs/public/experimental/document-viewer.cjs +4 -4
- package/build/cjs/public/experimental/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
- package/build/cjs/public/experimental/filter-list.cjs +18 -18
- package/build/cjs/public/experimental/filter-list.css +9 -6
- package/build/cjs/public/experimental/filter-list.css.map +1 -1
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
- package/build/cjs/public/experimental/object-table.cjs +12 -12
- package/build/cjs/public/experimental/object-table.css +11 -8
- package/build/cjs/public/experimental/object-table.css.map +1 -1
- package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
- package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +62 -62
- package/build/cjs/public/experimental.css +13 -8
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/esm/action-form/fields/BaseInput.module.css +1 -0
- package/build/esm/action-form/fields/NumberInputField.module.css +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +4 -16
- package/build/esm/base-components/select/Select.module.css +2 -6
- package/build/esm/shared/calendar/DatePickerCommon.module.css +4 -2
- package/build/esm/shared/calendar/TimePicker.module.css +1 -0
- package/build/esm/tokens/base-tokens/base.css +1 -0
- package/build/esm/tokens/base-tokens/dark.css +3 -4
- package/build/esm/tokens/component-tokens/button.css +21 -5
- package/build/esm/tokens/component-tokens/input.css +27 -20
- package/build/esm/tokens/component-tokens/select.css +4 -0
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/docs/CSSVariables.md +38 -27
- package/package.json +5 -5
- package/build/cjs/DateRangeCalendar-V7SCEXFC.cjs +0 -12
- package/build/cjs/chunk-3S2GECDS.cjs.map +0 -1
- package/build/cjs/chunk-H75F3WIO.cjs +0 -11
- package/build/cjs/chunk-JOGYZ6HK.cjs +0 -11
- package/build/cjs/chunk-L57AHJFZ.cjs +0 -11
- package/build/cjs/chunk-LPI7ZRNN.cjs +0 -11
- package/build/cjs/chunk-OUDNXCJY.cjs.map +0 -1
- package/build/cjs/chunk-WEDW5QSS.cjs +0 -11
|
@@ -98,16 +98,8 @@
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
&:focus-visible {
|
|
101
|
-
outline: var(
|
|
102
|
-
|
|
103
|
-
var(--osdk-emphasis-focus-width)
|
|
104
|
-
)
|
|
105
|
-
solid
|
|
106
|
-
var(--osdk-combobox-trigger-focus-color, var(--osdk-emphasis-focus-color));
|
|
107
|
-
outline-offset: var(
|
|
108
|
-
--osdk-combobox-trigger-focus-offset,
|
|
109
|
-
var(--osdk-emphasis-focus-offset)
|
|
110
|
-
);
|
|
101
|
+
outline: var(--osdk-input-focus-outline);
|
|
102
|
+
outline-offset: var(--osdk-input-focus-outline-offset);
|
|
111
103
|
}
|
|
112
104
|
|
|
113
105
|
&[data-popup-open]:focus-visible {
|
|
@@ -218,12 +210,8 @@
|
|
|
218
210
|
--osdk-combobox-focus-border-color,
|
|
219
211
|
var(--osdk-intent-primary-rest)
|
|
220
212
|
);
|
|
221
|
-
outline: var(--osdk-
|
|
222
|
-
|
|
223
|
-
outline-offset: var(
|
|
224
|
-
--osdk-combobox-focus-offset,
|
|
225
|
-
var(--osdk-emphasis-focus-offset)
|
|
226
|
-
);
|
|
213
|
+
outline: var(--osdk-input-focus-outline);
|
|
214
|
+
outline-offset: var(--osdk-input-focus-outline-offset);
|
|
227
215
|
}
|
|
228
216
|
}
|
|
229
217
|
|
|
@@ -92,12 +92,8 @@
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
&:focus-visible {
|
|
95
|
-
outline: var(--osdk-
|
|
96
|
-
|
|
97
|
-
outline-offset: var(
|
|
98
|
-
--osdk-select-focus-offset,
|
|
99
|
-
var(--osdk-emphasis-focus-offset)
|
|
100
|
-
);
|
|
95
|
+
outline: var(--osdk-input-focus-outline);
|
|
96
|
+
outline-offset: var(--osdk-input-focus-outline-offset);
|
|
101
97
|
}
|
|
102
98
|
|
|
103
99
|
&[data-popup-open]:focus-visible {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
color: var(--osdk-datetime-input-placeholder-color);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
&:focus
|
|
24
|
-
outline:
|
|
23
|
+
&:focus {
|
|
24
|
+
outline: none;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -81,6 +81,8 @@
|
|
|
81
81
|
|
|
82
82
|
&:focus-within {
|
|
83
83
|
box-shadow: var(--osdk-datetime-input-focus-shadow);
|
|
84
|
+
outline: var(--osdk-input-focus-outline);
|
|
85
|
+
outline-offset: var(--osdk-input-focus-outline-offset);
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
&[data-disabled] {
|
|
@@ -37,14 +37,13 @@
|
|
|
37
37
|
--osdk-dark-bp-typography-color-default-active: #54575d;
|
|
38
38
|
|
|
39
39
|
/* --osdk-* dark values (single source of truth) */
|
|
40
|
+
--osdk-dark-surface-shadow-2: var(--osdk-dark-bp-surface-shadow-2);
|
|
40
41
|
--osdk-dark-background-primary: #111418;
|
|
41
42
|
--osdk-dark-background-secondary: #1c2127;
|
|
42
43
|
--osdk-dark-background-tertiary: #1c2127;
|
|
43
44
|
--osdk-dark-typography-color-muted: #8f99a8;
|
|
44
45
|
--osdk-dark-intent-default-rest: #8f99a8;
|
|
45
46
|
--osdk-dark-intent-default-foreground: #f6f7f9;
|
|
46
|
-
--osdk-dark-button-secondary-bg: #252a31;
|
|
47
|
-
--osdk-dark-button-secondary-color: #f6f7f9;
|
|
48
47
|
--osdk-dark-table-row-bg-default: #111418;
|
|
49
48
|
--osdk-dark-table-header-bg: #1c2127;
|
|
50
49
|
--osdk-dark-table-header-color: #a5aab3;
|
|
@@ -64,14 +63,14 @@
|
|
|
64
63
|
token derived from --bp-* (see base.css) cascades correctly. We only
|
|
65
64
|
set --osdk-* tokens that have no --bp-* counterpart or that
|
|
66
65
|
intentionally diverge from Blueprint's value. */
|
|
66
|
+
--osdk-surface-shadow-2: var(--osdk-dark-surface-shadow-2);
|
|
67
|
+
--osdk-surface-border-color-default: var(--osdk-dark-bp-surface-border-color-default);
|
|
67
68
|
--osdk-background-primary: var(--osdk-dark-background-primary);
|
|
68
69
|
--osdk-background-secondary: var(--osdk-dark-background-secondary);
|
|
69
70
|
--osdk-background-tertiary: var(--osdk-dark-background-tertiary);
|
|
70
71
|
--osdk-typography-color-muted: var(--osdk-dark-typography-color-muted);
|
|
71
72
|
--osdk-intent-default-rest: var(--osdk-dark-intent-default-rest);
|
|
72
73
|
--osdk-intent-default-foreground: var(--osdk-dark-intent-default-foreground);
|
|
73
|
-
--osdk-button-secondary-bg: var(--osdk-dark-button-secondary-bg);
|
|
74
|
-
--osdk-button-secondary-color: var(--osdk-dark-button-secondary-color);
|
|
75
74
|
--osdk-table-row-bg-default: var(--osdk-dark-table-row-bg-default);
|
|
76
75
|
--osdk-table-header-bg: var(--osdk-dark-table-header-bg);
|
|
77
76
|
--osdk-table-header-color: var(--osdk-dark-table-header-color);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
/* Button shared
|
|
2
|
+
/* Button shared — border is none; visual border comes from box-shadow
|
|
3
|
+
to match Blueprint's .bp6-button convention */
|
|
3
4
|
--osdk-button-min-height: calc(var(--osdk-surface-spacing) * 7.5);
|
|
4
|
-
--osdk-button-border-color:
|
|
5
|
-
--osdk-button-border:
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
--osdk-button-border-color: transparent;
|
|
6
|
+
--osdk-button-border: none;
|
|
7
|
+
--osdk-button-shadow:
|
|
8
|
+
inset 0 0 0 1px color-mix(in oklch, var(--bp-palette-black) 20%, transparent),
|
|
9
|
+
0 1px 1px color-mix(in oklch, var(--bp-palette-black) 10%, transparent);
|
|
8
10
|
|
|
9
11
|
/* Primary Button */
|
|
10
12
|
--osdk-button-primary-color: var(--osdk-intent-primary-foreground);
|
|
@@ -60,3 +62,17 @@
|
|
|
60
62
|
--osdk-button-danger-bg-active: var(--osdk-intent-danger-active);
|
|
61
63
|
--osdk-button-danger-border-color: var(--osdk-intent-danger-rest);
|
|
62
64
|
}
|
|
65
|
+
|
|
66
|
+
[data-bp-color-scheme="dark"],
|
|
67
|
+
.bp6-dark {
|
|
68
|
+
--osdk-button-secondary-bg: color-mix(
|
|
69
|
+
in srgb,
|
|
70
|
+
var(--bp-intent-default-rest) 40%,
|
|
71
|
+
var(--bp-palette-black)
|
|
72
|
+
);
|
|
73
|
+
--osdk-button-secondary-color: var(--bp-intent-default-foreground);
|
|
74
|
+
--osdk-button-shadow:
|
|
75
|
+
inset 0 0 0 var(--bp-surface-border-width)
|
|
76
|
+
color-mix(in oklch, var(--bp-surface-border-color-default) 50%, transparent),
|
|
77
|
+
0 1px 2px color-mix(in oklch, var(--bp-palette-black) 20%, transparent);
|
|
78
|
+
}
|
|
@@ -5,15 +5,19 @@
|
|
|
5
5
|
calc(var(--osdk-surface-spacing) * 2.5);
|
|
6
6
|
--osdk-input-border-radius: var(--osdk-surface-border-radius);
|
|
7
7
|
|
|
8
|
-
/* Input borders
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
--osdk-input-border-
|
|
8
|
+
/* Input borders — visual border comes from box-shadow (inset 0 0 0 1px)
|
|
9
|
+
to match Blueprint's .bp6-input convention. Border width is 1px so
|
|
10
|
+
custom themes can set --osdk-input-border-color to add a real border. */
|
|
11
|
+
--osdk-input-border-width: 1px;
|
|
12
|
+
--osdk-input-border-color: transparent;
|
|
13
|
+
--osdk-input-border-color-focus: transparent;
|
|
14
|
+
/* First two layers are 0-opacity placeholders that maintain shadow layer
|
|
15
|
+
count for smooth CSS transitions when focus adds a visible glow. */
|
|
12
16
|
--osdk-input-shadow:
|
|
13
17
|
inset 0 0 0 var(--osdk-input-border-width)
|
|
14
|
-
var(--
|
|
18
|
+
color-mix(in oklch, var(--bp-palette-black) 20%, transparent),
|
|
15
19
|
0 0 0 0 transparent,
|
|
16
|
-
inset 0 1px 1px var(--
|
|
20
|
+
inset 0 1px 1px color-mix(in oklch, var(--bp-palette-black) 30%, transparent);
|
|
17
21
|
|
|
18
22
|
/* Input backgrounds */
|
|
19
23
|
--osdk-input-bg: var(--osdk-surface-background-color-default-rest);
|
|
@@ -29,20 +33,12 @@
|
|
|
29
33
|
--osdk-input-transition-duration: var(--osdk-emphasis-transition-duration);
|
|
30
34
|
--osdk-input-transition-ease: var(--osdk-emphasis-ease-default);
|
|
31
35
|
|
|
32
|
-
/* Input focus ring */
|
|
33
|
-
--osdk-input-focus-outline:
|
|
34
|
-
--osdk-input-focus-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
color-mix(in srgb, var(--osdk-input-border-color-focus) 75%, transparent),
|
|
39
|
-
inset 0 1px 1px var(--osdk-surface-border-color-default);
|
|
40
|
-
--osdk-input-focus-shadow-error:
|
|
41
|
-
inset 0 0 0 var(--osdk-input-border-width)
|
|
42
|
-
color-mix(in srgb, var(--osdk-input-border-color-error) 75%, transparent),
|
|
43
|
-
0 0 0 var(--osdk-input-border-width)
|
|
44
|
-
color-mix(in srgb, var(--osdk-input-border-color-error) 75%, transparent),
|
|
45
|
-
inset 0 1px 1px var(--osdk-surface-border-color-default);
|
|
36
|
+
/* Input focus ring — use outline instead of Blueprint's box-shadow focus */
|
|
37
|
+
--osdk-input-focus-outline: 1px solid var(--osdk-intent-primary-rest);
|
|
38
|
+
--osdk-input-focus-outline-offset: -1px;
|
|
39
|
+
/* Focus shadow keeps the base inset border; outline provides the focus ring */
|
|
40
|
+
--osdk-input-focus-shadow: var(--osdk-input-shadow);
|
|
41
|
+
--osdk-input-focus-shadow-error: var(--osdk-input-shadow-error);
|
|
46
42
|
|
|
47
43
|
/* Input disabled */
|
|
48
44
|
--osdk-input-disabled-opacity: var(--osdk-disabled-opacity);
|
|
@@ -55,3 +51,14 @@
|
|
|
55
51
|
0 0 0 0 transparent,
|
|
56
52
|
inset 0 1px 1px var(--osdk-surface-border-color-default);
|
|
57
53
|
}
|
|
54
|
+
|
|
55
|
+
[data-bp-color-scheme="dark"],
|
|
56
|
+
.bp6-dark {
|
|
57
|
+
--osdk-input-shadow:
|
|
58
|
+
0 0 0 0 color-mix(in srgb, var(--bp-intent-primary-rest) 0%, transparent),
|
|
59
|
+
0 0 0 0 color-mix(in srgb, var(--bp-intent-primary-rest) 0%, transparent),
|
|
60
|
+
inset 0 0 0 1px color-mix(in oklch, var(--bp-palette-white) 20%, transparent),
|
|
61
|
+
inset 0 -1px 1px 0 color-mix(in oklch, var(--bp-palette-white) 30%, transparent);
|
|
62
|
+
--osdk-input-bg: color-mix(in srgb, var(--osdk-palette-black) 30%, transparent);
|
|
63
|
+
--osdk-input-color: var(--osdk-palette-light-gray-5);
|
|
64
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
:root {
|
|
2
|
+
/* Select trigger: border is none; visual border comes from box-shadow
|
|
3
|
+
(--osdk-button-shadow) to match Blueprint's convention */
|
|
4
|
+
--osdk-select-border-width: none;
|
|
5
|
+
|
|
2
6
|
/* Select popup: cap long dropdowns so they scroll inside the popup instead
|
|
3
7
|
of growing to fill the available viewport/dialog height. The component
|
|
4
8
|
still respects Base UI's `--available-height`, so short viewports can use
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.30.
|
|
17
|
+
const PACKAGE_USER_AGENT = `osdk-react-components/${"0.30.1-main-c24b0cfe0a3dc2f97e32eb1060b9b76e8fd2201d"}`;
|
|
18
18
|
export function componentUserAgent(componentName) {
|
|
19
19
|
return `${PACKAGE_USER_AGENT}/${componentName}`;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\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\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,
|
|
1
|
+
{"version":3,"file":"UserAgent.js","names":["PACKAGE_USER_AGENT","componentUserAgent","componentName"],"sources":["UserAgent.ts"],"sourcesContent":["/*\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\nconst PACKAGE_USER_AGENT =\n `osdk-react-components/${process.env.PACKAGE_VERSION}`;\n\nexport function componentUserAgent(componentName: string): string {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,kBAAkB,GACtB,iFAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
|
package/docs/CSSVariables.md
CHANGED
|
@@ -244,7 +244,16 @@ Shared tokens for drag handle styling across components.
|
|
|
244
244
|
|
|
245
245
|
### Button
|
|
246
246
|
|
|
247
|
-
Styling for button components.
|
|
247
|
+
Styling for button components. Buttons use `border: none` with `box-shadow` for visual borders, matching Blueprint's `.bp6-button` convention.
|
|
248
|
+
|
|
249
|
+
#### Shared
|
|
250
|
+
|
|
251
|
+
| Variable | Default Value | Description |
|
|
252
|
+
| ---------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------- |
|
|
253
|
+
| `--osdk-button-min-height` | `calc(var(--osdk-surface-spacing) * 7.5)` | Button minimum height |
|
|
254
|
+
| `--osdk-button-border-color` | `transparent` | Button border color |
|
|
255
|
+
| `--osdk-button-border` | `none` | Button border |
|
|
256
|
+
| `--osdk-button-shadow` | `inset 0 0 0 1px color-mix(…, --bp-palette-black 20%), 0 1px 1px color-mix(…, --bp-palette-black 10%)` | Button box-shadow |
|
|
248
257
|
|
|
249
258
|
#### Primary Button
|
|
250
259
|
|
|
@@ -1066,31 +1075,32 @@ Styling for form components.
|
|
|
1066
1075
|
|
|
1067
1076
|
### Input
|
|
1068
1077
|
|
|
1069
|
-
Shared styling for input components.
|
|
1070
|
-
|
|
1071
|
-
| Variable
|
|
1072
|
-
|
|
|
1073
|
-
| `--osdk-input-min-height`
|
|
1074
|
-
| `--osdk-input-padding`
|
|
1075
|
-
| `--osdk-input-border-radius`
|
|
1076
|
-
| `--osdk-input-border-width`
|
|
1077
|
-
| `--osdk-input-border-color`
|
|
1078
|
-
| `--osdk-input-border-color-focus`
|
|
1079
|
-
| `--osdk-input-border-color-error`
|
|
1080
|
-
| `--osdk-input-shadow`
|
|
1081
|
-
| `--osdk-input-bg`
|
|
1082
|
-
| `--osdk-input-bg-hover`
|
|
1083
|
-
| `--osdk-input-color`
|
|
1084
|
-
| `--osdk-input-placeholder-color`
|
|
1085
|
-
| `--osdk-input-font-size`
|
|
1086
|
-
| `--osdk-input-font-family`
|
|
1087
|
-
| `--osdk-input-transition-duration`
|
|
1088
|
-
| `--osdk-input-transition-ease`
|
|
1089
|
-
| `--osdk-input-focus-outline`
|
|
1090
|
-
| `--osdk-input-focus-
|
|
1091
|
-
| `--osdk-input-focus-shadow
|
|
1092
|
-
| `--osdk-input-shadow-error`
|
|
1093
|
-
| `--osdk-input-
|
|
1078
|
+
Shared styling for input components. Inputs use `box-shadow` for visual borders (matching Blueprint's `.bp6-input` convention). The border is transparent by default; custom themes can set `--osdk-input-border-color` to add a real CSS border.
|
|
1079
|
+
|
|
1080
|
+
| Variable | Default Value | Description |
|
|
1081
|
+
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
|
|
1082
|
+
| `--osdk-input-min-height` | `30px` | Input minimum height |
|
|
1083
|
+
| `--osdk-input-padding` | `calc(var(--osdk-surface-spacing) * 1.5) calc(var(--osdk-surface-spacing) * 2.5)` | Input padding |
|
|
1084
|
+
| `--osdk-input-border-radius` | `var(--osdk-surface-border-radius)` | Input border radius |
|
|
1085
|
+
| `--osdk-input-border-width` | `1px` | Input border width |
|
|
1086
|
+
| `--osdk-input-border-color` | `transparent` | Input border color |
|
|
1087
|
+
| `--osdk-input-border-color-focus` | `transparent` | Input focused border |
|
|
1088
|
+
| `--osdk-input-border-color-error` | `var(--osdk-intent-danger-rest)` | Input error border |
|
|
1089
|
+
| `--osdk-input-shadow` | `inset 0 0 0 var(--osdk-input-border-width) color-mix(…, --bp-palette-black 20%), 0 0 0 0 transparent, inset 0 1px 1px color-mix(…, --bp-palette-black 30%)` | Input box-shadow |
|
|
1090
|
+
| `--osdk-input-bg` | `var(--osdk-surface-background-color-default-rest)` | Input background |
|
|
1091
|
+
| `--osdk-input-bg-hover` | `var(--osdk-input-bg)` | Input hover background |
|
|
1092
|
+
| `--osdk-input-color` | `var(--osdk-typography-color-default-rest)` | Input text color |
|
|
1093
|
+
| `--osdk-input-placeholder-color` | `var(--osdk-typography-color-muted)` | Input placeholder color |
|
|
1094
|
+
| `--osdk-input-font-size` | `var(--osdk-typography-size-body-medium)` | Input font size |
|
|
1095
|
+
| `--osdk-input-font-family` | `var(--osdk-typography-family-default)` | Input font family |
|
|
1096
|
+
| `--osdk-input-transition-duration` | `var(--osdk-emphasis-transition-duration)` | Transition duration |
|
|
1097
|
+
| `--osdk-input-transition-ease` | `var(--osdk-emphasis-ease-default)` | Transition easing |
|
|
1098
|
+
| `--osdk-input-focus-outline` | `1px solid var(--osdk-intent-primary-rest)` | Focus outline |
|
|
1099
|
+
| `--osdk-input-focus-outline-offset` | `-1px` | Focus outline offset |
|
|
1100
|
+
| `--osdk-input-focus-shadow` | `var(--osdk-input-shadow)` | Focus shadow |
|
|
1101
|
+
| `--osdk-input-focus-shadow-error` | `var(--osdk-input-shadow-error)` | Danger focus shadow |
|
|
1102
|
+
| `--osdk-input-shadow-error` | `inset 0 0 0 var(--osdk-input-border-width) var(--osdk-input-border-color-error), 0 0 0 0 transparent, inset 0 1px 1px var(--osdk-surface-border-color-default)` | Input error shadow |
|
|
1103
|
+
| `--osdk-input-disabled-opacity` | `var(--osdk-disabled-opacity)` | Input disabled opacity |
|
|
1094
1104
|
|
|
1095
1105
|
### Markdown Renderer
|
|
1096
1106
|
|
|
@@ -1204,10 +1214,11 @@ Styling for radio button components.
|
|
|
1204
1214
|
|
|
1205
1215
|
### Select
|
|
1206
1216
|
|
|
1207
|
-
Styling for select components.
|
|
1217
|
+
Styling for select components. The select trigger uses `box-shadow` (via `--osdk-button-shadow`) for its visual border, matching Blueprint's convention.
|
|
1208
1218
|
|
|
1209
1219
|
| Variable | Default Value | Description |
|
|
1210
1220
|
| -------------------------------- | ------------- | -------------------- |
|
|
1221
|
+
| `--osdk-select-border-width` | `none` | Trigger border |
|
|
1211
1222
|
| `--osdk-select-popup-max-height` | `320px` | Popup maximum height |
|
|
1212
1223
|
|
|
1213
1224
|
### Switch
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react-components",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.1-main-c24b0cfe0a3dc2f97e32eb1060b9b76e8fd2201d",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -213,11 +213,11 @@
|
|
|
213
213
|
"react": "^18.3.1",
|
|
214
214
|
"react-dom": "^18.3.1",
|
|
215
215
|
"typescript": "~5.5.4",
|
|
216
|
-
"@osdk/api": "2.
|
|
217
|
-
"@osdk/
|
|
216
|
+
"@osdk/api": "2.36.0",
|
|
217
|
+
"@osdk/react": "2.36.0",
|
|
218
218
|
"@osdk/monorepo.api-extractor": "~0.7.0",
|
|
219
|
-
"@osdk/
|
|
220
|
-
"@osdk/
|
|
219
|
+
"@osdk/monorepo.tsconfig": "~0.7.0",
|
|
220
|
+
"@osdk/client": "2.36.0"
|
|
221
221
|
},
|
|
222
222
|
"publishConfig": {
|
|
223
223
|
"access": "public"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkPS47WZ32_cjs = require('./chunk-PS47WZ32.cjs');
|
|
4
|
-
require('./chunk-RITT3EHD.cjs');
|
|
5
|
-
require('./chunk-MD4KDE44.cjs');
|
|
6
|
-
require('./chunk-Q2W6GYRK.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
module.exports = chunkPS47WZ32_cjs.DateRangeCalendar;
|
|
11
|
-
//# sourceMappingURL=DateRangeCalendar-V7SCEXFC.cjs.map
|
|
12
|
-
//# sourceMappingURL=DateRangeCalendar-V7SCEXFC.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/UserAgent.ts","../../src/util/withOsdkMetrics.ts"],"names":["useRegisterUserAgent","React"],"mappings":";;;;;;;;;;;;AAgBA,IAAM,kBAAA,GAAqB,yBAAyB,QAA2B,CAAA,CAAA;AACxE,SAAS,mBAAmB,aAAA,EAAe;AAChD,EAAA,OAAO,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,aAAa,CAAA,CAAA;AAC/C;;;ACKO,SAAS,eAAA,CAAgB,WAAW,IAAA,EAAM;AAC/C,EAAA,MAAM,UAAU,CAAA,KAAA,KAAS;AACvB,IAAAA,0BAAA,CAAqB,kBAAA,CAAmB,IAAI,CAAC,CAAA;AAC7C,IAAA,uBAAoBC,sBAAA,CAAM,aAAA,CAAc,SAAA,EAAW,KAAK,CAAA;AAAA,EAC1D,CAAA;AACA,EAAA,OAAA,CAAQ,WAAA,GAAc,mBAAmB,IAAI,CAAA,CAAA,CAAA;AAC7C,EAAA,OAAO,OAAA;AACT","file":"chunk-3S2GECDS.cjs","sourcesContent":["/*\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\nconst PACKAGE_USER_AGENT = `osdk-react-components/${process.env.PACKAGE_VERSION}`;\nexport function componentUserAgent(componentName) {\n return `${PACKAGE_USER_AGENT}/${componentName}`;\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 { useRegisterUserAgent } from \"@osdk/react\";\nimport React from \"react\";\nimport { componentUserAgent } from \"./UserAgent.js\";\n\n// `any` is required: FunctionComponent defaults to FunctionComponent<{}> which\n// rejects components with required props. A generic P parameter doesn't help\n// because TS can't infer both P and C simultaneously from a single argument.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function withOsdkMetrics(Component, name) {\n const Wrapped = props => {\n useRegisterUserAgent(componentUserAgent(name));\n return /*#__PURE__*/React.createElement(Component, props);\n };\n Wrapped.displayName = `withOsdkMetrics(${name})`;\n return Wrapped;\n}"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk3SJODG6U_cjs = require('./chunk-3SJODG6U.cjs');
|
|
4
|
-
var chunk3S2GECDS_cjs = require('./chunk-3S2GECDS.cjs');
|
|
5
|
-
|
|
6
|
-
// src/public/experimental/excel-viewer.ts
|
|
7
|
-
var ExcelViewer2 = chunk3S2GECDS_cjs.withOsdkMetrics(chunk3SJODG6U_cjs.ExcelViewer, "ExcelViewer");
|
|
8
|
-
|
|
9
|
-
exports.ExcelViewer = ExcelViewer2;
|
|
10
|
-
//# sourceMappingURL=chunk-H75F3WIO.cjs.map
|
|
11
|
-
//# sourceMappingURL=chunk-H75F3WIO.cjs.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkOUJQJQ7N_cjs = require('./chunk-OUJQJQ7N.cjs');
|
|
4
|
-
var chunk3S2GECDS_cjs = require('./chunk-3S2GECDS.cjs');
|
|
5
|
-
|
|
6
|
-
// src/public/experimental/xml-viewer.ts
|
|
7
|
-
var XmlViewer2 = chunk3S2GECDS_cjs.withOsdkMetrics(chunkOUJQJQ7N_cjs.XmlViewer, "XmlViewer");
|
|
8
|
-
|
|
9
|
-
exports.XmlViewer = XmlViewer2;
|
|
10
|
-
//# sourceMappingURL=chunk-JOGYZ6HK.cjs.map
|
|
11
|
-
//# sourceMappingURL=chunk-JOGYZ6HK.cjs.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkVOROB7KJ_cjs = require('./chunk-VOROB7KJ.cjs');
|
|
4
|
-
var chunk3S2GECDS_cjs = require('./chunk-3S2GECDS.cjs');
|
|
5
|
-
|
|
6
|
-
// src/public/experimental/image-viewer.ts
|
|
7
|
-
var ImageViewer2 = chunk3S2GECDS_cjs.withOsdkMetrics(chunkVOROB7KJ_cjs.ImageViewer, "ImageViewer");
|
|
8
|
-
|
|
9
|
-
exports.ImageViewer = ImageViewer2;
|
|
10
|
-
//# sourceMappingURL=chunk-L57AHJFZ.cjs.map
|
|
11
|
-
//# sourceMappingURL=chunk-L57AHJFZ.cjs.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkKHMOMROL_cjs = require('./chunk-KHMOMROL.cjs');
|
|
4
|
-
var chunk3S2GECDS_cjs = require('./chunk-3S2GECDS.cjs');
|
|
5
|
-
|
|
6
|
-
// src/public/experimental/video-viewer.ts
|
|
7
|
-
var VideoViewer2 = chunk3S2GECDS_cjs.withOsdkMetrics(chunkKHMOMROL_cjs.VideoViewer, "VideoViewer");
|
|
8
|
-
|
|
9
|
-
exports.VideoViewer = VideoViewer2;
|
|
10
|
-
//# sourceMappingURL=chunk-LPI7ZRNN.cjs.map
|
|
11
|
-
//# sourceMappingURL=chunk-LPI7ZRNN.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/typedMemo.ts","../../src/shared/hooks/useEventCallback.ts","../../src/base-components/select/Select.module.css","../../src/base-components/select/Select.tsx","../../src/action-form/fields/DropdownField.module.css","../../src/action-form/fields/DropdownField.tsx"],"names":["React","React2","BaseUISelect","classnames","CaretDown","_extends","useCallback","useState","SmallCross","PortalDismissLayer","Combobox","Tick","Combobox_default","Cross"],"mappings":"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","file":"chunk-OUDNXCJY.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\nimport React from \"react\";\n\n/**\n * TODO: Delete this once `React.memo` is typed to not lose generics to `unknown`\n *\n * Context: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/37087\n */\nexport const typedReactMemo = React.memo;","/*\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 * as React from \"react\";\n\n/**\n * Creates a MutableRefObject with a constant reference. This allows us to pass around a constant reference\n * to a callback, but let the consumer change the callback over time without losing that reference.\n * The callback is only updated after render, so any usage of the callback during render will operate on the\n * previous render's callback. Callbacks created by this hook should **only** be used for event handling.\n * If the callback is called on the first render of a component, it will log an error. In the future,\n * this will throw.\n *\n * ```\n *\n * @param callback\n */\n/* eslint-disable-next-line @typescript-eslint/no-unsafe-function-type */\nexport function useEventCallback(callback) {\n const latestCallbackValueWrapper = React.useRef((...args) => {\n if (typeof globalThis.console !== \"undefined\") {\n globalThis.console.error(\"A callback created with `useEventCallback` was called during the initial render of a component. This will throw an error in the future.\");\n }\n return callback(...args);\n });\n React.useEffect(() => {\n latestCallbackValueWrapper.current = callback;\n }, [callback]);\n return React.useCallback((...args) => latestCallbackValueWrapper.current(...args), []);\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.osdkSelectTrigger {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--osdk-select-spacing, var(--osdk-surface-spacing));\n width: 100%;\n min-height: var(--osdk-select-min-height, 30px);\n padding: var(\n --osdk-select-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-select-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(--osdk-select-border-width, var(--osdk-surface-border-width))\n solid\n var(--osdk-select-border-color, var(--osdk-surface-border-color-default));\n box-shadow: var(--osdk-button-shadow);\n background-color: var(\n --osdk-select-trigger-bg,\n var(--osdk-button-secondary-bg)\n );\n color: var(\n --osdk-select-trigger-color,\n var(--osdk-typography-color-default-rest)\n );\n font-family: var(\n --osdk-select-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-select-font-size,\n var(--osdk-typography-size-body-medium)\n );\n line-height: var(\n --osdk-select-line-height,\n var(--osdk-typography-line-height-default)\n );\n transition:\n background-color\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default)),\n border-color\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:hover {\n background-color: var(\n --osdk-select-trigger-bg-hover,\n var(--osdk-button-secondary-bg-hover)\n );\n }\n\n &:active {\n background-color: var(\n --osdk-select-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(--osdk-select-focus-width, var(--osdk-emphasis-focus-width))\n solid var(--osdk-select-focus-color, var(--osdk-emphasis-focus-color));\n outline-offset: var(\n --osdk-select-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-select-border-color-active,\n var(--osdk-intent-primary-rest)\n );\n }\n}\n\n.osdkSelectValueContainer {\n flex: 1;\n display: grid;\n min-width: 0;\n\n & > * {\n grid-area: 1 / 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.osdkSelectValue {\n text-align: left;\n}\n\n.osdkSelectPlaceholder {\n text-align: left;\n color: var(\n --osdk-select-placeholder-color,\n var(--osdk-typography-color-muted)\n );\n pointer-events: none;\n}\n\n.osdkSelectValue:not([data-placeholder]) ~ .osdkSelectPlaceholder {\n display: none;\n}\n\n.osdkSelectIcon {\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n color: var(--osdk-select-icon-color, var(--osdk-iconography-color-muted));\n flex-shrink: 0;\n transition: transform\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default));\n\n [data-popup-open] > & {\n transform: rotate(180deg);\n }\n}\n\n.osdkSelectClear {\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 flex-shrink: 0;\n color: var(--osdk-select-clear-color, var(--osdk-iconography-color-muted));\n border-radius: var(\n --osdk-select-border-radius,\n var(--osdk-surface-border-radius)\n );\n transition:\n color\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default)),\n background-color\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default));\n\n &:hover {\n color: var(\n --osdk-select-clear-color-hover,\n var(--osdk-typography-color-default-rest)\n );\n background-color: var(\n --osdk-select-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-select-clear-color, var(--osdk-iconography-color-muted));\n background-color: transparent;\n }\n}\n\n.osdkSelectPositioner {\n z-index: var(--osdk-select-z-index, var(--osdk-surface-z-index-3));\n /* Base UI may focus the popup/positioner so it can own select keyboard\n navigation. Keep the visual focus affordance on the active option instead\n of drawing a browser-default ring around this non-interactive wrapper. */\n outline: none;\n\n &[data-anchor-hidden] {\n visibility: hidden;\n }\n}\n\n.osdkSelectPopup {\n display: flex;\n flex-direction: column;\n min-width: var(--anchor-width);\n max-height: min(\n var(--osdk-select-popup-max-height),\n var(--available-height)\n );\n overflow-y: auto;\n padding: calc(var(--osdk-select-spacing, var(--osdk-surface-spacing)) * 1.5);\n border-radius: var(\n --osdk-select-border-radius,\n var(--osdk-surface-border-radius)\n );\n border: var(--osdk-select-border-width, var(--osdk-surface-border-width))\n solid\n var(--osdk-select-border-color, var(--osdk-surface-border-color-default));\n background-color: var(\n --osdk-select-popup-bg,\n var(--osdk-surface-background-color-default-rest)\n );\n box-shadow: var(--osdk-select-popup-shadow, var(--osdk-surface-shadow-2));\n\n &:focus {\n outline: none;\n }\n}\n\n.osdkSelectItem {\n display: flex;\n align-items: center;\n padding: calc(var(--osdk-select-spacing, var(--osdk-surface-spacing)) * 1.5)\n calc(var(--osdk-select-spacing, var(--osdk-surface-spacing)) * 2);\n border-radius: var(\n --osdk-select-border-radius,\n var(--osdk-surface-border-radius)\n );\n cursor: pointer;\n font-family: var(\n --osdk-select-font-family,\n var(--osdk-typography-family-default)\n );\n font-size: var(\n --osdk-select-font-size,\n var(--osdk-typography-size-body-medium)\n );\n line-height: var(\n --osdk-select-line-height,\n var(--osdk-typography-line-height-default)\n );\n color: var(\n --osdk-select-item-color,\n var(--osdk-typography-color-default-rest)\n );\n transition: background-color\n var(\n --osdk-select-transition-duration,\n var(--osdk-emphasis-transition-duration)\n )\n var(--osdk-select-transition-ease, var(--osdk-emphasis-ease-default));\n\n &[data-highlighted] {\n background-color: var(\n --osdk-select-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-select-item-bg-selected,\n var(--osdk-surface-layer-primary)\n );\n color: var(\n --osdk-select-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","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 { Select as BaseUISelect } from \"@base-ui/react/select\";\nimport { CaretDown } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport styles from \"./Select.module.css\";\nfunction SelectRoot({\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUISelect.Root, rest, children);\n}\nfunction SelectTrigger({\n className,\n placeholder,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUISelect.Trigger, _extends({\n className: classnames(styles.osdkSelectTrigger, className)\n }, rest), children ?? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.osdkSelectValueContainer\n }, /*#__PURE__*/React.createElement(BaseUISelect.Value, {\n className: styles.osdkSelectValue\n }), placeholder != null && /*#__PURE__*/React.createElement(\"span\", {\n className: styles.osdkSelectPlaceholder\n }, placeholder)), /*#__PURE__*/React.createElement(BaseUISelect.Icon, {\n className: styles.osdkSelectIcon\n }, /*#__PURE__*/React.createElement(CaretDown, null))));\n}\nfunction SelectValue(props) {\n const {\n className,\n ...rest\n } = props;\n return /*#__PURE__*/React.createElement(BaseUISelect.Value, _extends({\n className: classnames(styles.osdkSelectValue, className)\n }, rest));\n}\nfunction SelectPositioner({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUISelect.Positioner, _extends({\n className: classnames(styles.osdkSelectPositioner, className),\n sideOffset: 4\n /* Disable Base UI's default behavior of aligning the selected item in\n the popup with the trigger. This causes layout jumps when the popup\n opens because the list scrolls to center the selected item. A static\n dropdown position below the trigger is more predictable. */,\n alignItemWithTrigger: false\n }, rest), children);\n}\nfunction SelectPopup({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUISelect.Popup, _extends({\n className: classnames(styles.osdkSelectPopup, className)\n }, rest), children);\n}\nfunction SelectItem({\n className,\n children,\n ...rest\n}) {\n return /*#__PURE__*/React.createElement(BaseUISelect.Item, _extends({\n className: classnames(styles.osdkSelectItem, className)\n }, rest), /*#__PURE__*/React.createElement(BaseUISelect.ItemText, null, children));\n}\nexport const Select = {\n Root: SelectRoot,\n Trigger: SelectTrigger,\n Value: SelectValue,\n Portal: BaseUISelect.Portal,\n Positioner: SelectPositioner,\n Popup: SelectPopup,\n Item: SelectItem\n};","/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n.osdkSelectDismissLayer {\n --osdk-portal-dismiss-layer-z-index: var(\n --osdk-select-z-index,\n var(--osdk-surface-z-index-3)\n );\n}\n\n.osdkComboboxDismissLayer {\n --osdk-portal-dismiss-layer-z-index: var(\n --osdk-combobox-z-index,\n var(--osdk-surface-z-index-3)\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 { CaretDown, Cross, SmallCross, Tick } from \"@blueprintjs/icons\";\nimport React, { useCallback, useState } from \"react\";\nimport { Combobox } from \"../../base-components/combobox/Combobox.js\";\nimport comboboxStyles from \"../../base-components/combobox/Combobox.module.css\";\nimport { Select } from \"../../base-components/select/Select.js\";\nimport selectStyles from \"../../base-components/select/Select.module.css\";\nimport { PortalDismissLayer } from \"../../shared/PortalDismissLayer.js\";\nimport { typedReactMemo } from \"../../shared/typedMemo.js\";\nimport dropdownStyles from \"./DropdownField.module.css\";\nconst EMPTY_ARRAY = [];\n\n/**\n * SelectDropdown is only used for single-select (the multi-select path\n * always routes to ComboboxDropdown). We keep the `Multiple` generic so\n * the spread from DropdownField type-checks, but SelectDropdown never\n * reads `isMultiple`.\n */\n\nexport const DropdownField = typedReactMemo(function DropdownFieldFn({\n isSearchable = false,\n isMultiple,\n itemToStringLabel,\n renderItemLabel,\n itemToKey,\n value,\n query,\n onQueryChange,\n disableClientSideFiltering,\n popupStatus,\n trailingItem,\n modal = true,\n ...rest\n}) {\n // Ensure always controlled from first render: multi-select needs [],\n // single-select needs null. Passing undefined switches Base UI from\n // uncontrolled to controlled and triggers a warning.\n const normalizedValue = value ?? (isMultiple ? EMPTY_ARRAY : null);\n const resolvedItemToStringLabel = itemToStringLabel ?? defaultItemToStringLabel;\n const resolvedRenderItemLabel = renderItemLabel ?? resolvedItemToStringLabel;\n const getKey = useCallback(item => itemToKey?.(item) ?? resolvedItemToStringLabel(item), [itemToKey, resolvedItemToStringLabel]);\n\n // Multi-select always uses Combobox for the chip-based UI because it looks better\n if (isSearchable || isMultiple) {\n return /*#__PURE__*/React.createElement(ComboboxDropdown, _extends({}, rest, {\n isMultiple: isMultiple,\n value: normalizedValue,\n itemToStringLabel: resolvedItemToStringLabel,\n renderItemLabel: resolvedRenderItemLabel,\n getKey: getKey,\n isSearchable: isSearchable,\n query: query,\n onQueryChange: onQueryChange,\n disableClientSideFiltering: disableClientSideFiltering,\n popupStatus: popupStatus,\n trailingItem: trailingItem,\n modal: modal\n }));\n }\n\n // TODO: Support trailingItem\n return /*#__PURE__*/React.createElement(SelectDropdown, _extends({}, rest, {\n value: normalizedValue,\n itemToStringLabel: resolvedItemToStringLabel,\n renderItemLabel: resolvedRenderItemLabel,\n getKey: getKey,\n modal: modal\n }));\n});\nconst SelectDropdown = typedReactMemo(function SelectDropdownFn({\n id,\n value,\n onChange,\n items,\n itemToStringLabel,\n renderItemLabel,\n getKey,\n isItemEqual,\n placeholder,\n portalRef,\n portalContainer,\n onBlur,\n modal = true,\n disabled\n}) {\n const [open, setOpen] = useState(false);\n const isOpen = !disabled && open;\n const hasValue = value != null;\n const renderSingleSelectedItemLabel = useCallback(selectedValue => selectedValue == null ? null : renderItemLabel(selectedValue), [renderItemLabel]);\n const handleOpenChange = useCallback(nextOpen => {\n if (disabled) {\n return;\n }\n setOpen(nextOpen);\n // Mark the field as touched when the popover closes so RHF validates.\n // Opening the popover does not trigger validation.\n if (!nextOpen) {\n onBlur?.();\n }\n }, [disabled, onBlur]);\n const handleClear = useCallback(() => {\n // SelectDropdown is always single-select, so cleared value is null.\n onChange?.(null);\n handleOpenChange(false);\n }, [onChange, handleOpenChange]);\n const handleDismiss = useCallback(() => {\n handleOpenChange(false);\n }, [handleOpenChange]);\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Select.Root, {\n value: value,\n onValueChange: onChange,\n open: isOpen,\n onOpenChange: handleOpenChange,\n isItemEqualToValue: isItemEqual,\n itemToStringLabel: itemToStringLabel,\n modal: modal,\n disabled: disabled\n }, /*#__PURE__*/React.createElement(Select.Trigger, {\n id: id,\n placeholder: placeholder,\n disabled: disabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: selectStyles.osdkSelectValueContainer\n }, /*#__PURE__*/React.createElement(Select.Value, null, renderSingleSelectedItemLabel), placeholder != null && /*#__PURE__*/React.createElement(\"span\", {\n className: selectStyles.osdkSelectPlaceholder\n }, placeholder)), hasValue && /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n \"aria-label\": \"Clear\",\n className: selectStyles.osdkSelectClear,\n \"aria-disabled\": disabled || undefined,\n onMouseDown: disabled ? undefined : preventTriggerOpen,\n onClick: disabled ? undefined : handleClear\n }, /*#__PURE__*/React.createElement(SmallCross, null)), /*#__PURE__*/React.createElement(\"span\", {\n className: selectStyles.osdkSelectIcon\n }, /*#__PURE__*/React.createElement(CaretDown, null))), /*#__PURE__*/React.createElement(Select.Portal, {\n ref: portalRef,\n container: portalContainer\n }, isOpen && modal && /*#__PURE__*/React.createElement(PortalDismissLayer, {\n className: dropdownStyles.osdkSelectDismissLayer,\n onDismiss: handleDismiss\n }), /*#__PURE__*/React.createElement(Select.Positioner, null, /*#__PURE__*/React.createElement(Select.Popup, null, items.map(item => {\n const itemLabel = itemToStringLabel(item);\n return /*#__PURE__*/React.createElement(Select.Item, {\n key: getKey(item),\n value: item,\n label: itemLabel,\n \"aria-label\": itemLabel\n }, renderItemLabel(item));\n }))))));\n});\nconst ComboboxDropdown = typedReactMemo(function ComboboxDropdownFn({\n id,\n value,\n onChange,\n items,\n itemToStringLabel,\n renderItemLabel,\n getKey,\n isItemEqual,\n isMultiple,\n isSearchable,\n placeholder,\n portalRef,\n portalContainer,\n query,\n onQueryChange,\n disableClientSideFiltering,\n popupStatus,\n trailingItem,\n onBlur,\n modal = true,\n disabled\n}) {\n const [open, setOpen] = useState(false);\n const isOpen = !disabled && open;\n const hasValue = isMultiple ? Array.isArray(value) && value.length > 0 : value != null;\n const renderSingleSelectedItemLabel = useCallback(selectedValue => selectedValue == null ? null : renderItemLabel(selectedValue), [renderItemLabel]);\n const handleOpenChange = useCallback(nextOpen => {\n setOpen(nextOpen);\n if (!nextOpen) {\n onBlur?.();\n }\n }, [onBlur]);\n\n // Mark the field as touched on every value change so RHF revalidates\n // immediately — especially important for multi-select where the popup\n // stays open after toggling an item.\n const handleValueChange = useCallback((...args) => {\n onChange?.(...args);\n // Multi-select: popover stays open, so fire onBlur directly.\n // Single-select: popover closes on selection, handleOpenChange(false)\n // already fires onBlur.\n if (isMultiple) {\n onBlur?.();\n }\n }, [onChange, onBlur, isMultiple]);\n const handleClear = useCallback(() => {\n // TypeScript can't narrow the conditional type `Multiple extends true ? V[] : V`\n // at runtime, so we cast through the known parameter type at this single call site.\n const cleared = isMultiple ? EMPTY_ARRAY : null;\n handleValueChange(cleared);\n // Single-select: close after clearing. Multi-select: keep open for continued selection.\n if (!isMultiple) {\n handleOpenChange(false);\n }\n }, [isMultiple, handleValueChange, handleOpenChange]);\n const handleRemoveItem = useCallback(itemToRemove => {\n if (!isMultiple || !Array.isArray(value)) {\n return;\n }\n const next = value.filter(v => isItemEqual != null ? !isItemEqual(v, itemToRemove) : v !== itemToRemove);\n handleValueChange(next);\n }, [isMultiple, value, handleValueChange, isItemEqual]);\n const handleDismiss = useCallback(() => {\n handleOpenChange(false);\n }, [handleOpenChange]);\n const renderItem = useCallback(item => {\n const itemLabel = itemToStringLabel(item);\n return /*#__PURE__*/React.createElement(Combobox.Item, {\n key: getKey(item),\n value: item,\n \"aria-label\": itemLabel\n }, isMultiple && /*#__PURE__*/React.createElement(Combobox.ItemIndicator, null, /*#__PURE__*/React.createElement(Tick, null)), renderItemLabel(item));\n }, [getKey, isMultiple, itemToStringLabel, renderItemLabel]);\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Combobox.Root, {\n value: value,\n onValueChange: handleValueChange,\n open: isOpen,\n onOpenChange: handleOpenChange,\n multiple: isMultiple,\n itemToStringLabel: itemToStringLabel,\n isItemEqualToValue: isItemEqual,\n items: items,\n inputValue: query,\n onInputValueChange: onQueryChange,\n filter: disableClientSideFiltering ? null : undefined,\n disabled: disabled\n }, /*#__PURE__*/React.createElement(Combobox.Trigger, {\n id: id,\n disabled: disabled,\n className: isMultiple ? comboboxStyles.osdkComboboxTriggerMulti : undefined\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: comboboxStyles.osdkComboboxValueContainer\n }, isMultiple && Array.isArray(value) && value.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: comboboxStyles.osdkComboboxTriggerChips\n }, value.map(item => /*#__PURE__*/React.createElement(\"span\", {\n key: getKey(item),\n className: comboboxStyles.osdkComboboxTriggerChip\n }, renderItemLabel(item), /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n \"aria-label\": `Remove ${itemToStringLabel(item)}`,\n className: comboboxStyles.osdkComboboxTriggerChipRemove,\n \"aria-disabled\": disabled || undefined,\n onMouseDown: disabled ? undefined : preventTriggerOpen,\n onClick: disabled ? undefined : () => handleRemoveItem(item)\n }, /*#__PURE__*/React.createElement(Cross, {\n size: 12\n }))))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Combobox.Value, null, renderSingleSelectedItemLabel), !hasValue && placeholder != null && /*#__PURE__*/React.createElement(\"span\", {\n className: comboboxStyles.osdkComboboxPlaceholder\n }, placeholder))), hasValue && /*#__PURE__*/React.createElement(\"span\", {\n role: \"button\",\n \"aria-label\": \"Clear\",\n className: comboboxStyles.osdkComboboxClear,\n \"aria-disabled\": disabled || undefined,\n onMouseDown: disabled ? undefined : preventTriggerOpen,\n onClick: disabled ? undefined : handleClear\n }, /*#__PURE__*/React.createElement(SmallCross, null)), /*#__PURE__*/React.createElement(Combobox.Icon, null, /*#__PURE__*/React.createElement(CaretDown, null))), /*#__PURE__*/React.createElement(Combobox.Portal, {\n ref: portalRef,\n container: portalContainer\n }, isOpen && modal && /*#__PURE__*/React.createElement(PortalDismissLayer, {\n className: dropdownStyles.osdkComboboxDismissLayer,\n onDismiss: handleDismiss\n }), /*#__PURE__*/React.createElement(Combobox.Positioner, null, /*#__PURE__*/React.createElement(Combobox.Popup, null, isSearchable && /*#__PURE__*/React.createElement(\"div\", {\n className: comboboxStyles.osdkComboboxPopupSearchInput\n }, /*#__PURE__*/React.createElement(Combobox.SearchInput, {\n placeholder: \"Search\\u2026\"\n })), popupStatus, popupStatus == null && /*#__PURE__*/React.createElement(Combobox.Empty, null, \"No results\"), /*#__PURE__*/React.createElement(Combobox.List, null, /*#__PURE__*/React.createElement(Combobox.Collection, null, renderItem), trailingItem))))));\n});\n\n// Prevent the clear/remove click from bubbling into the trigger\n// and toggling the dropdown open/closed.\nfunction preventTriggerOpen(e) {\n e.stopPropagation();\n e.preventDefault();\n}\nfunction defaultItemToStringLabel(item) {\n if (item == null || typeof item !== \"object\") {\n return String(item);\n }\n if (\"label\" in item && item.label != null && typeof item.label === \"string\") {\n return item.label;\n }\n return String(item);\n}"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkPKJFOG2Z_cjs = require('./chunk-PKJFOG2Z.cjs');
|
|
4
|
-
var chunk3S2GECDS_cjs = require('./chunk-3S2GECDS.cjs');
|
|
5
|
-
|
|
6
|
-
// src/public/experimental/email-viewer.ts
|
|
7
|
-
var EmailViewer2 = chunk3S2GECDS_cjs.withOsdkMetrics(chunkPKJFOG2Z_cjs.EmailViewer, "EmailViewer");
|
|
8
|
-
|
|
9
|
-
exports.EmailViewer = EmailViewer2;
|
|
10
|
-
//# sourceMappingURL=chunk-WEDW5QSS.cjs.map
|
|
11
|
-
//# sourceMappingURL=chunk-WEDW5QSS.cjs.map
|