@steroidsjs/bootstrap 3.0.0-beta.55 → 3.0.0-beta.57

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,2 +1,2 @@
1
- import { IAccordionCommonViewProps } from '@steroidsjs/core/ui/content/Accordion/Accordion';
2
- export default function AccordionItemView(props: IAccordionCommonViewProps): JSX.Element;
1
+ import { IAccordionItemViewProps } from '@steroidsjs/core/ui/content/Accordion/Accordion';
2
+ export default function AccordionItemView(props: IAccordionItemViewProps): JSX.Element;
@@ -1,2 +1,2 @@
1
- import { IAccordionCommonViewProps } from '@steroidsjs/core/ui/content/Accordion/Accordion';
2
- export default function AccordionView(props: IAccordionCommonViewProps): JSX.Element;
1
+ import { IAccordionViewProps } from '@steroidsjs/core/ui/content/Accordion/Accordion';
2
+ export default function AccordionView(props: IAccordionViewProps): JSX.Element;
@@ -46,7 +46,7 @@ var CaptionElement_1 = __importDefault(require("./CaptionElement"));
46
46
  function CalendarView(props) {
47
47
  var bem = (0, hooks_1.useBem)('CalendarView');
48
48
  var month = props.month, toYear = props.toYear, fromYear = props.fromYear, showFooter = props.showFooter, onDaySelect = props.onDaySelect, selectedDates = props.selectedDates, onMonthSelect = props.onMonthSelect, numberOfMonths = props.numberOfMonths, toggleCaptionPanel = props.toggleCaptionPanel, isCaptionPanelVisible = props.isCaptionPanelVisible;
49
- var isRange = !!selectedDates[1];
49
+ var isRange = !!selectedDates[0] && !!selectedDates[1];
50
50
  var _a = (0, react_1.useMemo)(function () {
51
51
  var from = selectedDates[0];
52
52
  var to = selectedDates[1];
@@ -11,6 +11,19 @@ html[data-theme="dark"] {
11
11
  $day-background-color-hover: var(--day-background-color-hover);
12
12
  $calendar-border-color: var(--calendar-border-color);
13
13
 
14
+ @mixin calendar-button () {
15
+ padding: 5px 12.5px;
16
+ border-radius: $radius-small;
17
+ border: 1px solid $gray;
18
+ background-color: transparent;
19
+ background-image: none;
20
+ box-shadow: none;
21
+ cursor: pointer;
22
+ color: $text-color;
23
+ font-size: $font-size-sm;
24
+ line-height: $line-height-lg;
25
+ }
26
+
14
27
  .CalendarView {
15
28
  $root: &;
16
29
  position: relative;
@@ -106,8 +119,37 @@ $calendar-border-color: var(--calendar-border-color);
106
119
  z-index: 1;
107
120
  }
108
121
 
122
+ &::after {
123
+ position: absolute;
124
+ content: "";
125
+ display: block;
126
+ width: 100%;
127
+ height: 100%;
128
+ top: 0;
129
+ left: 0;
130
+ right: 0;
131
+ bottom: 0;
132
+ border-width: 4px;
133
+ border-style: solid;
134
+ border-radius: 16px;
135
+ border-color: $day-background-color-hover;
136
+ transform: translate(-4px, -4px);
137
+ opacity: 0;
138
+ transition: opacity 150ms ease-in-out;
139
+ z-index: 9;
140
+ }
141
+
142
+ &:focus {
143
+ outline: none;
144
+ }
145
+
146
+ &:focus:not(:active)::after {
147
+ opacity: 1;
148
+ }
149
+
109
150
  &--outside {
110
151
  color: $placeholder-color;
152
+
111
153
  }
112
154
 
113
155
  &--today {
@@ -133,16 +175,7 @@ $calendar-border-color: var(--calendar-border-color);
133
175
  }
134
176
 
135
177
  .DayPicker-TodayButton {
136
- padding: 5px 12.5px;
137
- border-radius: $radius-small;
138
- border: 1px solid $gray;
139
- background-color: transparent;
140
- background-image: none;
141
- box-shadow: none;
142
- cursor: pointer;
143
- color: $text-color;
144
- font-size: $font-size-sm;
145
- line-height: $line-height-lg;
178
+ @include calendar-button();
146
179
  }
147
180
 
148
181
  // Days selection
@@ -167,7 +200,7 @@ $calendar-border-color: var(--calendar-border-color);
167
200
  background-color: transparent;
168
201
 
169
202
  .CalendarView__day {
170
- color: $text-color;
203
+ transition: background-color 150ms ease-in-out;
171
204
  }
172
205
  }
173
206
 
@@ -189,14 +222,14 @@ $calendar-border-color: var(--calendar-border-color);
189
222
  color: $white;
190
223
 
191
224
  #{$root}__day {
192
- background-color: $calendar-primary-color;
193
- box-shadow: $calendar-selected-shadow;
225
+ background-color: $primary;
194
226
  }
195
227
 
196
228
  &::before {
197
- background-color: $calendar-primary-light-color;
198
- width: 10px;
199
- transform: translate(25px, -50%);
229
+ width: 50px;
230
+ height: 42px;
231
+ background-color: $primary-light;
232
+ border-radius: 16px 0px 0px 16px;
200
233
  }
201
234
  }
202
235
 
@@ -205,21 +238,34 @@ $calendar-border-color: var(--calendar-border-color);
205
238
 
206
239
  #{$root}__day {
207
240
  background-color: $calendar-primary-color;
208
- box-shadow: $calendar-selected-shadow;
209
241
  }
210
242
 
211
243
  &::before {
212
- background-color: $calendar-primary-light-color;
213
- width: 10px;
244
+ width: 46px;
245
+ height: 42px;
246
+ background-color: $primary-light;
247
+ border-radius: 0px 16px 16px 0px;
214
248
  }
215
249
  }
216
250
 
217
251
  &--inRange {
218
252
  &::before {
219
- background-color: $calendar-primary-light-color;
253
+ background-color: $primary-light;
254
+ width: 50px;
255
+ height: 42px;
220
256
  }
221
257
  }
222
258
 
259
+ //Today in range
260
+ &--inRange.DayPicker-Day--selected.DayPicker-Day--today .CalendarView__day {
261
+ color: $primary;
262
+ }
263
+
264
+ &--inRange:hover .CalendarView__day {
265
+ transition: background-color 150ms ease-in-out;
266
+ background-color: $day-background-color-hover;
267
+ }
268
+
223
269
  &--outRange {
224
270
  pointer-events: none;
225
271
  &::before {
@@ -1,17 +1,25 @@
1
1
  :root {
2
2
  --caption-arrow-background-color: #f1f5f7;
3
3
  --caption-arrow-color: #323232;
4
+ --caption-header-month-background-color: #f1f5f7;
5
+ --separator-background-color: rgba(0, 0, 0, 0.1);
4
6
  }
5
7
 
6
8
  html[data-theme="dark"] {
7
9
  --caption-arrow-background-color: #323232;
8
10
  --caption-arrow-color: #ffffff;
11
+ --caption-header-month-background-color: #333646;
12
+ --separator-background-color: rgba(255, 255, 255, 0.1);
9
13
  }
10
14
 
11
15
  $caption-arrow-background-color: var(--caption-arrow-background-color);
12
16
  $caption-arrow-color: var(--caption-arrow-color);
17
+ $caption-header-month-background-color: var(--caption-header-month-background-color);
18
+ $separator-background-color: var(--separator-background-color);
13
19
 
14
20
  .CaptionElement {
21
+ $root: &;
22
+
15
23
  height: 24px;
16
24
  width: 100%;
17
25
  display: flex;
@@ -24,7 +32,6 @@ $caption-arrow-color: var(--caption-arrow-color);
24
32
  display: flex;
25
33
  align-items: center;
26
34
 
27
-
28
35
  &-icons {
29
36
  display: flex;
30
37
  flex-flow: row nowrap;
@@ -79,7 +86,8 @@ $caption-arrow-color: var(--caption-arrow-color);
79
86
 
80
87
  // Panel changing Month/Year
81
88
  &__panel {
82
- border-radius: $radius-large;
89
+ width: 100%;
90
+ height: 100%;
83
91
  overflow: hidden;
84
92
  z-index: 10;
85
93
  position: absolute;
@@ -89,6 +97,7 @@ $caption-arrow-color: var(--caption-arrow-color);
89
97
  bottom: 50px;
90
98
  background-color: $element-background-color;
91
99
  margin-bottom: 12px;
100
+ max-height: 294px;
92
101
 
93
102
  display: grid;
94
103
  grid-template-columns: 1fr 1fr 1fr;
@@ -107,41 +116,65 @@ $caption-arrow-color: var(--caption-arrow-color);
107
116
  padding: 5px;
108
117
 
109
118
  text-align: center;
110
- border-bottom: 1px solid gray;
111
- background-color: $primary-light;
119
+ background-color: $caption-header-month-background-color;
120
+ font-weight: $font-weight-lg;
112
121
 
113
122
  &_months {
123
+ position: relative;
114
124
  grid-area: HeaderMonths;
115
- border-right: 1px solid gray;
125
+ border-radius: 8px 0px 0px 8px;
126
+
127
+ //Separator
128
+ &::before {
129
+ display: block;
130
+ content: "";
131
+ position: absolute;
132
+ width: 1px;
133
+ height: 20px;
134
+ top: 50%;
135
+ right: 0;
136
+ background-color: $separator-background-color;
137
+ transform: translateY(-50%);
138
+ }
116
139
  }
117
140
 
118
141
  &_years {
119
142
  grid-area: HeaderYears;
143
+ border-radius: 0px 8px 8px 0px;
120
144
  }
121
145
  }
122
146
 
123
- &__panel-column-months {
124
- border-right: 1px solid gray;
147
+ &__panel-column {
148
+ &-months {
149
+ border-right: 1px solid $separator-background-color;
125
150
 
126
- &_first {
127
- grid-area: Months1stCol;
128
- }
151
+ &_first {
152
+ grid-area: Months1stCol;
153
+ }
129
154
 
130
- &_second {
131
- grid-area: Months2ndCol;
155
+ &_second {
156
+ grid-area: Months2ndCol;
157
+ }
132
158
  }
133
- }
134
159
 
135
- &__panel-column-years {
136
- grid-area: YearsCol;
137
- @include scrollWrapper(278px, 0, $scroll-thumb-color, $scroll-track-color);
160
+ &-years {
161
+ grid-area: YearsCol;
162
+ @include scrollWrapper(294px, 0, $scroll-thumb-color, $scroll-track-color);
163
+ }
138
164
  }
139
165
 
140
166
  &__panel-cell {
167
+ &:first-child{
168
+ margin-top: 10px;
169
+ }
170
+ display: block;
171
+ width: fit-content;
141
172
  background-color: $element-background-color;
142
- padding: 5px 15px;
173
+ padding: 4px 8px;
143
174
  cursor: pointer;
144
175
  transition: background-color 0.1s ease-in;
176
+ margin: 0 auto;
177
+ border-radius: $radius-large;
145
178
 
146
179
  &_selected {
147
180
  background-color: $primary-light;
@@ -150,5 +183,9 @@ $caption-arrow-color: var(--caption-arrow-color);
150
183
  &:hover {
151
184
  background-color: $primary-light;
152
185
  }
186
+
187
+ #{$root}__cell-value {
188
+ text-align: center;
189
+ }
153
190
  }
154
191
  }
@@ -0,0 +1,3 @@
1
+ import { ICopyToClipboardViewProps } from '@steroidsjs/core/ui/content/CopyToClipboard/CopyToClipboard';
2
+ declare function CopyToClipboardView(props: ICopyToClipboardViewProps): JSX.Element;
3
+ export default CopyToClipboardView;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var react_1 = __importDefault(require("react"));
7
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ var renderIcon_1 = __importDefault(require("../../utils/renderIcon"));
9
+ function CopyToClipboardView(props) {
10
+ var bem = (0, useBem_1["default"])('CopyToClipboardView');
11
+ return (react_1["default"].createElement("div", { className: bem(bem.block({
12
+ disabled: props.disabled
13
+ })), onClick: props.onClick },
14
+ props.children,
15
+ props.showCopyIcon && (0, renderIcon_1["default"])(props.icon || 'copy', {
16
+ className: bem.element('icon')
17
+ })));
18
+ }
19
+ exports["default"] = CopyToClipboardView;
@@ -0,0 +1,41 @@
1
+ :root {
2
+ --copy-icon-stroke: #323232;
3
+ --copy-disabled-stroke: rgba(0, 0, 0, 0.1);
4
+ }
5
+
6
+ html[data-theme="dark"] {
7
+ --copy-icon-stroke: #FFFFFF;
8
+ --copy-disabled-stroke: rgba(255, 255, 255, 0.1);
9
+ }
10
+
11
+ $copy-icon-stroke: var(--copy-icon-stroke);
12
+ $copy-disabled-stroke: var(--copy-disabled-stroke);
13
+
14
+ .CopyToClipboardView {
15
+ display: inline-block;
16
+ cursor: pointer;
17
+
18
+ .IconView {
19
+ width: 24px;
20
+ height: 24px;
21
+ }
22
+
23
+ svg {
24
+ width: 100%;
25
+ height: 100%;
26
+
27
+ path {
28
+ stroke: $copy-icon-stroke;
29
+ }
30
+ }
31
+
32
+ &_disabled {
33
+ cursor: not-allowed;
34
+
35
+ svg {
36
+ path {
37
+ stroke: $copy-disabled-stroke;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -1,2 +1,2 @@
1
- import { IMenuItemProps } from '@steroidsjs/core/ui/content/Menu/Menu';
2
- export default function MenuItemView(props: IMenuItemProps): JSX.Element;
1
+ import { IMenuItem } from '@steroidsjs/core/ui/content/Menu/Menu';
2
+ export default function MenuItemView(props: IMenuItem): JSX.Element;
@@ -50,11 +50,12 @@ function DateFieldView(props) {
50
50
  React.createElement("div", { className: bem(bem.block({
51
51
  size: props.size,
52
52
  disabled: props.disabled,
53
- 'has-icon': !!props.icon,
54
53
  'is-invalid': !!props.errors
55
54
  }), props.className), style: props.style },
56
55
  React.createElement("div", { className: bem.element('body') },
57
- React.createElement("input", __assign({}, props.inputProps, { onChange: function (e) { return props.inputProps.onChange(e.target.value); }, className: bem(bem.element('input'), props.inputProps.className) })),
56
+ React.createElement("input", __assign({}, props.inputProps, { onChange: function (e) {
57
+ var value = props.inputProps.onChange(e.target.value);
58
+ }, className: bem(bem.element('input'), props.inputProps.className) })),
58
59
  React.createElement("div", { className: bem.element('icon-container') },
59
60
  !props.inputProps.value && props.icon && (React.createElement(Icon_1["default"], { className: bem.element('date-icon'), name: typeof props.icon === 'string' ? props.icon : 'calendar_range', tabIndex: -1 })),
60
61
  props.showRemove && props.inputProps.value && (React.createElement(Icon_1["default"], { className: bem.element('close-icon'), onClick: function (e) {
@@ -1,165 +1,14 @@
1
- :root {
2
- --date-icon-default-color: #cbd5db;
3
- --date-icon-close-default-color: #323232;
4
- --date-icon-disabled-color: rgba(0, 0, 0, 0.1);
5
- }
6
-
7
- html[data-theme="dark"] {
8
- --date-icon-default-color: #5b5c6b;
9
- --date-icon-close-default-color: #ffffff;
10
- --date-icon-disabled-color: rgba(255, 255, 255, 0.1);
11
- }
12
-
13
- $date-icon-default-color: var(--date-icon-default-color);
14
- $date-icon-close-default-color: var(--date-icon-close-default-color);
15
- $date-icon-disabled-color: var(--date-icon-disabled-color);
16
-
17
1
  .DateFieldView {
18
2
  $root: &;
19
3
  position: relative;
20
4
 
21
- &__input {
22
- position: relative;
23
- width: 100%;
24
- border: 1px solid $border-color;
25
- color: $text-color;
26
- font-size: inherit;
27
- line-height: $line-height-lg;
28
- background-color: $element-background-color;
29
-
30
- &:active {
31
- border-color: $primary;
32
- }
33
-
34
- &::placeholder {
35
- color: $placeholder-color;
36
- }
37
-
38
- &:disabled {
39
- border: none;
40
- background-color: $background-disabled-color;
41
- }
42
- }
43
-
44
- &__body {
45
- position: relative;
46
-
47
- &::before {
48
- position: absolute;
49
- display: block;
50
- width: 100%;
51
- height: 100%;
52
- content: "";
53
- top: 0;
54
- left: 0;
55
- border: 4px solid $primary-light;
56
- transform: translate(-4px, -4px);
57
- opacity: 0;
58
- transition: opacity 150ms ease-in-out;
59
- }
60
- }
61
-
62
- &:focus-within:not(:active) {
63
- #{$root}__body {
64
- &::before {
65
- opacity: 1;
66
- }
67
- }
68
-
69
- #{$root}__input {
70
- border-color: transparent;
71
- }
72
- }
73
-
74
- &__icon-container {
75
- position: absolute;
76
- top: 50%;
77
- right: 8px;
78
- transform: translateY(-50%);
79
- width: 24px;
80
- height: 24px;
81
-
82
- > * {
83
- display: inline-flex;
84
- flex-flow: row nowrap;
85
- width: 100%;
86
- height: 100%;
87
- justify-content: center;
88
- align-items: center;
89
- }
90
-
91
- #{$root}__date-icon {
92
- path,
93
- circle {
94
- stroke: $date-icon-default-color;
95
- }
96
- }
97
-
98
- #{$root}__close-icon {
99
- cursor: pointer;
100
- path,
101
- circle {
102
- stroke: $date-icon-close-default-color;
103
- }
104
- }
105
- }
106
-
107
- &_size {
108
- &_lg {
109
- #{$root}__input {
110
- border-radius: $radius-large;
111
- padding: 16px 8px;
112
- padding-right: 40px;
113
- }
114
-
115
- #{$root}__body::before {
116
- border-radius: calc($radius-large + 4px);
117
- }
118
-
119
- font-size: $line-height-sm;
120
- }
121
-
122
- &_md {
123
- #{$root}__input {
124
- border-radius: $radius-large;
125
- padding: 11px 8px;
126
- padding-right: 40px;
127
- }
128
-
129
- #{$root}__body::before {
130
- border-radius: calc($radius-large + 4px);
131
- }
132
-
133
- font-size: $font-size-base;
134
- }
135
-
136
- &_sm {
137
- #{$root}__input {
138
- border-radius: $radius-small;
139
- padding: 5px 8px;
140
- padding-right: 40px;
141
- }
5
+ @include date-default-input();
142
6
 
143
- font-size: $font-size-sm;
7
+ @include date-default-body();
144
8
 
145
- #{$root}__body::before {
146
- border-radius: calc($radius-small + 4px);
147
- }
148
- }
149
- }
9
+ @include icon-container($root);
150
10
 
151
- &_disabled {
152
- #{$root}__date-icon {
153
- path,
154
- circle {
155
- stroke: $date-icon-disabled-color;
156
- }
157
- }
158
- }
11
+ @include date-default-sizes($root);
159
12
 
160
- &_is-invalid {
161
- #{$root}__input {
162
- border-color: $danger;
163
- }
164
- }
13
+ @include date-default-effects($root);
165
14
  }
@@ -43,28 +43,25 @@ var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
44
44
  var DropDown_1 = __importDefault(require("@steroidsjs/core/ui/content/DropDown"));
45
45
  var Calendar_1 = __importDefault(require("@steroidsjs/core/ui/content/Calendar"));
46
- var isString_1 = __importDefault(require("lodash-es/isString"));
47
46
  function DateRangeFieldView(props) {
48
47
  var bem = (0, hooks_1.useBem)('DateRangeFieldView');
48
+ var hasValue = props.inputPropsFrom.value || props.inputPropsTo.value;
49
49
  var renderCalendar = (0, react_1.useCallback)(function () { return (React.createElement(Calendar_1["default"], __assign({}, props.calendarProps))); }, [props.calendarProps]);
50
- return (React.createElement(DropDown_1["default"], { content: renderCalendar, position: 'bottomLeft', visible: props.isOpened, onClose: props.onClose },
50
+ return (React.createElement(DropDown_1["default"], { content: renderCalendar, position: 'bottomLeft', visible: props.isOpened, onClose: props.onClose, className: bem.element('split') },
51
51
  React.createElement("div", { className: bem(bem.block({
52
52
  disabled: props.disabled,
53
- 'no-border': props.noBorder
53
+ size: props.size,
54
+ 'is-invalid': !!props.errors
54
55
  }), props.className), style: props.style },
55
56
  React.createElement("div", { className: bem.element('body') },
56
- React.createElement("input", __assign({}, props.inputPropsFrom, { className: bem(bem.element('input', {
57
- size: props.size
58
- }), !!props.errorsFrom && 'is-invalid'), onChange: function (e) { return props.inputPropsFrom.onChange(e.target.value); } })),
59
- React.createElement("span", { className: bem.element('divider') }, "-"),
60
- React.createElement("input", __assign({}, props.inputPropsTo, { className: bem(bem.element('input', {
61
- size: props.size
62
- }), !!props.errorsTo && 'is-invalid'), onChange: function (e) { return props.inputPropsTo.onChange(e.target.value); } })),
57
+ React.createElement("input", __assign({}, props.inputPropsFrom, { className: bem(bem.element('input', {})), onChange: function (e) { return props.inputPropsFrom.onChange(e.target.value); } })),
58
+ React.createElement("input", __assign({}, props.inputPropsTo, { className: bem.element('input'), onChange: function (e) { return props.inputPropsTo.onChange(e.target.value); } })),
63
59
  React.createElement("div", { className: bem.element('icon-container') },
64
- props.icon && (React.createElement(Icon_1["default"], { className: bem.element('icon'), name: (0, isString_1["default"])(props.icon) ? props.icon : 'calendar-alt' })),
65
- props.showRemove && (props.inputPropsFrom.value || props.inputPropsTo.value) && (React.createElement(Icon_1["default"], { className: bem.element('icon', 'close'), onClick: function (e) {
60
+ props.icon && !hasValue && (React.createElement(Icon_1["default"], { className: bem.element('date-icon'), name: typeof props.icon === 'string' ? props.icon : 'calendar_range', tabIndex: -1 })),
61
+ props.showRemove && hasValue && (React.createElement(Icon_1["default"], { className: bem.element('close-icon'), onClick: function (e) {
66
62
  e.preventDefault();
67
63
  props.onClear();
68
- }, name: 'times-circle' })))))));
64
+ }, name: 'cross_8x8' }))),
65
+ React.createElement("span", { className: bem.element('effect') })))));
69
66
  }
70
67
  exports["default"] = DateRangeFieldView;