@seeqdev/qomponents 0.0.20 → 0.0.22

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 (104) hide show
  1. package/README.md +135 -135
  2. package/dist/Button/Button.types.d.ts +4 -0
  3. package/dist/FontCustom.woff +0 -0
  4. package/dist/FontCustom.woff2 +0 -0
  5. package/dist/Icon/Icon.types.d.ts +4 -6
  6. package/dist/Tooltip/QTip.stories.d.ts +5 -0
  7. package/dist/Tooltip/QTip.types.d.ts +13 -0
  8. package/dist/Tooltip/QTipPerformance.stories.d.ts +5 -0
  9. package/dist/Tooltip/Qtip.d.ts +25 -0
  10. package/dist/Tooltip/Tooltip.d.ts +7 -1
  11. package/dist/Tooltip/TooltipPerformance.stories.d.ts +5 -0
  12. package/dist/Tooltip/index.d.ts +2 -1
  13. package/dist/example/.eslintrc.cjs +14 -14
  14. package/dist/example/README.md +33 -33
  15. package/dist/example/index.html +13 -13
  16. package/dist/example/package.json +30 -30
  17. package/dist/example/src/ComplexSelectExample.tsx +81 -81
  18. package/dist/example/src/Example.tsx +167 -158
  19. package/dist/example/src/index.css +102 -93
  20. package/dist/example/src/main.tsx +10 -10
  21. package/dist/example/src/vite-env.d.ts +1 -1
  22. package/dist/example/tsconfig.json +33 -33
  23. package/dist/example/tsconfig.node.json +12 -12
  24. package/dist/example/vite.config.ts +12 -12
  25. package/dist/index.d.ts +2 -1
  26. package/dist/index.esm.js +3132 -220
  27. package/dist/index.esm.js.map +1 -1
  28. package/dist/index.js +3132 -219
  29. package/dist/index.js.map +1 -1
  30. package/dist/styles.css +2178 -2121
  31. package/package.json +78 -73
  32. package/dist/Button/Button.js +0 -74
  33. package/dist/Button/Button.js.map +0 -1
  34. package/dist/Button/Button.stories.js +0 -77
  35. package/dist/Button/Button.stories.js.map +0 -1
  36. package/dist/Button/Button.test.js +0 -49
  37. package/dist/Button/Button.test.js.map +0 -1
  38. package/dist/Button/Button.types.js +0 -4
  39. package/dist/Button/Button.types.js.map +0 -1
  40. package/dist/Button/index.js +0 -2
  41. package/dist/Button/index.js.map +0 -1
  42. package/dist/Checkbox/Checkbox.js +0 -23
  43. package/dist/Checkbox/Checkbox.js.map +0 -1
  44. package/dist/Checkbox/Checkbox.stories.js +0 -29
  45. package/dist/Checkbox/Checkbox.stories.js.map +0 -1
  46. package/dist/Checkbox/Checkbox.test.js +0 -94
  47. package/dist/Checkbox/Checkbox.test.js.map +0 -1
  48. package/dist/Checkbox/Checkbox.types.js +0 -2
  49. package/dist/Checkbox/Checkbox.types.js.map +0 -1
  50. package/dist/Checkbox/index.js +0 -2
  51. package/dist/Checkbox/index.js.map +0 -1
  52. package/dist/Icon/Icon.js +0 -54
  53. package/dist/Icon/Icon.js.map +0 -1
  54. package/dist/Icon/Icon.stories.js +0 -40
  55. package/dist/Icon/Icon.stories.js.map +0 -1
  56. package/dist/Icon/Icon.test.js +0 -55
  57. package/dist/Icon/Icon.test.js.map +0 -1
  58. package/dist/Icon/Icon.types.js +0 -16
  59. package/dist/Icon/Icon.types.js.map +0 -1
  60. package/dist/Icon/index.js +0 -2
  61. package/dist/Icon/index.js.map +0 -1
  62. package/dist/Select/Select.js +0 -168
  63. package/dist/Select/Select.js.map +0 -1
  64. package/dist/Select/Select.stories.js +0 -72
  65. package/dist/Select/Select.stories.js.map +0 -1
  66. package/dist/Select/Select.test.js +0 -161
  67. package/dist/Select/Select.test.js.map +0 -1
  68. package/dist/Select/Select.types.js +0 -2
  69. package/dist/Select/Select.types.js.map +0 -1
  70. package/dist/Select/index.js +0 -2
  71. package/dist/Select/index.js.map +0 -1
  72. package/dist/TextArea/TextArea.js +0 -17
  73. package/dist/TextArea/TextArea.js.map +0 -1
  74. package/dist/TextArea/TextArea.stories.js +0 -39
  75. package/dist/TextArea/TextArea.stories.js.map +0 -1
  76. package/dist/TextArea/TextArea.test.js +0 -68
  77. package/dist/TextArea/TextArea.test.js.map +0 -1
  78. package/dist/TextArea/TextArea.types.js +0 -2
  79. package/dist/TextArea/TextArea.types.js.map +0 -1
  80. package/dist/TextArea/index.js +0 -2
  81. package/dist/TextArea/index.js.map +0 -1
  82. package/dist/TextField/TextField.js +0 -58
  83. package/dist/TextField/TextField.js.map +0 -1
  84. package/dist/TextField/TextField.stories.js +0 -41
  85. package/dist/TextField/TextField.stories.js.map +0 -1
  86. package/dist/TextField/TextField.test.js +0 -35
  87. package/dist/TextField/TextField.test.js.map +0 -1
  88. package/dist/TextField/TextField.types.js +0 -2
  89. package/dist/TextField/TextField.types.js.map +0 -1
  90. package/dist/TextField/index.js +0 -2
  91. package/dist/TextField/index.js.map +0 -1
  92. package/dist/Tooltip/Tooltip.js +0 -30
  93. package/dist/Tooltip/Tooltip.js.map +0 -1
  94. package/dist/Tooltip/Tooltip.stories.js +0 -32
  95. package/dist/Tooltip/Tooltip.stories.js.map +0 -1
  96. package/dist/Tooltip/Tooltip.types.js +0 -3
  97. package/dist/Tooltip/Tooltip.types.js.map +0 -1
  98. package/dist/Tooltip/index.js +0 -2
  99. package/dist/Tooltip/index.js.map +0 -1
  100. package/dist/example/package-lock.json +0 -3369
  101. package/dist/types.js +0 -2
  102. package/dist/types.js.map +0 -1
  103. package/dist/utils/browserId.js +0 -29
  104. package/dist/utils/browserId.js.map +0 -1
package/README.md CHANGED
@@ -1,136 +1,136 @@
1
- <!-- markdownlint-disable-next-line -->
2
- <p align="center">
3
- <img width="150" src="https://seeq.com/sites/default/files/seeq-content/seeq-logo-blue-web-33h.svg" alt="Seeq logo">
4
- </p>
5
- <h1 align="center">qomponents</h1>
6
-
7
-
8
- Seeq qomponents are a collection of UI components, including a Button, a TextField, an Icon, as well as a Tooltip
9
- React component (more coming soon!)
10
-
11
- These components are used by Seeq's application and are made publicly available for Developers who want to expand
12
- the Seeq eco-system with their own plugins and add-ons without having to worry about creating a cohesive Seeq UX
13
- experience. Every component comes fully styled (and with dark mode support).
14
-
15
- ## Installation
16
-
17
- Seeq qomponents are available on npm.
18
-
19
- **npm:**
20
-
21
- ```sh
22
- npm install @seeqdev/qomponents
23
- ```
24
-
25
- **yarn:**
26
-
27
- ```sh
28
- yarn add @seeqdev/qomponents
29
- ```
30
-
31
- ## Getting started with Seeq qomponents
32
-
33
- Prefer a more complete example? <br/>Checkout the example folder provided.
34
- It includes a ready to run example application. Start with the readme in the example folder to get up and running!
35
-
36
- Here is an example of a basic app using the `Button` component:
37
-
38
- ```jsx
39
- import * as React from 'react';
40
- import {Button} from '@seeqdev/qomponents';
41
-
42
- function App() {
43
- return <Button variant="theme" label="Seeq Rocks" />;
44
- }
45
- ```
46
-
47
- To make sure all styles are properly applied be sure to include the qomponents css file in your main css file.
48
-
49
- ```css
50
- @import '@seeqdev/qomponents/dist/styles.css';
51
- ```
52
-
53
- <b>A note on CSS:</b> Seeq's qomponents come fully styled and ready to use. While it is tempting to use the
54
- available <i>extraClassNames</i> property to provide yet additional styling we strongly advise you to use this
55
- property to provide only width, margins and padding. This will ensure for a smooth upgrade experience when
56
- Seeq's look and feel changes.
57
- <br />
58
- <b>Tip:</b>: to indicate missing or wrong user input use the <i>showError</i> property available on TextField,
59
- TextArea, as well as Select.
60
-
61
- ## Frequently asked questions
62
-
63
- <h3>1) I use webpack and I get a strange error once I added qomponents to my package.json!</h3>
64
-
65
- Webpack needs a little help :)
66
- Add the following to the <code>rules</code> array in your <code>webpack.config</code>
67
-
68
- ```
69
- {
70
- test: /@?(seeqdev).*\.(ts|js)x?$/,
71
- loader:'babel-loader'
72
- },
73
- {
74
- test: /\.(woff|woff2|eot|ttf|otf)$/i,
75
- type: 'asset/resource',
76
- }
77
- ```
78
-
79
- If you're using webpack + scss be sure to include a <code>~</code> as part of the css import path:
80
-
81
- ```
82
- @import '~@seeqdev/qomponents/dist/styles.css';
83
- @import '~@fortawesome/fontawesome-free/css/all.css';
84
- ```
85
-
86
- <h3>2) How do I get my Button to be green?</h3>
87
-
88
- The colors of your qomponents are controlled by the "theme". </br>
89
- If you do not provide a theme your qomponents will use the default blue or also known as Topic-based theme.
90
- Themes are applied by adding the class of the desired theme to a wrapper of your application. The theme class can
91
- also be applied to the body tag.
92
-
93
- ```html
94
-
95
- <div class="color_analysis">
96
- ... your application here
97
- </div>
98
-
99
- ```
100
-
101
- There are 3 themes available:
102
-
103
- | Theme | Color | Class | Example |
104
- |:---------|:-------|:---------------|:-----------------------|
105
- | Topic | blue | color_topic | class="color_topic" |
106
- | Analysis | green | color_analysis | class="color_analysis" |
107
- | DataLab | orange | color_datalab | class="color_datalab" |
108
-
109
- <h3>3) How do I use Fontawesome Icons?</h3>
110
- Before you can use Fontawesome icons you must install FontAwesome.
111
-
112
- ```
113
- npm install --save @fortawesome/fontawesome-free
114
- ```
115
-
116
- Once it's installed simply import the required css files. To import all variations of FontAwesome's Icons you can
117
- add the following import to your main css file:
118
-
119
- ```
120
- @import "@fortawesome/fontawesome-free/css/all.css";
121
- ```
122
-
123
- If your project only uses Classic Solid or (Sharp Solids, or any other one kind) it's better to import only the
124
- required css for that Icon type to keep your packages size small.<br/> Note: if you don't import "all" like shown above
125
- be sure to include <code>fontawesome.css</code> in addition to whatever Icon style you require.
126
-
127
- For Example:
128
-
129
- ```
130
- @import "@fortawesome/fontawesome-free/css/fontawesome.css";
131
- @import "@fortawesome/fontawesome-free/css/solid.css";
132
- ```
133
-
134
- <h3>4) How can I see all the props that are available?</h3>
135
- Take a look at the <code>.types.d.ts</code> files that can be found in the <code>dist/{component name}/</code>
1
+ <!-- markdownlint-disable-next-line -->
2
+ <p align="center">
3
+ <img width="150" src="https://seeq.com/sites/default/files/seeq-content/seeq-logo-blue-web-33h.svg" alt="Seeq logo">
4
+ </p>
5
+ <h1 align="center">qomponents</h1>
6
+
7
+
8
+ Seeq qomponents are a collection of UI components, including a Button, a TextField, an Icon, as well as a Tooltip
9
+ React component (more coming soon!)
10
+
11
+ These components are used by Seeq's application and are made publicly available for Developers who want to expand
12
+ the Seeq eco-system with their own plugins and add-ons without having to worry about creating a cohesive Seeq UX
13
+ experience. Every component comes fully styled (and with dark mode support).
14
+
15
+ ## Installation
16
+
17
+ Seeq qomponents are available on npm.
18
+
19
+ **npm:**
20
+
21
+ ```sh
22
+ npm install @seeqdev/qomponents
23
+ ```
24
+
25
+ **yarn:**
26
+
27
+ ```sh
28
+ yarn add @seeqdev/qomponents
29
+ ```
30
+
31
+ ## Getting started with Seeq qomponents
32
+
33
+ Prefer a more complete example? <br/>Checkout the example folder provided.
34
+ It includes a ready to run example application. Start with the readme in the example folder to get up and running!
35
+
36
+ Here is an example of a basic app using the `Button` component:
37
+
38
+ ```jsx
39
+ import * as React from 'react';
40
+ import {Button} from '@seeqdev/qomponents';
41
+
42
+ function App() {
43
+ return <Button variant="theme" label="Seeq Rocks" />;
44
+ }
45
+ ```
46
+
47
+ To make sure all styles are properly applied be sure to include the qomponents css file in your main css file.
48
+
49
+ ```css
50
+ @import '@seeqdev/qomponents/dist/styles.css';
51
+ ```
52
+
53
+ <b>A note on CSS:</b> Seeq's qomponents come fully styled and ready to use. While it is tempting to use the
54
+ available <i>extraClassNames</i> property to provide yet additional styling we strongly advise you to use this
55
+ property to provide only width, margins and padding. This will ensure for a smooth upgrade experience when
56
+ Seeq's look and feel changes.
57
+ <br />
58
+ <b>Tip:</b>: to indicate missing or wrong user input use the <i>showError</i> property available on TextField,
59
+ TextArea, as well as Select.
60
+
61
+ ## Frequently asked questions
62
+
63
+ <h3>1) I use webpack and I get a strange error once I added qomponents to my package.json!</h3>
64
+
65
+ Webpack needs a little help :)
66
+ Add the following to the <code>rules</code> array in your <code>webpack.config</code>
67
+
68
+ ```
69
+ {
70
+ test: /@?(seeqdev).*\.(ts|js)x?$/,
71
+ loader:'babel-loader'
72
+ },
73
+ {
74
+ test: /\.(woff|woff2|eot|ttf|otf)$/i,
75
+ type: 'asset/resource',
76
+ }
77
+ ```
78
+
79
+ If you're using webpack + scss be sure to include a <code>~</code> as part of the css import path:
80
+
81
+ ```
82
+ @import '~@seeqdev/qomponents/dist/styles.css';
83
+ @import '~@fortawesome/fontawesome-free/css/all.css';
84
+ ```
85
+
86
+ <h3>2) How do I get my Button to be green?</h3>
87
+
88
+ The colors of your qomponents are controlled by the "theme". </br>
89
+ If you do not provide a theme your qomponents will use the default blue or also known as Topic-based theme.
90
+ Themes are applied by adding the class of the desired theme to a wrapper of your application. The theme class can
91
+ also be applied to the body tag.
92
+
93
+ ```html
94
+
95
+ <div class="color_analysis">
96
+ ... your application here
97
+ </div>
98
+
99
+ ```
100
+
101
+ There are 3 themes available:
102
+
103
+ | Theme | Color | Class | Example |
104
+ |:---------|:-------|:---------------|:-----------------------|
105
+ | Topic | blue | color_topic | class="color_topic" |
106
+ | Analysis | green | color_analysis | class="color_analysis" |
107
+ | DataLab | orange | color_datalab | class="color_datalab" |
108
+
109
+ <h3>3) How do I use Fontawesome Icons?</h3>
110
+ Before you can use Fontawesome icons you must install FontAwesome.
111
+
112
+ ```
113
+ npm install --save @fortawesome/fontawesome-free
114
+ ```
115
+
116
+ Once it's installed simply import the required css files. To import all variations of FontAwesome's Icons you can
117
+ add the following import to your main css file:
118
+
119
+ ```
120
+ @import "@fortawesome/fontawesome-free/css/all.css";
121
+ ```
122
+
123
+ If your project only uses Classic Solid or (Sharp Solids, or any other one kind) it's better to import only the
124
+ required css for that Icon type to keep your packages size small.<br/> Note: if you don't import "all" like shown above
125
+ be sure to include <code>fontawesome.css</code> in addition to whatever Icon style you require.
126
+
127
+ For Example:
128
+
129
+ ```
130
+ @import "@fortawesome/fontawesome-free/css/fontawesome.css";
131
+ @import "@fortawesome/fontawesome-free/css/solid.css";
132
+ ```
133
+
134
+ <h3>4) How can I see all the props that are available?</h3>
135
+ Take a look at the <code>.types.d.ts</code> files that can be found in the <code>dist/{component name}/</code>
136
136
  folder. This file contains all available properties including some descriptive text that tells you more about them.
@@ -34,6 +34,10 @@ export interface ButtonProps {
34
34
  stopPropagation?: boolean;
35
35
  /** a tooltip for the button */
36
36
  tooltip?: string;
37
+ /** true if the provided tooltip text should be rendered as HTML */
38
+ isHtmlTooltip?: boolean;
39
+ /** optional testId applied to the tooltip - useful for testing */
40
+ tooltipTestId?: string;
37
41
  /** options for the tooltip */
38
42
  tooltipOptions?: Omit<TooltipProps, 'text'>;
39
43
  /** if provided, determines whether to prevent the blur event from occurring onMouseDown*/
Binary file
Binary file
@@ -25,14 +25,12 @@ export interface IconProps {
25
25
  customId?: string;
26
26
  /** text to display on icon tooltip */
27
27
  tooltip?: string;
28
- /** formatted text to display on icon tooltip */
29
- formattedTooltip?: any;
30
28
  /** number of milliseconds to wait before showing a tooltip on-hover */
31
29
  tooltipDelay?: number;
32
30
  tooltipPlacement?: TooltipPosition;
31
+ /** true if the provided tooltip text should be rendered as HTML */
32
+ isHtmlTooltip?: boolean;
33
+ /** optional testId applied to the tooltip - useful for testing */
34
+ tooltipTestId?: string;
33
35
  number?: number;
34
- /** set this to true if the icon is inside a <SingletonTooltip> element. In this case the tooltip and placement
35
- * information will be passed on as data attributes and a singleton tooltip element will be reused for this icon.
36
- * This is recommended for improved performance when there are many icons with tooltips. */
37
- hasExternalTooltipHandler?: boolean;
38
36
  }
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllQTips: () => JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { TooltipPosition } from './Tooltip.types';
2
+ export interface QTipDataAttributes {
3
+ /** text displayed by the tooltip */
4
+ 'data-qtip-text': string;
5
+ /** one of TooltipPosition */
6
+ 'data-qtip-placement'?: TooltipPosition;
7
+ /** set to true to render the provided text as html */
8
+ 'data-qtip-is-html'?: boolean;
9
+ /** number of milliseconds to wait before showing a tooltip on-hover */
10
+ 'data-qtip-delay'?: number;
11
+ /** useful for testing; sets the provided string as the data-testid attribute of the tooltip */
12
+ 'data-qtip-testid'?: string;
13
+ }
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const QtipPerformance: () => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ /**
3
+ * QTip
4
+ *
5
+ * QTip is a Singleton Tooltip component that guarantees high-performance and reduces component wrappers!
6
+ *
7
+ * QTip is used by all qomponents that support the display of tooltips.
8
+ * If you want to add a Tooltip to your application you can do so by adding the following html data-attributes:
9
+ *
10
+ * 'data-qtip-text': the tooltip text to display; this can also be a string containing valid HTML
11
+ * 'data-qtip-placement': one of TooltipPosition (top, bottom, right, or left)
12
+ * 'data-qtip-is-html': set this to true if you provided a text that contains HTML,
13
+ * 'data-qtip-delay': this can be used to delay the showing of the tooltip. this should be a number representing
14
+ * the # of milliseconds you want to delay the tooltip for.
15
+ * 'data-qtip-testid': use this attribute to provide a value for a data-testid of your tooltip; this is useful
16
+ * for tests
17
+ *
18
+ * In order for QTip to be able to display Tooltips you must add the QTip component to your top-most component
19
+ * (often that's App or Application) - simply add:
20
+ *
21
+ * <QTip />
22
+ *
23
+ * and enjoy beautiful & performant tooltips!
24
+ */
25
+ export declare const QTip: React.FunctionComponent<any>;
@@ -2,6 +2,12 @@ import React from 'react';
2
2
  import '../styles.css';
3
3
  import { TooltipProps } from './Tooltip.types';
4
4
  /**
5
- * This component displays a Tooltip for the provided children.
5
+ * @deprecated
6
+ * Note: Tooltip has been replaced by QTip - a singleton JS tooltip that behaves well even with overflow settings :)
7
+ * See @QTip for more info!
8
+ *
9
+ * This component displays a Tooltip for the provided children. It is a CSS only tooltip that will not display
10
+ * correctly if a parent element has an overflow CSS property assigned. Please use QTip to ensure your tooltips
11
+ * display correctly.
6
12
  */
7
13
  export declare const Tooltip: React.FunctionComponent<TooltipProps>;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const TooltipPerformance: () => JSX.Element;
@@ -1 +1,2 @@
1
- export { Tooltip as default } from './Tooltip';
1
+ export { Tooltip } from './Tooltip';
2
+ export { QTip } from './Qtip';
@@ -1,14 +1,14 @@
1
- module.exports = {
2
- env: { browser: true, es2020: true },
3
- extends: [
4
- 'eslint:recommended',
5
- 'plugin:@typescript-eslint/recommended',
6
- 'plugin:react-hooks/recommended',
7
- ],
8
- parser: '@typescript-eslint/parser',
9
- parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
10
- plugins: ['react-refresh'],
11
- rules: {
12
- 'react-refresh/only-export-components': 'warn',
13
- },
14
- }
1
+ module.exports = {
2
+ env: { browser: true, es2020: true },
3
+ extends: [
4
+ 'eslint:recommended',
5
+ 'plugin:@typescript-eslint/recommended',
6
+ 'plugin:react-hooks/recommended',
7
+ ],
8
+ parser: '@typescript-eslint/parser',
9
+ parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
10
+ plugins: ['react-refresh'],
11
+ rules: {
12
+ 'react-refresh/only-export-components': 'warn',
13
+ },
14
+ }
@@ -1,33 +1,33 @@
1
- <!-- markdownlint-disable-next-line -->
2
- <p align="center">
3
- <img width="150" src="https://seeq.com/sites/default/files/seeq-content/seeq-logo-blue-web-33h.svg" alt="Seeq logo">
4
- </p>
5
- <h1 align="center">qomponents-form example</h1>
6
-
7
- Time to see qomponents in action!
8
-
9
- This is a simple form example that showcases Seeq's qomponents library.
10
-
11
- This application is built using [vite](https://vitejs.dev/).
12
-
13
- ## Installation
14
-
15
- First, be sure to install all dependencies (React, and qomponents):
16
-
17
- ```sh
18
- npm install
19
- ```
20
-
21
- Once you've installed all dependencies you can start up a dev server and observer any changes you make in real-time:
22
-
23
- ```sh
24
- npm run dev
25
- ```
26
-
27
- ## Tip
28
-
29
- All application code can be found in Example.tsx. Check out the source code to learn how to ensure your
30
- components display using the correct theme (green, blue, orange) as well as the correct mode (light or dark).
31
-
32
-
33
-
1
+ <!-- markdownlint-disable-next-line -->
2
+ <p align="center">
3
+ <img width="150" src="https://seeq.com/sites/default/files/seeq-content/seeq-logo-blue-web-33h.svg" alt="Seeq logo">
4
+ </p>
5
+ <h1 align="center">qomponents-form example</h1>
6
+
7
+ Time to see qomponents in action!
8
+
9
+ This is a simple form example that showcases Seeq's qomponents library.
10
+
11
+ This application is built using [vite](https://vitejs.dev/).
12
+
13
+ ## Installation
14
+
15
+ First, be sure to install all dependencies (React, and qomponents):
16
+
17
+ ```sh
18
+ npm install
19
+ ```
20
+
21
+ Once you've installed all dependencies you can start up a dev server and observer any changes you make in real-time:
22
+
23
+ ```sh
24
+ npm run dev
25
+ ```
26
+
27
+ ## Tip
28
+
29
+ All application code can be found in Example.tsx. Check out the source code to learn how to ensure your
30
+ components display using the correct theme (green, blue, orange) as well as the correct mode (light or dark).
31
+
32
+
33
+
@@ -1,13 +1,13 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>qomponents form example</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.tsx"></script>
12
- </body>
13
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>qomponents form example</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
@@ -1,30 +1,30 @@
1
- {
2
- "name": "example",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "tsc && vite build",
9
- "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10
- "preview": "vite preview"
11
- },
12
- "dependencies": {
13
- "@fortawesome/fontawesome-free": "^6.4.0",
14
- "@seeqdev/qomponents": "0.0.20",
15
- "react": "^18.2.0",
16
- "react-dom": "^18.2.0"
17
- },
18
- "devDependencies": {
19
- "@types/react": "^18.0.37",
20
- "@types/react-dom": "^18.0.11",
21
- "@typescript-eslint/eslint-plugin": "^5.59.0",
22
- "@typescript-eslint/parser": "^5.59.0",
23
- "@vitejs/plugin-react": "^4.0.0",
24
- "eslint": "^8.38.0",
25
- "eslint-plugin-react-hooks": "^4.6.0",
26
- "eslint-plugin-react-refresh": "^0.3.4",
27
- "typescript": "^5.0.2",
28
- "vite": "^4.3.9"
29
- }
30
- }
1
+ {
2
+ "name": "example",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10
+ "preview": "vite preview"
11
+ },
12
+ "dependencies": {
13
+ "@fortawesome/fontawesome-free": "^6.4.0",
14
+ "@seeqdev/qomponents": "0.0.20",
15
+ "react": "^18.2.0",
16
+ "react-dom": "^18.2.0"
17
+ },
18
+ "devDependencies": {
19
+ "@types/react": "^18.0.37",
20
+ "@types/react-dom": "^18.0.11",
21
+ "@typescript-eslint/eslint-plugin": "^5.59.0",
22
+ "@typescript-eslint/parser": "^5.59.0",
23
+ "@vitejs/plugin-react": "^4.0.0",
24
+ "eslint": "^8.38.0",
25
+ "eslint-plugin-react-hooks": "^4.6.0",
26
+ "eslint-plugin-react-refresh": "^0.3.4",
27
+ "typescript": "^5.0.2",
28
+ "vite": "^4.3.9"
29
+ }
30
+ }