amotify 0.0.64 → 0.0.66

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 (114) hide show
  1. package/dist/amotify.js +3 -2
  2. package/dist/amotify.min.css +2 -2
  3. package/dist/coreVender.js +14 -2
  4. package/package.json +10 -10
  5. package/tsconfig.json +13 -5
  6. package/@types/_.tsx +0 -7
  7. package/@types/amot.tsx +0 -357
  8. package/@types/fn.tsx +0 -1280
  9. package/@types/jsminAmotifyExtension.tsx +0 -137
  10. package/@types/module.tsx +0 -1
  11. package/@types/state.tsx +0 -231
  12. package/src/@atoms.tsx +0 -34
  13. package/src/@functions.tsx +0 -29
  14. package/src/@global.tsx +0 -149
  15. package/src/@jsminAmotifyExtension/_.tsx +0 -4
  16. package/src/@jsminAmotifyExtension/fetch.tsx +0 -110
  17. package/src/@jsminAmotifyExtension/formCollect.tsx +0 -94
  18. package/src/@jsminAmotifyExtension/spreadSheet.tsx +0 -165
  19. package/src/@jsminAmotifyExtension/variables.tsx +0 -137
  20. package/src/@molecules.tsx +0 -96
  21. package/src/@organisms.tsx +0 -1
  22. package/src/@reactPacks/reactProduction@18.2.0.js +0 -79
  23. package/src/@reactPacks/reactRouterDomProduction@18.2.0.js +0 -31
  24. package/src/@styles/@app.scss +0 -4
  25. package/src/@styles/UniStyling.scss +0 -1028
  26. package/src/@styles/init.scss +0 -94
  27. package/src/@styles/props.scss +0 -109
  28. package/src/@styles/styleSet.scss +0 -38
  29. package/src/@styles/themeColor.scss +0 -71
  30. package/src/@styles/var.scss +0 -182
  31. package/src/@templates.tsx +0 -7
  32. package/src/@variables.tsx +0 -74
  33. package/src/atoms/FAI/parts.tsx +0 -139
  34. package/src/atoms/Logo/parts.tsx +0 -335
  35. package/src/atoms/Logo/style.module.scss +0 -96
  36. package/src/atoms/Various/parts.tsx +0 -159
  37. package/src/atoms/Various/style.module.scss +0 -46
  38. package/src/config.tsx +0 -191
  39. package/src/functions/Button/_.tsx +0 -331
  40. package/src/functions/Button/style.module.scss +0 -157
  41. package/src/functions/Cropper/parts.tsx +0 -1084
  42. package/src/functions/Cropper/style.module.scss +0 -64
  43. package/src/functions/Effects/Fade.tsx +0 -76
  44. package/src/functions/Effects/Ripple.tsx +0 -141
  45. package/src/functions/Effects/_.tsx +0 -33
  46. package/src/functions/Effects/style.module.scss +0 -91
  47. package/src/functions/Input/Chips/Selector.tsx +0 -445
  48. package/src/functions/Input/Chips/_.tsx +0 -289
  49. package/src/functions/Input/Chips/style.module.scss +0 -6
  50. package/src/functions/Input/Contenteditable.tsx +0 -114
  51. package/src/functions/Input/DigitCharacters.tsx +0 -235
  52. package/src/functions/Input/File/_.tsx +0 -553
  53. package/src/functions/Input/File/style.module.scss +0 -34
  54. package/src/functions/Input/Hidden.tsx +0 -21
  55. package/src/functions/Input/List/_.tsx +0 -383
  56. package/src/functions/Input/List/style.module.scss +0 -84
  57. package/src/functions/Input/RichSelect/_.tsx +0 -230
  58. package/src/functions/Input/RichSelect/style.module.scss +0 -11
  59. package/src/functions/Input/Segmented/_.tsx +0 -246
  60. package/src/functions/Input/Segmented/style.module.scss +0 -81
  61. package/src/functions/Input/Select/_.tsx +0 -218
  62. package/src/functions/Input/Select/style.module.scss +0 -11
  63. package/src/functions/Input/Slider/_.tsx +0 -524
  64. package/src/functions/Input/Slider/style.module.scss +0 -67
  65. package/src/functions/Input/Switch/_.tsx +0 -176
  66. package/src/functions/Input/Switch/style.module.scss +0 -18
  67. package/src/functions/Input/Text.tsx +0 -487
  68. package/src/functions/Input/TextArea.tsx +0 -109
  69. package/src/functions/Input/Time/Picker.tsx +0 -1361
  70. package/src/functions/Input/Time/_.tsx +0 -749
  71. package/src/functions/Input/Time/style.module.scss +0 -79
  72. package/src/functions/Input/_.tsx +0 -881
  73. package/src/functions/Input/core.tsx +0 -473
  74. package/src/functions/Input/style.module.scss +0 -102
  75. package/src/functions/Inputs/_.tsx +0 -5
  76. package/src/functions/Inputs/style.module.scss +0 -15
  77. package/src/functions/Inputs/text.tsx +0 -53
  78. package/src/functions/Inputs/types.d.ts +0 -13
  79. package/src/functions/Layout/PageNotFound.tsx +0 -78
  80. package/src/functions/Layout/PageRouter.tsx +0 -89
  81. package/src/functions/Layout/PageViewController/parts.tsx +0 -27
  82. package/src/functions/Layout/Plate.tsx +0 -30
  83. package/src/functions/Layout/RootViewController/parts.tsx +0 -300
  84. package/src/functions/Layout/RootViewController/style.module.scss +0 -23
  85. package/src/functions/Layout/SwipeView/parts.tsx +0 -375
  86. package/src/functions/Layout/SwipeView/style.module.scss +0 -20
  87. package/src/functions/Layout/TabBar.tsx +0 -60
  88. package/src/functions/Layout/_.tsx +0 -20
  89. package/src/functions/Loader/corner.tsx +0 -74
  90. package/src/functions/Loader/mini.tsx +0 -114
  91. package/src/functions/Loader/parts.tsx +0 -103
  92. package/src/functions/Loader/style.module.scss +0 -223
  93. package/src/functions/Loader/top.tsx +0 -84
  94. package/src/functions/Sheet/parts.tsx +0 -994
  95. package/src/functions/Sheet/style.module.scss +0 -208
  96. package/src/functions/SnackBar/parts.tsx +0 -215
  97. package/src/functions/SnackBar/style.module.scss +0 -25
  98. package/src/functions/Table/Data/parts.tsx +0 -965
  99. package/src/functions/Table/Drag/parts.tsx +0 -442
  100. package/src/functions/Table/Normal/parts.tsx +0 -124
  101. package/src/functions/Table/_.tsx +0 -177
  102. package/src/functions/Table/style.module.scss +0 -93
  103. package/src/functions/Tooltips/parts.tsx +0 -53
  104. package/src/global/LaunchReactApplication.tsx +0 -74
  105. package/src/global/styleConverter.tsx +0 -465
  106. package/src/launch.tsx +0 -119
  107. package/src/molecules/Accordion/parts.tsx +0 -146
  108. package/src/molecules/Accordion/style.module.scss +0 -13
  109. package/src/molecules/LinkifyText/parts.tsx +0 -52
  110. package/src/molecules/List.tsx +0 -31
  111. package/src/preload.tsx +0 -31
  112. package/src/templates/PlayGround/parts.tsx +0 -96
  113. package/src/templates/PlayGround/style.module.scss +0 -38
  114. package/webpack.config.js +0 -146
@@ -1,553 +0,0 @@
1
- import {
2
- useStore,
3
- React
4
- } from '@global'
5
- import {
6
- Box,
7
- Flex,
8
- FAI
9
- } from '@atoms'
10
- import {
11
- Column,
12
- Row,
13
- Text
14
- } from '@mols'
15
- import {
16
- Input,
17
- Buttons,
18
- SnackBar
19
- } from '@fn'
20
-
21
- import {
22
- BoxWrapper,
23
- SubmitForm,
24
- ValidationCheck,
25
- CommonEffects
26
- } from '../core'
27
- import style from './style.module.scss'
28
-
29
- import { faCloudArrowUp } from '@fortawesome/free-solid-svg-icons/faCloudArrowUp'
30
-
31
- function DefaultValidation( props: {
32
- value: any
33
- params: any
34
- } ): amotify.fn.Input.Validation.Result {
35
- let { value,params } = props
36
- let { required } = params as amotify.fn.Input.Filer.PlainParams
37
- let notice: amotify.fn.Input.Validation.NoticeTypes[] = []
38
-
39
- if ( required && !value.length ) {
40
- notice.push( { type: 'invalid',label: '必須項目です' } )
41
- }
42
-
43
- return {
44
- ok: !notice.filter( ( { type } ) => type == 'invalid' ).length,
45
- notice: notice
46
- }
47
- }
48
-
49
- const FileComponent: React.FC<amotify.fn.Input.Filer.PlainParams> = ( params ) => {
50
- let {
51
- tone,
52
- required,
53
- form,
54
-
55
- fileNameEdit = true,
56
- systemOnly = false,
57
- accept = '*',
58
- limit = 1,
59
-
60
- checkValidationAtFirst,
61
- onChange,
62
- onValidate,
63
- onUpdateValue,onUpdateValidValue,
64
- value = [],
65
- className,
66
-
67
- cellStyles,cellClassName,
68
-
69
- componentID,status_id,
70
- enableFormSubmit,
71
-
72
- ...others
73
- } = params
74
-
75
- let Default_Status: amotify.fn.Input.Status.Plain = {
76
- componentID: params.componentID || '',
77
- dataValue: value,
78
- eventType: 'init',
79
- eventID: $.uuidGen()
80
- }
81
- let [ val_status,set_status ] = React.useState( Default_Status )
82
- let [ val_validate,set_validate ] = React.useState( {
83
- ok: false,
84
- notice: []
85
- } as amotify.fn.Input.Validation.Result )
86
-
87
- CommonEffects( {
88
- type: 'file',
89
- params,
90
- val_status,
91
- set_status,
92
- val_validate,
93
- set_validate,
94
- DefaultValidation,
95
- onUpdateValue,onUpdateValidValue,
96
- ExtraOverrideParams: {
97
- dataValue: value,
98
- formatValue: value,
99
- },
100
- ExtraStoreParams: {
101
- AddFiles: async ( files: any[] ) => {
102
- let currentFiles = useStore.get( val_status.componentID ).Files
103
- let newFiles = []
104
- for ( var i = 0; i < files?.length; i++ ) {
105
- let file = files[ i ]
106
- let { type,name } = file
107
-
108
- if ( i + 1 + currentFiles.length > limit ) {
109
- SnackBar.add( {
110
- componentID: name,
111
- secondsToClose: 12000,
112
- children: `ファイル選択上限を超えたため、${ name }}は追加できません。`,
113
- backgroundColor: 'nega'
114
- } )
115
- continue
116
- }
117
-
118
- if ( accept ) {
119
- if ( accept == 'image' ) {
120
- if ( !type.match( /image/ ) ) {
121
- SnackBar.add( {
122
- componentID: name,
123
- secondsToClose: 12000,
124
- children: `ファイル形式が異なるため、${ name } は追加できません。`,
125
- backgroundColor: 'nega'
126
- } )
127
- continue
128
- }
129
- }
130
- }
131
- newFiles.push( file )
132
- }
133
- set_status( {
134
- ...val_status,
135
- dataValue: [ ...currentFiles,...newFiles ],
136
- eventType: 'update',
137
- eventID: $.uuidGen(),
138
- } )
139
- }
140
- }
141
- } )
142
-
143
- let Accept = ''
144
- if ( accept ) {
145
- if ( accept == 'image' ) Accept = 'image/png,image/jpeg'
146
- else Accept = accept
147
- }
148
-
149
- return <BoxWrapper
150
- val_status={ val_status }
151
- set_status={ set_status }
152
- val_validate={ val_validate }
153
- params={ params }
154
- >
155
- <input
156
- type='file'
157
- className={ style.Input }
158
- data-form={ form }
159
- data-input-type={ 'file' }
160
- data-component-id={ val_status.componentID }
161
- data-validation={ val_validate.ok }
162
- accept={ Accept }
163
- multiple={ limit == 1 ? false : true }
164
- onChange={ async ( event ) => {
165
- let Input = event.target
166
- let files = Input.files as any
167
- let newFiles = []
168
- for ( var i = 0; i < files?.length; i++ ) {
169
- let file = files[ i ]
170
- let fileName = file.name
171
- file.id = $.uuidGen()
172
-
173
- if ( i + 1 + val_status.dataValue.length > limit ) {
174
- SnackBar.add( {
175
- componentID: fileName,
176
- secondsToClose: 12000,
177
- children: `ファイル登録数を超えたため、${ fileName }}は追加できませんでした。`,
178
- backgroundColor: 'nega'
179
- } )
180
- continue
181
- }
182
- newFiles.push( file )
183
- }
184
- set_status( {
185
- ...val_status,
186
- dataValue: [ ...val_status.dataValue,...newFiles ],
187
- eventType: 'update',
188
- eventID: $.uuidGen(),
189
- } )
190
- Input.value = ''
191
- } }
192
- { ...others }
193
- tabIndex={ -1 }
194
- value={ '' }
195
- />
196
- { !systemOnly ? <FileList
197
- files={ val_status.dataValue }
198
- params={ params }
199
- val_status={ val_status }
200
- set_status={ set_status }
201
- /> : null }
202
- </BoxWrapper>
203
- }
204
-
205
- const FileList: React.FC<{
206
- files: File[]
207
- params: amotify.fn.Input.Filer.PlainParams
208
- val_status: amotify.fn.Input.Status.Plain
209
- set_status: React.Dispatch<React.SetStateAction<amotify.fn.Input.Status.Plain>>
210
- }> = ( props ) => {
211
- let {
212
- files,
213
- params,
214
- val_status,
215
- set_status
216
- } = props
217
- let Left = ( params.limit || 1 ) - val_status.dataValue.length
218
-
219
- let Files = files.map( ( file,index ) => {
220
- return <FileCell
221
- key={ file.name }
222
- index={ index }
223
- file={ file }
224
- className={ params.cellClassName }
225
- val_status={ val_status }
226
- set_status={ set_status }
227
- fileNameEdit={ params.fileNameEdit }
228
- />
229
- } )
230
-
231
- if ( Left > 0 ) {
232
- Files.push( <label
233
- key={ 'AddButton' }
234
- className={ [ params.cellClassName,style.AddButton ].join( ' ' ) }
235
- data-component-id={ val_status.componentID }
236
- htmlFor={ params.id }
237
- tabIndex={ params.tabIndex }
238
- onKeyDown={ ( event ) => {
239
- let { key } = event
240
- if ( params.tabIndex != -1 ) {
241
- if ( [ ' ','Enter' ].includes( key ) ) {
242
- $( '#' + params.id ).click()
243
- }
244
- }
245
- } }
246
- >
247
- <Row.Center
248
- padding={ [ '1/3',0 ] }
249
- >
250
- <Box
251
- isRounded
252
- className={ style.AddIcon }
253
- >
254
- <FAI
255
- icon={ faCloudArrowUp }
256
- className={ style.Icon }
257
- fontColor={ 'theme' }
258
- fontSize='4.thirdTitle'
259
- backgroundColor={ 'tcOpLow' }
260
- ssSphere={ 4 }
261
- />
262
- </Box>
263
- <Box>
264
- <Box
265
- children={ 'ファイルを選択' + `(${ Left })` }
266
- fontColor={ 'theme' }
267
- fontSize={ '2.normal' }
268
- isSemiBoldFont
269
- />
270
- <Box
271
- isSemiBoldFont
272
- fontColor={ '4.thin' }
273
- fontSize={ '0.xs' }
274
- >
275
- ファイルをドロップ
276
- </Box>
277
- </Box>
278
- </Row.Center>
279
- </label> )
280
- }
281
-
282
- return <Column
283
- flexSizing={ 'auto' }
284
- className={ params.className }
285
- children={ Files }
286
- />
287
- }
288
-
289
- const FileCell: React.FC<{
290
- index: number
291
- file: File
292
- className?: string
293
- val_status: amotify.fn.Input.Status.Plain
294
- set_status: React.Dispatch<React.SetStateAction<amotify.fn.Input.Status.Plain>>
295
- fileNameEdit?: boolean
296
- }> = ( props ) => {
297
- let {
298
- index,
299
- file,
300
- className,
301
- val_status,
302
- set_status,
303
- fileNameEdit = true
304
- } = props
305
- let {
306
- name: fileName,
307
- size,
308
- type,
309
- } = file
310
-
311
- let [ val_edit,set_edit ] = React.useState( false )
312
- let FileID = $.uuidGen()
313
- let Size = size.rank()
314
- let [ name,extension ] = fileName
315
- .replace( /\s/,'' )
316
- .replace( /(.*)\.(.*)$/,'$1 $2' ).split( ' ' )
317
-
318
- let FileName = 'ファイル'
319
- if ( type.match( /image/ ) ) {
320
- FileName = type.replace( /image\//,'' )
321
- } else if ( type.match( /pdf/ ) ) {
322
- FileName = 'PDF'
323
- } else if ( type.match( /csv/ ) ) {
324
- FileName = 'CSV'
325
- } else if ( type.match( /spreadsheet/ ) ) {
326
- FileName = 'SpreadSheet'
327
- } else if ( type.match( /presentation/ ) ) {
328
- FileName = 'PowerPoint'
329
- } else if ( type.match( /word/ ) ) {
330
- FileName = 'Word'
331
- } else if ( type.match( /zip/ ) ) {
332
- FileName = 'Zip'
333
- } else if ( type.match( /powerpoint/ ) ) {
334
- FileName = 'PowerPoint'
335
- } else if ( type.match( /html/ ) ) {
336
- FileName = 'HTML'
337
- } else if ( type.match( /js/ ) ) {
338
- FileName = 'JavaScript'
339
- } else if ( type.match( /css/ ) ) {
340
- FileName = 'CSS'
341
- } else if ( type.match( /text\/plain/ ) ) {
342
- FileName = 'テキスト'
343
- }
344
-
345
- React.useEffect( () => {
346
- if ( val_edit ) {
347
- setTimeout( () => {
348
- $( '#' + FileID )[ 0 ].focus()
349
- },100 )
350
- }
351
- },[ val_edit ] )
352
-
353
- return <Flex
354
- verticalAlign='center'
355
- flexWrap={ false }
356
- gap={ 1 }
357
- className={ className }
358
- >
359
- <FAI.File
360
- fontSize={ '4.thirdTitle' }
361
- fontColor={ '4.thin' }
362
- />
363
- <Box flexSizing={ 0 }>
364
- <Box>
365
- <Flex
366
- verticalAlign='center'
367
- gap={ '2/3' }
368
- flexWrap={ false }
369
- className={ style.FileName }
370
- children={ !val_edit ? <>
371
- { fileName }
372
- { fileNameEdit ?
373
- <Buttons.Button.Clear.R
374
- ssSphere={ 2.5 }
375
- flexSizing={ 'none' }
376
- color='cloud'
377
- fontColor='4.thin'
378
- padding={ '1/3' }
379
- ssEffectsOnActive={ 'expand' }
380
- onClick={ () => {
381
- set_edit( true )
382
- } }
383
- >
384
- <FAI.Pen />
385
- </Buttons.Button.Clear.R> : null
386
- }
387
- </> : <>
388
- <Column
389
- gap={ '1/2' }
390
- flexSizing={ 0 }
391
- >
392
- <Flex
393
- gap={ '2/3' }
394
- verticalAlign='center'
395
- >
396
- <Input.Text.Normal
397
- tone='border'
398
- wrapStyles={ {
399
- flexSizing: 'auto'
400
- } }
401
- restrict='fileName'
402
- name='name'
403
- required
404
- id={ FileID }
405
- form={ 'form-' + FileID }
406
- enableFormSubmit
407
- value={ name }
408
- onKeyDown={ ( event ) => {
409
- let { key } = event
410
- if ( key == 'Escape' ) set_edit( false )
411
- } }
412
- />
413
- <Box>
414
- . { extension }
415
- </Box>
416
- </Flex>
417
- <Flex
418
- gap={ '2/3' }
419
- horizontalAlign='right'
420
- flexWrap={ false }
421
- >
422
- <Buttons.Button.Sub.R
423
- padding={ [ '2/3',1 ] }
424
- children={ '閉じる' }
425
- onClick={ () => {
426
- set_edit( false )
427
- } }
428
- />
429
- <Buttons.Button.Prime.R
430
- padding={ [ '2/3',1 ] }
431
- submitOption={ {
432
- formName: 'form-' + FileID,
433
- callback: async ( form ) => {
434
- let { name } = form
435
- let nextFiles = [ ...val_status.dataValue ]
436
- let prevFile = nextFiles[ index ]
437
- let id = prevFile.id
438
- if ( !prevFile ) return
439
-
440
- let { target } = await prevFile.read()
441
- if ( !target ) return
442
- let dataUrl = String( target.result )
443
-
444
- let newBlob = await dataUrl.toBlob( file.type )
445
- if ( !newBlob ) return
446
- let newFile: any = new File( [ newBlob ],name + '.' + extension,{ type: prevFile.type } )
447
- newFile.id = id
448
-
449
- nextFiles[ index ] = newFile
450
-
451
- set_status( {
452
- ...val_status,
453
- dataValue: nextFiles,
454
- eventType: 'update',
455
- eventID: $.uuidGen(),
456
- } )
457
- set_edit( false )
458
- }
459
- } }
460
- >
461
- 決定
462
- </Buttons.Button.Prime.R>
463
- </Flex>
464
- </Column>
465
- </>
466
- }
467
- />
468
- </Box>
469
- { !val_edit ? <>
470
- <Box
471
- fontSize={ '1.mini' }
472
- fontColor={ '4.thin' }
473
- flexSizing={ 0 }
474
- children={ FileName + 'ファイル / ' + Size + 'B' }
475
- />
476
- </> : null }
477
- </Box>
478
- <Buttons.Button.Sub.R
479
- color='cloud'
480
- fontColor='4.thin'
481
- ssSphere={ 3 }
482
- onClick={ () => {
483
- let nextFiles = [ ...val_status.dataValue ]
484
- let prevFile = nextFiles[ index ]
485
- if ( !prevFile ) return
486
-
487
- nextFiles.splice( index,1 )
488
- set_status( {
489
- ...val_status,
490
- dataValue: nextFiles,
491
- eventType: 'update',
492
- eventID: $.uuidGen(),
493
- } )
494
- } }
495
- >
496
- <FAI.Times />
497
- </Buttons.Button.Sub.R>
498
- </Flex>
499
- }
500
-
501
- $.fnScope( async () => {
502
- $( document ).addEvent( {
503
- eventType: 'dragover',
504
- callback: ( event ) => {
505
- event.preventDefault()
506
- $( '.' + style.AddButton ).addClass( style.Draggable )
507
- },
508
- option: {
509
- passive: false
510
- }
511
- } ).addEvent( {
512
- eventType: 'drop',
513
- callback: ( event: any ) => {
514
- event.preventDefault()
515
- $( '.' + style.AddButton ).removeClass( style.Draggable )
516
- let Files = event.dataTransfer.files
517
- if ( Files.length ) {
518
- let Target = event.target as HTMLElement
519
- if ( $( Target ).hasClass( style.AddButton ) ) {
520
- let { componentId } = Target.dataset
521
- let component = useStore.get( componentId! )
522
- if ( component && component.AddFiles ) component.AddFiles( Files )
523
- }
524
- }
525
- },
526
- option: { passive: false }
527
- } )
528
- } )
529
-
530
- const FileInput: amotify.fn.Input.Filer.Methods = FileComponent as any
531
- FileInput.fn = {
532
- openDialog: ( params ) => {
533
- let {
534
- multiple,
535
- accept
536
- } = params
537
-
538
- return new Promise( resolve => {
539
- const input = document.createElement( 'input' )
540
- input.type = 'file'
541
- input.multiple = multiple ?? true
542
- if ( accept ) {
543
- if ( accept == 'image' ) input.accept = 'image/png,image/jpeg'
544
- else input.accept = accept
545
- }
546
- input.onchange = ( event: any ) => {
547
- resolve( event.target.files )
548
- }
549
- input.click()
550
- } )
551
- }
552
- }
553
- export { FileInput }
@@ -1,34 +0,0 @@
1
- @use '@props' as *;
2
-
3
- .Input:focus {
4
- + .List .AddButton {
5
- background-color: $color-layer3;
6
- }
7
- }
8
- .FileName {
9
- word-break: break-all;
10
- }
11
- .AddButton {
12
- transition: $animation-time-middle;
13
- > * {
14
- pointer-events: none;
15
- }
16
- &:hover {
17
- background-color: $color-layer3;
18
- }
19
- &.Draggable {
20
- background-color: $color-layer3;
21
- .AddIcon {
22
- animation: 1s infinite IconAnimation;
23
- }
24
- }
25
- }
26
-
27
- @keyframes IconAnimation {
28
- 0% {
29
- box-shadow: 0 0 0 0 $color-theme;
30
- }
31
- 100% {
32
- box-shadow: 0 0 0 1rem cAlfa( 0 );
33
- }
34
- }
@@ -1,21 +0,0 @@
1
- import React from 'react'
2
- export const HiddenInput: React.FC<amotify.fn.Input.Hidden.PlainParams> = ( params ) => {
3
- let {
4
- componentID = '',
5
- enableFormSubmit,
6
-
7
- form,
8
- value = '',
9
- ...others
10
- } = params
11
-
12
- return <input
13
- value={ JSON.stringify( value ) }
14
- data-input-type={ 'hidden' }
15
- data-form={ form }
16
- data-component-id={ componentID }
17
- data-value={ JSON.stringify( value ) }
18
- { ...others }
19
- type='hidden'
20
- />
21
- }