@datarobot/design-system 30.4.0 → 30.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/cjs/expandable-content/expandable-content.d.ts +16 -0
  2. package/cjs/expandable-content/expandable-content.js +61 -0
  3. package/cjs/expandable-content/index.d.ts +3 -0
  4. package/cjs/expandable-content/index.js +12 -0
  5. package/cjs/form-field/constants.d.ts +2 -0
  6. package/cjs/form-field/constants.js +2 -1
  7. package/cjs/index.d.ts +1 -0
  8. package/cjs/index.js +11 -0
  9. package/cjs/markdown/markdown.d.ts +6 -0
  10. package/cjs/markdown/markdown.js +15 -2
  11. package/cjs/message/message.d.ts +2 -1
  12. package/cjs/message/message.js +25 -9
  13. package/cjs/message/thinking-icon.d.ts +12 -0
  14. package/cjs/message/thinking-icon.js +79 -0
  15. package/cjs/text-editor/text-editor-content.js +0 -2
  16. package/esm/expandable-content/expandable-content.d.ts +16 -0
  17. package/esm/expandable-content/expandable-content.js +53 -0
  18. package/esm/expandable-content/index.d.ts +3 -0
  19. package/esm/expandable-content/index.js +2 -0
  20. package/esm/form-field/constants.d.ts +2 -0
  21. package/esm/form-field/constants.js +2 -1
  22. package/esm/index.d.ts +1 -0
  23. package/esm/index.js +1 -0
  24. package/esm/markdown/markdown.d.ts +6 -0
  25. package/esm/markdown/markdown.js +15 -2
  26. package/esm/message/message.d.ts +2 -1
  27. package/esm/message/message.js +25 -9
  28. package/esm/message/thinking-icon.d.ts +12 -0
  29. package/esm/message/thinking-icon.js +71 -0
  30. package/esm/text-editor/text-editor-content.js +0 -2
  31. package/expandable-content/package.json +7 -0
  32. package/js/bundle/bundle.js +630 -380
  33. package/js/bundle/bundle.min.js +1 -1
  34. package/js/bundle/index.d.ts +31 -3
  35. package/package.json +1 -1
  36. package/styles/index.css +62 -1
  37. package/styles/index.min.css +1 -1
  38. package/styles/themes/alpine-light.css +1 -0
  39. package/styles/themes/alpine-light.min.css +1 -1
  40. package/styles/themes/midnight-gray.css +1 -0
  41. package/styles/themes/midnight-gray.min.css +1 -1
@@ -174,6 +174,9 @@ export { DropdownMenu, DropdownMenuContent, DropdownItem, DropdownTrigger, Dropd
174
174
  export type { EditableTextProps, EditableTextControlledProps, EditModeProps, TextModeProps, };
175
175
  export { EditableText, EditableTextControlled };
176
176
 
177
+ export type { ExpandableContentProps };
178
+ export { ExpandableContent };
179
+
177
180
  export { FileTreeFileComponent, FileTreeFolderComponent, FileTree, FileTreeItem, FileTreeItemContent, FileTreeItemActions, FILE_TYPE, fileTreeAdapter, cleanUpPath, compareUtils, FileTreeLoading, };
178
181
  export type { FileTreeItemContentComponent, FileTreeFileComponentProps, FileTreeFolderComponentProps, FileTreeItemProps, FileTreeProps, FileTreeItemActionsActions, FileTreeItemActionsProps, FileTreeItemContentType, FileTreeItemContentProps, FileNodeType, FileTreeType, };
179
182
 
@@ -2595,6 +2598,22 @@ export default class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBo
2595
2598
  }
2596
2599
  export {};
2597
2600
 
2601
+ import './expandable-content.less';
2602
+ export type ExpandableContentProps = {
2603
+ /** Content to render */
2604
+ children: React.ReactNode;
2605
+ /** Maximum height in pixels. When content exceeds this height it is clipped and a Show more/Show less button appears */
2606
+ maxHeight: number;
2607
+ /** Additional CSS class applied to the wrapper */
2608
+ className?: string;
2609
+ };
2610
+ /** Clips content to a maximum height and shows a Show more/Show less ghost button when the content overflows.
2611
+ * @midnight-gray-supported
2612
+ * @alpine-light-supported
2613
+ */
2614
+ const ExpandableContent: React.FC<ExpandableContentProps>;
2615
+ export { ExpandableContent };
2616
+
2598
2617
  type ExportButtonProps = ButtonProps & {
2599
2618
  onExport: () => void;
2600
2619
  exportText?: string;
@@ -3307,6 +3326,7 @@ export const VALIDATION_RULE_TYPES: {
3307
3326
  readonly IN_PROGRESS: "in-progress";
3308
3327
  readonly EXPIRED: "expired";
3309
3328
  readonly DISABLED: "disabled";
3329
+ readonly THINKING: "thinking";
3310
3330
  };
3311
3331
  export type ValidationRuleTypes = ValueOf<typeof VALIDATION_RULE_TYPES>;
3312
3332
  export const MESSAGE_DISPLAY_LOCATION: {
@@ -3329,6 +3349,7 @@ export type VALIDATION_VALUES = {
3329
3349
  [VALIDATION_RULE_TYPES.IN_PROGRESS]?: string;
3330
3350
  [VALIDATION_RULE_TYPES.EXPIRED]?: string;
3331
3351
  [VALIDATION_RULE_TYPES.DISABLED]?: string;
3352
+ [VALIDATION_RULE_TYPES.THINKING]?: string;
3332
3353
  };
3333
3354
  export const useDefaultValidationValues: () => VALIDATION_VALUES;
3334
3355
  export const INPUT_TYPES: {
@@ -3898,9 +3919,15 @@ export const LoadingIcon: ({ message, id, testId, className, }: LoadingIconProps
3898
3919
 
3899
3920
  import './markdown.less';
3900
3921
  type Props = {
3901
- className?: string;
3902
- children?: React.ReactNode;
3922
+ className?: string;
3923
+ children?: React.ReactNode;
3924
+ /** If set, content will be clipped to this height and a Show more/Show less button will appear */
3925
+ maxHeight?: number;
3903
3926
  };
3927
+ /** Renders markdown content as HTML with support for GFM, math, and syntax highlighting.
3928
+ * @midnight-gray-supported
3929
+ * @alpine-light-supported
3930
+ */
3904
3931
  const Markdown: React.FC<Props>;
3905
3932
  export { Markdown };
3906
3933
 
@@ -3914,6 +3941,7 @@ export const MESSAGE_TYPES: {
3914
3941
  readonly SUCCESS_INFO: "success-info";
3915
3942
  readonly IN_PROGRESS: "in-progress";
3916
3943
  readonly EXPIRED: "expired";
3944
+ readonly THINKING: "thinking";
3917
3945
  };
3918
3946
  export const MESSAGE_ICON_PLACEMENT: {
3919
3947
  readonly LEFT: "left";
@@ -3940,7 +3968,7 @@ type Icons = {
3940
3968
  [key: string]: IconLookup;
3941
3969
  };
3942
3970
  export type MessageProps = {
3943
- children: ReactNode;
3971
+ children?: ReactNode;
3944
3972
  className?: string;
3945
3973
  testId?: string;
3946
3974
  /** Identifies the type of the message */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarobot/design-system",
3
- "version": "30.4.0",
3
+ "version": "30.6.0",
4
4
  "description": "DataRobot react components library",
5
5
  "scripts": {
6
6
  "build": "node ../../tools/build-lib.js",
package/styles/index.css CHANGED
@@ -522,6 +522,7 @@
522
522
  --message-color-in-progress: var(--text-secondary);
523
523
  --message-color-expired: var(--text-secondary);
524
524
  --message-color-disabled: var(--text-secondary);
525
+ --message-color-thinking: var(--text-secondary);
525
526
  /*#endregion */
526
527
  /*#region Modal */
527
528
  --modal-backdrop-bg: rgba(0, 0, 0, 0.8);
@@ -3043,6 +3044,56 @@ popout[data-popper-placement^='right']::after,
3043
3044
  margin-left: 0.25rem;
3044
3045
  }
3045
3046
 
3047
+ /*!**************************************************************************************************************************************************************************************************************************************************!*\
3048
+ !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/components/message/thinking-icon.less ***!
3049
+ \**************************************************************************************************************************************************************************************************************************************************/
3050
+ .thinking-icon {
3051
+ display: inline-block;
3052
+ flex-shrink: 0;
3053
+ vertical-align: middle;
3054
+ }
3055
+ .thinking-icon.md {
3056
+ height: 1.25rem;
3057
+ width: 1.25rem;
3058
+ }
3059
+ .thinking-icon.sm {
3060
+ height: 1rem;
3061
+ width: 1rem;
3062
+ }
3063
+ .thinking-icon .bar {
3064
+ fill: currentColor;
3065
+ transform-box: fill-box;
3066
+ transform-origin: left center;
3067
+ animation-name: thinking-wipe;
3068
+ animation-duration: 2.4s;
3069
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
3070
+ animation-iteration-count: infinite;
3071
+ animation-fill-mode: backwards;
3072
+ }
3073
+ @media (prefers-reduced-motion: reduce) {
3074
+ .thinking-icon .bar {
3075
+ animation: none;
3076
+ transform: scaleX(1);
3077
+ }
3078
+ }
3079
+ @keyframes thinking-wipe {
3080
+ 0% {
3081
+ transform: translateX(0) scaleX(0);
3082
+ }
3083
+ 20% {
3084
+ transform: translateX(0) scaleX(1);
3085
+ }
3086
+ 65% {
3087
+ transform: translateX(0) scaleX(1);
3088
+ }
3089
+ 83% {
3090
+ transform: translateX(100%) scaleX(0);
3091
+ }
3092
+ 100% {
3093
+ transform: translateX(100%) scaleX(0);
3094
+ }
3095
+ }
3096
+
3046
3097
  /*!********************************************************************************************************************************************************************************************************************************************!*\
3047
3098
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/components/message/message.less ***!
3048
3099
  \********************************************************************************************************************************************************************************************************************************************/
@@ -3052,7 +3103,7 @@ popout[data-popper-placement^='right']::after,
3052
3103
  font-weight: var(--message-font-weight);
3053
3104
  line-height: 1.25rem;
3054
3105
  }
3055
- .message-component * + * {
3106
+ .message-component > * + * {
3056
3107
  margin-left: 0.5rem;
3057
3108
  }
3058
3109
  .message-component.with-right-icon {
@@ -3083,6 +3134,9 @@ popout[data-popper-placement^='right']::after,
3083
3134
  .message-component.disabled {
3084
3135
  color: var(--message-color-disabled);
3085
3136
  }
3137
+ .message-component.thinking {
3138
+ color: var(--message-color-thinking);
3139
+ }
3086
3140
  .message-component.status span {
3087
3141
  color: var(--message-text-color);
3088
3142
  }
@@ -8440,6 +8494,13 @@ td.rdtYear {
8440
8494
  max-width: 40rem;
8441
8495
  }
8442
8496
 
8497
+ /*!******************************************************************************************************************************************************************************************************************************************************************!*\
8498
+ !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/components/expandable-content/expandable-content.less ***!
8499
+ \******************************************************************************************************************************************************************************************************************************************************************/
8500
+ .expandable-content .expandable-content-toggle {
8501
+ margin-top: 0.5rem;
8502
+ }
8503
+
8443
8504
  /*!************************************************************************************************************************************************************************************************************************************************!*\
8444
8505
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/components/file-tree/file-tree.less ***!
8445
8506
  \************************************************************************************************************************************************************************************************************************************************/