react-science 0.33.0 → 0.35.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 (157) hide show
  1. package/lib/app/about/AboutDialogToolbarButton.d.ts +3 -3
  2. package/lib/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  3. package/lib/app/about/AboutDialogToolbarButton.js.map +1 -1
  4. package/lib/app/helpers/react-plot.d.ts.map +1 -1
  5. package/lib/app/helpers/react-plot.js +1 -1
  6. package/lib/app/helpers/react-plot.js.map +1 -1
  7. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +1 -1
  8. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js +6 -1
  9. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js.map +1 -1
  10. package/lib/app/kinds/mass/MeasurementMassPlot.js +1 -1
  11. package/lib/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
  12. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts +1 -1
  13. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  14. package/lib/app/panels/measurements/MeasurementColorPreview.js +19 -16
  15. package/lib/app/panels/measurements/MeasurementColorPreview.js.map +1 -1
  16. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts +3 -3
  17. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +1 -1
  18. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js +6 -6
  19. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js.map +1 -1
  20. package/lib/app/panels/measurements/MeasurementsPanel.d.ts +3 -1
  21. package/lib/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  22. package/lib/app/panels/measurements/MeasurementsPanel.js +17 -13
  23. package/lib/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  24. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts +1 -1
  25. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +1 -1
  26. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js +10 -3
  27. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js.map +1 -1
  28. package/lib/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  29. package/lib/app/panels/measurements/MeasurementsTable.js +61 -58
  30. package/lib/app/panels/measurements/MeasurementsTable.js.map +1 -1
  31. package/lib/app/panels/measurements/index.d.ts +5 -0
  32. package/lib/app/panels/measurements/index.d.ts.map +1 -1
  33. package/lib/app/panels/measurements/index.js +5 -0
  34. package/lib/app/panels/measurements/index.js.map +1 -1
  35. package/lib/app/panels/measurements/measurementPanelContext.d.ts +11 -0
  36. package/lib/app/panels/measurements/measurementPanelContext.d.ts.map +1 -0
  37. package/lib/app/panels/measurements/measurementPanelContext.js +19 -0
  38. package/lib/app/panels/measurements/measurementPanelContext.js.map +1 -0
  39. package/lib/components/accordion/Accordion.d.ts.map +1 -1
  40. package/lib/components/accordion/Accordion.js +0 -1
  41. package/lib/components/accordion/Accordion.js.map +1 -1
  42. package/lib/components/button/index.d.ts +0 -1
  43. package/lib/components/button/index.d.ts.map +1 -1
  44. package/lib/components/button/index.js +0 -1
  45. package/lib/components/button/index.js.map +1 -1
  46. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +4 -1
  47. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  48. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +3 -17
  49. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  50. package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  51. package/lib/components/color-picker/react-color/sketch/SketchFields.js +0 -2
  52. package/lib/components/color-picker/react-color/sketch/SketchFields.js.map +1 -1
  53. package/lib/components/forms/radio-group/ClassicRadioItem.d.ts.map +1 -1
  54. package/lib/components/forms/radio-group/ClassicRadioItem.js +0 -1
  55. package/lib/components/forms/radio-group/ClassicRadioItem.js.map +1 -1
  56. package/lib/components/root-layout/RootLayout.js +1 -1
  57. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts +2 -0
  58. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  59. package/lib/components/toolbar/PanelPreferencesToolbar.js +14 -4
  60. package/lib/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  61. package/lib/components/toolbar/Toolbar.d.ts +9 -4
  62. package/lib/components/toolbar/Toolbar.d.ts.map +1 -1
  63. package/lib/components/toolbar/Toolbar.js +44 -6
  64. package/lib/components/toolbar/Toolbar.js.map +1 -1
  65. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts +3 -3
  66. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  67. package/lib-esm/app/about/AboutDialogToolbarButton.js.map +1 -1
  68. package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
  69. package/lib-esm/app/helpers/react-plot.js +1 -1
  70. package/lib-esm/app/helpers/react-plot.js.map +1 -1
  71. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +1 -1
  72. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.js +6 -1
  73. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.js.map +1 -1
  74. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js +1 -1
  75. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
  76. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts +1 -1
  77. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  78. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js +18 -16
  79. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js.map +1 -1
  80. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts +3 -3
  81. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +1 -1
  82. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.js +5 -5
  83. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.js.map +1 -1
  84. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts +3 -1
  85. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  86. package/lib-esm/app/panels/measurements/MeasurementsPanel.js +16 -12
  87. package/lib-esm/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  88. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts +1 -1
  89. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +1 -1
  90. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.js +10 -3
  91. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.js.map +1 -1
  92. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  93. package/lib-esm/app/panels/measurements/MeasurementsTable.js +63 -37
  94. package/lib-esm/app/panels/measurements/MeasurementsTable.js.map +1 -1
  95. package/lib-esm/app/panels/measurements/index.d.ts +5 -0
  96. package/lib-esm/app/panels/measurements/index.d.ts.map +1 -1
  97. package/lib-esm/app/panels/measurements/index.js +5 -0
  98. package/lib-esm/app/panels/measurements/index.js.map +1 -1
  99. package/lib-esm/app/panels/measurements/measurementPanelContext.d.ts +11 -0
  100. package/lib-esm/app/panels/measurements/measurementPanelContext.d.ts.map +1 -0
  101. package/lib-esm/app/panels/measurements/measurementPanelContext.js +14 -0
  102. package/lib-esm/app/panels/measurements/measurementPanelContext.js.map +1 -0
  103. package/lib-esm/components/accordion/Accordion.d.ts.map +1 -1
  104. package/lib-esm/components/accordion/Accordion.js +0 -1
  105. package/lib-esm/components/accordion/Accordion.js.map +1 -1
  106. package/lib-esm/components/button/index.d.ts +0 -1
  107. package/lib-esm/components/button/index.d.ts.map +1 -1
  108. package/lib-esm/components/button/index.js +0 -1
  109. package/lib-esm/components/button/index.js.map +1 -1
  110. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +4 -1
  111. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  112. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +4 -18
  113. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  114. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  115. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.js +0 -2
  116. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.js.map +1 -1
  117. package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts.map +1 -1
  118. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js +0 -1
  119. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js.map +1 -1
  120. package/lib-esm/components/root-layout/RootLayout.js +1 -1
  121. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts +2 -0
  122. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  123. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +14 -4
  124. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  125. package/lib-esm/components/toolbar/Toolbar.d.ts +9 -4
  126. package/lib-esm/components/toolbar/Toolbar.d.ts.map +1 -1
  127. package/lib-esm/components/toolbar/Toolbar.js +47 -9
  128. package/lib-esm/components/toolbar/Toolbar.js.map +1 -1
  129. package/package.json +1 -1
  130. package/src/app/about/AboutDialogToolbarButton.tsx +4 -3
  131. package/src/app/helpers/react-plot.tsx +1 -0
  132. package/src/app/kinds/iv/plot-view/IvPlotVariablesSelector.tsx +7 -1
  133. package/src/app/kinds/mass/MeasurementMassPlot.tsx +2 -2
  134. package/src/app/panels/measurements/MeasurementColorPreview.tsx +30 -31
  135. package/src/app/panels/measurements/MeasurementVisibilityToggle.tsx +17 -14
  136. package/src/app/panels/measurements/MeasurementsPanel.tsx +37 -28
  137. package/src/app/panels/measurements/MeasurementsPanelAccordion.tsx +15 -2
  138. package/src/app/panels/measurements/MeasurementsTable.tsx +153 -57
  139. package/src/app/panels/measurements/index.ts +5 -0
  140. package/src/app/panels/measurements/measurementPanelContext.tsx +32 -0
  141. package/src/components/accordion/Accordion.tsx +0 -1
  142. package/src/components/button/index.ts +0 -1
  143. package/src/components/color-picker/color-picker-dropdown/ColorPickerDropdown.tsx +17 -37
  144. package/src/components/color-picker/react-color/sketch/SketchFields.tsx +0 -2
  145. package/src/components/forms/radio-group/ClassicRadioItem.tsx +0 -1
  146. package/src/components/root-layout/RootLayout.tsx +1 -1
  147. package/src/components/toolbar/PanelPreferencesToolbar.tsx +38 -20
  148. package/src/components/toolbar/Toolbar.tsx +90 -7
  149. package/lib/components/button/ButtonGroup.d.ts +0 -15
  150. package/lib/components/button/ButtonGroup.d.ts.map +0 -1
  151. package/lib/components/button/ButtonGroup.js +0 -42
  152. package/lib/components/button/ButtonGroup.js.map +0 -1
  153. package/lib-esm/components/button/ButtonGroup.d.ts +0 -15
  154. package/lib-esm/components/button/ButtonGroup.d.ts.map +0 -1
  155. package/lib-esm/components/button/ButtonGroup.js +0 -35
  156. package/lib-esm/components/button/ButtonGroup.js.map +0 -1
  157. package/src/components/button/ButtonGroup.tsx +0 -57
@@ -1,7 +1,18 @@
1
1
  /** @jsxImportSource @emotion/react */
2
- import { ButtonGroup, Classes, Colors, Intent } from '@blueprintjs/core';
2
+ import {
3
+ ButtonGroup,
4
+ Classes,
5
+ Colors,
6
+ Intent,
7
+ Popover,
8
+ PopoverProps,
9
+ Icon,
10
+ } from '@blueprintjs/core';
11
+ import { IconName } from '@blueprintjs/icons';
3
12
  import { css } from '@emotion/react';
4
13
  import {
14
+ cloneElement,
15
+ JSX,
5
16
  ReactElement,
6
17
  ReactNode,
7
18
  useLayoutEffect,
@@ -9,7 +20,7 @@ import {
9
20
  useRef,
10
21
  } from 'react';
11
22
 
12
- import { Button, ButtonProps } from '../index';
23
+ import { Button } from '../index';
13
24
 
14
25
  import {
15
26
  ToolbarContext,
@@ -35,11 +46,16 @@ export interface ToolbarProps extends ToolbarBaseProps {
35
46
  export interface ToolbarItemProps extends ToolbarBaseProps {
36
47
  id?: string;
37
48
  title: string;
38
- icon: ButtonProps['icon'];
49
+ icon: IconName | JSX.Element;
39
50
  active?: boolean;
40
51
  onClick?: (item: ToolbarItemProps) => void;
41
52
  className?: string;
42
53
  noTooltip?: boolean;
54
+ isPopover?: boolean;
55
+ }
56
+
57
+ export interface ToolbarPopoverItemProps extends PopoverProps {
58
+ itemProps: ToolbarItemProps;
43
59
  }
44
60
 
45
61
  const border = '1px solid rgb(247, 247, 247)';
@@ -61,7 +77,6 @@ export function Toolbar(props: ToolbarProps) {
61
77
  if (!vertical) {
62
78
  return;
63
79
  }
64
-
65
80
  function update() {
66
81
  const lastElement = ref.current?.lastElementChild;
67
82
  if (!lastElement) {
@@ -87,7 +102,9 @@ export function Toolbar(props: ToolbarProps) {
87
102
  return (
88
103
  <ToolbarProvider value={contextValue}>
89
104
  <ButtonGroup
90
- ref={ref}
105
+ // Reset because of layout effect above
106
+ // TODO: remove once the workaround is no longer needed
107
+ key={String(vertical)}
91
108
  vertical={vertical}
92
109
  large={large}
93
110
  style={{
@@ -111,6 +128,7 @@ Toolbar.Item = function ToolbarItem(props: ToolbarItemProps) {
111
128
  intent: itemIntent,
112
129
  disabled: itemDisabled,
113
130
  noTooltip = false,
131
+ isPopover,
114
132
  ...other
115
133
  } = props;
116
134
 
@@ -122,8 +140,17 @@ Toolbar.Item = function ToolbarItem(props: ToolbarItemProps) {
122
140
  } = useToolbarContext();
123
141
  const intent = itemIntent ?? toolbarIntent;
124
142
  const disabled = itemDisabled ?? toolbarDisabled;
143
+ const resizedIcon =
144
+ typeof icon === 'string'
145
+ ? icon
146
+ : cloneElement(icon, {
147
+ className: icon.props.className
148
+ ? `${icon.props.className} bp5-icon`
149
+ : 'bp5-icon',
150
+ });
125
151
  return (
126
152
  <Button
153
+ alignText={isPopover ? 'left' : undefined}
127
154
  minimal
128
155
  disabled={disabled}
129
156
  css={css`
@@ -134,13 +161,37 @@ Toolbar.Item = function ToolbarItem(props: ToolbarItemProps) {
134
161
  intent={intent}
135
162
  style={{
136
163
  position: 'relative',
137
- fontSize: '1.25em',
164
+ fontSize: '1.125em',
138
165
  width: 'fit-content',
139
166
  flex: 'none',
140
167
  }}
141
168
  type="button"
142
169
  active={active}
143
- icon={icon}
170
+ icon={
171
+ <div
172
+ style={{
173
+ display: 'flex',
174
+ justifyContent: 'center',
175
+ alignItems: 'center',
176
+ width: 0,
177
+ height: 0,
178
+ }}
179
+ >
180
+ <Icon icon={resizedIcon} />
181
+ {isPopover && (
182
+ <Icon
183
+ icon="caret-right"
184
+ size={large ? 14 : 9}
185
+ style={{
186
+ transform: 'rotate(45deg)',
187
+ position: 'absolute',
188
+ bottom: 0,
189
+ right: 0,
190
+ }}
191
+ />
192
+ )}
193
+ </div>
194
+ }
144
195
  onClick={() => {
145
196
  onClick?.(props);
146
197
  }}
@@ -159,6 +210,38 @@ Toolbar.Item = function ToolbarItem(props: ToolbarItemProps) {
159
210
  );
160
211
  };
161
212
 
213
+ Toolbar.PopoverItem = function ToolbarPopoverItem(
214
+ props: ToolbarPopoverItemProps,
215
+ ) {
216
+ const { itemProps, ...other } = props;
217
+ const { disabled, vertical } = useToolbarContext();
218
+
219
+ return (
220
+ <Popover
221
+ minimal
222
+ disabled={disabled}
223
+ placement={vertical ? 'right-start' : 'bottom-start'}
224
+ css={css`
225
+ .${Classes.ICON} {
226
+ color: ${Colors.DARK_GRAY3};
227
+ }
228
+ `}
229
+ targetProps={{
230
+ style: {
231
+ position: 'relative',
232
+ fontSize: '1.125em',
233
+ width: 'fit-content',
234
+ height: 'fit-content',
235
+ flex: 'none',
236
+ },
237
+ }}
238
+ {...other}
239
+ >
240
+ <Toolbar.Item noTooltip isPopover {...itemProps} />
241
+ </Popover>
242
+ );
243
+ };
244
+
162
245
  function ToolbarProvider(props: {
163
246
  value: ToolbarContext;
164
247
  children: ReactNode;
@@ -1,15 +0,0 @@
1
- import { ReactNode } from 'react';
2
- interface ButtonGroupProps {
3
- children: [ReactNode, ReactNode];
4
- }
5
- export declare function ButtonGroup(props: ButtonGroupProps): import("react/jsx-runtime").JSX.Element;
6
- export declare namespace ButtonGroup {
7
- var Button: (props: ButtonGroupButtonProps) => import("react/jsx-runtime").JSX.Element;
8
- }
9
- interface ButtonGroupButtonProps {
10
- position: 'first' | 'last';
11
- label: string;
12
- onClick: () => void;
13
- }
14
- export {};
15
- //# sourceMappingURL=ButtonGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAGlD;yBAHe,WAAW;;;AAK3B,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ButtonGroup = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const styled_1 = __importDefault(require("@emotion/styled"));
9
- const ButtonGroupRoot = styled_1.default.div `
10
- display: inline-flex;
11
- border-radius: 0.375rem;
12
- isolation: isolate;
13
- `;
14
- const ButtonGroupCustomButton = styled_1.default.button `
15
- position: relative;
16
- display: inline-flex;
17
- align-items: center;
18
- font-weight: 500;
19
- font-size: 0.875rem;
20
- line-height: 1.25rem;
21
- padding-left: 1rem;
22
- padding-right: 1rem;
23
- padding-top: 5px;
24
- padding-bottom: 5px;
25
- border-width: 1px;
26
- border-top-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
27
- border-bottom-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
28
-
29
- border-top-right-radius: ${({ isLast }) => isLast && '0.375rem'};
30
- border-bottom-right-radius: ${({ isLast }) => isLast && '0.375rem'};
31
- margin-left: ${({ isLast }) => isLast && '-1px'};
32
- `;
33
- function ButtonGroup(props) {
34
- const { children } = props;
35
- return (0, jsx_runtime_1.jsx)(ButtonGroupRoot, { children: children });
36
- }
37
- exports.ButtonGroup = ButtonGroup;
38
- ButtonGroup.Button = function ButtonGroupButton(props) {
39
- const { position, label, onClick } = props;
40
- return ((0, jsx_runtime_1.jsx)(ButtonGroupCustomButton, { type: "button", onClick: onClick, isLast: position === 'last', children: label }));
41
- };
42
- //# sourceMappingURL=ButtonGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../../src/components/button/ButtonGroup.tsx"],"names":[],"mappings":";;;;;;;AAAA,6DAAqC;AAGrC,MAAM,eAAe,GAAG,gBAAM,CAAC,GAAG,CAAA;;;;CAIjC,CAAC;AAEF,MAAM,uBAAuB,GAAG,gBAAM,CAAC,MAAM,CAAqB;;;;;;;;;;;;4BAYtC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU;+BAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU;;6BAEvC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,UAAU;gCACjC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,UAAU;iBACnD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM;CAChD,CAAC;AAMF,SAAgB,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,OAAO,uBAAC,eAAe,cAAE,QAAQ,GAAmB,CAAC;AACvD,CAAC;AAHD,kCAGC;AAQD,WAAW,CAAC,MAAM,GAAG,SAAS,iBAAiB,CAAC,KAA6B;IAC3E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE3C,OAAO,CACL,uBAAC,uBAAuB,IACtB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,KAAK,MAAM,YAE1B,KAAK,GACkB,CAC3B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,15 +0,0 @@
1
- import { ReactNode } from 'react';
2
- interface ButtonGroupProps {
3
- children: [ReactNode, ReactNode];
4
- }
5
- export declare function ButtonGroup(props: ButtonGroupProps): import("react/jsx-runtime").JSX.Element;
6
- export declare namespace ButtonGroup {
7
- var Button: (props: ButtonGroupButtonProps) => import("react/jsx-runtime").JSX.Element;
8
- }
9
- interface ButtonGroupButtonProps {
10
- position: 'first' | 'last';
11
- label: string;
12
- onClick: () => void;
13
- }
14
- export {};
15
- //# sourceMappingURL=ButtonGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAGlD;yBAHe,WAAW;;;AAK3B,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -1,35 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from '@emotion/styled';
3
- const ButtonGroupRoot = styled.div `
4
- display: inline-flex;
5
- border-radius: 0.375rem;
6
- isolation: isolate;
7
- `;
8
- const ButtonGroupCustomButton = styled.button `
9
- position: relative;
10
- display: inline-flex;
11
- align-items: center;
12
- font-weight: 500;
13
- font-size: 0.875rem;
14
- line-height: 1.25rem;
15
- padding-left: 1rem;
16
- padding-right: 1rem;
17
- padding-top: 5px;
18
- padding-bottom: 5px;
19
- border-width: 1px;
20
- border-top-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
21
- border-bottom-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
22
-
23
- border-top-right-radius: ${({ isLast }) => isLast && '0.375rem'};
24
- border-bottom-right-radius: ${({ isLast }) => isLast && '0.375rem'};
25
- margin-left: ${({ isLast }) => isLast && '-1px'};
26
- `;
27
- export function ButtonGroup(props) {
28
- const { children } = props;
29
- return _jsx(ButtonGroupRoot, { children: children });
30
- }
31
- ButtonGroup.Button = function ButtonGroupButton(props) {
32
- const { position, label, onClick } = props;
33
- return (_jsx(ButtonGroupCustomButton, { type: "button", onClick: onClick, isLast: position === 'last', children: label }));
34
- };
35
- //# sourceMappingURL=ButtonGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../../src/components/button/ButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAGrC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIjC,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAqB;;;;;;;;;;;;4BAYtC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU;+BAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU;;6BAEvC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,UAAU;gCACjC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,UAAU;iBACnD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM;CAChD,CAAC;AAMF,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,OAAO,KAAC,eAAe,cAAE,QAAQ,GAAmB,CAAC;AACvD,CAAC;AAQD,WAAW,CAAC,MAAM,GAAG,SAAS,iBAAiB,CAAC,KAA6B;IAC3E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE3C,OAAO,CACL,KAAC,uBAAuB,IACtB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,KAAK,MAAM,YAE1B,KAAK,GACkB,CAC3B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,57 +0,0 @@
1
- import styled from '@emotion/styled';
2
- import { ReactNode } from 'react';
3
-
4
- const ButtonGroupRoot = styled.div`
5
- display: inline-flex;
6
- border-radius: 0.375rem;
7
- isolation: isolate;
8
- `;
9
-
10
- const ButtonGroupCustomButton = styled.button<{ isLast: boolean }>`
11
- position: relative;
12
- display: inline-flex;
13
- align-items: center;
14
- font-weight: 500;
15
- font-size: 0.875rem;
16
- line-height: 1.25rem;
17
- padding-left: 1rem;
18
- padding-right: 1rem;
19
- padding-top: 5px;
20
- padding-bottom: 5px;
21
- border-width: 1px;
22
- border-top-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
23
- border-bottom-left-radius: ${({ isLast }) => !isLast && '0.375rem'};
24
-
25
- border-top-right-radius: ${({ isLast }) => isLast && '0.375rem'};
26
- border-bottom-right-radius: ${({ isLast }) => isLast && '0.375rem'};
27
- margin-left: ${({ isLast }) => isLast && '-1px'};
28
- `;
29
-
30
- interface ButtonGroupProps {
31
- children: [ReactNode, ReactNode];
32
- }
33
-
34
- export function ButtonGroup(props: ButtonGroupProps) {
35
- const { children } = props;
36
- return <ButtonGroupRoot>{children}</ButtonGroupRoot>;
37
- }
38
-
39
- interface ButtonGroupButtonProps {
40
- position: 'first' | 'last';
41
- label: string;
42
- onClick: () => void;
43
- }
44
-
45
- ButtonGroup.Button = function ButtonGroupButton(props: ButtonGroupButtonProps) {
46
- const { position, label, onClick } = props;
47
-
48
- return (
49
- <ButtonGroupCustomButton
50
- type="button"
51
- onClick={onClick}
52
- isLast={position === 'last'}
53
- >
54
- {label}
55
- </ButtonGroupCustomButton>
56
- );
57
- };