@visns-studio/visns-components 6.0.4 → 6.1.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.
- package/package.json +1 -1
- package/src/components/DataGrid.jsx +37 -12
- package/src/components/Navigation.jsx +59 -3
- package/src/components/auth/Login.jsx +203 -175
- package/src/components/columns/ColumnRenderers.jsx +34 -0
- package/src/components/generic/GenericDashboard.jsx +181 -1
- package/src/components/generic/GenericFormBuilder.jsx +735 -37
- package/src/components/generic/GenericIndex.jsx +15 -5
- package/src/components/generic/OutstandingRuleEditor.jsx +313 -0
- package/src/components/styles/DataGrid.module.scss +38 -22
- package/src/components/styles/Form.module.scss +32 -33
- package/src/components/styles/GenericDashboard.module.scss +155 -0
- package/src/components/styles/GenericDetail.module.scss +28 -30
- package/src/components/styles/GenericDynamic.module.scss +7 -21
- package/src/components/styles/GenericEditableTable.module.scss +5 -22
- package/src/components/styles/GenericFormBuilder.module.scss +605 -30
- package/src/components/styles/GenericIndex.module.scss +17 -32
- package/src/components/styles/GenericMain.module.scss +18 -6
- package/src/components/styles/GenericQuote.module.scss +7 -22
- package/src/components/styles/GenericReport.module.scss +5 -37
- package/src/components/styles/Login.module.scss +415 -239
- package/src/components/styles/Navigation.module.scss +124 -35
- package/src/components/styles/Profile.module.scss +5 -26
- package/src/components/styles/QuickAction.module.scss +34 -29
- package/src/components/styles/_controls.scss +139 -0
- package/src/components/styles/global.css +54 -15
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
@use 'controls' as *;
|
|
2
|
+
|
|
3
|
+
.btn {
|
|
4
|
+
@include button-primary;
|
|
5
|
+
}
|
|
1
6
|
.grid__row {
|
|
2
7
|
width: 100%;
|
|
3
8
|
display: flex;
|
|
@@ -196,36 +201,11 @@
|
|
|
196
201
|
margin: 0 0 30px 0;
|
|
197
202
|
}
|
|
198
203
|
|
|
199
|
-
.btn {
|
|
200
|
-
width: max-content;
|
|
201
|
-
display: inline-block;
|
|
202
|
-
position: relative;
|
|
203
|
-
padding: 0.65rem 1rem;
|
|
204
|
-
cursor: pointer;
|
|
205
|
-
font-size: 1rem;
|
|
206
|
-
color: var(--tertiary-color);
|
|
207
|
-
text-decoration: none;
|
|
208
|
-
overflow: hidden;
|
|
209
|
-
background: var(--primary-color);
|
|
210
|
-
border: 1px solid rgba(var(--primary-color--rgb), 1.1);
|
|
211
|
-
border-radius: var(--br);
|
|
212
|
-
outline: none;
|
|
213
|
-
transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
|
|
214
|
-
}
|
|
215
204
|
|
|
216
|
-
.btn:hover:not(:disabled) {
|
|
217
|
-
color: var(--primary-color);
|
|
218
|
-
background: var(--highlight-color);
|
|
219
|
-
border: 1px solid rgba(var(--highlight-color-rgb), 1.05);
|
|
220
|
-
}
|
|
221
205
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
background: var(--primary-color);
|
|
226
|
-
color: var(--tertiary-color);
|
|
227
|
-
border: 1px solid rgba(var(--primary-color--rgb), 0.5);
|
|
228
|
-
}
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
229
209
|
|
|
230
210
|
.polActions {
|
|
231
211
|
position: fixed;
|
|
@@ -743,11 +723,16 @@
|
|
|
743
723
|
|
|
744
724
|
.crmtitle {
|
|
745
725
|
min-height: auto;
|
|
746
|
-
|
|
726
|
+
/* Was a flat 1rem inside a tinted-navy border, which made the page title
|
|
727
|
+
look like another card competing with the grid below it. A page header
|
|
728
|
+
is not a card: no border, no fill, just the title and its count sitting
|
|
729
|
+
on the page. */
|
|
730
|
+
padding: 0 0 var(--spacing-md);
|
|
747
731
|
margin: 0;
|
|
748
|
-
background:
|
|
749
|
-
border-radius:
|
|
750
|
-
border:
|
|
732
|
+
background: none;
|
|
733
|
+
border-radius: 0;
|
|
734
|
+
border: none;
|
|
735
|
+
border-bottom: 1px solid var(--border-color);
|
|
751
736
|
position: relative;
|
|
752
737
|
display: flex;
|
|
753
738
|
align-items: center;
|
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
top: 0;
|
|
6
6
|
width: 100%;
|
|
7
7
|
z-index: 995;
|
|
8
|
-
|
|
8
|
+
/* Was 0.35rem — too tight to read as a deliberate bar. Enough room that
|
|
9
|
+
the nav sits in it rather than being crushed by it. */
|
|
10
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
11
|
+
/* Separates the bar from the page when content scrolls under it. */
|
|
12
|
+
box-shadow: var(--shadow-sm);
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
.headerAlternate {
|
|
@@ -82,10 +86,18 @@
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
/* Content gutter. A single flat 1rem before, which on a wide monitor left
|
|
90
|
+
tables running the full width of the glass with no margin to rest against,
|
|
91
|
+
and on a phone gave the same gutter as a desktop. */
|
|
92
|
+
.padding,
|
|
89
93
|
.paddingSimple {
|
|
90
|
-
padding:
|
|
94
|
+
padding: var(--spacing-lg) clamp(var(--spacing-md), 3vw, var(--spacing-xl));
|
|
95
|
+
/* Long lines of data are hard to track across an ultrawide screen. This
|
|
96
|
+
is generous enough never to bite on a laptop. */
|
|
97
|
+
max-width: 2200px;
|
|
98
|
+
margin: 0 auto;
|
|
99
|
+
|
|
100
|
+
@media (max-width: 960px) {
|
|
101
|
+
padding: var(--spacing-md) var(--spacing-md);
|
|
102
|
+
}
|
|
91
103
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
@use 'controls' as *;
|
|
2
|
+
|
|
3
|
+
.btn {
|
|
4
|
+
@include button-primary;
|
|
5
|
+
}
|
|
1
6
|
/* Proposal System Styles (backward compatible) */
|
|
2
7
|
.proposalControls {
|
|
3
8
|
background: #f8f9fa;
|
|
@@ -680,29 +685,9 @@
|
|
|
680
685
|
border: 1px solid var(--secondary-color);
|
|
681
686
|
}
|
|
682
687
|
|
|
683
|
-
.btn {
|
|
684
|
-
width: max-content;
|
|
685
|
-
display: inline-block;
|
|
686
|
-
position: relative;
|
|
687
|
-
padding: 0.65rem 1rem;
|
|
688
|
-
cursor: pointer;
|
|
689
|
-
font-size: 1rem;
|
|
690
|
-
color: var(--tertiary-color);
|
|
691
|
-
text-decoration: none;
|
|
692
|
-
overflow: hidden;
|
|
693
|
-
background: var(--primary-color);
|
|
694
|
-
border: 1px solid rgba(var(--primary-color--rgb), 1.1);
|
|
695
|
-
border-radius: var(--br);
|
|
696
|
-
outline: none;
|
|
697
|
-
transition: all 0.2s cubic-bezier(0.85, 0, 0.15, 1) 0s;
|
|
698
|
-
font-size: 1.25em;
|
|
699
|
-
}
|
|
700
688
|
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
background: var(--highlight-color);
|
|
704
|
-
border: 1px solid rgba(var(--highlight-rgb), 1.05);
|
|
705
|
-
}
|
|
689
|
+
|
|
690
|
+
|
|
706
691
|
|
|
707
692
|
.crmtitle {
|
|
708
693
|
min-height: auto;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
@use 'controls' as *;
|
|
2
|
+
|
|
3
|
+
.btn {
|
|
4
|
+
@include button-primary;
|
|
5
|
+
}
|
|
1
6
|
// Use project root CSS variables instead of local SCSS variables
|
|
2
7
|
// This allows the component to adapt to different project themes
|
|
3
8
|
|
|
@@ -2140,44 +2145,7 @@
|
|
|
2140
2145
|
}
|
|
2141
2146
|
|
|
2142
2147
|
// Buttons
|
|
2143
|
-
.btn {
|
|
2144
|
-
display: inline-flex;
|
|
2145
|
-
align-items: center;
|
|
2146
|
-
justify-content: center;
|
|
2147
|
-
gap: 8px;
|
|
2148
|
-
padding: 12px calc(var(--padding) * 1.5);
|
|
2149
|
-
border: none;
|
|
2150
|
-
border-radius: var(--radius);
|
|
2151
|
-
font-size: 0.875rem;
|
|
2152
|
-
font-weight: 600;
|
|
2153
|
-
cursor: pointer;
|
|
2154
|
-
transition: all 0.2s ease;
|
|
2155
|
-
text-decoration: none;
|
|
2156
|
-
min-height: 44px;
|
|
2157
|
-
position: relative;
|
|
2158
|
-
overflow: hidden;
|
|
2159
2148
|
|
|
2160
|
-
&:disabled {
|
|
2161
|
-
opacity: 0.5;
|
|
2162
|
-
cursor: not-allowed;
|
|
2163
|
-
transform: none !important;
|
|
2164
|
-
}
|
|
2165
|
-
|
|
2166
|
-
&:focus {
|
|
2167
|
-
outline: 2px solid rgba(var(--primary-rgb), 0.3);
|
|
2168
|
-
outline-offset: 2px;
|
|
2169
|
-
}
|
|
2170
|
-
|
|
2171
|
-
&:active:not(:disabled) {
|
|
2172
|
-
transform: translateY(1px);
|
|
2173
|
-
}
|
|
2174
|
-
|
|
2175
|
-
svg {
|
|
2176
|
-
width: 16px;
|
|
2177
|
-
height: 16px;
|
|
2178
|
-
flex-shrink: 0;
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
2149
|
|
|
2182
2150
|
.btnPrimary {
|
|
2183
2151
|
background-color: var(--primary-color);
|