formstrap 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.gitignore +33 -0
  4. data/CHANGELOG.md +1 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/Gemfile +28 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +118 -0
  9. data/Rakefile +10 -0
  10. data/app/assets/config/headmin_manifest.js +2 -0
  11. data/app/assets/images/avatar.jpg +0 -0
  12. data/app/assets/images/document.docx +0 -0
  13. data/app/assets/images/document.pdf +0 -0
  14. data/app/assets/images/image.jpg +0 -0
  15. data/app/assets/images/spreadsheet.xls +0 -0
  16. data/app/assets/images/video.mp4 +0 -0
  17. data/app/assets/javascripts/formstrap/config/i18n.js +11 -0
  18. data/app/assets/javascripts/formstrap/controllers/autocomplete_controller.js +318 -0
  19. data/app/assets/javascripts/formstrap/controllers/date_range_controller.js +38 -0
  20. data/app/assets/javascripts/formstrap/controllers/dropzone_controller.js +31 -0
  21. data/app/assets/javascripts/formstrap/controllers/file_preview_controller.js +244 -0
  22. data/app/assets/javascripts/formstrap/controllers/flatpickr_controller.js +35 -0
  23. data/app/assets/javascripts/formstrap/controllers/infinite_scroller_controller.js +28 -0
  24. data/app/assets/javascripts/formstrap/controllers/media_controller.js +252 -0
  25. data/app/assets/javascripts/formstrap/controllers/media_modal_controller.js +147 -0
  26. data/app/assets/javascripts/formstrap/controllers/redactorx_controller.js +40 -0
  27. data/app/assets/javascripts/formstrap/controllers/repeater_controller.js +148 -0
  28. data/app/assets/javascripts/formstrap/controllers/select_controller.js +49 -0
  29. data/app/assets/javascripts/formstrap/controllers/textarea_controller.js +48 -0
  30. data/app/assets/javascripts/formstrap/index.js +32 -0
  31. data/app/assets/javascripts/formstrap.js +11515 -0
  32. data/app/assets/stylesheets/formstrap/forms/autocomplete.scss +27 -0
  33. data/app/assets/stylesheets/formstrap/forms/file.scss +83 -0
  34. data/app/assets/stylesheets/formstrap/forms/media.scss +10 -0
  35. data/app/assets/stylesheets/formstrap/forms/repeater.scss +62 -0
  36. data/app/assets/stylesheets/formstrap/forms/search.scss +12 -0
  37. data/app/assets/stylesheets/formstrap/forms.scss +12 -0
  38. data/app/assets/stylesheets/formstrap/general.scss +18 -0
  39. data/app/assets/stylesheets/formstrap/media/index.scss +9 -0
  40. data/app/assets/stylesheets/formstrap/media.scss +1 -0
  41. data/app/assets/stylesheets/formstrap/utilities/buttons.scss +27 -0
  42. data/app/assets/stylesheets/formstrap/utilities/dropzone.scss +72 -0
  43. data/app/assets/stylesheets/formstrap/utilities.scss +2 -0
  44. data/app/assets/stylesheets/formstrap/vendor/flatpickr.css +903 -0
  45. data/app/assets/stylesheets/formstrap/vendor/tom-select-bootstrap.scss +535 -0
  46. data/app/assets/stylesheets/formstrap.css +1559 -0
  47. data/app/assets/stylesheets/formstrap.scss +11 -0
  48. data/app/controllers/concerns/formstrap/pagination.rb +27 -0
  49. data/app/controllers/formstrap/media_controller.rb +68 -0
  50. data/app/controllers/formstrap_controller.rb +2 -0
  51. data/app/models/concerns/formstrap/autocompletable.rb +36 -0
  52. data/app/models/concerns/formstrap/hintable.rb +22 -0
  53. data/app/models/concerns/formstrap/input_groupable.rb +21 -0
  54. data/app/models/concerns/formstrap/labelable.rb +31 -0
  55. data/app/models/concerns/formstrap/listable.rb +26 -0
  56. data/app/models/concerns/formstrap/placeholderable.rb +11 -0
  57. data/app/models/concerns/formstrap/validatable.rb +38 -0
  58. data/app/models/concerns/formstrap/wrappable.rb +19 -0
  59. data/app/models/formstrap/.DS_Store +0 -0
  60. data/app/models/formstrap/association_view.rb +100 -0
  61. data/app/models/formstrap/blocks_view.rb +43 -0
  62. data/app/models/formstrap/checkbox_view.rb +50 -0
  63. data/app/models/formstrap/color_view.rb +45 -0
  64. data/app/models/formstrap/date_range_view.rb +23 -0
  65. data/app/models/formstrap/date_view.rb +43 -0
  66. data/app/models/formstrap/datetime_range_view.rb +23 -0
  67. data/app/models/formstrap/datetime_view.rb +43 -0
  68. data/app/models/formstrap/email_view.rb +46 -0
  69. data/app/models/formstrap/file_view.rb +106 -0
  70. data/app/models/formstrap/flatpickr_range_view.rb +89 -0
  71. data/app/models/formstrap/flatpickr_view.rb +27 -0
  72. data/app/models/formstrap/hidden_view.rb +8 -0
  73. data/app/models/formstrap/hint_view.rb +4 -0
  74. data/app/models/formstrap/input_group_view.rb +17 -0
  75. data/app/models/formstrap/label_view.rb +22 -0
  76. data/app/models/formstrap/media_item_view.rb +41 -0
  77. data/app/models/formstrap/media_view.rb +143 -0
  78. data/app/models/formstrap/number_view.rb +47 -0
  79. data/app/models/formstrap/password_view.rb +42 -0
  80. data/app/models/formstrap/redactorx_view.rb +57 -0
  81. data/app/models/formstrap/search_view.rb +46 -0
  82. data/app/models/formstrap/select_view.rb +61 -0
  83. data/app/models/formstrap/switch_view.rb +21 -0
  84. data/app/models/formstrap/text_view.rb +46 -0
  85. data/app/models/formstrap/textarea_view.rb +47 -0
  86. data/app/models/formstrap/url_view.rb +46 -0
  87. data/app/models/formstrap/wrapper_view.rb +17 -0
  88. data/app/models/formstrap/wysiwyg_view.rb +15 -0
  89. data/app/models/view_model.rb +62 -0
  90. data/app/views/formstrap/_association.html.erb +30 -0
  91. data/app/views/formstrap/_autocomplete.html.erb +11 -0
  92. data/app/views/formstrap/_blocks.html.erb +45 -0
  93. data/app/views/formstrap/_checkbox.html.erb +34 -0
  94. data/app/views/formstrap/_color.html.erb +32 -0
  95. data/app/views/formstrap/_datalist.html.erb +3 -0
  96. data/app/views/formstrap/_date.html.erb +41 -0
  97. data/app/views/formstrap/_date_range.html.erb +40 -0
  98. data/app/views/formstrap/_datetime.html.erb +41 -0
  99. data/app/views/formstrap/_datetime_range.html.erb +40 -0
  100. data/app/views/formstrap/_email.html.erb +43 -0
  101. data/app/views/formstrap/_errors.html.erb +19 -0
  102. data/app/views/formstrap/_file.html.erb +94 -0
  103. data/app/views/formstrap/_flatpickr.html.erb +33 -0
  104. data/app/views/formstrap/_flatpickr_range.html.erb +40 -0
  105. data/app/views/formstrap/_hidden.html.erb +23 -0
  106. data/app/views/formstrap/_hint.html.erb +21 -0
  107. data/app/views/formstrap/_input_group.html.erb +21 -0
  108. data/app/views/formstrap/_label.html.erb +22 -0
  109. data/app/views/formstrap/_media.html.erb +60 -0
  110. data/app/views/formstrap/_number.html.erb +41 -0
  111. data/app/views/formstrap/_password.html.erb +39 -0
  112. data/app/views/formstrap/_redactorx.html.erb +31 -0
  113. data/app/views/formstrap/_repeater.html.erb +128 -0
  114. data/app/views/formstrap/_search.html.erb +43 -0
  115. data/app/views/formstrap/_select.html.erb +43 -0
  116. data/app/views/formstrap/_switch.html.erb +29 -0
  117. data/app/views/formstrap/_text.html.erb +42 -0
  118. data/app/views/formstrap/_textarea.html.erb +39 -0
  119. data/app/views/formstrap/_to_ary.html.erb +0 -0
  120. data/app/views/formstrap/_url.html.erb +43 -0
  121. data/app/views/formstrap/_validation.html.erb +18 -0
  122. data/app/views/formstrap/_wrapper.html.erb +8 -0
  123. data/app/views/formstrap/_wysiwyg.html.erb +28 -0
  124. data/app/views/formstrap/autocomplete/_item.html.erb +3 -0
  125. data/app/views/formstrap/autocomplete/_list.html.erb +3 -0
  126. data/app/views/formstrap/blocks/_modal.html.erb +20 -0
  127. data/app/views/formstrap/fields/_base.html.erb +25 -0
  128. data/app/views/formstrap/fields/_file.html.erb +17 -0
  129. data/app/views/formstrap/fields/_files.html.erb +17 -0
  130. data/app/views/formstrap/fields/_group.html.erb +52 -0
  131. data/app/views/formstrap/fields/_list.html.erb +31 -0
  132. data/app/views/formstrap/fields/_text.html.erb +17 -0
  133. data/app/views/formstrap/media/_item.html.erb +38 -0
  134. data/app/views/formstrap/media/_media_item_modal.html.erb +77 -0
  135. data/app/views/formstrap/media/_modal.html.erb +40 -0
  136. data/app/views/formstrap/media/_thumbnail.html.erb +20 -0
  137. data/app/views/formstrap/media/_validation.html.erb +10 -0
  138. data/app/views/formstrap/media/create.turbo_stream.erb +5 -0
  139. data/app/views/formstrap/media/index.html.erb +3 -0
  140. data/app/views/formstrap/media/index.turbo_stream.erb +11 -0
  141. data/app/views/formstrap/media/show.html.erb +9 -0
  142. data/app/views/formstrap/media/thumbnail.html.erb +3 -0
  143. data/app/views/formstrap/media/update.turbo_stream.erb +3 -0
  144. data/app/views/formstrap/pagination/_infinite.html.erb +7 -0
  145. data/app/views/formstrap/repeater/_row.html.erb +53 -0
  146. data/app/views/formstrap/shared/_notifications.html.erb +20 -0
  147. data/app/views/formstrap/shared/_popup.html.erb +32 -0
  148. data/app/views/formstrap/shared/_thumbnail.html.erb +35 -0
  149. data/bin/console +14 -0
  150. data/bin/setup +8 -0
  151. data/config/importmap.rb +2 -0
  152. data/config/locales/activerecord/en.yml +12 -0
  153. data/config/locales/activerecord/nl.yml +13 -0
  154. data/config/locales/defaults/en.yml +215 -0
  155. data/config/locales/defaults/nl.yml +213 -0
  156. data/config/locales/devise/en.yml +65 -0
  157. data/config/locales/devise/nl.yml +85 -0
  158. data/config/locales/en.yml +6 -0
  159. data/config/locales/formstrap/forms/en.yml +39 -0
  160. data/config/locales/formstrap/forms/nl.yml +39 -0
  161. data/config/locales/formstrap/media/en.yml +24 -0
  162. data/config/locales/formstrap/media/nl.yml +24 -0
  163. data/config/locales/formstrap/thumbnail/en.yml +4 -0
  164. data/config/locales/formstrap/thumbnail/nl.yml +4 -0
  165. data/config/locales/nl.yml +6 -0
  166. data/config/routes.rb +11 -0
  167. data/esbuild-css.js +25 -0
  168. data/esbuild-js.js +11 -0
  169. data/formstrap.gemspec +37 -0
  170. data/formstrap.iml +34 -0
  171. data/lib/formstrap/engine.rb +27 -0
  172. data/lib/formstrap/form_builder.rb +177 -0
  173. data/lib/formstrap/form_helper.rb +19 -0
  174. data/lib/formstrap/version.rb +3 -0
  175. data/lib/formstrap.rb +6 -0
  176. data/package.json +54 -0
  177. data/src/js/formstrap.js +1 -0
  178. data/src/scss/formstrap.scss +1 -0
  179. data/yarn.lock +1998 -0
  180. metadata +224 -0
@@ -0,0 +1,1559 @@
1
+ /* src/scss/formstrap.scss */
2
+ .ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder {
3
+ visibility: visible !important;
4
+ background: #f2f2f2 !important;
5
+ background: rgba(0, 0, 0, 0.06) !important;
6
+ border: 0 none !important;
7
+ box-shadow: inset 0 0 12px 4px #fff;
8
+ }
9
+ .ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after {
10
+ content: "!";
11
+ visibility: hidden;
12
+ }
13
+ .ts-wrapper.plugin-drag_drop .ui-sortable-helper {
14
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
15
+ }
16
+ .plugin-checkbox_options .option input {
17
+ margin-right: 0.5rem;
18
+ }
19
+ .plugin-clear_button .ts-control {
20
+ padding-right: calc(1em + 15px) !important;
21
+ }
22
+ .plugin-clear_button .clear-button {
23
+ opacity: 0;
24
+ position: absolute;
25
+ top: 0.375rem;
26
+ right: calc(0.75rem - 5px);
27
+ margin-right: 0 !important;
28
+ background: transparent !important;
29
+ transition: opacity 0.5s;
30
+ cursor: pointer;
31
+ }
32
+ .plugin-clear_button.single .clear-button {
33
+ right: calc(0.75rem - 5px + 2rem);
34
+ }
35
+ .plugin-clear_button.focus.has-items .clear-button,
36
+ .plugin-clear_button:hover.has-items .clear-button {
37
+ opacity: 1;
38
+ }
39
+ .ts-wrapper .dropdown-header {
40
+ position: relative;
41
+ padding: 6px 0.75rem;
42
+ border-bottom: 1px solid #d0d0d0;
43
+ background: #f8f8f8;
44
+ border-radius: 0.25rem 0.25rem 0 0;
45
+ }
46
+ .ts-wrapper .dropdown-header-close {
47
+ position: absolute;
48
+ right: 0.75rem;
49
+ top: 50%;
50
+ color: #343a40;
51
+ opacity: 0.4;
52
+ margin-top: -12px;
53
+ line-height: 20px;
54
+ font-size: 20px !important;
55
+ }
56
+ .ts-wrapper .dropdown-header-close:hover {
57
+ color: black;
58
+ }
59
+ .plugin-dropdown_input.focus.dropdown-active .ts-control {
60
+ box-shadow: none;
61
+ border: 1px solid #ced4da;
62
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
63
+ }
64
+ .plugin-dropdown_input .dropdown-input {
65
+ border: 1px solid #d0d0d0;
66
+ border-width: 0 0 1px 0;
67
+ display: block;
68
+ padding: 0.375rem 0.75rem;
69
+ box-shadow: none;
70
+ width: 100%;
71
+ background: transparent;
72
+ }
73
+ .plugin-dropdown_input.focus ~ .ts-dropdown .dropdown-input {
74
+ border-color: #86b7fe;
75
+ outline: 0;
76
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
77
+ }
78
+ .ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
79
+ min-width: 0;
80
+ }
81
+ .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
82
+ flex: none;
83
+ min-width: 4px;
84
+ }
85
+ .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder {
86
+ color: transparent;
87
+ }
88
+ .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
89
+ color: transparent;
90
+ }
91
+ .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
92
+ color: transparent;
93
+ }
94
+ .ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
95
+ display: flex;
96
+ }
97
+ .ts-dropdown.plugin-optgroup_columns .optgroup {
98
+ border-right: 1px solid #f2f2f2;
99
+ border-top: 0 none;
100
+ flex-grow: 1;
101
+ flex-basis: 0;
102
+ min-width: 0;
103
+ }
104
+ .ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
105
+ border-right: 0 none;
106
+ }
107
+ .ts-dropdown.plugin-optgroup_columns .optgroup:before {
108
+ display: none;
109
+ }
110
+ .ts-dropdown.plugin-optgroup_columns .optgroup-header {
111
+ border-top: 0 none;
112
+ }
113
+ .ts-wrapper.plugin-remove_button .item {
114
+ display: inline-flex;
115
+ align-items: center;
116
+ padding-right: 0 !important;
117
+ }
118
+ .ts-wrapper.plugin-remove_button .item .remove {
119
+ color: inherit;
120
+ text-decoration: none;
121
+ vertical-align: middle;
122
+ display: inline-block;
123
+ padding: 0 5px;
124
+ border-left: 1px solid #dee2e6;
125
+ border-radius: 0 2px 2px 0;
126
+ box-sizing: border-box;
127
+ margin-left: 5px;
128
+ }
129
+ .ts-wrapper.plugin-remove_button .item .remove:hover {
130
+ background: rgba(0, 0, 0, 0.05);
131
+ }
132
+ .ts-wrapper.plugin-remove_button .item.active .remove {
133
+ border-left-color: rgba(0, 0, 0, 0);
134
+ }
135
+ .ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
136
+ background: none;
137
+ }
138
+ .ts-wrapper.plugin-remove_button.disabled .item .remove {
139
+ border-left-color: white;
140
+ }
141
+ .ts-wrapper.plugin-remove_button .remove-single {
142
+ position: absolute;
143
+ right: 0;
144
+ top: 0;
145
+ font-size: 23px;
146
+ }
147
+ .ts-wrapper {
148
+ position: relative;
149
+ }
150
+ .ts-dropdown,
151
+ .ts-control,
152
+ .ts-control input {
153
+ color: #343a40;
154
+ font-family: inherit;
155
+ font-size: inherit;
156
+ line-height: 1.5;
157
+ font-smoothing: inherit;
158
+ }
159
+ .ts-control,
160
+ .ts-wrapper.single.input-active .ts-control {
161
+ background: #fff;
162
+ cursor: text;
163
+ }
164
+ .ts-control {
165
+ border: 1px solid #ced4da;
166
+ padding: 0.375rem 0.75rem;
167
+ width: 100%;
168
+ overflow: hidden;
169
+ position: relative;
170
+ z-index: 1;
171
+ box-sizing: border-box;
172
+ box-shadow: none;
173
+ border-radius: 0.25rem;
174
+ display: flex;
175
+ flex-wrap: wrap;
176
+ }
177
+ .ts-wrapper.multi.has-items .ts-control {
178
+ padding: calc(0.375rem - 1px - 0px) 0.75rem calc(0.375rem - 1px - 3px - 0px);
179
+ }
180
+ .full .ts-control {
181
+ background-color: #fff;
182
+ }
183
+ .disabled .ts-control,
184
+ .disabled .ts-control * {
185
+ cursor: default !important;
186
+ }
187
+ .focus .ts-control {
188
+ box-shadow: none;
189
+ }
190
+ .ts-control > * {
191
+ vertical-align: baseline;
192
+ display: inline-block;
193
+ }
194
+ .ts-wrapper.multi .ts-control > div {
195
+ cursor: pointer;
196
+ margin: 0 3px 3px 0;
197
+ padding: 1px 5px;
198
+ background: #efefef;
199
+ color: #343a40;
200
+ border: 0px solid #dee2e6;
201
+ }
202
+ .ts-wrapper.multi .ts-control > div.active {
203
+ background: #0d6efd;
204
+ color: #fff;
205
+ border: 0px solid rgba(0, 0, 0, 0);
206
+ }
207
+ .ts-wrapper.multi.disabled .ts-control > div,
208
+ .ts-wrapper.multi.disabled .ts-control > div.active {
209
+ color: #878787;
210
+ background: white;
211
+ border: 0px solid white;
212
+ }
213
+ .ts-control > input {
214
+ flex: 1 1 auto;
215
+ min-width: 7rem;
216
+ display: inline-block !important;
217
+ padding: 0 !important;
218
+ min-height: 0 !important;
219
+ max-height: none !important;
220
+ max-width: 100% !important;
221
+ margin: 0 !important;
222
+ text-indent: 0 !important;
223
+ border: 0 none !important;
224
+ background: none !important;
225
+ line-height: inherit !important;
226
+ -webkit-user-select: auto !important;
227
+ -moz-user-select: auto !important;
228
+ -ms-user-select: auto !important;
229
+ user-select: auto !important;
230
+ box-shadow: none !important;
231
+ }
232
+ .ts-control > input::-ms-clear {
233
+ display: none;
234
+ }
235
+ .ts-control > input:focus {
236
+ outline: none !important;
237
+ }
238
+ .has-items .ts-control > input {
239
+ margin: 0 4px !important;
240
+ }
241
+ .ts-control.rtl {
242
+ text-align: right;
243
+ }
244
+ .ts-control.rtl.single .ts-control:after {
245
+ left: calc(0.75rem + 5px);
246
+ right: auto;
247
+ }
248
+ .ts-control.rtl .ts-control > input {
249
+ margin: 0 4px 0 -2px !important;
250
+ }
251
+ .disabled .ts-control {
252
+ opacity: 0.5;
253
+ background-color: #e9ecef;
254
+ }
255
+ .input-hidden .ts-control > input {
256
+ opacity: 0;
257
+ position: absolute;
258
+ left: -10000px;
259
+ }
260
+ .ts-dropdown {
261
+ position: absolute;
262
+ top: 100%;
263
+ left: 0;
264
+ width: 100%;
265
+ z-index: 10;
266
+ border: 1px solid #d0d0d0;
267
+ background: #fff;
268
+ margin: 0.25rem 0 0 0;
269
+ border-top: 0 none;
270
+ box-sizing: border-box;
271
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
272
+ border-radius: 0 0 0.25rem 0.25rem;
273
+ }
274
+ .ts-dropdown [data-selectable] {
275
+ cursor: pointer;
276
+ overflow: hidden;
277
+ }
278
+ .ts-dropdown [data-selectable] .highlight {
279
+ background: rgba(255, 237, 40, 0.4);
280
+ border-radius: 1px;
281
+ }
282
+ .ts-dropdown .option,
283
+ .ts-dropdown .optgroup-header,
284
+ .ts-dropdown .no-results,
285
+ .ts-dropdown .create {
286
+ padding: 3px 0.75rem;
287
+ }
288
+ .ts-dropdown .option,
289
+ .ts-dropdown [data-disabled],
290
+ .ts-dropdown [data-disabled] [data-selectable].option {
291
+ cursor: inherit;
292
+ opacity: 0.5;
293
+ }
294
+ .ts-dropdown [data-selectable].option {
295
+ opacity: 1;
296
+ cursor: pointer;
297
+ }
298
+ .ts-dropdown .optgroup:first-child .optgroup-header {
299
+ border-top: 0 none;
300
+ }
301
+ .ts-dropdown .optgroup-header {
302
+ color: #6c757d;
303
+ background: #fff;
304
+ cursor: default;
305
+ }
306
+ .ts-dropdown .create:hover,
307
+ .ts-dropdown .option:hover,
308
+ .ts-dropdown .active {
309
+ background-color: #e9ecef;
310
+ color: #1e2125;
311
+ }
312
+ .ts-dropdown .create:hover.create,
313
+ .ts-dropdown .option:hover.create,
314
+ .ts-dropdown .active.create {
315
+ color: #1e2125;
316
+ }
317
+ .ts-dropdown .create {
318
+ color: rgba(52, 58, 64, 0.5);
319
+ }
320
+ .ts-dropdown .spinner {
321
+ display: inline-block;
322
+ width: 30px;
323
+ height: 30px;
324
+ margin: 3px 0.75rem;
325
+ }
326
+ .ts-dropdown .spinner:after {
327
+ content: " ";
328
+ display: block;
329
+ width: 24px;
330
+ height: 24px;
331
+ margin: 3px;
332
+ border-radius: 50%;
333
+ border: 5px solid #d0d0d0;
334
+ border-color: #d0d0d0 transparent #d0d0d0 transparent;
335
+ animation: lds-dual-ring 1.2s linear infinite;
336
+ }
337
+ @keyframes lds-dual-ring {
338
+ 0% {
339
+ transform: rotate(0deg);
340
+ }
341
+ 100% {
342
+ transform: rotate(360deg);
343
+ }
344
+ }
345
+ .ts-dropdown-content {
346
+ overflow-y: auto;
347
+ overflow-x: hidden;
348
+ max-height: 200px;
349
+ overflow-scrolling: touch;
350
+ scroll-behavior: smooth;
351
+ }
352
+ .ts-hidden-accessible {
353
+ border: 0 !important;
354
+ clip: rect(0 0 0 0) !important;
355
+ -webkit-clip-path: inset(50%) !important;
356
+ clip-path: inset(50%) !important;
357
+ height: 1px !important;
358
+ overflow: hidden !important;
359
+ padding: 0 !important;
360
+ position: absolute !important;
361
+ width: 1px !important;
362
+ white-space: nowrap !important;
363
+ }
364
+ .ts-wrapper.form-control,
365
+ .ts-wrapper.form-select {
366
+ padding: 0 !important;
367
+ }
368
+ .ts-dropdown,
369
+ .ts-dropdown.form-control,
370
+ .ts-dropdown.form-select {
371
+ height: auto;
372
+ padding: 0;
373
+ z-index: 1000;
374
+ background: #fff;
375
+ border: 1px solid rgba(0, 0, 0, 0.15);
376
+ border-radius: 0.25rem;
377
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
378
+ }
379
+ .ts-dropdown .optgroup-header {
380
+ font-size: 0.875rem;
381
+ line-height: 1.5;
382
+ }
383
+ .ts-dropdown .optgroup:first-child:before {
384
+ display: none;
385
+ }
386
+ .ts-dropdown .optgroup:before {
387
+ content: " ";
388
+ display: block;
389
+ height: 0;
390
+ margin: 0.5rem 0;
391
+ overflow: hidden;
392
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
393
+ margin-left: -0.75rem;
394
+ margin-right: -0.75rem;
395
+ }
396
+ .ts-dropdown .create {
397
+ padding-left: 0.75rem;
398
+ }
399
+ .ts-dropdown-content {
400
+ padding: 5px 0;
401
+ }
402
+ .ts-control {
403
+ min-height: calc(1.5em + 0.75rem + 2px);
404
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
405
+ display: flex;
406
+ align-items: center;
407
+ }
408
+ @media (prefers-reduced-motion: reduce) {
409
+ .ts-control {
410
+ transition: none;
411
+ }
412
+ }
413
+ .ts-control.dropdown -active {
414
+ border-radius: 0.25rem;
415
+ }
416
+ .focus .ts-control {
417
+ border-color: #86b7fe;
418
+ outline: 0;
419
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
420
+ }
421
+ .ts-control .item {
422
+ display: flex;
423
+ align-items: center;
424
+ }
425
+ .is-invalid .ts-control,
426
+ .was-validated .invalid .ts-control {
427
+ border-color: #dc3545;
428
+ }
429
+ .focus .is-invalid .ts-control,
430
+ .focus .was-validated .invalid .ts-control {
431
+ border-color: #bd2130;
432
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
433
+ }
434
+ .is-valid .ts-control {
435
+ border-color: #198754;
436
+ }
437
+ .focus .is-valid .ts-control {
438
+ border-color: #198754;
439
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
440
+ }
441
+ .input-group-sm > .ts-wrapper .ts-control,
442
+ .ts-wrapper.form-select-sm .ts-control,
443
+ .ts-wrapper.form-control-sm .ts-control {
444
+ min-height: calc(1.5em + 0.5rem + 2px);
445
+ padding: 0 0.75rem;
446
+ border-radius: 0.2rem;
447
+ font-size: 0.875rem;
448
+ }
449
+ .input-group-sm > .ts-wrapper.has-items .ts-control,
450
+ .ts-wrapper.form-select-sm.has-items .ts-control,
451
+ .ts-wrapper.form-control-sm.has-items .ts-control {
452
+ min-height: calc(1.5em + 0.5rem + 2px) !important;
453
+ font-size: 0.875rem;
454
+ padding-bottom: 0;
455
+ }
456
+ .input-group-sm > .ts-wrapper.multi.has-items .ts-control,
457
+ .ts-wrapper.form-select-sm.multi.has-items .ts-control,
458
+ .ts-wrapper.form-control-sm.multi.has-items .ts-control {
459
+ padding-top: calc((1.5em + 0.5rem + 2px - 1.3125rem - 4px) / 2) !important;
460
+ }
461
+ .ts-wrapper.multi.has-items .ts-control {
462
+ padding-left: calc(0.75rem - 5px);
463
+ padding-right: calc(0.75rem - 5px);
464
+ }
465
+ .ts-wrapper.multi .ts-control > div {
466
+ border-radius: calc(0.25rem - 1px);
467
+ }
468
+ .input-group-lg > .ts-wrapper > .ts-control,
469
+ .ts-wrapper.form-control-lg .ts-control,
470
+ .ts-wrapper.form-select-lg .ts-control {
471
+ min-height: calc(1.5em + 1rem + 2px);
472
+ border-radius: 0.3rem;
473
+ font-size: 1.25rem;
474
+ }
475
+ .ts-wrapper:not(.form-select) {
476
+ padding: 0;
477
+ border: none;
478
+ height: auto;
479
+ box-shadow: none;
480
+ background: none;
481
+ }
482
+ .ts-wrapper:not(.form-select).single .ts-control {
483
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
484
+ background-repeat: no-repeat;
485
+ background-position: right 0.75rem center;
486
+ background-size: 16px 12px;
487
+ padding-right: 2rem;
488
+ }
489
+ .ts-wrapper.form-select {
490
+ padding: 0;
491
+ height: auto;
492
+ }
493
+ .ts-wrapper.form-select .ts-control,
494
+ .ts-wrapper.form-select.single.input-active .ts-control {
495
+ border: none !important;
496
+ background: transparent !important;
497
+ }
498
+ .input-group > .ts-wrapper {
499
+ flex-grow: 1;
500
+ }
501
+ .input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control {
502
+ border-top-left-radius: 0;
503
+ border-bottom-left-radius: 0;
504
+ }
505
+ .input-group > .ts-wrapper:not(:last-child) > .ts-control {
506
+ border-top-right-radius: 0;
507
+ border-bottom-right-radius: 0;
508
+ }
509
+ .flatpickr-calendar {
510
+ background: transparent;
511
+ opacity: 0;
512
+ display: none;
513
+ text-align: center;
514
+ visibility: hidden;
515
+ padding: 0;
516
+ -webkit-animation: none;
517
+ animation: none;
518
+ direction: ltr;
519
+ border: 0;
520
+ font-size: 14px;
521
+ line-height: 24px;
522
+ border-radius: 5px;
523
+ position: absolute;
524
+ width: 307.875px;
525
+ -webkit-box-sizing: border-box;
526
+ box-sizing: border-box;
527
+ -ms-touch-action: manipulation;
528
+ touch-action: manipulation;
529
+ background: #fff;
530
+ -webkit-box-shadow:
531
+ 1px 0 0 #e6e6e6,
532
+ -1px 0 0 #e6e6e6,
533
+ 0 1px 0 #e6e6e6,
534
+ 0 -1px 0 #e6e6e6,
535
+ 0 3px 13px rgba(0, 0, 0, 0.08);
536
+ box-shadow:
537
+ 1px 0 0 #e6e6e6,
538
+ -1px 0 0 #e6e6e6,
539
+ 0 1px 0 #e6e6e6,
540
+ 0 -1px 0 #e6e6e6,
541
+ 0 3px 13px rgba(0, 0, 0, 0.08);
542
+ }
543
+ .flatpickr-calendar.open,
544
+ .flatpickr-calendar.inline {
545
+ opacity: 1;
546
+ max-height: 640px;
547
+ visibility: visible;
548
+ }
549
+ .flatpickr-calendar.open {
550
+ display: inline-block;
551
+ z-index: 99999;
552
+ }
553
+ .flatpickr-calendar.animate.open {
554
+ -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
555
+ animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
556
+ }
557
+ .flatpickr-calendar.inline {
558
+ display: block;
559
+ position: relative;
560
+ top: 2px;
561
+ }
562
+ .flatpickr-calendar.static {
563
+ position: absolute;
564
+ top: calc(100% + 2px);
565
+ }
566
+ .flatpickr-calendar.static.open {
567
+ z-index: 999;
568
+ display: block;
569
+ }
570
+ .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
571
+ -webkit-box-shadow: none !important;
572
+ box-shadow: none !important;
573
+ }
574
+ .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
575
+ -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
576
+ box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
577
+ }
578
+ .flatpickr-calendar .hasWeeks .dayContainer,
579
+ .flatpickr-calendar .hasTime .dayContainer {
580
+ border-bottom: 0;
581
+ border-bottom-right-radius: 0;
582
+ border-bottom-left-radius: 0;
583
+ }
584
+ .flatpickr-calendar .hasWeeks .dayContainer {
585
+ border-left: 0;
586
+ }
587
+ .flatpickr-calendar.hasTime .flatpickr-time {
588
+ height: 40px;
589
+ border-top: 1px solid #e6e6e6;
590
+ }
591
+ .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
592
+ height: auto;
593
+ }
594
+ .flatpickr-calendar:before,
595
+ .flatpickr-calendar:after {
596
+ position: absolute;
597
+ display: block;
598
+ pointer-events: none;
599
+ border: solid transparent;
600
+ content: "";
601
+ height: 0;
602
+ width: 0;
603
+ left: 22px;
604
+ }
605
+ .flatpickr-calendar.rightMost:before,
606
+ .flatpickr-calendar.arrowRight:before,
607
+ .flatpickr-calendar.rightMost:after,
608
+ .flatpickr-calendar.arrowRight:after {
609
+ left: auto;
610
+ right: 22px;
611
+ }
612
+ .flatpickr-calendar.arrowCenter:before,
613
+ .flatpickr-calendar.arrowCenter:after {
614
+ left: 50%;
615
+ right: 50%;
616
+ }
617
+ .flatpickr-calendar:before {
618
+ border-width: 5px;
619
+ margin: 0 -5px;
620
+ }
621
+ .flatpickr-calendar:after {
622
+ border-width: 4px;
623
+ margin: 0 -4px;
624
+ }
625
+ .flatpickr-calendar.arrowTop:before,
626
+ .flatpickr-calendar.arrowTop:after {
627
+ bottom: 100%;
628
+ }
629
+ .flatpickr-calendar.arrowTop:before {
630
+ border-bottom-color: #e6e6e6;
631
+ }
632
+ .flatpickr-calendar.arrowTop:after {
633
+ border-bottom-color: #fff;
634
+ }
635
+ .flatpickr-calendar.arrowBottom:before,
636
+ .flatpickr-calendar.arrowBottom:after {
637
+ top: 100%;
638
+ }
639
+ .flatpickr-calendar.arrowBottom:before {
640
+ border-top-color: #e6e6e6;
641
+ }
642
+ .flatpickr-calendar.arrowBottom:after {
643
+ border-top-color: #fff;
644
+ }
645
+ .flatpickr-calendar:focus {
646
+ outline: 0;
647
+ }
648
+ .flatpickr-wrapper {
649
+ position: relative;
650
+ display: inline-block;
651
+ }
652
+ .flatpickr-months {
653
+ display: -webkit-box;
654
+ display: -webkit-flex;
655
+ display: -ms-flexbox;
656
+ display: flex;
657
+ }
658
+ .flatpickr-months .flatpickr-month {
659
+ background: transparent;
660
+ color: rgba(0, 0, 0, 0.9);
661
+ fill: rgba(0, 0, 0, 0.9);
662
+ height: 34px;
663
+ line-height: 1;
664
+ text-align: center;
665
+ position: relative;
666
+ -webkit-user-select: none;
667
+ -moz-user-select: none;
668
+ -ms-user-select: none;
669
+ user-select: none;
670
+ overflow: hidden;
671
+ -webkit-box-flex: 1;
672
+ -webkit-flex: 1;
673
+ -ms-flex: 1;
674
+ flex: 1;
675
+ }
676
+ .flatpickr-months .flatpickr-prev-month,
677
+ .flatpickr-months .flatpickr-next-month {
678
+ text-decoration: none;
679
+ cursor: pointer;
680
+ position: absolute;
681
+ top: 0;
682
+ height: 34px;
683
+ padding: 10px;
684
+ z-index: 3;
685
+ color: rgba(0, 0, 0, 0.9);
686
+ fill: rgba(0, 0, 0, 0.9);
687
+ }
688
+ .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
689
+ .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
690
+ display: none;
691
+ }
692
+ .flatpickr-months .flatpickr-prev-month i,
693
+ .flatpickr-months .flatpickr-next-month i {
694
+ position: relative;
695
+ }
696
+ .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
697
+ .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
698
+ left: 0;
699
+ }
700
+ .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
701
+ .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
702
+ right: 0;
703
+ }
704
+ .flatpickr-months .flatpickr-prev-month:hover,
705
+ .flatpickr-months .flatpickr-next-month:hover {
706
+ color: #959ea9;
707
+ }
708
+ .flatpickr-months .flatpickr-prev-month:hover svg,
709
+ .flatpickr-months .flatpickr-next-month:hover svg {
710
+ fill: #f64747;
711
+ }
712
+ .flatpickr-months .flatpickr-prev-month svg,
713
+ .flatpickr-months .flatpickr-next-month svg {
714
+ width: 14px;
715
+ height: 14px;
716
+ }
717
+ .flatpickr-months .flatpickr-prev-month svg path,
718
+ .flatpickr-months .flatpickr-next-month svg path {
719
+ -webkit-transition: fill 0.1s;
720
+ transition: fill 0.1s;
721
+ fill: inherit;
722
+ }
723
+ .numInputWrapper {
724
+ position: relative;
725
+ height: auto;
726
+ }
727
+ .numInputWrapper input,
728
+ .numInputWrapper span {
729
+ display: inline-block;
730
+ }
731
+ .numInputWrapper input {
732
+ width: 100%;
733
+ }
734
+ .numInputWrapper input::-ms-clear {
735
+ display: none;
736
+ }
737
+ .numInputWrapper input::-webkit-outer-spin-button,
738
+ .numInputWrapper input::-webkit-inner-spin-button {
739
+ margin: 0;
740
+ -webkit-appearance: none;
741
+ }
742
+ .numInputWrapper span {
743
+ position: absolute;
744
+ right: 0;
745
+ width: 14px;
746
+ padding: 0 4px 0 2px;
747
+ height: 50%;
748
+ line-height: 50%;
749
+ opacity: 0;
750
+ cursor: pointer;
751
+ border: 1px solid rgba(57, 57, 57, 0.15);
752
+ -webkit-box-sizing: border-box;
753
+ box-sizing: border-box;
754
+ }
755
+ .numInputWrapper span:hover {
756
+ background: rgba(0, 0, 0, 0.1);
757
+ }
758
+ .numInputWrapper span:active {
759
+ background: rgba(0, 0, 0, 0.2);
760
+ }
761
+ .numInputWrapper span:after {
762
+ display: block;
763
+ content: "";
764
+ position: absolute;
765
+ }
766
+ .numInputWrapper span.arrowUp {
767
+ top: 0;
768
+ border-bottom: 0;
769
+ }
770
+ .numInputWrapper span.arrowUp:after {
771
+ border-left: 4px solid transparent;
772
+ border-right: 4px solid transparent;
773
+ border-bottom: 4px solid rgba(57, 57, 57, 0.6);
774
+ top: 26%;
775
+ }
776
+ .numInputWrapper span.arrowDown {
777
+ top: 50%;
778
+ }
779
+ .numInputWrapper span.arrowDown:after {
780
+ border-left: 4px solid transparent;
781
+ border-right: 4px solid transparent;
782
+ border-top: 4px solid rgba(57, 57, 57, 0.6);
783
+ top: 40%;
784
+ }
785
+ .numInputWrapper span svg {
786
+ width: inherit;
787
+ height: auto;
788
+ }
789
+ .numInputWrapper span svg path {
790
+ fill: rgba(0, 0, 0, 0.5);
791
+ }
792
+ .numInputWrapper:hover {
793
+ background: rgba(0, 0, 0, 0.05);
794
+ }
795
+ .numInputWrapper:hover span {
796
+ opacity: 1;
797
+ }
798
+ .flatpickr-current-month {
799
+ font-size: 135%;
800
+ line-height: inherit;
801
+ font-weight: 300;
802
+ color: inherit;
803
+ position: absolute;
804
+ width: 75%;
805
+ left: 12.5%;
806
+ padding: 7.48px 0 0 0;
807
+ line-height: 1;
808
+ height: 34px;
809
+ display: inline-block;
810
+ text-align: center;
811
+ -webkit-transform: translate3d(0px, 0px, 0px);
812
+ transform: translate3d(0px, 0px, 0px);
813
+ }
814
+ .flatpickr-current-month span.cur-month {
815
+ font-family: inherit;
816
+ font-weight: 700;
817
+ color: inherit;
818
+ display: inline-block;
819
+ margin-left: 0.5ch;
820
+ padding: 0;
821
+ }
822
+ .flatpickr-current-month span.cur-month:hover {
823
+ background: rgba(0, 0, 0, 0.05);
824
+ }
825
+ .flatpickr-current-month .numInputWrapper {
826
+ width: 6ch;
827
+ width: 7ch \fffd;
828
+ display: inline-block;
829
+ }
830
+ .flatpickr-current-month .numInputWrapper span.arrowUp:after {
831
+ border-bottom-color: rgba(0, 0, 0, 0.9);
832
+ }
833
+ .flatpickr-current-month .numInputWrapper span.arrowDown:after {
834
+ border-top-color: rgba(0, 0, 0, 0.9);
835
+ }
836
+ .flatpickr-current-month input.cur-year {
837
+ background: transparent;
838
+ -webkit-box-sizing: border-box;
839
+ box-sizing: border-box;
840
+ color: inherit;
841
+ cursor: text;
842
+ padding: 0 0 0 0.5ch;
843
+ margin: 0;
844
+ display: inline-block;
845
+ font-size: inherit;
846
+ font-family: inherit;
847
+ font-weight: 300;
848
+ line-height: inherit;
849
+ height: auto;
850
+ border: 0;
851
+ border-radius: 0;
852
+ vertical-align: initial;
853
+ -webkit-appearance: textfield;
854
+ -moz-appearance: textfield;
855
+ appearance: textfield;
856
+ }
857
+ .flatpickr-current-month input.cur-year:focus {
858
+ outline: 0;
859
+ }
860
+ .flatpickr-current-month input.cur-year[disabled],
861
+ .flatpickr-current-month input.cur-year[disabled]:hover {
862
+ font-size: 100%;
863
+ color: rgba(0, 0, 0, 0.5);
864
+ background: transparent;
865
+ pointer-events: none;
866
+ }
867
+ .flatpickr-current-month .flatpickr-monthDropdown-months {
868
+ appearance: menulist;
869
+ background: transparent;
870
+ border: none;
871
+ border-radius: 0;
872
+ box-sizing: border-box;
873
+ color: inherit;
874
+ cursor: pointer;
875
+ font-size: inherit;
876
+ font-family: inherit;
877
+ font-weight: 300;
878
+ height: auto;
879
+ line-height: inherit;
880
+ margin: -1px 0 0 0;
881
+ outline: none;
882
+ padding: 0 0 0 0.5ch;
883
+ position: relative;
884
+ vertical-align: initial;
885
+ -webkit-box-sizing: border-box;
886
+ -webkit-appearance: menulist;
887
+ -moz-appearance: menulist;
888
+ width: auto;
889
+ }
890
+ .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
891
+ .flatpickr-current-month .flatpickr-monthDropdown-months:active {
892
+ outline: none;
893
+ }
894
+ .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
895
+ background: rgba(0, 0, 0, 0.05);
896
+ }
897
+ .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
898
+ background-color: transparent;
899
+ outline: none;
900
+ padding: 0;
901
+ }
902
+ .flatpickr-weekdays {
903
+ background: transparent;
904
+ text-align: center;
905
+ overflow: hidden;
906
+ width: 100%;
907
+ display: -webkit-box;
908
+ display: -webkit-flex;
909
+ display: -ms-flexbox;
910
+ display: flex;
911
+ -webkit-box-align: center;
912
+ -webkit-align-items: center;
913
+ -ms-flex-align: center;
914
+ align-items: center;
915
+ height: 28px;
916
+ }
917
+ .flatpickr-weekdays .flatpickr-weekdaycontainer {
918
+ display: -webkit-box;
919
+ display: -webkit-flex;
920
+ display: -ms-flexbox;
921
+ display: flex;
922
+ -webkit-box-flex: 1;
923
+ -webkit-flex: 1;
924
+ -ms-flex: 1;
925
+ flex: 1;
926
+ }
927
+ span.flatpickr-weekday {
928
+ cursor: default;
929
+ font-size: 90%;
930
+ background: transparent;
931
+ color: rgba(0, 0, 0, 0.54);
932
+ line-height: 1;
933
+ margin: 0;
934
+ text-align: center;
935
+ display: block;
936
+ -webkit-box-flex: 1;
937
+ -webkit-flex: 1;
938
+ -ms-flex: 1;
939
+ flex: 1;
940
+ font-weight: bolder;
941
+ }
942
+ .dayContainer,
943
+ .flatpickr-weeks {
944
+ padding: 1px 0 0 0;
945
+ }
946
+ .flatpickr-days {
947
+ position: relative;
948
+ overflow: hidden;
949
+ display: -webkit-box;
950
+ display: -webkit-flex;
951
+ display: -ms-flexbox;
952
+ display: flex;
953
+ -webkit-box-align: start;
954
+ -webkit-align-items: flex-start;
955
+ -ms-flex-align: start;
956
+ align-items: flex-start;
957
+ width: 307.875px;
958
+ }
959
+ .flatpickr-days:focus {
960
+ outline: 0;
961
+ }
962
+ .dayContainer {
963
+ padding: 0;
964
+ outline: 0;
965
+ text-align: left;
966
+ width: 307.875px;
967
+ min-width: 307.875px;
968
+ max-width: 307.875px;
969
+ -webkit-box-sizing: border-box;
970
+ box-sizing: border-box;
971
+ display: inline-block;
972
+ display: -ms-flexbox;
973
+ display: -webkit-box;
974
+ display: -webkit-flex;
975
+ display: flex;
976
+ -webkit-flex-wrap: wrap;
977
+ flex-wrap: wrap;
978
+ -ms-flex-wrap: wrap;
979
+ -ms-flex-pack: justify;
980
+ -webkit-justify-content: space-around;
981
+ justify-content: space-around;
982
+ -webkit-transform: translate3d(0px, 0px, 0px);
983
+ transform: translate3d(0px, 0px, 0px);
984
+ opacity: 1;
985
+ }
986
+ .dayContainer + .dayContainer {
987
+ -webkit-box-shadow: -1px 0 0 #e6e6e6;
988
+ box-shadow: -1px 0 0 #e6e6e6;
989
+ }
990
+ .flatpickr-day {
991
+ background: none;
992
+ border: 1px solid transparent;
993
+ border-radius: 150px;
994
+ -webkit-box-sizing: border-box;
995
+ box-sizing: border-box;
996
+ color: #393939;
997
+ cursor: pointer;
998
+ font-weight: 400;
999
+ width: 14.2857143%;
1000
+ -webkit-flex-basis: 14.2857143%;
1001
+ -ms-flex-preferred-size: 14.2857143%;
1002
+ flex-basis: 14.2857143%;
1003
+ max-width: 39px;
1004
+ height: 39px;
1005
+ line-height: 39px;
1006
+ margin: 0;
1007
+ display: inline-block;
1008
+ position: relative;
1009
+ -webkit-box-pack: center;
1010
+ -webkit-justify-content: center;
1011
+ -ms-flex-pack: center;
1012
+ justify-content: center;
1013
+ text-align: center;
1014
+ }
1015
+ .flatpickr-day.inRange,
1016
+ .flatpickr-day.prevMonthDay.inRange,
1017
+ .flatpickr-day.nextMonthDay.inRange,
1018
+ .flatpickr-day.today.inRange,
1019
+ .flatpickr-day.prevMonthDay.today.inRange,
1020
+ .flatpickr-day.nextMonthDay.today.inRange,
1021
+ .flatpickr-day:hover,
1022
+ .flatpickr-day.prevMonthDay:hover,
1023
+ .flatpickr-day.nextMonthDay:hover,
1024
+ .flatpickr-day:focus,
1025
+ .flatpickr-day.prevMonthDay:focus,
1026
+ .flatpickr-day.nextMonthDay:focus {
1027
+ cursor: pointer;
1028
+ outline: 0;
1029
+ background: #e6e6e6;
1030
+ border-color: #e6e6e6;
1031
+ }
1032
+ .flatpickr-day.today {
1033
+ border-color: #959ea9;
1034
+ }
1035
+ .flatpickr-day.today:hover,
1036
+ .flatpickr-day.today:focus {
1037
+ border-color: #959ea9;
1038
+ background: #959ea9;
1039
+ color: #fff;
1040
+ }
1041
+ .flatpickr-day.selected,
1042
+ .flatpickr-day.startRange,
1043
+ .flatpickr-day.endRange,
1044
+ .flatpickr-day.selected.inRange,
1045
+ .flatpickr-day.startRange.inRange,
1046
+ .flatpickr-day.endRange.inRange,
1047
+ .flatpickr-day.selected:focus,
1048
+ .flatpickr-day.startRange:focus,
1049
+ .flatpickr-day.endRange:focus,
1050
+ .flatpickr-day.selected:hover,
1051
+ .flatpickr-day.startRange:hover,
1052
+ .flatpickr-day.endRange:hover,
1053
+ .flatpickr-day.selected.prevMonthDay,
1054
+ .flatpickr-day.startRange.prevMonthDay,
1055
+ .flatpickr-day.endRange.prevMonthDay,
1056
+ .flatpickr-day.selected.nextMonthDay,
1057
+ .flatpickr-day.startRange.nextMonthDay,
1058
+ .flatpickr-day.endRange.nextMonthDay {
1059
+ background: #569ff7;
1060
+ -webkit-box-shadow: none;
1061
+ box-shadow: none;
1062
+ color: #fff;
1063
+ border-color: #569ff7;
1064
+ }
1065
+ .flatpickr-day.selected.startRange,
1066
+ .flatpickr-day.startRange.startRange,
1067
+ .flatpickr-day.endRange.startRange {
1068
+ border-radius: 50px 0 0 50px;
1069
+ }
1070
+ .flatpickr-day.selected.endRange,
1071
+ .flatpickr-day.startRange.endRange,
1072
+ .flatpickr-day.endRange.endRange {
1073
+ border-radius: 0 50px 50px 0;
1074
+ }
1075
+ .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
1076
+ .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
1077
+ .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
1078
+ -webkit-box-shadow: -10px 0 0 #569ff7;
1079
+ box-shadow: -10px 0 0 #569ff7;
1080
+ }
1081
+ .flatpickr-day.selected.startRange.endRange,
1082
+ .flatpickr-day.startRange.startRange.endRange,
1083
+ .flatpickr-day.endRange.startRange.endRange {
1084
+ border-radius: 50px;
1085
+ }
1086
+ .flatpickr-day.inRange {
1087
+ border-radius: 0;
1088
+ -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
1089
+ box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
1090
+ }
1091
+ .flatpickr-day.flatpickr-disabled,
1092
+ .flatpickr-day.flatpickr-disabled:hover,
1093
+ .flatpickr-day.prevMonthDay,
1094
+ .flatpickr-day.nextMonthDay,
1095
+ .flatpickr-day.notAllowed,
1096
+ .flatpickr-day.notAllowed.prevMonthDay,
1097
+ .flatpickr-day.notAllowed.nextMonthDay {
1098
+ color: rgba(57, 57, 57, 0.3);
1099
+ background: transparent;
1100
+ border-color: transparent;
1101
+ cursor: default;
1102
+ }
1103
+ .flatpickr-day.flatpickr-disabled,
1104
+ .flatpickr-day.flatpickr-disabled:hover {
1105
+ cursor: not-allowed;
1106
+ color: rgba(57, 57, 57, 0.1);
1107
+ }
1108
+ .flatpickr-day.week.selected {
1109
+ border-radius: 0;
1110
+ -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
1111
+ box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
1112
+ }
1113
+ .flatpickr-day.hidden {
1114
+ visibility: hidden;
1115
+ }
1116
+ .rangeMode .flatpickr-day {
1117
+ margin-top: 1px;
1118
+ }
1119
+ .flatpickr-weekwrapper {
1120
+ float: left;
1121
+ }
1122
+ .flatpickr-weekwrapper .flatpickr-weeks {
1123
+ padding: 0 12px;
1124
+ -webkit-box-shadow: 1px 0 0 #e6e6e6;
1125
+ box-shadow: 1px 0 0 #e6e6e6;
1126
+ }
1127
+ .flatpickr-weekwrapper .flatpickr-weekday {
1128
+ float: none;
1129
+ width: 100%;
1130
+ line-height: 28px;
1131
+ }
1132
+ .flatpickr-weekwrapper span.flatpickr-day,
1133
+ .flatpickr-weekwrapper span.flatpickr-day:hover {
1134
+ display: block;
1135
+ width: 100%;
1136
+ max-width: none;
1137
+ color: rgba(57, 57, 57, 0.3);
1138
+ background: transparent;
1139
+ cursor: default;
1140
+ border: none;
1141
+ }
1142
+ .flatpickr-innerContainer {
1143
+ display: block;
1144
+ display: -webkit-box;
1145
+ display: -webkit-flex;
1146
+ display: -ms-flexbox;
1147
+ display: flex;
1148
+ -webkit-box-sizing: border-box;
1149
+ box-sizing: border-box;
1150
+ overflow: hidden;
1151
+ }
1152
+ .flatpickr-rContainer {
1153
+ display: inline-block;
1154
+ padding: 0;
1155
+ -webkit-box-sizing: border-box;
1156
+ box-sizing: border-box;
1157
+ }
1158
+ .flatpickr-time {
1159
+ text-align: center;
1160
+ outline: 0;
1161
+ display: block;
1162
+ height: 0;
1163
+ line-height: 40px;
1164
+ max-height: 40px;
1165
+ -webkit-box-sizing: border-box;
1166
+ box-sizing: border-box;
1167
+ overflow: hidden;
1168
+ display: -webkit-box;
1169
+ display: -webkit-flex;
1170
+ display: -ms-flexbox;
1171
+ display: flex;
1172
+ }
1173
+ .flatpickr-time:after {
1174
+ content: "";
1175
+ display: table;
1176
+ clear: both;
1177
+ }
1178
+ .flatpickr-time .numInputWrapper {
1179
+ -webkit-box-flex: 1;
1180
+ -webkit-flex: 1;
1181
+ -ms-flex: 1;
1182
+ flex: 1;
1183
+ width: 40%;
1184
+ height: 40px;
1185
+ float: left;
1186
+ }
1187
+ .flatpickr-time .numInputWrapper span.arrowUp:after {
1188
+ border-bottom-color: #393939;
1189
+ }
1190
+ .flatpickr-time .numInputWrapper span.arrowDown:after {
1191
+ border-top-color: #393939;
1192
+ }
1193
+ .flatpickr-time.hasSeconds .numInputWrapper {
1194
+ width: 26%;
1195
+ }
1196
+ .flatpickr-time.time24hr .numInputWrapper {
1197
+ width: 49%;
1198
+ }
1199
+ .flatpickr-time input {
1200
+ background: transparent;
1201
+ -webkit-box-shadow: none;
1202
+ box-shadow: none;
1203
+ border: 0;
1204
+ border-radius: 0;
1205
+ text-align: center;
1206
+ margin: 0;
1207
+ padding: 0;
1208
+ height: inherit;
1209
+ line-height: inherit;
1210
+ color: #393939;
1211
+ font-size: 14px;
1212
+ position: relative;
1213
+ -webkit-box-sizing: border-box;
1214
+ box-sizing: border-box;
1215
+ -webkit-appearance: textfield;
1216
+ -moz-appearance: textfield;
1217
+ appearance: textfield;
1218
+ }
1219
+ .flatpickr-time input.flatpickr-hour {
1220
+ font-weight: bold;
1221
+ }
1222
+ .flatpickr-time input.flatpickr-minute,
1223
+ .flatpickr-time input.flatpickr-second {
1224
+ font-weight: 400;
1225
+ }
1226
+ .flatpickr-time input:focus {
1227
+ outline: 0;
1228
+ border: 0;
1229
+ }
1230
+ .flatpickr-time .flatpickr-time-separator,
1231
+ .flatpickr-time .flatpickr-am-pm {
1232
+ height: inherit;
1233
+ float: left;
1234
+ line-height: inherit;
1235
+ color: #393939;
1236
+ font-weight: bold;
1237
+ width: 2%;
1238
+ -webkit-user-select: none;
1239
+ -moz-user-select: none;
1240
+ -ms-user-select: none;
1241
+ user-select: none;
1242
+ -webkit-align-self: center;
1243
+ -ms-flex-item-align: center;
1244
+ align-self: center;
1245
+ }
1246
+ .flatpickr-time .flatpickr-am-pm {
1247
+ outline: 0;
1248
+ width: 18%;
1249
+ cursor: pointer;
1250
+ text-align: center;
1251
+ font-weight: 400;
1252
+ }
1253
+ .flatpickr-time input:hover,
1254
+ .flatpickr-time .flatpickr-am-pm:hover,
1255
+ .flatpickr-time input:focus,
1256
+ .flatpickr-time .flatpickr-am-pm:focus {
1257
+ background: #eee;
1258
+ }
1259
+ .flatpickr-input[readonly] {
1260
+ cursor: pointer;
1261
+ }
1262
+ @-webkit-keyframes fpFadeInDown {
1263
+ from {
1264
+ opacity: 0;
1265
+ -webkit-transform: translate3d(0, -20px, 0);
1266
+ transform: translate3d(0, -20px, 0);
1267
+ }
1268
+ to {
1269
+ opacity: 1;
1270
+ -webkit-transform: translate3d(0, 0, 0);
1271
+ transform: translate3d(0, 0, 0);
1272
+ }
1273
+ }
1274
+ @keyframes fpFadeInDown {
1275
+ from {
1276
+ opacity: 0;
1277
+ -webkit-transform: translate3d(0, -20px, 0);
1278
+ transform: translate3d(0, -20px, 0);
1279
+ }
1280
+ to {
1281
+ opacity: 1;
1282
+ -webkit-transform: translate3d(0, 0, 0);
1283
+ transform: translate3d(0, 0, 0);
1284
+ }
1285
+ }
1286
+ .form-label[required=required]:after,
1287
+ .form-check-label[required=required]:after {
1288
+ content: " *";
1289
+ color: var(--bs-danger-rgb);
1290
+ }
1291
+ .h-autocomplete {
1292
+ --fs-dropdown-z-index: 1000;
1293
+ --fs-dropdown-font-size: 1rem;
1294
+ --fs-dropdown-border-radius: 0.375rem;
1295
+ --fs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
1296
+ position: absolute;
1297
+ top: calc(100% + 2px);
1298
+ left: 0;
1299
+ z-index: var(--fs-dropdown-z-index);
1300
+ width: 100%;
1301
+ font-size: var(--fs-dropdown-font-size);
1302
+ word-wrap: break-word;
1303
+ background-color: var(--bs-body-bg);
1304
+ background-clip: padding-box;
1305
+ border-radius: var(--fs-dropdown-border-radius) !important;
1306
+ box-shadow: var(--fs-dropdown-box-shadow);
1307
+ border: var(--bs-border-width) solid var(--bs-border-color-translucent);
1308
+ overflow: hidden;
1309
+ }
1310
+ .h-autocomplete .list-group-flush {
1311
+ margin: 0;
1312
+ padding: 0;
1313
+ }
1314
+ .h-form-file {
1315
+ --fs-file-spacer-2: 1rem * .5;
1316
+ }
1317
+ .h-form-file .h-form-file-thumbnails {
1318
+ margin-bottom: var(--fs-file-spacer-2);
1319
+ }
1320
+ .h-form-file.h-dropzone {
1321
+ padding: var(--fs-file-spacer-2);
1322
+ }
1323
+ .h-form-file.h-dropzone .h-form-file-thumbnails {
1324
+ margin-bottom: 0;
1325
+ }
1326
+ .h-form-file-thumbnails {
1327
+ position: relative;
1328
+ display: flex;
1329
+ flex-wrap: wrap;
1330
+ gap: var(--fs-file-spacer-2);
1331
+ }
1332
+ .h-form-file-thumbnails a,
1333
+ .h-form-file-thumbnails a:link,
1334
+ .h-form-file-thumbnails a:hover {
1335
+ color: inherit;
1336
+ text-decoration: inherit;
1337
+ }
1338
+ .h-form-file-thumbnail {
1339
+ position: relative;
1340
+ pointer-events: initial !important;
1341
+ display: flex;
1342
+ }
1343
+ .h-form-file-thumbnail:hover .h-form-file-thumbnail-actions {
1344
+ display: block;
1345
+ }
1346
+ .h-form-file-thumbnail-actions {
1347
+ display: none;
1348
+ }
1349
+ .h-form-file-thumbnail-remove {
1350
+ position: absolute;
1351
+ top: 5px;
1352
+ right: 5px;
1353
+ background: var(--bs-danger);
1354
+ width: 25px;
1355
+ height: 25px;
1356
+ display: flex;
1357
+ align-items: center;
1358
+ justify-content: center;
1359
+ color: white;
1360
+ border-radius: var(--bs-border-radius-pill);
1361
+ z-index: 3;
1362
+ cursor: pointer;
1363
+ }
1364
+ .h-form-file-thumbnail-remove:hover {
1365
+ opacity: 0.9;
1366
+ }
1367
+ .h-form-file-thumbnail-edit {
1368
+ position: absolute;
1369
+ top: 5px;
1370
+ right: 35px;
1371
+ background-color: rgba(0, 0, 0, 0.7);
1372
+ width: 25px;
1373
+ height: 25px;
1374
+ display: flex;
1375
+ align-items: center;
1376
+ justify-content: center;
1377
+ border-radius: var(--bs-border-radius-pill);
1378
+ z-index: 3;
1379
+ cursor: pointer;
1380
+ color: white !important;
1381
+ }
1382
+ .h-form-file-thumbnail-edit:hover {
1383
+ background-color: rgb(0, 0, 0);
1384
+ }
1385
+ .h-form-media-validation {
1386
+ opacity: 0;
1387
+ width: 100px;
1388
+ height: 0;
1389
+ padding: 0;
1390
+ margin: 0;
1391
+ position: absolute;
1392
+ bottom: 0;
1393
+ left: 0;
1394
+ }
1395
+ .repeater {
1396
+ position: relative;
1397
+ }
1398
+ .repeater-row {
1399
+ position: relative;
1400
+ }
1401
+ .repeater-row:hover .repeater-row-remove {
1402
+ visibility: visible;
1403
+ }
1404
+ .repeater-row:hover .repeater-row-add {
1405
+ visibility: visible;
1406
+ }
1407
+ .repeater-row:hover .repeater-row-handle {
1408
+ visibility: visible;
1409
+ }
1410
+ .repeater-row-remove {
1411
+ position: absolute;
1412
+ top: calc(50% - 17px);
1413
+ right: -22px;
1414
+ z-index: 2;
1415
+ visibility: hidden;
1416
+ }
1417
+ .repeater-row-remove i.bi {
1418
+ background: white;
1419
+ border-radius: 50%;
1420
+ }
1421
+ .repeater-row-add {
1422
+ position: absolute;
1423
+ top: calc(100% - 18px);
1424
+ right: calc(50% - 17px);
1425
+ z-index: 2;
1426
+ visibility: hidden;
1427
+ }
1428
+ .repeater-row-add i.bi {
1429
+ background: white;
1430
+ border-radius: 50%;
1431
+ }
1432
+ .repeater-row-handle {
1433
+ position: absolute;
1434
+ top: 0;
1435
+ left: 0;
1436
+ height: 100%;
1437
+ width: 18px;
1438
+ display: flex;
1439
+ align-items: center;
1440
+ justify-content: center;
1441
+ z-index: 2;
1442
+ visibility: hidden;
1443
+ cursor: move;
1444
+ }
1445
+ input[type=search] {
1446
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%236c757d' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E%0A");
1447
+ background-repeat: no-repeat;
1448
+ background-position: 10px center;
1449
+ padding-left: 35px !important;
1450
+ }
1451
+ .form-floating input[type=search] ~ label {
1452
+ padding-left: 35px;
1453
+ }
1454
+ html {
1455
+ height: 100%;
1456
+ }
1457
+ .list-group-item {
1458
+ --fs-list-group-active-color: #fff;
1459
+ }
1460
+ .list-group-item.active .text-muted {
1461
+ color: var(--fs-list-group-active-color) !important;
1462
+ }
1463
+ mark {
1464
+ --fs-mark-padding: .1875em;
1465
+ padding: 0;
1466
+ box-shadow: 0 var(--fs-mark-padding) 0 var(--bs-yellow), 0 calc(-1 * var(--fs-mark-padding)) 0 var(--bs-yellow);
1467
+ }
1468
+ .btn-link {
1469
+ text-decoration: none;
1470
+ }
1471
+ .h-btn-light {
1472
+ color: var(--bs-gray-600);
1473
+ background-color: var(--bs-gray-200);
1474
+ box-shadow: none;
1475
+ }
1476
+ .h-btn-outline-light {
1477
+ background-color: var(--bs-white);
1478
+ color: var(--bs-gray-600);
1479
+ border-color: var(--bs-gray-300);
1480
+ box-shadow: none;
1481
+ }
1482
+ .h-btn-outline-light:hover,
1483
+ .h-btn-outline-light:focus {
1484
+ background-color: var(--bs-white);
1485
+ border-color: var(--bs-gray-300);
1486
+ }
1487
+ .h-btn-outline-transparent {
1488
+ color: var(--bs-gray-600);
1489
+ border: 1px solid var(--bs-gray-300);
1490
+ box-shadow: none;
1491
+ }
1492
+ .h-dropzone {
1493
+ --fs-input-btn-focus-blur: 0;
1494
+ --fs-input-btn-focus-width: .25rem;
1495
+ --fs-input-btn-focus-color-opacity: .25;
1496
+ position: relative;
1497
+ border: 2px dashed var(--bs-gray-400);
1498
+ border-radius: var(--bs-border-radius);
1499
+ }
1500
+ .h-dropzone > *:not(.form-control) {
1501
+ margin: 0.5rem;
1502
+ pointer-events: none;
1503
+ z-index: 2;
1504
+ }
1505
+ .h-dropzone.dragover,
1506
+ .h-dropzone:hover {
1507
+ border-color: var(--bs-gray-400);
1508
+ }
1509
+ .h-dropzone.dragover input[type=file] {
1510
+ z-index: 3;
1511
+ }
1512
+ .h-dropzone.focus,
1513
+ .h-dropzone.dragover {
1514
+ border-color: var(--bs-primary-border-subtle);
1515
+ outline: 0;
1516
+ box-shadow: var(--bs-box-shadow);
1517
+ }
1518
+ .h-dropzone.focus.is-valid,
1519
+ .h-dropzone.dragover.is-valid {
1520
+ border-color: var(--bs-success);
1521
+ box-shadow: 0 0 var(--fs-input-btn-focus-blur) var(--fs-input-btn-focus-width) rgba(var(--bs-success), var(--fs-input-btn-focus-color-opacity));
1522
+ }
1523
+ .h-dropzone.focus.is-invalid,
1524
+ .h-dropzone.dragover.is-invalid {
1525
+ border-color: var(--bs-danger);
1526
+ box-shadow: 0 0 var(--fs-input-btn-focus-blur) var(--fs-input-btn-focus-width) rgba(var(--bs-danger), var(--fs-input-btn-focus-color-opacity));
1527
+ }
1528
+ .h-dropzone .form-control {
1529
+ position: absolute;
1530
+ top: 0;
1531
+ left: 0;
1532
+ width: 100%;
1533
+ height: 100%;
1534
+ z-index: 1;
1535
+ border: none;
1536
+ box-shadow: none;
1537
+ text-indent: -100vw;
1538
+ color: transparent;
1539
+ background: none;
1540
+ }
1541
+ .h-dropzone.is-invalid {
1542
+ border-color: var(--bs-danger);
1543
+ }
1544
+ .h-dropzone.is-valid {
1545
+ border-color: var(--bs-success);
1546
+ }
1547
+ .h-dropzone-placeholder {
1548
+ color: var(--bs-gray-600);
1549
+ display: flex;
1550
+ align-items: center;
1551
+ justify-content: center;
1552
+ width: 100%;
1553
+ }
1554
+ .media-modal .h-thumbnail {
1555
+ cursor: pointer;
1556
+ }
1557
+ .media-modal input[type=checkbox]:checked + label .h-thumbnail {
1558
+ background-color: #0d6efd;
1559
+ }