amotify 0.0.13 → 0.0.15

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 (66) hide show
  1. package/@types/amot.tsx +48 -63
  2. package/@types/fn.tsx +10 -16
  3. package/@types/state.tsx +2 -2
  4. package/dist/amotify.js +1 -1
  5. package/dist/amotify.min.css +12 -13
  6. package/dist/coreVender.js +14 -0
  7. package/package.json +27 -22
  8. package/src/@atoms.tsx +4 -2
  9. package/src/@global.tsx +5 -0
  10. package/src/@jsminAmotifyExtension/fetch.tsx +2 -0
  11. package/src/@jsminAmotifyExtension/variables.tsx +4 -0
  12. package/src/@organisms.tsx +1 -5
  13. package/src/@styles/UniStyling.scss +6 -0
  14. package/src/@styles/init.scss +42 -106
  15. package/src/@variables.tsx +70 -0
  16. package/src/atoms/FAI/parts.tsx +136 -0
  17. package/src/atoms/Logo/style.module.scss +6 -5
  18. package/src/atoms/Various/style.module.scss +11 -6
  19. package/src/config.tsx +31 -5
  20. package/src/functions/Button/_.tsx +27 -19
  21. package/src/functions/Button/style.module.scss +20 -22
  22. package/src/functions/Cropper/parts.tsx +18 -10
  23. package/src/functions/Cropper/style.module.scss +1 -0
  24. package/src/functions/Effects/Ripple.tsx +1 -1
  25. package/src/functions/Input/Chips/Selector.tsx +9 -9
  26. package/src/functions/Input/Chips/_.tsx +10 -3
  27. package/src/functions/Input/DigitCharacters.tsx +13 -15
  28. package/src/functions/Input/File/_.tsx +37 -67
  29. package/src/functions/Input/Hidden.tsx +3 -1
  30. package/src/functions/Input/List/_.tsx +8 -8
  31. package/src/functions/Input/Select/_.tsx +8 -7
  32. package/src/functions/Input/Select/style.module.scss +1 -0
  33. package/src/functions/Input/Slider/_.tsx +5 -5
  34. package/src/functions/Input/Switch/_.tsx +11 -8
  35. package/src/functions/Input/Text.tsx +3 -4
  36. package/src/functions/Input/TextArea.tsx +3 -3
  37. package/src/functions/Input/Time/Picker.tsx +10 -17
  38. package/src/functions/Input/Time/_.tsx +3 -2
  39. package/src/functions/Input/Time/style.module.scss +9 -2
  40. package/src/functions/Input/_.tsx +53 -42
  41. package/src/functions/Input/core.tsx +53 -54
  42. package/src/functions/Input/style.module.scss +66 -8
  43. package/src/functions/Layout/PageNotFound.tsx +2 -4
  44. package/src/functions/Layout/PageRouter.tsx +2 -3
  45. package/src/functions/Layout/RootViewController/parts.tsx +4 -16
  46. package/src/functions/Loader/parts.tsx +3 -1
  47. package/src/functions/Loader/style.module.scss +2 -1
  48. package/src/functions/Sheet/parts.tsx +45 -42
  49. package/src/functions/Sheet/style.module.scss +18 -25
  50. package/src/functions/SnackBar/parts.tsx +5 -3
  51. package/src/functions/SnackBar/style.module.scss +1 -1
  52. package/src/functions/Table/Data/parts.tsx +18 -12
  53. package/src/functions/Table/Drag/parts.tsx +7 -9
  54. package/src/functions/Table/_.tsx +2 -2
  55. package/src/global/LaunchReactApplication.tsx +17 -5
  56. package/src/launch.tsx +12 -5
  57. package/src/molecules/Accordion/parts.tsx +4 -1
  58. package/src/molecules/LinkifyText/parts.tsx +2 -3
  59. package/src/preload.tsx +19 -30
  60. package/tsconfig.json +19 -8
  61. package/webpack.config.js +16 -5
  62. package/src/atoms/FAIcon/parts.tsx +0 -118
  63. package/src/atoms/FAIcon/style.module.scss +0 -8
  64. package/src/organisms/DisplayStyleInput/_.tsx +0 -18
  65. package/src/organisms/DisplayStyleInput/darkmode.tsx +0 -107
  66. package/src/organisms/DisplayStyleInput/themeColor.tsx +0 -205
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "UI Component for React",
5
5
  "main": "dist/launch.js",
6
6
  "types": "dist/@types.d.ts",
@@ -21,43 +21,48 @@
21
21
  "UI Component",
22
22
  "React"
23
23
  ],
24
- "author": "",
24
+ "author": "IkkoKoyama <mingoo.master@gmail.com>",
25
25
  "license": "MIT",
26
26
  "bugs": {
27
27
  "url": "https://github.com/IkkoKoyama/amotify/issues"
28
28
  },
29
29
  "homepage": "https://github.com/IkkoKoyama/amotify#readme",
30
30
  "dependencies": {
31
+ "@fortawesome/fontawesome-svg-core": "^6.4.2",
32
+ "@fortawesome/free-brands-svg-icons": "^6.4.2",
33
+ "@fortawesome/pro-regular-svg-icons": "^6.4.2",
34
+ "@fortawesome/pro-solid-svg-icons": "^6.4.2",
35
+ "@fortawesome/react-fontawesome": "^0.2.0",
36
+ "jsmin-front": "^0.0.15",
31
37
  "react": "^18.2.0",
32
38
  "react-dom": "^18.2.0",
33
39
  "react-router-dom": "^6.19.0"
34
40
  },
35
41
  "devDependencies": {
36
- "@babel/cli": "^7.17.0",
37
- "@babel/preset-env": "^7.16.11",
38
- "@babel/preset-react": "^7.16.7",
39
- "@babel/preset-typescript": "^7.16.7",
40
- "@types/express": "^4.17.13",
41
- "@types/google.maps": "^3.50.0",
42
+ "@babel/cli": "^7.23.0",
43
+ "@babel/preset-env": "^7.23.3",
44
+ "@babel/preset-react": "^7.23.3",
45
+ "@babel/preset-typescript": "^7.23.3",
46
+ "@types/express": "^4.17.21",
47
+ "@types/google.maps": "^3.54.8",
42
48
  "@types/react": "^18.2.37",
43
49
  "@types/react-dom": "^18.2.15",
44
- "babel-loader": "^8.2.3",
50
+ "babel-loader": "^9.1.3",
45
51
  "babel-preset-preact": "^2.0.0",
46
52
  "browser-sync-webpack-plugin": "^2.3.0",
47
- "css-loader": "^6.6.0",
48
- "dotenv": "^16.0.3",
49
- "express": "^4.17.2",
50
- "jsmin-front": "^0.0.5",
53
+ "css-loader": "^6.8.1",
54
+ "dotenv": "^16.3.1",
55
+ "express": "^4.18.2",
51
56
  "mini-css-extract-plugin": "^2.7.6",
52
57
  "npm-run-all": "^4.1.5",
53
58
  "prop-types": "^15.8.1",
54
- "sass": "^1.49.8",
55
- "sass-loader": "^12.6.0",
56
- "terser-webpack-plugin": "^5.3.1",
57
- "ts-loader": "^9.2.8",
58
- "webpack": "^5.69.1",
59
- "webpack-bundle-analyzer": "^4.5.0",
60
- "webpack-cli": "^4.9.2",
61
- "webpack-remove-empty-scripts": "^0.7.3"
59
+ "sass": "^1.69.5",
60
+ "sass-loader": "^13.3.2",
61
+ "terser-webpack-plugin": "^5.3.9",
62
+ "ts-loader": "^9.5.1",
63
+ "webpack": "^5.89.0",
64
+ "webpack-bundle-analyzer": "^4.10.1",
65
+ "webpack-cli": "^5.1.4",
66
+ "webpack-remove-empty-scripts": "^1.0.4"
62
67
  }
63
- }
68
+ }
package/src/@atoms.tsx CHANGED
@@ -9,7 +9,9 @@ import {
9
9
  Placeholder
10
10
  } from './atoms/Various/parts';
11
11
 
12
- import { FAIcon } from './atoms/FAIcon/parts';
12
+ import {
13
+ FAI
14
+ } from './atoms/FAI/parts';
13
15
 
14
16
  import { Logo } from './atoms/Logo/parts';
15
17
 
@@ -17,7 +19,7 @@ export {
17
19
  Flex,
18
20
  FlexBr,
19
21
 
20
- FAIcon,
22
+ FAI,
21
23
 
22
24
  Placeholder,
23
25
 
package/src/@global.tsx CHANGED
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
3
  import * as ReactRouterDOM from 'react-router-dom';
4
+ import { baseElements } from './launch';
4
5
 
5
6
  import { LaunchReactApplication } from './global/LaunchReactApplication';
6
7
 
8
+ export { baseElements }
7
9
  const Inmemory: {
8
10
  [ key: string ]: {
9
11
  privateKey?: string
@@ -128,6 +130,9 @@ const StyleConverter = {
128
130
  ToClassName
129
131
  }
130
132
 
133
+ if ( !global.React ) global.React = React;
134
+ if ( !global.ReactDOM ) global.ReactDOM = ReactDOM;
135
+
131
136
  export {
132
137
  React,
133
138
  ReactDOM,
@@ -1,3 +1,5 @@
1
+ import React from 'react';
2
+
1
3
  const fetcher = async ( params: JsminExtension.Fetch.Input & {
2
4
  method: string
3
5
  },callback?: JsminExtension.Fetch.callback ) => {
@@ -1,3 +1,7 @@
1
+ import {
2
+ React
3
+ } from '@global';
4
+
1
5
  $.NoticeHttpStatus = ( params ) => {
2
6
  let {
3
7
  status,
@@ -1,5 +1 @@
1
- import { DisplayStyleInput } from './organisms/DisplayStyleInput/_';
2
-
3
- export {
4
- DisplayStyleInput
5
- }
1
+ export {}
@@ -166,6 +166,9 @@
166
166
  &3#{ $DS } {
167
167
  font-weight: bold;
168
168
  }
169
+ &inherit#{ $DS } {
170
+ font-weight: inherit;
171
+ }
169
172
  }
170
173
  }
171
174
  &bgc {
@@ -556,6 +559,9 @@
556
559
  &dotted#{ $DS } {
557
560
  border-style: dotted;
558
561
  }
562
+ &none#{ $DS } {
563
+ border-style: none;
564
+ }
559
565
  }
560
566
  }
561
567
  &r_ {
@@ -1,12 +1,4 @@
1
1
  @use './props' as *;
2
- * {
3
- padding: 0;
4
- margin: 0;
5
- box-sizing: border-box;
6
- &:before, &:after {
7
- box-sizing: border-box;
8
- }
9
- }
10
2
  html {
11
3
  &.usrDevice_ {
12
4
  &Windows {
@@ -28,15 +20,26 @@ html {
28
20
  &iPhone {}
29
21
  &iPad {}
30
22
  }
31
- * {
32
- line-height: 1.5;
33
- &::selection {
34
- background-color: $color-theme !important;
35
- color: #fff !important;
36
- }
37
- }
38
23
  }
39
- body {
24
+ .AMOTIFY_be_body {
25
+ padding: 0;
26
+ margin: 0;
27
+ transition: opacity $animation-time-middle;
28
+ background-color: $color-dark;
29
+ }
30
+ .AMOTIFY_be_origin {
31
+ max-width: 200rem;
32
+ min-height: $viewHeight;
33
+ background-color: $color-base;
34
+ position: relative;
35
+ margin: 0 auto;
36
+ padding: 0;
37
+ z-index: 1;
38
+ }
39
+ .AMOTIFY_be {
40
+ padding: 0;
41
+ margin: 0;
42
+ box-sizing: border-box;
40
43
  letter-spacing: .5px;
41
44
  word-wrap: break-word;
42
45
  word-break: normal;
@@ -54,101 +57,34 @@ body {
54
57
  font-kerning: normal;
55
58
  // -webkit-font-smoothing: antialiased;
56
59
  caret-color: $color-theme;
57
- transition: opacity $animation-time-middle;
58
- background-color: $color-dark;
59
- #ROOT {
60
- max-width: 200rem;
61
- min-height: $viewHeight;
62
- background-color: $color-base;
63
- position: relative;
64
- margin: 0 auto;
60
+ line-height: 1.5;
61
+ * {
65
62
  padding: 0;
66
- z-index: 1;
63
+ margin: 0;
64
+ box-sizing: border-box;
65
+ &:before, &:after {
66
+ box-sizing: border-box;
67
+ }
67
68
  }
68
- }
69
- a, button, label, input, button, select, textarea {
70
- display: inline-block;
71
- font-size: inherit;
72
- font-family: inherit;
73
- font-weight: inherit;
74
- color: inherit;
75
- outline: none;
76
- -webkit-appearance: none;
77
- -webkit-tap-highlight-color: rgba(#000, 0);
78
- touch-action: manipulation;
79
- background-color: transparent;
80
- border: none;
81
- border-style: none;
82
- text-decoration: none;
83
- }
84
- input, select, textarea {
85
- &[ disabled] {
86
- box-shadow: none !important;
87
- background-color: $color-layer3 !important;
88
- color: $font-color5 !important;
89
- filter: grayscale(50%);
90
- cursor: not-allowed !important;
69
+ * {
70
+ &::selection {
71
+ background-color: $color-theme !important;
72
+ color: #fff !important;
73
+ }
91
74
  }
92
- }
93
- a, button, label, select {
94
- cursor: pointer;
95
- }
96
- input, textarea {
97
- cursor: text;
98
- }
99
- input, textarea {
100
- &::placeholder {
75
+ button, a, label, input, select, textarea {
76
+ line-height: inherit;
101
77
  font-family: inherit;
102
- color: $font-color5;
103
- }
104
- }
105
- input {
106
- &:-webkit-autofill {
107
- box-shadow: 0 0 0 100rem $color-layer3 inset !important;
108
- -webkit-text-fill-color: $font-color3;
109
- }
110
- &[ type="radio"], &[ type="checkbox"], &[ type="file"] {
111
- opacity: 0;
112
- width: 0;
113
- height: 0;
114
- overflow: hidden;
115
- position: absolute;
116
- appearance: none;
78
+ outline: none;
79
+ -webkit-appearance: none;
80
+ -webkit-tap-highlight-color: rgba(#000, 0);
81
+ touch-action: manipulation;
117
82
  }
118
- min-width: 0;
119
- display: block;
120
- &[ type="text"], &[ type="number"] {
121
- width: 100%;
83
+ button, a, label {
84
+ cursor: pointer;
122
85
  }
123
- &[ type="number"] {
124
- &::-webkit-inner-spin-button,
125
- &::-webkit-outer-spin-button {
126
- -webkit-appearance: none;
127
- }
86
+ svg {
87
+ vertical-align: top;
88
+ object-fit: cover;
128
89
  }
129
- }
130
- textarea {
131
- display: block;
132
- width: 100%;
133
- min-height: $unit4;
134
- }
135
- a, label, button, canvas {
136
- vertical-align: bottom;
137
- }
138
- svg {
139
- vertical-align: top;
140
- object-fit: cover;
141
- height: 100%;
142
- }
143
- img {
144
- user-drag: none;
145
- -webkit-user-drag: none;
146
- -moz-user-select: none;
147
- }
148
- img, video, iframe {
149
- vertical-align: top;
150
- object-fit: cover;
151
- width: 100%;
152
- height: 100%;
153
- border-radius: inherit;
154
90
  }
@@ -0,0 +1,70 @@
1
+ export const launchID = $.uuidGen();
2
+
3
+ export const ColorKeys: amotify.ThemeColorTypes[] = [
4
+ 'comun',
5
+ 'leaf',
6
+ 'heart',
7
+ 'droplet',
8
+ 'brick',
9
+ 'flower',
10
+ 'lip',
11
+ 'wine',
12
+ 'theater',
13
+ 'bat',
14
+ 'poizon',
15
+ 'eggplant',
16
+ 'ufo',
17
+ 'alien',
18
+ 'tombstone',
19
+ 'ninja',
20
+ 'moon',
21
+ 'rain',
22
+ 'unicorn',
23
+ 'axe',
24
+ 'gem',
25
+ 'soap',
26
+ 'drizzle',
27
+ 'building',
28
+ 'fish',
29
+ 'icicles',
30
+ 'water',
31
+ 'tree1',
32
+ 'tree2',
33
+ 'tree3',
34
+ 'battery',
35
+ 'seedle',
36
+ 'greenTea',
37
+ 'oak',
38
+ 'salad',
39
+ 'cloudy',
40
+ 'lemon',
41
+ 'angel',
42
+ 'parasol',
43
+ 'pizza',
44
+ 'thunder',
45
+ 'latte',
46
+ 'island',
47
+ 'shovel',
48
+ 'coffee',
49
+ 'carrot',
50
+ 'cactus',
51
+ 'volcano',
52
+ 'choco',
53
+ 'industry',
54
+ 'gun',
55
+ 'galaxy',
56
+ 'line',
57
+ 'twitter',
58
+ 'amazon',
59
+ 'facebook',
60
+ 'android',
61
+ 'slackBlue',
62
+ 'slackGreen',
63
+ 'slackRed',
64
+ 'slackYellow',
65
+ 'slackBase',
66
+ 'googleBlue',
67
+ 'googleGreen',
68
+ 'googleYellow',
69
+ 'googleRed'
70
+ ];
@@ -0,0 +1,136 @@
1
+ import React from 'react';
2
+ import {
3
+ Box
4
+ } from '../Various/parts';
5
+
6
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
+
8
+ import { faUser } from '@fortawesome/pro-solid-svg-icons/faUser';
9
+ import { faTimes } from '@fortawesome/pro-solid-svg-icons/faTimes';
10
+ import { faAngleRight } from '@fortawesome/pro-solid-svg-icons/faAngleRight';
11
+ import { faAngleLeft } from '@fortawesome/pro-solid-svg-icons/faAngleLeft';
12
+ import { faAngleUp } from '@fortawesome/pro-solid-svg-icons/faAngleUp';
13
+ import { faAngleDown } from '@fortawesome/pro-solid-svg-icons/faAngleDown';
14
+ import { faChevronLeft } from '@fortawesome/pro-solid-svg-icons/faChevronLeft';
15
+ import { faChevronRight } from '@fortawesome/pro-solid-svg-icons/faChevronRight';
16
+ import { faChevronUp } from '@fortawesome/pro-solid-svg-icons/faChevronUp';
17
+ import { faChevronDown } from '@fortawesome/pro-solid-svg-icons/faChevronDown';
18
+ import { faCaretLeft } from '@fortawesome/pro-solid-svg-icons/faCaretLeft';
19
+ import { faCaretRight } from '@fortawesome/pro-solid-svg-icons/faCaretRight';
20
+ import { faCaretUp } from '@fortawesome/pro-solid-svg-icons/faCaretUp';
21
+ import { faCaretDown } from '@fortawesome/pro-solid-svg-icons/faCaretDown';
22
+ import { faArrowLeft } from '@fortawesome/pro-solid-svg-icons/faArrowLeft';
23
+ import { faArrowRight } from '@fortawesome/pro-solid-svg-icons/faArrowRight';
24
+ import { faArrowUp } from '@fortawesome/pro-solid-svg-icons/faArrowUp';
25
+ import { faArrowDown } from '@fortawesome/pro-solid-svg-icons/faArrowDown';
26
+ import { faRotate } from '@fortawesome/pro-solid-svg-icons/faRotate';
27
+ import { faRedo } from '@fortawesome/pro-solid-svg-icons/faRedo';
28
+ import { faCheck } from '@fortawesome/pro-solid-svg-icons/faCheck';
29
+ import { faCheckCircle } from '@fortawesome/pro-solid-svg-icons/faCheckCircle';
30
+ import { faQuestion } from '@fortawesome/pro-solid-svg-icons/faQuestion';
31
+ import { faQuestionCircle } from '@fortawesome/pro-solid-svg-icons/faQuestionCircle';
32
+ import { faExclamation } from '@fortawesome/pro-solid-svg-icons/faExclamation';
33
+ import { faExclamationTriangle } from '@fortawesome/pro-solid-svg-icons/faExclamationTriangle';
34
+ import { faHome } from '@fortawesome/pro-solid-svg-icons/faHome';
35
+ import { faShare } from '@fortawesome/pro-solid-svg-icons/faShare';
36
+ import { faSearch } from '@fortawesome/pro-solid-svg-icons/faSearch';
37
+ import { faYenSign } from '@fortawesome/pro-solid-svg-icons/faYenSign';
38
+ import { faHeart } from '@fortawesome/pro-solid-svg-icons/faHeart';
39
+ import { faStar } from '@fortawesome/pro-solid-svg-icons/faStar';
40
+ import { faEdit } from '@fortawesome/pro-solid-svg-icons/faEdit';
41
+ import { faPen } from '@fortawesome/pro-solid-svg-icons/faPen';
42
+ import { faCopy } from '@fortawesome/pro-solid-svg-icons/faCopy';
43
+ import { faFile } from '@fortawesome/pro-solid-svg-icons/faFile';
44
+ import { faTrashAlt } from '@fortawesome/pro-solid-svg-icons/faTrashAlt';
45
+ import { faBars } from '@fortawesome/pro-solid-svg-icons/faBars';
46
+ import { faDownload } from '@fortawesome/pro-solid-svg-icons/faDownload';
47
+ import { faLink } from '@fortawesome/pro-solid-svg-icons/faLink';
48
+ import { faLinkSlash } from '@fortawesome/pro-solid-svg-icons/faLinkSlash';
49
+ import { faExternalLinkAlt } from '@fortawesome/pro-solid-svg-icons/faExternalLinkAlt';
50
+ import { faGear } from '@fortawesome/pro-solid-svg-icons/faGear';
51
+ import { faPlus } from '@fortawesome/pro-solid-svg-icons/faPlus';
52
+ import { faMinus } from '@fortawesome/pro-solid-svg-icons/faMinus';
53
+ import { faEllipsisH } from '@fortawesome/pro-solid-svg-icons/faEllipsisH';
54
+ import { faEllipsisV } from '@fortawesome/pro-solid-svg-icons/faEllipsisV';
55
+ import { faPaperPlane } from '@fortawesome/pro-solid-svg-icons/faPaperPlane';
56
+ import { faImage } from '@fortawesome/pro-solid-svg-icons/faImage';
57
+
58
+ const FAIComps: React.FC<amotify.atoms.FAI.FAIParams> = ( params ) => {
59
+ let {
60
+ icon,
61
+ iconParams,
62
+ ...others
63
+ } = params;
64
+
65
+ return <Box
66
+ flexCenter
67
+ { ...others }
68
+ freeCSS={ {
69
+ display: 'inline-flex',
70
+ ...others.freeCSS
71
+ } }
72
+ >
73
+ <Box freeCSS={ { aspectRatio: 1 } }>
74
+ <FontAwesomeIcon
75
+ icon={ icon }
76
+ fixedWidth
77
+ size='sm'
78
+ { ...iconParams }
79
+ />
80
+ </Box>
81
+ </Box>;
82
+ }
83
+
84
+ const FAI: amotify.atoms.FAI.Method = FAIComps as any;
85
+
86
+ FAI.User = ( params ) => ( <FAI { ...params } icon={ faUser } /> );
87
+ FAI.Times = ( params ) => ( <FAI { ...params } icon={ faTimes } /> );
88
+ FAI.AngleRight = ( params ) => ( <FAI { ...params } icon={ faAngleRight } /> );
89
+ FAI.AngleLeft = ( params ) => ( <FAI { ...params } icon={ faAngleLeft } /> );
90
+ FAI.AngleUp = ( params ) => ( <FAI { ...params } icon={ faAngleUp } /> );
91
+ FAI.AngleDown = ( params ) => ( <FAI { ...params } icon={ faAngleDown } /> );
92
+ FAI.ChevronLeft = ( params ) => ( <FAI { ...params } icon={ faChevronLeft } /> );
93
+ FAI.ChevronRight = ( params ) => ( <FAI { ...params } icon={ faChevronRight } /> );
94
+ FAI.ChevronUp = ( params ) => ( <FAI { ...params } icon={ faChevronUp } /> );
95
+ FAI.ChevronDown = ( params ) => ( <FAI { ...params } icon={ faChevronDown } /> );
96
+ FAI.CaretLeft = ( params ) => ( <FAI { ...params } icon={ faCaretLeft } /> );
97
+ FAI.CaretRight = ( params ) => ( <FAI { ...params } icon={ faCaretRight } /> );
98
+ FAI.CaretUp = ( params ) => ( <FAI { ...params } icon={ faCaretUp } /> );
99
+ FAI.CaretDown = ( params ) => ( <FAI { ...params } icon={ faCaretDown } /> );
100
+ FAI.ArrowLeft = ( params ) => ( <FAI { ...params } icon={ faArrowLeft } /> );
101
+ FAI.ArrowRight = ( params ) => ( <FAI { ...params } icon={ faArrowRight } /> );
102
+ FAI.ArrowUp = ( params ) => ( <FAI { ...params } icon={ faArrowUp } /> );
103
+ FAI.ArrowDown = ( params ) => ( <FAI { ...params } icon={ faArrowDown } /> );
104
+ FAI.Rotate = ( params ) => ( <FAI { ...params } icon={ faRotate } /> );
105
+ FAI.Redo = ( params ) => ( <FAI { ...params } icon={ faRedo } /> );
106
+ FAI.Check = ( params ) => ( <FAI { ...params } icon={ faCheck } /> );
107
+ FAI.CheckCircle = ( params ) => ( <FAI { ...params } icon={ faCheckCircle } /> );
108
+ FAI.Question = ( params ) => ( <FAI { ...params } icon={ faQuestion } /> );
109
+ FAI.QuestionCircle = ( params ) => ( <FAI { ...params } icon={ faQuestionCircle } /> );
110
+ FAI.Exclamation = ( params ) => ( <FAI { ...params } icon={ faExclamation } /> );
111
+ FAI.ExclamationTriangle = ( params ) => ( <FAI { ...params } icon={ faExclamationTriangle } /> );
112
+ FAI.Home = ( params ) => ( <FAI { ...params } icon={ faHome } /> );
113
+ FAI.Share = ( params ) => ( <FAI { ...params } icon={ faShare } /> );
114
+ FAI.Search = ( params ) => ( <FAI { ...params } icon={ faSearch } /> );
115
+ FAI.YenSign = ( params ) => ( <FAI { ...params } icon={ faYenSign } /> );
116
+ FAI.Heart = ( params ) => ( <FAI { ...params } icon={ faHeart } /> );
117
+ FAI.Star = ( params ) => ( <FAI { ...params } icon={ faStar } /> );
118
+ FAI.Edit = ( params ) => ( <FAI { ...params } icon={ faEdit } /> );
119
+ FAI.Pen = ( params ) => ( <FAI { ...params } icon={ faPen } /> );
120
+ FAI.Copy = ( params ) => ( <FAI { ...params } icon={ faCopy } /> );
121
+ FAI.File = ( params ) => ( <FAI { ...params } icon={ faFile } /> );
122
+ FAI.TrashAlt = ( params ) => ( <FAI { ...params } icon={ faTrashAlt } /> );
123
+ FAI.Bars = ( params ) => ( <FAI { ...params } icon={ faBars } /> );
124
+ FAI.Download = ( params ) => ( <FAI { ...params } icon={ faDownload } /> );
125
+ FAI.Link = ( params ) => ( <FAI { ...params } icon={ faLink } /> );
126
+ FAI.LinkSlash = ( params ) => ( <FAI { ...params } icon={ faLinkSlash } /> );
127
+ FAI.ExternalLinkAlt = ( params ) => ( <FAI { ...params } icon={ faExternalLinkAlt } /> );
128
+ FAI.Gear = ( params ) => ( <FAI { ...params } icon={ faGear } /> );
129
+ FAI.Plus = ( params ) => ( <FAI { ...params } icon={ faPlus } /> );
130
+ FAI.Minus = ( params ) => ( <FAI { ...params } icon={ faMinus } /> );
131
+ FAI.EllipsisH = ( params ) => ( <FAI { ...params } icon={ faEllipsisH } /> );
132
+ FAI.EllipsisV = ( params ) => ( <FAI { ...params } icon={ faEllipsisV } /> );
133
+ FAI.PaperPlane = ( params ) => ( <FAI { ...params } icon={ faPaperPlane } /> );
134
+ FAI.Image = ( params ) => ( <FAI { ...params } icon={ faImage } /> );
135
+
136
+ export { FAI }
@@ -1,5 +1,4 @@
1
1
  @use '@props' as *;
2
-
3
2
  .Size_ {
4
3
  &S {
5
4
  width: $unit2;
@@ -27,15 +26,17 @@
27
26
  font-size: $unit4;
28
27
  }
29
28
  }
30
-
31
29
  .Icon {
32
-
30
+ svg {
31
+ height: 100%;
32
+ }
33
33
  }
34
34
  .Title {
35
35
  width: auto;
36
+ svg {
37
+ height: 100%;
38
+ }
36
39
  }
37
-
38
-
39
40
  .ComunIcon {
40
41
  path {
41
42
  filter: drop-shadow($shadow4);
@@ -1,7 +1,14 @@
1
1
  @use '@props' as *;
2
2
  @use'@styleSet' as *;
3
-
4
3
  .Img {
4
+ user-drag: none;
5
+ -webkit-user-drag: none;
6
+ -moz-user-select: none;
7
+ vertical-align: top;
8
+ object-fit: cover;
9
+ width: 100%;
10
+ height: 100%;
11
+ border-radius: inherit;
5
12
  &.ShowExpand_true {
6
13
  transition: $animation-time-middle;
7
14
  &:hover {
@@ -28,14 +35,12 @@
28
35
  width: 40%;
29
36
  background: linear-gradient(to right,
30
37
  transparent,
31
- $color-layer5
32
- );
38
+ $color-layer5 );
33
39
  animation: 1.5s PlaceholderEffect linear infinite;
34
40
  &.Color_white {
35
41
  background: linear-gradient(to right,
36
- transparent,
37
- $color-layer3
38
- );
42
+ transparent,
43
+ $color-layer3 );
39
44
  }
40
45
  }
41
46
  }
package/src/config.tsx CHANGED
@@ -27,6 +27,9 @@ export const deviceIdentifier = () => {
27
27
  return info;
28
28
  }
29
29
 
30
+
31
+ import { ColorKeys } from './@variables';
32
+
30
33
  export const SetThemeColorTag = () => {
31
34
  let hex = '#45515c';
32
35
  let meta = $( '#ThemeColorMetaTag' );
@@ -34,6 +37,29 @@ export const SetThemeColorTag = () => {
34
37
  meta.setAttribute( 'content',hex );
35
38
  }
36
39
 
40
+ const DarkmodeColors: {
41
+ light: string
42
+ dark: string
43
+ dim: string
44
+ auto(): string
45
+ } = {
46
+ light: '#FFF',
47
+ dark: '#333',
48
+ dim: '#666',
49
+ auto: () => {
50
+ return amotify.config.device.isSystemDarkmode() ? '#333' : '#FFF';
51
+ }
52
+ }
53
+
54
+ const ThemeColors: {
55
+ [ key in amotify.ThemeColorTypes ]: {
56
+ ( alfa?: number ): string
57
+ }
58
+ } = {} as any;
59
+ ColorKeys.forEach( ( key ) => {
60
+ ThemeColors[ key ] = ( alfa?: number ) => ( `hsla( var( --cH_${ key } ),var( --cS_${ key } ),var( --cL_${ key } ),${ alfa ?? 1 } ) ` );
61
+ } );
62
+
37
63
  export const defaultConfig: amotify.config.Methods = {
38
64
  version: Version,
39
65
  tone: 'default',
@@ -61,11 +87,7 @@ export const defaultConfig: amotify.config.Methods = {
61
87
  amotify.global.useRecycle.do( 'RootViewController' );
62
88
  },
63
89
  themeColor: ( value ) => {
64
- if ( ![
65
- 'comun','leaf','heart','droplet',
66
- 'brick','flower','lip','wine','theater','bat','poizon','eggplant','ufo','alien','tombstone','ninja','moon','rain','unicorn','axe','gem','soap','drizzle','building','fish','icicles','water','tree1','tree2','tree3','battery','seedle','greenTea','oak','salad','cloudy','lemon','angel','parasol','pizza','thunder','latte','island','shovel','coffee','carrot','cactus','volcano','choco','industry','gun','galaxy',
67
- 'line','twitter','amazon','facebook','android','slackBlue','slackGreen','slackRed','slackYellow','slackBase','googleBlue','googleGreen','googleYellow','googleRed'
68
- ].includes( value ) ) value = 'comun';
90
+ if ( !ColorKeys.includes( value ) ) value = 'comun';
69
91
  if ( value == amotify.config.themeColor ) return;
70
92
 
71
93
  amotify.config.themeColor = value;
@@ -114,6 +136,10 @@ export const defaultConfig: amotify.config.Methods = {
114
136
  valid = true;
115
137
  }
116
138
  return valid;
139
+ },
140
+ variables: {
141
+ themeColors: ThemeColors,
142
+ darkmodeColors: DarkmodeColors
117
143
  }
118
144
  }
119
145