cortex-react-ui 0.2.22 → 0.2.23

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.
Files changed (219) hide show
  1. package/lib/cjs/BarLoader/BarLoader.d.ts +9 -0
  2. package/lib/cjs/BarLoader/index.d.ts +1 -0
  3. package/lib/cjs/Button/Button.d.ts +11 -0
  4. package/lib/cjs/Button/index.d.ts +1 -0
  5. package/lib/cjs/Camera/Camera.d.ts +20 -0
  6. package/lib/cjs/Camera/FileStorageDb.d.ts +9 -0
  7. package/lib/cjs/Camera/index.d.ts +1 -0
  8. package/lib/cjs/Camera/useTimer.d.ts +6 -0
  9. package/lib/cjs/DatePicker/DatePicker.d.ts +7 -0
  10. package/lib/cjs/DatePicker/index.d.ts +1 -0
  11. package/lib/cjs/Dialog/ConfirmDialog.d.ts +11 -0
  12. package/lib/cjs/Dialog/Dialog.d.ts +12 -0
  13. package/lib/cjs/Dialog/DialogActions.d.ts +7 -0
  14. package/lib/cjs/Dialog/DialogContent.d.ts +7 -0
  15. package/lib/cjs/Dialog/DialogFooter.d.ts +7 -0
  16. package/lib/cjs/Dialog/DialogHeader.d.ts +7 -0
  17. package/lib/cjs/Dialog/DialogTitle.d.ts +9 -0
  18. package/lib/cjs/Dialog/ErrorDialog.d.ts +10 -0
  19. package/lib/cjs/Dialog/WarningDialog.d.ts +10 -0
  20. package/lib/cjs/Dialog/index.d.ts +9 -0
  21. package/lib/cjs/DomContainer/DomContainer.d.ts +7 -0
  22. package/lib/cjs/DomContainer/index.d.ts +1 -0
  23. package/lib/cjs/Icons/ChevronDownIcon.d.ts +6 -0
  24. package/lib/cjs/Icons/ChevronLeftIcon.d.ts +6 -0
  25. package/lib/cjs/Icons/ChevronRightIcon.d.ts +6 -0
  26. package/lib/cjs/Icons/CrossIcon.d.ts +6 -0
  27. package/lib/cjs/Icons/index.d.ts +4 -0
  28. package/lib/cjs/Input/Input.d.ts +7 -0
  29. package/lib/cjs/Input/index.d.ts +1 -0
  30. package/lib/cjs/Map/Map.d.ts +16 -0
  31. package/lib/cjs/Map/components/CenterActiveAreaControl.d.ts +5 -0
  32. package/lib/cjs/Map/components/DrawTools.d.ts +18 -0
  33. package/lib/cjs/Map/components/LocationContext.d.ts +6 -0
  34. package/lib/cjs/Map/components/MapFullscreenControl.d.ts +22 -0
  35. package/lib/cjs/Map/components/Maps.d.ts +22 -0
  36. package/lib/cjs/Map/config/appConfig.d.ts +4 -0
  37. package/lib/cjs/Map/config/config.d.ts +6 -0
  38. package/lib/cjs/Map/hooks/getGeoJSONTest.d.ts +16 -0
  39. package/lib/cjs/Map/hooks/useLocationContext.d.ts +1 -0
  40. package/lib/cjs/Map/index.d.ts +1 -0
  41. package/lib/cjs/Map/models/index.d.ts +2 -0
  42. package/lib/cjs/Map/models/location.d.ts +6 -0
  43. package/lib/cjs/Map/models/locationSearch.d.ts +4 -0
  44. package/lib/cjs/Map/models/point.d.ts +6 -0
  45. package/lib/cjs/Map/utils/logger.d.ts +17 -0
  46. package/lib/cjs/Map/utils/toolkit.d.ts +129 -0
  47. package/lib/cjs/Menu/AuthDownloadLink.d.ts +14 -0
  48. package/lib/cjs/Menu/ContextMenu.d.ts +13 -0
  49. package/lib/cjs/Menu/Divider.d.ts +6 -0
  50. package/lib/cjs/Menu/Menu.d.ts +10 -0
  51. package/lib/cjs/Menu/MenuGroup.d.ts +8 -0
  52. package/lib/cjs/Menu/MenuItem.d.ts +14 -0
  53. package/lib/cjs/Menu/PopupMenu.d.ts +16 -0
  54. package/lib/cjs/Menu/index.d.ts +7 -0
  55. package/lib/cjs/Popper/Popper.d.ts +38 -0
  56. package/lib/cjs/Popper/index.d.ts +1 -0
  57. package/lib/cjs/Scanner/Dialog.d.ts +8 -0
  58. package/lib/cjs/Scanner/DialogBody.d.ts +3 -0
  59. package/lib/cjs/Scanner/DialogMask.d.ts +3 -0
  60. package/lib/cjs/Scanner/ScanConfirmationDialog.d.ts +18 -0
  61. package/lib/cjs/Scanner/Scanner.d.ts +11 -0
  62. package/lib/cjs/Scanner/index.d.ts +1 -0
  63. package/lib/cjs/Select/Select.d.ts +6 -0
  64. package/lib/cjs/Select/index.d.ts +1 -0
  65. package/lib/cjs/Selected/Selected.d.ts +8 -0
  66. package/lib/cjs/Selected/index.d.ts +1 -0
  67. package/lib/cjs/Spinner/Spinner.d.ts +7 -0
  68. package/lib/cjs/Spinner/index.d.ts +1 -0
  69. package/lib/cjs/TagInput/TagInput.d.ts +12 -0
  70. package/lib/cjs/TagInput/TagItem.d.ts +9 -0
  71. package/lib/cjs/TagInput/TagSearchInput.d.ts +9 -0
  72. package/lib/cjs/TagInput/TagSuggestion.d.ts +13 -0
  73. package/lib/cjs/TagInput/TagSuggestionGroup.d.ts +8 -0
  74. package/lib/cjs/TagInput/TagSuggestionItem.d.ts +8 -0
  75. package/lib/cjs/TagInput/index.d.ts +1 -0
  76. package/lib/cjs/TagInput/types.d.ts +14 -0
  77. package/lib/cjs/TextField/TextField.d.ts +6 -0
  78. package/lib/cjs/TextField/TextFieldInput.d.ts +10 -0
  79. package/lib/cjs/TextField/index.d.ts +1 -0
  80. package/lib/cjs/ToggleButton/ToggleButton.d.ts +11 -0
  81. package/lib/cjs/ToggleButton/index.d.ts +1 -0
  82. package/lib/cjs/Tooltip/Tooltip.d.ts +12 -0
  83. package/lib/cjs/Tooltip/index.d.ts +1 -0
  84. package/lib/cjs/Transition/CSSTransition.d.ts +17 -0
  85. package/lib/cjs/Transition/Fade.d.ts +13 -0
  86. package/lib/cjs/index.d.ts +23 -0
  87. package/lib/cjs/index.js +10 -0
  88. package/lib/cjs/index.js.map +1 -0
  89. package/lib/cjs/utils/classNames.d.ts +1 -0
  90. package/lib/cjs/utils/forwardRef.d.ts +35 -0
  91. package/lib/cjs/utils/setRef.d.ts +9 -0
  92. package/lib/cjs/utils/useClickOutside.d.ts +2 -0
  93. package/lib/cjs/utils/useElement.d.ts +2 -0
  94. package/lib/cjs/utils/useForkRef.d.ts +10 -0
  95. package/lib/esm/BarLoader/BarLoader.d.ts +9 -0
  96. package/lib/esm/BarLoader/index.d.ts +1 -0
  97. package/lib/esm/Button/Button.d.ts +11 -0
  98. package/lib/esm/Button/index.d.ts +1 -0
  99. package/lib/esm/Camera/Camera.d.ts +20 -0
  100. package/lib/esm/Camera/FileStorageDb.d.ts +9 -0
  101. package/lib/esm/Camera/index.d.ts +1 -0
  102. package/lib/esm/Camera/useTimer.d.ts +6 -0
  103. package/lib/esm/DatePicker/DatePicker.d.ts +7 -0
  104. package/lib/esm/DatePicker/index.d.ts +1 -0
  105. package/lib/esm/Dialog/ConfirmDialog.d.ts +11 -0
  106. package/lib/esm/Dialog/Dialog.d.ts +12 -0
  107. package/lib/esm/Dialog/DialogActions.d.ts +7 -0
  108. package/lib/esm/Dialog/DialogContent.d.ts +7 -0
  109. package/lib/esm/Dialog/DialogFooter.d.ts +7 -0
  110. package/lib/esm/Dialog/DialogHeader.d.ts +7 -0
  111. package/lib/esm/Dialog/DialogTitle.d.ts +9 -0
  112. package/lib/esm/Dialog/ErrorDialog.d.ts +10 -0
  113. package/lib/esm/Dialog/WarningDialog.d.ts +10 -0
  114. package/lib/esm/Dialog/index.d.ts +9 -0
  115. package/lib/esm/DomContainer/DomContainer.d.ts +7 -0
  116. package/lib/esm/DomContainer/index.d.ts +1 -0
  117. package/lib/esm/Icons/ChevronDownIcon.d.ts +6 -0
  118. package/lib/esm/Icons/ChevronLeftIcon.d.ts +6 -0
  119. package/lib/esm/Icons/ChevronRightIcon.d.ts +6 -0
  120. package/lib/esm/Icons/CrossIcon.d.ts +6 -0
  121. package/lib/esm/Icons/index.d.ts +4 -0
  122. package/lib/esm/Input/Input.d.ts +7 -0
  123. package/lib/esm/Input/index.d.ts +1 -0
  124. package/lib/esm/Map/Map.d.ts +16 -0
  125. package/lib/esm/Map/components/CenterActiveAreaControl.d.ts +5 -0
  126. package/lib/esm/Map/components/DrawTools.d.ts +18 -0
  127. package/lib/esm/Map/components/LocationContext.d.ts +6 -0
  128. package/lib/esm/Map/components/MapFullscreenControl.d.ts +22 -0
  129. package/lib/esm/Map/components/Maps.d.ts +22 -0
  130. package/lib/esm/Map/config/appConfig.d.ts +4 -0
  131. package/lib/esm/Map/config/config.d.ts +6 -0
  132. package/lib/esm/Map/hooks/getGeoJSONTest.d.ts +16 -0
  133. package/lib/esm/Map/hooks/useLocationContext.d.ts +1 -0
  134. package/lib/esm/Map/index.d.ts +1 -0
  135. package/lib/esm/Map/models/index.d.ts +2 -0
  136. package/lib/esm/Map/models/location.d.ts +6 -0
  137. package/lib/esm/Map/models/locationSearch.d.ts +4 -0
  138. package/lib/esm/Map/models/point.d.ts +6 -0
  139. package/lib/esm/Map/utils/logger.d.ts +17 -0
  140. package/lib/esm/Map/utils/toolkit.d.ts +129 -0
  141. package/lib/esm/Menu/AuthDownloadLink.d.ts +14 -0
  142. package/lib/esm/Menu/ContextMenu.d.ts +13 -0
  143. package/lib/esm/Menu/Divider.d.ts +6 -0
  144. package/lib/esm/Menu/Menu.d.ts +10 -0
  145. package/lib/esm/Menu/MenuGroup.d.ts +8 -0
  146. package/lib/esm/Menu/MenuItem.d.ts +14 -0
  147. package/lib/esm/Menu/PopupMenu.d.ts +16 -0
  148. package/lib/esm/Menu/index.d.ts +7 -0
  149. package/lib/esm/Popper/Popper.d.ts +38 -0
  150. package/lib/esm/Popper/index.d.ts +1 -0
  151. package/lib/esm/Scanner/Dialog.d.ts +8 -0
  152. package/lib/esm/Scanner/DialogBody.d.ts +3 -0
  153. package/lib/esm/Scanner/DialogMask.d.ts +3 -0
  154. package/lib/esm/Scanner/ScanConfirmationDialog.d.ts +18 -0
  155. package/lib/esm/Scanner/Scanner.d.ts +11 -0
  156. package/lib/esm/Scanner/index.d.ts +1 -0
  157. package/lib/esm/Select/Select.d.ts +6 -0
  158. package/lib/esm/Select/index.d.ts +1 -0
  159. package/lib/esm/Selected/Selected.d.ts +8 -0
  160. package/lib/esm/Selected/index.d.ts +1 -0
  161. package/lib/esm/Spinner/Spinner.d.ts +7 -0
  162. package/lib/esm/Spinner/index.d.ts +1 -0
  163. package/lib/esm/TagInput/TagInput.d.ts +12 -0
  164. package/lib/esm/TagInput/TagItem.d.ts +9 -0
  165. package/lib/esm/TagInput/TagSearchInput.d.ts +9 -0
  166. package/lib/esm/TagInput/TagSuggestion.d.ts +13 -0
  167. package/lib/esm/TagInput/TagSuggestionGroup.d.ts +8 -0
  168. package/lib/esm/TagInput/TagSuggestionItem.d.ts +8 -0
  169. package/lib/esm/TagInput/index.d.ts +1 -0
  170. package/lib/esm/TagInput/types.d.ts +14 -0
  171. package/lib/esm/TextField/TextField.d.ts +6 -0
  172. package/lib/esm/TextField/TextFieldInput.d.ts +10 -0
  173. package/lib/esm/TextField/index.d.ts +1 -0
  174. package/lib/esm/ToggleButton/ToggleButton.d.ts +11 -0
  175. package/lib/esm/ToggleButton/index.d.ts +1 -0
  176. package/lib/esm/Tooltip/Tooltip.d.ts +12 -0
  177. package/lib/esm/Tooltip/index.d.ts +1 -0
  178. package/lib/esm/Transition/CSSTransition.d.ts +17 -0
  179. package/lib/esm/Transition/Fade.d.ts +13 -0
  180. package/lib/esm/index.d.ts +23 -0
  181. package/lib/esm/index.js +10 -0
  182. package/lib/esm/index.js.map +1 -0
  183. package/lib/esm/utils/classNames.d.ts +1 -0
  184. package/lib/esm/utils/forwardRef.d.ts +35 -0
  185. package/lib/esm/utils/setRef.d.ts +9 -0
  186. package/lib/esm/utils/useClickOutside.d.ts +2 -0
  187. package/lib/esm/utils/useElement.d.ts +2 -0
  188. package/lib/esm/utils/useForkRef.d.ts +10 -0
  189. package/lib/images/layers-2x.png +0 -0
  190. package/lib/images/layers.png +0 -0
  191. package/lib/images/marker-icon-2x.png +0 -0
  192. package/lib/images/marker-icon.png +0 -0
  193. package/lib/images/marker-shadow.png +0 -0
  194. package/lib/index.d.ts +447 -0
  195. package/lib/styles/BarLoader/index.scss +132 -0
  196. package/lib/styles/Button/index.scss +147 -0
  197. package/lib/styles/Camera/index.css +196 -0
  198. package/lib/styles/Camera/index.scss +241 -0
  199. package/lib/styles/Dialog/index.scss +265 -0
  200. package/lib/styles/Icons/index.scss +9 -0
  201. package/lib/styles/Input/index.scss +69 -0
  202. package/lib/styles/Map/index.scss +50 -0
  203. package/lib/styles/Menu/index.scss +131 -0
  204. package/lib/styles/Popper/index.scss +24 -0
  205. package/lib/styles/Scanner/index.scss +110 -0
  206. package/lib/styles/Select/index.scss +13 -0
  207. package/lib/styles/Selected/index.scss +78 -0
  208. package/lib/styles/Spinner/index.scss +43 -0
  209. package/lib/styles/TagInput/index.scss +141 -0
  210. package/lib/styles/TextField/index.scss +22 -0
  211. package/lib/styles/ToggleButton/index.scss +60 -0
  212. package/lib/styles/Tooltip/index.scss +25 -0
  213. package/lib/styles/Transition/index.scss +15 -0
  214. package/lib/styles/global.scss +162 -0
  215. package/lib/styles/index.scss +50 -0
  216. package/lib/typings/typings/css.d.ts +12 -0
  217. package/lib/typings/typings/index.d.ts +31 -0
  218. package/lib/typings/typings/tagInput.d.ts +13 -0
  219. package/package.json +5 -4
@@ -0,0 +1,147 @@
1
+ @use "../global.scss";
2
+
3
+ @mixin button($props: null, $options: null) {
4
+ $internal-options: global.$default-options;
5
+
6
+ $internal-props: ();
7
+
8
+ $internal-props: global.safe-map-merge($internal-props, $props);
9
+ $internal-options: global.safe-map-merge($internal-options, $options);
10
+
11
+ .ui-btn {
12
+ position: relative;
13
+ display: inline-flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ background-color: transparent;
17
+ outline: 0px;
18
+ border: 1px solid transparent;
19
+ margin: 0px;
20
+ cursor: pointer;
21
+ user-select: none;
22
+ appearance: none;
23
+ text-decoration: none;
24
+ font-family: global.$font-family;
25
+ font-weight: global.$font-weight-semi-bold;
26
+ font-size: global.$font-size-md;
27
+ letter-spacing: 0.02857em;
28
+ text-transform: uppercase;
29
+ min-width: 64px;
30
+ padding: global.$spacer-sm;
31
+ border-radius: global.$border-radius-xs;
32
+ transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
33
+ box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
34
+ border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
35
+ color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
36
+ }
37
+
38
+ .ui-btn:not(.ui-btn-disable):hover {
39
+ text-decoration: none;
40
+ background-color: rgba($color: #90a4ae, $alpha: 0.1);
41
+ }
42
+
43
+ .ui-btn-disable {
44
+ color: global.$color-blue-grey-lighter;
45
+ }
46
+
47
+ .ui-btn-contained {
48
+ &:not(.ui-btn-disable):hover {
49
+ text-decoration: none;
50
+ }
51
+
52
+ &.ui-btn-disable {
53
+ background-color: global.$color-blue-grey-lighter;
54
+ color: global.$color-grey-lighter;
55
+ }
56
+ }
57
+
58
+ .ui-btn-outlined {
59
+ &.ui-btn-disable {
60
+ border-color: global.$color-blue-grey-lighter;
61
+ }
62
+ }
63
+
64
+ .ui-btn-color-primary {
65
+ color: global.$color-blue-dark;
66
+
67
+ &:not(.ui-btn-disable).ui-btn-contained {
68
+ background-color: global.$color-blue-dark;
69
+ color: #fff;
70
+
71
+ &:hover {
72
+ background-color: global.$color-blue-darker;
73
+ }
74
+ }
75
+
76
+ &:not(.ui-btn-disable).ui-btn-outlined {
77
+ border-color: global.$color-blue-dark;
78
+
79
+ &:hover {
80
+ border-color: global.$color-blue-darker;
81
+ }
82
+ }
83
+ }
84
+
85
+ .ui-btn-color-secondary {
86
+ color: global.$color-grey-dark;
87
+
88
+ &:not(.ui-btn-disable).ui-btn-contained {
89
+ background-color: global.$color-grey-dark;
90
+ color: #fff;
91
+
92
+ &:hover {
93
+ background-color: global.$color-grey-darker;
94
+ }
95
+ }
96
+
97
+ &:not(.ui-btn-disable).ui-btn-outlined {
98
+ border-color: global.$color-grey-dark;
99
+
100
+ &:hover {
101
+ border-color: global.$color-grey-darker;
102
+ }
103
+ }
104
+ }
105
+
106
+ .ui-btn-color-success {
107
+ color: global.$color-green;
108
+
109
+ &:not(.ui-btn-disable).ui-btn-contained {
110
+ background-color: global.$color-green;
111
+ color: #fff;
112
+
113
+ &:hover {
114
+ background-color: global.$color-green-dark;
115
+ }
116
+ }
117
+
118
+ &:not(.ui-btn-disable).ui-btn-outlined {
119
+ border-color: global.$color-green;
120
+
121
+ &:hover {
122
+ border-color: global.$color-green-dark;
123
+ }
124
+ }
125
+ }
126
+
127
+ .ui-btn-color-danger {
128
+ color: global.$color-red;
129
+
130
+ &:not(.ui-btn-disable).ui-btn-contained {
131
+ background-color: global.$color-red;
132
+ color: #fff;
133
+
134
+ &:hover {
135
+ background-color: global.$color-red-dark;
136
+ }
137
+ }
138
+
139
+ &:not(.ui-btn-disable).ui-btn-outlined {
140
+ border-color: global.$color-red;
141
+
142
+ &:hover {
143
+ border-color: global.$color-red-dark;
144
+ }
145
+ }
146
+ }
147
+ }
@@ -0,0 +1,196 @@
1
+ .camera-container {
2
+ width: 100%;
3
+ height: 100%;
4
+ background-color: #000;
5
+ }
6
+
7
+ .camera-switch-btn {
8
+ all: initial;
9
+ display: flex;
10
+ cursor: pointer;
11
+ }
12
+
13
+ .camera-recording-dot {
14
+ width: 8px;
15
+ height: 8px;
16
+ border-radius: 50%;
17
+ background-color: #f44336;
18
+ animation: clignote 1s infinite;
19
+ }
20
+
21
+ .camera-recording-timer {
22
+ z-index: 99;
23
+ position: absolute;
24
+ top: 1rem;
25
+ left: 20px;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ background: rgba(0, 0, 0, 0.2);
30
+ border-radius: 4px;
31
+ padding: 3px 7px;
32
+ font-size: 12px;
33
+ color: #fff;
34
+ font-family: sans-serif;
35
+ gap: 6px;
36
+ }
37
+
38
+ .camera-offline-mode {
39
+ position: absolute;
40
+ top: 1rem;
41
+ right: 20px;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ background: rgba(0, 0, 0, 0.2);
46
+ border-radius: 4px;
47
+ padding: 3px 7px;
48
+ font-size: 12px;
49
+ color: red;
50
+ font-family: sans-serif;
51
+ }
52
+
53
+ .camera-mode {
54
+ z-index: 9999;
55
+ position: absolute;
56
+ bottom: 2rem;
57
+ right: 20px;
58
+ padding: 0.5rem;
59
+ border-radius: 6px;
60
+ color: #ffffff;
61
+ border: none;
62
+ cursor: pointer;
63
+ display: flex;
64
+ justify-content: center;
65
+ align-items: center;
66
+ gap: 7px;
67
+ background-color: #2196f3;
68
+ transition: background-color 0.3s ease;
69
+ }
70
+
71
+ .camera-preview {
72
+ position: relative;
73
+ width: 100%;
74
+ height: 100%;
75
+ overflow: hidden;
76
+ display: flex;
77
+ > video {
78
+ margin: 0 auto;
79
+ }
80
+ }
81
+
82
+ .camera-controls {
83
+ z-index: 999;
84
+ position: absolute;
85
+ bottom: 2rem;
86
+ left: 0;
87
+ right: 0;
88
+ display: flex;
89
+ justify-content: center;
90
+ gap: 1rem;
91
+ }
92
+
93
+ .video-play-btn {
94
+ all: initial;
95
+ position: absolute;
96
+ bottom: 10%;
97
+ left: 50%;
98
+ z-index: 9;
99
+ width: 1em;
100
+ height: 1em;
101
+ min-width: 15px;
102
+ min-height: 15px;
103
+ transform: translate(-50%, -50%);
104
+ display: flex;
105
+ justify-content: center;
106
+ align-items: center;
107
+ border-radius: 50%;
108
+ border: 1px solid;
109
+ padding: 20px 20px;
110
+ background-color: #ffffff;
111
+ cursor: pointer;
112
+ }
113
+
114
+ .camera-button {
115
+ padding: 0.5rem;
116
+ border-radius: 6px;
117
+ color: #ffffff;
118
+ border: none;
119
+ cursor: pointer;
120
+ display: flex;
121
+ justify-content: center;
122
+ align-items: center;
123
+ gap: 7px;
124
+ transition: background-color 0.3s ease;
125
+ }
126
+ .camera-button--capture {
127
+ border-radius: 50%;
128
+ color: initial;
129
+ width: 50px;
130
+ height: 50px;
131
+ border: 1px solid black;
132
+ background-color: #ffffff;
133
+ }
134
+ .camera-button--record {
135
+ border-radius: 50%;
136
+ color: red;
137
+ width: 50px;
138
+ height: 50px;
139
+ border: 1px solid black;
140
+ background-color: #ffffff;
141
+ }
142
+ .camera-button--download {
143
+ background-color: #4caf50;
144
+ }
145
+ .camera-button--download:hover {
146
+ background-color: #388e3c;
147
+ }
148
+ .camera-button--reset {
149
+ background-color: #9e9e9e;
150
+ }
151
+ .camera-button--reset:hover {
152
+ background-color: #757575;
153
+ }
154
+
155
+ .camera-offline-mode {
156
+ font-size: 0.875rem;
157
+ font-family: sans-serif;
158
+ color: #d32f2f;
159
+ }
160
+
161
+ .camera-screen-animation {
162
+ animation: fadeIn 0.3s;
163
+ }
164
+
165
+ @keyframes fadeIn {
166
+ 0% {
167
+ opacity: 0;
168
+ }
169
+ 100% {
170
+ opacity: 1;
171
+ }
172
+ }
173
+ @keyframes pulse {
174
+ 0% {
175
+ transform: scale(1);
176
+ }
177
+ 50% {
178
+ transform: scale(1.05);
179
+ }
180
+ 100% {
181
+ transform: scale(1);
182
+ }
183
+ }
184
+ @keyframes clignote {
185
+ 0% {
186
+ opacity: 1;
187
+ }
188
+ 50% {
189
+ opacity: 0;
190
+ }
191
+ 100% {
192
+ opacity: 1;
193
+ }
194
+ }
195
+
196
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1,241 @@
1
+ @use "sass:map";
2
+ @use "../global.scss";
3
+
4
+ @mixin camera($props: null, $options: null) {
5
+ $internal-props: (
6
+ bgColor: #ffffff,
7
+ fgColor: global.$color-grey-darker,
8
+ captureButtonBg: #2196f3,
9
+ captureButtonHover: #1976d2,
10
+ recordButtonBg: #f44336,
11
+ recordButtonHover: #d32f2f,
12
+ downloadButtonBg: #4caf50,
13
+ downloadButtonHover: #388e3c,
14
+ resetButtonBg: #9e9e9e,
15
+ resetButtonHover: #757575,
16
+ offlineModeColor: #d32f2f
17
+ );
18
+
19
+ $internal-props: global.safe-map-merge($internal-props, $props);
20
+
21
+ .camera-container {
22
+ width: 100%;
23
+ height: 100%;
24
+ background-color: #000;
25
+ }
26
+
27
+ .camera-switch {
28
+ z-index: 9999;
29
+ position: absolute;
30
+ bottom: 2rem;
31
+ right: 90px;
32
+ padding: 0.5rem;
33
+ border-radius: 6px;
34
+ color: #ffffff;
35
+ border: none;
36
+ cursor: pointer;
37
+ display: flex;
38
+ justify-content: center;
39
+ align-items: center;
40
+ background-color: map.get($internal-props, captureButtonBg);
41
+ transition: background-color 0.3s ease;
42
+ }
43
+
44
+ .camera-switch-btn {
45
+ all: initial;
46
+ display: flex;
47
+ cursor: pointer;
48
+ }
49
+
50
+ .camera-recording-dot {
51
+ width: 8px;
52
+ height: 8px;
53
+ border-radius: 50%;
54
+ background-color: map.get($internal-props, recordButtonBg);
55
+ animation: clignote 1s infinite;
56
+ }
57
+
58
+ .camera-recording-timer {
59
+ z-index: 99;
60
+ position: absolute;
61
+ top: 1rem;
62
+ left: 20px;
63
+ display: flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ background: rgba(0, 0, 0, .2);
67
+ border-radius: 4px;
68
+ padding: 3px 7px;
69
+ font-size: 12px;
70
+ color: #fff;
71
+ font-family: sans-serif;
72
+ gap: 6px;
73
+ }
74
+
75
+ .camera-offline-mode {
76
+ position: absolute;
77
+ top: 1rem;
78
+ right: 20px;
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ background: rgba(0, 0, 0, .2);
83
+ border-radius: 4px;
84
+ padding: 3px 7px;
85
+ font-size: 12px;
86
+ color: red;
87
+ font-family: sans-serif;
88
+ }
89
+
90
+ .camera-mode {
91
+ z-index: 9999;
92
+ position: absolute;
93
+ bottom: 2rem;
94
+ right: 20px;
95
+ padding: 0.5rem;
96
+ border-radius: 6px;
97
+ color: #ffffff;
98
+ border: none;
99
+ cursor: pointer;
100
+ display: flex;
101
+ justify-content: center;
102
+ align-items: center;
103
+ gap: 7px;
104
+ background-color: map.get($internal-props, captureButtonBg);
105
+ transition: background-color 0.3s ease;
106
+ }
107
+
108
+ .camera-preview {
109
+ position: relative;
110
+ width: 100%;
111
+ height: 90%;
112
+ overflow: hidden;
113
+ display: flex;
114
+ flex-direction: column;
115
+ justify-content: center;
116
+ align-items: center;
117
+ }
118
+
119
+ .camera-controls {
120
+ z-index: 999;
121
+ display: flex;
122
+ justify-content: center;
123
+ align-items: center;
124
+ gap: 1rem;
125
+ padding: 1rem;
126
+ width: 100%;
127
+ flex-direction: row;
128
+ }
129
+
130
+ .video-play-btn {
131
+ all: initial;
132
+ position: absolute;
133
+ bottom: 10%;
134
+ left: 50%;
135
+ z-index: 9;
136
+ width: 1em;
137
+ height: 1em;
138
+ min-width: 15px;
139
+ min-height: 15px;
140
+ transform: translate(-50%, -50%);
141
+ display: flex;
142
+ justify-content: center;
143
+ align-items: center;
144
+ border-radius: 50%;
145
+ border: 1px solid;
146
+ padding: 20px 20px;
147
+ background-color: map.get($internal-props, bgColor);
148
+ cursor: pointer;
149
+ }
150
+
151
+ .camera-button {
152
+ padding: 0.5rem;
153
+ border-radius: 6px;
154
+ color: #ffffff;
155
+ border: none;
156
+ cursor: pointer;
157
+ display: flex;
158
+ justify-content: center;
159
+ align-items: center;
160
+ gap: 7px;
161
+ min-width: 50px;
162
+ transition: background-color 0.3s ease;
163
+
164
+ &--capture {
165
+ border-radius: 50%;
166
+ color: initial;
167
+ width: 50px;
168
+ height: 50px;
169
+ border: 1px solid black;
170
+ background-color: map.get($internal-props, bgColor);
171
+ }
172
+
173
+ &--record {
174
+ border-radius: 50%;
175
+ color: red;
176
+ width: 50px;
177
+ height: 50px;
178
+ border: 1px solid black;
179
+ background-color: map.get($internal-props, bgColor);
180
+ }
181
+
182
+ &--download {
183
+ background-color: map.get($internal-props, downloadButtonBg);
184
+ margin-left: auto;
185
+ &:hover {
186
+ background-color: map.get($internal-props, downloadButtonHover);
187
+ }
188
+ }
189
+
190
+ &--reset {
191
+ background-color: map.get($internal-props, resetButtonBg);
192
+ margin-right: auto;
193
+ &:hover {
194
+ background-color: map.get($internal-props, resetButtonHover);
195
+ }
196
+ }
197
+ }
198
+
199
+ .camera-offline-mode {
200
+ font-size: 0.875rem;
201
+ font-family: sans-serif;
202
+ color: map.get($internal-props, offlineModeColor);
203
+ }
204
+
205
+ .camera-screen-animation {
206
+ animation: fadeIn .3s;
207
+ }
208
+
209
+ @keyframes fadeIn {
210
+ 0% {
211
+ opacity: 0;
212
+ }
213
+ 100% {
214
+ opacity: 1;
215
+ }
216
+ }
217
+
218
+ @keyframes pulse {
219
+ 0% {
220
+ transform: scale(1);
221
+ }
222
+ 50% {
223
+ transform: scale(1.05);
224
+ }
225
+ 100% {
226
+ transform: scale(1);
227
+ }
228
+ }
229
+
230
+ @keyframes clignote {
231
+ 0% {
232
+ opacity: 1;
233
+ }
234
+ 50% {
235
+ opacity: 0;
236
+ }
237
+ 100% {
238
+ opacity: 1;
239
+ }
240
+ }
241
+ }