pcm-shared-components 2.0.18 → 2.0.21

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,229 +0,0 @@
1
- import moment from 'moment';
2
- export const weeks = {
3
- first: 0,
4
- second: 1,
5
- third: 2,
6
- fourth: 3,
7
- last: 4
8
- };
9
- export const weekdays = {
10
- sunday: 0,
11
- monday: 1,
12
- tuesday: 2,
13
- wednesday: 3,
14
- thursday: 4,
15
- friday: 5,
16
- saturday: 6
17
- };
18
- export const months = {
19
- january: 0,
20
- february: 1,
21
- march: 2,
22
- april: 3,
23
- may: 4,
24
- june: 5,
25
- july: 6,
26
- august: 7,
27
- september: 8,
28
- october: 9,
29
- november: 10,
30
- december: 11
31
- };
32
- export const getSeasonalStartDate = (year, seasonal_object) => {
33
- seasonal_object = getWorkingSeasonalObject(year, seasonal_object);
34
- if (Number(seasonal_object.use_fix_start_date) === 1) {
35
- //use the date defined
36
- // const test = moment([ year, months[returnLiteralString(months, seasonal_object.fix_dates.start.month)], seasonal_object.fix_dates.start.day ]).set({ hour: seasonal_object.arrival_hour, minute: seasonal_object.arrival_minute });
37
- // console.log('debug Start Date Fixed ', test)
38
- return moment([year, months[returnLiteralString(months, seasonal_object.fix_dates.start.month)], seasonal_object.fix_dates.start.day]).set({
39
- hour: seasonal_object.arrival_hour,
40
- minute: seasonal_object.arrival_minute
41
- });
42
- } else {
43
- //need to find the date base on the literal date
44
- // const test = getVariableDate(year, months[returnLiteralString(months, seasonal_object.variable_dates.start.month)], weeks[returnLiteralString(weeks, seasonal_object.variable_dates.start.week)], weekdays[returnLiteralString(weekdays, seasonal_object.variable_dates.start.weekday)]).set({ hour: seasonal_object.arrival_hour, minute: seasonal_object.arrival_minute });
45
- // console.log('debug Start Variable Date ', test)
46
- return getVariableDate(year, months[returnLiteralString(months, seasonal_object.variable_dates.start.month)], weeks[returnLiteralString(weeks, seasonal_object.variable_dates.start.week)], weekdays[returnLiteralString(weekdays, seasonal_object.variable_dates.start.weekday)]).set({
47
- hour: seasonal_object.arrival_hour,
48
- minute: seasonal_object.arrival_minute
49
- });
50
- }
51
- };
52
- export const getSeasonalEndDate = (year, seasonal_object) => {
53
- seasonal_object = getWorkingSeasonalObject(year, seasonal_object);
54
- const end_year = getSeasonalEndDateYear(year, seasonal_object);
55
- if (Number(seasonal_object.use_fix_end_date) === 1) {
56
- //use the date defined
57
- return moment([end_year, months[returnLiteralString(months, seasonal_object.fix_dates.end.month)], seasonal_object.fix_dates.end.day]).set({
58
- hour: seasonal_object.departure_hour,
59
- minute: seasonal_object.departure_minute
60
- });
61
- } else {
62
- //need to find the date base on the literal date
63
- return getVariableDate(end_year, months[returnLiteralString(months, seasonal_object.variable_dates.end.month)], weeks[returnLiteralString(weeks, seasonal_object.variable_dates.end.week)], weekdays[returnLiteralString(weekdays, seasonal_object.variable_dates.end.weekday)]).set({
64
- hour: seasonal_object.departure_hour,
65
- minute: seasonal_object.departure_minute
66
- });
67
- }
68
- };
69
- const getSeasonalEndDateYear = (year, seasonal_object) => {
70
- //This is used to make sure that we don't reuse the current year for the end date when our end month is > than the starting month.
71
- // Meaning: Start month is December and End month is April. Because the start and end date are stored inside the same year object I need to increase the end year when this happens
72
- /*
73
- 2020----------Dec=11-----------------April=3---------------------
74
- ^ start date ^ end date
75
-
76
- So the above seasonal object would return and end date before the start date making the selection invalid because what we need is
77
- - Start date Dec 2020
78
- - End date April 2021
79
- Returns the end date year to be used example: 2021 in the example above
80
- */
81
- let start_month,
82
- end_month,
83
- start_day,
84
- end_day,
85
- has_variable_date = false;
86
-
87
- // Get the starting and ending month and day index value
88
- if (Number(seasonal_object.use_fix_start_date) === 1) {
89
- start_month = returnIndexPosition(months, seasonal_object.fix_dates.start.month);
90
- start_day = returnIndexPosition(weekdays, seasonal_object.fix_dates.start.day);
91
- } else {
92
- has_variable_date = true;
93
- start_month = returnIndexPosition(months, seasonal_object.variable_dates.start.month);
94
- start_day = returnIndexPosition(weekdays, seasonal_object.variable_dates.start.weekday);
95
- }
96
- if (Number(seasonal_object.use_fix_end_date) === 1) {
97
- end_month = returnIndexPosition(months, seasonal_object.fix_dates.end.month);
98
- end_day = returnIndexPosition(weekdays, seasonal_object.fix_dates.end.day);
99
- } else {
100
- has_variable_date = true;
101
- end_month = returnIndexPosition(months, seasonal_object.variable_dates.end.month);
102
- end_day = returnIndexPosition(weekdays, seasonal_object.variable_dates.end.weekday);
103
- }
104
-
105
- // Now check to see if we need to increase our year by one
106
- if (Number(end_month) < Number(start_month)) {
107
- // Ending month is smaller than starting month we are automatically in a new year
108
- year = Number(year) + 1;
109
- } else if (Number(end_month) === Number(start_month) && has_variable_date) {
110
- // Same month and we have a variable date for one or both dates.
111
- // Automatically the ending year should be increased
112
- year = Number(year) + 1;
113
- } else if (Number(end_month) === Number(start_month) && Number(end_day) <= Number(start_day)) {
114
- // Ending month is the same as the starting month and we have the same or smaller day.
115
- // 2020----------Dec 2st-----------------Dec 2nd--------------------- We want a full year date to date
116
- // 2020----------Dec 2st-----------------Dec 1nd--------------------- We want a full year minus one day
117
- year = Number(year) + 1;
118
- }
119
- return year;
120
- };
121
- const getVariableDate = (year, month, week_number, week_day) => {
122
- let loop_end = true;
123
- let week_number_i = week_number;
124
- //let leep_week = 0; //used to compensate for the start of the previous months when week 0 = previous month
125
- // Check if we are not in the current month based on the week number and adjust accordingly
126
- while (loop_end) {
127
- let new_month = moment([year, month]).day(week_day + week_number_i * 7).month();
128
- if (new_month === 11 && month === 0) {
129
- //This is the cross over from January to December, need to bring it back to January
130
- week_number_i++;
131
- } else if (new_month === 0 && month === 11) {
132
- //This is the cross over from December to January, need to bring it back to December
133
- week_number_i--;
134
- } else if (new_month < month) {
135
- week_number_i++;
136
- } else if (new_month > month) {
137
- week_number_i--;
138
- } else {
139
- loop_end = false;
140
- }
141
- }
142
- //condition to ensure we are not in the previous month
143
- let condition1 = moment([year, month]).day(week_day + week_number_i * 7 - 7 * week_number_i).month() !== month;
144
-
145
- //condition to ensure we are still in the specified month
146
- let condition2 = week_number > 0 && (week_number < 5 && moment([year, month]).day(week_day + (week_number_i + 1) * 7).month()) === month;
147
- if (condition1 && condition2) {
148
- // if (moment([ year, month ]).day(week_day + week_number_i * 7 - 7 * week_number_i).month() !== month && (week_number > 0 && week_number < 5)) {
149
- week_number_i++;
150
- }
151
- return moment([year, month]).day(week_day + week_number_i * 7);
152
- };
153
-
154
- //Makes it possible to store 'may' or 4 in the database and still return the proper month,week etc...
155
- export const returnLiteralString = (object, item) => {
156
- //verify if object/month,weekdays etc is a string or int, so that i can support both example 'may' or 4=may
157
- //get the literal string for the object/month,weekdays etc based on the zero based object/month,weekdays etc position 0=jan, 1=feb etc..
158
- try {
159
- if (parseInt(item, 10) || item === 0) {
160
- item = Object.keys(object).find((m, idx) => idx === item);
161
- }
162
- } catch (error) {
163
- console.error(error);
164
- }
165
- return item;
166
- };
167
-
168
- //Makes it possible to store 'may' or 4 in the database and still return the proper month,week index value etc...
169
- export const returnIndexPosition = (object, item) => {
170
- //verify if object/month,weekdays etc is a string or int, so that i can support both example 'may' or 4=may
171
- //get the index position for the object/month,weekdays etc based on the zero based object/month,weekdays etc position 0=jan, 1=feb etc..
172
- try {
173
- if (parseInt(item, 10) || item === 0) {
174
- //nothing to convert we already have the number index
175
- } else {
176
- //get the index position of the string literal
177
- item = object[item];
178
- // item = Object.keys(object).find((m, idx) => m === item);
179
- }
180
- } catch (error) {
181
- console.error(error);
182
- }
183
- return item;
184
- };
185
-
186
- /**
187
- * Returns the seasonal date object to use based on the year provided
188
- */
189
- const getWorkingSeasonalObject = (year, seasonal_object) => {
190
- //get the date object based on the requested year
191
- let seasonal_object_working = seasonal_object.find(so => Number(so.seasonal_year) === Number(year));
192
-
193
- //If no results returned then get the default date object and use it's parameters
194
- if (!seasonal_object_working) {
195
- seasonal_object_working = seasonal_object.find(so => Number(so.is_default) === 1);
196
- }
197
- return seasonal_object_working;
198
- };
199
-
200
- /**
201
- * Returns the week in a nice sorted array example [first,second....] so the index position relates to the week etc...
202
- * Returns the months in a nice sorted array example [january,february....] so the index position relates to the month etc...
203
- * Returns the weekdays in a nice sorted array example [monday,tuesday....] so the index position relates to the weekdays etc...
204
- *
205
- * @returns
206
- */
207
- export const sortedArray = array_months_weekdays_weekdays => {
208
- let new_object = [];
209
- let sorted = Object.keys(array_months_weekdays_weekdays).sort(function (a, b) {
210
- return a.value - b.value;
211
- });
212
-
213
- // eslint-disable-next-line no-unused-vars
214
- for (const [key, value] of Object.entries(sorted)) {
215
- // console.log(`${key}: ${value}`);
216
- new_object = [...new_object, value];
217
- }
218
- return new_object;
219
- };
220
-
221
- // Month here is 1-indexed (January is 1, February is 2, etc). This is
222
- // because we're using 0 as the day so that it returns the last day
223
- // of the last month, so you have to add 1 to the month number
224
- // so it returns the correct amount of days
225
- //!Converting months to base zero (+1) the month since i'm used to using base zero
226
- export const daysInMonth = (year, month) => {
227
- // console.log('123 month: ', month, ' days: ', Number(new Date(year, month+1, 0).getDate())+1, ' date: ',new Date(year, month+1, 0))
228
- return Number(new Date(year, month + 1, 0).getDate()) + 1;
229
- };
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import TextField from '@mui/material/TextField';
3
- import i18next from 'i18next';
4
- const SearchLotsTextBox = props => {
5
- const {
6
- lot_search,
7
- setLotSearch,
8
- setFocusOnFilter,
9
- label
10
- } = props;
11
- return /*#__PURE__*/React.createElement("div", {
12
- style: {}
13
- }, /*#__PURE__*/React.createElement(TextField, {
14
- style: {
15
- paddingTop: 12,
16
- paddingBottom: 12
17
- },
18
- id: "lot_filter_search",
19
- label: label,
20
- value: lot_search,
21
- variant: "standard",
22
- onChange: e => {
23
- setLotSearch(e.target.value);
24
- },
25
- onClick: () => {
26
- setFocusOnFilter({
27
- should_focus_on_lot_filter: true
28
- });
29
- setTimeout(() => {
30
- document.getElementById('lot_filter_search').focus();
31
- }, 100);
32
- }
33
- }));
34
- };
35
- SearchLotsTextBox.propTypes = {};
36
- export default /*#__PURE__*/React.memo(SearchLotsTextBox);
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- const TimelinePopUp = props => {
3
- const {
4
- res,
5
- addNewResOnClick,
6
- getTimeDifference,
7
- showAddNewReservationButtonInPopup
8
- } = props;
9
- return /*#__PURE__*/React.createElement(React.Fragment, null, "some popup");
10
- };
11
- export default TimelinePopUp;
@@ -1,98 +0,0 @@
1
- :root {
2
- /* Colors */
3
- --color-white: #fff;
4
- --color-black: #000;
5
- --color-border-lightgray: rgba(0, 0, 0, 0.16);
6
- --color-lightgray: #f0f3f4;
7
- --color-red: #d32f2f;
8
-
9
- /* Dimensions */
10
- --footer-menu-height: 60px;
11
- }
12
- /* Header */
13
- .sticky {
14
- position: -webkit-sticky; /* Safari */
15
- position: sticky;
16
- top: 0;
17
- z-index: 2000;
18
- }
19
-
20
-
21
- .react-calendar-timeline .rct-header-root {
22
- border-bottom: none;
23
- font-size: medium;
24
- /* box-shadow: var(--color-border-lightgray) 0 0 1rem; */
25
- -moz-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
26
- -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
27
- box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3);
28
- border: solid 1px var(--color-border-lightgray);
29
- border-radius: 5px;
30
- text-align: center;
31
- }
32
-
33
- .react-calendar-timeline .rct-header-root{
34
- background-color: white;
35
- }
36
- .left-header{
37
- background-color: white !important;
38
- justify-items: center;
39
- text-align: center;
40
- margin:auto;
41
- height: 100%;
42
- display:inline-block;
43
- }
44
-
45
- .react-calendar-timeline .rct-calendar-header {
46
- border: none;
47
- }
48
-
49
- .rct-header-root.undefined {
50
- background-color: white;
51
- }
52
-
53
- .react-calendar-timeline .rct-dateHeader {
54
- position: relative;
55
- pointer-events: none;
56
- border: none;
57
- /* border-right: dashed 1px rgb(175, 175, 175) !important; */
58
- border-bottom:none;
59
- border-right:none;
60
- background: var(--color-white);
61
- font-size: 0.9rem;
62
- font-weight: 200;
63
- padding-top: 15px;
64
- }
65
-
66
- /* creates the half line beside the dates */
67
- .rct-dateHeader:after {
68
- content : "";
69
- position: absolute;
70
- right : 0;
71
- z-index: 100;
72
- top : 40%;
73
- width : 3px;
74
- height : 100%; /* or 100px */
75
- /* background: #555; */
76
- border-right: dashed 1px rgb(189, 188, 188)!important
77
- }
78
-
79
- .react-calendar-timeline .rct-dateHeader-primary {
80
- color: var(--color-black);
81
- padding-right: 2.6rem;
82
- text-transform: uppercase;
83
- }
84
-
85
- /* Vertical lines */
86
- .react-calendar-timeline .rct-vertical-lines .rct-vl {
87
- border-left: dashed 1px #9292923a;
88
- /* border-left: none; */
89
- }
90
-
91
- .react-calendar-timeline .rct-vertical-lines .rct-vl:nth-child(odd) {
92
- /* background: var(--color-white); */
93
- }
94
-
95
- .react-calendar-timeline .rct-vertical-lines .rct-vl:nth-child(even) {
96
- /* background: var(--color-lightgray); */
97
- }
98
-
@@ -1,121 +0,0 @@
1
-
2
- .blink {
3
- border: solid 1px orangered;
4
- color: orangered;
5
- animation: blinker 1s cubic-bezier(0.5, 0, 1, 1) infinite alternate;
6
- box-shadow: 0 2.8px 2.2px rgba(250, 104, 60, 0.034), 0 6.7px 5.3px rgba(250, 104, 60, 0.048), 0 12.5px 10px rgba(250, 104, 60, 0.06), 0 22.3px 17.9px rgba(250, 104, 60, 0.072), 0 41.8px 33.4px rgba(250, 104, 60, 0.086), 0 100px 80px rgba(250, 104, 60, 0.12);
7
- }
8
- @keyframes blinker {
9
- from {
10
- opacity: 1;
11
- }
12
- to {
13
- opacity: 0;
14
- }
15
- }
16
- .rct-item {
17
- border-radius: 20px;
18
- border-color: rgba(0, 0, 0, 0.5) !important;
19
- color: #000;
20
- }
21
- .item_collision .rct-item-content {
22
- color: white !important;
23
- font-weight: 900;
24
- }
25
- .item_collision {
26
- background-size: auto auto;
27
- background-color: rgba(193, 45, 45, 1);
28
- background-image: repeating-linear-gradient(45deg, #f56f6f, #f56f6f 12px, rgba(236, 93, 93, 1) 12px, rgba(236, 93, 93, 1) 20px) !important;
29
- }
30
- .edit_res_id {
31
- border: solid 2.5px #f79902 !important;
32
- box-shadow: 0 2.8px 2.2px rgba(37, 37, 37, 0.044), 0 6.7px 5.3px rgba(37, 37, 37, 0.058), 0 12.5px 10px rgba(37, 37, 37, 0.16), 0 22.3px 17.9px rgba(37, 37, 37, 0.082), 0 41.8px 33.4px rgba(37, 37, 37, 0.096), 0 100px 80px rgba(37, 37, 37, 0.22);
33
- }
34
- .sidebar-group {
35
- line-height: 1;
36
- }
37
- .rct-dateHeader {
38
- font-size: 12pt !important;
39
- }
40
- .react-calendar-timeline .rct-vertical-lines .rct-vl.rct-day-6, .react-calendar-timeline .rct-vertical-lines .rct-vl.rct-day-0 {
41
- background-color: rgba(248, 147, 31, 0.5);
42
- }
43
- .rct-item-content {
44
- color: black;
45
- }
46
- .move-icon {
47
- cursor: grab;
48
- cursor: -moz-grab;
49
- cursor: -webkit-grab;
50
- height: 20px;
51
- width: 20px;
52
- background-color: rgba(255, 255, 255, 0.3);
53
- border-radius: 50%;
54
- position: absolute;
55
- top: 5px;
56
- left: 5px;
57
- border: solid 1px;
58
- border-color: rgba(0, 0, 0, 0.5) !important;
59
- box-shadow: inset 0 5px 5px -5px rgba(0, 0, 0, 0.493);
60
- }
61
- .rct-item-handler {
62
- cursor: col-resize !important;
63
- display: flex;
64
- align-items: center;
65
- justify-content: center;
66
- }
67
- .rct-item-handler .handle-icon {
68
- height: 35%;
69
- position: relative;
70
- pointer-events: none;
71
- }
72
- .rct-item-handler .handle-icon, .rct-item-handler .handle-icon:before, .rct-item-handler .handle-icon:after {
73
- width: 1px;
74
- background: rgba(54, 54, 54, 0.9);
75
- }
76
- .rct-item-handler .handle-icon:before, .rct-item-handler .handle-icon:after {
77
- content: '';
78
- height: 100%;
79
- display: block;
80
- position: absolute;
81
- }
82
- .rct-item-handler .handle-icon:before {
83
- right: 4px;
84
- }
85
- .rct-item-handler .handle-icon:after {
86
- left: 4px;
87
- }
88
- .rct-item-content {
89
- line-height: 1.2;
90
- margin-top: auto !important;
91
- margin-bottom: auto !important;
92
- max-height: 12px;
93
- }
94
- .rct-item-tooltip {
95
- z-index: 2000;
96
- margin-left: 5px;
97
- display: flex;
98
- align-items: center;
99
- }
100
- .rct-item-tooltip-content {
101
- background: rgba(27, 25, 24, 0.726);
102
- padding: 8px 16px;
103
- white-space: nowrap;
104
- font-size: 12px;
105
- color: white;
106
- border-radius: 5px;
107
- }
108
- .rct-item--is-selected .rct-item-content {
109
- color: rgba(0, 0, 0, 0.8);
110
- }
111
- .rct-item--is-selected .rct-item {
112
- border-color: rgba(0, 0, 0, 0.5) !important;
113
- box-shadow: 0 8px 8px -8px black;
114
- }
115
- .rct-item-following-indicator {
116
- opacity: 0;
117
- transition: opacity 500ms ease;
118
- }
119
- .rct-item--is-resizing .rct-item-following-indicator {
120
- opacity: 1;
121
- }
@@ -1,209 +0,0 @@
1
- .timeline-app {
2
- font-family: sans-serif;
3
- font-size: large;
4
- text-align: center;
5
- max-width: 100%;
6
- max-height:90vh !important;
7
- height:90vh !important;
8
- padding: 0 16px;
9
- overflow: scroll;
10
- // margin: auto;
11
-
12
- }
13
-
14
-
15
-
16
- .blink{
17
- border: solid 1px orangered;
18
- color: orangered;
19
- animation: blinker 1s cubic-bezier(.5, 0, 1, 1) infinite alternate;
20
- box-shadow:
21
- 0 2.8px 2.2px rgba(250, 104, 60, 0.034),
22
- 0 6.7px 5.3px rgba(250, 104, 60, 0.048),
23
- 0 12.5px 10px rgba(250, 104, 60, 0.06),
24
- 0 22.3px 17.9px rgba(250, 104, 60, 0.072),
25
- 0 41.8px 33.4px rgba(250, 104, 60, 0.086),
26
- 0 100px 80px rgba(250, 104, 60, 0.12)
27
- ;
28
- }
29
- @keyframes blinker {
30
- from { opacity: 1; }
31
- to { opacity: 0; }
32
- }
33
-
34
-
35
-
36
-
37
- .rct-item{
38
- border-radius:20px;
39
- border-color: rgba(0, 0, 0, 0.5) !important;
40
- color: #000000;
41
-
42
- }
43
- .item_collision .rct-item-content{
44
-
45
- color:white !important;
46
- font-weight: 900;
47
- }
48
- .item_collision{
49
-
50
- background-size: auto auto;
51
- background-color: rgba(193, 45, 45, 1);
52
- background-image: repeating-linear-gradient(45deg, rgb(245, 111, 111), rgb(245, 111, 111) 12px, rgba(236, 93, 93, 1) 12px, rgba(236, 93, 93, 1) 20px ) !important;
53
- // background-image: linear-gradient(38deg, #f58e8e 25%, #e67373 25%, #e67373 50%, #f58e8e 50%, #f58e8e 75%, #e67373 75%, #e67373 50%) !important;
54
- }
55
-
56
-
57
- // In edit mode the reservation ID being edited will look different
58
- .edit_res_id{
59
-
60
- border: solid 2.5px rgb(247, 153, 2) !important;
61
- box-shadow:
62
- 0 2.8px 2.2px rgba(37, 37, 37, 0.044),
63
- 0 6.7px 5.3px rgba(37, 37, 37, 0.058),
64
- 0 12.5px 10px rgba(37, 37, 37, 0.16),
65
- 0 22.3px 17.9px rgba(37, 37, 37, 0.082),
66
- 0 41.8px 33.4px rgba(37, 37, 37, 0.096),
67
- 0 100px 80px rgba(37, 37, 37, 0.22)
68
- ;
69
- }
70
-
71
-
72
- .sidebar-group {
73
- line-height: 1;
74
- }
75
-
76
- .rct-dateHeader {
77
- font-size: 12pt !important;
78
- }
79
-
80
- .react-calendar-timeline .rct-horizontal-lines .rct-hl-even{
81
- // border-color: solid 5px red;
82
- // background-color:red;
83
- }
84
- .react-calendar-timeline .rct-horizontal-lines .rct-hl-odd{
85
- // background-color:red;
86
- }
87
-
88
- // Timeline styles overrides
89
- $weekend: rgba(248, 147, 31, 0.5);
90
-
91
- .react-calendar-timeline {
92
- .rct-vertical-lines {
93
- .rct-vl {
94
- &.rct-day-6,
95
- &.rct-day-0 {
96
- background-color: $weekend;
97
- }
98
- }
99
- }
100
- }
101
-
102
- .rct-item-content{
103
- color:black;
104
- }
105
-
106
-
107
- $handle-color: rgba(54, 54, 54, 0.9);
108
-
109
- //move icon
110
-
111
- .move-icon{
112
- // cursor: move; /* fallback if grab cursor is unsupported */
113
- cursor: grab;
114
- cursor: -moz-grab;
115
- cursor: -webkit-grab;
116
-
117
- height: 20px;
118
- width: 20px;
119
- background-color: rgba(255, 255, 255, 0.3);
120
- border-radius: 50%;
121
- position: absolute;
122
- top: 8px; left: 5px;
123
- border: solid 1px;
124
-
125
- border-color:rgba(0, 0, 0, 0.5) !important;
126
- box-shadow: inset 0 5px 5px -5px rgba(0, 0, 0, 0.493);
127
- }
128
-
129
- // Handle
130
-
131
- .rct-item-handler {
132
- cursor: col-resize !important;
133
- display: flex;
134
- align-items: center;
135
- justify-content: center;
136
-
137
-
138
- .handle-icon {
139
- height: 35%;
140
- position: relative;
141
- pointer-events: none;
142
-
143
-
144
- &, &:before, &:after {
145
- width: 1px;
146
- background: $handle-color;
147
- }
148
-
149
- &:before, &:after {
150
- content: '';
151
- height: 100%;
152
- display: block;
153
- position: absolute;
154
- }
155
-
156
- // Controls th spacing between the grips handles
157
- &:before {
158
- right: 4px;
159
- }
160
-
161
- &:after {
162
- left: 4px;
163
- }
164
- }
165
- }
166
-
167
- //controls the way the text appears in the timeline items...
168
- .rct-item-content {
169
- line-height:1.1;
170
- // height:100%;
171
- margin-top: 8px !important;
172
- max-height: 10px;
173
- }
174
-
175
- // Following tooltip
176
- .rct-item-tooltip {
177
- z-index: 2000;
178
- margin-left: 5px;
179
- display: flex;
180
- align-items: center;
181
- }
182
-
183
- .rct-item-tooltip-content {
184
- background: rgba(27, 25, 24, 0.726);
185
- padding: 8px 16px;
186
- white-space: nowrap;
187
- font-size: 12px;
188
- color: white;
189
- border-radius: 5px;
190
- }
191
-
192
- .rct-item--is-selected .rct-item-content{
193
- color: rgba(0, 0, 0, 0.8);
194
- }
195
- .rct-item--is-selected .rct-item{
196
- border-color:rgba(0, 0, 0, 0.5) !important;
197
- box-shadow: 0 8px 8px -8px black;
198
- }
199
-
200
- .rct-item-following-indicator {
201
- opacity: 0;
202
- transition: opacity 500ms ease;
203
-
204
- .rct-item--is-resizing & {
205
- opacity: 1;
206
- }
207
- }
208
-
209
-