@seeqdev/qomponents 0.0.190 → 0.0.193

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.
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { AlertProps } from './Alert.types';
4
3
  /**
5
4
  * Alert.
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps } from './Button.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * All-in-one Button:
6
5
  * - use "variant" to achieve the desired style
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { ButtonGroupProps } from './ButtonGroup.types';
4
3
  /**
5
4
  * ButtonGroup.
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { CheckboxProps } from './Checkbox.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * Checkbox and Radio Box Component.
6
5
  */
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { IconProps } from './Icon.types';
4
3
  /**
5
4
  * Icon:
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputGroupProps } from './InputGroup.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * InputGroup.
6
5
  */
7
- export declare const InputGroup: React.FunctionComponent<InputGroupProps>;
6
+ export declare const InputGroup: React.ForwardRefExoticComponent<Omit<InputGroupProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { ModalProps } from './Modal.types';
4
3
  declare const Modal: React.FunctionComponent<ModalProps>;
5
4
  export default Modal;
@@ -229,6 +229,11 @@ export interface ModalProps {
229
229
  * actions, 'danger' for destructive actions, or other variants as appropriate.
230
230
  */
231
231
  submitButtonVariant?: ButtonVariant;
232
+ /**
233
+ * ARIA attribute that references the ID of an element containing descriptive text for the modal.
234
+ * This prop is passed to the modal dialog element as `aria-describedby` for accessibility purposes.
235
+ */
236
+ ariaDescribedBy?: string;
232
237
  /**
233
238
  * Callback function triggered when the user clicks/taps outside the modal dialog.
234
239
  * Receives the pointer event. Use this to customize outside-click behavior,
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { SelectProps } from './Select.types';
3
- import '../styles.css';
4
3
  import { MultiValue as MV, SingleValue as SV } from 'react-select';
5
4
  export type MultiValue<T> = MV<T>;
6
5
  export type SingleValue<T> = SV<T>;
@@ -1,2 +1,2 @@
1
1
  export { default } from './Select';
2
- export { components as SelectCompoents } from 'react-select';
2
+ export { components as SelectComponents, type GroupBase, type OptionProps } from 'react-select';
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { SvgIconProps } from './SvgIcon.types';
4
3
  /**
5
4
  * Renders an icon that has an SVG icon path (see {@link isSvgIcon() })
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TextAreaProps } from './TextArea.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * TextArea.
6
5
  */
7
- export declare const TextArea: React.FunctionComponent<TextAreaProps>;
6
+ export declare const TextArea: React.ForwardRefExoticComponent<Omit<TextAreaProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputLengthStyleProps, TextFieldProps } from './TextField.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * Textfield.
6
5
  */
7
- export declare const TextField: React.FunctionComponent<TextFieldProps & InputLengthStyleProps>;
6
+ export declare const TextField: React.ForwardRefExoticComponent<Omit<TextFieldProps & InputLengthStyleProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -19,6 +19,13 @@ export interface TextFieldProps extends TooltipComponentProps {
19
19
  * your component state in controlled input scenarios.
20
20
  */
21
21
  onChange?: React.ChangeEventHandler<FormControlElement>;
22
+ /**
23
+ * Callback function triggered when the user pastes content into the text field.
24
+ * Receives the clipboard event with details about the pasted content.
25
+ * Useful for implementing custom paste handling, such as sanitizing input
26
+ * or preventing certain types of content from being pasted.
27
+ */
28
+ onPaste?: React.ClipboardEventHandler<FormControlElement>;
22
29
  /**
23
30
  * Callback function triggered when a key is released while the field has focus.
24
31
  * Useful for implementing search-as-you-type functionality or debounced input handling.
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import '../styles.css';
3
2
  import { TooltipProps } from './Tooltip.types';
4
3
  /**
5
4
  * @deprecated
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Build entry point for standalone qomponents dist/ package
3
+ * This imports Tailwind-enabled CSS and then re-exports everything
4
+ */
5
+ import './styles.build.css';
6
+ export * from './index';
@@ -5,8 +5,7 @@ import Checkbox from './Checkbox';
5
5
  import TextArea from './TextArea';
6
6
  import { QTip, Tooltip } from './Tooltip';
7
7
  import Icon from './Icon';
8
- import Select from './Select';
9
- import { SelectCompoents } from './Select';
8
+ import Select, { type GroupBase, type OptionProps, SelectComponents } from './Select';
10
9
  import Modal from './Modal';
11
10
  import Tabs from './Tabs';
12
11
  import Accordion from './Accordion';
@@ -28,8 +27,7 @@ export { TextArea };
28
27
  export { Tooltip };
29
28
  export { Checkbox };
30
29
  export { Icon };
31
- export { Select };
32
- export { SelectCompoents };
30
+ export { Select, SelectComponents, type GroupBase, type OptionProps };
33
31
  export { QTip };
34
32
  export { Modal };
35
33
  export { Accordion };
package/dist/styles.css CHANGED
@@ -906,6 +906,9 @@
906
906
  background-color: color-mix(in oklab, var(--theme-highlight) 10%, transparent);
907
907
  }
908
908
  }
909
+ .tw\:bg-sq-theme-icon {
910
+ background-color: var(--theme-icon);
911
+ }
909
912
  .tw\:bg-sq-warning {
910
913
  background-color: var(--sq-status-warning-color);
911
914
  }
@@ -1117,6 +1120,9 @@
1117
1120
  .tw\:text-sq-theme-dark {
1118
1121
  color: var(--theme-dark);
1119
1122
  }
1123
+ .tw\:text-sq-theme-icon {
1124
+ color: var(--theme-icon);
1125
+ }
1120
1126
  .tw\:text-sq-theme-light {
1121
1127
  color: var(--theme-light);
1122
1128
  }
@@ -1733,6 +1739,11 @@
1733
1739
  border-color: var(--theme-dark);
1734
1740
  }
1735
1741
  }
1742
+ .tw\:dark\:border-sq-theme-icon {
1743
+ &:where(.tw-dark, .tw-dark *) {
1744
+ border-color: var(--theme-icon);
1745
+ }
1746
+ }
1736
1747
  .tw\:dark\:border-t-gray-700 {
1737
1748
  &:where(.tw-dark, .tw-dark *) {
1738
1749
  border-top-color: var(--tw-color-gray-700);
@@ -1793,6 +1804,11 @@
1793
1804
  background-color: var(--sq-light-gray-dark);
1794
1805
  }
1795
1806
  }
1807
+ .tw\:dark\:bg-sq-theme-icon {
1808
+ &:where(.tw-dark, .tw-dark *) {
1809
+ background-color: var(--theme-icon);
1810
+ }
1811
+ }
1796
1812
  .tw\:dark\:bg-sq-tools-background-dark {
1797
1813
  &:where(.tw-dark, .tw-dark *) {
1798
1814
  background-color: #151b23;
@@ -1818,6 +1834,11 @@
1818
1834
  color: var(--sqw-fairly-dark-gray);
1819
1835
  }
1820
1836
  }
1837
+ .tw\:dark\:text-sq-multi-gray-dark {
1838
+ &:where(.tw-dark, .tw-dark *) {
1839
+ color: #262c36;
1840
+ }
1841
+ }
1821
1842
  .tw\:dark\:text-sq-text-color {
1822
1843
  &:where(.tw-dark, .tw-dark *) {
1823
1844
  color: #3a3a3a;
@@ -2986,19 +3007,7 @@
2986
3007
  --sq-vantage-icon: #ac77e1;
2987
3008
  --sq-vantage-highlight: #af95c9ff;
2988
3009
  --sq-vantage-light: #d0bce5;
2989
- --theme-darker: var(--sq-analysis-darker);
2990
- --theme-dark: var(--sq-analysis-dark);
2991
- --theme-link: var(--sq-analysis-link);
2992
- --theme-icon: var(--sq-analysis-icon);
2993
- --theme-icon-activated: var(--sq-analysis-icon-activated);
2994
- --theme-highlight: var(--sq-analysis-highlight);
2995
- --theme-light: var(--sq-analysis-light);
2996
- --theme-header: var(--sq-analysis-dark);
2997
- --theme-footer-text: var(--sq-analysis-dark);
2998
- --theme-item-row: var(--sq-analysis-light);
2999
- --theme-highlight-background: var(--sq-analysis-light);
3000
- .color_topic,
3001
- .color_topic_dark {
3010
+ .color_topic, .color_topic_dark {
3002
3011
  --theme-darker: var(--sq-topic-darker);
3003
3012
  --theme-dark: var(--sq-topic-dark);
3004
3013
  --theme-link: var(--sq-topic-link);
@@ -3011,8 +3020,7 @@
3011
3020
  --theme-item-row: var(--sq-topic-light);
3012
3021
  --theme-highlight-background: var(--sq-topic-light);
3013
3022
  }
3014
- .color_analysis,
3015
- .color_analysis_dark {
3023
+ .color_analysis, .color_analysis_dark {
3016
3024
  --theme-darker: var(--sq-analysis-darker);
3017
3025
  --theme-dark: var(--sq-analysis-dark);
3018
3026
  --theme-link: var(--sq-analysis-link);
@@ -3025,8 +3033,7 @@
3025
3033
  --theme-item-row: var(--sq-analysis-light);
3026
3034
  --theme-highlight-background: var(--sq-analysis-light);
3027
3035
  }
3028
- .color_datalab,
3029
- .color_datalab_dark {
3036
+ .color_datalab, .color_datalab_dark {
3030
3037
  --theme-darker: var(--sq-datalab-darker);
3031
3038
  --theme-dark: var(--sq-datalab-dark);
3032
3039
  --theme-link: var(--sq-datalab-link);
@@ -3037,8 +3044,7 @@
3037
3044
  --theme-footer-text: var(--sq-datalab-dark);
3038
3045
  --theme-highlight-background: var(--sq-datalab-light);
3039
3046
  }
3040
- .color_vantage,
3041
- .color_vantage_dark {
3047
+ .color_vantage, .color_vantage_dark {
3042
3048
  --theme-darker: var(--sq-vantage-darker);
3043
3049
  --theme-dark: var(--sq-vantage-dark);
3044
3050
  --theme-link: var(--sq-vantage-link);
@@ -3193,12 +3199,6 @@
3193
3199
  --sq-report-color: #39516b;
3194
3200
  --sq-analysis-color: #427c63;
3195
3201
  --sq-datalab-color: #f26722;
3196
- --sq-homescreen-gradient: linear-gradient(15deg, #0c2e42 5%, #a3e5ec 65%);
3197
- --sq-homescreen-container: rgba(255, 255, 255, 0.7);
3198
- --sq-homescreen-current-folder: #ffffff;
3199
- --sq-homescreen-breadcrumb-link: #062f41;
3200
- --sq-homescreen-section-title: #0e1f2b;
3201
- --sq-homescreen-section-action: #717171;
3202
3202
  --sq-viewonly-gray: var(--sqw-dark-gray);
3203
3203
  --sq-selectedregion-xcursor: #000;
3204
3204
  --sq-noitems-gray: var(--sqw-darkish-gray);
@@ -3230,38 +3230,32 @@
3230
3230
  font-size: 0.8125rem;
3231
3231
  line-height: inherit;
3232
3232
  }
3233
- h1,
3234
- .h1 {
3233
+ h1, .h1 {
3235
3234
  font-size: 2.025rem;
3236
3235
  margin-top: 0.75rem;
3237
3236
  margin-bottom: 0.5rem;
3238
3237
  }
3239
- h2,
3240
- .h2 {
3238
+ h2, .h2 {
3241
3239
  font-size: 1.625rem;
3242
3240
  margin-top: 0.75rem;
3243
3241
  margin-bottom: 0.5rem;
3244
3242
  }
3245
- h3,
3246
- .h3 {
3243
+ h3, .h3 {
3247
3244
  font-size: 1.42rem;
3248
3245
  margin-top: 0.75rem;
3249
3246
  margin-bottom: 0.5rem;
3250
3247
  }
3251
- h4,
3252
- .h4 {
3248
+ h4, .h4 {
3253
3249
  font-size: var(--font-size-xxxlg);
3254
3250
  margin-top: 0.75rem;
3255
3251
  margin-bottom: 0.5rem;
3256
3252
  }
3257
- h5,
3258
- .h5 {
3253
+ h5, .h5 {
3259
3254
  font-size: var(--font-size-xxlg);
3260
3255
  margin-top: 0.75rem;
3261
3256
  margin-bottom: 0.5rem;
3262
3257
  }
3263
- h6,
3264
- .h6 {
3258
+ h6, .h6 {
3265
3259
  font-size: var(--font-size-xlg);
3266
3260
  margin-top: 0.75rem;
3267
3261
  margin-bottom: 0.5rem;
@@ -3274,12 +3268,7 @@
3274
3268
  text-align: left;
3275
3269
  font-weight: 600;
3276
3270
  }
3277
- button,
3278
- input,
3279
- select,
3280
- optgroup,
3281
- textarea,
3282
- ::file-selector-button {
3271
+ button, input, select, optgroup, textarea, ::file-selector-button {
3283
3272
  background-color: inherit;
3284
3273
  }
3285
3274
  }
@@ -3289,20 +3278,16 @@
3289
3278
  .reactSelectMinHeightSmall {
3290
3279
  min-height: 22px !important;
3291
3280
  }
3292
- [type='checkbox']:checked,
3293
- [type='radio']:checked {
3281
+ [type='checkbox']:checked, [type='radio']:checked {
3294
3282
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='black' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
3295
3283
  }
3296
- [type='checkbox']:disabled[type='checked'],
3297
- [type='radio']:disabled[type='checked'] {
3284
+ [type='checkbox']:disabled[type='checked'], [type='radio']:disabled[type='checked'] {
3298
3285
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23DDE1E3' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
3299
3286
  }
3300
- .tw-dark [type='checkbox']:checked,
3301
- .tw-dark [type='radio']:checked {
3287
+ .tw-dark [type='checkbox']:checked, .tw-dark [type='radio']:checked {
3302
3288
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23C2BCB0' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
3303
3289
  }
3304
- .tw-dark [type='checkbox']:disabled[type='checked'],
3305
- .tw-dark [type='radio']:disabled[type='checked'] {
3290
+ .tw-dark [type='checkbox']:disabled[type='checked'], .tw-dark [type='radio']:disabled[type='checked'] {
3306
3291
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23606061' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
3307
3292
  }
3308
3293
  @keyframes fadeIn {
package/package.json CHANGED
@@ -1,26 +1,28 @@
1
1
  {
2
2
  "name": "@seeqdev/qomponents",
3
- "version": "0.0.190",
3
+ "version": "0.0.193",
4
4
  "main": "dist/index.js",
5
+ "source": "src/index.ts",
5
6
  "module": "dist/index.esm.js",
6
7
  "types": "dist/src/index.d.ts",
7
- "skip-lib-check": true,
8
+ "style": "src/styles.css",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.js",
13
+ "types": "./dist/src/index.d.ts"
14
+ },
15
+ "./styles.css": "./dist/styles.css"
16
+ },
8
17
  "files": [
9
18
  "dist"
10
19
  ],
11
- "repository": {
12
- "type": "git",
13
- "url": "TOOD"
14
- },
15
20
  "publishConfig": {
16
21
  "access": "public"
17
22
  },
18
- "description": "A library that allows you to build native UIs ... TODO",
23
+ "description": "Seeq's UI component library built for React",
19
24
  "author": "Seeq",
20
25
  "license": "MIT",
21
- "bugs": {
22
- "url": "TODO"
23
- },
24
26
  "homepage": "https://seeq12.github.io/qomponents-documentation/",
25
27
  "peerDependencies": {
26
28
  "react": ">=19.0.0",
@@ -66,7 +68,9 @@
66
68
  "typescript": "5.9.3"
67
69
  },
68
70
  "dependencies": {
71
+ "@babel/runtime": "^7.28.4",
69
72
  "@floating-ui/dom": "1.6.3",
73
+ "@mantine/hooks": "^8.3.12",
70
74
  "@radix-ui/react-accordion": "1.2.12",
71
75
  "@radix-ui/react-dialog": "1.1.15",
72
76
  "@radix-ui/react-dropdown-menu": "2.1.16",
@@ -85,7 +89,6 @@
85
89
  },
86
90
  "scripts": {
87
91
  "build": "rollup -c --bundleConfigAsCjs",
88
- "build:watch": "rollup -c --bundleConfigAsCjs --watch",
89
92
  "test": "cross-env TZ=UTC LANG=en-US jest",
90
93
  "test:watch": "cross-env TZ=UTC LANG=en-US jest --watch",
91
94
  "dev": "ladle serve",