@seeqdev/qomponents 0.0.191 → 0.0.194

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,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { InputGroupProps } from './InputGroup.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * InputGroup.
6
5
  */
@@ -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,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,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { TextAreaProps } from './TextArea.types';
3
- import '../styles.css';
4
3
  /**
5
4
  * TextArea.
6
5
  */
@@ -1,6 +1,5 @@
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
  */
@@ -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';
package/dist/styles.css CHANGED
@@ -722,6 +722,10 @@
722
722
  border-top-left-radius: var(--tw-radius-md);
723
723
  border-bottom-left-radius: var(--tw-radius-md);
724
724
  }
725
+ .tw\:rounded-l-none {
726
+ border-top-left-radius: 0;
727
+ border-bottom-left-radius: 0;
728
+ }
725
729
  .tw\:rounded-tl-md {
726
730
  border-top-left-radius: var(--tw-radius-md);
727
731
  }
@@ -906,6 +910,9 @@
906
910
  background-color: color-mix(in oklab, var(--theme-highlight) 10%, transparent);
907
911
  }
908
912
  }
913
+ .tw\:bg-sq-theme-icon {
914
+ background-color: var(--theme-icon);
915
+ }
909
916
  .tw\:bg-sq-warning {
910
917
  background-color: var(--sq-status-warning-color);
911
918
  }
@@ -1117,6 +1124,9 @@
1117
1124
  .tw\:text-sq-theme-dark {
1118
1125
  color: var(--theme-dark);
1119
1126
  }
1127
+ .tw\:text-sq-theme-icon {
1128
+ color: var(--theme-icon);
1129
+ }
1120
1130
  .tw\:text-sq-theme-light {
1121
1131
  color: var(--theme-light);
1122
1132
  }
@@ -1733,6 +1743,11 @@
1733
1743
  border-color: var(--theme-dark);
1734
1744
  }
1735
1745
  }
1746
+ .tw\:dark\:border-sq-theme-icon {
1747
+ &:where(.tw-dark, .tw-dark *) {
1748
+ border-color: var(--theme-icon);
1749
+ }
1750
+ }
1736
1751
  .tw\:dark\:border-t-gray-700 {
1737
1752
  &:where(.tw-dark, .tw-dark *) {
1738
1753
  border-top-color: var(--tw-color-gray-700);
@@ -1793,6 +1808,11 @@
1793
1808
  background-color: var(--sq-light-gray-dark);
1794
1809
  }
1795
1810
  }
1811
+ .tw\:dark\:bg-sq-theme-icon {
1812
+ &:where(.tw-dark, .tw-dark *) {
1813
+ background-color: var(--theme-icon);
1814
+ }
1815
+ }
1796
1816
  .tw\:dark\:bg-sq-tools-background-dark {
1797
1817
  &:where(.tw-dark, .tw-dark *) {
1798
1818
  background-color: #151b23;
@@ -1818,6 +1838,11 @@
1818
1838
  color: var(--sqw-fairly-dark-gray);
1819
1839
  }
1820
1840
  }
1841
+ .tw\:dark\:text-sq-multi-gray-dark {
1842
+ &:where(.tw-dark, .tw-dark *) {
1843
+ color: #262c36;
1844
+ }
1845
+ }
1821
1846
  .tw\:dark\:text-sq-text-color {
1822
1847
  &:where(.tw-dark, .tw-dark *) {
1823
1848
  color: #3a3a3a;
@@ -2986,19 +3011,7 @@
2986
3011
  --sq-vantage-icon: #ac77e1;
2987
3012
  --sq-vantage-highlight: #af95c9ff;
2988
3013
  --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 {
3014
+ .color_topic, .color_topic_dark {
3002
3015
  --theme-darker: var(--sq-topic-darker);
3003
3016
  --theme-dark: var(--sq-topic-dark);
3004
3017
  --theme-link: var(--sq-topic-link);
@@ -3011,8 +3024,7 @@
3011
3024
  --theme-item-row: var(--sq-topic-light);
3012
3025
  --theme-highlight-background: var(--sq-topic-light);
3013
3026
  }
3014
- .color_analysis,
3015
- .color_analysis_dark {
3027
+ .color_analysis, .color_analysis_dark {
3016
3028
  --theme-darker: var(--sq-analysis-darker);
3017
3029
  --theme-dark: var(--sq-analysis-dark);
3018
3030
  --theme-link: var(--sq-analysis-link);
@@ -3025,8 +3037,7 @@
3025
3037
  --theme-item-row: var(--sq-analysis-light);
3026
3038
  --theme-highlight-background: var(--sq-analysis-light);
3027
3039
  }
3028
- .color_datalab,
3029
- .color_datalab_dark {
3040
+ .color_datalab, .color_datalab_dark {
3030
3041
  --theme-darker: var(--sq-datalab-darker);
3031
3042
  --theme-dark: var(--sq-datalab-dark);
3032
3043
  --theme-link: var(--sq-datalab-link);
@@ -3037,8 +3048,7 @@
3037
3048
  --theme-footer-text: var(--sq-datalab-dark);
3038
3049
  --theme-highlight-background: var(--sq-datalab-light);
3039
3050
  }
3040
- .color_vantage,
3041
- .color_vantage_dark {
3051
+ .color_vantage, .color_vantage_dark {
3042
3052
  --theme-darker: var(--sq-vantage-darker);
3043
3053
  --theme-dark: var(--sq-vantage-dark);
3044
3054
  --theme-link: var(--sq-vantage-link);
@@ -3193,12 +3203,6 @@
3193
3203
  --sq-report-color: #39516b;
3194
3204
  --sq-analysis-color: #427c63;
3195
3205
  --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
3206
  --sq-viewonly-gray: var(--sqw-dark-gray);
3203
3207
  --sq-selectedregion-xcursor: #000;
3204
3208
  --sq-noitems-gray: var(--sqw-darkish-gray);
@@ -3230,38 +3234,32 @@
3230
3234
  font-size: 0.8125rem;
3231
3235
  line-height: inherit;
3232
3236
  }
3233
- h1,
3234
- .h1 {
3237
+ h1, .h1 {
3235
3238
  font-size: 2.025rem;
3236
3239
  margin-top: 0.75rem;
3237
3240
  margin-bottom: 0.5rem;
3238
3241
  }
3239
- h2,
3240
- .h2 {
3242
+ h2, .h2 {
3241
3243
  font-size: 1.625rem;
3242
3244
  margin-top: 0.75rem;
3243
3245
  margin-bottom: 0.5rem;
3244
3246
  }
3245
- h3,
3246
- .h3 {
3247
+ h3, .h3 {
3247
3248
  font-size: 1.42rem;
3248
3249
  margin-top: 0.75rem;
3249
3250
  margin-bottom: 0.5rem;
3250
3251
  }
3251
- h4,
3252
- .h4 {
3252
+ h4, .h4 {
3253
3253
  font-size: var(--font-size-xxxlg);
3254
3254
  margin-top: 0.75rem;
3255
3255
  margin-bottom: 0.5rem;
3256
3256
  }
3257
- h5,
3258
- .h5 {
3257
+ h5, .h5 {
3259
3258
  font-size: var(--font-size-xxlg);
3260
3259
  margin-top: 0.75rem;
3261
3260
  margin-bottom: 0.5rem;
3262
3261
  }
3263
- h6,
3264
- .h6 {
3262
+ h6, .h6 {
3265
3263
  font-size: var(--font-size-xlg);
3266
3264
  margin-top: 0.75rem;
3267
3265
  margin-bottom: 0.5rem;
@@ -3274,12 +3272,7 @@
3274
3272
  text-align: left;
3275
3273
  font-weight: 600;
3276
3274
  }
3277
- button,
3278
- input,
3279
- select,
3280
- optgroup,
3281
- textarea,
3282
- ::file-selector-button {
3275
+ button, input, select, optgroup, textarea, ::file-selector-button {
3283
3276
  background-color: inherit;
3284
3277
  }
3285
3278
  }
@@ -3289,20 +3282,16 @@
3289
3282
  .reactSelectMinHeightSmall {
3290
3283
  min-height: 22px !important;
3291
3284
  }
3292
- [type='checkbox']:checked,
3293
- [type='radio']:checked {
3285
+ [type='checkbox']:checked, [type='radio']:checked {
3294
3286
  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
3287
  }
3296
- [type='checkbox']:disabled[type='checked'],
3297
- [type='radio']:disabled[type='checked'] {
3288
+ [type='checkbox']:disabled[type='checked'], [type='radio']:disabled[type='checked'] {
3298
3289
  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
3290
  }
3300
- .tw-dark [type='checkbox']:checked,
3301
- .tw-dark [type='radio']:checked {
3291
+ .tw-dark [type='checkbox']:checked, .tw-dark [type='radio']:checked {
3302
3292
  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
3293
  }
3304
- .tw-dark [type='checkbox']:disabled[type='checked'],
3305
- .tw-dark [type='radio']:disabled[type='checked'] {
3294
+ .tw-dark [type='checkbox']:disabled[type='checked'], .tw-dark [type='radio']:disabled[type='checked'] {
3306
3295
  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
3296
  }
3308
3297
  @keyframes fadeIn {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seeqdev/qomponents",
3
- "version": "0.0.191",
3
+ "version": "0.0.194",
4
4
  "main": "dist/index.js",
5
5
  "source": "src/index.ts",
6
6
  "module": "dist/index.esm.js",
@@ -35,6 +35,7 @@
35
35
  "@rollup/plugin-node-resolve": "16.0.0",
36
36
  "@tailwindcss/forms": "0.5.3",
37
37
  "@tailwindcss/postcss": "4.1.18",
38
+ "@tailwindcss/vite": "4.1.12",
38
39
  "@testing-library/jest-dom": "6.4.6",
39
40
  "@testing-library/react": "16.3.0",
40
41
  "@testing-library/user-event": "14.5.2",