siam-ui-utils 2.2.0 → 2.2.2

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.
@@ -0,0 +1,41 @@
1
+ import js from '@eslint/js';
2
+ import globals from 'globals';
3
+ import pluginReact from 'eslint-plugin-react';
4
+ import pluginReactHooks from 'eslint-plugin-react-hooks';
5
+ import pluginReactRefresh from 'eslint-plugin-react-refresh';
6
+ import { defineConfig } from 'eslint/config';
7
+
8
+ export default defineConfig([
9
+ { ignores: ['build', '**/*.d.ts'] },
10
+ {
11
+ files: ['**/*.{js,jsx,ts,tsx}'],
12
+ languageOptions: {
13
+ ecmaVersion: 'latest',
14
+ sourceType: 'module',
15
+ globals: globals.browser,
16
+ parserOptions: {
17
+ ecmaFeatures: { jsx: true },
18
+ },
19
+ },
20
+ plugins: {
21
+ react: pluginReact,
22
+ 'react-hooks': pluginReactHooks,
23
+ 'react-refresh': pluginReactRefresh,
24
+ },
25
+ rules: {
26
+ ...js.configs.recommended.rules,
27
+ ...pluginReact.configs.recommended.rules,
28
+ ...pluginReact.configs['jsx-runtime'].rules,
29
+ ...pluginReactHooks.configs.recommended.rules,
30
+ 'react/jsx-no-target-blank': 'off',
31
+ 'react-refresh/only-export-components': [
32
+ 'off',
33
+ { allowConstantExport: true },
34
+ ],
35
+ 'react/prop-types': 'off',
36
+ '@/no-default-export': 'off',
37
+ 'no-unused-vars': 'warn',
38
+ },
39
+ settings: { react: { version: 'detect' } },
40
+ },
41
+ ]);
package/index.html CHANGED
@@ -1,12 +1,17 @@
1
- <!doctype html><html lang="en">
2
- <head>
3
- <meta charset="UTF-8" />
4
- <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Siam - UI - utils</title>
7
- </head>
8
- <body>
9
- <div id="root"></div>
10
- <script type="module" src="/src/main.jsx"></script>
11
- </body>
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Siam - UI - utils</title>
8
+ <link
9
+ rel="stylesheet"
10
+ href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css"
11
+ />
12
+ </head>
13
+ <body>
14
+ <div id="root"></div>
15
+ <script type="module" src="/src/main.jsx"></script>
16
+ </body>
12
17
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "siam-ui-utils",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "keywords": [
5
5
  "ampf-react",
6
6
  "ampf-utils",
@@ -43,29 +43,23 @@
43
43
  "vite-plugin-commonjs": "^0.10.3"
44
44
  },
45
45
  "devDependencies": {
46
- "@eslint/js": "^9.9.0",
46
+ "@eslint/js": "^9.31.0",
47
47
  "@testing-library/dom": "^10.4.0",
48
48
  "@testing-library/jest-dom": "^6.4.8",
49
49
  "@testing-library/react": "^16.0.0",
50
50
  "@types/react": "^18.3.3",
51
51
  "@types/react-dom": "^18.3.0",
52
52
  "@types/react-router-dom": "^5.3.3",
53
- "@typescript-eslint/parser": "^8.2.0",
54
53
  "@vitejs/plugin-react": "^4.3.1",
55
54
  "copyfiles": "^2.4.1",
56
- "eslint": "^9.9.0",
57
- "eslint-config-airbnb": "^19.0.4",
58
- "eslint-config-prettier": "^8.8.0",
59
- "eslint-config-react-app": "^7.0.1",
60
- "eslint-plugin-import": "^2.27.5",
61
- "eslint-plugin-jsx-a11y": "^6.7.1",
62
- "eslint-plugin-prettier": "^4.2.1",
63
- "eslint-plugin-react": "^7.33.0",
64
- "eslint-plugin-react-hooks": "^5.1.0-rc.0",
65
- "eslint-plugin-react-refresh": "^0.4.9",
55
+ "eslint": "^9.31.0",
56
+ "eslint-plugin-react": "^7.37.5",
57
+ "eslint-plugin-react-hooks": "^5.2.0",
58
+ "eslint-plugin-react-refresh": "^0.4.20",
59
+ "globals": "^16.3.0",
66
60
  "sass-embedded": "^1.79.4",
61
+ "typescript-eslint": "^8.38.0",
67
62
  "vite": "^7.0.1",
68
- "vite-plugin-eslint": "^1.8.1",
69
63
  "vitest": "^3.2.4"
70
64
  }
71
65
  }
package/src/App.jsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import { useState } from 'react';
2
2
  import {
3
3
  Accordion,
4
4
  AccordionBody,
@@ -1,10 +1,9 @@
1
- import React from 'react';
2
1
  import { Col } from 'reactstrap';
3
2
 
4
3
  const Colxx = (props) => (
5
4
  <Col {...props} widths={['xxs', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl']} />
6
5
  );
7
- // eslint-disable-next-line react/prop-types
6
+
8
7
  const Separator = ({ className }) => (
9
8
  <div className={`separator ${className}`} />
10
9
  );
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { components } from 'react-select';
3
2
 
4
3
  const CustomSelectInput = (props) => {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { FormattedMessage, injectIntl } from 'react-intl';
3
2
 
4
3
  const InjectMassage = (props) => <FormattedMessage {...props} />;
@@ -1,4 +1,4 @@
1
- /* eslint-disable react/prop-types */
1
+
2
2
  import { useState } from 'react';
3
3
  import { Button } from 'reactstrap';
4
4
  import { getDroppedOrSelectedFiles } from 'html5-file-selector';
@@ -1,11 +1,10 @@
1
- /* eslint-disable react/prop-types */
2
- import React, { useEffect, useState } from 'react';
1
+
2
+ import { useEffect, useState } from 'react';
3
3
  import { getDroppedOrSelectedFiles } from 'html5-file-selector';
4
4
  import Dropzone from 'react-dropzone-uploader';
5
5
  import 'react-dropzone-uploader/dist/styles.css';
6
6
  import { IconButtonSvg, pdfImage } from '../iconos';
7
7
  import './dropzone-uploader.css';
8
- import './simple-line-icons.css';
9
8
 
10
9
  const maxSize = 7;
11
10
  export const DropzoneUploader = ({
@@ -55,54 +55,8 @@ Table of Contents
55
55
 
56
56
  @use 'sass:color';
57
57
  @use './themes/variables.scss' as *;
58
+ @use './mixins' as *;
58
59
 
59
- $main-menu-item-height: 30px;
60
- $main-menu-width: 150px;
61
- $main-menu-width-lg: 150px;
62
- $main-menu-width-md: 130px;
63
- $main-menu-width-xs: 130px;
64
-
65
- $sub-menu-width: 200px;
66
- $sub-menu-width-lg: 200px;
67
- $sub-menu-width-md: 200px;
68
- $sub-menu-width-xs: 200px;
69
-
70
- $navbar-height: 40px;
71
- $navbar-height-xs: 40px;
72
- $navbar-height-md: 40px;
73
- $navbar-height-lg: 40px;
74
-
75
- $main-margin: 10px;
76
- $main-margin-lg: 10px;
77
- $main-margin-md: 10px;
78
- $main-margin-xs: 10px;
79
-
80
- $app-menu-width: 280px;
81
-
82
- $main-menu-item-height-mobile: 30px;
83
-
84
- $menu-collapse-time: 300ms;
85
- $animation-time-long: 1000ms;
86
- $animation-time-short: 200ms;
87
-
88
- $border-radius: 0.1rem;
89
- $border-radius-rounded: 0.75rem;
90
-
91
- $theme-color-purple-monster: #922c88;
92
- $theme-color-blue-navy: #00365a;
93
- $theme-color-blue-yale: #145388;
94
- $theme-color-blue-olympic: #008ecc;
95
- $theme-color-green-moss: #576a3d;
96
- $theme-color-green-lime: #6fb327;
97
- $theme-color-orange-carrot: #ed7117;
98
- $theme-color-red-ruby: #900604;
99
- $theme-color-yellow-granola: #c0a145;
100
- $theme-color-grey-steel: #48494b;
101
-
102
- $info-color: #3195a5;
103
- $success-color: #3e884f;
104
- $warning-color: #b69329;
105
- $error-color: #c43d4b;
106
60
 
107
61
  /* 01.Base */
108
62
  html {
@@ -1,3 +1,10 @@
1
+ @use './themes/variables.scss' as *;
2
+ @use "sass:list";
3
+ @use "sass:map";
4
+ @use "sass:meta";
5
+ @use "sass:string";
6
+
7
+
1
8
  // Mixin to prefix several properties at once
2
9
  // @author Hugo Giraudel
3
10
  // @param {Map} $declarations - Declarations to prefix
@@ -31,9 +38,9 @@
31
38
  // @return {List}
32
39
 
33
40
  @function top-shadow($depth) {
34
- $primary-offset: nth($shadowOffsetsTop, $depth) * 1px;
35
- $blur: nth($shadowBlursTop, $depth) * 4px;
36
- $color: rgba(black, nth($shadowOpacitiesTop, $depth));
41
+ $primary-offset: list.nth($shadowOffsetsTop, $depth) * 1px;
42
+ $blur: list.nth($shadowBlursTop, $depth) * 4px;
43
+ $color: rgba(black, list.nth($shadowOpacitiesTop, $depth));
37
44
 
38
45
  @return 0 $primary-offset $blur $color;
39
46
  }
@@ -42,9 +49,9 @@
42
49
  // @param {Number} $depth - depth level
43
50
  // @return {List}
44
51
  @function bottom-shadow($depth) {
45
- $primary-offset: nth($shadowOffsetsBottom, $depth) * 1px;
46
- $blur: nth($shadowBlursBottom, $depth) * 5px;
47
- $color: rgba(black, nth($shadowOpacitiesBottom, $depth));
52
+ $primary-offset: list.nth($shadowOffsetsBottom, $depth) * 1px;
53
+ $blur: list.nth($shadowBlursBottom, $depth) * 5px;
54
+ $color: rgba(black, list.nth($shadowOpacitiesBottom, $depth));
48
55
  @return 0 $primary-offset $blur $color;
49
56
  }
50
57
 
@@ -72,9 +79,9 @@ $breakpoints: (
72
79
 
73
80
  @mixin respond-above($breakpoint) {
74
81
  // If the breakpoint exists in the map.
75
- @if map-has-key($breakpoints, $breakpoint) {
82
+ @if map.has-key($breakpoints, $breakpoint) {
76
83
  // Get the breakpoint value.
77
- $breakpoint-value: map-get(
84
+ $breakpoint-value: map.get(
78
85
  $breakpoints,
79
86
  $breakpoint
80
87
  ); // Write the media query.
@@ -91,9 +98,9 @@ $breakpoints: (
91
98
 
92
99
  @mixin respond-below($breakpoint) {
93
100
  // If the breakpoint exists in the map.
94
- @if map-has-key($breakpoints, $breakpoint) {
101
+ @if map.has-key($breakpoints, $breakpoint) {
95
102
  // Get the breakpoint value.
96
- $breakpoint-value: map-get(
103
+ $breakpoint-value: map.get(
97
104
  $breakpoints,
98
105
  $breakpoint
99
106
  ); // Write the media query.
@@ -108,9 +115,9 @@ $breakpoints: (
108
115
  }
109
116
 
110
117
  @function encodecolor($string) {
111
- @if type-of($string) == 'color' {
112
- $hex: str-slice(ie-hex-str($string), 4);
113
- $string:unquote("#{$hex}");
118
+ @if meta.type-of($string) == 'color' {
119
+ $hex: string.slice(ie-hex-str($string), 4);
120
+ $string: string.unquote("#{$hex}");
114
121
  }
115
122
  $string: '%23' + $string;
116
123
  @return $string;
@@ -1,3 +1,6 @@
1
+
2
+ @use './themes/variables.scss' as *;
3
+
1
4
  .modal-spinner {
2
5
  position: absolute;
3
6
  top: 15rem;
@@ -1,6 +1,6 @@
1
1
  @use "./mixins" as *;
2
2
  @use "./gogo.style" as *;
3
- @use "./plugins" as *;
3
+ @use "./plugins/react-table.scss" as *;
4
4
  @use "./ampf_style" as *;
5
5
 
6
6
  /** your custom css code **/
@@ -1,3 +1,6 @@
1
+ @use '../themes/variables.scss' as *;
2
+ @use '../mixins' as *;
3
+
1
4
  /* 19.Datatable */
2
5
  .r-table {
3
6
  border: initial;
@@ -165,7 +168,7 @@
165
168
  }
166
169
 
167
170
  &.sortable {
168
- // padding-left: 25px;
171
+ padding-left: 25px;
169
172
  }
170
173
  }
171
174
 
@@ -36,3 +36,51 @@ $shadowOpacitiesBottom: 0.04 0.1 0.2 0.22 0.22;
36
36
  $logoPath: '';
37
37
  // $logoPathMobile: "/assets/img/logo-mobile.svg";
38
38
  $logoPathMobile: '';
39
+
40
+ $main-menu-item-height: 30px;
41
+ $main-menu-width: 150px;
42
+ $main-menu-width-lg: 150px;
43
+ $main-menu-width-md: 130px;
44
+ $main-menu-width-xs: 130px;
45
+
46
+ $sub-menu-width: 200px;
47
+ $sub-menu-width-lg: 200px;
48
+ $sub-menu-width-md: 200px;
49
+ $sub-menu-width-xs: 200px;
50
+
51
+ $navbar-height: 40px;
52
+ $navbar-height-xs: 40px;
53
+ $navbar-height-md: 40px;
54
+ $navbar-height-lg: 40px;
55
+
56
+ $main-margin: 10px;
57
+ $main-margin-lg: 10px;
58
+ $main-margin-md: 10px;
59
+ $main-margin-xs: 10px;
60
+
61
+ $app-menu-width: 280px;
62
+
63
+ $main-menu-item-height-mobile: 30px;
64
+
65
+ $menu-collapse-time: 300ms;
66
+ $animation-time-long: 1000ms;
67
+ $animation-time-short: 200ms;
68
+
69
+ $border-radius: 0.1rem;
70
+ $border-radius-rounded: 0.75rem;
71
+
72
+ $theme-color-purple-monster: #922c88;
73
+ $theme-color-blue-navy: #00365a;
74
+ $theme-color-blue-yale: #145388;
75
+ $theme-color-blue-olympic: #008ecc;
76
+ $theme-color-green-moss: #576a3d;
77
+ $theme-color-green-lime: #6fb327;
78
+ $theme-color-orange-carrot: #ed7117;
79
+ $theme-color-red-ruby: #900604;
80
+ $theme-color-yellow-granola: #c0a145;
81
+ $theme-color-grey-steel: #48494b;
82
+
83
+ $info-color: #3195a5;
84
+ $success-color: #3e884f;
85
+ $warning-color: #b69329;
86
+ $error-color: #c43d4b;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { useNavigate } from 'react-router';
3
2
 
4
3
  export const withRouter = (Component) => {
@@ -1,10 +1,10 @@
1
- import React, { useState } from 'react';
1
+ import { useEffect, useRef, useState } from 'react';
2
2
  import { withTheme } from 'styled-components';
3
3
  import { Icon } from './styled-icon';
4
4
 
5
5
  const useSvgToReactEncoded = (svg) => {
6
- const svgWrapperRef = React.useRef();
7
- React.useEffect(() => {
6
+ const svgWrapperRef = useRef();
7
+ useEffect(() => {
8
8
  svgWrapperRef.current.innerHTML = svg;
9
9
  }, [svg]);
10
10
 
@@ -46,5 +46,5 @@ const IconButtonSvg = (props) => {
46
46
  );
47
47
  };
48
48
  IconButtonSvg.defaultProps = { theme: {} };
49
- const _t=withTheme(IconButtonSvg);
50
- export {_t as IconButtonSvg}
49
+ const _t = withTheme(IconButtonSvg);
50
+ export { _t as IconButtonSvg };
@@ -1,6 +1,6 @@
1
1
  import { styled } from 'styled-components';
2
2
 
3
- // eslint-disable-next-line react/react-in-jsx-scope
3
+
4
4
  const IconDiv = (props) => <div {...props} />;
5
5
 
6
6
  export const Icon = styled(IconDiv)`
@@ -4,7 +4,7 @@ import { DropzoneUploader, Colxx } from '../';
4
4
  import { TAKE_PHOTO } from '../constants';
5
5
  import imgHacerFoto from '../assets/img/take-photo.png';
6
6
 
7
- // eslint-disable-next-line react/prop-types
7
+
8
8
  export const TomarFoto = ({
9
9
  onFilesSelectedSelfie = () => {},
10
10
  isMobile = false,
@@ -1,10 +1,98 @@
1
- export const WhereByRoom = ({ url, title = 'Videollamada AMPF' }) => {
1
+ import { useEffect, useRef, useState } from 'react';
2
+
3
+ export const WhereByRoom = ({
4
+ url,
5
+ title = 'Videollamada AMPF',
6
+ onEvent,
7
+ style = {},
8
+ waitingMessage = 'Por favor, espere a que el doctor habilite la sala...',
9
+ ...props
10
+ }) => {
11
+ const iframeRef = useRef(null);
12
+ const [roomEnabled, setRoomEnabled] = useState(false);
13
+
14
+ useEffect(() => {
15
+ let whereby;
16
+ const loadSDK = async () => {
17
+ if (!window.Whereby) {
18
+ // Carga el SDK si no está presente
19
+ const script = document.createElement('script');
20
+ script.src = 'https://embed.whereby.com/embed-sdk.js';
21
+ script.async = true;
22
+ script.onload = () => {
23
+ whereby = new window.Whereby(iframeRef.current);
24
+ whereby.on('roomJoined', (event) => {
25
+ setRoomEnabled(true);
26
+ onEvent?.('roomJoined', event);
27
+ });
28
+ whereby.on('roomLeft', (event) => {
29
+ setRoomEnabled(false);
30
+ onEvent?.('roomLeft', event);
31
+ });
32
+ whereby.on('participantJoined', (event) =>
33
+ onEvent?.('participantJoined', event)
34
+ );
35
+ whereby.on('participantLeft', (event) =>
36
+ onEvent?.('participantLeft', event)
37
+ );
38
+ // Agrega más eventos según necesidad
39
+ };
40
+ document.body.appendChild(script);
41
+ } else {
42
+ whereby = new window.Whereby(iframeRef.current);
43
+ whereby.on('roomJoined', (event) => {
44
+ setRoomEnabled(true);
45
+ onEvent?.('roomJoined', event);
46
+ });
47
+ whereby.on('roomLeft', (event) => {
48
+ setRoomEnabled(false);
49
+ onEvent?.('roomLeft', event);
50
+ });
51
+ whereby.on('participantJoined', (event) =>
52
+ onEvent?.('participantJoined', event)
53
+ );
54
+ whereby.on('participantLeft', (event) =>
55
+ onEvent?.('participantLeft', event)
56
+ );
57
+ }
58
+ };
59
+ loadSDK();
60
+
61
+ return () => {
62
+ // Limpieza si es necesario
63
+ };
64
+ }, [url, onEvent]);
65
+
66
+ if (!roomEnabled) {
67
+ return (
68
+ <div
69
+ style={{
70
+ ...style,
71
+ minHeight: '600px',
72
+ display: 'flex',
73
+ alignItems: 'center',
74
+ justifyContent: 'center',
75
+ }}
76
+ >
77
+ {waitingMessage}
78
+ </div>
79
+ );
80
+ }
81
+
2
82
  return (
3
83
  <iframe
84
+ ref={iframeRef}
4
85
  src={url}
5
86
  allow="camera; microphone; fullscreen; speaker; display-capture"
6
- style={{ width: '100%', height: '100%', border: '0', minHeight: '600px' }}
87
+ style={{
88
+ width: '100%',
89
+ height: '100%',
90
+ border: '0',
91
+ minHeight: '600px',
92
+ ...style,
93
+ }}
7
94
  title={title}
95
+ {...props}
8
96
  />
9
97
  );
10
98
  };
package/vite.config.ts CHANGED
@@ -7,7 +7,7 @@ export default defineConfig({
7
7
  server: {
8
8
  port: 5173,
9
9
  open: true,
10
- hmr: false
10
+ hmr: true
11
11
  },
12
12
  css: {
13
13
  preprocessorOptions: {
package/eslint.config.js DELETED
@@ -1,41 +0,0 @@
1
- import js from '@eslint/js'
2
- import globals from 'globals'
3
- import react from 'eslint-plugin-react'
4
- import reactHooks from 'eslint-plugin-react-hooks'
5
- import reactRefresh from 'eslint-plugin-react-refresh'
6
-
7
- export default [
8
- { ignores: ['build'] },
9
- {
10
- files: ['**/*.{js,jsx,ts,tsx}'],
11
- languageOptions: {
12
- ecmaVersion: 2020,
13
- globals: globals.browser,
14
- parserOptions: {
15
- ecmaVersion: 'latest',
16
- ecmaFeatures: { jsx: true },
17
- sourceType: 'module',
18
- },
19
- },
20
- settings: { react: { version: '18.3' } },
21
- plugins: {
22
- react,
23
- 'react-hooks': reactHooks,
24
- 'react-refresh': reactRefresh,
25
- },
26
- rules: {
27
- ...js.configs.recommended.rules,
28
- ...react.configs.recommended.rules,
29
- ...react.configs['jsx-runtime'].rules,
30
- ...reactHooks.configs.recommended.rules,
31
- 'react/jsx-no-target-blank': 'off',
32
- 'react-refresh/only-export-components': [
33
- 'off',
34
- { allowConstantExport: true },
35
- ],
36
- 'react/prop-types': 'off',
37
- '@/no-default-export': 'off',
38
- 'no-unused-vars': 'warn',
39
- },
40
- },
41
- ]
@@ -1,778 +0,0 @@
1
- @font-face {
2
- font-family: 'simple-line-icons';
3
- src: url('../fonts/Simple-Line-Icons.eot?v=2.4.0');
4
- src: url('../fonts/Simple-Line-Icons.eot?v=2.4.0#iefix') format('embedded-opentype'), url('../fonts/Simple-Line-Icons.woff2?v=2.4.0') format('woff2'), url('../fonts/Simple-Line-Icons.ttf?v=2.4.0') format('truetype'), url('../fonts/Simple-Line-Icons.woff?v=2.4.0') format('woff'), url('../fonts/Simple-Line-Icons.svg?v=2.4.0#simple-line-icons') format('svg');
5
- font-weight: normal;
6
- font-style: normal;
7
- }
8
- /*
9
- Use the following CSS code if you want to have a class per icon.
10
- Instead of a list of all class selectors, you can use the generic [class*="icon-"] selector, but it's slower:
11
- */
12
- .simple-icon-user,
13
- .simple-icon-people,
14
- .simple-icon-user-female,
15
- .simple-icon-user-follow,
16
- .simple-icon-user-following,
17
- .simple-icon-user-unfollow,
18
- .simple-icon-login,
19
- .simple-icon-logout,
20
- .simple-icon-emotsmile,
21
- .simple-icon-phone,
22
- .simple-icon-call-end,
23
- .simple-icon-call-in,
24
- .simple-icon-call-out,
25
- .simple-icon-map,
26
- .simple-icon-location-pin,
27
- .simple-icon-direction,
28
- .simple-icon-directions,
29
- .simple-icon-compass,
30
- .simple-icon-layers,
31
- .simple-icon-menu,
32
- .simple-icon-list,
33
- .simple-icon-options-vertical,
34
- .simple-icon-options,
35
- .simple-icon-arrow-down,
36
- .simple-icon-arrow-left,
37
- .simple-icon-arrow-right,
38
- .simple-icon-arrow-up,
39
- .simple-icon-arrow-up-circle,
40
- .simple-icon-arrow-left-circle,
41
- .simple-icon-arrow-right-circle,
42
- .simple-icon-arrow-down-circle,
43
- .simple-icon-check,
44
- .simple-icon-clock,
45
- .simple-icon-plus,
46
- .simple-icon-minus,
47
- .simple-icon-close,
48
- .simple-icon-event,
49
- .simple-icon-exclamation,
50
- .simple-icon-organization,
51
- .simple-icon-trophy,
52
- .simple-icon-screen-smartphone,
53
- .simple-icon-screen-desktop,
54
- .simple-icon-plane,
55
- .simple-icon-notebook,
56
- .simple-icon-mustache,
57
- .simple-icon-mouse,
58
- .simple-icon-magnet,
59
- .simple-icon-energy,
60
- .simple-icon-disc,
61
- .simple-icon-cursor,
62
- .simple-icon-cursor-move,
63
- .simple-icon-crop,
64
- .simple-icon-chemistry,
65
- .simple-icon-speedometer,
66
- .simple-icon-shield,
67
- .simple-icon-screen-tablet,
68
- .simple-icon-magic-wand,
69
- .simple-icon-hourglass,
70
- .simple-icon-graduation,
71
- .simple-icon-ghost,
72
- .simple-icon-game-controller,
73
- .simple-icon-fire,
74
- .simple-icon-eyeglass,
75
- .simple-icon-envelope-open,
76
- .simple-icon-envelope-letter,
77
- .simple-icon-bell,
78
- .simple-icon-badge,
79
- .simple-icon-anchor,
80
- .simple-icon-wallet,
81
- .simple-icon-vector,
82
- .simple-icon-speech,
83
- .simple-icon-puzzle,
84
- .simple-icon-printer,
85
- .simple-icon-present,
86
- .simple-icon-playlist,
87
- .simple-icon-pin,
88
- .simple-icon-picture,
89
- .simple-icon-handbag,
90
- .simple-icon-globe-alt,
91
- .simple-icon-globe,
92
- .simple-icon-folder-alt,
93
- .simple-icon-folder,
94
- .simple-icon-film,
95
- .simple-icon-feed,
96
- .simple-icon-drop,
97
- .simple-icon-drawer,
98
- .simple-icon-docs,
99
- .simple-icon-doc,
100
- .simple-icon-diamond,
101
- .simple-icon-cup,
102
- .simple-icon-calculator,
103
- .simple-icon-bubbles,
104
- .simple-icon-briefcase,
105
- .simple-icon-book-open,
106
- .simple-icon-basket-loaded,
107
- .simple-icon-basket,
108
- .simple-icon-bag,
109
- .simple-icon-action-undo,
110
- .simple-icon-action-redo,
111
- .simple-icon-wrench,
112
- .simple-icon-umbrella,
113
- .simple-icon-trash,
114
- .simple-icon-tag,
115
- .simple-icon-support,
116
- .simple-icon-frame,
117
- .simple-icon-size-fullscreen,
118
- .simple-icon-size-actual,
119
- .simple-icon-shuffle,
120
- .simple-icon-share-alt,
121
- .simple-icon-share,
122
- .simple-icon-rocket,
123
- .simple-icon-question,
124
- .simple-icon-pie-chart,
125
- .simple-icon-pencil,
126
- .simple-icon-note,
127
- .simple-icon-loop,
128
- .simple-icon-home,
129
- .simple-icon-grid,
130
- .simple-icon-graph,
131
- .simple-icon-microphone,
132
- .simple-icon-music-tone-alt,
133
- .simple-icon-music-tone,
134
- .simple-icon-earphones-alt,
135
- .simple-icon-earphones,
136
- .simple-icon-equalizer,
137
- .simple-icon-like,
138
- .simple-icon-dislike,
139
- .simple-icon-control-start,
140
- .simple-icon-control-rewind,
141
- .simple-icon-control-play,
142
- .simple-icon-control-pause,
143
- .simple-icon-control-forward,
144
- .simple-icon-control-end,
145
- .simple-icon-volume-1,
146
- .simple-icon-volume-2,
147
- .simple-icon-volume-off,
148
- .simple-icon-calendar,
149
- .simple-icon-bulb,
150
- .simple-icon-chart,
151
- .simple-icon-ban,
152
- .simple-icon-bubble,
153
- .simple-icon-camrecorder,
154
- .simple-icon-camera,
155
- .simple-icon-cloud-download,
156
- .simple-icon-cloud-upload,
157
- .simple-icon-envelope,
158
- .simple-icon-eye,
159
- .simple-icon-flag,
160
- .simple-icon-heart,
161
- .simple-icon-info,
162
- .simple-icon-key,
163
- .simple-icon-link,
164
- .simple-icon-lock,
165
- .simple-icon-lock-open,
166
- .simple-icon-magnifier,
167
- .simple-icon-magnifier-add,
168
- .simple-icon-magnifier-remove,
169
- .simple-icon-paper-clip,
170
- .simple-icon-paper-plane,
171
- .simple-icon-power,
172
- .simple-icon-refresh,
173
- .simple-icon-reload,
174
- .simple-icon-settings,
175
- .simple-icon-star,
176
- .simple-icon-symbol-female,
177
- .simple-icon-symbol-male,
178
- .simple-icon-target,
179
- .simple-icon-credit-card,
180
- .simple-icon-paypal,
181
- .simple-icon-social-tumblr,
182
- .simple-icon-social-twitter,
183
- .simple-icon-social-facebook,
184
- .simple-icon-social-instagram,
185
- .simple-icon-social-linkedin,
186
- .simple-icon-social-pinterest,
187
- .simple-icon-social-github,
188
- .simple-icon-social-google,
189
- .simple-icon-social-reddit,
190
- .simple-icon-social-skype,
191
- .simple-icon-social-dribbble,
192
- .simple-icon-social-behance,
193
- .simple-icon-social-foursqare,
194
- .simple-icon-social-soundcloud,
195
- .simple-icon-social-spotify,
196
- .simple-icon-social-stumbleupon,
197
- .simple-icon-social-youtube,
198
- .simple-icon-social-dropbox,
199
- .simple-icon-social-vkontakte,
200
- .simple-icon-social-steam {
201
- font-family: 'simple-line-icons';
202
- speak: none;
203
- font-style: normal;
204
- font-weight: normal;
205
- font-variant: normal;
206
- text-transform: none;
207
- line-height: 1;
208
- /* Better Font Rendering =========== */
209
- -webkit-font-smoothing: antialiased;
210
- -moz-osx-font-smoothing: grayscale;
211
- }
212
- .simple-icon-user:before {
213
- content: "\e005";
214
- }
215
- .simple-icon-people:before {
216
- content: "\e001";
217
- }
218
- .simple-icon-user-female:before {
219
- content: "\e000";
220
- }
221
- .simple-icon-user-follow:before {
222
- content: "\e002";
223
- }
224
- .simple-icon-user-following:before {
225
- content: "\e003";
226
- }
227
- .simple-icon-user-unfollow:before {
228
- content: "\e004";
229
- }
230
- .simple-icon-login:before {
231
- content: "\e066";
232
- }
233
- .simple-icon-logout:before {
234
- content: "\e065";
235
- }
236
- .simple-icon-emotsmile:before {
237
- content: "\e021";
238
- }
239
- .simple-icon-phone:before {
240
- content: "\e600";
241
- }
242
- .simple-icon-call-end:before {
243
- content: "\e048";
244
- }
245
- .simple-icon-call-in:before {
246
- content: "\e047";
247
- }
248
- .simple-icon-call-out:before {
249
- content: "\e046";
250
- }
251
- .simple-icon-map:before {
252
- content: "\e033";
253
- }
254
- .simple-icon-location-pin:before {
255
- content: "\e096";
256
- }
257
- .simple-icon-direction:before {
258
- content: "\e042";
259
- }
260
- .simple-icon-directions:before {
261
- content: "\e041";
262
- }
263
- .simple-icon-compass:before {
264
- content: "\e045";
265
- }
266
- .simple-icon-layers:before {
267
- content: "\e034";
268
- }
269
- .simple-icon-menu:before {
270
- content: "\e601";
271
- }
272
- .simple-icon-list:before {
273
- content: "\e067";
274
- }
275
- .simple-icon-options-vertical:before {
276
- content: "\e602";
277
- }
278
- .simple-icon-options:before {
279
- content: "\e603";
280
- }
281
- .simple-icon-arrow-down:before {
282
- content: "\e604";
283
- }
284
- .simple-icon-arrow-left:before {
285
- content: "\e605";
286
- }
287
- .simple-icon-arrow-right:before {
288
- content: "\e606";
289
- }
290
- .simple-icon-arrow-up:before {
291
- content: "\e607";
292
- }
293
- .simple-icon-arrow-up-circle:before {
294
- content: "\e078";
295
- }
296
- .simple-icon-arrow-left-circle:before {
297
- content: "\e07a";
298
- }
299
- .simple-icon-arrow-right-circle:before {
300
- content: "\e079";
301
- }
302
- .simple-icon-arrow-down-circle:before {
303
- content: "\e07b";
304
- }
305
- .simple-icon-check:before {
306
- content: "\e080";
307
- }
308
- .simple-icon-clock:before {
309
- content: "\e081";
310
- }
311
- .simple-icon-plus:before {
312
- content: "\e095";
313
- }
314
- .simple-icon-minus:before {
315
- content: "\e615";
316
- }
317
- .simple-icon-close:before {
318
- content: "\e082";
319
- }
320
- .simple-icon-event:before {
321
- content: "\e619";
322
- }
323
- .simple-icon-exclamation:before {
324
- content: "\e617";
325
- }
326
- .simple-icon-organization:before {
327
- content: "\e616";
328
- }
329
- .simple-icon-trophy:before {
330
- content: "\e006";
331
- }
332
- .simple-icon-screen-smartphone:before {
333
- content: "\e010";
334
- }
335
- .simple-icon-screen-desktop:before {
336
- content: "\e011";
337
- }
338
- .simple-icon-plane:before {
339
- content: "\e012";
340
- }
341
- .simple-icon-notebook:before {
342
- content: "\e013";
343
- }
344
- .simple-icon-mustache:before {
345
- content: "\e014";
346
- }
347
- .simple-icon-mouse:before {
348
- content: "\e015";
349
- }
350
- .simple-icon-magnet:before {
351
- content: "\e016";
352
- }
353
- .simple-icon-energy:before {
354
- content: "\e020";
355
- }
356
- .simple-icon-disc:before {
357
- content: "\e022";
358
- }
359
- .simple-icon-cursor:before {
360
- content: "\e06e";
361
- }
362
- .simple-icon-cursor-move:before {
363
- content: "\e023";
364
- }
365
- .simple-icon-crop:before {
366
- content: "\e024";
367
- }
368
- .simple-icon-chemistry:before {
369
- content: "\e026";
370
- }
371
- .simple-icon-speedometer:before {
372
- content: "\e007";
373
- }
374
- .simple-icon-shield:before {
375
- content: "\e00e";
376
- }
377
- .simple-icon-screen-tablet:before {
378
- content: "\e00f";
379
- }
380
- .simple-icon-magic-wand:before {
381
- content: "\e017";
382
- }
383
- .simple-icon-hourglass:before {
384
- content: "\e018";
385
- }
386
- .simple-icon-graduation:before {
387
- content: "\e019";
388
- }
389
- .simple-icon-ghost:before {
390
- content: "\e01a";
391
- }
392
- .simple-icon-game-controller:before {
393
- content: "\e01b";
394
- }
395
- .simple-icon-fire:before {
396
- content: "\e01c";
397
- }
398
- .simple-icon-eyeglass:before {
399
- content: "\e01d";
400
- }
401
- .simple-icon-envelope-open:before {
402
- content: "\e01e";
403
- }
404
- .simple-icon-envelope-letter:before {
405
- content: "\e01f";
406
- }
407
- .simple-icon-bell:before {
408
- content: "\e027";
409
- }
410
- .simple-icon-badge:before {
411
- content: "\e028";
412
- }
413
- .simple-icon-anchor:before {
414
- content: "\e029";
415
- }
416
- .simple-icon-wallet:before {
417
- content: "\e02a";
418
- }
419
- .simple-icon-vector:before {
420
- content: "\e02b";
421
- }
422
- .simple-icon-speech:before {
423
- content: "\e02c";
424
- }
425
- .simple-icon-puzzle:before {
426
- content: "\e02d";
427
- }
428
- .simple-icon-printer:before {
429
- content: "\e02e";
430
- }
431
- .simple-icon-present:before {
432
- content: "\e02f";
433
- }
434
- .simple-icon-playlist:before {
435
- content: "\e030";
436
- }
437
- .simple-icon-pin:before {
438
- content: "\e031";
439
- }
440
- .simple-icon-picture:before {
441
- content: "\e032";
442
- }
443
- .simple-icon-handbag:before {
444
- content: "\e035";
445
- }
446
- .simple-icon-globe-alt:before {
447
- content: "\e036";
448
- }
449
- .simple-icon-globe:before {
450
- content: "\e037";
451
- }
452
- .simple-icon-folder-alt:before {
453
- content: "\e039";
454
- }
455
- .simple-icon-folder:before {
456
- content: "\e089";
457
- }
458
- .simple-icon-film:before {
459
- content: "\e03a";
460
- }
461
- .simple-icon-feed:before {
462
- content: "\e03b";
463
- }
464
- .simple-icon-drop:before {
465
- content: "\e03e";
466
- }
467
- .simple-icon-drawer:before {
468
- content: "\e03f";
469
- }
470
- .simple-icon-docs:before {
471
- content: "\e040";
472
- }
473
- .simple-icon-doc:before {
474
- content: "\e085";
475
- }
476
- .simple-icon-diamond:before {
477
- content: "\e043";
478
- }
479
- .simple-icon-cup:before {
480
- content: "\e044";
481
- }
482
- .simple-icon-calculator:before {
483
- content: "\e049";
484
- }
485
- .simple-icon-bubbles:before {
486
- content: "\e04a";
487
- }
488
- .simple-icon-briefcase:before {
489
- content: "\e04b";
490
- }
491
- .simple-icon-book-open:before {
492
- content: "\e04c";
493
- }
494
- .simple-icon-basket-loaded:before {
495
- content: "\e04d";
496
- }
497
- .simple-icon-basket:before {
498
- content: "\e04e";
499
- }
500
- .simple-icon-bag:before {
501
- content: "\e04f";
502
- }
503
- .simple-icon-action-undo:before {
504
- content: "\e050";
505
- }
506
- .simple-icon-action-redo:before {
507
- content: "\e051";
508
- }
509
- .simple-icon-wrench:before {
510
- content: "\e052";
511
- }
512
- .simple-icon-umbrella:before {
513
- content: "\e053";
514
- }
515
- .simple-icon-trash:before {
516
- content: "\e054";
517
- }
518
- .simple-icon-tag:before {
519
- content: "\e055";
520
- }
521
- .simple-icon-support:before {
522
- content: "\e056";
523
- }
524
- .simple-icon-frame:before {
525
- content: "\e038";
526
- }
527
- .simple-icon-size-fullscreen:before {
528
- content: "\e057";
529
- }
530
- .simple-icon-size-actual:before {
531
- content: "\e058";
532
- }
533
- .simple-icon-shuffle:before {
534
- content: "\e059";
535
- }
536
- .simple-icon-share-alt:before {
537
- content: "\e05a";
538
- }
539
- .simple-icon-share:before {
540
- content: "\e05b";
541
- }
542
- .simple-icon-rocket:before {
543
- content: "\e05c";
544
- }
545
- .simple-icon-question:before {
546
- content: "\e05d";
547
- }
548
- .simple-icon-pie-chart:before {
549
- content: "\e05e";
550
- }
551
- .simple-icon-pencil:before {
552
- content: "\e05f";
553
- }
554
- .simple-icon-note:before {
555
- content: "\e060";
556
- }
557
- .simple-icon-loop:before {
558
- content: "\e064";
559
- }
560
- .simple-icon-home:before {
561
- content: "\e069";
562
- }
563
- .simple-icon-grid:before {
564
- content: "\e06a";
565
- }
566
- .simple-icon-graph:before {
567
- content: "\e06b";
568
- }
569
- .simple-icon-microphone:before {
570
- content: "\e063";
571
- }
572
- .simple-icon-music-tone-alt:before {
573
- content: "\e061";
574
- }
575
- .simple-icon-music-tone:before {
576
- content: "\e062";
577
- }
578
- .simple-icon-earphones-alt:before {
579
- content: "\e03c";
580
- }
581
- .simple-icon-earphones:before {
582
- content: "\e03d";
583
- }
584
- .simple-icon-equalizer:before {
585
- content: "\e06c";
586
- }
587
- .simple-icon-like:before {
588
- content: "\e068";
589
- }
590
- .simple-icon-dislike:before {
591
- content: "\e06d";
592
- }
593
- .simple-icon-control-start:before {
594
- content: "\e06f";
595
- }
596
- .simple-icon-control-rewind:before {
597
- content: "\e070";
598
- }
599
- .simple-icon-control-play:before {
600
- content: "\e071";
601
- }
602
- .simple-icon-control-pause:before {
603
- content: "\e072";
604
- }
605
- .simple-icon-control-forward:before {
606
- content: "\e073";
607
- }
608
- .simple-icon-control-end:before {
609
- content: "\e074";
610
- }
611
- .simple-icon-volume-1:before {
612
- content: "\e09f";
613
- }
614
- .simple-icon-volume-2:before {
615
- content: "\e0a0";
616
- }
617
- .simple-icon-volume-off:before {
618
- content: "\e0a1";
619
- }
620
- .simple-icon-calendar:before {
621
- content: "\e075";
622
- }
623
- .simple-icon-bulb:before {
624
- content: "\e076";
625
- }
626
- .simple-icon-chart:before {
627
- content: "\e077";
628
- }
629
- .simple-icon-ban:before {
630
- content: "\e07c";
631
- }
632
- .simple-icon-bubble:before {
633
- content: "\e07d";
634
- }
635
- .simple-icon-camrecorder:before {
636
- content: "\e07e";
637
- }
638
- .simple-icon-camera:before {
639
- content: "\e07f";
640
- }
641
- .simple-icon-cloud-download:before {
642
- content: "\e083";
643
- }
644
- .simple-icon-cloud-upload:before {
645
- content: "\e084";
646
- }
647
- .simple-icon-envelope:before {
648
- content: "\e086";
649
- }
650
- .simple-icon-eye:before {
651
- content: "\e087";
652
- }
653
- .simple-icon-flag:before {
654
- content: "\e088";
655
- }
656
- .simple-icon-heart:before {
657
- content: "\e08a";
658
- }
659
- .simple-icon-info:before {
660
- content: "\e08b";
661
- }
662
- .simple-icon-key:before {
663
- content: "\e08c";
664
- }
665
- .simple-icon-link:before {
666
- content: "\e08d";
667
- }
668
- .simple-icon-lock:before {
669
- content: "\e08e";
670
- }
671
- .simple-icon-lock-open:before {
672
- content: "\e08f";
673
- }
674
- .simple-icon-magnifier:before {
675
- content: "\e090";
676
- }
677
- .simple-icon-magnifier-add:before {
678
- content: "\e091";
679
- }
680
- .simple-icon-magnifier-remove:before {
681
- content: "\e092";
682
- }
683
- .simple-icon-paper-clip:before {
684
- content: "\e093";
685
- }
686
- .simple-icon-paper-plane:before {
687
- content: "\e094";
688
- }
689
- .simple-icon-power:before {
690
- content: "\e097";
691
- }
692
- .simple-icon-refresh:before {
693
- content: "\e098";
694
- }
695
- .simple-icon-reload:before {
696
- content: "\e099";
697
- }
698
- .simple-icon-settings:before {
699
- content: "\e09a";
700
- }
701
- .simple-icon-star:before {
702
- content: "\e09b";
703
- }
704
- .simple-icon-symbol-female:before {
705
- content: "\e09c";
706
- }
707
- .simple-icon-symbol-male:before {
708
- content: "\e09d";
709
- }
710
- .simple-icon-target:before {
711
- content: "\e09e";
712
- }
713
- .simple-icon-credit-card:before {
714
- content: "\e025";
715
- }
716
- .simple-icon-paypal:before {
717
- content: "\e608";
718
- }
719
- .simple-icon-social-tumblr:before {
720
- content: "\e00a";
721
- }
722
- .simple-icon-social-twitter:before {
723
- content: "\e009";
724
- }
725
- .simple-icon-social-facebook:before {
726
- content: "\e00b";
727
- }
728
- .simple-icon-social-instagram:before {
729
- content: "\e609";
730
- }
731
- .simple-icon-social-linkedin:before {
732
- content: "\e60a";
733
- }
734
- .simple-icon-social-pinterest:before {
735
- content: "\e60b";
736
- }
737
- .simple-icon-social-github:before {
738
- content: "\e60c";
739
- }
740
- .simple-icon-social-google:before {
741
- content: "\e60d";
742
- }
743
- .simple-icon-social-reddit:before {
744
- content: "\e60e";
745
- }
746
- .simple-icon-social-skype:before {
747
- content: "\e60f";
748
- }
749
- .simple-icon-social-dribbble:before {
750
- content: "\e00d";
751
- }
752
- .simple-icon-social-behance:before {
753
- content: "\e610";
754
- }
755
- .simple-icon-social-foursqare:before {
756
- content: "\e611";
757
- }
758
- .simple-icon-social-soundcloud:before {
759
- content: "\e612";
760
- }
761
- .simple-icon-social-spotify:before {
762
- content: "\e613";
763
- }
764
- .simple-icon-social-stumbleupon:before {
765
- content: "\e614";
766
- }
767
- .simple-icon-social-youtube:before {
768
- content: "\e008";
769
- }
770
- .simple-icon-social-dropbox:before {
771
- content: "\e00c";
772
- }
773
- .simple-icon-social-vkontakte:before {
774
- content: "\e618";
775
- }
776
- .simple-icon-social-steam:before {
777
- content: "\e620";
778
- }