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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/AGENTS.md +3 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +14 -13
  4. package/build/browser/aip-agent-chat/AipAgentChat.js +113 -0
  5. package/build/browser/aip-agent-chat/AipAgentChat.js.map +1 -0
  6. package/build/browser/aip-agent-chat/AipAgentChat.module.css +231 -0
  7. package/build/browser/aip-agent-chat/AipAgentChat.module.css.js +29 -0
  8. package/build/browser/aip-agent-chat/AipAgentChatApi.js +2 -0
  9. package/build/browser/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  10. package/build/browser/aip-agent-chat/BaseAipAgentChat.js +67 -0
  11. package/build/browser/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  12. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  13. package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  14. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  15. package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  16. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  17. package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  18. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  19. package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  20. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  21. package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  22. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  23. package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  24. package/build/browser/base-components/callout/Callout.js +65 -0
  25. package/build/browser/base-components/callout/Callout.js.map +1 -0
  26. package/build/browser/base-components/callout/Callout.module.css +59 -0
  27. package/build/browser/base-components/callout/Callout.module.css.js +15 -0
  28. package/build/browser/public/experimental/aip-agent-chat.js +22 -0
  29. package/build/browser/public/experimental/aip-agent-chat.js.map +1 -0
  30. package/build/browser/styles.css +402 -0
  31. package/build/browser/tokens/base-tokens/dark.css +10 -0
  32. package/build/browser/tokens/component-tokens/aip-agent-chat.css +56 -0
  33. package/build/browser/tokens/component-tokens/callout.css +40 -0
  34. package/build/browser/tokens.css +2 -0
  35. package/build/browser/util/UserAgent.js +1 -1
  36. package/build/browser/util/UserAgent.js.map +1 -1
  37. package/build/cjs/{chunk-N5NOB4G4.cjs → chunk-4SBWDLNA.cjs} +4 -4
  38. package/build/cjs/{chunk-N5NOB4G4.cjs.map → chunk-4SBWDLNA.cjs.map} +1 -1
  39. package/build/cjs/{chunk-PFGIO77A.cjs → chunk-5JPP5IKU.cjs} +4 -4
  40. package/build/cjs/{chunk-PFGIO77A.cjs.map → chunk-5JPP5IKU.cjs.map} +1 -1
  41. package/build/cjs/{chunk-56CFJTXV.cjs → chunk-73EYJP6Z.cjs} +6 -6
  42. package/build/cjs/{chunk-56CFJTXV.cjs.map → chunk-73EYJP6Z.cjs.map} +1 -1
  43. package/build/cjs/{chunk-XCZD54BD.cjs → chunk-ABKLMCWO.cjs} +4 -4
  44. package/build/cjs/{chunk-XCZD54BD.cjs.map → chunk-ABKLMCWO.cjs.map} +1 -1
  45. package/build/cjs/{chunk-QWFT3G4W.cjs → chunk-EOXGPHI7.cjs} +4 -4
  46. package/build/cjs/{chunk-QWFT3G4W.cjs.map → chunk-EOXGPHI7.cjs.map} +1 -1
  47. package/build/cjs/chunk-HM6F2PSA.cjs +11 -0
  48. package/build/cjs/{chunk-N7TOWLUY.cjs.map → chunk-HM6F2PSA.cjs.map} +1 -1
  49. package/build/cjs/chunk-ILBAVINW.cjs +11 -0
  50. package/build/cjs/{chunk-SUEZQS7M.cjs.map → chunk-ILBAVINW.cjs.map} +1 -1
  51. package/build/cjs/chunk-MSUA3D5M.cjs +11 -0
  52. package/build/cjs/{chunk-AEFCONAY.cjs.map → chunk-MSUA3D5M.cjs.map} +1 -1
  53. package/build/cjs/{chunk-4AGEVOFW.cjs → chunk-MV4WJDCS.cjs} +4 -4
  54. package/build/cjs/{chunk-4AGEVOFW.cjs.map → chunk-MV4WJDCS.cjs.map} +1 -1
  55. package/build/cjs/{chunk-LYAAHEAS.cjs → chunk-PSXAPQB3.cjs} +4 -4
  56. package/build/cjs/{chunk-LYAAHEAS.cjs.map → chunk-PSXAPQB3.cjs.map} +1 -1
  57. package/build/cjs/chunk-RCL5R3P4.cjs +11 -0
  58. package/build/cjs/{chunk-D6RQIMMX.cjs.map → chunk-RCL5R3P4.cjs.map} +1 -1
  59. package/build/cjs/{chunk-OTAWBR27.cjs → chunk-S7Z4MCUS.cjs} +4 -4
  60. package/build/cjs/{chunk-OTAWBR27.cjs.map → chunk-S7Z4MCUS.cjs.map} +1 -1
  61. package/build/cjs/{chunk-364UCCB2.cjs → chunk-WVRYCKJY.cjs} +3 -3
  62. package/build/cjs/chunk-WVRYCKJY.cjs.map +1 -0
  63. package/build/cjs/chunk-YNECVUTQ.cjs +11 -0
  64. package/build/cjs/{chunk-3MDT2TJK.cjs.map → chunk-YNECVUTQ.cjs.map} +1 -1
  65. package/build/cjs/public/experimental/action-form.cjs +4 -4
  66. package/build/cjs/public/experimental/aip-agent-chat.cjs +434 -0
  67. package/build/cjs/public/experimental/aip-agent-chat.cjs.map +1 -0
  68. package/build/cjs/public/experimental/aip-agent-chat.css +304 -0
  69. package/build/cjs/public/experimental/aip-agent-chat.css.map +1 -0
  70. package/build/cjs/public/experimental/aip-agent-chat.d.cts +202 -0
  71. package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
  72. package/build/cjs/public/experimental/document-viewer.cjs +6 -6
  73. package/build/cjs/public/experimental/email-viewer.cjs +3 -3
  74. package/build/cjs/public/experimental/excel-viewer.cjs +3 -3
  75. package/build/cjs/public/experimental/filter-list.cjs +15 -15
  76. package/build/cjs/public/experimental/image-viewer.cjs +3 -3
  77. package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
  78. package/build/cjs/public/experimental/object-table.cjs +8 -8
  79. package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
  80. package/build/cjs/public/experimental/tiff-renderer.cjs +3 -3
  81. package/build/cjs/public/experimental/video-viewer.cjs +3 -3
  82. package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
  83. package/build/cjs/public/experimental.cjs +74 -74
  84. package/build/esm/aip-agent-chat/AipAgentChat.js +113 -0
  85. package/build/esm/aip-agent-chat/AipAgentChat.js.map +1 -0
  86. package/build/esm/aip-agent-chat/AipAgentChat.module.css +231 -0
  87. package/build/esm/aip-agent-chat/AipAgentChatApi.js +2 -0
  88. package/build/esm/aip-agent-chat/AipAgentChatApi.js.map +1 -0
  89. package/build/esm/aip-agent-chat/BaseAipAgentChat.js +67 -0
  90. package/build/esm/aip-agent-chat/BaseAipAgentChat.js.map +1 -0
  91. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js +96 -0
  92. package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -0
  93. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js +43 -0
  94. package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -0
  95. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js +60 -0
  96. package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -0
  97. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js +60 -0
  98. package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -0
  99. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js +56 -0
  100. package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -0
  101. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js +61 -0
  102. package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -0
  103. package/build/esm/base-components/callout/Callout.js +65 -0
  104. package/build/esm/base-components/callout/Callout.js.map +1 -0
  105. package/build/esm/base-components/callout/Callout.module.css +59 -0
  106. package/build/esm/public/experimental/aip-agent-chat.js +22 -0
  107. package/build/esm/public/experimental/aip-agent-chat.js.map +1 -0
  108. package/build/esm/tokens/base-tokens/dark.css +10 -0
  109. package/build/esm/tokens/component-tokens/aip-agent-chat.css +56 -0
  110. package/build/esm/tokens/component-tokens/callout.css +40 -0
  111. package/build/esm/tokens.css +2 -0
  112. package/build/esm/util/UserAgent.js +1 -1
  113. package/build/esm/util/UserAgent.js.map +1 -1
  114. package/build/types/aip-agent-chat/AipAgentChat.d.ts +10 -0
  115. package/build/types/aip-agent-chat/AipAgentChat.d.ts.map +1 -0
  116. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts +135 -0
  117. package/build/types/aip-agent-chat/AipAgentChatApi.d.ts.map +1 -0
  118. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts +55 -0
  119. package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts.map +1 -0
  120. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts +19 -0
  121. package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts.map +1 -0
  122. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts +9 -0
  123. package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts.map +1 -0
  124. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts +12 -0
  125. package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts.map +1 -0
  126. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts +11 -0
  127. package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts.map +1 -0
  128. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts +16 -0
  129. package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts.map +1 -0
  130. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts +11 -0
  131. package/build/types/aip-agent-chat/hooks/useChatAutoScroll.d.ts.map +1 -0
  132. package/build/types/base-components/callout/Callout.d.ts +33 -0
  133. package/build/types/base-components/callout/Callout.d.ts.map +1 -0
  134. package/build/types/public/experimental/aip-agent-chat.d.ts +7 -0
  135. package/build/types/public/experimental/aip-agent-chat.d.ts.map +1 -0
  136. package/docs/AipAgentChat.md +207 -0
  137. package/docs/CSSVariables.md +52 -0
  138. package/docs/Welcome.md +1 -0
  139. package/package.json +24 -8
  140. package/build/cjs/chunk-364UCCB2.cjs.map +0 -1
  141. package/build/cjs/chunk-3MDT2TJK.cjs +0 -11
  142. package/build/cjs/chunk-AEFCONAY.cjs +0 -11
  143. package/build/cjs/chunk-D6RQIMMX.cjs +0 -11
  144. package/build/cjs/chunk-N7TOWLUY.cjs +0 -11
  145. package/build/cjs/chunk-SUEZQS7M.cjs +0 -11
@@ -549,6 +549,12 @@
549
549
  var(--osdk-intent-primary-rest) 25%,
550
550
  var(--osdk-background-primary)
551
551
  );
552
+
553
+ /* Callout: use brighter rest shade for readability on dark backgrounds */
554
+ --osdk-dark-callout-error-color: var(--osdk-intent-danger-rest);
555
+ --osdk-dark-callout-warning-color: var(--osdk-intent-warning-rest);
556
+ --osdk-dark-callout-success-color: var(--osdk-intent-success-rest);
557
+ --osdk-dark-callout-info-color: var(--osdk-intent-primary-rest);
552
558
  }
553
559
  [data-bp-color-scheme="dark"],
554
560
  .bp6-dark {
@@ -574,8 +580,108 @@
574
580
  var(--osdk-table-border-color);
575
581
  --osdk-table-row-bg-hover: var(--osdk-dark-table-row-bg-hover);
576
582
  --osdk-table-row-bg-active: var(--osdk-dark-table-row-bg-hover);
583
+ --osdk-callout-error-color: var(--osdk-dark-callout-error-color);
584
+ --osdk-callout-warning-color: var(--osdk-dark-callout-warning-color);
585
+ --osdk-callout-success-color: var(--osdk-dark-callout-success-color);
586
+ --osdk-callout-info-color: var(--osdk-dark-callout-info-color);
577
587
  }
578
588
  /* Component tokens: component-specific tokens that reference base tokens */
589
+ :root {
590
+ /* Container */
591
+ --osdk-aip-agent-chat-background: var(--osdk-background-primary);
592
+ --osdk-aip-agent-chat-border-color: var(--osdk-surface-border-color-default);
593
+ --osdk-aip-agent-chat-border-radius: var(--osdk-surface-border-radius);
594
+
595
+ /* Spacing */
596
+ --osdk-aip-agent-chat-padding: calc(var(--osdk-surface-spacing) * 5);
597
+ --osdk-aip-agent-chat-message-gap: calc(var(--osdk-surface-spacing) * 5);
598
+ --osdk-aip-agent-chat-section-gap: calc(var(--osdk-surface-spacing) * 2.5);
599
+
600
+ /* Message bubble */
601
+ --osdk-aip-agent-chat-bubble-padding: calc(var(--osdk-surface-spacing) * 3);
602
+ --osdk-aip-agent-chat-bubble-border-radius: var(--osdk-surface-border-radius);
603
+ --osdk-aip-agent-chat-bubble-max-width: 80%;
604
+
605
+ --osdk-aip-agent-chat-user-bubble-background: var(--osdk-background-secondary);
606
+ --osdk-aip-agent-chat-user-bubble-color: var(
607
+ --osdk-typography-color-default-rest
608
+ );
609
+ --osdk-aip-agent-chat-user-bubble-border-radius: var(
610
+ --osdk-surface-border-radius
611
+ )
612
+ var(--osdk-surface-border-radius) 0 var(--osdk-surface-border-radius);
613
+
614
+ --osdk-aip-agent-chat-assistant-bubble-color: var(
615
+ --osdk-typography-color-default-rest
616
+ );
617
+
618
+ --osdk-aip-agent-chat-composer-border-radius: calc(
619
+ var(--osdk-surface-spacing) * 2.5
620
+ );
621
+
622
+ --osdk-aip-agent-chat-content-max-width: 780px;
623
+
624
+ /* Composer */
625
+ --osdk-aip-agent-chat-composer-background: var(
626
+ --osdk-surface-background-color-default-rest
627
+ );
628
+ --osdk-aip-agent-chat-composer-textarea-min-height: calc(
629
+ var(--osdk-surface-spacing) * 14
630
+ );
631
+ --osdk-aip-agent-chat-composer-textarea-max-height: 200px;
632
+
633
+ /* Empty state */
634
+ --osdk-aip-agent-chat-empty-color: var(--osdk-typography-color-muted);
635
+ --osdk-aip-agent-chat-empty-icon-color: var(--osdk-intent-primary-rest);
636
+ --osdk-aip-agent-chat-empty-icon-size: calc(var(--osdk-surface-spacing) * 12);
637
+
638
+ /* Loader (3-dot bouncing) */
639
+ --osdk-aip-agent-chat-loader-color: var(--osdk-typography-color-muted);
640
+ --osdk-aip-agent-chat-loader-dot-size: calc(
641
+ var(--osdk-surface-spacing) * 1.5
642
+ );
643
+ --osdk-aip-agent-chat-loader-dot-gap: calc(var(--osdk-surface-spacing) * 0.5);
644
+ }
645
+ :root {
646
+ /* Layout */
647
+ --osdk-callout-padding: calc(var(--osdk-surface-spacing) * 4);
648
+ --osdk-callout-gap: calc(var(--osdk-surface-spacing) * 2);
649
+ --osdk-callout-border-radius: var(--osdk-surface-border-radius);
650
+
651
+ /* Typography */
652
+ --osdk-callout-title-font-size: var(--osdk-typography-size-body-medium);
653
+ --osdk-callout-title-font-weight: var(--osdk-typography-weight-bold);
654
+ --osdk-callout-message-font-size: var(--osdk-typography-size-body-small);
655
+
656
+ /* Intent backgrounds: 10% tint of the intent rest color.
657
+ rgba() with semi-transparency naturally adapts to light/dark backgrounds. */
658
+ --osdk-callout-error-background: color-mix(
659
+ in srgb,
660
+ var(--osdk-intent-danger-rest) 10%,
661
+ transparent
662
+ );
663
+ --osdk-callout-warning-background: color-mix(
664
+ in srgb,
665
+ var(--osdk-intent-warning-rest) 10%,
666
+ transparent
667
+ );
668
+ --osdk-callout-success-background: color-mix(
669
+ in srgb,
670
+ var(--osdk-intent-success-rest) 10%,
671
+ transparent
672
+ );
673
+ --osdk-callout-info-background: color-mix(
674
+ in srgb,
675
+ var(--osdk-intent-primary-rest) 10%,
676
+ transparent
677
+ );
678
+
679
+ /* Intent text: darker hover shade for light mode */
680
+ --osdk-callout-error-color: var(--osdk-intent-danger-hover);
681
+ --osdk-callout-warning-color: var(--osdk-intent-warning-hover);
682
+ --osdk-callout-success-color: var(--osdk-intent-success-hover);
683
+ --osdk-callout-info-color: var(--osdk-intent-primary-hover);
684
+ }
579
685
  :root {
580
686
  /* Error message */
581
687
  --osdk-async-dropdown-error-color: var(--osdk-intent-danger-rest);
@@ -3086,6 +3192,240 @@
3086
3192
  }
3087
3193
 
3088
3194
 
3195
+ /* aip-agent-chat/AipAgentChat.module.css */
3196
+ .AipAgentChat-module__chat___8g7robE3 {
3197
+ background: var(--osdk-aip-agent-chat-background);
3198
+ border: 1px solid var(--osdk-aip-agent-chat-border-color);
3199
+ border-radius: var(--osdk-aip-agent-chat-border-radius);
3200
+ display: flex;
3201
+ flex-direction: column;
3202
+ height: 100%;
3203
+ min-height: 0;
3204
+ overflow: hidden;
3205
+ width: 100%;
3206
+ }
3207
+
3208
+ .AipAgentChat-module__messageList___EJT0wkUj {
3209
+ align-items: center;
3210
+ display: flex;
3211
+ flex: 1 1 auto;
3212
+ flex-direction: column;
3213
+ gap: var(--osdk-aip-agent-chat-message-gap);
3214
+ min-height: 0;
3215
+ overflow-y: auto;
3216
+ padding: var(--osdk-aip-agent-chat-padding);
3217
+ }
3218
+
3219
+ .AipAgentChat-module__messageList___EJT0wkUj:not(.AipAgentChat-module__empty___U0ZZWxmq) > * {
3220
+ max-width: var(--osdk-aip-agent-chat-content-max-width);
3221
+ width: 100%;
3222
+ }
3223
+
3224
+ .AipAgentChat-module__empty___U0ZZWxmq {
3225
+ align-items: center;
3226
+ color: var(--osdk-aip-agent-chat-empty-color);
3227
+ display: flex;
3228
+ flex: 1 1 auto;
3229
+ flex-direction: column;
3230
+ gap: var(--osdk-aip-agent-chat-message-gap);
3231
+ justify-content: center;
3232
+ padding: var(--osdk-aip-agent-chat-padding);
3233
+ text-align: center;
3234
+ }
3235
+
3236
+ .AipAgentChat-module__emptyIcon___-xTDcCXC {
3237
+ color: var(--osdk-aip-agent-chat-empty-icon-color);
3238
+ font-size: var(--osdk-aip-agent-chat-empty-icon-size);
3239
+ }
3240
+
3241
+ .AipAgentChat-module__emptyTitle___STng1--H {
3242
+ color: var(--osdk-typography-color-default-rest);
3243
+ font-size: var(--osdk-typography-size-body-large);
3244
+ font-weight: var(--osdk-typography-weight-bold);
3245
+ }
3246
+
3247
+ .AipAgentChat-module__message___n2npFl8B {
3248
+ display: flex;
3249
+ flex-direction: column;
3250
+ }
3251
+
3252
+ .AipAgentChat-module__userMessage___9gfztpI- {
3253
+ align-items: flex-end;
3254
+ }
3255
+
3256
+ .AipAgentChat-module__assistantMessage___Hd0kHNZz {
3257
+ align-items: flex-start;
3258
+ }
3259
+
3260
+ .AipAgentChat-module__systemMessage___j1KBNC18 {
3261
+ align-items: center;
3262
+ }
3263
+
3264
+ .AipAgentChat-module__bubble___ehxKR1xQ {
3265
+ border-radius: var(--osdk-aip-agent-chat-bubble-border-radius);
3266
+ max-width: var(--osdk-aip-agent-chat-bubble-max-width);
3267
+ overflow-wrap: break-word;
3268
+ padding: var(--osdk-aip-agent-chat-bubble-padding);
3269
+ text-align: left;
3270
+ white-space: pre-wrap;
3271
+ word-break: break-word;
3272
+ }
3273
+
3274
+ .AipAgentChat-module__userBubble___-LOIsBgf {
3275
+ background: var(--osdk-aip-agent-chat-user-bubble-background);
3276
+ border-radius: var(--osdk-aip-agent-chat-user-bubble-border-radius);
3277
+ color: var(--osdk-aip-agent-chat-user-bubble-color);
3278
+ }
3279
+
3280
+ .AipAgentChat-module__assistantBubble___s-rbLzIp {
3281
+ background: transparent;
3282
+ color: var(--osdk-aip-agent-chat-assistant-bubble-color);
3283
+ padding: 0;
3284
+ }
3285
+
3286
+ .AipAgentChat-module__systemBubble___ujadzYgh {
3287
+ background: var(--osdk-background-tertiary);
3288
+ color: var(--osdk-typography-color-muted);
3289
+ font-size: var(--osdk-typography-size-body-small);
3290
+ font-style: italic;
3291
+ }
3292
+
3293
+ .AipAgentChat-module__streamingPlaceholder___Os6a8AJk {
3294
+ color: var(--osdk-typography-color-muted);
3295
+ }
3296
+
3297
+ .AipAgentChat-module__composer___Wh3s2x7e {
3298
+ align-items: center;
3299
+ background: var(--osdk-aip-agent-chat-composer-background);
3300
+
3301
+ display: flex;
3302
+ flex: 0 0 auto;
3303
+ flex-direction: column;
3304
+ gap: var(--osdk-aip-agent-chat-section-gap);
3305
+ padding: var(--osdk-aip-agent-chat-padding);
3306
+ }
3307
+
3308
+ .AipAgentChat-module__composer___Wh3s2x7e > * {
3309
+ max-width: var(--osdk-aip-agent-chat-content-max-width);
3310
+ width: 100%;
3311
+ }
3312
+
3313
+ .AipAgentChat-module__inputWrapper___pRQ1RWF8 {
3314
+ background: var(--osdk-background-primary);
3315
+ border: 1px solid var(--osdk-surface-border-color-default);
3316
+ border-radius: var(--osdk-aip-agent-chat-composer-border-radius);
3317
+ display: flex;
3318
+ flex-direction: column;
3319
+ overflow: hidden;
3320
+ }
3321
+
3322
+ .AipAgentChat-module__inputWrapper___pRQ1RWF8:focus-within {
3323
+ border-color: var(--osdk-emphasis-focus-color);
3324
+ }
3325
+
3326
+ .AipAgentChat-module__textarea___ocjwiGty {
3327
+ background: transparent;
3328
+ border: none;
3329
+ color: var(--osdk-typography-color-default-rest);
3330
+ font-family: inherit;
3331
+ font-size: var(--osdk-typography-size-body-medium);
3332
+ line-height: var(--osdk-typography-line-height-default);
3333
+ max-height: var(--osdk-aip-agent-chat-composer-textarea-max-height);
3334
+ min-height: var(--osdk-aip-agent-chat-composer-textarea-min-height);
3335
+ outline: none;
3336
+ padding: var(--osdk-aip-agent-chat-section-gap);
3337
+ resize: none;
3338
+ width: 100%;
3339
+ }
3340
+
3341
+ .AipAgentChat-module__inputActions___9WTDHiJb {
3342
+ align-items: center;
3343
+ display: flex;
3344
+ justify-content: flex-end;
3345
+ padding: 0 var(--osdk-aip-agent-chat-section-gap)
3346
+ var(--osdk-aip-agent-chat-section-gap);
3347
+ }
3348
+
3349
+ .AipAgentChat-module__composerFooterLeft___7INhMSpC {
3350
+ align-items: center;
3351
+ display: flex;
3352
+ flex: 1 1 auto;
3353
+ gap: var(--osdk-aip-agent-chat-section-gap);
3354
+ min-width: 0;
3355
+ }
3356
+
3357
+ .AipAgentChat-module__modelPicker___rXMvrOZh {
3358
+ background: var(--osdk-background-primary);
3359
+ border: 1px solid var(--osdk-surface-border-color-default);
3360
+ border-radius: var(--osdk-aip-agent-chat-border-radius);
3361
+ color: var(--osdk-typography-color-default-rest);
3362
+ font-family: inherit;
3363
+ font-size: var(--osdk-typography-size-body-small);
3364
+ outline: none;
3365
+ padding: calc(var(--osdk-surface-spacing) * 1)
3366
+ calc(var(--osdk-surface-spacing) * 2);
3367
+ }
3368
+
3369
+ .AipAgentChat-module__modelPicker___rXMvrOZh:focus {
3370
+ border-color: var(--osdk-emphasis-focus-color);
3371
+ }
3372
+
3373
+ .AipAgentChat-module__modelPicker___rXMvrOZh:disabled {
3374
+ cursor: not-allowed;
3375
+ opacity: 0.6;
3376
+ }
3377
+
3378
+ .AipAgentChat-module__modelPickerLabel___Max6ajqc {
3379
+ color: var(--osdk-typography-color-muted);
3380
+ font-size: var(--osdk-typography-size-body-small);
3381
+ }
3382
+
3383
+ .AipAgentChat-module__loader___m79mDMns {
3384
+ align-items: center;
3385
+ color: var(--osdk-aip-agent-chat-loader-color);
3386
+ display: inline-flex;
3387
+ gap: var(--osdk-aip-agent-chat-loader-dot-gap);
3388
+ }
3389
+
3390
+ .AipAgentChat-module__loaderDot___8E42Iyvu {
3391
+ animation-duration: 1.4s;
3392
+ animation-iteration-count: infinite;
3393
+ animation-name: AipAgentChat-module__aipAgentChatLoaderBounce___0vneIHI3;
3394
+ animation-timing-function: ease-in-out;
3395
+ background: currentColor;
3396
+ border-radius: 50%;
3397
+ display: inline-block;
3398
+ height: var(--osdk-aip-agent-chat-loader-dot-size);
3399
+ width: var(--osdk-aip-agent-chat-loader-dot-size);
3400
+ }
3401
+
3402
+ .AipAgentChat-module__loaderDot___8E42Iyvu:nth-child(1) {
3403
+ animation-delay: 0s;
3404
+ }
3405
+
3406
+ .AipAgentChat-module__loaderDot___8E42Iyvu:nth-child(2) {
3407
+ animation-delay: 0.2s;
3408
+ }
3409
+
3410
+ .AipAgentChat-module__loaderDot___8E42Iyvu:nth-child(3) {
3411
+ animation-delay: 0.4s;
3412
+ }
3413
+
3414
+ @keyframes AipAgentChat-module__aipAgentChatLoaderBounce___0vneIHI3 {
3415
+ 0%,
3416
+ 60%,
3417
+ 100% {
3418
+ opacity: 0.3;
3419
+ transform: translateY(0);
3420
+ }
3421
+
3422
+ 30% {
3423
+ opacity: 1;
3424
+ transform: translateY(-25%);
3425
+ }
3426
+ }
3427
+
3428
+
3089
3429
  /* base-components/action-button/ActionButton.module.css */
3090
3430
  /*
3091
3431
  * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
@@ -3172,6 +3512,68 @@
3172
3512
  }
3173
3513
 
3174
3514
 
3515
+ /* base-components/callout/Callout.module.css */
3516
+ .Callout-module__callout___PEHatWiu {
3517
+ align-items: flex-start;
3518
+ border-radius: var(--osdk-callout-border-radius);
3519
+ display: flex;
3520
+ gap: var(--osdk-callout-gap);
3521
+ padding: var(--osdk-callout-padding);
3522
+ }
3523
+
3524
+ .Callout-module__error___gdkTnMMF {
3525
+ background: var(--osdk-callout-error-background);
3526
+ color: var(--osdk-callout-error-color);
3527
+ }
3528
+
3529
+ .Callout-module__warning___FCzE3yLY {
3530
+ background: var(--osdk-callout-warning-background);
3531
+ color: var(--osdk-callout-warning-color);
3532
+ }
3533
+
3534
+ .Callout-module__success___BrxxC--L {
3535
+ background: var(--osdk-callout-success-background);
3536
+ color: var(--osdk-callout-success-color);
3537
+ }
3538
+
3539
+ .Callout-module__info___RndUloNR {
3540
+ background: var(--osdk-callout-info-background);
3541
+ color: var(--osdk-callout-info-color);
3542
+ }
3543
+
3544
+ .Callout-module__icon___aWpGkLJ4 {
3545
+ flex: 0 0 auto;
3546
+ line-height: 0;
3547
+ padding-top: 1px;
3548
+ }
3549
+
3550
+ .Callout-module__body___rXKoZz90 {
3551
+ display: flex;
3552
+ flex: 1 1 auto;
3553
+ flex-direction: column;
3554
+ gap: calc(var(--osdk-surface-spacing) * 1);
3555
+ min-width: 0;
3556
+ }
3557
+
3558
+ .Callout-module__title___gHJqYqpp {
3559
+ font-size: var(--osdk-callout-title-font-size);
3560
+ font-weight: var(--osdk-callout-title-font-weight);
3561
+ }
3562
+
3563
+ .Callout-module__message___UDTJQlUj {
3564
+ font-size: var(--osdk-callout-message-font-size);
3565
+ word-break: break-word;
3566
+ }
3567
+
3568
+ .Callout-module__actions___K1dq8rp3 {
3569
+ align-items: center;
3570
+ align-self: stretch;
3571
+ display: flex;
3572
+ flex: 0 0 auto;
3573
+ justify-content: center;
3574
+ }
3575
+
3576
+
3175
3577
  /* base-components/checkbox/Checkbox.module.css */
3176
3578
  /*
3177
3579
  * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
@@ -55,6 +55,12 @@
55
55
  var(--osdk-intent-primary-rest) 25%,
56
56
  var(--osdk-background-primary)
57
57
  );
58
+
59
+ /* Callout: use brighter rest shade for readability on dark backgrounds */
60
+ --osdk-dark-callout-error-color: var(--osdk-intent-danger-rest);
61
+ --osdk-dark-callout-warning-color: var(--osdk-intent-warning-rest);
62
+ --osdk-dark-callout-success-color: var(--osdk-intent-success-rest);
63
+ --osdk-dark-callout-info-color: var(--osdk-intent-primary-rest);
58
64
  }
59
65
 
60
66
  [data-bp-color-scheme="dark"],
@@ -81,4 +87,8 @@
81
87
  var(--osdk-table-border-color);
82
88
  --osdk-table-row-bg-hover: var(--osdk-dark-table-row-bg-hover);
83
89
  --osdk-table-row-bg-active: var(--osdk-dark-table-row-bg-hover);
90
+ --osdk-callout-error-color: var(--osdk-dark-callout-error-color);
91
+ --osdk-callout-warning-color: var(--osdk-dark-callout-warning-color);
92
+ --osdk-callout-success-color: var(--osdk-dark-callout-success-color);
93
+ --osdk-callout-info-color: var(--osdk-dark-callout-info-color);
84
94
  }
@@ -0,0 +1,56 @@
1
+ :root {
2
+ /* Container */
3
+ --osdk-aip-agent-chat-background: var(--osdk-background-primary);
4
+ --osdk-aip-agent-chat-border-color: var(--osdk-surface-border-color-default);
5
+ --osdk-aip-agent-chat-border-radius: var(--osdk-surface-border-radius);
6
+
7
+ /* Spacing */
8
+ --osdk-aip-agent-chat-padding: calc(var(--osdk-surface-spacing) * 5);
9
+ --osdk-aip-agent-chat-message-gap: calc(var(--osdk-surface-spacing) * 5);
10
+ --osdk-aip-agent-chat-section-gap: calc(var(--osdk-surface-spacing) * 2.5);
11
+
12
+ /* Message bubble */
13
+ --osdk-aip-agent-chat-bubble-padding: calc(var(--osdk-surface-spacing) * 3);
14
+ --osdk-aip-agent-chat-bubble-border-radius: var(--osdk-surface-border-radius);
15
+ --osdk-aip-agent-chat-bubble-max-width: 80%;
16
+
17
+ --osdk-aip-agent-chat-user-bubble-background: var(--osdk-background-secondary);
18
+ --osdk-aip-agent-chat-user-bubble-color: var(
19
+ --osdk-typography-color-default-rest
20
+ );
21
+ --osdk-aip-agent-chat-user-bubble-border-radius: var(
22
+ --osdk-surface-border-radius
23
+ )
24
+ var(--osdk-surface-border-radius) 0 var(--osdk-surface-border-radius);
25
+
26
+ --osdk-aip-agent-chat-assistant-bubble-color: var(
27
+ --osdk-typography-color-default-rest
28
+ );
29
+
30
+ --osdk-aip-agent-chat-composer-border-radius: calc(
31
+ var(--osdk-surface-spacing) * 2.5
32
+ );
33
+
34
+ --osdk-aip-agent-chat-content-max-width: 780px;
35
+
36
+ /* Composer */
37
+ --osdk-aip-agent-chat-composer-background: var(
38
+ --osdk-surface-background-color-default-rest
39
+ );
40
+ --osdk-aip-agent-chat-composer-textarea-min-height: calc(
41
+ var(--osdk-surface-spacing) * 14
42
+ );
43
+ --osdk-aip-agent-chat-composer-textarea-max-height: 200px;
44
+
45
+ /* Empty state */
46
+ --osdk-aip-agent-chat-empty-color: var(--osdk-typography-color-muted);
47
+ --osdk-aip-agent-chat-empty-icon-color: var(--osdk-intent-primary-rest);
48
+ --osdk-aip-agent-chat-empty-icon-size: calc(var(--osdk-surface-spacing) * 12);
49
+
50
+ /* Loader (3-dot bouncing) */
51
+ --osdk-aip-agent-chat-loader-color: var(--osdk-typography-color-muted);
52
+ --osdk-aip-agent-chat-loader-dot-size: calc(
53
+ var(--osdk-surface-spacing) * 1.5
54
+ );
55
+ --osdk-aip-agent-chat-loader-dot-gap: calc(var(--osdk-surface-spacing) * 0.5);
56
+ }
@@ -0,0 +1,40 @@
1
+ :root {
2
+ /* Layout */
3
+ --osdk-callout-padding: calc(var(--osdk-surface-spacing) * 4);
4
+ --osdk-callout-gap: calc(var(--osdk-surface-spacing) * 2);
5
+ --osdk-callout-border-radius: var(--osdk-surface-border-radius);
6
+
7
+ /* Typography */
8
+ --osdk-callout-title-font-size: var(--osdk-typography-size-body-medium);
9
+ --osdk-callout-title-font-weight: var(--osdk-typography-weight-bold);
10
+ --osdk-callout-message-font-size: var(--osdk-typography-size-body-small);
11
+
12
+ /* Intent backgrounds: 10% tint of the intent rest color.
13
+ rgba() with semi-transparency naturally adapts to light/dark backgrounds. */
14
+ --osdk-callout-error-background: color-mix(
15
+ in srgb,
16
+ var(--osdk-intent-danger-rest) 10%,
17
+ transparent
18
+ );
19
+ --osdk-callout-warning-background: color-mix(
20
+ in srgb,
21
+ var(--osdk-intent-warning-rest) 10%,
22
+ transparent
23
+ );
24
+ --osdk-callout-success-background: color-mix(
25
+ in srgb,
26
+ var(--osdk-intent-success-rest) 10%,
27
+ transparent
28
+ );
29
+ --osdk-callout-info-background: color-mix(
30
+ in srgb,
31
+ var(--osdk-intent-primary-rest) 10%,
32
+ transparent
33
+ );
34
+
35
+ /* Intent text: darker hover shade for light mode */
36
+ --osdk-callout-error-color: var(--osdk-intent-danger-hover);
37
+ --osdk-callout-warning-color: var(--osdk-intent-warning-hover);
38
+ --osdk-callout-success-color: var(--osdk-intent-success-hover);
39
+ --osdk-callout-info-color: var(--osdk-intent-primary-hover);
40
+ }
@@ -3,6 +3,8 @@
3
3
  @import "./tokens/base-tokens/dark.css";
4
4
 
5
5
  /* Component tokens: component-specific tokens that reference base tokens */
6
+ @import "./tokens/component-tokens/aip-agent-chat.css";
7
+ @import "./tokens/component-tokens/callout.css";
6
8
  @import "./tokens/component-tokens/async-dropdown.css";
7
9
  @import "./tokens/component-tokens/button.css";
8
10
  @import "./tokens/component-tokens/cbac-picker.css";
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- const PACKAGE_USER_AGENT = `osdk-react-components/${"0.33.0"}`;
17
+ const PACKAGE_USER_AGENT = `osdk-react-components/${"0.34.0-main-d24cc61b1e7fde7722d8229ed2b6821f5ce1bf8a"}`;
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,mCAAsD;AAExD,OAAO,SAASC,kBAAkBA,CAACC,aAAqB,EAAU;EAChE,OAAO,GAAGF,kBAAkB,IAAIE,aAAa,EAAE;AACjD","ignoreList":[]}
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":[]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkIYJOHKJE_cjs = require('./chunk-IYJOHKJE.cjs');
4
- var chunk364UCCB2_cjs = require('./chunk-364UCCB2.cjs');
4
+ var chunkWVRYCKJY_cjs = require('./chunk-WVRYCKJY.cjs');
5
5
 
6
6
  // src/public/experimental/markdown-renderer.ts
7
- var MarkdownViewerMedia2 = chunk364UCCB2_cjs.withOsdkMetrics(chunkIYJOHKJE_cjs.MarkdownViewerMedia, "MarkdownViewerMedia");
7
+ var MarkdownViewerMedia2 = chunkWVRYCKJY_cjs.withOsdkMetrics(chunkIYJOHKJE_cjs.MarkdownViewerMedia, "MarkdownViewerMedia");
8
8
 
9
9
  exports.MarkdownViewerMedia = MarkdownViewerMedia2;
10
- //# sourceMappingURL=chunk-N5NOB4G4.cjs.map
11
- //# sourceMappingURL=chunk-N5NOB4G4.cjs.map
10
+ //# sourceMappingURL=chunk-4SBWDLNA.cjs.map
11
+ //# sourceMappingURL=chunk-4SBWDLNA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/public/experimental/markdown-renderer.ts"],"names":["MarkdownViewerMedia","withOsdkMetrics"],"mappings":";;;;;;AAsBO,IAAMA,oBAAAA,GAAsBC,iCAAA,CAAgBD,qCAAA,EAAsB,qBAAqB","file":"chunk-N5NOB4G4.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\n// MarkdownRenderer\nexport { MarkdownRenderer } from \"../../markdown-renderer/MarkdownRenderer.js\";\n\n// MarkdownViewerMedia (Media wrapper)\nimport { MarkdownViewerMedia as _MarkdownViewerMedia } from \"../../markdown-renderer/MarkdownViewerMedia.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const MarkdownViewerMedia = withOsdkMetrics(_MarkdownViewerMedia, \"MarkdownViewerMedia\");"]}
1
+ {"version":3,"sources":["../../src/public/experimental/markdown-renderer.ts"],"names":["MarkdownViewerMedia","withOsdkMetrics"],"mappings":";;;;;;AAsBO,IAAMA,oBAAAA,GAAsBC,iCAAA,CAAgBD,qCAAA,EAAsB,qBAAqB","file":"chunk-4SBWDLNA.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\n// MarkdownRenderer\nexport { MarkdownRenderer } from \"../../markdown-renderer/MarkdownRenderer.js\";\n\n// MarkdownViewerMedia (Media wrapper)\nimport { MarkdownViewerMedia as _MarkdownViewerMedia } from \"../../markdown-renderer/MarkdownViewerMedia.js\";\nimport { withOsdkMetrics } from \"../../util/withOsdkMetrics.js\";\nexport const MarkdownViewerMedia = withOsdkMetrics(_MarkdownViewerMedia, \"MarkdownViewerMedia\");"]}
@@ -7,7 +7,7 @@ var chunkHNBSGCSZ_cjs = require('./chunk-HNBSGCSZ.cjs');
7
7
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
8
8
  var chunkMD4KDE44_cjs = require('./chunk-MD4KDE44.cjs');
9
9
  var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
10
- var chunk364UCCB2_cjs = require('./chunk-364UCCB2.cjs');
10
+ var chunkWVRYCKJY_cjs = require('./chunk-WVRYCKJY.cjs');
11
11
  var react = require('@osdk/react');
12
12
  var React17 = require('react');
13
13
  var icons = require('@blueprintjs/icons');
@@ -1849,9 +1849,9 @@ var ActionForm = chunkPUQBJVFU_cjs.typedReactMemo(function ActionFormFn({
1849
1849
  });
1850
1850
 
1851
1851
  // src/public/experimental/action-form.ts
1852
- var ActionForm2 = chunk364UCCB2_cjs.withOsdkMetrics(ActionForm, "ActionForm");
1852
+ var ActionForm2 = chunkWVRYCKJY_cjs.withOsdkMetrics(ActionForm, "ActionForm");
1853
1853
 
1854
1854
  exports.ActionForm = ActionForm2;
1855
1855
  exports.BaseForm = BaseForm;
1856
- //# sourceMappingURL=chunk-PFGIO77A.cjs.map
1857
- //# sourceMappingURL=chunk-PFGIO77A.cjs.map
1856
+ //# sourceMappingURL=chunk-5JPP5IKU.cjs.map
1857
+ //# sourceMappingURL=chunk-5JPP5IKU.cjs.map