@bioturing/components 0.14.0 → 0.15.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 (83) hide show
  1. package/dist/Badge.css +6 -0
  2. package/dist/Breadcrumb.css +83 -0
  3. package/dist/Checkbox.css +13 -0
  4. package/dist/CodeBlock.css +213 -0
  5. package/dist/CodeBlock.js +11 -8
  6. package/dist/Collapse.css +21 -0
  7. package/dist/DSRoot.css +667 -0
  8. package/dist/DSRoot.js +264 -17
  9. package/dist/DropdownMenu.css +95 -0
  10. package/dist/Empty.css +19 -0
  11. package/dist/Field.css +14 -0
  12. package/dist/Form.css +64 -0
  13. package/dist/IconButton.css +52 -0
  14. package/dist/Modal.css +317 -0
  15. package/dist/Modal.js +256 -9
  16. package/dist/PopupPanel.css +156 -102
  17. package/dist/Radio.css +14 -0
  18. package/dist/ScrollArea.css +64 -0
  19. package/dist/ScrollArea.js +4 -4
  20. package/dist/Segmented.css +16 -0
  21. package/dist/Select.css +24 -0
  22. package/dist/Select.js +4 -3
  23. package/dist/Spin.css +36 -0
  24. package/dist/Splitter.css +6 -0
  25. package/dist/Switch.css +7 -0
  26. package/dist/Table.css +116 -0
  27. package/dist/Tag.css +17 -0
  28. package/dist/ThemeProvider.css +39 -0
  29. package/dist/Toast.css +622 -0
  30. package/dist/Toast.js +264 -17
  31. package/dist/Tooltip.css +6 -0
  32. package/dist/Tour.css +73 -0
  33. package/dist/Tour.js +1 -1
  34. package/dist/Truncate.css +31 -0
  35. package/dist/Truncate.js +75 -19
  36. package/dist/Upload.css +144 -0
  37. package/dist/Upload.js +75 -19
  38. package/dist/VerticalCollapsiblePanel.css +193 -0
  39. package/dist/VerticalCollapsiblePanel.js +75 -19
  40. package/dist/components/Badge/component.d.ts +1 -0
  41. package/dist/components/Breadcrumb/component.d.ts +1 -0
  42. package/dist/components/Button/component.d.ts +1 -0
  43. package/dist/components/Checkbox/component.d.ts +1 -0
  44. package/dist/components/CodeBlock/component.d.ts +2 -1
  45. package/dist/components/CodeBlock/types.d.ts +12 -0
  46. package/dist/components/Collapse/component.d.ts +1 -0
  47. package/dist/components/DSRoot/component.d.ts +1 -0
  48. package/dist/components/DropdownMenu/component.d.ts +1 -0
  49. package/dist/components/Empty/component.d.ts +1 -0
  50. package/dist/components/Field/component.d.ts +1 -0
  51. package/dist/components/Form/component.d.ts +1 -0
  52. package/dist/components/IconButton/component.d.ts +1 -0
  53. package/dist/components/Modal/index.d.ts +1 -0
  54. package/dist/components/Radio/component.d.ts +1 -0
  55. package/dist/components/ScrollArea/component.d.ts +26 -4
  56. package/dist/components/Segmented/component.d.ts +1 -0
  57. package/dist/components/Select/component.d.ts +2 -1
  58. package/dist/components/Spin/component.d.ts +1 -0
  59. package/dist/components/Splitter/component.d.ts +1 -0
  60. package/dist/components/Stack/Stack.d.ts +39 -0
  61. package/dist/components/Stack/StackChild.d.ts +30 -0
  62. package/dist/components/Stack/index.d.ts +8 -0
  63. package/dist/components/Switch/component.d.ts +1 -0
  64. package/dist/components/Table/component.d.ts +1 -0
  65. package/dist/components/Tag/component.d.ts +1 -0
  66. package/dist/components/ThemeProvider/component.d.ts +1 -0
  67. package/dist/components/Toast/component.d.ts +1 -0
  68. package/dist/components/Tooltip/component.d.ts +1 -0
  69. package/dist/components/Tour/component.d.ts +1 -0
  70. package/dist/components/Truncate/component.d.ts +3 -0
  71. package/dist/components/Upload/index.d.ts +1 -0
  72. package/dist/components/VerticalCollapsiblePanel/component.d.ts +1 -0
  73. package/dist/components/index.d.ts +1 -0
  74. package/dist/hooks.js +1 -1
  75. package/dist/index.css +1469 -114
  76. package/dist/index.d.ts +1 -0
  77. package/dist/index.js +788 -159
  78. package/dist/metadata.d.ts +363 -0
  79. package/dist/tailwind.css +118 -1
  80. package/package.json +2 -2
  81. package/dist/style.css +0 -1392
  82. package/dist/style.js +0 -0
  83. package/dist/tailwind.js +0 -0
package/dist/Badge.css ADDED
@@ -0,0 +1,6 @@
1
+ @layer components {
2
+ .ds-badge {
3
+ display: inline-flex;
4
+ }
5
+ }
6
+
@@ -0,0 +1,83 @@
1
+ @layer components {
2
+ .ds-breadcrumb {
3
+ display: flex;
4
+ }
5
+
6
+ .ds-breadcrumb ol {
7
+ flex: 1;
8
+ gap: .25rem 0;
9
+ min-width: 0;
10
+ display: inline-flex;
11
+ }
12
+
13
+ .ds-breadcrumb > ol > li {
14
+ flex: 0 1 0;
15
+ align-items: center;
16
+ max-width: 100%;
17
+ display: inline-flex;
18
+ }
19
+
20
+ .ds-breadcrumb > ol > li.ds-breadcrumb-separator {
21
+ flex: 0;
22
+ }
23
+
24
+ .ds-breadcrumb > ol > li .ds-breadcrumb-link {
25
+ white-space: nowrap;
26
+ flex: 0 auto;
27
+ align-items: center;
28
+ gap: .5rem;
29
+ min-width: 0;
30
+ display: inline-flex;
31
+ }
32
+
33
+ .ds-breadcrumb .ds-breadcrumb-item-name {
34
+ flex: auto;
35
+ }
36
+
37
+ .ds-breadcrumb .ds-breadcrumb-item-icon {
38
+ flex: none;
39
+ }
40
+
41
+ .ds-breadcrumb.ds-breadcrumb-nowrap {
42
+ flex-grow: 1;
43
+ align-items: center;
44
+ min-width: 0;
45
+ display: flex;
46
+ }
47
+
48
+ .ds-breadcrumb.ds-breadcrumb-nowrap ol {
49
+ flex-wrap: nowrap;
50
+ }
51
+
52
+ :is(.ds-breadcrumb.ds-breadcrumb-nowrap ol) li:not(.ds-breadcrumb-separator) {
53
+ flex: 0 auto;
54
+ min-width: 0;
55
+ transition: all .2s;
56
+ display: flex;
57
+ }
58
+
59
+ :is(:is(.ds-breadcrumb.ds-breadcrumb-nowrap ol) li:not(.ds-breadcrumb-separator)) span.ds-breadcrumb-link {
60
+ text-overflow: ellipsis;
61
+ white-space: nowrap;
62
+ max-width: 100%;
63
+ display: block;
64
+ overflow: hidden;
65
+ }
66
+
67
+ :is(.ds-breadcrumb.ds-breadcrumb-nowrap ol) li:not(.ds-breadcrumb-separator) {
68
+ max-width: 100%;
69
+ }
70
+
71
+ :is(.ds-breadcrumb.ds-breadcrumb-nowrap ol) li:last-child {
72
+ flex: none;
73
+ }
74
+
75
+ :is(.ds-breadcrumb.ds-breadcrumb-nowrap ol):hover li:last-child {
76
+ flex-shrink: 1;
77
+ }
78
+
79
+ :is(.ds-breadcrumb.ds-breadcrumb-nowrap ol) li:hover {
80
+ flex-shrink: 0;
81
+ }
82
+ }
83
+
@@ -0,0 +1,13 @@
1
+ @layer components {
2
+ :is(.ds-checkbox-wrapper .ds-checkbox.ds-checkbox-indeterminate) .ds-checkbox-inner {
3
+ background-color: var(--ds-color-primary) !important;
4
+ border-color: var(--ds-color-primary) !important;
5
+ }
6
+
7
+ :is(:is(.ds-checkbox-wrapper .ds-checkbox.ds-checkbox-indeterminate) .ds-checkbox-inner):after {
8
+ background-color: var(--ds-color-white);
9
+ border-radius: .125rem;
10
+ height: .125rem;
11
+ }
12
+ }
13
+
@@ -0,0 +1,213 @@
1
+ :root {
2
+ --ds-modal-padding: 24px;
3
+ --ds-modal-edge-padding: 16px;
4
+ --ds-popup-panel-padding: 16px;
5
+ --ds-scrollbar-width: auto;
6
+ --ds-scrollbar-width-legacy: 15;
7
+ --ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-color-border-modal), 2px 2px 5px #0000000d;
8
+ --ds-inter: "Inter", Helvetica, Arial, sans-serif;
9
+ --ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
10
+ }
11
+
12
+ @supports (font-variation-settings: normal) {
13
+ :root {
14
+ --ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;
15
+ --ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
16
+ font-optical-sizing: auto;
17
+ }
18
+ }
19
+
20
+ @layer components {
21
+ .ds-theme-provider {
22
+ --ds-color-bg-segment-active: #fff;
23
+ --ds-scrollbar-color-thumb: #0003;
24
+ --ds-scrollbar-color-track: #0000;
25
+ --ds-color-base-solid: #000;
26
+ --ds-color-table-fixed-column-shadow: #0000001a;
27
+ --ds-color-border-modal: #0000003d;
28
+ }
29
+
30
+ .ds-theme-provider.dark {
31
+ --ds-color-border-modal: #ffffff8c;
32
+ --ds-color-bg-segment-active: #424248;
33
+ --ds-scrollbar-color-thumb: #fff3;
34
+ --ds-scrollbar-color-track: #0000;
35
+ --ds-color-base-solid: #fff;
36
+ --ds-color-table-fixed-column-shadow: #0003;
37
+ }
38
+ }
39
+
40
+ @layer components {
41
+ .ds-code-block {
42
+ background: var(--ds-color-bg-layout);
43
+ box-shadow: 0 0 0 1px inset var(--ds-color-split);
44
+ border-radius: var(--ds-border-radius);
45
+ font-family: var(--font-mono);
46
+ padding: 1rem;
47
+ position: relative;
48
+ }
49
+
50
+ .ds-code-block-header {
51
+ justify-items: start;
52
+ margin-bottom: .75rem;
53
+ display: flex;
54
+ }
55
+
56
+ .ds-code-block-copy {
57
+ opacity: 0;
58
+ transition: opacity .2s ease-in-out;
59
+ position: absolute;
60
+ top: 1rem;
61
+ right: .75rem;
62
+ }
63
+
64
+ .ds-code-block:hover .ds-code-block-copy {
65
+ opacity: 100;
66
+ }
67
+
68
+ .ds-code-block-content {
69
+ flex-direction: column;
70
+ flex: 1;
71
+ min-height: 0;
72
+ padding-right: 1.5rem;
73
+ display: flex;
74
+ overflow: hidden;
75
+ }
76
+
77
+ .ds-code-block-content .ds-scoll-area {
78
+ max-height: 30rem;
79
+ }
80
+ }
81
+
82
+ @layer components {
83
+ .ds-segmented .ds-segmented-item-label {
84
+ justify-content: center;
85
+ align-items: center;
86
+ display: flex;
87
+ }
88
+
89
+ .ds-segmented .ds-segmented-item-icon {
90
+ justify-content: center;
91
+ align-items: center;
92
+ height: 100%;
93
+ font-size: 1rem;
94
+ display: flex;
95
+ }
96
+ }
97
+
98
+ @layer components {
99
+ .ds-icon-button {
100
+ cursor: pointer;
101
+ color: var(--ds-color-icon);
102
+ background-color: #0000;
103
+ border: none;
104
+ border-radius: 999px;
105
+ justify-content: center;
106
+ align-items: center;
107
+ transition: all .2s;
108
+ display: inline-flex;
109
+ }
110
+
111
+ .ds-icon-button:hover {
112
+ background-color: var(--ds-color-fill-secondary);
113
+ color: var(--ds-color-icon-hover);
114
+ }
115
+
116
+ .ds-icon-button:active, .ds-icon-button.ds-popover-open {
117
+ background-color: var(--ds-color-primary-bg);
118
+ color: var(--ds-color-primary);
119
+ }
120
+
121
+ .ds-icon-button:focus {
122
+ outline: none;
123
+ }
124
+
125
+ .ds-icon-button:disabled {
126
+ cursor: not-allowed;
127
+ pointer-events: none;
128
+ color: var(--ds-color-text-disabled);
129
+ }
130
+
131
+ .ds-icon-button.ds-icon-button-medium {
132
+ width: 1.5rem;
133
+ height: 1.5rem;
134
+ padding: .125rem;
135
+ font-size: 1.25rem;
136
+ }
137
+
138
+ .ds-icon-button.ds-icon-button-small {
139
+ width: 1.25rem;
140
+ height: 1.25rem;
141
+ padding: .125rem;
142
+ font-size: 1rem;
143
+ }
144
+
145
+ .ds-icon-button.ds-icon-button-negative-margin {
146
+ margin: -.125rem;
147
+ }
148
+ }
149
+
150
+ @layer components {
151
+ .ds-scroll-area {
152
+ flex-direction: column;
153
+ flex: 1;
154
+ height: 100%;
155
+ min-height: 0;
156
+ display: flex;
157
+ }
158
+
159
+ .ds-scroll-area .ds-scroll-area-viewport {
160
+ overscroll-behavior: contain;
161
+ flex-shrink: 1;
162
+ height: 100%;
163
+ max-height: 100%;
164
+ overflow: hidden;
165
+ }
166
+
167
+ :is(.ds-scroll-area .ds-scroll-area-viewport):focus-visible {
168
+ outline-offset: 4px;
169
+ outline-width: 2px;
170
+ outline-color: var(--ds-color-primary);
171
+ }
172
+
173
+ .ds-scroll-area .ds-scroll-area-scrollbar {
174
+ opacity: 0;
175
+ background-color: #0000;
176
+ justify-content: center;
177
+ padding: .25rem;
178
+ transition-property: opacity;
179
+ transition-delay: .1s;
180
+ display: flex;
181
+ }
182
+
183
+ :is(.ds-scroll-area .ds-scroll-area-scrollbar) .ds-scroll-area-thumb {
184
+ background-color: var(--ds-color-bg-fill-tertiary);
185
+ border: 1px solid var(--ds-color-border);
186
+ border-radius: 9999px;
187
+ }
188
+
189
+ [data-orientation="vertical"]:is(.ds-scroll-area .ds-scroll-area-scrollbar) {
190
+ width: .875rem;
191
+ }
192
+
193
+ [data-orientation="vertical"]:is(.ds-scroll-area .ds-scroll-area-scrollbar) .ds-scroll-area-thumb {
194
+ width: 100%;
195
+ }
196
+
197
+ [data-orientation="horizontal"]:is(.ds-scroll-area .ds-scroll-area-scrollbar) {
198
+ flex-direction: column;
199
+ width: 100%;
200
+ height: .875rem;
201
+ }
202
+
203
+ [data-orientation="horizontal"]:is(.ds-scroll-area .ds-scroll-area-scrollbar) .ds-scroll-area-thumb {
204
+ height: 100%;
205
+ }
206
+
207
+ [data-hovering]:is(.ds-scroll-area .ds-scroll-area-scrollbar), [data-scrolling]:is(.ds-scroll-area .ds-scroll-area-scrollbar) {
208
+ opacity: 1;
209
+ transition-duration: .2s;
210
+ transition-delay: 0s;
211
+ }
212
+ }
213
+
package/dist/CodeBlock.js CHANGED
@@ -88,24 +88,24 @@ const IconButtonImpl = (props, ref)=>{
88
88
  };
89
89
  const IconButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(IconButtonImpl);
90
90
  "use client";
91
- const ScrollArea = ({ children, className, viewportClassName, thumbClassName, scrollbarClassName, orientation = "vertical" })=>{
91
+ const ScrollArea = ({ children, className, classNames = {}, orientation = "vertical" })=>{
92
92
  const cls = useCls();
93
93
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Root, {
94
94
  className: clsx(cls("scroll-area"), className),
95
95
  children: [
96
96
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Viewport, {
97
- className: clsx(cls("scroll-area-viewport"), viewportClassName),
97
+ className: clsx(cls("scroll-area-viewport"), null == classNames ? void 0 : classNames.viewport),
98
98
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Content, {
99
99
  className: clsx(cls("scroll-area-content")),
100
100
  children: children
101
101
  })
102
102
  }),
103
103
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Scrollbar, {
104
- className: clsx(cls("scroll-area-scrollbar"), scrollbarClassName),
104
+ className: clsx(cls("scroll-area-scrollbar"), null == classNames ? void 0 : classNames.scrollbar),
105
105
  orientation: orientation,
106
106
  "data-orientation": orientation,
107
107
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Thumb, {
108
- className: clsx(cls("scroll-area-thumb", thumbClassName))
108
+ className: clsx(cls("scroll-area-thumb"), null == classNames ? void 0 : classNames.thumb)
109
109
  })
110
110
  })
111
111
  ]
@@ -541,7 +541,7 @@ function reactNodeToString(node) {
541
541
  return "";
542
542
  }
543
543
  "use client";
544
- const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, options, activeOption: controlledActiveOption, defaultActiveOption = 0, onActiveOptionChange, copyText = "Copy", copySuccessText = "Copied", ...rest })=>{
544
+ const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, options, activeOption: controlledActiveOption, defaultActiveOption = 0, onActiveOptionChange, copyText = "Copy", copySuccessText = "Copied", classNames, maxHeight, ...rest })=>{
545
545
  const [activeOption, setActiveOption] = useControlledState(controlledActiveOption, onActiveOptionChange, defaultActiveOption);
546
546
  const [currentCode, setCurrentCode] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(code || "");
547
547
  const [lang, setLang] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultLang);
@@ -584,11 +584,11 @@ const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, optio
584
584
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ThemeProvider, {
585
585
  theme: "dark",
586
586
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(WithAntdTokens, {
587
- className: clsx(cls("code-block"), className),
587
+ className: clsx(cls("code-block"), className, null == classNames ? void 0 : classNames.root),
588
588
  ...rest,
589
589
  children: [
590
590
  hasOptions && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
591
- className: cls("code-block-header"),
591
+ className: cls("code-block-header", null == classNames ? void 0 : classNames.header),
592
592
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Segmented, {
593
593
  value: activeOption,
594
594
  onChange: setActiveOption,
@@ -608,7 +608,10 @@ const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, optio
608
608
  })
609
609
  }),
610
610
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
611
- className: cls("code-block-content"),
611
+ className: cls("code-block-content", null == classNames ? void 0 : classNames.content),
612
+ style: {
613
+ maxHeight: maxHeight && ("number" == typeof maxHeight ? `${maxHeight}px` : maxHeight)
614
+ },
612
615
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ScrollArea, {
613
616
  children: currentCode ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__.Highlight, {
614
617
  language: lang,
@@ -0,0 +1,21 @@
1
+ @layer components {
2
+ .ds-collapse .ds-collapse-header {
3
+ align-items: center;
4
+ display: flex;
5
+ }
6
+
7
+ .ds-collapse .ds-collapse-expand-icon {
8
+ flex-grow: 0;
9
+ flex-shrink: 0;
10
+ justify-content: center;
11
+ align-items: center;
12
+ display: flex;
13
+ }
14
+
15
+ .ds-collapse .ds-collapse-header-text {
16
+ flex-grow: 1;
17
+ flex-shrink: 1;
18
+ min-width: 0;
19
+ }
20
+ }
21
+