namirasoft-account-react 1.4.119 → 1.4.121

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 (64) hide show
  1. package/.env.template +12 -12
  2. package/config-overrides.js +72 -72
  3. package/dist/IEntityInfo.d.ts +2 -2
  4. package/dist/components/NSAAccessListDialog.module.css +91 -91
  5. package/dist/components/NSABoxOTP.module.css +10 -10
  6. package/dist/components/NSAMessageListDialog.module.css +99 -99
  7. package/dist/components/NSAProductListDialog.module.css +44 -44
  8. package/dist/components/NSAWorkspaceListDialog.module.css +41 -41
  9. package/dist/layouts/Actions.d.ts +10 -10
  10. package/dist/layouts/Menus.d.ts +2 -2
  11. package/dist/layouts/Menus.js.map +1 -1
  12. package/dist/layouts/NSALayout.d.ts +5 -6
  13. package/dist/layouts/NSALayout.js +2 -2
  14. package/dist/layouts/NSALayout.js.map +1 -1
  15. package/dist/layouts/NSASectionList.js.map +1 -1
  16. package/dist/layouts/NSASectionTabs.js +4 -4
  17. package/dist/layouts/NSASectionTabs.js.map +1 -1
  18. package/dist/pages/NSAHomePage.d.ts +2 -2
  19. package/dist/pages/NSAHomePage.js +2 -2
  20. package/dist/pages/NSAHomePage.js.map +1 -1
  21. package/dist/pages/NSAHomePage.module.css +23 -23
  22. package/dist/pages/NSALoginPage.module.css +19 -19
  23. package/dist/pages/NSAVerificationPage.module.css +31 -31
  24. package/package.json +72 -72
  25. package/public/index.html +21 -21
  26. package/src/App.css +31 -31
  27. package/src/App.tsx +34 -34
  28. package/src/IEntityInfo.ts +31 -31
  29. package/src/INSARouterMaker.ts +7 -7
  30. package/src/INSARouterProps.ts +17 -17
  31. package/src/INSARouterState.ts +5 -5
  32. package/src/Info.ts +20 -20
  33. package/src/Message.ts +7 -7
  34. package/src/Messages.ts +53 -53
  35. package/src/NSARouterMaker.tsx +142 -142
  36. package/src/Router.tsx +39 -39
  37. package/src/components/NSAAccessListDialog.module.css +91 -91
  38. package/src/components/NSAAccessListDialog.tsx +161 -161
  39. package/src/components/NSABoxOTP.module.css +10 -10
  40. package/src/components/NSABoxOTP.tsx +63 -63
  41. package/src/components/NSAMessageListDialog.module.css +99 -99
  42. package/src/components/NSAMessageListDialog.tsx +128 -128
  43. package/src/components/NSAProductListDialog.module.css +44 -44
  44. package/src/components/NSAProductListDialog.tsx +112 -112
  45. package/src/components/NSAWorkspaceListDialog.module.css +41 -41
  46. package/src/components/NSAWorkspaceListDialog.tsx +103 -103
  47. package/src/index.tsx +24 -24
  48. package/src/layouts/Actions.ts +151 -151
  49. package/src/layouts/Menus.ts +15 -15
  50. package/src/layouts/NSALayout.tsx +474 -475
  51. package/src/layouts/NSASectionEdit.tsx +165 -165
  52. package/src/layouts/NSASectionList.tsx +193 -193
  53. package/src/layouts/NSASectionTabs.tsx +180 -180
  54. package/src/layouts/NSASectionView.tsx +69 -69
  55. package/src/main.ts +19 -19
  56. package/src/pages/NSAHomePage.module.css +23 -23
  57. package/src/pages/NSAHomePage.tsx +29 -29
  58. package/src/pages/NSALoginPage.module.css +19 -19
  59. package/src/pages/NSALoginPage.tsx +67 -67
  60. package/src/pages/NSAVerificationPage.module.css +31 -31
  61. package/src/pages/NSAVerificationPage.tsx +127 -127
  62. package/tsconfig.json +43 -43
  63. package/dist/App.css +0 -32
  64. package/dist/index.css +0 -0
package/.env.template CHANGED
@@ -1,13 +1,13 @@
1
- ## BASE
2
- REACT_APP_BASE_PATH = ""
3
- REACT_APP_BASE_URL_ACCESS = "https://access.namirasoft.com/api/v1"
4
- REACT_APP_BASE_URL_ACCOUNT = "https://account.namirasoft.com/api/v1"
5
- REACT_APP_BASE_URL_ACCOUNT_CONSOLE = "https://account.namirasoft.com"
6
- REACT_APP_BASE_URL_API_LINK = "https://namirasoft.com/api/link/v1"
7
- REACT_APP_BASE_URL_API_PRODUCT = "https://namirasoft.com/api/product/v1"
8
- REACT_APP_BASE_URL_FIELD = "https://field.namirasoft.com/api/v1";
9
- REACT_APP_BASE_URL_HISTORY = "https://history.namirasoft.com/api/v1";
10
- REACT_APP_BASE_URL_HISTORY_CONSOLE = "https://history.namirasoft.com";
11
- REACT_APP_BASE_URL_MESSAGE = "https://message.namirasoft.com/api/v1";
12
- REACT_APP_BASE_URL_MESSAGE_CONSOLE = "https://message.namirasoft.com"
1
+ ## BASE
2
+ REACT_APP_BASE_PATH = ""
3
+ REACT_APP_BASE_URL_ACCESS = "https://access.namirasoft.com/api/v1"
4
+ REACT_APP_BASE_URL_ACCOUNT = "https://account.namirasoft.com/api/v1"
5
+ REACT_APP_BASE_URL_ACCOUNT_CONSOLE = "https://account.namirasoft.com"
6
+ REACT_APP_BASE_URL_API_LINK = "https://namirasoft.com/api/link/v1"
7
+ REACT_APP_BASE_URL_API_PRODUCT = "https://namirasoft.com/api/product/v1"
8
+ REACT_APP_BASE_URL_FIELD = "https://field.namirasoft.com/api/v1";
9
+ REACT_APP_BASE_URL_HISTORY = "https://history.namirasoft.com/api/v1";
10
+ REACT_APP_BASE_URL_HISTORY_CONSOLE = "https://history.namirasoft.com";
11
+ REACT_APP_BASE_URL_MESSAGE = "https://message.namirasoft.com/api/v1";
12
+ REACT_APP_BASE_URL_MESSAGE_CONSOLE = "https://message.namirasoft.com"
13
13
  REACT_APP_BASE_URL_WORKSPACE = "https://workspace.namirasoft.com/api/v1"
@@ -1,73 +1,73 @@
1
- const getCacheIdentifier = require('react-dev-utils/getCacheIdentifier');
2
- const webpack = require('webpack');
3
-
4
- const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
5
-
6
- module.exports = function config_overrides(config, webpackEnv)
7
- {
8
- console.log('overriding webpack config...');
9
- const isEnvDevelopment = webpackEnv === 'development';
10
- const isEnvProduction = webpackEnv === 'production';
11
- const loaders = config.module.rules[1].oneOf;
12
-
13
- loaders.splice(loaders.length - 1, 0, {
14
- test: /\.(js|mjs|cjs)$/,
15
- exclude: /@babel(?:\/|\\{1,2})runtime/,
16
- loader: require.resolve('babel-loader'),
17
- options: {
18
- babelrc: false,
19
- configFile: false,
20
- compact: false,
21
- presets: [
22
- [
23
- require.resolve('babel-preset-react-app/dependencies'),
24
- { helpers: true },
25
- ],
26
- ],
27
- cacheDirectory: true,
28
- // See #6846 for context on why cacheCompression is disabled
29
- cacheCompression: false,
30
- // @remove-on-eject-begin
31
- cacheIdentifier: getCacheIdentifier(
32
- isEnvProduction
33
- ? 'production'
34
- : isEnvDevelopment && 'development',
35
- [
36
- 'babel-plugin-named-asset-import',
37
- 'babel-preset-react-app',
38
- 'react-dev-utils',
39
- 'react-scripts',
40
- ]
41
- ),
42
- // @remove-on-eject-end
43
- // Babel sourcemaps are needed for debugging into node_modules
44
- // code. Without the options below, debuggers like VSCode
45
- // show incorrect code and set breakpoints on the wrong lines.
46
- sourceMaps: shouldUseSourceMap,
47
- inputSourceMap: shouldUseSourceMap,
48
- },
49
- });
50
-
51
- config.resolve.fallback = {
52
- "fs": false,
53
- "tls": false,
54
- "net": false,
55
- "https": false,
56
- // "http": require.resolve("stream-http"),
57
- // "zlib": require.resolve("browserify-zlib"),
58
- "path": require.resolve("path-browserify"),
59
- // "stream": require.resolve("stream-browserify"),
60
- // "util": require.resolve("util/"),
61
- // "crypto": require.resolve("crypto-browserify")
62
- "child_process": false,
63
- "os": false,
64
- "crypto": false
65
- }
66
- config.plugins = (config.plugins || []).concat([
67
- new webpack.NormalModuleReplacementPlugin(/node:/, (resource) =>
68
- {
69
- resource.request = resource.request.replace(/^node:/, "");
70
- })
71
- ]);
72
- return config;
1
+ const getCacheIdentifier = require('react-dev-utils/getCacheIdentifier');
2
+ const webpack = require('webpack');
3
+
4
+ const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
5
+
6
+ module.exports = function config_overrides(config, webpackEnv)
7
+ {
8
+ console.log('overriding webpack config...');
9
+ const isEnvDevelopment = webpackEnv === 'development';
10
+ const isEnvProduction = webpackEnv === 'production';
11
+ const loaders = config.module.rules[1].oneOf;
12
+
13
+ loaders.splice(loaders.length - 1, 0, {
14
+ test: /\.(js|mjs|cjs)$/,
15
+ exclude: /@babel(?:\/|\\{1,2})runtime/,
16
+ loader: require.resolve('babel-loader'),
17
+ options: {
18
+ babelrc: false,
19
+ configFile: false,
20
+ compact: false,
21
+ presets: [
22
+ [
23
+ require.resolve('babel-preset-react-app/dependencies'),
24
+ { helpers: true },
25
+ ],
26
+ ],
27
+ cacheDirectory: true,
28
+ // See #6846 for context on why cacheCompression is disabled
29
+ cacheCompression: false,
30
+ // @remove-on-eject-begin
31
+ cacheIdentifier: getCacheIdentifier(
32
+ isEnvProduction
33
+ ? 'production'
34
+ : isEnvDevelopment && 'development',
35
+ [
36
+ 'babel-plugin-named-asset-import',
37
+ 'babel-preset-react-app',
38
+ 'react-dev-utils',
39
+ 'react-scripts',
40
+ ]
41
+ ),
42
+ // @remove-on-eject-end
43
+ // Babel sourcemaps are needed for debugging into node_modules
44
+ // code. Without the options below, debuggers like VSCode
45
+ // show incorrect code and set breakpoints on the wrong lines.
46
+ sourceMaps: shouldUseSourceMap,
47
+ inputSourceMap: shouldUseSourceMap,
48
+ },
49
+ });
50
+
51
+ config.resolve.fallback = {
52
+ "fs": false,
53
+ "tls": false,
54
+ "net": false,
55
+ "https": false,
56
+ // "http": require.resolve("stream-http"),
57
+ // "zlib": require.resolve("browserify-zlib"),
58
+ "path": require.resolve("path-browserify"),
59
+ // "stream": require.resolve("stream-browserify"),
60
+ // "util": require.resolve("util/"),
61
+ // "crypto": require.resolve("crypto-browserify")
62
+ "child_process": false,
63
+ "os": false,
64
+ "crypto": false
65
+ }
66
+ config.plugins = (config.plugins || []).concat([
67
+ new webpack.NormalModuleReplacementPlugin(/node:/, (resource) =>
68
+ {
69
+ resource.request = resource.request.replace(/^node:/, "");
70
+ })
71
+ ]);
72
+ return config;
73
73
  };
@@ -1,5 +1,5 @@
1
1
  import { BaseMetaTable, FilterItem, SortItem } from "namirasoft-core";
2
- import { INSActionMenuProps, TableColumnInfo } from "namirasoft-site-react";
2
+ import { NSMenuActionProps, TableColumnInfo } from "namirasoft-site-react";
3
3
  export interface IEntityInfo<EntityType extends {
4
4
  id: string;
5
5
  }, EntityTypeInput = EntityType> {
@@ -31,7 +31,7 @@ export interface IEntityInfo<EntityType extends {
31
31
  onUpdate?: (id: string, entity: EntityTypeInput) => Promise<EntityType | null>;
32
32
  onSuccess?: (entity: EntityType) => void;
33
33
  getMenus?: (getIDs: () => string[], getRows: (() => EntityType[])) => {
34
- [group: string]: INSActionMenuProps[];
34
+ [group: string]: NSMenuActionProps[];
35
35
  };
36
36
  };
37
37
  }
@@ -1,92 +1,92 @@
1
- .ns_access_container {
2
- width: 302px;
3
- }
4
-
5
- .ns_access_container h6 {
6
- color: rgba(20, 27, 92, 1);
7
- text-align: left;
8
- font-weight: 300;
9
- font-size: 16px;
10
- cursor: pointer;
11
- }
12
-
13
- .ns_access_container h2 {
14
- color: rgba(3, 119, 255, 1);
15
- text-align: center;
16
- font-weight: 600;
17
- font-size: 16px;
18
- cursor: pointer;
19
- margin: 0;
20
- }
21
-
22
- .ns_access_container h4 {
23
- color: rgba(20, 27, 92, 1);
24
- font-weight: 600;
25
- font-size: 16px;
26
- text-align: left;
27
- cursor: pointer;
28
- margin: 0px;
29
- }
30
-
31
- .ns_access_content h6 {
32
- text-align: center;
33
- padding: 0;
34
- margin: 0;
35
- }
36
-
37
- .ns_access_container p {
38
- padding: 0;
39
- margin: 0;
40
- }
41
-
42
- .ns_access_account_container {
43
- display: flex;
44
- cursor: pointer;
45
- border: none;
46
- background-color: rgba(224, 226, 235, 1);
47
- border-radius: 8px;
48
- align-items: center;
49
- gap: 10px;
50
- max-width: 100%;
51
- }
52
-
53
- .ns_access_account_container:hover {
54
- background-color: rgba(178, 187, 217, 1);
55
- transition: all 0.3s ease-in-out;
56
- }
57
-
58
-
59
- .ns_access_account_container img {
60
- cursor: pointer;
61
- }
62
-
63
- .ns_access_account_info {
64
- display: flex;
65
- flex-direction: row;
66
- justify-content: left;
67
- align-items: flex-start;
68
- padding: 8px;
69
- }
70
-
71
- .nsa_close_icon {
72
- cursor: pointer;
73
- }
74
-
75
- .nsa_toast_background {
76
- width: 100vw;
77
- height: 100vh;
78
- background-color: #00000059;
79
- position: fixed;
80
- top: 0;
81
- left: 0;
82
- display: flex;
83
- justify-content: center;
84
- align-items: center;
85
- cursor: pointer;
86
- }
87
-
88
- .ns_line {
89
- border-left: none !important;
90
- border-right: none !important;
91
- width: 100% !important;
1
+ .ns_access_container {
2
+ width: 302px;
3
+ }
4
+
5
+ .ns_access_container h6 {
6
+ color: rgba(20, 27, 92, 1);
7
+ text-align: left;
8
+ font-weight: 300;
9
+ font-size: 16px;
10
+ cursor: pointer;
11
+ }
12
+
13
+ .ns_access_container h2 {
14
+ color: rgba(3, 119, 255, 1);
15
+ text-align: center;
16
+ font-weight: 600;
17
+ font-size: 16px;
18
+ cursor: pointer;
19
+ margin: 0;
20
+ }
21
+
22
+ .ns_access_container h4 {
23
+ color: rgba(20, 27, 92, 1);
24
+ font-weight: 600;
25
+ font-size: 16px;
26
+ text-align: left;
27
+ cursor: pointer;
28
+ margin: 0px;
29
+ }
30
+
31
+ .ns_access_content h6 {
32
+ text-align: center;
33
+ padding: 0;
34
+ margin: 0;
35
+ }
36
+
37
+ .ns_access_container p {
38
+ padding: 0;
39
+ margin: 0;
40
+ }
41
+
42
+ .ns_access_account_container {
43
+ display: flex;
44
+ cursor: pointer;
45
+ border: none;
46
+ background-color: rgba(224, 226, 235, 1);
47
+ border-radius: 8px;
48
+ align-items: center;
49
+ gap: 10px;
50
+ max-width: 100%;
51
+ }
52
+
53
+ .ns_access_account_container:hover {
54
+ background-color: rgba(178, 187, 217, 1);
55
+ transition: all 0.3s ease-in-out;
56
+ }
57
+
58
+
59
+ .ns_access_account_container img {
60
+ cursor: pointer;
61
+ }
62
+
63
+ .ns_access_account_info {
64
+ display: flex;
65
+ flex-direction: row;
66
+ justify-content: left;
67
+ align-items: flex-start;
68
+ padding: 8px;
69
+ }
70
+
71
+ .nsa_close_icon {
72
+ cursor: pointer;
73
+ }
74
+
75
+ .nsa_toast_background {
76
+ width: 100vw;
77
+ height: 100vh;
78
+ background-color: #00000059;
79
+ position: fixed;
80
+ top: 0;
81
+ left: 0;
82
+ display: flex;
83
+ justify-content: center;
84
+ align-items: center;
85
+ cursor: pointer;
86
+ }
87
+
88
+ .ns_line {
89
+ border-left: none !important;
90
+ border-right: none !important;
91
+ width: 100% !important;
92
92
  }
@@ -1,11 +1,11 @@
1
- .nsa_otp_input {
2
- border: none;
3
- background-color: transparent;
4
- border-bottom: 2px solid #141B5C;
5
- }
6
-
7
- .nsa_otp_input:focus {
8
- border: none;
9
- outline: none;
10
- border-bottom: 2px solid #141B5C;
1
+ .nsa_otp_input {
2
+ border: none;
3
+ background-color: transparent;
4
+ border-bottom: 2px solid #141B5C;
5
+ }
6
+
7
+ .nsa_otp_input:focus {
8
+ border: none;
9
+ outline: none;
10
+ border-bottom: 2px solid #141B5C;
11
11
  }
@@ -1,100 +1,100 @@
1
- .nsa_message_icon {
2
- cursor: pointer;
3
- }
4
-
5
- .nsa_message_title {
6
- color: hsla(212, 100%, 51%, 1)
7
- }
8
-
9
- .nsa_message_item {
10
- background-color: hsla(157, 94%, 42%, 0.1);
11
- padding: 8px 16px;
12
- cursor: pointer !important;
13
- margin: 8px 0;
14
- border-radius: 8px;
15
- }
16
-
17
- .nsa_message_item_title {
18
- color: hsla(234, 64%, 22%, 1);
19
- font-size: 16px;
20
- font-weight: 600;
21
- text-align: left;
22
- }
23
-
24
- .nsa_message_item_content {
25
- color: hsla(234, 64%, 22%, 1);
26
- margin: 0;
27
- text-align: left;
28
- overflow: hidden;
29
- text-overflow: ellipsis;
30
- white-space: nowrap;
31
- }
32
-
33
- .nsa_message_item_ul {
34
- display: flex;
35
- padding-left: 16px !important;
36
- margin-bottom: 0px;
37
- }
38
-
39
- .nsa_message_item_ul li::marker {
40
- color: hsla(157, 94%, 42%, 1);
41
- padding: 20px;
42
- }
43
-
44
- .nsa_message_item_dot_green {
45
- width: 8px;
46
- height: 8px;
47
- background: hsla(157, 94%, 42%, 1);
48
- border-radius: 50%;
49
- }
50
-
51
- .nsa_message_item_dot_gray {
52
- width: 8px;
53
- height: 8px;
54
- background: hsla(228, 9%, 66%, 1);
55
- border-radius: 50%;
56
- }
57
-
58
- .nsa_body_gray {
59
- background-color: #fff;
60
- padding: 16px;
61
- box-shadow: 0px 2px 5px #e6e6e6;
62
- cursor: pointer !important;
63
- }
64
-
65
- .nsa_count {
66
- position: absolute;
67
- background: rgba(3, 119, 255, 1);
68
- right: -5px;
69
- top: -5px;
70
- color: #fff;
71
- width: 18px;
72
- height: 18px;
73
- border-radius: 50%;
74
- display: flex;
75
- justify-content: center;
76
- align-items: center;
77
- }
78
-
79
- .nsa_parent_count {
80
- position: relative;
81
- width: max-content;
82
- }
83
-
84
- .nsa_toast_body {
85
- padding: 0 !important;
86
- height: 100%;
87
- max-width: 302px;
88
- overflow-y: auto;
89
- }
90
-
91
- .nsa_toast_header {
92
- padding: 2px !important;
93
- display: flex;
94
- justify-content: space-between !important;
95
- align-items: center;
96
- }
97
-
98
- .nsa_close_icon {
99
- cursor: pointer;
1
+ .nsa_message_icon {
2
+ cursor: pointer;
3
+ }
4
+
5
+ .nsa_message_title {
6
+ color: hsla(212, 100%, 51%, 1)
7
+ }
8
+
9
+ .nsa_message_item {
10
+ background-color: hsla(157, 94%, 42%, 0.1);
11
+ padding: 8px 16px;
12
+ cursor: pointer !important;
13
+ margin: 8px 0;
14
+ border-radius: 8px;
15
+ }
16
+
17
+ .nsa_message_item_title {
18
+ color: hsla(234, 64%, 22%, 1);
19
+ font-size: 16px;
20
+ font-weight: 600;
21
+ text-align: left;
22
+ }
23
+
24
+ .nsa_message_item_content {
25
+ color: hsla(234, 64%, 22%, 1);
26
+ margin: 0;
27
+ text-align: left;
28
+ overflow: hidden;
29
+ text-overflow: ellipsis;
30
+ white-space: nowrap;
31
+ }
32
+
33
+ .nsa_message_item_ul {
34
+ display: flex;
35
+ padding-left: 16px !important;
36
+ margin-bottom: 0px;
37
+ }
38
+
39
+ .nsa_message_item_ul li::marker {
40
+ color: hsla(157, 94%, 42%, 1);
41
+ padding: 20px;
42
+ }
43
+
44
+ .nsa_message_item_dot_green {
45
+ width: 8px;
46
+ height: 8px;
47
+ background: hsla(157, 94%, 42%, 1);
48
+ border-radius: 50%;
49
+ }
50
+
51
+ .nsa_message_item_dot_gray {
52
+ width: 8px;
53
+ height: 8px;
54
+ background: hsla(228, 9%, 66%, 1);
55
+ border-radius: 50%;
56
+ }
57
+
58
+ .nsa_body_gray {
59
+ background-color: #fff;
60
+ padding: 16px;
61
+ box-shadow: 0px 2px 5px #e6e6e6;
62
+ cursor: pointer !important;
63
+ }
64
+
65
+ .nsa_count {
66
+ position: absolute;
67
+ background: rgba(3, 119, 255, 1);
68
+ right: -5px;
69
+ top: -5px;
70
+ color: #fff;
71
+ width: 18px;
72
+ height: 18px;
73
+ border-radius: 50%;
74
+ display: flex;
75
+ justify-content: center;
76
+ align-items: center;
77
+ }
78
+
79
+ .nsa_parent_count {
80
+ position: relative;
81
+ width: max-content;
82
+ }
83
+
84
+ .nsa_toast_body {
85
+ padding: 0 !important;
86
+ height: 100%;
87
+ max-width: 302px;
88
+ overflow-y: auto;
89
+ }
90
+
91
+ .nsa_toast_header {
92
+ padding: 2px !important;
93
+ display: flex;
94
+ justify-content: space-between !important;
95
+ align-items: center;
96
+ }
97
+
98
+ .nsa_close_icon {
99
+ cursor: pointer;
100
100
  }
@@ -1,45 +1,45 @@
1
- .nsa_product_list_container {
2
- display: grid;
3
- flex-direction: row;
4
- grid-template-columns: repeat(3, 1fr);
5
- align-items: flex-start;
6
- justify-content: center;
7
- width: 100%;
8
- height: 400px;
9
- overflow: auto;
10
- margin-top: 16px;
11
- }
12
-
13
- .nsa_product_list_container::-webkit-scrollbar {
14
- width: 1rem;
15
- }
16
-
17
- .nsa_product_list_container::-webkit-scrollbar-track {
18
- box-shadow: inset 0 0 6px #E8EBF6;
19
- }
20
-
21
- .nsa_product_list_container::-webkit-scrollbar-thumb {
22
- background-color: #A1A4B0;
23
- border-radius: 8px;
24
- }
25
-
26
- .nsa_product_list {
27
- display: flex;
28
- flex-direction: column;
29
- justify-content: center;
30
- align-items: center;
31
- text-align: center;
32
- margin-top: 24px;
33
- gap: 8px;
34
- }
35
- .nsa_product_list a{
36
- text-decoration: none;
37
- color: rgba(20, 27, 92, 1);
38
- }
39
-
40
- .nsa_product_logo {
41
- display: flex;
42
- flex-direction: column;
43
- justify-content: center;
44
- align-items: center;
1
+ .nsa_product_list_container {
2
+ display: grid;
3
+ flex-direction: row;
4
+ grid-template-columns: repeat(3, 1fr);
5
+ align-items: flex-start;
6
+ justify-content: center;
7
+ width: 100%;
8
+ height: 400px;
9
+ overflow: auto;
10
+ margin-top: 16px;
11
+ }
12
+
13
+ .nsa_product_list_container::-webkit-scrollbar {
14
+ width: 1rem;
15
+ }
16
+
17
+ .nsa_product_list_container::-webkit-scrollbar-track {
18
+ box-shadow: inset 0 0 6px #E8EBF6;
19
+ }
20
+
21
+ .nsa_product_list_container::-webkit-scrollbar-thumb {
22
+ background-color: #A1A4B0;
23
+ border-radius: 8px;
24
+ }
25
+
26
+ .nsa_product_list {
27
+ display: flex;
28
+ flex-direction: column;
29
+ justify-content: center;
30
+ align-items: center;
31
+ text-align: center;
32
+ margin-top: 24px;
33
+ gap: 8px;
34
+ }
35
+ .nsa_product_list a{
36
+ text-decoration: none;
37
+ color: rgba(20, 27, 92, 1);
38
+ }
39
+
40
+ .nsa_product_logo {
41
+ display: flex;
42
+ flex-direction: column;
43
+ justify-content: center;
44
+ align-items: center;
45
45
  }