@itfin/components 1.2.55 → 1.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itfin/components",
3
- "version": "1.2.55",
3
+ "version": "1.2.57",
4
4
  "author": "Vitalii Savchuk <esvit666@gmail.com>",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -4,7 +4,7 @@
4
4
  // 2. Include any default variable overrides here
5
5
  $font-family-base: 'Fira Sans', sans-serif;
6
6
  $headings-font-family: 'Fira Sans', sans-serif;
7
- $font-family-monospace: 'Fira Mono', monospace;
7
+ $font-family-monospace: "Fira Mono", "Courier New", monospace;
8
8
 
9
9
  $headings-font-size-base: 1rem;
10
10
  $h1-font-size: $headings-font-size-base * 2;
@@ -32,7 +32,7 @@ $input-bg: #f3f3f3;
32
32
  $input-border-color: rgba(#000, .08);
33
33
  $input-border-radius: 10px;
34
34
  $input-font-size: 0.875rem;
35
- $input-font-family: 'Fira Mono', monospace;
35
+ $input-font-family: "Fira Mono", "Courier New", monospace;
36
36
 
37
37
  $input-focus-bg: #fff;
38
38
  $input-focus-border-color: #fff;
@@ -1,4 +1,4 @@
1
- <template><svg height="762" viewBox="0 0 762 762" width="762" xmlns="http://www.w3.org/2000/svg">
1
+ <template><svg viewBox="0 0 762 762" xmlns="http://www.w3.org/2000/svg">
2
2
  <g fill="currentColor" fill-rule="evenodd" stroke="none" transform="translate(125 125)">
3
3
  <path
4
4
  d="M224,435.8V76.1c0-6.7-5.4-12.1-12.2-12.1h-71.6c-6.8,0-12.2,5.4-12.2,12.1v359.7c0,6.7,5.4,12.2,12.2,12.2h71.6 C218.6,448,224,442.6,224,435.8z"/>
@@ -1,4 +1,4 @@
1
- <svg height="762" viewBox="0 0 762 762" width="762" xmlns="http://www.w3.org/2000/svg">
1
+ <svg viewBox="0 0 762 762" xmlns="http://www.w3.org/2000/svg">
2
2
  <g fill="currentColor" fill-rule="evenodd" stroke="none" transform="translate(125 125)">
3
3
  <path
4
4
  d="M224,435.8V76.1c0-6.7-5.4-12.1-12.2-12.1h-71.6c-6.8,0-12.2,5.4-12.2,12.1v359.7c0,6.7,5.4,12.2,12.2,12.2h71.6 C218.6,448,224,442.6,224,435.8z"/>
@@ -1,429 +1,429 @@
1
1
  export default {
2
2
  'align_vertical': () => import('./components/align_vertical.vue'),
3
- 'airplay': () => import('./components/airplay.vue'),
4
3
  'arrow_bottom_right': () => import('./components/arrow_bottom_right.vue'),
5
- 'align_horizontal': () => import('./components/align_horizontal.vue'),
4
+ 'alarm_clock': () => import('./components/alarm_clock.vue'),
5
+ 'arrow_bottom_left': () => import('./components/arrow_bottom_left.vue'),
6
+ 'arrow_left_circle': () => import('./components/arrow_left_circle.vue'),
6
7
  'archive': () => import('./components/archive.vue'),
7
- 'angle': () => import('./components/angle.vue'),
8
- 'arrow_down': () => import('./components/arrow_down.vue'),
9
8
  'arrow_down_circle': () => import('./components/arrow_down_circle.vue'),
10
- 'arrow_right_circle': () => import('./components/arrow_right_circle.vue'),
11
- 'arrow_left': () => import('./components/arrow_left.vue'),
12
- 'arrow_left_circle': () => import('./components/arrow_left_circle.vue'),
13
9
  'arrow_right': () => import('./components/arrow_right.vue'),
14
- 'arrow_top_left': () => import('./components/arrow_top_left.vue'),
10
+ 'arrow_left': () => import('./components/arrow_left.vue'),
15
11
  'arrow_top_right': () => import('./components/arrow_top_right.vue'),
16
12
  'arrow_up': () => import('./components/arrow_up.vue'),
13
+ 'arrow_down': () => import('./components/arrow_down.vue'),
17
14
  'arrow_up_circle': () => import('./components/arrow_up_circle.vue'),
18
- 'backspace': () => import('./components/backspace.vue'),
19
- 'audio_wave': () => import('./components/audio_wave.vue'),
20
- 'backward10': () => import('./components/backward10.vue'),
15
+ 'arrow_top_left': () => import('./components/arrow_top_left.vue'),
21
16
  'backward': () => import('./components/backward.vue'),
22
- 'bag': () => import('./components/bag.vue'),
17
+ 'audio_wave': () => import('./components/audio_wave.vue'),
18
+ 'backspace': () => import('./components/backspace.vue'),
19
+ 'arrow_right_circle': () => import('./components/arrow_right_circle.vue'),
23
20
  'battery_75': () => import('./components/battery_75.vue'),
24
21
  'battery_charging': () => import('./components/battery_charging.vue'),
22
+ 'backward10': () => import('./components/backward10.vue'),
23
+ 'bag': () => import('./components/bag.vue'),
25
24
  'battery_empty': () => import('./components/battery_empty.vue'),
26
- 'battery_full': () => import('./components/battery_full.vue'),
27
- 'battery_half': () => import('./components/battery_half.vue'),
25
+ 'align_horizontal': () => import('./components/align_horizontal.vue'),
28
26
  'battery_low': () => import('./components/battery_low.vue'),
29
- 'bell_ringing': () => import('./components/bell_ringing.vue'),
30
- 'bell': () => import('./components/bell.vue'),
27
+ 'battery_half': () => import('./components/battery_half.vue'),
28
+ 'battery_full': () => import('./components/battery_full.vue'),
31
29
  'bell_disabled': () => import('./components/bell_disabled.vue'),
30
+ 'bluetooth': () => import('./components/bluetooth.vue'),
31
+ 'bell': () => import('./components/bell.vue'),
32
+ 'book': () => import('./components/book.vue'),
33
+ 'book_text': () => import('./components/book_text.vue'),
32
34
  'bell_snooze': () => import('./components/bell_snooze.vue'),
35
+ 'bell_ringing': () => import('./components/bell_ringing.vue'),
33
36
  'bookmark': () => import('./components/bookmark.vue'),
34
37
  'book_closed': () => import('./components/book_closed.vue'),
38
+ 'box_open': () => import('./components/box_open.vue'),
39
+ 'box_download': () => import('./components/box_download.vue'),
35
40
  'bookmark_book': () => import('./components/bookmark_book.vue'),
36
- 'book': () => import('./components/book.vue'),
37
41
  'box': () => import('./components/box.vue'),
38
42
  'briefcase': () => import('./components/briefcase.vue'),
39
- 'box_open': () => import('./components/box_open.vue'),
40
- 'box_download': () => import('./components/box_download.vue'),
41
- 'branch': () => import('./components/branch.vue'),
42
- 'browser_alt': () => import('./components/browser_alt.vue'),
43
43
  'browser': () => import('./components/browser.vue'),
44
- 'calculator': () => import('./components/calculator.vue'),
45
- 'calendar_date': () => import('./components/calendar_date.vue'),
46
- 'calendar_day': () => import('./components/calendar_day.vue'),
47
- 'calendar': () => import('./components/calendar.vue'),
44
+ 'airplay': () => import('./components/airplay.vue'),
48
45
  'button_add': () => import('./components/button_add.vue'),
46
+ 'button_minus': () => import('./components/button_minus.vue'),
47
+ 'calendar': () => import('./components/calendar.vue'),
49
48
  'calendar_add': () => import('./components/calendar_add.vue'),
50
- 'calendar_last_day': () => import('./components/calendar_last_day.vue'),
51
- 'calendar_week': () => import('./components/calendar_week.vue'),
52
- 'calendar_days': () => import('./components/calendar_days.vue'),
49
+ 'calculator': () => import('./components/calculator.vue'),
50
+ 'browser_alt': () => import('./components/browser_alt.vue'),
51
+ 'calendar_day': () => import('./components/calendar_day.vue'),
53
52
  'calendar_move': () => import('./components/calendar_move.vue'),
54
- 'camera': () => import('./components/camera.vue'),
53
+ 'angle': () => import('./components/angle.vue'),
55
54
  'calendar_month': () => import('./components/calendar_month.vue'),
55
+ 'calendar_date': () => import('./components/calendar_date.vue'),
56
56
  'calendar_remove': () => import('./components/calendar_remove.vue'),
57
- 'camera_noflash': () => import('./components/camera_noflash.vue'),
57
+ 'calendar_days': () => import('./components/calendar_days.vue'),
58
+ 'calendar_last_day': () => import('./components/calendar_last_day.vue'),
58
59
  'calendar_split': () => import('./components/calendar_split.vue'),
60
+ 'camera': () => import('./components/camera.vue'),
59
61
  'camera_alt': () => import('./components/camera_alt.vue'),
60
- 'camera_noflash_alt': () => import('./components/camera_noflash_alt.vue'),
61
- 'card_timeline': () => import('./components/card_timeline.vue'),
62
+ 'carousel': () => import('./components/carousel.vue'),
63
+ 'calendar_week': () => import('./components/calendar_week.vue'),
62
64
  'capture': () => import('./components/capture.vue'),
65
+ 'card_view': () => import('./components/card_view.vue'),
66
+ 'camera_noflash_alt': () => import('./components/camera_noflash_alt.vue'),
67
+ 'check': () => import('./components/check.vue'),
68
+ 'cast': () => import('./components/cast.vue'),
69
+ 'camera_noflash': () => import('./components/camera_noflash.vue'),
63
70
  'chain': () => import('./components/chain.vue'),
64
71
  'cart': () => import('./components/cart.vue'),
65
- 'cast': () => import('./components/cast.vue'),
66
- 'carousel': () => import('./components/carousel.vue'),
67
- 'chat_add': () => import('./components/chat_add.vue'),
68
- 'check_circle': () => import('./components/check_circle.vue'),
69
72
  'check_circle_outside': () => import('./components/check_circle_outside.vue'),
73
+ 'chevron_close': () => import('./components/chevron_close.vue'),
74
+ 'check_circle': () => import('./components/check_circle.vue'),
75
+ 'chat_add': () => import('./components/chat_add.vue'),
70
76
  'checkbox_checked': () => import('./components/checkbox_checked.vue'),
71
- 'check': () => import('./components/check.vue'),
77
+ 'card_timeline': () => import('./components/card_timeline.vue'),
72
78
  'checkbox_empty': () => import('./components/checkbox_empty.vue'),
73
- 'chevron_down': () => import('./components/chevron_down.vue'),
74
- 'chevron_down_circle': () => import('./components/chevron_down_circle.vue'),
75
- 'chevron_left_circle': () => import('./components/chevron_left_circle.vue'),
76
- 'chevron_left_double': () => import('./components/chevron_left_double.vue'),
77
- 'chevron_left': () => import('./components/chevron_left.vue'),
78
- 'chevron_right': () => import('./components/chevron_right.vue'),
79
+ 'branch': () => import('./components/branch.vue'),
79
80
  'chevron_down_double': () => import('./components/chevron_down_double.vue'),
80
- 'book_text': () => import('./components/book_text.vue'),
81
+ 'chevron_left_circle': () => import('./components/chevron_left_circle.vue'),
81
82
  'chevron_open': () => import('./components/chevron_open.vue'),
82
- 'chevron_close': () => import('./components/chevron_close.vue'),
83
- 'chevron_up': () => import('./components/chevron_up.vue'),
83
+ 'chevron_right': () => import('./components/chevron_right.vue'),
84
+ 'chevron_left': () => import('./components/chevron_left.vue'),
84
85
  'chevron_right_circle': () => import('./components/chevron_right_circle.vue'),
85
- 'circle_menu': () => import('./components/circle_menu.vue'),
86
- 'chevron_up_double': () => import('./components/chevron_up_double.vue'),
87
- 'card_view': () => import('./components/card_view.vue'),
86
+ 'chevron_up': () => import('./components/chevron_up.vue'),
87
+ 'chevron_right_double': () => import('./components/chevron_right_double.vue'),
88
88
  'circle': () => import('./components/circle.vue'),
89
- 'circle_split': () => import('./components/circle_split.vue'),
90
89
  'chevron_up_circle': () => import('./components/chevron_up_circle.vue'),
91
- 'clipboard_check': () => import('./components/clipboard_check.vue'),
92
- 'clipboard_notes': () => import('./components/clipboard_notes.vue'),
93
- 'clipboard_cross': () => import('./components/clipboard_cross.vue'),
94
- 'button_minus': () => import('./components/button_minus.vue'),
95
- 'clipboard_remove': () => import('./components/clipboard_remove.vue'),
90
+ 'circle_menu': () => import('./components/circle_menu.vue'),
91
+ 'circle_split': () => import('./components/circle_split.vue'),
92
+ 'chevron_up_double': () => import('./components/chevron_up_double.vue'),
93
+ 'clipboard': () => import('./components/clipboard.vue'),
96
94
  'clipboard_add': () => import('./components/clipboard_add.vue'),
95
+ 'clipboard_remove': () => import('./components/clipboard_remove.vue'),
96
+ 'clipboard_cross': () => import('./components/clipboard_cross.vue'),
97
+ 'chevron_down': () => import('./components/chevron_down.vue'),
98
+ 'clipboard_check': () => import('./components/clipboard_check.vue'),
99
+ 'clipboard_copy': () => import('./components/clipboard_copy.vue'),
100
+ 'cloud': () => import('./components/cloud.vue'),
101
+ 'cloud_disconnect': () => import('./components/cloud_disconnect.vue'),
97
102
  'close': () => import('./components/close.vue'),
98
103
  'clock': () => import('./components/clock.vue'),
99
- 'cloud': () => import('./components/cloud.vue'),
104
+ 'cloud_upload_alt': () => import('./components/cloud_upload_alt.vue'),
100
105
  'cloud_download': () => import('./components/cloud_download.vue'),
101
- 'cloud_disconnect': () => import('./components/cloud_disconnect.vue'),
102
- 'clipboard_copy': () => import('./components/clipboard_copy.vue'),
103
106
  'cloud_download_alt': () => import('./components/cloud_download_alt.vue'),
104
- 'coins': () => import('./components/coins.vue'),
107
+ 'coffee': () => import('./components/coffee.vue'),
105
108
  'cloud_upload': () => import('./components/cloud_upload.vue'),
106
- 'compass': () => import('./components/compass.vue'),
107
- 'contacts': () => import('./components/contacts.vue'),
108
- 'component_add': () => import('./components/component_add.vue'),
109
109
  'coin': () => import('./components/coin.vue'),
110
+ 'chevron_left_double': () => import('./components/chevron_left_double.vue'),
111
+ 'coins': () => import('./components/coins.vue'),
112
+ 'chevron_down_circle': () => import('./components/chevron_down_circle.vue'),
110
113
  'code': () => import('./components/code.vue'),
111
- 'clipboard': () => import('./components/clipboard.vue'),
114
+ 'clipboard_notes': () => import('./components/clipboard_notes.vue'),
112
115
  'contract': () => import('./components/contract.vue'),
113
- 'create': () => import('./components/create.vue'),
114
- 'cloud_upload_alt': () => import('./components/cloud_upload_alt.vue'),
115
- 'credit_card': () => import('./components/credit_card.vue'),
116
+ 'component_add': () => import('./components/component_add.vue'),
117
+ 'cross_circle': () => import('./components/cross_circle.vue'),
116
118
  'cross': () => import('./components/cross.vue'),
117
- 'coffee': () => import('./components/coffee.vue'),
118
- 'crosshair': () => import('./components/crosshair.vue'),
119
- 'cube': () => import('./components/cube.vue'),
119
+ 'contacts': () => import('./components/contacts.vue'),
120
120
  'crop': () => import('./components/crop.vue'),
121
+ 'credit_card': () => import('./components/credit_card.vue'),
122
+ 'crosshair': () => import('./components/crosshair.vue'),
121
123
  'database': () => import('./components/database.vue'),
122
- 'diamond': () => import('./components/diamond.vue'),
123
- 'display_alt': () => import('./components/display_alt.vue'),
124
- 'document': () => import('./components/document.vue'),
124
+ 'cube': () => import('./components/cube.vue'),
125
+ 'compass': () => import('./components/compass.vue'),
126
+ 'create': () => import('./components/create.vue'),
125
127
  'document_justified': () => import('./components/document_justified.vue'),
126
- 'cylinder': () => import('./components/cylinder.vue'),
127
- 'disc': () => import('./components/disc.vue'),
128
- 'chevron_right_double': () => import('./components/chevron_right_double.vue'),
128
+ 'display': () => import('./components/display.vue'),
129
+ 'diamond': () => import('./components/diamond.vue'),
129
130
  'document_list': () => import('./components/document_list.vue'),
130
131
  'document_stack': () => import('./components/document_stack.vue'),
131
- 'download_alt': () => import('./components/download_alt.vue'),
132
- 'door': () => import('./components/door.vue'),
132
+ 'display_alt': () => import('./components/display_alt.vue'),
133
133
  'download': () => import('./components/download.vue'),
134
+ 'download_alt': () => import('./components/download_alt.vue'),
135
+ 'document_words': () => import('./components/document_words.vue'),
136
+ 'drag': () => import('./components/drag.vue'),
134
137
  'downward': () => import('./components/downward.vue'),
135
- 'display': () => import('./components/display.vue'),
136
138
  'door_alt': () => import('./components/door_alt.vue'),
139
+ 'door': () => import('./components/door.vue'),
137
140
  'drag_circle': () => import('./components/drag_circle.vue'),
138
- 'drag': () => import('./components/drag.vue'),
139
- 'duplicate_alt': () => import('./components/duplicate_alt.vue'),
140
- 'drag_vertical': () => import('./components/drag_vertical.vue'),
141
141
  'duplicate': () => import('./components/duplicate.vue'),
142
142
  'enter': () => import('./components/enter.vue'),
143
+ 'drag_vertical': () => import('./components/drag_vertical.vue'),
144
+ 'duplicate_alt': () => import('./components/duplicate_alt.vue'),
145
+ 'enter_alt': () => import('./components/enter_alt.vue'),
143
146
  'episodes': () => import('./components/episodes.vue'),
144
- 'bluetooth': () => import('./components/bluetooth.vue'),
147
+ 'exit_right': () => import('./components/exit_right.vue'),
145
148
  'exit_left': () => import('./components/exit_left.vue'),
149
+ 'expand_height': () => import('./components/expand_height.vue'),
146
150
  'expand': () => import('./components/expand.vue'),
147
- 'exit_right': () => import('./components/exit_right.vue'),
148
- 'directions': () => import('./components/directions.vue'),
149
- 'expand_width': () => import('./components/expand_width.vue'),
150
151
  'external': () => import('./components/external.vue'),
151
- 'expand_height': () => import('./components/expand_height.vue'),
152
152
  'eye': () => import('./components/eye.vue'),
153
- 'eye_no': () => import('./components/eye_no.vue'),
153
+ 'expand_width': () => import('./components/expand_width.vue'),
154
+ 'directions': () => import('./components/directions.vue'),
154
155
  'eye_closed': () => import('./components/eye_closed.vue'),
155
156
  'face_delighted': () => import('./components/face_delighted.vue'),
156
- 'face_sad': () => import('./components/face_sad.vue'),
157
- 'face_neutral': () => import('./components/face_neutral.vue'),
158
- 'file_download': () => import('./components/file_download.vue'),
157
+ 'face_happy': () => import('./components/face_happy.vue'),
159
158
  'file_upload': () => import('./components/file_upload.vue'),
159
+ 'eye_no': () => import('./components/eye_no.vue'),
160
+ 'file_download': () => import('./components/file_download.vue'),
160
161
  'files_stack': () => import('./components/files_stack.vue'),
161
- 'files_history': () => import('./components/files_history.vue'),
162
+ 'filter_circle': () => import('./components/filter_circle.vue'),
162
163
  'film': () => import('./components/film.vue'),
163
- 'document_words': () => import('./components/document_words.vue'),
164
- 'filter': () => import('./components/filter.vue'),
164
+ 'flag': () => import('./components/flag.vue'),
165
+ 'face_sad': () => import('./components/face_sad.vue'),
166
+ 'disc': () => import('./components/disc.vue'),
165
167
  'files_multi': () => import('./components/files_multi.vue'),
166
- 'face_happy': () => import('./components/face_happy.vue'),
168
+ 'filter': () => import('./components/filter.vue'),
167
169
  'fingerprint': () => import('./components/fingerprint.vue'),
168
- 'filtering': () => import('./components/filtering.vue'),
169
- 'flag': () => import('./components/flag.vue'),
170
- 'filter_single': () => import('./components/filter_single.vue'),
171
- 'flame_alt': () => import('./components/flame_alt.vue'),
170
+ 'document': () => import('./components/document.vue'),
172
171
  'flame': () => import('./components/flame.vue'),
173
- 'floppy': () => import('./components/floppy.vue'),
172
+ 'flame_alt': () => import('./components/flame_alt.vue'),
173
+ 'flip_view': () => import('./components/flip_view.vue'),
174
174
  'folder_add': () => import('./components/folder_add.vue'),
175
+ 'filter_single': () => import('./components/filter_single.vue'),
176
+ 'floppy': () => import('./components/floppy.vue'),
175
177
  'folder_closed': () => import('./components/folder_closed.vue'),
178
+ 'filtering': () => import('./components/filtering.vue'),
179
+ 'folder_open': () => import('./components/folder_open.vue'),
176
180
  'folder_minus': () => import('./components/folder_minus.vue'),
181
+ 'forward10': () => import('./components/forward10.vue'),
182
+ 'forward': () => import('./components/forward.vue'),
177
183
  'fork_git': () => import('./components/fork_git.vue'),
178
- 'folder_open': () => import('./components/folder_open.vue'),
179
184
  'fullscreen': () => import('./components/fullscreen.vue'),
180
- 'forward': () => import('./components/forward.vue'),
181
- 'gift': () => import('./components/gift.vue'),
185
+ 'funnel': () => import('./components/funnel.vue'),
182
186
  'frame': () => import('./components/frame.vue'),
183
- 'enter_alt': () => import('./components/enter_alt.vue'),
187
+ 'cylinder': () => import('./components/cylinder.vue'),
188
+ 'gift': () => import('./components/gift.vue'),
189
+ 'face_neutral': () => import('./components/face_neutral.vue'),
190
+ 'grid': () => import('./components/grid.vue'),
184
191
  'gauge': () => import('./components/gauge.vue'),
185
- 'globe': () => import('./components/globe.vue'),
186
- 'gps': () => import('./components/gps.vue'),
187
- 'filter_circle': () => import('./components/filter_circle.vue'),
188
192
  'grab': () => import('./components/grab.vue'),
193
+ 'files_history': () => import('./components/files_history.vue'),
194
+ 'graph_box': () => import('./components/graph_box.vue'),
189
195
  'graph_bar': () => import('./components/graph_bar.vue'),
196
+ 'gps': () => import('./components/gps.vue'),
197
+ 'hash': () => import('./components/hash.vue'),
190
198
  'graph_increase': () => import('./components/graph_increase.vue'),
191
- 'grid': () => import('./components/grid.vue'),
192
- 'graph_box': () => import('./components/graph_box.vue'),
193
- 'grid_circles_add': () => import('./components/grid_circles_add.vue'),
194
199
  'grid_small': () => import('./components/grid_small.vue'),
195
- 'grid_circles': () => import('./components/grid_circles.vue'),
196
- 'harddrive': () => import('./components/harddrive.vue'),
197
200
  'grid_squares_add': () => import('./components/grid_squares_add.vue'),
198
- 'heart': () => import('./components/heart.vue'),
199
- 'forward10': () => import('./components/forward10.vue'),
200
201
  'heart_rate': () => import('./components/heart_rate.vue'),
202
+ 'harddrive': () => import('./components/harddrive.vue'),
201
203
  'grid_squares': () => import('./components/grid_squares.vue'),
202
- 'hash': () => import('./components/hash.vue'),
203
- 'height': () => import('./components/height.vue'),
204
+ 'heart': () => import('./components/heart.vue'),
205
+ 'hand': () => import('./components/hand.vue'),
204
206
  'hierarchy': () => import('./components/hierarchy.vue'),
205
207
  'heart_remove': () => import('./components/heart_remove.vue'),
206
208
  'home_alt': () => import('./components/home_alt.vue'),
207
- 'home_check': () => import('./components/home_check.vue'),
209
+ 'height': () => import('./components/height.vue'),
208
210
  'home': () => import('./components/home.vue'),
209
- 'home_door': () => import('./components/home_door.vue'),
210
- 'inbox_alt': () => import('./components/inbox_alt.vue'),
211
+ 'grid_circles': () => import('./components/grid_circles.vue'),
211
212
  'import': () => import('./components/import.vue'),
212
- 'info_circle': () => import('./components/info_circle.vue'),
213
+ 'home_check': () => import('./components/home_check.vue'),
213
214
  'inbox': () => import('./components/inbox.vue'),
214
- 'jump_forward': () => import('./components/jump_forward.vue'),
215
- 'iphone_portrait': () => import('./components/iphone_portrait.vue'),
216
- 'jump_backward': () => import('./components/jump_backward.vue'),
217
- 'iphone_landscape': () => import('./components/iphone_landscape.vue'),
218
- 'cross_circle': () => import('./components/cross_circle.vue'),
215
+ 'info_circle': () => import('./components/info_circle.vue'),
216
+ 'inbox_alt': () => import('./components/inbox_alt.vue'),
219
217
  'jump_left': () => import('./components/jump_left.vue'),
218
+ 'jump_backward': () => import('./components/jump_backward.vue'),
220
219
  'jump_right': () => import('./components/jump_right.vue'),
221
- 'lightbulb_on': () => import('./components/lightbulb_on.vue'),
222
220
  'laptop': () => import('./components/laptop.vue'),
221
+ 'iphone_portrait': () => import('./components/iphone_portrait.vue'),
222
+ 'jump_forward': () => import('./components/jump_forward.vue'),
223
223
  'lightbulb': () => import('./components/lightbulb.vue'),
224
- 'funnel': () => import('./components/funnel.vue'),
225
224
  'lightning_alt': () => import('./components/lightning_alt.vue'),
226
- 'lineweight': () => import('./components/lineweight.vue'),
225
+ 'link': () => import('./components/link.vue'),
226
+ 'iphone_landscape': () => import('./components/iphone_landscape.vue'),
227
+ 'lightbulb_on': () => import('./components/lightbulb_on.vue'),
227
228
  'keyboard': () => import('./components/keyboard.vue'),
229
+ 'lightning': () => import('./components/lightning.vue'),
230
+ 'lineweight': () => import('./components/lineweight.vue'),
231
+ 'link_horizontal': () => import('./components/link_horizontal.vue'),
228
232
  'list': () => import('./components/list.vue'),
229
233
  'link_broken': () => import('./components/link_broken.vue'),
230
234
  'link_vertical': () => import('./components/link_vertical.vue'),
231
235
  'list_add': () => import('./components/list_add.vue'),
232
- 'link_alt': () => import('./components/link_alt.vue'),
233
- 'link': () => import('./components/link.vue'),
234
- 'location': () => import('./components/location.vue'),
236
+ 'list_numbered': () => import('./components/list_numbered.vue'),
235
237
  'lock': () => import('./components/lock.vue'),
238
+ 'loader': () => import('./components/loader.vue'),
239
+ 'link_alt': () => import('./components/link_alt.vue'),
236
240
  'lock_open': () => import('./components/lock_open.vue'),
241
+ 'location': () => import('./components/location.vue'),
237
242
  'mail': () => import('./components/mail.vue'),
238
- 'loader': () => import('./components/loader.vue'),
239
- 'list_numbered': () => import('./components/list_numbered.vue'),
240
- 'mail_add': () => import('./components/mail_add.vue'),
241
- 'mail_minus': () => import('./components/mail_minus.vue'),
242
243
  'mail_delete': () => import('./components/mail_delete.vue'),
243
- 'mail_open': () => import('./components/mail_open.vue'),
244
+ 'globe': () => import('./components/globe.vue'),
245
+ 'mail_add': () => import('./components/mail_add.vue'),
246
+ 'home_door': () => import('./components/home_door.vue'),
244
247
  'mail_remove': () => import('./components/mail_remove.vue'),
245
- 'message': () => import('./components/message.vue'),
246
- 'marquee': () => import('./components/marquee.vue'),
247
248
  'mail_new': () => import('./components/mail_new.vue'),
248
- 'menu_horizontal': () => import('./components/menu_horizontal.vue'),
249
- 'menu_vertical': () => import('./components/menu_vertical.vue'),
249
+ 'marquee': () => import('./components/marquee.vue'),
250
250
  'menu_hamburger': () => import('./components/menu_hamburger.vue'),
251
+ 'grid_circles_add': () => import('./components/grid_circles_add.vue'),
252
+ 'maximise': () => import('./components/maximise.vue'),
253
+ 'mail_open': () => import('./components/mail_open.vue'),
254
+ 'message': () => import('./components/message.vue'),
255
+ 'microphone': () => import('./components/microphone.vue'),
251
256
  'microphone_muted': () => import('./components/microphone_muted.vue'),
252
- 'mini_player': () => import('./components/mini_player.vue'),
253
- 'message_writing': () => import('./components/message_writing.vue'),
257
+ 'midpoint': () => import('./components/midpoint.vue'),
258
+ 'microphone_disabled': () => import('./components/microphone_disabled.vue'),
259
+ 'minus_circle': () => import('./components/minus_circle.vue'),
260
+ 'moon': () => import('./components/moon.vue'),
254
261
  'minus': () => import('./components/minus.vue'),
255
- 'microphone': () => import('./components/microphone.vue'),
262
+ 'mini_player': () => import('./components/mini_player.vue'),
263
+ 'no_sign': () => import('./components/no_sign.vue'),
256
264
  'minimise': () => import('./components/minimise.vue'),
257
- 'hand': () => import('./components/hand.vue'),
258
265
  'move': () => import('./components/move.vue'),
259
- 'no_sign': () => import('./components/no_sign.vue'),
260
- 'microphone_disabled': () => import('./components/microphone_disabled.vue'),
261
- 'minus_circle': () => import('./components/minus_circle.vue'),
262
266
  'notebook': () => import('./components/notebook.vue'),
263
267
  'nut': () => import('./components/nut.vue'),
264
- 'notification': () => import('./components/notification.vue'),
268
+ 'newspaper': () => import('./components/newspaper.vue'),
265
269
  'pages': () => import('./components/pages.vue'),
266
- 'panel_bottom': () => import('./components/panel_bottom.vue'),
267
- 'panel_left': () => import('./components/panel_left.vue'),
268
- 'link_horizontal': () => import('./components/link_horizontal.vue'),
269
- 'panel_right': () => import('./components/panel_right.vue'),
270
+ 'notification': () => import('./components/notification.vue'),
270
271
  'panel_center': () => import('./components/panel_center.vue'),
271
- 'panel_sectioned': () => import('./components/panel_sectioned.vue'),
272
- 'alarm_clock': () => import('./components/alarm_clock.vue'),
272
+ 'panel_top': () => import('./components/panel_top.vue'),
273
+ 'panel_right': () => import('./components/panel_right.vue'),
274
+ 'panel_left': () => import('./components/panel_left.vue'),
275
+ 'panel_bottom': () => import('./components/panel_bottom.vue'),
276
+ 'paper_plane': () => import('./components/paper_plane.vue'),
273
277
  'paper': () => import('./components/paper.vue'),
274
- 'arrow_bottom_left': () => import('./components/arrow_bottom_left.vue'),
278
+ 'panel_sectioned': () => import('./components/panel_sectioned.vue'),
275
279
  'paper_folded': () => import('./components/paper_folded.vue'),
276
- 'paper_plane': () => import('./components/paper_plane.vue'),
277
280
  'paper_plane_alt': () => import('./components/paper_plane_alt.vue'),
278
- 'moon': () => import('./components/moon.vue'),
279
- 'panel_top': () => import('./components/panel_top.vue'),
281
+ 'menu_horizontal': () => import('./components/menu_horizontal.vue'),
280
282
  'paperclip': () => import('./components/paperclip.vue'),
281
- 'paragraph_center': () => import('./components/paragraph_center.vue'),
282
- 'paragraph_right': () => import('./components/paragraph_right.vue'),
283
283
  'paragraph_end': () => import('./components/paragraph_end.vue'),
284
- 'paragraph_start': () => import('./components/paragraph_start.vue'),
285
284
  'pause': () => import('./components/pause.vue'),
286
- 'maximise': () => import('./components/maximise.vue'),
285
+ 'paragraph_start': () => import('./components/paragraph_start.vue'),
287
286
  'paragraph_left': () => import('./components/paragraph_left.vue'),
288
- 'pen': () => import('./components/pen.vue'),
289
- 'phone_landscape': () => import('./components/phone_landscape.vue'),
290
- 'picture': () => import('./components/picture.vue'),
291
287
  'phone_portrait': () => import('./components/phone_portrait.vue'),
292
- 'lightning': () => import('./components/lightning.vue'),
288
+ 'picture': () => import('./components/picture.vue'),
289
+ 'paragraph_right': () => import('./components/paragraph_right.vue'),
290
+ 'pie_half': () => import('./components/pie_half.vue'),
291
+ 'phone_landscape': () => import('./components/phone_landscape.vue'),
292
+ 'pie_third': () => import('./components/pie_third.vue'),
293
293
  'pie_quarter': () => import('./components/pie_quarter.vue'),
294
294
  'play_button': () => import('./components/play_button.vue'),
295
- 'pie_third': () => import('./components/pie_third.vue'),
296
- 'plus': () => import('./components/plus.vue'),
297
295
  'plus_circle': () => import('./components/plus_circle.vue'),
298
296
  'postcard': () => import('./components/postcard.vue'),
297
+ 'plus': () => import('./components/plus.vue'),
299
298
  'play': () => import('./components/play.vue'),
300
- 'project_tnm': () => import('./components/project_tnm.vue'),
301
299
  'project_fixed': () => import('./components/project_fixed.vue'),
302
300
  'printer': () => import('./components/printer.vue'),
301
+ 'message_writing': () => import('./components/message_writing.vue'),
303
302
  'project_nonprofit': () => import('./components/project_nonprofit.vue'),
304
- 'midpoint': () => import('./components/midpoint.vue'),
305
- 'pull_down': () => import('./components/pull_down.vue'),
306
303
  'projector': () => import('./components/projector.vue'),
307
- 'pull_up': () => import('./components/pull_up.vue'),
308
- 'push_left': () => import('./components/push_left.vue'),
309
- 'push_right': () => import('./components/push_right.vue'),
310
- 'push_up': () => import('./components/push_up.vue'),
304
+ 'project_tnm': () => import('./components/project_tnm.vue'),
305
+ 'pull_right': () => import('./components/pull_right.vue'),
306
+ 'menu_vertical': () => import('./components/menu_vertical.vue'),
307
+ 'pull_down': () => import('./components/pull_down.vue'),
308
+ 'pull_left': () => import('./components/pull_left.vue'),
311
309
  'question_circle': () => import('./components/question_circle.vue'),
310
+ 'push_down': () => import('./components/push_down.vue'),
312
311
  'radio_on': () => import('./components/radio_on.vue'),
313
- 'record': () => import('./components/record.vue'),
312
+ 'pull_up': () => import('./components/pull_up.vue'),
313
+ 'push_up': () => import('./components/push_up.vue'),
314
+ 'push_right': () => import('./components/push_right.vue'),
314
315
  'redo': () => import('./components/redo.vue'),
315
- 'refresh': () => import('./components/refresh.vue'),
316
- 'flip_view': () => import('./components/flip_view.vue'),
317
316
  'replicate_alt': () => import('./components/replicate_alt.vue'),
318
317
  'receipt': () => import('./components/receipt.vue'),
319
- 'pie_half': () => import('./components/pie_half.vue'),
320
- 'refresh_alt': () => import('./components/refresh_alt.vue'),
318
+ 'replicate': () => import('./components/replicate.vue'),
319
+ 'paragraph_center': () => import('./components/paragraph_center.vue'),
321
320
  'reset': () => import('./components/reset.vue'),
322
- 'reset_hard': () => import('./components/reset_hard.vue'),
321
+ 'reset_alt': () => import('./components/reset_alt.vue'),
323
322
  'reset_forward': () => import('./components/reset_forward.vue'),
323
+ 'refresh': () => import('./components/refresh.vue'),
324
+ 'push_left': () => import('./components/push_left.vue'),
324
325
  'reuse': () => import('./components/reuse.vue'),
325
- 'reset_temporary': () => import('./components/reset_temporary.vue'),
326
+ 'retweet': () => import('./components/retweet.vue'),
326
327
  'reverse': () => import('./components/reverse.vue'),
327
- 'reverse_alt': () => import('./components/reverse_alt.vue'),
328
+ 'reset_temporary': () => import('./components/reset_temporary.vue'),
328
329
  'revert': () => import('./components/revert.vue'),
329
- 'scale_contract': () => import('./components/scale_contract.vue'),
330
- 'scale': () => import('./components/scale.vue'),
331
- 'rocket': () => import('./components/rocket.vue'),
332
330
  'ruler': () => import('./components/ruler.vue'),
333
- 'scale_extend': () => import('./components/scale_extend.vue'),
334
- 'settings': () => import('./components/settings.vue'),
331
+ 'record': () => import('./components/record.vue'),
332
+ 'rocket': () => import('./components/rocket.vue'),
333
+ 'reverse_alt': () => import('./components/reverse_alt.vue'),
334
+ 'reset_hard': () => import('./components/reset_hard.vue'),
335
335
  'search': () => import('./components/search.vue'),
336
336
  'scalpel': () => import('./components/scalpel.vue'),
337
- 'retweet': () => import('./components/retweet.vue'),
338
- 'reset_alt': () => import('./components/reset_alt.vue'),
339
- 'server': () => import('./components/server.vue'),
337
+ 'refresh_alt': () => import('./components/refresh_alt.vue'),
338
+ 'share_alt': () => import('./components/share_alt.vue'),
339
+ 'scale_contract': () => import('./components/scale_contract.vue'),
340
+ 'scale_extend': () => import('./components/scale_extend.vue'),
341
+ 'settings': () => import('./components/settings.vue'),
340
342
  'slash_backward': () => import('./components/slash_backward.vue'),
341
343
  'shuffle': () => import('./components/shuffle.vue'),
342
- 'share': () => import('./components/share.vue'),
343
- 'sort': () => import('./components/sort.vue'),
344
- 'sliders': () => import('./components/sliders.vue'),
345
- 'sort_alt': () => import('./components/sort_alt.vue'),
346
344
  'slash_forward': () => import('./components/slash_forward.vue'),
345
+ 'sliders': () => import('./components/sliders.vue'),
346
+ 'scale': () => import('./components/scale.vue'),
347
+ 'side_menu': () => import('./components/side_menu.vue'),
348
+ 'split': () => import('./components/split.vue'),
347
349
  'speaker': () => import('./components/speaker.vue'),
348
350
  'speech_bubble': () => import('./components/speech_bubble.vue'),
349
- 'split': () => import('./components/split.vue'),
350
- 'newspaper': () => import('./components/newspaper.vue'),
351
- 'star': () => import('./components/star.vue'),
351
+ 'sort': () => import('./components/sort.vue'),
352
352
  'split_three': () => import('./components/split_three.vue'),
353
+ 'speech_typing': () => import('./components/speech_typing.vue'),
353
354
  'support': () => import('./components/support.vue'),
354
- 'sun': () => import('./components/sun.vue'),
355
- 'swap': () => import('./components/swap.vue'),
355
+ 'star': () => import('./components/star.vue'),
356
356
  'switch': () => import('./components/switch.vue'),
357
- 'tag': () => import('./components/tag.vue'),
358
- 'tag_milestone': () => import('./components/tag_milestone.vue'),
357
+ 'sun': () => import('./components/sun.vue'),
358
+ 'pen': () => import('./components/pen.vue'),
359
+ 'mail_minus': () => import('./components/mail_minus.vue'),
359
360
  'table_header': () => import('./components/table_header.vue'),
360
- 'side_menu': () => import('./components/side_menu.vue'),
361
361
  'table': () => import('./components/table.vue'),
362
+ 'tag_milestone': () => import('./components/tag_milestone.vue'),
363
+ 'thumbs_down': () => import('./components/thumbs_down.vue'),
362
364
  'tags': () => import('./components/tags.vue'),
363
365
  'thread': () => import('./components/thread.vue'),
364
- 'thumbs_down': () => import('./components/thumbs_down.vue'),
365
366
  'target': () => import('./components/target.vue'),
366
367
  'timeline': () => import('./components/timeline.vue'),
368
+ 'todo': () => import('./components/todo.vue'),
369
+ 'toggle': () => import('./components/toggle.vue'),
367
370
  'ticket': () => import('./components/ticket.vue'),
368
- 'toggles': () => import('./components/toggles.vue'),
369
- 'replicate': () => import('./components/replicate.vue'),
370
371
  'thumbs_up': () => import('./components/thumbs_up.vue'),
371
- 'translate': () => import('./components/translate.vue'),
372
- 'toggle': () => import('./components/toggle.vue'),
373
- 'pull_left': () => import('./components/pull_left.vue'),
372
+ 'toggles': () => import('./components/toggles.vue'),
374
373
  'trash': () => import('./components/trash.vue'),
375
374
  'trophy': () => import('./components/trophy.vue'),
376
- 'pull_right': () => import('./components/pull_right.vue'),
377
- 'push_down': () => import('./components/push_down.vue'),
378
375
  'trash_alt': () => import('./components/trash_alt.vue'),
379
- 'share_alt': () => import('./components/share_alt.vue'),
380
- 'upload': () => import('./components/upload.vue'),
381
- 'undo_history': () => import('./components/undo_history.vue'),
376
+ 'translate': () => import('./components/translate.vue'),
377
+ 'tv_mode': () => import('./components/tv_mode.vue'),
378
+ 'tag': () => import('./components/tag.vue'),
382
379
  'unlink_horizontal': () => import('./components/unlink_horizontal.vue'),
383
- 'user': () => import('./components/user.vue'),
380
+ 'unarchive': () => import('./components/unarchive.vue'),
381
+ 'upload': () => import('./components/upload.vue'),
384
382
  'unlink_vertical': () => import('./components/unlink_vertical.vue'),
385
- 'upload_alt': () => import('./components/upload_alt.vue'),
386
- 'user_circle': () => import('./components/user_circle.vue'),
383
+ 'undo_history': () => import('./components/undo_history.vue'),
387
384
  'user_add': () => import('./components/user_add.vue'),
388
- 'user_male': () => import('./components/user_male.vue'),
385
+ 'upload_alt': () => import('./components/upload_alt.vue'),
386
+ 'upward': () => import('./components/upward.vue'),
387
+ 'user': () => import('./components/user.vue'),
388
+ 'undo': () => import('./components/undo.vue'),
389
389
  'user_male_circle': () => import('./components/user_male_circle.vue'),
390
+ 'versions': () => import('./components/versions.vue'),
391
+ 'user_male': () => import('./components/user_male.vue'),
392
+ 'user_circle': () => import('./components/user_circle.vue'),
393
+ 'users': () => import('./components/users.vue'),
390
394
  'venn': () => import('./components/venn.vue'),
391
395
  'user_remove': () => import('./components/user_remove.vue'),
392
- 'users': () => import('./components/users.vue'),
393
- 'tv_mode': () => import('./components/tv_mode.vue'),
396
+ 'volume_0': () => import('./components/volume_0.vue'),
394
397
  'video': () => import('./components/video.vue'),
395
- 'upward': () => import('./components/upward.vue'),
396
398
  'version': () => import('./components/version.vue'),
397
- 'unarchive': () => import('./components/unarchive.vue'),
398
- 'volume_0': () => import('./components/volume_0.vue'),
399
- 'volume_high': () => import('./components/volume_high.vue'),
400
- 'volume_minus': () => import('./components/volume_minus.vue'),
401
- 'volume_muted': () => import('./components/volume_muted.vue'),
402
- 'versions': () => import('./components/versions.vue'),
403
399
  'volume_add': () => import('./components/volume_add.vue'),
404
- 'warning_circle': () => import('./components/warning_circle.vue'),
405
400
  'volume_low': () => import('./components/volume_low.vue'),
401
+ 'server': () => import('./components/server.vue'),
402
+ 'swap': () => import('./components/swap.vue'),
403
+ 'volume_high': () => import('./components/volume_high.vue'),
404
+ 'share': () => import('./components/share.vue'),
406
405
  'warning_triangle': () => import('./components/warning_triangle.vue'),
407
- 'warning_hex': () => import('./components/warning_hex.vue'),
408
406
  'wallet': () => import('./components/wallet.vue'),
407
+ 'volume_minus': () => import('./components/volume_minus.vue'),
408
+ 'warning_hex': () => import('./components/warning_hex.vue'),
409
+ 'volume_disabled': () => import('./components/volume_disabled.vue'),
410
+ 'width': () => import('./components/width.vue'),
409
411
  'wifi_none': () => import('./components/wifi_none.vue'),
410
- 'undo': () => import('./components/undo.vue'),
411
- 'todo': () => import('./components/todo.vue'),
412
- 'wifi_error': () => import('./components/wifi_error.vue'),
413
412
  'wifi': () => import('./components/wifi.vue'),
413
+ 'wifi_error': () => import('./components/wifi_error.vue'),
414
+ 'volume_muted': () => import('./components/volume_muted.vue'),
414
415
  'window': () => import('./components/window.vue'),
415
- 'window_collapse_right': () => import('./components/window_collapse_right.vue'),
416
416
  'waves': () => import('./components/waves.vue'),
417
- 'write': () => import('./components/write.vue'),
418
- 'wrap_back': () => import('./components/wrap_back.vue'),
417
+ 'window_collapse_right': () => import('./components/window_collapse_right.vue'),
419
418
  'window_collapse_left': () => import('./components/window_collapse_left.vue'),
420
- 'window_content': () => import('./components/window_content.vue'),
421
- 'speech_typing': () => import('./components/speech_typing.vue'),
422
419
  'wrap_forward': () => import('./components/wrap_forward.vue'),
420
+ 'wrap_back': () => import('./components/wrap_back.vue'),
423
421
  'zoom_in': () => import('./components/zoom_in.vue'),
424
- 'width': () => import('./components/width.vue'),
425
- 'zoom_out': () => import('./components/zoom_out.vue'),
422
+ 'window_content': () => import('./components/window_content.vue'),
423
+ 'write': () => import('./components/write.vue'),
424
+ 'sort_alt': () => import('./components/sort_alt.vue'),
425
+ 'warning_circle': () => import('./components/warning_circle.vue'),
426
426
  'zoom_cancel': () => import('./components/zoom_cancel.vue'),
427
427
  'zoom_reset': () => import('./components/zoom_reset.vue'),
428
- 'volume_disabled': () => import('./components/volume_disabled.vue'),
428
+ 'zoom_out': () => import('./components/zoom_out.vue'),
429
429
  }
@@ -105,16 +105,17 @@ class itfModal extends Vue {
105
105
  if (typeof window === 'undefined') {
106
106
  return;
107
107
  }
108
+ let context = document.body;
108
109
  if (this.appendToContext && this.$el instanceof Node && this.$el.parentNode) {
109
- const context = this.$el.closest('.itf-append-context') || document.body;
110
+ context = this.$el.closest('.itf-append-context') || document.body;
110
111
  this.$el.parentNode.removeChild(this.$el);
111
112
  context.appendChild(this.$el); // should append only to body
112
113
  } else if (this.appendToBody && this.$el instanceof Node && this.$el.parentNode) {
113
114
  this.$el.parentNode.removeChild(this.$el);
114
- document.body.appendChild(this.$el); // should append only to body
115
+ context.appendChild(this.$el); // should append only to body
115
116
  }
116
- const { default: Modal } = await import('bootstrap/js/src/modal');
117
- this.modalEl = new Modal(this.$el, { backdrop: 'static' });
117
+ const { default: Modal } = await import('./modalSrc');
118
+ this.modalEl = new Modal(this.$el, { context, backdrop: 'static' });
118
119
  this.onVisibleChanged(this.value);
119
120
  this.bindEvents();
120
121
  }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * Bootstrap (v5.2.3): util/backdrop.js
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+
8
+ import EventHandler from 'bootstrap/js/src/dom/event-handler'
9
+ import { execute, executeAfterTransition, getElement, reflow } from 'bootstrap/js/src/util/index'
10
+ import Config from 'bootstrap/js/src/util/config'
11
+
12
+ /**
13
+ * Constants
14
+ */
15
+
16
+ const NAME = 'backdrop'
17
+ const CLASS_NAME_FADE = 'fade'
18
+ const CLASS_NAME_SHOW = 'show'
19
+ const EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`
20
+
21
+ const Default = {
22
+ className: 'modal-backdrop',
23
+ clickCallback: null,
24
+ isAnimated: false,
25
+ isVisible: true, // if false, we use the backdrop helper without adding any element to the dom
26
+ rootElement: 'body' // give the choice to place backdrop under different elements
27
+ }
28
+
29
+ const DefaultType = {
30
+ className: 'string',
31
+ clickCallback: '(function|null)',
32
+ isAnimated: 'boolean',
33
+ isVisible: 'boolean',
34
+ rootElement: '(element|string)'
35
+ }
36
+
37
+ /**
38
+ * Class definition
39
+ */
40
+
41
+ class Backdrop extends Config {
42
+ constructor(config) {
43
+ super()
44
+ this._config = this._getConfig(config)
45
+ this._isAppended = false
46
+ this._element = null
47
+ }
48
+
49
+ // Getters
50
+ static get Default() {
51
+ return Default
52
+ }
53
+
54
+ static get DefaultType() {
55
+ return DefaultType
56
+ }
57
+
58
+ static get NAME() {
59
+ return NAME
60
+ }
61
+
62
+ // Public
63
+ show(callback) {
64
+ if (!this._config.isVisible) {
65
+ execute(callback)
66
+ return
67
+ }
68
+
69
+ this._append()
70
+
71
+ const element = this._getElement()
72
+ if (this._config.isAnimated) {
73
+ reflow(element)
74
+ }
75
+
76
+ element.classList.add(CLASS_NAME_SHOW)
77
+
78
+ this._emulateAnimation(() => {
79
+ execute(callback)
80
+ })
81
+ }
82
+
83
+ hide(callback) {
84
+ if (!this._config.isVisible) {
85
+ execute(callback)
86
+ return
87
+ }
88
+
89
+ this._getElement().classList.remove(CLASS_NAME_SHOW)
90
+
91
+ this._emulateAnimation(() => {
92
+ this.dispose()
93
+ execute(callback)
94
+ })
95
+ }
96
+
97
+ dispose() {
98
+ if (!this._isAppended) {
99
+ return
100
+ }
101
+
102
+ EventHandler.off(this._element, EVENT_MOUSEDOWN)
103
+
104
+ this._element.remove()
105
+ this._isAppended = false
106
+ }
107
+
108
+ // Private
109
+ _getElement() {
110
+ if (!this._element) {
111
+ const backdrop = document.createElement('div')
112
+ backdrop.className = this._config.className
113
+ if (this._config.isAnimated) {
114
+ backdrop.classList.add(CLASS_NAME_FADE)
115
+ }
116
+
117
+ this._element = backdrop
118
+ }
119
+
120
+ return this._element
121
+ }
122
+
123
+ _configAfterMerge(config) {
124
+ // use getElement() with the default "body" to get a fresh Element on each instantiation
125
+ config.rootElement = getElement(config.rootElement)
126
+ return config
127
+ }
128
+
129
+ _append() {
130
+ if (this._isAppended) {
131
+ return
132
+ }
133
+
134
+ const element = this._getElement()
135
+ this._config.rootElement.append(element)
136
+
137
+ EventHandler.on(element, EVENT_MOUSEDOWN, () => {
138
+ execute(this._config.clickCallback)
139
+ })
140
+
141
+ this._isAppended = true
142
+ }
143
+
144
+ _emulateAnimation(callback) {
145
+ executeAfterTransition(callback, this._getElement(), this._config.isAnimated)
146
+ }
147
+ }
148
+
149
+ export default Backdrop
@@ -0,0 +1,378 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * Bootstrap (v5.2.3): modal.js
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+
8
+ import { defineJQueryPlugin, getElementFromSelector, isRTL, isVisible, reflow } from 'bootstrap/js/src/util/index'
9
+ import EventHandler from 'bootstrap/js/src/dom/event-handler'
10
+ import SelectorEngine from 'bootstrap/js/src/dom/selector-engine'
11
+ import ScrollBarHelper from 'bootstrap/js/src/util/scrollbar'
12
+ import BaseComponent from 'bootstrap/js/src/base-component'
13
+ import Backdrop from './backdrop'
14
+ import FocusTrap from 'bootstrap/js/src/util/focustrap'
15
+ import { enableDismissTrigger } from 'bootstrap/js/src/util/component-functions'
16
+
17
+ /**
18
+ * Constants
19
+ */
20
+
21
+ const NAME = 'modal'
22
+ const DATA_KEY = 'bs.modal'
23
+ const EVENT_KEY = `.${DATA_KEY}`
24
+ const DATA_API_KEY = '.data-api'
25
+ const ESCAPE_KEY = 'Escape'
26
+
27
+ const EVENT_HIDE = `hide${EVENT_KEY}`
28
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`
29
+ const EVENT_HIDDEN = `hidden${EVENT_KEY}`
30
+ const EVENT_SHOW = `show${EVENT_KEY}`
31
+ const EVENT_SHOWN = `shown${EVENT_KEY}`
32
+ const EVENT_RESIZE = `resize${EVENT_KEY}`
33
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`
34
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`
35
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`
36
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
37
+
38
+ const CLASS_NAME_OPEN = 'modal-open'
39
+ const CLASS_NAME_FADE = 'fade'
40
+ const CLASS_NAME_SHOW = 'show'
41
+ const CLASS_NAME_STATIC = 'modal-static'
42
+
43
+ const OPEN_SELECTOR = '.modal.show'
44
+ const SELECTOR_DIALOG = '.modal-dialog'
45
+ const SELECTOR_MODAL_BODY = '.modal-body'
46
+ const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]'
47
+
48
+ const Default = {
49
+ backdrop: true,
50
+ focus: true,
51
+ keyboard: true
52
+ }
53
+
54
+ const DefaultType = {
55
+ backdrop: '(boolean|string)',
56
+ focus: 'boolean',
57
+ keyboard: 'boolean'
58
+ }
59
+
60
+ /**
61
+ * Class definition
62
+ */
63
+
64
+ class Modal extends BaseComponent {
65
+ constructor(element, config) {
66
+ super(element, config)
67
+
68
+ this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)
69
+ this._backdrop = this._initializeBackDrop()
70
+ this._focustrap = this._initializeFocusTrap()
71
+ this._isShown = false
72
+ this._isTransitioning = false
73
+ this._scrollBar = new ScrollBarHelper()
74
+
75
+ this._addEventListeners()
76
+ }
77
+
78
+ // Getters
79
+ static get Default() {
80
+ return Default
81
+ }
82
+
83
+ static get DefaultType() {
84
+ return DefaultType
85
+ }
86
+
87
+ static get NAME() {
88
+ return NAME
89
+ }
90
+
91
+ // Public
92
+ toggle(relatedTarget) {
93
+ return this._isShown ? this.hide() : this.show(relatedTarget)
94
+ }
95
+
96
+ show(relatedTarget) {
97
+ if (this._isShown || this._isTransitioning) {
98
+ return
99
+ }
100
+
101
+ const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
102
+ relatedTarget
103
+ })
104
+
105
+ if (showEvent.defaultPrevented) {
106
+ return
107
+ }
108
+
109
+ this._isShown = true
110
+ this._isTransitioning = true
111
+
112
+ this._scrollBar.hide()
113
+ console.info(this._config.context);
114
+ this._config.context.classList.add(CLASS_NAME_OPEN)
115
+
116
+ this._adjustDialog()
117
+
118
+ this._backdrop.show(() => this._showElement(relatedTarget))
119
+ }
120
+
121
+ hide() {
122
+ if (!this._isShown || this._isTransitioning) {
123
+ return
124
+ }
125
+
126
+ const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)
127
+
128
+ if (hideEvent.defaultPrevented) {
129
+ return
130
+ }
131
+
132
+ this._isShown = false
133
+ this._isTransitioning = true
134
+ this._focustrap.deactivate()
135
+
136
+ this._element.classList.remove(CLASS_NAME_SHOW)
137
+
138
+ this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())
139
+ }
140
+
141
+ dispose() {
142
+ for (const htmlElement of [window, this._dialog]) {
143
+ EventHandler.off(htmlElement, EVENT_KEY)
144
+ }
145
+
146
+ this._backdrop.dispose()
147
+ this._focustrap.deactivate()
148
+ super.dispose()
149
+ }
150
+
151
+ handleUpdate() {
152
+ this._adjustDialog()
153
+ }
154
+
155
+ // Private
156
+ _initializeBackDrop() {
157
+ return new Backdrop({
158
+ rootElement: this._config.context,
159
+ isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,
160
+ isAnimated: this._isAnimated()
161
+ })
162
+ }
163
+
164
+ _initializeFocusTrap() {
165
+ return new FocusTrap({
166
+ trapElement: this._element
167
+ })
168
+ }
169
+
170
+ _showElement(relatedTarget) {
171
+ // try to append dynamic modal
172
+ if (!this._config.context.contains(this._element)) {
173
+ this._config.context.append(this._element)
174
+ }
175
+
176
+ this._element.style.display = 'block'
177
+ this._element.removeAttribute('aria-hidden')
178
+ this._element.setAttribute('aria-modal', true)
179
+ this._element.setAttribute('role', 'dialog')
180
+ this._element.scrollTop = 0
181
+
182
+ const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)
183
+ if (modalBody) {
184
+ modalBody.scrollTop = 0
185
+ }
186
+
187
+ reflow(this._element)
188
+
189
+ this._element.classList.add(CLASS_NAME_SHOW)
190
+
191
+ const transitionComplete = () => {
192
+ if (this._config.focus) {
193
+ this._focustrap.activate()
194
+ }
195
+
196
+ this._isTransitioning = false
197
+ EventHandler.trigger(this._element, EVENT_SHOWN, {
198
+ relatedTarget
199
+ })
200
+ }
201
+
202
+ this._queueCallback(transitionComplete, this._dialog, this._isAnimated())
203
+ }
204
+
205
+ _addEventListeners() {
206
+ EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
207
+ if (event.key !== ESCAPE_KEY) {
208
+ return
209
+ }
210
+
211
+ if (this._config.keyboard) {
212
+ event.preventDefault()
213
+ this.hide()
214
+ return
215
+ }
216
+
217
+ this._triggerBackdropTransition()
218
+ })
219
+
220
+ EventHandler.on(window, EVENT_RESIZE, () => {
221
+ if (this._isShown && !this._isTransitioning) {
222
+ this._adjustDialog()
223
+ }
224
+ })
225
+
226
+ EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
227
+ // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
228
+ EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
229
+ if (this._element !== event.target || this._element !== event2.target) {
230
+ return
231
+ }
232
+
233
+ if (this._config.backdrop === 'static') {
234
+ this._triggerBackdropTransition()
235
+ return
236
+ }
237
+
238
+ if (this._config.backdrop) {
239
+ this.hide()
240
+ }
241
+ })
242
+ })
243
+ }
244
+
245
+ _hideModal() {
246
+ this._element.style.display = 'none'
247
+ this._element.setAttribute('aria-hidden', true)
248
+ this._element.removeAttribute('aria-modal')
249
+ this._element.removeAttribute('role')
250
+ this._isTransitioning = false
251
+
252
+ this._backdrop.hide(() => {
253
+ this._config.context.classList.remove(CLASS_NAME_OPEN)
254
+ this._resetAdjustments()
255
+ this._scrollBar.reset()
256
+ EventHandler.trigger(this._element, EVENT_HIDDEN)
257
+ })
258
+ }
259
+
260
+ _isAnimated() {
261
+ return this._element.classList.contains(CLASS_NAME_FADE)
262
+ }
263
+
264
+ _triggerBackdropTransition() {
265
+ const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)
266
+ if (hideEvent.defaultPrevented) {
267
+ return
268
+ }
269
+
270
+ const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight
271
+ const initialOverflowY = this._element.style.overflowY
272
+ // return if the following background transition hasn't yet completed
273
+ if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {
274
+ return
275
+ }
276
+
277
+ if (!isModalOverflowing) {
278
+ this._element.style.overflowY = 'hidden'
279
+ }
280
+
281
+ this._element.classList.add(CLASS_NAME_STATIC)
282
+ this._queueCallback(() => {
283
+ this._element.classList.remove(CLASS_NAME_STATIC)
284
+ this._queueCallback(() => {
285
+ this._element.style.overflowY = initialOverflowY
286
+ }, this._dialog)
287
+ }, this._dialog)
288
+
289
+ this._element.focus()
290
+ }
291
+
292
+ /**
293
+ * The following methods are used to handle overflowing modals
294
+ */
295
+
296
+ _adjustDialog() {
297
+ const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight
298
+ const scrollbarWidth = this._scrollBar.getWidth()
299
+ const isBodyOverflowing = scrollbarWidth > 0
300
+
301
+ if (isBodyOverflowing && !isModalOverflowing) {
302
+ const property = isRTL() ? 'paddingLeft' : 'paddingRight'
303
+ this._element.style[property] = `${scrollbarWidth}px`
304
+ }
305
+
306
+ if (!isBodyOverflowing && isModalOverflowing) {
307
+ const property = isRTL() ? 'paddingRight' : 'paddingLeft'
308
+ this._element.style[property] = `${scrollbarWidth}px`
309
+ }
310
+ }
311
+
312
+ _resetAdjustments() {
313
+ this._element.style.paddingLeft = ''
314
+ this._element.style.paddingRight = ''
315
+ }
316
+
317
+ // Static
318
+ static jQueryInterface(config, relatedTarget) {
319
+ return this.each(function () {
320
+ const data = Modal.getOrCreateInstance(this, config)
321
+
322
+ if (typeof config !== 'string') {
323
+ return
324
+ }
325
+
326
+ if (typeof data[config] === 'undefined') {
327
+ throw new TypeError(`No method named "${config}"`)
328
+ }
329
+
330
+ data[config](relatedTarget)
331
+ })
332
+ }
333
+ }
334
+
335
+ /**
336
+ * Data API implementation
337
+ */
338
+
339
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
340
+ const target = getElementFromSelector(this)
341
+
342
+ if (['A', 'AREA'].includes(this.tagName)) {
343
+ event.preventDefault()
344
+ }
345
+
346
+ EventHandler.one(target, EVENT_SHOW, showEvent => {
347
+ if (showEvent.defaultPrevented) {
348
+ // only register focus restorer if modal will actually get shown
349
+ return
350
+ }
351
+
352
+ EventHandler.one(target, EVENT_HIDDEN, () => {
353
+ if (isVisible(this)) {
354
+ this.focus()
355
+ }
356
+ })
357
+ })
358
+
359
+ // avoid conflict when clicking modal toggler while another one is open
360
+ const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)
361
+ if (alreadyOpen) {
362
+ Modal.getInstance(alreadyOpen).hide()
363
+ }
364
+
365
+ const data = Modal.getOrCreateInstance(target)
366
+
367
+ data.toggle(this)
368
+ })
369
+
370
+ enableDismissTrigger(Modal)
371
+
372
+ /**
373
+ * jQuery
374
+ */
375
+
376
+ defineJQueryPlugin(Modal)
377
+
378
+ export default Modal